[automerger skipped] Merge "Import translations. DO NOT MERGE ANYWHERE" into aosp-main-future am: d387132098 -s ours

am skip reason: contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/29362586

Change-Id: I2444847dcd3ac2303a582468206551cc6b750990
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/Android.bp b/Android.bp
index cb898be..8b903ba 100644
--- a/Android.bp
+++ b/Android.bp
@@ -68,6 +68,9 @@
     static_libs: [
         // External dependencies
         "androidx.navigation_navigation-fragment-ktx",
+        "androidx.slice_slice-builders",
+        "androidx.slice_slice-core",
+        "androidx.slice_slice-view",
         "androidx.window_window-java",
         "gson",
         "guava",
@@ -79,12 +82,12 @@
         "android.hardware.dumpstate-V1-java",
         "android.hardware.dumpstate-V1.0-java",
         "android.hardware.dumpstate-V1.1-java",
-        "android.view.accessibility.flags-aconfig-java",
         "com_android_server_accessibility_flags_lib",
         "net-utils-framework-common",
         "notification_flags_lib",
         "securebox",
-        "android.os.flags-aconfig-java",
+        "//frameworks/libs/systemui:com_android_systemui_shared_flags_lib",
+        "WindowManager-Shell-shared-desktopMode",
 
         // Settings dependencies
         "FingerprintManagerInteractor",
@@ -98,21 +101,20 @@
         "contextualcards",
         "development_settings_flag_lib",
         "factory_reset_flags_lib",
-        "fuelgauge-log-protos-lite",
+        "settings-protos-lite",
         "fuelgauge-protos-lite",
-        "settings-contextual-card-protos-lite",
-        "settings-log-bridge-protos-lite",
         "settings-logtags",
-        "settings-telephony-protos-lite",
         "statslog-settings",
         "telephony_flags_core_java_lib",
         "setupdesign-lottie-loading-layout",
         "device_policy_aconfig_flags_lib",
-        "kotlinx-coroutines-core",
-        "kotlinx-coroutines-android",
+        "keyboard_flags_lib",
     ],
 
-    plugins: ["androidx.room_room-compiler-plugin"],
+    plugins: [
+        "SettingsLibMetadata-processor",
+        "androidx.room_room-compiler-plugin",
+    ],
 
     errorprone: {
         extra_check_modules: ["//external/nullaway:nullaway_plugin"],
@@ -125,6 +127,9 @@
         "telephony-common",
         "ims-common",
     ],
+    flags_packages: [
+        "android.app.flags-aconfig",
+    ],
 }
 
 platform_compat_config {
@@ -155,6 +160,9 @@
     optimize: {
         proguard_flags_files: ["proguard.flags"],
     },
+    flags_packages: [
+        "android.app.flags-aconfig",
+    ],
 }
 
 android_library_import {
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 69d000a..66c3beb 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -740,6 +740,7 @@
         <activity android:name="Settings$FaceSettingsActivity"
             android:label="@string/security_settings_face_preference_title"
             android:exported="true"
+            android:enableOnBackInvokedCallback="false"
             android:theme="@style/Theme.Settings.NoActionBar"
             android:icon="@drawable/ic_face_header">
             <intent-filter>
@@ -755,6 +756,7 @@
         <activity android:name="Settings$FaceSettingsInternalActivity"
                   android:label="@string/security_settings_face_preference_title"
                   android:exported="false"
+                  android:enableOnBackInvokedCallback="false"
                   android:theme="@style/Theme.Settings.NoActionBar"
                   android:icon="@drawable/ic_face_header"
                   android:taskAffinity="com.android.settings.root">
@@ -767,6 +769,7 @@
         <activity android:name="Settings$FingerprintSettingsActivity"
                   android:label="@string/security_settings_fingerprint_preference_title"
                   android:exported="true"
+                  android:enableOnBackInvokedCallback="false"
                   android:icon="@drawable/ic_fingerprint_header">
             <intent-filter>
                 <action android:name="android.settings.FINGERPRINT_SETTINGS" />
@@ -781,6 +784,7 @@
         <activity android:name="Settings$CombinedBiometricSettingsActivity"
                   android:label="@string/security_settings_biometric_preference_title"
                   android:exported="false"
+                  android:enableOnBackInvokedCallback="false"
                   android:taskAffinity="com.android.settings.root">
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                        android:value="com.android.settings.biometrics.combination.CombinedBiometricSettings" />
@@ -1287,20 +1291,63 @@
         </activity>
 
         <activity
-            android:name="Settings$ZenModeSettingsActivity"
-            android:label="@string/zen_mode_settings_title"
+            android:name="Settings$ModesSettingsActivity"
+            android:label="@string/zen_modes_list_title"
             android:icon="@drawable/ic_homepage_notification"
             android:exported="true">
-            <intent-filter android:priority="1">
+            <intent-filter android:priority="1"
+                           android:featureFlag="android.app.modes_ui">
                 <action android:name="android.settings.ZEN_MODE_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
-            <intent-filter android:priority="1">
+            <intent-filter android:priority="1"
+                           android:featureFlag="android.app.modes_ui">
                 <action android:name="android.settings.ZEN_MODE_PRIORITY_SETTINGS" />
                 <category android:name="android.intent.category.BROWSABLE" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
-            <intent-filter android:priority="41">
+            <intent-filter android:priority="41"
+                           android:featureFlag="android.app.modes_ui">
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="com.android.settings.SHORTCUT" />
+            </intent-filter>
+            <intent-filter android:priority="10"
+                           android:featureFlag="android.app.modes_ui">
+                <action android:name="android.settings.ZEN_MODE_AUTOMATION_SETTINGS" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <intent-filter android:priority="10"
+                           android:featureFlag="android.app.modes_ui">
+                <action android:name="android.settings.ACTION_CONDITION_PROVIDER_SETTINGS" />
+                <category android:name="android.intent.category.BROWSABLE" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                       android:value="com.android.settings.notification.modes.ZenModesListFragment"/>
+            <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
+                       android:value="@string/menu_key_priority_modes" />
+            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+                       android:value="true" />
+        </activity>
+
+        <activity
+            android:name="Settings$ZenModeSettingsActivity"
+            android:label="@string/zen_mode_settings_title"
+            android:icon="@drawable/ic_homepage_notification"
+            android:exported="true">
+            <intent-filter android:priority="1"
+                           android:featureFlag="!android.app.modes_ui">
+                <action android:name="android.settings.ZEN_MODE_SETTINGS" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <intent-filter android:priority="1"
+                           android:featureFlag="!android.app.modes_ui">
+                <action android:name="android.settings.ZEN_MODE_PRIORITY_SETTINGS" />
+                <category android:name="android.intent.category.BROWSABLE" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <intent-filter android:priority="41"
+                           android:featureFlag="!android.app.modes_ui">
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="com.android.settings.SHORTCUT" />
             </intent-filter>
@@ -1313,6 +1360,26 @@
         </activity>
 
         <activity
+            android:name="Settings$ModeSettingsActivity"
+            android:exported="true">
+            <intent-filter android:priority="1"
+                           android:featureFlag="android.app.modes_ui">
+                <action android:name="android.settings.AUTOMATIC_ZEN_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.modes.ZenModeFragment"/>
+            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+                       android:value="true" />
+        </activity>
+
+        <activity
+            android:name=".notification.modes.SetupInterstitialActivity"
+            android:exported="false"
+            android:theme="@style/Theme.Settings.NoActionBar">
+        </activity>
+
+        <activity
             android:name=".notification.zen.ZenSuggestionActivity"
             android:label="@string/zen_mode_settings_title"
             android:icon="@drawable/ic_suggestion_dnd"
@@ -1351,11 +1418,13 @@
             android:label="@string/zen_mode_automation_settings_title"
             android:icon="@drawable/ic_notifications"
             android:exported="true">
-            <intent-filter android:priority="1">
+            <intent-filter android:priority="10"
+                           android:featureFlag="!android.app.modes_ui">
                 <action android:name="android.settings.ZEN_MODE_AUTOMATION_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
-            <intent-filter android:priority="1">
+            <intent-filter android:priority="10"
+                           android:featureFlag="!android.app.modes_ui">
                 <action android:name="android.settings.ACTION_CONDITION_PROVIDER_SETTINGS" />
                 <category android:name="android.intent.category.BROWSABLE" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -1368,6 +1437,19 @@
                        android:value="true" />
         </activity>
 
+        <activity
+            android:name=".Settings$ManageAdaptiveNotificationsActivity"
+            android:exported="true">
+            <intent-filter>
+                <action android:name="android.settings.MANAGE_ADAPTIVE_NOTIFICATIONS"/>
+                <category android:name="android.intent.category.DEFAULT"/>
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                android:value="com.android.settings.notification.PoliteNotificationsPreferenceFragment" />
+            <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
+                android:value="@string/menu_key_notifications"/>
+        </activity>
+
         <activity android:name="Settings$WallpaperSettingsActivity"
                   android:label="@string/wallpaper_settings_fragment_title"
                   android:icon="@drawable/ic_wallpaper"
@@ -2193,13 +2275,6 @@
                        android:value="com.android.settings.privacy.PrivacyControlsFragment" />
         </activity>
 
-        <activity android:name=".development.tare.TareHomePage"
-                  android:label="@string/tare_settings"
-                  android:exported="false" />
-
-        <activity android:name=".development.tare.DropdownActivity"
-                  android:exported="false" />
-
         <activity android:name="SetFullBackupPassword"
                   android:label="@string/local_backup_password_title"
                   android:exported="false" />
@@ -2727,7 +2802,9 @@
         <activity android:name=".biometrics.fingerprint.FingerprintSettings"
                   android:exported="false"
                   android:taskAffinity="com.android.settings.root" />
-        <activity android:name=".biometrics.fingerprint.FingerprintEnrollFindSensor" android:exported="false"/>
+        <activity android:name=".biometrics.fingerprint.FingerprintEnrollFindSensor"
+            android:exported="false"
+            android:theme="@style/GlifTheme.Light"/>
         <activity android:name=".biometrics.fingerprint.FingerprintEnrollEnrolling" android:exported="false"/>
         <activity android:name=".biometrics.fingerprint.FingerprintEnrollFinish" android:exported="false"/>
         <activity android:name=".biometrics.fingerprint.FingerprintEnrollParentalConsent" android:exported="false"/>
@@ -2741,26 +2818,14 @@
             </intent-filter>
         </activity>
 
-        <activity android:name=".biometrics2.ui.view.FingerprintEnrollmentActivity"
-            android:exported="true"
-            android:theme="@style/GlifTheme.Light" />
-
-        <activity android:name=".biometrics2.ui.view.FingerprintEnrollmentActivity$InternalActivity"
-            android:exported="false"
-            android:theme="@style/GlifTheme.Light"
-            android:taskAffinity="com.android.settings.root" />
-
-        <activity android:name=".biometrics2.ui.view.FingerprintEnrollmentActivity$SetupActivity"
-            android:exported="true"
-            android:permission="android.permission.MANAGE_FINGERPRINT"
-            android:theme="@style/GlifTheme.Light" />
-
         <activity android:name=".biometrics.fingerprint.FingerprintEnrollIntroductionInternal"
                   android:exported="false"
                   android:theme="@style/GlifTheme.Light"
                   android:taskAffinity="com.android.settings.root" />
 
-        <activity android:name=".biometrics.fingerprint.SetupFingerprintEnrollFindSensor" android:exported="false"/>
+        <activity android:name=".biometrics.fingerprint.SetupFingerprintEnrollFindSensor"
+            android:exported="false"
+            android:theme="@style/GlifTheme.Light"/>
         <activity android:name=".biometrics.fingerprint.SetupFingerprintEnrollEnrolling" android:exported="false"/>
         <activity android:name=".biometrics.fingerprint.SetupFingerprintEnrollFinish" android:exported="false"/>
         <activity android:name=".biometrics.fingerprint.SetupFingerprintEnrollIntroduction"
@@ -3162,6 +3227,19 @@
             </intent-filter>
         </activity>
 
+        <activity android:name=".bluetooth.BluetoothKeyMissingDialog"
+                  android:permission="android.permission.BLUETOOTH_PRIVILEGED"
+                  android:excludeFromRecents="true"
+                  android:windowSoftInputMode="stateVisible|adjustResize"
+                  android:theme="@style/Theme.AlertDialog"
+                  android:exported="false"
+                  android:taskAffinity=".bluetooth.BluetoothKeyMissingDialog">
+            <intent-filter android:priority="1">
+                <action android:name="android.bluetooth.device.action.KEY_MISSING" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+
         <activity android:name=".bluetooth.RequestPermissionActivity"
                   android:excludeFromRecents="true"
                   android:permission="android.permission.BLUETOOTH_CONNECT"
@@ -3216,6 +3294,13 @@
             </intent-filter>
         </receiver>
 
+        <receiver android:name=".bluetooth.BluetoothKeyMissingReceiver"
+            android:exported="true">
+            <intent-filter>
+                <action android:name="android.bluetooth.device.action.KEY_MISSING" />
+            </intent-filter>
+        </receiver>
+
         <receiver android:name=".bluetooth.BluetoothPermissionRequest"
                   android:exported="true"
                   android:permission="android.permission.BLUETOOTH_CONNECT">
@@ -5111,6 +5196,15 @@
         <activity android:name=".spa.SpaBridgeActivity" android:exported="false"/>
         <activity android:name=".spa.SpaAppBridgeActivity" android:exported="false"/>
 
+        <activity
+            android:name=".spa.search.SpaSearchLandingActivity"
+            android:exported="true">
+            <intent-filter android:priority="1">
+                <action android:name="android.settings.SPA_SEARCH_LANDING" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+
         <activity android:name=".Settings$FingerprintSettingsActivityV2"
             android:label="@string/security_settings_fingerprint_preference_title"
             android:exported="false"
diff --git a/aconfig/Android.bp b/aconfig/Android.bp
index 549ccc7..198c24d 100644
--- a/aconfig/Android.bp
+++ b/aconfig/Android.bp
@@ -66,3 +66,15 @@
     name: "development_settings_flag_lib",
     aconfig_declarations: "development_settings_flags",
 }
+
+aconfig_declarations {
+    name: "keyboard_flags",
+    package: "com.android.settings.keyboard",
+    container: "system_ext",
+    srcs: ["keyboard/*.aconfig"],
+}
+
+java_aconfig_library {
+    name: "keyboard_flags_lib",
+    aconfig_declarations: "keyboard_flags",
+}
\ No newline at end of file
diff --git a/aconfig/accessibility/accessibility_flags.aconfig b/aconfig/accessibility/accessibility_flags.aconfig
index 2c92547..1871172 100644
--- a/aconfig/accessibility/accessibility_flags.aconfig
+++ b/aconfig/accessibility/accessibility_flags.aconfig
@@ -11,6 +11,26 @@
 }
 
 flag {
+  name: "audio_balance_state_description"
+  namespace: "accessibility"
+  description: "Provides a more valuable state description to the audio balance slider."
+  bug: "319575109"
+  metadata {
+    purpose: PURPOSE_BUGFIX
+  }
+}
+
+flag {
+  name: "check_prebundled_is_preinstalled"
+  namespace: "accessibility"
+  description: "Checks that all 'prebundled' components, used for grouping, are also preinstalled"
+  bug: "353888087"
+  metadata {
+    purpose: PURPOSE_BUGFIX
+  }
+}
+
+flag {
   name: "edit_shortcuts_in_full_screen"
   namespace: "accessibility"
   description: "Show the edit shorcuts screen in full screen, since the shortcut options are increasing."
@@ -18,6 +38,13 @@
 }
 
 flag {
+  name: "enable_color_contrast_control"
+  namespace: "accessibility"
+  description: "Allows users to control color contrast in the Accessibility settings page."
+  bug: "246577325"
+}
+
+flag {
   name: "enable_hearing_aid_preset_control"
   namespace: "accessibility"
   description: "Allows users to control hearing aid preset in the Bluetooth device details page."
@@ -32,6 +59,16 @@
 }
 
 flag {
+  name: "fix_a11y_settings_search"
+  namespace: "accessibility"
+  description: "Fix the a11y related search items in Settings app"
+  bug: "333437173"
+  metadata {
+    purpose: PURPOSE_BUGFIX
+  }
+}
+
+flag {
   name: "hide_magnification_always_on_toggle_when_window_mode_only"
   namespace: "accessibility"
   description: "Decides whether to hide the magnification always on setting when capabilities is window mode only."
@@ -42,6 +79,16 @@
 }
 
 flag {
+  name: "never_restrict_accessibility_activity"
+  namespace: "accessibility"
+  description: "Stops possibly restricting AccessibilityActivityPreferences"
+  bug: "331990900"
+  metadata {
+    purpose: PURPOSE_BUGFIX
+  }
+}
+
+flag {
   name: "remove_qs_tooltip_in_suw"
   namespace: "accessibility"
   description: "Don't show quick settings tooltip in SUW, since the user can't use quick settings there."
@@ -49,8 +96,11 @@
 }
 
 flag {
-  name: "enable_color_contrast_control"
+  name: "toggle_feature_fragment_collection_info"
   namespace: "accessibility"
-  description: "Allows users to control color contrast in the Accessibility settings page."
-  bug: "246577325"
+  description: "Provides custom CollectionInfo for ToggleFeaturePreferenceFragment"
+  bug: "318607873"
+  metadata {
+    purpose: PURPOSE_BUGFIX
+  }
 }
diff --git a/aconfig/keyboard/settings_physical_keyboard_a11y_features.aconfig b/aconfig/keyboard/settings_physical_keyboard_a11y_features.aconfig
new file mode 100644
index 0000000..ca5cb8d
--- /dev/null
+++ b/aconfig/keyboard/settings_physical_keyboard_a11y_features.aconfig
@@ -0,0 +1,9 @@
+package: "com.android.settings.keyboard"
+container: "system_ext"
+
+flag {
+  name: "keyboard_and_touchpad_a11y_new_page_enabled"
+  namespace: "input"
+  description: "This flag enables or disables new page for physical keyboard and touchpad a11y features"
+  bug: "345399212"
+}
\ No newline at end of file
diff --git a/aconfig/settings_biometrics_framework_flag_declarations.aconfig b/aconfig/settings_biometrics_framework_flag_declarations.aconfig
index e787da0..e81c68e 100644
--- a/aconfig/settings_biometrics_framework_flag_declarations.aconfig
+++ b/aconfig/settings_biometrics_framework_flag_declarations.aconfig
@@ -14,3 +14,10 @@
   description: "This flag enables or disables the Fingerprint v2 enrollment"
   bug: "295206723"
 }
+
+flag {
+  name: "active_unlock_finish_parent"
+  namespace: "biometrics_framework"
+  description: "This flag enables the Active Unlock settings activity to finish its parent activity"
+  bug: "343576960"
+}
diff --git a/aconfig/settings_bluetooth_declarations.aconfig b/aconfig/settings_bluetooth_declarations.aconfig
index c2684f2..0c423b5 100644
--- a/aconfig/settings_bluetooth_declarations.aconfig
+++ b/aconfig/settings_bluetooth_declarations.aconfig
@@ -9,13 +9,6 @@
 }
 
 flag {
-  name: "enable_bluetooth_profile_toggle_visibility_checker"
-  namespace: "pixel_cross_device_control"
-  description: "Gates whether to enable checker for bluetooth profile toggle visibility"
-  bug: "321178209"
-}
-
-flag {
   name: "hide_le_audio_toggle_for_le_audio_only_device"
   namespace: "pixel_cross_device_control"
   description: "Gates whether to hide LeAudio toggle for LeAudio-only device"
@@ -24,3 +17,30 @@
       purpose: PURPOSE_BUGFIX
   }
 }
+
+flag {
+  name: "enable_bluetooth_device_details_polish"
+  namespace: "cross_device_experiences"
+  description: "Gates whether to enable bluetooth device details polish"
+  bug: "343317785"
+}
+
+flag {
+  name: "disable_bonding_cancellation_for_orientation_change"
+  namespace: "cross_device_experiences"
+  description: "Stop cancelling bonding process when there is an orientation change"
+  bug: "349542301"
+  metadata {
+      purpose: PURPOSE_BUGFIX
+  }
+}
+
+flag {
+  name: "enable_bluetooth_key_missing_dialog"
+  namespace: "cross_device_experiences"
+  description: "Show a dialog if the bluetooth key is missing when reconnecting"
+  bug: "360031750"
+  metadata {
+      purpose: PURPOSE_BUGFIX
+  }
+}
diff --git a/aconfig/settings_connecteddevice_flag_declarations.aconfig b/aconfig/settings_connecteddevice_flag_declarations.aconfig
index 7942ccd..ee0c233 100644
--- a/aconfig/settings_connecteddevice_flag_declarations.aconfig
+++ b/aconfig/settings_connecteddevice_flag_declarations.aconfig
@@ -2,10 +2,17 @@
 container: "system_ext"
 
 flag {
-  name: "enable_subsequent_pair_settings_integration"
-  namespace: "pixel_cross_device_control"
-  description: "Gates whether to enable subsequent pair Settings integration."
-  bug: "299405720"
+  name: "rotation_connected_display_setting"
+  namespace: "display_manager"
+  description: "Allow changing rotation of the connected display."
+  bug: "294015706"
+}
+
+flag {
+  name: "resolution_and_enable_connected_display_setting"
+  namespace: "display_manager"
+  description: "Allow enabling/disabling and changing resolution of the connected display."
+  bug: "253296253"
 }
 
 flag {
@@ -15,7 +22,6 @@
   bug: "317367746"
 }
 
-
 flag {
     name: "enable_bonded_bluetooth_device_searchable"
     namespace: "pixel_cross_device_control"
@@ -24,4 +30,14 @@
     metadata {
         purpose: PURPOSE_BUGFIX
     }
-}
\ No newline at end of file
+}
+
+flag {
+    name: "exclude_webcam_auth_challenge"
+    namespace: "safety_center"
+    description: "Gates whether to exclude webcam from USB preferences auth challenge."
+    bug: "349370229"
+    metadata {
+        purpose: PURPOSE_BUGFIX
+    }
+}
diff --git a/aconfig/settings_experience_flag_declarations.aconfig b/aconfig/settings_experience_flag_declarations.aconfig
index e79b515..d5caccf 100644
--- a/aconfig/settings_experience_flag_declarations.aconfig
+++ b/aconfig/settings_experience_flag_declarations.aconfig
@@ -17,13 +17,3 @@
         purpose: PURPOSE_BUGFIX
     }
 }
-
-flag {
-    name: "internet_preference_controller_v2"
-    namespace: "settings_experience"
-    description: "New InternetPreferenceControllerV2."
-    bug: "339884322"
-    metadata {
-        purpose: PURPOSE_BUGFIX
-    }
-}
diff --git a/aconfig/settings_flag_declarations.aconfig b/aconfig/settings_flag_declarations.aconfig
index b90ff9f..983d4b3 100644
--- a/aconfig/settings_flag_declarations.aconfig
+++ b/aconfig/settings_flag_declarations.aconfig
@@ -42,3 +42,24 @@
     description: "Feature flag to remove relevant slices dependencies."
     bug: "297367302"
 }
+
+flag {
+    name: "support_raw_dynamic_icons"
+    namespace: "android_settings"
+    description: "Flag to gate support of injected preference icons containing raw data"
+    bug: "351884562"
+}
+
+flag {
+  name: "catalyst_legal_information"
+  namespace: "android_settings"
+  description: "This flag controls the About phone > Legal information page migration"
+  bug: "323791114"
+}
+
+flag {
+    name: "updated_suggestion_card_aosp"
+    namespace: "android_settings"
+    description: "Use updated suggestion card(s) in AOSP Settings"
+    bug: "323258154"
+}
diff --git a/aconfig/settings_globalintl_flag_declarations.aconfig b/aconfig/settings_globalintl_flag_declarations.aconfig
index 48f3a29..2f046d0 100644
--- a/aconfig/settings_globalintl_flag_declarations.aconfig
+++ b/aconfig/settings_globalintl_flag_declarations.aconfig
@@ -14,3 +14,10 @@
     description: "Feature flag for locale notification"
     bug: "301380610"
 }
+
+flag {
+    name: "accessibility_appearance_settings_backup_enabled"
+    namespace: "globalintl"
+    description: "Feature flag for B&R accessibility appearance settings"
+    bug: "341210043"
+}
diff --git a/aconfig/settings_wifi_flag_declarations.aconfig b/aconfig/settings_wifi_flag_declarations.aconfig
new file mode 100644
index 0000000..cb8007f
--- /dev/null
+++ b/aconfig/settings_wifi_flag_declarations.aconfig
@@ -0,0 +1,12 @@
+package: "com.android.settings.flags"
+container: "system_ext"
+
+# NOTE: Keep alphabetized to help limit merge conflicts from multiple simultaneous editors.
+
+flag {
+    name: "enable_wifi_sharing_runtime_fragment"
+    namespace: "prism_qr"
+    description: "Use WifiFeatureProvider to get the instance of WifiDppQrCodeGeneratorFragment."
+    bug: "329012096"
+}
+
diff --git a/proguard.flags b/proguard.flags
index 492404c..d1c97f3 100644
--- a/proguard.flags
+++ b/proguard.flags
@@ -65,3 +65,6 @@
 -keep class androidx.window.extensions.** { *; }
 -dontwarn androidx.window.extensions.**
 -keep class androidx.window.** { *; }
+
+# Keep the com.android.settings.media_drm.FakeFeatureFlagsImpl
+-keep class com.android.settings.media_drm.FakeFeatureFlagsImpl { *; }
diff --git a/protos/Android.bp b/protos/Android.bp
index 560851a..4ab96a7 100644
--- a/protos/Android.bp
+++ b/protos/Android.bp
@@ -1,44 +1,12 @@
 package {
     default_team: "trendy_team_android_settings_app",
-    // See: http://go/android-license-faq
-    // A large-scale-change added 'default_applicable_licenses' to import
-    // all of the 'license_kinds' from "packages_apps_Settings_license"
-    // to get the below license kinds:
-    //   SPDX-license-identifier-Apache-2.0
     default_applicable_licenses: ["packages_apps_Settings_license"],
 }
 
-java_library_static {
-    name: "settings-contextual-card-protos-lite",
-    host_supported: true,
-    proto: {
-        type: "lite",
-    },
-    srcs: ["contextual_card_list.proto"],
-}
-
-java_library_static {
-    name: "settings-log-bridge-protos-lite",
-    host_supported: true,
-    proto: {
-        type: "lite",
-    },
-    srcs: ["settings_log_bridge.proto"],
-}
-
-java_library_static {
-    name: "settings-telephony-protos-lite",
-    host_supported: true,
-    proto: {
-        type: "lite",
-    },
-    srcs: ["network_mode_choices.proto"],
-}
-
 java_library {
-    name: "fuelgauge-log-protos-lite",
+    name: "settings-protos-lite",
     proto: {
         type: "lite",
     },
-    srcs: ["fuelgauge_log.proto"],
+    srcs: ["*.proto"],
 }
diff --git a/protos/spa_search_landing.proto b/protos/spa_search_landing.proto
new file mode 100644
index 0000000..02cca79
--- /dev/null
+++ b/protos/spa_search_landing.proto
@@ -0,0 +1,34 @@
+syntax = "proto2";
+
+package com.android.settings.spa;
+
+message SpaSearchLandingKey {
+  oneof page {
+    SpaSearchLandingSpaPage spa_page = 1;
+    SpaSearchLandingFragment fragment = 2;
+  }
+}
+
+message SpaSearchLandingSpaPage {
+  /** The destination of SPA page. */
+  optional string destination = 1;
+}
+
+message SpaSearchLandingFragment {
+  /** The fragment class name. */
+  optional string fragment_name = 1;
+
+  /** The key of the preference to highlight the item. */
+  optional string preference_key = 2;
+
+  /** The arguments passed to the page. */
+  map<string, BundleValue> arguments = 3;
+}
+
+/** A value in an Android Bundle. */
+message BundleValue {
+  oneof value {
+    /** A 32-bit signed integer value. */
+    int32 int_value = 1;
+  }
+}
diff --git a/res-product/values-af/strings.xml b/res-product/values-af/strings.xml
index 223e789..1fb00ed 100644
--- a/res-product/values-af/strings.xml
+++ b/res-product/values-af/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"\'n PIN word vereis om Gesigslot op te stel.\n\n\'n PIN beskerm die foon as dit verloor of gesteel word."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"\'n Patroon word vereis om Gesigslot op te stel.\n\n\'n Patroon beskerm die foon as dit verloor of gesteel word."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"\'n Wagwoord word vereis om Gesigslot op te stel.\n\n\'n Wagwoord beskerm die foon as dit verloor of gesteel word."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"\'n PIN word vereis om Gesigslot en Vingerafdrukslot op te stel.\n\n\'n PIN beskerm die tablet as dit verloor of gesteel word."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"\'n Patroon word vereis om Gesigslot en Vingerafdrukslot op te stel.\n\n\'n Patroon beskerm die tablet as dit verloor of gesteel word."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"\'n Wagwoord word vereis om Gesigslot en Vingerafdrukslot op te stel.\n\n\'n Wagwoord beskerm die tablet as dit verloor of gesteel word."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"\'n PIN word vereis om Gesigslot en Vingerafdrukslot op te stel.\n\n\'n PIN beskerm die toestel as dit verloor of gesteel word."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"\'n Patroon word vereis om Gesigslot en Vingerafdrukslot op te stel.\n\n\'n Patroon beskerm die toestel as dit verloor of gesteel word."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"\'n Wagwoord word vereis om Gesigslot en Vingerafdrukslot op te stel.\n\n\'n Wagwoord beskerm die toestel as dit verloor of gesteel word."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"\'n PIN word vereis om Gesigslot en Vingerafdrukslot op te stel.\n\n\'n PIN beskerm die foon as dit verloor of gesteel word."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"\'n Patroon word vereis om Gesigslot en Vingerafdrukslot op te stel.\n\n\'n Patroon beskerm die foon as dit verloor of gesteel word."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"\'n Wagwoord word vereis om Gesigslot en Vingerafdrukslot op te stel.\n\n\'n Wagwoord beskerm die foon as dit verloor of gesteel word."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"’n PIN word vereis om Vingerafdrukslot en Gesigslot op te stel.\n\n’n PIN beskerm die tablet as dit verloor of gesteel word."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"’n Patroon word vereis om Vingerafdrukslot en Gesigslot op te stel.\n\n’n Patroon beskerm die tablet as dit verloor of gesteel word."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"’n Wagwoord word vereis om Vingerafdrukslot en Gesigslot op te stel.\n\n’n Wagwoord beskerm die tablet as dit verloor of gesteel word."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"’n PIN word vereis om Vingerafdrukslot en Gesigslot op te stel.\n\n’n PIN beskerm die toestel as dit verloor of gesteel word."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"’n Patroon word vereis om Vingerafdrukslot en Gesigslot op te stel.\n\n’n Patroon beskerm die toestel as dit verloor of gesteel word."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"’n Wagwoord word vereis om Vingerafdrukslot en Gesigslot op te stel.\n\n’n Wagwoord beskerm die toestel as dit verloor of gesteel word."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"’n PIN word vereis om Vingerafdrukslot en Gesigslot op te stel.\n\n’n PIN beskerm die foon as dit verloor of gesteel word."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"’n Patroon word vereis om Vingerafdrukslot en Gesigslot op te stel.\n\n’n Patroon beskerm die foon as dit verloor of gesteel word."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"’n Wagwoord word vereis om Vingerafdrukslot en Gesigslot op te stel.\n\n’n Wagwoord beskerm die foon as dit verloor of gesteel word."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Dit vee die vingerafdrukprente en -model uit wat met \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" geassosieer word en op jou foon geberg is"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Dit vee die vingerafdrukprente en -model uit wat met \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" geassosieer word en op jou tablet geberg is"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Dit vee die vingerafdrukprente en -model uit wat met \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" geassosieer word en op jou toestel geberg is"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Jy moet eers oorfone wat LE-oudio steun, aan hierdie foon koppel om na ’n oudiostroom te luister."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Jy moet eers oorfone wat LE-oudio steun, aan hierdie tablet koppel om na ’n oudiostroom te luister."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Jy moet eers oorfone wat LE-oudio steun, aan hierdie toestel koppel om na ’n oudiostroom te luister."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Jy moet eers oorfone wat LE-oudio steun, aan hierdie foon koppel om na ’n oudiostroom te luister. "<annotation id="link">"Meer inligting"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Jy moet eers oorfone wat LE-oudio steun, aan hierdie tablet koppel om na ’n oudiostroom te luister. "<annotation id="link">"Meer inligting"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Jy moet eers oorfone wat LE-oudio steun, aan hierdie toestel koppel om na ’n oudiostroom te luister. "<annotation id="link">"Meer inligting"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Hierdie foon steun nie LE-oudio wat nodig is om na oudiostrome te luister nie."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Hierdie tablet steun nie LE-oudio wat nodig is om na oudiostrome te luister nie."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Hierdie toestel steun nie LE-oudio wat nodig is om na oudiostrome te luister nie."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Om oudio te begin deel, moet jy eers LE-oudio-oorfone aan jou foon koppel "<annotation id="link">"Kry meer inligting oor versoenbare toestelle."</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Om oudio te begin deel, moet jy eers LE-oudio-oorfone aan jou tablet koppel "<annotation id="link">"Kry meer inligting oor versoenbare toestelle."</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Om oudio te begin deel, moet jy eers LE-oudio-oorfone aan jou toestel koppel "<annotation id="link">"Kry meer inligting oor versoenbare toestelle."</annotation></string>
 </resources>
diff --git a/res-product/values-am/strings.xml b/res-product/values-am/strings.xml
index 4e5b1dc..b0f6d94 100644
--- a/res-product/values-am/strings.xml
+++ b/res-product/values-am/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"በመልክ መክፈትን ለማዋቀር ፒን ያስፈልጋል።\n\nስልኩ ከጠፋ ወይም ከተሰረቀ ፒን ይጠብቀዋል።"</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"በመልክ መክፈትን ለማዋቀር ስርዓተ ጥለት ያስፈልጋል።\n\nስልኩ ከጠፋ ወይም ከተሰረቀ ስርዓተ ጥለት ይጠብቀዋል።"</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"በመልክ መክፈትን ለማዋቀር የይለፍ ቃል ያስፈልጋል።\n\nስልኩ ከጠፋ ወይም ከተሰረቀ የይለፍ ቃል ይጠብቀዋል።"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"በመልክ መክፈት እና በጣት አሻራ መክፈቻን ለማዋቀር ፒን ያስፈልጋል።\n\nጡባዊው ከጠፋ ወይም ከተሰረቀ ፒን ይጠብቀዋል።"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"በመልክ መክፈት እና በጣት አሻራ መክፈቻን ለማዋቀር ስርዓተ ጥለት ያስፈልጋል።\n\nጡባዊው ከጠፋ ወይም ከተሰረቀ ስርዓተ ጥለት ይጠብቀዋል።"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"በመልክ መክፈት እና በጣት አሻራ መክፈቻን ለማዋቀር የይለፍ ቃል ያስፈልጋል።\n\nጡባዊው ከጠፋ ወይም ከተሰረቀ የይለፍ ቃል ይጠብቀዋል።"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"በመልክ መክፈት እና በጣት አሻራ መክፈቻን ለማዋቀር ፒን ያስፈልጋል።\n\nመሣሪያው ከጠፋ ወይም ከተሰረቀ ፒን ይጠብቀዋል።"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"በመልክ መክፈት እና በጣት አሻራ መክፈቻን ለማዋቀር ስርዓተ ጥለት ያስፈልጋል።\n\nመሣሪያው ከጠፋ ወይም ከተሰረቀ ስርዓተ ጥለት ይጠብቀዋል።"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"በመልክ መክፈት እና በጣት አሻራ መክፈቻን ለማዋቀር የይለፍ ቃል ያስፈልጋል።\n\nመሣሪያው ከጠፋ ወይም ከተሰረቀ የይለፍ ቃል ይጠብቀዋል።"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"በመልክ መክፈት እና በጣት አሻራ መክፈቻን ለማዋቀር ፒን ያስፈልጋል።\n\nስልኩ ከጠፋ ወይም ከተሰረቀ ፒን ይጠብቀዋል።"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"በመልክ መክፈት እና በጣት አሻራ መክፈቻን ለማዋቀር ስርዓተ ጥለት ያስፈልጋል።\n\nስልኩ ከጠፋ ወይም ከተሰረቀ ስርዓተ ጥለት ይጠብቀዋል።"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"በመልክ መክፈት እና በጣት አሻራ መክፈቻን ለማዋቀር የይለፍ ቃል ያስፈልጋል።\n\nስልኩ ከጠፋ ወይም ከተሰረቀ የይለፍ ቃል ይጠብቀዋል።"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"በጣት አሻራ መክፈቻን እና በመልክ መክፈትን ለማዋቀር ፒን ያስፈልጋል።\n\nጡባዊው ከጠፋ ወይም ከተሰረቀ ፒን ይጠብቀዋል።"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"በጣት አሻራ መክፈቻን እና በመልክ መክፈትን ለማዋቀር ሥርዓተ ጥለት ያስፈልጋል።\n\nጡባዊው ከጠፋ ወይም ከተሰረቀ ሥርዓተ ጥለት ይጠብቀዋል።"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"በጣት አሻራ መክፈቻን እና በመልክ መክፈትን ለማዋቀር የይለፍ ቃል ያስፈልጋል።\n\nጡባዊው ከጠፋ ወይም ከተሰረቀ የይለፍ ቃል ይጠብቀዋል።"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"በጣት አሻራ መክፈቻን እና በመልክ መክፈትን ለማዋቀር ፒን ያስፈልጋል።\n\nመሣሪያው ከጠፋ ወይም ከተሰረቀ ፒን ይጠብቀዋል።"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"በጣት አሻራ መክፈቻን እና በመልክ መክፈትን ለማዋቀር ሥርዓተ ጥለት ያስፈልጋል።\n\nመሣሪያው ከጠፋ ወይም ከተሰረቀ ሥርዓተ ጥለት ይጠብቀዋል።"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"በጣት አሻራ መክፈቻን እና በመልክ መክፈት ለማዋቀር የይለፍ ቃል ያስፈልጋል።\n\nመሣሪያው ከጠፋ ወይም ከተሰረቀ የይለፍ ቃል ይጠብቀዋል።"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"በጣት አሻራ መክፈቻን እና በመልክ መክፈትን ለማዋቀር ፒን ያስፈልጋል።\n\nስልኩ ከጠፋ ወይም ከተሰረቀ ፒን ይጠብቀዋል።"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"በጣት አሻራ መክፈቻን እና በመልክ መክፈትን ለማዋቀር ሥርዓተ ጥለት ያስፈልጋል።\n\nስልኩ ከጠፋ ወይም ከተሰረቀ ሥርዓተ ጥለት ይጠብቀዋል።"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"በጣት አሻራ መክፈቻን እና በመልክ መክፈትን ለማዋቀር የይለፍ ቃል ያስፈልጋል።\n\nስልኩ ከጠፋ ወይም ከተሰረቀ የይለፍ ቃል ይጠብቀዋል።"</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"ይህ በስልክዎ ላይ የተከማቹት የጣት አሻራ ምስሎችን እና ከ«<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» ጋር የተጎዳኘውን ሞዴል ይሰርዛል"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"ይህ በጡባዊዎ ላይ የተከማቹት የጣት አሻራ ምስሎችን እና ከ«<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» ጋር የተጎዳኘውን ሞዴል ይሰርዛል"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"ይህ በመሣሪያዎ ላይ ከተከማቸው «<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» ጋር የተጎዳኙ የጣት አሻራ ምስሎችን እና ሞዴልን ይሰርዛል"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"የኦዲዮ ዥረት ለማዳመጥ በቅድሚያ LE ኦዲዮን የሚደግፉ የራስ ላይ ማዳመጫዎችን ከዚህ ስልክ ጋር ያገናኙ።"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"የኦዲዮ ዥረት ለማዳመጥ በቅድሚያ LE ኦዲዮን የሚደግፉ የራስ ላይ ማዳመጫዎችን ከዚህ ጡባዊ ጋር ያገናኙ።"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"የኦዲዮ ዥረት ለማዳመጥ በቅድሚያ LE ኦዲዮን የሚደግፉ የራስ ላይ ማዳመጫዎችን ከዚህ መሣሪያ ጋር ያገናኙ።"</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"የኦዲዮ ዥረት ለማዳመጥ፣ መጀመሪያ LE ኦዲዮን የሚደግፉ የራስ ላይ ማዳመጫዎችን ከዚህ ስልክ ጋር ያገናኙ። "<annotation id="link">"የበለጠ ለመረዳት"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"የኦዲዮ ዥረት ለማዳመጥ፣ መጀመሪያ LE ኦዲዮን የሚደግፉ የራስ ላይ ማዳመጫዎችን ከዚህ ጡባዊ ጋር ያገናኙ። "<annotation id="link">"የበለጠ ለመረዳት"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"የኦዲዮ ዥረት ለማዳመጥ፣ መጀመሪያ LE ኦዲዮን የሚደግፉ የራስ ላይ ማዳመጫዎችን ከዚህ መሣሪያ ጋር ያገናኙ። "<annotation id="link">"የበለጠ ለመረዳት"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"ይህ ስልክ ኦዲዮ ዥረቶችን ለማዳመጥ የሚያስፈልገውን LE ኦዲዮ አይደግፍም።"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"ይህ ጡባዊ ኦዲዮ ዥረቶችን ለማዳመጥ የሚያስፈልገውን LE ኦዲዮ አይደግፍም።"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"ይህ መሣሪያ ኦዲዮ ዥረቶችን ለማዳመጥ የሚያስፈልገውን LE ኦዲዮ አይደግፍም።"</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"ኦዲዮ ማጋራት ለመጀመር፣ መጀመሪያ LE ኦዲዮ የራስ ላይ ማዳመጫዎችን ከስልክዎ ጋር ያገናኙ። "<annotation id="link">"ስለ ተኳዃኝ መሣሪያዎች የበለጠ ይወቁ።"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"ኦዲዮ ማጋራት ለመጀመር፣ መጀመሪያ LE ኦዲዮ የራስ ላይ ማዳመጫዎችን ከጡባዊዎ ጋር ያገናኙ "<annotation id="link">"ስለ ተኳዃኝ መሣሪያዎች የበለጠ ይወቁ።"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"ኦዲዮ ማጋራት ለመጀመር፣ መጀመሪያ LE ኦዲዮ የራስ ላይ ማዳመጫዎችን ከመሣሪያዎ ጋር ያገናኙ። "<annotation id="link">"ስለ ተኳዃኝ መሣሪያዎች የበለጠ ይወቁ።"</annotation></string>
 </resources>
diff --git a/res-product/values-ar/strings.xml b/res-product/values-ar/strings.xml
index 7333be0..131d746 100644
--- a/res-product/values-ar/strings.xml
+++ b/res-product/values-ar/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"يجب ضبط رقم تعريف شخصي لإعداد ميزة \"فتح الجهاز ببصمة الوجه\".\n\nيحمي رقم التعريف الشخصي الهاتف في حال فقدانه أو سرقته."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"يجب ضبط نقش لإعداد ميزة \"فتح الجهاز ببصمة الوجه\".\n\nيحمي النقش الهاتف في حال فقدانه أو سرقته."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"يجب ضبط كلمة مرور لإعداد ميزة \"فتح الجهاز ببصمة الوجه\".\n\nتحمي كلمة المرور الهاتف في حال فقدانه أو سرقته."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"يجب ضبط رقم تعريف شخصي لإعداد ميزتَي \"فتح الجهاز ببصمة الوجه\" و\"فتح الجهاز ببصمة الإصبع\".\n\nيحمي رقم التعريف الشخصي الجهاز اللوحي في حال فقدانه أو سرقته."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"يجب ضبط نقش لإعداد ميزتَي \"فتح الجهاز ببصمة الوجه\" و\"فتح الجهاز ببصمة الإصبع\".\n\nيحمي النقش الجهاز اللوحي في حال فقدانه أو سرقته."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"يجب ضبط كلمة مرور لإعداد ميزتَي \"فتح الجهاز ببصمة الوجه\" و\"فتح الجهاز ببصمة الإصبع\".\n\nتحمي كلمة المرور الجهاز اللوحي في حال فقدانه أو سرقته."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"يجب ضبط رقم تعريف شخصي لإعداد ميزتَي \"فتح الجهاز ببصمة الوجه\" و\"فتح الجهاز ببصمة الإصبع\".\n\nيحمي رقم التعريف الشخصي الجهاز في حال فقدانه أو سرقته."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"يجب ضبط نقش لإعداد ميزتَي \"فتح الجهاز ببصمة الوجه\" و\"فتح الجهاز ببصمة الإصبع\".\n\nيحمي النقش الجهاز في حال فقدانه أو سرقته."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"يجب ضبط كلمة مرور لإعداد ميزتَي \"فتح الجهاز ببصمة الوجه\" و\"فتح الجهاز ببصمة الإصبع\".\n\nتحمي كلمة المرور الجهاز في حال فقدانه أو سرقته."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"يجب ضبط رقم تعريف شخصي لإعداد ميزتَي \"فتح الجهاز ببصمة الوجه\" و\"فتح الجهاز ببصمة الإصبع\".\n\nيحمي رقم التعريف الشخصي الهاتف في حال فقدانه أو سرقته."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"يجب ضبط نقش لإعداد ميزتَي \"فتح الجهاز ببصمة الوجه\" و\"فتح الجهاز ببصمة الإصبع\".\n\nيحمي النقش الهاتف في حال فقدانه أو سرقته."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"يجب ضبط كلمة مرور لإعداد ميزتَي \"فتح الجهاز ببصمة الوجه\" و\"فتح الجهاز ببصمة الإصبع\".\n\nتحمي كلمة المرور الهاتف في حال فقدانه أو سرقته."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"يجب ضبط رقم تعريف شخصي لإعداد ميزتَي \"فتح الجهاز ببصمة الإصبع\" و\"فتح الجهاز ببصمة الوجه\".\n\nيحمي رقم التعريف الشخصي الجهاز اللوحي في حال فقدانه أو سرقته."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"يجب ضبط نقش لإعداد ميزتَي \"فتح الجهاز ببصمة الإصبع\" و\"فتح الجهاز ببصمة الوجه\".\n\nيحمي النقش الجهاز اللوحي في حال فقدانه أو سرقته."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"يجب ضبط كلمة مرور لإعداد ميزتَي \"فتح الجهاز ببصمة الإصبع\" و\"فتح الجهاز ببصمة الوجه\".\n\nتحمي كلمة المرور الجهاز اللوحي في حال فقدانه أو سرقته."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"يجب ضبط رقم تعريف شخصي لإعداد ميزتَي \"فتح الجهاز ببصمة الإصبع\" و\"فتح الجهاز ببصمة الوجه\".\n\nيحمي رقم التعريف الشخصي الجهاز في حال فقدانه أو سرقته."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"يجب ضبط نقش لإعداد ميزتَي \"فتح الجهاز ببصمة الإصبع\" و\"فتح الجهاز ببصمة الوجه\".\n\nيحمي النقش الجهاز في حال فقدانه أو سرقته."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"يجب ضبط كلمة مرور لإعداد ميزتَي \"فتح الجهاز ببصمة الإصبع\" و\"فتح الجهاز ببصمة الوجه\".\n\nتحمي كلمة المرور الجهاز في حال فقدانه أو سرقته."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"يجب ضبط رقم تعريف شخصي لإعداد ميزتَي \"فتح الجهاز ببصمة الإصبع\" و\"فتح الجهاز ببصمة الوجه\".\n\nيحمي رقم التعريف الشخصي الهاتف في حال فقدانه أو سرقته."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"يجب ضبط نقش لإعداد ميزتَي \"فتح الجهاز ببصمة الإصبع\" و\"فتح الجهاز بببصمة الوجه\".\n\nيحمي النقش الهاتف في حال فقدانه أو سرقته."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"يجب ضبط كلمة مرور لإعداد ميزتَي \"فتح الجهاز ببصمة الإصبع\" و\"فتح الجهاز ببصمة الوجه\".\n\nتحمي كلمة المرور الهاتف في حال فقدانه أو سرقته."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"يؤدي هذا الإجراء إلى حذف النموذج والصور المرتبطة ببصمة الإصبع \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\"، والتي تم تخزينها على هاتفك"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"يؤدي هذا الإجراء إلى حذف النموذج والصور المرتبطة ببصمة الإصبع \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\"، والتي تم تخزينها على جهازك اللوحي"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"يؤدي هذا الإجراء إلى حذف النموذج والصور المرتبطة ببصمة الإصبع \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\"، والتي تم تخزينها على جهازك"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"‏للاستماع إلى بث صوتي، عليك أولاً أن تربط بهذا الهاتف سماعات الرأس التي تتوافق مع LE Audio."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"‏للاستماع إلى بث صوتي، عليك أولاً أن تربط بهذا الجهاز اللوحي سماعات الرأس التي تتوافق مع LE Audio."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"‏للاستماع إلى بث صوتي، عليك أولاً أن تربط بهذا الجهاز سماعات الرأس التي تتوافق مع LE Audio."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"‏للاستماع إلى بث صوتي، يجب التأكّد أولاً من توصيل هذا الهاتف بسماعات رأس متوافقة مع تكنولوجيا LE Audio. "<annotation id="link">"مزيد من المعلومات"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"‏للاستماع إلى بث صوتي، يجب التأكّد أولاً من توصيل هذا الجهاز اللوحي بسماعات رأس متوافقة مع تكنولوجيا LE Audio. "<annotation id="link">"مزيد من المعلومات"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"‏للاستماع إلى بث صوتي، يجب التأكّد أولاً من توصيل هذا الجهاز بسماعات رأس متوافقة مع تكنولوجيا LE Audio. "<annotation id="link">"مزيد من المعلومات"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"‏هذا الهاتف غير متوافق مع تطبيق LE Audio المطلوب لتشغيل البث الصوتي."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"‏هذا الجهاز اللوحي غير متوافق مع تطبيق LE Audio المطلوب لتشغيل البث الصوتي."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"‏هذا الجهاز غير متوافق مع تقنية LE Audio المطلوبة لتشغيل البث الصوتي."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"‏لبدء مشاركة الصوت، يجب التأكّد أولاً من أنّ هاتفك متّصل بسماعات رأس متوافقة مع تكنولوجيا LE Audio. "<annotation id="link">"مزيد من المعلومات حول الأجهزة المتوافقة"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"‏لبدء مشاركة الصوت، يجب التأكّد أولاً من أنّ جهازك اللوحي متّصل بسماعات رأس متوافقة مع تكنولوجيا LE Audio. "<annotation id="link">"مزيد من المعلومات حول الأجهزة المتوافقة"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"‏لبدء مشاركة الصوت، يجب التأكّد أولاً من أنّ جهازك متّصل بسماعات رأس متوافقة مع تكنولوجيا LE Audio. "<annotation id="link">"مزيد من المعلومات حول الأجهزة المتوافقة"</annotation></string>
 </resources>
diff --git a/res-product/values-as/strings.xml b/res-product/values-as/strings.xml
index 157f78a..b5887741 100644
--- a/res-product/values-as/strings.xml
+++ b/res-product/values-as/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"ফেচ আনলক ছেট আপ কৰিবলৈ এটা পিনৰ আৱশ্যক।\n\nএটা পিনে ফ’নটো হেৰালে অথবা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"ফেচ আনলক ছেট আপ কৰিবলৈ এটা আৰ্হিৰ আৱশ্যক।\n\nএটা আৰ্হিয়ে ফ’নটো হেৰালে অথবা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"ফেচ আনলক ছেট আপ কৰিবলৈ এটা পাছৱৰ্ডৰ আৱশ্যক।\n\nএটা পাছৱৰ্ডে ফ’নটো হেৰালে অথবা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"ফেচ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা পিনৰ আৱশ্যক।\n\nএটা পিনে টেবলেটটো হেৰালে অথবা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"ফেচ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা আৰ্হিৰ আৱশ্যক।\n\nএটা আৰ্হিয়ে টেবলেটটো হেৰালে অথবা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"ফেচ আনলক ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা পাছৱৰ্ডৰ আৱশ্যক।\n\nএটা পাছৱৰ্ডে টেবলেটটো হেৰালে অথবা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"ফেচ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা পিনৰ আৱশ্যক।\n\nএটা পিনে ডিভাইছটো হেৰালে অথবা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"ফেচ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা আৰ্হিৰ আৱশ্যক।\n\nএটা আৰ্হিয়ে ডিভাইছটো হেৰালে অথবা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"ফেচ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা পাছৱৰ্ডৰ আৱশ্যক।\n\nএটা পাছৱৰ্ডে ডিভাইচটো হেৰালে অথবা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"ফেচ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা পিনৰ আৱশ্যক।\n\nএটা পিনে ফ’নটো হেৰালে অথবা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"ফেচ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা আৰ্হিৰ আৱশ্যক।\n\nএটা আৰ্হিয়ে ফ’নটো হেৰালে অথবা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"ফেচ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা পাছৱৰ্ডৰ আৱশ্যক।\n\nএটা পাছৱৰ্ডে ফ’নটো হেৰালে অথবা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"ফে’চ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা পিনৰ আৱশ্যক।\n\nএটা পিনে টেবলেটটো হেৰালে বা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"ফে’চ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা আৰ্হিৰ আৱশ্যক।\n\nএটা আৰ্হিয়ে টেবলেটটো হেৰালে বা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"ফে’চ আনলক ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা পাছৱৰ্ডৰ আৱশ্যক।\n\nএটা পাছৱৰ্ডে টেবলেটটো হেৰালে বা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"ফে’চ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা পিনৰ আৱশ্যক।\n\nএটা পিনে ডিভাইচটো হেৰালে বা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"ফে’চ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা আৰ্হিৰ আৱশ্যক।\n\nএটা আৰ্হিয়ে ডিভাইচটো হেৰালে বা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"ফে’চ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা পাছৱৰ্ডৰ আৱশ্যক।\n\nএটা পাছৱৰ্ডে ডিভাইচটো হেৰালে বা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"ফে’চ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা পিনৰ আৱশ্যক।\n\nএটা পিনে ফ’নটো হেৰালে বা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"ফে’চ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা আৰ্হিৰ আৱশ্যক।\n\nএটা আৰ্হিয়ে ফ’নটো হেৰালে বা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"ফে’চ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা পাছৱৰ্ডৰ আৱশ্যক।\n\nএটা পাছৱৰ্ডে ফ’নটো হেৰালে বা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"এইটোৱে আপোনাৰ ফ’নটোত ষ্ট’ৰ হৈ থকা \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'ৰ সৈতে জড়িত ফিংগাৰপ্ৰিণ্টৰ প্ৰতিচ্ছবি আৰু মডেল মচি পেলায়"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"এইটোৱে আপোনাৰ টেবলেটটোত ষ্ট’ৰ হৈ থকা \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'ৰ সৈতে জড়িত ফিংগাৰপ্ৰিণ্টৰ প্ৰতিচ্ছবি আৰু মডেল মচি পেলায়"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"এইটোৱে আপোনাৰ ডিভাইচত ষ্ট’ৰ হৈ থকা \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'ৰ সৈতে জড়িত ফিংগাৰপ্ৰিণ্টৰ প্ৰতিচ্ছবি আৰু মডেল মচি পেলায়"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"কোনো অডিঅ’ ষ্ট্ৰীম শুনিবলৈ, প্ৰথমে এই ফ’নটোত LE অডিঅ’ সমৰ্থন কৰা হেডফ’ন সংযোগ কৰক।"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"কোনো অডিঅ’ ষ্ট্ৰীম শুনিবলৈ, প্ৰথমে এই টেবলেটটোত LE অডিঅ’ সমৰ্থন কৰা হেডফ’ন সংযোগ কৰক।"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"কোনো অডিঅ’ ষ্ট্ৰীম শুনিবলৈ, প্ৰথমে এই ডিভাইচটোত LE অডিঅ’ সমৰ্থন কৰা হেডফ’ন সংযোগ কৰক।"</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"কোনো অডিঅ’ ষ্ট্ৰীম শুনিবলৈ, প্ৰথমে এই ফ’নটোৰ সৈতে LE অডিঅ’ সমৰ্থন কৰা হেডফ’ন সংযোগ কৰক। "<annotation id="link">"অধিক জানক"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"কোনো অডিঅ’ ষ্ট্ৰীম শুনিবলৈ, প্ৰথমে এই টেবলেটটোৰ সৈতে LE অডিঅ’ সমৰ্থন কৰা হেডফ’ন সংযোগ কৰক। "<annotation id="link">"অধিক জানক"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"কোনো অডিঅ’ ষ্ট্ৰীম শুনিবলৈ, প্ৰথমে এই ডিভাইচটোৰ সৈতে LE অডিঅ’ সমৰ্থন কৰা হেডফ’ন সংযোগ কৰক। "<annotation id="link">"অধিক জানক"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"এই ফ’নটোৱে LE অডিঅ’ সমৰ্থন নকৰে, যিটো অডিঅ’ ষ্ট্ৰীমসমূহ শুনিবলৈ প্ৰয়োজনীয়।"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"এই টেবলেটটোৱে LE অডিঅ’ সমৰ্থন নকৰে, যিটো অডিঅ’ ষ্ট্ৰীমসমূহ শুনিবলৈ প্ৰয়োজনীয়।"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"এই ডিভাইচটোৱে LE অডিঅ’ সমৰ্থন নকৰে, যিটো অডিঅ’ ষ্ট্ৰীমসমূহ শুনিবলৈ প্ৰয়োজনীয়।"</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"অডিঅ’ শ্বেয়াৰ কৰা আৰম্ভ কৰিবলৈ, প্ৰথমে আপোনাৰ ফ’নটোৰ সৈতে LE অডিঅ’ হেডফ’নসমূহ সংযোগ কৰক। "<annotation id="link">"সমিল ডিভাইচসমূহৰ বিষয়ে অধিক জানক"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"অডিঅ’ শ্বেয়াৰ কৰা আৰম্ভ কৰিবলৈ, প্ৰথমে টেবলেটটোৰ সৈতে LE অডিঅ’ হেডফ’নসমূহ সংযোগ কৰক। "<annotation id="link">"সমিল ডিভাইচসমূহৰ বিষয়ে অধিক জানক"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"অডিঅ’ শ্বেয়াৰ কৰা আৰম্ভ কৰিবলৈ, প্ৰথমে আপোনাৰ ডিভাইচটোৰ সৈতে LE অডিঅ’ হেডফ’নসমূহ সংযোগ কৰক। "<annotation id="link">"সমিল ডিভাইচসমূহৰ বিষয়ে অধিক জানক"</annotation></string>
 </resources>
diff --git a/res-product/values-az/strings.xml b/res-product/values-az/strings.xml
index 62f2db8..27b4ece 100644
--- a/res-product/values-az/strings.xml
+++ b/res-product/values-az/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Feyskontrol üçün PIN lazımdır.\n\nCihaz itəndə və ya oğurlananda məlumatları qoruyur."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Üz ilə kiliddən çıxarma ayarlamaq üçün model tələb edilir.\n\nTelefonunuz itdikdə və ya oğurlandıqda model onu qoruyur."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Üz ilə kiliddən çıxarma ayarlamaq üçün parol tələb edilir.\n\nTelefonunuz itdikdə və ya oğurlandıqda parol onu qoruyur."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Feyskontrol və barmaq izi ilə kiliddən çıxarmaq üçün PIN lazımdır.\n\nCihaz itəndə və ya oğurlananda məlumatları qoruyur."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Üz ilə kiliddən çıxarma və Barmaq izi ilə kiliddən çıxarma ayarlamaq üçün model tələb edilir.\n\nPlanşetiniz itdikdə və ya oğurlandıqda model onu qoruyur."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Üz ilə kiliddən çıxarma və Barmaq izi ilə kiliddən çıxarma ayarlamaq üçün parol tələb edilir.\n\nPlanşetiniz itdikdə və ya oğurlandıqda parol onu qoruyur."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Feyskontrol və barmaq izi ilə kiliddən çıxarmaq üçün PIN lazımdır.\n\nCihaz itəndə və ya oğurlananda məlumatları qoruyur."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Üz ilə kiliddən çıxarma və Barmaq izi ilə kiliddən çıxarma ayarlamaq üçün model tələb edilir.\n\nCihazınız itdikdə və ya oğurlandıqda model onu qoruyur."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Üz ilə kiliddən çıxarma və Barmaq izi ilə kiliddən çıxarma ayarlamaq üçün parol tələb edilir.\n\nCihazınız itdikdə və ya oğurlandıqda parol onu qoruyur."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Feyskontrol və barmaq izi ilə kiliddən çıxarmaq üçün PIN lazımdır.\n\nCihaz itəndə və ya oğurlananda məlumatları qoruyur."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Üz ilə kiliddən çıxarma və Barmaq izi ilə kiliddən çıxarma ayarlamaq üçün model tələb edilir.\n\nTelefonunuz itdikdə və ya oğurlandıqda model onu qoruyur."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Üz ilə kiliddən çıxarma və Barmaq izi ilə kiliddən çıxarma ayarlamaq üçün parol tələb edilir.\n\nTelefonunuz itdikdə və ya oğurlandıqda parol onu qoruyur."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Barmaqla Kilidaçma və Üzlə Kilidaçma ayarlamaq üçün PIN tələb edilir.\n\nPlanşet itdikdə və ya oğurlandıqda PIN onu qoruyur."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Barmaqla Kilidaçma və Üzlə Kilidaçma ayarlamaq üçün model tələb edilir.\n\nPlanşet itdikdə və ya oğurlandıqda model onu qoruyur."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Barmaqla Kilidaçma və Üzlə Kilidaçma ayarlamaq üçün parol tələb edilir.\n\nPlanşet itdikdə və ya oğurlandıqda parol onu qoruyur."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Barmaqla Kilidaçma və Üzlə Kilidaçma ayarlamaq üçün PIN tələb edilir.\n\nCihaz itdikdə və ya oğurlandıqda PIN onu qoruyur."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Barmaqla Kilidaçma və Üzlə Kilidaçma ayarlamaq üçün model tələb edilir.\n\nCihaz itdikdə və ya oğurlandıqda model onu qoruyur."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Barmaqla Kilidaçma və Üzlə Kilidaçma ayarlamaq üçün parol tələb edilir.\n\nCihaz itdikdə və ya oğurlandıqda parol onu qoruyur."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Barmaqla Kilidaçma və Üzlə Kilidaçma ayarlamaq üçün PIN tələb edilir.\n\nTelefon itdikdə və ya oğurlandıqda PIN onu qoruyur."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Barmaqla Kilidaçma və Üzlə Kilidaçma ayarlamaq üçün model tələb edilir.\n\nTelefon itdikdə və ya oğurlandıqda model onu qoruyur."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Barmaqla Kilidaçma və Üzlə Kilidaçma ayarlamaq üçün parol tələb edilir.\n\nTelefon itdikdə və ya oğurlandıqda parol onu qoruyur."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Bu, telefonunuzda saxlanılan \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ilə əlaqəli barmaq izi şəkillərini və modelini silir"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Bu, planşetinizdə saxlanılan \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ilə əlaqəli barmaq izi şəkillərini və modelini silir"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Bu, cihazınızda saxlanılan \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ilə əlaqəli barmaq izi şəkillərini və modelini silir"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Audio yayımı dinləmək üçün LE Audionu dəstəkləyən qulaqlıqları bu telefona qoşun."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Audio yayımı dinləmək üçün LE Audionu dəstəkləyən qulaqlıqları bu planşetə qoşun."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Audio yayımı dinləmək üçün LE Audionu dəstəkləyən qulaqlıqları bu cihaza qoşun."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Audio yayımı dinləmək üçün əvvəlcə LE Audionu dəstəkləyən qulaqlıqları bu telefona qoşun. "<annotation id="link">"Ətraflı məlumat"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Audio yayımı dinləmək üçün əvvəlcə LE Audionu dəstəkləyən qulaqlıqları bu planşetə qoşun. "<annotation id="link">"Ətraflı məlumat"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Audio yayımı dinləmək üçün əvvəlcə LE Audionu dəstəkləyən qulaqlıqları bu cihaza qoşun. "<annotation id="link">"Ətraflı məlumat"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Bu telefon audio yayımlarını dinləmək üçün lazım olan LE Audionu dəstəkləmir."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Bu planşet audio yayımlarını dinləmək üçün lazım olan LE Audionu dəstəkləmir."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Bu cihaz audio yayımlarını dinləmək üçün lazım olan LE Audionu dəstəkləmir."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Audio paylaşmağa başlamaq üçün əvvəlcə LE Audio qulaqlıqlarını telefona qoşun. "<annotation id="link">"Müvafiq cihazlar barədə ətraflı məlumat"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Audio paylaşmağa başlamaq üçün əvvəlcə LE Audio qulaqlıqlarını planşetə qoşun. "<annotation id="link">"Müvafiq cihazlar barədə ətraflı məlumat"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Audio paylaşmağa başlamaq üçün əvvəlcə LE Audio qulaqlıqlarını cihaza qoşun. "<annotation id="link">"Müvafiq cihazlar barədə ətraflı məlumat"</annotation></string>
 </resources>
diff --git a/res-product/values-b+sr+Latn/strings.xml b/res-product/values-b+sr+Latn/strings.xml
index fca9c51..4f29e9a 100644
--- a/res-product/values-b+sr+Latn/strings.xml
+++ b/res-product/values-b+sr+Latn/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Za podešavanje otključavanja licem neophodan je PIN.\n\nPIN štiti telefon ako ga izgubite ili ga neko ukrade."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Za podešavanje otključavanja licem neophodan je šablon.\n\nŠablon štiti telefon ako ga izgubite ili ga neko ukrade."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Za podešavanje otključavanja licem neophodna je lozinka.\n\nLozinka štiti telefon ako ga izgubite ili ga neko ukrade."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Za podešavanje otključavanja licem i otiskom prsta neophodan je PIN.\n\nPIN štiti tablet ako ga izgubite ili ga neko ukrade."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Za podešavanje otključavanja licem i otiskom prsta neophodan je šablon.\n\nŠablon štiti tablet ako ga izgubite ili ga neko ukrade."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Za podešavanje otključavanja licem i otiskom prsta neophodna je lozinka.\n\nLozinka štiti tablet ako ga izgubite ili ga neko ukrade."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Za podešavanje otključavanja licem i otiskom prsta neophodan je PIN.\n\nPIN štiti uređaj ako ga izgubite ili ga neko ukrade."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Za podešavanje otključavanja licem i otiskom prsta neophodan je šablon.\n\nŠablon štiti uređaj ako ga izgubite ili ga neko ukrade."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Za podešavanje otključavanja licem i otiskom prsta neophodna je lozinka.\n\nLozinka štiti uređaj ako ga izgubite ili ga neko ukrade."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Za podešavanje otključavanja licem i otiskom prsta neophodan je PIN.\n\nPIN štiti telefon ako ga izgubite ili ga neko ukrade."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Za podešavanje otključavanja licem i otiskom prsta neophodan je šablon.\n\nŠablon štiti telefon ako ga izgubite ili ga neko ukrade."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Za podešavanje otključavanja licem i otiskom prsta neophodna je lozinka.\n\nLozinka štiti telefon ako ga izgubite ili ga neko ukrade."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Za podešavanje otključavanja otiskom prsta i otključavanja licem neophodan je PIN.\n\nPIN štiti tablet ako ga izgubite ili ga neko ukrade."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Za podešavanje otključavanja otiskom prsta i otključavanja licem neophodan je šablon.\n\nŠablon štiti tablet ako ga izgubite ili ga neko ukrade."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Za podešavanje otključavanja otiskom prsta i otključavanja licem neophodna je lozinka.\n\nLozinka štiti tablet ako ga izgubite ili ga neko ukrade."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Za podešavanje otključavanja otiskom prsta i otključavanja licem neophodan je PIN.\n\nPIN štiti uređaj ako ga izgubite ili ga neko ukrade."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Za podešavanje otključavanja otiskom prsta i otključavanja licem neophodan je šablon.\n\nŠablon štiti uređaj ako ga izgubite ili ga neko ukrade."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Za podešavanje otključavanja otiskom prsta i otključavanja licem neophodna je lozinka.\n\nLozinka štiti uređaj ako ga izgubite ili ga neko ukrade."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Za podešavanje otključavanja otiskom prsta i otključavanja licem neophodan je PIN.\n\nPIN štiti telefon ako ga izgubite ili ga neko ukrade."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Za podešavanje otključavanja otiskom prsta i otključavanja licem neophodan je šablon.\n\nŠablon štiti telefon ako ga izgubite ili ga neko ukrade."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Za podešavanje otključavanja otiskom prsta i otključavanja licem neophodna je lozinka.\n\nLozinka štiti telefon ako ga izgubite ili ga neko ukrade."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Ovim se brišu slike i model otiska prsta u vezi sa otiskom <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> koji su sačuvani na telefonu"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Ovim se brišu slike i model otiska prsta u vezi sa otiskom <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> koji su sačuvani na tabletu"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Ovim se brišu slike i model otiska prsta u vezi sa otiskom <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> koji su sačuvani na uređaju"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Da biste slušali audio strim, prvo povežite slušalice koje podržavaju LE Audio sa ovim telefonom."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Da biste slušali audio strim, prvo povežite slušalice koje podržavaju LE Audio sa ovim tabletom."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Da biste slušali audio strim, prvo povežite slušalice koje podržavaju LE Audio sa ovim uređajem."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Da biste slušali audio strim, prvo povežite slušalice koje podržavaju LE Audio sa ovim telefonom. "<annotation id="link">"Saznajte više"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Da biste slušali audio strim, prvo povežite slušalice koje podržavaju LE Audio sa ovim tabletom. "<annotation id="link">"Saznajte više"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Da biste slušali audio strim, prvo povežite slušalice koje podržavaju LE Audio sa ovim uređajem. "<annotation id="link">"Saznajte više"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Ovaj telefon ne podržava LE Audio koji je neophodan za slušanje audio strimova."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Ovaj tablet ne podržava LE Audio koji je neophodan za slušanje audio strimova."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Ovaj uređaj ne podržava LE Audio koji je neophodan za slušanje audio strimova."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Da biste počeli da delite zvuk, prvo povežite LE Audio slušalice sa telefonom. "<annotation id="link">"Saznajte više o kompatibilnim uređajima"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Da biste počeli da delite zvuk, prvo povežite LE Audio slušalice sa tabletom. "<annotation id="link">"Saznajte više o kompatibilnim uređajima"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Da biste počeli da delite zvuk, prvo povežite LE Audio slušalice sa uređajem. "<annotation id="link">"Saznajte više o kompatibilnim uređajima"</annotation></string>
 </resources>
diff --git a/res-product/values-be/strings.xml b/res-product/values-be/strings.xml
index 01d4286..9b2a4c5 100644
--- a/res-product/values-be/strings.xml
+++ b/res-product/values-be/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Каб наладзіць распазнаванне твару, неабходна ўвесці PIN-код.\n\nPIN-код абараняе тэлефон у выпадку страты ці крадзяжу."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Каб наладзіць распазнаванне твару, неабходна ўвесці ўзор разблакіроўкі.\n\nУзор разблакіроўкі абараняе тэлефон у выпадку страты ці крадзяжу."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Каб наладзіць распазнаванне твару, неабходна ўвесці пароль.\n\nПароль абараняе тэлефон у выпадку страты ці крадзяжу."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Каб наладзіць распазнаванне твару і разблакіроўку адбіткам пальца, неабходна ўвесці PIN-код.\n\nPIN-код абараняе планшэт у выпадку страты ці крадзяжу."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Каб наладзіць распазнаванне твару і разблакіроўку адбіткам пальца, неабходна ўвесці ўзор разблакіроўкі.\n\nУзор разблакіроўкі абараняе планшэт у выпадку страты ці крадзяжу."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Каб наладзіць распазнаванне твару і разблакіроўку адбіткам пальца, неабходна ўвесці пароль.\n\nПароль абараняе планшэт у выпадку страты ці крадзяжу."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Каб наладзіць распазнаванне твару і разблакіроўку адбіткам пальца, неабходна ўвесці PIN-код.\n\nPIN-код абараняе прыладу ў выпадку страты ці крадзяжу."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Каб наладзіць распазнаванне твару і разблакіроўку адбіткам пальца, неабходна ўвесці ўзор разблакіроўкі.\n\nУзор разблакіроўкі абараняе прыладу ў выпадку страты ці крадзяжу."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Каб наладзіць распазнаванне твару і разблакіроўку адбіткам пальца, неабходна ўвесці пароль.\n\nПароль абараняе прыладу ў выпадку страты ці крадзяжу."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Каб наладзіць распазнаванне твару і разблакіроўку адбіткам пальца, неабходна ўвесці PIN-код.\n\nPIN-код абараняе тэлефон у выпадку страты ці крадзяжу."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Каб наладзіць распазнаванне твару і разблакіроўку адбіткам пальца, неабходна ўвесці ўзор разблакіроўкі.\n\nУзор разблакіроўкі абараняе тэлефон у выпадку страты ці крадзяжу."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Каб наладзіць распазнаванне твару і разблакіроўку адбіткам пальца, неабходна ўвесці пароль.\n\nПароль абараняе тэлефон у выпадку страты ці крадзяжу."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Каб наладзіць разблакіроўку адбіткам пальца і распазнаванне твару, неабходна ўвесці PIN-код.\n\nPIN-код абараняе планшэт у выпадку страты ці крадзяжу."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Каб наладзіць разблакіроўку адбіткам пальца і распазнаванне твару, неабходна ўвесці ўзор разблакіроўкі.\n\nУзор разблакіроўкі абараняе планшэт у выпадку страты ці крадзяжу."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Каб наладзіць разблакіроўку адбіткам пальца і распазнаванне твару, неабходна ўвесці пароль.\n\nПароль абараняе планшэт у выпадку страты ці крадзяжу."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Каб наладзіць разблакіроўку адбіткам пальца і распазнаванне твару, неабходна ўвесці PIN-код.\n\nPIN-код абараняе прыладу ў выпадку страты ці крадзяжу."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Каб наладзіць разблакіроўку адбіткам пальца і распазнаванне твару, неабходна ўвесці ўзор разблакіроўкі.\n\nУзор разблакіроўкі абараняе прыладу ў выпадку страты ці крадзяжу."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Каб наладзіць разблакіроўку адбіткам пальца і распазнаванне твару, неабходна ўвесці пароль.\n\nПароль абараняе прыладу ў выпадку страты ці крадзяжу."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Каб наладзіць разблакіроўку адбіткам пальца і распазнаванне твару, неабходна ўвесці PIN-код.\n\nPIN-код абараняе тэлефон у выпадку страты ці крадзяжу."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Каб наладзіць разблакіроўку адбіткам пальца і распазнаванне твару, неабходна ўвесці ўзор разблакіроўкі.\n\nУзор разблакіроўкі абараняе тэлефон у выпадку страты ці крадзяжу."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Каб наладзіць разблакіроўку адбіткам пальца і распазнаванне твару, неабходна ўвесці пароль.\n\nПароль абараняе тэлефон у выпадку страты ці крадзяжу."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Відарысы і мадэль адбіткаў пальцаў, звязаныя з адбіткам \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\", будуць выдалены з тэлефона"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Відарысы і мадэль адбіткаў пальцаў, звязаныя з адбіткам \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\", будуць выдалены з планшэта"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Відарысы і мадэль адбіткаў пальцаў, звязаныя з адбіткам \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\", будуць выдалены з прылады"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Каб мець магчымасць слухаць аўдыяплынь, падключыце да тэлефона навушнікі, якія падтрымліваюць LE Audio."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Каб мець магчымасць слухаць аўдыяплынь, падключыце да планшэта навушнікі, якія падтрымліваюць LE Audio."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Каб мець магчымасць слухаць аўдыяплынь, падключыце да прылады навушнікі, якія падтрымліваюць LE Audio."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Каб мець магчымасць слухаць аўдыяплынь, падключыце да тэлефона навушнікі, якія падтрымліваюць LE Audio. "<annotation id="link">"Даведацца больш"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Каб мець магчымасць слухаць аўдыяплынь, падключыце да планшэта навушнікі, якія падтрымліваюць LE Audio. "<annotation id="link">"Даведацца больш"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Каб мець магчымасць слухаць аўдыяплынь, падключыце да прылады навушнікі, якія падтрымліваюць LE Audio. "<annotation id="link">"Даведацца больш"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Гэты тэлефон не падтрымлівае рэжым LE Audio, патрэбны для праслухоўвання аўдыяплыней."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Гэты планшэт не падтрымлівае рэжым LE Audio, патрэбны для праслухоўвання аўдыяплыней."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Гэта прылада не падтрымлівае рэжым LE Audio, патрэбны для праслухоўвання аўдыяплыней."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Каб пачаць абагульваць аўдыя, спачатку падключыце навушнікі LE Audio да тэлефона. "<annotation id="link">"Даведацца больш пра сумяшчальныя прылады"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Каб пачаць абагульваць аўдыя, спачатку падключыце навушнікі LE Audio да планшэта. "<annotation id="link">"Даведацца больш пра сумяшчальныя прылады"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Каб пачаць абагульваць аўдыя, спачатку падключыце навушнікі LE Audio да прылады. "<annotation id="link">"Даведацца больш пра сумяшчальныя прылады"</annotation></string>
 </resources>
diff --git a/res-product/values-bg/strings.xml b/res-product/values-bg/strings.xml
index 5de45d5..b7225f5 100644
--- a/res-product/values-bg/strings.xml
+++ b/res-product/values-bg/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"За настройване на функцията за отключване с лице се изисква ПИН код.\n\nПИН кодът защитава телефона, ако бъде изгубен или откраднат."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"За настройване на функцията за отключване с лице се изисква фигура.\n\nФигурата защитава телефона, ако бъде изгубен или откраднат."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"За настройване на функцията за отключване с лице се изисква парола.\n\nПаролата защитава телефона, ако бъде изгубен или откраднат."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"За настройване на функциите за отключване с лице и отпечатък се изисква ПИН код.\n\nПИН кодът защитава таблета, ако бъде изгубен или откраднат."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"За настройване на функциите за отключване с лице и отпечатък се изисква фигура.\n\nФигурата защитава таблета, ако бъде изгубен или откраднат."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"За настройване на функциите за отключване с лице и отпечатък се изисква парола.\n\nПаролата защитава таблета, ако бъде изгубен или откраднат."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"За настройване на функциите за отключване с лице и отпечатък се изисква ПИН код.\n\nПИН кодът защитава устройството, ако бъде изгубено или откраднато."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"За настройване на функциите за отключване с лице и отпечатък се изисква фигура.\n\nФигурата защитава устройството, ако бъде изгубено или откраднато."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"За настройване на функциите за отключване с лице и отпечатък се изисква парола.\n\nПаролата защитава устройството, ако бъде изгубено или откраднато."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"За настройване на функциите за отключване с лице и отпечатък се изисква ПИН код.\n\nПИН кодът защитава телефона, ако бъде изгубен или откраднат."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"За настройване на функциите за отключване с лице и отпечатък се изисква фигура.\n\nФигурата защитава телефона, ако бъде изгубен или откраднат."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"За настройване на функциите за отключване с лице и отпечатък се изисква парола.\n\nПаролата защитава телефона, ако бъде изгубен или откраднат."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"За настройване на функциите за отключване с лице и отпечатък се изисква ПИН код.\n\nПИН кодът защитава таблета, ако бъде изгубен или откраднат."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"За настройване на функциите за отключване с лице и отпечатък се изисква фигура.\n\nФигурата защитава таблета, ако бъде изгубен или откраднат."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"За настройване на функциите за отключване с лице и отпечатък се изисква парола.\n\nПаролата защитава таблета, ако бъде изгубен или откраднат."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"За настройване на функциите за отключване с лице и отпечатък се изисква ПИН код.\n\nПИН кодът защитава устройството, ако бъде изгубено или откраднато."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"За настройване на функциите за отключване с лице и отпечатък се изисква фигура.\n\nФигурата защитава устройството, ако бъде изгубено или откраднато."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"За настройване на функциите за отключване с лице и отпечатък се изисква парола.\n\nПаролата защитава устройството, ако бъде изгубено или откраднато."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"За настройване на функциите за отключване с лице и отпечатък се изисква ПИН код.\n\nПИН кодът защитава телефона, ако бъде изгубен или откраднат."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"За настройване на функциите за отключване с лице и отпечатък се изисква фигура.\n\nФигурата защитава телефона, ако бъде изгубен или откраднат."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"За настройване на функциите за отключване с лице и отпечатък се изисква парола.\n\nПаролата защитава телефона, ако бъде изгубен или откраднат."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Това действие ще изтрие изображенията и модела на отпечатъка, свързани с(ъс) <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> и съхранявани на телефона ви"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Това действие ще изтрие изображенията и модела на отпечатъка, свързани с(ъс) <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> и съхранявани на таблета ви"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Това действие ще изтрие изображенията и модела на отпечатъка, свързани с(ъс) <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> и съхранявани на това устройство"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"За да слушате аудиопоток, първо свържете слушалки, които поддържат LE Audio, към този телефон."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"За да слушате аудиопоток, първо свържете слушалки, които поддържат LE Audio, към този таблет."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"За да слушате аудиопоток, първо свържете слушалки, които поддържат LE Audio, към това устройство."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"За да слушате аудиопоток, първо свържете телефона си със слушалки, които поддържат LE Audio. "<annotation id="link">"Научете повече"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"За да слушате аудиопоток, първо свържете таблета си със слушалки, които поддържат LE Audio. "<annotation id="link">"Научете повече"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"За да слушате аудиопоток, първо свържете устройството си със слушалки, които поддържат LE Audio. "<annotation id="link">"Научете повече"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Този телефон не поддържа технологията LE Audio, която е необходима за слушането на аудиопотоци."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Този таблет не поддържа технологията LE Audio, която е необходима за слушането на аудиопотоци."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Това устройство не поддържа технологията LE Audio, която е необходима за слушането на аудиопотоци."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"За да започнете да споделяте звука, първо свържете телефона си със слушалки, които поддържат LE Audio. "<annotation id="link">"Научете повече за съвместимите устройства"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"За да започнете да споделяте звука, първо свържете таблета си със слушалки, които поддържат LE Audio. "<annotation id="link">"Научете повече за съвместимите устройства"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"За да започнете да споделяте звука, първо свържете устройството си със слушалки, които поддържат LE Audio. "<annotation id="link">"Научете повече за съвместимите устройства"</annotation></string>
 </resources>
diff --git a/res-product/values-bn/strings.xml b/res-product/values-bn/strings.xml
index 1a5166c..29fc739 100644
--- a/res-product/values-bn/strings.xml
+++ b/res-product/values-bn/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"\'ফেস আনলক\' সেট আপ করতে একটি পিন প্রয়োজন।\n\nফোন হারিয়ে বা চুরি হয়ে গেলে, পিন সেটি সুরক্ষিত রাখে।"</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"\'ফেস আনলক\' সেট আপ করতে একটি প্যাটার্ন প্রয়োজন।\n\nফোন হারিয়ে বা চুরি হয়ে গেলে, প্যাটার্ন সেটি সুরক্ষিত রাখে।"</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"\'ফেস আনলক\' সেট আপ করতে একটি পাসওয়ার্ড প্রয়োজন।\n\nফোন হারিয়ে বা চুরি হয়ে গেলে, পাসওয়ার্ড সেটি সুরক্ষিত রাখে।"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"\'ফেস আনলক\' এবং \'ফিঙ্গারপ্রিন্ট আনলক\' সেট আপ করতে একটি পিন প্রয়োজন।\n\nট্যাবলেট হারিয়ে বা চুরি হয়ে গেলে, পিন সেটি সুরক্ষিত রাখে।"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"\'ফেস আনলক\' এবং \'ফিঙ্গারপ্রিন্ট আনলক\' সেট আপ করতে একটি প্যাটার্ন প্রয়োজন।\n\nট্যাবলেট হারিয়ে বা চুরি হয়ে গেলে, প্যাটার্ন সেটি সুরক্ষিত রাখে।"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"\'ফেস আনলক\' এবং \'ফিঙ্গারপ্রিন্ট আনলক\' সেট আপ করতে একটি পাসওয়ার্ড প্রয়োজন।\n\nট্যাবলেট হারিয়ে বা চুরি হয়ে গেলে, পাসওয়ার্ড সেটি সুরক্ষিত রাখে।"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"\'ফেস আনলক\' এবং \'ফিঙ্গারপ্রিন্ট আনলক\' সেট আপ করতে একটি পিন প্রয়োজন।\n\nডিভাইস হারিয়ে বা চুরি হয়ে গেলে, পিন সেটি সুরক্ষিত রাখে।"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"\'ফেস আনলক\' এবং \'ফিঙ্গারপ্রিন্ট আনলক\' সেট আপ করতে একটি প্যাটার্ন প্রয়োজন।\n\nডিভাইস হারিয়ে বা চুরি হয়ে গেলে, প্যাটার্ন সেটি সুরক্ষিত রাখে।"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"\'ফেস আনলক\' এবং \'ফিঙ্গারপ্রিন্ট আনলক\' সেট আপ করতে একটি পাসওয়ার্ড প্রয়োজন।\n\nডিভাইস হারিয়ে বা চুরি হয়ে গেলে, পাসওয়ার্ড সেটি সুরক্ষিত রাখে।"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"\'ফেস আনলক\' এবং \'ফিঙ্গারপ্রিন্ট আনলক\' সেট আপ করতে একটি পিন প্রয়োজন।\n\nফোন হারিয়ে বা চুরি হয়ে গেলে, পিন সেটি সুরক্ষিত রাখে।"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"\'ফেস আনলক\' এবং \'ফিঙ্গারপ্রিন্ট আনলক\' সেট-আপ করতে একটি প্যাটার্ন প্রয়োজন।\n\nফোন হারিয়ে বা চুরি হয়ে গেলে, প্যাটার্ন সেটি সুরক্ষিত রাখে।"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"\'ফেস আনলক\' এবং \'ফিঙ্গারপ্রিন্ট আনলক\' সেট আপ করতে একটি পাসওয়ার্ড প্রয়োজন।\n\nফোন হারিয়ে বা চুরি হয়ে গেলে, পাসওয়ার্ড সেটি সুরক্ষিত রাখে।"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"\'ফিঙ্গারপ্রিন্ট আনলক\' এবং \'ফেস আনলক\' সেট-আপ করতে পিন প্রয়োজন।\n\nট্যাবলেট হারিয়ে বা চুরি হয়ে গেলে, পিন সেটি সুরক্ষিত রাখে।"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"\'ফিঙ্গারপ্রিন্ট আনলক\' এবং \'ফেস আনলক\' সেট-আপ করতে প্যাটার্ন প্রয়োজন।\n\nট্যাবলেট হারিয়ে বা চুরি হয়ে গেলে, প্যাটার্ন সেটি সুরক্ষিত রাখে।"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"\'ফিঙ্গারপ্রিন্ট আনলক\' এবং \'ফেস আনলক\' সেট-আপ করতে পাসওয়ার্ড প্রয়োজন।\n\nট্যাবলেট হারিয়ে বা চুরি হয়ে গেলে, পাসওয়ার্ড সেটি সুরক্ষিত রাখে।"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"\'ফিঙ্গারপ্রিন্ট আনলক\' এবং \'ফেস আনলক\' সেট-আপ করতে পিন প্রয়োজন।\n\nডিভাইস হারিয়ে বা চুরি হয়ে গেলে, পিন সেটি সুরক্ষিত রাখে।"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"\'ফিঙ্গারপ্রিন্ট আনলক\' এবং \'ফেস আনলক\' সেট-আপ করতে প্যাটার্ন প্রয়োজন।\n\nডিভাইস হারিয়ে বা চুরি হয়ে গেলে, প্যাটার্ন সেটি সুরক্ষিত রাখে।"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"\'ফিঙ্গারপ্রিন্ট আনলক\' এবং \'ফেস আনলক\' সেট-আপ করতে পাসওয়ার্ড প্রয়োজন।\n\nডিভাইস হারিয়ে বা চুরি হয়ে গেলে, পাসওয়ার্ড সেটি সুরক্ষিত রাখে।"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"\'ফিঙ্গারপ্রিন্ট আনলক\' এবং \'ফেস আনলক\' সেট-আপ করতে পিন প্রয়োজন।\n\nফোন হারিয়ে বা চুরি হয়ে গেলে, পিন সেটি সুরক্ষিত রাখে।"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"\'ফিঙ্গারপ্রিন্ট আনলক\' এবং \'ফেস আনলক\' সেট-আপ করতে প্যাটার্ন প্রয়োজন।\n\nফোন হারিয়ে বা চুরি হয়ে গেলে, প্যাটার্ন সেটি সুরক্ষিত রাখে।"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"\'ফিঙ্গারপ্রিন্ট আনলক\' এবং \'ফেস আনলক\' সেট-আপ করতে পাসওয়ার্ড প্রয়োজন।\n\nফোন হারিয়ে বা চুরি হয়ে গেলে, পাসওয়ার্ড সেটি সুরক্ষিত রাখে।"</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"এটি আপনার ফোনে সেভ হয়ে থাকা \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'-এর সাথে সম্পর্কিত ফিঙ্গারপ্রিন্টের ছবি ও মডেল মুছে দেয়"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"এটি আপনার ট্যাবলেটে সেভ হয়ে থাকা ফিঙ্গারপ্রিন্টের ছবি এবং \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'-এর সাথে সম্পর্কিত অন্যান্য মডেল মুছে দেয়"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"এটি আপনার ডিভাইসে স্টোর হয়ে থাকা আঙ্গুলের ছাপের ইমেজ এবং \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'-এর সঙ্গে সম্পর্কিত অন্যান্য মডেল মুছে দেয়"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"অডিও স্ট্রিম শুনতে, প্রথমে এমন হেডফোন কানেক্ট করুন যেটি এই ফোনের LE অডিওতে কাজ করে।"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"অডিও স্ট্রিম শুনতে, প্রথমে এমন হেডফোন কানেক্ট করুন যেটি এই ট্যাবলেটের LE অডিওতে কাজ করে।"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"অডিও স্ট্রিম শুনতে, প্রথমে এমন হেডফোন কানেক্ট করুন যেটি এই ডিভাইসের LE অডিওতে কাজ করে।"</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"অডিও স্ট্রিম শুনতে, প্রথমে এমন হেডফোন কানেক্ট করুন যেটি এই ফোনের LE অডিওতে কাজ করে। "<annotation id="link">"আরও জানুন"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"অডিও স্ট্রিম শুনতে, প্রথমে এমন হেডফোন কানেক্ট করুন যেটি এই ট্যাবলেটের LE অডিওতে কাজ করে। "<annotation id="link">"আরও জানুন"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"অডিও স্ট্রিম শুনতে, প্রথমে এমন হেডফোন কানেক্ট করুন যেটি এই ডিভাইসের LE অডিওতে কাজ করে। "<annotation id="link">"আরও জানুন"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"এই ফোনে LE অডিও কাজ করে না, অডিও স্ট্রিম শোনার জন্য এটি প্রয়োজন।"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"এই ট্যাবলেটে LE অডিও কাজ করে না, অডিও স্ট্রিম শোনার জন্য এটি প্রয়োজন।"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"এই ডিভাইসে LE অডিও কাজ করে না, অডিও স্ট্রিম শোনার জন্য এটি প্রয়োজন।"</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"অডিও শেয়ার করা শুরু করতে, প্রথমে আপনার ফোনের সাথে LE অডিও হেডফোন কানেক্ট করুন। "<annotation id="link">"মানানসই ডিভাইস সম্পর্কে আরও জানুন"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"অডিও শেয়ার করা শুরু করতে, প্রথমে আপনার ট্যাবলেটের সাথে LE অডিও হেডফোন কানেক্ট করুন। "<annotation id="link">"মানানসই ডিভাইস সম্পর্কে আরও জানুন"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"অডিও শেয়ার করা শুরু করতে, প্রথমে আপনার ডিভাইসের সাথে LE অডিও হেডফোন কানেক্ট করুন। "<annotation id="link">"মানানসই ডিভাইস সম্পর্কে আরও জানুন"</annotation></string>
 </resources>
diff --git a/res-product/values-bs/strings.xml b/res-product/values-bs/strings.xml
index 33fa4a4..3209afc 100644
--- a/res-product/values-bs/strings.xml
+++ b/res-product/values-bs/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Za postavljanje otključavanja licem potreban je PIN.\n\nOn štiti telefon ako ga izgubite ili ga neko ukrade."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Za postavljanje otključavanja licem potreban je uzorak.\n\nOn štiti telefon ako ga izgubite ili ga neko ukrade."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Za postavljanje otključavanja licem potrebna je lozinka.\n\nOna štiti telefon ako ga izgubite ili ga neko ukrade."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Za postavljanje otključavanja licem i otključavanja otiskom prsta potreban je PIN.\n\nOn štiti tablet ako ga izgubite ili ga neko ukrade."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Za postavljanje otključavanja licem i otključavanja otiskom prsta potreban je uzorak.\n\nOn štiti tablet ako ga izgubite ili ga neko ukrade."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Za postavljanje otključavanja licem i otključavanja otiskom prsta potrebna je lozinka.\n\nOna štiti tablet ako ga izgubite ili ga neko ukrade."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Za postavljanje otključavanja licem i otključavanja otiskom prsta potreban je PIN.\n\nOn štiti uređaj ako ga izgubite ili ga neko ukrade."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Za postavljanje otključavanja licem i otključavanja otiskom prsta potreban je uzorak.\n\nOn štiti uređaj ako ga izgubite ili ga neko ukrade."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Za postavljanje otključavanja licem i otključavanja otiskom prsta potrebna je lozinka.\n\nOna štiti uređaj ako ga izgubite ili ga neko ukrade."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Za postavljanje otključavanja licem i otključavanja otiskom prsta potreban je PIN.\n\nOn štiti telefon ako ga izgubite ili ga neko ukrade."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Za postavljanje otključavanja licem i otključavanja otiskom prsta potreban je uzorak.\n\nOn štiti telefon ako ga izgubite ili ga neko ukrade."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Za postavljanje otključavanja licem i otključavanja otiskom prsta potrebna je lozinka.\n\nOna štiti telefon ako ga izgubite ili ga neko ukrade."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"PIN je obavezan da postavite otključavanje otiskom prsta i otključavanje licem.\n\nPIN štiti tablet u slučaju gubitka ili krađe."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Uzorak je obavezan da postavite otključavanje otiskom prsta i otključavanje licem.\n\nUzorak štiti tablet u slučaju gubitka ili krađe."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Lozinka je obavezna da postavite otključavanje otiskom prsta i otključavanje licem.\n\nLozinka štiti tablet u slučaju gubitka ili krađe."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"PIN je obavezan da postavite otključavanje otiskom prsta i otključavanje licem.\n\nPIN štiti uređaj u slučaju gubitka ili krađe."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Uzorak je obavezan da postavite otključavanje otiskom prsta i otključavanje licem.\n\nUzorak štiti uređaj u slučaju gubitka ili krađe."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Lozinka je obavezna da postavite otključavanje otiskom prsta i otključavanje licem.\n\nLozinka štiti uređaj u slučaju gubitka ili krađe."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"PIN je obavezan da postavite otključavanje otiskom prsta i otključavanje licem.\n\nPIN štiti telefon u slučaju gubitka ili krađe."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Uzorak je obavezan da postavite otključavanje otiskom prsta i otključavanje licem.\n\nUzorak štiti telefon u slučaju gubitka ili krađe."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Lozinka je obavezna da postavite otključavanje otiskom prsta i otključavanje licem.\n\nLozinka štiti telefon u slučaju gubitka ili krađe."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Ovim će se izbrisati slike i model otiska prsta koji su povezani s ID-om \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" i pohranjeni na vašem telefonu"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Ovim će se izbrisati slike i model otiska prsta koji su povezani s ID-om \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" i pohranjeni na vašem tabletu"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Ovim će se izbrisati slike i model otiska prsta koji su povezani s ID-om \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" i pohranjeni na vašem uređaju"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Da slušate prijenos zvuka, prvo s telefonom povežite slušalice koje podržavaju LE Audio."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Da slušate prijenos zvuka, prvo s tabletom povežite slušalice koje podržavaju LE Audio."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Da slušate prijenos zvuka, prvo s uređajem povežite slušalice koje podržavaju LE Audio."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Da slušate prijenos zvuka, prvo s telefonom povežite slušalice koje podržavaju LE Audio. "<annotation id="link">"Saznajte više"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Da slušate prijenos zvuka, prvo s tabletom povežite slušalice koje podržavaju LE Audio. "<annotation id="link">"Saznajte više"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Da slušate prijenos zvuka, prvo s uređajem povežite slušalice koje podržavaju LE Audio. "<annotation id="link">"Saznajte više"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Telefon ne podržava LE Audio, koji je potreban za slušanje prijenosa zvuka."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Tablet ne podržava LE Audio, koji je potreban za slušanje prijenosa zvuka."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Uređaj ne podržava LE Audio, koji je potreban za slušanje prijenosa zvuka."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Da počnete dijeliti zvuk, prvo povežite slušalice s LE Audijem s telefonom. "<annotation id="link">"Saznajte više o kompatibilnim uređajima"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Da počnete dijeliti zvuk, prvo povežite slušalice s LE Audijem s tabletom. "<annotation id="link">"Saznajte više o kompatibilnim uređajima"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Da počnete dijeliti zvuk, prvo povežite slušalice s LE Audijem s uređajem. "<annotation id="link">"Saznajte više o kompatibilnim uređajima"</annotation></string>
 </resources>
diff --git a/res-product/values-ca/strings.xml b/res-product/values-ca/strings.xml
index 9db84e0..e5ef90a 100644
--- a/res-product/values-ca/strings.xml
+++ b/res-product/values-ca/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Cal definir un PIN per configurar Desbloqueig facial.\n\nEl PIN protegeix el telèfon si es perd o te\'l roben."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Cal definir un patró per configurar Desbloqueig facial.\n\nEl patró protegeix el telèfon si es perd o te\'l roben."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Cal definir una contrasenya per configurar Desbloqueig facial.\n\nLa contrasenya protegeix el telèfon si es perd o te\'l roben."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Cal definir un PIN per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nEl PIN protegeix la tauleta si es perd o te la roben."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Cal definir un patró per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nEl patró protegeix la tauleta si es perd o te la roben."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Cal definir una contrasenya per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nLa contrasenya protegeix la tauleta si es perd o te la roben."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Cal definir un PIN per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nEl PIN protegeix el dispositiu si es perd o te\'l roben."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Cal definir un patró per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nEl patró protegeix el dispositiu si es perd o te\'l roben."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Cal definir una contrasenya per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nLa contrasenya protegeix el dispositiu si es perd o te\'l roben."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Cal definir un PIN per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nEl PIN protegeix el telèfon si es perd o te\'l roben."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Cal definir un patró per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nEl patró protegeix el telèfon si es perd o te\'l roben."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Cal definir una contrasenya per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nLa contrasenya protegeix el telèfon si es perd o te\'l roben."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Cal definir un PIN per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nEl PIN protegeix la tauleta si es perd o te la roben."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Cal definir un patró per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nEl patró protegeix la tauleta si es perd o te la roben."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Cal definir una contrasenya per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nLa contrasenya protegeix la tauleta si es perd o te la roben."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Cal definir un PIN per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nEl PIN protegeix el dispositiu si es perd o te\'l roben."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Cal definir un patró per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nEl patró protegeix el dispositiu si es perd o te\'l roben."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Cal definir una contrasenya per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nLa contrasenya protegeix el dispositiu si es perd o te\'l roben."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Cal definir un PIN per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nEl PIN protegeix el telèfon si es perd o te\'l roben."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Cal definir un patró per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nEl patró protegeix el telèfon si es perd o te\'l roben."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Cal definir una contrasenya per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nLa contrasenya protegeix el telèfon si es perd o te\'l roben."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Aquesta acció suprimeix les imatges i el model d\'empremta digital associats a <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> que estan emmagatzemats al teu telèfon"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Aquesta acció suprimeix les imatges i el model d\'empremta digital associats a <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> que estan emmagatzemats a la teva tauleta"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Aquesta acció suprimeix les imatges i el model d\'empremta digital associats a <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> que estan emmagatzemats al teu dispositiu"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Per escoltar un flux d\'àudio, primer connecta a aquest telèfon auriculars que admetin LE Audio."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Per escoltar un flux d\'àudio, primer connecta a aquesta tauleta auriculars que admetin LE Audio."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Per escoltar un flux d\'àudio, primer connecta a aquest dispositiu auriculars que admetin LE Audio."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Per escoltar un flux d\'àudio, primer connecta a aquest telèfon auriculars que admetin LE Audio. "<annotation id="link">"Més informació"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Per escoltar un flux d\'àudio, primer connecta a aquesta tauleta auriculars que admetin LE Audio. "<annotation id="link">"Més informació"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Per escoltar un flux d\'àudio, primer connecta a aquest dispositiu auriculars que admetin LE Audio. "<annotation id="link">"Més informació"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Aquest telèfon no admet LE Audio, que és necessari per escoltar fluxos d\'àudio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Aquesta tauleta no admet LE Audio, que és necessari per escoltar fluxos d\'àudio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Aquest dispositiu no admet LE Audio, que és necessari per escoltar fluxos d\'àudio."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Per començar a compartir àudio, primer connecta els auriculars LE Audio al telèfon. "<annotation id="link">"Més informació sobre els dispositius compatibles"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Per començar a compartir àudio, primer connecta els auriculars LE Audio a la tauleta. "<annotation id="link">"Més informació sobre els dispositius compatibles"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Per començar a compartir àudio, primer connecta els auriculars LE Audio al dispositiu. "<annotation id="link">"Més informació sobre els dispositius compatibles"</annotation></string>
 </resources>
diff --git a/res-product/values-cs/strings.xml b/res-product/values-cs/strings.xml
index 8502c24..c087710 100644
--- a/res-product/values-cs/strings.xml
+++ b/res-product/values-cs/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"K nastavení odemknutí obličejem je vyžadován PIN.\n\nPIN chrání telefon v případě ztráty nebo odcizení."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"K nastavení odemknutí obličejem je vyžadováno gesto.\n\nGesto chrání telefon v případě ztráty nebo odcizení."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"K nastavení odemknutí obličejem je vyžadováno heslo.\n\nHeslo chrání telefon v případě ztráty nebo odcizení."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"K nastavení odemknutí obličejem a odemknutí otiskem prstu je vyžadován PIN.\n\nPIN chrání tablet v případě ztráty nebo odcizení."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"K nastavení odemknutí obličejem a odemknutí otiskem prstu je vyžadováno gesto.\n\nGesto chrání tablet v případě ztráty nebo odcizení."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"K nastavení odemknutí obličejem a odemknutí otiskem prstu je vyžadováno heslo.\n\nHeslo chrání tablet v případě ztráty nebo odcizení."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"K nastavení odemknutí obličejem a odemknutí otiskem prstu je vyžadován PIN.\n\nPIN chrání zařízení v případě ztráty nebo odcizení."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"K nastavení odemknutí obličejem a odemknutí otiskem prstu je vyžadováno gesto.\n\nGesto chrání zařízení v případě ztráty nebo odcizení."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"K nastavení odemknutí obličejem a odemknutí otiskem prstu je vyžadováno heslo.\n\nHeslo chrání zařízení v případě ztráty nebo odcizení."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"K nastavení odemknutí obličejem a odemknutí otiskem prstu je vyžadován PIN.\n\nPIN chrání telefon v případě ztráty nebo odcizení."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"K nastavení odemknutí obličejem a odemknutí otiskem prstu je vyžadováno gesto.\n\nGesto chrání telefon v případě ztráty nebo odcizení."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"K nastavení odemknutí obličejem a odemknutí otiskem prstu je vyžadováno heslo.\n\nHeslo chrání telefon v případě ztráty nebo odcizení."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"K nastavení odemknutí otiskem prstu nebo obličejem je vyžadován PIN.\n\nPIN chrání tablet v případě ztráty nebo odcizení."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"K nastavení odemknutí otiskem prstu nebo obličejem je vyžadováno gesto.\n\nGesto chrání tablet v případě ztráty nebo odcizení."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"K nastavení odemknutí otiskem prstu nebo obličejem je vyžadováno heslo.\n\nHeslo chrání tablet v případě ztráty nebo odcizení."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"K nastavení odemknutí otiskem prstu nebo obličejem je vyžadován PIN.\n\nPIN chrání zařízení v případě ztráty nebo odcizení."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"K nastavení odemknutí otiskem prstu nebo obličejem je vyžadováno gesto.\n\nGesto chrání zařízení v případě ztráty nebo odcizení."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"K nastavení odemknutí otiskem prstu nebo obličejem je vyžadováno heslo.\n\nHeslo chrání zařízení v případě ztráty nebo odcizení."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"K nastavení odemknutí otiskem prstu nebo obličejem je vyžadován PIN.\n\nPIN chrání telefon v případě ztráty nebo odcizení."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"K nastavení odemknutí otiskem prstu nebo obličejem je vyžadováno gesto.\n\nGesto chrání telefon v případě ztráty nebo odcizení."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"K nastavení odemknutí otiskem prstu nebo obličejem je vyžadováno heslo.\n\nHeslo chrání telefon v případě ztráty nebo odcizení."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Touto akcí smažete snímky a model otisků prstů pro „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“, které jsou uloženy ve vašem telefonu."</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Touto akcí vymažete snímky a model otisků prstů pro „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“, které jsou uloženy ve vašem tabletu"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Touto akcí vymažete snímky a model otisku prstu pro „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“, které jsou uloženy ve vašem zařízení"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Pokud chcete poslouchat zvukový stream, nejdříve k tomuto telefonu připojte sluchátka, která podporují LE Audio."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Pokud chcete poslouchat zvukový stream, nejdříve k tomuto tabletu připojte sluchátka, která podporují LE Audio."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Pokud chcete poslouchat zvukový stream, nejdříve k tomuto zařízení připojte sluchátka, která podporují LE Audio."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Pokud chcete poslouchat zvukový stream, nejdříve k tomuto telefonu připojte sluchátka, která podporují LE Audio. "<annotation id="link">"Další informace"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Pokud chcete poslouchat zvukový stream, nejdříve k tomuto tabletu připojte sluchátka, která podporují LE Audio. "<annotation id="link">"Další informace"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Pokud chcete poslouchat zvukový stream, nejdříve k tomuto zařízení připojte sluchátka, která podporují LE Audio. "<annotation id="link">"Další informace"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Tento telefon nepodporuje protokol LE Audio, který je k poslechu zvukových streamů potřeba."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Tento tablet nepodporuje protokol LE Audio, který je k poslechu zvukových streamů potřeba."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Toto zařízení nepodporuje protokol LE Audio, který je k poslechu zvukových streamů potřeba."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Pokud chcete zahájit sdílení zvuku, nejdřív k telefonu připojte sluchátka LE Audio. "<annotation id="link">"Další informace o kompatibilních zařízeních"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Pokud chcete zahájit sdílení zvuku, nejdřív k tabletu připojte sluchátka LE Audio "<annotation id="link">"Další informace o kompatibilních zařízeních"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Pokud chcete zahájit sdílení zvuku, nejdřív k zařízení připojte sluchátka LE Audio "<annotation id="link">"Další informace o kompatibilních zařízeních"</annotation></string>
 </resources>
diff --git a/res-product/values-da/strings.xml b/res-product/values-da/strings.xml
index d46edcf..5d01864 100644
--- a/res-product/values-da/strings.xml
+++ b/res-product/values-da/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Du skal angive en pinkode for at konfigurere ansigtsoplåsning.\n\nEn pinkode beskytter telefonen, hvis den bliver væk eller stjålet."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Du skal angive et mønster for at konfigurere ansigtsoplåsning.\n\nEt mønster beskytter telefonen, hvis den bliver væk eller stjålet."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Du skal angive en adgangskode for at konfigurere ansigtsoplåsning.\n\nEn adgangskode beskytter telefonen, hvis den bliver væk eller stjålet."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Du skal angive en pinkode for at konfigurere ansigts- og fingeroplåsning.\n\nEn pinkode beskytter din tablet, hvis den bliver væk eller stjålet."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Du skal angive et mønster for at konfigurere ansigts- og fingeroplåsning.\n\nEt mønster beskytter din tablet, hvis den bliver væk eller stjålet."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Du skal angive en adgangskode for at konfigurere ansigts- og fingeroplåsning.\n\nEn adgangskode beskytter din tablet, hvis den bliver væk eller stjålet."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Du skal angive en pinkode for at konfigurere ansigts- og fingeroplåsning.\n\nEn pinkode beskytter enheden, hvis den bliver væk eller stjålet."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Du skal angive et mønster for at konfigurere ansigts- og fingeroplåsning.\n\nEt mønster beskytter enheden, hvis den bliver væk eller stjålet."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Du skal angive en adgangskode for at konfigurere ansigts- og fingeroplåsning.\n\nEn adgangskode beskytter enheden, hvis den bliver væk eller stjålet."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Du skal angive en pinkode for at konfigurere ansigts- og fingeroplåsning.\n\nEn pinkode beskytter telefonen, hvis den bliver væk eller stjålet."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Du skal angive et mønster for at konfigurere ansigts- og fingeroplåsning.\n\nEt mønster beskytter telefonen, hvis den bliver væk eller stjålet."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Du skal angive en adgangskode for at konfigurere ansigts- og fingeroplåsning.\n\nEn adgangskode beskytter telefonen, hvis den bliver væk eller stjålet."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Du skal angive en pinkode for at konfigurere finger- og ansigtsoplåsning\n\nEn pinkode beskytter din tablet, hvis den bliver væk eller stjålet."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Du skal angive et mønster for at konfigurere finger- og ansigtsoplåsning.\n\nEt mønster beskytter din tablet, hvis den bliver væk eller stjålet."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Du skal angive en adgangskode for at konfigurere finger- og ansigtsoplåsning.\n\nEn adgangskode beskytter din tablet, hvis den bliver væk eller stjålet."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Du skal angive en pinkode for at konfigurere finger- og ansigtsoplåsning.\n\nEn pinkode beskytter enheden, hvis den bliver væk eller stjålet."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Du skal angive et mønster for at konfigurere finger- og ansigtsoplåsning.\n\nEt mønster beskytter enheden, hvis den bliver væk eller stjålet."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Du skal angive en adgangskode for at konfigurere finger- og ansigtsoplåsning.\n\nEn adgangskode beskytter enheden, hvis den bliver væk eller stjålet."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Du skal angive en pinkode for at konfigurere finger- og ansigtsoplåsning.\n\nEn pinkode beskytter telefonen, hvis den bliver væk eller stjålet."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Du skal angive et mønster for at konfigurere finger- og ansigtsoplåsning.\n\nEt mønster beskytter telefonen, hvis den bliver væk eller stjålet."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Du skal angive en adgangskode for at konfigurere finger- og ansigtsoplåsning.\n\nEn adgangskode beskytter telefonen, hvis den bliver væk eller stjålet."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Dette sletter de fingeraftryksbilleder og den fingeraftryksmodel, der er knyttet til \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\", og som er gemt på din telefon"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Dette sletter de fingeraftryksbilleder og den fingeraftryksmodel, der er knyttet til \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\", og som er gemt på din tablet"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Dette sletter de fingeraftryksbilleder og den fingeraftryksmodel, der er knyttet til \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\", og som er gemt på din enhed"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Hvis du vil lytte til en lydstream, skal du først forbinde høretelefoner, der understøtter LE-lyd, til denne telefon."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Hvis du vil lytte til en lydstream, skal du først forbinde høretelefoner, der understøtter LE-lyd, til denne tablet."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Hvis du vil lytte til en lydstream, skal du først forbinde høretelefoner, der understøtter LE-lyd, til denne enhed."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Hvis du vil lytte til en lydstream, skal du først forbinde høretelefoner, der understøtter LE-lyd, til denne telefon. "<annotation id="link">"Få flere oplysninger"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Hvis du vil lytte til en lydstream, skal du først forbinde høretelefoner, der understøtter LE-lyd, til denne tablet. "<annotation id="link">"Få flere oplysninger"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Hvis du vil lytte til en lydstream, skal du først forbinde høretelefoner, der understøtter LE-lyd, til denne enhed. "<annotation id="link">"Få flere oplysninger"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Denne telefon understøtter ikke LE-lyd, som er påkrævet for at lytte til lydstreams."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Denne tablet understøtter ikke LE-lyd, som er påkrævet for at lytte til lydstreams."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Denne enhed understøtter ikke LE-lyd, som er påkrævet for at lytte til lydstreams."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Hvis du vil dele lyd, skal du først forbinde LE Audio-høretelefoner til din telefon. "<annotation id="link">"Få flere oplysninger om kompatible enheder"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Hvis du vil dele lyd, skal du først forbinde LE Audio-høretelefoner til din tablet. "<annotation id="link">"Få flere oplysninger om kompatible enheder"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Hvis du vil dele lyd, skal du først forbinde LE Audio-høretelefoner til din enhed. "<annotation id="link">"Få flere oplysninger om kompatible enheder"</annotation></string>
 </resources>
diff --git a/res-product/values-de/strings.xml b/res-product/values-de/strings.xml
index 108e56f..540aac8 100644
--- a/res-product/values-de/strings.xml
+++ b/res-product/values-de/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Zum Einrichten der Entsperrung per Gesichtserkennung ist eine PIN erforderlich.\n\nEine PIN schützt das Smartphone, falls es verloren geht oder gestohlen wird."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Zum Einrichten der Entsperrung per Gesichtserkennung ist ein Muster erforderlich.\n\nEin Muster schützt das Smartphone, falls es verloren geht oder gestohlen wird."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Zum Einrichten der Entsperrung per Gesichtserkennung ist ein Passwort erforderlich.\n\nEin Passwort schützt das Smartphone, falls es verloren geht oder gestohlen wird."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Zum Einrichten der Entsperrung per Gesichtserkennung und der Entsperrung per Fingerabdruck ist eine PIN erforderlich.\n\nEine PIN schützt das Tablet, falls es verloren geht oder gestohlen wird."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Zum Einrichten der Entsperrung per Gesichtserkennung und der Entsperrung per Fingerabdruck ist ein Muster erforderlich.\n\nEin Muster schützt das Tablet, falls es verloren geht oder gestohlen wird."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Zum Einrichten der Entsperrung per Gesichtserkennung und der Entsperrung per Fingerabdruck ist ein Passwort erforderlich.\n\nEin Passwort schützt das Tablet, falls es verloren geht oder gestohlen wird."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Zum Einrichten der Entsperrung per Gesichtserkennung und der Entsperrung per Fingerabdruck ist eine PIN erforderlich.\n\nEine PIN schützt das Gerät, falls es verloren geht oder gestohlen wird."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Zum Einrichten der Entsperrung per Gesichtserkennung und der Entsperrung per Fingerabdruck ist ein Muster erforderlich.\n\nEin Muster schützt das Gerät, falls es verloren geht oder gestohlen wird."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Zum Einrichten der Entsperrung per Gesichtserkennung und der Entsperrung per Fingerabdruck ist ein Passwort erforderlich.\n\nEin Passwort schützt das Gerät, falls es verloren geht oder gestohlen wird."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Zum Einrichten der Entsperrung per Gesichtserkennung und der Entsperrung per Fingerabdruck ist eine PIN erforderlich.\n\nEine PIN schützt das Smartphone, falls es verloren geht oder gestohlen wird."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Zum Einrichten der Entsperrung per Gesichtserkennung und der Entsperrung per Fingerabdruck ist ein Muster erforderlich.\n\nEin Muster schützt das Smartphone, falls es verloren geht oder gestohlen wird."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Zum Einrichten der Entsperrung per Gesichtserkennung und der Entsperrung per Fingerabdruck ist ein Passwort erforderlich.\n\nEin Passwort schützt das Smartphone, falls es verloren geht oder gestohlen wird."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Zum Einrichten der Entsperrung per Fingerabdruck und der Entsperrung per Gesichtserkennung ist eine PIN erforderlich.\n\nEine PIN schützt das Tablet, falls es verloren geht oder gestohlen wird."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Zum Einrichten der Entsperrung per Fingerabdruck und der Entsperrung per Gesichtserkennung ist ein Muster erforderlich.\n\nEin Muster schützt das Tablet, falls es verloren geht oder gestohlen wird."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Zum Einrichten der Entsperrung per Fingerabdruck und der Entsperrung per Gesichtserkennung ist ein Passwort erforderlich.\n\nEin Passwort schützt das Tablet, falls es verloren geht oder gestohlen wird."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Zum Einrichten der Entsperrung per Fingerabdruck und der Entsperrung per Gesichtserkennung ist eine PIN erforderlich.\n\nEine PIN schützt das Gerät, falls es verloren geht oder gestohlen wird."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Zum Einrichten der Entsperrung per Fingerabdruck und der Entsperrung per Gesichtserkennung ist ein Muster erforderlich.\n\nEin Muster schützt das Gerät, falls es verloren geht oder gestohlen wird."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Zum Einrichten der Entsperrung per Fingerabdruck und der Entsperrung per Gesichtserkennung ist ein Passwort erforderlich.\n\nEin Passwort schützt das Gerät, falls es verloren geht oder gestohlen wird."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Zum Einrichten der Entsperrung per Fingerabdruck und der Entsperrung per Gesichtserkennung ist eine PIN erforderlich.\n\nEine PIN schützt das Smartphone, falls es verloren geht oder gestohlen wird."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Zum Einrichten der Entsperrung per Fingerabdruck und der Entsperrung per Gesichtserkennung ist ein Muster erforderlich.\n\nEin Muster schützt das Smartphone, falls es verloren geht oder gestohlen wird."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Zum Einrichten der Entsperrung per Fingerabdruck und der Entsperrung per Gesichtserkennung ist ein Passwort erforderlich.\n\nEin Passwort schützt das Smartphone, falls es verloren geht oder gestohlen wird."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Dadurch werden die Aufnahmen und das Modell des Fingerabdrucks für „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ gelöscht, die auf deinem Smartphone gespeichert sind"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Dadurch werden die Aufnahmen und das Modell des Fingerabdrucks für „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ gelöscht, die auf deinem Tablet gespeichert sind"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Dadurch werden die Aufnahmen und das Modell des Fingerabdruck für „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ gelöscht, die auf deinem Gerät gespeichert sind"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Wenn du einen Audiostream anhören möchtest, verbinde zuerst LE Audio-Kopfhörer mit diesem Smartphone."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Wenn du einen Audiostream anhören möchtest, verbinde zuerst LE Audio-Kopfhörer mit diesem Tablet."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Wenn du einen Audiostream anhören möchtest, verbinde zuerst LE Audio-Kopfhörer mit diesem Gerät."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Wenn du einen Audiostream anhören möchtest, verbinde zuerst LE Audio-Kopfhörer mit diesem Smartphone. "<annotation id="link">"Weitere Informationen"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Wenn du einen Audiostream anhören möchtest, verbinde zuerst LE Audio-Kopfhörer mit diesem Tablet. "<annotation id="link">"Weitere Informationen"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Wenn du einen Audiostream anhören möchtest, verbinde zuerst LE Audio-Kopfhörer mit diesem Gerät. "<annotation id="link">"Weitere Informationen"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Auf diesem Smartphone wird LE Audio nicht unterstützt, was jedoch benötigt wird, um Audiostreams anzuhören."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Auf diesem Tablet wird LE Audio nicht unterstützt, was jedoch benötigt wird, um Audiostreams anzuhören."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Dein Gerät unterstützt kein LE Audio. Daher kannst du dir leider keine Audiostreams anhören."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Wenn du Audioinhalte freigeben möchtest, verbinde zuerst LE Audio-Kopfhörer mit deinem Smartphone. "<annotation id="link">"Weitere Informationen zu kompatiblen Geräten"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Wenn du Audioinhalte freigeben möchtest, verbinde zuerst LE Audio-Kopfhörer mit deinem Tablet. "<annotation id="link">"Weitere Informationen zu kompatiblen Geräten"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Wenn du Audioinhalte freigeben möchtest, verbinde zuerst LE Audio-Kopfhörer mit deinem Gerät. "<annotation id="link">"Weitere Informationen zu kompatiblen Geräten"</annotation></string>
 </resources>
diff --git a/res-product/values-el/strings.xml b/res-product/values-el/strings.xml
index a36b81c..0245c5a 100644
--- a/res-product/values-el/strings.xml
+++ b/res-product/values-el/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Απαιτείται PIN για τη ρύθμιση της λειτουργίας Ξεκλείδωμα με το πρόσωπο.\n\nΤο PIN προστατεύει το τηλέφωνο σε περίπτωση απώλειας ή κλοπής."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Απαιτείται μοτίβο για τη ρύθμιση της λειτουργίας Ξεκλείδωμα με το πρόσωπο.\n\nΤο μοτίβο προστατεύει το τηλέφωνο σε περίπτωση απώλειας ή κλοπής."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Απαιτείται κωδικός πρόσβασης για τη ρύθμιση της λειτουργίας Ξεκλείδωμα με το πρόσωπο.\n\nΟ κωδικός πρόσβασης προστατεύει το τηλέφωνο σε περίπτωση απώλειας ή κλοπής."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Απαιτείται PIN για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με το πρόσωπο και Ξεκλείδωμα με δακτυλικό αποτύπωμα.\n\nΤο PIN προστατεύει το tablet σε περίπτωση απώλειας ή κλοπής."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Απαιτείται μοτίβο για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με το πρόσωπο και Ξεκλείδωμα με δακτυλικό αποτύπωμα.\n\nΤο μοτίβο προστατεύει το tablet σε περίπτωση απώλειας ή κλοπής."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Απαιτείται κωδικός πρόσβασης για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με το πρόσωπο και Ξεκλείδωμα με δακτυλικό αποτύπωμα.\n\nΟ κωδικός πρόσβασης προστατεύει το tablet σε περίπτωση απώλειας ή κλοπής."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Απαιτείται PIN για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με το πρόσωπο και Ξεκλείδωμα με δακτυλικό αποτύπωμα.\n\nΤο PIN προστατεύει τη συσκευή σε περίπτωση απώλειας ή κλοπής."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Απαιτείται μοτίβο για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με το πρόσωπο και Ξεκλείδωμα με δακτυλικό αποτύπωμα.\n\nΤο μοτίβο προστατεύει τη συσκευή σε περίπτωση απώλειας ή κλοπής."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Απαιτείται κωδικός πρόσβασης για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με το πρόσωπο και Ξεκλείδωμα με δακτυλικό αποτύπωμα.\n\nΟ κωδικός πρόσβασης προστατεύει τη συσκευή σε περίπτωση απώλειας ή κλοπής."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Απαιτείται PIN για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με το πρόσωπο και Ξεκλείδωμα με δακτυλικό αποτύπωμα.\n\nΤο PIN προστατεύει το τηλέφωνο σε περίπτωση απώλειας ή κλοπής."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Απαιτείται μοτίβο για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με το πρόσωπο και Ξεκλείδωμα με δακτυλικό αποτύπωμα.\n\nΤο μοτίβο προστατεύει το τηλέφωνο σε περίπτωση απώλειας ή κλοπής."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Απαιτείται κωδικός πρόσβασης για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με το πρόσωπο και Ξεκλείδωμα με δακτυλικό αποτύπωμα.\n\nΟ κωδικός πρόσβασης προστατεύει το τηλέφωνο σε περίπτωση απώλειας ή κλοπής."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Απαιτείται PIN για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με δακτυλικό αποτύπωμα και Ξεκλείδωμα με το πρόσωπο.\n\nΤο PIN προστατεύει το tablet σε περίπτωση απώλειας ή κλοπής."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Απαιτείται μοτίβο για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με δακτυλικό αποτύπωμα και Ξεκλείδωμα με το πρόσωπο.\n\nΤο μοτίβο προστατεύει το tablet σε περίπτωση απώλειας ή κλοπής."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Απαιτείται κωδικός πρόσβασης για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με δακτυλικό αποτύπωμα και Ξεκλείδωμα με το πρόσωπο.\n\nΟ κωδικός πρόσβασης προστατεύει το tablet σε περίπτωση απώλειας ή κλοπής."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Απαιτείται PIN για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με δακτυλικό αποτύπωμα και Ξεκλείδωμα με το πρόσωπο.\n\nΤο PIN προστατεύει τη συσκευή σε περίπτωση απώλειας ή κλοπής."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Απαιτείται μοτίβο για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με δακτυλικό αποτύπωμα και Ξεκλείδωμα με το πρόσωπο.\n\nΤο μοτίβο προστατεύει τη συσκευή σε περίπτωση απώλειας ή κλοπής."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Απαιτείται κωδικός πρόσβασης για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με δακτυλικό αποτύπωμα και Ξεκλείδωμα με το πρόσωπο.\n\nΟ κωδικός πρόσβασης προστατεύει τη συσκευή σε περίπτωση απώλειας ή κλοπής."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Απαιτείται PIN για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με δακτυλικό αποτύπωμα και Ξεκλείδωμα με το πρόσωπο.\n\nΤο PIN προστατεύει το τηλέφωνο σε περίπτωση απώλειας ή κλοπής."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Απαιτείται μοτίβο για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με δακτυλικό αποτύπωμα και Ξεκλείδωμα με το πρόσωπο.\n\nΤο μοτίβο προστατεύει το τηλέφωνο σε περίπτωση απώλειας ή κλοπής."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Απαιτείται κωδικός πρόσβασης για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με δακτυλικό αποτύπωμα και Ξεκλείδωμα με το πρόσωπο.\n\nΟ κωδικός πρόσβασης προστατεύει το τηλέφωνο σε περίπτωση απώλειας ή κλοπής."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Με αυτόν τον τρόπο διαγράφονται οι εικόνες και το μοντέλο δακτυλικού αποτυπώματος που έχουν αποθηκευτεί στο τηλέφωνό σας και συσχετίζονται με το <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Με αυτόν τον τρόπο διαγράφονται οι εικόνες και το μοντέλο δακτυλικού αποτυπώματος που έχουν αποθηκευτεί στο tablet και συσχετίζονται με το <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Με αυτόν τον τρόπο διαγράφονται οι εικόνες και το μοντέλο δακτυλικού αποτυπώματος που έχουν αποθηκευτεί στη συσκευή σας και συσχετίζονται με το <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Για να ακούσετε μια ροή ήχου, αρχικά, συνδέστε τα ακουστικά που υποστηρίζουν LE Audio σε αυτό το τηλέφωνο."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Για να ακούσετε μια ροή ήχου, αρχικά, συνδέστε τα ακουστικά που υποστηρίζουν LE Audio σε αυτό το tablet."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Για να ακούσετε μια ροή ήχου, αρχικά, συνδέστε τα ακουστικά που υποστηρίζουν LE Audio σε αυτή τη συσκευή."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Για να ακούσετε μια ροή ήχου, συνδέστε πρώτα τα ακουστικά που υποστηρίζουν LE Audio σε αυτό το τηλέφωνο. "<annotation id="link">"Μάθετε περισσότερα"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Για να ακούσετε μια ροή ήχου, συνδέστε πρώτα τα ακουστικά που υποστηρίζουν LE Audio σε αυτό το tablet. "<annotation id="link">"Μάθετε περισσότερα"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Για να ακούσετε μια ροή ήχου, συνδέστε πρώτα τα ακουστικά που υποστηρίζουν LE Audio σε αυτή τη συσκευή. "<annotation id="link">"Μάθετε περισσότερα"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Αυτό το τηλέφωνο δεν υποστηρίζει LE Audio, το οποίο απαιτείται για την ακρόαση ροών ήχου."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Αυτό το tablet δεν υποστηρίζει LE Audio, το οποίο απαιτείται για την ακρόαση ροών ήχου."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Αυτή η συσκευή δεν υποστηρίζει LE Audio, το οποίο απαιτείται για την ακρόαση ροών ήχου."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Για να ξεκινήσετε την κοινή χρήση ήχου, συνδέστε πρώτα ακουστικά LE Audio στο τηλέφωνό σας. "<annotation id="link">"Μάθετε περισσότερα σχετικά με τις συμβατές συσκευές"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Για να ξεκινήσετε την κοινή χρήση ήχου, συνδέστε πρώτα ακουστικά LE Audio στο tablet σας. "<annotation id="link">"Μάθετε περισσότερα σχετικά με τις συμβατές συσκευές"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Για να ξεκινήσετε την κοινή χρήση ήχου, συνδέστε πρώτα ακουστικά LE Audio στη συσκευή σας. "<annotation id="link">"Μάθετε περισσότερα σχετικά με τις συμβατές συσκευές"</annotation></string>
 </resources>
diff --git a/res-product/values-en-rAU/strings.xml b/res-product/values-en-rAU/strings.xml
index 92368e4..45c9466 100644
--- a/res-product/values-en-rAU/strings.xml
+++ b/res-product/values-en-rAU/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"A PIN is required to set up Face Unlock.\n\nA PIN protects the phone if it’s lost or stolen."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"A pattern is required to set up Face Unlock.\n\nA pattern protects the phone if it’s lost or stolen."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"A password is required to set up Face Unlock.\n\nA password protects the phone if it’s lost or stolen."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the tablet if it’s lost or stolen."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the tablet if it’s lost or stolen."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the tablet if it’s lost or stolen."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the device if it’s lost or stolen."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the device if it’s lost or stolen."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the device if it’s lost or stolen."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the phone if it’s lost or stolen."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the phone if it’s lost or stolen."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the phone if it’s lost or stolen."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the tablet if it\'s lost or stolen."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the tablet if it\'s lost or stolen."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the tablet if it\'s lost or stolen."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the device if it\'s lost or stolen."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the device if it\'s lost or stolen."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the device if it\'s lost or stolen."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the phone if it\'s lost or stolen."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the phone if it\'s lost or stolen."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the phone if it\'s lost or stolen."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your phone"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your tablet"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your device"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"To listen to an audio stream, first connect headphones that support LE Audio to this phone."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"To listen to an audio stream, first connect headphones that support LE Audio to this tablet."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"To listen to an audio stream, first connect headphones that support LE Audio to this device."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"To listen to an audio stream, first connect headphones that support LE Audio to this phone. "<annotation id="link">"Learn more"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"To listen to an audio stream, first connect headphones that support LE Audio to this tablet. "<annotation id="link">"Learn more"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"To listen to an audio stream, first connect headphones that support LE Audio to this device. "<annotation id="link">"Learn more"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"This phone doesn\'t support LE Audio, which is needed to listen to audio streams."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"This tablet doesn\'t support LE Audio, which is needed to listen to audio streams."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"This device doesn\'t support LE Audio, which is needed to listen to audio streams."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"To start sharing audio, first connect LE Audio headphones to your phone. "<annotation id="link">"Learn more about compatible devices"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"To start sharing audio, first connect LE Audio headphones to your tablet. "<annotation id="link">"Learn more about compatible devices"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"To start sharing audio, first connect LE Audio headphones to your device. "<annotation id="link">"Learn more about compatible devices"</annotation></string>
 </resources>
diff --git a/res-product/values-en-rCA/strings.xml b/res-product/values-en-rCA/strings.xml
index fb30906..5a03a45 100644
--- a/res-product/values-en-rCA/strings.xml
+++ b/res-product/values-en-rCA/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"A PIN is required to set up Face Unlock.\n\nA PIN protects the phone if it\'s lost or stolen."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"A pattern is required to set up Face Unlock.\n\nA pattern protects the phone if it\'s lost or stolen."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"A password is required to set up Face Unlock.\n\nA password protects the phone if it\'s lost or stolen."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the tablet if it\'s lost or stolen."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the tablet if it\'s lost or stolen."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the tablet if it\'s lost or stolen."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the device if it\'s lost or stolen."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the device if it\'s lost or stolen."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the device if it\'s lost or stolen."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the phone if it\'s lost or stolen."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the phone if it\'s lost or stolen."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the phone if it\'s lost or stolen."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the tablet if it’s lost or stolen."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the tablet if it’s lost or stolen."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the tablet if it’s lost or stolen."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the device if it’s lost or stolen."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the device if it’s lost or stolen."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the device if it’s lost or stolen."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the phone if it’s lost or stolen."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the phone if it’s lost or stolen."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the phone if it’s lost or stolen."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your phone"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your tablet"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your device"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"To listen to an audio stream, first connect headphones that support LE Audio to this phone."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"To listen to an audio stream, first connect headphones that support LE Audio to this tablet."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"To listen to an audio stream, first connect headphones that support LE Audio to this device."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"To listen to an audio stream, first connect headphones that support LE Audio to this phone. "<annotation id="link">"Learn more"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"To listen to an audio stream, first connect headphones that support LE Audio to this tablet. "<annotation id="link">"Learn more"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"To listen to an audio stream, first connect headphones that support LE Audio to this device. "<annotation id="link">"Learn more"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"This phone doesn\'t support LE Audio, which is needed to listen to audio streams."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"This tablet doesn\'t support LE Audio, which is needed to listen to audio streams."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"This device doesn\'t support LE Audio, which is needed to listen to audio streams."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"To start sharing audio, first connect LE Audio headphones to your phone. "<annotation id="link">"Learn more about compatible devices"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"To start sharing audio, first connect LE Audio headphones to your tablet. "<annotation id="link">"Learn more about compatible devices"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"To start sharing audio, first connect LE Audio headphones to your device. "<annotation id="link">"Learn more about compatible devices"</annotation></string>
 </resources>
diff --git a/res-product/values-en-rGB/strings.xml b/res-product/values-en-rGB/strings.xml
index a047137..b99e4da 100644
--- a/res-product/values-en-rGB/strings.xml
+++ b/res-product/values-en-rGB/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"A PIN is required to set up Face Unlock.\n\nA PIN protects the phone if it’s lost or stolen."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"A pattern is required to set up Face Unlock.\n\nA pattern protects the phone if it’s lost or stolen."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"A password is required to set up Face Unlock.\n\nA password protects the phone if it’s lost or stolen."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the tablet if it’s lost or stolen."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the tablet if it’s lost or stolen."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the tablet if it’s lost or stolen."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the device if it’s lost or stolen."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the device if it’s lost or stolen."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the device if it’s lost or stolen."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the phone if it’s lost or stolen."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the phone if it’s lost or stolen."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the phone if it’s lost or stolen."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the tablet if it\'s lost or stolen."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the tablet if it\'s lost or stolen."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the tablet if it\'s lost or stolen."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the device if it\'s lost or stolen."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the device if it\'s lost or stolen."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the device if it\'s lost or stolen."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the phone if it\'s lost or stolen."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the phone if it\'s lost or stolen."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the phone if it\'s lost or stolen."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your phone"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your tablet"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your device"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"To listen to an audio stream, first connect headphones that support LE Audio to this phone."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"To listen to an audio stream, first connect headphones that support LE Audio to this tablet."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"To listen to an audio stream, first connect headphones that support LE Audio to this device."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"To listen to an audio stream, first connect headphones that support LE Audio to this phone. "<annotation id="link">"Learn more"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"To listen to an audio stream, first connect headphones that support LE Audio to this tablet. "<annotation id="link">"Learn more"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"To listen to an audio stream, first connect headphones that support LE Audio to this device. "<annotation id="link">"Learn more"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"This phone doesn\'t support LE Audio, which is needed to listen to audio streams."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"This tablet doesn\'t support LE Audio, which is needed to listen to audio streams."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"This device doesn\'t support LE Audio, which is needed to listen to audio streams."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"To start sharing audio, first connect LE Audio headphones to your phone. "<annotation id="link">"Learn more about compatible devices"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"To start sharing audio, first connect LE Audio headphones to your tablet. "<annotation id="link">"Learn more about compatible devices"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"To start sharing audio, first connect LE Audio headphones to your device. "<annotation id="link">"Learn more about compatible devices"</annotation></string>
 </resources>
diff --git a/res-product/values-en-rIN/strings.xml b/res-product/values-en-rIN/strings.xml
index a047137..b99e4da 100644
--- a/res-product/values-en-rIN/strings.xml
+++ b/res-product/values-en-rIN/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"A PIN is required to set up Face Unlock.\n\nA PIN protects the phone if it’s lost or stolen."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"A pattern is required to set up Face Unlock.\n\nA pattern protects the phone if it’s lost or stolen."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"A password is required to set up Face Unlock.\n\nA password protects the phone if it’s lost or stolen."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the tablet if it’s lost or stolen."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the tablet if it’s lost or stolen."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the tablet if it’s lost or stolen."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the device if it’s lost or stolen."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the device if it’s lost or stolen."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the device if it’s lost or stolen."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the phone if it’s lost or stolen."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the phone if it’s lost or stolen."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the phone if it’s lost or stolen."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the tablet if it\'s lost or stolen."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the tablet if it\'s lost or stolen."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the tablet if it\'s lost or stolen."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the device if it\'s lost or stolen."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the device if it\'s lost or stolen."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the device if it\'s lost or stolen."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the phone if it\'s lost or stolen."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the phone if it\'s lost or stolen."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the phone if it\'s lost or stolen."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your phone"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your tablet"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your device"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"To listen to an audio stream, first connect headphones that support LE Audio to this phone."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"To listen to an audio stream, first connect headphones that support LE Audio to this tablet."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"To listen to an audio stream, first connect headphones that support LE Audio to this device."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"To listen to an audio stream, first connect headphones that support LE Audio to this phone. "<annotation id="link">"Learn more"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"To listen to an audio stream, first connect headphones that support LE Audio to this tablet. "<annotation id="link">"Learn more"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"To listen to an audio stream, first connect headphones that support LE Audio to this device. "<annotation id="link">"Learn more"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"This phone doesn\'t support LE Audio, which is needed to listen to audio streams."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"This tablet doesn\'t support LE Audio, which is needed to listen to audio streams."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"This device doesn\'t support LE Audio, which is needed to listen to audio streams."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"To start sharing audio, first connect LE Audio headphones to your phone. "<annotation id="link">"Learn more about compatible devices"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"To start sharing audio, first connect LE Audio headphones to your tablet. "<annotation id="link">"Learn more about compatible devices"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"To start sharing audio, first connect LE Audio headphones to your device. "<annotation id="link">"Learn more about compatible devices"</annotation></string>
 </resources>
diff --git a/res-product/values-en-rXC/strings.xml b/res-product/values-en-rXC/strings.xml
index 8569809..59fecbc 100644
--- a/res-product/values-en-rXC/strings.xml
+++ b/res-product/values-en-rXC/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‏‏‏‏‏‎‏‏‎‎‎‏‎‏‎‎‏‎‏‏‏‎‎‏‏‎‎‏‎‎‏‎‎‎‏‎‎‎‏‎‏‎‎‎‎‎‏‏‏‎‏‏‎‏‎‏‎A PIN is required to set up Face Unlock.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎A PIN protects the phone if it’s lost or stolen.‎‏‎‎‏‎"</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‎‏‎‎‏‎‏‏‏‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‎‏‎‏‏‏‎‏‏‏‏‏‏‎‏‏‎‎‎‏‏‎‏‎‎‎A pattern is required to set up Face Unlock.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎A pattern protects the phone if it’s lost or stolen.‎‏‎‎‏‎"</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‎‎‎‎‏‎‏‎‏‏‎‎‏‏‎‎‎‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‎‏‏‏‏‎A password is required to set up Face Unlock.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎A password protects the phone if it’s lost or stolen.‎‏‎‎‏‎"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‎‏‎‎‎‎‏‎‏‏‎‎‎‎‏‏‎‎‎‏‏‏‎‏‎‎‎‏‏‎‏‏‎‎‎‏‎‎‏‏‎‎‎‏‏‏‎‎‏‎‏‏‎‏‎‎A PIN is required to set up Face Unlock and Fingerprint Unlock.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎A PIN protects the tablet if it’s lost or stolen.‎‏‎‎‏‎"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‏‏‎‎‎‎‏‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‏‏‎‎‏‎‎‎‎‎‎‎‏‎‏‏‎‎‏‎‏‏‏‏‏‎‎‎‏‎‎‏‏‏‎A pattern is required to set up Face Unlock and Fingerprint Unlock.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎A pattern protects the tablet if it’s lost or stolen.‎‏‎‎‏‎"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‏‎‎‏‏‎‎‎‎‎‎‏‎‎‏‏‎‏‎‎‎‎‎‏‎‏‏‏‏‏‏‎‏‏‏‎‏‏‏‎‏‎‏‎‎‎‎‎‎‏‎‏‏‏‎‎‎A password is required to set up Face Unlock and Fingerprint Unlock.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎A password protects the tablet if it’s lost or stolen.‎‏‎‎‏‎"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‎‏‏‎‎‎‏‎‎‏‏‏‎‏‎‏‏‎‏‎‎‎‏‎‎‏‏‏‎‏‏‎‏‏‎‎‏‏‎‎‏‎‎‎‏‎‏‏‎‎‏‎‎‏‏‎‎A PIN is required to set up Face Unlock and Fingerprint Unlock.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎A PIN protects the device if it’s lost or stolen.‎‏‎‎‏‎"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‏‎‏‎‎‎‎‎‏‏‎‏‏‎‎‎‏‎‎‏‏‏‏‎‎‏‎‎‎‎‏‎‎‎‎‏‎‏‏‏‎‎‎‏‏‎‎‏‏‎‏‏‏‎A pattern is required to set up Face Unlock and Fingerprint Unlock.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎A pattern protects the device if it’s lost or stolen.‎‏‎‎‏‎"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‎‏‎‏‏‎‏‏‏‎‎‎‎‏‏‏‏‏‎‏‎‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‎‎‎‏‎‏‏‏‏‏‎‎‎‏‏‎‏‎A password is required to set up Face Unlock and Fingerprint Unlock.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎A password protects the device if it’s lost or stolen.‎‏‎‎‏‎"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‏‎‏‏‏‎‎‎‎‎‎‎‏‏‏‎‏‎‏‏‎‏‎‎‏‏‏‎‏‎‏‏‏‎‎‎‏‎‎‏‏‏‎‎‏‎‎‎‏‎‎‎‏‎‏‎‎A PIN is required to set up Face Unlock and Fingerprint Unlock.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎A PIN protects the phone if it’s lost or stolen.‎‏‎‎‏‎"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‏‏‎‎‏‏‎‏‏‎‏‎‎‏‎‏‏‏‎‏‏‎‎‏‏‏‏‏‎‎‎‏‎‎‎‏‎‏‏‎‎‏‏‎‎‏‎‏‏‏‏‎‏‎‎A pattern is required to set up Face Unlock and Fingerprint Unlock.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎A pattern protects the phone if it’s lost or stolen.‎‏‎‎‏‎"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‏‏‎‎‎‏‏‎‏‏‎‎‎‎‏‏‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‎‎‎‎‎‎‏‎‏‎‏‎‏‎‎‏‎‏‏‎‎‎A password is required to set up Face Unlock and Fingerprint Unlock.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎A password protects the phone if it’s lost or stolen.‎‏‎‎‏‎"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‎‏‎‏‏‏‎‏‏‏‏‎‎‏‎‏‎‎‏‏‎‎‎‎‏‎‎‏‎‏‏‏‏‎‎‎‎‎‎‏‎A PIN is required to set up Fingerprint Unlock and Face Unlock.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎A PIN protects the tablet if it’s lost or stolen.‎‏‎‎‏‎"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‎‏‎‎‎‏‎‏‎‎‎‏‏‎‎‎‏‎‎‎‎‎‎‎‎‎‏‎‏‎‏‎‏‎‏‎‏‎‏‏‎‏‎‎‎‎‎‎‎‎‎‏‏‎‎A pattern is required to set up Fingerprint Unlock and Face Unlock.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎A pattern protects the tablet if it’s lost or stolen.‎‏‎‎‏‎"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‏‏‏‏‎‎‏‎‎‏‎‎‏‏‎‎‏‏‎‎‏‏‎‏‏‎‏‏‎‎‎‎‎‏‎‏‏‎‎‎‏‎‏‏‎‏‎‎‏‎‏‎‎‎‎‎‎A password is required to set up Fingerprint Unlock and Face Unlock.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎A password protects the tablet if it’s lost or stolen.‎‏‎‎‏‎"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‏‏‏‎‏‎‏‏‏‏‏‏‎‎‎‎‏‏‎‏‎‏‏‏‎‎‏‎‏‏‎‏‎‏‏‎‎‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‏‏‏‎A PIN is required to set up Fingerprint Unlock and Face Unlock.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎A PIN protects the device if it’s lost or stolen.‎‏‎‎‏‎"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‎‏‎‏‏‎‏‎‎‎‏‎‏‏‏‎‎‏‏‏‏‎‏‎‏‎‎‏‎‎‏‎‏‎‎‏‎‎‎‏‎‏‎‎‎‏‏‎‏‎‏‏‏‎‎‎A pattern is required to set up Fingerprint Unlock and Face Unlock.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎A pattern protects the device if it’s lost or stolen.‎‏‎‎‏‎"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‎‎‏‎‏‎‏‎‏‎‎‏‎‏‏‏‎‏‏‎‎‎‏‎‎‏‏‎‎‏‏‏‏‏‏‎‎‏‏‎‎‎‎‎‎‎‎‎‏‎‎‎‎‏‎A password is required to set up Fingerprint Unlock and Face Unlock.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎A password protects the device if it’s lost or stolen.‎‏‎‎‏‎"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‎‎‏‎‏‎‏‏‏‎‏‎‎‏‎‎‎‎‎‏‎‏‎‎‏‎‎‏‏‎‎‏‎‎‏‎‎‏‏‏‏‎‎‏‏‎‏‎‏‏‎‎‎‏‎A PIN is required to set up Fingerprint Unlock and Face Unlock.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎A PIN protects the phone if it’s lost or stolen.‎‏‎‎‏‎"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‎‏‏‏‎‏‎‎‎‏‎‏‎‎‎‏‏‎‏‏‎‎‏‏‎‎‏‏‏‎‏‎‎‎‎‎‎‎‎‏‎‏‎‎‎‎‏‎‎‏‎‏‏‏‏‏‎A pattern is required to set up Fingerprint Unlock and Face Unlock.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎A pattern protects the phone if it’s lost or stolen.‎‏‎‎‏‎"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‏‎‏‏‏‎‎‎‏‏‏‎‎‎‎‏‏‎‎‏‎‏‎‎‏‎‎‎‎‎‎‏‎‏‏‏‎‏‏‎‏‎‏‎‏‎‏‎‏‎‏‏‏‎‎‎‎A password is required to set up Fingerprint Unlock and Face Unlock.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎A password protects the phone if it’s lost or stolen.‎‏‎‎‏‎"</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‏‏‎‏‎‎‏‏‏‏‎‏‎‎‎‎‎‏‏‎‎‎‏‏‏‎‏‏‎‏‎‎‏‎‏‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‎This deletes the fingerprint images and model associated with \'‎‏‎‎‏‏‎<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>‎‏‎‎‏‏‏‎\' that are stored on your phone‎‏‎‎‏‎"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‏‎‏‎‎‎‏‏‎‎‏‏‏‎‎‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‏‏‎‎‎‎‎‏‏‎‏‏‏‏‎‏‎‏‏‏‏‏‎‏‎‎This deletes the fingerprint images and model associated with \'‎‏‎‎‏‏‎<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>‎‏‎‎‏‏‏‎\' that are stored on your tablet‎‏‎‎‏‎"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‎‎‏‎‎‏‎‎‎‎‎‏‎‎‎‏‎‏‏‎‎‏‏‎‎‏‏‎‎‏‎‏‏‏‏‎‏‎‎‎‎‏‎‎‎‎‏‎‏‎‎‎‏‎‏‏‎This deletes the fingerprint images and model associated with \'‎‏‎‎‏‏‎<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>‎‏‎‎‏‏‏‎\' that are stored on your device‎‏‎‎‏‎"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‎‏‎‎‎‏‎‎‏‏‎‎‎‏‎‎‎‎‎‏‎‏‎‎‏‏‏‏‎‎‎‎‎‎‏‏‏‎‎‏‏‏‎‎‏‏‏‎‎‏‎‎‎‏‎‎‎To listen to an audio stream, first connect headphones that support LE Audio to this phone.‎‏‎‎‏‎"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‎‏‏‎‏‏‏‎‏‏‏‏‏‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‎‏‎‎‏‏‏‎‎‏‏‎‏‏‏‏‏‏‎‎‎‎‎‏‎To listen to an audio stream, first connect headphones that support LE Audio to this tablet.‎‏‎‎‏‎"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‏‎‏‏‏‎‏‏‏‎‎‏‏‏‎‏‏‏‏‎‎‏‎‏‎‎‏‎‏‏‎‎‏‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‏‏‎‎To listen to an audio stream, first connect headphones that support LE Audio to this device.‎‏‎‎‏‎"</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‎‏‏‎‏‎‏‎‏‎‎‏‎‏‏‎‏‏‎‎‎‎‎‏‎‏‏‎‎‏‏‎‎‎‎‎‎‎‏‎‎‎‏‎‎‎‎‎‎‎‏‎‎‎‎To listen to an audio stream, first connect headphones that support LE Audio to this phone. ‎‏‎‎‏‏‎"<annotation id="link">"‎‏‎‎‏‏‏‎Learn more‎‏‎‎‏‏‎"</annotation>"‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‏‎‎‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‏‎‏‎‏‎‏‎‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‎‎‏‎‎‏‎‏‎To listen to an audio stream, first connect headphones that support LE Audio to this tablet. ‎‏‎‎‏‏‎"<annotation id="link">"‎‏‎‎‏‏‏‎Learn more‎‏‎‎‏‏‎"</annotation>"‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎‎‎‏‏‏‏‎‏‏‎‏‎‏‎‏‎‏‏‎‎‎‏‏‏‏‏‎‎‎‎‎‎‎‏‏‎‎‏‎‎‎‎‏‏‏‎‏‏‎‎‏‎‏‏‎To listen to an audio stream, first connect headphones that support LE Audio to this device. ‎‏‎‎‏‏‎"<annotation id="link">"‎‏‎‎‏‏‏‎Learn more‎‏‎‎‏‏‎"</annotation>"‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‏‎‏‎‎‎‎‏‎‎‎‏‏‏‎‎‏‎‏‎‏‎‏‎‏‏‏‎‏‎‏‏‎‎‏‎‏‏‎‎‎‏‏‏‏‏‏‏‎‎‏‎‏‏‏‎This phone doesn\'t support LE Audio, which is needed to listen to audio streams.‎‏‎‎‏‎"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‎‏‎‎‎‎‎‏‎‏‏‏‏‎‏‎‎‏‎‏‏‏‎‎‎‎‎‏‏‏‎‎‎‎‏‎‏‏‏‎‎‎‏‏‎‎‎‏‎‎‎‎‎‏‎‏‎This tablet doesn\'t support LE Audio, which is needed to listen to audio streams.‎‏‎‎‏‎"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‏‎‎‎‎‏‎‏‏‏‎‏‎‎‏‏‏‏‎‏‎‎‎‎‎‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‎‎‎‏‎‏‎‎‏‏‎‏‎‎‎This device doesn\'t support LE Audio, which is needed to listen to audio streams.‎‏‎‎‏‎"</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‎‏‎‎‏‎‎‎‏‏‏‏‎‎‎‏‎‏‎‎‎‎‏‎‎‎‏‏‎‎‎‎‎‏‎‎‎‏‏‏‎‏‎‎‏‎‎‎‎‎‎‎‎‎‏‏‎To start sharing audio, first connect LE Audio headphones to your phone. ‎‏‎‎‏‏‎"<annotation id="link">"‎‏‎‎‏‏‏‎Learn more about compatible devices‎‏‎‎‏‏‎"</annotation>"‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‎‏‏‏‎‏‏‏‎‏‏‎‏‎‏‎‏‏‎‎‎‏‎‏‎‎‎‏‎‏‎‎‏‎‎To start sharing audio, first connect LE Audio headphones to your tablet. ‎‏‎‎‏‏‎"<annotation id="link">"‎‏‎‎‏‏‏‎Learn more about compatible devices‎‏‎‎‏‏‎"</annotation>"‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‎‏‎‎‏‎‎‎‏‎‏‎‎‏‎‎‎‎‎‏‏‎‎‎‎‎‏‎‎‎‎‏‎‎‏‏‏‏‏‎‎‏‏‎‏‎‎‏‏‏‎‎‏‎‎‏‎To start sharing audio, first connect LE Audio headphones to your device. ‎‏‎‎‏‏‎"<annotation id="link">"‎‏‎‎‏‏‏‎Learn more about compatible devices‎‏‎‎‏‏‎"</annotation>"‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
 </resources>
diff --git a/res-product/values-es-feminine/strings.xml b/res-product/values-es-feminine/strings.xml
new file mode 100644
index 0000000..61a55da
--- /dev/null
+++ b/res-product/values-es-feminine/strings.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (C) 2022 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="security_settings_face_settings_footer_class3_attention_not_supported" product="default" msgid="5512898803063743303">"Usa la cara para desbloquear tu teléfono o verificar que eres tú (por ejemplo, al iniciar sesión en aplicaciones o para aprobar compras).\n\nTen en cuenta lo siguiente:\nSolo puedes tener registrada una cara. Si quieres añadir otra, debes eliminar la que ya está registrada.\n\nEs posible que el teléfono se desbloquee si lo miras, aunque no sea tu intención.\n\nOtra persona puede desbloquear el teléfono si lo pone frente a tu cara, incluso si tienes los ojos cerrados.\n\nEs posible que una persona que se parezca mucho a ti (como una gemela) pueda desbloquear el teléfono."</string>
+</resources>
diff --git a/res-product/values-es-masculine/strings.xml b/res-product/values-es-masculine/strings.xml
new file mode 100644
index 0000000..54f55d6
--- /dev/null
+++ b/res-product/values-es-masculine/strings.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (C) 2022 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="security_settings_face_settings_footer_class3_attention_not_supported" product="default" msgid="5512898803063743303">"Usa la cara para desbloquear tu teléfono o verificar que eres tú (por ejemplo, al iniciar sesión en aplicaciones o para aprobar compras).\n\nTen en cuenta lo siguiente:\nSolo puedes tener registrada una cara. Si quieres añadir otra, debes eliminar la que ya está registrada.\n\nEs posible que el teléfono se desbloquee si lo miras, aunque no sea tu intención.\n\nOtra persona puede desbloquear el teléfono si lo pone frente a tu cara, incluso si tienes los ojos cerrados.\n\nEs posible que una persona que se parezca mucho a ti (como un gemelo) pueda desbloquear el teléfono."</string>
+</resources>
diff --git a/res-product/values-es-neuter/strings.xml b/res-product/values-es-neuter/strings.xml
new file mode 100644
index 0000000..54f55d6
--- /dev/null
+++ b/res-product/values-es-neuter/strings.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (C) 2022 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="security_settings_face_settings_footer_class3_attention_not_supported" product="default" msgid="5512898803063743303">"Usa la cara para desbloquear tu teléfono o verificar que eres tú (por ejemplo, al iniciar sesión en aplicaciones o para aprobar compras).\n\nTen en cuenta lo siguiente:\nSolo puedes tener registrada una cara. Si quieres añadir otra, debes eliminar la que ya está registrada.\n\nEs posible que el teléfono se desbloquee si lo miras, aunque no sea tu intención.\n\nOtra persona puede desbloquear el teléfono si lo pone frente a tu cara, incluso si tienes los ojos cerrados.\n\nEs posible que una persona que se parezca mucho a ti (como un gemelo) pueda desbloquear el teléfono."</string>
+</resources>
diff --git a/res-product/values-es-rUS/strings.xml b/res-product/values-es-rUS/strings.xml
index 8eee896..e292f7e 100644
--- a/res-product/values-es-rUS/strings.xml
+++ b/res-product/values-es-rUS/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Se requiere un PIN para configurar la función Desbloqueo facial.\n\nEn caso de robo o extravío, un PIN protege el teléfono."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Se requiere un patrón para configurar la función Desbloqueo facial.\n\nEn caso de robo o extravío, un patrón protege el teléfono."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Se requiere una contraseña para configurar la función Desbloqueo facial.\n\nEn caso de robo o extravío, una contraseña protege el teléfono."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Se requiere un PIN para configurar las funciones Desbloqueo facial y Desbloqueo con huellas dactilares.\n\nEn caso de robo o extravío, un PIN protege la tablet."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Se requiere un patrón para configurar las funciones Desbloqueo facial y Desbloqueo con huellas dactilares.\n\nEn caso de robo o extravío, un patrón protege la tablet."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Se requiere una contraseña para configurar las funciones Desbloqueo facial y Desbloqueo con huellas dactilares.\n\nEn caso de robo o extravío, una contraseña protege la tablet."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Se requiere un PIN para configurar las funciones Desbloqueo facial y Desbloqueo con huellas dactilares.\n\nEn caso de robo o extravío, un PIN protege el dispositivo."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Se requiere un patrón para configurar las funciones Desbloqueo facial y Desbloqueo con huellas dactilares.\n\nEn caso de robo o extravío, un patrón protege el dispositivo."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Se requiere una contraseña para configurar las funciones Desbloqueo facial y Desbloqueo con huellas dactilares.\n\nEn caso de robo o extravío, una contraseña protege el dispositivo."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Se requiere un PIN para configurar las funciones Desbloqueo facial y Desbloqueo con huellas dactilares.\n\nEn caso de robo o extravío, un PIN protege el teléfono."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Se requiere un patrón para configurar las funciones Desbloqueo facial y Desbloqueo con huellas dactilares.\n\nEn caso de robo o extravío, un patrón protege el teléfono."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Se requiere una contraseña para configurar las funciones Desbloqueo facial y Desbloqueo con huellas dactilares.\n\nEn caso de robo o extravío, una contraseña protege el teléfono."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Se requiere un PIN para configurar las funciones Desbloqueo con huellas dactilares y Desbloqueo facial.\n\nEn caso de robo o extravío, un PIN protege la tablet."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Se requiere un patrón para configurar las funciones Desbloqueo con huellas dactilares y Desbloqueo facial.\n\nEn caso de robo o extravío, un patrón protege la tablet."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Se requiere una contraseña para configurar las funciones Desbloqueo con huellas dactilares y Desbloqueo facial.\n\nEn caso de robo o extravío, una contraseña protege la tablet."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Se requiere un PIN para configurar las funciones Desbloqueo con huellas dactilares y Desbloqueo facial.\n\nEn caso de robo o extravío, un PIN protege el dispositivo."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Se requiere un patrón para configurar las funciones Desbloqueo con huellas dactilares y Desbloqueo facial.\n\nEn caso de robo o extravío, un patrón protege el dispositivo."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Se requiere una contraseña para configurar las funciones Desbloqueo con huellas dactilares y Desbloqueo facial.\n\nEn caso de robo o extravío, una contraseña protege el dispositivo."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Se requiere un PIN para configurar las funciones Desbloqueo con huellas dactilares y Desbloqueo facial.\n\nEn caso de robo o extravío, un PIN protege el teléfono."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Se requiere un patrón para configurar las funciones Desbloqueo con huellas dactilares y Desbloqueo facial.\n\nEn caso de robo o extravío, un patrón protege el teléfono."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Se requiere una contraseña para configurar las funciones Desbloqueo con huellas dactilares y Desbloqueo facial.\n\nEn caso de robo o extravío, una contraseña protege el teléfono."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Esta opción borra las imágenes y el modelo de la huella dactilar asociados con \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que se guardaron en el teléfono."</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Esta opción borra las imágenes de la huella dactilar y el modelo asociado con \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que se guardaron en la tablet"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Esta opción borra las imágenes de la huella dactilar y el modelo asociado con \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que se guardaron en el dispositivo"</string>
@@ -368,7 +368,19 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Para escuchar una reproducción de audio, primero conecta a este teléfono auriculares que admitan LE Audio."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Para escuchar una reproducción de audio, primero conecta a esta tablet auriculares que admitan LE Audio."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Para escuchar una reproducción de audio, primero conecta a este dispositivo auriculares que admitan LE Audio."</string>
+    <!-- no translation found for audio_streams_dialog_no_le_device_subtitle_with_link (4871388123789035528) -->
+    <skip />
+    <!-- no translation found for audio_streams_dialog_no_le_device_subtitle_with_link (9004101085790596133) -->
+    <skip />
+    <!-- no translation found for audio_streams_dialog_no_le_device_subtitle_with_link (2094009664220499659) -->
+    <skip />
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Este teléfono no admite LE Audio, que se necesita para escuchar reproducciones de audio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Esta tablet no admite LE Audio, que se necesita para escuchar reproducciones de audio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Este dispositivo no admite LE Audio, que se necesita para escuchar reproducciones de audio."</string>
+    <!-- no translation found for audio_sharing_confirm_dialog_content_with_link (3623411166799677443) -->
+    <skip />
+    <!-- no translation found for audio_sharing_confirm_dialog_content_with_link (282597208139437138) -->
+    <skip />
+    <!-- no translation found for audio_sharing_confirm_dialog_content_with_link (668964968208427465) -->
+    <skip />
 </resources>
diff --git a/res-product/values-es/strings.xml b/res-product/values-es/strings.xml
index baa8f8f..afbfd6a 100644
--- a/res-product/values-es/strings.xml
+++ b/res-product/values-es/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Se necesita un PIN para configurar Desbloqueo facial.\n\nEl PIN protege tu teléfono si lo pierdes o te lo roban."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Se necesita un patrón para configurar Desbloqueo facial.\n\nEl patrón protege tu teléfono si lo pierdes o te lo roban."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Se necesita una contraseña para configurar Desbloqueo facial.\n\nLa contraseña protege tu teléfono si lo pierdes o te lo roban."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Se necesita un PIN para configurar Desbloqueo facial y Desbloqueo con huella digital.\n\nEl PIN protege tu tablet si la pierdes o te la roban."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Se necesita un patrón para configurar Desbloqueo facial y Desbloqueo con huella digital.\n\nEl patrón protege tu tablet si la pierdes o te la roban."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Se necesita una contraseña para configurar Desbloqueo facial y Desbloqueo con huella digital.\n\nLa contraseña protege tu tablet si la pierdes o te la roban."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Se necesita un PIN para configurar Desbloqueo facial y Desbloqueo con huella digital.\n\nEl PIN protege tu dispositivo si lo pierdes o te lo roban."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Se necesita un patrón para configurar Desbloqueo facial y Desbloqueo con huella digital.\n\nEl patrón protege tu dispositivo si lo pierdes o te lo roban."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Se necesita una contraseña para configurar Desbloqueo facial y Desbloqueo con huella digital.\n\nLa contraseña protege tu dispositivo si lo pierdes o te lo roban."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Se necesita un PIN para configurar Desbloqueo facial y Desbloqueo con huella digital.\n\nEl PIN protege tu teléfono si lo pierdes o te lo roban."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Se necesita un patrón para configurar Desbloqueo facial y Desbloqueo con huella digital.\n\nEl patrón protege tu teléfono si lo pierdes o te lo roban."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Se necesita una contraseña para configurar Desbloqueo facial y Desbloqueo con huella digital.\n\nLa contraseña protege tu teléfono si lo pierdes o te lo roban."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Se necesita un PIN para configurar Desbloqueo con huella digital y Desbloqueo facial.\n\nEl PIN protege la tablet si la pierdes o te la roban."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Se necesita un patrón para configurar Desbloqueo con huella digital y Desbloqueo facial.\n\nEl patrón protege la tablet si la pierdes o te la roban."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Se necesita una contraseña para configurar Desbloqueo con huella digital y Desbloqueo facial.\n\nLa contraseña protege la tablet si la pierdes o te la roban."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Se necesita un PIN para configurar Desbloqueo con huella digital y Desbloqueo facial.\n\nEl PIN protege el dispositivo si lo pierdes o te lo roban."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Se necesita un patrón para configurar Desbloqueo con huella digital y Desbloqueo facial.\n\nEl patrón protege el dispositivo si lo pierdes o te lo roban."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Se necesita una contraseña para configurar Desbloqueo con huella digital y Desbloqueo facial.\n\nLa contraseña protege el dispositivo si lo pierdes o te lo roban."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Se necesita un PIN para configurar Desbloqueo con huella digital y Desbloqueo facial.\n\nEl PIN protege el teléfono si lo pierdes o te lo roban."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Se necesita un patrón para configurar Desbloqueo con huella digital y Desbloqueo facial.\n\nEl patrón protege el teléfono si lo pierdes o te lo roban."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Se necesita una contraseña para configurar Desbloqueo con huella digital y Desbloqueo facial.\n\nLa contraseña protege el teléfono si lo pierdes o te lo roban."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Se eliminarán las imágenes y el modelo de huella digital asociados a <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> que están almacenados en tu teléfono."</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Se eliminarán las imágenes y el modelo de huella digital asociados a <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> que están almacenados en tu tablet"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Se eliminarán las imágenes y el modelo de huella digital asociados a \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que están almacenados en tu dispositivo"</string>
@@ -368,7 +368,19 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Para escuchar una emisión de audio, primero conecta unos auriculares compatibles con LE Audio a este teléfono."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Para escuchar una emisión de audio, primero conecta unos auriculares compatibles con LE Audio a esta tablet."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Para escuchar una emisión de audio, primero conecta unos auriculares compatibles con LE Audio a este dispositivo."</string>
+    <!-- no translation found for audio_streams_dialog_no_le_device_subtitle_with_link (4871388123789035528) -->
+    <skip />
+    <!-- no translation found for audio_streams_dialog_no_le_device_subtitle_with_link (9004101085790596133) -->
+    <skip />
+    <!-- no translation found for audio_streams_dialog_no_le_device_subtitle_with_link (2094009664220499659) -->
+    <skip />
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Este teléfono no admite LE Audio, que es necesario para escuchar emisiones de audio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Esta tablet no admite LE Audio, que es necesario para escuchar streams de audio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Este dispositivo no admite LE Audio, que es necesario para escuchar streams de audio."</string>
+    <!-- no translation found for audio_sharing_confirm_dialog_content_with_link (3623411166799677443) -->
+    <skip />
+    <!-- no translation found for audio_sharing_confirm_dialog_content_with_link (282597208139437138) -->
+    <skip />
+    <!-- no translation found for audio_sharing_confirm_dialog_content_with_link (668964968208427465) -->
+    <skip />
 </resources>
diff --git a/res-product/values-et/strings.xml b/res-product/values-et/strings.xml
index 7fa9994..0733089 100644
--- a/res-product/values-et/strings.xml
+++ b/res-product/values-et/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Näoga avamise seadistamiseks on vaja PIN-koodi.\n\nPIN-kood kaitseb telefoni juhul, kui see läheb kaotsi või varastatakse."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Näoga avamise seadistamiseks on vaja mustrit.\n\nMuster kaitseb telefoni juhul, kui see läheb kaotsi või varastatakse."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Näoga avamise seadistamiseks on vaja parooli.\n\nParool kaitseb telefoni juhul, kui see läheb kaotsi või varastatakse."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Näoga avamise ja sõrmejäljega avamise seadistamiseks on vaja PIN-koodi.\n\nPIN-kood kaitseb tahvelarvutit juhul, kui see läheb kaotsi või varastatakse."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Näoga avamise ja sõrmejäljega avamise seadistamiseks on vaja mustrit.\n\nMuster kaitseb tahvelarvutit juhul, kui see läheb kaotsi või varastatakse."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Näoga avamise ja sõrmejäljega avamise seadistamiseks on vaja parooli.\n\nParool kaitseb tahvelarvutit juhul, kui see läheb kaotsi või varastatakse."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Näoga avamise ja sõrmejäljega avamise seadistamiseks on vaja PIN-koodi.\n\nPIN-kood kaitseb seadet juhul, kui see läheb kaotsi või varastatakse."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Näoga avamise ja sõrmejäljega avamise seadistamiseks on vaja mustrit.\n\nMuster kaitseb seadet juhul, kui see läheb kaotsi või varastatakse."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Näoga avamise ja sõrmejäljega avamise seadistamiseks on vaja parooli.\n\nParool kaitseb seadet juhul, kui see läheb kaotsi või varastatakse."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Näoga avamise ja sõrmejäljega avamise seadistamiseks on vaja PIN-koodi.\n\nPIN-kood kaitseb telefoni juhul, kui see läheb kaotsi või varastatakse."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Näoga avamise ja sõrmejäljega avamise seadistamiseks on vaja mustrit.\n\nMuster kaitseb telefoni juhul, kui see läheb kaotsi või varastatakse."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Näoga avamise ja sõrmejäljega avamise seadistamiseks on vaja parooli.\n\nParool kaitseb telefoni juhul, kui see läheb kaotsi või varastatakse."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Sõrmejäljega avamise ja näoga avamise seadistamiseks on vaja PIN-koodi.\n\nPIN-kood kaitseb tahvelarvutit juhul, kui see läheb kaotsi või varastatakse."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Sõrmejäljega avamise ja näoga avamise seadistamiseks on vaja mustrit.\n\nMuster kaitseb tahvelarvutit juhul, kui see läheb kaotsi või varastatakse."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Sõrmejäljega avamise ja näoga avamise seadistamiseks on vaja parooli.\n\nParool kaitseb tahvelarvutit juhul, kui see läheb kaotsi või varastatakse."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Sõrmejäljega avamise ja näoga avamise seadistamiseks on vaja PIN-koodi.\n\nPIN-kood kaitseb seadet juhul, kui see läheb kaotsi või varastatakse."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Sõrmejäljega avamise ja näoga avamise seadistamiseks on vaja mustrit.\n\nMuster kaitseb seadet juhul, kui see läheb kaotsi või varastatakse."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Sõrmejäljega avamise ja näoga avamise seadistamiseks on vaja parooli.\n\nParool kaitseb seadet juhul, kui see läheb kaotsi või varastatakse."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Sõrmejäljega avamise ja näoga avamise seadistamiseks on vaja PIN-koodi.\n\nPIN-kood kaitseb telefoni juhul, kui see läheb kaotsi või varastatakse."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Sõrmejäljega avamise ja näoga avamise seadistamiseks on vaja mustrit.\n\nMuster kaitseb telefoni juhul, kui see läheb kaotsi või varastatakse."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Sõrmejäljega avamise ja näoga avamise seadistamiseks on vaja parooli.\n\nParool kaitseb telefoni juhul, kui see läheb kaotsi või varastatakse."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"See kustutab sõrmejäljega „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ seotud sõrmejäljekujutised ja -mudeli, mis on teie telefoni salvestatud"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"See kustutab sõrmejäljega „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ seotud sõrmejäljekujutised ja -mudeli, mis on teie tahvelarvutisse salvestatud"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"See kustutab sõrmejäljega „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ seotud sõrmejäljekujutised ja -mudeli, mis on teie seadmesse salvestatud"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Helivoo kuulamiseks ühendage selle telefoniga esmalt kõrvaklapid, mis toetavad LE Audiot."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Helivoo kuulamiseks ühendage selle tahvelarvutiga esmalt kõrvaklapid, mis toetavad LE Audiot."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Helivoo kuulamiseks ühendage selle seadmega esmalt kõrvaklapid, mis toetavad LE Audiot."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Helivoo kuulamiseks ühendage selle telefoniga esmalt kõrvaklapid, mis toetavad LE Audiot. "<annotation id="link">"Lisateave"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Helivoo kuulamiseks ühendage selle tahvelarvutiga esmalt kõrvaklapid, mis toetavad LE Audiot. "<annotation id="link">"Lisateave"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Helivoo kuulamiseks ühendage selle seadmega esmalt kõrvaklapid, mis toetavad LE Audiot. "<annotation id="link">"Lisateave"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"See telefon ei toeta LE Audiot, mida on helivoogude kuulamiseks vaja."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"See tahvelarvuti ei toeta LE Audiot, mida on helivoogude kuulamiseks vaja."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"See seade ei toeta LE Audiot, mida on helivoogude kuulamiseks vaja."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Heli jagamise alustamiseks ühendage esmalt LE Audio kõrvaklapid oma telefoniga. "<annotation id="link">"Vaadake lisateavet ühilduvate seadmete kohta"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Heli jagamise alustamiseks ühendage esmalt LE Audio kõrvaklapid oma tahvelarvutiga. "<annotation id="link">"Vaadake lisateavet ühilduvate seadmete kohta"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Heli jagamise alustamiseks ühendage esmalt LE Audio kõrvaklapid oma seadmega. "<annotation id="link">"Vaadake lisateavet ühilduvate seadmete kohta"</annotation></string>
 </resources>
diff --git a/res-product/values-eu/strings.xml b/res-product/values-eu/strings.xml
index 04da332..f988d05 100644
--- a/res-product/values-eu/strings.xml
+++ b/res-product/values-eu/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"PIN bat behar da aurpegi bidez desblokeatzeko eginbidea konfiguratzeko.\n\nPINak babestu egiten du telefonoa, hura galtzen baduzu edo lapurtzen badizute."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Eredu bat behar da aurpegi bidez desblokeatzeko eginbidea konfiguratzeko.\n\nEreduak babestu egiten du telefonoa, hura galtzen baduzu edo lapurtzen badizute."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Pasahitz bat behar da aurpegi bidez desblokeatzeko eginbidea konfiguratzeko.\n\nPasahitzak babestu egiten du telefonoa, hura galtzen baduzu edo lapurtzen badizute."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Pasahitz bat behar da aurpegi bidez desblokeatzeko eginbidea eta hatz-marka bidez desblokeatzeko eginbidea konfiguratzeko.\n\nPINak babestu egiten du tableta, hura galtzen baduzu edo lapurtzen badizute."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Pasahitz bat behar da aurpegi bidez desblokeatzeko eginbidea eta hatz-marka bidez desblokeatzeko eginbidea konfiguratzeko.\n\nEreduak babestu egiten du tableta, hura galtzen baduzu edo lapurtzen badizute."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Pasahitz bat behar da aurpegi bidez desblokeatzeko eginbidea eta hatz-marka bidez desblokeatzeko eginbidea konfiguratzeko.\n\nPasahitzak babestu egiten du tableta, hura galtzen baduzu edo lapurtzen badizute."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"PIN bat behar da aurpegi bidez desblokeatzeko eginbidea eta hatz-marka bidez desblokeatzeko eginbidea konfiguratzeko.\n\nPINak babestu egiten du gailua, hura galtzen baduzu edo lapurtzen badizute."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Eredu bat behar da aurpegi bidez desblokeatzeko eginbidea eta hatz-marka bidez desblokeatzeko eginbidea konfiguratzeko.\n\nEreduak babestu egiten du gailua, hura galtzen baduzu edo lapurtzen badizute."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Pasahitz bat behar da aurpegi bidez desblokeatzeko eginbidea eta hatz-marka bidez desblokeatzeko eginbidea konfiguratzeko.\n\nPasahitzak babestu egiten du gailua, hura galtzen baduzu edo lapurtzen badizute."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"PIN bat behar da aurpegi bidez desblokeatzeko eginbidea eta hatz-marka bidez desblokeatzeko eginbidea konfiguratzeko.\n\nPINak babestu egiten du telefonoa, hura galtzen baduzu edo lapurtzen badizute."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Pasahitz bat behar da aurpegi bidez desblokeatzeko eginbidea eta hatz-marka bidez desblokeatzeko eginbidea konfiguratzeko.\n\nEreduak babestu egiten du telefonoa, hura galtzen baduzu edo lapurtzen badizute."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Pasahitz bat behar da aurpegi bidez desblokeatzeko eginbidea eta hatz-marka bidez desblokeatzeko eginbidea konfiguratzeko.\n\nPasahitzak babestu egiten du telefonoa, hura galtzen baduzu edo lapurtzen badizute."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"PIN bat behar da hatz-marka bidez eta aurpegi bidez desblokeatzeko eginbideak konfiguratzeko.\n\nTableta galtzen baduzu edo lapurtzen badizute, pasahitzarekin babestuta egongo da."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Eredu bat behar da hatz-marka bidez eta aurpegi bidez desblokeatzeko eginbideak konfiguratzeko.\n\nTableta galtzen baduzu edo lapurtzen badizute, pasahitzarekin babestuta egongo da."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Pasahitz bat behar da hatz-marka bidez eta aurpegi bidez desblokeatzeko eginbideak konfiguratzeko.\n\nTableta galtzen baduzu edo lapurtzen badizute, pasahitzarekin babestuta egongo da."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"PIN bat behar da hatz-marka bidez eta aurpegi bidez desblokeatzeko eginbideak konfiguratzeko.\n\nGailua galtzen baduzu edo lapurtzen badizute, pasahitzarekin babestuta egongo da."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Eredu bat behar da hatz-marka bidez eta aurpegi bidez desblokeatzeko eginbideak konfiguratzeko.\n\nGailua galtzen baduzu edo lapurtzen badizute, pasahitzarekin babestuta egongo da."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Pasahitz bat behar da hatz-marka bidez eta aurpegi bidez desblokeatzeko eginbideak konfiguratzeko.\n\nGailua galtzen baduzu edo lapurtzen badizute, pasahitzarekin babestuta egongo da."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"PIN bat behar da hatz-marka bidez eta aurpegi bidez desblokeatzeko eginbideak konfiguratzeko.\n\nTelefonoa galtzen baduzu edo lapurtzen badizute, pasahitzarekin babestuta egongo da."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Eredu bat behar da hatz-marka bidez eta aurpegi bidez desblokeatzeko eginbideak konfiguratzeko.\n\nTelefonoa galtzen baduzu edo lapurtzen badizute, pasahitzarekin babestuta egongo da."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Pasahitz bat behar da hatz-marka bidez eta aurpegi bidez desblokeatzeko eginbideak konfiguratzeko.\n\nTelefonoa galtzen baduzu edo lapurtzen badizute, pasahitzarekin babestuta egongo da."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Telefonoan \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" izenarekin gordetako hatz-markaren irudiak eta eredua ezabatuko dira."</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Tabletan \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" izenarekin gordetako hatz-markaren irudiak eta eredua ezabatuko dira."</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Ezabatu egingo dira gailuan \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" izenarekin gordetako hatz-markaren irudiak eta eredua"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Zuzeneko audio-igorpen bat entzuteko, konektatu kontsumo txikiko audioa onartzen duten entzungailu batzuk telefono honetara."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Zuzeneko audio-igorpen bat entzuteko, konektatu kontsumo txikiko audioa onartzen duten entzungailu batzuk tableta honetara."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Zuzeneko audio-igorpen bat entzuteko, konektatu kontsumo txikiko audioa onartzen duten entzungailu batzuk gailu honetara."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Zuzeneko audio-igorpen bat entzuteko, konektatu kontsumo txikiko audioa onartzen duten entzungailu batzuk telefono honetara. "<annotation id="link">"Lortu informazio gehiago"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Zuzeneko audio-igorpen bat entzuteko, konektatu kontsumo txikiko audioa onartzen duten entzungailu batzuk tableta honetara. "<annotation id="link">"Lortu informazio gehiago"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Zuzeneko audio-igorpen bat entzuteko, konektatu kontsumo txikiko audioa onartzen duten entzungailu batzuk gailu honetara. "<annotation id="link">"Lortu informazio gehiago"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Telefono honetan ez da onartzen kontsumo txikiko audioa, eta beharrezkoa da zuzeneko audio-igorpenak entzuteko."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Tableta honetan ez da onartzen kontsumo txikiko audioa, eta beharrezkoa da zuzeneko audio-igorpenak entzuteko."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Gailu honetan ez da onartzen kontsumo txikiko audioa, eta beharrezkoa da zuzeneko audio-igorpenak entzuteko."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Audioa partekatzen hasteko, konektatu kontsumo txikiko audioko entzungailuak telefonora. "<annotation id="link">"Lortu gailu bateragarriei buruzko informazio gehiago"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Audioa partekatzen hasteko, konektatu kontsumo txikiko audioko entzungailuak tabletara. "<annotation id="link">"Lortu gailu bateragarriei buruzko informazio gehiago"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Audioa partekatzen hasteko, konektatu kontsumo txikiko audioko entzungailuak gailura. "<annotation id="link">"Lortu gailu bateragarriei buruzko informazio gehiago"</annotation></string>
 </resources>
diff --git a/res-product/values-fa/strings.xml b/res-product/values-fa/strings.xml
index 3699e30..9328df0 100644
--- a/res-product/values-fa/strings.xml
+++ b/res-product/values-fa/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"برای راه‌اندازی «قفل‌گشایی با چهره»، افزودن پین الزامی است.\n\nدرصورت گم شدن یا به‌سرقت رفتن تلفن، پین از آن محافظت می‌کند."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"برای راه‌اندازی «قفل‌گشایی با چهره»، افزودن الگو الزامی است.\n\nدرصورت گم شدن یا به‌سرقت رفتن تلفن، الگو از آن محافظت می‌کند."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"برای راه‌اندازی «قفل‌گشایی با چهره»، افزودن گذرواژه الزامی است.\n\nدرصورت گم شدن یا به‌سرقت رفتن تلفن، گذرواژه از آن محافظت می‌کند."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"برای راه‌اندازی «قفل‌گشایی با چهره» و «قفل‌گشایی با اثر انگشت»، افزودن پین الزامی است.\n\nدرصورت گم شدن یا به‌سرقت رفتن رایانه لوحی، پین از آن محافظت می‌کند."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"برای راه‌اندازی «قفل‌گشایی با چهره» و «قفل‌گشایی با اثر انگشت»، افزودن الگو الزامی است.\n\nدرصورت گم شدن یا به‌سرقت رفتن رایانه لوحی، الگو از آن محافظت می‌کند."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"برای راه‌اندازی «قفل‌گشایی با چهره» و «قفل‌گشایی با اثر انگشت»، افزودن گذرواژه الزامی است.\n\nدرصورت گم شدن یا به‌سرقت رفتن رایانه لوحی، گذرواژه از آن محافظت می‌کند."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"برای راه‌اندازی «قفل‌گشایی با چهره» و «قفل‌گشایی با اثر انگشت»، افزودن پین الزامی است.\n\nدرصورت گم شدن یا به‌سرقت رفتن دستگاه، پین از آن محافظت می‌کند."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"برای راه‌اندازی «قفل‌گشایی با چهره» و «قفل‌گشایی با اثر انگشت»، افزودن الگو الزامی است.\n\nدرصورت گم شدن یا به‌سرقت رفتن دستگاه، الگو از آن محافظت می‌کند."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"برای راه‌اندازی «قفل‌گشایی با چهره» و «قفل‌گشایی با اثر انگشت»، افزودن گذرواژه الزامی است.\n\nدرصورت گم شدن یا به‌سرقت رفتن دستگاه، گذرواژه از آن محافظت می‌کند."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"برای راه‌اندازی «قفل‌گشایی با چهره» و «قفل‌گشایی با اثر انگشت»، افزودن پین الزامی است.\n\nدرصورت گم شدن یا به‌سرقت رفتن تلفن، پین از آن محافظت می‌کند."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"برای راه‌اندازی «قفل‌گشایی با چهره» و «قفل‌گشایی با اثر انگشت»، افزودن الگو الزامی است.\n\nدرصورت گم شدن یا به‌سرقت رفتن تلفن، الگو از آن محافظت می‌کند."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"برای راه‌اندازی «قفل‌گشایی با چهره» و «قفل‌گشایی با اثر انگشت»، افزودن گذرواژه الزامی است.\n\nدرصورت گم شدن یا به‌سرقت رفتن تلفن، گذرواژه از آن محافظت می‌کند."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"برای راه‌اندازی «قفل‌گشایی با اثر انگشت» و «قفل‌گشایی با چهره»، افزودن پین الزامی است.\n\nدرصورت گم شدن یا به‌سرقت رفتن رایانه لوحی، پین از آن محافظت می‌کند."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"برای راه‌اندازی «قفل‌گشایی با اثر انگشت» و «قفل‌گشایی با چهره»، افزودن الگو الزامی است.\n\nدرصورت گم شدن یا به‌سرقت رفتن رایانه لوحی، الگو از آن محافظت می‌کند."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"برای راه‌اندازی «قفل‌گشایی با اثر انگشت» و «قفل‌گشایی با چهره»، افزودن گذرواژه الزامی است.\n\nدرصورت گم شدن یا به‌سرقت رفتن رایانه لوحی، گذرواژه از آن محافظت می‌کند."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"برای راه‌اندازی «قفل‌گشایی با اثر انگشت» و «قفل‌گشایی با چهره»، افزودن پین الزامی است.\n\nدرصورت گم شدن یا به‌سرقت رفتن دستگاه، پین از آن محافظت می‌کند."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"برای راه‌اندازی «قفل‌گشایی با اثر انگشت» و «قفل‌گشایی با چهره»، افزودن الگو الزامی است.\n\nدرصورت گم شدن یا به‌سرقت رفتن دستگاه، الگو از آن محافظت می‌کند."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"برای راه‌اندازی «قفل‌گشایی با اثر انگشت» و «قفل‌گشایی با چهره»، افزودن گذرواژه الزامی است.\n\nدرصورت گم شدن یا به‌سرقت رفتن دستگاه، گذرواژه از آن محافظت می‌کند."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"برای راه‌اندازی «قفل‌گشایی با اثر انگشت» و «قفل‌گشایی با چهره»، افزودن پین الزامی است.\n\nدرصورت گم شدن یا به‌سرقت رفتن تلفن، پین از آن محافظت می‌کند."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"برای راه‌اندازی «قفل‌گشایی با اثر انگشت» و «قفل‌گشایی با چهره»، افزودن الگو الزامی است.\n\nدرصورت گم شدن یا به‌سرقت رفتن تلفن، الگو از آن محافظت می‌کند."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"برای راه‌اندازی «قفل‌گشایی با اثر انگشت» و «قفل‌گشایی با چهره»، افزودن گذرواژه الزامی است.\n\nدرصورت گم شدن یا به‌سرقت رفتن تلفن، گذرواژه از آن محافظت می‌کند."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"با این کار مدل و تصاویر اثر انگشت مرتبط با «<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» که در تلفنتان ذخیره شده حذف می‌شوند"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"با این کار مدل و تصاویر اثر انگشت مرتبط با «<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» که در رایانه لوحی‌تان ذخیره شده‌اند حذف می‌شوند"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"با این کار مدل و تصاویر اثر انگشت مرتبط با «<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» که در دستگاهتان ذخیره شده‌اند حذف می‌شوند"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"برای گوش دادن به جاری‌سازی صوتی، ابتدا هدفونی را که از «صدای کم‌مصرف» پشتیبانی می‌کند به این تلفن وصل کنید."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"برای گوش دادن به جاری‌سازی صوتی، ابتدا هدفونی را که از «صدای کم‌مصرف» پشتیبانی می‌کند به این رایانه لوحی وصل کنید."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"برای گوش دادن به جاری‌سازی صوتی، ابتدا هدفونی را که از «صدای کم‌مصرف» پشتیبانی می‌کند به این دستگاه وصل کنید."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"برای گوش دادن به جاری‌سازی صوتی، ابتدا هدفونی را که از «صدای کم‌مصرف» پشتیبانی می‌کند به این تلفن وصل کنید. "<annotation id="link">"بیشتر بدانید"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"برای گوش دادن به جاری‌سازی صوتی، ابتدا هدفونی را که از «صدای کم‌مصرف» پشتیبانی می‌کند به این رایانه لوحی وصل کنید. "<annotation id="link">"بیشتر بدانید"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"برای گوش دادن به جاری‌سازی صوتی، ابتدا هدفونی را که از «صدای کم‌مصرف» پشتیبانی می‌کند به این دستگاه وصل کنید. "<annotation id="link">"بیشتر بدانید"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"این تلفن از «صدای کم‌مصرف» که برای گوش دادن به جاری‌سازی‌های صوتی لازم است پشتیبانی نمی‌کند."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"این رایانه لوحی از «صدای کم‌مصرف» که برای گوش دادن به جاری‌سازی‌های صوتی لازم است پشتیبانی نمی‌کند."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"این دستگاه از «صدای کم‌مصرف» که برای گوش دادن به جاری‌سازی‌های صوتی لازم است پشتیبانی نمی‌کند."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"برای شروع کردن هم‌رسانی صدا، ابتدا هدفون دارای «صدای کم‌مصرف» را به تلفنتان متصل کنید. "<annotation id="link">"درباره دستگاه‌های سازگار بیشتر بدانید"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"برای شروع کردن هم‌رسانی صدا، ابتدا هدفون دارای «صدای کم‌مصرف» را به رایانه لوحی‌تان متصل کنید. "<annotation id="link">"درباره دستگاه‌های سازگار بیشتر بدانید"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"برای شروع کردن هم‌رسانی صدا، ابتدا هدفون دارای «صدای کم‌مصرف» را به دستگاهتان متصل کنید. "<annotation id="link">"درباره دستگاه‌های سازگار بیشتر بدانید"</annotation></string>
 </resources>
diff --git a/res-product/values-fi/strings.xml b/res-product/values-fi/strings.xml
index 40d31d3..7889519 100644
--- a/res-product/values-fi/strings.xml
+++ b/res-product/values-fi/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Kasvojentunnistusavauksen käyttöönotto edellyttää PIN-koodia.\n\nPIN-koodi suojaa puhelinta, jos se katoaa tai varastetaan."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Kasvojentunnistusavauksen käyttöönotto edellyttää kuviota.\n\nKuvio suojaa puhelinta, jos se katoaa tai varastetaan."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Kasvojentunnistusavauksen käyttöönotto edellyttää salasanaa.\n\nSalasana suojaa puhelinta, jos se katoaa tai varastetaan."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Kasvojentunnistus- ja sormenjälkiavausten käyttöönotto edellyttää PIN-koodia.\n\nPIN-koodi suojaa tablettia, jos se katoaa tai varastetaan."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Kasvojentunnistus- ja sormenjälkiavausten käyttöönotto edellyttää kuviota.\n\nKuvio suojaa tablettia, jos se katoaa tai varastetaan."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Kasvojentunnistus- ja sormenjälkiavausten käyttöönotto edellyttää salasanaa.\n\nSalasana suojaa tablettia, jos se katoaa tai varastetaan."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Kasvojentunnistus- ja sormenjälkiavausten käyttöönotto edellyttää PIN-koodia.\n\nPIN-koodi suojaa laitetta, jos se katoaa tai varastetaan."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Kasvojentunnistus- ja sormenjälkiavausten käyttöönotto edellyttää kuviota.\n\nKuvio suojaa laitetta, jos se katoaa tai varastetaan."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Kasvojentunnistus- ja sormenjälkiavausten käyttöönotto edellyttää salasanaa.\n\nSalasana suojaa laitetta, jos se katoaa tai varastetaan."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Kasvojentunnistus- ja sormenjälkiavausten käyttöönotto edellyttää PIN-koodia.\n\nPIN-koodi suojaa puhelinta, jos se katoaa tai varastetaan."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Kasvojentunnistus- ja sormenjälkiavausten käyttöönotto edellyttää kuviota.\n\nKuvio suojaa puhelinta, jos se katoaa tai varastetaan."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Kasvojentunnistus- ja sormenjälkiavausten käyttöönotto edellyttää salasanaa.\n\nSalasana suojaa puhelinta, jos se katoaa tai varastetaan."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Sormenjälki- ja kasvojentunnistusavausten käyttöönotto edellyttää PIN-koodia.\n\nPIN-koodi suojaa tablettia, jos se katoaa tai varastetaan."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Sormenjälki- ja kasvojentunnistusavausten käyttöönotto edellyttää kuviota.\n\nKuvio suojaa tablettia, jos se katoaa tai varastetaan."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Sormenjälki- ja kasvojentunnistusavausten käyttöönotto edellyttää salasanaa.\n\nSalasana suojaa tablettia, jos se katoaa tai varastetaan."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Sormenjälki- ja kasvojentunnistusavausten käyttöönotto edellyttää PIN-koodia.\n\nPIN-koodi suojaa laitetta, jos se katoaa tai varastetaan."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Sormenjälki- ja kasvojentunnistusavausten käyttöönotto edellyttää kuviota.\n\nKuvio suojaa laitetta, jos se katoaa tai varastetaan."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Sormenjälki- ja kasvojentunnistusavausten käyttöönotto edellyttää salasanaa.\n\nSalasana suojaa laitetta, jos se katoaa tai varastetaan."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Sormenjälki- ja kasvojentunnistusavausten käyttöönotto edellyttää PIN-koodia.\n\nPIN-koodi suojaa puhelinta, jos se katoaa tai varastetaan."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Sormenjälki- ja kasvojentunnistusavausten käyttöönotto edellyttää kuviota.\n\nKuvio suojaa puhelinta, jos se katoaa tai varastetaan."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Sormenjälki- ja kasvojentunnistusavausten käyttöönotto edellyttää salasanaa.\n\nSalasana suojaa puhelinta, jos se katoaa tai varastetaan."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Tämä poistaa puhelimelle tallennetut sormenjäljen kuvat ja mallit, joihin <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> liittyy"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Tämä poistaa tabletille tallennetut sormenjäljen kuvat ja mallit, joihin <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> liittyy"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Tämä poistaa laitteelle tallennetut sormenjäljen kuvat ja mallit, joihin <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> liittyy"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Jos haluat kuunnella audiostriimiä, yhdistä ensin tähän puhelimeen kuulokkeet, jotka tukevat LE Audiota"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Jos haluat kuunnella audiostriimiä, yhdistä ensin tähän tablettiin kuulokkeet, jotka tukevat LE Audiota"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Jos haluat kuunnella audiostriimiä, yhdistä ensin tähän laitteeseen kuulokkeet, jotka tukevat LE Audiota"</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Jos haluat kuunnella audiostriimiä, yhdistä ensin tähän puhelimeen kuulokkeet, jotka tukevat LE Audiota. "<annotation id="link">"Lue lisää"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Jos haluat kuunnella audiostriimiä, yhdistä ensin tähän tablettiin kuulokkeet, jotka tukevat LE Audiota. "<annotation id="link">"Lue lisää"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Jos haluat kuunnella audiostriimiä, yhdistä ensin tähän laitteeseen kuulokkeet, jotka tukevat LE Audiota. "<annotation id="link">"Lue lisää"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Tämä puhelin ei tue LE Audiota, joka tarvitaan audiostriimien kuunteluun."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Tämä tabletti ei tue LE Audiota, joka tarvitaan audiostriimien kuunteluun."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Tämä laite ei tue LE Audiota, joka tarvitaan audiostriimien kuunteluun."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Jos haluat jakaa audiota, yhdistä ensin LE Audio ‑kuulokkeet puhelimeen. "<annotation id="link">"Lue lisää yhteensopivista laitteista"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Jos haluat jakaa audiota, yhdistä ensin LE Audio ‑kuulokkeet tablettiin. "<annotation id="link">"Lue lisää yhteensopivista laitteista"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Jos haluat jakaa audiota, yhdistä ensin LE Audio ‑kuulokkeet laitteeseen. "<annotation id="link">"Lue lisää yhteensopivista laitteista"</annotation></string>
 </resources>
diff --git a/res-product/values-fr-rCA-feminine/strings.xml b/res-product/values-fr-rCA-feminine/strings.xml
new file mode 100644
index 0000000..3b065d8
--- /dev/null
+++ b/res-product/values-fr-rCA-feminine/strings.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (C) 2022 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="main_clear_accounts" product="default" msgid="3604029744509330786">\n\n"Vous êtes actuellement connectée aux comptes suivants :\n"</string>
+</resources>
diff --git a/res-product/values-fr-rCA-masculine/strings.xml b/res-product/values-fr-rCA-masculine/strings.xml
new file mode 100644
index 0000000..ed2e2ca
--- /dev/null
+++ b/res-product/values-fr-rCA-masculine/strings.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (C) 2022 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="main_clear_accounts" product="default" msgid="3604029744509330786">\n\n"Vous êtes actuellement connecté aux comptes suivants :\n"</string>
+</resources>
diff --git a/res-product/values-fr-rCA-neuter/strings.xml b/res-product/values-fr-rCA-neuter/strings.xml
new file mode 100644
index 0000000..6b27fad
--- /dev/null
+++ b/res-product/values-fr-rCA-neuter/strings.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (C) 2022 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="main_clear_accounts" product="default" msgid="3604029744509330786">\n\n"Votre connexion aux comptes suivants est actuellement active :\n"</string>
+</resources>
diff --git a/res-product/values-fr-rCA/strings.xml b/res-product/values-fr-rCA/strings.xml
index 03ae9f6..a2b5b60 100644
--- a/res-product/values-fr-rCA/strings.xml
+++ b/res-product/values-fr-rCA/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Un NIP est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale.\n\nUn NIP protège le téléphone en cas de perte ou de vol de celui-ci."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Un schéma est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale.\n\nUn schéma protège le téléphone en cas de perte ou de vol de celui-ci."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Un mot de passe est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale.\n\nUn mot de passe protège le téléphone en cas de perte ou de vol de celui-ci."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Un NIP est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn NIP protège la tablette en cas de perte ou de vol de celle-ci."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Un schéma est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn schéma protège la tablette en cas de perte ou de vol de celle-ci."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Un mot de passe est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn mot de passe protège la tablette en cas de perte ou de vol de celle-ci."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Un NIP est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn NIP protège l\'appareil en cas de perte ou de vol de celui-ci."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Un schéma est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn schéma protège l\'appareil en cas de perte ou de vol de celui-ci."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Un mot de passe est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn mot de passe protège l\'appareil en cas de perte ou de vol de celui-ci."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Un NIP est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn NIP protège le téléphone en cas de perte ou de vol de celui-ci."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Un schéma est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn schéma protège le téléphone en cas de perte ou de vol de celui-ci."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Un mot de passe est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn mot de passe protège le téléphone en cas de perte ou de vol de celui-ci."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Un NIP est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn NIP protège la tablette en cas de perte ou de vol de celle-ci."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Un schéma est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn schéma protège la tablette en cas de perte ou de vol de celle-ci."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Un mot de passe est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn mot de passe protège la tablette en cas de perte ou de vol de celle-ci."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Un NIP est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn NIP protège l\'appareil en cas de perte ou de vol de celui-ci."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Un schéma est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn schéma protège l\'appareil en cas de perte ou de vol de celui-ci."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Un mot de passe est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn mot de passe protège l\'appareil en cas de perte ou de vol de celui-ci."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Un NIP est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn NIP protège le téléphone en cas de perte ou de vol de celui-ci."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Un schéma est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn schéma protège le téléphone en cas de perte ou de vol de celui-ci."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Un mot de passe est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn mot de passe protège le téléphone en cas de perte ou de vol de celui-ci."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Les images et le modèle d\'empreinte digitale associés à « <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> » et stockés sur votre téléphone seront supprimés"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Les images et le modèle d\'empreinte digitale associés à « <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> » et stockés sur votre tablette seront supprimés"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Les images et le modèle d\'empreinte digitale associés à « <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> » et stockés sur votre appareil seront supprimés"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Pour écouter un flux audio, connectez d\'abord des écouteurs prenant en charge l\'appli LE Audio à ce téléphone."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Pour écouter un flux audio, connectez d\'abord des écouteurs prenant en charge l\'appli LE Audio à cette tablette."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Pour écouter un flux audio, connectez d\'abord des écouteurs prenant en charge l\'appli LE Audio à cet appareil."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Pour écouter un flux audio, connectez d\'abord des écouteurs prenant en charge l\'appli LE Audio à ce téléphone. "<annotation id="link">"En savoir plus"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Pour écouter un flux audio, connectez d\'abord des écouteurs prenant en charge l\'appli LE Audio à cette tablette. "<annotation id="link">"En savoir plus"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Pour écouter un flux audio, connectez d\'abord des écouteurs prenant en charge l\'appli LE Audio à cet appareil. "<annotation id="link">"En savoir plus"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Ce téléphone ne prend pas en charge la norme LE Audio, et celle-ci est nécessaire pour effectuer la lecture des flux audio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Cette tablette ne prend pas en charge l\'appli LE Audio, et celle-ci est nécessaire pour effectuer la lecture des flux audio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Cet appareil ne prend pas en charge l\'appli LE Audio, et celle-ci est nécessaire pour effectuer la lecture des flux audio."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Pour commencer à partager du son, connectez d\'abord les écouteurs LE Audio à votre téléphone. "<annotation id="link">"En savoir plus sur les appareils compatibles"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Pour commencer à partager du son, connectez d\'abord les écouteurs LE Audio à votre tablette. "<annotation id="link">"En savoir plus sur les appareils compatibles"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Pour commencer à partager du son, connectez d\'abord les écouteurs LE Audio à votre appareil. "<annotation id="link">"En savoir plus sur les appareils compatibles"</annotation></string>
 </resources>
diff --git a/res-product/values-fr/strings.xml b/res-product/values-fr/strings.xml
index 95b5ea8..3363f72 100644
--- a/res-product/values-fr/strings.xml
+++ b/res-product/values-fr/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Veuillez saisir un code pour configurer le déverrouillage par reconnaissance faciale.\n\nUn code protège votre téléphone en cas de perte ou de vol."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Veuillez dessiner un schéma pour configurer le déverrouillage par reconnaissance faciale.\n\nUn schéma protège votre téléphone en cas de perte ou de vol."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Veuillez saisir un mot de passe pour configurer le déverrouillage par reconnaissance faciale.\n\nUn mot de passe protège votre téléphone en cas de perte ou de vol."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Veuillez saisir un code pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn code protège votre tablette en cas de perte ou de vol."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Veuillez dessiner un schéma pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn schéma protège votre tablette en cas de perte ou de vol."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Veuillez saisir un mot de passe pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn mot de passe protège votre tablette en cas de perte ou de vol."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Veuillez saisir un code pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn code protège votre appareil en cas de perte ou de vol."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Veuillez dessiner un schéma pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn schéma protège votre appareil en cas de perte ou de vol."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Veuillez saisir un mot de passe pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn mot de passe protège votre appareil en cas de perte ou de vol."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Veuillez saisir un code pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn code protège votre téléphone en cas de perte ou de vol."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Veuillez dessiner un schéma pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn schéma protège votre téléphone en cas de perte ou de vol."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Veuillez saisir un mot de passe pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn mot de passe protège votre téléphone en cas de perte ou de vol."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Veuillez saisir un code pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn code protège votre tablette en cas de perte ou de vol."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Veuillez dessiner un schéma pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn schéma protège votre tablette en cas de perte ou de vol."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Veuillez saisir un mot de passe pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn mot de passe protège votre tablette en cas de perte ou de vol."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Veuillez saisir un code pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn code protège votre appareil en cas de perte ou de vol."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Veuillez dessiner un schéma pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn schéma protège votre appareil en cas de perte ou de vol."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Veuillez saisir un mot de passe pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn mot de passe protège votre appareil en cas de perte ou de vol."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Veuillez saisir un code pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn code protège votre téléphone en cas de perte ou de vol."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Veuillez dessiner un schéma pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn schéma protège votre téléphone en cas de perte ou de vol."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Veuillez saisir un mot de passe pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn mot de passe protège votre téléphone en cas de perte ou de vol."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Les images et le modèle associés à \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" et stockés sur votre téléphone seront supprimés"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Les images et le modèle associés à \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" et stockés sur votre tablette seront supprimés"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Les images et le modèle associés à \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" et stockés sur votre appareil seront supprimés"</string>
@@ -368,7 +368,19 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Pour écouter un flux audio, connectez d\'abord un casque compatible avec LE Audio à ce téléphone."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Pour écouter un flux audio, connectez d\'abord un casque compatible avec LE Audio à cette tablette."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Pour écouter un flux audio, connectez d\'abord un casque compatible avec LE Audio à cet appareil."</string>
+    <!-- no translation found for audio_streams_dialog_no_le_device_subtitle_with_link (4871388123789035528) -->
+    <skip />
+    <!-- no translation found for audio_streams_dialog_no_le_device_subtitle_with_link (9004101085790596133) -->
+    <skip />
+    <!-- no translation found for audio_streams_dialog_no_le_device_subtitle_with_link (2094009664220499659) -->
+    <skip />
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Ce téléphone n\'est pas compatible avec LE Audio, qui est nécessaire pour écouter des flux audio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Cette tablette n\'est pas compatible avec LE Audio, qui est nécessaire pour écouter des flux audio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Cet appareil n\'est pas compatible avec LE Audio, qui est nécessaire pour écouter des flux audio."</string>
+    <!-- no translation found for audio_sharing_confirm_dialog_content_with_link (3623411166799677443) -->
+    <skip />
+    <!-- no translation found for audio_sharing_confirm_dialog_content_with_link (282597208139437138) -->
+    <skip />
+    <!-- no translation found for audio_sharing_confirm_dialog_content_with_link (668964968208427465) -->
+    <skip />
 </resources>
diff --git a/res-product/values-gl/strings.xml b/res-product/values-gl/strings.xml
index 003e50f..a5005db 100644
--- a/res-product/values-gl/strings.xml
+++ b/res-product/values-gl/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Para configurar o desbloqueo facial, necesítase un PIN.\n\nO teléfono estará protexido por un PIN en caso de perda ou roubo."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Para configurar o desbloqueo facial, necesítase un padrón.\n\nO teléfono estará protexido por un padrón en caso de perda ou roubo."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Para configurar o desbloqueo facial, necesítase un contrasinal.\n\nO teléfono estará protexido por un contrasinal en caso de perda ou roubo."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Para configurar o desbloqueo facial e dactilar, necesítase un PIN.\n\nA tableta estará protexida por un PIN en caso de perda ou roubo."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Para configurar o desbloqueo facial e dactilar, necesítase un padrón.\n\nA tableta estará protexida por un padrón en caso de perda ou roubo."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Para configurar o desbloqueo facial e dactilar, necesítase un contrasinal.\n\nA tableta estará protexida por un contrasinal en caso de perda ou roubo."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Para configurar o desbloqueo facial e dactilar, necesítase un PIN.\n\nO dispositivo estará protexido por un PIN en caso de perda ou roubo."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Para configurar o desbloqueo facial e dactilar, necesítase un padrón.\n\nO dispositivo estará protexido por un padrón en caso de perda ou roubo."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Para configurar o desbloqueo facial e dactilar, necesítase un contrasinal.\n\nO dispositivo estará protexido por un contrasinal en caso de perda ou roubo."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Para configurar o desbloqueo facial e dactilar, necesítase un PIN.\n\nO teléfono estará protexido por un PIN en caso de perda ou roubo."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Para configurar o desbloqueo facial e dactilar, necesítase un padrón.\n\nO teléfono estará protexido por un padrón en caso de perda ou roubo."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Para configurar o desbloqueo facial e dactilar, necesítase un contrasinal.\n\nO teléfono estará protexido por un contrasinal en caso de perda ou roubo."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Para configurar o desbloqueo facial e o dactilar, necesítase un PIN.\n\nUsarase para protexer a tableta en caso de perda ou roubo."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Para configurar o desbloqueo facial e o dactilar, necesítase un padrón.\n\nUsarase para protexer a tableta en caso de perda ou roubo."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Para configurar o desbloqueo facial e o dactilar, necesítase un contrasinal.\n\nUsarase para protexer a tableta en caso de perda ou roubo."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Para configurar o desbloqueo facial e o dactilar, necesítase un PIN.\n\nUsarase para protexer o dispositivo en caso de perda ou roubo."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Para configurar o desbloqueo facial e o dactilar, necesítase un padrón.\n\nUsarase para protexer o dispositivo en caso de perda ou roubo."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Para configurar o desbloqueo facial e o dactilar, necesítase un contrasinal.\n\nUsarase para protexer o dispositivo en caso de perda ou roubo."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Para configurar o desbloqueo facial e o dactilar, necesítase un PIN.\n\nUsarase para protexer o teléfono en caso de perda ou roubo."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Para configurar o desbloqueo facial e o dactilar, necesítase un padrón.\n\nUsarase para protexer o teléfono en caso de perda ou roubo."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Para configurar o desbloqueo facial e o dactilar, necesítase un contrasinal.\n\nUsarase para protexer o teléfono en caso de perda ou roubo."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Ao realizar esta acción, eliminaranse as imaxes e o modelo da impresión dixital <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> que estean almacenados no teléfono"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Ao realizar esta acción, eliminaranse as imaxes e o modelo da impresión dixital <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> que estean almacenados na tableta"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Ao realizar esta acción, eliminaranse as imaxes e o modelo da impresión dixital <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> que estean almacenados no teu dispositivo"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Para escoitar unha emisión de audio, primeiro conecta a este teléfono auriculares compatibles co audio de baixo consumo."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Para escoitar unha emisión de audio, primeiro conecta a esta tableta auriculares compatibles co audio de baixo consumo."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Para escoitar unha emisión de audio, primeiro conecta a este dispositivo auriculares compatibles co audio de baixo consumo."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Para escoitar unha emisión de audio, primeiro conecta a este teléfono uns auriculares compatibles co audio de baixo consumo. "<annotation id="link">"Máis información"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Para escoitar unha emisión de audio, primeiro conecta a esta tableta uns auriculares compatibles co audio de baixo consumo. "<annotation id="link">"Máis información"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Para escoitar unha emisión de audio, primeiro conecta a este dispositivo uns auriculares compatibles co audio de baixo consumo. "<annotation id="link">"Máis información"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Este teléfono non admite o audio de baixo consumo, que é necesario para escoitar as emisións de audio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Esta tableta non admite o audio de baixo consumo, que é necesario para escoitar as emisións de audio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Este dispositivo non admite o audio de baixo consumo, que é necesario para escoitar as emisións de audio."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Para empezar a compartir audio, primeiro conecta uns auriculares de audio de baixo consumo ao teléfono. "<annotation id="link">"Máis información sobre os dispositivos compatibles"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Para empezar a compartir audio, primeiro conecta uns auriculares de audio de baixo consumo á tableta. "<annotation id="link">"Máis información sobre os dispositivos compatibles"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Para empezar a compartir audio, primeiro conecta uns auriculares de audio de baixo consumo ao dispositivo. "<annotation id="link">"Máis información sobre os dispositivos compatibles"</annotation></string>
 </resources>
diff --git a/res-product/values-gu/strings.xml b/res-product/values-gu/strings.xml
index d1011cc..d6f77d4 100644
--- a/res-product/values-gu/strings.xml
+++ b/res-product/values-gu/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"ફેસ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પિન જરૂરી છે.\n\nજો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પિન તેને સુરક્ષિત રાખે છે."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"ફેસ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પૅટર્ન જરૂરી છે.\n\nજો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પૅટર્ન તેને સુરક્ષિત રાખે છે."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"ફેસ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પાસવર્ડ જરૂરી છે.\n\nજો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પાસવર્ડ તેને સુરક્ષિત રાખે છે."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"ફેસ અનલૉક અને ફિંગરપ્રિન્ટ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પિન જરૂરી છે.\n\nજો તમારું ટૅબ્લેટ ખોવાઈ જાય કે ચોરાઈ જાય, તો પિન તેને સુરક્ષિત રાખે છે."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"ફેસ અનલૉક અને ફિંગરપ્રિન્ટ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પૅટર્ન જરૂરી છે.\n\nજો તમારું ટૅબ્લેટ ખોવાઈ જાય કે ચોરાઈ જાય, તો પૅટર્ન તેને સુરક્ષિત રાખે છે."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"ફેસ અનલૉક અને ફિંગરપ્રિન્ટ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પાસવર્ડ જરૂરી છે.\n\nજો તમારું ટૅબ્લેટ ખોવાઈ જાય કે ચોરાઈ જાય, તો પાસવર્ડ તેને સુરક્ષિત રાખે છે."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"ફેસ અનલૉક અને ફિંગરપ્રિન્ટ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પિન જરૂરી છે.\n\nજો તમારું ડિવાઇસ ખોવાઈ જાય કે ચોરાઈ જાય, તો પિન તેને સુરક્ષિત રાખે છે."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"ફેસ અનલૉક અને ફિંગરપ્રિન્ટ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પૅટર્ન જરૂરી છે.\n\nજો તમારું ડિવાઇસ ખોવાઈ જાય કે ચોરાઈ જાય, તો પૅટર્ન તેને સુરક્ષિત રાખે છે."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"ફેસ અનલૉક અને ફિંગરપ્રિન્ટ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પાસવર્ડ જરૂરી છે.\n\nજો તમારું ડિવાઇસ ખોવાઈ જાય કે ચોરાઈ જાય, તો પાસવર્ડ તેને સુરક્ષિત રાખે છે."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"ફેસ અનલૉક અને ફિંગરપ્રિન્ટ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પિન જરૂરી છે.\n\nજો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પિન તેને સુરક્ષિત રાખે છે."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"ફેસ અનલૉક અને ફિંગરપ્રિન્ટ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પૅટર્ન જરૂરી છે.\n\nજો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પૅટર્ન તેને સુરક્ષિત રાખે છે."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"ફેસ અનલૉક અને ફિંગરપ્રિન્ટ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પાસવર્ડ જરૂરી છે.\n\nજો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પાસવર્ડ તેને સુરક્ષિત રાખે છે."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"ફિંગરપ્રિન્ટ અનલૉક અને ફેસ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પિન જરૂરી છે.\n\nજો તમારું ટૅબ્લેટ ખોવાઈ જાય કે ચોરાઈ જાય, તો પિન તેને સુરક્ષિત રાખે છે."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"ફિંગરપ્રિન્ટ અનલૉક અને ફેસ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પૅટર્ન જરૂરી છે.\n\nજો તમારું ટૅબ્લેટ ખોવાઈ જાય કે ચોરાઈ જાય, તો પૅટર્ન તેને સુરક્ષિત રાખે છે."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"ફિંગરપ્રિન્ટ અનલૉક અને ફેસ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પાસવર્ડ જરૂરી છે.\n\nજો તમારું ટૅબ્લેટ ખોવાઈ જાય કે ચોરાઈ જાય, તો પાસવર્ડ તેને સુરક્ષિત રાખે છે."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"ફિંગરપ્રિન્ટ અનલૉક અને ફેસ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પિન જરૂરી છે.\n\nજો તમારું ડિવાઇસ ખોવાઈ જાય કે ચોરાઈ જાય, તો પિન તેને સુરક્ષિત રાખે છે."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"ફિંગરપ્રિન્ટ અનલૉક અને ફેસ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પૅટર્ન જરૂરી છે.\n\nજો તમારું ડિવાઇસ ખોવાઈ જાય કે ચોરાઈ જાય, તો પૅટર્ન તેને સુરક્ષિત રાખે છે."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"ફિંગરપ્રિન્ટ અનલૉક અને ફેસ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પાસવર્ડ જરૂરી છે.\n\nજો તમારું ડિવાઇસ ખોવાઈ જાય કે ચોરાઈ જાય, તો પાસવર્ડ તેને સુરક્ષિત રાખે છે."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"ફિંગરપ્રિન્ટ અનલૉક અને ફેસ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પિન જરૂરી છે.\n\nજો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પિન તેને સુરક્ષિત રાખે છે."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"ફિંગરપ્રિન્ટ અનલૉક અને ફેસ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પૅટર્ન જરૂરી છે.\n\nજો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પૅટર્ન તેને સુરક્ષિત રાખે છે."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"ફિંગરપ્રિન્ટ અનલૉક અને ફેસ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પાસવર્ડ જરૂરી છે.\n\nજો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પાસવર્ડ તેને સુરક્ષિત રાખે છે."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"આ તમારા ફોન પર સ્ટોર કરવામાં આવેલી ફિંગરપ્રિન્ટની છબીઓ અને \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' સાથે સંકળાયેલા મૉડલને ડિલીટ કરે છે"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"આ તમારા ટૅબ્લેટ પર સ્ટોર કરવામાં આવેલી ફિંગરપ્રિન્ટની છબીઓ અને \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' સાથે સંકળાયેલા મૉડલને ડિલીટ કરે છે"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"આ તમારા ડિવાઇસ પર સ્ટોર કરવામાં આવેલી ફિંગરપ્રિન્ટ અને \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' સાથે સંકળાયેલા મૉડલને ડિલીટ કરે છે"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"કોઈ ઑડિયો સ્ટ્રીમ સાંભળવા માટે, સૌથી પહેલા LE ઑડિયોને સપોર્ટ કરતા હૅડફોનને આ ફોન સાથે કનેક્ટ કરો."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"કોઈ ઑડિયો સ્ટ્રીમ સાંભળવા માટે, સૌથી પહેલા LE ઑડિયોને સપોર્ટ કરતા હૅડફોનને આ ટૅબ્લેટ સાથે કનેક્ટ કરો."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"કોઈ ઑડિયો સ્ટ્રીમ સાંભળવા માટે, સૌથી પહેલા LE ઑડિયોને સપોર્ટ કરતા હૅડફોનને આ ડિવાઇસ સાથે કનેક્ટ કરો."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"કોઈ ઑડિયો સ્ટ્રીમ સાંભળવા માટે, સૌથી પહેલાં LE ઑડિયોને સપોર્ટ કરતા હૅડફોનને આ ફોન સાથે કનેક્ટ કરો. "<annotation id="link">"વધુ જાણો"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"કોઈ ઑડિયો સ્ટ્રીમ સાંભળવા માટે, સૌથી પહેલાં LE ઑડિયોને સપોર્ટ કરતા હૅડફોનને આ ટૅબ્લેટ સાથે કનેક્ટ કરો. "<annotation id="link">"વધુ જાણો"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"કોઈ ઑડિયો સ્ટ્રીમ સાંભળવા માટે, સૌથી પહેલાં LE ઑડિયોને સપોર્ટ કરતા હૅડફોનને આ ડિવાઇસ સાથે કનેક્ટ કરો. "<annotation id="link">"વધુ જાણો"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"આ ફોન LE ઑડિયોને સપોર્ટ આપતો નથી, જે ઑડિયો સ્ટ્રીમને સાંભળવા માટે જરૂરી છે."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"આ ટૅબ્લેટ LE ઑડિયોને સપોર્ટ આપતું નથી, જે ઑડિયો સ્ટ્રીમને સાંભળવા માટે જરૂરી છે."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"આ ડિવાઇસ LE ઑડિયોને સપોર્ટ આપતું નથી, જે ઑડિયો સ્ટ્રીમને સાંભળવા માટે જરૂરી છે."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"ઑડિયો શેર કરવાનું શરૂ કરવા માટે, સૌથી પહેલાં તમારા ફોન સાથે LE ઑડિયો હૅડફોન કનેક્ટ કરો. "<annotation id="link">"સુસંગત ડિવાઇસ વિશે વધુ જાણો"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"ઑડિયો શેર કરવાનું શરૂ કરવા માટે, સૌથી પહેલાં તમારા ટૅબ્લેટ સાથે LE ઑડિયો હૅડફોન કનેક્ટ કરો. "<annotation id="link">"સુસંગત ડિવાઇસ વિશે વધુ જાણો"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"ઑડિયો શેર કરવાનું શરૂ કરવા માટે, સૌથી પહેલાં તમારા ડિવાઇસ સાથે LE ઑડિયો હૅડફોન કનેક્ટ કરો. "<annotation id="link">"સુસંગત ડિવાઇસ વિશે વધુ જાણો"</annotation></string>
 </resources>
diff --git a/res-product/values-hi/strings.xml b/res-product/values-hi/strings.xml
index 869055a..b92defd 100644
--- a/res-product/values-hi/strings.xml
+++ b/res-product/values-hi/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"फ़ेस अनलॉक की सुविधा सेट अप करने के लिए, पिन की ज़रूरत है.\n\nअगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पिन आपके फ़ोन की सुरक्षा करता है."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"फ़ेस अनलॉक की सुविधा सेट अप करने के लिए, पैटर्न की ज़रूरत है.\n\nअगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पैटर्न आपके फ़ोन की सुरक्षा करता है."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"फ़ेस अनलॉक की सुविधा सेट अप करने के लिए, पासवर्ड की ज़रूरत है.\n\nअगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पासवर्ड आपके फ़ोन की सुरक्षा करता है."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"फ़ेस अनलॉक और फ़िंगरप्रिंट अनलॉक की सुविधा सेट अप करने के लिए, पिन की ज़रूरत है.\n\nअगर आपका टैबलेट खो जाता है या चोरी हो जाता है, तो पिन आपके टैबलेट की सुरक्षा करता है."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"फ़ेस अनलॉक और फ़िंगरप्रिंट अनलॉक की सुविधा सेट अप करने के लिए, पैटर्न की ज़रूरत है.\n\nअगर आपका टैबलेट खो जाता है या चोरी हो जाता है, तो पैटर्न आपके टैबलेट की सुरक्षा करता है."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"फ़ेस अनलॉक और फ़िंगरप्रिंट अनलॉक की सुविधा सेट अप करने के लिए, पासवर्ड की ज़रूरत है.\n\nअगर आपका टैबलेट खो जाता है या चोरी हो जाता है, तो पासवर्ड आपके टैबलेट की सुरक्षा करता है."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"फ़ेस अनलॉक और फ़िंगरप्रिंट अनलॉक की सुविधा सेट अप करने के लिए, पिन की ज़रूरत है.\n\nअगर आपका डिवाइस खो जाता है या चोरी हो जाता है, तो पिन आपके डिवाइस की सुरक्षा करता है."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"फ़ेस अनलॉक और फ़िंगरप्रिंट अनलॉक की सुविधा सेट अप करने के लिए, पैटर्न की ज़रूरत है.\n\nअगर आपका डिवाइस खो जाता है या चोरी हो जाता है, तो पैटर्न आपके डिवाइस की सुरक्षा करता है."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"फ़ेस अनलॉक और फ़िंगरप्रिंट अनलॉक की सुविधा सेट अप करने के लिए, पासवर्ड की ज़रूरत है.\n\nअगर आपका डिवाइस खो जाता है या चोरी हो जाता है, तो पासवर्ड आपके डिवाइस की सुरक्षा करता है."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"फ़ेस अनलॉक और फ़िंगरप्रिंट अनलॉक की सुविधा सेट अप करने के लिए, पिन की ज़रूरत है.\n\nअगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पिन आपके फ़ोन की सुरक्षा करता है."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"फ़ेस अनलॉक और फ़िंगरप्रिंट अनलॉक की सुविधा सेट अप करने के लिए, पैटर्न की ज़रूरत है.\n\nअगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पैटर्न आपके फ़ोन की सुरक्षा करता है."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"फ़ेस अनलॉक और फ़िंगरप्रिंट अनलॉक की सुविधा सेट अप करने के लिए, पासवर्ड की ज़रूरत है.\n\nअगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पासवर्ड आपके फ़ोन की सुरक्षा करता है."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"फ़िंगरप्रिंट अनलॉक और फ़ेस अनलॉक की सुविधा सेट अप करने के लिए, पिन की ज़रूरत है.\n\nअगर आपका टैबलेट खो जाता है या चोरी हो जाता है, तो पिन आपके टैबलेट को सुरक्षित रखता है."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"फ़िंगरप्रिंट अनलॉक और फ़ेस अनलॉक की सुविधा सेट अप करने के लिए, पैटर्न की ज़रूरत है.\n\nअगर आपका टैबलेट खो जाता है या चोरी हो जाता है, तो पैटर्न आपके टैबलेट को सुरक्षित रखता है."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"फ़िंगरप्रिंट अनलॉक और फ़ेस अनलॉक की सुविधा सेट अप करने के लिए, पासवर्ड की ज़रूरत है.\n\nअगर आपका टैबलेट खो जाता है या चोरी हो जाता है, तो पासवर्ड आपके टैबलेट को सुरक्षित रखता है."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"फ़िंगरप्रिंट अनलॉक और फ़ेस अनलॉक की सुविधा सेट अप करने के लिए, पिन की ज़रूरत है.\n\nअगर आपका डिवाइस खो जाता है या चोरी हो जाता है, तो पिन आपके डिवाइस को सुरक्षित रखता है."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"फ़िंगरप्रिंट अनलॉक और फ़ेस अनलॉक की सुविधा सेट अप करने के लिए, पैटर्न की ज़रूरत है.\n\nअगर आपका डिवाइस खो जाता है या चोरी हो जाता है, तो पैटर्न आपके डिवाइस को सुरक्षित रखता है."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"फ़िंगरप्रिंट अनलॉक और फ़ेस अनलॉक की सुविधा सेट अप करने के लिए, पासवर्ड की ज़रूरत है.\n\nअगर आपका डिवाइस खो जाता है या चोरी हो जाता है, तो पासवर्ड आपके डिवाइस को सुरक्षित रखता है."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"फ़िंगरप्रिंट अनलॉक और फ़ेस अनलॉक की सुविधा सेट अप करने के लिए, पिन की ज़रूरत है.\n\nअगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पिन आपके फ़ोन को सुरक्षित रखता है."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"फ़िंगरप्रिंट अनलॉकऔर फ़ेस अनलॉक की सुविधा सेट अप करने के लिए, पैटर्न की ज़रूरत है.\n\nअगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पैटर्न आपके फ़ोन को सुरक्षित रखता है."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"फ़िंगरप्रिंट अनलॉक और फ़ेस अनलॉक की सुविधा सेट अप करने के लिए, पासवर्ड की ज़रूरत है.\n\nअगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पासवर्ड आपके फ़ोन को सुरक्षित रखता है."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"ऐसा करने से, आपके फ़ोन पर सेव किए गए \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' से जुड़े फ़िंगरप्रिंट की इमेज और मॉडल मिट जाएंगे"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"ऐसा करने से, आपके टैबलेट पर मौजूद \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' से जुड़ी फ़िंगरप्रिंट की इमेज और मॉडल मिट जाएंगे"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"ऐसा करने से, आपके डिवाइस पर मौजूद <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> से जुड़ी फ़िंगरप्रिंट की इमेज और मॉडल मिट जाएंगे"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"कोई ऑडियो स्ट्रीम सुनने के लिए, पहले इस फ़ोन से एक ऐसा हेडफ़ोन कनेक्ट करें जिस पर LE Audio काम करता है."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"कोई ऑडियो स्ट्रीम सुनने के लिए, पहले इस टैबलेट से एक ऐसा हेडफ़ोन कनेक्ट करें जिस पर LE Audio काम करता है."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"कोई ऑडियो स्ट्रीम सुनने के लिए, पहले इस डिवाइस से एक ऐसा हेडफ़ोन कनेक्ट करें जिस पर LE Audio काम करता है."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"कोई ऑडियो स्ट्रीम सुनने के लिए, सबसे पहले LE Audio के साथ काम करने वाले हेडफ़ोन को इस फ़ोन से कनेक्ट करें. "<annotation id="link">"ज़्यादा जानें"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"कोई ऑडियो स्ट्रीम सुनने के लिए, सबसे पहले LE Audio के साथ काम करने वाले हेडफ़ोन को इस टैबलेट से कनेक्ट करें. "<annotation id="link">"ज़्यादा जानें"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"कोई ऑडियो स्ट्रीम सुनने के लिए, सबसे पहले LE Audio के साथ काम करने वाले हेडफ़ोन को इस डिवाइस से कनेक्ट करें. "<annotation id="link">"ज़्यादा जानें"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"इस फ़ोन पर, ऑडियो स्ट्रीम सुनने के लिए ज़रूरी LE Audio काम नहीं करता."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"इस टैबलेट पर, ऑडियो स्ट्रीम सुनने के लिए ज़रूरी LE Audio काम नहीं करता."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"इस डिवाइस पर, ऑडियो स्ट्रीम सुनने के लिए ज़रूरी LE Audio काम नहीं करता."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"ऑडियो शेयर करने के लिए, सबसे पहले LE Audio के साथ काम करने वाले हेडफ़ोन को अपने फ़ोन से कनेक्ट करें. "<annotation id="link">"इस ऐप्लिकेशन के साथ काम करने वाले डिवाइसों के बारे में ज़्यादा जानें"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"ऑडियो शेयर करने के लिए, सबसे पहले LE Audio के साथ काम करने वाले हेडफ़ोन को अपने टैबलेट से कनेक्ट करें. "<annotation id="link">"इस ऐप्लिकेशन के साथ काम करने वाले डिवाइसों के बारे में ज़्यादा जानें"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"ऑडियो शेयर करने के लिए, सबसे पहले LE Audio के साथ काम करने वाले हेडफ़ोन को अपने डिवाइस से कनेक्ट करें. "<annotation id="link">"इस ऐप्लिकेशन के साथ काम करने वाले डिवाइसों के बारे में ज़्यादा जानें"</annotation></string>
 </resources>
diff --git a/res-product/values-hr/strings.xml b/res-product/values-hr/strings.xml
index 3ba5772..e41cb9f 100644
--- a/res-product/values-hr/strings.xml
+++ b/res-product/values-hr/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Za postavljanje otključavanja licem potreban je PIN.\n\nPIN štiti telefon u slučaju gubitka ili krađe."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Za postavljanje otključavanja licem potreban je uzorak.\n\nUzorak štiti telefon u slučaju gubitka ili krađe."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Za postavljanje otključavanja licem potrebna je zaporka.\n\nZaporka štiti telefon u slučaju gubitka ili krađe."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Za postavljanje otključavanja licem ili otključavanja otiskom prsta potreban je PIN.\n\nPIN štiti tablet u slučaju gubitka ili krađe."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Za postavljanje otključavanja licem ili otključavanja otiskom prsta potreban je uzorak.\n\nUzorak štiti tablet u slučaju gubitka ili krađe."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Za postavljanje otključavanja licem ili otključavanja otiskom prsta potrebna je zaporka.\n\nZaporka štiti tablet u slučaju gubitka ili krađe."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Za postavljanje otključavanja licem ili otključavanja otiskom prsta potreban je PIN.\n\nPIN štiti uređaj u slučaju gubitka ili krađe."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Za postavljanje otključavanja licem ili otključavanja otiskom prsta potreban je uzorak.\n\nUzorak štiti uređaj u slučaju gubitka ili krađe."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Za postavljanje otključavanja licem ili otključavanja otiskom prsta potrebna je zaporka.\n\nZaporka štiti uređaj u slučaju gubitka ili krađe."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Za postavljanje otključavanja licem ili otključavanja otiskom prsta potreban je PIN.\n\nPIN štiti telefon u slučaju gubitka ili krađe."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Za postavljanje otključavanja licem ili otključavanja otiskom prsta potreban je uzorak.\n\nUzorak štiti telefon u slučaju gubitka ili krađe."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Za postavljanje otključavanja licem ili otključavanja otiskom prsta potrebna je zaporka.\n\nZaporka štiti telefon u slučaju gubitka ili krađe."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Za postavljanje otključavanja otiskom prsta ili otključavanja licem potreban je PIN.\n\nPIN štiti tablet u slučaju gubitka ili krađe."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Za postavljanje otključavanja otiskom prsta ili otključavanja licem potreban je uzorak.\n\nUzorak štiti tablet u slučaju gubitka ili krađe."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Za postavljanje otključavanja otiskom prsta ili otključavanja licem potrebna je zaporka.\n\nZaporka štiti tablet u slučaju gubitka ili krađe."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Za postavljanje otključavanja otiskom prsta ili otključavanja licem potreban je PIN.\n\nPIN štiti uređaj u slučaju gubitka ili krađe."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Za postavljanje otključavanja otiskom prsta ili otključavanja licem potreban je uzorak.\n\nUzorak štiti uređaj u slučaju gubitka ili krađe."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Za postavljanje otključavanja otiskom prsta ili otključavanja licem potrebna je zaporka.\n\nZaporka štiti uređaj u slučaju gubitka ili krađe."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Za postavljanje otključavanja otiskom prsta ili otključavanja licem potreban je PIN.\n\nPIN štiti telefon u slučaju gubitka ili krađe."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Za postavljanje otključavanja otiskom prsta ili otključavanja licem potreban je uzorak.\n\nUzorak štiti telefon u slučaju gubitka ili krađe."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Za postavljanje otključavanja otiskom prsta ili otključavanja licem potrebna je zaporka.\n\nZaporka štiti telefon u slučaju gubitka ili krađe."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Time se brišu slike i model otiska prsta povezani s otiskom prsta <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> koji su pohranjeni na vašem telefonu"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Time se brišu slike i model otiska prsta povezani s otiskom prsta <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> koji su pohranjeni na vašem tabletu"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Time se brišu slike i model otiska prsta povezani s otiskom prsta <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> koji su pohranjeni na vašem uređaju"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Da biste slušali audiostream, najprije povežite slušalice koje podržavaju LE Audio s ovim telefonom."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Da biste slušali audiostream, najprije povežite slušalice koje podržavaju LE Audio s ovim tabletom."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Da biste slušali audiostream, najprije povežite slušalice koje podržavaju LE Audio s ovim uređajem."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Da biste slušali audiostream, najprije povežite slušalice koje podržavaju LE Audio s ovim telefonom. "<annotation id="link">"Saznajte više"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Da biste slušali audiostream, najprije povežite slušalice koje podržavaju LE Audio s ovim tabletom. "<annotation id="link">"Saznajte više"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Da biste slušali audiostream, najprije povežite slušalice koje podržavaju LE Audio s ovim uređajem. "<annotation id="link">"Saznajte više"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Ovaj telefon ne podržava aplikaciju LE Audio, koja je potrebna za slušanje audiostreamova."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Ovaj tablet ne podržava aplikaciju LE Audio, koja je potrebna za slušanje audiostreamova."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Ovaj uređaj ne podržava aplikaciju LE Audio, koja je potrebna za slušanje audiostreamova."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Da biste započeli s dijeljenjem zvuka, najprije povežite LE Audio slušalice sa svojim telefonom. "<annotation id="link">"Saznajte više o kompatibilnim uređajima"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Da biste započeli s dijeljenjem zvuka, najprije povežite LE Audio slušalice sa svojim tabletom. "<annotation id="link">"Saznajte više o kompatibilnim uređajima"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Da biste započeli s dijeljenjem zvuka, najprije povežite LE Audio slušalice sa svojim uređajem. "<annotation id="link">"Saznajte više o kompatibilnim uređajima"</annotation></string>
 </resources>
diff --git a/res-product/values-hu/strings.xml b/res-product/values-hu/strings.xml
index 00f3af2..af43c7a 100644
--- a/res-product/values-hu/strings.xml
+++ b/res-product/values-hu/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"PIN-kód szükséges az Arcalapú feloldás beállításához.\n\nPIN-kód védi a telefont, ha elvész vagy ellopják."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Minta szükséges az Arcalapú feloldás beállításához.\n\nMinta védi a telefont, ha elvész vagy ellopják."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Jelszó szükséges az Arcalapú feloldás beállításához.\n\nJelszó védi a telefont, ha elvész vagy ellopják."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"PIN-kód szükséges az Arcalapú feloldás és a Feloldás ujjlenyomattal funkció beállításához.\n\nPIN-kód védi a táblagépet, ha elvész vagy ellopják."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Minta szükséges az Arcalapú feloldás és a Feloldás ujjlenyomattal funkció beállításához.\n\nMinta védi a táblagépet, ha elvész vagy ellopják."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Jelszó szükséges az Arcalapú feloldás és a Feloldás ujjlenyomattal funkció beállításához.\n\nJelszó védi a táblagépet, ha elvész vagy ellopják."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"PIN-kód szükséges az Arcalapú feloldás és a Feloldás ujjlenyomattal funkció beállításához.\n\nPIN-kód védi az eszközt, ha elvész vagy ellopják."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Minta szükséges az Arcalapú feloldás és a Feloldás ujjlenyomattal funkció beállításához.\n\nMinta védi az eszközt, ha elvész vagy ellopják."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Jelszó szükséges az Arcalapú feloldás és a Feloldás ujjlenyomattal funkció beállításához.\n\nJelszó védi az eszközt, ha elvész vagy ellopják."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"PIN-kód szükséges az Arcalapú feloldás és a Feloldás ujjlenyomattal funkció beállításához.\n\nA PIN-kód megvédi a telefont, ha elvész vagy ellopják."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Minta szükséges az Arcalapú feloldás és a Feloldás ujjlenyomattal funkció beállításához.\n\nA minta megvédi a telefont, ha elvész vagy ellopják."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Jelszó szükséges az Arcalapú feloldás és a Feloldás ujjlenyomattal funkció beállításához.\n\nJelszó védi a telefont, ha elvész vagy ellopják."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"PIN-kód szükséges a Feloldás ujjlenyomattal és az Arcalapú feloldás funkció beállításához.\n\nPIN-kód védi a táblagépet, ha elvész vagy ellopják."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Minta szükséges a Feloldás ujjlenyomattal és az Arcalapú feloldás funkció beállításához.\n\nMinta védi a táblagépet, ha elvész vagy ellopják."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Jelszó szükséges a Feloldás ujjlenyomattal és az Arcalapú feloldás funkció beállításához.\n\nJelszó védi a táblagépet, ha elvész vagy ellopják."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"PIN-kód szükséges a Feloldás ujjlenyomattal és az Arcalapú feloldás funkció beállításához.\n\nPIN-kód védi az eszközt, ha elvész vagy ellopják."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Minta szükséges a Feloldás ujjlenyomattal és az Arcalapú feloldás funkció beállításához.\n\nMinta védi az eszközt, ha elvész vagy ellopják."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Jelszó szükséges a Feloldás ujjlenyomattal és az Arcalapú feloldás funkció beállításához.\n\nJelszó védi az eszközt, ha elvész vagy ellopják."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"PIN-kód szükséges a Feloldás ujjlenyomattal és az Arcalapú feloldás funkció beállításához.\n\nPIN-kód védi a telefont, ha elvész vagy ellopják."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Minta szükséges a Feloldás ujjlenyomattal és az Arcalapú feloldás funkció beállításához.\n\nMinta védi a telefont, ha elvész vagy ellopják."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Jelszó szükséges a Feloldás ujjlenyomattal és az Arcalapú feloldás funkció beállításához.\n\nJelszó védi a telefont, ha elvész vagy ellopják."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Ezzel törli a telefonján tárolt „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>” ujjlenyomattal kapcsolatos ujjlenyomatképeket és -modellt."</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Ezzel törli a táblagépén tárolt „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>” ujjlenyomattal kapcsolatos ujjlenyomatképeket és -modellt"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Ezzel törli az eszközén tárolt „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>” ujjlenyomattal kapcsolatos ujjlenyomatképeket és -modellt"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Ha audiostreamet szeretne hallgatni, először csatlakoztasson alacsony energiaszintű hangátvitelt támogató fejhallgatót ehhez a telefonhoz."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Ha audiostreamet szeretne hallgatni, először csatlakoztasson alacsony energiaszintű hangátvitelt támogató fejhallgatót ehhez a táblagéphez."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Ha audiostreamet szeretne hallgatni, először csatlakoztasson alacsony energiaszintű hangátvitelt támogató fejhallgatót ehhez az eszközhöz."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Ha audiostreamet szeretne hallgatni, először csatlakoztasson alacsony energiaszintű hangátvitelt támogató fejhallgatót ehhez a telefonhoz. "<annotation id="link">"További információ"</annotation>"."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Ha audiostreamet szeretne hallgatni, először csatlakoztasson alacsony energiaszintű hangátvitelt támogató fejhallgatót ehhez a táblagéphez. "<annotation id="link">"További információ"</annotation>"."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Ha audiostreamet szeretne hallgatni, először csatlakoztasson alacsony energiaszintű hangátvitelt támogató fejhallgatót ehhez az eszközhöz. "<annotation id="link">"További információ"</annotation>"."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Ez a telefon nem támogatja az alacsony energiaszintű hangátvitelt, amelyre szükség van az audiostreamek hallgatásához."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Ez a táblagép nem támogatja az alacsony energiaszintű hangátvitelt, amelyre szükség van az audiostreamek hallgatásához."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Ez az eszköz nem támogatja az alacsony energiaszintű hangátvitelt, amelyre szükség van az audiostreamek hallgatásához."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"A hang megosztásának megkezdéséhez először csatlakoztasson egy Alacsony energiaszintű hangátvitelt támogató fejhallgatót a telefonjához. "<annotation id="link">"További információ a kompatibilis eszközökről."</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"A hang megosztásának megkezdéséhez először csatlakoztasson egy Alacsony energiaszintű hangátvitelt támogató fejhallgatót a táblagépéhez. "<annotation id="link">"További információ a kompatibilis eszközökről."</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"A hang megosztásának megkezdéséhez először csatlakoztasson egy Alacsony energiaszintű hangátvitelt támogató fejhallgatót az eszközéhez. "<annotation id="link">"További információ a kompatibilis eszközökről."</annotation></string>
 </resources>
diff --git a/res-product/values-hy/strings.xml b/res-product/values-hy/strings.xml
index bcac519..6a4ef91 100644
--- a/res-product/values-hy/strings.xml
+++ b/res-product/values-hy/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Դեմքով ապակողպումը կարգավորելու համար անհրաժեշտ է PIN կոդ։\n\nPIN կոդի միջոցով դուք կարող եք պաշտպանել հեռախոսը, եթե այն կորչի կամ գողանան։"</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Դեմքով ապակողպումը կարգավորելու համար անհրաժեշտ է նախշ։\n\nՆախշի միջոցով դուք կարող եք պաշտպանել հեռախոսը, եթե այն կորչի կամ գողանան։"</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Դեմքով ապակողպումը կարգավորելու համար անհրաժեշտ է գաղտնաբառ։\n\nԳաղտնաբառի միջոցով դուք կարող եք պաշտպանել հեռախոսը, եթե այն կորչի կամ գողանան։"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է PIN կոդ։\n\nPIN կոդի միջոցով դուք կարող եք պաշտպանել պլանշետը, եթե այն կորչի կամ գողանան։"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է նախշ։\n\nՆախշի միջոցով դուք կարող եք պաշտպանել պլանշետը, եթե այն կորչի կամ գողանան։"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է գաղտնաբառ։\n\nԳաղտնաբառի միջոցով դուք կարող եք պաշտպանել պլանշետը, եթե այն կորչի կամ գողանան։"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է PIN կոդ։\n\nPIN կոդի միջոցով դուք կարող եք պաշտպանել սարքը, եթե այն կորչի կամ գողանան։"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է նախշ։\n\nՆախշի միջոցով դուք կարող եք պաշտպանել սարքը, եթե այն կորչի կամ գողանան։"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է գաղտնաբառ։\n\nԳաղտնաբառի միջոցով դուք կարող եք պաշտպանել սարքը, եթե այն կորչի կամ գողանան։"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է PIN կոդ։\n\nPIN կոդի միջոցով դուք կարող եք պաշտպանել հեռախոսը, եթե այն կորչի կամ գողանան։"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է նախշ։\n\nՆախշի միջոցով դուք կարող եք պաշտպանել հեռախոսը, եթե այն կորչի կամ գողանան։"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է գաղտնաբառ։\n\nԳաղտնաբառի միջոցով դուք կարող եք պաշտպանել հեռախոսը, եթե այն կորչի կամ գողանան։"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է PIN կոդ։\n\nPIN կոդի միջոցով դուք կարող եք պաշտպանել պլանշետը, եթե այն կորչի կամ գողանան։"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է նախշ։\n\nՆախշի միջոցով դուք կարող եք պաշտպանել պլանշետը, եթե այն կորչի կամ գողանան։"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է գաղտնաբառ։\n\nԳաղտնաբառի միջոցով դուք կարող եք պաշտպանել պլանշետը, եթե այն կորչի կամ գողանան։"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է PIN կոդ։\n\nPIN կոդի միջոցով դուք կարող եք պաշտպանել սարքը, եթե այն կորչի կամ գողանան։"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է նախշ։\n\nՆախշի միջոցով դուք կարող եք պաշտպանել սարքը, եթե այն կորչի կամ գողանան։"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է գաղտնաբառ։\n\nԳաղտնաբառի միջոցով դուք կարող եք պաշտպանել սարքը, եթե այն կորչի կամ գողանան։"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է PIN կոդ։\n\nPIN կոդի միջոցով դուք կարող եք պաշտպանել հեռախոսը, եթե այն կորչի կամ գողանան։"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է նախշ։\n\nՆախշի միջոցով դուք կարող եք պաշտպանել հեռախոսը, եթե այն կորչի կամ գողանան։"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է գաղտնաբառ։\n\nԳաղտնաբառի միջոցով դուք կարող եք պաշտպանել հեռախոսը, եթե այն կորչի կամ գողանան։"</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"«<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» մատնահետքի հետ կապված պատկերներն ու նմուշը, որոնք պահված են ձեր հեռախոսում, կջնջվեն"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"«<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» մատնահետքի հետ կապված պատկերներն ու նմուշը, որոնք պահված են ձեր հեռախոսում, կջնջվեն"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"«<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» մատնահետքի պատկերներն ու նմուշը, որոնք պահված են ձեր սարքում, կջնջվեն"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Աուդիո հոսք լսելու համար նախ այս հեռախոսին միացրեք ականջակալ, որն աջակցում է LE Audio։"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Աուդիո հոսք լսելու համար նախ այս պլանշետին միացրեք ականջակալ, որն աջակցում է LE Audio։"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Աուդիո հոսք լսելու համար նախ այս սարքին միացրեք ականջակալ, որն աջակցում է LE Audio։"</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Աուդիո հոսք լսելու համար նախ այս հեռախոսին միացրեք ականջակալ, որն աջակցում է LE Audio։ "<annotation id="link">"Իմանալ ավելին"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Աուդիո հոսք լսելու համար նախ այս պլանշետին միացրեք ականջակալ, որն աջակցում է LE Audio։ "<annotation id="link">"Իմանալ ավելին"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Աուդիո հոսք լսելու համար նախ այս սարքին միացրեք ականջակալ, որն աջակցում է LE Audio։ "<annotation id="link">"Իմանալ ավելին"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Այս հեռախոսը չի աջակցում LE Audio-ն, որն անհրաժեշտ է աուդիո հոսքեր լսելու համար։"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Այս պլանշետը չի աջակցում LE Audio-ն, որն անհրաժեշտ է աուդիո հոսքեր լսելու համար։"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Այս սարքը չի աջակցում LE Audio-ն, որն անհրաժեշտ է աուդիո հոսքեր լսելու համար։"</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Աուդիոյի փոխանցումը սկսելու համար նախ LE Audio ականջակալ միացրեք ձեր հեռախոսին։ "<annotation id="link">"Իմանալ ավելին համատեղելի սարքերի մասին"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Աուդիոյի փոխանցումը սկսելու համար նախ LE Audio ականջակալ միացրեք ձեր պլանշետին։ "<annotation id="link">"Իմանալ ավելին համատեղելի սարքերի մասին"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Աուդիոյի փոխանցումը սկսելու համար նախ LE Audio ականջակալ միացրեք ձեր սարքին։ "<annotation id="link">"Իմանալ ավելին համատեղելի սարքերի մասին"</annotation></string>
 </resources>
diff --git a/res-product/values-in/strings.xml b/res-product/values-in/strings.xml
index 7a8ebcc..d965fff 100644
--- a/res-product/values-in/strings.xml
+++ b/res-product/values-in/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Perlu PIN untuk menyiapkan Buka dengan Wajah.\n\nPIN melindungi ponsel jika hilang atau dicuri."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Perlu pola untuk menyiapkan Buka dengan Wajah.\n\nPola melindungi ponsel jika hilang atau dicuri."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Perlu sandi untuk menyiapkan Buka dengan Wajah.\n\nSandi melindungi ponsel jika hilang atau dicuri."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Perlu PIN untuk menyiapkan Buka dengan Wajah dan Buka dengan Sidik Jari.\n\nPIN melindungi tablet jika hilang atau dicuri."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Perlu pola untuk menyiapkan Buka dengan Wajah dan Buka dengan Sidik Jari.\n\nPola melindungi tablet jika hilang atau dicuri."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Perlu sandi untuk menyiapkan Buka dengan Wajah dan Buka dengan Sidik Jari.\n\nSandi melindungi tablet jika hilang atau dicuri."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Perlu PIN untuk menyiapkan Buka dengan Wajah dan Buka dengan Sidik Jari.\n\nPIN melindungi perangkat jika hilang atau dicuri."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Perlu pola untuk menyiapkan Buka dengan Wajah dan Buka dengan Sidik Jari.\n\nPola melindungi perangkat jika hilang atau dicuri."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Perlu sandi untuk menyiapkan Buka dengan Wajah dan Buka dengan Sidik Jari.\n\nSandi melindungi perangkat jika hilang atau dicuri."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Perlu PIN untuk menyiapkan Buka dengan Wajah dan Buka dengan Sidik Jari.\n\nPIN melindungi ponsel jika hilang atau dicuri."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Perlu pola untuk menyiapkan Buka dengan Wajah dan Buka dengan Sidik Jari.\n\nPola melindungi ponsel jika hilang atau dicuri."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Perlu sandi untuk menyiapkan Buka dengan Wajah dan Buka dengan Sidik Jari.\n\nSandi melindungi ponsel jika hilang atau dicuri."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Memerlukan PIN untuk menyiapkan Buka dengan Sidik Jari dan Buka dengan Wajah.\n\nPIN melindungi tablet jika tablet hilang atau dicuri."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Memerlukan pola untuk menyiapkan Buka dengan Sidik Jari dan Buka dengan Wajah.\n\nPola melindungi tablet jika tablet hilang atau dicuri."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Memerlukan sandi untuk menyiapkan Buka dengan Sidik Jari dan Buka dengan Wajah.\n\nSandi melindungi tablet jika tablet hilang atau dicuri."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Memerlukan PIN untuk menyiapkan Buka dengan Sidik Jari dan Buka dengan Wajah.\n\nPIN melindungi perangkat jika perangkat hilang atau dicuri."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Memerlukan pola untuk menyiapkan Buka dengan Sidik Jari dan Buka dengan Wajah.\n\nPola melindungi perangkat jika perangkat hilang atau dicuri."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Memerlukan sandi untuk menyiapkan Buka dengan Sidik Jari dan Buka dengan Wajah.\n\nSandi melindungi perangkat jika perangkat hilang atau dicuri."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Memerlukan PIN untuk menyiapkan Buka dengan Sidik Jari dan Buka dengan Wajah.\n\nPIN melindungi ponsel jika ponsel hilang atau dicuri."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Memerlukan pola untuk menyiapkan Buka dengan Sidik Jari dan Buka dengan Wajah.\n\nPola melindungi ponsel jika ponsel hilang atau dicuri."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Memerlukan sandi untuk menyiapkan Buka dengan Sidik Jari dan Buka dengan Wajah.\n\nSandi melindungi ponsel jika ponsel hilang atau dicuri."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Tindakan ini akan menghapus gambar dan model sidik jari yang terkait dengan \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' yang disimpan di ponsel Anda"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Tindakan ini akan menghapus gambar dan model sidik jari yang terkait dengan \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' yang disimpan di tablet Anda"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Tindakan ini akan menghapus gambar dan model sidik jari yang terkait dengan \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' yang disimpan di perangkat Anda"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Untuk mendengarkan streaming audio, hubungkan terlebih dahulu headphone yang mendukung LE Audio ke ponsel ini."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Untuk mendengarkan streaming audio, hubungkan terlebih dahulu headphone yang mendukung LE Audio ke tablet ini."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Untuk mendengarkan streaming audio, hubungkan terlebih dahulu headphone yang mendukung LE Audio ke perangkat ini."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Untuk mendengarkan streaming audio, hubungkan terlebih dahulu headphone yang mendukung LE Audio ke ponsel ini. "<annotation id="link">"Pelajari lebih lanjut"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Untuk mendengarkan streaming audio, hubungkan terlebih dahulu headphone yang mendukung LE Audio ke tablet ini. "<annotation id="link">"Pelajari lebih lanjut"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Untuk mendengarkan streaming audio, hubungkan terlebih dahulu headphone yang mendukung LE Audio ke perangkat ini. "<annotation id="link">"Pelajari lebih lanjut"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Ponsel ini tidak mendukung LE Audio, yang diperlukan untuk mendengarkan streaming audio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Tablet ini tidak mendukung LE Audio, yang diperlukan untuk mendengarkan streaming audio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Perangkat ini tidak mendukung LE Audio, yang diperlukan untuk mendengarkan streaming audio."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Untuk mulai berbagi audio, hubungkan headphone LE Audio ke ponsel Anda terlebih dahulu. "<annotation id="link">"Pelajari lebih lanjut perangkat yang kompatibel"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Untuk mulai berbagi audio, hubungkan headphone LE Audio ke tablet Anda terlebih dahulu. "<annotation id="link">"Pelajari lebih lanjut perangkat yang kompatibel"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Untuk mulai berbagi audio, hubungkan headphone LE Audio ke perangkat Anda terlebih dahulu. "<annotation id="link">"Pelajari lebih lanjut perangkat yang kompatibel"</annotation></string>
 </resources>
diff --git a/res-product/values-is/strings.xml b/res-product/values-is/strings.xml
index d6e8d4a..4e0d2a8 100644
--- a/res-product/values-is/strings.xml
+++ b/res-product/values-is/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"PIN-númer er áskilið til að setja upp andlitskenni.\n\nPIN-númer verndar símann ef hann týnist eða ef honum er stolið."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Mynstur er áskilið til að setja upp andlitskenni.\n\nMynstur verndar símann ef hann týnist eða ef honum er stolið."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Aðgangsorð er áskilið til að setja upp andlitskenni.\n\nAðgangsorð verndar símann ef hann týnist eða ef honum er stolið."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"PIN-númer er áskilið til að setja upp andlits- og fingrafarskenni.\n\nPIN-númer verndar spjaldtölvuna ef hún týnist eða ef henni er stolið."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Mynstur er áskilið til að setja upp andlits- og fingrafarskenni.\n\nMynstur verndar spjaldtölvuna ef hún týnist eða ef henni er stolið."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Aðgangsorð er áskilið til að setja upp andlits- og fingrafarskenni.\n\nAðgangsorð verndar spjaldtölvuna ef hún týnist eða ef henni er stolið."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"PIN-númer er áskilið til að setja upp andlits- og fingrafarskenni.\n\nPIN-númer verndar tækið ef það týnist eða ef því er stolið."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Mynstur er áskilið til að setja upp andlits- og fingrafarskenni.\n\nMynstur verndar tækið ef það týnist eða ef því er stolið."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Aðgangsorð er áskilið til að setja upp andlits- og fingrafarskenni.\n\nAðgangsorð verndar tækið ef það týnist eða ef því er stolið."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"PIN-númer er áskilið til að setja upp andlits- og fingrafarskenni.\n\nPIN-númer verndar símann ef hann týnist eða ef honum er stolið."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Mynstur er áskilið til að setja upp andlits- og fingrafarskenni.\n\nMynstur verndar símann ef hann týnist eða ef honum er stolið."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Aðgangsorð er áskilið til að setja upp andlits- og fingrafarskenni.\n\nAðgangsorð verndar símann ef hann týnist eða ef honum er stolið."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"PIN-númers er krafist fyrir uppsetningu á andlits- og fingrafarskenni.\n\nPIN-númer verndar spjaldtölvuna ef hún týnist eða henni er stolið."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Mynsturs er krafist fyrir uppsetningu á andlits- og fingrafarskenni.\n\nMynstur verndar spjaldtölvuna ef hún týnist eða henni er stolið."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Aðgangsorðs er krafist fyrir uppsetningu á andlits- og fingrafarskenni.\n\nAðgangsorð verndar spjaldtölvuna ef hún týnist eða henni er stolið."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"PIN-númers er krafist fyrir uppsetningu á andlits- og fingrafarskenni.\n\nPIN-númer verndar tækið ef það týnist eða því er stolið."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Mynsturs er krafist fyrir uppsetningu á andlits- og fingrafarskenni.\n\nMynstur verndar tækið ef það týnist eða því er stolið."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Aðgangsorðs er krafist fyrir uppsetningu á andlits- og fingrafarskenni.\n\nAðgangsorð verndar tækið ef það týnist eða því er stolið."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"PIN-númers er krafist fyrir uppsetningu á andlits- og fingrafarskenni.\n\nPIN-númer verndar símann ef hann týnist eða honum er stolið."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Mynsturs er krafist fyrir uppsetningu á andlits- og fingrafarskenni.\n\nMynstur verndar símann ef hann týnist eða honum er stolið."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Aðgangsorðs er krafist fyrir uppsetningu á andlits- og fingrafarskenni.\n\nAðgangsorð verndar símann ef hann týnist eða honum er stolið."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Þetta eyðir fingrafaramyndum og -líkani sem tengist „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ og er vistað í símanum"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Þetta eyðir fingrafaramyndum og -líkani sem tengist „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ og er vistað í spjaldtölvunni"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Þetta eyðir fingrafaramyndum og -líkani sem tengjast „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ og eru vistuð í tækinu"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Til að hlusta á hljóðstreymi þarftu fyrst að tengja heyrnartól sem styðja LE-hljóð við þennan síma."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Til að hlusta á hljóðstreymi þarftu fyrst að tengja heyrnartól sem styðja LE-hljóð við þessa spjaldtölvu."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Til að hlusta á hljóðstreymi þarftu fyrst að tengja heyrnartól sem styðja LE-hljóð við þetta tæki."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Til að hlusta á hljóðstreymi þarftu fyrst að tengja heyrnartól sem styðja LE-hljóð við þennan síma. "<annotation id="link">"Nánar"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Til að hlusta á hljóðstreymi þarftu fyrst að tengja heyrnartól sem styðja LE-hljóð við þessa spjaldtölvu. "<annotation id="link">"Nánar"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Til að hlusta á hljóðstreymi þarftu fyrst að tengja heyrnartól sem styðja LE-hljóð við þetta tæki. "<annotation id="link">"Nánar"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Þessi sími styður ekki LE-hljóð en þess er krafist til að geta hlustað á hljóðstreymi."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Þessi spjaldtölva styður ekki LE-hljóð en þess er krafist til að geta hlustað á hljóðstreymi."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Þetta tæki styður ekki LE-hljóð en þess er krafist til að geta hlustað á hljóðstreymi."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Til að byrja að deila hljóði skaltu fyrst tengja heyrnartól fyrir LE-hljóð við símann. "<annotation id="link">"Frekari upplýsingar um samhæf tæki"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Til að byrja að deila hljóði skaltu fyrst tengja heyrnartól fyrir LE-hljóð við spjaldtölvuna. "<annotation id="link">"Frekari upplýsingar um samhæf tæki"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Til að byrja að deila hljóði skaltu fyrst tengja heyrnartól fyrir LE-hljóð við tækið. "<annotation id="link">"Frekari upplýsingar um samhæf tæki"</annotation></string>
 </resources>
diff --git a/res-product/values-it-feminine/strings.xml b/res-product/values-it-feminine/strings.xml
new file mode 100644
index 0000000..d7f3aa0
--- /dev/null
+++ b/res-product/values-it-feminine/strings.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (C) 2022 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="main_clear_other_users_present" product="default" msgid="7750368595882863399">\n\n"Sono presenti altre utenti su questo dispositivo.\n"</string>
+</resources>
diff --git a/res-product/values-it-masculine/strings.xml b/res-product/values-it-masculine/strings.xml
new file mode 100644
index 0000000..d4e98e4
--- /dev/null
+++ b/res-product/values-it-masculine/strings.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (C) 2022 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="main_clear_other_users_present" product="default" msgid="7750368595882863399">\n\n"Sono presenti altri utenti su questo dispositivo.\n"</string>
+</resources>
diff --git a/res-product/values-it-neuter/strings.xml b/res-product/values-it-neuter/strings.xml
new file mode 100644
index 0000000..160a6d9
--- /dev/null
+++ b/res-product/values-it-neuter/strings.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (C) 2022 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="main_clear_other_users_present" product="default" msgid="7750368595882863399">\n\n"Sono presenti altrɜ utenti su questo dispositivo.\n"</string>
+</resources>
diff --git a/res-product/values-it/strings.xml b/res-product/values-it/strings.xml
index 3aa20d1..065c7be 100644
--- a/res-product/values-it/strings.xml
+++ b/res-product/values-it/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"È necessario un PIN per configurare lo Sblocco con il Volto.\n\nIl PIN protegge il telefono se viene smarrito o rubato."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"È necessaria una sequenza per configurare lo Sblocco con il Volto.\n\nLa sequenza protegge il telefono se viene smarrito o rubato."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"È necessaria una password per configurare lo Sblocco con il Volto.\n\nLa password protegge il telefono se viene smarrito o rubato."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"È necessario un PIN per configurare lo Sblocco con il Volto e lo Sblocco con l\'Impronta.\n\nIl PIN protegge il tablet se viene smarrito o rubato."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"È necessaria una sequenza per configurare lo Sblocco con il Volto e lo Sblocco con l\'Impronta.\n\nLa sequenza protegge il tablet se viene smarrito o rubato."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"È necessaria una password per configurare lo Sblocco con il Volto e lo Sblocco con l\'Impronta.\n\nLa password protegge il tablet se viene smarrito o rubato."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"È necessario un PIN per configurare lo Sblocco con il Volto e con l\'impronta.\n\nIl PIN protegge il dispositivo se viene smarrito o rubato."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"È necessaria una sequenza per configurare lo Sblocco con il Volto e l\'Impronta.\n\nLa sequenza protegge il dispositivo se viene smarrito o rubato."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"È necessaria una password per configurare lo Sblocco con il Volto e lo Sblocco con l\'Impronta.\n\nLa password protegge il dispositivo se viene smarrito o rubato."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"È necessario un PIN per configurare lo Sblocco con il Volto e lo Sblocco con l\'Impronta.\n\nIl PIN protegge lo smartphone se viene smarrito o rubato."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"È necessaria una sequenza per configurare lo Sblocco con il Volto e l\'Impronta.\n\nLa sequenza protegge lo smartphone se viene smarrito o rubato."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"È necessaria una password per configurare lo Sblocco con il Volto e con l\'Impronta.\n\nLa password protegge lo smartphone se viene smarrito o rubato."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"È necessario un PIN per configurare lo Sblocco con l\'Impronta e con il Volto.\n\nIl PIN protegge il tablet se viene smarrito o rubato."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"È necessaria una sequenza per configurare lo Sblocco con l\'Impronta e con il Volto.\n\nLa sequenza protegge il tablet se viene smarrito o rubato."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"È necessaria una password per configurare lo Sblocco con l\'Impronta e con il Volto.\n\nLa password protegge il tablet se viene smarrito o rubato."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"È necessario un PIN per configurare lo Sblocco con l\'Impronta e con il Volto.\n\nIl PIN protegge il dispositivo se viene smarrito o rubato."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"È necessaria una sequenza per configurare lo Sblocco con l\'Impronta e con il Volto.\n\nLa sequenza protegge il dispositivo se viene smarrito o rubato."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"È necessaria una password per configurare lo Sblocco con l\'Impronta e con il Volto.\n\nLa password protegge il dispositivo se viene smarrito o rubato."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"È necessario un PIN per configurare lo Sblocco con l\'Impronta e con il Volto.\n\nIl PIN protegge lo smartphone se viene smarrito o rubato."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"È necessaria una sequenza per configurare lo Sblocco con l\'Impronta e con il Volto.\n\nLa sequenza protegge lo smartphone se viene smarrito o rubato."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"È necessaria una password per configurare lo Sblocco con l\'Impronta e con il Volto.\n\nLa password protegge lo smartphone se viene smarrito o rubato."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Vengono eliminati il modello e le immagini dell\'impronta associati a \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" e memorizzati sullo smartphone"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Vengono eliminati il modello e le immagini dell\'impronta associati a \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" e memorizzati sul tablet"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Vengono eliminati il modello e le immagini dell\'impronta associati a \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" e memorizzati sul dispositivo"</string>
@@ -368,7 +368,19 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Per ascoltare uno stream audio, per prima cosa connetti le cuffie che supportano LE audio su questo smartphone."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Per ascoltare uno stream audio, per prima cosa connetti le cuffie che supportano LE audio su questo tablet."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Per ascoltare uno stream audio, per prima cosa connetti le cuffie che supportano LE audio su questo dispositivo."</string>
+    <!-- no translation found for audio_streams_dialog_no_le_device_subtitle_with_link (4871388123789035528) -->
+    <skip />
+    <!-- no translation found for audio_streams_dialog_no_le_device_subtitle_with_link (9004101085790596133) -->
+    <skip />
+    <!-- no translation found for audio_streams_dialog_no_le_device_subtitle_with_link (2094009664220499659) -->
+    <skip />
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Questo smartphone non supporta lo standard LE audio, necessario per ascoltare gli stream audio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Questo tablet non supporta lo standard LE audio, necessario per ascoltare gli stream audio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Questo dispositivo non supporta lo standard LE audio, necessario per ascoltare gli stream audio."</string>
+    <!-- no translation found for audio_sharing_confirm_dialog_content_with_link (3623411166799677443) -->
+    <skip />
+    <!-- no translation found for audio_sharing_confirm_dialog_content_with_link (282597208139437138) -->
+    <skip />
+    <!-- no translation found for audio_sharing_confirm_dialog_content_with_link (668964968208427465) -->
+    <skip />
 </resources>
diff --git a/res-product/values-iw/strings.xml b/res-product/values-iw/strings.xml
index 2725052..5dba8d3 100644
--- a/res-product/values-iw/strings.xml
+++ b/res-product/values-iw/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"כדי להגדיר את התכונה \'פתיחה ע\"י זיהוי הפנים\', נדרש קוד אימות.\n\nקוד האימות מגן על הטלפון במקרים של אובדן או גניבה."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"כדי להגדיר את התכונה \'פתיחה ע\"י זיהוי הפנים\', נדרש קו ביטול נעילה.\n\nקו ביטול הנעילה מגן על הטלפון במקרים של אובדן או גניבה."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"כדי להגדיר את התכונה \'פתיחה ע\"י זיהוי הפנים\', נדרשת סיסמה.\n\nהסיסמה מגינה על הטלפון במקרים של אובדן או גניבה."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"כדי להגדיר את התכונות \'פתיחה ע\"י זיהוי הפנים\' ו\'ביטול הנעילה בטביעת אצבע\', נדרש קוד אימות.\n\nקוד האימות מגן על הטאבלט במקרים של אובדן או גניבה."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"כדי להגדיר את התכונות \'פתיחה ע\"י זיהוי הפנים\' ו\'ביטול הנעילה בטביעת אצבע\', נדרש קו ביטול נעילה.\n\nקו ביטול הנעילה מגן על הטאבלט במקרים של אובדן או גניבה."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"כדי להגדיר את התכונות \'פתיחה ע\"י זיהוי הפנים\' ו\'ביטול הנעילה בטביעת אצבע\', נדרשת סיסמה.\n\nהסיסמה מגינה על הטאבלט במקרים של אובדן או גניבה."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"כדי להגדיר את התכונות \'פתיחה ע\"י זיהוי הפנים\' ו\'ביטול הנעילה בטביעת אצבע\', נדרש קוד אימות.\n\nקוד האימות מגן על המכשיר במקרים של אובדן או גניבה."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"כדי להגדיר את התכונות \'פתיחה ע\"י זיהוי הפנים\' ו\'ביטול הנעילה בטביעת אצבע\', נדרש קו ביטול נעילה.\n\nקו ביטול הנעילה מגן על המכשיר במקרים של אובדן או גניבה."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"כדי להגדיר את התכונות \'פתיחה ע\"י זיהוי הפנים\' ו\'ביטול הנעילה בטביעת אצבע\', נדרשת סיסמה.\n\nהסיסמה מגינה על המכשיר במקרים של אובדן או גניבה."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"כדי להגדיר את התכונות \'פתיחה ע\"י זיהוי הפנים\' ו\'ביטול הנעילה בטביעת אצבע\', נדרש קוד אימות.\n\nקוד האימות מגן על הטלפון במקרים של אובדן או גניבה."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"כדי להגדיר את התכונות \'פתיחה ע\"י זיהוי הפנים\' ו\'ביטול הנעילה בטביעת אצבע\', נדרש קו ביטול נעילה.\n\nקו ביטול הנעילה מגן על הטלפון במקרים של אובדן או גניבה."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"כדי להגדיר את התכונות \'פתיחה ע\"י זיהוי הפנים\' ו\'ביטול הנעילה בטביעת אצבע\', נדרשת סיסמה.\n\nהסיסמה מגינה על הטלפון במקרים של אובדן או גניבה."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"כדי להגדיר את התכונות \'פתיחה בזיהוי פנים\' ו\'פתיחה בטביעת אצבע\', נדרש קוד אימות.\n\nקוד האימות מגן על הטאבלט במקרים של אובדן או גניבה."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"כדי להגדיר את התכונות \'פתיחה בזיהוי פנים\' ו\'פתיחה בטביעת אצבע\', נדרש קו ביטול נעילה.\n\nקו ביטול הנעילה מגן על הטאבלט במקרים של אובדן או גניבה."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"כדי להגדיר את התכונות \'פתיחה בזיהוי פנים\' ו\'פתיחה בטביעת אצבע\', נדרשת סיסמה.\n\nהסיסמה מגינה על הטאבלט במקרים של אובדן או גניבה."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"כדי להגדיר את התכונות \'פתיחה בזיהוי פנים\' ו\'פתיחה בטביעת אצבע\', נדרש קוד אימות.\n\nקוד האימות מגן על המכשיר במקרים של אובדן או גניבה."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"כדי להגדיר את התכונות \'פתיחה בזיהוי פנים\' ו\'פתיחה בטביעת אצבע\', נדרש קו ביטול נעילה.\n\nקו ביטול הנעילה מגן על המכשיר במקרים של אובדן או גניבה."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"כדי להגדיר את התכונות \'פתיחה בזיהוי פנים\' ו\'פתיחה בטביעת אצבע\', נדרשת סיסמה.\n\nהסיסמה מגינה על המכשיר במקרים של אובדן או גניבה."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"כדי להגדיר את התכונות \'פתיחה בזיהוי פנים\' ו\'פתיחה בטביעת אצבע\', נדרש קוד אימות.\n\nקוד האימות מגן על הטלפון במקרים של אובדן או גניבה."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"כדי להגדיר את התכונות \'פתיחה בזיהוי פנים\' ו\'פתיחה בטביעת אצבע\', נדרש קו ביטול נעילה.\n\nקו ביטול הנעילה מגן על הטלפון במקרים של אובדן או גניבה."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"כדי להגדיר את התכונות \'פתיחה בזיהוי פנים\' ו\'פתיחה בטביעת אצבע\', נדרשת סיסמה.\n\nהסיסמה מגינה על הטלפון במקרים של אובדן או גניבה."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"הפעולה הזו מוחקת את התבנית והתמונות של טביעת האצבע המשויכות אל <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>, שמאוחסנות בטלפון שלך"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"הפעולה הזו מוחקת את התבנית והתמונות של טביעת האצבע המשויכות אל <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>, שמאוחסנות בטאבלט שלך"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"הפעולה הזו מוחקת את התבנית והתמונות של טביעת האצבע שמשויכות אל <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> ושמורה במכשיר שלך"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"‏כדי להאזין לשידור אודיו, קודם צריך לחבר לטלפון הזה אוזניות שתומכות ב-LE Audio."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"‏כדי להאזין לשידור אודיו, קודם צריך לחבר לטאבלט הזה אוזניות שתומכות ב-LE Audio."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"‏כדי להאזין לשידור אודיו, קודם צריך לחבר למכשיר הזה אוזניות שתומכות ב-LE Audio."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"‏כדי להאזין לשידור אודיו, קודם צריך לחבר לטלפון הזה אוזניות שתומכות ב-LE Audio. "<annotation id="link">"מידע נוסף"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"‏כדי להאזין לשידור אודיו, קודם צריך לחבר לטאבלט הזה אוזניות שתומכות ב-LE Audio. "<annotation id="link">"מידע נוסף"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"‏כדי להאזין לשידור אודיו, קודם צריך לחבר למכשיר הזה אוזניות שתומכות ב-LE Audio. "<annotation id="link">"מידע נוסף"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"‏הטלפון הזה לא תומך ב-LE Audio, שדרוש כדי להאזין לשידורי אודיו."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"‏הטאבלט הזה לא תומך ב-LE Audio, שדרוש כדי להאזין לשידורי אודיו."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"‏המכשיר הזה לא תומך ב-LE Audio, שדרוש כדי להאזין לשידורי אודיו."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"‏כדי להתחיל לשתף אודיו, צריך לחבר את אוזניות LE Audio לטלפון. "<annotation id="link">"מידע נוסף על מכשירים תואמים"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"‏כדי להתחיל לשתף אודיו, צריך לחבר את אוזניות LE Audio לטאבלט. "<annotation id="link">"מידע נוסף על מכשירים תואמים"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"‏כדי להתחיל לשתף אודיו, צריך לחבר את אוזניות LE Audio למכשיר. "<annotation id="link">"מידע נוסף על מכשירים תואמים"</annotation></string>
 </resources>
diff --git a/res-product/values-ja/strings.xml b/res-product/values-ja/strings.xml
index db03ece..0a340b8 100644
--- a/res-product/values-ja/strings.xml
+++ b/res-product/values-ja/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"顔認証を設定するには PIN が必要です。\n\nPIN は紛失・盗難時にスマートフォンを保護します。"</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"顔認証を設定するにはパターンが必要です。\n\nパターンは紛失・盗難時にスマートフォンを保護します。"</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"顔認証を設定するにはパスワードが必要です。\n\nパスワードは、紛失したり盗難に遭ったりした場合にスマートフォンを保護するものです。"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"顔認証と指紋認証を設定するには PIN が必要です。\n\nPIN は紛失・盗難時にタブレットを保護します。"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"顔認証と指紋認証を設定するにはパターンが必要です。\n\nパターンは紛失・盗難時にタブレットを保護します。"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"顔認証と指紋認証を設定するにはパスワードが必要です。\n\nパスワードは、紛失したり盗難に遭ったりした場合にタブレットを保護するものです。"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"顔認証と指紋認証を設定するには PIN が必要です。\n\nPIN は紛失・盗難時にデバイスを保護します。"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"顔認証と指紋認証を設定するにはパターンが必要です。\n\nパターンは紛失・盗難時にデバイスを保護します。"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"顔認証と指紋認証を設定するにはパスワードが必要です。\n\nパスワードは、紛失したり盗難に遭ったりした場合にデバイスを保護するものです。"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"顔認証と指紋認証を設定するには PIN が必要です。\n\nPIN は紛失・盗難時にスマートフォンを保護します。"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"顔認証と指紋認証を設定するにはパターンが必要です。\n\nパターンは紛失・盗難時にスマートフォンを保護します。"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"顔認証と指紋認証を設定するにはパスワードが必要です。\n\nパスワードは、紛失したり盗難に遭ったりした場合にスマートフォンを保護するものです。"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"指紋認証と顔認証を設定するには PIN が必要です。\n\nPIN は紛失・盗難時にタブレットを保護します。"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"指紋認証と顔認証を設定するにはパターンが必要です。\n\nパターンは紛失・盗難時にタブレットを保護します。"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"指紋認証と顔認証を設定するにはパスワードが必要です。\n\nパスワードは、紛失したり盗難に遭ったりした場合にタブレットを保護するものです。"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"指紋認証と顔認証を設定するには PIN が必要です。\n\nPIN は紛失・盗難時にデバイスを保護します。"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"指紋認証と顔認証を設定するにはパターンが必要です。\n\nパターンは紛失・盗難時にデバイスを保護します。"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"指紋認証と顔認証を設定するにはパスワードが必要です。\n\nパスワードは、紛失したり盗難に遭ったりした場合にデバイスを保護するものです。"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"指紋認証と顔認証を設定するには PIN が必要です。\n\nPIN は紛失・盗難時にスマートフォンを保護します。"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"指紋認証と顔認証を設定するにはパターンが必要です。\n\nパターンは紛失・盗難時にスマートフォンを保護します。"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"指紋認証と顔認証を設定するにはパスワードが必要です。\n\nパスワードは、紛失したり盗難に遭ったりした場合にスマートフォンを保護するものです。"</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"「<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>」に関連付けられた指紋の画像とモデルがスマートフォンから削除されます"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"「<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>」に関連付けられた指紋の画像とモデルがタブレットから削除されます"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"「<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>」に関連付けられた指紋の画像とモデルがデバイスから削除されます"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"音声ストリームを聴くには、まず LE Audio 対応のヘッドフォンをこのスマートフォンに接続してください。"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"音声ストリームを聴くには、まず LE Audio 対応のヘッドフォンをこのタブレットに接続してください。"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"音声ストリームを聴くには、まず LE Audio 対応のヘッドフォンをこのデバイスに接続してください。"</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"音声ストリームを聴くには、まず LE Audio 対応のヘッドフォンをこのスマートフォンに接続してください。"<annotation id="link">"詳細"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"音声ストリームを聴くには、まず LE Audio 対応のヘッドフォンをこのタブレットに接続してください。"<annotation id="link">"詳細"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"音声ストリームを聴くには、まず LE Audio 対応のヘッドフォンをこのデバイスに接続してください。"<annotation id="link">"詳細"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"このスマートフォンは、音声ストリームを聞くために必要な LE Audio をサポートしていません。"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"このタブレットは、音声ストリームを聞くために必要な LE Audio をサポートしていません。"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"このデバイスは、音声ストリームを聞くために必要な LE Audio をサポートしていません。"</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"音声の共有を開始するには、まず LE Audio 対応のヘッドフォンをスマートフォンに接続してください。"<annotation id="link">"対応デバイスについての詳細"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"音声の共有を開始するには、まず LE Audio 対応のヘッドフォンをタブレットに接続してください。"<annotation id="link">"対応デバイスについての詳細"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"音声の共有を開始するには、まず LE Audio 対応のヘッドフォンをデバイスに接続してください。"<annotation id="link">"対応デバイスについての詳細"</annotation></string>
 </resources>
diff --git a/res-product/values-ka/strings.xml b/res-product/values-ka/strings.xml
index 764d445..7b512d9 100644
--- a/res-product/values-ka/strings.xml
+++ b/res-product/values-ka/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"სახით განბლოკვის დასაყენებლად საჭიროა PIN-კოდი.\n\nPIN-კოდი დაიცავს ტელეფონს, თუ ის დაიკარგება ან მას მოგპარავენ."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"სახით განბლოკვის დასაყენებლად საჭიროა ნიმუში.\n\nნიმუში დაიცავს ტელეფონს, თუ ის დაიკარგება ან მას მოგპარავენ."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"სახით განბლოკვის დასაყენებლად საჭიროა პაროლი.\n\nპაროლი დაიცავს ტელეფონს, თუ ის დაიკარგება ან მას მოგპარავენ."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"სახით და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა PIN-კოდი.\n\nPIN-კოდი დაიცავს ტაბლეტს, თუ ის დაიკარგება ან მას მოგპარავენ."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"სახით და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა ნიმუში.\n\nნიმუში დაიცავს ტაბლეტს, თუ ის დაიკარგება ან მას მოგპარავენ."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"სახით და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა პაროლი.\n\nპაროლი დაიცავს ტაბლეტს, თუ ის დაიკარგება ან მას მოგპარავენ."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"სახით და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა PIN-კოდი.\n\nPIN-კოდი დაიცავს მოწყობილობას, თუ ის დაიკარგება ან მას მოგპარავენ."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"სახით და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა ნიმუში.\n\nნიმუში დაიცავს მოწყობილობას, თუ ის დაიკარგება ან მას მოგპარავენ."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"სახით და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა პაროლი.\n\nპაროლი დაიცავს მოწყობილობას, თუ ის დაიკარგება ან მას მოგპარავენ."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"სახით და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა PIN-კოდი.\n\nPIN-კოდი დაიცავს ტელეფონს, თუ ის დაიკარგება ან მას მოგპარავენ."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"სახით და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა ნიმუში.\n\nნიმუში დაიცავს ტელეფონს, თუ ის დაიკარგება ან მას მოგპარავენ."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"სახით და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა პაროლი.\n\nპაროლი დაიცავს ტელეფონს, თუ ის დაიკარგება ან მას მოგპარავენ."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"სახითა და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა PIN-კოდი.\n\nPIN-კოდი დაიცავს ტაბლეტს, თუ მას დაკარგავთ ან მოგპარავენ."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"სახითა და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა ნიმუში.\n\nნიმუში დაიცავს ტაბლეტს, თუ მას დაკარგავთ ან მოგპარავენ."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"სახითა და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა პაროლი.\n\nპაროლი დაიცავს ტაბლეტს, თუ მას დაკარგავთ ან მოგპარავენ."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"სახითა და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა PIN-კოდი.\n\nPIN-კოდი დაიცავს მოწყობილობას, თუ მას დაკარგავთ ან მოგპარავენ."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"სახითა და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა ნიმუში.\n\nნიმუში დაიცავს მოწყობილობას, თუ მას დაკარგავთ ან მოგპარავენ."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"სახითა და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა პაროლი.\n\nპაროლი დაიცავს მოწყობილობას, თუ მას დაკარგავთ ან მოგპარავენ."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"სახით და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა PIN-კოდი.\n\nPIN-კოდი დაიცავს ტელეფონს, თუ მას დაკარგავთ ან მოგპარავენ."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"სახითა და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა ნიმუში.\n\nნიმუში დაიცავს ტელეფონს, თუ მას დაკარგავთ ან მოგპარავენ."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"სახითა და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა პაროლი.\n\nპაროლი დაიცავს ტელეფონს, თუ მას დაკარგავთ ან მოგპარავენ."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"ამ მოქმედებით წაიშლება თითის ანაბეჭდის სურათები და თქვენს ტელეფონზე შენახული მოდელები, რომლებიც ასოცირებულია „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“-თან"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"ამ მოქმედებით წაიშლება თითის ანაბეჭდის სურათები და თქვენს ტაბლეტზე შენახული მოდელები, რომლებიც ასოცირებულია „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“-თან"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"ამ მოქმედებით წაიშლება თითის ანაბეჭდის სურათები და თქვენს მოწყობილობაზე შენახული მოდელები, რომლებიც ასოცირებულია „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“-თან"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"აუდიო ნაკადის მოსასმენად, პირველ რიგში, ამ ტელეფონს დაუკავშირეთ LE-აუდიოს მხარდაჭერის მქონე ყურსასმენები."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"აუდიო ნაკადის მოსასმენად, პირველ რიგში, ამ ტაბლეტს დაუკავშირეთ LE-აუდიოს მხარდაჭერის მქონე ყურსასმენები."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"აუდიო ნაკადის მოსასმენად, პირველ რიგში, ამ მოწყობილობას დაუკავშირეთ LE-აუდიოს მხარდაჭერის მქონე ყურსასმენები."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"აუდიო ნაკადის მოსასმენად, პირველ რიგში, ამ ტელეფონთან დააკავშირეთ LE-აუდიოს მხარდაჭერის მქონე ყურსასმენები. "<annotation id="link">"შეიტყვეთ მეტი"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"აუდიო ნაკადის მოსასმენად, პირველ რიგში, ამ ტაბლეტთან დააკავშირეთ LE-აუდიოს მხარდაჭერის მქონე ყურსასმენები. "<annotation id="link">"შეიტყვეთ მეტი"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"აუდიო ნაკადის მოსასმენად, პირველ რიგში, ამ მოწყობილობასთან დააკავშირეთ LE-აუდიოს მხარდაჭერის მქონე ყურსასმენები. "<annotation id="link">"შეიტყვეთ მეტი"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"ამ ტელეფონს არ აქვს LE-აუდიო მხარდაჭერა, რაც საჭიროა აუდიო ნაკადების მოსასმენად."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"ამ ტაბლეტს არ აქვს LE-აუდიო მხარდაჭერა, რაც საჭიროა აუდიო ნაკადების მოსასმენად."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"ამ მოწყობილობას არ აქვს LE-აუდიო მხარდაჭერა, რაც საჭიროა აუდიო ნაკადების მოსასმენად."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"აუდიოს გასაზიარებლად, პირველ რიგში, თქვენს ტელეფონთან დააკავშირეთ LE-აუდიო ყურსასმენები. "<annotation id="link">"შეიტყვეთ მეტი თავსებადი მოწყობილობების შესახებ"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"აუდიოს გასაზიარებლად, პირველ რიგში, თქვენს ტაბლეტთან დააკავშირეთ LE-აუდიო ყურსასმენები. "<annotation id="link">"შეიტყვეთ მეტი თავსებადი მოწყობილობების შესახებ"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"აუდიოს გასაზიარებლად, პირველ რიგში, თქვენს მოწყობილობასთან დააკავშირეთ LE-აუდიო ყურსასმენები. "<annotation id="link">"შეიტყვეთ მეტი თავსებადი მოწყობილობების შესახებ"</annotation></string>
 </resources>
diff --git a/res-product/values-kk/strings.xml b/res-product/values-kk/strings.xml
index bfd8f6b..52031ee 100644
--- a/res-product/values-kk/strings.xml
+++ b/res-product/values-kk/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Бет тану функциясын реттеу үшін PIN коды қажет.\n\nТелефон жоғалған немесе ұрланған жағдайда, PIN коды оны қорғайды."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Бет тану функциясын реттеу үшін өрнек қажет.\n\nТелефон жоғалған немесе ұрланған жағдайда, өрнек оны қорғайды."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Бет тану функциясын реттеу үшін құпия сөз қажет.\n\nТелефон жоғалған немесе ұрланған жағдайда, құпия сөз оны қорғайды."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Бет тану және саусақ ізімен ашу функциясын реттеу үшін PIN коды қажет.\n\nПланшет жоғалған немесе ұрланған жағдайда, PIN коды оны қорғайды."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Бет тану және саусақ ізімен ашу функциясын реттеу үшін өрнек қажет.\n\nПланшет жоғалған немесе ұрланған жағдайда, өрнек оны қорғайды."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Бет тану және саусақ ізімен ашу функциясын реттеу үшін құпия сөз қажет.\n\nПланшет жоғалған немесе ұрланған жағдайда, құпия сөз оны қорғайды."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Бет тану және саусақ ізімен ашу функциясын реттеу үшін PIN коды қажет.\n\nҚұрылғы жоғалған немесе ұрланған жағдайда, PIN коды оны қорғайды."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Бет тану және саусақ ізімен ашу функциясын реттеу үшін өрнек қажет.\n\nҚұрылғы жоғалған немесе ұрланған жағдайда, өрнек оны қорғайды."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Бет тану және саусақ ізімен ашу функциясын реттеу үшін құпия сөз қажет.\n\nҚұрылғы жоғалған немесе ұрланған жағдайда, құпия сөз оны қорғайды."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Бет тану және саусақ ізімен ашу функциясын реттеу үшін PIN коды қажет.\n\nТелефон жоғалған немесе ұрланған жағдайда, PIN коды оны қорғайды."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Бет тану және саусақ ізімен ашу функциясын реттеу үшін өрнек қажет.\n\nТелефон жоғалған немесе ұрланған жағдайда, өрнек оны қорғайды."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Бет тану және саусақ ізімен ашу функциясын реттеу үшін құпия сөз қажет.\n\nТелефон жоғалған немесе ұрланған жағдайда, құпия сөз оны қорғайды."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Саусақ ізімен ашу және Бет тану функциясын реттеу үшін PIN коды керек.\n\nПланшет жоғалған немесе ұрланған жағдайда, PIN коды оны қорғайды."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Саусақ ізімен ашу және Бет тану функциясын реттеу үшін өрнек керек.\n\nПланшет жоғалған немесе ұрланған жағдайда, өрнек оны қорғайды."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Саусақ ізімен ашу және Бет тану функциясын реттеу үшін құпия сөз керек.\n\nПланшет жоғалған немесе ұрланған жағдайда, құпия сөз оны қорғайды."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Саусақ ізімен ашу және Бет тану функциясын реттеу үшін PIN коды керек.\n\nҚұрылғы жоғалған немесе ұрланған жағдайда, PIN коды оны қорғайды."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Саусақ ізімен ашу және Бет тану функциясын реттеу үшін өрнек керек.\n\nҚұрылғы жоғалған немесе ұрланған жағдайда, өрнек оны қорғайды."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Саусақ ізімен ашу және Бет тану функциясын реттеу үшін құпия сөз керек.\n\nҚұрылғы жоғалған немесе ұрланған жағдайда, құпия сөз оны қорғайды."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Саусақ ізімен ашу және Бет тану функциясын реттеу үшін PIN коды керек.\n\nТелефон жоғалған немесе ұрланған жағдайда, PIN коды оны қорғайды."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Саусақ ізімен ашу және Бет тану функциясын реттеу үшін өрнек керек.\n\nТелефон жоғалған немесе ұрланған жағдайда, өрнек оны қорғайды."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Саусақ ізімен ашу және Бет тану функциясын реттеу үшін құпия сөз керек.\n\nТелефон жоғалған немесе ұрланған жағдайда, құпия сөз оны қорғайды."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"\"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" ізінің телефонда сақталған суреттері мен үлгісі жойылады"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"\"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" ізінің планшетте сақталған суреттері мен үлгісі жойылады"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"\"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" ізінің құрылғыда сақталған суреттері мен үлгісі жойылады"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Аудио трансляцияны тыңдау үшін алдымен бұл телефонға LE Audio технологиясына қолдау көрсететін құлақаспаптарды жалғаңыз."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Аудио трансляцияны тыңдау үшін алдымен бұл планшетке LE Audio технологиясына қолдау көрсететін құлақаспаптарды жалғаңыз."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Аудио трансляцияны тыңдау үшін алдымен бұл құрылғыға LE Audio технологиясына қолдау көрсететін құлақаспаптарды жалғаңыз."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Аудио трансляцияны тыңдау үшін алдымен LE Audio технологиясын қолдайтын құлақаспапты осы телефонға жалғаңыз. "<annotation id="link">"Толық ақпарат"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Аудио трансляцияны тыңдау үшін алдымен LE Audio технологиясын қолдайтын құлақаспапты осы планшетке жалғаңыз. "<annotation id="link">"Толық ақпарат"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Аудио трансляцияны тыңдау үшін алдымен LE Audio технологиясын қолдайтын құлақаспапты осы құрылғыға жалғаңыз. "<annotation id="link">"Толық ақпарат"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Бұл телефонда аудио трансляцияларды тыңдау үшін қажет LE Audio қолданбасына қолдау көрсетілмейді."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Бұл планшетте аудио трансляцияларды тыңдау үшін қажет LE Audio қолданбасына қолдау көрсетілмейді."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Бұл құрылғыда аудио трансляцияларды тыңдау үшін қажет LE Audio қолданбасына қолдау көрсетілмейді."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Аудионы бөлісе бастау үшін алдымен LE Audio құлақаспабын телефоныңызға жалғаңыз. "<annotation id="link">"Үйлесімді құрылғылар туралы толық ақпарат алыңыз"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Аудионы бөлісе бастау үшін алдымен LE Audio құлақаспабын планшетіңізге жалғаңыз. "<annotation id="link">"Үйлесімді құрылғылар туралы толық ақпарат алыңыз"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Аудионы бөлісе бастау үшін алдымен LE Audio құлақаспабын құрылғыңызға жалғаңыз. "<annotation id="link">"Үйлесімді құрылғылар туралы толық ақпарат алыңыз"</annotation></string>
 </resources>
diff --git a/res-product/values-km/strings.xml b/res-product/values-km/strings.xml
index 6190458..d6e759e 100644
--- a/res-product/values-km/strings.xml
+++ b/res-product/values-km/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"តម្រូវឱ្យមាន​កូដ PIN ដើម្បីរៀបចំ​ការដោះសោ​តាមទម្រង់មុខ។\n\nកូដ PIN ​ការពារ​ទូរសព្ទ ប្រសិនបើ​បាត់ទូរសព្ទ ឬត្រូវបាន​គេលួច។"</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"តម្រូវឱ្យមាន​លំនាំ ដើម្បីរៀបចំ​ការដោះសោ​តាមទម្រង់មុខ។\n\nលំនាំ​ការពារ​ទូរសព្ទ ប្រសិនបើ​បាត់ទូរសព្ទ ឬត្រូវបាន​គេលួច។"</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"តម្រូវឱ្យមាន​ពាក្យសម្ងាត់ ដើម្បីរៀបចំ​ការដោះសោ​តាមទម្រង់មុខ។\n\nពាក្យសម្ងាត់​ការពារ​ទូរសព្ទ ប្រសិនបើ​បាត់ទូរសព្ទ ឬត្រូវបាន​គេលួច។"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"តម្រូវឱ្យមាន​កូដ PIN ដើម្បីរៀបចំ​ការដោះ​សោ​ដោយស្កេន​មុខ និង​ការដោះសោ​ដោយស្កេន​ស្នាមម្រាមដៃ។\n\nកូដ PIN ​ការពារ​ថេប្លេត ប្រសិនបើ​បាត់ថេប្លេត ឬត្រូវបាន​គេលួច។"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"តម្រូវឱ្យមាន​លំនាំ ​ដើម្បីរៀបចំ​ការដោះសោ​តាមទម្រង់មុខ និង​ការដោះសោដោយប្រើ​ស្នាមម្រាមដៃ។\n\nលំនាំ​ការពារ​ថេប្លេត ប្រសិនបើ​បាត់ថេប្លេត ឬត្រូវបាន​គេលួច។"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"តម្រូវឱ្យមាន​ពាក្យសម្ងាត់ ដើម្បីរៀបចំ​ការដោះសោ​តាមទម្រង់មុខ និង​ការដោះសោដោយប្រើ​ស្នាមម្រាមដៃ។\n\nពាក្យសម្ងាត់​ការពារថេប្លេត ប្រសិនបើ​បាត់ថេប្លេត ឬត្រូវបានគេលួច។"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"តម្រូវឱ្យមាន​កូដ PIN ដើម្បីរៀបចំ​ការដោះ​សោ​ដោយស្កេន​មុខ និង​ការដោះសោ​ដោយស្កេន​ស្នាមម្រាមដៃ។\n\nកូដ PIN ​ការពារ​ឧបករណ៍ ប្រសិនបើ​បាត់ឧបករណ៍ ឬត្រូវបាន​គេលួច។"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"តម្រូវឱ្យមាន​លំនាំ ដើម្បីរៀបចំ​ការដោះសោ​តាមទម្រង់មុខ និង​ការដោះសោដោយប្រើ​ស្នាមម្រាមដៃ។\n\nលំនាំ​ការពារ​ឧបករណ៍ ប្រសិនបើ​បាត់ឧបករណ៍ ឬត្រូវបាន​គេលួច។"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"តម្រូវឱ្យមាន​ពាក្យសម្ងាត់ ដើម្បីរៀបចំ​ការដោះសោ​តាមទម្រង់មុខ និង​ការដោះសោដោយប្រើ​ស្នាមម្រាមដៃ។\n\nពាក្យសម្ងាត់​ការពារឧបករណ៍ ប្រសិនបើ​បាត់ឧបករណ៍ ឬត្រូវបានគេលួច។"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"តម្រូវឱ្យមាន​កូដ PIN ដើម្បីរៀបចំ​ការដោះ​សោ​ដោយស្កេន​មុខ និង​ការដោះសោ​ដោយស្កេន​ស្នាមម្រាមដៃ។\n\nកូដ PIN ​ការពារ​ទូរសព្ទ ប្រសិនបើ​បាត់ទូរសព្ទ ឬត្រូវបាន​គេលួច។"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"តម្រូវឱ្យមាន​លំនាំ ដើម្បីរៀបចំ​ការដោះ​សោ​ដោយស្កេន​មុខ និង​ការដោះសោ​ដោយស្កេន​ស្នាមម្រាមដៃ។\n\nលំនាំ​ការពារ​ទូរសព្ទ ប្រសិនបើ​បាត់ទូរសព្ទ ឬត្រូវបាន​គេលួច។"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"តម្រូវឱ្យមាន​ពាក្យសម្ងាត់ ដើម្បីរៀបចំ​ការដោះ​សោ​ដោយស្កេន​មុខ និង​ការដោះសោ​ដោយស្កេន​ស្នាមម្រាមដៃ។\n\nពាក្យសម្ងាត់​ការពារទូរសព្ទ ប្រសិនបើ​បាត់ទូរសព្ទ ឬត្រូវបានគេលួច។"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"តម្រូវឱ្យមានកូដ PIN ដើម្បីរៀបចំ​ការដោះសោ​ដោយស្កេន​ស្នាមម្រាមដៃ និង​ការដោះ​សោ​ដោយស្កេន​មុខ។\n\nកូដ PIN ​ការពារ​ថេប្លេត ប្រសិនបើ​បាត់ថេប្លេត ឬត្រូវបាន​គេលួច។"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"តម្រូវឱ្យមាន​លំនាំ ដើម្បីរៀបចំ​ការដោះសោ​ដោយស្កេន​ស្នាមម្រាមដៃ និង​ការដោះ​សោ​ដោយស្កេន​មុខ។\n\nលំនាំ​ការពារ​ថេប្លេត ប្រសិនបើ​បាត់ថេប្លេត ឬត្រូវបាន​គេលួច។"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"តម្រូវឱ្យមាន​ពាក្យសម្ងាត់ ដើម្បីរៀបចំ​ការដោះសោ​ដោយស្កេន​ស្នាមម្រាមដៃ និង​ការដោះ​សោ​ដោយស្កេន​មុខ។\n\nពាក្យសម្ងាត់​ការពារថេប្លេត ប្រសិនបើ​បាត់ថេប្លេត ឬត្រូវបានគេលួច។"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"តម្រូវឱ្យមានកូដ PIN ដើម្បីរៀបចំ​ការដោះសោ​ដោយស្កេន​ស្នាមម្រាមដៃ និង​ការដោះ​សោ​ដោយស្កេន​មុខ។\n\nកូដ PIN ​ការពារ​ឧបករណ៍ ប្រសិនបើ​បាត់ឧបករណ៍ ឬត្រូវបាន​គេលួច។"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"តម្រូវឱ្យមាន​លំនាំ ដើម្បីរៀបចំ​ការដោះសោ​ដោយស្កេន​ស្នាមម្រាមដៃ និង​ការដោះ​សោ​ដោយស្កេន​មុខ។\n\nលំនាំ​ការពារ​ឧបករណ៍ ប្រសិនបើ​បាត់ឧបករណ៍ ឬត្រូវបាន​គេលួច។"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"តម្រូវឱ្យមាន​ពាក្យសម្ងាត់ ដើម្បីរៀបចំការដោះសោ​ដោយស្កេន​ស្នាមម្រាមដៃ និង​ការដោះ​សោ​ដោយស្កេន​មុខ។\n\nពាក្យសម្ងាត់​ការពារឧបករណ៍ ប្រសិនបើ​បាត់ឧបករណ៍ ឬត្រូវបានគេលួច។"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"តម្រូវឱ្យមានកូដ PIN ដើម្បីរៀបចំ​ការដោះសោ​ដោយស្កេន​ស្នាមម្រាមដៃ និង​ការដោះ​សោ​ដោយស្កេន​មុខ។\n\nកូដ PIN ​ការពារ​ទូរសព្ទ ប្រសិនបើ​បាត់ទូរសព្ទ ឬត្រូវបាន​គេលួច។"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"តម្រូវឱ្យមាន​លំនាំ ដើម្បីរៀបចំ​ការដោះសោ​ដោយស្កេន​ស្នាមម្រាមដៃ និង​ការដោះ​សោ​ដោយស្កេន​មុខ។\n\nលំនាំ​ការពារ​ទូរសព្ទ ប្រសិនបើ​បាត់ទូរសព្ទ ឬត្រូវបាន​គេលួច។"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"តម្រូវឱ្យមាន​ពាក្យសម្ងាត់ ដើម្បីរៀបចំ​ការដោះសោ​ដោយស្កេន​ស្នាមម្រាមដៃ និង​ការដោះ​សោ​ដោយស្កេន​មុខ។\n\nពាក្យសម្ងាត់​ការពារទូរសព្ទ ប្រសិនបើ​បាត់ទូរសព្ទ ឬត្រូវបានគេលួច។"</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"សកម្មភាពនេះ​លុបគំរូ និងរូបភាព​ស្នាមម្រាមដៃ ដែល​ពាក់ព័ន្ធនឹង \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ដែលត្រូវបានរក្សាទុក​នៅលើទូរសព្ទរបស់អ្នក"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"សកម្មភាពនេះ​លុបគំរូ និងរូបភាព​ស្នាមម្រាមដៃ ដែល​ពាក់ព័ន្ធនឹង \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ដែលត្រូវបានរក្សាទុក​នៅលើថេប្លេតរបស់អ្នក"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"សកម្មភាពនេះ​លុបគំរូ និងរូបភាព​ស្នាមម្រាមដៃ ដែល​ពាក់ព័ន្ធនឹង \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ដែលត្រូវបានរក្សាទុក​នៅលើឧបករណ៍របស់អ្នក"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"ដើម្បីស្ដាប់ការចាក់សំឡេងលើអ៊ីនធឺណិត សូមភ្ជាប់កាសដែលអាចប្រើ LE Audio ទៅកាន់ទូរសព្ទនេះជាមុនសិន។"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"ដើម្បីស្ដាប់ការចាក់សំឡេងលើអ៊ីនធឺណិត សូមភ្ជាប់កាសដែលអាចប្រើ LE Audio ទៅកាន់ថេប្លេតនេះជាមុនសិន។"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"ដើម្បីស្ដាប់ការចាក់សំឡេងលើអ៊ីនធឺណិត សូមភ្ជាប់កាសដែលអាចប្រើ LE Audio ទៅឧបករណ៍នេះជាមុនសិន។"</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"ដើម្បីស្ដាប់ការចាក់សំឡេងលើអ៊ីនធឺណិត សូមភ្ជាប់កាសដែលអាចប្រើ LE Audio ទៅកាន់ទូរសព្ទនេះជាមុនសិន។ "<annotation id="link">"ស្វែងយល់បន្ថែម"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"ដើម្បីស្ដាប់ការចាក់សំឡេងលើអ៊ីនធឺណិត សូមភ្ជាប់កាសដែលអាចប្រើ LE Audio ទៅកាន់ថេប្លេតនេះជាមុនសិន។ "<annotation id="link">"ស្វែងយល់បន្ថែម"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"ដើម្បីស្ដាប់ការចាក់សំឡេងលើអ៊ីនធឺណិត សូមភ្ជាប់កាសដែលអាចប្រើ LE Audio ទៅឧបករណ៍នេះជាមុនសិន។ "<annotation id="link">"ស្វែងយល់បន្ថែម"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"ទូរសព្ទនេះមិនអាចប្រើ LE Audio ដែលត្រូវការដើម្បីស្ដាប់ការចាក់សំឡេងលើអ៊ីនធឺណិតបានទេ។"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"ថេប្លេតនេះមិនអាចប្រើ LE Audio ដែលត្រូវការដើម្បីស្ដាប់ការចាក់សំឡេងលើអ៊ីនធឺណិតបានទេ។"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"ឧបករណ៍នេះមិនអាចប្រើ LE Audio ដែលត្រូវការដើម្បីស្ដាប់ការចាក់សំឡេងលើអ៊ីនធឺណិតបានទេ។"</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"ដើម្បីចាប់ផ្ដើមចែករំលែកសំឡេង សូមភ្ជាប់កាស LE Audio ទៅកាន់ទូរសព្ទរបស់អ្នកជាមុនសិន។ "<annotation id="link">"ស្វែងយល់​បន្ថែម​អំពី​ឧបករណ៍​ដែល​ត្រូវ​គ្នា"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"ដើម្បីចាប់ផ្ដើមចែករំលែកសំឡេង សូមភ្ជាប់កាស LE Audio ទៅកាន់ថេប្លេតរបស់អ្នកជាមុនសិន។ "<annotation id="link">"ស្វែងយល់​បន្ថែម​អំពី​ឧបករណ៍​ដែល​ត្រូវ​គ្នា"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"ដើម្បីចាប់ផ្ដើមចែករំលែកសំឡេង សូមភ្ជាប់កាស LE Audio ទៅកាន់ឧបករណ៍របស់អ្នកជាមុនសិន។ "<annotation id="link">"ស្វែងយល់​បន្ថែម​អំពី​ឧបករណ៍​ដែល​ត្រូវ​គ្នា"</annotation></string>
 </resources>
diff --git a/res-product/values-kn/strings.xml b/res-product/values-kn/strings.xml
index 1ee047a..788d6d5 100644
--- a/res-product/values-kn/strings.xml
+++ b/res-product/values-kn/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಪಿನ್‌‌ ಅಗತ್ಯವಿದೆ.\n\nಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪಿನ್‌‌ ರಕ್ಷಿಸುತ್ತದೆ."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಪ್ಯಾಟರ್ನ್ ಅಗತ್ಯವಿದೆ.\n\nಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪ್ಯಾಟರ್ನ್ ರಕ್ಷಿಸುತ್ತದೆ."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಪಾಸ್‌ವರ್ಡ್ ಅಗತ್ಯವಿದೆ.\n\nಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪಾಸ್‌ವರ್ಡ್ ರಕ್ಷಿಸುತ್ತದೆ."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಪಿನ್‌‌ ಅಗತ್ಯವಿದೆ.\n\nಟ್ಯಾಬ್ಲೆಟ್‌‌ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪಿನ್‌‌ ರಕ್ಷಿಸುತ್ತದೆ."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಪ್ಯಾಟರ್ನ್ ಅಗತ್ಯವಿದೆ.\n\nಟ್ಯಾಬ್ಲೆಟ್‌‌ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪ್ಯಾಟರ್ನ್ ರಕ್ಷಿಸುತ್ತದೆ."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಪಾಸ್‌ವರ್ಡ್ ಅಗತ್ಯವಿದೆ.\n\nಟ್ಯಾಬ್ಲೆಟ್‌‌ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪಾಸ್‌ವರ್ಡ್ ರಕ್ಷಿಸುತ್ತದೆ."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಪಿನ್‌‌ ಅಗತ್ಯವಿದೆ.\n\nಸಾಧನ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪಿನ್‌‌ ರಕ್ಷಿಸುತ್ತದೆ."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಪ್ಯಾಟರ್ನ್ ಅಗತ್ಯವಿದೆ.\n\nಸಾಧನ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪ್ಯಾಟರ್ನ್ ರಕ್ಷಿಸುತ್ತದೆ."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಪಾಸ್‌ವರ್ಡ್ ಅಗತ್ಯವಿದೆ.\n\nಸಾಧನ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪಾಸ್‌ವರ್ಡ್ ರಕ್ಷಿಸುತ್ತದೆ."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಪಿನ್‌‌ ಅಗತ್ಯವಿದೆ.\n\nಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪಿನ್‌‌ ರಕ್ಷಿಸುತ್ತದೆ."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಪ್ಯಾಟರ್ನ್ ಅಗತ್ಯವಿದೆ.\n\nಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪ್ಯಾಟರ್ನ್ ರಕ್ಷಿಸುತ್ತದೆ."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಪಾಸ್‌ವರ್ಡ್ ಅಗತ್ಯವಿದೆ.\n\nಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪಾಸ್‌ವರ್ಡ್ ರಕ್ಷಿಸುತ್ತದೆ."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲು ಪಿನ್ ಅಗತ್ಯವಿದೆ.\n\nಟ್ಯಾಬ್ಲೆಟ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಪಿನ್ ಅದನ್ನು ರಕ್ಷಿಸುತ್ತದೆ."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲು ಪ್ಯಾಟರ್ನ್ ಅಗತ್ಯವಿದೆ.\n\nಟ್ಯಾಬ್ಲೆಟ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಪ್ಯಾಟರ್ನ್ ಅದನ್ನು ರಕ್ಷಿಸುತ್ತದೆ."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲು ಪಾಸ್‌ವರ್ಡ್ ಅಗತ್ಯವಿದೆ.\n\nಟ್ಯಾಬ್ಲೆಟ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಪಾಸ್‌ವರ್ಡ್ ಅದನ್ನು ರಕ್ಷಿಸುತ್ತದೆ."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲು ಪಿನ್ ಅಗತ್ಯವಿದೆ.\n\nಸಾಧನ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಪಿನ್ ಅದನ್ನು ರಕ್ಷಿಸುತ್ತದೆ."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲು ಪ್ಯಾಟರ್ನ್ ಅಗತ್ಯವಿದೆ.\n\nಸಾಧನ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಪ್ಯಾಟರ್ನ್ ಅದನ್ನು ರಕ್ಷಿಸುತ್ತದೆ."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲು ಪಾಸ್‌ವರ್ಡ್ ಅಗತ್ಯವಿದೆ.\n\nಸಾಧನ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಪಾಸ್‌ವರ್ಡ್ ಅದನ್ನು ರಕ್ಷಿಸುತ್ತದೆ."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲು ಪಿನ್ ಅಗತ್ಯವಿದೆ.\n\nಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಪಿನ್ ಅದನ್ನು ರಕ್ಷಿಸುತ್ತದೆ."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲು ಪ್ಯಾಟರ್ನ್ ಅಗತ್ಯವಿದೆ.\n\nಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಪ್ಯಾಟರ್ನ್ ಅದನ್ನು ರಕ್ಷಿಸುತ್ತದೆ."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲು ಪಾಸ್‌ವರ್ಡ್ ಅಗತ್ಯವಿದೆ.\n\nಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಪಾಸ್‌ವರ್ಡ್ ಅದನ್ನು ರಕ್ಷಿಸುತ್ತದೆ."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"ನಿಮ್ಮ ಫೋನ್‌ನಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ಗೆ ಸಂಬಂಧಿಸಿದ ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಚಿತ್ರಗಳು ಮತ್ತು ಮಾಡೆಲ್ ಅನ್ನು ಇದು ಅಳಿಸುತ್ತದೆ"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್‌ನಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ಗೆ ಸಂಬಂಧಿಸಿದ ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಚಿತ್ರಗಳು ಮತ್ತು ಮಾಡೆಲ್ ಅನ್ನು ಇದು ಅಳಿಸುತ್ತದೆ"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ಗೆ ಸಂಬಂಧಿಸಿದ ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಚಿತ್ರಗಳು ಮತ್ತು ಮಾಡೆಲ್ ಅನ್ನು ಇದು ಅಳಿಸುತ್ತದೆ"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"ಆಡಿಯೋ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಕೇಳಲು, ಮೊದಲು ಈ ಫೋನ್‌ನಲ್ಲಿ LE ಆಡಿಯೊವನ್ನು ಬೆಂಬಲಿಸುವ ಹೆಡ್‌ಫೋನ್‌ಗಳನ್ನು ಕನೆಕ್ಟ್‌ ಮಾಡಿ."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"ಆಡಿಯೋ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಕೇಳಲು, ಮೊದಲು ಈ ಟ್ಯಾಬ್ಲೆಟ್‌ನಲ್ಲಿ LE ಆಡಿಯೊವನ್ನು ಬೆಂಬಲಿಸುವ ಹೆಡ್‌ಫೋನ್‌ಗಳನ್ನು ಕನೆಕ್ಟ್‌ ಮಾಡಿ."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"ಆಡಿಯೋ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಕೇಳಲು, ಮೊದಲು ಈ ಸಾಧನದಲ್ಲಿ LE ಆಡಿಯೋವನ್ನು ಬೆಂಬಲಿಸುವ ಹೆಡ್‌ಫೋನ್‌ಗಳನ್ನು ಕನೆಕ್ಟ್‌ ಮಾಡಿ."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"ಆಡಿಯೋ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಕೇಳಲು, ಮೊದಲು ಈ ಫೋನ್‌ನಲ್ಲಿ LE ಆಡಿಯೊವನ್ನು ಬೆಂಬಲಿಸುವ ಹೆಡ್‌ಫೋನ್‌ಗಳನ್ನು ಕನೆಕ್ಟ್‌ ಮಾಡಿ. "<annotation id="link">"ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"ಆಡಿಯೋ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಕೇಳಲು, ಮೊದಲು ಈ ಟ್ಯಾಬ್ಲೆಟ್‌ನಲ್ಲಿ LE ಆಡಿಯೊವನ್ನು ಬೆಂಬಲಿಸುವ ಹೆಡ್‌ಫೋನ್‌ಗಳನ್ನು ಕನೆಕ್ಟ್‌ ಮಾಡಿ. "<annotation id="link">"ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"ಆಡಿಯೋ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಕೇಳಲು, ಮೊದಲು ಈ ಸಾಧನದಲ್ಲಿ LE ಆಡಿಯೋವನ್ನು ಬೆಂಬಲಿಸುವ ಹೆಡ್‌ಫೋನ್‌ಗಳನ್ನು ಕನೆಕ್ಟ್‌ ಮಾಡಿ. "<annotation id="link">"ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"ಆಡಿಯೊ ಸ್ಟ್ರೀಮ್‌ಗಳನ್ನು ಕೇಳಲು ಅಗತ್ಯವಿರುವ LE ಆಡಿಯೊವನ್ನು ಈ ಫೋನ್ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"ಆಡಿಯೋ ಸ್ಟ್ರೀಮ್‌ಗಳನ್ನು ಕೇಳಲು ಅಗತ್ಯವಿರುವ LE ಆಡಿಯೊವನ್ನು ಈ ಟ್ಯಾಬ್ಲೆಟ್ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"ಆಡಿಯೋ ಸ್ಟ್ರೀಮ್‌ಗಳನ್ನು ಕೇಳಲು ಅಗತ್ಯವಿರುವ LE ಆಡಿಯೊವನ್ನು ಈ ಸಾಧನವು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"ಆಡಿಯೋವನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಪ್ರಾರಂಭಿಸುವುದಕ್ಕೆ ಮೊದಲು ನಿಮ್ಮ ಫೋನ್‌ಗೆ LE ಆಡಿಯೋ ಹೆಡ್‌ಫೋನ್‌ಗಳನ್ನು ಕನೆಕ್ಟ್‌ ಮಾಡಿ. "<annotation id="link">"ಹೊಂದಾಣಿಕೆಯಾಗುವ ಸಾಧನಗಳ ಕುರಿತು ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"ಆಡಿಯೋವನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಪ್ರಾರಂಭಿಸುವುದಕ್ಕೆ ಮೊದಲು ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್‌ಗೆ LE ಆಡಿಯೋ ಹೆಡ್‌ಫೋನ್‌ಗಳನ್ನು ಕನೆಕ್ಟ್‌ ಮಾಡಿ. "<annotation id="link">"ಹೊಂದಾಣಿಕೆಯಾಗುವ ಸಾಧನಗಳ ಕುರಿತು ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"ಆಡಿಯೋವನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಪ್ರಾರಂಭಿಸುವುದಕ್ಕೆ ಮೊದಲು ನಿಮ್ಮ ಸಾಧನಕ್ಕೆ LE ಆಡಿಯೋ ಹೆಡ್‌ಫೋನ್‌ಗಳನ್ನು ಕನೆಕ್ಟ್‌ ಮಾಡಿ. "<annotation id="link">"ಹೊಂದಾಣಿಕೆಯಾಗುವ ಸಾಧನಗಳ ಕುರಿತು ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</annotation></string>
 </resources>
diff --git a/res-product/values-ko/strings.xml b/res-product/values-ko/strings.xml
index d8a2290..0b3b5b6 100644
--- a/res-product/values-ko/strings.xml
+++ b/res-product/values-ko/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"얼굴 인식 잠금 해제를 설정하려면 PIN이 필요합니다.\n\nPIN을 사용하면 휴대전화를 분실하거나 도난당했을 때 휴대전화를 보호할 수 있습니다."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"얼굴 인식 잠금 해제를 설정하려면 패턴이 필요합니다.\n\n패턴을 사용하면 휴대전화를 분실하거나 도난당했을 때 휴대전화를 보호할 수 있습니다."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"얼굴 인식 잠금 해제를 설정하려면 비밀번호가 필요합니다.\n\n비밀번호를 사용하면 휴대전화를 분실하거나 도난당했을 때 보호할 수 있습니다."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"얼굴 인식 잠금 해제 및 지문 잠금 해제를 설정하려면 PIN이 필요합니다.\n\nPIN을 사용하면 태블릿을 분실하거나 도난당했을 때 태블릿을 보호할 수 있습니다."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"얼굴 인식 잠금 해제 및 지문 잠금 해제를 설정하려면 패턴이 필요합니다.\n\n패턴을 사용하면 태블릿을 분실하거나 도난당했을 때 태블릿을 보호할 수 있습니다."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"얼굴 인식 잠금 해제 및 지문 잠금 해제를 설정하려면 비밀번호가 필요합니다.\n\n비밀번호를 사용하면 태블릿을 분실하거나 도난당했을 때 태블릿을 보호할 수 있습니다."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"얼굴 인식 잠금 해제 및 지문 잠금 해제를 설정하려면 PIN이 필요합니다.\n\nPIN을 사용하면 기기를 분실하거나 도난당했을 때 기기를 보호할 수 있습니다."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"얼굴 인식 잠금 해제 및 지문 잠금 해제를 설정하려면 패턴이 필요합니다.\n\n패턴을 사용하면 기기를 분실하거나 도난당했을 때 기기를 보호할 수 있습니다."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"얼굴 인식 잠금 해제 및 지문 잠금 해제를 설정하려면 비밀번호가 필요합니다.\n\n비밀번호를 사용하면 기기를 분실하거나 도난당했을 때 기기를 보호할 수 있습니다."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"얼굴 인식 잠금 해제 및 지문 잠금 해제를 설정하려면 PIN이 필요합니다.\n\nPIN을 사용하면 휴대전화를 분실하거나 도난당했을 때 보호할 수 있습니다."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"얼굴 인식 잠금 해제 및 지문 잠금 해제를 설정하려면 패턴이 필요합니다.\n\n패턴을 사용하면 휴대전화를 분실하거나 도난당했을 때 보호할 수 있습니다."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"얼굴 인식 잠금 해제 및 지문 잠금 해제를 설정하려면 비밀번호가 필요합니다.\n\n비밀번호를 사용하면 휴대전화를 분실하거나 도난당했을 때 보호할 수 있습니다."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"지문 잠금 해제 및 얼굴 인식 잠금 해제를 설정하려면 PIN이 필요합니다.\n\nPIN을 사용하면 태블릿을 분실하거나 도난당했을 때 태블릿을 보호할 수 있습니다."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"지문 잠금 해제 및 얼굴 인식 잠금 해제를 설정하려면 패턴이 필요합니다.\n\n패턴을 사용하면 태블릿을 분실하거나 도난당했을 때 태블릿을 보호할 수 있습니다."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"지문 잠금 해제 및 얼굴 인식 잠금 해제를 설정하려면 비밀번호가 필요합니다.\n\n비밀번호를 사용하면 태블릿을 분실하거나 도난당했을 때 태블릿을 보호할 수 있습니다."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"지문 잠금 해제 및 얼굴 인식 잠금 해제를 설정하려면 PIN이 필요합니다.\n\nPIN을 사용하면 기기를 분실하거나 도난당했을 때 기기를 보호할 수 있습니다."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"지문 잠금 해제 및 얼굴 인식 잠금 해제를 설정하려면 패턴이 필요합니다.\n\n패턴을 사용하면 기기를 분실하거나 도난당했을 때 기기를 보호할 수 있습니다."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"지문 잠금 해제 및 얼굴 인식 잠금 해제를 설정하려면 비밀번호가 필요합니다.\n\n비밀번호를 사용하면 기기를 분실하거나 도난당했을 때 기기를 보호할 수 있습니다."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"지문 잠금 해제 및 얼굴 인식 잠금 해제를 설정하려면 PIN이 필요합니다.\n\nPIN을 사용하면 휴대전화를 분실하거나 도난당했을 때 휴대전화를 보호할 수 있습니다."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"지문 잠금 해제 및 얼굴 인식 잠금 해제를 설정하려면 패턴이 필요합니다.\n\n패턴을 사용하면 휴대전화를 분실하거나 도난당했을 때 휴대전화를 보호할 수 있습니다."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"지문 잠금 해제 및 얼굴 인식 잠금 해제를 설정하려면 비밀번호가 필요합니다.\n\n비밀번호를 사용하면 휴대전화를 분실하거나 도난당했을 때 보호할 수 있습니다."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"휴대전화에 저장된 \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' 지문과 관련된 지문 이미지와 모델이 삭제됩니다"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"태블릿에 저장된 \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' 지문과 관련된 지문 이미지와 모델이 삭제됩니다"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"기기에 저장된 \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' 지문과 관련된 지문 이미지와 모델이 삭제됩니다"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"오디오 스트림을 들으려면 먼저 이 휴대전화에 LE 오디오를 지원하는 헤드폰을 연결하세요"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"오디오 스트림을 들으려면 먼저 이 태블릿에 LE 오디오를 지원하는 헤드폰을 연결하세요"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"오디오 스트림을 들으려면 먼저 이 기기에 LE 오디오를 지원하는 헤드폰을 연결하세요"</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"오디오 스트림을 들으려면 먼저 LE 오디오를 지원하는 헤드폰을 이 휴대전화에 연결하세요. "<annotation id="link">"자세히 알아보기"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"오디오 스트림을 들으려면 먼저 LE 오디오를 지원하는 헤드폰을 이 태블릿에 연결하세요. "<annotation id="link">"자세히 알아보기"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"오디오 스트림을 들으려면 먼저 LE 오디오를 지원하는 헤드폰을 이 기기에 연결하세요. "<annotation id="link">"자세히 알아보기"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"이 휴대전화는 오디오 스트림을 듣기 위해 필요한 LE 오디오를 지원하지 않습니다."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"이 태블릿은 오디오 스트림을 듣기 위해 필요한 LE 오디오를 지원하지 않습니다"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"이 기기는 오디오 스트림을 듣기 위해 필요한 LE 오디오를 지원하지 않습니다"</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"오디오 공유를 시작하려면 먼저 LE 오디오 헤드폰을 휴대전화에 연결하세요. "<annotation id="link">"호환 기기 자세히 알아보기"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"오디오 공유를 시작하려면 먼저 LE 오디오 헤드폰을 태블릿에 연결하세요. "<annotation id="link">"호환 기기 자세히 알아보기"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"오디오 공유를 시작하려면 먼저 LE 오디오 헤드폰을 기기에 연결하세요. "<annotation id="link">"호환 기기 자세히 알아보기"</annotation></string>
 </resources>
diff --git a/res-product/values-ky/strings.xml b/res-product/values-ky/strings.xml
index 09d650a..e02da20 100644
--- a/res-product/values-ky/strings.xml
+++ b/res-product/values-ky/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Жүзүнөн таанып ачуу функциясын кошуу үчүн PIN код талап кылынат.\n\nPIN код жоголгон же уурдалган телефондогу нерселерди коргойт."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Жүзүнөн таанып ачуу функциясын кошуу үчүн графикалык ачкыч талап кылынат.\n\nГрафикалык ачкыч жоголгон же уурдалган телефондогу нерселерди коргойт."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Жүзүнөн таанып ачуу функциясын кошуу үчүн сырсөз талап кылынат.\n\nСырсөз жоголгон же уурдалган телефонуңуздагы нерселерди коргойт."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Жүзүнөн таанып ачуу жана манжа изи менен ачуу функцияларын коюу үчүн PIN код талап кылынат.\n\nPIN код планшет жоголсо же уурдалса, аны коргойт."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Жүзүнөн таанып ачуу жана манжа изи менен ачуу функцияларын коюу үчүн графикалык ачкыч талап кылынат.\n\nГрафикалык ачкыч планшет жоголсо же уурдалса, аны коргойт."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Жүзүнөн таанып ачуу жана манжа изи менен ачуу функцияларын коюу үчүн сырсөз талап кылынат.\n\nСырсөз планшет жоголсо же уурдалса, аны коргойт."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Жүзүнөн таанып ачуу жана манжа изи менен ачуу функцияларын коюу үчүн PIN код талап кылынат.\n\nPIN код түзмөк жоголсо же уурдалса, аны коргойт."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Жүзүнөн таанып ачуу жана манжа изи менен ачуу функцияларын коюу үчүн графикалык ачкыч талап кылынат.\n\nГрафикалык ачкыч түзмөк жоголсо же уурдалса, аны коргойт."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Жүзүнөн таанып ачуу жана манжа изи менен ачуу функцияларын коюу үчүн сырсөз талап кылынат.\n\nСырсөз түзмөк жоголсо же уурдалса, аны коргойт."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Жүзүнөн таанып ачуу жана манжа изи менен ачуу функцияларын коюу үчүн PIN код талап кылынат.\n\nPIN код жоголгон же уурдалган телефондогу нерселерди коргойт."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Жүзүнөн таанып ачуу жана манжа изи менен ачуу функцияларын коюу үчүн графикалык ачкыч талап кылынат.\n\nГрафикалык ачкыч жоголгон же уурдалган телефондогу нерселерди коргойт."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Жүзүнөн таанып ачуу жана манжа изи менен ачуу функцияларын коюу үчүн сырсөз талап кылынат.\n\nСырсөз жоголгон же уурдалган телефонуңуздагы нерселерди коргойт."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Манжа изи менен ачуу жана Жүзүнөн таанып ачуу функцияларын коюу үчүн PIN код талап кылынат.\n\nPIN код планшет жоголсо же уурдалса, аны коргойт."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Манжа изи менен ачуу жана Жүзүнөн таанып ачуу функцияларын коюу үчүн графикалык ачкыч талап кылынат.\n\nГрафикалык ачкыч планшет жоголсо же уурдалса, аны коргойт."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Манжа изи менен ачуу жана Жүзүнөн таанып ачуу функцияларын коюу үчүн сырсөз талап кылынат.\n\nСырсөз планшет жоголсо же уурдалса, аны коргойт."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Манжа изи менен ачуу жана Жүзүнөн таанып ачуу функцияларын коюу үчүн PIN код талап кылынат.\n\nPIN код түзмөк жоголсо же уурдалса, аны коргойт."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Манжа изи менен ачуу жана Жүзүнөн таанып ачуу функцияларын коюу үчүн графикалык ачкыч талап кылынат.\n\nГрафикалык ачкыч түзмөк жоголсо же уурдалса, аны коргойт."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Манжа изи менен ачуу жана Жүзүнөн таанып ачуу функцияларын коюу үчүн сырсөз талап кылынат.\n\nСырсөз түзмөк жоголсо же уурдалса, аны коргойт."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Манжа изи менен ачуу жана Жүзүнөн таанып ачуу функцияларын коюу үчүн PIN код талап кылынат.\n\nPIN код жоголгон же уурдалган телефондогу нерселерди коргойт."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Манжа изи менен ачуу жана Жүзүнөн таанып ачуу функцияларын коюу үчүн графикалык ачкыч талап кылынат.\n\nГрафикалык ачкыч жоголгон же уурдалган телефондогу нерселерди коргойт."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Манжа изи менен ачуу жана Жүзүнөн таанып ачуу функцияларын коюу үчүн сырсөз талап кылынат.\n\nСырсөз жоголгон же уурдалган телефонуңуздагы нерселерди коргойт."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Ушуну менен телефонуңуздагы \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" менен байланышкан манжа изинин сүрөттөрү менен үлгүсү өчөт"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Ушуну менен планшетиңиздеги \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" менен байланышкан манжа изинин сүрөттөрү менен үлгүсү өчөт"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Ушуну менен түзмөгүңүздөгү \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" менен байланышкан манжа изинин сүрөттөрү менен үлгүсү өчөт"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Аудио агымды угуу үчүн, адегенде бул телефонго LE Audio колдоого алынган гарнитураны туташтырыңыз."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Аудио агымды угуу үчүн, адегенде бул планшетке LE Audio колдоого алынган гарнитураны туташтырыңыз."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Аудио агымды угуу үчүн, адегенде бул түзмөккө LE Audio колдоого алынган гарнитураны туташтырыңыз."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Аудио агымды угуу үчүн адегенде бул телефонго LE Audio колдоого алынган гарнитураны туташтырыңыз. "<annotation id="link">"Кеңири маалымат"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Аудио агымды угуу үчүн адегенде бул планшетке LE Audio колдоого алынган гарнитураны туташтырыңыз. "<annotation id="link">"Кеңири маалымат"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Аудио агымды угуу үчүн адегенде бул түзмөккө LE Audio колдоого алынган гарнитураны туташтырыңыз. "<annotation id="link">"Кеңири маалымат"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Бул телефондо аудио агымдарды угуу үчүн колдонулган LE Audio стандарты иштебейт."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Бул планшетте аудио агымдарды угуу үчүн керектелген LE Audio колдоого алынбайт."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Бул түзмөктө аудио агымдарды угуу үчүн керектелген LE Audio колдоого алынбайт."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Аудиону бөлүшүп баштоо үчүн адегенде LE Audio гарнитурасын телефонуңузга туташтырыңыз. "<annotation id="link">"Шайкеш түзмөктөр тууралуу кененирээк маалымат"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Аудиону бөлүшүп баштоо үчүн адегенде LE Audio гарнитурасын планшетиңизге туташтырыңыз. "<annotation id="link">"Шайкеш түзмөктөр тууралуу кененирээк маалымат"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Аудиону бөлүшүп баштоо үчүн адегенде LE Audio гарнитурасын түзмөгүңүзгө туташтырыңыз. "<annotation id="link">"Шайкеш түзмөктөр тууралуу кененирээк маалымат"</annotation></string>
 </resources>
diff --git a/res-product/values-lo/strings.xml b/res-product/values-lo/strings.xml
index 4db22ac..d5739f1 100644
--- a/res-product/values-lo/strings.xml
+++ b/res-product/values-lo/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"ຕ້ອງໃຊ້ PIN ເພື່ອຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ.\n\nPIN ຈະປົກປ້ອງໂທລະສັບຫາກມັນເສຍ ຫຼື ຖືກລັກ."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"ຕ້ອງໃຊ້ຮູບແບບເພື່ອຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ.\n\nຮູບແບບຈະປົກປ້ອງໂທລະສັບຫາກມັນເສຍ ຫຼື ຖືກລັກ."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"ຕ້ອງໃຊ້ລະຫັດຜ່ານເພື່ອຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ.\n\nລະຫັດຜ່ານຈະປົກປ້ອງໂທລະສັບຫາກມັນເສຍ ຫຼື ຖືກລັກ."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"ຕ້ອງໃຊ້ PIN ເພື່ອຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ ແລະ ການປົດລັອກດ້ວຍລາຍນິ້ວມື.\n\nPIN ຈະປົກປ້ອງແທັບເລັດຫາກມັນເສຍ ຫຼື ຖືກລັກ."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"ຕ້ອງໃຊ້ຮູບແບບເພື່ອຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ ແລະ ການປົດລັອກດ້ວຍລາຍນິ້ວມື.\n\nຮູບແບບຈະປົກປ້ອງແທັບເລັດຫາກມັນເສຍ ຫຼື ຖືກລັກ."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"ຕ້ອງໃຊ້ລະຫັດຜ່ານເພື່ອຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ ແລະ ການປົດລັອກດ້ວຍລາຍນິ້ວມື.\n\nລະຫັດຜ່ານຈະປົກປ້ອງແທັບເລັດຫາກມັນເສຍ ຫຼື ຖືກລັກ."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"ຕ້ອງໃຊ້ PIN ເພື່ອຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ ແລະ ການປົດລັອກດ້ວຍລາຍນິ້ວມື.\n\nPIN ຈະປົກປ້ອງອຸປະກອນຫາກມັນເສຍ ຫຼື ຖືກລັກ."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"ຕ້ອງໃຊ້ຮູບແບບເພື່ອຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ ແລະ ການປົດລັອກດ້ວຍລາຍນິ້ວມື.\n\nຮູບແບບຈະປົກປ້ອງອຸປະກອນຫາກມັນເສຍ ຫຼື ຖືກລັກ."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"ຕ້ອງໃຊ້ລະຫັດຜ່ານເພື່ອຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ ແລະ ການປົດລັອກດ້ວຍລາຍນິ້ວມື.\n\nລະຫັດຜ່ານຈະປົກປ້ອງອຸປະກອນຫາກມັນເສຍ ຫຼື ຖືກລັກ."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"ຕ້ອງໃຊ້ PIN ເພື່ອຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ ແລະ ການປົດລັອກດ້ວຍລາຍນິ້ວມື.\n\nPIN ຈະປົກປ້ອງໂທລະສັບຫາກມັນເສຍ ຫຼື ຖືກລັກ."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"ຕ້ອງໃຊ້ຮູບແບບເພື່ອຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ ແລະ ການປົດລັອກດ້ວຍລາຍນິ້ວມື.\n\nຮູບແບບຈະປົກປ້ອງໂທລະສັບຫາກມັນເສຍ ຫຼື ຖືກລັກ."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"ຕ້ອງໃຊ້ລະຫັດຜ່ານເພື່ອຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ ແລະ ການປົດລັອກດ້ວຍລາຍນິ້ວມື.\n\nລະຫັດຜ່ານຈະປົກປ້ອງໂທລະສັບຫາກມັນເສຍ ຫຼື ຖືກລັກ."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"ຕ້ອງໃຊ້ PIN ເພື່ອຕັ້ງຄ່າປົດລັອກດ້ວຍລາຍນິ້ວມື ແລະ ການປົດລັອກດ້ວຍໜ້າ.\n\nPIN ຈະຊ່ວຍປົກປ້ອງແທັບເລັດໃນກໍລະນີທີ່ເສຍ ຫຼື ຖືກລັກ."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"ຕ້ອງໃຊ້ຮູບແບບເພື່ອຕັ້ງຄ່າປົດລັອກດ້ວຍລາຍນິ້ວມື ແລະ ການປົດລັອກດ້ວຍໜ້າ.\n\nຮູບແບບຈະຊ່ວຍປົກປ້ອງແທັບເລັດໃນກໍລະນີທີ່ເສຍ ຫຼື ຖືກລັກ."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"ຕ້ອງໃຊ້ລະຫັດຜ່ານເພື່ອຕັ້ງຄ່າປົດລັອກດ້ວຍລາຍນິ້ວມື ແລະ ການປົດລັອກດ້ວຍໜ້າ.\n\nລະຫັດຜ່ານຈະຊ່ວຍປົກປ້ອງແທັບເລັດໃນກໍລະນີທີ່ເສຍ ຫຼື ຖືກລັກ."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"ຕ້ອງໃຊ້ PIN ເພື່ອຕັ້ງຄ່າປົດລັອກດ້ວຍລາຍນິ້ວມື ແລະ ການປົດລັອກດ້ວຍໜ້າ.\n\nPIN ຈະຊ່ວຍປົກປ້ອງອຸປະກອນໃນກໍລະນີທີ່ເສຍ ຫຼື ຖືກລັກ."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"ຕ້ອງໃຊ້ຮູບແບບເພື່ອຕັ້ງຄ່າປົດລັອກດ້ວຍລາຍນິ້ວມື ແລະ ການປົດລັອກດ້ວຍໜ້າ.\n\nຮູບແບບຈະຊ່ວຍປົກປ້ອງອຸປະກອນໃນກໍລະນີທີ່ເສຍ ຫຼື ຖືກລັກ."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"ຕ້ອງໃຊ້ລະຫັດຜ່ານເພື່ອຕັ້ງຄ່າປົດລັອກດ້ວຍລາຍນິ້ວມື ແລະ ການປົດລັອກດ້ວຍໜ້າ.\n\nລະຫັດຜ່ານຈະຊ່ວຍປົກປ້ອງອຸປະກອນໃນກໍລະນີທີ່ເສຍ ຫຼື ຖືກລັກ."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"ຕ້ອງໃຊ້ PIN ເພື່ອຕັ້ງຄ່າປົດລັອກດ້ວຍລາຍນິ້ວມື ແລະ ການປົດລັອກດ້ວຍໜ້າ.\n\nPIN ຈະຊ່ວຍປົກປ້ອງໂທລະສັບໃນກໍລະນີທີ່ເສຍ ຫຼື ຖືກລັກ."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"ຕ້ອງໃຊ້ຮູບແບບເພື່ອຕັ້ງຄ່າປົດລັອກດ້ວຍລາຍນິ້ວມື ແລະ ການປົດລັອກດ້ວຍໜ້າ.\n\nຮູບແບບຈະຊ່ວຍປົກປ້ອງໂທລະສັບໃນກໍລະນີທີ່ເສຍ ຫຼື ຖືກລັກ."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"ຕ້ອງໃຊ້ລະຫັດຜ່ານເພື່ອຕັ້ງຄ່າປົດລັອກດ້ວຍລາຍນິ້ວມື ແລະ ການປົດລັອກດ້ວຍໜ້າ.\n\nລະຫັດຜ່ານຈະຊ່ວຍປົກປ້ອງໂທລະສັບໃນກໍລະນີທີ່ເສຍ ຫຼື ຖືກລັກ."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"ນີ້ຈະລຶບຮູບ ແລະ ຮູບແບບລາຍນິ້ວມືທີ່ເຊື່ອມໂຍງກັບ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ທີ່ຈັດເກັບໄວ້ຢູ່ໂທລະສັບຂອງທ່ານອອກ"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"ນີ້ຈະລຶບຮູບ ແລະ ຮູບແບບລາຍນິ້ວມືທີ່ເຊື່ອມໂຍງກັບ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ທີ່ຈັດເກັບໄວ້ຢູ່ແທັບເລັດຂອງທ່ານອອກ"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"ນີ້ຈະລຶບຮູບ ແລະ ຮູບແບບລາຍນິ້ວມືທີ່ເຊື່ອມໂຍງກັບ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ທີ່ຈັດເກັບໄວ້ຢູ່ອຸປະກອນຂອງທ່ານອອກ"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"ເພື່ອຟັງການສະຕຣີມສຽງ, ທຳອິດໃຫ້ເຊື່ອມຕໍ່ຫູຟັງທີ່ຮອງຮັບສຽງ LE ເຂົ້າກັບໂທລະສັບເຄື່ອງນີ້."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"ເພື່ອຟັງການສະຕຣີມສຽງ, ທຳອິດໃຫ້ເຊື່ອມຕໍ່ຫູຟັງທີ່ຮອງຮັບສຽງ LE ເຂົ້າກັບແທັບເລັດເຄື່ອງນີ້."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"ເພື່ອຟັງການສະຕຣີມສຽງ, ທຳອິດໃຫ້ເຊື່ອມຕໍ່ຫູຟັງທີ່ຮອງຮັບສຽງ LE ເຂົ້າກັບອຸປະກອນເຄື່ອງນີ້."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"ເພື່ອຟັງການສະຕຣີມສຽງ, ໃຫ້ເຊື່ອມຕໍ່ຫູຟັງທີ່ຮອງຮັບສຽງ LE ກັບໂທລະສັບເຄື່ອງນີ້ກ່ອນ. "<annotation id="link">"ສຶກສາເພີ່ມເຕີມ"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"ເພື່ອຟັງການສະຕຣີມສຽງ, ໃຫ້ເຊື່ອມຕໍ່ຫູຟັງທີ່ຮອງຮັບສຽງ LE ກັບແທັບເລັດເຄື່ອງນີ້ກ່ອນ. "<annotation id="link">"ສຶກສາເພີ່ມເຕີມ"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"ເພື່ອຟັງການສະຕຣີມສຽງ, ໃຫ້ເຊື່ອມຕໍ່ຫູຟັງທີ່ຮອງຮັບສຽງ LE ກັບອຸປະກອນເຄື່ອງນີ້ກ່ອນ. "<annotation id="link">"ສຶກສາເພີ່ມເຕີມ"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"ໂທລະສັບເຄື່ອງນີ້ບໍ່ຮອງຮັບສຽງ LE, ເຊິ່ງຈຳເປັນສຳລັບການຟັງການສະຕຣີມສຽງ."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"ແທັບເລັດເຄື່ອງນີ້ບໍ່ຮອງຮັບສຽງ LE, ເຊິ່ງຈຳເປັນສຳລັບການຟັງການສະຕຣີມສຽງ."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"ອຸປະກອນເຄື່ອງນີ້ບໍ່ຮອງຮັບສຽງ LE, ເຊິ່ງຈຳເປັນສຳລັບການຟັງການສະຕຣີມສຽງ."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"ເພື່ອເລີ່ມແບ່ງປັນສຽງ, ໃຫ້ເຊື່ອມຕໍ່ຫູຟັງທີ່ຮອງຮັບສຽງ LE ກັບໂທລະສັບຂອງທ່ານກ່ອນ. "<annotation id="link">"ສຶກສາເພີ່ມເຕີມກ່ຽວກັບອຸປະກອນທີ່ເຂົ້າກັນໄດ້"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"ເພື່ອເລີ່ມແບ່ງປັນສຽງ, ໃຫ້ເຊື່ອມຕໍ່ຫູຟັງທີ່ຮອງຮັບສຽງ LE ກັບແທັບເລັດຂອງທ່ານກ່ອນ. "<annotation id="link">"ສຶກສາເພີ່ມເຕີມກ່ຽວກັບອຸປະກອນທີ່ເຂົ້າກັນໄດ້"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"ເພື່ອເລີ່ມແບ່ງປັນສຽງ, ໃຫ້ເຊື່ອມຕໍ່ຫູຟັງທີ່ຮອງຮັບສຽງ LE ກັບອຸປະກອນຂອງທ່ານກ່ອນ. "<annotation id="link">"ສຶກສາເພີ່ມເຕີມກ່ຽວກັບອຸປະກອນທີ່ເຂົ້າກັນໄດ້"</annotation></string>
 </resources>
diff --git a/res-product/values-lt/strings.xml b/res-product/values-lt/strings.xml
index 9688a06..2fda2d8 100644
--- a/res-product/values-lt/strings.xml
+++ b/res-product/values-lt/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Norint nustatyti atrakinimą pagal veidą, būtinas PIN kodas.\n\nPIN kodas apsaugo pamestą ar pavogtą telefoną."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Norint nustatyti atrakinimą pagal veidą, būtinas atrakinimo piešinys.\n\nAtrakinimo piešinys apsaugo pamestą ar pavogtą telefoną."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Norint nustatyti atrakinimą pagal veidą, būtinas slaptažodis.\n\nSlaptažodis apsaugo pamestą ar pavogtą telefoną."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Norint nustatyti atrakinimą pagal veidą ir atrakinimą kontroliniu kodu, būtinas PIN kodas.\n\nPIN kodas apsaugo pamestą ar pavogtą planšetinį kompiuterį."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Norint nustatyti atrakinimą pagal veidą ir atrakinimą kontroliniu kodu, būtinas atrakinimo piešinys.\n\nAtrakinimo piešinys apsaugo pamestą ar pavogtą planšetinį kompiuterį."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Norint nustatyti atrakinimą pagal veidą ir atrakinimą kontroliniu kodu, būtinas slaptažodis.\n\nSlaptažodis apsaugo pamestą ar pavogtą planšetinį kompiuterį."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Norint nustatyti atrakinimą pagal veidą ir atrakinimą kontroliniu kodu, būtinas PIN kodas.\n\nPIN kodas apsaugo pamestą ar pavogtą įrenginį."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Norint nustatyti atrakinimą pagal veidą ir atrakinimą kontroliniu kodu, būtinas atrakinimo piešinys.\n\nAtrakinimo piešinys apsaugo pamestą ar pavogtą įrenginį."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Norint nustatyti atrakinimą pagal veidą ir atrakinimą kontroliniu kodu, būtinas slaptažodis.\n\nSlaptažodis apsaugo pamestą ar pavogtą įrenginį."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Norint nustatyti atrakinimą pagal veidą ir atrakinimą kontroliniu kodu, būtinas PIN kodas.\n\nPIN kodas apsaugo pamestą ar pavogtą telefoną."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Norint nustatyti atrakinimą pagal veidą ir atrakinimą kontroliniu kodu, būtinas atrakinimo piešinys.\n\nAtrakinimo piešinys apsaugo pamestą ar pavogtą telefoną."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Norint nustatyti atrakinimą pagal veidą ir atrakinimą kontroliniu kodu, būtinas slaptažodis.\n\nSlaptažodis apsaugo pamestą ar pavogtą telefoną."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Norint nustatyti atrakinimą piršto atspaudu ir atrakinimą pagal veidą, būtinas PIN kodas.\n\nPIN kodas apsaugo pamestą ar pavogtą planšetinį kompiuterį."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Norint nustatyti atrakinimą piršto atspaudu ir atrakinimą pagal veidą, būtinas atrakinimo piešinys.\n\nAtrakinimo piešinys apsaugo pamestą ar pavogtą planšetinį kompiuterį."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Norint nustatyti atrakinimą piršto atspaudu ir atrakinimą pagal veidą, būtinas slaptažodis.\n\nSlaptažodis apsaugo pamestą ar pavogtą planšetinį kompiuterį."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Norint nustatyti atrakinimą piršto atspaudu ir atrakinimą pagal veidą, būtinas PIN kodas.\n\nPIN kodas apsaugo pamestą ar pavogtą įrenginį."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Norint nustatyti atrakinimą piršto atspaudu ir atrakinimą pagal veidą, būtinas atrakinimo piešinys.\n\nAtrakinimo piešinys apsaugo pamestą ar pavogtą įrenginį."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Norint nustatyti atrakinimą piršto atspaudu ir atrakinimą pagal veidą, būtinas slaptažodis.\n\nSlaptažodis apsaugo pamestą ar pavogtą įrenginį."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Norint nustatyti atrakinimą piršto atspaudu ir atrakinimą pagal veidą, būtinas PIN kodas.\n\nPIN kodas apsaugo pamestą ar pavogtą telefoną."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Norint nustatyti atrakinimą piršto atspaudu ir atrakinimą pagal veidą, būtinas atrakinimo piešinys.\n\nAtrakinimo piešinys apsaugo pamestą ar pavogtą telefoną."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Norint nustatyti atrakinimą piršto atspaudu ir atrakinimą pagal veidą, būtinas slaptažodis.\n\nSlaptažodis apsaugo pamestą ar pavogtą telefoną."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Bus ištrinti telefone saugomi piršto atspaudo vaizdai ir modelis, susieti su „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Bus ištrinti planšetiniame kompiuteryje saugomi kontrolinio kodo vaizdai ir modelis, susieti su „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Bus ištrinti įrenginyje saugomi kontrolinio kodo vaizdai ir modelis, susieti su „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Jei norite klausyti garso srauto, pirmiausia prijunkite „LE Audio“ palaikančias ausines prie šio telefono."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Jei norite klausyti garso srauto, pirmiausia prijunkite „LE Audio“ palaikančias ausines prie šio planšetinio kompiuterio."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Jei norite klausyti garso srauto, pirmiausia prijunkite „LE Audio“ palaikančias ausines prie šio įrenginio."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Jei norite klausyti garso srauto, pirmiausia prijunkite „LE Audio“ palaikančias ausines prie šio telefono. "<annotation id="link">"Sužinokite daugiau"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Jei norite klausyti garso srauto, pirmiausia prijunkite „LE Audio“ palaikančias ausines prie šio planšetinio kompiuterio. "<annotation id="link">"Sužinokite daugiau"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Jei norite klausyti garso srauto, pirmiausia prijunkite „LE Audio“ palaikančias ausines prie šio įrenginio. "<annotation id="link">"Sužinokite daugiau"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Šis telefonas nepalaiko funkcijos „LE Audio“, kuri reikalinga norint klausyti garso srauto."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Šis planšetinis kompiuteris nepalaiko funkcijos „LE Audio“, kuri reikalinga norint klausyti garso srauto."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Šis įrenginys nepalaiko funkcijos „LE Audio“, kuri reikalinga norint klausyti garso srauto."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Jei norite pradėti bendrinti garso įrašą, pirmiausia prijunkite „LE Audio“ ausines prie telefono. "<annotation id="link">"Sužinokite daugiau apie suderinamus įrenginius"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Jei norite pradėti bendrinti garso įrašą, pirmiausia prijunkite „LE Audio“ ausines prie planšetinio kompiuterio. "<annotation id="link">"Sužinokite daugiau apie suderinamus įrenginius"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Jei norite pradėti bendrinti garso įrašą, pirmiausia prijunkite „LE Audio“ ausines prie įrenginio. "<annotation id="link">"Sužinokite daugiau apie suderinamus įrenginius"</annotation></string>
 </resources>
diff --git a/res-product/values-lv/strings.xml b/res-product/values-lv/strings.xml
index a6ddbcf..cafd328 100644
--- a/res-product/values-lv/strings.xml
+++ b/res-product/values-lv/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Lai iestatītu autorizāciju pēc sejas, ir jābūt iestatītam PIN.\n\nPIN aizsargā tālruni, ja tas tiek nozaudēts vai nozagts."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Lai iestatītu autorizāciju pēc sejas, ir jābūt iestatītai kombinācijai.\n\nKombinācija aizsargā tālruni, ja tas tiek nozaudēts vai nozagts."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Lai iestatītu autorizāciju pēc sejas, ir jābūt iestatītai parolei.\n\nParole aizsargā tālruni, ja tas tiek nozaudēts vai nozagts."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Lai iestatītu autorizāciju pēc sejas un autorizāciju ar pirksta nospiedumu, ir jābūt iestatītam PIN.\n\nPIN aizsargā planšetdatoru, ja tas tiek nozaudēts vai nozagts."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Lai iestatītu autorizāciju pēc sejas un autorizāciju ar pirksta nospiedumu, ir jābūt iestatītai kombinācijai.\n\nKombinācija aizsargā planšetdatoru, ja tas tiek nozaudēts vai nozagts."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Lai iestatītu autorizāciju pēc sejas un autorizāciju ar pirksta nospiedumu, ir jābūt iestatītai parolei.\n\nParole aizsargā planšetdatoru, ja tas tiek nozaudēts vai nozagts."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Lai iestatītu autorizāciju pēc sejas un autorizāciju ar pirksta nospiedumu, ir jābūt iestatītam PIN.\n\nPIN aizsargā ierīci, ja tā tiek nozaudēta vai nozagta."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Lai iestatītu autorizāciju pēc sejas un autorizāciju ar pirksta nospiedumu, ir jābūt iestatītai kombinācijai.\n\nKombinācija aizsargā ierīci, ja tā tiek nozaudēta vai nozagta."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Lai iestatītu autorizāciju pēc sejas un autorizāciju ar pirksta nospiedumu, ir jābūt iestatītai parolei.\n\nParole aizsargā ierīci, ja tā tiek nozaudēta vai nozagta."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Lai iestatītu autorizāciju pēc sejas un autorizāciju ar pirksta nospiedumu, ir jābūt iestatītam PIN.\n\nPIN aizsargā tālruni, ja tas tiek nozaudēts vai nozagts."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Lai iestatītu autorizāciju pēc sejas un autorizāciju ar pirksta nospiedumu, ir jābūt iestatītai kombinācijai.\n\nKombinācija aizsargā tālruni, ja tas tiek nozaudēts vai nozagts."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Lai iestatītu autorizāciju pēc sejas un autorizāciju ar pirksta nospiedumu, ir jābūt iestatītai parolei.\n\nParole aizsargā tālruni, ja tas tiek nozaudēts vai nozagts."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Lai iestatītu autorizāciju ar pirksta nospiedumu un autorizāciju pēc sejas, ir jābūt iestatītam PIN.\n\nPIN aizsargā planšetdatoru, ja tas tiek nozaudēts vai nozagts."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Lai iestatītu autorizāciju ar pirksta nospiedumu un autorizāciju pēc sejas, ir jābūt iestatītai kombinācijai.\n\nKombinācija aizsargā planšetdatoru, ja tas tiek nozaudēts vai nozagts."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Lai iestatītu autorizāciju ar pirksta nospiedumu un autorizāciju pēc sejas, ir jābūt iestatītai parolei.\n\nParole aizsargā planšetdatoru, ja tas tiek nozaudēts vai nozagts."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Lai iestatītu autorizāciju ar pirksta nospiedumu un autorizāciju pēc sejas, ir jābūt iestatītam PIN.\n\nPIN aizsargā ierīci, ja tā tiek nozaudēta vai nozagta."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Lai iestatītu autorizāciju ar pirksta nospiedumu un autorizāciju pēc sejas, ir jābūt iestatītai kombinācijai.\n\nKombinācija aizsargā ierīci, ja tā tiek nozaudēta vai nozagta."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Lai iestatītu autorizāciju ar pirksta nospiedumu un autorizāciju pēc sejas, ir jābūt iestatītai parolei.\n\nParole aizsargā ierīci, ja tā tiek nozaudēta vai nozagta."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Lai iestatītu autorizāciju ar pirksta nospiedumu un autorizāciju pēc sejas, ir jābūt iestatītam PIN.\n\nPIN aizsargā tālruni, ja tas tiek nozaudēts vai nozagts."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Lai iestatītu autorizāciju ar pirksta nospiedumu un autorizāciju pēc sejas, ir jābūt iestatītai kombinācijai.\n\nKombinācija aizsargā tālruni, ja tas tiek nozaudēts vai nozagts."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Lai iestatītu autorizāciju ar pirksta nospiedumu un autorizāciju pēc sejas, ir jābūt iestatītai parolei.\n\nParole aizsargā tālruni, ja tas tiek nozaudēts vai nozagts."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Tādējādi tiks dzēsti jūsu tālrunī saglabātie pirksta nospieduma attēli un modelis, kas saistīti ar pirksta nospiedumu “<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>”."</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Tādējādi tiks dzēsti jūsu planšetdatorā saglabātie pirksta nospieduma attēli un modelis, kas saistīti ar pirksta nospiedumu “<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>”"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Tādējādi tiks dzēsti jūsu ierīcē glabātie pirksta nospieduma attēli un modelis, kas saistīti ar “<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>”"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Lai klausītos audio straumi, vispirms izveidojiet savienojumu ar austiņām, kas atbalsta LE Audio izmantošanu šajā tālrunī."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Lai klausītos audio straumi, vispirms izveidojiet savienojumu ar austiņām, kas atbalsta LE Audio izmantošanu šajā planšetdatorā."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Lai klausītos audio straumi, vispirms izveidojiet savienojumu ar austiņām, kas atbalsta LE Audio izmantošanu šajā ierīcē."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Lai klausītos audio straumi, vispirms izveidojiet savienojumu ar austiņām, kas atbalsta LE Audio izmantošanu šajā tālrunī. "<annotation id="link">"Uzziniet vairāk"</annotation>"."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Lai klausītos audio straumi, vispirms izveidojiet savienojumu ar austiņām, kas atbalsta LE Audio izmantošanu šajā planšetdatorā. "<annotation id="link">"Uzziniet vairāk"</annotation>"."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Lai klausītos audio straumi, vispirms izveidojiet savienojumu ar austiņām, kas atbalsta LE Audio izmantošanu šajā ierīcē. "<annotation id="link">"Uzziniet vairāk"</annotation>"."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Šis tālrunis neatbalsta LE Audio, kas ir nepieciešams, lai klausītos audio straumes."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Šis planšetdators neatbalsta LE Audio, kas ir nepieciešams, lai klausītos audio straumes."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Šī ierīce neatbalsta LE Audio, kas ir nepieciešams, lai klausītos audio straumes."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Lai sāktu audio kopīgošanu, vispirms savienojiet LE Audio austiņas ar savu tālruni. "<annotation id="link">"Uzziniet vairāk par saderīgām ierīcēm"</annotation>"."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Lai sāktu audio kopīgošanu, vispirms savienojiet LE Audio austiņas ar savu planšetdatoru. "<annotation id="link">"Uzziniet vairāk par saderīgām ierīcēm"</annotation>"."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Lai sāktu audio kopīgošanu, vispirms savienojiet LE Audio austiņas ar savu ierīci. "<annotation id="link">"Uzziniet vairāk par saderīgām ierīcēm"</annotation>"."</string>
 </resources>
diff --git a/res-product/values-mk/strings.xml b/res-product/values-mk/strings.xml
index 527450e..55c3a67 100644
--- a/res-product/values-mk/strings.xml
+++ b/res-product/values-mk/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Потребен е PIN-код за да поставите „Отклучување со лик“.\n\nPIN-кодот го заштитува телефонот ако го изгубите или ви го украдат."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Потребна е шема за да поставите „Отклучување со лик“.\n\nШемата го заштитува телефонот ако го изгубите или ви го украдат."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Потребна е лозинка за да поставите „Отклучување со лик“.\n\nЛозинката го заштитува телефонот ако го изгубите или ви го украдат."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Потребен е PIN-код за да поставите „Отклучување со лик“ и „Отклучување со отпечаток“.\n\nPIN-кодот го заштитува таблетот ако го изгубите или ви го украдат."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Потребна е шема за да поставите „Отклучување со лик“ и „Отклучување со отпечаток“.\n\nШемата го заштитува таблетот ако го изгубите или ви го украдат."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Потребна е лозинка за да поставите „Отклучување со лик“ и „Отклучување со отпечаток“.\n\nЛозинката го заштитува таблетот ако го изгубите или ви го украдат."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Потребен е PIN-код за да поставите „Отклучување со лик“ и „Отклучување со отпечаток“.\n\nPIN-кодот го заштитува уредот ако го изгубите или ви го украдат."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Потребна е шема за да поставите „Отклучување со лик“ и „Отклучување со отпечаток“.\n\nШемата го заштитува уредот ако го изгубите или ви го украдат."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Потребна е лозинка за да поставите „Отклучување со лик“ и „Отклучување со отпечаток“.\n\nЛозинката го заштитува уредот ако го изгубите или ви го украдат."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Потребен е PIN-код за да поставите „Отклучување со лик“ и „Отклучување со отпечаток“.\n\nPIN-кодот го заштитува телефонот ако го изгубите или ви го украдат."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Потребна е шема за да поставите „Отклучување со лик“ и „Отклучување со отпечаток“.\n\nШемата го заштитува телефонот ако го изгубите или ви го украдат."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Потребна е лозинка за да поставите „Отклучување со лик“ и „Отклучување со отпечаток“.\n\nЛозинката го заштитува телефонот ако го изгубите или ви го украдат."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Потребен е PIN-код за да поставите „Отклучување со отпечаток“ и „Отклучување со лик“.\n\nPIN-кодот го штити таблетот при губење или кражба."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Потребна е шема за да поставите „Отклучување со отпечаток“ и „Отклучување со лик“.\n\nШемата го штити таблетот при губење или кражба."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Потребна е лозинка за да поставите „Отклучување со отпечаток“ и „Отклучување со лик“.\n\nЛозинката го штити таблетот при губење или кражба."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Потребен е PIN-код за да поставите „Отклучување со отпечаток“ и „Отклучување со лик“.\n\nPIN-кодот го штити уредот при губење или кражба."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Потребна е шема за да поставите „Отклучување со отпечаток“ и „Отклучување со лик“.\n\nШемата го штити уредот при губење или кражба."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Потребна е лозинка за да поставите „Отклучување со отпечаток“ и „Отклучување со лик“.\n\nЛозинката го штити уредот при губење или кражба."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Потребен е PIN-код за да поставите „Отклучување со отпечаток“ и „Отклучување со лик“.\n\nPIN-кодот го штити телефонот при губење или кражба."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Потребна е шема за да поставите „Отклучување со отпечаток“ и „Отклучување со лик“.\n\nШемата го штити телефонот при губење или кражба."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Потребна е лозинка за да поставите „Отклучување со отпечаток“ и „Отклучување со лик“.\n\nЛозинката го штити телефонот при губење или кражба."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Ова ги брише сликите и моделот на отпечатокот „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ што се складирани на телефонот"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Ова ги брише сликите и моделот на отпечатокот „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ што се складирани на таблетот"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Ова ги брише сликите и моделот на отпечатокот „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ што се складирани на уредот"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"За да слушате аудиострим, прво поврзете слушалки што поддржуваат LE Audio на телефонов."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"За да слушате аудиострим, прво поврзете слушалки што поддржуваат LE Audio на таблетов."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"За да слушате аудиострим, прво поврзете слушалки што поддржуваат LE Audio на уредов."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"За да слушате аудиострим, прво поврзете слушалки што поддржуваат LE Audio на телефонов. "<annotation id="link">"Дознајте повеќе"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"За да слушате аудиострим, прво поврзете слушалки што поддржуваат LE Audio на таблетов. "<annotation id="link">"Дознајте повеќе"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"За да слушате аудиострим, прво поврзете слушалки што поддржуваат LE Audio на уредов. "<annotation id="link">"Дознајте повеќе"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Телефонов не поддржува LE Audio, што е потребно за слушање аудиостримови."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Таблетов не поддржува LE Audio, што е потребно за слушање аудиостримови."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Уредов не поддржува LE Audio, што е потребно за слушање аудиостримови."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"За да започнете да споделувате аудио, прво поврзете ги слушалките со LE Audio на вашиот телефон. "<annotation id="link">"Дознајте повеќе за компатибилните уреди"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"За да започнете да споделувате аудио, прво поврзете ги слушалките со LE Audio на вашиот таблет. "<annotation id="link">"Дознајте повеќе за компатибилните уреди"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"За да започнете да споделувате аудио, прво поврзете ги слушалките со LE Audio на вашиот уред. "<annotation id="link">"Дознајте повеќе за компатибилните уреди"</annotation></string>
 </resources>
diff --git a/res-product/values-ml/strings.xml b/res-product/values-ml/strings.xml
index a4a936b..3152014 100644
--- a/res-product/values-ml/strings.xml
+++ b/res-product/values-ml/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"ഫെയ്‌സ് അൺലോക്ക് സജ്ജീകരിക്കാൻ പിൻ ആവശ്യമാണ്.\n\nഫോൺ നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പിൻ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"ഫെയ്‌സ് അൺലോക്ക് സജ്ജീകരിക്കാൻ പാറ്റേൺ ആവശ്യമാണ്.\n\nഫോൺ നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പാറ്റേൺ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"ഫെയ്‌സ് അൺലോക്ക് സജ്ജീകരിക്കാൻ പാസ്‌വേഡ് ആവശ്യമാണ്.\n\nഫോൺ നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പാസ്‌വേഡ് അതിനെ പരിരക്ഷിക്കുന്നു."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"ഫെയ്‌സ് അൺലോക്കും ഫിംഗർപ്രിന്റ് അൺലോക്കും സജ്ജീകരിക്കാൻ പിൻ ആവശ്യമാണ്.\n\nടാബ്‌ലെറ്റ് നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പിൻ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"ഫെയ്‌സ് അൺലോക്കും ഫിംഗർപ്രിന്റ് അൺലോക്കും സജ്ജീകരിക്കാൻ പാറ്റേൺ ആവശ്യമാണ്.\n\nടാബ്‌ലെറ്റ് നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പാറ്റേൺ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"ഫെയ്‌സ് അൺലോക്കും ഫിംഗർപ്രിന്റ് അൺലോക്കും സജ്ജീകരിക്കാൻ പാസ്‌വേഡ് ആവശ്യമാണ്.\n\nടാബ്‌ലെറ്റ് നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പാസ്‌വേഡ് അതിനെ പരിരക്ഷിക്കുന്നു."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"ഫെയ്‌സ് അൺലോക്കും ഫിംഗർപ്രിന്റ് അൺലോക്കും സജ്ജീകരിക്കാൻ പിൻ ആവശ്യമാണ്.\n\nഉപകരണം നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പിൻ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"ഫെയ്‌സ് അൺലോക്കും ഫിംഗർപ്രിന്റ് അൺലോക്കും സജ്ജീകരിക്കാൻ പാറ്റേൺ ആവശ്യമാണ്.\n\nഉപകരണം നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പാറ്റേൺ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"ഫെയ്‌സ് അൺലോക്കും ഫിംഗർപ്രിന്റ് അൺലോക്കും സജ്ജീകരിക്കാൻ പാസ്‌വേഡ് ആവശ്യമാണ്.\n\nഉപകരണം നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പാസ്‌വേഡ് അതിനെ പരിരക്ഷിക്കുന്നു."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"ഫെയ്‌സ് അൺലോക്കും ഫിംഗർപ്രിന്റ് അൺലോക്കും സജ്ജീകരിക്കാൻ പിൻ ആവശ്യമാണ്.\n\nഫോൺ നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പിൻ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"ഫെയ്‌സ് അൺലോക്കും ഫിംഗർപ്രിന്റ് അൺലോക്കും സജ്ജീകരിക്കാൻ പാറ്റേൺ ആവശ്യമാണ്.\n\nഫോൺ നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പാറ്റേൺ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"ഫെയ്‌സ് അൺലോക്കും ഫിംഗർപ്രിന്റ് അൺലോക്കും സജ്ജീകരിക്കാൻ പാസ്‌വേഡ് ആവശ്യമാണ്.\n\nഫോൺ നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പാസ്‌വേഡ് അതിനെ പരിരക്ഷിക്കുന്നു."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"ഫിംഗർപ്രിന്റ് അൺലോക്കും ഫെയ്‌സ് അൺലോക്കും സജ്ജീകരിക്കാൻ പിൻ ആവശ്യമാണ്.\n\nടാബ്‌ലെറ്റ് നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പിൻ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"ഫിംഗർപ്രിന്റ് അൺലോക്കും ഫെയ്‌സ് അൺലോക്കും സജ്ജീകരിക്കാൻ പാറ്റേൺ ആവശ്യമാണ്.\n\nടാബ്‌ലെറ്റ് നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പാറ്റേൺ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"ഫിംഗർ‌പ്രിന്റ് അൺലോക്കും ഫെയ്‌സ് അൺലോക്കും സജ്ജീകരിക്കാൻ പാസ്‌വേഡ് ആവശ്യമാണ്.\n\nടാബ്‌ലെറ്റ് നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പാസ്‌വേഡ് അതിനെ പരിരക്ഷിക്കുന്നു."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"ഫിംഗർപ്രിന്റ് അൺലോക്കും ഫെയ്‌സ് അൺലോക്കും സജ്ജീകരിക്കാൻ പിൻ ആവശ്യമാണ്.\n\nഉപകരണം നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പിൻ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"ഫിംഗർപ്രിന്റ് അൺലോക്കും ഫെയ്‌സ് അൺലോക്കും സജ്ജീകരിക്കാൻ പാറ്റേൺ ആവശ്യമാണ്.\n\nഉപകരണം നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പാറ്റേൺ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"ഫിംഗർ‌പ്രിന്റ് അൺലോക്കും ഫെയ്‌സ് അൺലോക്കും സജ്ജീകരിക്കാൻ പാസ്‌വേഡ് ആവശ്യമാണ്.\n\nഉപകരണം നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പാസ്‌വേഡ് അതിനെ പരിരക്ഷിക്കുന്നു."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"ഫിംഗർപ്രിന്റ് അൺലോക്കും ഫെയ്‌സ് അൺലോക്കും സജ്ജീകരിക്കാൻ പിൻ ആവശ്യമാണ്.\n\nഫോൺ നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പിൻ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"ഫിംഗർപ്രിന്റ് അൺലോക്കും ഫെയ്‌സ് അൺലോക്കും സജ്ജീകരിക്കാൻ പാറ്റേൺ ആവശ്യമാണ്.\n\nഫോൺ നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പാറ്റേൺ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"ഫിംഗർ‌പ്രിന്റ് അൺലോക്കും ഫെയ്‌സ് അൺലോക്കും സജ്ജീകരിക്കാൻ പാസ്‌വേഡ് ആവശ്യമാണ്.\n\nഫോൺ നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പാസ്‌വേഡ് അതിനെ പരിരക്ഷിക്കുന്നു."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"\'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' എന്നതുമായി ബന്ധപ്പെട്ട് നിങ്ങളുടെ ഫോണിൽ സംഭരിച്ചിരിക്കുന്ന ഫിംഗർപ്രിന്റ് ചിത്രങ്ങളും മോഡലും ഇത് ഇല്ലാതാക്കുന്നു"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"\'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' എന്നതുമായി ബന്ധപ്പെട്ട് നിങ്ങളുടെ ടാബ്‌ലെറ്റിൽ സംഭരിച്ചിരിക്കുന്ന ഫിംഗർപ്രിന്റ് ചിത്രങ്ങളും മോഡലും ഇത് ഇല്ലാതാക്കുന്നു"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"\'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' എന്നതുമായി ബന്ധപ്പെട്ട് നിങ്ങളുടെ ഉപകരണത്തിൽ സംഭരിച്ചിരിക്കുന്ന ഫിംഗർപ്രിന്റ് ചിത്രങ്ങളും മോഡലും ഇത് ഇല്ലാതാക്കുന്നു"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"ഓഡിയോ സ്ട്രീം കേൾക്കുന്നതിനായി, ആദ്യം ഈ ഫോണിലേക്ക് LE ഓഡിയോയെ പിന്തുണയ്ക്കുന്ന ഹെഡ്‌ഫോണുകൾ കണക്‌റ്റ് ചെയ്യുക."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"ഓഡിയോ സ്ട്രീം കേൾക്കുന്നതിനായി, ആദ്യം ഈ ടാബ്‌ലെറ്റിലേക്ക് LE ഓഡിയോയെ പിന്തുണയ്ക്കുന്ന ഹെഡ്‌ഫോണുകൾ കണക്‌റ്റ് ചെയ്യുക."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"ഓഡിയോ സ്ട്രീം കേൾക്കുന്നതിനായി, ആദ്യം ഈ ഉപകരണത്തിലേക്ക് LE ഓഡിയോയെ പിന്തുണയ്ക്കുന്ന ഹെഡ്‌ഫോണുകൾ കണക്‌റ്റ് ചെയ്യുക."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"ഓഡിയോ സ്ട്രീം കേൾക്കുന്നതിനായി, ആദ്യം ഈ ഫോണിലേക്ക് LE ഓഡിയോയെ പിന്തുണയ്ക്കുന്ന ഹെഡ്‌ഫോണുകൾ കണക്‌റ്റ് ചെയ്യുക. "<annotation id="link">"കൂടുതലറിയുക"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"ഓഡിയോ സ്ട്രീം കേൾക്കുന്നതിനായി, ആദ്യം ഈ ടാബ്‌ലെറ്റിലേക്ക് LE ഓഡിയോയെ പിന്തുണയ്ക്കുന്ന ഹെഡ്‌ഫോണുകൾ കണക്‌റ്റ് ചെയ്യുക. "<annotation id="link">"കൂടുതലറിയുക"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"ഓഡിയോ സ്ട്രീം കേൾക്കുന്നതിനായി, ആദ്യം ഈ ഉപകരണത്തിലേക്ക് LE ഓഡിയോയെ പിന്തുണയ്ക്കുന്ന ഹെഡ്‌ഫോണുകൾ കണക്‌റ്റ് ചെയ്യുക. "<annotation id="link">"കൂടുതലറിയുക"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"ഓഡിയോ സ്ട്രീമുകൾ കേൾക്കാൻ ആവശ്യമായ LE ഓഡിയോയെ ഈ ഫോൺ പിന്തുണയ്ക്കുന്നില്ല."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"ഓഡിയോ സ്ട്രീമുകൾ കേൾക്കാൻ ആവശ്യമായ LE ഓഡിയോയെ ഈ ടാബ്‌ലെറ്റ് പിന്തുണയ്ക്കുന്നില്ല."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"ഓഡിയോ സ്ട്രീമുകൾ കേൾക്കാൻ ആവശ്യമായ LE ഓഡിയോയെ ഈ ഉപകരണം പിന്തുണയ്ക്കുന്നില്ല."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"ഓഡിയോ പങ്കിടുന്നത് ആരംഭിക്കാൻ, ആദ്യം നിങ്ങളുടെ ഫോണിലേക്ക് LE ഓഡിയോ ഹെഡ്‌ഫോണുകൾ കണക്റ്റ് ചെയ്യുക. "<annotation id="link">"അനുയോജ്യമായ ഉപകരണങ്ങളെക്കുറിച്ച് കൂടുതലറിയുക"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"ഓഡിയോ പങ്കിടുന്നത് ആരംഭിക്കാൻ, ആദ്യം നിങ്ങളുടെ ടാബ്‌ലെറ്റിലേക്ക് LE ഓഡിയോ ഹെഡ്‌ഫോണുകൾ കണക്റ്റ് ചെയ്യുക. "<annotation id="link">"അനുയോജ്യമായ ഉപകരണങ്ങളെക്കുറിച്ച് കൂടുതലറിയുക"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"ഓഡിയോ പങ്കിടുന്നത് ആരംഭിക്കാൻ, ആദ്യം നിങ്ങളുടെ ഉപകരണത്തിലേക്ക് LE ഓഡിയോ ഹെഡ്‌ഫോണുകൾ കണക്റ്റ് ചെയ്യുക. "<annotation id="link">"അനുയോജ്യമായ ഉപകരണങ്ങളെക്കുറിച്ച് കൂടുതലറിയുക"</annotation></string>
 </resources>
diff --git a/res-product/values-mn/strings.xml b/res-product/values-mn/strings.xml
index e7ad331..2ca8670 100644
--- a/res-product/values-mn/strings.xml
+++ b/res-product/values-mn/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Царайгаар түгжээ тайлахыг тохируулахын тулд ПИН шаардлагатай.\n\nУтсыг гээсэн эсвэл хулгайд алдсан тохиолдолд ПИН үүнийг хамгаалдаг."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Царайгаар түгжээ тайлахыг тохируулахын тулд хээ шаардлагатай.\n\nУтсыг гээсэн эсвэл хулгайд алдсан тохиолдолд хээ үүнийг хамгаалдаг."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Царайгаар түгжээ тайлахыг тохируулахын тулд нууц үг шаардлагатай.\n\nУтсыг гээсэн эсвэл хулгайд алдсан тохиолдолд нууц үг үүнийг хамгаалдаг."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Царайгаар түгжээ тайлах болон Хурууны хээгээр түгжээ тайлахыг тохируулахын тулд ПИН шаардлагатай.\n\nТаблетыг гээсэн эсвэл хулгайд алдсан тохиолдолд ПИН үүнийг хамгаалдаг."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Царайгаар түгжээ тайлах болон Хурууны хээгээр түгжээ тайлахыг тохируулахын тулд хээ шаардлагатай.\n\nТаблетыг гээсэн эсвэл хулгайд алдсан тохиолдолд хээ үүнийг хамгаалдаг."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Царайгаар түгжээ тайлах болон Хурууны хээгээр түгжээ тайлахыг тохируулахын тулд нууц үг шаардлагатай.\n\nТаблетыг гээсэн эсвэл хулгайд алдсан тохиолдолд нууц үг үүнийг хамгаалдаг."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Царайгаар түгжээ тайлах болон Хурууны хээгээр түгжээ тайлахыг тохируулахын тулд ПИН шаардлагатай.\n\nТөхөөрөмжийг гээсэн эсвэл хулгайд алдсан тохиолдолд ПИН үүнийг хамгаалдаг."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Царайгаар түгжээ тайлах болон Хурууны хээгээр түгжээ тайлахыг тохируулахын тулд хээ шаардлагатай.\n\nТөхөөрөмжийг гээсэн эсвэл хулгайд алдсан тохиолдолд хээ үүнийг хамгаалдаг."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Царайгаар түгжээ тайлах болон Хурууны хээгээр түгжээ тайлахыг тохируулахын тулд нууц үг шаардлагатай.\n\nТөхөөрөмжийг гээсэн эсвэл хулгайд алдсан тохиолдолд нууц үг үүнийг хамгаалдаг."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Царайгаар түгжээ тайлах болон Хурууны хээгээр түгжээ тайлахыг тохируулахын тулд ПИН шаардлагатай.\n\nУтсыг гээсэн эсвэл хулгайд алдсан тохиолдолд ПИН үүнийг хамгаалдаг."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Царайгаар түгжээ тайлах болон Хурууны хээгээр түгжээ тайлахыг тохируулахын тулд хээ шаардлагатай.\n\nУтсыг гээсэн эсвэл хулгайд алдсан тохиолдолд хээ үүнийг хамгаалдаг."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Царайгаар түгжээ тайлах болон Хурууны хээгээр түгжээ тайлахыг тохируулахын тулд нууц үг шаардлагатай.\n\nУтсыг гээсэн эсвэл хулгайд алдсан тохиолдолд нууц үг үүнийг хамгаалдаг."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Хурууны хээгээр түгжээ тайлах болон Царайгаар түгжээ тайлахыг тохируулахад ПИН шаардлагатай.\n\nТаблетыг гээсэн эсвэл хулгайд алдсан тохиолдолд ПИН хамгаалдаг."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Хурууны хээгээр түгжээ тайлах болон Царайгаар түгжээ тайлахыг тохируулахад хээ шаардлагатай.\n\nТаблетыг гээсэн эсвэл хулгайд алдсан тохиолдолд хээ хамгаалдаг."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Хурууны хээгээр түгжээ тайлах болон Царайгаар түгжээ тайлахыг тохируулахад нууц үг шаардлагатай.\n\nТаблетыг гээсэн эсвэл хулгайд алдсан тохиолдолд нууц үг хамгаалдаг."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Хурууны хээгээр түгжээ тайлах болон Царайгаар түгжээ тайлахыг тохируулахад ПИН шаардлагатай.\n\nТөхөөрөмжийг гээсэн эсвэл хулгайд алдсан тохиолдолд ПИН хамгаалдаг."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Хурууны хээгээр түгжээ тайлах болон Царайгаар түгжээ тайлахыг тохируулахад хээ шаардлагатай.\n\nТөхөөрөмжийг гээсэн эсвэл хулгайд алдсан тохиолдолд хээ хамгаалдаг."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Хурууны хээгээр түгжээ тайлах болон Царайгаар түгжээ тайлахыг тохируулахад нууц үг шаардлагатай.\n\nТөхөөрөмжийг гээсэн эсвэл хулгайд алдсан тохиолдолд нууц үг хамгаалдаг."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Хурууны хээгээр түгжээ тайлах болон Царайгаар түгжээ тайлахыг тохируулахад ПИН шаардлагатай.\n\nУтсыг гээсэн эсвэл хулгайд алдсан тохиолдолд ПИН хамгаалдаг."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Хурууны хээгээр түгжээ тайлах болон Царайгаар түгжээ тайлахыг тохируулахад хээ шаардлагатай.\n\nУтсыг гээсэн эсвэл хулгайд алдсан тохиолдолд хээ хамгаалдаг."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Хурууны хээгээр түгжээ тайлах болон Царайгаар түгжээ тайлахыг тохируулахад нууц үг шаардлагатай.\n\nУтсыг гээсэн эсвэл хулгайд алдсан тохиолдолд нууц үг хамгаалдаг."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Энэ нь таны утсан дээр хадгалсан \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'-тай холбоотой хурууны хээний зургууд болон загварыг устгана"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Энэ нь таны таблет дээр хадгалсан \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'-тай холбоотой хурууны хээний зургууд болон загварыг устгана"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Энэ нь таны төхөөрөмж дээр хадгалсан \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'-тай холбоотой хурууны хээний зургууд болон загварыг устгана"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Аудио дамжуулалтыг сонсохын тулд эхлээд энэ утсанд LE Аудиог дэмждэг чихэвч холбоно уу."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Аудио дамжуулалтыг сонсохын тулд эхлээд энэ таблетад LE Аудиог дэмждэг чихэвч холбоно уу."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Аудио дамжуулалтыг сонсохын тулд эхлээд энэ төхөөрөмжид LE Аудиог дэмждэг чихэвч холбоно уу."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Аудио дамжуулалтыг сонсохын тулд эхлээд энэ утсанд LE Аудиог дэмждэг чихэвч холбоно уу. "<annotation id="link">"Нэмэлт мэдээлэл авах"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Аудио дамжуулалтыг сонсохын тулд эхлээд энэ таблетад LE Аудиог дэмждэг чихэвч холбоно уу. "<annotation id="link">"Нэмэлт мэдээлэл авах"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Аудио дамжуулалтыг сонсохын тулд эхлээд энэ төхөөрөмжид LE Аудиог дэмждэг чихэвч холбоно уу. "<annotation id="link">"Нэмэлт мэдээлэл авах"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Энэ утас аудио дамжуулалтыг сонсоход шаардлагатай LE Аудиог дэмждэггүй."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Энэ таблет аудио дамжуулалтыг сонсоход шаардлагатай LE Аудиог дэмждэггүй."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Энэ төхөөрөмж аудио дамжуулалтыг сонсоход шаардлагатай LE Аудиог дэмждэггүй."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Аудио хуваалцаж эхлэхийн тулд эхлээд LE Аудио чихэвчийг утастайгаа холбоно уу. "<annotation id="link">"Тохирох төхөөрөмжүүдийн талаар нэмэлт мэдээлэл авах"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Аудио хуваалцаж эхлэхийн тулд эхлээд LE Аудио чихэвчийг таблеттайгаа холбоно уу. "<annotation id="link">"Тохирох төхөөрөмжүүдийн талаар нэмэлт мэдээлэл авах"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Аудио хуваалцаж эхлэхийн тулд эхлээд LE Аудио чихэвчийг төхөөрөмжтэйгөө холбоно уу. "<annotation id="link">"Тохирох төхөөрөмжүүдийн талаар нэмэлт мэдээлэл авах"</annotation></string>
 </resources>
diff --git a/res-product/values-mr/strings.xml b/res-product/values-mr/strings.xml
index 37a3907..94f3718 100644
--- a/res-product/values-mr/strings.xml
+++ b/res-product/values-mr/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"फेस अनलॉक सेट करण्यासाठी पिन आवश्यक आहे.\n\nफोन हरवल्यास किंवा चोरीला गेल्यास, पिन त्याचे संरक्षण करतो."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"फेस अनलॉक सेट करण्यासाठी पॅटर्न आवश्यक आहे.\n\nफोन हरवल्यास किंवा चोरीला गेल्यास, पॅटर्न त्याचे संरक्षण करते."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"फेस अनलॉक सेट करण्यासाठी पासवर्ड आवश्यक आहे.\n\nफोन हरवल्यास किंवा चोरीला गेल्यास, पासवर्ड त्याचे संरक्षण करतो."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"फेस अनलॉक आणि फिंगरप्रिंट अनलॉक सेट करण्यासाठी पिन आवश्यक आहे.\n\nटॅबलेट हरवल्यास किंवा चोरीला गेल्यास, पिन त्याचे संरक्षण करतो."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"फेस अनलॉक आणि फिंगरप्रिंट अनलॉक सेट करण्यासाठी पॅटर्न आवश्यक आहे.\n\nटॅबलेट हरवल्यास किंवा चोरीला गेल्यास, पॅटर्न त्याचे संरक्षण करते."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"फेस अनलॉक आणि फिंगरप्रिंट अनलॉक सेट करण्यासाठी पासवर्ड आवश्यक आहे.\n\nटॅबलेट हरवल्यास किंवा चोरीला गेल्यास, पासवर्ड त्याचे संरक्षण करतो."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"फेस अनलॉक आणि फिंगरप्रिंट अनलॉक सेट करण्यासाठी पिन आवश्यक आहे.\n\nडिव्हाइस हरवल्यास किंवा चोरीला गेल्यास, पिन त्याचे संरक्षण करतो."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"फेस अनलॉक आणि फिंगरप्रिंट अनलॉक सेट करण्यासाठी पॅटर्न आवश्यक आहे.\n\nडिव्हाइस हरवल्यास किंवा चोरीला गेल्यास, पॅटर्न त्याचे संरक्षण करते."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"फेस अनलॉक आणि फिंगरप्रिंट अनलॉक सेट करण्यासाठी पासवर्ड आवश्यक आहे.\n\nडिव्हाइस हरवल्यास किंवा चोरीला गेल्यास, पासवर्ड त्याचे संरक्षण करतो."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"फेस अनलॉक आणि फिंगरप्रिंट अनलॉक सेट करण्यासाठी पिन आवश्यक आहे.\n\nफोन हरवल्यास किंवा चोरीला गेल्यास, पिन त्याचे संरक्षण करतो."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"फेस अनलॉक आणि फिंगरप्रिंट अनलॉक सेट करण्यासाठी पॅटर्न आवश्यक आहे.\n\nफोन हरवल्यास किंवा चोरीला गेल्यास, पॅटर्न त्याचे संरक्षण करते."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"फेस अनलॉक आणि फिंगरप्रिंट अनलॉक सेट करण्यासाठी पासवर्ड आवश्यक आहे.\n\nफोन हरवल्यास किंवा चोरीला गेल्यास, पासवर्ड त्याचे संरक्षण करतो."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"फिंगरप्रिंट अनलॉक आणि फेस अनलॉक सेट करण्यासाठी पिन आवश्यक आहे.\n\nतुमचा टॅबलेट हरवल्यास किंवा चोरीला गेल्यास, पिन त्याचे संरक्षण करतो."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"फिंगरप्रिंट अनलॉक आणि फेस अनलॉक सेट करण्यासाठी पॅटर्न आवश्यक आहे.\n\nतुमचा टॅबलेट हरवल्यास किंवा चोरीला गेल्यास, पॅटर्न त्याचे संरक्षण करतो."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"फिंगरप्रिंट अनलॉक आणि फेस अनलॉक सेट करण्यासाठी पासवर्ड आवश्यक आहे.\n\nतुमचा टॅबलेट हरवल्यास किंवा चोरीला गेल्यास, पासवर्ड त्याचे संरक्षण करतो."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"फिंगरप्रिंट अनलॉक आणि फेस अनलॉक सेट करण्यासाठी पिन आवश्यक आहे.\n\nतुमचे डिव्हाइस हरवल्यास किंवा चोरीला गेल्यास, पिन त्याचे संरक्षण करतो."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"फिंगरप्रिंट अनलॉक आणि फेस अनलॉक सेट करण्यासाठी पॅटर्न आवश्यक आहे.\n\nतुमचे डिव्हाइस हरवल्यास किंवा चोरीला गेल्यास, पॅटर्न त्याचे संरक्षण करतो."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"फिंगरप्रिंट अनलॉक आणि फेस अनलॉक सेट करण्यासाठी पासवर्ड आवश्यक आहे.\n\nतुमचे डिव्हाइस हरवल्यास किंवा चोरीला गेल्यास, पासवर्ड त्याचे संरक्षण करतो."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"फिंगरप्रिंट अनलॉक आणि फेस अनलॉक सेट करण्यासाठी पिन आवश्यक आहे.\n\nतुमचा फोन हरवल्यास किंवा चोरीला गेल्यास, पिन त्याचे संरक्षण करतो."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"फिंगरप्रिंट अनलॉक आणि फेस अनलॉक सेट करण्यासाठी पॅटर्न आवश्यक आहे.\n\nतुमचा फोन हरवल्यास किंवा चोरीला गेल्यास, पॅटर्न त्याचे संरक्षण करतो."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"फिंगरप्रिंट अनलॉक आणि फेस अनलॉक सेट करण्यासाठी पासवर्ड आवश्यक आहे.\n\nतुमचा फोन हरवल्यास किंवा चोरीला गेल्यास, पासवर्ड त्याचे संरक्षण करतो."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"हे तुमच्या फोनवर स्टोअर केलेल्या फिंगरप्रिंट इमेज आणि \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' शी संबंधित असलेले मॉडेल हटवते"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"हे तुमच्या टॅबलेटवर स्टोअर केलेल्या फिंगरप्रिंट इमेज आणि \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' शी संबंधित असलेले मॉडेल हटवते"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"हे तुमच्या डिव्हाइसवर स्टोअर केलेल्या फिंगरप्रिंट इमेज आणि \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' शी संबंधित असलेले मॉडेल हटवते"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"ऑडिओ स्ट्रीम ऐकण्यासाठी, सर्वप्रथम LE ऑडिओ ला सपोर्ट करणारे हेडफोन या फोनशी कनेक्ट करा."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"ऑडिओ स्ट्रीम ऐकण्यासाठी, सर्वप्रथम LE ऑडिओ ला सपोर्ट करणारे हेडफोन या टॅबलेटशी कनेक्ट करा."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"ऑडिओ स्ट्रीम ऐकण्यासाठी, सर्वप्रथम LE ऑडिओ ला सपोर्ट करणारे हेडफोन या डिव्हाइसशी कनेक्ट करा."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"ऑडिओ स्ट्रीम ऐकण्यासाठी, सर्वप्रथम LE ऑडिओ ला सपोर्ट करणारे हेडफोन या फोनशी कनेक्ट करा. "<annotation id="link">"अधिक जाणून घ्या"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"ऑडिओ स्ट्रीम ऐकण्यासाठी, सर्वप्रथम LE ऑडिओ ला सपोर्ट करणारे हेडफोन या टॅबलेटशी कनेक्ट करा. "<annotation id="link">"अधिक जाणून घ्या"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"ऑडिओ स्ट्रीम ऐकण्यासाठी, सर्वप्रथम LE ऑडिओ ला सपोर्ट करणारे हेडफोन या डिव्हाइसशी कनेक्ट करा. "<annotation id="link">"अधिक जाणून घ्या"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"हा फोन LE ऑडिओ ला सपोर्ट करत नाही, जे ऑडिओ स्ट्रीम ऐकण्यासाठी आवश्यक आहे."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"हा टॅबलेट LE ऑडिओ ला सपोर्ट करत नाही, जे ऑडिओ स्ट्रीम ऐकण्यासाठी आवश्यक आहे."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"हे डिव्हाइस LE ऑडिओ ला सपोर्ट करत नाही, जे ऑडिओ स्ट्रीम ऐकण्यासाठी आवश्यक आहे."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"ऑडिओ शेअर करण्यास सुरुवात करण्यासाठी, सर्वप्रथम तुमच्या फोनशी LE ऑडिओ हेडफोन कनेक्ट करा. "<annotation id="link">"कंपॅटिबल डिव्हाइसबद्दल अधिक जाणून घ्या"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"ऑडिओ शेअर करण्यास सुरुवात करण्यासाठी, सर्वप्रथम तुमच्या टॅबलेटशी LE ऑडिओ हेडफोन कनेक्ट करा. "<annotation id="link">"कंपॅटिबल डिव्हाइसबद्दल अधिक जाणून घ्या"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"ऑडिओ शेअर करण्यास सुरुवात करण्यासाठी, सर्वप्रथम तुमच्या डिव्हाइसशी LE ऑडिओ हेडफोन कनेक्ट करा. "<annotation id="link">"कंपॅटिबल डिव्हाइसबद्दल अधिक जाणून घ्या"</annotation></string>
 </resources>
diff --git a/res-product/values-ms/strings.xml b/res-product/values-ms/strings.xml
index fb76903..7429608 100644
--- a/res-product/values-ms/strings.xml
+++ b/res-product/values-ms/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"PIN diperlukan untuk menyediakan Buka Kunci Wajah.\n\nPIN melindungi telefon jika telefon hilang atau dicuri."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Corak diperlukan untuk menyediakan Buka Kunci Wajah.\n\nCorak melindungi telefon jika telefon hilang atau dicuri."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Kata laluan diperlukan untuk menyediakan Buka Kunci Wajah.\n\nKata laluan melindungi telefon jika telefon hilang atau dicuri."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"PIN diperlukan untuk menyediakan Buka Kunci Wajah dan Buka Kunci Cap Jari.\n\nPIN melindungi tablet jika tablet hilang atau dicuri."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Corak diperlukan untuk menyediakan Buka Kunci Wajah dan Buka Kunci Cap Jari.\n\nCorak melindungi tablet jika tablet hilang atau dicuri."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Kata laluan diperlukan untuk menyediakan Buka Kunci Wajah dan Buka Kunci Cap Jari.\n\nKata laluan melindungi tablet jika tablet hilang atau dicuri."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"PIN diperlukan untuk menyediakan Buka Kunci Wajah dan Buka Kunci Cap Jari.\n\nPIN melindungi peranti jika peranti hilang atau dicuri."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Corak diperlukan untuk menyediakan Buka Kunci Wajah dan Buka Kunci Cap Jari.\n\nCorak melindungi peranti jika peranti hilang atau dicuri."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Kata laluan diperlukan untuk menyediakan Buka Kunci Wajah dan Buka Kunci Cap Jari.\n\nKata laluan melindungi peranti jika peranti hilang atau dicuri."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"PIN diperlukan untuk menyediakan Buka Kunci Wajah dan Buka Kunci Cap Jari.\n\nPIN melindungi telefon jika telefon hilang atau dicuri."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Corak diperlukan untuk menyediakan Buka Kunci Wajah dan Buka Kunci Cap Jari.\n\nCorak melindungi telefon jika telefon hilang atau dicuri."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Kata laluan diperlukan untuk menyediakan Buka Kunci Wajah dan Buka Kunci Cap Jari.\n\nKata laluan melindungi telefon jika telefon hilang atau dicuri."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"PIN diperlukan untuk menyediakan Buka Kunci Cap Jari dan Buka Kunci Wajah.\n\nPIN melindungi tablet jika tablet hilang atau dicuri."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Corak diperlukan untuk menyediakan Buka Kunci Cap Jari dan Buka Kunci Wajah.\n\nCorak melindungi tablet jika tablet hilang atau dicuri."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Kata laluan diperlukan untuk menyediakan Buka Kunci Cap Jari dan Buka Kunci Wajah.\n\nKata laluan melindungi tablet jika tablet hilang atau dicuri."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"PIN diperlukan untuk menyediakan Buka Kunci Cap Jari dan Buka Kunci Wajah.\n\nPIN melindungi peranti jika peranti hilang atau dicuri."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Corak diperlukan untuk menyediakan Buka Kunci Cap Jari dan Buka Kunci Wajah.\n\nCorak melindungi peranti jika peranti hilang atau dicuri."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Kata laluan diperlukan untuk menyediakan Buka Kunci Cap Jari dan Buka Kunci Wajah.\n\nKata laluan melindungi peranti jika peranti hilang atau dicuri."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"PIN diperlukan untuk menyediakan Buka Kunci Cap Jari dan Buka Kunci Wajah.\n\nPIN melindungi telefon jika telefon hilang atau dicuri."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Corak diperlukan untuk menyediakan Buka Kunci Cap Jari dan Buka Kunci Wajah.\n\nCorak melindungi telefon jika telefon hilang atau dicuri."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Kata laluan diperlukan untuk menyediakan Buka Kunci Cap Jari dan Buka Kunci Wajah.\n\nKata laluan melindungi telefon jika telefon hilang atau dicuri."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Tindakan ini akan memadamkan imej dan model cap jari yang berkaitan dengan \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' yang disimpan dalam telefon anda"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Tindakan ini akan memadamkan imej dan model cap jari yang berkaitan dengan \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' yang disimpan dalam tablet anda"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Ini akan memadamkan imej cap jari dan model yang berkaitan dengan \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' yang disimpan dalam peranti anda"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Untuk mendengar strim audio, sambungkan fon kepala yang menyokong LE Audio kepada telefon ini dahulu."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Untuk mendengar strim audio, sambungkan fon kepala yang menyokong LE Audio kepada tablet ini dahulu."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Untuk mendengar strim audio, sambungkan fon kepala yang menyokong LE Audio kepada peranti ini dahulu."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Untuk mendengar strim audio, sambungkan fon kepala yang menyokong LE Audio kepada telefon ini dahulu. "<annotation id="link">"Ketahui lebih lanjut"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Untuk mendengar strim audio, sambungkan fon kepala yang menyokong LE Audio kepada tablet ini dahulu. "<annotation id="link">"Ketahui lebih lanjut"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Untuk mendengar strim audio, sambungkan fon kepala yang menyokong LE Audio kepada peranti ini dahulu. "<annotation id="link">"Ketahui lebih lanjut"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Telefon ini tidak menyokong LE Audio yang diperlukan untuk mendengar strim audio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Tablet ini tidak menyokong LE Audio yang diperlukan untuk mendengar strim audio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Peranti ini tidak menyokong LE Audio yang diperlukan untuk mendengar strim audio."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Untuk memulakan perkongsian audio, sambungkan fon kepala LE Audio kepada telefon anda dahulu. "<annotation id="link">"Ketahui lebih lanjut tentang peranti yang serasi"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Untuk memulakan perkongsian audio, sambungkan fon kepala LE Audio kepada tablet anda dahulu. "<annotation id="link">"Ketahui lebih lanjut tentang peranti yang serasi"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Untuk memulakan perkongsian audio, sambungkan fon kepala LE Audio kepada peranti anda dahulu. "<annotation id="link">"Ketahui lebih lanjut tentang peranti yang serasi"</annotation></string>
 </resources>
diff --git a/res-product/values-my/strings.xml b/res-product/values-my/strings.xml
index 21799ca..341ebb1 100644
--- a/res-product/values-my/strings.xml
+++ b/res-product/values-my/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပင်နံပါတ် လိုအပ်သည်။\n\nဤဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပင်နံပါတ်က ကာကွယ်ပေးသည်။"</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပုံစံ လိုအပ်သည်။\n\nဤဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပုံစံက ကာကွယ်ပေးသည်။"</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် စကားဝှက် လိုအပ်သည်။\n\nဤဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို စကားဝှက်က ကာကွယ်ပေးသည်။"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပင်နံပါတ် လိုအပ်သည်။\n\nဤတက်ဘလက်ပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပင်နံပါတ်က ကာကွယ်ပေးသည်။"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပုံစံ လိုအပ်သည်။\n\nဤတက်ဘလက်ပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပုံစံက ကာကွယ်ပေးသည်။"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် စကားဝှက် လိုအပ်သည်။\n\nဤတက်ဘလက်ပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို စကားဝှက်က ကာကွယ်ပေးသည်။"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပင်နံပါတ် လိုအပ်သည်။\n\nဤစက်ပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပင်နံပါတ်က ကာကွယ်ပေးသည်။"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပုံစံ လိုအပ်သည်။\n\nဤစက်ပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပုံစံက ကာကွယ်ပေးသည်။"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် စကားဝှက် လိုအပ်သည်။\n\nဤစက်ပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို စကားဝှက်က ကာကွယ်ပေးသည်။"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပင်နံပါတ် လိုအပ်သည်။\n\nဤဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပင်နံပါတ်က ကာကွယ်ပေးသည်။"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပုံစံ လိုအပ်သည်။\n\nဤဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပုံစံက ကာကွယ်ပေးသည်။"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် စကားဝှက် လိုအပ်သည်။\n\nဤဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို စကားဝှက်က ကာကွယ်ပေးသည်။"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပင်နံပါတ် လိုအပ်သည်။\n\nဤတက်ဘလက်ပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပင်နံပါတ်က ကာကွယ်ပေးသည်။"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပုံဖော်ခြင်း လိုအပ်သည်။\n\nဤတက်ဘလက်ပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပုံဖော်ခြင်းက ကာကွယ်ပေးသည်။"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် စကားဝှက် လိုအပ်သည်။\n\nဤတက်ဘလက်ပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို စကားဝှက်က ကာကွယ်ပေးသည်။"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပင်နံပါတ် လိုအပ်သည်။\n\nဤစက်ပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပင်နံပါတ်က ကာကွယ်ပေးသည်။"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ နှင့် မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပုံဖော်ခြင်း လိုအပ်သည်။\n\nဤစက်ပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပုံဖော်ခြင်းက ကာကွယ်ပေးသည်။"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် စကားဝှက် လိုအပ်သည်။\n\nဤစက်ပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို စကားဝှက်က ကာကွယ်ပေးသည်။"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပင်နံပါတ် လိုအပ်သည်။\n\nဤဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပင်နံပါတ်က ကာကွယ်ပေးသည်။"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပုံဖော်ခြင်း လိုအပ်သည်။\n\nဤဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပုံဖော်ခြင်းက ကာကွယ်ပေးသည်။"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် စကားဝှက် လိုအပ်သည်။\n\nဤဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို စကားဝှက်က ကာကွယ်ပေးသည်။"</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"သင့်ဖုန်းတွင်သိုလှောင်ထားသည့် ‘<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>’ နှင့် ဆက်စပ်သည့် လက်ဗွေပုံများနှင့် နမူနာကို ဖျက်ပါမည်"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"သင့်တက်ဘလက်တွင်သိုလှောင်ထားသည့် ‘<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>’ နှင့် ဆက်စပ်သည့် လက်ဗွေပုံများနှင့် နမူနာကို ဖျက်ပါမည်"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"သင့်စက်တွင်သိုလှောင်ထားသည့် \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' နှင့် ဆက်စပ်သည့် လက်ဗွေပုံများနှင့် နမူနာကို ဖျက်ပါမည်"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"အသံ ထုတ်လွှင့်ခြင်းကို နားထောင်ရန် ဤဖုန်းတွင် LE Audio ကို ပံ့ပိုးသည့် နားကြပ်ကို ဦးစွာချိတ်ဆက်ပါ။"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"အသံ ထုတ်လွှင့်ခြင်းကို နားထောင်ရန် ဤတက်ဘလက်တွင် LE Audio ကို ပံ့ပိုးသည့် နားကြပ်ကို ဦးစွာချိတ်ဆက်ပါ။"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"အသံ ထုတ်လွှင့်ခြင်းကို နားထောင်ရန် ဤစက်တွင် LE Audio ကို ပံ့ပိုးသည့် နားကြပ်ကို ဦးစွာချိတ်ဆက်ပါ။"</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"အသံ ထုတ်လွှင့်ခြင်းကို နားထောင်ရန် LE Audio ပံ့ပိုးသည့် နားကြပ်ကို ဤဖုန်းနှင့် ဦးစွာ ချိတ်ဆက်ပါ။ "<annotation id="link">"ပိုမိုလေ့လာရန်"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"အသံ ထုတ်လွှင့်ခြင်းကို နားထောင်ရန် LE Audio ပံ့ပိုးသည့် နားကြပ်ကို ဤတက်ဘလက်နှင့် ဦးစွာ ချိတ်ဆက်ပါ။ "<annotation id="link">"ပိုမိုလေ့လာရန်"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"အသံ ထုတ်လွှင့်ခြင်းကို နားထောင်ရန် LE Audio ပံ့ပိုးသည့် နားကြပ်ကို ဤစက်ပစ္စည်းနှင့် ဦးစွာ ချိတ်ဆက်ပါ။ "<annotation id="link">"ပိုမိုလေ့လာရန်"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"အသံထုတ်လွှင့်မှုများကို နားထောင်ရန် လိုအပ်သည့် LE Audio ကို ဤဖုန်းက ပံ့ပိုးမပေးပါ။"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"အသံထုတ်လွှင့်မှုများကို နားထောင်ရန် လိုအပ်သည့် LE Audio ကို ဤတက်ဘလက်က ပံ့ပိုးမပေးပါ။"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"အသံထုတ်လွှင့်မှုများကို နားထောင်ရန် လိုအပ်သည့် LE Audio ကို ဤစက်ပစ္စည်းက ပံ့ပိုးမပေးပါ။"</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"အသံစတင်မျှဝေရန် LE Audio နားကြပ်ကို သင့်ဖုန်းနှင့် ဦးစွာ ချိတ်ဆက်ပါ။ "<annotation id="link">"တွဲဖက်သုံးနိုင်သည့် စက်ပစ္စည်းများအကြောင်း ပိုမိုလေ့လာရန်"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"အသံစတင်မျှဝေရန် LE Audio နားကြပ်ကို သင့်တက်ဘလက်နှင့် ဦးစွာ ချိတ်ဆက်ပါ။ "<annotation id="link">"တွဲဖက်သုံးနိုင်သည့် စက်ပစ္စည်းများအကြောင်း ပိုမိုလေ့လာရန်"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"အသံစတင်မျှဝေရန် LE Audio နားကြပ်ကို သင့်စက်ပစ္စည်းနှင့် ဦးစွာ ချိတ်ဆက်ပါ။ "<annotation id="link">"တွဲဖက်သုံးနိုင်သည့် စက်ပစ္စည်းများအကြောင်း ပိုမိုလေ့လာရန်"</annotation></string>
 </resources>
diff --git a/res-product/values-nb/strings.xml b/res-product/values-nb/strings.xml
index ee979bd..0e9c7ab 100644
--- a/res-product/values-nb/strings.xml
+++ b/res-product/values-nb/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"En PIN-kode kreves for å konfigurere ansiktslås.\n\nEn PIN-kode beskytter telefonen hvis den blir mistet eller stjålet."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Et mønster kreves for å konfigurere ansiktslås.\n\nEt mønster beskytter telefonen hvis den blir mistet eller stjålet."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Et passord kreves for å konfigurere ansiktslås.\n\nEt passord beskytter telefonen hvis den blir mistet eller stjålet."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"En PIN-kode kreves for å konfigurere ansiktslås og opplåsing med fingeravtrykk.\n\nEn PIN-kode beskytter nettbrettet hvis det blir mistet eller stjålet."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Et mønster kreves for å konfigurere ansiktslås og opplåsing med fingeravtrykk.\n\nEt mønster beskytter nettbrettet hvis det blir mistet eller stjålet."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Et passord kreves for å konfigurere ansiktslås og opplåsing med fingeravtrykk.\n\nEt passord beskytter nettbrettet hvis det blir mistet eller stjålet."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"En PIN-kode kreves for å konfigurere ansiktslås og opplåsing med fingeravtrykk.\n\nEn PIN-kode beskytter enheten hvis den blir mistet eller stjålet."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Et mønster kreves for å konfigurere ansiktslås og opplåsing med fingeravtrykk.\n\nEt mønster beskytter enheten hvis den blir mistet eller stjålet."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Et passord kreves for å konfigurere ansiktslås og opplåsing med fingeravtrykk.\n\nEt passord beskytter enheten hvis den blir mistet eller stjålet."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"En PIN-kode kreves for å konfigurere ansiktslås og opplåsing med fingeravtrykk.\n\nEn PIN-kode beskytter telefonen hvis den blir mistet eller stjålet."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Et mønster kreves for å konfigurere ansiktslås og opplåsing med fingeravtrykk.\n\nEt mønster beskytter telefonen hvis den blir mistet eller stjålet."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Et passord kreves for å konfigurere ansiktslås og opplåsing med fingeravtrykk.\n\nEt passord beskytter telefonen hvis den blir mistet eller stjålet."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"En PIN-kode kreves for å konfigurere opplåsing med fingeravtrykk og ansiktslås.\n\nNår du har en PIN-kode, er nettbrettet beskyttet hvis du mister det eller det blir stjålet."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Et mønster kreves for å konfigurere opplåsing med fingeravtrykk og ansiktslås.\n\nNår du har et mønster, er nettbrettet beskyttet hvis du mister det eller det blir stjålet."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Et passord kreves for å konfigurere opplåsing med fingeravtrykk og ansiktslås.\n\nNår du har et passord, er nettbrettet beskyttet hvis du mister det eller det blir stjålet."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"En PIN-kode kreves for å konfigurere opplåsing med fingeravtrykk og ansiktslås.\n\nNår du har en PIN-kode, er enheten beskyttet hvis du mister den eller den blir stjålet."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Et mønster kreves for å konfigurere opplåsing med fingeravtrykk og ansiktslås.\n\nNår du har et mønster, er enheten beskyttet hvis du mister den eller den blir stjålet."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Et passord kreves for å konfigurere opplåsing med fingeravtrykk og ansiktslås.\n\nNår du har et passord, er enheten beskyttet hvis du mister den eller den blir stjålet."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"En PIN-kode kreves for å konfigurere opplåsing med fingeravtrykk og ansiktslås.\n\nNår du har en PIN-kode, er telefonen beskyttet hvis du mister den eller den blir stjålet."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Et mønster kreves for å konfigurere opplåsing med fingeravtrykk og ansiktslås.\n\nNår du har et mønster, er telefonen beskyttet hvis du mister den eller den blir stjålet."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Et passord kreves for å konfigurere opplåsing med fingeravtrykk og ansiktslås.\n\nNår du har et passord, er telefonen beskyttet hvis du mister den eller den blir stjålet."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Dette sletter fingeravtrykkbildene og -modellen tilknyttet «<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» som er lagret på telefonen"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Dette sletter fingeravtrykkbildene og -modellen tilknyttet «<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» som er lagret på nettbrettet"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Dette sletter fingeravtrykkbildene og -modellen tilknyttet «<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» som er lagret på enheten"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"For å lytte til en lydstrøm, koble først hodetelefoner som støtter LE-lyd, til denne telefonen."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"For å lytte til en lydstrøm, koble først hodetelefoner som støtter LE-lyd, til dette nettbrettet."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"For å lytte til en lydstrøm, koble først hodetelefoner som støtter LE-lyd, til denne enheten."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Før du kan høre på lydstrømmer, må du koble hodetelefoner som støtter LE-lyd, til denne telefonen. "<annotation id="link">"Finn ut mer"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Før du kan høre på lydstrømmer, må du koble hodetelefoner som støtter LE-lyd, til dette nettbrettet. "<annotation id="link">"Finn ut mer"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Før du kan høre på lydstrømmer, må du koble hodetelefoner som støtter LE-lyd, til denne enheten. "<annotation id="link">"Finn ut mer"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Denne telefonen støtter ikke LE-lyd, som kreves for å lytte til lydstrømmer."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Dette nettbrettet støtter ikke LE-lyd, som kreves for å lytte til lydstrømmer."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Denne enheten støtter ikke LE-lyd, som kreves for å lytte til lydstrømmer."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Før du kan begynne å dele lyd, må du koble hodetelefoner som støtter LE-lyd, til telefonen. "<annotation id="link">"Finn ut mer om kompatible enheter"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Før du kan begynne å dele lyd, må du koble hodetelefoner som støtter LE-lyd, til nettbrettet. "<annotation id="link">"Finn ut mer om kompatible enheter"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Før du kan begynne å dele lyd, må du koble hodetelefoner som støtter LE-lyd, til enheten "<annotation id="link">"Finn ut mer om kompatible enheter"</annotation></string>
 </resources>
diff --git a/res-product/values-ne/strings.xml b/res-product/values-ne/strings.xml
index fa40d6c..775bb89 100644
--- a/res-product/values-ne/strings.xml
+++ b/res-product/values-ne/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"फेस अनलक सेटअप गर्न तपाईंले PIN सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको फोन हराएको वा चोरी भएको खण्डमा PIN ले उक्त फोन सुरक्षित राख्छ।"</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"फेस अनलक सेटअप गर्न तपाईंले प्याटर्न सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको फोन हराएको वा चोरी भएको खण्डमा प्याटर्नले उक्त फोन सुरक्षित राख्छ।"</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"फेस अनलक सेटअप गर्न तपाईंले पासवर्ड सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको फोन हराएको वा चोरी भएको खण्डमा पासवर्डले उक्त फोन सुरक्षित राख्छ।"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"फेस अनलक र फिंगरप्रिन्ट अनलक सेटअप गर्न तपाईंले PIN सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको ट्याब्लेट हराएको वा चोरी भएको खण्डमा PIN ले उक्त ट्याब्लेट सुरक्षित राख्छ।"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"फेस अनलक र फिंगरप्रिन्ट अनलक सेटअप गर्न तपाईंले प्याटर्न सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको ट्याब्लेट हराएको वा चोरी भएको खण्डमा प्याटर्नले उक्त ट्याब्लेट सुरक्षित राख्छ।"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"फेस अनलक र फिंगरप्रिन्ट अनलक सेटअप गर्न तपाईंले पासवर्ड सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको ट्याब्लेट हराएको वा चोरी भएको खण्डमा पासवर्डले उक्त ट्याब्लेट सुरक्षित राख्छ।"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"फेस अनलक र फिंगरप्रिन्ट अनलक सेटअप गर्न तपाईंले PIN सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको डिभाइस हराएको वा चोरी भएको खण्डमा PIN ले उक्त डिभाइस सुरक्षित राख्छ।"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"फेस अनलक र फिंगरप्रिन्ट अनलक सेटअप गर्न तपाईंले प्याटर्न सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको डिभाइस हराएको वा चोरी भएको खण्डमा प्याटर्नले उक्त डिभाइस सुरक्षित राख्छ।"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"फेस अनलक र फिंगरप्रिन्ट अनलक सेटअप गर्न तपाईंले पासवर्ड सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको डिभाइस हराएको वा चोरी भएको खण्डमा पासवर्डले उक्त डिभाइस सुरक्षित राख्छ।"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"फेस अनलक र फिंगरप्रिन्ट अनलक सेटअप गर्न तपाईंले PIN सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको फोन हराएको वा चोरी भएको खण्डमा PIN ले उक्त फोन सुरक्षित राख्छ।"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"फेस अनलक र फिंगरप्रिन्ट अनलक सेटअप गर्न तपाईंले प्याटर्न सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको फोन हराएको वा चोरी भएको खण्डमा प्याटर्नले उक्त फोन सुरक्षित राख्छ।"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"फेस अनलक र फिंगरप्रिन्ट अनलक सेटअप गर्न तपाईंले पासवर्ड सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको फोन हराएको वा चोरी भएको खण्डमा पासवर्डले उक्त फोन सुरक्षित राख्छ।"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"फिंगरप्रिन्ट अनलक र फेस अनलक सेटअप गर्न तपाईंले PIN सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको ट्याब्लेट हराएको वा चोरी भएको खण्डमा PIN ले उक्त ट्याब्लेट सुरक्षित राख्छ।"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"फिंगरप्रिन्ट अनलक र फेस अनलक सेटअप गर्न तपाईंले प्याटर्न सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको ट्याब्लेट हराएको वा चोरी भएको खण्डमा प्याटर्नले उक्त ट्याब्लेट सुरक्षित राख्छ।"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"फिंगरप्रिन्ट अनलक र फेस अनलक सेटअप गर्न तपाईंले पासवर्ड सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको ट्याब्लेट हराएको वा चोरी भएको खण्डमा पासवर्डले उक्त ट्याब्लेट सुरक्षित राख्छ।"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"फिंगरप्रिन्ट अनलक र फेस अनलक सेटअप गर्न तपाईंले PIN सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको डिभाइस हराएको वा चोरी भएको खण्डमा PIN ले उक्त डिभाइस सुरक्षित राख्छ।"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"फिंगरप्रिन्ट अनलक र फेस अनलक सेटअप गर्न तपाईंले प्याटर्न सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको डिभाइस हराएको वा चोरी भएको खण्डमा प्याटर्नले उक्त डिभाइस सुरक्षित राख्छ।"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"फिंगरप्रिन्ट अनलक र फेस अनलक सेटअप गर्न तपाईंले पासवर्ड सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको डिभाइस हराएको वा चोरी भएको खण्डमा पासवर्डले उक्त डिभाइस सुरक्षित राख्छ।"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"फिंगरप्रिन्ट अनलक र फेस अनलक सेटअप गर्न तपाईंले PIN सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको फोन हराएको वा चोरी भएको खण्डमा PIN ले उक्त फोन सुरक्षित राख्छ।"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"फिंगरप्रिन्ट अनलक र फेस अनलक सेटअप गर्न तपाईंले प्याटर्न सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको फोन हराएको वा चोरी भएको खण्डमा प्याटर्नले उक्त फोन सुरक्षित राख्छ।"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"फिंगरप्रिन्ट अनलक र फेस अनलक सेटअप गर्न तपाईंले पासवर्ड सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको फोन हराएको वा चोरी भएको खण्डमा पासवर्डले उक्त फोन सुरक्षित राख्छ।"</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"यो फिंगरप्रिन्ट मेटाइयो भने तपाईंको फोनमा भण्डारण गरिएका \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' सँग सम्बन्धित फिंगरप्रिन्टका फोटो र मोडेल मेटाइन्छन्"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"यो फिंगरप्रिन्ट मेटाइयो भने तपाईंको ट्याब्लेटमा भण्डारण गरिएका \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' सँग सम्बन्धित फिंगरप्रिन्टका फोटो र मोडेल मेटाइन्छन्"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"यो फिंगरप्रिन्ट मेटाइयो भने तपाईंको डिभाइसमा भण्डारण गरिएका \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' सँग सम्बन्धित फिंगरप्रिन्टका फोटो र मोडेल मेटाइन्छन्"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"अडियो स्ट्रिम सुन्न सर्वप्रथम यो फोनमा LE अडियो चल्ने हेडफोन कनेक्ट गर्नुहोस्।"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"अडियो स्ट्रिम सुन्न सर्वप्रथम यो ट्याब्लेटमा LE अडियो चल्ने हेडफोन कनेक्ट गर्नुहोस्।"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"अडियो स्ट्रिम सुन्न सर्वप्रथम यो डिभाइसमा LE अडियो चल्ने हेडफोन कनेक्ट गर्नुहोस्।"</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"अडियो स्ट्रिम सुन्न सर्वप्रथम यो फोनमा LE अडियो चल्ने हेडफोन कनेक्ट गर्नुहोस्। "<annotation id="link">"थप जान्नुहोस्"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"अडियो स्ट्रिम सुन्न सर्वप्रथम यो ट्याब्लेटमा LE अडियो चल्ने हेडफोन कनेक्ट गर्नुहोस्। "<annotation id="link">"थप जान्नुहोस्"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"अडियो स्ट्रिम सुन्न सर्वप्रथम यो डिभाइसमा LE अडियो चल्ने हेडफोन कनेक्ट गर्नुहोस्। "<annotation id="link">"थप जान्नुहोस्"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"यो फोनमा अडियो स्ट्रिम सुन्न आवश्यक पर्ने LE अडियो चल्दैन।"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"यो ट्याब्लेटमा अडियो स्ट्रिम सुन्न आवश्यक पर्ने LE अडियो चल्दैन।"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"यो डिभाइसमा अडियो स्ट्रिम सुन्न आवश्यक पर्ने LE अडियो चल्दैन।"</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"अडियो सेयर गर्न थाल्न सर्वप्रथम आफ्नो फोनमा LE अडियो हेडफोन कनेक्ट गर्नुहोस्। "<annotation id="link">"कम्प्याटिबल डिभाइसहरूका बारेमा थप जान्नुहोस्"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"अडियो सेयर गर्न थाल्न सर्वप्रथम आफ्नो ट्याब्लेटमा LE अडियो हेडफोन कनेक्ट गर्नुहोस्। "<annotation id="link">"कम्प्याटिबल डिभाइसहरूका बारेमा थप जान्नुहोस्"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"अडियो सेयर गर्न थाल्न सर्वप्रथम आफ्नो डिभाइसमा LE अडियो हेडफोन कनेक्ट गर्नुहोस्। "<annotation id="link">"कम्प्याटिबल डिभाइसहरूका बारेमा थप जान्नुहोस्"</annotation></string>
 </resources>
diff --git a/res-product/values-nl/strings.xml b/res-product/values-nl/strings.xml
index f2b4b4c..8e3b2ac 100644
--- a/res-product/values-nl/strings.xml
+++ b/res-product/values-nl/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Je hebt een pincode nodig voor het instellen van Ontgrendelen via gezichtsherkenning.\n\nEen pincode beschermt de telefoon bij verlies of diefstal."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Je hebt een patroon nodig voor het instellen van Ontgrendelen via gezichtsherkenning.\n\nEen patroon beschermt de telefoon bij verlies of diefstal."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Je hebt een wachtwoord nodig voor het instellen van Ontgrendelen via gezichtsherkenning.\n\nEen wachtwoord beschermt de telefoon bij verlies of diefstal."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Je hebt een pincode nodig voor het instellen van Ontgrendelen via gezichtsherkenning en Ontgrendelen met vingerafdruk.\n\nEen pincode beschermt de tablet bij verlies of diefstal."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Je hebt een patroon nodig voor het instellen van Ontgrendelen via gezichtsherkenning en Ontgrendelen met vingerafdruk.\n\nEen patroon beschermt de tablet bij verlies of diefstal."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Je hebt een wachtwoord nodig voor het instellen van Ontgrendelen via gezichtsherkenning en Ontgrendelen met vingerafdruk.\n\nEen wachtwoord beschermt de tablet bij verlies of diefstal."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Je hebt een pincode nodig voor het instellen van Ontgrendelen via gezichtsherkenning en Ontgrendelen met vingerafdruk.\n\nEen pincode beschermt het apparaat bij verlies of diefstal."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Je hebt een patroon nodig voor het instellen van Ontgrendelen via gezichtsherkenning en Ontgrendelen met vingerafdruk.\n\nEen patroon beschermt het apparaat bij verlies of diefstal."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Je hebt een wachtwoord nodig voor het instellen van Ontgrendelen via gezichtsherkenning en Ontgrendelen met vingerafdruk.\n\nEen wachtwoord beschermt het apparaat bij verlies of diefstal."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Je hebt een pincode nodig voor het instellen van Ontgrendelen via gezichtsherkenning en Ontgrendelen met vingerafdruk.\n\nEen pincode beschermt de telefoon bij verlies of diefstal."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Je hebt een patroon nodig voor het instellen van Ontgrendelen via gezichtsherkenning en Ontgrendelen met vingerafdruk.\n\nEen patroon beschermt de telefoon bij verlies of diefstal."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Je hebt een wachtwoord nodig voor het instellen van Ontgrendelen via gezichtsherkenning en Ontgrendelen met vingerafdruk.\n\nEen wachtwoord beschermt de telefoon bij verlies of diefstal."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Je hebt een pincode nodig voor het instellen van Ontgrendelen met vingerafdruk en Ontgrendelen via gezichtsherkenning.\n\nEen pincode beschermt de tablet bij verlies of diefstal."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Je hebt een patroon nodig voor het instellen van Ontgrendelen met vingerafdruk en Ontgrendelen via gezichtsherkenning.\n\nEen patroon beschermt de tablet bij verlies of diefstal."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Je hebt een wachtwoord nodig voor het instellen van Ontgrendelen met vingerafdruk en Ontgrendelen via gezichtsherkenning.\n\nEen wachtwoord beschermt de tablet bij verlies of diefstal."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Je hebt een pincode nodig voor het instellen van Ontgrendelen met vingerafdruk en Ontgrendelen via gezichtsherkenning.\n\nEen pincode beschermt het apparaat bij verlies of diefstal."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Je hebt een patroon nodig voor het instellen van Ontgrendelen met vingerafdruk en Ontgrendelen via gezichtsherkenning.\n\nEen patroon beschermt het apparaat bij verlies of diefstal."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Je hebt een wachtwoord nodig voor het instellen van Ontgrendelen met vingerafdruk en Ontgrendelen via gezichtsherkenning.\n\nEen wachtwoord beschermt het apparaat bij verlies of diefstal."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Je hebt een pincode nodig voor het instellen van Ontgrendelen met vingerafdruk en Ontgrendelen via gezichtsherkenning.\n\nEen pincode beschermt de telefoon bij verlies of diefstal."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Je hebt een patroon nodig voor het instellen van Ontgrendelen met vingerafdruk en Ontgrendelen via gezichtsherkenning.\n\nEen patroon beschermt de telefoon bij verlies of diefstal."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Je hebt een wachtwoord nodig voor het instellen van Ontgrendelen met vingerafdruk en Ontgrendelen via gezichtsherkenning.\n\nEen wachtwoord beschermt de telefoon bij verlies of diefstal."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Hiermee verwijder je de afbeeldingen en het model van je vingerafdruk die aan <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> zijn gekoppeld en op je telefoon zijn opgeslagen"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Hiermee verwijder je de afbeeldingen en het model van je vingerafdruk die aan <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> zijn gekoppeld en op je tablet zijn opgeslagen"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Hiermee verwijder je de afbeeldingen en het model van je vingerafdruk die aan <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> zijn gekoppeld en op je apparaat zijn opgeslagen"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Als je naar een audiostream wilt luisteren, verbind je eerst een koptelefoon die LE Audio ondersteunt met deze telefoon."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Als naar een audiostream wilt luisteren, verbind je eerst een koptelefoon die LE Audio ondersteunt met deze tablet."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Als je naar een audiostream wilt luisteren, verbind je eerst een koptelefoon die LE Audio ondersteunt met dit apparaat."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Als je naar een audiostream wilt luisteren, verbind je eerst een koptelefoon die LE Audio ondersteunt met deze telefoon. "<annotation id="link">"Meer informatie"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Als naar een audiostream wilt luisteren, verbind je eerst een koptelefoon die LE Audio ondersteunt met deze tablet. "<annotation id="link">"Meer informatie"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Als je naar een audiostream wilt luisteren, verbind je eerst een koptelefoon die LE Audio ondersteunt met dit apparaat. "<annotation id="link">"Meer informatie"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Deze telefoon ondersteunt LE Audio niet. Dat heb je nodig om naar audiostreams te luisteren."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Deze tablet ondersteunt LE Audio niet. Dat heb je nodig om naar audiostreams te luisteren."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Dit apparaat ondersteunt LE Audio niet. Dat heb je nodig om naar audiostreams te luisteren."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Als je audio wilt delen, verbind je eerst een LE Audio-koptelefoon met je telefoon. "<annotation id="link">"Meer informatie over compatibele apparaten"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Als je audio wilt delen, verbind je eerst een LE Audio-koptelefoon met je tablet. "<annotation id="link">"Meer informatie over compatibele apparaten"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Als je audio wilt delen, verbind je eerst een LE Audio-koptelefoon met je apparaat. "<annotation id="link">"Meer informatie over compatibele apparaten"</annotation></string>
 </resources>
diff --git a/res-product/values-or/strings.xml b/res-product/values-or/strings.xml
index 732f99a..34407e7 100644
--- a/res-product/values-or/strings.xml
+++ b/res-product/values-or/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"ଫେସ୍ ଅନଲକ୍ ସେଟ୍ ଅପ୍ କରିବା ପାଇଁ ଏକ PIN ଆବଶ୍ୟକ।\n\nଯଦି ଫୋନଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ PIN ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"ଫେସ୍ ଅନଲକ୍ ସେଟ୍ ଅପ୍ କରିବା ପାଇଁ ଏକ ପାଟର୍ନ ଆବଶ୍ୟକ।\n\nଯଦି ଫୋନଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାଟର୍ନ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"ଫେସ୍ ଅନଲକ୍ ସେଟ୍ ଅପ୍ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଫୋନଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାସୱାର୍ଡ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"ଫେସ୍ ଅନଲକ୍ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ୍ ସେଟ୍ ଅପ୍ କରିବା ପାଇଁ ଏକ PIN ଆବଶ୍ୟକ।\n\nଯଦି ଟାବଲେଟଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ PIN ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"ଫେସ୍ ଅନଲକ୍ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ୍ ସେଟ୍ ଅପ୍ କରିବା ପାଇଁ ଏକ ପାଟର୍ନ ଆବଶ୍ୟକ।\n\nଯଦି ଟାବଲେଟଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାଟର୍ନ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"ଫେସ୍ ଅନଲକ୍ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ୍ ସେଟ୍ ଅପ୍ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଟାବଲେଟଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାସୱାର୍ଡ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"ଫେସ୍ ଅନଲକ୍ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ୍ ସେଟ୍ ଅପ୍ କରିବା ପାଇଁ ଏକ PIN ଆବଶ୍ୟକ।\n\nଯଦି ଡିଭାଇସଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ PIN ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"ଫେସ୍ ଅନଲକ୍ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ୍ ସେଟ୍ ଅପ୍ କରିବା ପାଇଁ ଏକ ପାଟର୍ନ ଆବଶ୍ୟକ।\n\nଯଦି ଡିଭାଇସଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାଟର୍ନ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"ଫେସ୍ ଅନଲକ୍ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ୍ ସେଟ୍ ଅପ୍ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଡିଭାଇସଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାସୱାର୍ଡ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"ଫେସ୍ ଅନଲକ୍ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ୍ ସେଟ୍ ଅପ୍ କରିବା ପାଇଁ ଏକ PIN ଆବଶ୍ୟକ।\n\nଯଦି ଫୋନଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ PIN ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"ଫେସ୍ ଅନଲକ୍ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ୍ ସେଟ୍ ଅପ୍ କରିବା ପାଇଁ ଏକ ପାଟର୍ନ ଆବଶ୍ୟକ।\n\nଯଦି ଫୋନଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାଟର୍ନ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"ଫେସ ଅନଲକ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ ସେଟ ଅପ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଫୋନଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏହି ପାସୱାର୍ଡ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ ଏବଂ ଫେସ ଅନଲକ ସେଟ ଅପ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଟାବଲେଟଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ PIN ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ ଏବଂ ଫେସ ଅନଲକ ସେଟ ଅପ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଟାବଲେଟଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାଟର୍ନ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ ଏବଂ ଫେସ ଅନଲକ ସେଟ ଅପ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଟାବଲେଟଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାସୱାର୍ଡ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ ଏବଂ ଫେସ ଅନଲକ ସେଟ ଅପ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଡିଭାଇସଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ PIN ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ ଏବଂ ଫେସ ଅନଲକ ସେଟ ଅପ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଡିଭାଇସଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାଟର୍ନ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ ଏବଂ ଫେସ ଅନଲକ ସେଟ ଅପ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଡିଭାଇସଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାସୱାର୍ଡ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ ଏବଂ ଫେସ ଅନଲକ ସେଟ ଅପ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଫୋନଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ PIN ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ ଏବଂ ଫେସ ଅନଲକ ସେଟ ଅପ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଫୋନଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାଟର୍ନ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ ଏବଂ ଫେସ ଅନଲକ ସେଟ ଅପ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଫୋନଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାସୱାର୍ଡ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"ଏହା ଆପଣଙ୍କ ଫୋନରେ ଷ୍ଟୋର କରାଯାଇଥିବା \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ସହ ସମ୍ବନ୍ଧିତ ଟିପଚିହ୍ନର ଇମେଜ ଏବଂ ମଡେଲଗୁଡ଼ିକୁ ଡିଲିଟ କରେ"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"ଏହା ଆପଣଙ୍କ ଟାବଲେଟରେ ଷ୍ଟୋର କରାଯାଇଥିବା \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ସହ ସମ୍ବନ୍ଧିତ ଟିପଚିହ୍ନର ଇମେଜ ଏବଂ ମଡେଲଗୁଡ଼ିକୁ ଡିଲିଟ କରେ"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"ଏହା ଆପଣଙ୍କ ଡିଭାଇସରେ ଷ୍ଟୋର କରାଯାଇଥିବା \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ସହ ସମ୍ବନ୍ଧିତ ଟିପଚିହ୍ନର ଇମେଜ ଏବଂ ମଡେଲଗୁଡ଼ିକୁ ଡିଲିଟ କରେ"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"ଏକ ଅଡିଓ ଷ୍ଟ୍ରିମ ଶୁଣିବା ପାଇଁ, ପ୍ରଥମେ LE ଅଡିଓକୁ ସମର୍ଥନ କରୁଥିବା ହେଡଫୋନଗୁଡ଼ିକୁ ଏହି ଫୋନ ସହିତ କନେକ୍ଟ କରନ୍ତୁ।"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"ଏକ ଅଡିଓ ଷ୍ଟ୍ରିମ ଶୁଣିବା ପାଇଁ, ପ୍ରଥମେ LE ଅଡିଓକୁ ସମର୍ଥନ କରୁଥିବା ହେଡଫୋନଗୁଡ଼ିକୁ ଏହି ଟାବଲେଟ ସହିତ କନେକ୍ଟ କରନ୍ତୁ।"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"ଏକ ଅଡିଓ ଷ୍ଟ୍ରିମ ଶୁଣିବା ପାଇଁ, ପ୍ରଥମେ LE ଅଡିଓକୁ ସମର୍ଥନ କରୁଥିବା ହେଡଫୋନଗୁଡ଼ିକୁ ଏହି ଡିଭାଇସ ସହିତ କନେକ୍ଟ କରନ୍ତୁ।"</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"ଏକ ଅଡିଓ ଷ୍ଟ୍ରିମ ଶୁଣିବା ପାଇଁ ପ୍ରଥମେ LE ଅଡିଓକୁ ସମର୍ଥନ କରୁଥିବା ହେଡଫୋନଗୁଡ଼ିକୁ ଏହି ଫୋନ ସହିତ କନେକ୍ଟ କରନ୍ତୁ। "<annotation id="link">"ଅଧିକ ଜାଣନ୍ତୁ"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"ଏକ ଅଡିଓ ଷ୍ଟ୍ରିମ ଶୁଣିବା ପାଇଁ ପ୍ରଥମେ LE ଅଡିଓକୁ ସମର୍ଥନ କରୁଥିବା ହେଡଫୋନଗୁଡ଼ିକୁ ଏହି ଟାବଲେଟ ସହିତ କନେକ୍ଟ କରନ୍ତୁ। "<annotation id="link">"ଅଧିକ ଜାଣନ୍ତୁ"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"ଏକ ଅଡିଓ ଷ୍ଟ୍ରିମ ଶୁଣିବା ପାଇଁ ପ୍ରଥମେ LE ଅଡିଓକୁ ସମର୍ଥନ କରୁଥିବା ହେଡଫୋନଗୁଡ଼ିକୁ ଏହି ଡିଭାଇସ ସହିତ କନେକ୍ଟ କରନ୍ତୁ। "<annotation id="link">"ଅଧିକ ଜାଣନ୍ତୁ"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"ଏହି ଫୋନ ଅଡିଓ ଷ୍ଟ୍ରିମଗୁଡ଼ିକୁ ଶୁଣିବା ପାଇଁ ଆବଶ୍ୟକ ହେଉଥିବା LE ଅଡିଓକୁ ସମର୍ଥନ କରେ ନାହିଁ।"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"ଏହି ଟାବଲେଟ ଅଡିଓ ଷ୍ଟ୍ରିମଗୁଡ଼ିକୁ ଶୁଣିବା ପାଇଁ ଆବଶ୍ୟକ ହେଉଥିବା LE ଅଡିଓକୁ ସମର୍ଥନ କରେ ନାହିଁ।"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"ଏହି ଡିଭାଇସ ଅଡିଓ ଷ୍ଟ୍ରିମଗୁଡ଼ିକୁ ଶୁଣିବା ପାଇଁ ଆବଶ୍ୟକ ହେଉଥିବା LE ଅଡିଓକୁ ସମର୍ଥନ କରେ ନାହିଁ।"</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"ଅଡିଓ ସେୟାରିଂ ଆରମ୍ଭ କରିବାକୁ ପ୍ରଥମେ ଆପଣଙ୍କ ଫୋନରେ LE ଅଡିଓ ହେଡଫୋନ କନେକ୍ଟ କରନ୍ତୁ। "<annotation id="link">"କମ୍ପାଟିବଲ ଡିଭାଇସଗୁଡ଼ିକ ବିଷୟରେ ଅଧିକ ଜାଣନ୍ତୁ"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"ଅଡିଓ ସେୟାରିଂ ଆରମ୍ଭ କରିବାକୁ ପ୍ରଥମେ ଆପଣଙ୍କ ଟାବଲେଟରେ LE ଅଡିଓ ହେଡଫୋନ କନେକ୍ଟ କରନ୍ତୁ। "<annotation id="link">"କମ୍ପାଟିବଲ ଡିଭାଇସଗୁଡ଼ିକ ବିଷୟରେ ଅଧିକ ଜାଣନ୍ତୁ"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"ଅଡିଓ ସେୟାରିଂ ଆରମ୍ଭ କରିବାକୁ ପ୍ରଥମେ ଆପଣଙ୍କ ଡିଭାଇସରେ LE ଅଡିଓ ହେଡଫୋନ କନେକ୍ଟ କରନ୍ତୁ। "<annotation id="link">"କମ୍ପାଟିବଲ ଡିଭାଇସଗୁଡ଼ିକ ବିଷୟରେ ଅଧିକ ଜାଣନ୍ତୁ"</annotation></string>
 </resources>
diff --git a/res-product/values-pa/strings.xml b/res-product/values-pa/strings.xml
index eb57ca7..13ad35b 100644
--- a/res-product/values-pa/strings.xml
+++ b/res-product/values-pa/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਿੰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਫ਼ੋਨ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਿੰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪੈਟਰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਫ਼ੋਨ ਦੇ ਗੁੰਮ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪੈਟਰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਾਸਵਰਡ ਲੋੜੀਂਦਾ ਹੈ।\n\nਫ਼ੋਨ ਦੇ ਗੁੰਮ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਾਸਵਰਡ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"ਫ਼ੇਸ ਅਣਲਾਕ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਿੰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਟੈਬਲੈੱਟ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਿੰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"ਫ਼ੇਸ ਅਣਲਾਕ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪੈਟਰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਟੈਬਲੈੱਟ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪੈਟਰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"ਫ਼ੇਸ ਅਣਲਾਕ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਾਸਵਰਡ ਲੋੜੀਂਦਾ ਹੈ।\n\nਟੈਬਲੈੱਟ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਾਸਵਰਡ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"ਫ਼ੇਸ ਅਣਲਾਕ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਿੰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਡੀਵਾਈਸ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਿੰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"ਫ਼ੇਸ ਅਣਲਾਕ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪੈਟਰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਡੀਵਾਈਸ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪੈਟਰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"ਫ਼ੇਸ ਅਣਲਾਕ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਾਸਵਰਡ ਲੋੜੀਂਦਾ ਹੈ।\n\nਡੀਵਾਈਸ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਾਸਵਰਡ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"ਫ਼ੇਸ ਅਣਲਾਕ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਿੰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਫ਼ੋਨ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਿੰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"ਫ਼ੇਸ ਅਣਲਾਕ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪੈਟਰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਫ਼ੋਨ ਦੇ ਗੁੰਮ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪੈਟਰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"ਫ਼ੇਸ ਅਣਲਾਕ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਾਸਵਰਡ ਲੋੜੀਂਦਾ ਹੈ।\n\nਫ਼ੋਨ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਾਸਵਰਡ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਅਤੇ ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਿੰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਟੈਬਲੈੱਟ ਦੇ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਿੰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਅਤੇ ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪੈਟਰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਟੈਬਲੈੱਟ ਦੇ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪੈਟਰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਅਤੇ ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਾਸਵਰਡ ਲੋੜੀਂਦਾ ਹੈ।\n\nਟੈਬਲੈੱਟ ਦੇ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਾਸਵਰਡ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਅਤੇ ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਿੰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਡੀਵਾਈਸ ਦੇ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਿੰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਅਤੇ ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪੈਟਰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਡੀਵਾਈਸ ਦੇ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪੈਟਰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਅਤੇ ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਾਸਵਰਡ ਲੋੜੀਂਦਾ ਹੈ।\n\nਡੀਵਾਈਸ ਦੇ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਾਸਵਰਡ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਅਤੇ ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਿੰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਫ਼ੋਨ ਦੇ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਿੰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਅਤੇ ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪੈਟਰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਫ਼ੋਨ ਦੇ ਗੁੰਮ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪੈਟਰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਅਤੇ ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਾਸਵਰਡ ਲੋੜੀਂਦਾ ਹੈ।\n\nਫ਼ੋਨ ਦੇ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਾਸਵਰਡ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"ਇਹ ਤੁਹਾਡੇ ਫ਼ੋਨ \'ਤੇ ਸਟੋਰ ਕੀਤੇ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ਨਾਲ ਸੰਬੰਧਿਤ ਫਿੰਗਰਪ੍ਰਿੰਟ ਚਿੱਤਰਾਂ ਅਤੇ ਮਾਡਲ ਨੂੰ ਮਿਟਾ ਦਿੰਦਾ ਹੈ"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"ਇਹ ਤੁਹਾਡੇ ਟੈਬਲੈੱਟ \'ਤੇ ਸਟੋਰ ਕੀਤੇ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ਨਾਲ ਸੰਬੰਧਿਤ ਫਿੰਗਰਪ੍ਰਿੰਟ ਚਿੱਤਰਾਂ ਅਤੇ ਮਾਡਲ ਨੂੰ ਮਿਟਾ ਦਿੰਦਾ ਹੈ"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"ਇਹ ਤੁਹਾਡੇ ਡੀਵਾਈਸ \'ਤੇ ਸਟੋਰ ਕੀਤੇ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ਨਾਲ ਸੰਬੰਧਿਤ ਫਿੰਗਰਪ੍ਰਿੰਟ ਚਿੱਤਰਾਂ ਅਤੇ ਮਾਡਲ ਨੂੰ ਮਿਟਾ ਦਿੰਦੀ ਹੈ"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"ਇੱਕ ਆਡੀਓ ਸਟ੍ਰੀਮ ਨੂੰ ਸੁਣਨ ਲਈ, ਪਹਿਲਾਂ ਇਸ ਫ਼ੋਨ ਨਾਲ LE ਆਡੀਓ ਦਾ ਸਮਰਥਨ ਕਰਨ ਵਾਲੇ ਹੈੱਡਫ਼ੋਨਾਂ ਨੂੰ ਕਨੈਕਟ ਕਰੋ।"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"ਇੱਕ ਆਡੀਓ ਸਟ੍ਰੀਮ ਨੂੰ ਸੁਣਨ ਲਈ, ਪਹਿਲਾਂ ਇਸ ਟੈਬਲੈੱਟ ਨਾਲ LE ਆਡੀਓ ਦਾ ਸਮਰਥਨ ਕਰਨ ਵਾਲੇ ਹੈੱਡਫ਼ੋਨਾਂ ਨੂੰ ਕਨੈਕਟ ਕਰੋ।"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"ਇੱਕ ਆਡੀਓ ਸਟ੍ਰੀਮ ਨੂੰ ਸੁਣਨ ਲਈ, ਪਹਿਲਾਂ ਇਸ ਡੀਵਾਈਸ ਨਾਲ LE ਆਡੀਓ ਦਾ ਸਮਰਥਨ ਕਰਨ ਵਾਲੇ ਹੈੱਡਫ਼ੋਨਾਂ ਨੂੰ ਕਨੈਕਟ ਕਰੋ।"</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"ਕਿਸੇ ਆਡੀਓ ਸਟ੍ਰੀਮ ਨੂੰ ਸੁਣਨ ਲਈ, ਪਹਿਲਾਂ ਇਸ ਫ਼ੋਨ ਨਾਲ LE ਆਡੀਓ ਦਾ ਸਮਰਥਨ ਕਰਨ ਵਾਲੇ ਹੈੱਡਫ਼ੋਨਾਂ ਨੂੰ ਕਨੈਕਟ ਕਰੋ। "<annotation id="link">"ਹੋਰ ਜਾਣੋ"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"ਕਿਸੇ ਆਡੀਓ ਸਟ੍ਰੀਮ ਨੂੰ ਸੁਣਨ ਲਈ, ਪਹਿਲਾਂ ਇਸ ਟੈਬਲੈੱਟ ਨਾਲ LE ਆਡੀਓ ਦਾ ਸਮਰਥਨ ਕਰਨ ਵਾਲੇ ਹੈੱਡਫ਼ੋਨਾਂ ਨੂੰ ਕਨੈਕਟ ਕਰੋ। "<annotation id="link">"ਹੋਰ ਜਾਣੋ"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"ਕਿਸੇ ਆਡੀਓ ਸਟ੍ਰੀਮ ਨੂੰ ਸੁਣਨ ਲਈ, ਪਹਿਲਾਂ ਇਸ ਡੀਵਾਈਸ ਨਾਲ LE ਆਡੀਓ ਦਾ ਸਮਰਥਨ ਕਰਨ ਵਾਲੇ ਹੈੱਡਫ਼ੋਨਾਂ ਨੂੰ ਕਨੈਕਟ ਕਰੋ। "<annotation id="link">"ਹੋਰ ਜਾਣੋ"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"ਇਹ ਫ਼ੋਨ LE ਆਡੀਓ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦਾ, ਜੋ ਆਡੀਓ ਸਟ੍ਰੀਮਾਂ ਨੂੰ ਸੁਣਨ ਲਈ ਲੋੜੀਂਦਾ ਹੈ।"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"ਇਹ ਟੈਬਲੈੱਟ LE ਆਡੀਓ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦਾ, ਜੋ ਆਡੀਓ ਸਟ੍ਰੀਮਾਂ ਨੂੰ ਸੁਣਨ ਲਈ ਲੋੜੀਂਦਾ ਹੈ।"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"ਇਹ ਡੀਵਾਈਸ LE ਆਡੀਓ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦਾ, ਜੋ ਆਡੀਓ ਸਟ੍ਰੀਮਾਂ ਨੂੰ ਸੁਣਨ ਲਈ ਲੋੜੀਂਦਾ ਹੈ।"</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"ਆਡੀਓ ਨੂੰ ਸਾਂਝਾ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰਨ ਲਈ, ਪਹਿਲਾਂ LE ਆਡੀਓ ਹੈੱਡਫ਼ੋਨਾਂ ਨੂੰ ਆਪਣੇ ਫ਼ੋਨ ਨਾਲ ਕਨੈਕਟ ਕਰੋ। "<annotation id="link">"ਅਨੁਰੂਪ ਡੀਵਾਈਸਾਂ ਬਾਰੇ ਹੋਰ ਜਾਣੋ"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"ਆਡੀਓ ਨੂੰ ਸਾਂਝਾ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰਨ ਲਈ, ਪਹਿਲਾਂ LE ਆਡੀਓ ਹੈੱਡਫ਼ੋਨਾਂ ਨੂੰ ਆਪਣੇ ਟੈਬਲੈੱਟ ਨਾਲ ਕਨੈਕਟ ਕਰੋ। "<annotation id="link">"ਅਨੁਰੂਪ ਡੀਵਾਈਸਾਂ ਬਾਰੇ ਹੋਰ ਜਾਣੋ"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"ਆਡੀਓ ਨੂੰ ਸਾਂਝਾ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰਨ ਲਈ, ਪਹਿਲਾਂ LE ਆਡੀਓ ਹੈੱਡਫ਼ੋਨਾਂ ਨੂੰ ਆਪਣੇ ਡੀਵਾਈਸ ਨਾਲ ਕਨੈਕਟ ਕਰੋ। "<annotation id="link">"ਅਨੁਰੂਪ ਡੀਵਾਈਸਾਂ ਬਾਰੇ ਹੋਰ ਜਾਣੋ"</annotation></string>
 </resources>
diff --git a/res-product/values-pl/strings.xml b/res-product/values-pl/strings.xml
index 16a5a25..6f6953f 100644
--- a/res-product/values-pl/strings.xml
+++ b/res-product/values-pl/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Do skonfigurowania rozpoznawania twarzy wymagany jest kod PIN.\n\nKod PIN ochroni telefon, jeśli zostanie zgubiony lub skradziony."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Do skonfigurowania rozpoznawania twarzy wymagany jest wzór.\n\nWzór ochroni telefon, jeśli zostanie zgubiony lub skradziony."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Do skonfigurowania rozpoznawania twarzy wymagane jest hasło.\n\nHasło ochroni telefon, jeśli zostanie zgubiony lub skradziony."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Do skonfigurowania rozpoznawania twarzy i odblokowywania odciskiem palca wymagany jest kod PIN.\n\nKod PIN ochroni tablet, jeśli zostanie zgubiony lub skradziony."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Do skonfigurowania rozpoznawania twarzy i odblokowywania odciskiem palca wymagany jest wzór.\n\nWzór ochroni tablet, jeśli zostanie zgubiony lub skradziony."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Do skonfigurowania rozpoznawania twarzy i odblokowywania odciskiem palca wymagane jest hasło.\n\nHasło ochroni tablet, jeśli zostanie zgubiony lub skradziony."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Do skonfigurowania rozpoznawania twarzy i odblokowywania odciskiem palca wymagany jest kod PIN.\n\nKod PIN ochroni urządzenie, jeśli zostanie zgubione lub skradzione."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Do skonfigurowania rozpoznawania twarzy i odblokowywania odciskiem palca wymagany jest wzór.\n\nWzór ochroni urządzenie, jeśli zostanie zgubione lub skradzione."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Do skonfigurowania rozpoznawania twarzy i odblokowywania odciskiem palca wymagane jest hasło.\n\nHasło ochroni urządzenie, jeśli zostanie zgubione lub skradzione."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Do skonfigurowania rozpoznawania twarzy i odblokowywania odciskiem palca wymagany jest kod PIN.\n\nKod PIN ochroni telefon, jeśli zostanie zgubiony lub skradziony."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Do skonfigurowania rozpoznawania twarzy i odblokowywania odciskiem palca wymagany jest wzór.\n\nWzór ochroni telefon, jeśli zostanie zgubiony lub skradziony."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Do skonfigurowania rozpoznawania twarzy i odblokowywania odciskiem palca wymagane jest hasło.\n\nHasło ochroni telefon, jeśli zostanie zgubiony lub skradziony."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Do skonfigurowania odblokowywania odciskiem palca i rozpoznawania twarzy wymagany jest kod PIN.\n\nKod PIN ochroni tablet, jeśli zostanie zgubiony lub skradziony."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Do skonfigurowania odblokowywania odciskiem palca i rozpoznawania twarzy wymagany jest wzór.\n\nWzór ochroni tablet, jeśli zostanie zgubiony lub skradziony."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Do skonfigurowania odblokowywania odciskiem palca i rozpoznawania twarzy wymagane jest hasło.\n\nHasło ochroni tablet, jeśli zostanie zgubiony lub skradziony."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Do skonfigurowania odblokowywania odciskiem palca i rozpoznawania twarzy wymagany jest kod PIN.\n\nKod PIN ochroni urządzenie, jeśli zostanie zgubione lub skradzione."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Do skonfigurowania odblokowywania odciskiem palca i rozpoznawania twarzy wymagany jest wzór.\n\nWzór ochroni urządzenie, jeśli zostanie zgubione lub skradzione."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Do skonfigurowania odblokowywania odciskiem palca i rozpoznawania twarzy wymagane jest hasło.\n\nHasło ochroni urządzenie, jeśli zostanie zgubione lub skradzione."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Do skonfigurowania odblokowywania odciskiem palca i rozpoznawania twarzy wymagany jest kod PIN.\n\nKod PIN ochroni telefon, jeśli zostanie zgubiony lub skradziony."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Do skonfigurowania odblokowywania odciskiem palca i rozpoznawania twarzy wymagany jest wzór.\n\nWzór ochroni telefon, jeśli zostanie zgubiony lub skradziony."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Do skonfigurowania odblokowywania odciskiem palca i rozpoznawania twarzy wymagane jest hasło.\n\nHasło ochroni telefon, jeśli zostanie zgubiony lub skradziony."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Ta czynność usuwa zapisane na telefonie obrazy i model odcisku palca powiązane z identyfikatorem „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>”."</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Ta czynność usuwa zapisane na tablecie obrazy i model odcisku palca powiązane z identyfikatorem „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>”"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Ta czynność usuwa zapisane na urządzeniu obrazy i model odcisku palca powiązane z identyfikatorem „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>”"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Aby słuchać strumienia audio, połącz z tym telefonem słuchawki obsługujące LE Audio."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Aby słuchać strumienia audio, połącz z tym tabletem słuchawki obsługujące LE Audio."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Aby słuchać strumienia audio, połącz z tym urządzeniem słuchawki obsługujące LE Audio."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Aby słuchać strumienia audio, połącz z tym telefonem słuchawki obsługujące LE Audio. "<annotation id="link">"Więcej informacji"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Aby słuchać strumienia audio, połącz z tym tabletem słuchawki obsługujące LE Audio. "<annotation id="link">"Więcej informacji"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Aby słuchać strumienia audio, połącz z tym urządzeniem słuchawki obsługujące LE Audio. "<annotation id="link">"Więcej informacji"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Ten telefon nie obsługuje funkcji LE Audio, która jest wymagana do słuchania strumieni audio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Ten tablet nie obsługuje funkcji LE Audio, która jest wymagana do słuchania strumieni audio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"To urządzenie nie obsługuje funkcji LE Audio, która jest wymagana do słuchania strumieni audio."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Aby zacząć udostępniać dźwięk, najpierw połącz słuchawki LE Audio z telefonem. "<annotation id="link">"Dowiedz się więcej o zgodnych urządzeniach"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Aby zacząć udostępniać dźwięk, najpierw połącz słuchawki LE Audio z tabletem. "<annotation id="link">"Dowiedz się więcej o zgodnych urządzeniach"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Aby zacząć udostępniać dźwięk, najpierw połącz słuchawki LE Audio z urządzeniem. "<annotation id="link">"Dowiedz się więcej o zgodnych urządzeniach"</annotation></string>
 </resources>
diff --git a/res-product/values-pt-rBR/strings.xml b/res-product/values-pt-rBR/strings.xml
index 7a48ba7..e5b8d4c 100644
--- a/res-product/values-pt-rBR/strings.xml
+++ b/res-product/values-pt-rBR/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Você precisa usar um PIN para poder configurar o Desbloqueio facial.\n\nO uso de um PIN protege o smartphone em caso de perda ou roubo."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Você precisa usar um padrão para poder configurar o Desbloqueio facial.\n\nO uso de um padrão protege o smartphone em caso de perda ou roubo."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Você precisa usar uma senha para poder configurar o Desbloqueio facial.\n\nO uso de uma senha protege o smartphone em caso de perda ou roubo."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Você precisa usar um PIN para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de um PIN protege o tablet em caso de perda ou roubo."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Você precisa usar um padrão para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de um padrão protege o tablet em caso de perda ou roubo."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Você precisa usar uma senha para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de uma senha protege o tablet em caso de perda ou roubo."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Você precisa usar um PIN para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de um PIN protege o dispositivo em caso de perda ou roubo."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Você precisa usar um padrão para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de um padrão protege o dispositivo em caso de perda ou roubo."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Você precisa usar uma senha para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de uma senha protege o dispositivo em caso de perda ou roubo."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Você precisa usar um PIN para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de um PIN protege o smartphone em caso de perda ou roubo."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Você precisa usar um padrão para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de um padrão protege o smartphone em caso de perda ou roubo."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Você precisa usar uma senha para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de uma senha protege o smartphone em caso de perda ou roubo."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Você precisa usar um PIN para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de um PIN protege o tablet em caso de perda ou roubo."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Você precisa usar um padrão para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de um padrão protege o tablet em caso de perda ou roubo."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Você precisa usar uma senha para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de uma senha protege o tablet em caso de perda ou roubo."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Você precisa usar um PIN para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de um PIN protege o dispositivo em caso de perda ou roubo."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Você precisa usar um padrão para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de um padrão protege o dispositivo em caso de perda ou roubo."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Você precisa usar uma senha para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de uma senha protege o dispositivo em caso de perda ou roubo."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Você precisa usar um PIN para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de um PIN protege o smartphone em caso de perda ou roubo."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Você precisa usar um padrão para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de um padrão protege o smartphone em caso de perda ou roubo."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Você precisa usar uma senha para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de uma senha protege o smartphone em caso de perda ou roubo."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Essa ação exclui as imagens e o modelo de impressão digital associados a \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que estão armazenados no seu smartphone"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Essa ação exclui as imagens e o modelo de impressão digital associados a \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que estão armazenados no seu tablet"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Essa ação exclui as imagens e o modelo de impressão digital associados a \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que estão armazenados no seu dispositivo"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Para ouvir um stream de áudio, primeiro conecte fones de ouvido que ofereçam suporte a LE Audio neste smartphone."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Para ouvir um stream de áudio, primeiro conecte fones de ouvido que ofereçam suporte a LE Audio neste tablet."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Para ouvir um stream de áudio, primeiro conecte fones de ouvido que ofereçam suporte a LE Audio neste dispositivo."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Para ouvir um stream de áudio, primeiro conecte fones de ouvido compatíveis com LE Audio a este smartphone. "<annotation id="link">"Saiba mais"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Para ouvir um stream de áudio, primeiro conecte fones de ouvido compatíveis com LE Audio a este tablet. "<annotation id="link">"Saiba mais"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Para ouvir um stream de áudio, primeiro conecte fones de ouvido compatíveis com LE Audio a este dispositivo. "<annotation id="link">"Saiba mais"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Este smartphone não é compatível com LE Audio, que é necessário para ouvir streams de áudio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Este tablet não é compatível LE Audio, que é necessário para ouvir streams de áudio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Este dispositivo não é compatível com LE Audio, que é necessário para ouvir streams de áudio."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Para começar a compartilhar áudio, primeiro conecte os fones de ouvido LE Audio ao smartphone. "<annotation id="link">"Saiba mais sobre os dispositivos compatíveis"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Para começar a compartilhar áudio, primeiro conecte os fones de ouvido LE Audio ao tablet. "<annotation id="link">"Saiba mais sobre os dispositivos compatíveis"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Para começar a compartilhar áudio, primeiro conecte os fones de ouvido LE Audio ao dispositivo. "<annotation id="link">"Saiba mais sobre os dispositivos compatíveis"</annotation></string>
 </resources>
diff --git a/res-product/values-pt-rPT/strings.xml b/res-product/values-pt-rPT/strings.xml
index 4c9f391..22a2460 100644
--- a/res-product/values-pt-rPT/strings.xml
+++ b/res-product/values-pt-rPT/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"É necessário um PIN para configurar o Desbloqueio facial.\n\nUm PIN protege o telemóvel em caso de perda ou roubo."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"É necessário um padrão para configurar o Desbloqueio facial.\n\nUm padrão protege o telemóvel em caso de perda ou roubo."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"É necessária uma palavra-passe para configurar o Desbloqueio facial.\n\nUma palavra-passe protege o telemóvel em caso de perda ou roubo."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"É necessário um PIN para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUm PIN protege o tablet em caso de perda ou roubo."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"É necessário um padrão para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUm padrão protege o tablet em caso de perda ou roubo."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"É necessária uma palavra-passe para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUma palavra-passe protege o tablet em caso de perda ou roubo."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"É necessário um PIN para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUm PIN protege o dispositivo em caso de perda ou roubo."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"É necessário um padrão para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUm padrão protege o dispositivo em caso de perda ou roubo."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"É necessária uma palavra-passe para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUma palavra-passe protege o dispositivo em caso de perda ou roubo."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"É necessário um PIN para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUm PIN protege o telemóvel em caso de perda ou roubo."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"É necessário um padrão para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUm padrão protege o telemóvel em caso de perda ou roubo."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"É necessária uma palavra-passe para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUma palavra-passe protege o telemóvel em caso de perda ou roubo."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"É necessário um PIN para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUm PIN protege o tablet em caso de perda ou roubo."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"É necessário um padrão para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUm padrão protege o tablet em caso de perda ou roubo."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"É necessária uma palavra-passe para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUma palavra-passe protege o tablet em caso de perda ou roubo."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"É necessário um PIN para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUm PIN protege o dispositivo em caso de perda ou roubo."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"É necessário um padrão para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUm padrão protege o dispositivo em caso de perda ou roubo."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"É necessária uma palavra-passe para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUma palavra-passe protege o dispositivo em caso de perda ou roubo."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"É necessário um PIN para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUm PIN protege o telemóvel em caso de perda ou roubo."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"É necessário um padrão para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUm padrão protege o telemóvel em caso de perda ou roubo."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"É necessária uma palavra-passe para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUma palavra-passe protege o telemóvel em caso de perda ou roubo."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Esta ação elimina as imagens da impressão digital e o modelo associado ao \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que estão armazenados no telemóvel"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Esta ação elimina as imagens da impressão digital e o modelo associado ao \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que estão armazenados no tablet"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Esta ação elimina as imagens da impressão digital e o modelo associado ao \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que estão armazenados no dispositivo"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Para ouvir uma stream de áudio, primeiro, ligue uns auscultadores que suportem LE Audio a este telemóvel."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Para ouvir uma stream de áudio, primeiro, ligue uns auscultadores que suportem LE Audio a este tablet."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Para ouvir uma stream de áudio, primeiro, ligue uns auscultadores que suportem LE Audio a este dispositivo."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Para ouvir uma stream de áudio, ligue primeiro uns auscultadores que suportem LE Audio a este telemóvel. "<annotation id="link">"Saiba mais"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Para ouvir uma stream de áudio, ligue primeiro uns auscultadores que suportem LE Audio a este tablet. "<annotation id="link">"Saiba mais"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Para ouvir uma stream de áudio, ligue primeiro uns auscultadores que suportem LE Audio a este dispositivo. "<annotation id="link">"Saiba mais"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Este telemóvel não suporta o LE Audio, que é necessário para ouvir streams de áudio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Este tablet não suporta o LE Audio, que é necessário para ouvir streams de áudio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Este dispositivo não suporta o LE Audio, que é necessário para ouvir streams de áudio."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Para partilhar áudio, ligue os auscultadores LE Audio ao telemóvel- "<annotation id="link">"Saiba mais sobre os dispositivos compatíveis"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Para partilhar áudio, ligue os auscultadores LE Audio ao tablet. "<annotation id="link">"Saiba mais sobre os dispositivos compatíveis"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Para partilhar áudio, ligue os auscultadores LE Audio ao dispositivo- "<annotation id="link">"Saiba mais sobre os dispositivos compatíveis"</annotation></string>
 </resources>
diff --git a/res-product/values-pt/strings.xml b/res-product/values-pt/strings.xml
index 7a48ba7..e5b8d4c 100644
--- a/res-product/values-pt/strings.xml
+++ b/res-product/values-pt/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Você precisa usar um PIN para poder configurar o Desbloqueio facial.\n\nO uso de um PIN protege o smartphone em caso de perda ou roubo."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Você precisa usar um padrão para poder configurar o Desbloqueio facial.\n\nO uso de um padrão protege o smartphone em caso de perda ou roubo."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Você precisa usar uma senha para poder configurar o Desbloqueio facial.\n\nO uso de uma senha protege o smartphone em caso de perda ou roubo."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Você precisa usar um PIN para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de um PIN protege o tablet em caso de perda ou roubo."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Você precisa usar um padrão para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de um padrão protege o tablet em caso de perda ou roubo."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Você precisa usar uma senha para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de uma senha protege o tablet em caso de perda ou roubo."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Você precisa usar um PIN para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de um PIN protege o dispositivo em caso de perda ou roubo."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Você precisa usar um padrão para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de um padrão protege o dispositivo em caso de perda ou roubo."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Você precisa usar uma senha para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de uma senha protege o dispositivo em caso de perda ou roubo."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Você precisa usar um PIN para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de um PIN protege o smartphone em caso de perda ou roubo."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Você precisa usar um padrão para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de um padrão protege o smartphone em caso de perda ou roubo."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Você precisa usar uma senha para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de uma senha protege o smartphone em caso de perda ou roubo."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Você precisa usar um PIN para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de um PIN protege o tablet em caso de perda ou roubo."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Você precisa usar um padrão para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de um padrão protege o tablet em caso de perda ou roubo."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Você precisa usar uma senha para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de uma senha protege o tablet em caso de perda ou roubo."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Você precisa usar um PIN para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de um PIN protege o dispositivo em caso de perda ou roubo."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Você precisa usar um padrão para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de um padrão protege o dispositivo em caso de perda ou roubo."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Você precisa usar uma senha para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de uma senha protege o dispositivo em caso de perda ou roubo."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Você precisa usar um PIN para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de um PIN protege o smartphone em caso de perda ou roubo."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Você precisa usar um padrão para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de um padrão protege o smartphone em caso de perda ou roubo."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Você precisa usar uma senha para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de uma senha protege o smartphone em caso de perda ou roubo."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Essa ação exclui as imagens e o modelo de impressão digital associados a \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que estão armazenados no seu smartphone"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Essa ação exclui as imagens e o modelo de impressão digital associados a \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que estão armazenados no seu tablet"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Essa ação exclui as imagens e o modelo de impressão digital associados a \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que estão armazenados no seu dispositivo"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Para ouvir um stream de áudio, primeiro conecte fones de ouvido que ofereçam suporte a LE Audio neste smartphone."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Para ouvir um stream de áudio, primeiro conecte fones de ouvido que ofereçam suporte a LE Audio neste tablet."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Para ouvir um stream de áudio, primeiro conecte fones de ouvido que ofereçam suporte a LE Audio neste dispositivo."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Para ouvir um stream de áudio, primeiro conecte fones de ouvido compatíveis com LE Audio a este smartphone. "<annotation id="link">"Saiba mais"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Para ouvir um stream de áudio, primeiro conecte fones de ouvido compatíveis com LE Audio a este tablet. "<annotation id="link">"Saiba mais"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Para ouvir um stream de áudio, primeiro conecte fones de ouvido compatíveis com LE Audio a este dispositivo. "<annotation id="link">"Saiba mais"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Este smartphone não é compatível com LE Audio, que é necessário para ouvir streams de áudio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Este tablet não é compatível LE Audio, que é necessário para ouvir streams de áudio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Este dispositivo não é compatível com LE Audio, que é necessário para ouvir streams de áudio."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Para começar a compartilhar áudio, primeiro conecte os fones de ouvido LE Audio ao smartphone. "<annotation id="link">"Saiba mais sobre os dispositivos compatíveis"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Para começar a compartilhar áudio, primeiro conecte os fones de ouvido LE Audio ao tablet. "<annotation id="link">"Saiba mais sobre os dispositivos compatíveis"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Para começar a compartilhar áudio, primeiro conecte os fones de ouvido LE Audio ao dispositivo. "<annotation id="link">"Saiba mais sobre os dispositivos compatíveis"</annotation></string>
 </resources>
diff --git a/res-product/values-ro/strings.xml b/res-product/values-ro/strings.xml
index 0b5d920..798fbd2 100644
--- a/res-product/values-ro/strings.xml
+++ b/res-product/values-ro/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Pentru a configura Deblocarea facială, este necesar un PIN.\n\nPIN-ul îți protejează telefonul dacă este pierdut sau furat."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Pentru a configura Deblocarea facială, este necesar un model.\n\nModelul îți protejează telefonul dacă este pierdut sau furat."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Pentru a configura Deblocarea facială, este necesară o parolă.\n\nParola îți protejează telefonul dacă este pierdut sau furat."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Pentru a configura Deblocarea facială și Deblocarea cu amprenta, este necesar un PIN.\n\nPIN-ul îți protejează tableta dacă este pierdută sau furată."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Pentru a configura Deblocarea facială și Deblocarea cu amprenta, este necesar un model.\n\nModelul îți protejează tableta dacă este pierdută sau furată."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Pentru a configura Deblocarea facială și Deblocarea cu amprenta, este necesară o parolă.\n\nParola îți protejează tableta dacă este pierdută sau furată."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Pentru a configura Deblocarea facială și Deblocarea cu amprenta, este necesar un PIN.\n\nPIN-ul îți protejează dispozitivul dacă este pierdut sau furat."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Pentru a configura Deblocarea facială și Deblocarea cu amprenta, este necesar un model.\n\nModelul îți protejează dispozitivul dacă este pierdut sau furat."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Pentru a configura Deblocarea facială și Deblocarea cu amprenta, este necesară o parolă.\n\nParola îți protejează dispozitivul dacă este pierdut sau furat."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Pentru a configura Deblocarea facială și Deblocarea cu amprenta, este necesar un PIN.\n\nPIN-ul îți protejează telefonul dacă este pierdut sau furat."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Pentru a configura Deblocarea facială și Deblocarea cu amprenta, este necesar un model.\n\nModelul îți protejează telefonul dacă este pierdut sau furat."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Pentru a configura Deblocarea facială și Deblocarea cu amprenta, este necesară o parolă.\n\nParola îți protejează telefonul dacă este pierdut sau furat."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Pentru a configura Deblocarea cu amprenta și Deblocarea facială, este necesar un PIN.\n\nPIN-ul îți protejează tableta dacă este pierdută sau furată."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Pentru a configura Deblocarea cu amprenta și Deblocarea facială, este necesar un model.\n\nModelul îți protejează tableta dacă este pierdută sau furată."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Pentru a configura Deblocarea cu amprenta și Deblocarea facială, este necesară o parolă.\n\nParola îți protejează tableta dacă este pierdută sau furată."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Pentru a configura Deblocarea cu amprenta și Deblocarea facială, este necesar un PIN.\n\nPIN-ul îți protejează dispozitivul dacă este pierdut sau furat."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Pentru a configura Deblocarea cu amprenta și Deblocarea facială, este necesar un model.\n\nModelul îți protejează dispozitivul dacă este pierdut sau furat."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Pentru a configura Deblocarea cu amprenta și Deblocarea facială, este necesară o parolă.\n\nParola îți protejează dispozitivul dacă este pierdut sau furat."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Pentru a configura Deblocarea cu amprenta și Deblocarea facială, este necesar un PIN.\n\nPIN-ul îți protejează telefonul dacă este pierdut sau furat."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Pentru a configura Deblocarea cu amprenta și Deblocarea facială, este necesar un model.\n\nModelul îți protejează telefonul dacă este pierdut sau furat."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Pentru a configura Deblocarea cu amprenta și Deblocarea facială, este necesară o parolă.\n\nParola îți protejează telefonul dacă este pierdut sau furat."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Astfel, imaginile amprentelor și modelul de amprentă asociate cu <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> stocate pe telefon vor fi șterse"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Astfel, imaginile amprentelor și modelul de amprentă asociate cu <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> stocate pe tabletă vor fi șterse"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Astfel, imaginile amprentelor și modelul de amprentă asociate cu <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> stocate pe acest dispozitiv vor fi șterse"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Pentru a asculta un stream audio, mai întâi conectează un set de căști compatibil cu LE Audio la acest telefon."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Pentru a asculta un stream audio, mai întâi conectează un set de căști compatibil cu LE Audio la această tabletă."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Pentru a asculta un stream audio, mai întâi conectează un set de căști compatibil cu LE Audio la acest dispozitiv."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Pentru a asculta un stream audio, mai întâi conectează un set de căști compatibil cu LE Audio la acest telefon. "<annotation id="link">"Află mai multe"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Pentru a asculta un stream audio, mai întâi conectează un set de căști compatibil cu LE Audio la această tabletă. "<annotation id="link">"Află mai multe"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Pentru a asculta un stream audio, mai întâi conectează un set de căști compatibil cu LE Audio la acest dispozitiv. "<annotation id="link">"Află mai multe"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Telefonul nu acceptă LE Audio, care este necesar pentru a asculta streamuri audio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Tableta nu acceptă LE Audio, care este necesar pentru a asculta streamuri audio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Dispozitivul nu acceptă LE Audio, care este necesar pentru a asculta streamuri audio."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Ca să începi să permiți accesul la conținut audio, conectează căștile LE Audio la telefon. "<annotation id="link">"Află mai multe despre dispozitivele compatibile"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Ca să începi să permiți accesul la conținut audio, conectează căștile LE Audio la tabletă. "<annotation id="link">"Află mai multe despre dispozitivele compatibile"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Ca să începi să permiți accesul la conținut audio, conectează căștile LE Audio la dispozitiv. "<annotation id="link">"Află mai multe despre dispozitivele compatibile"</annotation></string>
 </resources>
diff --git a/res-product/values-ru/strings.xml b/res-product/values-ru/strings.xml
index 947029f..1020440 100644
--- a/res-product/values-ru/strings.xml
+++ b/res-product/values-ru/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Чтобы настроить фейсконтроль, нужен PIN-код.\n\nОн защитит данные в случае потери или кражи телефона."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Чтобы настроить фейсконтроль, нужен графический ключ.\n\nОн защитит данные в случае потери или кражи телефона."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Чтобы настроить фейсконтроль, нужен пароль.\n\nОн защитит данные в случае потери или кражи телефона."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен PIN-код.\n\nОн защитит данные в случае потери или кражи планшета."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен графический ключ.\n\nОн защитит данные в случае потери или кражи планшета."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен пароль.\n\nОн защитит данные в случае потери или кражи планшета."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен PIN-код.\n\nОн защитит данные в случае потери или кражи устройства."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен графический ключ.\n\nОн защитит данные в случае потери или кражи устройства."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен пароль.\n\nОн защитит данные в случае потери или кражи устройства."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен PIN-код.\n\nОн защитит данные в случае потери или кражи телефона."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен графический ключ.\n\nОн защитит данные в случае потери или кражи телефона."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен пароль.\n\nОн защитит данные в случае потери или кражи телефона."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен PIN-код.\n\nОн защитит данные в случае потери или кражи планшета."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен графический ключ.\n\nОн защитит данные в случае потери или кражи планшета."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен пароль.\n\nОн защитит данные в случае потери или кражи планшета."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен PIN-код.\n\nОн защитит данные в случае потери или кражи устройства."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен графический ключ.\n\nОн защитит данные в случае потери или кражи устройства."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен пароль.\n\nОн защитит данные в случае потери или кражи устройства."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен PIN-код.\n\nОн защитит данные в случае потери или кражи телефона."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен графический ключ.\n\nОн защитит данные в случае потери или кражи телефона."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен пароль.\n\nОн защитит данные в случае потери или кражи телефона."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Изображения и модель отпечатка \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" будут удалены с телефона."</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Изображения и модель отпечатка \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" будут удалены с планшета"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Изображения и модель отпечатка \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" будут удалены с устройства"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Для воспроизведения аудиопотока подключите к телефону наушники с поддержкой LE Audio."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Для воспроизведения аудиопотока подключите к планшету наушники с поддержкой LE Audio."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Для воспроизведения аудиопотока подключите к устройству наушники с поддержкой LE Audio."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Для воспроизведения аудиопотока подключите к телефону наушники с поддержкой LE Audio. "<annotation id="link">"Подробнее…"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Для воспроизведения аудиопотока подключите к планшету наушники с поддержкой LE Audio. "<annotation id="link">"Подробнее…"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Для воспроизведения аудиопотока подключите к устройству наушники с поддержкой LE Audio. "<annotation id="link">"Подробнее…"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Этот телефон не поддерживает стандарт LE Audio, который обеспечивает беспроводную многопотоковую передачу аудио."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Этот планшет не поддерживает стандарт LE Audio, который обеспечивает беспроводную многопотоковую передачу аудио."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Это устройство не поддерживает стандарт LE Audio, который обеспечивает беспроводную многопотоковую передачу аудио."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Чтобы передавать аудио, подключите к телефону наушники с поддержкой LE Audio. Подробнее "<annotation id="link">"о совместимых устройствах"</annotation>"…"</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Чтобы передавать аудио, подключите к планшету наушники с поддержкой LE Audio. Подробнее "<annotation id="link">"о совместимых устройствах"</annotation>"…"</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Чтобы передавать аудио, подключите к устройству наушники с поддержкой LE Audio. Подробнее "<annotation id="link">"о совместимых устройствах"</annotation>"…"</string>
 </resources>
diff --git a/res-product/values-si/strings.xml b/res-product/values-si/strings.xml
index e766758..8a38ebe 100644
--- a/res-product/values-si/strings.xml
+++ b/res-product/values-si/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"මුහුණෙන් අගුළු හැරීම පිහිටුවීමට PIN එකක් අවශ්‍යයි.\n\nPIN එකක් දුරකථනය නැති වුවහොත් හෝ සොරකම් කළහොත් එය ආරක්ෂා කරයි."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"මුහුණෙන් අගුළු හැරීම පිහිටුවීමට රටාවක් අවශ්‍යයි.\n\nරටාවක් දුරකථනය නැති වුවහොත් හෝ සොරකම් කළහොත් එය ආරක්ෂා කරයි."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"මුහුණෙන් අගුළු හැරීම පිහිටුවීමට මුරපදයක් අවශ්‍යයි.\n\nමුරපදයක් දුරකථනය නැති වුවහොත් හෝ සොරකම් කළහොත් එය ආරක්ෂා කරයි."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"මුහුණෙන් අගුළු හැරීම සහ ඇඟිලි සලකුණු අගුලු හැරීම පිහිටුවීමට PIN එකක් අවශ්‍යයි.\n\nPIN එකක් ටැබ්ලටය නැති වුවහොත් හෝ සොරකම් කළහොත් එය ආරක්ෂා කරයි."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"මුහුණෙන් අගුළු හැරීම සහ ඇඟිලි සලකුණු අගුලු හැරීම පිහිටුවීමට රටාවක් අවශ්‍යයි.\n\nරටාවක් ටැබ්ලටය නැති වුවහොත් හෝ සොරකම් කළහොත් එය ආරක්ෂා කරයි."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"මුහුණෙන් අගුළු හැරීම සහ ඇඟිලි සලකුණු අගුලු හැරීම පිහිටුවීමට මුරපදයක් අවශ්‍යයි.\n\nමුරපදයක් ටැබ්ලටය නැති වුවහොත් හෝ සොරකම් කළහොත් එය ආරක්ෂා කරයි."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"මුහුණෙන් අගුළු හැරීම සහ ඇඟිලි සලකුණු අගුලු හැරීම පිහිටුවීමට PIN එකක් අවශ්‍යයි.\n\nPIN එකක් උපාංගය නැති වුවහොත් හෝ සොරකම් කළහොත් එය ආරක්ෂා කරයි."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"මුහුණෙන් අගුළු හැරීම සහ ඇඟිලි සලකුණු අගුලු හැරීම පිහිටුවීමට රටාවක් අවශ්‍යයි.\n\nරටාවක් උපාංගය නැති වුවහොත් හෝ සොරකම් කළහොත් එය ආරක්ෂා කරයි."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"මුහුණෙන් අගුළු හැරීම සහ ඇඟිලි සලකුණු අගුලු හැරීම පිහිටුවීමට මුරපදයක් අවශ්‍යයි.\n\nමුරපදයක් උපාංගය නැති වුවහොත් හෝ සොරකම් කළහොත් එය ආරක්ෂා කරයි."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"මුහුණෙන් අගුළු හැරීම සහ ඇඟිලි සලකුණු අගුලු හැරීම පිහිටුවීමට PIN එකක් අවශ්‍යයි.\n\nPIN එකක් දුරකථනය නැති වුවහොත් හෝ සොරකම් කළහොත් එය ආරක්ෂා කරයි."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"මුහුණෙන් අගුළු හැරීම සහ ඇඟිලි සලකුණු අගුලු හැරීම පිහිටුවීමට රටාවක් අවශ්‍යයි.\n\nරටාවක් දුරකථනය නැති වුවහොත් හෝ සොරකම් කළහොත් එය ආරක්ෂා කරයි."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"මුහුණෙන් අගුළු හැරීම සහ ඇඟිලි සලකුණු අගුලු හැරීම පිහිටුවීමට මුරපදයක් අවශ්‍යයි.\n\nමුරපදයක් දුරකථනය නැති වුවහොත් හෝ සොරකම් කළහොත් එය ආරක්ෂා කරයි."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"ඇඟිලි සලකුණු අගුළු හැරීම සහ මුහුණෙන් අගුළු හැරීම පිහිටුවීමට මුරපදයක් අවශ්‍යයි.\n\nPIN එකක් ටැබ්ලටය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"ඇඟිලි සලකුණු අගුළු හැරීම සහ මුහුණෙන් අගුළු හැරීම පිහිටුවීමට මුරපදයක් අවශ්‍යයි.\n\nරටාවක් ටැබ්ලටය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"ඇඟිලි සලකුණු අගුළු හැරීම සහ මුහුණෙන් අගුළු හැරීම පිහිටුවීමට මුරපදයක් අවශ්‍යයි.\n\nමුරපදයක් ටැබ්ලටය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"ඇඟිලි සලකුණු අගුළු හැරීම සහ මුහුණෙන් අගුළු හැරීම පිහිටුවීමට මුරපදයක් අවශ්‍යයි.\n\nPIN එකක් උපාංගය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"ඇඟිලි සලකුණු අගුළු හැරීම සහ මුහුණෙන් අගුළු හැරීම පිහිටුවීමට මුරපදයක් අවශ්‍යයි.\n\nරටාවක් උපාංගය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"ඇඟිලි සලකුණු අගුළු හැරීම සහ මුහුණෙන් අගුළු හැරීම පිහිටුවීමට මුරපදයක් අවශ්‍යයි.\n\nමුරපදයක් උපාංගය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"ඇඟිලි සලකුණු අගුළු හැරීම සහ මුහුණෙන් අගුළු හැරීම පිහිටුවීමට මුරපදයක් අවශ්‍යයි.\n\nPIN එකක් දුරකථනය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"ඇඟිලි සලකුණු අගුළු හැරීම සහ මුහුණෙන් අගුළු හැරීම පිහිටුවීමට මුරපදයක් අවශ්‍යයි.\n\nරටාවක් දුරකථනය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"ඇඟිලි සලකුණු අගුළු හැරීම සහ මුහුණෙන් අගුළු හැරීම පිහිටුවීමට මුරපදයක් අවශ්‍යයි.\n\nමුරපදයක් දුරකථනය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"මෙය ඔබේ දුරකථනයෙහි ගබඩා වී ඇති ඇඟිලි සලකුණු රූප සහ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' සමග ආශ්‍රිත ආකෘතිය මකයි"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"මෙය ඔබේ ටැබ්ලටයෙහි ගබඩා වී ඇති ඇඟිලි සලකුණු රූප සහ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' සමග ආශ්‍රිත ආකෘතිය මකයි"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"මෙය ඔබගේ උපාංගයෙහි ගබඩා වී ඇති ඇඟිලි සලකුණු රූප සහ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' හා ආශ්‍රිත මාදිලි මකයි"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"ශ්‍රව්‍ය ප්‍රවාහයකට සවන් දීමට, පළමුව LE ශ්‍රව්‍ය සඳහා සහය දක්වන හෙඩ්ෆෝන් මෙම දුරකථනයට සම්බන්ධ කරන්න."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"ශ්‍රව්‍ය ප්‍රවාහයකට සවන් දීමට, පළමුව LE ශ්‍රව්‍ය සඳහා සහය දක්වන හෙඩ්ෆෝන් මෙම ටැබ්ලටයට සම්බන්ධ කරන්න."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"ශ්‍රව්‍ය ප්‍රවාහයකට සවන් දීමට, පළමුව LE ශ්‍රව්‍ය සඳහා සහය දක්වන හෙඩ්ෆෝන් මෙම උපාංගයට සම්බන්ධ කරන්න."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"ශ්‍රව්‍ය ප්‍රවාහයකට සවන් දීමට, පළමුව LE ශ්‍රව්‍ය සඳහා සහය දක්වන හෙඩ්ෆෝන් මෙම දුරකථනයට සම්බන්ධ කරන්න. "<annotation id="link">"තව දැන ගන්න"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"ශ්‍රව්‍ය ප්‍රවාහයකට සවන් දීමට, පළමුව LE ශ්‍රව්‍ය සඳහා සහය දක්වන හෙඩ්ෆෝන් මෙම ටැබ්ලටයට සම්බන්ධ කරන්න. "<annotation id="link">"තව දැන ගන්න"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"ශ්‍රව්‍ය ප්‍රවාහයකට සවන් දීමට, පළමුව LE ශ්‍රව්‍ය සඳහා සහය දක්වන හෙඩ්ෆෝන් මෙම උපාංගයට සම්බන්ධ කරන්න. "<annotation id="link">"තව දැන ගන්න"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"මෙම දුරකථනය ශ්‍රව්‍ය ප්‍රවාහවලට සවන් දීමට අවශ්‍ය වන LE Audio හට සහය නොදක්වයි."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"මෙම ටැබ්ලටය ශ්‍රව්‍ය ප්‍රවාහවලට සවන් දීමට අවශ්‍ය වන LE Audio හට සහය නොදක්වයි."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"මෙම උපාංගය ශ්‍රව්‍ය ප්‍රවාහවලට සවන් දීමට අවශ්‍ය වන LE Audio හට සය නොදක්වයි."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"ශ්‍රව්‍ය බෙදා ගැනීම පටන් ගැනීමට, පළමුව ඔබේ දුරකථනයට LE ශ්‍රව්‍ය හෙඩ්ෆෝන් සම්බන්ධ කරන්න. "<annotation id="link">"ගැළපෙන උපාංග ගැන තව දැන ගන්න"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"ශ්‍රව්‍ය බෙදා ගැනීම පටන් ගැනීමට, පළමුව ඔබේ ටැබ්ලටයට LE ශ්‍රව්‍ය හෙඩ්ෆෝන් සම්බන්ධ කරන්න. "<annotation id="link">"ගැළපෙන උපාංග ගැන තව දැන ගන්න"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"ශ්‍රව්‍ය බෙදා ගැනීම පටන් ගැනීමට, පළමුව ඔබේ උපාංගයට LE ශ්‍රව්‍ය හෙඩ්ෆෝන් සම්බන්ධ කරන්න. "<annotation id="link">"ගැළපෙන උපාංග ගැන තව දැන ගන්න"</annotation></string>
 </resources>
diff --git a/res-product/values-sk/strings.xml b/res-product/values-sk/strings.xml
index b6c7fc1..f04d5c6 100644
--- a/res-product/values-sk/strings.xml
+++ b/res-product/values-sk/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Na nastavenie odomknutia tvárou sa vyžaduje PIN.\n\nPIN chráni telefón v prípade jeho straty alebo odcudzenia."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Na nastavenie odomknutia tvárou sa vyžaduje vzor.\n\nVzor chráni telefón v prípade jeho straty alebo odcudzenia."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Na nastavenie odomknutia tvárou sa vyžaduje heslo.\n\nHeslo chráni telefón v prípade jeho straty alebo odcudzenia."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Na nastavenie odomknutia tvárou a odtlačkom prsta sa vyžaduje PIN.\n\nPIN chráni tablet v prípade jeho straty alebo odcudzenia."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Na nastavenie odomknutia tvárou a odtlačkom prsta sa vyžaduje vzor.\n\nVzor chráni tablet v prípade jeho straty alebo odcudzenia."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Na nastavenie odomknutia tvárou a odtlačkom prsta sa vyžaduje heslo.\n\nHeslo chráni tablet v prípade jeho straty alebo odcudzenia."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Na nastavenie odomknutia tvárou a odtlačkom prsta sa vyžaduje PIN.\n\nPIN chráni zariadenie v prípade jeho straty alebo odcudzenia."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Na nastavenie odomknutia tvárou a odtlačkom prsta sa vyžaduje vzor.\n\nVzor chráni zariadenie v prípade jeho straty alebo odcudzenia."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Na nastavenie odomknutia tvárou a odtlačkom prsta sa vyžaduje heslo.\n\nHeslo chráni zariadenie v prípade jeho straty alebo odcudzenia."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Na nastavenie odomknutia tvárou a odtlačkom prsta sa vyžaduje PIN.\n\nPIN chráni telefón v prípade jeho straty alebo odcudzenia."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Na nastavenie odomknutia tvárou a odtlačkom prsta sa vyžaduje vzor.\n\nVzor chráni telefón v prípade jeho straty alebo odcudzenia."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Na nastavenie odomknutia tvárou a odtlačkom prsta sa vyžaduje heslo.\n\nHeslo chráni telefón v prípade jeho straty alebo odcudzenia."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Na nastavenie odomknutia odtlačkom prsta alebo tvárou sa vyžaduje PIN.\n\nPIN chráni tablet v prípade jeho straty alebo odcudzenia."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Na nastavenie odomknutia odtlačkom prsta alebo tvárou sa vyžaduje vzor.\n\nVzor chráni tablet v prípade jeho straty alebo odcudzenia."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Na nastavenie odomknutia odtlačkom prsta alebo tvárou sa vyžaduje heslo.\n\nHeslo chráni tablet v prípade jeho straty alebo odcudzenia."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Na nastavenie odomknutia odtlačkom prsta alebo tvárou sa vyžaduje PIN.\n\nPIN chráni zariadenie v prípade jeho straty alebo odcudzenia."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Na nastavenie odomknutia odtlačkom prsta alebo tvárou sa vyžaduje vzor.\n\nVzor chráni zariadenie v prípade jeho straty alebo odcudzenia."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Na nastavenie odomknutia odtlačkom prsta a tvárou sa vyžaduje heslo.\n\nHeslo chráni zariadenie v prípade jeho straty alebo odcudzenia."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Na nastavenie odomknutia odtlačkom prsta alebo tvárou sa vyžaduje PIN.\n\nPIN chráni telefón v prípade jeho straty alebo odcudzenia."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Na nastavenie odomknutia odtlačkom prsta alebo tvárou sa vyžaduje vzor.\n\nVzor chráni telefón v prípade jeho straty alebo odcudzenia."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Na nastavenie odomknutia odtlačkom prsta alebo tvárou sa vyžaduje heslo.\n\nHeslo chráni telefón v prípade jeho straty alebo odcudzenia."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Týmto odstránite snímky a model odtlačku prsta „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“, ktoré sú uložené vo vašom telefóne."</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Týmto odstránite snímky a model odtlačku prsta „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“, ktoré sú uložené vo vašom tablete"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Týmto odstránite snímky a model odtlačku prsta „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“, ktoré sú uložené vo vašom zariadení"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Ak chcete počúvať zvukový stream, najprv k tomuto telefónu pripojte slúchadlá podporujúce LE Audio."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Ak chcete počúvať zvukový stream, najprv k tomuto tabletu pripojte slúchadlá podporujúce LE Audio."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Ak chcete počúvať zvukový stream, najprv k tomuto zariadeniu pripojte slúchadlá podporujúce LE Audio."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Ak chcete počúvať zvukový stream, pripojte k tomuto telefónu slúchadlá podporujúce LE Audio. "<annotation id="link">"Ďalšie informácie"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Ak chcete počúvať zvukový stream, pripojte k tomuto tabletu slúchadlá podporujúce LE Audio. "<annotation id="link">"Ďalšie informácie"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Ak chcete počúvať zvukový stream, pripojte k tomuto zariadeniu slúchadlá podporujúce LE Audio. "<annotation id="link">"Ďalšie informácie"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Tento telefón nepodporuje technológiu LE Audio, ktorá je potrebná na počúvanie zvukových streamov."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Tento tablet nepodporuje technológiu LE Audio, ktorá je potrebná na počúvanie zvukových streamov."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Toto zariadenie nepodporuje technológiu LE Audio, ktorá je potrebná na počúvanie zvukových streamov."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Ak chcete začať zdieľať zvuk, pripojte k telefónu slúchadlá podporujúce LE Audio. "<annotation id="link">"Ďalšie informácie o kompatibilných zariadeniach"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Ak chcete začať zdieľať zvuk, pripojte k tabletu slúchadlá podporujúce LE Audio. "<annotation id="link">"Ďalšie informácie o kompatibilných zariadeniach"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Ak chcete začať zdieľať zvuk, pripojte k zariadeniu slúchadlá podporujúce LE Audio. "<annotation id="link">"Ďalšie informácie o kompatibilných zariadeniach"</annotation></string>
 </resources>
diff --git a/res-product/values-sl/strings.xml b/res-product/values-sl/strings.xml
index d6d8293..d6ee125 100644
--- a/res-product/values-sl/strings.xml
+++ b/res-product/values-sl/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Za nastavitev odklepanja z obrazom je potrebna koda PIN.\n\nKoda PIN ščiti telefon, če ga izgubite ali vam ga ukradejo."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Za nastavitev odklepanja z obrazom je potreben vzorec.\n\nVzorec ščiti telefon, če ga izgubite ali vam ga ukradejo."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Za nastavitev odklepanja z obrazom je potrebno geslo.\n\nGeslo ščiti telefon, če ga izgubite ali vam ga ukradejo."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Za nastavitev odklepanja z obrazom in prstnim odtisom je potrebna koda PIN.\n\nKoda PIN ščiti tablični računalnik, če ga izgubite ali vam ga ukradejo."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Za nastavitev odklepanja z obrazom in prstnim odtisom je potreben vzorec.\n\nVzorec ščiti tablični računalnik, če ga izgubite ali vam ga ukradejo."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Za nastavitev odklepanja z obrazom in prstnim odtisom je potrebno geslo.\n\nGeslo ščiti tablični računalnik, če ga izgubite ali vam ga ukradejo."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Za nastavitev odklepanja z obrazom in prstnim odtisom je potrebna koda PIN.\n\nKoda PIN ščiti napravo, če jo izgubite ali vam jo ukradejo."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Za nastavitev odklepanja z obrazom in prstnim odtisom je potreben vzorec.\n\nVzorec ščiti napravo, če jo izgubite ali vam jo ukradejo."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Za nastavitev odklepanja z obrazom in prstnim odtisom je potrebno geslo.\n\nGeslo ščiti napravo, če jo izgubite ali vam jo ukradejo."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Za nastavitev odklepanja z obrazom in prstnim odtisom je potrebna koda PIN.\n\nKoda PIN ščiti telefon, če ga izgubite ali vam ga ukradejo."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Za nastavitev odklepanja z obrazom in prstnim odtisom je potreben vzorec.\n\nVzorec ščiti telefon, če ga izgubite ali vam ga ukradejo."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Za nastavitev odklepanja z obrazom in prstnim odtisom je potrebno geslo.\n\nGeslo ščiti telefon, če ga izgubite ali vam ga ukradejo."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Za nastavitev odklepanja s prstnim odtisom in odklepanja z obrazom je potrebna koda PIN.\n\nKoda PIN ščiti tablični računalnik, če ga izgubite ali vam ga ukradejo."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Za nastavitev odklepanja s prstnim odtisom in odklepanja z obrazom je potreben vzorec.\n\nVzorec ščiti tablični računalnik, če ga izgubite ali vam ga ukradejo."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Za nastavitev odklepanja s prstnim odtisom in odklepanja z obrazom je potrebno geslo.\n\nGeslo ščiti tablični računalnik, če ga izgubite ali vam ga ukradejo."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Za nastavitev odklepanja s prstnim odtisom in odklepanja z obrazom je potrebna koda PIN.\n\nKoda PIN ščiti napravo, če jo izgubite ali vam jo ukradejo."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Za nastavitev odklepanja s prstnim odtisom in odklepanja z obrazom je potreben vzorec.\n\nVzorec ščiti napravo, če jo izgubite ali vam jo ukradejo."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Za nastavitev odklepanja s prstnim odtisom in odklepanja z obrazom je potrebno geslo.\n\nGeslo ščiti napravo, če jo izgubite ali vam jo ukradejo."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Za nastavitev odklepanja s prstnim odtisom in odklepanja z obrazom je potrebna koda PIN.\n\nKoda PIN ščiti telefon, če ga izgubite ali vam ga ukradejo."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Za nastavitev odklepanja s prstnim odtisom in odklepanja z obrazom je potreben vzorec.\n\nVzorec ščiti telefon, če ga izgubite ali vam ga ukradejo."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Za nastavitev odklepanja s prstnim odtisom in odklepanja z obrazom je potrebno geslo.\n\nGeslo ščiti telefon, če ga izgubite ali vam ga ukradejo."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"S tem boste izbrisali v telefonu shranjene slike in model prstnega odtisa, povezane z odtisom »<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>«"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"S tem boste izbrisali v tabličnem računalniku shranjene slike in model prstnega odtisa, povezane z odtisom »<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>«"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"S tem boste izbrisali v napravi shranjene slike in model prstnega odtisa, povezan z odtisom »<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>«"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Če želite poslušati pretočno predvajanje zvoka, najprej s tem telefonom povežite slušalke, ki podpirajo funkcijo LE zvok."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Če želite poslušati pretočno predvajanje zvoka, najprej s tem tabličnim računalnikom povežite slušalke, ki podpirajo funkcijo LE zvok."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Če želite poslušati pretočno predvajanje zvoka, najprej s to napravo povežite slušalke, ki podpirajo funkcijo LE zvok."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Če želite poslušati pretočno predvajanje zvoka, najprej s tem telefonom povežite slušalke, ki podpirajo funkcijo LE zvok. "<annotation id="link">"Več o tem"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Če želite poslušati pretočno predvajanje zvoka, najprej s tem tabličnim računalnikom povežite slušalke, ki podpirajo funkcijo LE zvok. "<annotation id="link">"Več o tem"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Če želite poslušati pretočno predvajanje zvoka, najprej s to napravo povežite slušalke, ki podpirajo funkcijo LE zvok. "<annotation id="link">"Več o tem"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Ta telefon ne podpira LE zvoka, ki je potreben za poslušanje pretočnega predvajanja zvoka."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Ta tablični računalnik ne podpira LE zvoka, ki je potreben za poslušanje pretočnega predvajanja zvoka."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Ta naprava ne podpira LE zvoka, ki je potreben za poslušanje pretočnega predvajanja zvoka."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Če želite začeti deliti zvok, najprej s telefonom povežite slušalke s funkcijo LE zvok. "<annotation id="link">"Več o združljivih napravah"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Če želite začeti deliti zvok, najprej s tabličnim računalnikom povežite slušalke s funkcijo LE zvok. "<annotation id="link">"Več o združljivih napravah"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Če želite začeti deliti zvok, najprej z napravo povežite slušalke s funkcijo LE zvok. "<annotation id="link">"Več o združljivih napravah"</annotation></string>
 </resources>
diff --git a/res-product/values-sq/strings.xml b/res-product/values-sq/strings.xml
index 35f8404..c40729d 100644
--- a/res-product/values-sq/strings.xml
+++ b/res-product/values-sq/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Kërkohet një kod PIN për të konfiguruar \"Shkyçjen me fytyrë\".\n\nKodi PIN e mbron telefonin nëse të humbet apo ta vjedhin."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Kërkohet një motiv për të konfiguruar \"Shkyçjen me fytyrë\".\n\nMotivi e mbron telefonin nëse të humbet apo ta vjedhin."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Kërkohet një fjalëkalim për të konfiguruar \"Shkyçjen me fytyrë\".\n\nFjalëkalimi e mbron telefonin nëse të humbet apo ta vjedhin."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Kërkohet një kod PIN për të konfiguruar \"Shkyçjen me fytyrë\" dhe \"Shkyçjen me gjurmën e gishtit\".\n\nKodi PIN e mbron tabletin nëse të humbet apo ta vjedhin."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Kërkohet një motiv për të konfiguruar \"Shkyçjen me fytyrë\" dhe \"Shkyçjen me gjurmën e gishtit\".\n\nMotivi e mbron tabletin nëse të humbet apo ta vjedhin."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Kërkohet një fjalëkalim për të konfiguruar \"Shkyçjen me fytyrë\" dhe \"Shkyçjen me gjurmën e gishtit\".\n\nFjalëkalimi e mbron tabletin nëse të humbet apo ta vjedhin."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Kërkohet një kod PIN për të konfiguruar \"Shkyçjen me fytyrë\" dhe \"Shkyçjen me gjurmën e gishtit\".\n\nKodi PIN e mbron pajisjen nëse të humbet apo ta vjedhin."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Kërkohet një motiv për të konfiguruar \"Shkyçjen me fytyrë\" dhe \"Shkyçjen me gjurmën e gishtit\".\n\nMotivi e mbron pajisjen nëse të humbet apo ta vjedhin."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Kërkohet një fjalëkalim për të konfiguruar \"Shkyçjen me fytyrë\" dhe \"Shkyçjen me gjurmën e gishtit\".\n\nFjalëkalimi e mbron pajisjen nëse të humbet apo ta vjedhin."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Kërkohet një kod PIN për të konfiguruar \"Shkyçjen me fytyrë\" dhe \"Shkyçjen me gjurmën e gishtit\".\n\nKodi PIN e mbron telefonin nëse të humbet apo ta vjedhin."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Kërkohet një motiv për të konfiguruar \"Shkyçjen me fytyrë\" dhe \"Shkyçjen me gjurmën e gishtit\".\n\nMotivi e mbron telefonin nëse të humbet apo ta vjedhin."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Kërkohet një fjalëkalim për të konfiguruar \"Shkyçjen me fytyrë\" dhe \"Shkyçjen me gjurmën e gishtit\".\n\nFjalëkalimi e mbron telefonin nëse të humbet apo ta vjedhin."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Kërkohet një kod PIN për të konfiguruar \"Shkyçjen me gjurmën e gishtit\" dhe \"Shkyçjen me fytyrë\".\n\nKodi PIN e mbron tabletin nëse të humbet apo ta vjedhin."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Kërkohet një motiv për të konfiguruar \"Shkyçjen me gjurmën e gishtit\" dhe \"Shkyçjen me fytyrë\".\n\nMotivi e mbron tabletin nëse të humbet apo ta vjedhin."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Kërkohet një fjalëkalim për të konfiguruar \"Shkyçjen me gjurmën e gishtit\" dhe \"Shkyçjen me fytyrë\".\n\nFjalëkalimi e mbron tabletin nëse të humbet apo ta vjedhin."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Kërkohet një kod PIN për të konfiguruar \"Shkyçjen me gjurmën e gishtit\" dhe \"Shkyçjen me fytyrë\".\n\nKodi PIN e mbron pajisjen nëse të humbet apo ta vjedhin."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Kërkohet një motiv për të konfiguruar \"Shkyçjen me gjurmën e gishtit\" dhe \"Shkyçjen me fytyrë\".\n\nMotivi e mbron pajisjen nëse të humbet apo ta vjedhin."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Kërkohet një fjalëkalim për të konfiguruar \"Shkyçjen me gjurmën e gishtit\" dhe \"Shkyçjen me fytyrë\".\n\nFjalëkalimi e mbron pajisjen nëse të humbet apo ta vjedhin."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Kërkohet një kod PIN për të konfiguruar \"Shkyçjen me gjurmën e gishtit\" dhe \"Shkyçjen me fytyrë\".\n\nKodi PIN e mbron telefonin nëse të humbet apo ta vjedhin."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Kërkohet një motiv për të konfiguruar \"Shkyçjen me gjurmën e gishtit\" dhe \"Shkyçjen me fytyrë\".\n\nMotivi e mbron telefonin nëse të humbet apo ta vjedhin."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Kërkohet një fjalëkalim për të konfiguruar \"Shkyçjen me gjurmën e gishtit\" dhe \"Shkyçjen me fytyrë\".\n\nFjalëkalimi e mbron telefonin nëse të humbet apo ta vjedhin."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Kjo fshin imazhet e gjurmës së gishtit dhe modelin e lidhur me \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" që ruhen në telefonin tënd"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Kjo fshin imazhet e gjurmës së gishtit dhe modelin e lidhur me \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" që ruhen në tabletin tënd"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Kjo fshin imazhet e gjurmës së gishtit dhe modelin e lidhur me \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" që ruhen në pajisjen tënde"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Për të dëgjuar një transmetim audio, në fillim lidh kufje që mbështesin LE Audio me këtë telefon."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Për të dëgjuar një transmetim audio, në fillim lidh kufje që mbështesin LE Audio me këtë tablet."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Për të dëgjuar një transmetim audio, në fillim lidh kufje që mbështesin LE Audio me këtë pajisje."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Për të dëgjuar një transmetim audio, në fillim lidh kufje që mbështesin LE Audio me këtë telefon. "<annotation id="link">"Mëso më shumë"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Për të dëgjuar një transmetim audio, në fillim lidh kufje që mbështesin LE Audio me këtë tablet. "<annotation id="link">"Mëso më shumë"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Për të dëgjuar një transmetim audio, në fillim lidh kufje që mbështesin LE Audio me këtë pajisje. "<annotation id="link">"Mëso më shumë"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Ky telefon nuk e mbështet LE Audio, e cila nevojitet për të dëgjuar transmetimet audio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Ky tablet nuk e mbështet LE Audio, e cila nevojitet për të dëgjuar transmetimet audio."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Kjo pajisje nuk e mbështet LE Audio, e cila nevojitet për të dëgjuar transmetimet audio."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Për të filluar të ndash audion, në fillim lidh kufjet me LE Audio me telefonin tënd. "<annotation id="link">"Mëso më shumë për pajisjet e përputhshme"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Për të filluar të ndash audion, në fillim lidh kufjet me LE Audio me tabletin tënd. "<annotation id="link">"Mëso më shumë për pajisjet e përputhshme"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Për të filluar të ndash audion, në fillim lidh kufjet me LE Audio me pajisjen tënde. "<annotation id="link">"Mëso më shumë për pajisjet e përputhshme"</annotation></string>
 </resources>
diff --git a/res-product/values-sr/strings.xml b/res-product/values-sr/strings.xml
index ac70a5e..6ce63ee 100644
--- a/res-product/values-sr/strings.xml
+++ b/res-product/values-sr/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"За подешавање откључавања лицем неопходан је PIN.\n\nPIN штити телефон ако га изгубите или га неко украде."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"За подешавање откључавања лицем неопходан је шаблон.\n\nШаблон штити телефон ако га изгубите или га неко украде."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"За подешавање откључавања лицем неопходна је лозинка.\n\nЛозинка штити телефон ако га изгубите или га неко украде."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"За подешавање откључавања лицем и отиском прста неопходан је PIN.\n\nPIN штити таблет ако га изгубите или га неко украде."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"За подешавање откључавања лицем и отиском прста неопходан је шаблон.\n\nШаблон штити таблет ако га изгубите или га неко украде."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"За подешавање откључавања лицем и отиском прста неопходна је лозинка.\n\nЛозинка штити таблет ако га изгубите или га неко украде."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"За подешавање откључавања лицем и отиском прста неопходан је PIN.\n\nPIN штити уређај ако га изгубите или га неко украде."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"За подешавање откључавања лицем и отиском прста неопходан је шаблон.\n\nШаблон штити уређај ако га изгубите или га неко украде."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"За подешавање откључавања лицем и отиском прста неопходна је лозинка.\n\nЛозинка штити уређај ако га изгубите или га неко украде."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"За подешавање откључавања лицем и отиском прста неопходан је PIN.\n\nPIN штити телефон ако га изгубите или га неко украде."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"За подешавање откључавања лицем и отиском прста неопходан је шаблон.\n\nШаблон штити телефон ако га изгубите или га неко украде."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"За подешавање откључавања лицем и отиском прста неопходна је лозинка.\n\nЛозинка штити телефон ако га изгубите или га неко украде."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"За подешавање откључавања отиском прста и откључавања лицем неопходан је PIN.\n\nPIN штити таблет ако га изгубите или га неко украде."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"За подешавање откључавања отиском прста и откључавања лицем неопходан је шаблон.\n\nШаблон штити таблет ако га изгубите или га неко украде."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"За подешавање откључавања отиском прста и откључавања лицем неопходна је лозинка.\n\nЛозинка штити таблет ако га изгубите или га неко украде."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"За подешавање откључавања отиском прста и откључавања лицем неопходан је PIN.\n\nPIN штити уређај ако га изгубите или га неко украде."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"За подешавање откључавања отиском прста и откључавања лицем неопходан је шаблон.\n\nШаблон штити уређај ако га изгубите или га неко украде."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"За подешавање откључавања отиском прста и откључавања лицем неопходна је лозинка.\n\nЛозинка штити уређај ако га изгубите или га неко украде."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"За подешавање откључавања отиском прста и откључавања лицем неопходан је PIN.\n\nPIN штити телефон ако га изгубите или га неко украде."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"За подешавање откључавања отиском прста и откључавања лицем неопходан је шаблон.\n\nШаблон штити телефон ако га изгубите или га неко украде."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"За подешавање откључавања отиском прста и откључавања лицем неопходна је лозинка.\n\nЛозинка штити телефон ако га изгубите или га неко украде."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Овим се бришу слике и модел отиска прста у вези са отиском <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> који су сачувани на телефону"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Овим се бришу слике и модел отиска прста у вези са отиском <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> који су сачувани на таблету"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Овим се бришу слике и модел отиска прста у вези са отиском <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> који су сачувани на уређају"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Да бисте слушали аудио стрим, прво повежите слушалице које подржавају LE Audio са овим телефоном."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Да бисте слушали аудио стрим, прво повежите слушалице које подржавају LE Audio са овим таблетом."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Да бисте слушали аудио стрим, прво повежите слушалице које подржавају LE Audio са овим уређајем."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Да бисте слушали аудио стрим, прво повежите слушалице које подржавају LE Audio са овим телефоном. "<annotation id="link">"Сазнајте више"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Да бисте слушали аудио стрим, прво повежите слушалице које подржавају LE Audio са овим таблетом. "<annotation id="link">"Сазнајте више"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Да бисте слушали аудио стрим, прво повежите слушалице које подржавају LE Audio са овим уређајем. "<annotation id="link">"Сазнајте више"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Овај телефон не подржава LE Audio који је неопходан за слушање аудио стримова."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Овај таблет не подржава LE Audio који је неопходан за слушање аудио стримова."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Овај уређај не подржава LE Audio који је неопходан за слушање аудио стримова."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Да бисте почели да делите звук, прво повежите LE Audio слушалице са телефоном. "<annotation id="link">"Сазнајте више о компатибилним уређајима"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Да бисте почели да делите звук, прво повежите LE Audio слушалице са таблетом. "<annotation id="link">"Сазнајте више о компатибилним уређајима"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Да бисте почели да делите звук, прво повежите LE Audio слушалице са уређајем. "<annotation id="link">"Сазнајте више о компатибилним уређајима"</annotation></string>
 </resources>
diff --git a/res-product/values-sv/strings.xml b/res-product/values-sv/strings.xml
index e112315..a5bd193 100644
--- a/res-product/values-sv/strings.xml
+++ b/res-product/values-sv/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Det krävs en pinkod för att konfigurera ansiktslås.\n\nEn pinkod skyddar telefonen om den kommer bort eller blir stulen."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Det krävs ett mönster för att konfigurera ansiktslås.\n\nEtt mönster skyddar telefonen om den kommer bort eller blir stulen."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Det krävs ett lösenord för att konfigurera ansiktslås.\n\nEtt lösenord skyddar telefonen om den kommer bort eller blir stulen."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Det krävs en pinkod för att konfigurera ansiktslås och fingeravtryckslås.\n\nEn pinkod skyddar surfplattan om den kommer bort eller blir stulen."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Det krävs ett mönster för att konfigurera ansiktslås och fingeravtryckslås.\n\nEtt mönster skyddar surfplattan om den kommer bort eller blir stulen."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Det krävs ett lösenord för att konfigurera ansiktslås och fingeravtryckslås.\n\nEtt lösenord skyddar surfplattan om den kommer bort eller blir stulen."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Det krävs en pinkod för att konfigurera ansiktslås och fingeravtryckslås.\n\nEn pinkod skyddar enheten om den kommer bort eller blir stulen."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Det krävs ett mönster för att konfigurera ansiktslås och fingeravtryckslås.\n\nEtt mönster skyddar enheten om den kommer bort eller blir stulen."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Det krävs ett lösenord för att konfigurera ansiktslås och fingeravtryckslås.\n\nEtt lösenord skyddar enheten om den kommer bort eller blir stulen."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Det krävs en pinkod för att konfigurera ansiktslås och fingeravtryckslås.\n\nEn pinkod skyddar telefonen om den kommer bort eller blir stulen."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Det krävs ett mönster för att konfigurera ansiktslås och fingeravtryckslås.\n\nEtt mönster skyddar telefonen om den kommer bort eller blir stulen."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Det krävs ett lösenord för att konfigurera ansiktslås och fingeravtryckslås.\n\nEtt lösenord skyddar telefonen om den kommer bort eller blir stulen."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Det krävs en pinkod för att ställa in fingeravtryckslås och ansiktslås.\n\nEn pinkod skyddar surfplattan om den kommer bort eller blir stulen."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Det krävs ett mönster för att ställa in fingeravtryckslås och ansiktslås.\n\nEtt mönster skyddar surfplattan om den kommer bort eller blir stulen."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Det krävs ett lösenord för att ställa in fingeravtryckslås och ansiktslås.\n\nEtt lösenord skyddar surfplattan om den kommer bort eller blir stulen."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Det krävs en pinkod för att ställa in fingeravtryckslås och ansiktslås.\n\nEn pinkod skyddar enheten om den kommer bort eller blir stulen."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Det krävs ett mönster för att ställa in fingeravtryckslås och ansiktslås.\n\nEtt mönster skyddar enheten om den kommer bort eller blir stulen."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Det krävs ett lösenord för att ställa in fingeravtryckslås och ansiktslås.\n\nEtt lösenord skyddar enheten om den kommer bort eller blir stulen."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Det krävs en pinkod för att ställa in fingeravtryckslås och ansiktslås.\n\nEn pinkod skyddar telefonen om den kommer bort eller blir stulen."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Det krävs ett mönster för att ställa in fingeravtryckslås och ansiktslås.\n\nEtt mönster skyddar telefonen om den kommer bort eller blir stulen."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Det krävs ett lösenord för att ställa in fingeravtryckslås och ansiktslås.\n\nEtt lösenord skyddar telefonen om den kommer bort eller blir stulen."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Om du gör detta raderas fingeravtrycksbilderna och fingeravtrycksmodellen som har kopplats till <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> och lagras på telefonen"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Om du gör detta raderas fingeravtrycksbilderna och fingeravtrycksmodellen som har kopplats till <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> och lagras på surfplattan"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Om du gör detta raderas fingeravtrycksbilderna och fingeravtrycksmodellen som har kopplats till <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> och lagras på enheten"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Om du vill lyssna på en ljudstream ska du först ansluta hörlurar som har stöd för LE Audio till den här telefonen."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Om du vill lyssna på en ljudstream ska du först ansluta hörlurar som har stöd för LE Audio till den här surfplattan."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Om du vill lyssna på en ljudstream ska du först ansluta hörlurar som har stöd för LE Audio till den här enheten."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Om du vill lyssna på en ljudstream ansluter du först hörlurar som har stöd för LE Audio till den här telefonen. "<annotation id="link">"Läs mer"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Om du vill lyssna på en ljudstream ansluter du först hörlurar som har stöd för LE Audio till den här surfplattan. "<annotation id="link">"Läs mer"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Om du vill lyssna på en ljudstream ansluter du först hörlurar som har stöd för LE Audio till den här enheten. "<annotation id="link">"Läs mer"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Den här telefonen har inte stöd för LE Audio, vilket krävs för att lyssna på ljudstreamar."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Den här surfplattan har inte stöd för LE Audio, vilket krävs för att lyssna på ljudstreamar."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Den här enheten har inte stöd för LE Audio, vilket krävs för att lyssna på ljudstreamar."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Om du vill dela ljud ansluter du först LE Audio-hörlurar till din telefon. "<annotation id="link">"Läs mer om kompatibla enheter"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Om du vill dela ljud ansluter du först LE Audio-hörlurar till din surfplatta. "<annotation id="link">"Läs mer om kompatibla enheter"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Om du vill dela ljud ansluter du först LE Audio-hörlurar till din enhet. "<annotation id="link">"Läs mer om kompatibla enheter"</annotation></string>
 </resources>
diff --git a/res-product/values-sw/strings.xml b/res-product/values-sw/strings.xml
index 27c6880..f2cca38 100644
--- a/res-product/values-sw/strings.xml
+++ b/res-product/values-sw/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"PIN inahitajika ili kuweka mipangilio ya Kufungua kwa uso.\n\nPIN hulinda simu ikipotea au ikiibwa."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Mchoro unahitajika ili kuweka mipangilio ya Kufungua kwa uso.\n\nMchoro hulinda simu ikipotea au ikiibwa."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Nenosiri linahitajika ili kuweka mipangilio ya Kufungua kwa uso.\n\nNenosiri hulinda simu ikipotea au ikiibwa."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"PIN inahitajika ili kuweka mipangilio ya Kufungua kwa uso na Kufungua kwa alama ya kidole.\n\nPIN hulinda kompyuta kibao ikipotea au ikiibwa."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Mchoro unahitajika ili kuweka mipangilio ya Kufungua kwa uso na Kufungua kwa alama ya kidole.\n\nMchoro hulinda kompyuta kibao ikipotea au ikiibwa."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Nenosiri linahitajika ili kuweka mipangilio ya Kufungua kwa uso na Kufungua kwa alama ya kidole.\n\nNenosiri hulinda kompyuta kibao ikipotea au ikiibwa."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"PIN inahitajika ili kuweka mipangilio ya Kufungua kwa uso na Kufungua kwa alama ya kidole.\n\nPIN hulinda kifaa kikipotea au kikiibwa."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Mchoro unahitajika ili kuweka mipangilio ya Kufungua kwa uso na Kufungua kwa alama ya kidole.\n\nMchoro hulinda kifaa kikipotea au kikiibwa."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Nenosiri linahitajika ili kuweka mipangilio ya Kufungua kwa uso na Kufungua kwa alama ya kidole.\n\nNenosiri hulinda kifaa kikipotea au kikiibwa."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"PIN inahitajika ili kuweka mipangilio ya Kufungua kwa uso na Kufungua kwa alama ya kidole.\n\nPIN hulinda simu ikipotea au ikiibwa."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Mchoro unahitajika ili kuweka mipangilio ya Kufungua kwa uso na Kufungua kwa alama ya kidole.\n\nMchoro hulinda simu ikipotea au ikiibwa."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Nenosiri linahitajika ili kuweka mipangilio ya Kufungua kwa uso na Kufungua kwa alama ya kidole.\n\nNenosiri hulinda simu ikipotea au ikiibwa."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"PIN inatakikana ili kuweka mipangilio ya Kufungua kwa Alama ya Kidole na Kufungua kwa Uso.\n\nPIN hulinda kishikwambi kikipotea au kikiibwa."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Mchoro unatakikana ili kuweka mipangilio ya Kufungua kwa Alama ya Kidole na Kufungua kwa Uso.\n\nMchoro hulinda kishikwambi kikipotea au kikiibwa."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Nenosiri linatakikana ili kuweka mipangilio ya Kufungua kwa Alama ya Kidole na Kufungua kwa Uso.\n\nNenosiri hulinda kishikwambi kikipotea au kikiibwa."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"PIN inatakikana ili kuweka mipangilio ya Kufungua kwa Alama ya Kidole na Kufungua kwa Uso.\n\nPIN hulinda kifaa kikipotea au kikiibwa."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Mchoro unatakikana ili kuweka mipangilio ya Kufungua kwa Alama ya Kidole na Kufungua kwa Uso.\n\nMchoro hulinda kifaa kikipotea au kikiibwa."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Nenosiri linatakikana ili kuweka mipangilio ya Kufungua kwa Alama ya Kidole na Kufungua kwa Uso.\n\nNenosiri hulinda kifaa kikipotea au kikiibwa."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"PIN inatakikana ili kuweka mipangilio ya Kufungua kwa Alama ya Kidole na Kufungua kwa Uso.\n\nPIN hulinda simu ikipotea au ikiibwa."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Mchoro unatakikana ili kuweka mipangilio ya Kufungua kwa Alama ya Kidole na Kufungua kwa Uso.\n\nMchoro hulinda simu ikipotea au ikiibwa."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Nenosiri linatakikana ili kuweka mipangilio ya Kufungua kwa Alama ya Kidole na Kufungua kwa Uso.\n\nNenosiri hulinda simu ikipotea au ikiibwa."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Hatua hii hufuta miundo na picha za alama ya kidole zinazohusiana na \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' zilizohifadhiwa kwenye simu yako"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Hatua hii hufuta miundo na picha za alama za kidole zinazohusiana na \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' zilizohifadhiwa kwenye kishikwambi chako"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Hatua hii hufuta miundo na picha za alama za kidole zinazohusiana na \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' zilizohifadhiwa kwenye kifaa chako"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Ili usikilize mtiririko wa maudhui ya sauti, unganisha kwanza vipokea sauti vya kichwani vinavyotumia LE Audio kwenye simu hii."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Ili usikilize mtiririko wa maudhui ya sauti, unganisha kwanza vipokea sauti vya kichwani vinavyotumia LE Audio kwenye kishikwambi hiki."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Ili usikilize mtiririko wa maudhui ya sauti, unganisha kwanza vipokea sauti vya kichwani vinavyotumia LE Audio kwenye kifaa hiki."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Ili usikilize mtiririko wa maudhui ya sauti, unganisha kwanza vipokea sauti vya kichwani vinavyotumia LE Audio na simu hii. "<annotation id="link">"Pata maelezo zaidi"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Ili usikilize mtiririko wa maudhui ya sauti, unganisha kwanza vipokea sauti vya kichwani vinavyotumia LE Audio na kishikwambi hiki. "<annotation id="link">"Pata maelezo zaidi"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Ili usikilize mtiririko wa maudhui ya sauti, unganisha kwanza vipokea sauti vya kichwani vinavyotumia LE Audio na kifaa hiki. "<annotation id="link">"Pata maelezo zaidi"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Simu hii haitumii LE Audio, ambayo inahitajika ili kusikiliza mitiririko ya maudhui ya sauti."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Kishikwambi hiki hakitumii LE Audio, ambayo inahitajika ili kusikiliza mitiririko ya maudhui ya sauti."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Kifaa hiki hakitumii LE Audio, ambayo inahitajika ili kusikiliza mitiririko ya maudhui ya sauti."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Ili uanze kusikiliza pamoja na wengine, unganisha kwanza vipokea sauti vya kichwani vya LE Audio na simu yako. "<annotation id="link">"Pata maelezo zaidi kuhusu vifaa vinavyooana"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Ili uanze kusikiliza pamoja na wengine, unganisha kwanza vipokea sauti vya kichwani vya LE Audio na kishikwambi chako. "<annotation id="link">"Pata maelezo zaidi kuhusu vifaa vinavyooana"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Ili uanze kusikiliza pamoja na wengine, unganisha kwanza vipokea sauti vya kichwani vya LE Audio na kifaa chako. "<annotation id="link">"Pata maelezo zaidi kuhusu vifaa vinavyooana"</annotation></string>
 </resources>
diff --git a/res-product/values-ta/strings.xml b/res-product/values-ta/strings.xml
index 0f10934..bb5bf49 100644
--- a/res-product/values-ta/strings.xml
+++ b/res-product/values-ta/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"முகம் காட்டித் திறத்தல் அம்சத்தை அமைக்க \'பின்\' தேவை.\n\nஉங்கள் மொபைல் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவை \'பின்\' பாதுகாக்கும்."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"முகம் காட்டித் திறத்தல் அம்சத்தை அமைக்க பேட்டர்ன் தேவை.\n\nஉங்கள் மொபைல் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைப் பேட்டர்ன் பாதுகாக்கும்."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"முகம் காட்டித் திறத்தல் அம்சத்தை அமைக்க கடவுச்சொல் தேவை.\n\nஉங்கள் மொபைல் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைக் கடவுச்சொல் பாதுகாக்கும்."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"முகம் காட்டித் திறத்தல் அம்சத்தையும் கைரேகை அன்லாக் அம்சத்தையும் அமைக்க \'பின்\' தேவை.\n\nஉங்கள் டேப்லெட் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவை \'பின்\' பாதுகாக்கும்."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"முகம் காட்டித் திறத்தல் அம்சத்தையும் கைரேகை அன்லாக் அம்சத்தையும் அமைக்க பேட்டர்ன் தேவை.\n\nஉங்கள் டேப்லெட் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைப் பேட்டர்ன் பாதுகாக்கும்."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"முகம் காட்டித் திறத்தல் அம்சத்தையும் கைரேகை அன்லாக் அம்சத்தையும் அமைக்க கடவுச்சொல் தேவை.\n\nஉங்கள் டேப்லெட் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைக் கடவுச்சொல் பாதுகாக்கும்."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"முகம் காட்டித் திறத்தல் அம்சத்தையும் கைரேகை அன்லாக் அம்சத்தையும் அமைக்க \'பின்\' தேவை.\n\nஉங்கள் சாதனம் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவை \'பின்\' பாதுகாக்கும்."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"முகம் காட்டித் திறத்தல் அம்சத்தையும் கைரேகை அன்லாக் அம்சத்தையும் அமைக்க பேட்டர்ன் தேவை.\n\nஉங்கள் சாதனம் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைப் பேட்டர்ன் பாதுகாக்கும்."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"முகம் காட்டித் திறத்தல் அம்சத்தையும் கைரேகை அன்லாக் அம்சத்தையும் அமைக்க கடவுச்சொல் தேவை.\n\nஉங்கள் சாதனம் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைக் கடவுச்சொல் பாதுகாக்கும்."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"முகம் காட்டித் திறத்தல் அம்சத்தையும் கைரேகை அன்லாக் அம்சத்தையும் அமைக்க \'பின்\' தேவை.\n\nஉங்கள் மொபைல் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவை \'பின்\' பாதுகாக்கும்."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"முகம் காட்டித் திறத்தல் அம்சத்தையும் கைரேகை அன்லாக் அம்சத்தையும் அமைக்க பேட்டர்ன் தேவை.\n\nஉங்கள் மொபைல் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைப் பேட்டர்ன் பாதுகாக்கும்."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"முகம் காட்டித் திறத்தல் அம்சத்தையும் கைரேகை அன்லாக் அம்சத்தையும் அமைக்க கடவுச்சொல் தேவை.\n\nஉங்கள் மொபைல் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைக் கடவுச்சொல் பாதுகாக்கும்."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"கைரேகை அன்லாக் அம்சத்தையும் முகம் காட்டித் திறத்தல் அம்சத்தையும் அமைக்க பின் (PIN) தேவை.\n\nஉங்கள் டேப்லெட் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைப் பின் (PIN) பாதுகாக்கும்."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"கைரேகை அன்லாக் அம்சத்தையும் முகம் காட்டித் திறத்தல் அம்சத்தையும் அமைக்க பேட்டர்ன் தேவை.\n\nஉங்கள் டேப்லெட் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைப் பேட்டர்ன் பாதுகாக்கும்."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"கைரேகை அன்லாக் அம்சத்தையும் முகம் காட்டித் திறத்தல் அம்சத்தையும் அமைக்க கடவுச்சொல் தேவை.\n\nஉங்கள் டேப்லெட் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைக் கடவுச்சொல் பாதுகாக்கும்."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"கைரேகை அன்லாக் அம்சத்தையும் முகம் காட்டித் திறத்தல் அம்சத்தையும் அமைக்க பின் (PIN) தேவை.\n\nஉங்கள் சாதனம் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைப் பின் (PIN) பாதுகாக்கும்."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"கைரேகை அன்லாக் அம்சத்தையும் முகம் காட்டித் திறத்தல் அம்சத்தையும் அமைக்க பேட்டர்ன் தேவை.\n\nஉங்கள் சாதனம் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைப் பேட்டர்ன் பாதுகாக்கும்."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"கைரேகை அன்லாக் அம்சத்தையும் முகம் காட்டித் திறத்தல் அம்சத்தையும் அமைக்க கடவுச்சொல் தேவை.\n\nஉங்கள் சாதனம் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைக் கடவுச்சொல் பாதுகாக்கும்."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"கைரேகை அன்லாக் அம்சத்தையும் முகம் காட்டித் திறத்தல் அம்சத்தையும் அமைக்க பின் (PIN) தேவை.\n\nஉங்கள் மொபைல் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைப் பின் (PIN) பாதுகாக்கும்."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"கைரேகை அன்லாக் அம்சத்தையும் முகம் காட்டித் திறத்தல் அம்சத்தையும் அமைக்க பேட்டர்ன் தேவை.\n\nஉங்கள் மொபைல் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைப் பேட்டர்ன் பாதுகாக்கும்."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"கைரேகை அன்லாக் அம்சத்தையும் முகம் காட்டித் திறத்தல் அம்சத்தையும் அமைக்க கடவுச்சொல் தேவை.\n\nஉங்கள் மொபைல் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைக் கடவுச்சொல் பாதுகாக்கும்."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"உங்கள் மொபைலில் சேமிக்கப்பட்டுள்ள, \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' உடன் தொடர்புடைய கைரேகைப் படங்களையும் பதிவையும் இது நீக்கும்"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"உங்கள் டேப்லெட்டில் சேமிக்கப்பட்டுள்ள, \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' உடன் தொடர்புடைய கைரேகைப் படங்களையும் பதிவுவையும் இது நீக்கும்"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"இந்தச் சாதனத்தில் சேமித்து வைக்கப்பட்டிருக்கும் \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' உடன் தொடர்புடைய கைரேகைப் படங்களையும் பதிவுகளையும் இது நீக்கிவிடும்"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"ஆடியோ ஸ்ட்ரீமைக் கேட்க, LE ஆடியோவை ஆதரிக்கும் ஹெட்ஃபோன்களை இந்த மொபைலுடன் முதலில் இணைக்கவும்."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"ஆடியோ ஸ்ட்ரீமைக் கேட்க, LE ஆடியோவை ஆதரிக்கும் ஹெட்ஃபோன்களை இந்த டேப்லெட்டுடன் முதலில் இணைக்கவும்."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"ஆடியோ ஸ்ட்ரீமைக் கேட்க, LE ஆடியோவை ஆதரிக்கும் ஹெட்ஃபோன்களை இந்தச் சாதனத்துடன் முதலில் இணைக்கவும்."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"ஆடியோ ஸ்ட்ரீமைக் கேட்க, LE ஆடியோவை ஆதரிக்கும் ஹெட்ஃபோன்களை இந்த மொபைலுடன் முதலில் இணைக்கவும். "<annotation id="link">"மேலும் தெரிந்துகொள்ளுங்கள்"</annotation>"."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"ஆடியோ ஸ்ட்ரீமைக் கேட்க, LE ஆடியோவை ஆதரிக்கும் ஹெட்ஃபோன்களை இந்த டேப்லெட்டுடன் முதலில் இணைக்கவும். "<annotation id="link">"மேலும் தெரிந்துகொள்ளுங்கள்"</annotation>"."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"ஆடியோ ஸ்ட்ரீமைக் கேட்க, LE ஆடியோவை ஆதரிக்கும் ஹெட்ஃபோன்களை இந்தச் சாதனத்துடன் முதலில் இணைக்கவும். "<annotation id="link">"மேலும் தெரிந்துகொள்ளுங்கள்"</annotation>"."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"ஆடியோ ஸ்ட்ரீம்களைக் கேட்கத் தேவைப்படும் LE ஆடியோவை இந்த மொபைல் ஆதரிக்காது."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"ஆடியோ ஸ்ட்ரீம்களைக் கேட்கத் தேவைப்படும் LE ஆடியோவை இந்த டேப்லெட் ஆதரிக்காது."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"ஆடியோ ஸ்ட்ரீம்களைக் கேட்கத் தேவைப்படும் LE ஆடியோவை இந்தச் சாதனம் ஆதரிக்காது."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"ஆடியோ பகிர்வைத் தொடங்க, முதலில் உங்கள் மொபைலுடன் LE ஆடியோ ஹெட்ஃபோன்களை இணைக்கவும். "<annotation id="link">"இணக்கமான சாதனங்களைப் பற்றி மேலும் தெரிந்துகொள்ளுங்கள்"</annotation>"."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"ஆடியோ பகிர்வைத் தொடங்க, முதலில் உங்கள் டேப்லெட்டுடன் LE ஆடியோ ஹெட்ஃபோன்களை இணைக்கவும். "<annotation id="link">"இணக்கமான சாதனங்களைப் பற்றி மேலும் தெரிந்துகொள்ளுங்கள்"</annotation>"."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"ஆடியோ பகிர்வைத் தொடங்க, முதலில் உங்கள் சாதனத்துடன் LE ஆடியோ ஹெட்ஃபோன்களை இணைக்கவும். "<annotation id="link">"இணக்கமான சாதனங்களைப் பற்றி மேலும் தெரிந்துகொள்ளுங்கள்"</annotation>"."</string>
 </resources>
diff --git a/res-product/values-te/strings.xml b/res-product/values-te/strings.xml
index 3d9ea17..efb7020 100644
--- a/res-product/values-te/strings.xml
+++ b/res-product/values-te/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"ఫేస్ అన్‌లాక్‌ను సెటప్ చేయడానికి PIN అవసరం.\n\nఫోన్ పోయినా లేదా దొంగిలించబడినా దాన్ని PIN రక్షిస్తుంది."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"ఫేస్ అన్‌లాక్‌ను సెటప్ చేయడానికి ఆకృతి అవసరం.\n\nఫోన్ పోయినా లేదా దొంగిలించబడినా దాన్ని ఆకృతి రక్షిస్తుంది."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"ఫేస్ అన్‌లాక్‌ను సెటప్ చేయడానికి పాస్‌వర్డ్ అవసరం.\n\nఫోన్ పోయినా లేదా దొంగిలించబడినా దాన్ని పాస్‌వర్డ్ రక్షిస్తుంది."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"ఫేస్ అన్‌లాక్, వేలిముద్ర అన్‌లాక్‌ను సెటప్ చేయడానికి PIN అవసరం.\n\nటాబ్లెట్ పోయినా లేదా దొంగిలించబడినా దాన్ని PIN రక్షిస్తుంది."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"ఫేస్ అన్‌లాక్, వేలిముద్ర అన్‌లాక్‌ను సెటప్ చేయడానికి ఆకృతి అవసరం.\n\nటాబ్లెట్ పోయినా లేదా దొంగిలించబడినా దాన్ని ఆకృతి రక్షిస్తుంది."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"ఫేస్ అన్‌లాక్, వేలిముద్ర అన్‌లాక్‌ను సెటప్ చేయడానికి పాస్‌వర్డ్ అవసరం.\n\nటాబ్లెట్ పోయినా లేదా దొంగిలించబడినా దాన్ని పాస్‌వర్డ్ రక్షిస్తుంది."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"ఫేస్ అన్‌లాక్, వేలిముద్ర అన్‌లాక్‌ను సెటప్ చేయడానికి PIN అవసరం.\n\nపరికరం పోయినా లేదా దొంగిలించబడినా దాన్ని PIN రక్షిస్తుంది."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"ఫేస్ అన్‌లాక్, వేలిముద్ర అన్‌లాక్‌ను సెటప్ చేయడానికి ఆకృతి అవసరం.\n\nపరికరం పోయినా లేదా దొంగిలించబడినా దాన్ని ఆకృతి రక్షిస్తుంది."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"ఫేస్ అన్‌లాక్, వేలిముద్ర అన్‌లాక్‌లను సెటప్ చేయడానికి పాస్‌వర్డ్ అవసరం.\n\nపరికరం పోయినా లేదా దొంగిలించబడినా, పాస్‌వర్డ్ దాన్ని రక్షిస్తుంది."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"ఫేస్ అన్‌లాక్, వేలిముద్ర అన్‌లాక్‌ను సెటప్ చేయడానికి PIN అవసరం.\n\nఫోన్ పోయినా లేదా దొంగిలించబడినా దాన్ని PIN రక్షిస్తుంది."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"ఫేస్ అన్‌లాక్, వేలిముద్ర అన్‌లాక్‌ను సెటప్ చేయడానికి ఆకృతి అవసరం.\n\nఫోన్ పోయినా లేదా దొంగిలించబడినా దాన్ని ఆకృతి రక్షిస్తుంది."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"ఫేస్ అన్‌లాక్, వేలిముద్ర అన్‌లాక్‌ను సెటప్ చేయడానికి పాస్‌వర్డ్ అవసరం.\n\nఫోన్ పోయినా లేదా దొంగిలించబడినా దాన్ని పాస్‌వర్డ్ రక్షిస్తుంది."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"వేలిముద్ర అన్‌లాక్, ఫేస్ అన్‌లాక్‌ను సెటప్ చేయడానికి PIN అవసరం.\n\nటాబ్లెట్‌ను పోగొట్టుకున్నా లేదా ఎవరైనా దానిని దొంగిలించినా, PIN దానిని రక్షిస్తుంది."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"వేలిముద్ర అన్‌లాక్, ఫేస్ అన్‌లాక్‌ను సెటప్ చేయడానికి ఆకృతి అవసరం.\n\nటాబ్లెట్‌ను పోగొట్టుకున్నా లేదా ఎవరైనా దానిని దొంగిలించినా, ఆకృతి దానిని రక్షిస్తుంది."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"వేలిముద్ర అన్‌లాక్, వేలిముద్ర అన్‌లాక్‌ను సెటప్ చేయడానికి పాస్‌వర్డ్ అవసరం.\n\nటాబ్లెట్‌ను పోగొట్టుకున్నా లేదా ఎవరైనా దానిని దొంగిలించినా, పాస్‌వర్డ్ దానిని రక్షిస్తుంది."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"వేలిముద్ర అన్‌లాక్, ఫేస్ అన్‌లాక్‌ను సెటప్ చేయడానికి PIN అవసరం.\n\nపరికరాన్ని పోగొట్టుకున్నా లేదా ఎవరైనా దానిని దొంగిలించినా, PIN దానిని రక్షిస్తుంది."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"వేలిముద్ర అన్‌లాక్, ఫేస్ అన్‌లాక్‌ను సెటప్ చేయడానికి ఆకృతి అవసరం.\n\nపరికరాన్ని పోగొట్టుకున్నా లేదా ఎవరైనా దానిని దొంగిలించినా, ఆకృతి దానిని రక్షిస్తుంది."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"వేలిముద్ర అన్‌లాక్, ఫేస్ అన్‌లాక్‌ను సెటప్ చేయడానికి పాస్‌వర్డ్ అవసరం.\n\nపరికరాన్ని పోగొట్టుకున్నా లేదా ఎవరైనా దానిని దొంగిలించినా, పాస్‌వర్డ్ దానిని రక్షిస్తుంది."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"వేలిముద్ర అన్‌లాక్, ఫేస్ అన్‌లాక్‌ను సెటప్ చేయడానికి PIN అవసరం.\n\nఫోన్‌ను పోగొట్టుకున్నా లేదా ఎవరైనా దానిని దొంగిలించినా, PIN దానిని రక్షిస్తుంది."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"వేలిముద్ర అన్‌లాక్, ఫేస్ అన్‌లాక్‌ను సెటప్ చేయడానికి ఆకృతి అవసరం.\n\nఫోన్‌ను పోగొట్టుకున్నా లేదా ఎవరైనా దానిని దొంగిలించినా, ఆకృతి దానిని రక్షిస్తుంది."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"వేలిముద్ర అన్‌లాక్, ఫేస్ అన్‌లాక్‌ను సెటప్ చేయడానికి పాస్‌వర్డ్ అవసరం.\n\nఫోన్‌ను పోగొట్టుకున్నా లేదా ఎవరైనా దానిని దొంగిలించినా, పాస్‌వర్డ్ దానిని రక్షిస్తుంది."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"ఇది మీ ఫోన్‌లో స్టోర్ చేయబడిన \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'తో అనుబంధించబడిన వేలిముద్ర ఇమేజ్‌లను, మోడల్‌ను తొలగిస్తుంది"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"ఇది మీ టాబ్లెట్‌లో స్టోర్ చేయబడిన \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'తో అనుబంధించబడిన వేలిముద్ర ఇమేజ్‌లను, మోడల్‌ను తొలగిస్తుంది"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"ఇది మీ పరికరంలో స్టోర్ చేయబడిన \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'తో అనుబంధించబడిన వేలిముద్ర ఇమేజ్‌లను, మోడల్‌ను తొలగిస్తుంది"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"ఆడియో స్ట్రీమ్‌ను వినడానికి, ముందుగా ఈ ఫోన్‌కు LE ఆడియోకు సపోర్ట్ చేసే హెడ్‌ఫోన్స్‌ను కనెక్ట్ చేయండి."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"ఆడియో స్ట్రీమ్‌ను వినడానికి, ముందుగా ఈ టాబ్లెట్‌కు LE ఆడియోకు సపోర్ట్ చేసే హెడ్‌ఫోన్స్‌ను కనెక్ట్ చేయండి."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"ఆడియో స్ట్రీమ్‌ను వినడానికి, ముందుగా ఈ పరికరానికి LE ఆడియోకు సపోర్ట్ చేసే హెడ్‌ఫోన్స్‌ను కనెక్ట్ చేయండి."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"ఆడియో స్ట్రీమ్‌ను వినడానికి, ముందుగా ఈ ఫోన్‌కు LE ఆడియోకు సపోర్ట్ చేసే హెడ్‌ఫోన్స్‌ను కనెక్ట్ చేయండి. "<annotation id="link">"మరింత తెలుసుకోండి"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"ఆడియో స్ట్రీమ్‌ను వినడానికి, ముందుగా ఈ టాబ్లెట్‌కు LE ఆడియోకు సపోర్ట్ చేసే హెడ్‌ఫోన్స్‌ను కనెక్ట్ చేయండి. "<annotation id="link">"మరింత తెలుసుకోండి"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"ఆడియో స్ట్రీమ్‌ను వినడానికి, ముందుగా ఈ పరికరానికి LE ఆడియోకు సపోర్ట్ చేసే హెడ్‌ఫోన్స్‌ను కనెక్ట్ చేయండి. "<annotation id="link">"మరింత తెలుసుకోండి"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"ఆడియో స్ట్రీమ్‌లను వినడానికి అవసరమైన LE ఆడియోకు ఈ ఫోన్ సపోర్ట్ చేయదు."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"ఆడియో స్ట్రీమ్‌లను వినడానికి అవసరమైన LE ఆడియోకు ఈ టాబ్లెట్ సపోర్ట్ చేయదు."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"ఆడియో స్ట్రీమ్‌లను వినడానికి అవసరమైన LE ఆడియోకు ఈ పరికరం సపోర్ట్ చేయదు."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"ఆడియోను షేర్ చేయడానికి, ముందుగా మీ ఫోన్‌కు LE ఆడియో హెడ్‌ఫోన్స్‌ను కనెక్ట్ చేయండి. "<annotation id="link">"అనుకూల పరికరాల గురించి మరింత తెలుసుకోండి"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"ఆడియోను షేర్ చేయడానికి, ముందుగా మీ టాబ్లెట్‌కు LE ఆడియో హెడ్‌ఫోన్స్‌ను కనెక్ట్ చేయండి. "<annotation id="link">"అనుకూల పరికరాల గురించి మరింత తెలుసుకోండి"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"ఆడియోను షేర్ చేయడానికి, ముందుగా మీ పరికరానికి LE ఆడియో హెడ్‌ఫోన్స్‌ను కనెక్ట్ చేయండి. "<annotation id="link">"అనుకూల పరికరాల గురించి మరింత తెలుసుకోండి"</annotation></string>
 </resources>
diff --git a/res-product/values-th/strings.xml b/res-product/values-th/strings.xml
index 0655b5d..0e4ee23 100644
--- a/res-product/values-th/strings.xml
+++ b/res-product/values-th/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"ต้องมี PIN เพื่อตั้งค่าการปลดล็อกด้วยใบหน้า\n\nPIN จะช่วยปกป้องโทรศัพท์ในกรณีที่สูญหายหรือถูกขโมย"</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"ต้องมีรูปแบบเพื่อตั้งค่าการปลดล็อกด้วยใบหน้า\n\nรูปแบบจะช่วยปกป้องโทรศัพท์ในกรณีที่สูญหายหรือถูกขโมย"</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"ต้องมีรหัสผ่านเพื่อตั้งค่าการปลดล็อกด้วยใบหน้า\n\nรหัสผ่านจะช่วยปกป้องโทรศัพท์ในกรณีที่สูญหายหรือถูกขโมย"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"ต้องมี PIN เพื่อตั้งค่าการปลดล็อกด้วยใบหน้าและลายนิ้วมือ\n\nPIN จะช่วยปกป้องแท็บเล็ตในกรณีที่สูญหายหรือถูกขโมย"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"ต้องมีรูปแบบเพื่อตั้งค่าการปลดล็อกด้วยใบหน้าและลายนิ้วมือ\n\nรูปแบบจะช่วยปกป้องแท็บเล็ตในกรณีที่สูญหายหรือถูกขโมย"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"ต้องมีรหัสผ่านเพื่อตั้งค่าการปลดล็อกด้วยใบหน้าและลายนิ้วมือ\n\nรหัสผ่านจะช่วยปกป้องแท็บเล็ตในกรณีที่สูญหายหรือถูกขโมย"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"ต้องมี PIN เพื่อตั้งค่าการปลดล็อกด้วยใบหน้าและลายนิ้วมือ\n\nPIN จะช่วยปกป้องอุปกรณ์ในกรณีที่สูญหายหรือถูกขโมย"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"ต้องมีรูปแบบเพื่อตั้งค่าการปลดล็อกด้วยใบหน้าและลายนิ้วมือ\n\nรูปแบบจะช่วยปกป้องอุปกรณ์ในกรณีที่สูญหายหรือถูกขโมย"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"ต้องมีรหัสผ่านเพื่อตั้งค่าการปลดล็อกด้วยใบหน้าและลายนิ้วมือ\n\nรหัสผ่านจะช่วยปกป้องอุปกรณ์ในกรณีที่สูญหายหรือถูกขโมย"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"ต้องมี PIN เพื่อตั้งค่าการปลดล็อกด้วยใบหน้าและลายนิ้วมือ\n\nPIN จะช่วยปกป้องโทรศัพท์ในกรณีที่สูญหายหรือถูกขโมย"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"ต้องมีรูปแบบเพื่อตั้งค่าการปลดล็อกด้วยใบหน้าและลายนิ้วมือ\n\nรูปแบบจะช่วยปกป้องโทรศัพท์ในกรณีที่สูญหายหรือถูกขโมย"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"ต้องมีรหัสผ่านเพื่อตั้งค่าการปลดล็อกด้วยใบหน้าและลายนิ้วมือ\n\nรหัสผ่านจะช่วยปกป้องโทรศัพท์ในกรณีที่สูญหายหรือถูกขโมย"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"ต้องมี PIN เพื่อตั้งค่าการปลดล็อกด้วยลายนิ้วมือและการปลดล็อกด้วยใบหน้า\n\nPIN จะช่วยปกป้องแท็บเล็ตในกรณีที่สูญหายหรือถูกขโมย"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"ต้องมีรูปแบบเพื่อตั้งค่าการปลดล็อกด้วยลายนิ้วมือและการปลดล็อกด้วยใบหน้า\n\nรูปแบบจะช่วยปกป้องแท็บเล็ตในกรณีที่สูญหายหรือถูกขโมย"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"ต้องมีรหัสผ่านเพื่อตั้งค่าการปลดล็อกด้วยลายนิ้วมือและการปลดล็อกด้วยใบหน้า\n\nรหัสผ่านจะช่วยปกป้องแท็บเล็ตในกรณีที่สูญหายหรือถูกขโมย"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"ต้องมี PIN เพื่อตั้งค่าการปลดล็อกด้วยลายนิ้วมือและการปลดล็อกด้วยใบหน้า\n\nPIN จะช่วยปกป้องอุปกรณ์ในกรณีที่สูญหายหรือถูกขโมย"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"ต้องมีรูปแบบเพื่อตั้งค่าการปลดล็อกด้วยลายนิ้วมือและการปลดล็อกด้วยใบหน้า\n\nรูปแบบจะช่วยปกป้องอุปกรณ์ในกรณีที่สูญหายหรือถูกขโมย"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"ต้องมีรหัสผ่านเพื่อตั้งค่าการปลดล็อกด้วยลายนิ้วมือและการปลดล็อกด้วยใบหน้า\n\nรหัสผ่านจะช่วยปกป้องอุปกรณ์ในกรณีที่สูญหายหรือถูกขโมย"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"ต้องมี PIN เพื่อตั้งค่าการปลดล็อกด้วยลายนิ้วมือและการปลดล็อกด้วยใบหน้า\n\nPIN จะช่วยปกป้องโทรศัพท์ในกรณีที่สูญหายหรือถูกขโมย"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"ต้องมีรูปแบบเพื่อตั้งค่าการปลดล็อกด้วยลายนิ้วมือและการปลดล็อกด้วยใบหน้า\n\nรูปแบบจะช่วยปกป้องโทรศัพท์ในกรณีที่สูญหายหรือถูกขโมย"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"ต้องมีรหัสผ่านเพื่อตั้งค่าการปลดล็อกด้วยลายนิ้วมือและการปลดล็อกด้วยใบหน้า\n\nรหัสผ่านจะช่วยปกป้องโทรศัพท์ในกรณีที่สูญหายหรือถูกขโมย"</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"การดำเนินการนี้จะลบรูปภาพและรูปแบบลายนิ้วมือที่เชื่อมโยงกับ \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" ซึ่งจัดเก็บในโทรศัพท์ของคุณ"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"การดำเนินการนี้จะลบรูปภาพและรูปแบบลายนิ้วมือที่เชื่อมโยงกับ \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" ซึ่งจัดเก็บในแท็บเล็ตของคุณ"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"การดำเนินการนี้จะลบรูปภาพและรูปแบบลายนิ้วมือที่เชื่อมโยงกับ \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" ซึ่งจัดเก็บในอุปกรณ์ของคุณ"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"หากต้องการฟังสตรีมเสียง โปรดเชื่อมต่อหูฟังที่รองรับ LE Audio กับโทรศัพท์เครื่องนี้ก่อน"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"หากต้องการฟังสตรีมเสียง โปรดเชื่อมต่อหูฟังที่รองรับ LE Audio กับแท็บเล็ตเครื่องนี้ก่อน"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"หากต้องการฟังสตรีมเสียง โปรดเชื่อมต่อหูฟังที่รองรับ LE Audio กับอุปกรณ์เครื่องนี้ก่อน"</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"หากต้องการฟังสตรีมเสียง โปรดเชื่อมต่อหูฟังที่รองรับ LE Audio กับโทรศัพท์เครื่องนี้ก่อน "<annotation id="link">"ดูข้อมูลเพิ่มเติม"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"หากต้องการฟังสตรีมเสียง โปรดเชื่อมต่อหูฟังที่รองรับ LE Audio กับแท็บเล็ตเครื่องนี้ก่อน "<annotation id="link">"ดูข้อมูลเพิ่มเติม"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"หากต้องการฟังสตรีมเสียง โปรดเชื่อมต่อหูฟังที่รองรับ LE Audio กับอุปกรณ์เครื่องนี้ก่อน "<annotation id="link">"ดูข้อมูลเพิ่มเติม"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"โทรศัพท์เครื่องนี้ไม่รองรับ LE Audio ซึ่งจำเป็นสำหรับการฟังสตรีมเสียง"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"แท็บเล็ตเครื่องนี้ไม่รองรับ LE Audio ซึ่งจำเป็นสำหรับการฟังสตรีมเสียง"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"อุปกรณ์เครื่องนี้ไม่รองรับ LE Audio ซึ่งจำเป็นสำหรับการฟังสตรีมเสียง"</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"หากต้องการเริ่มแชร์เสียง ให้เชื่อมต่อหูฟัง LE Audio กับโทรศัพท์ก่อน "<annotation id="link">"ดูข้อมูลเพิ่มเติมเกี่ยวกับอุปกรณ์ที่เข้ากันได้"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"หากต้องการเริ่มแชร์เสียง ให้เชื่อมต่อหูฟัง LE Audio กับแท็บเล็ตก่อน "<annotation id="link">"ดูข้อมูลเพิ่มเติมเกี่ยวกับอุปกรณ์ที่เข้ากันได้"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"หากต้องการเริ่มแชร์เสียง ให้เชื่อมต่อหูฟัง LE Audio กับอุปกรณ์ก่อน "<annotation id="link">"ดูข้อมูลเพิ่มเติมเกี่ยวกับอุปกรณ์ที่เข้ากันได้"</annotation></string>
 </resources>
diff --git a/res-product/values-tl/strings.xml b/res-product/values-tl/strings.xml
index 472cf0a..15c8dc1 100644
--- a/res-product/values-tl/strings.xml
+++ b/res-product/values-tl/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Kinakailangan ang PIN para ma-set up ang Pag-unlock Gamit ang Mukha.\n\nPinoprotektahan ng PIN ang telepono kung mawala o manakaw ito."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Kinakailangan ang pattern para ma-set up ang Pag-unlock Gamit ang Mukha.\n\nPinoprotektahan ng pattern ang telepono kung mawala o manakaw ito."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Kinakailangan ang password para ma-set up ang Pag-unlock Gamit ang Mukha.\n\nPinoprotektahan ng password ang telepono kung mawala o manakaw ito."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Kinakailangan ang PIN para ma-set up ang Pag-unlock Gamit ang Mukha at Pag-unlock Gamit ang Fingerprint.\n\nPinoprotektahan ng PIN ang tablet kung mawala o manakaw ito."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Kinakailangan ang pattern para ma-set up ang Pag-unlock Gamit ang Mukha at Pag-unlock Gamit ang Fingerprint.\n\nPinoprotektahan ng pattern ang tablet kung mawala o manakaw ito."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Kinakailangan ang password para ma-set up ang Pag-unlock Gamit ang Mukha at Pag-unlock Gamit ang Fingerprint.\n\nPinoprotektahan ng password ang tablet kung mawala o manakaw ito."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Kinakailangan ang PIN para ma-set up ang Pag-unlock Gamit ang Mukha at Pag-unlock Gamit ang Fingerprint.\n\nPinoprotektahan ng PIN ang device kung mawala o manakaw ito."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Kinakailangan ang pattern para ma-set up ang Pag-unlock Gamit ang Mukha at Pag-unlock Gamit ang Fingerprint.\n\nPinoprotektahan ng pattern ang device kung mawala o manakaw ito."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Kinakailangan ang password para ma-set up ang Pag-unlock Gamit ang Mukha at Pag-unlock Gamit ang Fingerprint.\n\nPinoprotektahan ng password ang device kung mawala o manakaw ito."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Kinakailangan ang PIN para ma-set up ang Pag-unlock Gamit ang Mukha at Pag-unlock Gamit ang Fingerprint.\n\nPinoprotektahan ng PIN ang telepono kung mawala o manakaw ito."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Kinakailangan ang pattern para ma-set up ang Pag-unlock Gamit ang Mukha at Pag-unlock Gamit ang Fingerprint.\n\nPinoprotektahan ng pattern ang telepono kung mawala o manakaw ito."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Kinakailangan ang password para ma-set up ang Pag-unlock Gamit ang Mukha at Pag-unlock Gamit ang Fingerprint.\n\nPinoprotektahan ng password ang telepono kung mawala o manakaw ito."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Kinakailangan ang PIN para ma-set up ang Pag-unlock Gamit ang Fingerprint at Pag-unlock Gamit ang Mukha.\n\nPinoprotektahan ng PIN ang tablet kung mawala o manakaw ito."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Kinakailangan ang pattern para ma-set up ang Pag-unlock Gamit ang Fingerprint at Pag-unlock Gamit ang Mukha.\n\nPinoprotektahan ng pattern ang tablet kung mawala o manakaw ito."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Kinakailangan ang password para ma-set up ang Pag-unlock Gamit ang Fingerprint at Pag-unlock Gamit ang Mukha.\n\nPinoprotektahan ng password ang tablet kung mawala o manakaw ito."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Kinakailangan ang PIN para ma-set up ang Pag-unlock Gamit ang Fingerprint at Pag-unlock Gamit ang Mukha.\n\nPinoprotektahan ng PIN ang device kung mawala o manakaw ito."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Kinakailangan ang pattern para ma-set up ang Pag-unlock Gamit ang Fingerprint at Pag-unlock Gamit ang Mukha.\n\nPinoprotektahan ng pattern ang device kung mawala o manakaw ito."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Kinakailangan ang password para ma-set up ang Pag-unlock Gamit ang Fingerprint at Pag-unlock Gamit ang Mukha.\n\nPinoprotektahan ng password ang device kung mawala o manakaw ito."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Kinakailangan ang PIN para ma-set up ang Pag-unlock Gamit ang Fingerprint at Pag-unlock Gamit ang Mukha.\n\nPinoprotektahan ng PIN ang telepono kung mawala o manakaw ito."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Kinakailangan ang pattern para ma-set up ang Pag-unlock Gamit ang Fingerprint at Pag-unlock Gamit ang Mukha.\n\nPinoprotektahan ng pattern ang telepono kung mawala o manakaw ito."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Kinakailangan ang password para ma-set up ang Pag-unlock Gamit ang Fingerprint at Pag-unlock Gamit ang Mukha.\n\nPinoprotektahan ng password ang telepono kung mawala o manakaw ito."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Dine-delete nito ang mga larawan at modelo ng fingerprint na nauugnay sa \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' na naka-store sa iyong telepono"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Dine-delete nito ang mga larawan at modelo ng fingerprint na nauugnay sa \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' na naka-store sa iyong tablet"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Dine-delete nito ang mga larawan at modelo ng fingerprint na nauugnay sa \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' na naka-store sa iyong device"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Para makinig sa audio stream, magkonekta muna ng headphones na sumusuporta sa LE Audio sa teleponong ito."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Para makinig sa audio stream, magkonekta muna ng headphones na sumusuporta sa LE Audio sa tablet na ito."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Para makinig sa audio stream, magkonekta muna ng headphones na sumusuporta sa LE Audio sa device na ito."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Para makinig sa audio stream, magkonekta muna ng headphones na sumusuporta sa LE Audio sa teleponong ito. "<annotation id="link">"Matuto pa"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Para makinig sa audio stream, magkonekta muna ng headphones na sumusuporta sa LE Audio sa tablet na ito. "<annotation id="link">"Matuto pa"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Para makinig sa audio stream, magkonekta muna ng headphones na sumusuporta sa LE Audio sa device na ito. "<annotation id="link">"Matuto pa"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Hindi sinusuportahan ng teleponong ito ang LE Audio, na kailangan para makapakinig sa mga audio stream."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Hindi sinusuportahan ng tablet na ito ang LE Audio, na kailangan para makapakinig sa mga audio stream."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Hindi sinusuportahan ng device na ito ang LE Audio, na kailangan para makapakinig sa mga audio stream."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Para magsimulang magbahagi ng audio, ikonekta muna ang LE Audio headphones sa iyong telepono. "<annotation id="link">"Matuto pa tungkol sa mga compatible na device"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Para magsimulang magbahagi ng audio, ikonekta muna ang LE Audio headphones sa iyong tablet. "<annotation id="link">"Matuto pa tungkol sa mga compatible na device"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Para magsimulang magbahagi ng audio, ikonekta muna ang LE Audio headphones sa iyong device. "<annotation id="link">"Matuto pa tungkol sa mga compatible na device"</annotation></string>
 </resources>
diff --git a/res-product/values-tr/strings.xml b/res-product/values-tr/strings.xml
index b3716fd..ae54112 100644
--- a/res-product/values-tr/strings.xml
+++ b/res-product/values-tr/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Yüz Tanıma Kilidi kurulumu için PIN gereklidir.\n\nPIN, kaybolması veya çalınması halinde telefonu korur."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Yüz Tanıma Kilidi kurulumu için desen gereklidir.\n\nDesen, kaybolması veya çalınması halinde telefonu korur."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Yüz Tanıma Kilidi kurulumu için şifre gereklidir.\n\nŞifre, kaybolması veya çalınması halinde telefonu korur."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Yüz Tanıma Kilidi ve Parmak İzi Kilidi kurulumu için PIN gereklidir.\n\nPIN, kaybolması veya çalınması halinde tableti korur."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Yüz Tanıma Kilidi ve Parmak İzi Kilidi kurulumu için desen gereklidir.\n\nDesen, kaybolması veya çalınması halinde tableti korur."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Yüz Tanıma Kilidi ve Parmak İzi Kilidi kurulumu için şifre gereklidir.\n\nŞifre, kaybolması veya çalınması halinde tableti korur."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Yüz Tanıma Kilidi ve Parmak İzi Kilidi kurulumu için PIN gereklidir.\n\nPIN, kaybolması veya çalınması halinde cihazı korur."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Yüz Tanıma Kilidi ve Parmak İzi Kilidi kurulumu için desen gereklidir.\n\nDesen, kaybolması veya çalınması halinde cihazı korur."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Yüz Tanıma Kilidi ve Parmak İzi Kilidi kurulumu için şifre gereklidir.\n\nŞifre, kaybolması veya çalınması halinde cihazı korur."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Yüz Tanıma Kilidi ve Parmak İzi Kilidi kurulumu için PIN gereklidir.\n\nPIN, kaybolması veya çalınması halinde telefonu korur."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Yüz Tanıma Kilidi ve Parmak İzi Kilidi kurulumu için desen gereklidir.\n\nDesen, kaybolması veya çalınması halinde telefonu korur."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Yüz Tanıma Kilidi ve Parmak İzi Kilidi kurulumu için şifre gereklidir.\n\nŞifre, kaybolması veya çalınması halinde telefonu korur."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Parmak İzi Kilidi ve Yüz Tanıma Kilidi kurulumu için PIN gereklidir.\n\nPIN, kaybolması veya çalınması halinde tableti korur."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Parmak İzi Kilidi ve Yüz Tanıma Kilidi kurulumu için desen gereklidir.\n\nDesen, kaybolması veya çalınması halinde tableti korur."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Parmak İzi Kilidi ve Yüz Tanıma Kilidi kurulumu için şifre gereklidir.\n\nŞifre, kaybolması veya çalınması halinde tableti korur."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Parmak İzi Kilidi ve Yüz Tanıma Kilidi kurulumu için PIN gereklidir.\n\nPIN, kaybolması veya çalınması halinde cihazı korur."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Parmak İzi Kilidi ve Yüz Tanıma Kilidi kurulumu için desen gereklidir.\n\nDesen, kaybolması veya çalınması halinde cihazı korur."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Parmak İzi Kilidi ve Yüz Tanıma Kilidi kurulumu için şifre gereklidir.\n\nŞifre, kaybolması veya çalınması halinde cihazı korur."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Parmak İzi Kilidi ve Yüz Tanıma Kilidi kurulumu için PIN gereklidir.\n\nPIN, kaybolması veya çalınması halinde telefonu korur."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Parmak İzi Kilidi ve Yüz Tanıma Kilidi kurulumu için desen gereklidir.\n\nDesen, kaybolması veya çalınması halinde telefonu korur."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Parmak İzi Kilidi ve Yüz Tanıma Kilidi kurulumu için şifre gereklidir.\n\nŞifre, kaybolması veya çalınması halinde telefonu korur."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Bu işlem, telefonunuzda saklanan \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" ile ilişkilendirilmiş parmak izi resimlerini ve modeli siler"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Bu işlem, tabletinizde saklanan \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" ile ilişkilendirilmiş parmak izi resimlerini ve modeli siler"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Bu işlem, cihazınızda saklanan \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" ile ilişkilendirilmiş parma izi resimlerini ve modeli siler"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Ses yayını dinlemek için önce LE Audio destekleyen bir kulaklığı bu telefona bağlayın."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Ses yayını dinlemek için önce LE Audio destekleyen bir kulaklığı bu tablete bağlayın."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Ses yayını dinlemek için önce LE Audio destekleyen bir kulaklığı bu cihaza bağlayın."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Ses yayını dinlemek için önce LE Audio destekleyen bir kulaklığı bu telefona bağlayın. "<annotation id="link">"Daha fazla bilgi edinin"</annotation>"."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Ses yayını dinlemek için önce LE Audio destekleyen bir kulaklığı bu tablete bağlayın. "<annotation id="link">"Daha fazla bilgi edinin"</annotation>"."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Ses yayını dinlemek için önce LE Audio destekleyen bir kulaklığı bu cihaza bağlayın. "<annotation id="link">"Daha fazla bilgi edinin"</annotation>"."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Bu telefon, ses yayınlarını dinlemek için gereken LE Audio\'yu desteklemiyor."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Bu tablet, ses yayınlarını dinlemek için gereken LE Audio\'yu desteklemiyor."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Bu cihaz, ses yayınlarını dinlemek için gereken LE Audio\'yu desteklemiyor."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Ses paylaşmaya başlamak için önce LE Audio kulaklığınızı telefonunuza bağlayın. "<annotation id="link">"Uyumlu cihazlar hakkında daha fazla bilgi edinin"</annotation>"."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Ses paylaşmaya başlamak için önce LE Audio kulaklığınızı tabletinize bağlayın. "<annotation id="link">"Uyumlu cihazlar hakkında daha fazla bilgi edinin"</annotation>"."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Ses paylaşmaya başlamak için önce LE Audio kulaklığınızı cihazınıza bağlayın "<annotation id="link">"Uyumlu cihazlar hakkında daha fazla bilgi edinin"</annotation>"."</string>
 </resources>
diff --git a/res-product/values-uk/strings.xml b/res-product/values-uk/strings.xml
index ce7d950..3a248a5 100644
--- a/res-product/values-uk/strings.xml
+++ b/res-product/values-uk/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Щоб налаштувати фейс-контроль, потрібен PIN-код.\n\nВін захищає телефон у разі його втрати чи викрадення."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Щоб налаштувати фейс-контроль, потрібен ключ.\n\nВін захищає телефон у разі його втрати чи викрадення."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Щоб налаштувати фейс-контроль, потрібен пароль.\n\nВін захищає телефон у разі його втрати чи викрадення."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Щоб налаштувати фейс-контроль або розблокування відбитком пальця, потрібен PIN-код.\n\nВін захищає планшет у разі його втрати чи викрадення."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Щоб налаштувати фейс-контроль або розблокування відбитком пальця, потрібен ключ.\n\nВін захищає планшет у разі його втрати чи викрадення."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Щоб налаштувати фейс-контроль або розблокування відбитком пальця, потрібен пароль.\n\nВін захищає планшет у разі його втрати чи викрадення."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Щоб налаштувати фейс-контроль або розблокування відбитком пальця, потрібен PIN-код.\n\nВін захищає пристрій у разі його втрати чи викрадення."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Щоб налаштувати фейс-контроль або розблокування відбитком пальця, потрібен ключ.\n\nВін захищає пристрій у разі його втрати чи викрадення."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Щоб налаштувати фейс-контроль або розблокування відбитком пальця, потрібен пароль.\n\nВін захищає пристрій у разі його втрати чи викрадення."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Щоб налаштувати фейс-контроль або розблокування відбитком пальця, потрібен PIN-код.\n\nВін захищає телефон у разі його втрати чи викрадення."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Щоб налаштувати фейс-контроль або розблокування відбитком пальця, потрібен ключ.\n\nВін захищає телефон у разі його втрати чи викрадення."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Щоб налаштувати фейс-контроль або розблокування відбитком пальця, потрібен пароль.\n\nВін захищає телефон у разі його втрати чи викрадення."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Щоб налаштувати розблокування відбитком пальця або фейс-контроль, потрібен PIN-код.\n\nВін захищає планшет у разі його втрати чи викрадення."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Щоб налаштувати розблокування відбитком пальця або фейс-контроль, потрібен ключ.\n\nВін захищає планшет у разі його втрати чи викрадення."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Щоб налаштувати розблокування відбитком пальця або фейс-контроль, потрібен пароль.\n\nВін захищає планшет у разі його втрати чи викрадення."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Щоб налаштувати розблокування відбитком пальця або фейс-контроль, потрібен PIN-код.\n\nВін захищає пристрій у разі його втрати чи викрадення."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Щоб налаштувати розблокування відбитком пальця або фейс-контроль, потрібен ключ.\n\nВін захищає пристрій у разі його втрати чи викрадення."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Щоб налаштувати розблокування відбитком пальця або фейс-контроль, потрібен пароль.\n\nВін захищає пристрій у разі його втрати чи викрадення."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Щоб налаштувати розблокування відбитком пальця або фейс-контроль, потрібен PIN-код.\n\nВін захищає телефон у разі його втрати чи викрадення."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Щоб налаштувати розблокування відбитком пальця або фейс-контроль, потрібен ключ.\n\nВін захищає телефон у разі його втрати чи викрадення."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Щоб налаштувати розблокування відбитком пальця або фейс-контроль, потрібен пароль.\n\nВін захищає телефон у разі його втрати чи викрадення."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Буде видалено зображення й модель відбитка пальця \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\", що зберігаються на вашому телефоні"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Буде видалено зображення й модель відбитка пальця \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\", що зберігаються на вашому планшеті"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Буде видалено зображення й модель відбитка пальця \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\", що зберігаються на вашому пристрої"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Щоб слухати потокове аудіо, спершу підключіть до цього телефона навушники, що підтримують LE Audio."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Щоб слухати потокове аудіо, спершу підключіть до цього планшета навушники, що підтримують LE Audio."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Щоб слухати потокове аудіо, спершу підключіть до цього пристрою навушники, що підтримують LE Audio."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Щоб слухати потокове аудіо, спершу підключіть до цього телефона навушники, що підтримують LE Audio. "<annotation id="link">"Докладніше"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Щоб слухати потокове аудіо, спершу підключіть до цього планшета навушники, що підтримують LE Audio. "<annotation id="link">"Докладніше"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Щоб слухати потокове аудіо, спершу підключіть до цього пристрою навушники, що підтримують LE Audio. "<annotation id="link">"Докладніше"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Цей телефон не підтримує LE Audio, а тому ви не можете слухати потокове аудіо."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Цей планшет не підтримує LE Audio, а тому ви не можете слухати потокове аудіо."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Цей пристрій не підтримує LE Audio, а тому ви не можете слухати потокове аудіо."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Щоб почати надсилати аудіо, спершу підключіть навушники LE Audio до телефона. "<annotation id="link">"Докладніше про сумісні пристрої"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Щоб почати надсилати аудіо, спершу підключіть навушники LE Audio до планшета. "<annotation id="link">"Докладніше про сумісні пристрої"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Щоб почати надсилати аудіо, спершу підключіть навушники LE Audio до пристрою. "<annotation id="link">"Докладніше про сумісні пристрої"</annotation></string>
 </resources>
diff --git a/res-product/values-ur/strings.xml b/res-product/values-ur/strings.xml
index 5a09737..83008da 100644
--- a/res-product/values-ur/strings.xml
+++ b/res-product/values-ur/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"‏فیس اَنلاک سیٹ اپ کرنے کے لیے PIN درکار ہوتا ہے۔\n\n‫PIN فون کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"فیس اَنلاک سیٹ اپ کرنے کے لیے پیٹرن درکار ہوتا ہے۔\n\nپیٹرن فون کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"فیس اَنلاک سیٹ اپ کرنے کے لیے پاس ورڈ درکار ہوتا ہے۔\n\nپاس ورڈ فون کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"‏فیس اَنلاک اور فنگر پرنٹ اَن لاک کو سیٹ اپ کرنے کے لیے PIN درکار ہوتا ہے۔\n\nPIN ٹیبلیٹ کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"فیس اَنلاک اور فنگر پرنٹ اَن لاک کو سیٹ اپ کرنے کے لیے پیٹرن درکار ہوتا ہے۔\n\nپیٹرن ٹیبلیٹ کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"فیس اَنلاک اور فنگر پرنٹ اَن لاک کو سیٹ اپ کرنے کے لیے پاس ورڈ درکار ہوتا ہے۔\n\nپاس ورڈ ٹیبلیٹ کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"‏فیس اَنلاک اور فنگر پرنٹ اَن لاک کو سیٹ اپ کرنے کے لیے PIN درکار ہوتا ہے۔\n\nPIN آلے کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"فیس اَنلاک اور فنگر پرنٹ اَن لاک کو سیٹ اپ کرنے کے لیے پیٹرن درکار ہوتا ہے۔\n\nپیٹرن آلے کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"فیس اَنلاک اور فنگر پرنٹ اَن لاک کو سیٹ اپ کرنے کے لیے پاس ورڈ درکار ہوتا ہے۔\n\nپاس ورڈ آلے کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"‏فیس اَنلاک اور فنگر پرنٹ اَنلاک کو سیٹ اپ کرنے کے لیے PIN درکار ہوتا ہے۔\n\n‫PIN فون کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"فیس اَنلاک اور فنگر پرنٹ اَن لاک کو سیٹ اپ کرنے کے لیے پیٹرن درکار ہوتا ہے۔\n\nپیٹرن فون کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"فیس اَنلاک اور فنگر پرنٹ اَن لاک کو سیٹ اپ کرنے کے لیے پاس ورڈ درکار ہوتا ہے۔\n\nپاس ورڈ فون کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"‏فنگر پرنٹ ان لاک اور فیس اَنلاک کو سیٹ اپ کرنے کے لیے PIN درکار ہوتا ہے۔\n\nPIN ٹیبلیٹ کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"فنگر پرنٹ ان لاک اور فیس اَنلاک کو سیٹ اپ کرنے کے لیے پیٹرن درکار ہوتا ہے۔\n\nپیٹرن ٹیبلیٹ کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"فنگر پرنٹ ان لاک اور فیس اَنلاک کو سیٹ اپ کرنے کے لیے پاس ورڈ درکار ہوتا ہے۔\n\nپاس ورڈ ٹیبلیٹ کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"‏فنگر پرنٹ ان لاک اور فیس اَنلاک کو سیٹ اپ کرنے کے لیے PIN درکار ہوتا ہے۔\n\nPIN آلے کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"فنگر پرنٹ ان لاک اور فیس ان لاک کو سیٹ اپ کرنے کے لیے پیٹرن درکار ہوتا ہے۔\n\nپیٹرن آلے کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"فیس اَنلاک اور فنگر پرنٹ اَن لاک کو سیٹ اپ کرنے کے لیے پاس ورڈ درکار ہوتا ہے۔\n\nپاس ورڈ آلے کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"‏فنگر پرنٹ ان لاک اور فیس اَنلاک کو سیٹ اپ کرنے کے لیے PIN درکار ہوتا ہے۔\n\n‫PIN فون کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"فنگر پرنٹ ان لاک اور فیس اَنلاک کو سیٹ اپ کرنے کے لیے پیٹرن درکار ہوتا ہے۔\n\nپیٹرن فون کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"فنگر پرنٹ ان لاک اور فیس اَن لاک کو سیٹ اپ کرنے کے لیے پاس ورڈ درکار ہوتا ہے۔\n\nپاس ورڈ فون کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"اس سے آپ کے فون پر اسٹور کردہ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' سے وابستہ فنگر پرنٹ کی تصاویر اور ماڈل حذف ہو جائیں گے"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"اس سے آپ کے ٹیبلیٹ پر اسٹور کردہ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' سے وابستہ فنگر پرنٹ کی تصاویر اور ماڈل حذف ہو جائیں گے"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"اس سے آپ کے آلے پر اسٹور کردہ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' سے وابستہ فنگر پرنٹ کی تصاویر اور ماڈل حذف ہو جائیں گے"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"‏آڈیو سلسلہ سننے کے لیے، پہلے ہیڈ فونز کو اس فون سے منسلک کریں جو LE آڈیو کو سپورٹ کرتے ہیں۔"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"‏آڈیو سلسلہ سننے کے لیے، پہلے ہیڈ فونز کو اس ٹیبلیٹ سے منسلک کریں جو LE آڈیو کو سپورٹ کرتے ہیں۔"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"‏آڈیو سلسلہ سننے کے لیے، پہلے ہیڈ فونز کو اس آلہ سے منسلک کریں جو LE آڈیو کو سپورٹ کرتے ہیں۔"</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"‏آڈیو سلسلہ سننے کے لیے، پہلے LE آڈیو کو سپورٹ کرنے والے ہیڈ فونز کو اس فون سے منسلک کریں۔ "<annotation id="link">"مزید جانیں"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"‏آڈیو سلسلہ سننے کے لیے، پہلے LE آڈیو کو سپورٹ کرنے والے ہیڈ فونز کو اس ٹیبلیٹ سے منسلک کریں۔ "<annotation id="link">"مزید جانیں"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"‏آڈیو سلسلہ سننے کے لیے، پہلے LE آڈیو کو سپورٹ کرنے والے ہیڈ فونز کو اس آلہ سے منسلک کریں۔ "<annotation id="link">"مزید جانیں"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"‏یہ فون LE آڈیو کا تعاون نہیں کرتا ہے، جو آڈیو سلسلوں کو سننے کیلئے درکار ہے۔"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"‏یہ ٹیبلیٹ LE آڈیو کا تعاون نہیں کرتا ہے، جو آڈیو سلسلوں کو سننے کیلئے درکار ہے۔"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"‏یہ آلہ LE آڈیو کا تعاون نہیں کرتا ہے، جو آڈیو سلسلوں کو سننے کیلئے ضروری ہے۔"</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"‏آڈیو کا اشتراک شروع کرنے کے لیے، پہلے LE آڈیو ہیڈ فونز کو اپنے فون سے منسلک کریں۔ "<annotation id="link">"موافق آلات کے بارے میں مزید جانیں"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"‏آڈیو کا اشتراک شروع کرنے کے لیے، پہلے LE آڈیو ہیڈ فونز کو اپنے ٹیبلیٹ سے منسلک کریں۔ "<annotation id="link">"موافق آلات کے بارے میں مزید جانیں"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"‏آڈیو کا اشتراک شروع کرنے کے لیے، پہلے LE آڈیو ہیڈ فونز کو اپنے آلے سے منسلک کریں۔ "<annotation id="link">"موافق آلات کے بارے میں مزید جانیں"</annotation></string>
 </resources>
diff --git a/res-product/values-uz/strings.xml b/res-product/values-uz/strings.xml
index 70f4c8b..e07fb67 100644
--- a/res-product/values-uz/strings.xml
+++ b/res-product/values-uz/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Yuz bilan ochish funksiyalarini sozlash uchun PIN kod belgilanishi zarur.\n\nTelefon yoʻqolib qolsa yoki oʻgʻirlansa, PIN kod undagi maʼlumotlarni himoyalaydi."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Yuz bilan ochish funksiyalarini sozlash uchun grafik kalit belgilanishi zarur.\n\nTelefon yoʻqolib qolsa yoki oʻgʻirlansa, grafik kalit undagi maʼlumotlarni himoyalaydi."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Yuz bilan ochish funksiyalarini sozlash uchun parol belgilanishi zarur.\n\nTelefon yoʻqolib qolsa yoki oʻgʻirlansa, parol undagi maʼlumotlarni himoyalaydi."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Yuz va barmoq izi bilan ochish funksiyalarini sozlash uchun PIN kod belgilanishi zarur.\n\nPlanshet yoʻqolib qolsa yoki oʻgʻirlansa, PIN kod undagi maʼlumotlarni himoyalaydi."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Yuz va barmoq izi bilan ochish funksiyalarini sozlash uchun grafik kalit belgilanishi zarur.\n\nPlanshet yoʻqolib qolsa yoki oʻgʻirlansa, grafik kalit undagi maʼlumotlarni himoyalaydi."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Yuz va barmoq izi bilan ochish funksiyalarini sozlash uchun parol belgilanishi zarur.\n\nPlanshet yoʻqolib qolsa yoki oʻgʻirlansa, parol undagi maʼlumotlarni himoyalaydi."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Yuz va barmoq izi bilan ochish funksiyalarini sozlash uchun PIN kod belgilanishi zarur.\n\nQurilma yoʻqolib qolsa yoki oʻgʻirlansa, PIN kod undagi maʼlumotlarni himoyalaydi."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Yuz va barmoq izi bilan ochish funksiyalarini sozlash uchun grafik kalit belgilanishi zarur.\n\nQurilma yoʻqolib qolsa yoki oʻgʻirlansa, grafik kalit undagi maʼlumotlarni himoyalaydi."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Yuz va barmoq izi bilan ochish funksiyalarini sozlash uchun parol belgilanishi zarur.\n\nQurilma yoʻqolib qolsa yoki oʻgʻirlansa, parol undagi maʼlumotlarni himoyalaydi."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Yuz va barmoq izi bilan ochish funksiyalarini sozlash uchun PIN kod belgilanishi zarur.\n\nTelefon yoʻqolib qolsa yoki oʻgʻirlansa, PIN kod undagi maʼlumotlarni himoyalaydi."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Yuz va barmoq izi bilan ochish funksiyalarini sozlash uchun grafik kalit belgilanishi zarur.\n\nTelefon yoʻqolib qolsa yoki oʻgʻirlansa, grafik kalit undagi maʼlumotlarni himoyalaydi."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Yuz va barmoq izi bilan ochish funksiyalarini sozlash uchun parol belgilanishi zarur.\n\nTelefon yoʻqolib qolsa yoki oʻgʻirlansa, parol undagi maʼlumotlarni himoyalaydi."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Barmoq izi va yuz bilan ochish funksiyalarini sozlash uchun PIN kod belgilanishi zarur.\n\nPlanshet yoʻqolib qolsa yoki oʻgʻirlansa, PIN kod undagi maʼlumotlarni himoyalaydi."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Barmoq izi va yuz bilan ochish funksiyalarini sozlash uchun grafik kalit belgilanishi zarur.\n\nPlanshet yoʻqolib qolsa yoki oʻgʻirlansa, grafik kalit undagi maʼlumotlarni himoyalaydi."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Barmoq izi va yuz bilan ochish funksiyalarini sozlash uchun parol belgilanishi zarur.\n\nPlanshet yoʻqolib qolsa yoki oʻgʻirlansa, parol undagi maʼlumotlarni himoyalaydi."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Barmoq izi va yuz bilan ochish funksiyalarini sozlash uchun PIN kod belgilanishi zarur.\n\nQurilma yoʻqolib qolsa yoki oʻgʻirlansa, PIN kod undagi maʼlumotlarni himoyalaydi."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Barmoq izi va yuz bilan ochish funksiyalarini sozlash uchun grafik kalit belgilanishi zarur.\n\nQurilma yoʻqolib qolsa yoki oʻgʻirlansa, grafik kalit undagi maʼlumotlarni himoyalaydi."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Barmoq izi va yuz bilan ochish funksiyalarini sozlash uchun parol belgilanishi zarur.\n\nQurilma yoʻqolib qolsa yoki oʻgʻirlansa, parol undagi maʼlumotlarni himoyalaydi."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Barmoq izi va yuz bilan ochish funksiyalarini sozlash uchun PIN kod belgilanishi zarur.\n\nTelefon yoʻqolib qolsa yoki oʻgʻirlansa, PIN kod undagi maʼlumotlarni himoyalaydi."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Barmoq izi va yuz bilan ochish funksiyalarini sozlash uchun grafik kalit belgilanishi zarur.\n\nTelefon yoʻqolib qolsa yoki oʻgʻirlansa, grafik kalit undagi maʼlumotlarni himoyalaydi."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Barmoq izi va yuz bilan ochish funksiyalarini sozlash uchun parol belgilanishi zarur.\n\nTelefon yoʻqolib qolsa yoki oʻgʻirlansa, parol undagi maʼlumotlarni himoyalaydi."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Bunda telefoningizga saqlangan “<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>” barmoq iziga oid tasvir va modellar oʻchirib tashlanadi"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Bunda planshetingizga saqlangan “<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>” barmoq iziga oid tasvir va modellar oʻchirib tashlanadi"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Bunda qurilmangizga saqlangan “<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>” barmoq iziga oid tasvir va modellar oʻchirib tashlanadi"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Audio oqimni tinglash uchun telefonga LE Audio xususiyatli quloqliklarni ulang."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Audio oqimni tinglash uchun planshetga LE Audio xususiyatli quloqliklarni ulang."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Audio oqimni tinglash uchun qurilmaga LE Audio xususiyatli quloqliklarni ulang."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Audio oqimni tinglash uchun telefonga LE Audio xususiyatli quloqliklarni ulang. "<annotation id="link">"Batafsil"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Audio oqimni tinglash uchun planshetga LE Audio xususiyatli quloqliklarni ulang. "<annotation id="link">"Batafsil"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Audio oqimni tinglash uchun qurilmaga LE Audio xususiyatli quloqliklarni ulang. "<annotation id="link">"Batafsil"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Bu telefonda audio oqimlarni tinglash uchun zarur LE Audio xususiyati mavjud emas."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Bu planshetda audio oqimlarni tinglash uchun zarur LE Audio xususiyati mavjud emas."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Bu qurilmada audio oqimlarni tinglash uchun zarur LE Audio xususiyati mavjud emas."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Audio yuborish uchun telefonga LE Audio xususiyatli quloqliklarni ulang. "<annotation id="link">"Mos qurilmalar haqida batafsil"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Audio yuborish uchun planshetga LE Audio xususiyatli quloqliklarni ulang. "<annotation id="link">"Mos qurilmalar haqida batafsil"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Audio yuborish uchun qurilmaga LE Audio xususiyatli quloqliklarni ulang. "<annotation id="link">"Mos qurilmalar haqida batafsil"</annotation></string>
 </resources>
diff --git a/res-product/values-vi/strings.xml b/res-product/values-vi/strings.xml
index 20196b8..b062aae 100644
--- a/res-product/values-vi/strings.xml
+++ b/res-product/values-vi/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Bạn cần phải nhập mã PIN để thiết lập tính năng Mở khóa bằng khuôn mặt.\n\nMã PIN giúp bảo vệ điện thoại trong trường hợp bị mất hoặc bị đánh cắp."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Bạn cần phải nhập hình mở khóa để thiết lập tính năng Mở khóa bằng khuôn mặt.\n\nHình mở khóa giúp bảo vệ điện thoại trong trường hợp bị mất hoặc bị đánh cắp."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Bạn cần phải nhập mật khẩu để thiết lập tính năng Mở khóa bằng khuôn mặt.\n\nMật khẩu giúp bảo vệ điện thoại trong trường hợp bị mất hoặc bị đánh cắp."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Bạn cần phải nhập mã PIN để thiết lập tính năng Mở khóa bằng khuôn mặt và Mở khóa bằng vân tay.\n\nMã PIN giúp bảo vệ máy tính bảng trong trường hợp bị mất hoặc bị đánh cắp."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Bạn cần phải nhập hình mở khóa để thiết lập tính năng Mở khóa bằng khuôn mặt và Mở khóa bằng vân tay.\n\nHình mở khóa giúp bảo vệ máy tính bảng trong trường hợp bị mất hoặc bị đánh cắp."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Bạn cần phải nhập mật khẩu để thiết lập tính năng Mở khóa bằng khuôn mặt và Mở khóa bằng vân tay.\n\nMật khẩu giúp bảo vệ máy tính bảng trong trường hợp bị mất hoặc bị đánh cắp."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Bạn cần phải nhập mã PIN để thiết lập tính năng Mở khóa bằng khuôn mặt và Mở khóa bằng vân tay.\n\nMã PIN giúp bảo vệ thiết bị trong trường hợp bị mất hoặc bị đánh cắp."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Bạn cần phải nhập hình mở khóa để thiết lập tính năng Mở khóa bằng khuôn mặt và Mở khóa bằng vân tay.\n\nHình mở khóa giúp bảo vệ thiết bị trong trường hợp bị mất hoặc bị đánh cắp."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Bạn cần phải nhập mật khẩu để thiết lập tính năng Mở khóa bằng khuôn mặt và Mở khóa bằng vân tay.\n\nMật khẩu giúp bảo vệ thiết bị trong trường hợp bị mất hoặc bị đánh cắp."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Bạn cần phải nhập mã PIN để thiết lập tính năng Mở khóa bằng khuôn mặt và Mở khóa bằng vân tay.\n\nMã PIN giúp bảo vệ điện thoại trong trường hợp bị mất hoặc bị đánh cắp."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Bạn cần phải nhập hình mở khóa để thiết lập tính năng Mở khóa bằng khuôn mặt và Mở khóa bằng vân tay.\n\nHình mở khóa giúp bảo vệ điện thoại trong trường hợp bị mất hoặc bị đánh cắp."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Bạn cần phải nhập mật khẩu để thiết lập tính năng Mở khóa bằng khuôn mặt và Mở khóa bằng vân tay.\n\nMật khẩu giúp bảo vệ điện thoại trong trường hợp bị mất hoặc bị đánh cắp."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Bạn cần phải nhập mã PIN để thiết lập các tính năng Mở khoá bằng vân tay và Mở khoá bằng khuôn mặt.\n\nMã PIN giúp bảo vệ máy tính bảng trong trường hợp bị thất lạc hoặc bị mất cắp."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Bạn cần phải nhập hình mở khoá để thiết lập các tính năng Mở khoá bằng vân tay và Mở khoá bằng khuôn mặt.\n\nHình mở khoá giúp bảo vệ máy tính bảng trong trường hợp bị thất lạc hoặc bị mất cắp."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Bạn cần phải nhập mật khẩu để thiết lập các tính năng Mở khoá bằng vân tay và Mở khoá bằng khuôn mặt.\n\nMật khẩu giúp bảo vệ máy tính bảng trong trường hợp bị thất lạc hoặc bị mất cắp."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Bạn cần phải nhập mã PIN để thiết lập các tính năng Mở khoá bằng vân tay và Mở khoá bằng khuôn mặt.\n\nMã PIN giúp bảo vệ thiết bị trong trường hợp bị thất lạc hoặc bị mất cắp."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Bạn cần phải nhập hình mở khoá để thiết lập các tính năng Mở khoá bằng vân tay và Mở khoá bằng khuôn mặt.\n\nHình mở khoá giúp bảo vệ thiết bị trong trường hợp bị thất lạc hoặc bị mất cắp."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Bạn cần phải nhập mật khẩu để thiết lập các tính năng Mở khoá bằng vân tay và Mở khoá bằng khuôn mặt.\n\nMật khẩu giúp bảo vệ thiết bị trong trường hợp bị thất lạc hoặc bị mất cắp."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Bạn cần phải nhập mã PIN để thiết lập các tính năng Mở khoá bằng vân tay và Mở khoá bằng khuôn mặt.\n\nMã PIN giúp bảo vệ điện thoại trong trường hợp bị thất lạc hoặc bị mất cắp."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Bạn cần phải nhập hình mở khoá để thiết lập các tính năng Mở khoá bằng vân tay và Mở khoá bằng khuôn mặt.\n\nHình mở khoá giúp bảo vệ điện thoại trong trường hợp bị thất lạc hoặc bị mất cắp."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Bạn cần phải nhập mật khẩu để thiết lập các tính năng Mở khoá bằng vân tay và Mở khoá bằng khuôn mặt.\n\nMật khẩu giúp bảo vệ điện thoại trong trường hợp bị thất lạc hoặc bị mất cắp."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Thao tác này sẽ xoá các hình ảnh và mẫu vân tay liên kết với \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" được lưu trữ trên điện thoại của bạn"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Thao tác này sẽ xoá các hình ảnh và mẫu vân tay liên kết với \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" được lưu trữ trên máy tính bảng của bạn"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Thao tác này sẽ xoá các hình ảnh và mẫu vân tay liên kết với \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" được lưu trữ trên thiết bị của bạn"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Để nghe luồng âm thanh, trước tiên hãy kết nối tai nghe có hỗ trợ Âm thanh năng lượng thấp với điện thoại này."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Để nghe luồng âm thanh, trước tiên hãy kết nối tai nghe có hỗ trợ Âm thanh năng lượng thấp với máy tính bảng này."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Để nghe luồng âm thanh, trước tiên hãy kết nối tai nghe có hỗ trợ Âm thanh năng lượng thấp với thiết bị này."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Để nghe luồng âm thanh, trước tiên, hãy kết nối tai nghe có hỗ trợ Âm thanh năng lượng thấp với điện thoại này. "<annotation id="link">"Tìm hiểu thêm"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Để nghe luồng âm thanh, trước tiên, hãy kết nối tai nghe có hỗ trợ Âm thanh năng lượng thấp với máy tính bảng này. "<annotation id="link">"Tìm hiểu thêm"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Để nghe luồng âm thanh, trước tiên, hãy kết nối tai nghe có hỗ trợ Âm thanh năng lượng thấp với thiết bị này. "<annotation id="link">"Tìm hiểu thêm"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Điện thoại này không hỗ trợ Âm thanh năng lượng thấp, công nghệ cần có để nghe các luồng âm thanh."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Máy tính bảng này không hỗ trợ Âm thanh năng lượng thấp, công nghệ cần có để nghe các luồng âm thanh."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Thiết bị này không hỗ trợ Âm thanh năng lượng thấp, công nghệ cần có để nghe các luồng âm thanh."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Để bắt đầu chia sẻ âm thanh, trước tiên, hãy kết nối tai nghe có hỗ trợ Âm thanh năng lượng thấp với điện thoại của bạn. "<annotation id="link">"Tìm hiểu thêm về các thiết bị tương thích"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Để bắt đầu chia sẻ âm thanh, trước tiên, hãy kết nối tai nghe có hỗ trợ Âm thanh năng lượng thấp với máy tính bảng của bạn. "<annotation id="link">"Tìm hiểu thêm về các thiết bị tương thích"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Để bắt đầu chia sẻ âm thanh, trước tiên, hãy kết nối tai nghe có hỗ trợ Âm thanh năng lượng thấp với thiết bị của bạn. "<annotation id="link">"Tìm hiểu thêm về các thiết bị tương thích"</annotation></string>
 </resources>
diff --git a/res-product/values-zh-rCN/strings.xml b/res-product/values-zh-rCN/strings.xml
index a1cdeec..c11fa41 100644
--- a/res-product/values-zh-rCN/strings.xml
+++ b/res-product/values-zh-rCN/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"必须设置 PIN 码,才能设置人脸解锁。\n\n手机丢失或被盗时,PIN 码可为其提供保护。"</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"必须设置解锁图案,才能设置人脸解锁。\n\n手机丢失或被盗时,解锁图案可为其提供保护。"</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"必须设置密码,才能设置人脸解锁。\n\n手机丢失或被盗时,密码可为其提供保护。"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"必须设置 PIN 码,才能设置人脸解锁和指纹解锁。\n\n平板电脑丢失或被盗时,PIN 码可为其提供保护。"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"必须设置解锁图案,才能设置人脸解锁和指纹解锁。\n\n平板电脑丢失或被盗时,解锁图案可为其提供保护。"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"必须设置密码,才能设置人脸解锁和指纹解锁。\n\n平板电脑丢失或被盗时,密码可为其提供保护。"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"必须设置 PIN 码,才能设置人脸解锁和指纹解锁。\n\n设备丢失或被盗时,PIN 码可为其提供保护。"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"必须设置解锁图案,才能设置人脸解锁和指纹解锁。\n\n设备丢失或被盗时,解锁图案可为其提供保护。"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"必须设置密码,才能设置人脸解锁和指纹解锁。\n\n设备丢失或被盗时,密码可为其提供保护。"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"必须设置 PIN 码,才能设置人脸解锁和指纹解锁。\n\n手机丢失或被盗时,PIN 码可为其提供保护。"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"必须设置解锁图案,才能设置人脸解锁和指纹解锁。\n\n手机丢失或被盗时,解锁图案可为其提供保护。"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"必须设置密码,才能设置人脸解锁和指纹解锁。\n\n手机丢失或被盗时,密码可为其提供保护。"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"必须设置 PIN 码,才能设置指纹解锁和人脸解锁。\n\n平板电脑丢失或被盗时,PIN 码可为其提供保护。"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"必须设置解锁图案,才能设置指纹解锁和人脸解锁。\n\n平板电脑丢失或被盗时,解锁图案可为其提供保护。"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"必须设置密码,才能设置指纹解锁和人脸解锁。\n\n平板电脑丢失或被盗时,密码可为其提供保护。"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"必须设置 PIN 码,才能设置指纹解锁和人脸解锁。\n\n设备丢失或被盗时,PIN 码可为其提供保护。"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"必须设置解锁图案,才能设置指纹解锁和人脸解锁。\n\n设备丢失或被盗时,解锁图案可为其提供保护。"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"必须设置密码,才能设置指纹解锁和人脸解锁。\n\n设备丢失或被盗时,密码可为其提供保护。"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"必须设置 PIN 码,才能设置指纹解锁和人脸解锁。\n\n手机丢失或被盗时,PIN 码可为其提供保护。"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"必须设置解锁图案,才能设置指纹解锁和人脸解锁。\n\n手机丢失或被盗时,解锁图案可为其提供保护。"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"必须设置密码,才能设置指纹解锁和人脸解锁。\n\n手机丢失或被盗时,密码可为其提供保护。"</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"确认删除后,手机上存储的与“<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>”关联的指纹图像和模型将被删除"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"确认删除后,平板电脑上存储的与“<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>”关联的指纹图像和模型将被删除"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"确认删除后,设备上存储的与“<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>”关联的指纹图像和模型将被删除"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"若要收听音频流,请先为此手机连接支持 LE 音频的耳机。"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"若要收听音频流,请先为此平板电脑连接支持 LE 音频的耳机。"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"若要收听音频流,请先为此设备连接支持 LE 音频的耳机。"</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"如要收听音频流,请先为此手机连接支持 LE 音频的耳机。"<annotation id="link">"了解详情"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"如要收听音频流,请先为此平板电脑连接支持 LE 音频的耳机。"<annotation id="link">"了解详情"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"如要收听音频流,请先为此设备连接支持 LE 音频的耳机。"<annotation id="link">"了解详情"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"此手机不支持收听音频串流所需的 LE 音频。"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"此平板电脑不支持收听音频串流所需的 LE 音频。"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"此设备不支持收听音频串流所需的 LE 音频。"</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"如要开始分享音频,请先将 LE 音频耳机连接到手机。"<annotation id="link">"详细了解兼容设备"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"如要开始分享音频,请先将 LE 音频耳机连接到平板电脑。"<annotation id="link">"详细了解兼容设备"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"如要开始分享音频,请先将 LE 音频耳机连接到设备。"<annotation id="link">"详细了解兼容设备"</annotation></string>
 </resources>
diff --git a/res-product/values-zh-rHK/strings.xml b/res-product/values-zh-rHK/strings.xml
index 92d0adc..f517e2f 100644
--- a/res-product/values-zh-rHK/strings.xml
+++ b/res-product/values-zh-rHK/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"你必須先設定 PIN,才能設定「面孔解鎖」。\n\n手機遺失或被盜時,PIN 可保護手機中的資料。"</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"你必須先設定圖案,才能設定「面孔解鎖」。\n\n手機遺失或被盜時,圖案可保護手機中的資料。"</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"你必須先設定密碼,才能設定「面孔解鎖」。\n\n手機遺失或被盜時,密碼可保護手機中的資料。"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"你必須先設定 PIN,才能設定「面孔解鎖」和「指紋解鎖」。\n\n平板電腦遺失或被盜時,PIN 可保護平板電腦中的資料。"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"你必須先設定圖案,才能設定「面孔解鎖」和「指紋解鎖」。\n\n平板電腦遺失或被盜時,圖案可保護平板電腦中的資料。"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"你必須先設定密碼,才能設定「面孔解鎖」和「指紋解鎖」。\n\n平板電腦遺失或被盜時,密碼可保護平板電腦中的資料。"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"你必須先設定 PIN,才能設定「面孔解鎖」和「指紋解鎖」。\n\n裝置遺失或被盜時,PIN 可保護裝置中的資料。"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"你必須先設定圖案,才能設定「面孔解鎖」和「指紋解鎖」。\n\n裝置遺失或被盜時,圖案可保護裝置中的資料。"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"你必須先設定密碼,才能設定「面孔解鎖」和「指紋解鎖」。\n\n裝置遺失或被盜時,密碼可保護裝置中的資料。"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"你必須先設定 PIN,才能設定「面孔解鎖」和「指紋解鎖」。\n\n手機遺失或被盜時,PIN 可保護手機中的資料。"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"你必須先設定圖案,才能設定「面孔解鎖」和「指紋解鎖」。\n\n手機遺失或被盜時,圖案可保護手機中的資料。"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"你必須先設定密碼,才能設定「面孔解鎖」和「指紋解鎖」。\n\n手機遺失或被盜時,密碼可保護手機中的資料。"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"你需要先設定 PIN,才能設定「指紋解鎖」和「面孔解鎖」。\n\n平板電腦遺失或被盜時,PIN 可保護平板電腦中的資料。"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"你需要先設定圖案,才能設定「指紋解鎖」和「面孔解鎖」。\n\n平板電腦遺失或被盜時,圖案可保護平板電腦中的資料。"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"你需要先設定密碼,才能設定「指紋解鎖」和「面孔解鎖」。\n\n平板電腦遺失或被盜時,密碼可保護平板電腦中的資料。"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"你需要先設定 PIN,才能設定「指紋解鎖」和「面孔解鎖」。\n\n裝置遺失或被盜時,PIN 可保護裝置中的資料。"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"你需要先設定圖案,才能設定「指紋解鎖」和「面孔解鎖」。\n\n裝置遺失或被盜時,圖案可保護裝置中的資料。"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"你需要先設定密碼,才能設定「指紋解鎖」和「面孔解鎖」。\n\n裝置遺失或被盜時,密碼可保護裝置中的資料。"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"你需要先設定 PIN,才能設定「指紋解鎖」和「面孔解鎖」。\n\n手機遺失或被盜時,PIN 可保護手機中的資料。"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"你需要先設定圖案,才能設定「指紋解鎖」和「面孔解鎖」。\n\n手機遺失或被盜時,圖案可保護手機中的資料。"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"你需要先設定密碼,才能設定「指紋解鎖」和「面孔解鎖」。\n\n手機遺失或被盜時,密碼可保護手機中的資料。"</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"此操作會刪除與手機上儲存的「<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>」相關聯的指紋圖像和模型"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"此操作會刪除與平板電腦上儲存的「<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>」相關聯的指紋圖像和模型"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"此操作會刪除與裝置上儲存的「<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>」相關聯的指紋圖像和模型"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"如要收聽音訊串流,請先將支援 LE Audio 的耳機連線至此手機。"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"如要收聽音訊串流,請先將支援 LE Audio 的耳機連線至此平板電腦。"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"如要收聽音訊串流,請先將支援 LE Audio 的耳機連線至此裝置。"</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"如要收聽音訊串流,請先將支援 LE Audio 的耳機連線至此手機。"<annotation id="link">"瞭解詳情"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"如要收聽音訊串流,請先將支援 LE Audio 的耳機連線至此平板電腦。"<annotation id="link">"瞭解詳情"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"如要收聽音訊串流,請先將支援 LE Audio 的耳機連線至此裝置。"<annotation id="link">"瞭解詳情"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"此手機不支援 LE Audio,而收聽音訊串流需要使用 LE Audio。"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"此平板電腦不支援 LE Audio,而收聽音訊串流需要使用 LE Audio。"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"此裝置不支援收聽音訊串流所需的 LE Audio。"</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"如要開始分享音訊,請先將 LE Audio 耳機連線至手機。"<annotation id="link">"進一步瞭解兼容裝置"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"如要開始分享音訊,請先將 LE Audio 耳機連線至平板電腦。"<annotation id="link">"進一步瞭解兼容裝置"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"如要開始分享音訊,請先將 LE Audio 耳機連線至裝置。"<annotation id="link">"進一步瞭解兼容裝置"</annotation></string>
 </resources>
diff --git a/res-product/values-zh-rTW/strings.xml b/res-product/values-zh-rTW/strings.xml
index c5b24f7..bb09722 100644
--- a/res-product/values-zh-rTW/strings.xml
+++ b/res-product/values-zh-rTW/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"你必須先設定 PIN 碼,才能設定人臉解鎖功能。\n\n手機遺失或遭竊時,PIN 碼可以保護手機。"</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"你必須先設定解鎖圖案,才能設定人臉解鎖功能。\n\n手機遺失或遭竊時,解鎖圖案可以保護手機。"</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"你必須先設定密碼,才能設定人臉解鎖功能。\n\n手機遺失或遭竊時,密碼可以保護手機。"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"你必須先設定 PIN 碼,才能設定人臉解鎖和指紋解鎖功能。\n\n平板電腦遺失或遭竊時,PIN 碼可以保護平板電腦。"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"你必須先設定解鎖圖案,才能設定人臉解鎖和指紋解鎖功能。\n\n平板電腦遺失或遭竊時,解鎖圖案可以保護平板電腦。"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"你必須先設定密碼,才能設定人臉解鎖和指紋解鎖功能。\n\n平板電腦遺失或遭竊時,密碼可以保護平板電腦。"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"你必須先設定 PIN 碼,才能設定人臉解鎖和指紋解鎖功能。\n\n裝置遺失或遭竊時,PIN 碼可以保護裝置。"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"你必須先設定解鎖圖案,才能設定人臉解鎖和指紋解鎖功能。\n\n裝置遺失或遭竊時,解鎖圖案可以保護裝置。"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"你必須先設定密碼,才能設定人臉解鎖和指紋解鎖功能。\n\n裝置遺失或遭竊時,密碼可以保護裝置。"</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"你必須先設定 PIN 碼,才能設定人臉解鎖和指紋解鎖功能。\n\n手機遺失或遭竊時,PIN 碼可以保護手機。"</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"你必須先設定解鎖圖案,才能設定人臉解鎖和指紋解鎖功能。\n\n手機遺失或遭竊時,解鎖圖案可以保護手機。"</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"你必須先設定密碼,才能設定人臉解鎖和指紋解鎖功能。\n\n手機遺失或遭竊時,密碼可以保護手機。"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"必須先設定 PIN 碼,才能設定指紋解鎖和人臉解鎖功能。\n\n平板電腦遺失或遭竊時,PIN 碼可以保護平板電腦中的資料。"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"必須先設定解鎖圖案,才能設定指紋解鎖和人臉解鎖功能。\n\n平板電腦遺失或遭竊時,解鎖圖案可以保護平板電腦中的資料。"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"必須先設定密碼,才能設定指紋解鎖和人臉解鎖功能。\n\n平板電腦遺失或遭竊時,密碼可以保護平板電腦中的資料。"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"必須先設定 PIN 碼,才能設定指紋解鎖和人臉解鎖功能。\n\n裝置遺失或遭竊時,PIN 碼可以保護裝置中的資料。"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"必須先設定解鎖圖案,才能設定指紋解鎖和人臉解鎖功能。\n\n裝置遺失或遭竊時,解鎖圖案可以保護裝置中的資料。"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"必須先設定密碼,才能設定指紋解鎖和人臉解鎖功能。\n\n裝置遺失或遭竊時,密碼可以保護裝置中的資料。"</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"必須先設定 PIN 碼,才能設定指紋解鎖和人臉解鎖功能。\n\n手機遺失或遭竊時,PIN 碼可以保護手機中的資料。"</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"必須先設定解鎖圖案,才能設定指紋解鎖和人臉解鎖功能。\n\n手機遺失或遭竊時,解鎖圖案可以保護手機中的資料。"</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"必須先設定密碼,才能設定指紋解鎖和人臉解鎖功能。\n\n手機遺失或遭竊時,密碼可以保護手機中的資料。"</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"這項操作會刪除手機上儲存的「<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>」相關指紋圖像和模型"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"如果指紋圖像和模型與平板電腦上儲存的「<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>」相關聯,系統也將一併刪除"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"系統會一併刪除裝置上與「<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>」連結的指紋圖像和模型"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"如要聆聽音訊串流,請先將支援 LE Audio 的耳機連線至這支手機。"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"如要聆聽音訊串流,請先將支援 LE Audio 的耳機連線至這部平板電腦。"</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"如要聆聽音訊串流,請先將支援 LE Audio 的耳機連線至這部裝置。"</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"如要聆聽音訊串流,請先將支援 LE Audio 的耳機連線到這支手機。"<annotation id="link">"瞭解詳情"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"如要聆聽音訊串流,請先將支援 LE Audio 的耳機連線到這部平板電腦。"<annotation id="link">"瞭解詳情"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"如要聆聽音訊串流,請先將支援 LE Audio 的耳機連線到這部裝置。"<annotation id="link">"瞭解詳情"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"聆聽音訊串流需要 LE Audio,但這支手機並不支援。"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"聆聽音訊串流需要 LE Audio,但這部平板電腦並不支援。"</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"聆聽音訊串流需要 LE Audio,但這部裝置並不支援。"</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"如要分享音訊,請先將 LE Audio 耳機連到手機。"<annotation id="link">"進一步瞭解相容裝置"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"如要分享音訊,請先將 LE Audio 耳機連到平板電腦。"<annotation id="link">"進一步瞭解相容裝置"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"如要分享音訊,請先將 LE Audio 耳機連線到裝置。"<annotation id="link">"進一步瞭解相容裝置"</annotation></string>
 </resources>
diff --git a/res-product/values-zu/strings.xml b/res-product/values-zu/strings.xml
index 7fa1c35..44a26fe 100644
--- a/res-product/values-zu/strings.xml
+++ b/res-product/values-zu/strings.xml
@@ -179,15 +179,15 @@
     <string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Iphinikhodi iyadingeka ukusetha Ukuvula ngobuso.\n\nIphinikhodi ivikela ifoni uma ilahlekile noma intshontshiwe."</string>
     <string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Iphethini iyadingeka ukusetha Ukuvula ngobuso.\n\nIphethini ivikela ifoni uma ilahlekile noma intshontshiwe."</string>
     <string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Iphasiwedi iyadingeka ukusetha Ukuvula ngobuso.\n\nIphasiwedi ivikela ifoni uma ilahlekile noma intshontshiwe."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Iphinikhodi iyadingeka ukusetha Ukuvula ngobuso Nokuvula Ngesigxivizo Seminwe.\n\nIphinikhodi ivikela ithebulethi uma ilahlekile noma intshontshiwe."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Iphethini iyadingeka ukusetha Ukuvula ngobuso Nokuvula Ngesigxivizo Seminwe.\n\nIphethini ivikela ithebulethi uma ilahlekile noma intshontshiwe."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Iphasiwedi iyadingeka ukusetha Ukuvula ngobuso Nokuvula Ngesigxivizo Seminwe.\n\nIphasiwedi ivikela ithebulethi uma ilahlekile noma intshontshiwe."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Iphinikhodi iyadingeka ukusetha Ukuvula ngobuso Nokuvula Ngesigxivizo Seminwe.\n\nIphinikhodi ivikela idivayisi uma ilahlekile noma intshontshiwe."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Iphethini iyadingeka ukusetha Ukuvula ngobuso Nokuvula Ngesigxivizo Seminwe.\n\nIphethini ivikela idivayisi uma ilahlekile noma intshontshiwe."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Iphasiwedi iyadingeka ukusetha Ukuvula ngobuso Nokuvula Ngesigxivizo Seminwe.\n\nIphasiwedi ivikela idivayisi uma ilahlekile noma intshontshiwe."</string>
-    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Iphinikhodi iyadingeka ukusetha Ukuvula ngobuso Nokuvula Ngesigxivizo Seminwe.\n\nIphinikhodi ivikela ifoni uma ilahlekile noma intshontshiwe."</string>
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Iphethini iyadingeka ukusetha Ukuvula ngobuso Nokuvula Ngesigxivizo Seminwe.\n\nIphethini ivikela ifoni uma ilahlekile noma intshontshiwe."</string>
-    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Iphasiwedi iyadingeka ukusetha Ukuvula ngobuso Nokuvula Ngesigxivizo Seminwe.\n\nIphasiwedi ivikela ifoni uma ilahlekile noma intshontshiwe."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Iphinikhodi iyadingeka ukuze usethe Ukuvula ngesigxivizo somunwe kanye Nokuvula Ngobuso.\n\nIphinikhodi ivikela ithebulethi uma ilahlekile noma intshontshiwe."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Iphethini iyadingeka ukuze usethe Ukuvula ngesigxivizo somunwe kanye Nokuvula Ngobuso.\n\nIphethini ivikela ithebulethi uma ilahlekile noma intshontshiwe."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Iphasiwedi iyadingeka ukuze usethe Ukuvula ngesigxivizo somunwe kanye Nokuvula Ngobuso.\n\nIphasiwedi ivikela ithebulethi uma ilahlekile noma intshontshiwe."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Iphinikhodi iyadingeka ukuze usethe Ukuvula ngesigxivizo somunwe kanye Nokuvula Ngobuso.\n\nIphinikhodi ivikela idivayisi uma ilahlekile noma intshontshiwe."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Iphethini iyadingeka ukuze usethe Ukuvula ngesigxivizo somunwe kanye Nokuvula Ngobuso.\n\nIphethini ivikela idivayisi uma ilahlekile noma intshontshiwe."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Iphasiwedi iyadingeka ukuze usethe Ukuvula ngesigxivizo somunwe kanye Nokuvula Ngobuso.\n\nIphasiwedi ivikela idivayisi uma ilahlekile noma intshontshiwe."</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Iphinikhodi iyadingeka ukuze usethe Ukuvula ngesigxivizo somunwe kanye Nokuvula Ngobuso.\n\nIphinikhodi ivikela ifoni uma ilahlekile noma intshontshiwe."</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Iphethini iyadingeka ukuze usethe Ukuvula ngesigxivizo somunwe kanye Nokuvula Ngobuso.\n\nIphethini ivikela ifoni uma ilahlekile noma intshontshiwe."</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Iphasiwedi iyadingeka ukuze usethe Ukuvula ngesigxivizo somunwe kanye Nokuvula Ngobuso.\n\nIphasiwedi ivikela ifoni uma ilahlekile noma intshontshiwe."</string>
     <string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Lokhu kusula imifanekiso yesigxivizo somunwe nemodeli ehambisana ne-\'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' egcinwe kufoni yakho"</string>
     <string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Lokhu kusula imifanekiso yesigxivizo somunwe nemodeli ehambisana ne-\'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' egcinwe kwithebulethi yakho"</string>
     <string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Lokhu kusula izithombe zezigxivizo zeminwe nemodeli ehambisana ne-\'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ezigcinwe kwidivayisi yakho"</string>
@@ -368,7 +368,13 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Ukuze ulalele ukusakaza komsindo, qala uxhume ama-headphone asekela Umsindo we-LE kule foni."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Ukuze ulalele ukusakaza komsindo, qala uxhume ama-headphone asekela Umsindo we-LE kule thebulethi."</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Ukuze ulalele ukusakaza komsindo, qala uxhume ama-headphone asekela Umsindo we-LE kule divayisi."</string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default" msgid="4871388123789035528">"Ukuze ulalele ukusakaza komsindo, qala uxhume amaheadphone asekela Umsindo we-LE kule foni. "<annotation id="link">"Funda kabanzi"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet" msgid="9004101085790596133">"Ukuze ulalele ukusakaza komsindo, qala uxhume amaheadphone asekela Umsindo we-LE kule thebulethi. "<annotation id="link">"Funda kabanzi"</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device" msgid="2094009664220499659">"Ukuze ulalele ukusakaza komsindo, qala uxhume amaheadphone asekela Umsindo we-LE kule divayisi. "<annotation id="link">"Funda kabanzi"</annotation></string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Le foni ayiwusekeli Umsindo we-LE, odingekayo ukuze ulalele ukusakazwa komsindo."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Le thebhulethi ayiwusekeli Umsindo we-LE, odingekayo ukuze ulalele ukusakaza komsindo."</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Le divayisi ayiwusekeli Umsindo we-LE, odingekayo ukuze ulalele ukusakazwa komsindo."</string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default" msgid="3623411166799677443">"Ukuze uqale ukwabelana ngokulalelwayo, okokuqala xhuma amaheadphone oMsindo we-LE efonini yakho. "<annotation id="link">"Funda kabanzi mayelana namadivayisi ahambelanayo"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet" msgid="282597208139437138">"Ukuze uqale ukwabelana ngokulalelwayo, okokuqala xhuma amaheadphone oMsindo we-LE ethebulethini yakho. "<annotation id="link">"Funda kabanzi mayelana namadivayisi ahambelanayo"</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device" msgid="668964968208427465">"Ukuze uqale ukwabelana ngokulalelwayo, okokuqala xhuma amaheadphone oMsindo we-LE edivayisini yakho "<annotation id="link">"Funda kabanzi mayelana namadivayisi ahambelanayo"</annotation></string>
 </resources>
diff --git a/res-product/values/config.xml b/res-product/values/config.xml
index ba49418..86af614 100755
--- a/res-product/values/config.xml
+++ b/res-product/values/config.xml
@@ -19,9 +19,6 @@
     <item name="a11y_timeout_banner" type="raw" product="default">@raw/accessibility_timeout_banner</item>
     <item name="a11y_timeout_banner" type="raw" product="tablet">@raw/accessibility_timeout_banner_tablet</item>
 
-    <item name="a11y_shortcut_type_triple_tap" type="raw" product="default">@raw/accessibility_shortcut_type_triple_tap</item>
-    <item name="a11y_shortcut_type_triple_tap" type="raw" product="tablet">@raw/accessibility_shortcut_type_triple_tap_tablet</item>
-
     <item name="a11y_color_inversion_banner" type="raw" product="default">@raw/accessibility_color_inversion_banner</item>
     <item name="a11y_color_inversion_banner" type="raw" product="tablet">@raw/accessibility_color_inversion_banner_tablet</item>
 
diff --git a/res-product/values/drawables.xml b/res-product/values/drawables.xml
index 68b2115..01fbc32 100644
--- a/res-product/values/drawables.xml
+++ b/res-product/values/drawables.xml
@@ -14,45 +14,9 @@
      limitations under the License.
 -->
 <resources>
-    <drawable name="a11y_button_preview_large_floating_menu" product="default">@drawable/accessibility_button_preview_large_floating_menu</drawable>
-    <drawable name="a11y_button_preview_large_floating_menu" product="tablet">@drawable/accessibility_button_preview_large_floating_menu_tablet</drawable>
-
-    <drawable name="a11y_button_preview_small_floating_menu" product="default">@drawable/accessibility_button_preview_small_floating_menu</drawable>
-    <drawable name="a11y_button_preview_small_floating_menu" product="tablet">@drawable/accessibility_button_preview_small_floating_menu_tablet</drawable>
-
-    <drawable name="a11y_button_navigation" product="default">@drawable/accessibility_button_navigation</drawable>
-    <drawable name="a11y_button_navigation" product="tablet">@drawable/accessibility_button_navigation_tablet</drawable>
-
     <drawable name="a11y_captioning_banner" product="default">@drawable/accessibility_captioning_banner</drawable>
     <drawable name="a11y_captioning_banner" product="tablet">@drawable/accessibility_captioning_banner_tablet</drawable>
 
-    <drawable name="a11y_shortcut_type_hardware" product="default">@drawable/accessibility_shortcut_type_hardware</drawable>
-    <drawable name="a11y_shortcut_type_hardware" product="tablet">@drawable/accessibility_shortcut_type_hardware_tablet</drawable>
-
-    <drawable name="a11y_shortcut_type_software" product="default">@drawable/accessibility_shortcut_type_software</drawable>
-    <drawable name="a11y_shortcut_type_software" product="tablet">@drawable/accessibility_shortcut_type_software_tablet</drawable>
-
-    <drawable name="a11y_shortcut_type_software_floating" product="default">@drawable/accessibility_shortcut_type_software_floating</drawable>
-    <drawable name="a11y_shortcut_type_software_floating" product="tablet">@drawable/accessibility_shortcut_type_software_floating_tablet</drawable>
-
-    <drawable name="a11y_shortcut_type_software_gesture" product="default">@drawable/accessibility_shortcut_type_software_gesture</drawable>
-    <drawable name="a11y_shortcut_type_software_gesture" product="tablet">@drawable/accessibility_shortcut_type_software_gesture_tablet</drawable>
-
-    <drawable name="a11y_shortcut_type_software_gesture_talkback" product="default">@drawable/accessibility_shortcut_type_software_gesture_talkback</drawable>
-    <drawable name="a11y_shortcut_type_software_gesture_talkback" product="tablet">@drawable/accessibility_shortcut_type_software_gesture_talkback_tablet</drawable>
-
-    <drawable name="a11y_gesture_navigation_two_finger_preview" product="default">@drawable/accessibility_gesture_navigation_two_finger_preview</drawable>
-    <drawable name="a11y_gesture_navigation_two_finger_preview" product="tablet">@drawable/accessibility_gesture_navigation_two_finger_preview_tablet</drawable>
-
-    <drawable name="a11y_gesture_navigation_three_finger_preview" product="default">@drawable/accessibility_gesture_navigation_three_finger_preview</drawable>
-    <drawable name="a11y_gesture_navigation_three_finger_preview" product="tablet">@drawable/accessibility_gesture_navigation_three_finger_preview_tablet</drawable>
-
-    <drawable name="a11y_button_preview_two_finger" product="default">@drawable/accessibility_button_preview_two_finger</drawable>
-    <drawable name="a11y_button_preview_two_finger" product="tablet">@drawable/accessibility_button_preview_two_finger_tablet</drawable>
-
-    <drawable name="a11y_button_preview_three_finger" product="default">@drawable/accessibility_button_preview_three_finger</drawable>
-    <drawable name="a11y_button_preview_three_finger" product="tablet">@drawable/accessibility_button_preview_three_finger_tablet</drawable>
-
     <drawable name="a11y_magnification_mode_fullscreen" product="default">@drawable/accessibility_magnification_mode_fullscreen</drawable>
     <drawable name="a11y_magnification_mode_fullscreen" product="tablet">@drawable/accessibility_magnification_mode_fullscreen_tablet</drawable>
 
diff --git a/res-product/values/strings.xml b/res-product/values/strings.xml
index 987548a..d5ef1c8 100644
--- a/res-product/values/strings.xml
+++ b/res-product/values/strings.xml
@@ -338,23 +338,23 @@
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face. (default) [CHAR LIMIT=NONE] -->
     <string name="lock_screen_password_skip_face_message" product="default">A password is required to set up Face Unlock.\n\nA password protects the phone if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (tablet) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet">A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the tablet if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet">A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the tablet if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (tablet) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet">A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the tablet if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet">A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the tablet if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (tablet) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet">A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the tablet if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet">A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the tablet if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (device) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pin_skip_biometrics_message" product="device">A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the device if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device">A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the device if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (device) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device">A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the device if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device">A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the device if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (device) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_password_skip_biometrics_message" product="device">A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the device if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device">A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the device if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (default) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pin_skip_biometrics_message" product="default">A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the phone if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default">A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the phone if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (default) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default">A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the phone if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default">A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the phone if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (default) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_password_skip_biometrics_message" product="default">A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the phone if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default">A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the phone if it\u2019s lost or stolen.</string>
     <!-- Message shown in a dialog which asks the user to confirm when a single fingerprint gets deleted. [CHAR LIMIT=NONE]-->
     <string name="fingerprint_v2_delete_message" product="default">This deletes the fingerprint images and model associated with \'<xliff:g id="fingerprint_id" example="Fingerprint 2">%1$s</xliff:g>\' that are stored on your phone</string>
     <!-- Message shown in a dialog which asks the user to confirm when a single fingerprint gets deleted. [CHAR LIMIT=NONE]-->
@@ -758,8 +758,16 @@
     <string name="audio_streams_dialog_no_le_device_subtitle" product="default">To listen to an audio stream, first connect headphones that support LE Audio to this phone.</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet">To listen to an audio stream, first connect headphones that support LE Audio to this tablet.</string>
     <string name="audio_streams_dialog_no_le_device_subtitle" product="device">To listen to an audio stream, first connect headphones that support LE Audio to this device.</string>
+    <!-- Le audio streams no le device dialog subtitle with learn more link [CHAR LIMIT=NONE] -->
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="default">To listen to an audio stream, first connect headphones that support LE Audio to this phone. <annotation id="link">Learn more</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="tablet">To listen to an audio stream, first connect headphones that support LE Audio to this tablet. <annotation id="link">Learn more</annotation></string>
+    <string name="audio_streams_dialog_no_le_device_subtitle_with_link" product="device">To listen to an audio stream, first connect headphones that support LE Audio to this device. <annotation id="link">Learn more</annotation></string>
     <!-- Le audio streams unsupported device subtitle [CHAR LIMIT=NONE] -->
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="default">This phone doesn\'t support LE Audio, which is needed to listen to audio streams.</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet">This tablet doesn\'t support LE Audio, which is needed to listen to audio streams.</string>
     <string name="audio_streams_dialog_unsupported_device_subtitle" product="device">This device doesn\'t support LE Audio, which is needed to listen to audio streams.</string>
+    <!-- Content for audio sharing confirm dialog with learn more link [CHAR LIMIT=none]-->
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="default">To start sharing audio, first connect LE Audio headphones to your phone. <annotation id="link">Learn more about compatible devices</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="tablet">To start sharing audio, first connect LE Audio headphones to your tablet. <annotation id="link">Learn more about compatible devices</annotation></string>
+    <string name="audio_sharing_confirm_dialog_content_with_link" product="device">To start sharing audio, first connect LE Audio headphones to your device. <annotation id="link">Learn more about compatible devices</annotation></string>
 </resources>
diff --git a/res/color/modes_icon_selectable_background.xml b/res/color/modes_icon_selectable_background.xml
new file mode 100644
index 0000000..f9280c6
--- /dev/null
+++ b/res/color/modes_icon_selectable_background.xml
@@ -0,0 +1,25 @@
+<!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<!-- Color list for the background in each item in the icon picker list. -->
+<selector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android">
+
+    <item android:state_pressed="true" android:color="?androidprv:attr/materialColorPrimary" />
+    <item android:state_selected="true" android:color="?androidprv:attr/materialColorPrimary" />
+    <item android:color="?androidprv:attr/materialColorSecondaryContainer" />
+</selector>
diff --git a/res/color/modes_icon_selectable_icon.xml b/res/color/modes_icon_selectable_icon.xml
new file mode 100644
index 0000000..8a517d5
--- /dev/null
+++ b/res/color/modes_icon_selectable_icon.xml
@@ -0,0 +1,25 @@
+<!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<!-- Color list for the icon in each item in the icon picker list. -->
+<selector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android">
+
+    <item android:state_pressed="true" android:color="?androidprv:attr/materialColorOnPrimary" />
+    <item android:state_selected="true" android:color="?androidprv:attr/materialColorOnPrimary" />
+    <item android:color="?androidprv:attr/materialColorOnSecondaryContainer" />
+</selector>
diff --git a/res/drawable-night/accessibility_button_navigation.xml b/res/drawable-night/accessibility_button_navigation.xml
deleted file mode 100644
index d6fd485..0000000
--- a/res/drawable-night/accessibility_button_navigation.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2021 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <path
-      android:fillColor="#FF000000"
-      android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"/>
-  <path
-      android:pathData="M325.2,231.9c0,9.8 -7.9,17.7 -17.7,17.7H103.9c-9.8,0 -17.7,-7.9 -17.7,-17.7v-42.2h239V231.9z"
-      android:fillColor="#3D4043"/>
-  <path
-      android:pathData="M269.7,205.2c1.5,0 2.7,1.2 2.7,2.7s-1.2,2.7 -2.7,2.7c-1.5,0 -2.7,-1.2 -2.7,-2.7S268.2,205.2 269.7,205.2zM273.8,214.7v17.6H271v-8.1h-2.7v8.1h-2.7v-17.6c-2.7,-0.2 -5.6,-0.7 -8.1,-1.4l0.7,-2.7c3.5,0.9 7.7,1.4 11.5,1.4c3.8,0 8,-0.4 11.5,-1.4l0.7,2.7C279.4,214 276.5,214.5 273.8,214.7z"
-      android:fillColor="#FFFFFF"/>
-  <path
-      android:pathData="M205.7,219.7m-9.4,0a9.4,9.4 0,1 1,18.8 0a9.4,9.4 0,1 1,-18.8 0"
-      android:fillColor="#808589"/>
-  <path
-      android:pathData="M132.1,219.7l16,9.2l0,-18.5z"
-      android:fillColor="#808589"/>
-  <path
-      android:pathData="M325.4,231.9c0,9.8 -7.9,17.7 -17.7,17.7H103.9c-9.8,0 -17.7,-7.9 -17.7,-17.7V0h-4.4v231.9c0,12.2 9.9,22.2 22.1,22.2h203.8c12.2,0 22.1,-9.9 22.1,-22.2V14.8c2.4,0 4.4,-2 4.4,-4.4V0h-8.9V231.9z"
-      android:fillColor="#808589"/>
-  <path
-      android:pathData="M269.7,255.3c-19.6,0 -35.6,-16 -35.6,-35.6s16,-35.6 35.6,-35.6s35.6,16 35.6,35.6S289.3,255.3 269.7,255.3zM269.7,187.1c-17.9,0 -32.5,14.6 -32.5,32.5c0,17.9 14.6,32.5 32.5,32.5s32.5,-14.6 32.5,-32.5C302.2,201.7 287.6,187.1 269.7,187.1z"
-      android:fillColor="#729CEE"/>
-</vector>
diff --git a/res/drawable-night/accessibility_button_navigation_tablet.xml b/res/drawable-night/accessibility_button_navigation_tablet.xml
deleted file mode 100644
index d92b144..0000000
--- a/res/drawable-night/accessibility_button_navigation_tablet.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2023 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <path
-      android:pathData="M28,0L384,0A28,28 0,0 1,412 28L412,272A28,28 0,0 1,384 300L28,300A28,28 0,0 1,0 272L0,28A28,28 0,0 1,28 0z"
-      android:fillColor="#000000"/>
-  <group>
-    <clip-path
-        android:pathData="M62.23,50.19L349.77,50.19A16,16 0,0 1,365.77 66.19L365.77,236.14A16,16 0,0 1,349.77 252.14L62.23,252.14A16,16 0,0 1,46.23 236.14L46.23,66.19A16,16 0,0 1,62.23 50.19z"/>
-    <path
-        android:pathData="M46.23,204.14h320v48h-320z"
-        android:fillColor="#3D4043"/>
-    <path
-        android:pathData="M268.93,214.14C270.43,214.14 271.63,215.34 271.63,216.84C271.63,218.34 270.43,219.54 268.93,219.54C267.43,219.54 266.23,218.34 266.23,216.84C266.23,215.34 267.43,214.14 268.93,214.14ZM273.03,223.64V241.24H270.23V233.14H267.53V241.24H264.83V223.64C262.13,223.44 259.23,222.94 256.73,222.24L257.43,219.54C260.93,220.44 265.13,220.94 268.93,220.94C272.73,220.94 276.93,220.54 280.43,219.54L281.13,222.24C278.63,222.94 275.73,223.44 273.03,223.64Z"
-        android:fillColor="#ffffff"/>
-    <path
-        android:pathData="M206.23,238.04C211.42,238.04 215.63,233.83 215.63,228.64C215.63,223.45 211.42,219.24 206.23,219.24C201.04,219.24 196.83,223.45 196.83,228.64C196.83,233.83 201.04,238.04 206.23,238.04Z"
-        android:fillColor="#808589"/>
-    <path
-        android:pathData="M131.33,228.64L147.33,237.84V219.34L131.33,228.64Z"
-        android:fillColor="#808589"/>
-  </group>
-  <path
-      android:pathData="M62.23,51.69L349.77,51.69A14.5,14.5 0,0 1,364.27 66.19L364.27,236.14A14.5,14.5 0,0 1,349.77 250.64L62.23,250.64A14.5,14.5 0,0 1,47.73 236.14L47.73,66.19A14.5,14.5 0,0 1,62.23 51.69z"
-      android:strokeWidth="3"
-      android:fillColor="#00000000"
-      android:strokeColor="#80868B"/>
-  <path
-      android:pathData="M311.45,50.35C311.45,48.98 312.56,47.87 313.92,47.87L322.84,47.87C324.2,47.87 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
-      android:fillColor="#80868B"/>
-  <path
-      android:pathData="M263.59,50.35C263.59,48.98 264.7,47.87 266.06,47.87L287.85,47.87C289.22,47.87 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
-      android:fillColor="#80868B"/>
-  <path
-      android:pathData="M268.93,259.69C251.31,259.69 236.93,245.3 236.93,227.69C236.93,210.07 251.31,195.69 268.93,195.69C286.55,195.69 300.93,210.07 300.93,227.69C300.93,245.3 286.55,259.69 268.93,259.69ZM268.93,198.38C252.84,198.38 239.72,211.51 239.72,227.6C239.72,243.69 252.84,256.81 268.93,256.81C285.02,256.81 298.14,243.69 298.14,227.6C298.14,211.51 285.02,198.38 268.93,198.38Z"
-      android:fillColor="#729CEE"/>
-</vector>
\ No newline at end of file
diff --git a/res/drawable-night/accessibility_button_preview_large_floating_menu.xml b/res/drawable-night/accessibility_button_preview_large_floating_menu.xml
deleted file mode 100644
index 74ecbfc..0000000
--- a/res/drawable-night/accessibility_button_preview_large_floating_menu.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2021 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-    <path
-        android:pathData="M325.4,198.2h-40.9c-22.1,0 -40,-18 -40,-40s18,-40 40,-40h40.9v2.6h-40.9c-20.7,0 -37.5,16.8 -37.5,37.5s16.8,37.5 37.5,37.5h40.9V198.2z"
-        android:fillColor="#808589"/>
-    <path
-        android:pathData="M284.3,128.4c-16.5,0 -29.8,13.4 -29.8,29.8c0,16.5 13.4,29.8 29.8,29.8s29.8,-13.4 29.8,-29.8C314.2,141.7 300.9,128.4 284.3,128.4zM284.3,142.7c1.7,0 3.1,1.4 3.1,3.1c0,1.7 -1.4,3.1 -3.1,3.1s-3.1,-1.4 -3.1,-3.1C281.2,144.1 282.7,142.7 284.3,142.7zM289.1,153.7V174H286v-9.4h-3.1v9.4h-3.2v-20.3c-3.1,-0.3 -6.5,-0.8 -9.4,-1.5l0.8,-3.1c4.1,1 8.9,1.5 13.3,1.5s9.2,-0.5 13.3,-1.5l0.8,3.1C295.6,152.9 292.2,153.4 289.1,153.7z"
-        android:fillColor="#D9DBDF"/>
-</vector>
diff --git a/res/drawable-night/accessibility_button_preview_large_floating_menu_tablet.xml b/res/drawable-night/accessibility_button_preview_large_floating_menu_tablet.xml
deleted file mode 100644
index 426403f..0000000
--- a/res/drawable-night/accessibility_button_preview_large_floating_menu_tablet.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <path
-      android:pathData="M365.76,226.17h-27.68c-14.95,0 -27.07,-12.18 -27.07,-27.07s12.18,-27.07 27.07,-27.07h27.68v1.76h-27.68c-14.01,0 -25.37,11.37 -25.37,25.37s11.37,25.37 25.37,25.37h27.68v1.62Z"
-      android:fillColor="#80868b"/>
-  <path
-      android:pathData="M337.95,178.94c-11.16,0 -20.16,9.07 -20.16,20.16 0,11.16 9.07,20.16 20.16,20.16s20.16,-9.07 20.16,-20.16c0.07,-11.16 -8.93,-20.16 -20.16,-20.16ZM337.95,188.62c1.15,0 2.1,0.95 2.1,2.1 0,1.15 -0.95,2.1 -2.1,2.1s-2.1,-0.95 -2.1,-2.1c0,-1.15 1.02,-2.1 2.1,-2.1ZM341.2,196.06v13.74h-2.1v-6.36h-2.1v6.36h-2.17v-13.74c-2.1,-0.2 -4.4,-0.54 -6.36,-1.01l0.54,-2.1c2.77,0.68 6.02,1.01 9,1.01s6.23,-0.34 9,-1.01l0.54,2.1c-1.96,0.47 -4.26,0.81 -6.36,1.01Z"
-      android:fillColor="#d9dbdf"/>
-</vector>
diff --git a/res/drawable-night/accessibility_button_preview_small_floating_menu.xml b/res/drawable-night/accessibility_button_preview_small_floating_menu.xml
deleted file mode 100644
index 4226086..0000000
--- a/res/drawable-night/accessibility_button_preview_small_floating_menu.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2021 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-    <path
-        android:pathData="M325.4,189.2h-31.7c-17.1,0 -31,-13.9 -31,-31s13.9,-31 31,-31h31.7v2h-31.7c-16,0 -29,13 -29,29s13,29 29,29h31.7V189.2z"
-        android:fillColor="#808589"/>
-    <path
-        android:pathData="M293.6,135.1c-12.8,0 -23.1,10.4 -23.1,23.1c0,12.8 10.4,23.1 23.1,23.1s23.1,-10.4 23.1,-23.1C316.7,145.4 306.4,135.1 293.6,135.1zM293.6,146.2c1.3,0 2.4,1.1 2.4,2.4s-1.1,2.4 -2.4,2.4s-2.4,-1.1 -2.4,-2.4S292.3,146.2 293.6,146.2zM297.3,154.7v15.7h-2.4v-7.3h-2.4v7.3H290v-15.7c-2.4,-0.2 -5,-0.6 -7.3,-1.2l0.6,-2.4c3.2,0.8 6.9,1.2 10.3,1.2s7.1,-0.4 10.3,-1.2l0.6,2.4C302.3,154.1 299.7,154.5 297.3,154.7z"
-        android:fillColor="#D9DBDF"/>
-</vector>
diff --git a/res/drawable-night/accessibility_button_preview_small_floating_menu_tablet.xml b/res/drawable-night/accessibility_button_preview_small_floating_menu_tablet.xml
deleted file mode 100644
index b738d8f..0000000
--- a/res/drawable-night/accessibility_button_preview_small_floating_menu_tablet.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <path
-      android:pathData="M365.88,219.24h-20.7c-5.38,0 -10.43,-2.09 -14.23,-5.9s-5.9,-8.86 -5.9,-14.23c0,-5.38 2.09,-10.43 5.9,-14.24 3.8,-3.8 8.86,-5.9 14.23,-5.9h20.7v1h-20.7c-5.11,0 -9.91,1.99 -13.53,5.6s-5.6,8.42 -5.6,13.53c0,5.11 1.99,9.91 5.6,13.53s8.42,5.6 13.53,5.6h20.7v1Z"
-      android:fillColor="#80868b"/>
-  <path
-      android:pathData="M345.19,184c-2.99,-0 -5.91,0.88 -8.4,2.54 -2.49,1.66 -4.43,4.02 -5.57,6.78s-1.45,5.8 -0.86,8.73c0.58,2.93 2.02,5.63 4.13,7.74 2.11,2.11 4.81,3.55 7.74,4.14 2.93,0.58 5.97,0.29 8.73,-0.86 2.76,-1.14 5.12,-3.08 6.78,-5.57 1.66,-2.49 2.55,-5.41 2.55,-8.4 0,-4.01 -1.59,-7.85 -4.42,-10.68 -2.83,-2.83 -6.67,-4.43 -10.68,-4.43ZM345.19,191.28c0.4,0.03 0.77,0.21 1.04,0.51 0.27,0.29 0.42,0.68 0.42,1.08 0,0.4 -0.15,0.79 -0.42,1.08 -0.27,0.29 -0.64,0.47 -1.04,0.51 -0.22,0.02 -0.44,-0.01 -0.65,-0.08 -0.21,-0.07 -0.4,-0.19 -0.56,-0.33 -0.16,-0.15 -0.29,-0.33 -0.38,-0.53 -0.09,-0.2 -0.13,-0.42 -0.13,-0.64 0,-0.22 0.05,-0.44 0.13,-0.64 0.09,-0.2 0.22,-0.38 0.38,-0.53 0.16,-0.15 0.35,-0.26 0.56,-0.33 0.21,-0.07 0.43,-0.1 0.65,-0.08ZM347.56,196.82v10.29h-1.58v-4.76h-1.59v4.75h-1.58v-10.28c-1.6,-0.12 -3.19,-0.39 -4.75,-0.79l0.4,-1.58c4.42,1.05 9.04,1.05 13.46,0l0.39,1.58c-1.57,0.41 -3.17,0.67 -4.79,0.79h0.04Z"
-      android:fillColor="#dadce0"/>
-</vector>
diff --git a/res/drawable-night/accessibility_button_preview_three_finger.xml b/res/drawable-night/accessibility_button_preview_three_finger.xml
deleted file mode 100644
index 7afb0f7..0000000
--- a/res/drawable-night/accessibility_button_preview_three_finger.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2021 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <path
-      android:fillColor="#FF000000"
-      android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"/>
-  <path
-      android:pathData="M242.5,226.9h-73.3c-1.7,0 -3.1,1.4 -3.1,3.1s1.4,3.1 3.1,3.1h73.3c1.7,0 3.1,-1.4 3.1,-3.1S244.2,226.9 242.5,226.9z"
-      android:fillColor="#80868B"/>
-  <path
-      android:pathData="M182.7,222.6v-17.5h7.5l-10.6,-18.7l-10.6,18.7h7.5v17.5c-2.9,1.2 -4.9,4 -4.9,7.4c0,4.4 3.5,8 8,8c4.4,0 8,-3.5 8,-8C187.6,226.7 185.6,223.8 182.7,222.6z"
-      android:fillColor="#669DF6"/>
-  <path
-      android:pathData="M209,222.6v-17.5h7.5l-10.6,-18.7l-10.6,18.7h7.5v17.5c-2.9,1.2 -4.9,4 -4.9,7.4c0,4.4 3.5,8 8,8c4.4,0 8,-3.5 8,-8C213.9,226.7 211.9,223.8 209,222.6z"
-      android:fillColor="#669DF6"/>
-  <path
-      android:pathData="M235.2,222.6v-17.5h7.5l-10.6,-18.7l-10.6,18.7h7.5v17.5c-2.9,1.2 -4.9,4 -4.9,7.4c0,4.4 3.5,8 8,8c4.4,0 8,-3.5 8,-8C240,226.7 238,223.8 235.2,222.6z"
-      android:fillColor="#669DF6"/>
-  <path
-      android:pathData="M325.4,231.9c0,9.8 -7.9,17.7 -17.7,17.7H103.9c-9.8,0 -17.7,-7.9 -17.7,-17.7V0h-4.4v231.9c0,12.2 9.9,22.2 22.1,22.2h203.8c12.2,0 22.1,-9.9 22.1,-22.2V14.8c2.4,0 4.4,-2 4.4,-4.4V0h-8.9V231.9z"
-      android:fillColor="#80868B"/>
-</vector>
diff --git a/res/drawable-night/accessibility_button_preview_three_finger_tablet.xml b/res/drawable-night/accessibility_button_preview_three_finger_tablet.xml
deleted file mode 100644
index 5a0925c..0000000
--- a/res/drawable-night/accessibility_button_preview_three_finger_tablet.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <group>
-    <clip-path
-        android:pathData="M0,0h412v300h-412z"/>
-    <path
-        android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
-        android:fillColor="#80868B"/>
-    <path
-        android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
-        android:strokeWidth="2.5"
-        android:fillColor="#000000"
-        android:strokeColor="#80868B"/>
-    <path
-        android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
-        android:fillColor="#80868B"/>
-    <path
-        android:pathData="M170.9,232.14L241.9,232.14A2,2 0,0 1,243.9 234.14L243.9,234.14A2,2 0,0 1,241.9 236.14L170.9,236.14A2,2 0,0 1,168.9 234.14L168.9,234.14A2,2 0,0 1,170.9 232.14z"
-        android:fillColor="#80868B"/>
-    <path
-        android:pathData="M188.7,229.14V217.74H193.6L186.7,205.54L179.8,217.74H184.7V229.14C182.8,229.94 181.5,231.74 181.5,233.94C181.5,236.84 183.8,239.14 186.7,239.14C189.6,239.14 191.9,236.84 191.9,233.94C191.9,231.84 190.5,229.94 188.7,229.14Z"
-        android:fillColor="#669DF6"/>
-    <path
-        android:pathData="M208,229.14V217.74H212.9L206,205.54L199.1,217.74H204V229.14C202.1,229.94 200.8,231.74 200.8,233.94C200.8,236.84 203.1,239.14 206,239.14C208.9,239.14 211.2,236.84 211.2,233.94C211.2,231.84 209.9,229.94 208,229.14Z"
-        android:fillColor="#669DF6"/>
-    <path
-        android:pathData="M227.29,229.14V217.74H232.2L225.29,205.54L218.4,217.74H223.29V229.14C221.4,229.94 220.1,231.74 220.1,233.94C220.1,236.84 222.4,239.14 225.29,239.14C228.2,239.14 230.49,236.84 230.49,233.94C230.49,231.84 229.2,229.94 227.29,229.14Z"
-        android:fillColor="#669DF6"/>
-  </group>
-</vector>
diff --git a/res/drawable-night/accessibility_button_preview_two_finger.xml b/res/drawable-night/accessibility_button_preview_two_finger.xml
deleted file mode 100644
index 05871d9..0000000
--- a/res/drawable-night/accessibility_button_preview_two_finger.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2021 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <path
-      android:fillColor="#FF000000"
-      android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"/>
-  <path
-      android:pathData="M325.4,231.9c0,9.8 -7.9,17.7 -17.7,17.7H103.9c-9.8,0 -17.7,-7.9 -17.7,-17.7V0h-4.4v231.9c0,12.2 9.9,22.2 22.1,22.2h203.8c12.2,0 22.1,-9.9 22.1,-22.2V14.8c2.4,0 4.4,-2 4.4,-4.4V0h-8.9V231.9z"
-      android:fillColor="#80868B"/>
-  <path
-      android:pathData="M242.4,226.9h-9.3h-5.6h-43.4h-4.7h-10.2c-1.7,0 -3.1,1.4 -3.1,3.1s1.4,3.1 3.1,3.1h10.2h3.9h45h4.8h9.3c1.7,0 3.1,-1.4 3.1,-3.1S244.1,226.9 242.4,226.9z"
-      android:fillColor="#80868B"/>
-  <path
-      android:pathData="M194,223.5v-17.5h7.5l-10.6,-18.7l-10.6,18.7h7.5v17.5c-1.6,0.7 -2.9,1.9 -3.8,3.4c-0.7,1.2 -1.1,2.5 -1.1,4c0,0.7 0.1,1.5 0.3,2.2c0.9,3.3 4,5.8 7.7,5.8c3.6,0 6.7,-2.5 7.7,-5.8c0.2,-0.7 0.3,-1.4 0.3,-2.2c0,-1.5 -0.4,-2.8 -1.1,-4C197,225.4 195.6,224.2 194,223.5z"
-      android:fillColor="#669DF6"/>
-  <path
-      android:pathData="M223.7,223.5v-17.5h7.5l-10.6,-18.7l-10.6,18.7h7.5v17.5c-1.6,0.7 -2.9,1.9 -3.8,3.4c-0.7,1.2 -1.1,2.5 -1.1,4c0,0.7 0.1,1.5 0.3,2.2c0.9,3.3 4,5.8 7.7,5.8c3.6,0 6.7,-2.5 7.7,-5.8c0.2,-0.7 0.3,-1.4 0.3,-2.2c0,-1.5 -0.4,-2.8 -1.1,-4C226.6,225.4 225.3,224.2 223.7,223.5z"
-      android:fillColor="#669DF6"/>
-</vector>
diff --git a/res/drawable-night/accessibility_button_preview_two_finger_tablet.xml b/res/drawable-night/accessibility_button_preview_two_finger_tablet.xml
deleted file mode 100644
index ba9c771..0000000
--- a/res/drawable-night/accessibility_button_preview_two_finger_tablet.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <group>
-    <clip-path
-        android:pathData="M0,0h412v300h-412z"/>
-    <path
-        android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
-        android:fillColor="#80868B"/>
-    <path
-        android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
-        android:strokeWidth="2.5"
-        android:fillColor="#000000"
-        android:strokeColor="#80868B"/>
-    <path
-        android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
-        android:fillColor="#80868B"/>
-    <path
-        android:pathData="M170.9,232.14L241.9,232.14A2,2 0,0 1,243.9 234.14L243.9,234.14A2,2 0,0 1,241.9 236.14L170.9,236.14A2,2 0,0 1,168.9 234.14L168.9,234.14A2,2 0,0 1,170.9 232.14z"
-        android:fillColor="#80868B"/>
-    <path
-        android:pathData="M198.35,229.14V217.74H203.25L196.35,205.54L189.45,217.74H194.35V229.14C192.45,229.94 191.15,231.74 191.15,233.94C191.15,236.84 193.45,239.14 196.35,239.14C199.25,239.14 201.55,236.84 201.55,233.94C201.55,231.84 200.15,229.94 198.35,229.14Z"
-        android:fillColor="#669DF6"/>
-    <path
-        android:pathData="M217.65,229.14V217.74H222.55L215.65,205.54L208.75,217.74H213.65V229.14C211.75,229.94 210.45,231.74 210.45,233.94C210.45,236.84 212.75,239.14 215.65,239.14C218.55,239.14 220.85,236.84 220.85,233.94C220.85,231.84 219.55,229.94 217.65,229.14Z"
-        android:fillColor="#669DF6"/>
-  </group>
-</vector>
diff --git a/res/drawable-night/accessibility_gesture_navigation_three_finger_preview.xml b/res/drawable-night/accessibility_gesture_navigation_three_finger_preview.xml
deleted file mode 100644
index 593c3af..0000000
--- a/res/drawable-night/accessibility_gesture_navigation_three_finger_preview.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2021 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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"
-    xmlns:aapt="http://schemas.android.com/aapt"
-    android:width="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <path
-      android:fillColor="#FF000000"
-      android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"/>
-  <path
-      android:pathData="M274.9,97.7v-9.5c0,-1.3 -1.1,-2.4 -2.4,-2.4V35.9c0,-6.6 -5.3,-11.9 -11.9,-11.9H151.3c-6.6,0 -11.9,5.3 -11.9,11.9v228.2c0,6.6 5.3,11.9 11.9,11.9h109.4c6.6,0 11.9,-5.3 11.9,-11.9V147.6c1.3,0 2.4,-1.1 2.4,-2.4v-23.8c0,-1.3 -1.1,-2.4 -2.4,-2.4v-19C273.9,100.1 274.9,99 274.9,97.7zM270.2,264.1c0,5.2 -4.3,9.5 -9.5,9.5H151.3c-5.2,0 -9.5,-4.3 -9.5,-9.5V35.9c0,-5.2 4.3,-9.5 9.5,-9.5h109.4c5.2,0 9.5,4.3 9.5,9.5V264.1z"
-      android:fillColor="#80868B"/>
-  <path
-      android:pathData="M176.7,209.6c-3.7,0 -6.6,3 -6.6,6.6v24.6h13.3v-24.6C183.4,212.6 180.4,209.6 176.7,209.6z">
-    <aapt:attr name="android:fillColor">
-      <gradient
-          android:startY="240.8954"
-          android:startX="176.75"
-          android:endY="209.6335"
-          android:endX="176.75"
-          android:type="linear">
-        <item android:offset="0" android:color="#00669DF6"/>
-        <item android:offset="0.695" android:color="#FF669DF6"/>
-      </gradient>
-    </aapt:attr>
-  </path>
-  <path
-      android:pathData="M206,209.6c-3.7,0 -6.6,3 -6.6,6.6v24.6h13.3v-24.6C212.6,212.6 209.7,209.6 206,209.6z">
-    <aapt:attr name="android:fillColor">
-      <gradient
-          android:startY="240.8954"
-          android:startX="206.05"
-          android:endY="209.6335"
-          android:endX="206.05"
-          android:type="linear">
-        <item android:offset="0" android:color="#00669DF6"/>
-        <item android:offset="0.695" android:color="#FF669DF6"/>
-      </gradient>
-    </aapt:attr>
-  </path>
-  <path
-      android:pathData="M235.3,209.6c-3.7,0 -6.6,3 -6.6,6.6v24.6H242v-24.6C241.9,212.6 239,209.6 235.3,209.6z">
-    <aapt:attr name="android:fillColor">
-      <gradient
-          android:startY="240.8954"
-          android:startX="235.35"
-          android:endY="209.6335"
-          android:endX="235.35"
-          android:type="linear">
-        <item android:offset="0" android:color="#00669DF6"/>
-        <item android:offset="0.695" android:color="#FF669DF6"/>
-      </gradient>
-    </aapt:attr>
-  </path>
-</vector>
diff --git a/res/drawable-night/accessibility_gesture_navigation_three_finger_preview_tablet.xml b/res/drawable-night/accessibility_gesture_navigation_three_finger_preview_tablet.xml
deleted file mode 100644
index 1710fa4..0000000
--- a/res/drawable-night/accessibility_gesture_navigation_three_finger_preview_tablet.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2023 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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"
-    xmlns:aapt="http://schemas.android.com/aapt"
-    android:width="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <group>
-    <clip-path
-        android:pathData="M0,0h412v300h-412z"/>
-    <path
-        android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
-        android:fillColor="#80868B"/>
-    <path
-        android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
-        android:strokeWidth="2.5"
-        android:fillColor="#000000"
-        android:strokeColor="#80868B"/>
-    <path
-        android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
-        android:fillColor="#80868B"/>
-    <path
-        android:pathData="M176.84,188.94C173.14,188.94 170.24,191.94 170.24,195.54V220.14H183.54V195.54C183.54,191.94 180.54,188.94 176.84,188.94Z">
-      <aapt:attr name="android:fillColor">
-        <gradient
-            android:startX="176.89"
-            android:startY="220.23"
-            android:endX="176.89"
-            android:endY="188.97"
-            android:type="linear">
-          <item android:offset="0" android:color="#00669DF6"/>
-          <item android:offset="0.69" android:color="#FF669DF6"/>
-        </gradient>
-      </aapt:attr>
-    </path>
-    <path
-        android:pathData="M206.14,188.94C202.44,188.94 199.54,191.94 199.54,195.54V220.14H212.84V195.54C212.74,191.94 209.84,188.94 206.14,188.94Z">
-      <aapt:attr name="android:fillColor">
-        <gradient
-            android:startX="206.19"
-            android:startY="220.23"
-            android:endX="206.19"
-            android:endY="188.97"
-            android:type="linear">
-          <item android:offset="0" android:color="#00669DF6"/>
-          <item android:offset="0.69" android:color="#FF669DF6"/>
-        </gradient>
-      </aapt:attr>
-    </path>
-    <path
-        android:pathData="M235.44,188.94C231.74,188.94 228.84,191.94 228.84,195.54V220.14H242.14V195.54C242.04,191.94 239.14,188.94 235.44,188.94Z">
-      <aapt:attr name="android:fillColor">
-        <gradient
-            android:startX="235.49"
-            android:startY="220.23"
-            android:endX="235.49"
-            android:endY="188.97"
-            android:type="linear">
-          <item android:offset="0" android:color="#00669DF6"/>
-          <item android:offset="0.69" android:color="#FF669DF6"/>
-        </gradient>
-      </aapt:attr>
-    </path>
-  </group>
-</vector>
diff --git a/res/drawable-night/accessibility_gesture_navigation_two_finger_preview.xml b/res/drawable-night/accessibility_gesture_navigation_two_finger_preview.xml
deleted file mode 100644
index c95523b..0000000
--- a/res/drawable-night/accessibility_gesture_navigation_two_finger_preview.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2021 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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"
-    xmlns:aapt="http://schemas.android.com/aapt"
-    android:width="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <path
-      android:fillColor="#FF000000"
-      android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"/>
-  <path
-      android:pathData="M274.9,97.7v-9.5c0,-1.3 -1.1,-2.4 -2.4,-2.4V35.9c0,-6.6 -5.3,-11.9 -11.9,-11.9H151.3c-6.6,0 -11.9,5.3 -11.9,11.9v228.2c0,6.6 5.3,11.9 11.9,11.9h109.4c6.6,0 11.9,-5.3 11.9,-11.9V147.6c1.3,0 2.4,-1.1 2.4,-2.4v-23.8c0,-1.3 -1.1,-2.4 -2.4,-2.4v-19C273.9,100.1 274.9,99 274.9,97.7zM270.2,264.1c0,5.2 -4.3,9.5 -9.5,9.5H151.3c-5.2,0 -9.5,-4.3 -9.5,-9.5V35.9c0,-5.2 4.3,-9.5 9.5,-9.5h109.4c5.2,0 9.5,4.3 9.5,9.5V264.1z"
-      android:fillColor="#80868B"/>
-  <path
-      android:pathData="M188.6,209.6c-3.7,0 -6.6,3 -6.6,6.6v24.6h13.3v-24.6C195.3,212.6 192.3,209.6 188.6,209.6z">
-    <aapt:attr name="android:fillColor">
-      <gradient
-          android:startY="240.8954"
-          android:startX="188.65"
-          android:endY="209.6335"
-          android:endX="188.65"
-          android:type="linear">
-        <item android:offset="0" android:color="#00669DF6"/>
-        <item android:offset="0.695" android:color="#FF669DF6"/>
-      </gradient>
-    </aapt:attr>
-  </path>
-  <path
-      android:pathData="M223.4,209.6c-3.7,0 -6.6,3 -6.6,6.6v24.6H230v-24.6C230,212.6 227.1,209.6 223.4,209.6z">
-    <aapt:attr name="android:fillColor">
-      <gradient
-          android:startY="240.8954"
-          android:startX="223.4"
-          android:endY="209.6335"
-          android:endX="223.4"
-          android:type="linear">
-        <item android:offset="0" android:color="#00669DF6"/>
-        <item android:offset="0.695" android:color="#FF669DF6"/>
-      </gradient>
-    </aapt:attr>
-  </path>
-</vector>
diff --git a/res/drawable-night/accessibility_gesture_navigation_two_finger_preview_tablet.xml b/res/drawable-night/accessibility_gesture_navigation_two_finger_preview_tablet.xml
deleted file mode 100644
index 7a5cc48..0000000
--- a/res/drawable-night/accessibility_gesture_navigation_two_finger_preview_tablet.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2023 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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"
-    xmlns:aapt="http://schemas.android.com/aapt"
-    android:width="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <group>
-    <clip-path
-        android:pathData="M0,0h412v300h-412z"/>
-    <path
-        android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
-        android:fillColor="#80868B"/>
-    <path
-        android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
-        android:strokeWidth="2.5"
-        android:fillColor="#000000"
-        android:strokeColor="#80868B"/>
-    <path
-        android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
-        android:fillColor="#80868B"/>
-    <path
-        android:pathData="M188.15,188.94C184.45,188.94 181.55,191.94 181.55,195.54V220.14H194.85V195.54C194.85,191.94 191.85,188.94 188.15,188.94Z">
-      <aapt:attr name="android:fillColor">
-        <gradient
-            android:startX="188.2"
-            android:startY="220.23"
-            android:endX="188.2"
-            android:endY="188.97"
-            android:type="linear">
-          <item android:offset="0" android:color="#00669DF6"/>
-          <item android:offset="0.69" android:color="#FF669DF6"/>
-        </gradient>
-      </aapt:attr>
-    </path>
-    <path
-        android:pathData="M222.95,188.94C219.25,188.94 216.35,191.94 216.35,195.54V220.14H229.55V195.54C229.55,191.94 226.65,188.94 222.95,188.94Z">
-      <aapt:attr name="android:fillColor">
-        <gradient
-            android:startX="222.95"
-            android:startY="220.23"
-            android:endX="222.95"
-            android:endY="188.97"
-            android:type="linear">
-          <item android:offset="0" android:color="#00669DF6"/>
-          <item android:offset="0.69" android:color="#FF669DF6"/>
-        </gradient>
-      </aapt:attr>
-    </path>
-  </group>
-</vector>
diff --git a/res/drawable-night/accessibility_shortcut_type_hardware.xml b/res/drawable-night/accessibility_shortcut_type_hardware.xml
deleted file mode 100644
index 9ef3664..0000000
--- a/res/drawable-night/accessibility_shortcut_type_hardware.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2021 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <path
-      android:fillColor="#FF000000"
-      android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"/>
-  <path
-      android:pathData="M206.1,19.1c35,0 67.9,13.6 92.6,38.4C323.4,82.1 337,115 337,150s-13.6,67.9 -38.4,92.6C273.9,267.3 241,281 206,281s-67.9,-13.6 -92.6,-38.4C88.8,217.9 75.1,185 75.1,150s13.6,-67.9 38.4,-92.6S171.1,19.1 206.1,19.1M206.1,17.1c-73.4,0 -133,59.5 -133,132.9S132.6,282.9 206,282.9s133,-59.5 133,-132.9S279.5,17.1 206.1,17.1L206.1,17.1z"
-      android:fillColor="#3C4043"/>
-  <path
-      android:pathData="M287,187.8v-1.5h2.9v-13.7c0,-1.6 -1.3,-2.9 -2.9,-2.9v-23.2c1.6,0 2.9,-1.3 2.9,-2.9V132c0,-1.6 -1.3,-2.9 -2.9,-2.9V68.4c0,-8 -6.5,-14.5 -14.5,-14.5H139.4c-8,0 -14.5,6.5 -14.5,14.5v185.3c1,0.7 1.9,1.4 2.9,2.1V68.4c0,-6.4 5.2,-11.6 11.6,-11.6h133.1c6.4,0 11.6,5.2 11.6,11.6v188.7c1,-0.7 1.9,-1.4 2.9,-2.2v-50.5c1.6,0 2.9,-1.3 2.9,-2.9v-13.7H287z"
-      android:fillColor="#80868B"/>
-  <path
-      android:pathData="M287,204.4c1.6,0 2.9,-1.3 2.9,-2.9v-14H287v-0.9h2.9v-14c0,-1.6 -1.3,-2.9 -2.9,-2.9"
-      android:fillColor="#669DF6"/>
-  <path
-      android:pathData="M825.7,300H469.3c-15.3,0 -27.8,-12.8 -27.8,-28.5v-243C441.5,12.8 454,0 469.3,0h356.5c15.2,0 27.7,12.8 27.7,28.5v243.2C853.5,287.2 841,300 825.7,300z"
-      android:fillColor="#FFFFFF"/>
-  <path
-      android:pathData="M728.5,187.8v-1.5h2.9v-13.7c0,-1.6 -1.3,-2.9 -2.9,-2.9v-23.2c1.6,0 2.9,-1.3 2.9,-2.9V132c0,-1.6 -1.3,-2.9 -2.9,-2.9V68.4c0,-8 -6.5,-14.5 -14.5,-14.5H580.9c-8,0 -14.5,6.5 -14.5,14.5v185.3c1,0.7 1.9,1.4 2.9,2.1V68.4c0,-6.4 5.2,-11.6 11.6,-11.6H714c6.4,0 11.6,5.2 11.6,11.6v188.7c1,-0.7 1.9,-1.4 2.9,-2.2v-50.5c1.6,0 2.9,-1.3 2.9,-2.9v-13.7H728.5z"
-      android:fillColor="#DADCE0"/>
-  <path
-      android:pathData="M728.5,204.4c1.6,0 2.9,-1.3 2.9,-2.9v-14h-2.9v-0.9h2.9v-14c0,-1.6 -1.3,-2.9 -2.9,-2.9"
-      android:fillColor="#1A73E8"/>
-  <path
-      android:pathData="M648.2,19.1c35,0 67.9,13.6 92.6,38.4c24.7,24.6 38.3,57.5 38.3,92.5s-13.6,67.9 -38.4,92.6C716,267.3 683.1,281 648.1,281s-67.9,-13.6 -92.6,-38.4c-24.6,-24.7 -38.3,-57.6 -38.3,-92.6s13.6,-67.9 38.4,-92.6C580.4,32.7 613.2,19.1 648.2,19.1M648.2,17.1c-73.4,0 -133,59.5 -133,132.9s59.5,132.9 132.9,132.9s133,-59.5 133,-132.9S721.6,17.1 648.2,17.1L648.2,17.1z"
-      android:fillColor="#E8EAED"/>
-</vector>
diff --git a/res/drawable-night/accessibility_shortcut_type_hardware_tablet.xml b/res/drawable-night/accessibility_shortcut_type_hardware_tablet.xml
deleted file mode 100644
index 1040d05..0000000
--- a/res/drawable-night/accessibility_shortcut_type_hardware_tablet.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <group>
-    <clip-path
-        android:pathData="M0,0h412v300h-412z"/>
-    <path
-        android:pathData="M255.38,94.3C255.38,93.14 256.32,92.21 257.47,92.21L275.86,92.21C277.01,92.21 277.95,93.14 277.95,94.3L267.08,95.14L255.38,94.3Z"
-        android:fillColor="#669DF6"/>
-    <path
-        android:pathData="M340.09,110.17L340.09,248.55A14.5,14.5 0,0 1,325.59 263.05L88,263.05A14.5,14.5 0,0 1,73.5 248.55L73.5,110.17A14.5,14.5 0,0 1,88 95.67L325.59,95.67A14.5,14.5 0,0 1,340.09 110.17z"
-        android:strokeWidth="3"
-        android:fillColor="#000000"
-        android:strokeColor="#80868B"/>
-    <path
-        android:pathData="M295.77,94.3C295.77,93.14 296.7,92.21 297.86,92.21L305.38,92.21C306.53,92.21 307.46,93.14 307.46,94.3L302.45,95.14L295.77,94.3Z"
-        android:fillColor="#80868B"/>
-    <group>
-      <clip-path
-          android:pathData="M274,30L274,30A93,93 0,0 1,367 123L367,123A93,93 0,0 1,274 216L274,216A93,93 0,0 1,181 123L181,123A93,93 0,0 1,274 30z"/>
-      <path
-          android:pathData="M274,30L274,30A93,93 0,0 1,367 123L367,123A93,93 0,0 1,274 216L274,216A93,93 0,0 1,181 123L181,123A93,93 0,0 1,274 30z"
-          android:fillColor="#000000"/>
-      <path
-          android:pathData="M206.07,85.49C206.07,83.45 207.72,81.79 209.75,81.79L242.17,81.79C244.21,81.79 245.86,83.45 245.86,85.49L226.7,86.97L206.07,85.49Z"
-          android:fillColor="#669DF6"/>
-      <path
-          android:pathData="M345.84,101.25L345.84,369.73A14.25,14.25 0,0 1,331.59 383.98L-111.85,383.98A14.25,14.25 0,0 1,-126.1 369.73L-126.1,101.25A14.25,14.25 0,0 1,-111.85 87L331.59,87A14.25,14.25 0,0 1,345.84 101.25z"
-          android:strokeWidth="3.5"
-          android:fillColor="#000000"
-          android:strokeColor="#80868B"/>
-      <path
-          android:pathData="M266.77,85.49C266.77,83.45 268.42,81.79 270.46,81.79L283.72,81.79C285.75,81.79 287.4,83.45 287.4,85.49L278.56,86.97L266.77,85.49Z"
-          android:fillColor="#80868B"/>
-    </group>
-    <path
-        android:strokeWidth="1"
-        android:pathData="M274,30.5L274,30.5A92.5,92.5 0,0 1,366.5 123L366.5,123A92.5,92.5 0,0 1,274 215.5L274,215.5A92.5,92.5 0,0 1,181.5 123L181.5,123A92.5,92.5 0,0 1,274 30.5z"
-        android:fillColor="#00000000"
-        android:strokeColor="#80868B"/>
-  </group>
-</vector>
diff --git a/res/drawable-night/accessibility_shortcut_type_software.xml b/res/drawable-night/accessibility_shortcut_type_software.xml
deleted file mode 100644
index 8d55ae9..0000000
--- a/res/drawable-night/accessibility_shortcut_type_software.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2021 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <path
-      android:fillColor="#FF000000"
-      android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5V28.5C0,12.8 12.5,0 27.8,0H384.3C399.5,0 412,12.8 412,28.5V271.7C412,287.2 399.5,300 384.2,300Z"/>
-  <path
-      android:pathData="M142,225.3H275.1a14.51,14.51 0,0 0,14.5 -14.5V69a2.9,2.9 0,0 0,2.9 -2.9v-17c-1.9,-1.6 -3.8,-3.2 -5.8,-4.7V210.8a11.61,11.61 0,0 1,-11.6 11.6H142a11.61,11.61 0,0 1,-11.6 -11.6V42.7c-1,0.7 -1.9,1.4 -2.9,2.1V210.9A14.62,14.62 0,0 0,142 225.3Z"
-      android:fillColor="#80868b"/>
-  <path
-      android:pathData="M286.7,210.83a11.59,11.59 0,0 1,-11.58 11.58H142a11.59,11.59 0,0 1,-11.58 -11.58V183.26H286.7Z"
-      android:fillColor="#3c4043"/>
-  <path
-      android:pathData="M250.41,193.38a1.77,1.77 0,1 1,-1.78 1.77A1.77,1.77 0,0 1,250.41 193.38ZM253.07,199.58v11.53h-1.78v-5.32h-1.77v5.32h-1.77L247.75,199.58a30.78,30.78 0,0 1,-5.32 -0.89l0.44,-1.77a32.34,32.34 0,0 0,15.07 0l0.45,1.77A30.78,30.78 0,0 1,253.07 199.58Z"
-      android:fillColor="#fff"/>
-  <path
-      android:pathData="M208.55,202.84m-6.13,0a6.13,6.13 0,1 1,12.26 0a6.13,6.13 0,1 1,-12.26 0"
-      android:fillColor="#80868b"/>
-  <path
-      android:pathData="M250.41,202.84m-22.28,0a22.28,22.28 0,1 1,44.56 0a22.28,22.28 0,1 1,-44.56 0"
-      android:strokeWidth="2"
-      android:fillColor="#00000000"
-      android:strokeColor="#669df6"/>
-  <path
-      android:pathData="M160.45,202.84l10.43,6.02l0,-12.05l-10.43,6.03z"
-      android:fillColor="#80868b"/>
-  <path
-      android:pathData="M207.4,19.1a131.11,131.11 0,0 1,131 131,131 131,0 0,1 -262,-0.1 130.94,130.94 0,0 1,131 -130.9m0,-2A132.9,132.9 0,1 0,340.3 150,133 133,0 0,0 207.4,17.1Z"
-      android:fillColor="#3c4043"/>
-</vector>
diff --git a/res/drawable-night/accessibility_shortcut_type_software_floating.xml b/res/drawable-night/accessibility_shortcut_type_software_floating.xml
deleted file mode 100644
index 25d53ca..0000000
--- a/res/drawable-night/accessibility_shortcut_type_software_floating.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2021 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <path
-      android:fillColor="#FF000000"
-      android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5V28.5C0,12.8 12.5,0 27.8,0H384.3C399.5,0 412,12.8 412,28.5V271.7C412,287.2 399.5,300 384.2,300Z"/>
-  <path
-      android:pathData="M142,225.3H275.1a14.51,14.51 0,0 0,14.5 -14.5V69a2.9,2.9 0,0 0,2.9 -2.9v-17c-1.9,-1.6 -3.8,-3.2 -5.8,-4.7V210.8a11.61,11.61 0,0 1,-11.6 11.6H142a11.61,11.61 0,0 1,-11.6 -11.6V42.7c-1,0.7 -1.9,1.4 -2.9,2.1V210.9A14.62,14.62 0,0 0,142 225.3Z"
-      android:fillColor="#80868b"/>
-  <path
-      android:strokeWidth="1"
-      android:pathData="M286.7,144.13H266a19.63,19.63 0,1 0,0 39.26H286.7"
-      android:fillColor="#00000000"
-      android:strokeColor="#80868b"/>
-  <path
-      android:pathData="M266,148.65a15.11,15.11 0,1 0,15.1 15.11A15.11,15.11 0,0 0,266 148.65ZM266,155.93a1.59,1.59 0,0 1,0 3.17,1.59 1.59,0 1,1 0,-3.17ZM268.37,161.47v10.29h-1.58L266.79,167h-1.59v4.75h-1.58L263.62,161.47a27.23,27.23 0,0 1,-4.75 -0.79l0.4,-1.58a29.06,29.06 0,0 0,13.46 0l0.39,1.58A27.23,27.23 0,0 1,268.33 161.47Z"
-      android:fillColor="#dadce0"/>
-  <path
-      android:pathData="M207.4,19.1a131.11,131.11 0,0 1,131 131,131 131,0 0,1 -262,-0.1 130.94,130.94 0,0 1,131 -130.9m0,-2A132.9,132.9 0,1 0,340.3 150,133 133,0 0,0 207.4,17.1Z"
-      android:fillColor="#3c4043"/>
-</vector>
diff --git a/res/drawable-night/accessibility_shortcut_type_software_floating_tablet.xml b/res/drawable-night/accessibility_shortcut_type_software_floating_tablet.xml
deleted file mode 100644
index c0b562e..0000000
--- a/res/drawable-night/accessibility_shortcut_type_software_floating_tablet.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <group>
-    <clip-path
-        android:pathData="M0,0h412v300h-412z"/>
-    <path
-        android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
-        android:fillColor="#80868B"/>
-    <path
-        android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
-        android:strokeWidth="2.5"
-        android:fillColor="#000000"
-        android:strokeColor="#80868B"/>
-    <path
-        android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
-        android:fillColor="#80868B"/>
-  </group>
-  <path
-      android:strokeWidth="1"
-      android:pathData="M365.64,179.48H344.94C339.74,179.48 334.74,181.54 331.06,185.23C327.38,188.91 325.31,193.9 325.31,199.11C325.31,204.31 327.38,209.3 331.06,212.99C334.74,216.67 339.74,218.74 344.94,218.74H365.64"
-      android:fillColor="#00000000"
-      android:strokeColor="#80868B"/>
-  <path
-      android:pathData="M344.95,184C341.96,183.99 339.04,184.88 336.55,186.54C334.06,188.2 332.12,190.56 330.98,193.32C329.83,196.08 329.53,199.12 330.11,202.05C330.7,204.98 332.14,207.67 334.25,209.79C336.36,211.9 339.05,213.34 341.98,213.93C344.92,214.51 347.95,214.21 350.72,213.07C353.48,211.92 355.84,209.99 357.5,207.5C359.16,205.02 360.05,202.1 360.05,199.11C360.05,195.1 358.46,191.26 355.62,188.43C352.79,185.59 348.95,184 344.95,184ZM344.95,191.28C345.35,191.31 345.72,191.49 345.99,191.78C346.26,192.08 346.41,192.46 346.41,192.86C346.41,193.26 346.26,193.65 345.99,193.94C345.72,194.23 345.35,194.41 344.95,194.45C344.73,194.46 344.51,194.43 344.3,194.36C344.09,194.29 343.9,194.18 343.74,194.03C343.58,193.88 343.45,193.7 343.36,193.5C343.28,193.3 343.23,193.08 343.23,192.86C343.23,192.64 343.28,192.43 343.36,192.22C343.45,192.02 343.58,191.84 343.74,191.69C343.9,191.54 344.09,191.43 344.3,191.36C344.51,191.29 344.73,191.26 344.95,191.28ZM347.32,196.82V207.11H345.74V202.35H344.15V207.1H342.57V196.82C340.96,196.69 339.37,196.43 337.82,196.03L338.22,194.45C342.64,195.5 347.25,195.5 351.68,194.45L352.07,196.03C350.5,196.43 348.89,196.7 347.28,196.82H347.32Z"
-      android:fillColor="#DADCE0"/>
-</vector>
diff --git a/res/drawable-night/accessibility_shortcut_type_software_gesture.xml b/res/drawable-night/accessibility_shortcut_type_software_gesture.xml
deleted file mode 100644
index ea19f74..0000000
--- a/res/drawable-night/accessibility_shortcut_type_software_gesture.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2021 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-    <path
-        android:fillColor="#FF000000"
-        android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"/>
-    <path
-        android:pathData="M139.5,225.3h133.1c8,0 14.5,-6.5 14.5,-14.5V69c1.6,0 2.9,-1.3 2.9,-2.9v-17c-1.9,-1.6 -3.8,-3.2 -5.8,-4.7v166.4c0,6.4 -5.2,11.6 -11.6,11.6H139.5c-6.4,0 -11.6,-5.2 -11.6,-11.6V42.7c-1,0.7 -1.9,1.4 -2.9,2.1v166.1C125.1,218.8 131.6,225.3 139.5,225.3z"
-        android:fillColor="#80868B"/>
-    <path
-        android:pathData="M229.9,207.9h-47.8c-1.1,0 -2,0.9 -2,2s0.9,2 2,2h47.8c1.1,0 2,-0.9 2,-2S231,207.9 229.9,207.9z"
-        android:fillColor="#80868B"/>
-    <path
-        android:pathData="M198.4,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2s5.2,-2.3 5.2,-5.2C201.6,208.4 200.2,206.5 198.4,205.7z"
-        android:fillColor="#669DF6"/>
-    <path
-        android:pathData="M217.7,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2s5.2,-2.3 5.2,-5.2C220.9,208.4 219.6,206.5 217.7,205.7z"
-        android:fillColor="#669DF6"/>
-    <path
-        android:pathData="M206.1,19.1c35,0 67.9,13.6 92.6,38.4c24.7,24.7 38.4,57.6 38.4,92.6s-13.6,67.9 -38.4,92.6c-24.7,24.7 -57.6,38.4 -92.6,38.4s-67.9,-13.6 -92.6,-38.4C88.8,217.9 75.1,185 75.1,150s13.6,-67.9 38.4,-92.6C138.2,32.7 171.1,19.1 206.1,19.1M206.1,17.1c-73.4,0 -133,59.5 -133,132.9S132.6,282.9 206,282.9S339,223.4 339,150S279.5,17.1 206.1,17.1L206.1,17.1z"
-        android:fillColor="#3C4043"/>
-</vector>
\ No newline at end of file
diff --git a/res/drawable-night/accessibility_shortcut_type_software_gesture_tablet.xml b/res/drawable-night/accessibility_shortcut_type_software_gesture_tablet.xml
deleted file mode 100644
index 129f13d..0000000
--- a/res/drawable-night/accessibility_shortcut_type_software_gesture_tablet.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2023 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-    <group>
-        <clip-path
-            android:pathData="M0,0h412v300h-412z"/>
-        <path
-            android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
-            android:fillColor="#80868B"/>
-        <path
-            android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
-            android:strokeWidth="2.5"
-            android:fillColor="#000000"
-            android:strokeColor="#80868B"/>
-        <path
-            android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
-            android:fillColor="#80868B"/>
-        <path
-            android:pathData="M170.9,232.14L241.9,232.14A2,2 0,0 1,243.9 234.14L243.9,234.14A2,2 0,0 1,241.9 236.14L170.9,236.14A2,2 0,0 1,168.9 234.14L168.9,234.14A2,2 0,0 1,170.9 232.14z"
-            android:fillColor="#80868B"/>
-        <path
-            android:pathData="M198.35,229.14V217.74H203.25L196.35,205.54L189.45,217.74H194.35V229.14C192.45,229.94 191.15,231.74 191.15,233.94C191.15,236.84 193.45,239.14 196.35,239.14C199.25,239.14 201.55,236.84 201.55,233.94C201.55,231.84 200.15,229.94 198.35,229.14Z"
-            android:fillColor="#669DF6"/>
-        <path
-            android:pathData="M217.65,229.14V217.74H222.55L215.65,205.54L208.75,217.74H213.65V229.14C211.75,229.94 210.45,231.74 210.45,233.94C210.45,236.84 212.75,239.14 215.65,239.14C218.55,239.14 220.85,236.84 220.85,233.94C220.85,231.84 219.55,229.94 217.65,229.14Z"
-            android:fillColor="#669DF6"/>
-    </group>
-</vector>
diff --git a/res/drawable-night/accessibility_shortcut_type_software_gesture_talkback.xml b/res/drawable-night/accessibility_shortcut_type_software_gesture_talkback.xml
deleted file mode 100644
index bd9bf19..0000000
--- a/res/drawable-night/accessibility_shortcut_type_software_gesture_talkback.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2021 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-    <path
-        android:fillColor="#FF000000"
-        android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"/>
-    <path
-        android:pathData="M138,225.3h133.1c8,0 14.5,-6.5 14.5,-14.5V69c1.6,0 2.9,-1.3 2.9,-2.9V45.7c-1.9,-1.5 -3.8,-2.9 -5.8,-4.3v169.4c0,6.4 -5.2,11.6 -11.6,11.6H138c-6.4,0 -11.6,-5.2 -11.6,-11.6V43.5c-1,0.7 -1.9,1.5 -2.9,2.2v165C123.5,218.8 130,225.3 138,225.3z"
-        android:fillColor="#80868B"/>
-    <path
-        android:pathData="M206,283.9c-73.9,0 -133.9,-60.1 -133.9,-133.9S132.1,16.1 206,16.1c73.9,0 133.9,60.1 133.9,133.9S279.9,283.9 206,283.9zM206,18.1C133.2,18.1 74.1,77.2 74.1,150S133.2,281.9 206,281.9S337.9,222.8 337.9,150S278.8,18.1 206,18.1z"
-        android:fillColor="#3C4043"/>
-    <path
-        android:pathData="M229.9,207.9h-47.8c-1.1,0 -2,0.9 -2,2s0.9,2 2,2h47.8c1.1,0 2,-0.9 2,-2S231,207.9 229.9,207.9z"
-        android:fillColor="#80868B"/>
-    <path
-        android:pathData="M190.9,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2c2.9,0 5.2,-2.3 5.2,-5.2C194.1,208.4 192.8,206.5 190.9,205.7z"
-        android:fillColor="#669DF6"/>
-    <path
-        android:pathData="M208,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2c2.9,0 5.2,-2.3 5.2,-5.2C211.2,208.4 209.9,206.5 208,205.7z"
-        android:fillColor="#669DF6"/>
-    <path
-        android:pathData="M225.1,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2c2.9,0 5.2,-2.3 5.2,-5.2C228.2,208.4 226.9,206.5 225.1,205.7z"
-        android:fillColor="#669DF6"/>
-</vector>
\ No newline at end of file
diff --git a/res/drawable-night/accessibility_shortcut_type_software_gesture_talkback_tablet.xml b/res/drawable-night/accessibility_shortcut_type_software_gesture_talkback_tablet.xml
deleted file mode 100644
index d113fff..0000000
--- a/res/drawable-night/accessibility_shortcut_type_software_gesture_talkback_tablet.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2023 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-    <group>
-        <clip-path
-            android:pathData="M0,0h412v300h-412z"/>
-        <path
-            android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
-            android:fillColor="#80868B"/>
-        <path
-            android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
-            android:strokeWidth="2.5"
-            android:fillColor="#000000"
-            android:strokeColor="#80868B"/>
-        <path
-            android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
-            android:fillColor="#80868B"/>
-        <path
-            android:pathData="M170.9,232.14L241.9,232.14A2,2 0,0 1,243.9 234.14L243.9,234.14A2,2 0,0 1,241.9 236.14L170.9,236.14A2,2 0,0 1,168.9 234.14L168.9,234.14A2,2 0,0 1,170.9 232.14z"
-            android:fillColor="#80868B"/>
-        <path
-            android:pathData="M188.7,229.14V217.74H193.6L186.7,205.54L179.8,217.74H184.7V229.14C182.8,229.94 181.5,231.74 181.5,233.94C181.5,236.84 183.8,239.14 186.7,239.14C189.6,239.14 191.9,236.84 191.9,233.94C191.9,231.84 190.5,229.94 188.7,229.14Z"
-            android:fillColor="#669DF6"/>
-        <path
-            android:pathData="M208,229.14V217.74H212.9L206,205.54L199.1,217.74H204V229.14C202.1,229.94 200.8,231.74 200.8,233.94C200.8,236.84 203.1,239.14 206,239.14C208.9,239.14 211.2,236.84 211.2,233.94C211.2,231.84 209.9,229.94 208,229.14Z"
-            android:fillColor="#669DF6"/>
-        <path
-            android:pathData="M227.29,229.14V217.74H232.2L225.29,205.54L218.4,217.74H223.29V229.14C221.4,229.94 220.1,231.74 220.1,233.94C220.1,236.84 222.4,239.14 225.29,239.14C228.2,239.14 230.49,236.84 230.49,233.94C230.49,231.84 229.2,229.94 227.29,229.14Z"
-            android:fillColor="#669DF6"/>
-    </group>
-</vector>
diff --git a/res/drawable-night/accessibility_shortcut_type_software_tablet.xml b/res/drawable-night/accessibility_shortcut_type_software_tablet.xml
deleted file mode 100644
index 49a2661..0000000
--- a/res/drawable-night/accessibility_shortcut_type_software_tablet.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <group>
-    <clip-path
-        android:pathData="M62.23,50.19L349.77,50.19A16,16 0,0 1,365.77 66.19L365.77,236.14A16,16 0,0 1,349.77 252.14L62.23,252.14A16,16 0,0 1,46.23 236.14L46.23,66.19A16,16 0,0 1,62.23 50.19z"/>
-    <path
-        android:pathData="M46.23,204.14h320v48h-320z"
-        android:fillColor="#3D4043"/>
-    <path
-        android:pathData="M268.93,214.14C270.43,214.14 271.63,215.34 271.63,216.84C271.63,218.34 270.43,219.54 268.93,219.54C267.43,219.54 266.23,218.34 266.23,216.84C266.23,215.34 267.43,214.14 268.93,214.14ZM273.03,223.64V241.24H270.23V233.14H267.53V241.24H264.83V223.64C262.13,223.44 259.23,222.94 256.73,222.24L257.43,219.54C260.93,220.44 265.13,220.94 268.93,220.94C272.73,220.94 276.93,220.54 280.43,219.54L281.13,222.24C278.63,222.94 275.73,223.44 273.03,223.64Z"
-        android:fillColor="#ffffff"/>
-    <path
-        android:pathData="M206.23,238.04C211.42,238.04 215.63,233.83 215.63,228.64C215.63,223.45 211.42,219.24 206.23,219.24C201.04,219.24 196.83,223.45 196.83,228.64C196.83,233.83 201.04,238.04 206.23,238.04Z"
-        android:fillColor="#808589"/>
-    <path
-        android:pathData="M131.33,228.64L147.33,237.84V219.34L131.33,228.64Z"
-        android:fillColor="#808589"/>
-  </group>
-  <path
-      android:pathData="M62.23,51.69L349.77,51.69A14.5,14.5 0,0 1,364.27 66.19L364.27,236.14A14.5,14.5 0,0 1,349.77 250.64L62.23,250.64A14.5,14.5 0,0 1,47.73 236.14L47.73,66.19A14.5,14.5 0,0 1,62.23 51.69z"
-      android:strokeWidth="3"
-      android:fillColor="#00000000"
-      android:strokeColor="#80868B"/>
-  <path
-      android:pathData="M311.45,50.35C311.45,48.98 312.56,47.87 313.92,47.87L322.84,47.87C324.2,47.87 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
-      android:fillColor="#80868B"/>
-  <path
-      android:pathData="M263.59,50.35C263.59,48.98 264.7,47.87 266.06,47.87L287.85,47.87C289.22,47.87 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
-      android:fillColor="#80868B"/>
-  <path
-      android:pathData="M268.93,259.69C251.31,259.69 236.93,245.3 236.93,227.69C236.93,210.07 251.31,195.69 268.93,195.69C286.55,195.69 300.93,210.07 300.93,227.69C300.93,245.3 286.55,259.69 268.93,259.69ZM268.93,198.38C252.84,198.38 239.72,211.51 239.72,227.6C239.72,243.69 252.84,256.81 268.93,256.81C285.02,256.81 298.14,243.69 298.14,227.6C298.14,211.51 285.02,198.38 268.93,198.38Z"
-      android:fillColor="#729CEE"/>
-</vector>
diff --git a/res/drawable-night/modes_interstitial_bedtime.xml b/res/drawable-night/modes_interstitial_bedtime.xml
new file mode 100644
index 0000000..f28bb01
--- /dev/null
+++ b/res/drawable-night/modes_interstitial_bedtime.xml
@@ -0,0 +1,62 @@
+<!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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="412dp"
+    android:height="412dp"
+    android:viewportWidth="412"
+    android:viewportHeight="412">
+  <group>
+    <clip-path
+        android:pathData="M0,0h412v412h-412z"/>
+    <path
+        android:pathData="M384,0H28C12.54,0 0,12.54 0,28V384C0,399.46 12.54,412 28,412H384C399.46,412 412,399.46 412,384V28C412,12.54 399.46,0 384,0Z"
+        android:fillColor="#000000"/>
+    <path
+        android:pathData="M392.38,173.12C392.38,147.42 371.58,126.86 346.11,126.86C326.79,126.86 310.39,138.61 303.29,155.25C296.43,148.15 286.64,143.75 276.11,143.75C260.2,143.75 246.51,153.54 240.88,167.74C237.21,166.03 233.29,165.05 229.13,165.05C224.66,165.05 220.48,166.11 216.79,167.99C211.35,170.77 213.35,179 219.46,179H386.55C389.77,179 392.39,176.4 392.39,173.18C392.39,173.16 392.39,173.14 392.39,173.12H392.38Z"
+        android:fillColor="#3C4043"/>
+    <path
+        android:pathData="M199.15,182.18C190.01,156.35 191.62,131.06 200.22,109.54C203.99,99.32 193.77,89.09 183.55,93.93C164.19,103.08 146.98,118.68 135.15,140.75C120.1,168.19 116.87,201.02 127.62,230.08C156.12,305.95 244.85,325.86 301.85,280.12C306.15,276.89 309.92,273.12 313.68,269.36C321.21,261.29 314.75,247.84 303.46,248.91C287.33,249.98 270.66,247.83 252.91,240.3C228.17,229.54 208.28,208.55 199.14,182.18H199.15Z"
+        android:fillColor="#F9AB00"/>
+    <path
+        android:pathData="M353.25,64.04C365.11,76.41 355.68,96.92 338.57,95.97L335.74,95.81C330.52,95.52 325.4,97.41 321.63,101.03L319.58,102.99C307.21,114.85 286.7,105.42 287.65,88.31L287.81,85.48C288.1,80.26 286.21,75.14 282.59,71.37L280.63,69.32C268.77,56.95 278.2,36.44 295.31,37.39L298.14,37.55C303.36,37.84 308.48,35.95 312.25,32.33L314.3,30.37C326.67,18.51 347.18,27.94 346.23,45.05L346.07,47.88C345.78,53.1 347.67,58.22 351.29,61.99L353.25,64.04Z"
+        android:strokeWidth="2.26997"
+        android:fillColor="#00000000"
+        android:strokeColor="#1A73E8"/>
+    <path
+        android:pathData="M79.5,311.95C96.63,312.45 104.3,333.67 91.44,345L89.31,346.87C85.38,350.33 83.07,355.26 82.92,360.49L82.84,363.32C82.34,380.45 61.12,388.12 49.79,375.26L47.92,373.13C44.46,369.2 39.53,366.89 34.3,366.74L31.47,366.66C14.34,366.16 6.67,344.94 19.53,333.61L21.66,331.74C25.59,328.28 27.9,323.35 28.05,318.12L28.13,315.29C28.63,298.16 49.85,290.49 61.18,303.35L63.05,305.48C66.51,309.41 71.44,311.72 76.67,311.87L79.5,311.95Z"
+        android:strokeWidth="2.26997"
+        android:fillColor="#00000000"
+        android:strokeColor="#D93025"/>
+    <path
+        android:pathData="M220.61,297.87C214.88,297.87 209.42,299.51 205.05,302.51C199.32,279.31 178.3,262.12 153.47,262.12C128.64,262.12 109.8,277.68 102.71,298.96C96.43,294.59 88.79,291.86 80.61,291.86C67.15,291.86 55.29,298.82 48.36,309.42C46.09,312.9 48.56,317.51 52.71,317.51H238.84C243.11,317.51 245.55,312.67 243.04,309.21C238.05,302.3 229.84,297.86 220.61,297.86V297.87Z"
+        android:fillColor="#3C4043"/>
+    <path
+        android:pathData="M99.26,237.27C107.22,244.78 101.87,258.15 90.93,258.1H89.12C85.78,258.08 82.58,259.45 80.29,261.88L79.05,263.2C71.54,271.16 58.17,265.81 58.22,254.87V253.06C58.24,249.72 56.87,246.52 54.44,244.23L53.12,242.99C45.16,235.48 50.51,222.11 61.45,222.16H63.26C66.6,222.18 69.8,220.81 72.09,218.38L73.33,217.06C80.84,209.1 94.21,214.45 94.16,225.39V227.2C94.14,230.54 95.51,233.74 97.94,236.03L99.26,237.27Z"
+        android:strokeWidth="2.26997"
+        android:fillColor="#00000000"
+        android:strokeColor="#1E8E3E"/>
+    <path
+        android:pathData="M381.01,335.46C388.11,341.2 384.52,352.66 375.41,353.32L373.9,353.43C371.12,353.63 368.55,354.97 366.8,357.14L365.85,358.31C360.11,365.41 348.65,361.82 347.99,352.71L347.88,351.2C347.68,348.42 346.34,345.85 344.17,344.1L343,343.15C335.9,337.41 339.49,325.95 348.6,325.29L350.11,325.18C352.89,324.98 355.46,323.64 357.21,321.47L358.16,320.3C363.9,313.2 375.36,316.79 376.02,325.9L376.13,327.41C376.33,330.19 377.67,332.76 379.84,334.51L381.01,335.46Z"
+        android:strokeWidth="2.26997"
+        android:fillColor="#00000000"
+        android:strokeColor="#1E8E3E"/>
+    <path
+        android:pathData="M86.28,44.32C98.91,46.65 102.15,63.25 91.33,70.16L89.54,71.3C86.24,73.41 83.96,76.8 83.24,80.65L82.85,82.74C80.52,95.37 63.92,98.61 57.01,87.79L55.87,86C53.76,82.7 50.37,80.42 46.52,79.7L44.43,79.31C31.8,76.98 28.56,60.38 39.38,53.47L41.17,52.33C44.47,50.22 46.75,46.83 47.47,42.98L47.86,40.89C50.19,28.26 66.79,25.02 73.7,35.84L74.84,37.63C76.95,40.93 80.34,43.21 84.19,43.93L86.28,44.32Z"
+        android:strokeWidth="2.26997"
+        android:fillColor="#00000000"
+        android:strokeColor="#F9AB00"/>
+  </group>
+</vector>
diff --git a/res/drawable-night/modes_interstitial_driving.xml b/res/drawable-night/modes_interstitial_driving.xml
new file mode 100644
index 0000000..6edbfe5
--- /dev/null
+++ b/res/drawable-night/modes_interstitial_driving.xml
@@ -0,0 +1,81 @@
+<!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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="412dp"
+    android:height="412dp"
+    android:viewportWidth="412"
+    android:viewportHeight="412">
+  <group>
+    <clip-path
+        android:pathData="M0,0h412v412h-412z"/>
+    <path
+        android:pathData="M384,0H28C12.54,0 0,12.54 0,28V384C0,399.46 12.54,412 28,412H384C399.46,412 412,399.46 412,384V28C412,12.54 399.46,0 384,0Z"
+        android:fillColor="#000000"/>
+    <path
+        android:pathData="M388.81,244.64L252.55,99.8H158.3L24.49,239.88C28.08,246.82 35.84,251.76 45.06,251.76H58.07C77.9,229.58 106.73,215.61 138.82,215.61C170.91,215.61 199.74,229.58 219.57,251.76H371.66C378.59,251.76 384.69,248.98 388.82,244.65H388.81V244.64Z"
+        android:fillColor="#3B4043"/>
+    <path
+        android:pathData="M393.91,227.39C395.23,233.88 393.06,240.11 388.73,244.65H388.72L252.46,99.8H378.33L393.91,227.39Z"
+        android:fillColor="#00752A"/>
+    <path
+        android:pathData="M374.88,71.5C372.89,61.71 363.49,54.6 352.53,54.6H278.07C275.33,62.01 268.23,67.3 259.87,67.3H159.58C151.22,67.3 144.12,62.01 141.38,54.6H67.58C56.59,54.6 47.17,61.74 45.22,71.57L41.13,99.8H378.33L374.88,71.5Z"
+        android:fillColor="#7EB5FE"/>
+    <path
+        android:pathData="M158.21,99.8L24.4,239.88C22.47,236.16 21.73,231.87 22.61,227.45L41.12,99.8H158.21Z"
+        android:fillColor="#00752A"/>
+    <path
+        android:pathData="M42.79,88.16L82.41,75.6C88.19,73.77 94.39,73.82 100.14,75.75L128.66,85.31C135.15,87.49 142.21,87.26 148.56,84.67C154.79,82.13 161.72,81.86 168.13,83.93L175.72,86.37C180.43,87.89 185.45,88.16 190.29,87.15L252.84,74.17C257.24,73.26 261.79,73.39 266.12,74.57L311.12,86.76C315.79,88.02 320.71,88.08 325.41,86.93L343.07,82.6C348.04,81.38 353.25,81.52 358.15,83L376.97,88.69L378.33,99.8H41.12L42.79,88.16Z"
+        android:fillColor="#1A73E8"/>
+    <path
+        android:pathData="M379.71,163.04L376.86,161.08C375.38,160.06 374.74,158.2 375.28,156.49L376.33,153.19C377.26,150.26 374.73,147.39 371.7,147.95L368.3,148.58C366.53,148.91 364.76,148.04 363.94,146.45L362.35,143.38C360.93,140.65 357.11,140.41 355.37,142.95L353.41,145.8C352.39,147.28 350.53,147.92 348.82,147.38L345.52,146.33C342.59,145.4 339.72,147.93 340.28,150.96L340.91,154.36C341.24,156.13 340.37,157.9 338.78,158.72L335.71,160.31C333.84,161.28 333.14,163.37 333.7,165.16H381.31C381.05,164.34 380.53,163.58 379.73,163.03L379.71,163.04Z"
+        android:fillColor="#006725"/>
+    <path
+        android:pathData="M315.4,116.73L313.97,115.75C313.23,115.24 312.91,114.31 313.18,113.45L313.7,111.8C314.17,110.33 312.9,108.9 311.38,109.18L309.68,109.5C308.8,109.66 307.91,109.23 307.5,108.43L306.7,106.89C305.99,105.52 304.08,105.41 303.21,106.68L302.23,108.11C301.72,108.85 300.79,109.17 299.93,108.9L298.28,108.38C296.81,107.91 295.38,109.18 295.66,110.7L295.98,112.4C296.14,113.28 295.71,114.17 294.91,114.58L293.37,115.38C292.44,115.86 292.09,116.91 292.36,117.8H316.17C316.04,117.39 315.78,117.01 315.38,116.73H315.4Z"
+        android:fillColor="#006725"/>
+    <path
+        android:pathData="M103.02,139.55L100.83,138.05C99.69,137.27 99.2,135.84 99.62,134.53L100.42,132C101.13,129.75 99.19,127.55 96.87,127.98L94.26,128.47C92.91,128.72 91.55,128.06 90.91,126.84L89.69,124.48C88.6,122.38 85.67,122.2 84.34,124.15L82.84,126.34C82.06,127.48 80.63,127.97 79.32,127.55L76.79,126.75C74.54,126.04 72.34,127.98 72.77,130.3L73.26,132.91C73.51,134.26 72.85,135.62 71.63,136.26L69.27,137.48C67.84,138.22 67.3,139.83 67.73,141.2H104.25C104.05,140.57 103.65,139.99 103.04,139.56L103.02,139.55Z"
+        android:fillColor="#006725"/>
+    <path
+        android:pathData="M32.95,156.15L30.46,173.36H67.91C67.68,172.61 67.2,171.91 66.46,171.41L63.85,169.62C62.5,168.69 61.91,166.99 62.41,165.42L63.37,162.4C64.22,159.72 61.9,157.1 59.14,157.61L56.03,158.19C54.42,158.49 52.8,157.7 52.04,156.24L50.58,153.43C49.29,150.93 45.8,150.72 44.2,153.04L42.41,155.65C41.48,157 39.78,157.59 38.21,157.09L35.19,156.13C34.41,155.88 33.63,155.91 32.93,156.13L32.95,156.15Z"
+        android:fillColor="#006725"/>
+    <path
+        android:pathData="M202.85,187.03L202.06,211.24H213.72L212.72,187.03H202.85Z"
+        android:fillColor="#7F868C"/>
+    <path
+        android:pathData="M211.45,156.23H203.85L203.23,175.43H212.24L211.45,156.23Z"
+        android:fillColor="#7F868C"/>
+    <path
+        android:pathData="M209.39,106.23L209.12,99.8H205.68L205.47,106.23H209.39Z"
+        android:fillColor="#7F868C"/>
+    <path
+        android:pathData="M211.09,147.45L210.4,130.86H204.67L204.13,147.45H211.09Z"
+        android:fillColor="#7F868C"/>
+    <path
+        android:pathData="M204.88,124.43H210.14L209.65,112.66H205.26L204.88,124.43Z"
+        android:fillColor="#7F868C"/>
+    <path
+        android:pathData="M214.45,225.55H201.71L201.42,235.5C206.98,239.76 212.53,243.92 217.69,249.69H218L214.44,225.55H214.45Z"
+        android:fillColor="#7F868C"/>
+    <path
+        android:pathData="M141.03,179.06C89.29,178.41 46.73,219.68 46.08,271.42C45.43,323.16 86.7,365.72 138.44,366.37C190.18,367.02 232.74,325.75 233.39,274.01C234.17,222.27 192.77,179.71 141.03,179.06ZM67.82,245.03C79.07,215.8 107.66,195.23 140.78,195.62C173.89,196.01 201.84,217.35 212.31,246.84C213.22,249.3 211.28,251.76 208.69,251.76L167.43,251.24C159.02,241.15 145.44,235.98 131.73,238.95C123.84,240.63 117.11,244.9 112.2,250.46L71.32,249.94C68.73,250.07 66.92,247.48 67.83,245.02L67.82,245.03ZM122.66,347.87C87.99,339.98 62.25,308.8 62.77,271.68V271.42C62.77,268.96 65.23,267.28 67.56,267.93L103.26,278.67C103.39,279.96 103.65,281.26 103.91,282.55C106.24,293.16 112.96,301.69 121.76,306.61L127.32,343.73C127.71,346.19 125.25,348.39 122.66,347.87ZM153.45,348.52C150.86,349.04 148.66,346.71 149.18,344.12L156.29,307.12C166.77,301.69 173.88,291.6 175.56,280.08L212.04,270.25C214.37,269.6 216.7,271.41 216.7,273.87C216.31,311.25 189.02,342.17 153.45,348.51V348.52Z"
+        android:fillColor="#1A73E8"/>
+    <path
+        android:strokeWidth="1"
+        android:pathData="M139.74,299.91C153.98,299.91 165.52,288.37 165.52,274.13C165.52,259.89 153.98,248.35 139.74,248.35C125.5,248.35 113.96,259.89 113.96,274.13C113.96,288.37 125.5,299.91 139.74,299.91Z"
+        android:fillColor="#00000000"
+        android:strokeColor="#005CC3"/>
+  </group>
+</vector>
diff --git a/res/drawable-night/modes_interstitial_immersive.xml b/res/drawable-night/modes_interstitial_immersive.xml
new file mode 100644
index 0000000..a29c474
--- /dev/null
+++ b/res/drawable-night/modes_interstitial_immersive.xml
@@ -0,0 +1,83 @@
+<!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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="412dp"
+    android:height="412dp"
+    android:viewportWidth="412"
+    android:viewportHeight="412">
+  <group>
+    <clip-path
+        android:pathData="M0,0h412v412h-412z"/>
+    <path
+        android:pathData="M384,0H28C12.54,0 0,12.54 0,28V384C0,399.46 12.54,412 28,412H384C399.46,412 412,399.46 412,384V28C412,12.54 399.46,0 384,0Z"
+        android:fillColor="#000000"/>
+    <path
+        android:pathData="M169.93,276.93C173.11,290.9 174.7,297.89 173.77,303.93C172.42,312.67 167.51,320.47 160.21,325.47C155.17,328.93 148.18,330.52 134.21,333.69L126.71,335.4C112.74,338.58 105.75,340.17 99.71,339.24C90.97,337.89 83.17,332.98 78.17,325.68C74.71,320.64 73.13,313.65 69.95,299.68L68.24,292.18C65.06,278.21 63.47,271.22 64.4,265.18C65.75,256.44 70.66,248.64 77.96,243.64C83,240.18 89.99,238.6 103.96,235.42L111.46,233.71C125.43,230.53 132.42,228.94 138.46,229.87C147.2,231.22 155,236.13 160,243.43C163.46,248.47 165.05,255.46 168.22,269.43L169.93,276.93Z"
+        android:fillColor="#00752A"/>
+    <path
+        android:pathData="M191.17,273.74C195.68,293.55 197.93,303.46 196.61,312.02C194.69,324.42 187.74,335.47 177.39,342.56C170.24,347.46 160.33,349.71 140.52,354.22L129.89,356.64C110.08,361.15 100.17,363.4 91.61,362.08C79.21,360.16 68.16,353.21 61.06,342.86C56.16,335.71 53.91,325.8 49.4,305.99L46.98,295.36C42.47,275.55 40.22,265.64 41.54,257.08C43.46,244.68 50.41,233.63 60.76,226.53C67.91,221.63 77.82,219.38 97.63,214.87L108.26,212.45C128.07,207.94 137.98,205.69 146.54,207.01C158.94,208.93 169.99,215.88 177.09,226.23C181.99,233.38 184.24,243.29 188.75,263.1L191.17,273.73V273.74Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#00AB47"/>
+    <path
+        android:pathData="M211.39,270.71C217.16,296.08 220.05,308.76 218.35,319.73C215.9,335.61 206.99,349.76 193.74,358.84C184.58,365.11 171.9,368 146.53,373.77L132.92,376.87C107.55,382.64 94.87,385.53 83.9,383.83C68.02,381.38 53.87,372.47 44.79,359.22C38.52,350.06 35.63,337.38 29.86,312.01L26.76,298.4C20.99,273.03 18.1,260.35 19.8,249.38C22.25,233.5 31.16,219.35 44.41,210.27C53.56,204 66.25,201.11 91.62,195.34L105.23,192.24C130.6,186.47 143.28,183.58 154.25,185.28C170.13,187.73 184.28,196.64 193.36,209.89C199.63,219.04 202.52,231.73 208.29,257.1L211.39,270.71Z"
+        android:strokeWidth="3"
+        android:fillColor="#00000000"
+        android:strokeColor="#81C995"/>
+    <path
+        android:pathData="M253.51,117.5C250.2,112.06 248.72,105.46 249.75,98.66C252.08,83.33 266.33,72.78 281.58,75.1C288.48,76.15 294.41,79.65 298.61,84.59C304.08,81.12 310.76,79.53 317.65,80.57C332.86,82.88 343.31,97.18 340.98,112.51C339.95,119.31 336.57,125.17 331.81,129.39C335.11,134.83 336.59,141.43 335.56,148.23C333.23,163.56 319.01,174.11 303.8,171.8C296.91,170.75 291.01,167.25 286.81,162.31C281.33,165.78 274.63,167.37 267.73,166.32C252.48,164 242,149.7 244.33,134.37C245.36,127.57 248.74,121.71 253.51,117.5Z"
+        android:fillColor="#1C73E7"/>
+    <path
+        android:pathData="M301.87,63.25C310.34,57.87 320.69,55.4 331.36,57.02C354.93,60.6 371.12,82.75 367.51,106.5C365.91,117.04 360.68,126.12 353.31,132.65C358.42,141.08 360.71,151.3 359.11,161.83C355.5,185.58 333.47,201.93 309.9,198.35C299.23,196.73 290.08,191.31 283.58,183.65C275.09,189.03 264.72,191.49 254.02,189.87C230.39,186.28 214.16,164.12 217.77,140.37C219.37,129.83 224.61,120.75 232,114.23C226.88,105.8 224.57,95.58 226.17,85.04C229.78,61.29 251.85,44.95 275.48,48.53C286.17,50.15 295.35,55.58 301.86,63.24L301.87,63.25Z"
+        android:strokeLineJoin="round"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#659CF5"
+        android:strokeLineCap="round"/>
+    <path
+        android:pathData="M305.14,41.91C316.62,34.62 330.64,31.28 345.09,33.48C377.02,38.33 398.94,68.34 394.06,100.5C391.89,114.77 384.81,127.07 374.82,135.92C381.74,147.33 384.85,161.18 382.68,175.45C377.8,207.62 347.95,229.77 316.02,224.92C301.57,222.73 289.17,215.38 280.37,205.01C268.87,212.3 254.82,215.63 240.33,213.43C208.33,208.57 186.34,178.55 191.23,146.38C193.4,132.11 200.49,119.81 210.5,110.97C203.56,99.55 200.44,85.71 202.61,71.43C207.49,39.26 237.4,17.12 269.4,21.98C283.88,24.18 296.32,31.53 305.13,41.91H305.14Z"
+        android:strokeLineJoin="round"
+        android:strokeWidth="3"
+        android:fillColor="#00000000"
+        android:strokeColor="#89B3F8"
+        android:strokeLineCap="round"/>
+    <path
+        android:pathData="M310.7,107.65L310.09,107.56L302.74,106.44L288.07,104.21L280.91,103.12L280.1,103C273.27,101.96 266.89,106.66 265.85,113.49L263.3,130.29C262.61,134.86 265.75,139.12 270.31,139.81C273,140.22 275.73,139.29 277.61,137.32L284.07,130.57L298.74,132.8L302.9,141.16C304.11,143.6 306.44,145.29 309.13,145.7C313.7,146.39 317.96,143.25 318.65,138.69L321.2,121.89C322.24,115.06 317.54,108.68 310.71,107.64L310.7,107.65Z"
+        android:fillColor="#171717"/>
+    <path
+        android:pathData="M276.2,122.42L280.3,123.05L280.92,118.95L285.02,119.57L285.64,115.47L281.54,114.85L282.16,110.75L278.07,110.13L277.45,114.23L273.35,113.61L272.73,117.7L276.82,118.33L276.2,122.42Z"
+        android:fillColor="#1C73E7"/>
+    <path
+        android:pathData="M303.34,126.02C304.95,126.02 306.26,124.71 306.26,123.1C306.26,121.49 304.95,120.18 303.34,120.18C301.73,120.18 300.42,121.49 300.42,123.1C300.42,124.71 301.73,126.02 303.34,126.02Z"
+        android:fillColor="#1C73E7"/>
+    <path
+        android:pathData="M309.97,120.81C311.58,120.81 312.89,119.5 312.89,117.89C312.89,116.28 311.58,114.97 309.97,114.97C308.35,114.97 307.05,116.28 307.05,117.89C307.05,119.5 308.35,120.81 309.97,120.81Z"
+        android:fillColor="#1C73E7"/>
+    <path
+        android:pathData="M110.86,311.33L100.08,263.97L142.68,279.18L110.85,311.33H110.86Z"
+        android:fillColor="#171717"/>
+    <path
+        android:pathData="M66.59,97.12C78.25,85.46 97.16,85.46 108.82,97.12C120.48,108.78 120.48,127.69 108.82,139.35L99.07,149.1C87.41,160.76 68.5,160.76 56.84,149.1C45.18,137.44 45.18,118.53 56.84,106.87L66.59,97.12Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#FFB900"/>
+    <path
+        android:pathData="M332.68,258.12C335.52,253.38 342.39,253.38 345.24,258.12L348.44,263.45C350.1,266.22 353.37,267.57 356.5,266.79L362.53,265.28C367.89,263.94 372.75,268.8 371.41,274.16L369.9,280.19C369.12,283.32 370.47,286.59 373.24,288.25L378.57,291.45C383.31,294.29 383.31,301.16 378.57,304.01L373.24,307.21C370.47,308.87 369.12,312.14 369.9,315.27L371.41,321.3C372.75,326.66 367.89,331.52 362.53,330.18L356.5,328.67C353.37,327.89 350.1,329.24 348.44,332.01L345.24,337.34C342.4,342.08 335.53,342.08 332.68,337.34L329.48,332.01C327.82,329.24 324.55,327.89 321.42,328.67L315.39,330.18C310.03,331.52 305.17,326.66 306.51,321.3L308.02,315.27C308.8,312.14 307.45,308.87 304.68,307.21L299.35,304.01C294.61,301.17 294.61,294.3 299.35,291.45L304.68,288.25C307.45,286.59 308.8,283.32 308.02,280.19L306.51,274.16C305.17,268.8 310.03,263.94 315.39,265.28L321.42,266.79C324.55,267.57 327.82,266.22 329.48,263.45L332.68,258.12Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#EA4335"/>
+  </group>
+</vector>
diff --git a/res/drawable-night/modes_interstitial_managed.xml b/res/drawable-night/modes_interstitial_managed.xml
new file mode 100644
index 0000000..05f8f6a
--- /dev/null
+++ b/res/drawable-night/modes_interstitial_managed.xml
@@ -0,0 +1,56 @@
+<!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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="412dp"
+    android:height="412dp"
+    android:viewportWidth="412"
+    android:viewportHeight="412">
+  <group>
+    <clip-path
+        android:pathData="M0,0h412v412h-412z"/>
+    <path
+        android:pathData="M384,0.2H28C12.54,0.2 0,12.74 0,28.2V384.2C0,399.66 12.54,412.2 28,412.2H384C399.46,412.2 412,399.66 412,384.2V28.2C412,12.74 399.46,0.2 384,0.2Z"
+        android:fillColor="#000000"/>
+    <path
+        android:pathData="M146.64,179.97C181.43,154.82 229.04,185.27 220.78,227.4L219.42,234.37C216.9,247.23 219.83,260.56 227.51,271.18L231.67,276.93C256.82,311.72 226.37,359.33 184.24,351.07L177.27,349.71C164.41,347.19 151.08,350.12 140.46,357.8L134.71,361.96C99.92,387.11 52.31,356.66 60.57,314.53L61.93,307.57C64.45,294.71 61.52,281.38 53.84,270.76L49.68,265.01C24.53,230.22 54.98,182.61 97.11,190.87L104.08,192.23C116.94,194.75 130.27,191.82 140.89,184.14L146.64,179.98V179.97Z"
+        android:fillColor="#1C73E7"/>
+    <path
+        android:pathData="M361.61,135.37C356.66,153.92 354.19,163.19 349.31,169.77C342.25,179.29 331.57,185.47 319.8,186.85C311.67,187.8 302.39,185.32 283.85,180.37L273.9,177.71C255.36,172.76 246.08,170.29 239.5,165.41C229.98,158.35 223.8,147.67 222.42,135.9C221.47,127.77 223.95,118.49 228.9,99.95L231.56,90C236.51,71.46 238.98,62.18 243.86,55.6C250.92,46.08 261.6,39.9 273.37,38.52C281.5,37.57 290.78,40.05 309.32,45L319.27,47.66C337.82,52.61 347.09,55.08 353.67,59.96C363.19,67.02 369.37,77.7 370.75,89.47C371.7,97.6 369.22,106.88 364.27,125.42L361.61,135.37Z"
+        android:fillColor="#F9AA00"/>
+    <path
+        android:pathData="M348.57,230.93C345.11,227.47 337.24,229.18 327.74,234.66C324.89,224.07 320.54,217.29 315.65,217.29C310.76,217.29 306.4,224.07 303.56,234.66C294.06,229.18 286.19,227.47 282.73,230.93C279.27,234.39 280.98,242.26 286.46,251.76C275.87,254.6 269.09,258.96 269.09,263.85C269.09,268.74 275.87,273.1 286.46,275.94C280.98,285.44 279.27,293.32 282.73,296.77C286.19,300.23 294.06,298.52 303.56,293.04C306.4,303.63 310.76,310.41 315.65,310.41C320.54,310.41 324.9,303.63 327.74,293.04C337.24,298.52 345.12,300.23 348.57,296.77C352.03,293.31 350.32,285.44 344.84,275.94C355.43,273.09 362.21,268.74 362.21,263.85C362.21,258.96 355.43,254.6 344.84,251.76C350.32,242.26 352.03,234.38 348.57,230.93Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:fillType="evenOdd"
+        android:strokeColor="#D83025"/>
+    <path
+        android:pathData="M194.81,56.17C203.12,68.34 199.99,84.94 187.83,93.25C175.66,101.56 159.06,98.43 150.75,86.27L143.81,76.1C135.5,63.93 138.63,47.33 150.79,39.02C162.96,30.71 179.56,33.84 187.87,46L194.81,56.17Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#1F8D3E"/>
+    <path
+        android:pathData="M130.96,158.11C130.5,159.35 130.27,159.97 130.01,160.47C128.02,164.37 123.61,166.39 119.35,165.37C118.8,165.24 118.18,165.01 116.94,164.55L75.56,149.24C74.32,148.78 73.7,148.55 73.2,148.29C69.3,146.3 67.28,141.89 68.3,137.63C68.43,137.08 68.66,136.46 69.12,135.22L76.78,114.53C83.1,97.45 102.06,88.73 119.14,95.05C136.22,101.37 144.94,120.33 138.62,137.41L130.96,158.1V158.11Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#D83025"/>
+    <path
+        android:pathData="M152.86,267.48C151.12,267.79 149.53,267.48 148.08,266.55C146.7,265.52 145.85,264.13 145.54,262.39C145.23,260.65 145.54,259.1 146.5,257.73C147.52,256.27 148.9,255.38 150.63,255.06C152.36,254.74 153.93,255.11 155.31,256.14C156.76,257.07 157.64,258.41 157.95,260.15C158.26,261.89 157.91,263.49 156.89,264.95C155.94,266.32 154.6,267.16 152.86,267.47V267.48ZM128.04,271.95C126.3,272.26 124.71,271.95 123.26,271.02C121.88,269.99 121.03,268.6 120.72,266.86C120.41,265.12 120.72,263.57 121.68,262.2C122.7,260.74 124.08,259.85 125.81,259.53C127.54,259.21 129.11,259.58 130.49,260.61C131.94,261.54 132.82,262.88 133.13,264.62C133.44,266.36 133.09,267.96 132.07,269.42C131.12,270.79 129.78,271.63 128.04,271.94V271.95ZM145.15,295.79C140.18,296.68 135.43,296.13 130.88,294.13C126.42,292.11 122.83,289.04 120.12,284.92L164.81,276.87C163.71,281.68 161.38,285.82 157.82,289.28C154.34,292.73 150.12,294.9 145.15,295.79ZM148.72,315.65C142.51,316.77 136.47,316.66 130.59,315.33C124.78,313.9 119.49,311.56 114.72,308.32C110.02,304.98 105.98,300.84 102.61,295.89C99.31,290.85 97.1,285.22 95.98,279.01C94.86,272.8 94.98,266.8 96.33,261.01C97.75,255.12 100.08,249.83 103.34,245.14C106.66,240.35 110.81,236.32 115.77,233.03C120.8,229.65 126.42,227.4 132.62,226.28C138.82,225.16 144.84,225.32 150.65,226.75C156.53,228.08 161.82,230.42 166.52,233.76C171.29,237 175.33,241.14 178.63,246.19C182,251.14 184.24,256.71 185.36,262.92C186.48,269.13 186.33,275.18 184.91,281.07C183.56,286.87 181.23,292.16 177.9,296.94C174.64,301.63 170.5,305.66 165.47,309.05C160.51,312.34 154.92,314.54 148.72,315.66V315.65ZM146.93,305.72C156.53,303.99 164.11,299.12 169.67,291.12C175.23,283.11 177.15,274.31 175.42,264.71C173.69,255.11 168.82,247.53 160.82,241.97C152.81,236.41 144.01,234.49 134.41,236.22L132.92,236.49C132.42,236.58 131.94,236.75 131.48,237.01C131.07,237.6 130.84,238.19 130.78,238.8C130.72,239.41 130.75,240.04 130.87,240.71C131.18,242.45 132.03,243.83 133.41,244.87C134.86,245.8 136.45,246.12 138.19,245.8C138.93,245.67 139.57,245.42 140.11,245.07C140.73,244.7 141.37,244.46 142.03,244.34C143.02,244.16 143.92,244.38 144.71,245.01C145.51,245.64 145.99,246.44 146.17,247.44C146.51,249.34 145.83,250.75 144.11,251.66C142.46,252.47 140.93,253 139.53,253.25C135.81,253.92 132.34,253.18 129.13,251.02C125.99,248.77 124.08,245.78 123.41,242.05L123.28,241.31C123.24,241.06 123.22,240.72 123.23,240.29C116.81,244.01 111.98,249.19 108.73,255.84C105.49,262.49 104.55,269.62 105.92,277.24C107.65,286.84 112.52,294.42 120.52,299.98C128.53,305.54 137.33,307.46 146.93,305.73V305.72Z"
+        android:fillColor="#004FAC"/>
+    <path
+        android:pathData="M293.93,132.47C301.29,134.5 308.23,133.67 314.75,129.97C321.28,126.21 325.56,120.68 327.58,113.37C328.05,111.67 328.36,110.01 328.51,108.39C328.67,106.72 328.66,105.06 328.46,103.41C326.72,103.93 324.96,104.22 323.17,104.26C321.38,104.3 319.61,104.08 317.86,103.59C314.89,102.77 312.27,101.34 310,99.29C307.8,97.2 306.18,94.69 305.16,91.75C302.77,93.75 300.07,95.08 297.06,95.72C294.11,96.33 291.16,96.22 288.19,95.4C286.43,94.92 284.8,94.2 283.28,93.25C281.76,92.3 280.4,91.15 279.17,89.81C278.16,91.13 277.29,92.54 276.58,94.06C275.88,95.52 275.3,97.11 274.83,98.81C272.81,106.12 273.65,113.06 277.33,119.63C281.09,126.16 286.62,130.44 293.93,132.46V132.47ZM289.27,110.78C290.42,111.1 291.49,110.98 292.47,110.42C293.52,109.82 294.21,108.95 294.52,107.79C294.83,106.63 294.69,105.56 294.08,104.56C293.54,103.52 292.69,102.85 291.54,102.53C290.39,102.21 289.28,102.35 288.23,102.95C287.25,103.51 286.6,104.36 286.28,105.52C285.96,106.67 286.07,107.77 286.62,108.81C287.23,109.81 288.11,110.46 289.27,110.78ZM309.05,116.24C310.2,116.56 311.27,116.44 312.25,115.88C313.3,115.28 313.99,114.41 314.3,113.25C314.61,112.09 314.47,111.02 313.86,110.02C313.32,108.98 312.47,108.31 311.32,107.99C310.17,107.67 309.06,107.81 308.01,108.41C307.03,108.97 306.38,109.82 306.06,110.98C305.74,112.14 305.85,113.23 306.4,114.27C307.01,115.27 307.89,115.92 309.05,116.24ZM290,88.81C293.19,89.69 296.22,89.31 299.09,87.68C301.96,86.05 303.84,83.64 304.72,80.45L305.13,78.97C301.27,78.38 297.51,78.61 293.85,79.67C290.19,80.73 286.9,82.45 284,84.85C284.81,85.78 285.71,86.59 286.7,87.28C287.69,87.97 288.79,88.48 290,88.81ZM319.67,97C320.88,97.33 322.08,97.49 323.27,97.46C324.47,97.38 325.67,97.12 326.86,96.68C325.59,93.14 323.65,89.97 321.05,87.19C318.5,84.42 315.4,82.29 311.72,80.8L311.31,82.28C310.43,85.47 310.81,88.5 312.44,91.37C314.07,94.24 316.48,96.12 319.67,97ZM257.98,136.74C256.06,136.21 254.63,135.05 253.71,133.26C252.79,131.47 252.67,129.63 253.37,127.75L265.32,96.01C267.03,91.52 269.46,87.54 272.6,84.09C275.79,80.65 279.39,77.92 283.38,75.89C287.44,73.82 291.76,72.52 296.33,72.01C300.98,71.46 305.63,71.83 310.3,73.11C314.97,74.4 319.13,76.46 322.78,79.3C326.5,82.1 329.55,85.42 331.91,89.27C334.35,93.08 336.03,97.27 336.96,101.84C337.94,106.43 338.02,111.09 337.18,115.83L331.17,149.2C330.8,151.17 329.77,152.69 328.05,153.75C326.33,154.81 324.52,155.08 322.6,154.55L257.98,136.73V136.74ZM292.11,139.06C285.24,137.17 279.58,133.57 275.13,128.26C270.7,122.9 268.07,116.88 267.25,110.21L259.8,130.15L324.42,147.97L328.24,127.03C324.12,132.34 318.78,136.16 312.22,138.49C305.73,140.78 299.03,140.97 292.11,139.06ZM292.11,139.06C299.03,140.97 305.21,142.67 310.65,144.17C316.14,145.69 320.13,146.78 322.6,147.47L324.41,147.97L259.79,130.15L261.6,130.65C264.07,131.33 268.06,132.43 273.55,133.95C279.04,135.47 285.23,137.17 292.09,139.06H292.11Z"
+        android:fillColor="#FFEEBE"/>
+  </group>
+</vector>
diff --git a/res/drawable-night/modes_interstitial_other.xml b/res/drawable-night/modes_interstitial_other.xml
new file mode 100644
index 0000000..2bbed99
--- /dev/null
+++ b/res/drawable-night/modes_interstitial_other.xml
@@ -0,0 +1,118 @@
+<!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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="412dp"
+    android:height="412dp"
+    android:viewportWidth="412"
+    android:viewportHeight="412">
+  <group>
+    <clip-path
+        android:pathData="M0,0h412v412h-412z"/>
+    <path
+        android:pathData="M384,0H28C12.54,0 0,12.54 0,28V384C0,399.46 12.54,412 28,412H384C399.46,412 412,399.46 412,384V28C412,12.54 399.46,0 384,0Z"
+        android:fillColor="#000000"/>
+    <path
+        android:pathData="M81.65,103.36C94.23,106.21 96.82,122.99 85.68,129.5L83.84,130.58C80.44,132.57 78.01,135.87 77.14,139.71L76.67,141.79C73.82,154.37 57.04,156.96 50.53,145.82L49.45,143.98C47.46,140.58 44.16,138.15 40.32,137.28L38.24,136.81C25.66,133.96 23.07,117.18 34.21,110.67L36.05,109.59C39.45,107.6 41.88,104.3 42.75,100.46L43.22,98.38C46.07,85.8 62.85,83.21 69.36,94.35L70.44,96.19C72.43,99.59 75.73,102.02 79.57,102.89L81.65,103.36Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#4285F4"/>
+    <path
+        android:pathData="M364.93,340.67C377.51,343.52 380.1,360.3 368.96,366.81L367.12,367.89C363.72,369.88 361.29,373.18 360.42,377.02L359.95,379.1C357.1,391.68 340.32,394.27 333.81,383.13L332.73,381.29C330.74,377.89 327.44,375.46 323.6,374.59L321.52,374.12C308.94,371.27 306.35,354.49 317.49,347.98L319.33,346.9C322.73,344.91 325.16,341.61 326.03,337.77L326.5,335.69C329.35,323.11 346.13,320.52 352.64,331.66L353.72,333.5C355.71,336.9 359.01,339.33 362.85,340.2L364.93,340.67Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#EA4335"/>
+    <path
+        android:pathData="M70.27,311.22C73.06,306.56 79.82,306.56 82.61,311.22L85.75,316.46C87.38,319.18 90.6,320.51 93.67,319.74L99.6,318.25C104.87,316.93 109.65,321.71 108.33,326.98L106.84,332.91C106.07,335.98 107.4,339.2 110.12,340.83L115.36,343.97C120.02,346.76 120.02,353.52 115.36,356.31L110.12,359.45C107.4,361.08 106.07,364.3 106.84,367.37L108.33,373.3C109.65,378.57 104.87,383.35 99.6,382.03L93.67,380.54C90.6,379.77 87.38,381.1 85.75,383.82L82.61,389.06C79.82,393.72 73.06,393.72 70.27,389.06L67.13,383.82C65.5,381.1 62.28,379.77 59.21,380.54L53.28,382.03C48.01,383.35 43.23,378.57 44.55,373.3L46.04,367.37C46.81,364.3 45.48,361.08 42.76,359.45L37.52,356.31C32.86,353.52 32.86,346.76 37.52,343.97L42.76,340.83C45.48,339.2 46.81,335.98 46.04,332.91L44.55,326.98C43.23,321.71 48.01,316.93 53.28,318.25L59.21,319.74C62.28,320.51 65.5,319.18 67.13,316.46L70.27,311.22Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#EA4335"/>
+    <path
+        android:pathData="M349.46,192.02C350.8,189.79 354.02,189.79 355.36,192.02L356.86,194.53C357.64,195.83 359.18,196.47 360.65,196.1L363.48,195.39C366,194.76 368.28,197.04 367.65,199.56L366.94,202.39C366.57,203.86 367.21,205.4 368.51,206.18L371.02,207.68C373.25,209.02 373.25,212.24 371.02,213.58L368.51,215.08C367.21,215.86 366.57,217.4 366.94,218.87L367.65,221.7C368.28,224.22 366,226.5 363.48,225.87L360.65,225.16C359.18,224.79 357.64,225.43 356.86,226.73L355.36,229.24C354.02,231.47 350.8,231.47 349.46,229.24L347.96,226.73C347.18,225.43 345.64,224.79 344.17,225.16L341.34,225.87C338.82,226.5 336.54,224.22 337.17,221.7L337.88,218.87C338.25,217.4 337.61,215.86 336.31,215.08L333.8,213.58C331.57,212.24 331.57,209.02 333.8,207.68L336.31,206.18C337.61,205.4 338.25,203.86 337.88,202.39L337.17,199.56C336.54,197.04 338.82,194.76 341.34,195.39L344.17,196.1C345.64,196.47 347.18,195.83 347.96,194.53L349.46,192.02Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#4285F4"/>
+    <path
+        android:pathData="M50.02,303.87L76.47,281.69C82,277.05 82.72,268.82 78.09,263.29C73.45,257.76 65.21,257.04 59.69,261.67L33.23,283.85C27.71,288.49 26.98,296.73 31.62,302.25C36.25,307.78 44.49,308.5 50.02,303.87Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#4285F4"/>
+    <path
+        android:pathData="M190.87,53.46L220.77,70.72C227.01,74.33 235,72.19 238.61,65.94C242.21,59.7 240.07,51.71 233.83,48.1L203.93,30.84C197.69,27.24 189.7,29.38 186.09,35.62C182.49,41.87 184.63,49.86 190.87,53.46Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#4285F4"/>
+    <path
+        android:pathData="M372.69,173.54C384.92,173.54 394.84,163.63 394.84,151.39C394.84,139.16 384.92,129.24 372.69,129.24C360.46,129.24 350.54,139.16 350.54,151.39C350.54,163.63 360.46,173.54 372.69,173.54Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#EA4335"/>
+    <path
+        android:pathData="M54.85,200.83C63.95,200.83 71.33,193.45 71.33,184.35C71.33,175.25 63.95,167.87 54.85,167.87C45.75,167.87 38.37,175.25 38.37,184.35C38.37,193.45 45.75,200.83 54.85,200.83Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#EA4335"/>
+    <path
+        android:pathData="M54.85,75.46C67.92,75.46 78.52,64.86 78.52,51.79C78.52,38.71 67.92,28.12 54.85,28.12C41.78,28.12 31.18,38.71 31.18,51.79C31.18,64.86 41.78,75.46 54.85,75.46Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#EA4335"/>
+    <path
+        android:pathData="M149.34,366.63C158.44,366.63 165.82,359.25 165.82,350.15C165.82,341.05 158.44,333.67 149.34,333.67C140.24,333.67 132.86,341.05 132.86,350.15C132.86,359.25 140.24,366.63 149.34,366.63Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#FFB900"/>
+    <path
+        android:pathData="M164.35,104.14C188.06,81.2 225.76,81.2 249.47,104.14C256.72,111.16 265.61,116.28 275.34,119.03C307.12,128.03 325.97,160.58 317.9,192.52C315.43,202.29 315.43,212.53 317.9,222.3C325.97,254.24 307.12,286.79 275.34,295.79C265.62,298.54 256.73,303.66 249.47,310.68C225.76,333.62 188.06,333.62 164.35,310.68C157.1,303.66 148.21,298.54 138.48,295.79C106.7,286.79 87.85,254.24 95.92,222.3C98.39,212.53 98.39,202.29 95.92,192.52C87.85,160.58 106.7,128.03 138.48,119.03C148.21,116.28 157.09,111.16 164.35,104.14Z"
+        android:fillColor="#1E8E3E"/>
+    <path
+        android:pathData="M291.79,39.71C294.08,44.56 295.22,46.98 295.37,49.27C295.58,52.57 294.42,55.82 292.16,58.24C290.6,59.91 288.17,61.05 283.32,63.34L280.72,64.57C275.87,66.86 273.45,68 271.16,68.15C267.86,68.36 264.61,67.2 262.19,64.94C260.52,63.38 259.38,60.95 257.09,56.1L255.86,53.5C253.57,48.65 252.43,46.23 252.28,43.94C252.07,40.64 253.23,37.39 255.49,34.97C257.05,33.3 259.48,32.16 264.33,29.87L266.93,28.64C271.78,26.35 274.2,25.21 276.49,25.06C279.79,24.85 283.04,26.01 285.46,28.27C287.13,29.83 288.27,32.26 290.56,37.11L291.79,39.71Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#EA4335"/>
+    <path
+        android:pathData="M275.06,336.34C281.73,338.9 285.07,340.18 287.32,342.24C290.57,345.23 292.44,349.42 292.49,353.84C292.52,356.89 291.24,360.23 288.68,366.9L287.31,370.48C284.75,377.15 283.47,380.49 281.41,382.74C278.42,385.99 274.23,387.86 269.81,387.91C266.76,387.94 263.42,386.66 256.75,384.1L253.17,382.73C246.5,380.17 243.16,378.89 240.91,376.83C237.66,373.84 235.79,369.65 235.74,365.23C235.71,362.18 236.99,358.84 239.55,352.17L240.92,348.59C243.48,341.92 244.76,338.58 246.82,336.33C249.81,333.08 254,331.21 258.42,331.16C261.47,331.13 264.81,332.41 271.48,334.97L275.06,336.34Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#FFB900"/>
+    <path
+        android:pathData="M56.34,227.85C58.63,232.7 59.77,235.12 59.92,237.41C60.13,240.71 58.97,243.96 56.71,246.38C55.15,248.05 52.72,249.19 47.87,251.48L45.27,252.71C40.42,255 38,256.14 35.71,256.29C32.41,256.5 29.16,255.34 26.74,253.08C25.07,251.52 23.93,249.09 21.64,244.24L20.41,241.64C18.12,236.79 16.98,234.37 16.83,232.08C16.62,228.78 17.78,225.53 20.04,223.11C21.6,221.44 24.03,220.3 28.88,218.01L31.48,216.78C36.33,214.49 38.75,213.35 41.04,213.2C44.34,212.99 47.59,214.15 50.01,216.41C51.68,217.97 52.82,220.4 55.11,225.25L56.34,227.85Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#FFB900"/>
+    <path
+        android:pathData="M319.04,100.31C314.11,99.32 309.47,96.66 306.06,92.42C298.38,82.87 299.86,68.93 309.37,61.29C313.67,57.83 318.88,56.26 324,56.46C324.9,51.42 327.55,46.68 331.84,43.23C341.32,35.61 355.23,37.18 362.91,46.73C366.32,50.97 367.92,56.07 367.83,61.09C372.76,62.08 377.39,64.75 380.8,68.98C388.48,78.53 387.01,92.46 377.53,100.08C373.24,103.53 368.04,105.1 362.92,104.89C362.01,109.94 359.35,114.68 355.05,118.14C345.55,125.78 331.62,124.22 323.94,114.67C320.53,110.43 318.93,105.33 319.03,100.3L319.04,100.31Z"
+        android:strokeLineJoin="round"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#FFB900"/>
+    <path
+        android:pathData="M183.62,383.49C180.85,382.54 178.39,380.64 176.76,377.93C173.09,371.82 175.03,363.91 181.1,360.26C183.85,358.61 186.97,358.11 189.91,358.62C190.82,355.79 192.72,353.26 195.46,351.61C201.52,347.96 209.41,349.95 213.09,356.06C214.72,358.77 215.25,361.83 214.8,364.72C217.56,365.68 220.02,367.58 221.65,370.28C225.32,376.39 223.39,384.29 217.33,387.94C214.59,389.59 211.47,390.09 208.54,389.57C207.62,392.41 205.72,394.93 202.97,396.59C196.9,400.25 188.99,398.26 185.32,392.16C183.69,389.45 183.17,386.39 183.62,383.5V383.49Z"
+        android:strokeLineJoin="round"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#4285F4"/>
+    <path
+        android:pathData="M136.6,94.6C135.54,95.43 135.01,95.85 134.53,96.14C130.73,98.45 125.84,97.87 122.7,94.72C122.3,94.32 121.88,93.79 121.05,92.73L93.38,57.49C92.55,56.43 92.13,55.9 91.84,55.42C89.53,51.62 90.11,46.73 93.26,43.6C93.66,43.2 94.19,42.78 95.25,41.95L112.87,28.12C127.41,16.7 148.46,19.24 159.88,33.78C171.3,48.32 168.76,69.37 154.22,80.79L136.6,94.62V94.6Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#FFB900"/>
+    <path
+        android:pathData="M389.79,270.19C390.52,270.96 390.89,271.34 391.16,271.7C393.26,274.5 393.17,278.38 390.94,281.08C390.65,281.43 390.27,281.79 389.5,282.52L363.96,306.89C363.19,307.62 362.81,307.99 362.45,308.26C359.65,310.36 355.77,310.27 353.07,308.04C352.72,307.75 352.36,307.37 351.63,306.6L339.44,293.83C329.38,283.29 329.78,266.59 340.31,256.54C350.85,246.48 367.55,246.88 377.6,257.41L389.79,270.18V270.19Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#FFB900"/>
+  </group>
+</vector>
diff --git a/res/drawable-night/modes_interstitial_theater.xml b/res/drawable-night/modes_interstitial_theater.xml
new file mode 100644
index 0000000..d17b167
--- /dev/null
+++ b/res/drawable-night/modes_interstitial_theater.xml
@@ -0,0 +1,69 @@
+<!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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="412dp"
+    android:height="412dp"
+    android:viewportWidth="412"
+    android:viewportHeight="412">
+  <group>
+    <clip-path
+        android:pathData="M0,0h412v412h-412z"/>
+    <path
+        android:pathData="M384,0H28C12.54,0 0,12.54 0,28V384C0,399.46 12.54,412 28,412H384C399.46,412 412,399.46 412,384V28C412,12.54 399.46,0 384,0Z"
+        android:fillColor="#000000"/>
+    <path
+        android:pathData="M300.93,258.76C304.13,254.1 311.15,254.53 313.75,259.55L316.68,265.2C318.2,268.13 321.45,269.72 324.7,269.12L330.95,267.96C336.51,266.92 341.17,272.19 339.46,277.59L337.54,283.65C336.54,286.79 337.72,290.22 340.44,292.09L345.69,295.69C350.35,298.89 349.92,305.91 344.9,308.51L339.25,311.44C336.32,312.96 334.73,316.21 335.34,319.46L336.5,325.71C337.53,331.27 332.27,335.93 326.87,334.22L320.81,332.3C317.67,331.3 314.24,332.48 312.37,335.2L308.77,340.45C305.57,345.11 298.55,344.68 295.95,339.66L293.02,334.01C291.5,331.08 288.25,329.49 285,330.1L278.75,331.26C273.19,332.29 268.53,327.03 270.24,321.63L272.16,315.57C273.16,312.43 271.98,309 269.26,307.13L264.01,303.53C259.35,300.33 259.78,293.31 264.8,290.71L270.45,287.78C273.38,286.26 274.97,283.01 274.37,279.76L273.21,273.51C272.17,267.95 277.44,263.29 282.84,265L288.9,266.92C292.04,267.92 295.47,266.74 297.34,264.02L300.94,258.77L300.93,258.76Z"
+        android:fillColor="#4285F4"/>
+    <path
+        android:pathData="M77.66,50.23C76.29,45.91 76.37,41.09 78.22,36.56C82.41,26.34 94.04,21.44 104.2,25.6C108.8,27.49 112.31,30.91 114.39,35.03C118.76,33.54 123.65,33.57 128.24,35.45C138.38,39.61 143.21,51.26 139.02,61.47C137.16,66 133.84,69.49 129.84,71.61C131.21,75.93 131.12,80.74 129.27,85.28C125.08,95.5 113.47,100.41 103.33,96.26C98.74,94.38 95.24,90.96 93.17,86.84C88.79,88.32 83.89,88.3 79.29,86.41C69.13,82.24 64.28,70.59 68.47,60.37C70.33,55.84 73.65,52.35 77.66,50.24V50.23Z"
+        android:strokeLineJoin="round"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#C5221F"
+        android:strokeLineCap="round"/>
+    <path
+        android:pathData="M180.11,93.23C180.11,89.75 180.11,88.01 180.28,86.55C181.64,75.13 190.64,66.13 202.05,64.78C203.51,64.61 205.25,64.61 208.73,64.61H324.57C328.05,64.61 329.79,64.61 331.25,64.78C342.67,66.14 351.67,75.14 353.02,86.55C353.19,88.01 353.19,89.75 353.19,93.23V151.15C353.19,198.95 314.44,237.7 266.64,237.7C218.84,237.7 180.09,198.95 180.09,151.15V93.23H180.11Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#F29900"/>
+    <path
+        android:pathData="M228.49,100.85C219.06,100.85 211.26,107.82 209.95,116.89C209.74,118.31 210.86,119.59 212.3,119.59H244.69C246.13,119.59 247.24,118.31 247.04,116.89C245.73,107.82 237.93,100.85 228.5,100.85H228.49Z"
+        android:fillColor="#F29900"/>
+    <path
+        android:pathData="M304.85,100.85C295.42,100.85 287.62,107.82 286.31,116.89C286.1,118.31 287.22,119.59 288.66,119.59H321.05C322.49,119.59 323.6,118.31 323.4,116.89C322.09,107.82 314.29,100.85 304.86,100.85H304.85Z"
+        android:fillColor="#F29900"/>
+    <path
+        android:pathData="M266.67,172.93C253.45,172.93 242.5,182.7 240.67,195.42C240.38,197.42 241.94,199.21 243.96,199.21H289.38C291.4,199.21 292.96,197.42 292.67,195.42C290.83,182.7 279.89,172.93 266.67,172.93Z"
+        android:fillColor="#F29900"/>
+    <path
+        android:pathData="M55.38,166.77C55.38,163.29 55.38,161.55 55.55,160.09C56.91,148.67 65.91,139.67 77.32,138.32C78.78,138.15 80.52,138.15 84,138.15H199.84C203.32,138.15 205.06,138.15 206.52,138.32C217.94,139.68 226.94,148.68 228.29,160.09C228.46,161.55 228.46,163.29 228.46,166.77V224.69C228.46,272.49 189.71,311.24 141.91,311.24C94.11,311.24 55.36,272.49 55.36,224.69V166.77H55.38Z"
+        android:fillColor="#FFB900"/>
+    <path
+        android:pathData="M103.75,179.43C94.32,179.43 86.52,186.4 85.21,195.47C85,196.89 86.12,198.17 87.56,198.17H119.95C121.39,198.17 122.5,196.89 122.3,195.47C120.99,186.4 113.19,179.43 103.76,179.43H103.75Z"
+        android:fillColor="#1B1C16"/>
+    <path
+        android:pathData="M180.11,179.43C170.68,179.43 162.88,186.4 161.57,195.47C161.36,196.89 162.48,198.17 163.92,198.17H196.31C197.75,198.17 198.86,196.89 198.66,195.47C197.35,186.4 189.55,179.43 180.12,179.43H180.11Z"
+        android:fillColor="#1B1C16"/>
+    <path
+        android:pathData="M140.16,277.78C153.38,277.78 164.33,268.01 166.16,255.29C166.45,253.29 164.89,251.5 162.87,251.5H117.45C115.43,251.5 113.87,253.29 114.16,255.29C116,268.01 126.94,277.78 140.16,277.78Z"
+        android:fillColor="#1B1C16"/>
+    <path
+        android:pathData="M205.46,328.16C220.3,318.94 239.8,323.51 249.02,338.35C258.24,353.19 253.67,372.69 238.83,381.91L226.43,389.61C211.59,398.83 192.09,394.26 182.87,379.42C173.65,364.58 178.22,345.08 193.06,335.86L205.46,328.16Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#009132"/>
+  </group>
+</vector>
diff --git a/res/drawable-night/modes_interstitial_unknown.xml b/res/drawable-night/modes_interstitial_unknown.xml
new file mode 100644
index 0000000..4047e13
--- /dev/null
+++ b/res/drawable-night/modes_interstitial_unknown.xml
@@ -0,0 +1,65 @@
+<!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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="412dp"
+    android:height="412dp"
+    android:viewportWidth="412"
+    android:viewportHeight="412">
+  <group>
+    <clip-path
+        android:pathData="M0,0h412v412h-412z"/>
+    <path
+        android:pathData="M384,0H28C12.54,0 0,12.54 0,28V384C0,399.46 12.54,412 28,412H384C399.46,412 412,399.46 412,384V28C412,12.54 399.46,0 384,0Z"
+        android:fillColor="#000000"/>
+    <path
+        android:pathData="M147.09,65.18C149.2,72.23 150.26,75.75 149.99,78.88C149.6,83.41 147.36,87.57 143.79,90.39C141.33,92.34 137.8,93.39 130.75,95.51L126.97,96.64C119.92,98.75 116.4,99.81 113.27,99.54C108.74,99.15 104.58,96.91 101.76,93.34C99.81,90.88 98.76,87.35 96.64,80.3L95.51,76.52C93.4,69.47 92.34,65.95 92.61,62.82C93,58.29 95.24,54.13 98.81,51.31C101.27,49.36 104.8,48.31 111.85,46.19L115.63,45.06C122.68,42.95 126.2,41.89 129.33,42.16C133.86,42.55 138.02,44.79 140.84,48.36C142.79,50.82 143.84,54.35 145.96,61.4L147.09,65.18Z"
+        android:fillColor="#00AB47"/>
+    <path
+        android:pathData="M222.58,377.9C217.67,383.38 215.21,386.12 212.4,387.52C208.33,389.55 203.61,389.81 199.35,388.23C196.41,387.14 193.67,384.68 188.19,379.77L185.25,377.13C179.77,372.22 177.03,369.76 175.63,366.95C173.6,362.88 173.34,358.16 174.92,353.9C176.01,350.96 178.47,348.22 183.38,342.74L186.02,339.8C190.93,334.32 193.39,331.58 196.2,330.18C200.27,328.15 204.99,327.89 209.25,329.47C212.19,330.56 214.93,333.02 220.41,337.93L223.35,340.57C228.83,345.48 231.57,347.94 232.97,350.75C235,354.82 235.26,359.54 233.68,363.8C232.59,366.74 230.13,369.48 225.22,374.96L222.58,377.9Z"
+        android:fillColor="#FFB900"/>
+    <path
+        android:pathData="M341,204.85C338.84,202.27 337.54,198.95 337.54,195.31C337.54,187.12 344.14,180.49 352.29,180.49C355.98,180.49 359.35,181.85 361.93,184.1C364.51,181.85 367.87,180.49 371.55,180.49C379.67,180.49 386.26,187.13 386.26,195.31C386.26,198.94 384.96,202.27 382.81,204.85C384.96,207.43 386.26,210.75 386.26,214.39C386.26,222.58 379.67,229.21 371.55,229.21C367.87,229.21 364.51,227.85 361.93,225.6C359.34,227.85 355.97,229.21 352.29,229.21C344.15,229.21 337.54,222.57 337.54,214.39C337.54,210.76 338.84,207.43 341,204.85Z"
+        android:fillColor="#00AB47"/>
+    <path
+        android:pathData="M210.98,29.57C221.73,24.9 232.63,35.81 227.97,46.56L227.2,48.34C225.77,51.62 225.77,55.35 227.2,58.63L227.97,60.41C232.64,71.16 221.73,82.06 210.98,77.4L209.2,76.63C205.92,75.2 202.19,75.2 198.91,76.63L197.13,77.4C186.38,82.07 175.48,71.16 180.14,60.41L180.91,58.63C182.34,55.35 182.34,51.62 180.91,48.34L180.14,46.56C175.47,35.81 186.38,24.91 197.13,29.57L198.91,30.34C202.19,31.77 205.92,31.77 209.2,30.34L210.98,29.57Z"
+        android:fillColor="#4285F4"/>
+    <path
+        android:pathData="M112.23,310.56C117.35,305.61 125.49,305.61 130.6,310.56C132.17,312.08 134.08,313.18 136.18,313.77C143.04,315.71 147.11,322.74 145.37,329.63C144.84,331.74 144.84,333.95 145.37,336.06C147.11,342.95 143.04,349.98 136.18,351.92C134.08,352.51 132.16,353.62 130.6,355.13C125.48,360.08 117.34,360.08 112.23,355.13C110.66,353.61 108.75,352.51 106.65,351.92C99.79,349.98 95.72,342.95 97.46,336.06C97.99,333.95 97.99,331.74 97.46,329.63C95.72,322.74 99.79,315.71 106.65,313.77C108.75,313.18 110.67,312.07 112.23,310.56Z"
+        android:fillColor="#00AB47"/>
+    <path
+        android:pathData="M371.12,285.88C371.35,286.8 371.47,287.26 371.52,287.66C371.92,290.76 370.14,293.73 367.21,294.85C366.84,294.99 366.38,295.11 365.46,295.34L334.88,303C333.96,303.23 333.5,303.35 333.1,303.4C330,303.8 327.03,302.02 325.91,299.09C325.77,298.72 325.65,298.26 325.42,297.34L321.59,282.05C318.43,269.43 326.09,256.64 338.71,253.48C351.33,250.32 364.12,257.98 367.28,270.6L371.11,285.89L371.12,285.88Z"
+        android:fillColor="#4285F4"/>
+    <path
+        android:pathData="M70.59,304.57C69.85,305.15 69.47,305.45 69.13,305.66C66.46,307.29 63.02,306.87 60.81,304.66C60.53,304.38 60.23,304 59.65,303.26L40.18,278.47C39.6,277.73 39.3,277.35 39.09,277.01C37.46,274.34 37.88,270.9 40.09,268.69C40.37,268.41 40.75,268.11 41.49,267.53L53.89,257.8C64.12,249.77 78.93,251.55 86.96,261.78C94.99,272.01 93.21,286.82 82.98,294.85L70.58,304.58L70.59,304.57Z"
+        android:fillColor="#4285F4"/>
+    <path
+        android:pathData="M313.19,71.34C313.19,85.75 301.51,97.44 287.09,97.44C272.67,97.44 260.99,85.76 260.99,71.34C260.99,56.93 272.67,45.24 287.09,45.24C301.5,45.24 313.19,56.92 313.19,71.34Z"
+        android:fillColor="#EA4335"/>
+    <path
+        android:pathData="M69.28,183.38C67.16,181.26 62.32,182.31 56.49,185.67C54.74,179.16 52.06,175 49.06,175C46.06,175 43.38,179.16 41.63,185.67C35.79,182.31 30.96,181.26 28.84,183.38C26.72,185.5 27.77,190.34 31.13,196.18C24.62,197.93 20.46,200.61 20.46,203.61C20.46,206.61 24.62,209.29 31.13,211.04C27.77,216.88 26.72,221.71 28.84,223.84C30.96,225.96 35.8,224.91 41.64,221.55C43.39,228.06 46.07,232.22 49.07,232.22C52.07,232.22 54.75,228.06 56.5,221.55C62.34,224.92 67.17,225.97 69.3,223.84C71.42,221.72 70.37,216.88 67.01,211.04C73.52,209.29 77.68,206.61 77.68,203.61C77.68,200.61 73.52,197.93 67.01,196.18C70.37,190.34 71.42,185.51 69.3,183.39L69.28,183.38Z"
+        android:fillColor="#FFB900"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M284.91,311.14C286.75,308.06 291.22,308.06 293.06,311.14L295.13,314.6C296.21,316.4 298.33,317.28 300.36,316.77L304.28,315.79C307.76,314.92 310.92,318.07 310.04,321.55L309.06,325.47C308.55,327.5 309.43,329.62 311.23,330.7L314.69,332.77C317.77,334.61 317.77,339.08 314.69,340.92L311.23,342.99C309.43,344.07 308.55,346.19 309.06,348.22L310.04,352.14C310.91,355.62 307.76,358.78 304.28,357.9L300.36,356.92C298.33,356.41 296.21,357.29 295.13,359.09L293.06,362.55C291.22,365.63 286.75,365.63 284.91,362.55L282.84,359.09C281.76,357.29 279.64,356.41 277.61,356.92L273.69,357.9C270.21,358.77 267.05,355.62 267.93,352.14L268.91,348.22C269.42,346.19 268.54,344.07 266.74,342.99L263.28,340.92C260.2,339.08 260.2,334.61 263.28,332.77L266.74,330.7C268.54,329.62 269.42,327.5 268.91,325.47L267.93,321.55C267.06,318.07 270.21,314.91 273.69,315.79L277.61,316.77C279.64,317.28 281.76,316.4 282.84,314.6L284.91,311.14Z"
+        android:fillColor="#EA4335"/>
+    <path
+        android:pathData="M325.48,106.56C333.84,98.2 347.38,98.2 355.74,106.56C364.1,114.92 364.1,128.46 355.74,136.82L348.76,143.8C340.4,152.16 326.86,152.16 318.5,143.8C310.14,135.44 310.14,121.9 318.5,113.54L325.48,106.56Z"
+        android:fillColor="#FFB900"/>
+    <path
+        android:pathData="M62.52,107.52C73.44,103.01 85.95,108.22 90.46,119.14C94.97,130.06 89.76,142.57 78.84,147.08L69.71,150.85C58.79,155.36 46.28,150.15 41.77,139.23C37.26,128.31 42.47,115.8 53.39,111.29L62.52,107.52Z"
+        android:fillColor="#EA4335"/>
+  </group>
+</vector>
diff --git a/res/drawable/accessibility_button_navigation.xml b/res/drawable/accessibility_button_navigation.xml
deleted file mode 100644
index 8fdb627..0000000
--- a/res/drawable/accessibility_button_navigation.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2021 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <path
-      android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"
-      android:fillColor="#FFFFFF"/>
-  <path
-      android:fillColor="#FF000000"
-      android:pathData="M325.2,231.9c0,9.8 -7.9,17.7 -17.7,17.7H103.9c-9.8,0 -17.7,-7.9 -17.7,-17.7v-42.2h239V231.9z"/>
-  <path
-      android:pathData="M269.7,205.2c1.5,0 2.7,1.2 2.7,2.7s-1.2,2.7 -2.7,2.7c-1.5,0 -2.7,-1.2 -2.7,-2.7S268.2,205.2 269.7,205.2zM273.8,214.7v17.6H271v-8.1h-2.7v8.1h-2.7v-17.6c-2.7,-0.2 -5.6,-0.7 -8.1,-1.4l0.7,-2.7c3.5,0.9 7.7,1.4 11.5,1.4c3.8,0 8,-0.4 11.5,-1.4l0.7,2.7C279.4,214 276.5,214.5 273.8,214.7z"
-      android:fillColor="#FFFFFF"/>
-  <path
-      android:pathData="M205.7,219.7m-9.4,0a9.4,9.4 0,1 1,18.8 0a9.4,9.4 0,1 1,-18.8 0"
-      android:fillColor="#BDC0C4"/>
-  <path
-      android:pathData="M132.1,219.7l16,9.2l0,-18.5z"
-      android:fillColor="#BDC0C4"/>
-  <path
-      android:pathData="M325.4,231.9c0,9.8 -7.9,17.7 -17.7,17.7H103.9c-9.8,0 -17.7,-7.9 -17.7,-17.7V0h-4.4v231.9c0,12.2 9.9,22.2 22.1,22.2h203.8c12.2,0 22.1,-9.9 22.1,-22.2V14.8c2.4,0 4.4,-2 4.4,-4.4V0h-8.9V231.9z"
-      android:fillColor="#DADCE0"/>
-  <path
-      android:pathData="M269.7,255.3c-19.6,0 -35.6,-16 -35.6,-35.6s16,-35.6 35.6,-35.6s35.6,16 35.6,35.6S289.3,255.3 269.7,255.3zM269.7,187.1c-17.9,0 -32.5,14.6 -32.5,32.5c0,17.9 14.6,32.5 32.5,32.5s32.5,-14.6 32.5,-32.5C302.2,201.7 287.6,187.1 269.7,187.1z"
-      android:fillColor="#3773DF"/>
-</vector>
diff --git a/res/drawable/accessibility_button_navigation_tablet.xml b/res/drawable/accessibility_button_navigation_tablet.xml
deleted file mode 100644
index d8ae503..0000000
--- a/res/drawable/accessibility_button_navigation_tablet.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2023 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <path
-      android:pathData="M28,0L384,0A28,28 0,0 1,412 28L412,272A28,28 0,0 1,384 300L28,300A28,28 0,0 1,0 272L0,28A28,28 0,0 1,28 0z"
-      android:fillColor="#ffffff"/>
-  <group>
-    <clip-path
-        android:pathData="M62.23,50.19L349.77,50.19A16,16 0,0 1,365.77 66.19L365.77,236.14A16,16 0,0 1,349.77 252.14L62.23,252.14A16,16 0,0 1,46.23 236.14L46.23,66.19A16,16 0,0 1,62.23 50.19z"/>
-    <path
-        android:pathData="M46.23,204.14h320v48h-320z"
-        android:fillColor="#000000"/>
-    <path
-        android:pathData="M268.93,214.14C270.43,214.14 271.63,215.34 271.63,216.84C271.63,218.34 270.43,219.54 268.93,219.54C267.43,219.54 266.23,218.34 266.23,216.84C266.23,215.34 267.43,214.14 268.93,214.14ZM273.03,223.64V241.24H270.23V233.14H267.53V241.24H264.83V223.64C262.13,223.44 259.23,222.94 256.73,222.24L257.43,219.54C260.93,220.44 265.13,220.94 268.93,220.94C272.73,220.94 276.93,220.54 280.43,219.54L281.13,222.24C278.63,222.94 275.73,223.44 273.03,223.64Z"
-        android:fillColor="#ffffff"/>
-    <path
-        android:pathData="M206.23,238.04C211.42,238.04 215.63,233.83 215.63,228.64C215.63,223.45 211.42,219.24 206.23,219.24C201.04,219.24 196.83,223.45 196.83,228.64C196.83,233.83 201.04,238.04 206.23,238.04Z"
-        android:fillColor="#BDC0C4"/>
-    <path
-        android:pathData="M131.33,228.64L147.33,237.84V219.34L131.33,228.64Z"
-        android:fillColor="#BDC0C4"/>
-  </group>
-  <path
-      android:pathData="M62.23,51.69L349.77,51.69A14.5,14.5 0,0 1,364.27 66.19L364.27,236.14A14.5,14.5 0,0 1,349.77 250.64L62.23,250.64A14.5,14.5 0,0 1,47.73 236.14L47.73,66.19A14.5,14.5 0,0 1,62.23 51.69z"
-      android:strokeWidth="3"
-      android:fillColor="#00000000"
-      android:strokeColor="#DADCE0"/>
-  <path
-      android:pathData="M311.45,50.35C311.45,48.98 312.56,47.87 313.92,47.87L322.84,47.87C324.2,47.87 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
-      android:fillColor="#DADCE0"/>
-  <path
-      android:pathData="M263.59,50.35C263.59,48.98 264.7,47.87 266.06,47.87L287.85,47.87C289.22,47.87 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
-      android:fillColor="#DADCE0"/>
-  <path
-      android:pathData="M268.93,259.69C251.31,259.69 236.93,245.3 236.93,227.69C236.93,210.07 251.31,195.69 268.93,195.69C286.55,195.69 300.93,210.07 300.93,227.69C300.93,245.3 286.55,259.69 268.93,259.69ZM268.93,198.38C252.84,198.38 239.72,211.51 239.72,227.6C239.72,243.69 252.84,256.81 268.93,256.81C285.02,256.81 298.14,243.69 298.14,227.6C298.14,211.51 285.02,198.38 268.93,198.38Z"
-      android:fillColor="#729CEE"/>
-</vector>
diff --git a/res/drawable/accessibility_button_preview_large_floating_menu.xml b/res/drawable/accessibility_button_preview_large_floating_menu.xml
deleted file mode 100644
index 794f3ca..0000000
--- a/res/drawable/accessibility_button_preview_large_floating_menu.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2021 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-    <path
-        android:pathData="M325.4,198.2h-40.9c-22.1,0 -40,-18 -40,-40s18,-40 40,-40h40.9v2.6h-40.9c-20.7,0 -37.5,16.8 -37.5,37.5s16.8,37.5 37.5,37.5h40.9V198.2z"
-        android:fillColor="#DADCE0"/>
-    <path
-        android:pathData="M284.3,128.4c-16.5,0 -29.8,13.4 -29.8,29.8c0,16.5 13.4,29.8 29.8,29.8s29.8,-13.4 29.8,-29.8C314.2,141.7 300.9,128.4 284.3,128.4zM284.3,142.7c1.7,0 3.1,1.4 3.1,3.1c0,1.7 -1.4,3.1 -3.1,3.1s-3.1,-1.4 -3.1,-3.1C281.2,144.1 282.7,142.7 284.3,142.7zM289.1,153.7V174H286v-9.4h-3.1v9.4h-3.2v-20.3c-3.1,-0.3 -6.5,-0.8 -9.4,-1.5l0.8,-3.1c4.1,1 8.9,1.5 13.3,1.5s9.2,-0.5 13.3,-1.5l0.8,3.1C295.6,152.9 292.2,153.4 289.1,153.7z"
-        android:fillColor="#606368"/>
-</vector>
diff --git a/res/drawable/accessibility_button_preview_large_floating_menu_tablet.xml b/res/drawable/accessibility_button_preview_large_floating_menu_tablet.xml
deleted file mode 100644
index 99798d5..0000000
--- a/res/drawable/accessibility_button_preview_large_floating_menu_tablet.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <path
-      android:pathData="M365.76,226.17h-27.68c-14.95,0 -27.07,-12.18 -27.07,-27.07s12.18,-27.07 27.07,-27.07h27.68v1.76h-27.68c-14.01,0 -25.37,11.37 -25.37,25.37s11.37,25.37 25.37,25.37h27.68v1.62Z"
-      android:fillColor="#dadce0"/>
-  <path
-      android:pathData="M337.95,178.94c-11.16,0 -20.16,9.07 -20.16,20.16 0,11.16 9.07,20.16 20.16,20.16s20.16,-9.07 20.16,-20.16c0.07,-11.16 -8.93,-20.16 -20.16,-20.16ZM337.95,188.62c1.15,0 2.1,0.95 2.1,2.1 0,1.15 -0.95,2.1 -2.1,2.1s-2.1,-0.95 -2.1,-2.1c0,-1.15 1.02,-2.1 2.1,-2.1ZM341.2,196.06v13.74h-2.1v-6.36h-2.1v6.36h-2.17v-13.74c-2.1,-0.2 -4.4,-0.54 -6.36,-1.01l0.54,-2.1c2.77,0.68 6.02,1.01 9,1.01s6.23,-0.34 9,-1.01l0.54,2.1c-1.96,0.47 -4.26,0.81 -6.36,1.01Z"
-      android:fillColor="#5f6368"/>
-</vector>
diff --git a/res/drawable/accessibility_button_preview_small_floating_menu.xml b/res/drawable/accessibility_button_preview_small_floating_menu.xml
deleted file mode 100644
index 670a516..0000000
--- a/res/drawable/accessibility_button_preview_small_floating_menu.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2021 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-    <path
-        android:pathData="M325.4,189.2h-31.7c-17.1,0 -31,-13.9 -31,-31s13.9,-31 31,-31h31.7v2h-31.7c-16,0 -29,13 -29,29s13,29 29,29h31.7V189.2z"
-        android:fillColor="#DADCE0"/>
-    <path
-        android:pathData="M293.6,135.1c-12.8,0 -23.1,10.4 -23.1,23.1c0,12.8 10.4,23.1 23.1,23.1s23.1,-10.4 23.1,-23.1C316.7,145.4 306.4,135.1 293.6,135.1zM293.6,146.2c1.3,0 2.4,1.1 2.4,2.4s-1.1,2.4 -2.4,2.4s-2.4,-1.1 -2.4,-2.4S292.3,146.2 293.6,146.2zM297.3,154.7v15.7h-2.4v-7.3h-2.4v7.3H290v-15.7c-2.4,-0.2 -5,-0.6 -7.3,-1.2l0.6,-2.4c3.2,0.8 6.9,1.2 10.3,1.2s7.1,-0.4 10.3,-1.2l0.6,2.4C302.3,154.1 299.7,154.5 297.3,154.7z"
-        android:fillColor="#606368"/>
-</vector>
diff --git a/res/drawable/accessibility_button_preview_small_floating_menu_tablet.xml b/res/drawable/accessibility_button_preview_small_floating_menu_tablet.xml
deleted file mode 100644
index e31265c..0000000
--- a/res/drawable/accessibility_button_preview_small_floating_menu_tablet.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <path
-      android:pathData="M365.88,219.24h-20.7c-5.38,0 -10.43,-2.09 -14.23,-5.9s-5.9,-8.86 -5.9,-14.23c0,-5.38 2.09,-10.43 5.9,-14.24 3.8,-3.8 8.86,-5.9 14.23,-5.9h20.7v1h-20.7c-5.11,0 -9.91,1.99 -13.53,5.6s-5.6,8.42 -5.6,13.53c0,5.11 1.99,9.91 5.6,13.53s8.42,5.6 13.53,5.6h20.7v1Z"
-      android:fillColor="#dadce0"/>
-  <path
-      android:pathData="M345.19,184c-2.99,-0 -5.91,0.88 -8.4,2.54 -2.49,1.66 -4.43,4.02 -5.57,6.78s-1.45,5.8 -0.86,8.73c0.58,2.93 2.02,5.63 4.13,7.74 2.11,2.11 4.81,3.55 7.74,4.14 2.93,0.58 5.97,0.29 8.73,-0.86 2.76,-1.14 5.12,-3.08 6.78,-5.57 1.66,-2.49 2.55,-5.41 2.55,-8.4 0,-4.01 -1.59,-7.85 -4.42,-10.68 -2.83,-2.83 -6.67,-4.43 -10.68,-4.43ZM345.19,191.28c0.4,0.03 0.77,0.21 1.04,0.51 0.27,0.29 0.42,0.68 0.42,1.08 0,0.4 -0.15,0.79 -0.42,1.08 -0.27,0.29 -0.64,0.47 -1.04,0.51 -0.22,0.02 -0.44,-0.01 -0.65,-0.08 -0.21,-0.07 -0.4,-0.19 -0.56,-0.33 -0.16,-0.15 -0.29,-0.33 -0.38,-0.53 -0.09,-0.2 -0.13,-0.42 -0.13,-0.64 0,-0.22 0.05,-0.44 0.13,-0.64 0.09,-0.2 0.22,-0.38 0.38,-0.53 0.16,-0.15 0.35,-0.26 0.56,-0.33 0.21,-0.07 0.43,-0.1 0.65,-0.08ZM347.56,196.82v10.29h-1.58v-4.76h-1.59v4.75h-1.58v-10.28c-1.6,-0.12 -3.19,-0.39 -4.75,-0.79l0.4,-1.58c4.42,1.05 9.04,1.05 13.46,0l0.39,1.58c-1.57,0.41 -3.17,0.67 -4.79,0.79h0.04Z"
-      android:fillColor="#5f6368"/>
-</vector>
diff --git a/res/drawable/accessibility_button_preview_three_finger.xml b/res/drawable/accessibility_button_preview_three_finger.xml
deleted file mode 100644
index d18ce60..0000000
--- a/res/drawable/accessibility_button_preview_three_finger.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2021 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <path
-      android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"
-      android:fillColor="#FFFFFF"/>
-  <path
-      android:pathData="M242.5,226.9h-73.3c-1.7,0 -3.1,1.4 -3.1,3.1s1.4,3.1 3.1,3.1h73.3c1.7,0 3.1,-1.4 3.1,-3.1S244.2,226.9 242.5,226.9z"
-      android:fillColor="#DADCE0"/>
-  <path
-      android:pathData="M182.7,222.6v-17.5h7.5l-10.6,-18.7l-10.6,18.7h7.5v17.5c-2.9,1.2 -4.9,4 -4.9,7.4c0,4.4 3.5,8 8,8c4.4,0 8,-3.5 8,-8C187.6,226.7 185.6,223.8 182.7,222.6z"
-      android:fillColor="#1A73E8"/>
-  <path
-      android:pathData="M209,222.6v-17.5h7.5l-10.6,-18.7l-10.6,18.7h7.5v17.5c-2.9,1.2 -4.9,4 -4.9,7.4c0,4.4 3.5,8 8,8c4.4,0 8,-3.5 8,-8C213.9,226.7 211.9,223.8 209,222.6z"
-      android:fillColor="#1A73E8"/>
-  <path
-      android:pathData="M235.2,222.6v-17.5h7.5l-10.6,-18.7l-10.6,18.7h7.5v17.5c-2.9,1.2 -4.9,4 -4.9,7.4c0,4.4 3.5,8 8,8c4.4,0 8,-3.5 8,-8C240,226.7 238,223.8 235.2,222.6z"
-      android:fillColor="#1A73E8"/>
-  <path
-      android:pathData="M325.4,231.9c0,9.8 -7.9,17.7 -17.7,17.7H103.9c-9.8,0 -17.7,-7.9 -17.7,-17.7V0h-4.4v231.9c0,12.2 9.9,22.2 22.1,22.2h203.8c12.2,0 22.1,-9.9 22.1,-22.2V14.8c2.4,0 4.4,-2 4.4,-4.4V0h-8.9V231.9z"
-      android:fillColor="#DADCE0"/>
-</vector>
diff --git a/res/drawable/accessibility_button_preview_three_finger_tablet.xml b/res/drawable/accessibility_button_preview_three_finger_tablet.xml
deleted file mode 100644
index a5590c4..0000000
--- a/res/drawable/accessibility_button_preview_three_finger_tablet.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <group>
-    <clip-path
-        android:pathData="M0,0h412v300h-412z"/>
-    <path
-        android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
-        android:fillColor="#DADCE0"/>
-    <path
-        android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
-        android:strokeWidth="2.5"
-        android:fillColor="#ffffff"
-        android:strokeColor="#DADCE0"/>
-    <path
-        android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
-        android:fillColor="#DADCE0"/>
-    <path
-        android:pathData="M170.9,232.14L241.9,232.14A2,2 0,0 1,243.9 234.14L243.9,234.14A2,2 0,0 1,241.9 236.14L170.9,236.14A2,2 0,0 1,168.9 234.14L168.9,234.14A2,2 0,0 1,170.9 232.14z"
-        android:fillColor="#DADCE0"/>
-    <path
-        android:pathData="M188.7,229.14V217.74H193.6L186.7,205.54L179.8,217.74H184.7V229.14C182.8,229.94 181.5,231.74 181.5,233.94C181.5,236.84 183.8,239.14 186.7,239.14C189.6,239.14 191.9,236.84 191.9,233.94C191.9,231.84 190.5,229.94 188.7,229.14Z"
-        android:fillColor="#1A73E8"/>
-    <path
-        android:pathData="M208,229.14V217.74H212.9L206,205.54L199.1,217.74H204V229.14C202.1,229.94 200.8,231.74 200.8,233.94C200.8,236.84 203.1,239.14 206,239.14C208.9,239.14 211.2,236.84 211.2,233.94C211.2,231.84 209.9,229.94 208,229.14Z"
-        android:fillColor="#1A73E8"/>
-    <path
-        android:pathData="M227.29,229.14V217.74H232.2L225.29,205.54L218.4,217.74H223.29V229.14C221.4,229.94 220.1,231.74 220.1,233.94C220.1,236.84 222.4,239.14 225.29,239.14C228.2,239.14 230.49,236.84 230.49,233.94C230.49,231.84 229.2,229.94 227.29,229.14Z"
-        android:fillColor="#1A73E8"/>
-  </group>
-</vector>
diff --git a/res/drawable/accessibility_button_preview_two_finger.xml b/res/drawable/accessibility_button_preview_two_finger.xml
deleted file mode 100644
index bec95af..0000000
--- a/res/drawable/accessibility_button_preview_two_finger.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2021 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <path
-      android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"
-      android:fillColor="#FFFFFF"/>
-  <path
-      android:pathData="M325.4,231.9c0,9.8 -7.9,17.7 -17.7,17.7H103.9c-9.8,0 -17.7,-7.9 -17.7,-17.7V0h-4.4v231.9c0,12.2 9.9,22.2 22.1,22.2h203.8c12.2,0 22.1,-9.9 22.1,-22.2V14.8c2.4,0 4.4,-2 4.4,-4.4V0h-8.9V231.9z"
-      android:fillColor="#DADCE0"/>
-  <path
-      android:pathData="M242.4,226.9h-9.3h-5.6h-43.4h-4.7h-10.2c-1.7,0 -3.1,1.4 -3.1,3.1s1.4,3.1 3.1,3.1h10.2h3.9h45h4.8h9.3c1.7,0 3.1,-1.4 3.1,-3.1S244.1,226.9 242.4,226.9z"
-      android:fillColor="#DADCE0"/>
-  <path
-      android:pathData="M194,223.5v-17.5h7.5l-10.6,-18.7l-10.6,18.7h7.5v17.5c-1.6,0.7 -2.9,1.9 -3.8,3.4c-0.7,1.2 -1.1,2.5 -1.1,4c0,0.7 0.1,1.5 0.3,2.2c0.9,3.3 4,5.8 7.7,5.8c3.6,0 6.7,-2.5 7.7,-5.8c0.2,-0.7 0.3,-1.4 0.3,-2.2c0,-1.5 -0.4,-2.8 -1.1,-4C197,225.4 195.6,224.2 194,223.5z"
-      android:fillColor="#1A73E8"/>
-  <path
-      android:pathData="M223.7,223.5v-17.5h7.5l-10.6,-18.7l-10.6,18.7h7.5v17.5c-1.6,0.7 -2.9,1.9 -3.8,3.4c-0.7,1.2 -1.1,2.5 -1.1,4c0,0.7 0.1,1.5 0.3,2.2c0.9,3.3 4,5.8 7.7,5.8c3.6,0 6.7,-2.5 7.7,-5.8c0.2,-0.7 0.3,-1.4 0.3,-2.2c0,-1.5 -0.4,-2.8 -1.1,-4C226.6,225.4 225.3,224.2 223.7,223.5z"
-      android:fillColor="#1A73E8"/>
-</vector>
diff --git a/res/drawable/accessibility_button_preview_two_finger_tablet.xml b/res/drawable/accessibility_button_preview_two_finger_tablet.xml
deleted file mode 100644
index dbc5ad4..0000000
--- a/res/drawable/accessibility_button_preview_two_finger_tablet.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <group>
-    <clip-path
-        android:pathData="M0,0h412v300h-412z"/>
-    <path
-        android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
-        android:fillColor="#DADCE0"/>
-    <path
-        android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
-        android:strokeWidth="2.5"
-        android:fillColor="#ffffff"
-        android:strokeColor="#DADCE0"/>
-    <path
-        android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
-        android:fillColor="#DADCE0"/>
-    <path
-        android:pathData="M170.9,232.14L241.9,232.14A2,2 0,0 1,243.9 234.14L243.9,234.14A2,2 0,0 1,241.9 236.14L170.9,236.14A2,2 0,0 1,168.9 234.14L168.9,234.14A2,2 0,0 1,170.9 232.14z"
-        android:fillColor="#DADCE0"/>
-    <path
-        android:pathData="M198.35,229.14V217.74H203.25L196.35,205.54L189.45,217.74H194.35V229.14C192.45,229.94 191.15,231.74 191.15,233.94C191.15,236.84 193.45,239.14 196.35,239.14C199.25,239.14 201.55,236.84 201.55,233.94C201.55,231.84 200.15,229.94 198.35,229.14Z"
-        android:fillColor="#1A73E8"/>
-    <path
-        android:pathData="M217.65,229.14V217.74H222.55L215.65,205.54L208.75,217.74H213.65V229.14C211.75,229.94 210.45,231.74 210.45,233.94C210.45,236.84 212.75,239.14 215.65,239.14C218.55,239.14 220.85,236.84 220.85,233.94C220.85,231.84 219.55,229.94 217.65,229.14Z"
-        android:fillColor="#1A73E8"/>
-  </group>
-</vector>
diff --git a/res/drawable/accessibility_gesture_navigation_three_finger_preview.xml b/res/drawable/accessibility_gesture_navigation_three_finger_preview.xml
deleted file mode 100644
index c14d744..0000000
--- a/res/drawable/accessibility_gesture_navigation_three_finger_preview.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2021 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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"
-    xmlns:aapt="http://schemas.android.com/aapt"
-    android:width="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <path
-      android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"
-      android:fillColor="#FFFFFF"/>
-  <path
-      android:pathData="M274.9,97.7v-9.5c0,-1.3 -1.1,-2.4 -2.4,-2.4V35.9c0,-6.6 -5.3,-11.9 -11.9,-11.9H151.3c-6.6,0 -11.9,5.3 -11.9,11.9v228.2c0,6.6 5.3,11.9 11.9,11.9h109.4c6.6,0 11.9,-5.3 11.9,-11.9V147.6c1.3,0 2.4,-1.1 2.4,-2.4v-23.8c0,-1.3 -1.1,-2.4 -2.4,-2.4v-19C273.9,100.1 274.9,99 274.9,97.7zM270.2,264.1c0,5.2 -4.3,9.5 -9.5,9.5H151.3c-5.2,0 -9.5,-4.3 -9.5,-9.5V35.9c0,-5.2 4.3,-9.5 9.5,-9.5h109.4c5.2,0 9.5,4.3 9.5,9.5V264.1z"
-      android:fillColor="#DADCE0"/>
-  <path
-      android:pathData="M176.7,209.6c-3.7,0 -6.6,3 -6.6,6.6v24.6h13.3v-24.6C183.4,212.6 180.4,209.6 176.7,209.6z">
-    <aapt:attr name="android:fillColor">
-      <gradient
-          android:startY="240.8954"
-          android:startX="176.7163"
-          android:endY="209.6335"
-          android:endX="176.7163"
-          android:type="linear">
-        <item android:offset="0" android:color="#00669DF6"/>
-        <item android:offset="0.695" android:color="#FF669DF6"/>
-      </gradient>
-    </aapt:attr>
-  </path>
-  <path
-      android:pathData="M206,209.6c-3.7,0 -6.6,3 -6.6,6.6v24.6h13.3v-24.6C212.6,212.6 209.7,209.6 206,209.6z">
-    <aapt:attr name="android:fillColor">
-      <gradient
-          android:startY="240.8954"
-          android:startX="206"
-          android:endY="209.6335"
-          android:endX="206"
-          android:type="linear">
-        <item android:offset="0" android:color="#00669DF6"/>
-        <item android:offset="0.695" android:color="#FF669DF6"/>
-      </gradient>
-    </aapt:attr>
-  </path>
-  <path
-      android:pathData="M235.3,209.6c-3.7,0 -6.6,3 -6.6,6.6v24.6h13.3v-24.6C241.9,212.6 239,209.6 235.3,209.6z">
-    <aapt:attr name="android:fillColor">
-      <gradient
-          android:startY="240.8954"
-          android:startX="235.2837"
-          android:endY="209.6335"
-          android:endX="235.2837"
-          android:type="linear">
-        <item android:offset="0" android:color="#00669DF6"/>
-        <item android:offset="0.695" android:color="#FF669DF6"/>
-      </gradient>
-    </aapt:attr>
-  </path>
-</vector>
diff --git a/res/drawable/accessibility_gesture_navigation_three_finger_preview_tablet.xml b/res/drawable/accessibility_gesture_navigation_three_finger_preview_tablet.xml
deleted file mode 100644
index fab0853..0000000
--- a/res/drawable/accessibility_gesture_navigation_three_finger_preview_tablet.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2023 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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"
-    xmlns:aapt="http://schemas.android.com/aapt"
-    android:width="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <group>
-    <clip-path
-        android:pathData="M0,0h412v300h-412z"/>
-    <path
-        android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
-        android:fillColor="#DADCE0"/>
-    <path
-        android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
-        android:strokeWidth="2.5"
-        android:fillColor="#ffffff"
-        android:strokeColor="#DADCE0"/>
-    <path
-        android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
-        android:fillColor="#DADCE0"/>
-    <path
-        android:pathData="M176.84,188.94C173.14,188.94 170.24,191.94 170.24,195.54V220.14H183.54V195.54C183.54,191.94 180.54,188.94 176.84,188.94Z">
-      <aapt:attr name="android:fillColor">
-        <gradient
-            android:startX="176.89"
-            android:startY="220.23"
-            android:endX="176.89"
-            android:endY="188.97"
-            android:type="linear">
-          <item android:offset="0" android:color="#001A73E8"/>
-          <item android:offset="0.69" android:color="#FF1A73E8"/>
-        </gradient>
-      </aapt:attr>
-    </path>
-    <path
-        android:pathData="M206.14,188.94C202.44,188.94 199.54,191.94 199.54,195.54V220.14H212.84V195.54C212.74,191.94 209.84,188.94 206.14,188.94Z">
-      <aapt:attr name="android:fillColor">
-        <gradient
-            android:startX="206.19"
-            android:startY="220.23"
-            android:endX="206.19"
-            android:endY="188.97"
-            android:type="linear">
-          <item android:offset="0" android:color="#001A73E8"/>
-          <item android:offset="0.69" android:color="#FF1A73E8"/>
-        </gradient>
-      </aapt:attr>
-    </path>
-    <path
-        android:pathData="M235.44,188.94C231.74,188.94 228.84,191.94 228.84,195.54V220.14H242.14V195.54C242.04,191.94 239.14,188.94 235.44,188.94Z">
-      <aapt:attr name="android:fillColor">
-        <gradient
-            android:startX="235.49"
-            android:startY="220.23"
-            android:endX="235.49"
-            android:endY="188.97"
-            android:type="linear">
-          <item android:offset="0" android:color="#001A73E8"/>
-          <item android:offset="0.69" android:color="#FF1A73E8"/>
-        </gradient>
-      </aapt:attr>
-    </path>
-  </group>
-</vector>
diff --git a/res/drawable/accessibility_gesture_navigation_two_finger_preview.xml b/res/drawable/accessibility_gesture_navigation_two_finger_preview.xml
deleted file mode 100644
index 3ef4fd1..0000000
--- a/res/drawable/accessibility_gesture_navigation_two_finger_preview.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2021 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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"
-    xmlns:aapt="http://schemas.android.com/aapt"
-    android:width="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <path
-      android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"
-      android:fillColor="#FFFFFF"/>
-  <path
-      android:pathData="M274.9,97.7v-9.5c0,-1.3 -1.1,-2.4 -2.4,-2.4V35.9c0,-6.6 -5.3,-11.9 -11.9,-11.9H151.3c-6.6,0 -11.9,5.3 -11.9,11.9v228.2c0,6.6 5.3,11.9 11.9,11.9h109.4c6.6,0 11.9,-5.3 11.9,-11.9V147.6c1.3,0 2.4,-1.1 2.4,-2.4v-23.8c0,-1.3 -1.1,-2.4 -2.4,-2.4v-19C273.9,100.1 274.9,99 274.9,97.7zM270.2,264.1c0,5.2 -4.3,9.5 -9.5,9.5H151.3c-5.2,0 -9.5,-4.3 -9.5,-9.5V35.9c0,-5.2 4.3,-9.5 9.5,-9.5h109.4c5.2,0 9.5,4.3 9.5,9.5V264.1z"
-      android:fillColor="#DADCE0"/>
-  <path
-      android:pathData="M188.6,209.6c-3.7,0 -6.6,3 -6.6,6.6v24.6h13.3v-24.6C195.3,212.6 192.3,209.6 188.6,209.6z">
-    <aapt:attr name="android:fillColor">
-      <gradient
-          android:startY="240.8954"
-          android:startX="188.65"
-          android:endY="209.6335"
-          android:endX="188.65"
-          android:type="linear">
-        <item android:offset="0" android:color="#00669DF6"/>
-        <item android:offset="0.695" android:color="#FF669DF6"/>
-      </gradient>
-    </aapt:attr>
-  </path>
-  <path
-      android:pathData="M223.4,209.6c-3.7,0 -6.6,3 -6.6,6.6v24.6H230v-24.6C230,212.6 227.1,209.6 223.4,209.6z">
-    <aapt:attr name="android:fillColor">
-      <gradient
-          android:startY="240.8954"
-          android:startX="223.4"
-          android:endY="209.6335"
-          android:endX="223.4"
-          android:type="linear">
-        <item android:offset="0" android:color="#00669DF6"/>
-        <item android:offset="0.695" android:color="#FF669DF6"/>
-      </gradient>
-    </aapt:attr>
-  </path>
-</vector>
diff --git a/res/drawable/accessibility_gesture_navigation_two_finger_preview_tablet.xml b/res/drawable/accessibility_gesture_navigation_two_finger_preview_tablet.xml
deleted file mode 100644
index f976f02..0000000
--- a/res/drawable/accessibility_gesture_navigation_two_finger_preview_tablet.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2023 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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"
-    xmlns:aapt="http://schemas.android.com/aapt"
-    android:width="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <group>
-    <clip-path
-        android:pathData="M0,0h412v300h-412z"/>
-    <path
-        android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
-        android:fillColor="#DADCE0"/>
-    <path
-        android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
-        android:strokeWidth="2.5"
-        android:fillColor="#ffffff"
-        android:strokeColor="#DADCE0"/>
-    <path
-        android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
-        android:fillColor="#DADCE0"/>
-    <path
-        android:pathData="M188.15,188.94C184.45,188.94 181.55,191.94 181.55,195.54V220.14H194.85V195.54C194.85,191.94 191.85,188.94 188.15,188.94Z">
-      <aapt:attr name="android:fillColor">
-        <gradient
-            android:startX="188.2"
-            android:startY="220.23"
-            android:endX="188.2"
-            android:endY="188.97"
-            android:type="linear">
-          <item android:offset="0" android:color="#001A73E8"/>
-          <item android:offset="0.69" android:color="#FF1A73E8"/>
-        </gradient>
-      </aapt:attr>
-    </path>
-    <path
-        android:pathData="M222.95,188.94C219.25,188.94 216.35,191.94 216.35,195.54V220.14H229.55V195.54C229.55,191.94 226.65,188.94 222.95,188.94Z">
-      <aapt:attr name="android:fillColor">
-        <gradient
-            android:startX="222.95"
-            android:startY="220.23"
-            android:endX="222.95"
-            android:endY="188.97"
-            android:type="linear">
-          <item android:offset="0" android:color="#001A73E8"/>
-          <item android:offset="0.69" android:color="#FF1A73E8"/>
-        </gradient>
-      </aapt:attr>
-    </path>
-  </group>
-</vector>
diff --git a/res/drawable/accessibility_shortcut_type_hardware.xml b/res/drawable/accessibility_shortcut_type_hardware.xml
deleted file mode 100644
index b6b227b..0000000
--- a/res/drawable/accessibility_shortcut_type_hardware.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2021 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <path
-      android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"
-      android:fillColor="#FFFFFF"/>
-  <path
-      android:pathData="M287,187.8v-1.5h2.9v-13.7c0,-1.6 -1.3,-2.9 -2.9,-2.9v-23.2c1.6,0 2.9,-1.3 2.9,-2.9V132c0,-1.6 -1.3,-2.9 -2.9,-2.9V68.4c0,-8 -6.5,-14.5 -14.5,-14.5H139.4c-8,0 -14.5,6.5 -14.5,14.5v185.3c1,0.7 1.9,1.4 2.9,2.1V68.4c0,-6.4 5.2,-11.6 11.6,-11.6h133.1c6.4,0 11.6,5.2 11.6,11.6v188.7c1,-0.7 1.9,-1.4 2.9,-2.2v-50.5c1.6,0 2.9,-1.3 2.9,-2.9v-13.7L287,187.8L287,187.8z"
-      android:fillColor="#DADCE0"/>
-  <path
-      android:pathData="M287,204.4c1.6,0 2.9,-1.3 2.9,-2.9v-14H287v-0.9h2.9v-14c0,-1.6 -1.3,-2.9 -2.9,-2.9"
-      android:fillColor="#1A73E8"/>
-  <path
-      android:pathData="M206.7,19.1c35,0 67.9,13.6 92.6,38.4C324,82.1 337.6,115 337.6,150s-13.6,67.9 -38.4,92.6c-24.7,24.7 -57.6,38.4 -92.6,38.4s-67.9,-13.6 -92.6,-38.4C89.4,217.9 75.7,185 75.7,150s13.6,-67.9 38.4,-92.6C138.9,32.7 171.7,19.1 206.7,19.1M206.7,17.1c-73.4,0 -133,59.5 -133,132.9s59.5,132.9 132.9,132.9s133,-59.5 133,-132.9S280.1,17.1 206.7,17.1L206.7,17.1z"
-      android:fillColor="#E8EAED"/>
-</vector>
diff --git a/res/drawable/accessibility_shortcut_type_hardware_tablet.xml b/res/drawable/accessibility_shortcut_type_hardware_tablet.xml
deleted file mode 100644
index db0906e..0000000
--- a/res/drawable/accessibility_shortcut_type_hardware_tablet.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <group>
-    <clip-path
-        android:pathData="M0,0h412v300h-412z"/>
-    <path
-        android:pathData="M255.38,94.3C255.38,93.14 256.32,92.21 257.47,92.21L275.86,92.21C277.01,92.21 277.95,93.14 277.95,94.3L267.08,95.14L255.38,94.3Z"
-        android:fillColor="#669DF6"/>
-    <path
-        android:pathData="M340.09,110.17L340.09,248.55A14.5,14.5 0,0 1,325.59 263.05L88,263.05A14.5,14.5 0,0 1,73.5 248.55L73.5,110.17A14.5,14.5 0,0 1,88 95.67L325.59,95.67A14.5,14.5 0,0 1,340.09 110.17z"
-        android:strokeWidth="3"
-        android:fillColor="#ffffff"
-        android:strokeColor="#DADCE0"/>
-    <path
-        android:pathData="M295.77,94.3C295.77,93.14 296.7,92.21 297.86,92.21L305.38,92.21C306.53,92.21 307.46,93.14 307.46,94.3L302.45,95.14L295.77,94.3Z"
-        android:fillColor="#DADCE0"/>
-    <group>
-      <clip-path
-          android:pathData="M274,30L274,30A93,93 0,0 1,367 123L367,123A93,93 0,0 1,274 216L274,216A93,93 0,0 1,181 123L181,123A93,93 0,0 1,274 30z"/>
-      <path
-          android:pathData="M274,30L274,30A93,93 0,0 1,367 123L367,123A93,93 0,0 1,274 216L274,216A93,93 0,0 1,181 123L181,123A93,93 0,0 1,274 30z"
-          android:fillColor="#ffffff"/>
-      <path
-          android:pathData="M206.07,85.49C206.07,83.45 207.72,81.79 209.75,81.79L242.17,81.79C244.21,81.79 245.86,83.45 245.86,85.49L226.7,86.97L206.07,85.49Z"
-          android:fillColor="#669DF6"/>
-      <path
-          android:pathData="M331.59,87C339.46,87 345.84,93.38 345.84,101.25L345.84,369.73C345.84,377.6 339.46,383.98 331.59,383.98L-111.85,383.98C-119.72,383.98 -126.1,377.6 -126.1,369.73L-126.1,101.25C-126.1,93.38 -119.72,87 -111.85,87L331.59,87Z"
-          android:strokeWidth="3.5"
-          android:fillColor="#ffffff"
-          android:strokeColor="#DADCE0"/>
-      <path
-          android:pathData="M266.77,85.49C266.77,83.45 268.42,81.79 270.46,81.79L283.72,81.79C285.75,81.79 287.4,83.45 287.4,85.49L278.56,86.97L266.77,85.49Z"
-          android:fillColor="#DADCE0"/>
-    </group>
-    <path
-        android:strokeWidth="1"
-        android:pathData="M274,30.5L274,30.5A92.5,92.5 0,0 1,366.5 123L366.5,123A92.5,92.5 0,0 1,274 215.5L274,215.5A92.5,92.5 0,0 1,181.5 123L181.5,123A92.5,92.5 0,0 1,274 30.5z"
-        android:fillColor="#00000000"
-        android:strokeColor="#DADCE0"/>
-  </group>
-</vector>
diff --git a/res/drawable/accessibility_shortcut_type_software.xml b/res/drawable/accessibility_shortcut_type_software.xml
deleted file mode 100644
index d0573aa..0000000
--- a/res/drawable/accessibility_shortcut_type_software.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2021 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <path
-      android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5V28.5C0,12.8 12.5,0 27.8,0H384.3C399.5,0 412,12.8 412,28.5V271.7C412,287.2 399.5,300 384.2,300Z"
-      android:fillColor="#fff"/>
-  <path
-      android:pathData="M142,225.3H275.1a14.51,14.51 0,0 0,14.5 -14.5V69a2.9,2.9 0,0 0,2.9 -2.9v-17c-1.9,-1.6 -3.8,-3.2 -5.8,-4.7V210.8a11.61,11.61 0,0 1,-11.6 11.6H142a11.61,11.61 0,0 1,-11.6 -11.6V42.7c-1,0.7 -1.9,1.4 -2.9,2.1V210.9A14.62,14.62 0,0 0,142 225.3Z"
-      android:fillColor="#dadce0"/>
-  <path
-      android:pathData="M207.4,19.1a131.11,131.11 0,0 1,131 131,131 131,0 0,1 -262,-0.1 130.94,130.94 0,0 1,131 -130.9m0,-2A132.9,132.9 0,1 0,340.3 150,133 133,0 0,0 207.4,17.1Z"
-      android:fillColor="#e8eaed"/>
-  <path
-      android:fillColor="#FF000000"
-      android:pathData="M286.7,210.83a11.59,11.59 0,0 1,-11.58 11.58H142a11.59,11.59 0,0 1,-11.58 -11.58V183.26H286.7Z"/>
-  <path
-      android:pathData="M250.41,193.38a1.77,1.77 0,1 1,-1.78 1.77A1.77,1.77 0,0 1,250.41 193.38ZM253.07,199.58v11.53h-1.78v-5.32h-1.77v5.32h-1.77L247.75,199.58a30.78,30.78 0,0 1,-5.32 -0.89l0.44,-1.77a32.34,32.34 0,0 0,15.07 0l0.45,1.77A30.78,30.78 0,0 1,253.07 199.58Z"
-      android:fillColor="#fff"/>
-  <path
-      android:pathData="M208.55,202.84m-6.13,0a6.13,6.13 0,1 1,12.26 0a6.13,6.13 0,1 1,-12.26 0"
-      android:fillColor="#bdc1c6"/>
-  <path
-      android:pathData="M250.41,202.84m-22.28,0a22.28,22.28 0,1 1,44.56 0a22.28,22.28 0,1 1,-44.56 0"
-      android:strokeWidth="2"
-      android:fillColor="#00000000"
-      android:strokeColor="#1a73e8"/>
-  <path
-      android:pathData="M160.45,202.84l10.43,6.02l0,-12.05l-10.43,6.03z"
-      android:fillColor="#bdc1c6"/>
-</vector>
diff --git a/res/drawable/accessibility_shortcut_type_software_floating.xml b/res/drawable/accessibility_shortcut_type_software_floating.xml
deleted file mode 100644
index 88ce42d..0000000
--- a/res/drawable/accessibility_shortcut_type_software_floating.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2021 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <path
-      android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5V28.5C0,12.8 12.5,0 27.8,0H384.3C399.5,0 412,12.8 412,28.5V271.7C412,287.2 399.5,300 384.2,300Z"
-      android:fillColor="#fff"/>
-  <path
-      android:pathData="M142,225.3H275.1a14.51,14.51 0,0 0,14.5 -14.5V69a2.9,2.9 0,0 0,2.9 -2.9v-17c-1.9,-1.6 -3.8,-3.2 -5.8,-4.7V210.8a11.61,11.61 0,0 1,-11.6 11.6H142a11.61,11.61 0,0 1,-11.6 -11.6V42.7c-1,0.7 -1.9,1.4 -2.9,2.1V210.9A14.62,14.62 0,0 0,142 225.3Z"
-      android:fillColor="#dadce0"/>
-  <path
-      android:strokeWidth="1"
-      android:pathData="M286.7,144.13H266a19.63,19.63 0,1 0,0 39.26H286.7"
-      android:fillColor="#00000000"
-      android:strokeColor="#dadce0"/>
-  <path
-      android:pathData="M266,148.65a15.11,15.11 0,1 0,15.1 15.11A15.11,15.11 0,0 0,266 148.65ZM266,155.93a1.59,1.59 0,0 1,0 3.17,1.59 1.59,0 1,1 0,-3.17ZM268.37,161.47v10.29h-1.58L266.79,167h-1.59v4.75h-1.58L263.62,161.47a27.23,27.23 0,0 1,-4.75 -0.79l0.4,-1.58a29.06,29.06 0,0 0,13.46 0l0.39,1.58A27.23,27.23 0,0 1,268.33 161.47Z"
-      android:fillColor="#5f6368"/>
-  <path
-      android:pathData="M207.4,19.1a131.11,131.11 0,0 1,131 131,131 131,0 0,1 -262,-0.1 130.94,130.94 0,0 1,131 -130.9m0,-2A132.9,132.9 0,1 0,340.3 150,133 133,0 0,0 207.4,17.1Z"
-      android:fillColor="#e8eaed"/>
-</vector>
diff --git a/res/drawable/accessibility_shortcut_type_software_floating_tablet.xml b/res/drawable/accessibility_shortcut_type_software_floating_tablet.xml
deleted file mode 100644
index 4b04704..0000000
--- a/res/drawable/accessibility_shortcut_type_software_floating_tablet.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <group>
-    <clip-path
-        android:pathData="M0,0h412v300h-412z"/>
-    <path
-        android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
-        android:fillColor="#DADCE0"/>
-    <path
-        android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
-        android:strokeWidth="2.5"
-        android:fillColor="#ffffff"
-        android:strokeColor="#DADCE0"/>
-    <path
-        android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
-        android:fillColor="#DADCE0"/>
-  </group>
-  <path
-      android:strokeWidth="1"
-      android:pathData="M365.64,179.48H344.94C339.74,179.48 334.74,181.54 331.06,185.23C327.38,188.91 325.31,193.9 325.31,199.11C325.31,204.31 327.38,209.3 331.06,212.99C334.74,216.67 339.74,218.74 344.94,218.74H365.64"
-      android:fillColor="#00000000"
-      android:strokeColor="#DADCE0"/>
-  <path
-      android:pathData="M344.95,184C341.96,183.99 339.04,184.88 336.55,186.54C334.06,188.2 332.12,190.56 330.98,193.32C329.83,196.08 329.53,199.12 330.11,202.05C330.7,204.98 332.14,207.67 334.25,209.79C336.36,211.9 339.05,213.34 341.98,213.93C344.92,214.51 347.95,214.21 350.72,213.07C353.48,211.92 355.84,209.99 357.5,207.5C359.16,205.02 360.05,202.1 360.05,199.11C360.05,195.1 358.46,191.26 355.62,188.43C352.79,185.59 348.95,184 344.95,184ZM344.95,191.28C345.35,191.31 345.72,191.49 345.99,191.78C346.26,192.08 346.41,192.46 346.41,192.86C346.41,193.26 346.26,193.65 345.99,193.94C345.72,194.23 345.35,194.41 344.95,194.45C344.73,194.46 344.51,194.43 344.3,194.36C344.09,194.29 343.9,194.18 343.74,194.03C343.58,193.88 343.45,193.7 343.36,193.5C343.28,193.3 343.23,193.08 343.23,192.86C343.23,192.64 343.28,192.43 343.36,192.22C343.45,192.02 343.58,191.84 343.74,191.69C343.9,191.54 344.09,191.43 344.3,191.36C344.51,191.29 344.73,191.26 344.95,191.28ZM347.32,196.82V207.11H345.74V202.35H344.15V207.1H342.57V196.82C340.96,196.69 339.37,196.43 337.82,196.03L338.22,194.45C342.64,195.5 347.25,195.5 351.68,194.45L352.07,196.03C350.5,196.43 348.89,196.7 347.28,196.82H347.32Z"
-      android:fillColor="#5F6368"/>
-</vector>
diff --git a/res/drawable/accessibility_shortcut_type_software_gesture.xml b/res/drawable/accessibility_shortcut_type_software_gesture.xml
deleted file mode 100644
index 2ded59f..0000000
--- a/res/drawable/accessibility_shortcut_type_software_gesture.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2021 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-    <path
-        android:fillColor="#FF000000"
-        android:pathData="M842.3,299.9H485.9c-15.3,0 -27.8,-12.8 -27.8,-28.5v-243c0,-15.7 12.5,-28.5 27.8,-28.5h356.5c15.2,0 27.7,12.8 27.7,28.5v243.2C870.1,287.1 857.6,299.9 842.3,299.9z"/>
-    <path
-        android:pathData="M597.6,225.2h133.1c8,0 14.5,-6.5 14.5,-14.5V68.9c1.6,0 2.9,-1.3 2.9,-2.9V49c-1.9,-1.6 -3.8,-3.2 -5.8,-4.7v166.4c0,6.4 -5.2,11.6 -11.6,11.6H597.6c-6.4,0 -11.6,-5.2 -11.6,-11.6V42.6c-1,0.7 -1.9,1.4 -2.9,2.1v166.1C583.2,218.7 589.7,225.2 597.6,225.2z"
-        android:fillColor="#80868B"/>
-    <path
-        android:pathData="M688,207.8h-47.8c-1.1,0 -2,0.9 -2,2s0.9,2 2,2H688c1.1,0 2,-0.9 2,-2S689.1,207.8 688,207.8z"
-        android:fillColor="#80868B"/>
-    <path
-        android:pathData="M656.5,205.6v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2c2.9,0 5.2,-2.3 5.2,-5.2C659.7,208.3 658.3,206.4 656.5,205.6z"
-        android:fillColor="#669DF6"/>
-    <path
-        android:pathData="M675.8,205.6v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2c2.9,0 5.2,-2.3 5.2,-5.2C679,208.3 677.7,206.4 675.8,205.6z"
-        android:fillColor="#669DF6"/>
-    <path
-        android:pathData="M664.2,19c35,0 67.9,13.6 92.6,38.4c24.7,24.7 38.4,57.6 38.4,92.6s-13.6,67.9 -38.4,92.6c-24.7,24.7 -57.6,38.4 -92.6,38.4s-67.9,-13.6 -92.6,-38.4c-24.7,-24.8 -38.4,-57.7 -38.4,-92.7s13.6,-67.9 38.4,-92.6C596.3,32.6 629.2,19 664.2,19M664.2,17c-73.4,0 -133,59.5 -133,132.9s59.5,132.9 132.9,132.9s133,-59.5 133,-132.9S737.6,17 664.2,17L664.2,17z"
-        android:fillColor="#3C4043"/>
-    <path
-        android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"
-        android:fillColor="#FFFFFF"/>
-    <path
-        android:pathData="M139.4,225.3h133.1c8,0 14.5,-6.5 14.5,-14.5V69c1.6,0 2.9,-1.3 2.9,-2.9v-17c-1.9,-1.6 -3.8,-3.2 -5.8,-4.7v166.4c0,6.4 -5.2,11.6 -11.6,11.6H139.4c-6.4,0 -11.6,-5.2 -11.6,-11.6V42.7c-1,0.7 -1.9,1.4 -2.9,2.1v166.1C125,218.8 131.5,225.3 139.4,225.3z"
-        android:fillColor="#DADCE0"/>
-    <path
-        android:pathData="M229.9,207.9h-47.8c-1.1,0 -2,0.9 -2,2s0.9,2 2,2h47.8c1.1,0 2,-0.9 2,-2S231,207.9 229.9,207.9z"
-        android:fillColor="#DADCE0"/>
-    <path
-        android:pathData="M198.4,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2s5.2,-2.3 5.2,-5.2C201.5,208.4 200.1,206.5 198.4,205.7z"
-        android:fillColor="#1A73E8"/>
-    <path
-        android:pathData="M217.6,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2s5.2,-2.3 5.2,-5.2C220.9,208.4 219.5,206.5 217.6,205.7z"
-        android:fillColor="#1A73E8"/>
-    <path
-        android:pathData="M206.1,19.1c35,0 67.9,13.6 92.6,38.4c24.7,24.7 38.4,57.6 38.4,92.6s-13.6,67.9 -38.4,92.6c-24.7,24.7 -57.6,38.4 -92.6,38.4s-67.9,-13.6 -92.6,-38.4S75.1,185 75.1,150s13.6,-67.9 38.4,-92.6C138.2,32.7 171.1,19.1 206.1,19.1M206.1,17.1c-73.4,0 -133,59.5 -133,132.9S132.6,282.9 206,282.9S339,223.4 339,150S279.5,17.1 206.1,17.1L206.1,17.1z"
-        android:fillColor="#E8EAED"/>
-</vector>
diff --git a/res/drawable/accessibility_shortcut_type_software_gesture_tablet.xml b/res/drawable/accessibility_shortcut_type_software_gesture_tablet.xml
deleted file mode 100644
index 2dccf2a..0000000
--- a/res/drawable/accessibility_shortcut_type_software_gesture_tablet.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2023 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-    <group>
-        <clip-path
-            android:pathData="M0,0h412v300h-412z"/>
-        <path
-            android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
-            android:fillColor="#DADCE0"/>
-        <path
-            android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
-            android:strokeWidth="2.5"
-            android:fillColor="#ffffff"
-            android:strokeColor="#DADCE0"/>
-        <path
-            android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
-            android:fillColor="#DADCE0"/>
-        <path
-            android:pathData="M170.9,232.14L241.9,232.14A2,2 0,0 1,243.9 234.14L243.9,234.14A2,2 0,0 1,241.9 236.14L170.9,236.14A2,2 0,0 1,168.9 234.14L168.9,234.14A2,2 0,0 1,170.9 232.14z"
-            android:fillColor="#DADCE0"/>
-        <path
-            android:pathData="M198.35,229.14V217.74H203.25L196.35,205.54L189.45,217.74H194.35V229.14C192.45,229.94 191.15,231.74 191.15,233.94C191.15,236.84 193.45,239.14 196.35,239.14C199.25,239.14 201.55,236.84 201.55,233.94C201.55,231.84 200.15,229.94 198.35,229.14Z"
-            android:fillColor="#1A73E8"/>
-        <path
-            android:pathData="M217.65,229.14V217.74H222.55L215.65,205.54L208.75,217.74H213.65V229.14C211.75,229.94 210.45,231.74 210.45,233.94C210.45,236.84 212.75,239.14 215.65,239.14C218.55,239.14 220.85,236.84 220.85,233.94C220.85,231.84 219.55,229.94 217.65,229.14Z"
-            android:fillColor="#1A73E8"/>
-    </group>
-</vector>
diff --git a/res/drawable/accessibility_shortcut_type_software_gesture_talkback.xml b/res/drawable/accessibility_shortcut_type_software_gesture_talkback.xml
deleted file mode 100644
index 2de804c..0000000
--- a/res/drawable/accessibility_shortcut_type_software_gesture_talkback.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2021 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-    <path
-        android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"
-        android:fillColor="#FFFFFF"/>
-    <path
-        android:pathData="M138,225.3h133.1c8,0 14.5,-6.5 14.5,-14.5V69c1.6,0 2.9,-1.3 2.9,-2.9V45.7c-1.9,-1.5 -3.8,-2.9 -5.8,-4.3v169.4c0,6.4 -5.2,11.6 -11.6,11.6H138c-6.4,0 -11.6,-5.2 -11.6,-11.6V43.5c-1,0.7 -1.9,1.5 -2.9,2.2v165C123.5,218.8 130,225.3 138,225.3z"
-        android:fillColor="#DADCE0"/>
-    <path
-        android:pathData="M206,283.9c-73.9,0 -133.9,-60.1 -133.9,-133.9S132.1,16.1 206,16.1c73.9,0 133.9,60.1 133.9,133.9S279.9,283.9 206,283.9zM206,18.1C133.2,18.1 74.1,77.2 74.1,150S133.2,281.9 206,281.9S337.9,222.8 337.9,150S278.8,18.1 206,18.1z"
-        android:fillColor="#E8EAED"/>
-    <path
-        android:pathData="M229.9,207.9h-47.8c-1.1,0 -2,0.9 -2,2s0.9,2 2,2h47.8c1.1,0 2,-0.9 2,-2S231,207.9 229.9,207.9z"
-        android:fillColor="#DADCE0"/>
-    <path
-        android:pathData="M190.9,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2c2.9,0 5.2,-2.3 5.2,-5.2C194.1,208.4 192.8,206.5 190.9,205.7z"
-        android:fillColor="#1A73E8"/>
-    <path
-        android:pathData="M208,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2c2.9,0 5.2,-2.3 5.2,-5.2C211.2,208.4 209.9,206.5 208,205.7z"
-        android:fillColor="#1A73E8"/>
-    <path
-        android:pathData="M225.1,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2c2.9,0 5.2,-2.3 5.2,-5.2C228.2,208.4 226.9,206.5 225.1,205.7z"
-        android:fillColor="#1A73E8"/>
-</vector>
\ No newline at end of file
diff --git a/res/drawable/accessibility_shortcut_type_software_gesture_talkback_tablet.xml b/res/drawable/accessibility_shortcut_type_software_gesture_talkback_tablet.xml
deleted file mode 100644
index e122ae1..0000000
--- a/res/drawable/accessibility_shortcut_type_software_gesture_talkback_tablet.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2023 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-    <group>
-        <clip-path
-            android:pathData="M0,0h412v300h-412z"/>
-        <path
-            android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
-            android:fillColor="#DADCE0"/>
-        <path
-            android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
-            android:strokeWidth="2.5"
-            android:fillColor="#ffffff"
-            android:strokeColor="#DADCE0"/>
-        <path
-            android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
-            android:fillColor="#DADCE0"/>
-        <path
-            android:pathData="M170.9,232.14L241.9,232.14A2,2 0,0 1,243.9 234.14L243.9,234.14A2,2 0,0 1,241.9 236.14L170.9,236.14A2,2 0,0 1,168.9 234.14L168.9,234.14A2,2 0,0 1,170.9 232.14z"
-            android:fillColor="#DADCE0"/>
-        <path
-            android:pathData="M188.7,229.14V217.74H193.6L186.7,205.54L179.8,217.74H184.7V229.14C182.8,229.94 181.5,231.74 181.5,233.94C181.5,236.84 183.8,239.14 186.7,239.14C189.6,239.14 191.9,236.84 191.9,233.94C191.9,231.84 190.5,229.94 188.7,229.14Z"
-            android:fillColor="#1A73E8"/>
-        <path
-            android:pathData="M208,229.14V217.74H212.9L206,205.54L199.1,217.74H204V229.14C202.1,229.94 200.8,231.74 200.8,233.94C200.8,236.84 203.1,239.14 206,239.14C208.9,239.14 211.2,236.84 211.2,233.94C211.2,231.84 209.9,229.94 208,229.14Z"
-            android:fillColor="#1A73E8"/>
-        <path
-            android:pathData="M227.29,229.14V217.74H232.2L225.29,205.54L218.4,217.74H223.29V229.14C221.4,229.94 220.1,231.74 220.1,233.94C220.1,236.84 222.4,239.14 225.29,239.14C228.2,239.14 230.49,236.84 230.49,233.94C230.49,231.84 229.2,229.94 227.29,229.14Z"
-            android:fillColor="#1A73E8"/>
-    </group>
-</vector>
diff --git a/res/drawable/accessibility_shortcut_type_software_tablet.xml b/res/drawable/accessibility_shortcut_type_software_tablet.xml
deleted file mode 100644
index 334344d..0000000
--- a/res/drawable/accessibility_shortcut_type_software_tablet.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="412dp"
-    android:height="300dp"
-    android:viewportWidth="412"
-    android:viewportHeight="300">
-  <group>
-    <clip-path
-        android:pathData="M62.23,50.19L349.77,50.19A16,16 0,0 1,365.77 66.19L365.77,236.14A16,16 0,0 1,349.77 252.14L62.23,252.14A16,16 0,0 1,46.23 236.14L46.23,66.19A16,16 0,0 1,62.23 50.19z"/>
-    <path
-        android:pathData="M46.23,204.14h320v48h-320z"
-        android:fillColor="#000000"/>
-    <path
-        android:pathData="M268.93,214.14C270.43,214.14 271.63,215.34 271.63,216.84C271.63,218.34 270.43,219.54 268.93,219.54C267.43,219.54 266.23,218.34 266.23,216.84C266.23,215.34 267.43,214.14 268.93,214.14ZM273.03,223.64V241.24H270.23V233.14H267.53V241.24H264.83V223.64C262.13,223.44 259.23,222.94 256.73,222.24L257.43,219.54C260.93,220.44 265.13,220.94 268.93,220.94C272.73,220.94 276.93,220.54 280.43,219.54L281.13,222.24C278.63,222.94 275.73,223.44 273.03,223.64Z"
-        android:fillColor="#ffffff"/>
-    <path
-        android:pathData="M206.23,238.04C211.42,238.04 215.63,233.83 215.63,228.64C215.63,223.45 211.42,219.24 206.23,219.24C201.04,219.24 196.83,223.45 196.83,228.64C196.83,233.83 201.04,238.04 206.23,238.04Z"
-        android:fillColor="#BDC0C4"/>
-    <path
-        android:pathData="M131.33,228.64L147.33,237.84V219.34L131.33,228.64Z"
-        android:fillColor="#BDC0C4"/>
-  </group>
-  <path
-      android:pathData="M62.23,51.69L349.77,51.69A14.5,14.5 0,0 1,364.27 66.19L364.27,236.14A14.5,14.5 0,0 1,349.77 250.64L62.23,250.64A14.5,14.5 0,0 1,47.73 236.14L47.73,66.19A14.5,14.5 0,0 1,62.23 51.69z"
-      android:strokeWidth="3"
-      android:fillColor="#00000000"
-      android:strokeColor="#DADCE0"/>
-  <path
-      android:pathData="M311.45,50.35C311.45,48.98 312.56,47.87 313.92,47.87L322.84,47.87C324.2,47.87 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
-      android:fillColor="#DADCE0"/>
-  <path
-      android:pathData="M263.59,50.35C263.59,48.98 264.7,47.87 266.06,47.87L287.85,47.87C289.22,47.87 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
-      android:fillColor="#DADCE0"/>
-  <path
-      android:pathData="M268.93,259.69C251.31,259.69 236.93,245.3 236.93,227.69C236.93,210.07 251.31,195.69 268.93,195.69C286.55,195.69 300.93,210.07 300.93,227.69C300.93,245.3 286.55,259.69 268.93,259.69ZM268.93,198.38C252.84,198.38 239.72,211.51 239.72,227.6C239.72,243.69 252.84,256.81 268.93,256.81C285.02,256.81 298.14,243.69 298.14,227.6C298.14,211.51 285.02,198.38 268.93,198.38Z"
-      android:fillColor="#729CEE"/>
-</vector>
diff --git a/res/drawable/audio_sharing_rounded_bg.xml b/res/drawable/audio_sharing_rounded_bg.xml
index db1e1bb..35517ea 100644
--- a/res/drawable/audio_sharing_rounded_bg.xml
+++ b/res/drawable/audio_sharing_rounded_bg.xml
@@ -15,8 +15,10 @@
   ~ limitations under the License.
   -->
 
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
+<shape
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
     android:shape="rectangle">
-    <solid android:color="?android:colorButtonNormal" />
+    <solid android:color="?androidprv:attr/colorAccentPrimary" />
     <corners android:radius="12dp" />
 </shape>
\ No newline at end of file
diff --git a/res/drawable/battery_tips_all_rounded_bg.xml b/res/drawable/battery_tips_all_rounded_bg.xml
deleted file mode 100644
index ba164b9..0000000
--- a/res/drawable/battery_tips_all_rounded_bg.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright (C) 2023 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="@color/settingslib_materialColorSurfaceBright" />
-    <corners android:radius="@dimen/battery_tips_card_corner_radius_normal" />
-</shape>
\ No newline at end of file
diff --git a/res/drawable/battery_tips_all_rounded_bg_ripple.xml b/res/drawable/battery_tips_all_rounded_bg_ripple.xml
deleted file mode 100644
index 3180570..0000000
--- a/res/drawable/battery_tips_all_rounded_bg_ripple.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright (C) 2023 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<ripple xmlns:android="http://schemas.android.com/apk/res/android"
-    android:color="?android:attr/colorControlHighlight">
-    <item android:drawable="@drawable/battery_tips_all_rounded_bg"/>
-</ripple>
\ No newline at end of file
diff --git a/res/drawable/battery_tips_half_rounded_bottom_bg.xml b/res/drawable/battery_tips_half_rounded_bottom_bg.xml
deleted file mode 100644
index 7766de6..0000000
--- a/res/drawable/battery_tips_half_rounded_bottom_bg.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright (C) 2023 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="@color/settingslib_dialog_background"/>
-    <corners
-        android:topLeftRadius="@dimen/battery_tips_card_corner_radius_small"
-        android:topRightRadius="@dimen/battery_tips_card_corner_radius_small"
-        android:bottomLeftRadius="@dimen/battery_tips_card_corner_radius_normal"
-        android:bottomRightRadius="@dimen/battery_tips_card_corner_radius_normal"
-        />
-</shape>
\ No newline at end of file
diff --git a/res/drawable/battery_tips_half_rounded_top_bg.xml b/res/drawable/battery_tips_half_rounded_top_bg.xml
deleted file mode 100644
index aba1a4f..0000000
--- a/res/drawable/battery_tips_half_rounded_top_bg.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright (C) 2023 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="@color/settingslib_dialog_background"/>
-    <corners
-        android:topLeftRadius="@dimen/battery_tips_card_corner_radius_normal"
-        android:topRightRadius="@dimen/battery_tips_card_corner_radius_normal"
-        android:bottomLeftRadius="@dimen/battery_tips_card_corner_radius_small"
-        android:bottomRightRadius="@dimen/battery_tips_card_corner_radius_small"
-        />
-</shape>
\ No newline at end of file
diff --git a/res/drawable/external_display_mirror_landscape.xml b/res/drawable/external_display_mirror_landscape.xml
new file mode 100644
index 0000000..4272ddb
--- /dev/null
+++ b/res/drawable/external_display_mirror_landscape.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2024 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT 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="232.02106dp"
+    android:viewportHeight="214"
+    android:viewportWidth="380"
+    android:width="412dp">
+    <path
+        android:pathData="M16,0L364,0A16,16 0,0 1,380 16L380,198A16,16 0,0 1,364 214L16,214A16,16 0,0 1,0 198L0,16A16,16 0,0 1,16 0z"
+        android:fillColor="#00000000"/>
+    <path
+        android:pathData="M150.5,38L327.5,38A5.5,5.5 0,0 1,333 43.5L333,138.5A5.5,5.5 0,0 1,327.5 144L150.5,144A5.5,5.5 0,0 1,145 138.5L145,43.5A5.5,5.5 0,0 1,150.5 38z"
+        android:fillColor="#80868B"/>
+    <path
+        android:pathData="M150.58,39L327.42,39A4.58,4.58 0,0 1,332 43.58L332,138.42A4.58,4.58 0,0 1,327.42 143L150.58,143A4.58,4.58 0,0 1,146 138.42L146,43.58A4.58,4.58 0,0 1,150.58 39z"
+        android:fillColor="#000000"/>
+    <path
+        android:pathData="M254.25,144H223.75L221.52,173.34C221.48,173.82 221.08,174.18 220.6,174.18H211.37C211.25,174.18 211.12,174.21 211.01,174.26C210.11,174.65 210.39,176 211.37,176H266.63C267.61,176 267.89,174.65 266.99,174.26C266.88,174.21 266.75,174.18 266.63,174.18H257.4C256.92,174.18 256.52,173.82 256.48,173.34L254.25,144Z"
+        android:fillColor="#5F6368"/>
+    <path
+        android:pathData="M330,53L330,129A3,3 0,0 1,327 132L151,132A3,3 0,0 1,148 129L148,53A3,3 0,0 1,151 50L327,50A3,3 0,0 1,330 53z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#E0E994"/>
+    <path
+        android:pathData="M113,91.08V86.55C113,86.25 112.88,85.96 112.67,85.75C112.45,85.54 112.17,85.42 111.86,85.41V61.64C111.84,60.15 111.24,58.72 110.17,57.66C109.1,56.61 107.66,56.01 106.16,56H53.71C52.2,56.01 50.75,56.61 49.68,57.67C48.62,58.73 48.01,60.17 48,61.66V170.34C48.01,171.83 48.62,173.27 49.68,174.33C50.75,175.39 52.2,175.99 53.71,176H106.16C107.67,175.99 109.11,175.39 110.18,174.33C111.25,173.27 111.85,171.83 111.86,170.34V114.86C112.16,114.86 112.45,114.74 112.67,114.52C112.88,114.31 113,114.03 113,113.73V102.4C113,102.1 112.88,101.82 112.67,101.6C112.45,101.39 112.17,101.27 111.86,101.27V92.21C112.16,92.21 112.45,92.09 112.67,91.88C112.88,91.67 113,91.38 113,91.08ZM110.72,170.34C110.72,171.54 110.24,172.69 109.38,173.54C108.53,174.39 107.37,174.87 106.16,174.87H53.71C52.5,174.87 51.34,174.39 50.48,173.54C49.62,172.69 49.14,171.54 49.14,170.34V61.64C49.14,60.44 49.62,59.29 50.48,58.44C51.34,57.59 52.5,57.11 53.71,57.11H106.16C107.37,57.11 108.53,57.59 109.38,58.44C110.24,59.29 110.72,60.44 110.72,61.64V170.34Z"
+        android:fillColor="#80868B"/>
+    <path
+        android:pathData="M54,59L106,59A3,3 0,0 1,109 62L109,170A3,3 0,0 1,106 173L54,173A3,3 0,0 1,51 170L51,62A3,3 0,0 1,54 59z"
+        android:strokeColor="#E0E994"
+        android:strokeWidth="2"
+        android:fillColor="#000000"/>
+    <path
+        android:pathData="M80,184.72V189.7C80,193.73 83.27,197 87.3,197H164.7C168.73,197 172,193.73 172,189.7V144"
+        android:strokeColor="#5F6368"
+        android:strokeWidth="0.684"
+        android:fillColor="#00000000"/>
+    <path
+        android:pathData="M77,176H83V184.09C83,184.59 82.59,185 82.09,185H77.91C77.41,185 77,184.59 77,184.09V176Z"
+        android:fillColor="#5F6368"/>
+</vector>
diff --git a/res/drawable/external_display_mirror_portrait.xml b/res/drawable/external_display_mirror_portrait.xml
new file mode 100644
index 0000000..0fe7f93
--- /dev/null
+++ b/res/drawable/external_display_mirror_portrait.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2024 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT 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="232.02106dp"
+    android:viewportHeight="214"
+    android:viewportWidth="380"
+    android:width="412dp" >
+    <path
+        android:pathData="M16,0L364,0A16,16 0,0 1,380 16L380,198A16,16 0,0 1,364 214L16,214A16,16 0,0 1,0 198L0,16A16,16 0,0 1,16 0z"
+        android:fillColor="#00000000"/>
+    <path
+        android:pathData="M150.5,38L327.5,38A5.5,5.5 0,0 1,333 43.5L333,138.5A5.5,5.5 0,0 1,327.5 144L150.5,144A5.5,5.5 0,0 1,145 138.5L145,43.5A5.5,5.5 0,0 1,150.5 38z"
+        android:fillColor="#80868B"/>
+    <path
+        android:pathData="M150.58,39L327.42,39A4.58,4.58 0,0 1,332 43.58L332,138.42A4.58,4.58 0,0 1,327.42 143L150.58,143A4.58,4.58 0,0 1,146 138.42L146,43.58A4.58,4.58 0,0 1,150.58 39z"
+        android:fillColor="#000000"/>
+    <path
+        android:pathData="M254.25,144H223.75L221.52,173.34C221.48,173.82 221.08,174.18 220.6,174.18H211.37C211.25,174.18 211.12,174.21 211.01,174.26C210.11,174.65 210.39,176 211.37,176H266.63C267.61,176 267.89,174.65 266.99,174.26C266.88,174.21 266.75,174.18 266.63,174.18H257.4C256.92,174.18 256.52,173.82 256.48,173.34L254.25,144Z"
+        android:fillColor="#5F6368"/>
+    <path
+        android:pathData="M216,41L262,41A3,3 0,0 1,265 44L265,138A3,3 0,0 1,262 141L216,141A3,3 0,0 1,213 138L213,44A3,3 0,0 1,216 41z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#E0E994"/>
+    <path
+        android:pathData="M113,91.08V86.55C113,86.25 112.88,85.96 112.67,85.75C112.45,85.54 112.17,85.42 111.86,85.41V61.64C111.84,60.15 111.24,58.72 110.17,57.66C109.1,56.61 107.66,56.01 106.16,56H53.71C52.2,56.01 50.75,56.61 49.68,57.67C48.62,58.73 48.01,60.17 48,61.66V170.34C48.01,171.83 48.62,173.27 49.68,174.33C50.75,175.39 52.2,175.99 53.71,176H106.16C107.67,175.99 109.11,175.39 110.18,174.33C111.25,173.27 111.85,171.83 111.86,170.34V114.86C112.16,114.86 112.45,114.74 112.67,114.52C112.88,114.31 113,114.03 113,113.73V102.4C113,102.1 112.88,101.82 112.67,101.6C112.45,101.39 112.17,101.27 111.86,101.27V92.21C112.16,92.21 112.45,92.09 112.67,91.88C112.88,91.67 113,91.38 113,91.08ZM110.72,170.34C110.72,171.54 110.24,172.69 109.38,173.54C108.53,174.39 107.37,174.87 106.16,174.87H53.71C52.5,174.87 51.34,174.39 50.48,173.54C49.62,172.69 49.14,171.54 49.14,170.34V61.64C49.14,60.44 49.62,59.29 50.48,58.44C51.34,57.59 52.5,57.11 53.71,57.11H106.16C107.37,57.11 108.53,57.59 109.38,58.44C110.24,59.29 110.72,60.44 110.72,61.64V170.34Z"
+        android:fillColor="#80868B"/>
+    <path
+        android:pathData="M54,59L106,59A3,3 0,0 1,109 62L109,170A3,3 0,0 1,106 173L54,173A3,3 0,0 1,51 170L51,62A3,3 0,0 1,54 59z"
+        android:strokeColor="#E0E994"
+        android:strokeWidth="2"
+        android:fillColor="#000000"/>
+    <path
+        android:pathData="M80,184.72V189.7C80,193.73 83.27,197 87.3,197H164.7C168.73,197 172,193.73 172,189.7V144"
+        android:strokeColor="#5F6368"
+        android:strokeWidth="0.684"
+        android:fillColor="#00000000"/>
+    <path
+        android:pathData="M77,176H83V184.09C83,184.59 82.59,185 82.09,185H77.91C77.41,185 77,184.59 77,184.09V176Z"
+        android:fillColor="#5F6368"/>
+</vector>
diff --git a/res/drawable/ic_close.xml b/res/drawable/ic_close.xml
new file mode 100644
index 0000000..de2085c
--- /dev/null
+++ b/res/drawable/ic_close.xml
@@ -0,0 +1,24 @@
+<!--
+Copyright (C) 2024 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT 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="24.0dp"
+    android:height="24.0dp"
+    android:viewportWidth="24.0"
+    android:viewportHeight="24.0">
+    <path
+        android:pathData="M19.000000,6.400000l-1.400000,-1.400000 -5.600000,5.600000 -5.600000,-5.600000 -1.400000,1.400000 5.600000,5.600000 -5.600000,5.600000 1.400000,1.400000 5.600000,-5.600000 5.600000,5.600000 1.400000,-1.400000 -5.600000,-5.600000z"
+        android:fillColor="#FF000000"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_do_not_disturb_on_24dp.xml b/res/drawable/ic_do_not_disturb_on_24dp.xml
deleted file mode 100644
index cace8d4..0000000
--- a/res/drawable/ic_do_not_disturb_on_24dp.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<!--
-    Copyright (C) 2018 The Android Open Source Project
-
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT 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="#FFFFFFFF"
-        android:pathData="M12,2C6.48,2 2,6.48 2,12c0,5.52 4.48,10 10,10c5.52,0 10,-4.48 10,-10C22,6.48 17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8c0,-4.41 3.59,-8 8,-8c4.41,0 8,3.59 8,8C20,16.41 16.41,20 12,20z"/>
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M7,11h10v2h-10z"/>
-</vector>
diff --git a/res/drawable/ic_external_display_32dp.xml b/res/drawable/ic_external_display_32dp.xml
new file mode 100644
index 0000000..3e18282
--- /dev/null
+++ b/res/drawable/ic_external_display_32dp.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2024 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT 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="32"
+    android:viewportHeight="32">
+  <path
+      android:pathData="M16,16m-16,0a16,16 0,1 1,32 0a16,16 0,1 1,-32 0"
+      android:fillColor="#FAFBD8"/>
+  <group>
+    <clip-path
+        android:pathData="M5.333,5.332h21.333v21.333h-21.333z"/>
+    <path
+        android:pathData="M12.689,23.288V21.643H14.333V19.976H9C8.555,19.976 8.17,19.813 7.844,19.488C7.518,19.162 7.355,18.769 7.355,18.31V9.665C7.355,9.206 7.518,8.814 7.844,8.488C8.17,8.162 8.555,7.999 9,7.999H23C23.444,7.999 23.829,8.162 24.155,8.488C24.481,8.814 24.644,9.206 24.644,9.665V18.31C24.644,18.769 24.481,19.162 24.155,19.488C23.829,19.813 23.444,19.976 23,19.976H17.666V21.643H19.311V23.288H12.689ZM9,18.31H23V9.665H9V18.31ZM9,18.31V9.665V18.31Z"
+        android:fillColor="#8E964B"/>
+  </group>
+</vector>
diff --git a/res/drawable/ic_head_tracking.xml b/res/drawable/ic_head_tracking.xml
new file mode 100644
index 0000000..d4a44fd
--- /dev/null
+++ b/res/drawable/ic_head_tracking.xml
@@ -0,0 +1,26 @@
+<!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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="?attr/colorControlNormal"
+    android:viewportHeight="960"
+    android:viewportWidth="960">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M480,520Q414,520 367,473Q320,426 320,360Q320,294 367,247Q414,200 480,200Q546,200 593,247Q640,294 640,360Q640,426 593,473Q546,520 480,520ZM160,840L160,728Q160,695 177,666Q194,637 224,622Q275,596 339,578Q403,560 480,560Q557,560 621,578Q685,596 736,622Q766,637 783,666Q800,695 800,728L800,840L160,840ZM240,760L720,760L720,728Q720,717 714.5,708Q709,699 700,694Q664,676 607.5,658Q551,640 480,640Q409,640 352.5,658Q296,676 260,694Q251,699 245.5,708Q240,717 240,728L240,760ZM480,440Q513,440 536.5,416.5Q560,393 560,360Q560,327 536.5,303.5Q513,280 480,280Q447,280 423.5,303.5Q400,327 400,360Q400,393 423.5,416.5Q447,440 480,440ZM39,200L39,120Q56,120 70,113.5Q84,107 95,96Q106,85 112,71Q118,57 118,40L199,40Q199,73 186.5,102Q174,131 152,153Q130,175 101,187.5Q72,200 39,200ZM39,361L39,281Q90,281 133.5,262Q177,243 209,210Q241,177 260,133.5Q279,90 279,40L360,40Q360,106 335,164.5Q310,223 266,267Q222,311 164,336Q106,361 39,361ZM920,361Q854,361 795.5,336Q737,311 693,267Q649,223 624,164.5Q599,106 599,40L679,40Q679,90 698,133.5Q717,177 750,210Q783,243 826.5,262Q870,281 920,281L920,361ZM920,200Q887,200 858,187.5Q829,175 807,153Q785,131 772.5,102Q760,73 760,40L840,40Q840,57 846.5,71Q853,85 864,96Q875,107 889,113.5Q903,120 920,120L920,200ZM480,360Q480,360 480,360Q480,360 480,360Q480,360 480,360Q480,360 480,360Q480,360 480,360Q480,360 480,360Q480,360 480,360Q480,360 480,360ZM480,760L480,760Q480,760 480,760Q480,760 480,760Q480,760 480,760Q480,760 480,760Q480,760 480,760Q480,760 480,760Q480,760 480,760Q480,760 480,760L480,760L480,760Z" />
+</vector>
diff --git a/res/drawable/ic_pan_tool_18dp.xml b/res/drawable/ic_pan_tool_18dp.xml
deleted file mode 100644
index e3b21fa..0000000
--- a/res/drawable/ic_pan_tool_18dp.xml
+++ /dev/null
@@ -1,31 +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.
-  -->
-
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="18dp"
-        android:height="18dp"
-        android:viewportWidth="48"
-        android:viewportHeight="48"
-        android:tint="?android:attr/colorControlNormal">
-  <group>
-    <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="#FFFFFF"/>
-  </group>
-</vector>
diff --git a/res/drawable/ic_spatial_audio.xml b/res/drawable/ic_spatial_audio.xml
new file mode 100644
index 0000000..0ee609a
--- /dev/null
+++ b/res/drawable/ic_spatial_audio.xml
@@ -0,0 +1,26 @@
+<!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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="?attr/colorControlNormal"
+    android:viewportHeight="960"
+    android:viewportWidth="960">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M920,401Q848,401 782,373.5Q716,346 665,295Q614,244 586.5,178Q559,112 559,40L639,40Q639,97 660,148Q681,199 721,239Q761,279 812,300.5Q863,322 920,322L920,401ZM920,242Q879,242 842.5,227Q806,212 777,183Q748,154 733,117.5Q718,81 718,40L797,40Q797,65 806.5,87.5Q816,110 833,127Q850,144 872.5,153Q895,162 920,162L920,242ZM400,520Q334,520 287,473Q240,426 240,360Q240,294 287,247Q334,200 400,200Q466,200 513,247Q560,294 560,360Q560,426 513,473Q466,520 400,520ZM80,840L80,728Q80,695 97,666Q114,637 144,622Q195,596 259,578Q323,560 400,560Q477,560 541,578Q605,596 656,622Q686,637 703,666Q720,695 720,728L720,840L80,840ZM160,760L640,760L640,728Q640,717 634.5,708Q629,699 620,694Q584,676 527.5,658Q471,640 400,640Q329,640 272.5,658Q216,676 180,694Q171,699 165.5,708Q160,717 160,728L160,760ZM400,440Q433,440 456.5,416.5Q480,393 480,360Q480,327 456.5,303.5Q433,280 400,280Q367,280 343.5,303.5Q320,327 320,360Q320,393 343.5,416.5Q367,440 400,440ZM400,360Q400,360 400,360Q400,360 400,360Q400,360 400,360Q400,360 400,360Q400,360 400,360Q400,360 400,360Q400,360 400,360Q400,360 400,360ZM400,760L400,760Q400,760 400,760Q400,760 400,760Q400,760 400,760Q400,760 400,760Q400,760 400,760Q400,760 400,760Q400,760 400,760Q400,760 400,760L400,760L400,760Z" />
+</vector>
diff --git a/res/drawable/ic_spatial_audio_off.xml b/res/drawable/ic_spatial_audio_off.xml
new file mode 100644
index 0000000..c7d3272
--- /dev/null
+++ b/res/drawable/ic_spatial_audio_off.xml
@@ -0,0 +1,26 @@
+<!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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="?attr/colorControlNormal"
+    android:viewportHeight="960"
+    android:viewportWidth="960">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M750,550L806,494Q766,454 743.5,402.5Q721,351 721,294Q721,237 743.5,186Q766,135 806,95L750,37Q699,88 670,155Q641,222 641,294Q641,366 670,432.5Q699,499 750,550ZM862,436L918,380Q901,363 891,341Q881,319 881,294Q881,269 891,247Q901,225 918,208L862,151Q833,180 817,216Q801,252 801,293Q801,334 817,371Q833,408 862,436ZM400,520Q334,520 287,473Q240,426 240,360Q240,294 287,247Q334,200 400,200Q466,200 513,247Q560,294 560,360Q560,426 513,473Q466,520 400,520ZM80,840L80,728Q80,695 97,666Q114,637 144,622Q195,596 259,578Q323,560 400,560Q477,560 541,578Q605,596 656,622Q686,637 703,666Q720,695 720,728L720,840L80,840ZM160,760L640,760L640,728Q640,717 634.5,708Q629,699 620,694Q584,676 527.5,658Q471,640 400,640Q329,640 272.5,658Q216,676 180,694Q171,699 165.5,708Q160,717 160,728L160,760ZM400,440Q433,440 456.5,416.5Q480,393 480,360Q480,327 456.5,303.5Q433,280 400,280Q367,280 343.5,303.5Q320,327 320,360Q320,393 343.5,416.5Q367,440 400,440ZM400,360Q400,360 400,360Q400,360 400,360Q400,360 400,360Q400,360 400,360Q400,360 400,360Q400,360 400,360Q400,360 400,360Q400,360 400,360ZM400,760L400,760Q400,760 400,760Q400,760 400,760Q400,760 400,760Q400,760 400,760Q400,760 400,760Q400,760 400,760Q400,760 400,760Q400,760 400,760L400,760L400,760Z" />
+</vector>
diff --git a/res/drawable/ic_zen_mode_category_apps.xml b/res/drawable/ic_zen_mode_category_apps.xml
new file mode 100644
index 0000000..f21fc6a
--- /dev/null
+++ b/res/drawable/ic_zen_mode_category_apps.xml
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2024 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT 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:attr/colorControlNormal"
+    android:viewportHeight="960"
+    android:viewportWidth="960">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M240,800Q207,800 183.5,776.5Q160,753 160,720Q160,687 183.5,663.5Q207,640 240,640Q273,640 296.5,663.5Q320,687 320,720Q320,753 296.5,776.5Q273,800 240,800ZM480,800Q447,800 423.5,776.5Q400,753 400,720Q400,687 423.5,663.5Q447,640 480,640Q513,640 536.5,663.5Q560,687 560,720Q560,753 536.5,776.5Q513,800 480,800ZM720,800Q687,800 663.5,776.5Q640,753 640,720Q640,687 663.5,663.5Q687,640 720,640Q753,640 776.5,663.5Q800,687 800,720Q800,753 776.5,776.5Q753,800 720,800ZM240,560Q207,560 183.5,536.5Q160,513 160,480Q160,447 183.5,423.5Q207,400 240,400Q273,400 296.5,423.5Q320,447 320,480Q320,513 296.5,536.5Q273,560 240,560ZM480,560Q447,560 423.5,536.5Q400,513 400,480Q400,447 423.5,423.5Q447,400 480,400Q513,400 536.5,423.5Q560,447 560,480Q560,513 536.5,536.5Q513,560 480,560ZM720,560Q687,560 663.5,536.5Q640,513 640,480Q640,447 663.5,423.5Q687,400 720,400Q753,400 776.5,423.5Q800,447 800,480Q800,513 776.5,536.5Q753,560 720,560ZM240,320Q207,320 183.5,296.5Q160,273 160,240Q160,207 183.5,183.5Q207,160 240,160Q273,160 296.5,183.5Q320,207 320,240Q320,273 296.5,296.5Q273,320 240,320ZM480,320Q447,320 423.5,296.5Q400,273 400,240Q400,207 423.5,183.5Q447,160 480,160Q513,160 536.5,183.5Q560,207 560,240Q560,273 536.5,296.5Q513,320 480,320ZM720,320Q687,320 663.5,296.5Q640,273 640,240Q640,207 663.5,183.5Q687,160 720,160Q753,160 776.5,183.5Q800,207 800,240Q800,273 776.5,296.5Q753,320 720,320Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_zen_mode_category_display.xml b/res/drawable/ic_zen_mode_category_display.xml
new file mode 100644
index 0000000..4771951
--- /dev/null
+++ b/res/drawable/ic_zen_mode_category_display.xml
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2024 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT 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:attr/colorControlNormal"
+    android:viewportHeight="960"
+    android:viewportWidth="960">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M360,580L360,520L600,520L600,580L360,580ZM320,460L320,400L640,400L640,460L320,460ZM280,920Q247,920 223.5,896.5Q200,873 200,840L200,120Q200,87 223.5,63.5Q247,40 280,40L680,40Q713,40 736.5,63.5Q760,87 760,120L760,840Q760,873 736.5,896.5Q713,920 680,920L280,920ZM280,800L280,840Q280,840 280,840Q280,840 280,840L680,840Q680,840 680,840Q680,840 680,840L680,800L280,800ZM280,720L680,720L680,240L280,240L280,720ZM280,160L680,160L680,120Q680,120 680,120Q680,120 680,120L280,120Q280,120 280,120Q280,120 280,120L280,160ZM280,160L280,120Q280,120 280,120Q280,120 280,120L280,120Q280,120 280,120Q280,120 280,120L280,160ZM280,800L280,800L280,840Q280,840 280,840Q280,840 280,840L280,840Q280,840 280,840Q280,840 280,840L280,800Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_zen_mode_category_duration.xml b/res/drawable/ic_zen_mode_category_duration.xml
new file mode 100644
index 0000000..56d9c4a
--- /dev/null
+++ b/res/drawable/ic_zen_mode_category_duration.xml
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2024 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT 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:attr/colorControlNormal"
+    android:viewportHeight="960"
+    android:viewportWidth="960">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M360,120L360,40L600,40L600,120L360,120ZM440,560L520,560L520,320L440,320L440,560ZM480,880Q406,880 340.5,851.5Q275,823 226,774Q177,725 148.5,659.5Q120,594 120,520Q120,446 148.5,380.5Q177,315 226,266Q275,217 340.5,188.5Q406,160 480,160Q542,160 599,180Q656,200 706,238L762,182L818,238L762,294Q800,344 820,401Q840,458 840,520Q840,594 811.5,659.5Q783,725 734,774Q685,823 619.5,851.5Q554,880 480,880ZM480,800Q596,800 678,718Q760,636 760,520Q760,404 678,322Q596,240 480,240Q364,240 282,322Q200,404 200,520Q200,636 282,718Q364,800 480,800ZM480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_zen_mode_category_other.xml b/res/drawable/ic_zen_mode_category_other.xml
new file mode 100644
index 0000000..9a47523
--- /dev/null
+++ b/res/drawable/ic_zen_mode_category_other.xml
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2024 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT 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:attr/colorControlNormal"
+    android:viewportHeight="960"
+    android:viewportWidth="960">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M560,829L560,747Q650,721 705,647Q760,573 760,479Q760,385 705,311Q650,237 560,211L560,129Q684,157 762,254.5Q840,352 840,479Q840,606 762,703.5Q684,801 560,829ZM120,600L120,360L280,360L480,160L480,800L280,600L120,600ZM560,640L560,318Q607,340 633.5,384Q660,428 660,480Q660,531 633.5,574.5Q607,618 560,640ZM400,354L314,440L200,440L200,520L314,520L400,606L400,354ZM300,480L300,480L300,480L300,480L300,480L300,480Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_zen_mode_category_people.xml b/res/drawable/ic_zen_mode_category_people.xml
new file mode 100644
index 0000000..e763c45
--- /dev/null
+++ b/res/drawable/ic_zen_mode_category_people.xml
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2024 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT 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:attr/colorControlNormal"
+    android:viewportHeight="960"
+    android:viewportWidth="960">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M40,800L40,688Q40,654 57.5,625.5Q75,597 104,582Q166,551 230,535.5Q294,520 360,520Q426,520 490,535.5Q554,551 616,582Q645,597 662.5,625.5Q680,654 680,688L680,800L40,800ZM760,800L760,680Q760,636 735.5,595.5Q711,555 666,526Q717,532 762,546.5Q807,561 846,582Q882,602 901,626.5Q920,651 920,680L920,800L760,800ZM360,480Q294,480 247,433Q200,386 200,320Q200,254 247,207Q294,160 360,160Q426,160 473,207Q520,254 520,320Q520,386 473,433Q426,480 360,480ZM760,320Q760,386 713,433Q666,480 600,480Q589,480 572,477.5Q555,475 544,472Q571,440 585.5,401Q600,362 600,320Q600,278 585.5,239Q571,200 544,168Q558,163 572,161.5Q586,160 600,160Q666,160 713,207Q760,254 760,320ZM120,720L600,720L600,688Q600,677 594.5,668Q589,659 580,654Q526,627 471,613.5Q416,600 360,600Q304,600 249,613.5Q194,627 140,654Q131,659 125.5,668Q120,677 120,688L120,720ZM360,400Q393,400 416.5,376.5Q440,353 440,320Q440,287 416.5,263.5Q393,240 360,240Q327,240 303.5,263.5Q280,287 280,320Q280,353 303.5,376.5Q327,400 360,400ZM360,720L360,720L360,720Q360,720 360,720Q360,720 360,720Q360,720 360,720Q360,720 360,720Q360,720 360,720Q360,720 360,720Q360,720 360,720Q360,720 360,720ZM360,320Q360,320 360,320Q360,320 360,320Q360,320 360,320Q360,320 360,320Q360,320 360,320Q360,320 360,320Q360,320 360,320Q360,320 360,320Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_zen_mode_display_aod.xml b/res/drawable/ic_zen_mode_display_aod.xml
new file mode 100644
index 0000000..9d60fb1
--- /dev/null
+++ b/res/drawable/ic_zen_mode_display_aod.xml
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2024 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT 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:attr/colorControlNormal"
+    android:viewportHeight="960"
+    android:viewportWidth="960">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M820,932L28,140L84,84L876,876L820,932ZM200,257L280,337L280,720L664,720L760,816L760,840Q760,873 736.5,896.5Q713,920 680,920L280,920Q247,920 223.5,896.5Q200,873 200,840L200,257ZM280,800L280,840Q280,840 280,840Q280,840 280,840L680,840Q680,840 680,840Q680,840 680,840L680,800L280,800ZM353,240L274,160L680,160L680,120Q680,120 680,120Q680,120 680,120L234,120L234,120L206,92Q216,69 235.5,54.5Q255,40 280,40L680,40Q713,40 736.5,63.5Q760,87 760,120L760,646L680,566L680,240L353,240ZM480,800L480,800Q480,800 480,800Q480,800 480,800L480,800Q480,800 480,800Q480,800 480,800L480,800ZM457,160L457,160L457,160L457,160Q457,160 457,160Q457,160 457,160Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_zen_mode_display_dark_theme.xml b/res/drawable/ic_zen_mode_display_dark_theme.xml
new file mode 100644
index 0000000..43bc682
--- /dev/null
+++ b/res/drawable/ic_zen_mode_display_dark_theme.xml
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2024 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT 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:attr/colorControlNormal"
+    android:viewportHeight="960"
+    android:viewportWidth="960">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M480,840Q347,840 253.5,747.5Q160,655 160,524Q160,458 185,402Q210,346 254,302L480,80L706,302Q750,346 775,402Q800,458 800,524Q800,655 706.5,747.5Q613,840 480,840ZM480,760L480,192L310,360Q275,393 257.5,434.5Q240,476 240,524Q240,621 310,690.5Q380,760 480,760Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_zen_mode_display_grayscale.xml b/res/drawable/ic_zen_mode_display_grayscale.xml
new file mode 100644
index 0000000..d7fe9ab
--- /dev/null
+++ b/res/drawable/ic_zen_mode_display_grayscale.xml
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2024 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT 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:attr/colorControlNormal"
+    android:viewportHeight="960"
+    android:viewportWidth="960">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M480,880Q397,880 324,848.5Q251,817 197,763Q143,709 111.5,636Q80,563 80,480Q80,397 111.5,324Q143,251 197,197Q251,143 324,111.5Q397,80 480,80Q563,80 636,111.5Q709,143 763,197Q817,251 848.5,324Q880,397 880,480Q880,563 848.5,636Q817,709 763,763Q709,817 636,848.5Q563,880 480,880ZM480,800Q614,800 707,707Q800,614 800,480Q800,416 775.5,357.5Q751,299 706,254L254,706Q299,751 357.5,775.5Q416,800 480,800ZM480,640L480,580L680,580L680,640L480,640ZM320,460L380,460L380,380L460,380L460,320L380,320L380,240L320,240L320,320L240,320L240,380L320,380L320,460Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_zen_mode_display_wallpaper.xml b/res/drawable/ic_zen_mode_display_wallpaper.xml
new file mode 100644
index 0000000..27d169c
--- /dev/null
+++ b/res/drawable/ic_zen_mode_display_wallpaper.xml
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2024 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT 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:attr/colorControlNormal"
+    android:viewportHeight="960"
+    android:viewportWidth="960">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M480,680Q463,680 451.5,668.5Q440,657 440,640Q440,623 451.5,611.5Q463,600 480,600Q497,600 508.5,611.5Q520,623 520,640Q520,657 508.5,668.5Q497,680 480,680ZM440,520L440,280L520,280L520,520L440,520ZM280,920Q247,920 223.5,896.5Q200,873 200,840L200,120Q200,87 223.5,63.5Q247,40 280,40L680,40Q713,40 736.5,63.5Q760,87 760,120L760,840Q760,873 736.5,896.5Q713,920 680,920L280,920ZM280,800L280,840Q280,840 280,840Q280,840 280,840L680,840Q680,840 680,840Q680,840 680,840L680,800L280,800ZM280,720L680,720L680,240L280,240L280,720ZM280,160L680,160L680,120Q680,120 680,120Q680,120 680,120L280,120Q280,120 280,120Q280,120 280,120L280,160ZM280,160L280,120Q280,120 280,120Q280,120 280,120L280,120Q280,120 280,120Q280,120 280,120L280,160ZM280,800L280,800L280,840Q280,840 280,840Q280,840 280,840L280,840Q280,840 280,840Q280,840 280,840L280,800Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_zen_mode_generic_contact.xml b/res/drawable/ic_zen_mode_generic_contact.xml
new file mode 100644
index 0000000..3721dc5
--- /dev/null
+++ b/res/drawable/ic_zen_mode_generic_contact.xml
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2024 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT 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:attr/colorControlNormal"
+    android:viewportHeight="960"
+    android:viewportWidth="960">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M480,480Q414,480 367,433Q320,386 320,320Q320,254 367,207Q414,160 480,160Q546,160 593,207Q640,254 640,320Q640,386 593,433Q546,480 480,480ZM160,800L160,688Q160,654 177.5,625.5Q195,597 224,582Q286,551 350,535.5Q414,520 480,520Q546,520 610,535.5Q674,551 736,582Q765,597 782.5,625.5Q800,654 800,688L800,800L160,800ZM240,720L720,720L720,688Q720,677 714.5,668Q709,659 700,654Q646,627 591,613.5Q536,600 480,600Q424,600 369,613.5Q314,627 260,654Q251,659 245.5,668Q240,677 240,688L240,720ZM480,400Q513,400 536.5,376.5Q560,353 560,320Q560,287 536.5,263.5Q513,240 480,240Q447,240 423.5,263.5Q400,287 400,320Q400,353 423.5,376.5Q447,400 480,400ZM480,320Q480,320 480,320Q480,320 480,320Q480,320 480,320Q480,320 480,320Q480,320 480,320Q480,320 480,320Q480,320 480,320Q480,320 480,320ZM480,720L480,720Q480,720 480,720Q480,720 480,720Q480,720 480,720Q480,720 480,720Q480,720 480,720Q480,720 480,720Q480,720 480,720Q480,720 480,720L480,720Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_zen_mode_icon_cookie.xml b/res/drawable/ic_zen_mode_icon_cookie.xml
new file mode 100644
index 0000000..0e4bafb
--- /dev/null
+++ b/res/drawable/ic_zen_mode_icon_cookie.xml
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2024 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT 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="136dp"
+    android:height="136dp"
+    android:tint="?android:attr/colorControlNormal"
+    android:viewportHeight="136"
+    android:viewportWidth="136">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M58.0961 4.18448C58.326 3.95917 58.441 3.84652 58.5407 3.75268C63.8544 -1.25089 72.1456 -1.25089 77.4593 3.75268C77.559 3.84652 77.674 3.95917 77.9039 4.18448C78.0419 4.31967 78.1109 4.38727 78.1765 4.44986C81.5767 7.69486 86.3948 8.98588 90.962 7.87573C91.0501 7.85432 91.1436 7.83027 91.3307 7.78218C91.6425 7.70204 91.7984 7.66196 91.9317 7.63052C99.0352 5.95417 106.216 10.0998 108.316 17.0898C108.355 17.2209 108.398 17.376 108.485 17.6861C108.537 17.8722 108.563 17.9652 108.588 18.0522C109.91 22.5626 113.437 26.0897 117.948 27.4118C118.035 27.4373 118.128 27.4633 118.314 27.5152C118.624 27.6017 118.779 27.6449 118.91 27.6843C125.9 29.7844 130.046 36.9648 128.369 44.0684C128.338 44.2016 128.298 44.3575 128.218 44.6693C128.17 44.8564 128.146 44.9499 128.124 45.038C127.014 49.6052 128.305 54.4233 131.55 57.8235C131.613 57.8891 131.68 57.9581 131.816 58.0961C132.041 58.326 132.153 58.441 132.247 58.5407C137.251 63.8544 137.251 72.1456 132.247 77.4593C132.153 77.559 132.041 77.674 131.816 77.9039C131.68 78.0419 131.613 78.1109 131.55 78.1765C128.305 81.5767 127.014 86.3948 128.124 90.962C128.146 91.0501 128.17 91.1436 128.218 91.3307C128.298 91.6425 128.338 91.7984 128.369 91.9316C130.046 99.0352 125.9 106.216 118.91 108.316C118.779 108.355 118.624 108.398 118.314 108.485C118.128 108.537 118.035 108.563 117.948 108.588C113.437 109.91 109.91 113.437 108.588 117.948C108.563 118.035 108.537 118.128 108.485 118.314C108.398 118.624 108.355 118.779 108.316 118.91C106.216 125.9 99.0352 130.046 91.9316 128.369C91.7984 128.338 91.6425 128.298 91.3307 128.218C91.1436 128.17 91.0501 128.146 90.962 128.124C86.3948 127.014 81.5767 128.305 78.1765 131.55C78.1109 131.613 78.0419 131.68 77.9039 131.816C77.674 132.041 77.559 132.153 77.4593 132.247C72.1456 137.251 63.8544 137.251 58.5407 132.247C58.441 132.153 58.326 132.041 58.0961 131.816C57.9581 131.68 57.8891 131.613 57.8235 131.55C54.4233 128.305 49.6052 127.014 45.038 128.124C44.9499 128.146 44.8564 128.17 44.6693 128.218C44.3575 128.298 44.2016 128.338 44.0684 128.369C36.9648 130.046 29.7844 125.9 27.6843 118.91C27.6449 118.779 27.6017 118.624 27.5152 118.314C27.4633 118.128 27.4373 118.035 27.4118 117.948C26.0897 113.437 22.5626 109.91 18.0522 108.588C17.9652 108.563 17.8722 108.537 17.6861 108.485C17.376 108.398 17.2209 108.355 17.0898 108.316C10.0998 106.216 5.95417 99.0352 7.63052 91.9317C7.66196 91.7984 7.70204 91.6425 7.78218 91.3307C7.83027 91.1436 7.85432 91.0501 7.87573 90.962C8.98588 86.3948 7.69486 81.5767 4.44986 78.1765C4.38727 78.1109 4.31967 78.0419 4.18448 77.9039C3.95917 77.674 3.84652 77.559 3.75268 77.4593C-1.25089 72.1456 -1.25089 63.8544 3.75268 58.5407C3.84652 58.441 3.95917 58.326 4.18448 58.0961C4.31967 57.9581 4.38727 57.8891 4.44986 57.8235C7.69486 54.4233 8.98588 49.6052 7.87573 45.038C7.85432 44.9499 7.83027 44.8564 7.78218 44.6693C7.70204 44.3575 7.66196 44.2016 7.63052 44.0683C5.95417 36.9648 10.0998 29.7844 17.0898 27.6843C17.2209 27.6449 17.376 27.6017 17.6861 27.5152C17.8722 27.4633 17.9652 27.4373 18.0522 27.4118C22.5626 26.0897 26.0897 22.5626 27.4118 18.0522C27.4373 17.9652 27.4633 17.8722 27.5152 17.6861C27.6017 17.376 27.6449 17.2209 27.6843 17.0898C29.7844 10.0998 36.9648 5.95417 44.0683 7.63052C44.2016 7.66196 44.3575 7.70204 44.6693 7.78218C44.8564 7.83027 44.9499 7.85432 45.038 7.87573C49.6052 8.98588 54.4233 7.69486 57.8235 4.44986C57.8891 4.38727 57.9581 4.31967 58.0961 4.18448Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_zen_mode_action_change_icon.xml b/res/drawable/ic_zen_mode_new_option_custom.xml
similarity index 65%
rename from res/drawable/ic_zen_mode_action_change_icon.xml
rename to res/drawable/ic_zen_mode_new_option_custom.xml
index 4cf4167..c3a45cc 100644
--- a/res/drawable/ic_zen_mode_action_change_icon.xml
+++ b/res/drawable/ic_zen_mode_new_option_custom.xml
@@ -21,5 +21,5 @@
     android:viewportWidth="960">
     <path
         android:fillColor="@android:color/white"
-        android:pathData="M620,440Q645,440 662.5,422.5Q680,405 680,380Q680,355 662.5,337.5Q645,320 620,320Q595,320 577.5,337.5Q560,355 560,380Q560,405 577.5,422.5Q595,440 620,440ZM340,440Q365,440 382.5,422.5Q400,405 400,380Q400,355 382.5,337.5Q365,320 340,320Q315,320 297.5,337.5Q280,355 280,380Q280,405 297.5,422.5Q315,440 340,440ZM480,700Q548,700 603.5,661.5Q659,623 684,560L276,560Q301,623 356.5,661.5Q412,700 480,700ZM480,880Q397,880 324,848.5Q251,817 197,763Q143,709 111.5,636Q80,563 80,480Q80,397 111.5,324Q143,251 197,197Q251,143 324,111.5Q397,80 480,80Q563,80 636,111.5Q709,143 763,197Q817,251 848.5,324Q880,397 880,480Q880,563 848.5,636Q817,709 763,763Q709,817 636,848.5Q563,880 480,880ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480ZM480,800Q614,800 707,707Q800,614 800,480Q800,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800Z" />
+        android:pathData="M620,440Q645,440 662.5,422.5Q680,405 680,380Q680,355 662.5,337.5Q645,320 620,320Q595,320 577.5,337.5Q560,355 560,380Q560,405 577.5,422.5Q595,440 620,440ZM340,440Q365,440 382.5,422.5Q400,405 400,380Q400,355 382.5,337.5Q365,320 340,320Q315,320 297.5,337.5Q280,355 280,380Q280,405 297.5,422.5Q315,440 340,440ZM480,700Q548,700 603.5,661.5Q659,623 684,560L618,560Q596,597 559.5,618.5Q523,640 480,640Q437,640 400.5,618.5Q364,597 342,560L276,560Q301,623 356.5,661.5Q412,700 480,700ZM480,880Q397,880 324,848.5Q251,817 197,763Q143,709 111.5,636Q80,563 80,480Q80,397 111.5,324Q143,251 197,197Q251,143 324,111.5Q397,80 480,80Q563,80 636,111.5Q709,143 763,197Q817,251 848.5,324Q880,397 880,480Q880,563 848.5,636Q817,709 763,763Q709,817 636,848.5Q563,880 480,880ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480ZM480,800Q614,800 707,707Q800,614 800,480Q800,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800Z" />
 </vector>
\ No newline at end of file
diff --git a/res/drawable/ic_zen_mode_people_all.xml b/res/drawable/ic_zen_mode_people_all.xml
new file mode 100644
index 0000000..c6194d5
--- /dev/null
+++ b/res/drawable/ic_zen_mode_people_all.xml
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2024 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT 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:attr/colorControlNormal"
+    android:viewportHeight="960"
+    android:viewportWidth="960">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M0,720L0,657Q0,614 44,587Q88,560 160,560Q173,560 185,560.5Q197,561 208,563Q194,584 187,607Q180,630 180,655L180,720L0,720ZM240,720L240,655Q240,623 257.5,596.5Q275,570 307,550Q339,530 383.5,520Q428,510 480,510Q533,510 577.5,520Q622,530 654,550Q686,570 703,596.5Q720,623 720,655L720,720L240,720ZM780,720L780,655Q780,629 773.5,606Q767,583 754,563Q765,561 776.5,560.5Q788,560 800,560Q872,560 916,586.5Q960,613 960,657L960,720L780,720ZM325,640L636,640L636,640Q626,620 580.5,605Q535,590 480,590Q425,590 379.5,605Q334,620 325,640ZM160,520Q127,520 103.5,496.5Q80,473 80,440Q80,406 103.5,383Q127,360 160,360Q194,360 217,383Q240,406 240,440Q240,473 217,496.5Q194,520 160,520ZM800,520Q767,520 743.5,496.5Q720,473 720,440Q720,406 743.5,383Q767,360 800,360Q834,360 857,383Q880,406 880,440Q880,473 857,496.5Q834,520 800,520ZM480,480Q430,480 395,445Q360,410 360,360Q360,309 395,274.5Q430,240 480,240Q531,240 565.5,274.5Q600,309 600,360Q600,410 565.5,445Q531,480 480,480ZM480,400Q497,400 508.5,388.5Q520,377 520,360Q520,343 508.5,331.5Q497,320 480,320Q463,320 451.5,331.5Q440,343 440,360Q440,377 451.5,388.5Q463,400 480,400ZM481,640L481,640Q481,640 481,640Q481,640 481,640Q481,640 481,640Q481,640 481,640L481,640ZM480,360Q480,360 480,360Q480,360 480,360Q480,360 480,360Q480,360 480,360Q480,360 480,360Q480,360 480,360Q480,360 480,360Q480,360 480,360Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_zen_mode_people_calls.xml b/res/drawable/ic_zen_mode_people_calls.xml
new file mode 100644
index 0000000..6aacc03
--- /dev/null
+++ b/res/drawable/ic_zen_mode_people_calls.xml
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2024 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT 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:attr/colorControlNormal"
+    android:viewportHeight="960"
+    android:viewportWidth="960">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M798,840Q673,840 551,785.5Q429,731 329,631Q229,531 174.5,409Q120,287 120,162Q120,144 132,132Q144,120 162,120L324,120Q338,120 349,129.5Q360,139 362,152L388,292Q390,308 387,319Q384,330 376,338L279,436Q299,473 326.5,507.5Q354,542 387,574Q418,605 452,631.5Q486,658 524,680L618,586Q627,577 641.5,572.5Q656,568 670,570L808,598Q822,602 831,612.5Q840,623 840,636L840,798Q840,816 828,828Q816,840 798,840ZM241,360L307,294Q307,294 307,294Q307,294 307,294L290,200Q290,200 290,200Q290,200 290,200L201,200Q201,200 201,200Q201,200 201,200Q206,241 215,281Q224,321 241,360ZM599,718Q638,735 678.5,745Q719,755 760,758Q760,758 760,758Q760,758 760,758L760,670Q760,670 760,670Q760,670 760,670L666,651Q666,651 666,651Q666,651 666,651L599,718ZM241,360Q241,360 241,360Q241,360 241,360Q241,360 241,360Q241,360 241,360L241,360Q241,360 241,360Q241,360 241,360L241,360Q241,360 241,360Q241,360 241,360ZM599,718L599,718Q599,718 599,718Q599,718 599,718L599,718Q599,718 599,718Q599,718 599,718L599,718Q599,718 599,718Q599,718 599,718Q599,718 599,718Q599,718 599,718Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_zen_mode_people_messages.xml b/res/drawable/ic_zen_mode_people_messages.xml
new file mode 100644
index 0000000..21db1f4
--- /dev/null
+++ b/res/drawable/ic_zen_mode_people_messages.xml
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2024 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT 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:attr/colorControlNormal"
+    android:viewportHeight="960"
+    android:viewportWidth="960">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M240,560L560,560L560,480L240,480L240,560ZM240,440L720,440L720,360L240,360L240,440ZM240,320L720,320L720,240L240,240L240,320ZM80,880L80,160Q80,127 103.5,103.5Q127,80 160,80L800,80Q833,80 856.5,103.5Q880,127 880,160L880,640Q880,673 856.5,696.5Q833,720 800,720L240,720L80,880ZM206,640L800,640Q800,640 800,640Q800,640 800,640L800,160Q800,160 800,160Q800,160 800,160L160,160Q160,160 160,160Q160,160 160,160L160,685L206,640ZM160,640L160,640L160,160Q160,160 160,160Q160,160 160,160L160,160Q160,160 160,160Q160,160 160,160L160,640Q160,640 160,640Q160,640 160,640Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_zen_mode_sound_alarms.xml b/res/drawable/ic_zen_mode_sound_alarms.xml
new file mode 100644
index 0000000..b2761ca
--- /dev/null
+++ b/res/drawable/ic_zen_mode_sound_alarms.xml
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2024 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT 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:attr/colorControlNormal"
+    android:viewportHeight="960"
+    android:viewportWidth="960">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M480,880Q405,880 339.5,851.5Q274,823 225.5,774.5Q177,726 148.5,660.5Q120,595 120,520Q120,445 148.5,379.5Q177,314 225.5,265.5Q274,217 339.5,188.5Q405,160 480,160Q555,160 620.5,188.5Q686,217 734.5,265.5Q783,314 811.5,379.5Q840,445 840,520Q840,595 811.5,660.5Q783,726 734.5,774.5Q686,823 620.5,851.5Q555,880 480,880ZM480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520Q480,520 480,520ZM592,688L648,632L520,504L520,320L440,320L440,536L592,688ZM224,94L280,150L110,320L54,264L224,94ZM736,94L906,264L850,320L680,150L736,94ZM480,800Q597,800 678.5,718.5Q760,637 760,520Q760,403 678.5,321.5Q597,240 480,240Q363,240 281.5,321.5Q200,403 200,520Q200,637 281.5,718.5Q363,800 480,800Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_zen_mode_sound_events.xml b/res/drawable/ic_zen_mode_sound_events.xml
new file mode 100644
index 0000000..15035e4
--- /dev/null
+++ b/res/drawable/ic_zen_mode_sound_events.xml
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2024 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT 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:attr/colorControlNormal"
+    android:viewportHeight="960"
+    android:viewportWidth="960">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M580,720Q538,720 509,691Q480,662 480,620Q480,578 509,549Q538,520 580,520Q622,520 651,549Q680,578 680,620Q680,662 651,691Q622,720 580,720ZM200,880Q167,880 143.5,856.5Q120,833 120,800L120,240Q120,207 143.5,183.5Q167,160 200,160L240,160L240,80L320,80L320,160L640,160L640,80L720,80L720,160L760,160Q793,160 816.5,183.5Q840,207 840,240L840,800Q840,833 816.5,856.5Q793,880 760,880L200,880ZM200,800L760,800Q760,800 760,800Q760,800 760,800L760,400L200,400L200,800Q200,800 200,800Q200,800 200,800ZM200,320L760,320L760,240Q760,240 760,240Q760,240 760,240L200,240Q200,240 200,240Q200,240 200,240L200,320ZM200,320L200,240Q200,240 200,240Q200,240 200,240L200,240Q200,240 200,240Q200,240 200,240L200,320Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_zen_mode_sound_media.xml b/res/drawable/ic_zen_mode_sound_media.xml
new file mode 100644
index 0000000..f2bedcb
--- /dev/null
+++ b/res/drawable/ic_zen_mode_sound_media.xml
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2024 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT 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:attr/colorControlNormal"
+    android:viewportHeight="960"
+    android:viewportWidth="960">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M400,840Q334,840 287,793Q240,746 240,680Q240,614 287,567Q334,520 400,520Q423,520 442.5,525.5Q462,531 480,542L480,120L720,120L720,280L560,280L560,680Q560,746 513,793Q466,840 400,840Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_zen_mode_sound_reminders.xml b/res/drawable/ic_zen_mode_sound_reminders.xml
new file mode 100644
index 0000000..cd9490a
--- /dev/null
+++ b/res/drawable/ic_zen_mode_sound_reminders.xml
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2024 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT 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:attr/colorControlNormal"
+    android:viewportHeight="960"
+    android:viewportWidth="960">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M260,320L300,320L300,280Q300,263 288.5,251.5Q277,240 260,240Q243,240 231.5,251.5Q220,263 220,280Q220,297 231.5,308.5Q243,320 260,320ZM440,320Q457,320 468.5,308.5Q480,297 480,280Q480,263 468.5,251.5Q457,240 440,240Q423,240 411.5,251.5Q400,263 400,280L400,320L440,320ZM502,620L502,620L502,620L502,620Q502,620 502,620Q502,620 502,620L502,620Q502,620 502,620Q502,620 502,620L502,620Q502,620 502,620Q502,620 502,620L502,620L502,620ZM419,880Q391,880 366.5,868Q342,856 325,834L107,557L126,537Q146,516 174,512Q202,508 226,523L300,568L300,400L260,400Q210,400 175,365Q140,330 140,280Q140,230 175,195Q210,160 260,160Q271,160 280.5,162Q290,164 300,167L300,120Q300,103 311.5,91.5Q323,80 340,80Q357,80 369,91.5Q381,103 381,120L381,176Q395,168 409.5,164Q424,160 440,160Q490,160 525,195Q560,230 560,280Q560,330 525,365Q490,400 440,400L381,400L381,712L284,652L388,785Q394,792 402,796Q410,800 419,800L640,800Q673,800 696.5,776.5Q720,753 720,720L720,560Q720,543 708.5,531.5Q697,520 680,520L461,520L461,440L680,440Q730,440 765,475Q800,510 800,560L800,720Q800,786 753,833Q706,880 640,880L419,880Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_zen_mode_sound_system.xml b/res/drawable/ic_zen_mode_sound_system.xml
new file mode 100644
index 0000000..2da05d8
--- /dev/null
+++ b/res/drawable/ic_zen_mode_sound_system.xml
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2024 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT 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:attr/colorControlNormal"
+    android:viewportHeight="960"
+    android:viewportWidth="960">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M419,880Q391,880 366.5,868Q342,856 325,834L107,557L126,537Q146,516 174,512Q202,508 226,523L300,568L300,240Q300,223 311.5,211.5Q323,200 340,200Q357,200 369,211.5Q381,223 381,240L381,712L284,652L388,785Q394,792 402,796Q410,800 419,800L640,800Q673,800 696.5,776.5Q720,753 720,720L720,560Q720,543 708.5,531.5Q697,520 680,520L461,520L461,440L680,440Q730,440 765,475Q800,510 800,560L800,720Q800,786 753,833Q706,880 640,880L419,880ZM167,340Q154,318 147,292.5Q140,267 140,240Q140,157 198.5,98.5Q257,40 340,40Q423,40 481.5,98.5Q540,157 540,240Q540,267 533,292.5Q526,318 513,340L444,300Q452,286 456,271.5Q460,257 460,240Q460,190 425,155Q390,120 340,120Q290,120 255,155Q220,190 220,240Q220,257 224,271.5Q228,286 236,300L167,340ZM502,620L502,620L502,620L502,620Q502,620 502,620Q502,620 502,620L502,620Q502,620 502,620Q502,620 502,620L502,620Q502,620 502,620Q502,620 502,620L502,620L502,620Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_zen_mode_trigger_with_activity.xml b/res/drawable/ic_zen_mode_trigger_with_activity.xml
new file mode 100644
index 0000000..567f01a
--- /dev/null
+++ b/res/drawable/ic_zen_mode_trigger_with_activity.xml
@@ -0,0 +1,26 @@
+<!--
+Copyright (C) 2024 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT 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:attr/colorControlNormal"
+    android:viewportHeight="960"
+    android:viewportWidth="960"
+    android:autoMirrored="true">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M200,840Q167,840 143.5,816.5Q120,793 120,760L120,600L200,600L200,760Q200,760 200,760Q200,760 200,760L760,760Q760,760 760,760Q760,760 760,760L760,200Q760,200 760,200Q760,200 760,200L200,200Q200,200 200,200Q200,200 200,200L200,360L120,360L120,200Q120,167 143.5,143.5Q167,120 200,120L760,120Q793,120 816.5,143.5Q840,167 840,200L840,760Q840,793 816.5,816.5Q793,840 760,840L200,840ZM420,680L364,622L466,520L120,520L120,440L466,440L364,338L420,280L620,480L420,680Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_zen_mode_trigger_without_activity.xml b/res/drawable/ic_zen_mode_trigger_without_activity.xml
new file mode 100644
index 0000000..11a97f1
--- /dev/null
+++ b/res/drawable/ic_zen_mode_trigger_without_activity.xml
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2024 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT 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:attr/colorControlNormal"
+    android:viewportHeight="960"
+    android:viewportWidth="960">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M352,840L200,840Q167,840 143.5,816.5Q120,793 120,760L120,608Q168,608 204,577.5Q240,547 240,500Q240,453 204,422.5Q168,392 120,392L120,240Q120,207 143.5,183.5Q167,160 200,160L360,160Q360,118 389,89Q418,60 460,60Q502,60 531,89Q560,118 560,160L720,160Q753,160 776.5,183.5Q800,207 800,240L800,400Q842,400 871,429Q900,458 900,500Q900,542 871,571Q842,600 800,600L800,760Q800,793 776.5,816.5Q753,840 720,840L568,840Q568,790 536.5,755Q505,720 460,720Q415,720 383.5,755Q352,790 352,840ZM200,760L285,760Q309,694 362,667Q415,640 460,640Q505,640 558,667Q611,694 635,760L720,760L720,520L800,520Q808,520 814,514Q820,508 820,500Q820,492 814,486Q808,480 800,480L720,480L720,240L480,240L480,160Q480,152 474,146Q468,140 460,140Q452,140 446,146Q440,152 440,160L440,240L200,240L200,328Q254,348 287,395Q320,442 320,500Q320,557 287,604Q254,651 200,672L200,760ZM460,500L460,500Q460,500 460,500Q460,500 460,500Q460,500 460,500Q460,500 460,500L460,500L460,500L460,500Q460,500 460,500Q460,500 460,500Q460,500 460,500Q460,500 460,500L460,500L460,500L460,500L460,500Q460,500 460,500Q460,500 460,500Q460,500 460,500Q460,500 460,500L460,500L460,500L460,500Q460,500 460,500Q460,500 460,500Q460,500 460,500Q460,500 460,500Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/modes_interstitial_bedtime.xml b/res/drawable/modes_interstitial_bedtime.xml
new file mode 100644
index 0000000..24061ca
--- /dev/null
+++ b/res/drawable/modes_interstitial_bedtime.xml
@@ -0,0 +1,62 @@
+<!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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="412dp"
+    android:height="412dp"
+    android:viewportWidth="412"
+    android:viewportHeight="412">
+  <group>
+    <clip-path
+        android:pathData="M0,0h412v412h-412z"/>
+    <path
+        android:pathData="M384,0H28C12.54,0 0,12.54 0,28V384C0,399.46 12.54,412 28,412H384C399.46,412 412,399.46 412,384V28C412,12.54 399.46,0 384,0Z"
+        android:fillColor="#ffffff"/>
+    <path
+        android:pathData="M392.38,173.12C392.38,147.42 371.58,126.86 346.11,126.86C326.79,126.86 310.39,138.61 303.29,155.25C296.43,148.15 286.64,143.75 276.11,143.75C260.2,143.75 246.51,153.54 240.88,167.74C237.21,166.03 233.29,165.05 229.13,165.05C224.66,165.05 220.48,166.11 216.79,167.99C211.35,170.77 213.35,179 219.46,179H386.55C389.77,179 392.39,176.4 392.39,173.18C392.39,173.16 392.39,173.14 392.39,173.12H392.38Z"
+        android:fillColor="#DEDEDE"/>
+    <path
+        android:pathData="M199.15,182.18C190.01,156.35 191.62,131.06 200.22,109.54C203.99,99.32 193.77,89.09 183.55,93.93C164.19,103.08 146.98,118.68 135.15,140.75C120.1,168.19 116.87,201.02 127.62,230.08C156.12,305.95 244.85,325.86 301.85,280.12C306.15,276.89 309.92,273.12 313.68,269.36C321.21,261.29 314.75,247.84 303.46,248.91C287.33,249.98 270.66,247.83 252.91,240.3C228.17,229.54 208.28,208.55 199.14,182.18H199.15Z"
+        android:fillColor="#F9AB00"/>
+    <path
+        android:pathData="M353.25,64.04C365.11,76.41 355.68,96.92 338.57,95.97L335.74,95.81C330.52,95.52 325.4,97.41 321.63,101.03L319.58,102.99C307.21,114.85 286.7,105.42 287.65,88.31L287.81,85.48C288.1,80.26 286.21,75.14 282.59,71.37L280.63,69.32C268.77,56.95 278.2,36.44 295.31,37.39L298.14,37.55C303.36,37.84 308.48,35.95 312.25,32.33L314.3,30.37C326.67,18.51 347.18,27.94 346.23,45.05L346.07,47.88C345.78,53.1 347.67,58.22 351.29,61.99L353.25,64.04Z"
+        android:strokeWidth="2.26997"
+        android:fillColor="#00000000"
+        android:strokeColor="#1A73E8"/>
+    <path
+        android:pathData="M79.5,311.95C96.63,312.45 104.3,333.67 91.44,345L89.31,346.87C85.38,350.33 83.07,355.26 82.92,360.49L82.84,363.32C82.34,380.45 61.12,388.12 49.79,375.26L47.92,373.13C44.46,369.2 39.53,366.89 34.3,366.74L31.47,366.66C14.34,366.16 6.67,344.94 19.53,333.61L21.66,331.74C25.59,328.28 27.9,323.35 28.05,318.12L28.13,315.29C28.63,298.16 49.85,290.49 61.18,303.35L63.05,305.48C66.51,309.41 71.44,311.72 76.67,311.87L79.5,311.95Z"
+        android:strokeWidth="2.26997"
+        android:fillColor="#00000000"
+        android:strokeColor="#D93025"/>
+    <path
+        android:pathData="M220.61,297.87C214.88,297.87 209.42,299.51 205.05,302.51C199.32,279.31 178.3,262.12 153.47,262.12C128.64,262.12 109.8,277.68 102.71,298.96C96.43,294.59 88.79,291.86 80.61,291.86C67.15,291.86 55.29,298.82 48.36,309.42C46.09,312.9 48.56,317.51 52.71,317.51H238.84C243.11,317.51 245.55,312.67 243.04,309.21C238.05,302.3 229.84,297.86 220.61,297.86V297.87Z"
+        android:fillColor="#DEDEDE"/>
+    <path
+        android:pathData="M99.26,237.27C107.22,244.78 101.87,258.15 90.93,258.1H89.12C85.78,258.08 82.58,259.45 80.29,261.88L79.05,263.2C71.54,271.16 58.17,265.81 58.22,254.87V253.06C58.24,249.72 56.87,246.52 54.44,244.23L53.12,242.99C45.16,235.48 50.51,222.11 61.45,222.16H63.26C66.6,222.18 69.8,220.81 72.09,218.38L73.33,217.06C80.84,209.1 94.21,214.45 94.16,225.39V227.2C94.14,230.54 95.51,233.74 97.94,236.03L99.26,237.27Z"
+        android:strokeWidth="2.26997"
+        android:fillColor="#00000000"
+        android:strokeColor="#1E8E3E"/>
+    <path
+        android:pathData="M381.01,335.46C388.11,341.2 384.52,352.66 375.41,353.32L373.9,353.43C371.12,353.63 368.55,354.97 366.8,357.14L365.85,358.31C360.11,365.41 348.65,361.82 347.99,352.71L347.88,351.2C347.68,348.42 346.34,345.85 344.17,344.1L343,343.15C335.9,337.41 339.49,325.95 348.6,325.29L350.11,325.18C352.89,324.98 355.46,323.64 357.21,321.47L358.16,320.3C363.9,313.2 375.36,316.79 376.02,325.9L376.13,327.41C376.33,330.19 377.67,332.76 379.84,334.51L381.01,335.46Z"
+        android:strokeWidth="2.26997"
+        android:fillColor="#00000000"
+        android:strokeColor="#1E8E3E"/>
+    <path
+        android:pathData="M86.28,44.32C98.91,46.65 102.15,63.25 91.33,70.16L89.54,71.3C86.24,73.41 83.96,76.8 83.24,80.65L82.85,82.74C80.52,95.37 63.92,98.61 57.01,87.79L55.87,86C53.76,82.7 50.37,80.42 46.52,79.7L44.43,79.31C31.8,76.98 28.56,60.38 39.38,53.47L41.17,52.33C44.47,50.22 46.75,46.83 47.47,42.98L47.86,40.89C50.19,28.26 66.79,25.02 73.7,35.84L74.84,37.63C76.95,40.93 80.34,43.21 84.19,43.93L86.28,44.32Z"
+        android:strokeWidth="2.26997"
+        android:fillColor="#00000000"
+        android:strokeColor="#F9AB00"/>
+  </group>
+</vector>
diff --git a/res/drawable/modes_interstitial_driving.xml b/res/drawable/modes_interstitial_driving.xml
new file mode 100644
index 0000000..eba51f4
--- /dev/null
+++ b/res/drawable/modes_interstitial_driving.xml
@@ -0,0 +1,81 @@
+<!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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="412dp"
+    android:height="412dp"
+    android:viewportWidth="412"
+    android:viewportHeight="412">
+  <group>
+    <clip-path
+        android:pathData="M0,0h412v412h-412z"/>
+    <path
+        android:pathData="M384,0H28C12.54,0 0,12.54 0,28V384C0,399.46 12.54,412 28,412H384C399.46,412 412,399.46 412,384V28C412,12.54 399.46,0 384,0Z"
+        android:fillColor="#ffffff"/>
+    <path
+        android:pathData="M388.81,244.64L252.55,99.8H158.3L24.49,239.88C28.08,246.82 35.84,251.76 45.06,251.76H58.07C77.9,229.58 106.73,215.61 138.82,215.61C170.91,215.61 199.74,229.58 219.57,251.76H371.66C378.59,251.76 384.69,248.98 388.82,244.65H388.81V244.64Z"
+        android:fillColor="#5E6369"/>
+    <path
+        android:pathData="M393.91,227.39C395.23,233.88 393.06,240.11 388.73,244.65H388.72L252.46,99.8H378.33L393.91,227.39Z"
+        android:fillColor="#009132"/>
+    <path
+        android:pathData="M374.88,71.5C372.89,61.71 363.49,54.6 352.53,54.6H278.07C275.33,62.01 268.23,67.3 259.87,67.3H159.58C151.22,67.3 144.12,62.01 141.38,54.6H67.58C56.59,54.6 47.17,61.74 45.22,71.57L41.13,99.8H378.33L374.88,71.5Z"
+        android:fillColor="#7EB5FE"/>
+    <path
+        android:pathData="M158.21,99.8L24.4,239.88C22.47,236.16 21.73,231.87 22.61,227.45L41.12,99.8H158.21Z"
+        android:fillColor="#009132"/>
+    <path
+        android:pathData="M42.79,88.16L82.41,75.6C88.19,73.77 94.39,73.82 100.14,75.75L128.66,85.31C135.15,87.49 142.21,87.26 148.56,84.67C154.79,82.13 161.72,81.86 168.13,83.93L175.72,86.37C180.43,87.89 185.45,88.16 190.29,87.15L252.84,74.17C257.24,73.26 261.79,73.39 266.12,74.57L311.12,86.76C315.79,88.02 320.71,88.08 325.41,86.93L343.07,82.6C348.04,81.38 353.25,81.52 358.15,83L376.97,88.69L378.33,99.8H41.12L42.79,88.16Z"
+        android:fillColor="#659DF6"/>
+    <path
+        android:pathData="M379.71,163.04L376.86,161.08C375.38,160.06 374.74,158.2 375.28,156.49L376.33,153.19C377.26,150.26 374.73,147.39 371.7,147.95L368.3,148.58C366.53,148.91 364.76,148.04 363.94,146.45L362.35,143.38C360.93,140.65 357.11,140.41 355.37,142.95L353.41,145.8C352.39,147.28 350.53,147.92 348.82,147.38L345.52,146.33C342.59,145.4 339.72,147.93 340.28,150.96L340.91,154.36C341.24,156.13 340.37,157.9 338.78,158.72L335.71,160.31C333.84,161.28 333.14,163.37 333.7,165.16H381.31C381.05,164.34 380.53,163.58 379.73,163.03L379.71,163.04Z"
+        android:fillColor="#00822D"/>
+    <path
+        android:pathData="M315.4,116.73L313.97,115.75C313.23,115.24 312.91,114.31 313.18,113.45L313.7,111.8C314.17,110.33 312.9,108.9 311.38,109.18L309.68,109.5C308.8,109.66 307.91,109.23 307.5,108.43L306.7,106.89C305.99,105.52 304.08,105.41 303.21,106.68L302.23,108.11C301.72,108.85 300.79,109.17 299.93,108.9L298.28,108.38C296.81,107.91 295.38,109.18 295.66,110.7L295.98,112.4C296.14,113.28 295.71,114.17 294.91,114.58L293.37,115.38C292.44,115.86 292.09,116.91 292.36,117.8H316.17C316.04,117.39 315.78,117.01 315.38,116.73H315.4Z"
+        android:fillColor="#00822D"/>
+    <path
+        android:pathData="M103.02,139.55L100.83,138.05C99.69,137.27 99.2,135.84 99.62,134.53L100.42,132C101.13,129.75 99.19,127.55 96.87,127.98L94.26,128.47C92.91,128.72 91.55,128.06 90.91,126.84L89.69,124.48C88.6,122.38 85.67,122.2 84.34,124.15L82.84,126.34C82.06,127.48 80.63,127.97 79.32,127.55L76.79,126.75C74.54,126.04 72.34,127.98 72.77,130.3L73.26,132.91C73.51,134.26 72.85,135.62 71.63,136.26L69.27,137.48C67.84,138.22 67.3,139.83 67.73,141.2H104.25C104.05,140.57 103.65,139.99 103.04,139.56L103.02,139.55Z"
+        android:fillColor="#00822D"/>
+    <path
+        android:pathData="M32.95,156.15L30.46,173.36H67.91C67.68,172.61 67.2,171.91 66.46,171.41L63.85,169.62C62.5,168.69 61.91,166.99 62.41,165.42L63.37,162.4C64.22,159.72 61.9,157.1 59.14,157.61L56.03,158.19C54.42,158.49 52.8,157.7 52.04,156.24L50.58,153.43C49.29,150.93 45.8,150.72 44.2,153.04L42.41,155.65C41.48,157 39.78,157.59 38.21,157.09L35.19,156.13C34.41,155.88 33.63,155.91 32.93,156.13L32.95,156.15Z"
+        android:fillColor="#00822D"/>
+    <path
+        android:pathData="M202.85,187.03L202.06,211.24H213.72L212.72,187.03H202.85Z"
+        android:fillColor="#BCC1C7"/>
+    <path
+        android:pathData="M211.45,156.23H203.85L203.23,175.43H212.24L211.45,156.23Z"
+        android:fillColor="#BCC1C7"/>
+    <path
+        android:pathData="M209.39,106.23L209.12,99.8H205.68L205.47,106.23H209.39Z"
+        android:fillColor="#BCC1C7"/>
+    <path
+        android:pathData="M211.09,147.45L210.4,130.86H204.67L204.13,147.45H211.09Z"
+        android:fillColor="#BCC1C7"/>
+    <path
+        android:pathData="M204.88,124.43H210.14L209.65,112.66H205.26L204.88,124.43Z"
+        android:fillColor="#BCC1C7"/>
+    <path
+        android:pathData="M214.45,225.55H201.71L201.42,235.5C206.98,239.76 212.53,243.92 217.69,249.69H218L214.44,225.55H214.45Z"
+        android:fillColor="#BCC1C7"/>
+    <path
+        android:pathData="M141.03,179.06C89.29,178.41 46.73,219.68 46.08,271.42C45.43,323.16 86.7,365.72 138.44,366.37C190.18,367.02 232.74,325.75 233.39,274.01C234.17,222.27 192.77,179.71 141.03,179.06ZM67.82,245.03C79.07,215.8 107.66,195.23 140.78,195.62C173.89,196.01 201.84,217.35 212.31,246.84C213.22,249.3 211.28,251.76 208.69,251.76L167.43,251.24C159.02,241.15 145.44,235.98 131.73,238.95C123.84,240.63 117.11,244.9 112.2,250.46L71.32,249.94C68.73,250.07 66.92,247.48 67.83,245.02L67.82,245.03ZM122.66,347.87C87.99,339.98 62.25,308.8 62.77,271.68V271.42C62.77,268.96 65.23,267.28 67.56,267.93L103.26,278.67C103.39,279.96 103.65,281.26 103.91,282.55C106.24,293.16 112.96,301.69 121.76,306.61L127.32,343.73C127.71,346.19 125.25,348.39 122.66,347.87ZM153.45,348.52C150.86,349.04 148.66,346.71 149.18,344.12L156.29,307.12C166.77,301.69 173.88,291.6 175.56,280.08L212.04,270.25C214.37,269.6 216.7,271.41 216.7,273.87C216.31,311.25 189.02,342.17 153.45,348.51V348.52Z"
+        android:fillColor="#659DF6"/>
+    <path
+        android:strokeWidth="1"
+        android:pathData="M139.74,299.91C153.98,299.91 165.52,288.37 165.52,274.13C165.52,259.89 153.98,248.35 139.74,248.35C125.5,248.35 113.96,259.89 113.96,274.13C113.96,288.37 125.5,299.91 139.74,299.91Z"
+        android:fillColor="#00000000"
+        android:strokeColor="#004FAC"/>
+  </group>
+</vector>
diff --git a/res/drawable/modes_interstitial_immersive.xml b/res/drawable/modes_interstitial_immersive.xml
new file mode 100644
index 0000000..d901e23
--- /dev/null
+++ b/res/drawable/modes_interstitial_immersive.xml
@@ -0,0 +1,83 @@
+<!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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="412dp"
+    android:height="412dp"
+    android:viewportWidth="412"
+    android:viewportHeight="412">
+  <group>
+    <clip-path
+        android:pathData="M0,0h412v412h-412z"/>
+    <path
+        android:pathData="M384,0H28C12.54,0 0,12.54 0,28V384C0,399.46 12.54,412 28,412H384C399.46,412 412,399.46 412,384V28C412,12.54 399.46,0 384,0Z"
+        android:fillColor="#ffffff"/>
+    <path
+        android:pathData="M169.93,276.93C173.11,290.9 174.7,297.89 173.77,303.93C172.42,312.67 167.51,320.47 160.21,325.47C155.17,328.93 148.18,330.52 134.21,333.69L126.71,335.4C112.74,338.58 105.75,340.17 99.71,339.24C90.97,337.89 83.17,332.98 78.17,325.68C74.71,320.64 73.13,313.65 69.95,299.68L68.24,292.18C65.06,278.21 63.47,271.22 64.4,265.18C65.75,256.44 70.66,248.64 77.96,243.64C83,240.18 89.99,238.6 103.96,235.42L111.46,233.71C125.43,230.53 132.42,228.94 138.46,229.87C147.2,231.22 155,236.13 160,243.43C163.46,248.47 165.05,255.46 168.22,269.43L169.93,276.93Z"
+        android:fillColor="#00AB47"/>
+    <path
+        android:pathData="M191.17,273.74C195.68,293.55 197.93,303.46 196.61,312.02C194.69,324.42 187.74,335.47 177.39,342.56C170.24,347.46 160.33,349.71 140.52,354.22L129.89,356.64C110.08,361.15 100.17,363.4 91.61,362.08C79.21,360.16 68.16,353.21 61.06,342.86C56.16,335.71 53.91,325.8 49.4,305.99L46.98,295.36C42.47,275.55 40.22,265.64 41.54,257.08C43.46,244.68 50.41,233.63 60.76,226.53C67.91,221.63 77.82,219.38 97.63,214.87L108.26,212.45C128.07,207.94 137.98,205.69 146.54,207.01C158.94,208.93 169.99,215.88 177.09,226.23C181.99,233.38 184.24,243.29 188.75,263.1L191.17,273.73V273.74Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#81C995"/>
+    <path
+        android:pathData="M211.39,270.71C217.16,296.08 220.05,308.76 218.35,319.73C215.9,335.61 206.99,349.76 193.74,358.84C184.58,365.11 171.9,368 146.53,373.77L132.92,376.87C107.55,382.64 94.87,385.53 83.9,383.83C68.02,381.38 53.87,372.47 44.79,359.22C38.52,350.06 35.63,337.38 29.86,312.01L26.76,298.4C20.99,273.03 18.1,260.35 19.8,249.38C22.25,233.5 31.16,219.35 44.41,210.27C53.56,204 66.25,201.11 91.62,195.34L105.23,192.24C130.6,186.47 143.28,183.58 154.25,185.28C170.13,187.73 184.28,196.64 193.36,209.89C199.63,219.04 202.52,231.73 208.29,257.1L211.39,270.71Z"
+        android:strokeWidth="3"
+        android:fillColor="#00000000"
+        android:strokeColor="#CEEAD6"/>
+    <path
+        android:pathData="M253.51,117.5C250.2,112.06 248.72,105.46 249.75,98.66C252.08,83.33 266.33,72.78 281.58,75.1C288.48,76.15 294.41,79.65 298.61,84.59C304.08,81.12 310.76,79.53 317.65,80.57C332.86,82.88 343.31,97.18 340.98,112.51C339.95,119.31 336.57,125.17 331.81,129.39C335.11,134.83 336.59,141.43 335.56,148.23C333.23,163.56 319.01,174.11 303.8,171.8C296.91,170.75 291.01,167.25 286.81,162.31C281.33,165.78 274.63,167.37 267.73,166.32C252.48,164 242,149.7 244.33,134.37C245.36,127.57 248.74,121.71 253.51,117.5Z"
+        android:fillColor="#1C73E7"/>
+    <path
+        android:pathData="M301.87,63.25C310.34,57.87 320.69,55.4 331.36,57.02C354.93,60.6 371.12,82.75 367.51,106.5C365.91,117.04 360.68,126.12 353.31,132.65C358.42,141.08 360.71,151.3 359.11,161.83C355.5,185.58 333.47,201.93 309.9,198.35C299.23,196.73 290.08,191.31 283.58,183.65C275.09,189.03 264.72,191.49 254.02,189.87C230.39,186.28 214.16,164.12 217.77,140.37C219.37,129.83 224.61,120.75 232,114.23C226.88,105.8 224.57,95.58 226.17,85.04C229.78,61.29 251.85,44.95 275.48,48.53C286.17,50.15 295.35,55.58 301.86,63.24L301.87,63.25Z"
+        android:strokeLineJoin="round"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#529FFD"
+        android:strokeLineCap="round"/>
+    <path
+        android:pathData="M305.14,41.91C316.62,34.62 330.64,31.28 345.09,33.48C377.02,38.33 398.94,68.34 394.06,100.5C391.89,114.77 384.81,127.07 374.82,135.92C381.74,147.33 384.85,161.18 382.68,175.45C377.8,207.62 347.95,229.77 316.02,224.92C301.57,222.73 289.17,215.38 280.37,205.01C268.87,212.3 254.82,215.63 240.33,213.43C208.33,208.57 186.34,178.55 191.23,146.38C193.4,132.11 200.49,119.81 210.5,110.97C203.56,99.55 200.44,85.71 202.61,71.43C207.49,39.26 237.4,17.12 269.4,21.98C283.88,24.18 296.32,31.53 305.13,41.91H305.14Z"
+        android:strokeLineJoin="round"
+        android:strokeWidth="3"
+        android:fillColor="#00000000"
+        android:strokeColor="#D2E3FC"
+        android:strokeLineCap="round"/>
+    <path
+        android:pathData="M310.7,107.65L310.09,107.56L302.74,106.44L288.07,104.21L280.91,103.12L280.1,103C273.27,101.96 266.89,106.66 265.85,113.49L263.3,130.29C262.61,134.86 265.75,139.12 270.31,139.81C273,140.22 275.73,139.29 277.61,137.32L284.07,130.57L298.74,132.8L302.9,141.16C304.11,143.6 306.44,145.29 309.13,145.7C313.7,146.39 317.96,143.25 318.65,138.69L321.2,121.89C322.24,115.06 317.54,108.68 310.71,107.64L310.7,107.65Z"
+        android:fillColor="#FFFAF0"/>
+    <path
+        android:pathData="M276.2,122.42L280.3,123.05L280.92,118.95L285.02,119.57L285.64,115.47L281.54,114.85L282.16,110.75L278.07,110.13L277.45,114.23L273.35,113.61L272.73,117.7L276.82,118.33L276.2,122.42Z"
+        android:fillColor="#1C73E7"/>
+    <path
+        android:pathData="M303.34,126.02C304.95,126.02 306.26,124.71 306.26,123.1C306.26,121.49 304.95,120.18 303.34,120.18C301.73,120.18 300.42,121.49 300.42,123.1C300.42,124.71 301.73,126.02 303.34,126.02Z"
+        android:fillColor="#1C73E7"/>
+    <path
+        android:pathData="M309.97,120.81C311.58,120.81 312.89,119.5 312.89,117.89C312.89,116.28 311.58,114.97 309.97,114.97C308.35,114.97 307.05,116.28 307.05,117.89C307.05,119.5 308.35,120.81 309.97,120.81Z"
+        android:fillColor="#1C73E7"/>
+    <path
+        android:pathData="M110.86,311.33L100.08,263.97L142.68,279.18L110.85,311.33H110.86Z"
+        android:fillColor="#FFFAF0"/>
+    <path
+        android:pathData="M66.59,97.12C78.25,85.46 97.16,85.46 108.82,97.12C120.48,108.78 120.48,127.69 108.82,139.35L99.07,149.1C87.41,160.76 68.5,160.76 56.84,149.1C45.18,137.44 45.18,118.53 56.84,106.87L66.59,97.12Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#FDD663"/>
+    <path
+        android:pathData="M332.68,258.12C335.52,253.38 342.39,253.38 345.24,258.12L348.44,263.45C350.1,266.22 353.37,267.57 356.5,266.79L362.53,265.28C367.89,263.94 372.75,268.8 371.41,274.16L369.9,280.19C369.12,283.32 370.47,286.59 373.24,288.25L378.57,291.45C383.31,294.29 383.31,301.16 378.57,304.01L373.24,307.21C370.47,308.87 369.12,312.14 369.9,315.27L371.41,321.3C372.75,326.66 367.89,331.52 362.53,330.18L356.5,328.67C353.37,327.89 350.1,329.24 348.44,332.01L345.24,337.34C342.4,342.08 335.53,342.08 332.68,337.34L329.48,332.01C327.82,329.24 324.55,327.89 321.42,328.67L315.39,330.18C310.03,331.52 305.17,326.66 306.51,321.3L308.02,315.27C308.8,312.14 307.45,308.87 304.68,307.21L299.35,304.01C294.61,301.17 294.61,294.3 299.35,291.45L304.68,288.25C307.45,286.59 308.8,283.32 308.02,280.19L306.51,274.16C305.17,268.8 310.03,263.94 315.39,265.28L321.42,266.79C324.55,267.57 327.82,266.22 329.48,263.45L332.68,258.12Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#F28B82"/>
+  </group>
+</vector>
diff --git a/res/drawable/modes_interstitial_managed.xml b/res/drawable/modes_interstitial_managed.xml
new file mode 100644
index 0000000..c54aeae
--- /dev/null
+++ b/res/drawable/modes_interstitial_managed.xml
@@ -0,0 +1,57 @@
+<!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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="412dp"
+    android:height="412dp"
+    android:viewportWidth="412"
+    android:viewportHeight="412">
+  <group>
+    <clip-path
+        android:pathData="M0,0h412v412h-412z"/>
+    <path
+        android:pathData="M384,0.2H28C12.54,0.2 0,12.74 0,28.2V384.2C0,399.66 12.54,412.2 28,412.2H384C399.46,412.2 412,399.66 412,384.2V28.2C412,12.74 399.46,0.2 384,0.2Z"
+        android:fillColor="#ffffff"/>
+    <path
+        android:pathData="M146.64,179.97C181.43,154.82 229.04,185.27 220.78,227.4L219.42,234.37C216.9,247.23 219.83,260.56 227.51,271.18L231.67,276.93C256.82,311.72 226.37,359.33 184.24,351.07L177.27,349.71C164.41,347.19 151.08,350.12 140.46,357.8L134.71,361.96C99.92,387.11 52.31,356.66 60.57,314.53L61.93,307.57C64.45,294.71 61.52,281.38 53.84,270.76L49.68,265.01C24.53,230.22 54.98,182.61 97.11,190.87L104.08,192.23C116.94,194.75 130.27,191.82 140.89,184.14L146.64,179.98V179.97Z"
+        android:fillColor="#529FFD"/>
+    <path
+        android:pathData="M361.61,135.37C356.66,153.92 354.19,163.19 349.31,169.77C342.25,179.29 331.57,185.47 319.8,186.85C311.67,187.8 302.39,185.32 283.85,180.37L273.9,177.71C255.36,172.76 246.08,170.29 239.5,165.41C229.98,158.35 223.8,147.67 222.42,135.9C221.47,127.77 223.95,118.49 228.9,99.95L231.56,90C236.51,71.46 238.98,62.18 243.86,55.6C250.92,46.08 261.6,39.9 273.37,38.52C281.5,37.57 290.78,40.05 309.32,45L319.27,47.66C337.82,52.61 347.09,55.08 353.67,59.96C363.19,67.02 369.37,77.7 370.75,89.47C371.7,97.6 369.22,106.88 364.27,125.42L361.61,135.37Z"
+        android:fillColor="#FCC934"/>
+    <path
+        android:pathData="M348.57,230.93C345.11,227.47 337.24,229.18 327.74,234.66C324.89,224.07 320.54,217.29 315.65,217.29C310.76,217.29 306.4,224.07 303.56,234.66C294.06,229.18 286.19,227.47 282.73,230.93C279.27,234.39 280.98,242.26 286.46,251.76C275.87,254.6 269.09,258.96 269.09,263.85C269.09,268.74 275.87,273.1 286.46,275.94C280.98,285.44 279.27,293.32 282.73,296.77C286.19,300.23 294.06,298.52 303.56,293.04C306.4,303.63 310.76,310.41 315.65,310.41C320.54,310.41 324.9,303.63 327.74,293.04C337.24,298.52 345.12,300.23 348.57,296.77C352.03,293.31 350.32,285.44 344.84,275.94C355.43,273.09 362.21,268.74 362.21,263.85C362.21,258.96 355.43,254.6 344.84,251.76C350.32,242.26 352.03,234.38 348.57,230.93Z"
+        android:strokeLineJoin="round"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:fillType="evenOdd"
+        android:strokeColor="#EA4335"/>
+    <path
+        android:pathData="M194.81,56.17C203.12,68.34 199.99,84.94 187.83,93.25C175.66,101.56 159.06,98.43 150.75,86.27L143.81,76.1C135.5,63.93 138.63,47.33 150.79,39.02C162.96,30.71 179.56,33.84 187.87,46L194.81,56.17Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#00AB47"/>
+    <path
+        android:pathData="M130.96,158.11C130.5,159.35 130.27,159.97 130.01,160.47C128.02,164.37 123.61,166.39 119.35,165.37C118.8,165.24 118.18,165.01 116.94,164.55L75.56,149.24C74.32,148.78 73.7,148.55 73.2,148.29C69.3,146.3 67.28,141.89 68.3,137.63C68.43,137.08 68.66,136.46 69.12,135.22L76.78,114.53C83.1,97.45 102.06,88.73 119.14,95.05C136.22,101.37 144.94,120.33 138.62,137.41L130.96,158.1V158.11Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#EA4335"/>
+    <path
+        android:pathData="M152.86,267.48C151.12,267.79 149.53,267.48 148.08,266.55C146.7,265.52 145.85,264.13 145.54,262.39C145.23,260.65 145.54,259.1 146.5,257.73C147.52,256.27 148.9,255.38 150.63,255.06C152.36,254.74 153.93,255.11 155.31,256.14C156.76,257.07 157.64,258.41 157.95,260.15C158.26,261.89 157.91,263.49 156.89,264.95C155.94,266.32 154.6,267.16 152.86,267.47V267.48ZM128.04,271.95C126.3,272.26 124.71,271.95 123.26,271.02C121.88,269.99 121.03,268.6 120.72,266.86C120.41,265.12 120.72,263.57 121.68,262.2C122.7,260.74 124.08,259.85 125.81,259.53C127.54,259.21 129.11,259.58 130.49,260.61C131.94,261.54 132.82,262.88 133.13,264.62C133.44,266.36 133.09,267.96 132.07,269.42C131.12,270.79 129.78,271.63 128.04,271.94V271.95ZM145.15,295.79C140.18,296.68 135.43,296.13 130.88,294.13C126.42,292.11 122.83,289.04 120.12,284.92L164.81,276.87C163.71,281.68 161.38,285.82 157.82,289.28C154.34,292.73 150.12,294.9 145.15,295.79ZM148.72,315.65C142.51,316.77 136.47,316.66 130.59,315.33C124.78,313.9 119.49,311.56 114.72,308.32C110.02,304.98 105.98,300.84 102.61,295.89C99.31,290.85 97.1,285.22 95.98,279.01C94.86,272.8 94.98,266.8 96.33,261.01C97.75,255.12 100.08,249.83 103.34,245.14C106.66,240.35 110.81,236.32 115.77,233.03C120.8,229.65 126.42,227.4 132.62,226.28C138.82,225.16 144.84,225.32 150.65,226.75C156.53,228.08 161.82,230.42 166.52,233.76C171.29,237 175.33,241.14 178.63,246.19C182,251.14 184.24,256.71 185.36,262.92C186.48,269.13 186.33,275.18 184.91,281.07C183.56,286.87 181.23,292.16 177.9,296.94C174.64,301.63 170.5,305.66 165.47,309.05C160.51,312.34 154.92,314.54 148.72,315.66V315.65ZM146.93,305.72C156.53,303.99 164.11,299.12 169.67,291.12C175.23,283.11 177.15,274.31 175.42,264.71C173.69,255.11 168.82,247.53 160.82,241.97C152.81,236.41 144.01,234.49 134.41,236.22L132.92,236.49C132.42,236.58 131.94,236.75 131.48,237.01C131.07,237.6 130.84,238.19 130.78,238.8C130.72,239.41 130.75,240.04 130.87,240.71C131.18,242.45 132.03,243.83 133.41,244.87C134.86,245.8 136.45,246.12 138.19,245.8C138.93,245.67 139.57,245.42 140.11,245.07C140.73,244.7 141.37,244.46 142.03,244.34C143.02,244.16 143.92,244.38 144.71,245.01C145.51,245.64 145.99,246.44 146.17,247.44C146.51,249.34 145.83,250.75 144.11,251.66C142.46,252.47 140.93,253 139.53,253.25C135.81,253.92 132.34,253.18 129.13,251.02C125.99,248.77 124.08,245.78 123.41,242.05L123.28,241.31C123.24,241.06 123.22,240.72 123.23,240.29C116.81,244.01 111.98,249.19 108.73,255.84C105.49,262.49 104.55,269.62 105.92,277.24C107.65,286.84 112.52,294.42 120.52,299.98C128.53,305.54 137.33,307.46 146.93,305.73V305.72Z"
+        android:fillColor="#1967D2"/>
+    <path
+        android:pathData="M293.93,132.47C301.29,134.5 308.23,133.67 314.75,129.97C321.28,126.21 325.56,120.68 327.58,113.37C328.05,111.67 328.36,110.01 328.51,108.39C328.67,106.72 328.66,105.06 328.46,103.41C326.72,103.93 324.96,104.22 323.17,104.26C321.38,104.3 319.61,104.08 317.86,103.59C314.89,102.77 312.27,101.34 310,99.29C307.8,97.2 306.18,94.69 305.16,91.75C302.77,93.75 300.07,95.08 297.06,95.72C294.11,96.33 291.16,96.22 288.19,95.4C286.43,94.92 284.8,94.2 283.28,93.25C281.76,92.3 280.4,91.15 279.17,89.81C278.16,91.13 277.29,92.54 276.58,94.06C275.88,95.52 275.3,97.11 274.83,98.81C272.81,106.12 273.65,113.06 277.33,119.63C281.09,126.16 286.62,130.44 293.93,132.46V132.47ZM289.27,110.78C290.42,111.1 291.49,110.98 292.47,110.42C293.52,109.82 294.21,108.95 294.52,107.79C294.83,106.63 294.69,105.56 294.08,104.56C293.54,103.52 292.69,102.85 291.54,102.53C290.39,102.21 289.28,102.35 288.23,102.95C287.25,103.51 286.6,104.36 286.28,105.52C285.96,106.67 286.07,107.77 286.62,108.81C287.23,109.81 288.11,110.46 289.27,110.78ZM309.05,116.24C310.2,116.56 311.27,116.44 312.25,115.88C313.3,115.28 313.99,114.41 314.3,113.25C314.61,112.09 314.47,111.02 313.86,110.02C313.32,108.98 312.47,108.31 311.32,107.99C310.17,107.67 309.06,107.81 308.01,108.41C307.03,108.97 306.38,109.82 306.06,110.98C305.74,112.14 305.85,113.23 306.4,114.27C307.01,115.27 307.89,115.92 309.05,116.24ZM290,88.81C293.19,89.69 296.22,89.31 299.09,87.68C301.96,86.05 303.84,83.64 304.72,80.45L305.13,78.97C301.27,78.38 297.51,78.61 293.85,79.67C290.19,80.73 286.9,82.45 284,84.85C284.81,85.78 285.71,86.59 286.7,87.28C287.69,87.97 288.79,88.48 290,88.81ZM319.67,97C320.88,97.33 322.08,97.49 323.27,97.46C324.47,97.38 325.67,97.12 326.86,96.68C325.59,93.14 323.65,89.97 321.05,87.19C318.5,84.42 315.4,82.29 311.72,80.8L311.31,82.28C310.43,85.47 310.81,88.5 312.44,91.37C314.07,94.24 316.48,96.12 319.67,97ZM257.98,136.74C256.06,136.21 254.63,135.05 253.71,133.26C252.79,131.47 252.67,129.63 253.37,127.75L265.32,96.01C267.03,91.52 269.46,87.54 272.6,84.09C275.79,80.65 279.39,77.92 283.38,75.89C287.44,73.82 291.76,72.52 296.33,72.01C300.98,71.46 305.63,71.83 310.3,73.11C314.97,74.4 319.13,76.46 322.78,79.3C326.5,82.1 329.55,85.42 331.91,89.27C334.35,93.08 336.03,97.27 336.96,101.84C337.94,106.43 338.02,111.09 337.18,115.83L331.17,149.2C330.8,151.17 329.77,152.69 328.05,153.75C326.33,154.81 324.52,155.08 322.6,154.55L257.98,136.73V136.74ZM292.11,139.06C285.24,137.17 279.58,133.57 275.13,128.26C270.7,122.9 268.07,116.88 267.25,110.21L259.8,130.15L324.42,147.97L328.24,127.03C324.12,132.34 318.78,136.16 312.22,138.49C305.73,140.78 299.03,140.97 292.11,139.06ZM292.11,139.06C299.03,140.97 305.21,142.67 310.65,144.17C316.14,145.69 320.13,146.78 322.6,147.47L324.41,147.97L259.79,130.15L261.6,130.65C264.07,131.33 268.06,132.43 273.55,133.95C279.04,135.47 285.23,137.17 292.09,139.06H292.11Z"
+        android:fillColor="#F29900"/>
+  </group>
+</vector>
diff --git a/res/drawable/modes_interstitial_other.xml b/res/drawable/modes_interstitial_other.xml
new file mode 100644
index 0000000..096de39
--- /dev/null
+++ b/res/drawable/modes_interstitial_other.xml
@@ -0,0 +1,118 @@
+<!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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="412dp"
+    android:height="412dp"
+    android:viewportWidth="412"
+    android:viewportHeight="412">
+  <group>
+    <clip-path
+        android:pathData="M0,0h412v412h-412z"/>
+    <path
+        android:pathData="M384,0H28C12.54,0 0,12.54 0,28V384C0,399.46 12.54,412 28,412H384C399.46,412 412,399.46 412,384V28C412,12.54 399.46,0 384,0Z"
+        android:fillColor="#ffffff"/>
+    <path
+        android:pathData="M81.65,103.36C94.23,106.21 96.82,122.99 85.68,129.5L83.84,130.58C80.44,132.57 78.01,135.87 77.14,139.71L76.67,141.79C73.82,154.37 57.04,156.96 50.53,145.82L49.45,143.98C47.46,140.58 44.16,138.15 40.32,137.28L38.24,136.81C25.66,133.96 23.07,117.18 34.21,110.67L36.05,109.59C39.45,107.6 41.88,104.3 42.75,100.46L43.22,98.38C46.07,85.8 62.85,83.21 69.36,94.35L70.44,96.19C72.43,99.59 75.73,102.02 79.57,102.89L81.65,103.36Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#1A73E8"/>
+    <path
+        android:pathData="M364.93,340.67C377.51,343.52 380.1,360.3 368.96,366.81L367.12,367.89C363.72,369.88 361.29,373.18 360.42,377.02L359.95,379.1C357.1,391.68 340.32,394.27 333.81,383.13L332.73,381.29C330.74,377.89 327.44,375.46 323.6,374.59L321.52,374.12C308.94,371.27 306.35,354.49 317.49,347.98L319.33,346.9C322.73,344.91 325.16,341.61 326.03,337.77L326.5,335.69C329.35,323.11 346.13,320.52 352.64,331.66L353.72,333.5C355.71,336.9 359.01,339.33 362.85,340.2L364.93,340.67Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#ED050E"/>
+    <path
+        android:pathData="M70.27,311.22C73.06,306.56 79.82,306.56 82.61,311.22L85.75,316.46C87.38,319.18 90.6,320.51 93.67,319.74L99.6,318.25C104.87,316.93 109.65,321.71 108.33,326.98L106.84,332.91C106.07,335.98 107.4,339.2 110.12,340.83L115.36,343.97C120.02,346.76 120.02,353.52 115.36,356.31L110.12,359.45C107.4,361.08 106.07,364.3 106.84,367.37L108.33,373.3C109.65,378.57 104.87,383.35 99.6,382.03L93.67,380.54C90.6,379.77 87.38,381.1 85.75,383.82L82.61,389.06C79.82,393.72 73.06,393.72 70.27,389.06L67.13,383.82C65.5,381.1 62.28,379.77 59.21,380.54L53.28,382.03C48.01,383.35 43.23,378.57 44.55,373.3L46.04,367.37C46.81,364.3 45.48,361.08 42.76,359.45L37.52,356.31C32.86,353.52 32.86,346.76 37.52,343.97L42.76,340.83C45.48,339.2 46.81,335.98 46.04,332.91L44.55,326.98C43.23,321.71 48.01,316.93 53.28,318.25L59.21,319.74C62.28,320.51 65.5,319.18 67.13,316.46L70.27,311.22Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#ED050E"/>
+    <path
+        android:pathData="M349.46,192.02C350.8,189.79 354.02,189.79 355.36,192.02L356.86,194.53C357.64,195.83 359.18,196.47 360.65,196.1L363.48,195.39C366,194.76 368.28,197.04 367.65,199.56L366.94,202.39C366.57,203.86 367.21,205.4 368.51,206.18L371.02,207.68C373.25,209.02 373.25,212.24 371.02,213.58L368.51,215.08C367.21,215.86 366.57,217.4 366.94,218.87L367.65,221.7C368.28,224.22 366,226.5 363.48,225.87L360.65,225.16C359.18,224.79 357.64,225.43 356.86,226.73L355.36,229.24C354.02,231.47 350.8,231.47 349.46,229.24L347.96,226.73C347.18,225.43 345.64,224.79 344.17,225.16L341.34,225.87C338.82,226.5 336.54,224.22 337.17,221.7L337.88,218.87C338.25,217.4 337.61,215.86 336.31,215.08L333.8,213.58C331.57,212.24 331.57,209.02 333.8,207.68L336.31,206.18C337.61,205.4 338.25,203.86 337.88,202.39L337.17,199.56C336.54,197.04 338.82,194.76 341.34,195.39L344.17,196.1C345.64,196.47 347.18,195.83 347.96,194.53L349.46,192.02Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#1A73E8"/>
+    <path
+        android:pathData="M50.02,303.87L76.47,281.69C82,277.05 82.72,268.82 78.09,263.29C73.45,257.76 65.21,257.04 59.69,261.67L33.23,283.85C27.71,288.49 26.98,296.73 31.62,302.25C36.25,307.78 44.49,308.5 50.02,303.87Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#1A73E8"/>
+    <path
+        android:pathData="M190.87,53.46L220.77,70.72C227.01,74.33 235,72.19 238.61,65.94C242.21,59.7 240.07,51.71 233.83,48.1L203.93,30.84C197.69,27.24 189.7,29.38 186.09,35.62C182.49,41.87 184.63,49.86 190.87,53.46Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#1A73E8"/>
+    <path
+        android:pathData="M372.69,173.54C384.92,173.54 394.84,163.63 394.84,151.39C394.84,139.16 384.92,129.24 372.69,129.24C360.46,129.24 350.54,139.16 350.54,151.39C350.54,163.63 360.46,173.54 372.69,173.54Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#ED050E"/>
+    <path
+        android:pathData="M54.85,200.83C63.95,200.83 71.33,193.45 71.33,184.35C71.33,175.25 63.95,167.87 54.85,167.87C45.75,167.87 38.37,175.25 38.37,184.35C38.37,193.45 45.75,200.83 54.85,200.83Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#ED050E"/>
+    <path
+        android:pathData="M54.85,75.46C67.92,75.46 78.52,64.86 78.52,51.79C78.52,38.71 67.92,28.12 54.85,28.12C41.78,28.12 31.18,38.71 31.18,51.79C31.18,64.86 41.78,75.46 54.85,75.46Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#ED050E"/>
+    <path
+        android:pathData="M149.34,366.63C158.44,366.63 165.82,359.25 165.82,350.15C165.82,341.05 158.44,333.67 149.34,333.67C140.24,333.67 132.86,341.05 132.86,350.15C132.86,359.25 140.24,366.63 149.34,366.63Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#FFB900"/>
+    <path
+        android:pathData="M164.35,104.14C188.06,81.2 225.76,81.2 249.47,104.14C256.72,111.16 265.61,116.28 275.34,119.03C307.12,128.03 325.97,160.58 317.9,192.52C315.43,202.29 315.43,212.53 317.9,222.3C325.97,254.24 307.12,286.79 275.34,295.79C265.62,298.54 256.73,303.66 249.47,310.68C225.76,333.62 188.06,333.62 164.35,310.68C157.1,303.66 148.21,298.54 138.48,295.79C106.7,286.79 87.85,254.24 95.92,222.3C98.39,212.53 98.39,202.29 95.92,192.52C87.85,160.58 106.7,128.03 138.48,119.03C148.21,116.28 157.09,111.16 164.35,104.14Z"
+        android:fillColor="#00AB47"/>
+    <path
+        android:pathData="M291.79,39.71C294.08,44.56 295.22,46.98 295.37,49.27C295.58,52.57 294.42,55.82 292.16,58.24C290.6,59.91 288.17,61.05 283.32,63.34L280.72,64.57C275.87,66.86 273.45,68 271.16,68.15C267.86,68.36 264.61,67.2 262.19,64.94C260.52,63.38 259.38,60.95 257.09,56.1L255.86,53.5C253.57,48.65 252.43,46.23 252.28,43.94C252.07,40.64 253.23,37.39 255.49,34.97C257.05,33.3 259.48,32.16 264.33,29.87L266.93,28.64C271.78,26.35 274.2,25.21 276.49,25.06C279.79,24.85 283.04,26.01 285.46,28.27C287.13,29.83 288.27,32.26 290.56,37.11L291.79,39.71Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#ED050E"/>
+    <path
+        android:pathData="M275.06,336.34C281.73,338.9 285.07,340.18 287.32,342.24C290.57,345.23 292.44,349.42 292.49,353.84C292.52,356.89 291.24,360.23 288.68,366.9L287.31,370.48C284.75,377.15 283.47,380.49 281.41,382.74C278.42,385.99 274.23,387.86 269.81,387.91C266.76,387.94 263.42,386.66 256.75,384.1L253.17,382.73C246.5,380.17 243.16,378.89 240.91,376.83C237.66,373.84 235.79,369.65 235.74,365.23C235.71,362.18 236.99,358.84 239.55,352.17L240.92,348.59C243.48,341.92 244.76,338.58 246.82,336.33C249.81,333.08 254,331.21 258.42,331.16C261.47,331.13 264.81,332.41 271.48,334.97L275.06,336.34Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#FFB900"/>
+    <path
+        android:pathData="M56.34,227.85C58.63,232.7 59.77,235.12 59.92,237.41C60.13,240.71 58.97,243.96 56.71,246.38C55.15,248.05 52.72,249.19 47.87,251.48L45.27,252.71C40.42,255 38,256.14 35.71,256.29C32.41,256.5 29.16,255.34 26.74,253.08C25.07,251.52 23.93,249.09 21.64,244.24L20.41,241.64C18.12,236.79 16.98,234.37 16.83,232.08C16.62,228.78 17.78,225.53 20.04,223.11C21.6,221.44 24.03,220.3 28.88,218.01L31.48,216.78C36.33,214.49 38.75,213.35 41.04,213.2C44.34,212.99 47.59,214.15 50.01,216.41C51.68,217.97 52.82,220.4 55.11,225.25L56.34,227.85Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#FFB900"/>
+    <path
+        android:pathData="M319.04,100.31C314.11,99.32 309.47,96.66 306.06,92.42C298.38,82.87 299.86,68.93 309.37,61.29C313.67,57.83 318.88,56.26 324,56.46C324.9,51.42 327.55,46.68 331.84,43.23C341.32,35.61 355.23,37.18 362.91,46.73C366.32,50.97 367.92,56.07 367.83,61.09C372.76,62.08 377.39,64.75 380.8,68.98C388.48,78.53 387.01,92.46 377.53,100.08C373.24,103.53 368.04,105.1 362.92,104.89C362.01,109.94 359.35,114.68 355.05,118.14C345.55,125.78 331.62,124.22 323.94,114.67C320.53,110.43 318.93,105.33 319.03,100.3L319.04,100.31Z"
+        android:strokeLineJoin="round"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#FFB900"/>
+    <path
+        android:pathData="M183.62,383.49C180.85,382.54 178.39,380.64 176.76,377.93C173.09,371.82 175.03,363.91 181.1,360.26C183.85,358.61 186.97,358.11 189.91,358.62C190.82,355.79 192.72,353.26 195.46,351.61C201.52,347.96 209.41,349.95 213.09,356.06C214.72,358.77 215.25,361.83 214.8,364.72C217.56,365.68 220.02,367.58 221.65,370.28C225.32,376.39 223.39,384.29 217.33,387.94C214.59,389.59 211.47,390.09 208.54,389.57C207.62,392.41 205.72,394.93 202.97,396.59C196.9,400.25 188.99,398.26 185.32,392.16C183.69,389.45 183.17,386.39 183.62,383.5V383.49Z"
+        android:strokeLineJoin="round"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#1A73E8"/>
+    <path
+        android:pathData="M136.6,94.6C135.54,95.43 135.01,95.85 134.53,96.14C130.73,98.45 125.84,97.87 122.7,94.72C122.3,94.32 121.88,93.79 121.05,92.73L93.38,57.49C92.55,56.43 92.13,55.9 91.84,55.42C89.53,51.62 90.11,46.73 93.26,43.6C93.66,43.2 94.19,42.78 95.25,41.95L112.87,28.12C127.41,16.7 148.46,19.24 159.88,33.78C171.3,48.32 168.76,69.37 154.22,80.79L136.6,94.62V94.6Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#FFB900"/>
+    <path
+        android:pathData="M389.79,270.19C390.52,270.96 390.89,271.34 391.16,271.7C393.26,274.5 393.17,278.38 390.94,281.08C390.65,281.43 390.27,281.79 389.5,282.52L363.96,306.89C363.19,307.62 362.81,307.99 362.45,308.26C359.65,310.36 355.77,310.27 353.07,308.04C352.72,307.75 352.36,307.37 351.63,306.6L339.44,293.83C329.38,283.29 329.78,266.59 340.31,256.54C350.85,246.48 367.55,246.88 377.6,257.41L389.79,270.18V270.19Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#FFB900"/>
+  </group>
+</vector>
diff --git a/res/drawable/modes_interstitial_theater.xml b/res/drawable/modes_interstitial_theater.xml
new file mode 100644
index 0000000..78356b4
--- /dev/null
+++ b/res/drawable/modes_interstitial_theater.xml
@@ -0,0 +1,77 @@
+<!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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="412dp"
+    android:height="412dp"
+    android:viewportWidth="412"
+    android:viewportHeight="412">
+  <group>
+    <clip-path
+        android:pathData="M0,0h412v412h-412z"/>
+    <path
+        android:strokeWidth="1"
+        android:pathData="M384,0H28C12.54,0 0,12.54 0,28V384C0,399.46 12.54,412 28,412H384C399.46,412 412,399.46 412,384V28C412,12.54 399.46,0 384,0Z"
+        android:fillColor="#ffffff"
+        android:strokeColor="#FFFAF0"/>
+    <path
+        android:pathData="M300.93,258.76C304.13,254.1 311.15,254.53 313.75,259.55L316.68,265.2C318.2,268.13 321.45,269.72 324.7,269.12L330.95,267.96C336.51,266.92 341.17,272.19 339.46,277.59L337.54,283.65C336.54,286.79 337.72,290.22 340.44,292.09L345.69,295.69C350.35,298.89 349.92,305.91 344.9,308.51L339.25,311.44C336.32,312.96 334.73,316.21 335.34,319.46L336.5,325.71C337.53,331.27 332.27,335.93 326.87,334.22L320.81,332.3C317.67,331.3 314.24,332.48 312.37,335.2L308.77,340.45C305.57,345.11 298.55,344.68 295.95,339.66L293.02,334.01C291.5,331.08 288.25,329.49 285,330.1L278.75,331.26C273.19,332.29 268.53,327.03 270.24,321.63L272.16,315.57C273.16,312.43 271.98,309 269.26,307.13L264.01,303.53C259.35,300.33 259.78,293.31 264.8,290.71L270.45,287.78C273.38,286.26 274.97,283.01 274.37,279.76L273.21,273.51C272.17,267.95 277.44,263.29 282.84,265L288.9,266.92C292.04,267.92 295.47,266.74 297.34,264.02L300.94,258.77L300.93,258.76Z"
+        android:fillColor="#529FFD"/>
+    <path
+        android:pathData="M77.66,50.23C76.29,45.91 76.37,41.09 78.22,36.56C82.41,26.34 94.04,21.44 104.2,25.6C108.8,27.49 112.31,30.91 114.39,35.03C118.76,33.54 123.65,33.57 128.24,35.45C138.38,39.61 143.21,51.26 139.02,61.47C137.16,66 133.84,69.49 129.84,71.61C131.21,75.93 131.12,80.74 129.27,85.28C125.08,95.5 113.47,100.41 103.33,96.26C98.74,94.38 95.24,90.96 93.17,86.84C88.79,88.32 83.89,88.3 79.29,86.41C69.13,82.24 64.28,70.59 68.47,60.37C70.33,55.84 73.65,52.35 77.66,50.24V50.23Z"
+        android:strokeLineJoin="round"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#EF675C"
+        android:strokeLineCap="round"/>
+    <path
+        android:pathData="M180.11,93.23C180.11,89.75 180.11,88.01 180.28,86.55C181.64,75.13 190.64,66.13 202.05,64.78C203.51,64.61 205.25,64.61 208.73,64.61H324.57C328.05,64.61 329.79,64.61 331.25,64.78C342.67,66.14 351.67,75.14 353.02,86.55C353.19,88.01 353.19,89.75 353.19,93.23V151.15C353.19,198.95 314.44,237.7 266.64,237.7C218.84,237.7 180.09,198.95 180.09,151.15V93.23H180.11Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#FCC934"/>
+    <path
+        android:pathData="M228.49,100.85C219.06,100.85 211.26,107.82 209.95,116.89C209.74,118.31 210.86,119.59 212.3,119.59H244.69C246.13,119.59 247.24,118.31 247.04,116.89C245.73,107.82 237.93,100.85 228.5,100.85H228.49Z"
+        android:fillColor="#FCC934"/>
+    <path
+        android:pathData="M304.85,100.85C295.42,100.85 287.62,107.82 286.31,116.89C286.1,118.31 287.22,119.59 288.66,119.59H321.05C322.49,119.59 323.6,118.31 323.4,116.89C322.09,107.82 314.29,100.85 304.86,100.85H304.85Z"
+        android:fillColor="#FCC934"/>
+    <path
+        android:pathData="M266.67,172.93C253.45,172.93 242.5,182.7 240.67,195.42C240.38,197.42 241.94,199.21 243.96,199.21H289.38C291.4,199.21 292.96,197.42 292.67,195.42C290.83,182.7 279.89,172.93 266.67,172.93Z"
+        android:fillColor="#FCC934"/>
+    <path
+        android:pathData="M55.38,166.77C55.38,163.29 55.38,161.55 55.55,160.09C56.91,148.67 65.91,139.67 77.32,138.32C78.78,138.15 80.52,138.15 84,138.15H199.84C203.32,138.15 205.06,138.15 206.52,138.32C217.94,139.68 226.94,148.68 228.29,160.09C228.46,161.55 228.46,163.29 228.46,166.77V224.69C228.46,272.49 189.71,311.24 141.91,311.24C94.11,311.24 55.36,272.49 55.36,224.69V166.77H55.38Z"
+        android:fillColor="#F9AB00"/>
+    <path
+        android:strokeWidth="1"
+        android:pathData="M103.75,179.43C94.32,179.43 86.52,186.4 85.21,195.47C85,196.89 86.12,198.17 87.56,198.17H119.95C121.39,198.17 122.5,196.89 122.3,195.47C120.99,186.4 113.19,179.43 103.76,179.43H103.75Z"
+        android:fillColor="#FFFAF0"
+        android:strokeColor="#FFFAF0"/>
+    <path
+        android:strokeWidth="1"
+        android:pathData="M180.11,179.43C170.68,179.43 162.88,186.4 161.57,195.47C161.36,196.89 162.48,198.17 163.92,198.17H196.31C197.75,198.17 198.86,196.89 198.66,195.47C197.35,186.4 189.55,179.43 180.12,179.43H180.11Z"
+        android:fillColor="#FFFAF0"
+        android:strokeColor="#FFFAF0"/>
+    <path
+        android:strokeWidth="1"
+        android:pathData="M140.16,277.78C153.38,277.78 164.33,268.01 166.16,255.29C166.45,253.29 164.89,251.5 162.87,251.5H117.45C115.43,251.5 113.87,253.29 114.16,255.29C116,268.01 126.94,277.78 140.16,277.78Z"
+        android:fillColor="#FFFAF0"
+        android:strokeColor="#FFFAF0"/>
+    <path
+        android:pathData="M205.46,328.16C220.3,318.94 239.8,323.51 249.02,338.35C258.24,353.19 253.67,372.69 238.83,381.91L226.43,389.61C211.59,398.83 192.09,394.26 182.87,379.42C173.65,364.58 178.22,345.08 193.06,335.86L205.46,328.16Z"
+        android:strokeWidth="2"
+        android:fillColor="#00000000"
+        android:strokeColor="#26BC6D"/>
+  </group>
+</vector>
diff --git a/res/drawable/modes_interstitial_unknown.xml b/res/drawable/modes_interstitial_unknown.xml
new file mode 100644
index 0000000..a68f71a
--- /dev/null
+++ b/res/drawable/modes_interstitial_unknown.xml
@@ -0,0 +1,65 @@
+<!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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="412dp"
+    android:height="412dp"
+    android:viewportWidth="412"
+    android:viewportHeight="412">
+  <group>
+    <clip-path
+        android:pathData="M0,0h412v412h-412z"/>
+    <path
+        android:pathData="M384,0H28C12.54,0 0,12.54 0,28V384C0,399.46 12.54,412 28,412H384C399.46,412 412,399.46 412,384V28C412,12.54 399.46,0 384,0Z"
+        android:fillColor="#ffffff"/>
+    <path
+        android:pathData="M147.09,65.18C149.2,72.23 150.26,75.75 149.99,78.88C149.6,83.41 147.36,87.57 143.79,90.39C141.33,92.34 137.8,93.39 130.75,95.51L126.97,96.64C119.92,98.75 116.4,99.81 113.27,99.54C108.74,99.15 104.58,96.91 101.76,93.34C99.81,90.88 98.76,87.35 96.64,80.3L95.51,76.52C93.4,69.47 92.34,65.95 92.61,62.82C93,58.29 95.24,54.13 98.81,51.31C101.27,49.36 104.8,48.31 111.85,46.19L115.63,45.06C122.68,42.95 126.2,41.89 129.33,42.16C133.86,42.55 138.02,44.79 140.84,48.36C142.79,50.82 143.84,54.35 145.96,61.4L147.09,65.18Z"
+        android:fillColor="#00AB47"/>
+    <path
+        android:pathData="M222.58,377.9C217.67,383.38 215.21,386.12 212.4,387.52C208.33,389.55 203.61,389.81 199.35,388.23C196.41,387.14 193.67,384.68 188.19,379.77L185.25,377.13C179.77,372.22 177.03,369.76 175.63,366.95C173.6,362.88 173.34,358.16 174.92,353.9C176.01,350.96 178.47,348.22 183.38,342.74L186.02,339.8C190.93,334.32 193.39,331.58 196.2,330.18C200.27,328.15 204.99,327.89 209.25,329.47C212.19,330.56 214.93,333.02 220.41,337.93L223.35,340.57C228.83,345.48 231.57,347.94 232.97,350.75C235,354.82 235.26,359.54 233.68,363.8C232.59,366.74 230.13,369.48 225.22,374.96L222.58,377.9Z"
+        android:fillColor="#FFB900"/>
+    <path
+        android:pathData="M341,204.85C338.84,202.27 337.54,198.95 337.54,195.31C337.54,187.12 344.14,180.49 352.29,180.49C355.98,180.49 359.35,181.85 361.93,184.1C364.51,181.85 367.87,180.49 371.55,180.49C379.67,180.49 386.26,187.13 386.26,195.31C386.26,198.94 384.96,202.27 382.81,204.85C384.96,207.43 386.26,210.75 386.26,214.39C386.26,222.58 379.67,229.21 371.55,229.21C367.87,229.21 364.51,227.85 361.93,225.6C359.34,227.85 355.97,229.21 352.29,229.21C344.15,229.21 337.54,222.57 337.54,214.39C337.54,210.76 338.84,207.43 341,204.85Z"
+        android:fillColor="#00AB47"/>
+    <path
+        android:pathData="M210.98,29.57C221.73,24.9 232.63,35.81 227.97,46.56L227.2,48.34C225.77,51.62 225.77,55.35 227.2,58.63L227.97,60.41C232.64,71.16 221.73,82.06 210.98,77.4L209.2,76.63C205.92,75.2 202.19,75.2 198.91,76.63L197.13,77.4C186.38,82.07 175.48,71.16 180.14,60.41L180.91,58.63C182.34,55.35 182.34,51.62 180.91,48.34L180.14,46.56C175.47,35.81 186.38,24.91 197.13,29.57L198.91,30.34C202.19,31.77 205.92,31.77 209.2,30.34L210.98,29.57Z"
+        android:fillColor="#4285F4"/>
+    <path
+        android:pathData="M112.23,310.56C117.35,305.61 125.49,305.61 130.6,310.56C132.17,312.08 134.08,313.18 136.18,313.77C143.04,315.71 147.11,322.74 145.37,329.63C144.84,331.74 144.84,333.95 145.37,336.06C147.11,342.95 143.04,349.98 136.18,351.92C134.08,352.51 132.16,353.62 130.6,355.13C125.48,360.08 117.34,360.08 112.23,355.13C110.66,353.61 108.75,352.51 106.65,351.92C99.79,349.98 95.72,342.95 97.46,336.06C97.99,333.95 97.99,331.74 97.46,329.63C95.72,322.74 99.79,315.71 106.65,313.77C108.75,313.18 110.67,312.07 112.23,310.56Z"
+        android:fillColor="#00AB47"/>
+    <path
+        android:pathData="M371.12,285.88C371.35,286.8 371.47,287.26 371.52,287.66C371.92,290.76 370.14,293.73 367.21,294.85C366.84,294.99 366.38,295.11 365.46,295.34L334.88,303C333.96,303.23 333.5,303.35 333.1,303.4C330,303.8 327.03,302.02 325.91,299.09C325.77,298.72 325.65,298.26 325.42,297.34L321.59,282.05C318.43,269.43 326.09,256.64 338.71,253.48C351.33,250.32 364.12,257.98 367.28,270.6L371.11,285.89L371.12,285.88Z"
+        android:fillColor="#4285F4"/>
+    <path
+        android:pathData="M70.59,304.57C69.85,305.15 69.47,305.45 69.13,305.66C66.46,307.29 63.02,306.87 60.81,304.66C60.53,304.38 60.23,304 59.65,303.26L40.18,278.47C39.6,277.73 39.3,277.35 39.09,277.01C37.46,274.34 37.88,270.9 40.09,268.69C40.37,268.41 40.75,268.11 41.49,267.53L53.89,257.8C64.12,249.77 78.93,251.55 86.96,261.78C94.99,272.01 93.21,286.82 82.98,294.85L70.58,304.58L70.59,304.57Z"
+        android:fillColor="#4285F4"/>
+    <path
+        android:pathData="M313.19,71.34C313.19,85.75 301.51,97.44 287.09,97.44C272.67,97.44 260.99,85.76 260.99,71.34C260.99,56.93 272.67,45.24 287.09,45.24C301.5,45.24 313.19,56.92 313.19,71.34Z"
+        android:fillColor="#EA4335"/>
+    <path
+        android:pathData="M69.28,183.38C67.16,181.26 62.32,182.31 56.49,185.67C54.74,179.16 52.06,175 49.06,175C46.06,175 43.38,179.16 41.63,185.67C35.79,182.31 30.96,181.26 28.84,183.38C26.72,185.5 27.77,190.34 31.13,196.18C24.62,197.93 20.46,200.61 20.46,203.61C20.46,206.61 24.62,209.29 31.13,211.04C27.77,216.88 26.72,221.71 28.84,223.84C30.96,225.96 35.8,224.91 41.64,221.55C43.39,228.06 46.07,232.22 49.07,232.22C52.07,232.22 54.75,228.06 56.5,221.55C62.34,224.92 67.17,225.97 69.3,223.84C71.42,221.72 70.37,216.88 67.01,211.04C73.52,209.29 77.68,206.61 77.68,203.61C77.68,200.61 73.52,197.93 67.01,196.18C70.37,190.34 71.42,185.51 69.3,183.39L69.28,183.38Z"
+        android:fillColor="#FFB900"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M284.91,311.14C286.75,308.06 291.22,308.06 293.06,311.14L295.13,314.6C296.21,316.4 298.33,317.28 300.36,316.77L304.28,315.79C307.76,314.92 310.92,318.07 310.04,321.55L309.06,325.47C308.55,327.5 309.43,329.62 311.23,330.7L314.69,332.77C317.77,334.61 317.77,339.08 314.69,340.92L311.23,342.99C309.43,344.07 308.55,346.19 309.06,348.22L310.04,352.14C310.91,355.62 307.76,358.78 304.28,357.9L300.36,356.92C298.33,356.41 296.21,357.29 295.13,359.09L293.06,362.55C291.22,365.63 286.75,365.63 284.91,362.55L282.84,359.09C281.76,357.29 279.64,356.41 277.61,356.92L273.69,357.9C270.21,358.77 267.05,355.62 267.93,352.14L268.91,348.22C269.42,346.19 268.54,344.07 266.74,342.99L263.28,340.92C260.2,339.08 260.2,334.61 263.28,332.77L266.74,330.7C268.54,329.62 269.42,327.5 268.91,325.47L267.93,321.55C267.06,318.07 270.21,314.91 273.69,315.79L277.61,316.77C279.64,317.28 281.76,316.4 282.84,314.6L284.91,311.14Z"
+        android:fillColor="#EA4335"/>
+    <path
+        android:pathData="M325.48,106.56C333.84,98.2 347.38,98.2 355.74,106.56C364.1,114.92 364.1,128.46 355.74,136.82L348.76,143.8C340.4,152.16 326.86,152.16 318.5,143.8C310.14,135.44 310.14,121.9 318.5,113.54L325.48,106.56Z"
+        android:fillColor="#FFB900"/>
+    <path
+        android:pathData="M62.52,107.52C73.44,103.01 85.95,108.22 90.46,119.14C94.97,130.06 89.76,142.57 78.84,147.08L69.71,150.85C58.79,155.36 46.28,150.15 41.77,139.23C37.26,128.31 42.47,115.8 53.39,111.29L62.52,107.52Z"
+        android:fillColor="#EA4335"/>
+  </group>
+</vector>
diff --git a/res/layout/preference_spinner.xml b/res/drawable/preference_circular_icons_plus_item_background.xml
similarity index 62%
rename from res/layout/preference_spinner.xml
rename to res/drawable/preference_circular_icons_plus_item_background.xml
index 4129303..faaa1fd 100644
--- a/res/layout/preference_spinner.xml
+++ b/res/drawable/preference_circular_icons_plus_item_background.xml
@@ -1,5 +1,5 @@
 <!--
-  ~ Copyright (C) 2023 The Android Open Source Project
+  ~ Copyright (C) 2024 The Android Open Source Project
   ~
   ~ Licensed under the Apache License, Version 2.0 (the "License");
   ~ you may not use this file except in compliance with the License.
@@ -14,11 +14,12 @@
   ~ limitations under the License.
   -->
 
-<Spinner
+<shape
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/spinner"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:layout_marginStart="24dp"
-    android:layout_marginTop="8dp"
-    android:theme="@style/Widget.PopupWindow.Settings" />
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
+    android:shape="oval">
+    <size
+        android:width="@dimen/zen_mode_circular_icon_diameter"
+        android:height="@dimen/zen_mode_circular_icon_diameter" />
+    <solid android:color="?androidprv:attr/materialColorSecondaryContainer" />
+</shape>
\ No newline at end of file
diff --git a/res/drawable/suggestion_icon_background.xml b/res/drawable/suggestion_icon_background.xml
new file mode 100644
index 0000000..a6dee48
--- /dev/null
+++ b/res/drawable/suggestion_icon_background.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2024 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT 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="oval">
+    <size
+        android:width="40dp"
+        android:height="40dp" />
+    <solid android:color="@color/settingslib_materialColorSecondaryContainer" />
+</shape>
\ No newline at end of file
diff --git a/res/layout-land/bluetooth_audio_streams_qr_code.xml b/res/layout-land/bluetooth_audio_streams_qr_code.xml
new file mode 100644
index 0000000..432d75e
--- /dev/null
+++ b/res/layout-land/bluetooth_audio_streams_qr_code.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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.core.widget.NestedScrollView
+    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="match_parent"
+            android:orientation="horizontal"
+            android:padding="25dp"
+            android:gravity="center">
+
+            <TextView
+                android:id="@android:id/summary"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:gravity="start"
+                android:textSize="15sp"
+                android:textColor="?android:attr/textColorPrimary"/>
+
+            <LinearLayout
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                android:layout_weight="1"
+                android:gravity="center">
+
+                <ImageView
+                    android:id="@+id/qrcode_view"
+                    android:layout_width="@dimen/qrcode_size"
+                    android:layout_height="@dimen/qrcode_size"
+                    android:contentDescription="@string/qr_code_content_description"
+                    android:focusable="true" />
+
+                <TextView
+                    android:id="@+id/password"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:textSize="15sp"
+                    android:textColor="?android:attr/textColorPrimary"
+                    android:gravity="center" />
+            </LinearLayout>
+    </LinearLayout>
+</androidx.core.widget.NestedScrollView>
\ No newline at end of file
diff --git a/res/layout-land/mode_interstitial_layout.xml b/res/layout-land/mode_interstitial_layout.xml
new file mode 100644
index 0000000..597196c
--- /dev/null
+++ b/res/layout-land/mode_interstitial_layout.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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
+    android:id="@+id/interstitial_page"
+    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:fitsSystemWindows="true"
+    android:transitionGroup="true"
+    android:orientation="vertical">
+
+    <Toolbar
+        android:id="@+id/action_bar"
+        style="?android:attr/actionBarStyle"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:theme="?android:attr/actionBarTheme"
+        android:elevation="0dp"
+        android:background="@android:color/transparent"/>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:paddingTop="12dp"
+        android:paddingBottom="24dp"
+        android:paddingHorizontal="24dp"
+        android:clipChildren="true">
+
+        <ScrollView
+            android:layout_width="0dp"
+            android:layout_height="0dp"
+            app:layout_constrainedHeight="true"
+            app:layout_constraintBottom_toTopOf="@+id/enable_mode_button"
+            app:layout_constraintEnd_toStartOf="@+id/guideline"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                android:paddingEnd="12dp"
+                android:paddingStart="12dp">
+
+                <TextView
+                    android:id="@+id/mode_name_title"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:clickable="false"
+                    android:paddingVertical="12dp"
+                    android:textSize="36sp"
+                    android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Title" />
+
+                <TextView
+                    android:id="@+id/mode_name_subtitle"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:clickable="false"
+                    android:paddingBottom="12dp"
+                    android:text="@string/zen_mode_setup_page_summary"
+                    android:textSize="18sp"
+                    android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Subhead" />
+
+            </LinearLayout>
+
+        </ScrollView>
+
+        <Button
+            android:id="@+id/enable_mode_button"
+            style="@style/ActionPrimaryButton"
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toStartOf="@+id/guideline"
+            android:paddingEnd="12dp" />
+
+        <!-- guideline to have text/button side & image side take up half the page each -->
+        <androidx.constraintlayout.widget.Guideline
+            android:id="@+id/guideline"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:orientation="vertical"
+            app:layout_constraintGuide_percent="0.5" />
+
+        <FrameLayout
+            android:id="@+id/image_frame"
+            android:layout_height="0dp"
+            android:layout_width="0dp"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toEndOf="@+id/guideline"
+            app:layout_constraintEnd_toEndOf="parent"
+            android:paddingHorizontal="12dp">
+
+            <ImageView
+                android:id="@+id/image"
+                android:clickable="false"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:adjustViewBounds="true"
+                android:scaleType="fitCenter"
+                android:layout_gravity="center" />
+
+        </FrameLayout>
+
+ />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout-land/qrcode_scanner_fragment.xml b/res/layout-land/qrcode_scanner_fragment.xml
new file mode 100644
index 0000000..daad35d
--- /dev/null
+++ b/res/layout-land/qrcode_scanner_fragment.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2022 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT 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.core.widget.NestedScrollView
+    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="match_parent"
+        android:orientation="horizontal"
+        android:paddingTop="@dimen/audio_streams_qrcode_scanner_fragment_padding">
+
+        <TextView
+            android:id="@android:id/summary"
+            style="@style/QrCodeScanner"
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="1"
+            android:gravity="center" />
+
+        <LinearLayout
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"
+            android:layout_weight="1"
+            android:gravity="center">
+            <TextureView
+                android:id="@+id/preview_view"
+                android:layout_width="@dimen/audio_streams_qrcode_preview_size"
+                android:layout_height="@dimen/audio_streams_qrcode_preview_size"
+                android:contentDescription="@string/audio_streams_qr_code_scanner_label"
+                android:focusable="true" />
+            <TextView
+                android:id="@+id/error_message"
+                style="@style/TextAppearance.ErrorText"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:visibility="gone"/>
+        </LinearLayout>
+
+    </LinearLayout>
+
+</androidx.core.widget.NestedScrollView>
diff --git a/res/layout-sw600dp/mode_interstitial_layout.xml b/res/layout-sw600dp/mode_interstitial_layout.xml
new file mode 100644
index 0000000..595f353
--- /dev/null
+++ b/res/layout-sw600dp/mode_interstitial_layout.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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="match_parent"
+    android:paddingHorizontal="80dp" >
+
+    <include
+        layout="@layout/mode_interstitial_layout_base"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_gravity="center_horizontal" />
+</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/accessibility_edit_shortcut.xml b/res/layout/accessibility_edit_shortcut.xml
deleted file mode 100644
index d0c925e..0000000
--- a/res/layout/accessibility_edit_shortcut.xml
+++ /dev/null
@@ -1,46 +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
-  -->
-
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:clipChildren="true">
-
-    <ScrollView
-        android:id="@+id/container_layout"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:scrollbarStyle="outsideOverlay">
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="vertical"
-            android:padding="24dp">
-
-            <include android:id="@+id/software_shortcut"
-                layout="@layout/accessibility_edit_shortcut_component"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginBottom="32dp" />
-
-            <include android:id="@+id/hardware_shortcut"
-                layout="@layout/accessibility_edit_shortcut_component" />
-
-        </LinearLayout>
-    </ScrollView>
-</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/accessibility_edit_shortcut_component.xml b/res/layout/accessibility_edit_shortcut_component.xml
deleted file mode 100644
index d54fff6..0000000
--- a/res/layout/accessibility_edit_shortcut_component.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright (C) 2019 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License
-  -->
-
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:orientation="vertical">
-
-    <LinearLayout
-        android:id="@+id/container"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:background="?android:attr/selectableItemBackground"
-        android:orientation="vertical">
-
-        <CheckBox
-            android:id="@+id/checkbox"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:minHeight="48dp"
-            android:background="@null"
-            android:clickable="false"
-            android:focusable="false"
-            android:focusableInTouchMode="false"
-            android:paddingStart="12dp"
-            android:saveEnabled="false"
-            android:textColor="?android:attr/textColorAlertDialogListItem"
-            android:textSize="16sp" />
-
-        <TextView
-            android:id="@+id/summary"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:paddingBottom="8dp"
-            android:paddingStart="44dp"
-            android:textAppearance="?android:attr/textAppearanceListItemSecondary"
-            android:textColor="?android:attr/textColorSecondary" />
-
-    </LinearLayout>
-
-    <include layout="@layout/accessibility_lottie_animation_view"
-             android:layout_width="match_parent"
-             android:layout_height="wrap_content"
-             android:layout_marginStart="44dp"/>
-
-</LinearLayout>
diff --git a/res/layout/accessibility_edit_shortcut_magnification.xml b/res/layout/accessibility_edit_shortcut_magnification.xml
deleted file mode 100644
index 0f30a01..0000000
--- a/res/layout/accessibility_edit_shortcut_magnification.xml
+++ /dev/null
@@ -1,91 +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
-  -->
-
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:clipChildren="true">
-
-    <ScrollView
-        android:id="@+id/container_layout"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:scrollbarStyle="outsideOverlay">
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="vertical"
-            android:padding="24dp">
-
-            <include
-                android:id="@+id/software_shortcut"
-                layout="@layout/accessibility_edit_shortcut_component"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginBottom="32dp" />
-
-            <include
-                android:id="@+id/hardware_shortcut"
-                layout="@layout/accessibility_edit_shortcut_component"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginBottom="32dp" />
-
-            <include
-                android:id="@+id/two_finger_triple_tap_shortcut"
-                layout="@layout/accessibility_edit_shortcut_component"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginBottom="32dp"
-                android:visibility="gone" />
-
-            <LinearLayout
-                android:id="@+id/advanced_shortcut"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:minHeight="?android:attr/listPreferredItemHeightSmall"
-                android:orientation="horizontal">
-
-                <ImageView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="center"
-                    android:contentDescription="@null"
-                    android:scaleType="centerCrop"
-                    android:src="@drawable/ic_keyboard_arrow_down" />
-
-                <TextView
-                    android:layout_width="match_parent"
-                    android:layout_height="match_parent"
-                    android:gravity="center_vertical"
-                    android:paddingStart="12dp"
-                    android:text="@string/accessibility_shortcut_edit_dialog_title_advance"
-                    android:textAppearance="?android:attr/textAppearanceListItem"
-                    android:textColor="?android:attr/colorAccent"
-                    android:textSize="16sp" />
-
-            </LinearLayout>
-
-            <include
-                android:id="@+id/triple_tap_shortcut"
-                layout="@layout/accessibility_edit_shortcut_component"
-                android:visibility="gone" />
-
-        </LinearLayout>
-    </ScrollView>
-</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/advanced_bt_entity_header.xml b/res/layout/advanced_bt_entity_header.xml
index 833f6bd..37ae843 100644
--- a/res/layout/advanced_bt_entity_header.xml
+++ b/res/layout/advanced_bt_entity_header.xml
@@ -17,6 +17,7 @@
 
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/entity_header"
     style="@style/EntityHeader"
     android:layout_width="match_parent"
@@ -25,15 +26,41 @@
     android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
     android:orientation="vertical">
 
-    <TextView
-        android:id="@+id/entity_header_title"
-        style="@style/TextAppearance.EntityHeaderTitle"
-        android:layout_width="wrap_content"
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_gravity="center_horizontal"
-        android:gravity="center"
-        android:ellipsize="marquee"
-        android:textDirection="locale"/>
+        android:gravity="center">
+
+        <TextView
+            android:id="@+id/entity_header_title"
+            style="@style/TextAppearance.EntityHeaderTitle"
+            android:layout_height="wrap_content"
+            android:layout_width="wrap_content"
+            android:ellipsize="marquee"
+            android:textDirection="locale"
+            android:layout_marginStart="48dp"
+            android:layout_marginEnd="48dp"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constrainedWidth="true" />
+        <ImageButton
+            android:id="@+id/rename_button"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:minWidth="@dimen/min_tap_target_size"
+            android:minHeight="@dimen/min_tap_target_size"
+            android:background="@android:color/transparent"
+            android:src="@drawable/ic_mode_edit"
+            android:contentDescription="@string/bluetooth_rename_button"
+            android:tint="@color/settingslib_materialColorOnSurface"
+            app:layout_constraintStart_toEndOf="@+id/entity_header_title"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            android:visibility="gone" />
+    </androidx.constraintlayout.widget.ConstraintLayout>
 
     <TextView
         android:id="@+id/entity_header_summary"
diff --git a/res/layout/advanced_bt_entity_sub.xml b/res/layout/advanced_bt_entity_sub.xml
index d29c34f..dd8e43a 100644
--- a/res/layout/advanced_bt_entity_sub.xml
+++ b/res/layout/advanced_bt_entity_sub.xml
@@ -17,21 +17,43 @@
 
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="0dp"
     android:layout_height="wrap_content"
     android:layout_weight="1"
     android:focusable="true"
     android:orientation="vertical">
 
-    <ImageView
-        android:id="@+id/header_icon"
-        android:layout_width="72dp"
-        android:layout_height="72dp"
-        android:layout_gravity="center_horizontal"
-        android:antialias="true"
-        android:background="@drawable/circle_outline"
-        android:padding="8dp"
-        android:scaleType="fitCenter"/>
+    <FrameLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_horizontal">
+        <ImageView
+            android:id="@+id/header_icon"
+            android:layout_width="72dp"
+            android:layout_height="72dp"
+            android:layout_gravity="center"
+            android:antialias="true"
+            android:background="@drawable/circle_outline"
+            android:padding="8dp"
+            android:scaleType="fitCenter" />
+
+        <com.google.android.material.progressindicator.CircularProgressIndicator
+            android:id="@+id/battery_ring"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:indeterminate="false"
+            app:trackColor="@android:color/transparent"
+            app:indicatorColor="@color/settingslib_materialColorPrimary"
+            app:trackThickness="4dp"
+            app:indicatorSize="76dp"
+            app:indicatorInset="0dp"
+            app:trackCornerRadius="2dp"
+            android:max="100"
+            android:visibility="gone" />
+
+    </FrameLayout>
 
     <TextView
         android:id="@+id/header_title"
diff --git a/res/layout/audio_sharing_device_item.xml b/res/layout/audio_sharing_device_item.xml
index 04ecdd7..c1720e8 100644
--- a/res/layout/audio_sharing_device_item.xml
+++ b/res/layout/audio_sharing_device_item.xml
@@ -17,6 +17,7 @@
 
 <FrameLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:orientation="vertical">
@@ -27,6 +28,7 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginTop="4dp"
+        android:textColor="?androidprv:attr/textColorOnAccent"
         android:background="@drawable/audio_sharing_rounded_bg_ripple"
         android:textAlignment="center" />
 
diff --git a/res/layout/audio_sharing_password_dialog.xml b/res/layout/audio_sharing_password_dialog.xml
index f1a78bc..2bdf505 100644
--- a/res/layout/audio_sharing_password_dialog.xml
+++ b/res/layout/audio_sharing_password_dialog.xml
@@ -53,8 +53,8 @@
 
             <CheckBox
                 android:id="@+id/audio_sharing_stream_password_checkbox"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
+                android:layout_width="48dp"
+                android:layout_height="48dp"
                 android:layout_marginTop="24dp"
                 android:layout_marginEnd="20dp" />
         </LinearLayout>
diff --git a/res/layout/battery_tips_card.xml b/res/layout/battery_tips_card.xml
deleted file mode 100644
index 18c326f..0000000
--- a/res/layout/battery_tips_card.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:id="@+id/battery_tips_card"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:layout_marginStart="?android:attr/listPreferredItemPaddingStart"
-    android:layout_marginEnd="?android:attr/listPreferredItemPaddingEnd"
-    android:background="@drawable/battery_tips_all_rounded_bg_ripple"
-    android:orientation="vertical"
-    android:padding="20dp">
-
-    <ImageView
-        android:id="@+id/icon"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_vertical|start"
-        android:contentDescription="@string/battery_usage_anomaly_content_description"
-        android:src="@drawable/ic_battery_tips_lightbulb" />
-
-    <TextView
-        android:id="@+id/title"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="8dp"
-        android:textAlignment="viewStart"
-        android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
-        android:textColor="@color/settingslib_materialColorOnSurface" />
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="8dp"
-        android:gravity="end"
-        android:orientation="horizontal">
-
-        <com.google.android.material.button.MaterialButton
-            android:id="@+id/dismiss_button"
-            style="@style/Widget.Material3.Button.TextButton"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="end|center_vertical"
-            android:layout_marginEnd="8dp"
-            android:paddingHorizontal="16dp"
-            android:text="@string/battery_tips_card_dismiss_button"
-            android:textAppearance="@style/TextAppearance.MaterialComponents.Subtitle2"
-            android:textColor="@color/color_accent_selector" />
-
-        <com.google.android.material.button.MaterialButton
-            android:id="@+id/main_button"
-            style="@style/Widget.Material3.Button"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="end|center_vertical"
-            android:paddingHorizontal="16dp"
-            android:text="@string/battery_tips_card_action_button"
-            android:textAppearance="@style/TextAppearance.MaterialComponents.Subtitle2"
-            android:textColor="@color/settingslib_materialColorOnPrimary"
-            app:backgroundTint="@color/color_accent_selector" />
-    </LinearLayout>
-</LinearLayout>
\ No newline at end of file
diff --git a/res/xml/bluetooth_audio_streams_qr_code.xml b/res/layout/bluetooth_audio_streams_qr_code.xml
similarity index 61%
rename from res/xml/bluetooth_audio_streams_qr_code.xml
rename to res/layout/bluetooth_audio_streams_qr_code.xml
index 5ec5505..ab61f50 100644
--- a/res/xml/bluetooth_audio_streams_qr_code.xml
+++ b/res/layout/bluetooth_audio_streams_qr_code.xml
@@ -15,7 +15,7 @@
   ~ limitations under the License.
   -->
 
-<LinearLayout
+<androidx.core.widget.NestedScrollView
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
@@ -23,10 +23,9 @@
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:clipToPadding="false"
         android:paddingLeft="25dp"
         android:paddingRight="25dp"
-        android:gravity="center_horizontal"
+        android:gravity="center"
         android:orientation="vertical">
 
         <TextView
@@ -35,28 +34,24 @@
             android:layout_height="wrap_content"
             android:gravity="start"
             android:textSize="15sp"
-            android:textColor="?android:attr/textColorPrimary"/>
+            android:textColor="?android:attr/textColorPrimary" />
 
-        <LinearLayout
-            android:layout_width="match_parent"
+        <ImageView
+            android:id="@+id/qrcode_view"
+            android:layout_width="@dimen/qrcode_size"
+            android:layout_height="@dimen/qrcode_size"
+            android:contentDescription="@string/qr_code_content_description"
+            android:focusable="true"
+            android:paddingTop="70dp"/>
+
+        <TextView
+            android:id="@+id/password"
+            android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:gravity="center"
-            android:orientation="vertical"
-            android:paddingTop="70dp">
-
-            <ImageView
-                android:id="@+id/qrcode_view"
-                android:layout_width="@dimen/qrcode_size"
-                android:layout_height="@dimen/qrcode_size"/>
-
-            <TextView
-                android:id="@+id/password"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:textSize="15sp"
-                android:textColor="?android:attr/textColorPrimary"/>
-        </LinearLayout>
+            android:textSize="15sp"
+            android:textColor="?android:attr/textColorPrimary"
+            android:gravity="center" />
 
     </LinearLayout>
 
-</LinearLayout>
\ No newline at end of file
+</androidx.core.widget.NestedScrollView>
\ No newline at end of file
diff --git a/res/layout/bluetooth_find_broadcast_password_dialog.xml b/res/layout/bluetooth_find_broadcast_password_dialog.xml
index 938f103..d758f61 100644
--- a/res/layout/bluetooth_find_broadcast_password_dialog.xml
+++ b/res/layout/bluetooth_find_broadcast_password_dialog.xml
@@ -26,7 +26,8 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:minHeight="48dp"
-        android:textAlignment="viewStart"/>
+        android:textAlignment="viewStart"
+        android:textColor="?android:attr/textColorPrimary"/>
     <EditText
         android:id="@+id/broadcast_edit_text"
         android:layout_width="match_parent"
@@ -34,11 +35,4 @@
         android:maxLength="16"
         android:minHeight="48dp"
         android:textAlignment="viewStart"/>
-    <TextView
-        android:id="@+id/broadcast_error_message"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="6dp"
-        style="@style/TextAppearance.ErrorText"
-        android:visibility="invisible"/>
 </LinearLayout>
\ No newline at end of file
diff --git a/res/layout/bluetooth_key_missing.xml b/res/layout/bluetooth_key_missing.xml
new file mode 100644
index 0000000..b9f8d86
--- /dev/null
+++ b/res/layout/bluetooth_key_missing.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+~ Copyright (C) 2024 The Android Open Source Project
+~
+~ Licensed under the Apache License, Version 2.0 (the "License");
+~ you may not use this file except in compliance with the License.
+~ You may obtain a copy of the License at
+~
+~      http://www.apache.org/licenses/LICENSE-2.0
+~
+~ Unless required by applicable law or agreed to in writing, software
+~ distributed under the License is distributed on an "AS IS" BASIS,
+~ WITHOUT 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:paddingTop="@dimen/bluetooth_dialog_padding_top">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:paddingStart="24dp"
+        android:paddingEnd="24dp">
+
+        <ImageView
+            android:id="@id/preview_placeholder"
+            android:layout_width="32dp"
+            android:layout_height="32dp"
+            android:layout_gravity="center"
+            android:importantForAccessibility="no"
+            android:src="@drawable/ic_warning_24dp"
+            android:tint="@color/settingslib_materialColorOutline" />
+
+        <TextView
+            android:id="@+id/bluetooth_key_missing_title"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="20dp"
+            android:gravity="center"
+            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Title" />
+
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="20dp"
+            android:text="@string/bluetooth_key_missing_message"
+            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1" />
+
+    </LinearLayout>
+
+
+</ScrollView>
\ No newline at end of file
diff --git a/res/layout/bluetooth_pin_confirm.xml b/res/layout/bluetooth_pin_confirm.xml
index fb3435b..9387d5d 100644
--- a/res/layout/bluetooth_pin_confirm.xml
+++ b/res/layout/bluetooth_pin_confirm.xml
@@ -20,13 +20,13 @@
 <ScrollView
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_height="match_parent"
-    android:layout_width="match_parent">
+    android:layout_width="match_parent"
+    android:paddingTop="@dimen/bluetooth_dialog_padding_top">
 
     <LinearLayout
         android:paddingStart="16dip"
         android:layout_height="match_parent"
         android:layout_width="match_parent"
-        android:layout_marginTop="@dimen/bluetooth_dialog_padding_top"
         android:orientation="vertical">
 
         <TextView
@@ -85,7 +85,7 @@
             android:orientation="horizontal">
             <LinearLayout
                 android:layout_height="wrap_content"
-                android:layout_width="wrap_content"
+                android:layout_width="0dp"
                 android:layout_weight="1"
                 android:layout_marginEnd="10dp"
                 android:orientation="vertical">
@@ -105,7 +105,6 @@
                 android:id="@+id/phonebook_sharing_message_confirm_pin"
                 android:layout_width="wrap_content"
                 android:layout_height="48dp"
-                android:layout_weight="0"
                 android:gravity="center_vertical"
                 android:contentDescription="@string/bluetooth_pairing_phonebook_toggle_text"
                 android:switchMinWidth="48dp" />
diff --git a/res/layout/dialog_audio_sharing_loading_state.xml b/res/layout/dialog_audio_sharing_loading_state.xml
new file mode 100644
index 0000000..024692f
--- /dev/null
+++ b/res/layout/dialog_audio_sharing_loading_state.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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:padding="?android:dialogPreferredPadding">
+
+    <ProgressBar
+        android:id="@+id/progress"
+        style="?android:attr/progressBarStyleSmallTitle"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_vertical"
+        android:minWidth="32dp" />
+
+    <TextView
+        android:id="@+id/message"
+        style="@style/DeviceAudioSharingText"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:textAlignment="viewStart"
+        android:paddingStart="16dp"
+        android:layout_gravity="center_vertical" />
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/dialog_custom_body_audio_sharing.xml b/res/layout/dialog_custom_body_audio_sharing.xml
index 388a4941..ba7f643 100644
--- a/res/layout/dialog_custom_body_audio_sharing.xml
+++ b/res/layout/dialog_custom_body_audio_sharing.xml
@@ -15,57 +15,67 @@
   ~ limitations under the License.
   -->
 
-<LinearLayout
+<ScrollView
     xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:orientation="vertical"
-    android:paddingHorizontal="?android:dialogPreferredPadding"
-    android:paddingBottom="?android:dialogPreferredPadding">
+    android:scrollbars="none">
 
-    <TextView
-        android:id="@+id/description_text"
-        style="@style/DeviceAudioSharingText"
+    <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_gravity="center"
-        android:paddingBottom="24dp"
-        android:visibility="gone" />
+        android:orientation="vertical"
+        android:paddingBottom="?android:dialogPreferredPadding"
+        android:paddingHorizontal="?android:dialogPreferredPadding">
 
-    <ImageView
-        android:id="@+id/description_image"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center"
-        android:contentDescription="@null"
-        android:visibility="gone" />
+        <TextView
+            android:id="@+id/description_text"
+            style="@style/DeviceAudioSharingText"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:paddingBottom="24dp"
+            android:visibility="gone" />
 
-    <androidx.recyclerview.widget.RecyclerView
-        android:id="@+id/device_btn_list"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center"
-        android:nestedScrollingEnabled="false"
-        android:overScrollMode="never"
-        android:visibility="gone" />
+        <ImageView
+            android:id="@+id/description_image"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:contentDescription="@null"
+            android:paddingBottom="24dp"
+            android:visibility="gone" />
 
-    <Button
-        android:id="@+id/positive_btn"
-        style="@style/SettingsLibActionButton"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center"
-        android:layout_marginTop="4dp"
-        android:background="@drawable/audio_sharing_rounded_bg_ripple"
-        android:visibility="gone" />
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/device_btn_list"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:nestedScrollingEnabled="false"
+            android:overScrollMode="never"
+            android:visibility="gone" />
 
-    <Button
-        android:id="@+id/negative_btn"
-        style="@style/SettingsLibActionButton"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center"
-        android:layout_marginTop="4dp"
-        android:background="@drawable/audio_sharing_rounded_bg_ripple"
-        android:visibility="gone" />
-</LinearLayout>
\ No newline at end of file
+        <Button
+            android:id="@+id/positive_btn"
+            style="@style/SettingsLibActionButton"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:layout_marginTop="4dp"
+            android:textColor="?androidprv:attr/textColorOnAccent"
+            android:background="@drawable/audio_sharing_rounded_bg_ripple"
+            android:visibility="gone" />
+
+        <Button
+            android:id="@+id/negative_btn"
+            style="@style/SettingsLibActionButton"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:layout_marginTop="4dp"
+            android:textColor="?androidprv:attr/textColorOnAccent"
+            android:background="@drawable/audio_sharing_rounded_bg_ripple"
+            android:visibility="gone" />
+    </LinearLayout>
+</ScrollView>
\ No newline at end of file
diff --git a/res/layout/dialog_custom_title_audio_sharing.xml b/res/layout/dialog_custom_title_audio_sharing.xml
index 86e0010..692cbc7 100644
--- a/res/layout/dialog_custom_title_audio_sharing.xml
+++ b/res/layout/dialog_custom_title_audio_sharing.xml
@@ -35,7 +35,8 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_gravity="center"
-        android:maxLines="2"
+        android:maxLines="3"
+        android:ellipsize="end"
         android:paddingTop="14dp"
         android:textAlignment="center"
         android:textSize="24sp" />
diff --git a/res/layout/dialog_edittext_dropdown.xml b/res/layout/dialog_edittext_dropdown.xml
deleted file mode 100644
index 0e77968..0000000
--- a/res/layout/dialog_edittext_dropdown.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2022 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:orientation="horizontal"
-    android:paddingStart="20dp"
-    android:paddingEnd="20dp"
-    android:paddingTop="16dp"
-    android:paddingBottom="12dp">
-
-    <EditText
-        android:id="@+id/edittext"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_weight="1"
-        android:inputType="textCapSentences"
-        android:minHeight="@dimen/min_tap_target_size"
-        android:maxLength="50"
-        android:singleLine="true" />
-
-    <Spinner
-        android:id="@+id/spinner"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:minHeight="@dimen/min_tap_target_size" />
-</LinearLayout>
diff --git a/res/layout/enable_accessibility_service_dialog_content.xml b/res/layout/enable_accessibility_service_dialog_content.xml
deleted file mode 100644
index 96989bb..0000000
--- a/res/layout/enable_accessibility_service_dialog_content.xml
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<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:accessibilityDataSensitive="yes"
-        style="@style/AccessibilityDialog">
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="vertical"
-            android:gravity="center_horizontal"
-            android:paddingLeft="24dp"
-            android:paddingRight="24dp">
-
-            <ImageView
-                android:id="@+id/permissionDialog_icon"
-                style="@style/AccessibilityDialogServiceIcon" />
-
-            <TextView
-                android:id="@+id/permissionDialog_title"
-                style="@style/AccessibilityDialogTitle" />
-
-            <TextView
-                android:id="@+id/permissionDialog_description"
-                android:text="@string/accessibility_service_warning_description"
-                style="@style/AccessibilityDialogDescription" />
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:orientation="horizontal"
-                android:layout_marginBottom="24dp" >
-
-                <ImageView
-                    android:id="@+id/controlScreen_icon"
-                    android:src="@drawable/ic_visibility_18dp"
-                    style="@style/AccessibilityDialogIcon" />
-
-                <LinearLayout
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:orientation="vertical" >
-
-                    <TextView
-                        android:id="@+id/controlScreen_title"
-                        android:text="@string/accessibility_service_screen_control_title"
-                        style="@style/AccessibilityDialogPermissionTitle" />
-
-                    <TextView
-                        android:id="@+id/controlScreen_description"
-                        android:text="@string/accessibility_service_screen_control_description"
-                        style="@style/AccessibilityDialogPermissionDescription" />
-
-                </LinearLayout>
-
-            </LinearLayout>
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:orientation="horizontal"
-                android:layout_marginBottom="24dp" >
-
-                <ImageView
-                    android:id="@+id/performAction_icon"
-                    android:src="@drawable/ic_pan_tool_18dp"
-                    style="@style/AccessibilityDialogIcon" />
-
-                <LinearLayout
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:orientation="vertical" >
-
-                    <TextView
-                        android:id="@+id/performAction_title"
-                        android:text="@string/accessibility_service_action_perform_title"
-                        style="@style/AccessibilityDialogPermissionTitle" />
-
-                    <TextView
-                        android:id="@+id/performAction_description"
-                        android:text="@string/accessibility_service_action_perform_description"
-                        style="@style/AccessibilityDialogPermissionDescription" />
-
-                </LinearLayout>
-
-            </LinearLayout>
-
-        </LinearLayout>
-
-        <!-- Buttons on bottom of dialog -->
-        <LinearLayout
-            style="@style/AccessibilityDialogButtonList">
-
-            <Space
-                style="@style/AccessibilityDialogButtonBarSpace"/>
-
-            <Button
-                android:id="@+id/permission_enable_allow_button"
-                android:text="@string/accessibility_dialog_button_allow"
-                style="@style/AccessibilityDialogButton" />
-
-            <Button
-                android:id="@+id/permission_enable_deny_button"
-                android:text="@string/accessibility_dialog_button_deny"
-                style="@style/AccessibilityDialogButton" />
-
-            <Button
-                android:id="@+id/permission_enable_uninstall_button"
-                android:text="@string/uninstall_text"
-                android:visibility="gone"
-                style="@style/AccessibilityDialogButton" />
-        </LinearLayout>
-    </LinearLayout>
-
-</ScrollView>
diff --git a/res/layout/general_bt_entity_header.xml b/res/layout/general_bt_entity_header.xml
new file mode 100644
index 0000000..ec15b12
--- /dev/null
+++ b/res/layout/general_bt_entity_header.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2024 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT 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:id="@+id/entity_header"
+    style="@style/EntityHeader"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:layout_centerHorizontal="true"
+    android:gravity="center_horizontal"
+    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+    android:orientation="vertical">
+
+    <ImageView
+        android:id="@+id/bt_header_icon"
+        android:importantForAccessibility="no"
+        style="@style/SettingsLibEntityHeaderIcon"/>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_horizontal"
+        android:layout_marginTop="8dp"
+        android:gravity="center">
+        <TextView
+            android:id="@+id/bt_header_device_name"
+            style="@style/TextAppearance.EntityHeaderTitle"
+            android:layout_height="wrap_content"
+            android:layout_width="wrap_content"
+            android:gravity="center"
+            android:ellipsize="marquee"
+            android:textDirection="locale"
+            android:layout_marginStart="48dp"
+            android:layout_marginEnd="48dp"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constrainedWidth="true" />
+        <ImageButton
+            android:id="@+id/rename_button"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:minWidth="@dimen/min_tap_target_size"
+            android:minHeight="@dimen/min_tap_target_size"
+            android:background="@android:color/transparent"
+            android:src="@drawable/ic_mode_edit"
+            android:contentDescription="@string/bluetooth_rename_button"
+            android:tint="@color/settingslib_materialColorOnSurface"
+            app:layout_constraintStart_toEndOf="@+id/bt_header_device_name"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent" />
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+    <TextView
+        android:id="@+id/bt_header_connection_summary"
+        style="@style/TextAppearance.EntityHeaderSummary"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="2dp"
+        android:singleLine="false"
+        android:textAlignment="center"/>
+</LinearLayout>
diff --git a/res/layout/le_audio_bt_entity_header.xml b/res/layout/le_audio_bt_entity_header.xml
index 460ae69..81911e9 100644
--- a/res/layout/le_audio_bt_entity_header.xml
+++ b/res/layout/le_audio_bt_entity_header.xml
@@ -17,6 +17,7 @@
 
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/entity_header"
     style="@style/EntityHeader"
     android:layout_width="match_parent"
@@ -27,15 +28,42 @@
     android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
     android:orientation="vertical">
 
-    <TextView
-        android:id="@+id/entity_header_title"
-        style="@style/TextAppearance.EntityHeaderTitle"
-        android:layout_width="wrap_content"
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_gravity="center_horizontal"
-        android:gravity="center"
-        android:ellipsize="marquee"
-        android:textDirection="locale"/>
+        android:gravity="center">
+        <TextView
+            android:id="@+id/entity_header_title"
+            style="@style/TextAppearance.EntityHeaderTitle"
+            android:layout_height="wrap_content"
+            android:layout_width="wrap_content"
+            android:layout_gravity="center_horizontal"
+            android:gravity="center"
+            android:ellipsize="marquee"
+            android:textDirection="locale"
+            android:layout_marginStart="48dp"
+            android:layout_marginEnd="48dp"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constrainedWidth="true" />
+        <ImageButton
+            android:id="@+id/rename_button"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:minWidth="@dimen/min_tap_target_size"
+            android:minHeight="@dimen/min_tap_target_size"
+            android:background="@android:color/transparent"
+            android:src="@drawable/ic_mode_edit"
+            android:contentDescription="@string/bluetooth_rename_button"
+            android:tint="@color/settingslib_materialColorOnSurface"
+            app:layout_constraintStart_toEndOf="@+id/entity_header_title"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            android:visibility="gone" />
+    </androidx.constraintlayout.widget.ConstraintLayout>
 
     <TextView
         android:id="@+id/entity_header_summary"
diff --git a/res/layout/mode_interstitial_layout_base.xml b/res/layout/mode_interstitial_layout_base.xml
new file mode 100644
index 0000000..2deaf9f
--- /dev/null
+++ b/res/layout/mode_interstitial_layout_base.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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
+    android:id="@+id/interstitial_page"
+    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:fitsSystemWindows="true"
+    android:transitionGroup="true"
+    android:orientation="vertical">
+
+    <Toolbar
+        android:id="@+id/action_bar"
+        style="?android:attr/actionBarStyle"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:theme="?android:attr/actionBarTheme"
+        android:elevation="0dp"
+        android:background="@android:color/transparent" />
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:paddingTop="12dp"
+        android:paddingBottom="64dp"
+        android:paddingLeft="24dp"
+        android:paddingRight="24dp"
+        android:orientation="vertical">
+
+        <!-- image goes here -->
+        <FrameLayout
+            android:id="@+id/image_frame"
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            app:layout_constraintBottom_toTopOf="@+id/mode_name_title"
+            app:layout_constraintTop_toTopOf="parent">
+
+            <ImageView
+                android:id="@+id/image"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:adjustViewBounds="true"
+                android:clickable="false"
+                android:scaleType="fitCenter"
+                android:layout_gravity="center" />
+
+        </FrameLayout>
+
+        <TextView
+            android:id="@+id/mode_name_title"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:clickable="false"
+            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Title"
+            app:layout_constraintBottom_toTopOf="@+id/mode_name_subtitle"
+            android:textSize="36sp"
+            android:paddingVertical="12dp" />
+
+        <TextView
+            android:id="@+id/mode_name_subtitle"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:clickable="false"
+            android:text="@string/zen_mode_setup_page_summary"
+            android:textSize="18sp"
+            android:paddingBottom="18dp"
+            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1"
+            app:layout_constraintBottom_toTopOf="@+id/enable_mode_button" />
+
+        <Button
+            android:id="@+id/enable_mode_button"
+            style="@style/ActionPrimaryButton"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:paddingVertical="12dp"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintVertical_bias="1" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/modes_activation_button.xml b/res/layout/modes_activation_button.xml
index e8ed824..1441844 100644
--- a/res/layout/modes_activation_button.xml
+++ b/res/layout/modes_activation_button.xml
@@ -18,7 +18,8 @@
 <FrameLayout
     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:paddingVertical="8dp">
 
     <Button
         android:id="@+id/activate_mode"
diff --git a/res/layout/modes_edit_done_button.xml b/res/layout/modes_edit_done_button.xml
new file mode 100644
index 0000000..dc1f54d
--- /dev/null
+++ b/res/layout/modes_edit_done_button.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2024 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT 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">
+
+    <Button
+        android:id="@+id/done"
+        android:text="@string/done"
+        style="@style/ActionPrimaryButton"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="end"
+        android:layout_marginEnd="20dp"
+        />
+</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/modes_edit_name.xml b/res/layout/modes_edit_name.xml
new file mode 100644
index 0000000..0b086c7
--- /dev/null
+++ b/res/layout/modes_edit_name.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2024 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT 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:paddingStart="?android:attr/listPreferredItemPaddingStart"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
+
+    <EditText
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:id="@android:id/edit"
+        android:maxLines="1"
+        android:inputType="text|textCapSentences"
+        android:imeOptions="actionDone"
+        android:selectAllOnFocus="true"
+        android:hint="@string/zen_mode_edit_name_hint" />
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/modes_icon_list.xml b/res/layout/modes_icon_list.xml
index 87e647e..f6f2202 100644
--- a/res/layout/modes_icon_list.xml
+++ b/res/layout/modes_icon_list.xml
@@ -24,7 +24,7 @@
 
     <androidx.recyclerview.widget.RecyclerView
         android:id="@+id/icon_list"
-        android:layout_width="0dp"
+        android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:clipToPadding="true"
         android:nestedScrollingEnabled="false"
diff --git a/res/layout/modes_icon_list_item.xml b/res/layout/modes_icon_list_item.xml
index aa45de3..df511ca 100644
--- a/res/layout/modes_icon_list_item.xml
+++ b/res/layout/modes_icon_list_item.xml
@@ -17,15 +17,14 @@
 
 <FrameLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
+    android:layout_width="@dimen/zen_mode_icon_list_item_size"
     android:layout_height="@dimen/zen_mode_icon_list_item_size"
     android:clickable="true">
-    <!-- width is match_parent to distribute remaining horizontal space -->
 
     <ImageView
         android:id="@+id/icon_image_view"
-        android:layout_width="@dimen/zen_mode_icon_list_circle_diameter"
-        android:layout_height="@dimen/zen_mode_icon_list_circle_diameter"
+        android:layout_width="@dimen/zen_mode_icon_list_item_circle_diameter"
+        android:layout_height="@dimen/zen_mode_icon_list_item_circle_diameter"
         android:importantForAccessibility="no"
         android:layout_gravity="center" />
 </FrameLayout>
diff --git a/res/layout/modes_set_schedule_layout.xml b/res/layout/modes_set_schedule_layout.xml
index 5758cfb..d53e2e4 100644
--- a/res/layout/modes_set_schedule_layout.xml
+++ b/res/layout/modes_set_schedule_layout.xml
@@ -30,63 +30,80 @@
     android:paddingBottom="24dp">
 
     <!-- Start time & end time row -->
-    <LinearLayout
+    <androidx.constraintlayout.widget.ConstraintLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:gravity="fill_horizontal"
         android:orientation="horizontal">
 
-        <!-- Start time: title (non-clickable preference), time setter -->
-        <LinearLayout
-            android:layout_width="0dp"
+        <!-- Start time title (non-clickable preference) -->
+        <TextView
+            android:id="@+id/start_time_label"
+            android:clickable="false"
+            android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:orientation="vertical">
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintEnd_toStartOf="@+id/guideline"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constrainedWidth="true"
+            app:layout_constraintHorizontal_bias="0"
+            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Medium"
+            android:text="@string/zen_mode_start_time"
+            android:importantForAccessibility="no" />
 
-            <TextView
-                android:id="@+id/start_time_label"
-                android:clickable="false"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Medium"
-                android:text="@string/zen_mode_start_time" />
-
-            <TextView
-                android:id="@+id/start_time"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Title"
-                android:textColor="?android:attr/colorAccent"
-                android:textSize="40sp" />
-
-        </LinearLayout>
-
-        <!-- End time: title (non-clickable preference), time setter -->
-        <LinearLayout
-            android:layout_width="0dp"
+        <!-- Start time display + setter -->
+        <TextView
+            android:id="@+id/start_time"
+            android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:orientation="vertical">
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/start_time_label"
+            app:layout_constraintEnd_toStartOf="@+id/guideline"
+            app:layout_constrainedWidth="true"
+            app:layout_constraintHorizontal_bias="0"
+            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Title"
+            android:textColor="?android:attr/colorAccent"
+            android:textSize="40sp" />
 
-            <TextView
-                android:id="@+id/end_time_label"
-                android:clickable="false"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Medium"
-                android:text="@string/zen_mode_end_time" />
+        <!-- Center boundary to make sure each only expands to take up at most half the space -->
+        <androidx.constraintlayout.widget.Guideline
+            android:id="@+id/guideline"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:orientation="vertical"
+            app:layout_constraintGuide_percent="0.5" />
 
-            <TextView
-                android:id="@+id/end_time"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Title"
-                android:textColor="?android:attr/colorAccent"
-                android:textSize="40sp" />
+        <!-- End time title (non-clickable preference), left-aligned to edge of time display -->
+        <TextView
+            android:id="@+id/end_time_label"
+            android:clickable="false"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintStart_toStartOf="@+id/end_time"
+            app:layout_constraintStart_toEndOf="@+id/guideline"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constrainedWidth="true"
+            app:layout_constraintHorizontal_bias="0"
+            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Medium"
+            android:text="@string/zen_mode_end_time"
+            android:importantForAccessibility="no" />
 
-        </LinearLayout>
+        <!-- End time setter; right-aligned -->
+        <TextView
+            android:id="@+id/end_time"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            app:layout_constraintTop_toBottomOf="@+id/end_time_label"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toEndOf="@+id/guideline"
+            app:layout_constrainedWidth="true"
+            app:layout_constraintHorizontal_bias="1"
+            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Title"
+            android:textColor="?android:attr/colorAccent"
+            android:textSize="40sp" />
 
-    </LinearLayout>
+    </androidx.constraintlayout.widget.ConstraintLayout>
 
     <!-- Schedule duration display row -->
     <LinearLayout
diff --git a/res/layout/pointer_icon_stroke_style_layout.xml b/res/layout/pointer_icon_stroke_style_layout.xml
new file mode 100644
index 0000000..acf919a
--- /dev/null
+++ b/res/layout/pointer_icon_stroke_style_layout.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  Copyright 2024 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT 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"
+    android:minHeight="?android:attr/listPreferredItemHeightSmall"
+    android:orientation="vertical"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+    android:paddingStart="?android:attr/listPreferredItemPaddingStart">
+
+    <TextView
+        android:id="@+id/title"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/pointer_stroke_style_padding"
+        android:text="@string/pointer_stroke_style"
+        android:textAlignment="viewStart"
+        android:textAppearance="?android:attr/textAppearanceListItem" />
+
+    <RadioGroup
+        android:id="@+id/button_holder"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:layout_marginTop="@dimen/pointer_stroke_style_padding"
+        android:layout_marginBottom="@dimen/pointer_stroke_style_padding"
+        android:padding="@dimen/pointer_stroke_style_padding">
+        <RadioButton android:id="@+id/stroke_style_white"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_margin="@dimen/pointer_stroke_style_padding"
+            android:text="@string/pointer_stroke_style_name_white"/>
+        <RadioButton android:id="@+id/stroke_style_black"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_margin="@dimen/pointer_stroke_style_padding"
+            android:text="@string/pointer_stroke_style_name_black"/>
+        <RadioButton android:id="@+id/stroke_style_none"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_margin="@dimen/pointer_stroke_style_padding"
+            android:text="@string/pointer_stroke_style_name_none"/>
+    </RadioGroup>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/preference_background.xml b/res/layout/preference_background.xml
index 129076a..51718b8 100644
--- a/res/layout/preference_background.xml
+++ b/res/layout/preference_background.xml
@@ -17,6 +17,7 @@
   -->
 
 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_height="wrap_content"
     android:layout_width="match_parent"
@@ -64,7 +65,7 @@
                 android:layout_height="wrap_content"
                 android:singleLine="true"
                 android:textAppearance="?android:attr/textAppearanceListItem"
-                android:textColor="?android:attr/textColorPrimary"
+                android:textColor="?androidprv:attr/materialColorOnPrimaryContainer"
                 android:ellipsize="marquee"
                 android:fadingEdge="horizontal"
                 android:hyphenationFrequency="normalFast"
@@ -77,7 +78,7 @@
                 android:layout_alignStart="@android:id/title"
                 android:layout_alignLeft="@android:id/title"
                 android:textAppearance="?android:attr/textAppearanceSmall"
-                android:textColor="?android:attr/textColorSecondary"
+                android:textColor="?androidprv:attr/materialColorOnPrimaryContainer"
                 android:hyphenationFrequency="normalFast"
                 android:lineBreakWordStyle="phrase"
                 android:maxLines="4"
diff --git a/res/layout/preference_circular_icons.xml b/res/layout/preference_circular_icons.xml
new file mode 100644
index 0000000..e1d7cfe
--- /dev/null
+++ b/res/layout/preference_circular_icons.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2024 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT 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 off preference_two_target.xml, with the added LinearLayout for the icons. -->
+<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:background="?android:attr/selectableItemBackground"
+    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+    android:clipToPadding="false">
+
+    <include layout="@layout/settingslib_icon_frame"/>
+
+    <RelativeLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_weight="1"
+        android:paddingTop="16dp"
+        android:paddingBottom="16dp">
+
+        <TextView
+            android:id="@android:id/title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:maxLines="2"
+            android:hyphenationFrequency="normalFast"
+            android:lineBreakWordStyle="phrase"
+            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:hyphenationFrequency="normalFast"
+            android:lineBreakWordStyle="phrase"
+            android:maxLines="10"/>
+
+        <!-- Circular icons (32dp) will be ImageViews under this container -->
+        <com.android.settings.notification.modes.CircularIconsView
+            android:id="@+id/circles_container"
+            android:importantForAccessibility="noHideDescendants"
+            android:orientation="horizontal"
+            android:gravity="center_vertical"
+            android:layout_width="match_parent"
+            android:layout_height="48dp"
+            android:layout_below="@android:id/summary"
+            android:layout_alignStart="@android:id/title" />
+
+    </RelativeLayout>
+
+    <include layout="@layout/preference_two_target_divider" />
+
+    <!-- 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:minWidth="@dimen/two_target_min_width"
+        android:gravity="center"
+        android:orientation="vertical" />
+
+</LinearLayout>
diff --git a/res/layout/preference_circular_icons_item.xml b/res/layout/preference_circular_icons_item.xml
new file mode 100644
index 0000000..e5656ce
--- /dev/null
+++ b/res/layout/preference_circular_icons_item.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2024 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+
+<ImageView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="@dimen/zen_mode_circular_icon_diameter"
+    android:layout_height="@dimen/zen_mode_circular_icon_diameter"
+    android:layout_marginTop="@dimen/zen_mode_circular_icon_margin_vertical"
+    android:layout_marginBottom="@dimen/zen_mode_circular_icon_margin_vertical"
+    android:layout_marginEnd="@dimen/zen_mode_circular_icon_margin_between" />
\ No newline at end of file
diff --git a/res/layout/preference_circular_icons_plus_item.xml b/res/layout/preference_circular_icons_plus_item.xml
new file mode 100644
index 0000000..9882086
--- /dev/null
+++ b/res/layout/preference_circular_icons_plus_item.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2024 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT 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"
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
+    android:layout_width="@dimen/zen_mode_circular_icon_diameter"
+    android:layout_height="@dimen/zen_mode_circular_icon_diameter"
+    android:layout_marginTop="@dimen/zen_mode_circular_icon_margin_vertical"
+    android:layout_marginBottom="@dimen/zen_mode_circular_icon_margin_vertical"
+    android:gravity="center"
+    android:padding="4dp"
+    android:drawablePadding="0dp"
+    android:background="@drawable/preference_circular_icons_plus_item_background"
+    android:textColor="?androidprv:attr/materialColorOnSecondaryContainer"
+    android:maxLines="1"
+    android:autoSizeTextType="uniform"
+    android:autoSizeMinTextSize="6sp" />
\ No newline at end of file
diff --git a/res/layout/preference_widget_arrow.xml b/res/layout/preference_widget_arrow.xml
index e7a3f82..f36f693 100644
--- a/res/layout/preference_widget_arrow.xml
+++ b/res/layout/preference_widget_arrow.xml
@@ -17,10 +17,11 @@
 
 <ImageView
     xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:layout_gravity="center_vertical"
     android:contentDescription="@null"
     android:scaleType="center"
-    android:tint="?android:attr/textColorPrimary"
+    android:tint="?androidprv:attr/materialColorOnPrimaryContainer"
     android:src="@drawable/ic_arrow_forward" />
\ No newline at end of file
diff --git a/res/layout/private_space_education_screen.xml b/res/layout/private_space_education_screen.xml
index 4df92b7..3afe7f9 100644
--- a/res/layout/private_space_education_screen.xml
+++ b/res/layout/private_space_education_screen.xml
@@ -53,7 +53,7 @@
                 android:src="@drawable/counter_1_24dp" />
             <TextView
                 style="@style/PrivateSpaceBulletPointTextFontStyle"
-                android:layout_toRightOf="@+id/lockIcon"
+                android:layout_toEndOf="@+id/lockIcon"
                 android:text="@string/private_space_separate_account_text"/>
         </RelativeLayout>
         <RelativeLayout
@@ -64,7 +64,7 @@
                 android:src="@drawable/counter_2_24dp" />
             <TextView
                 style="@style/PrivateSpaceBulletPointTextFontStyle"
-                android:layout_toRightOf="@+id/bellIcon"
+                android:layout_toEndOf="@+id/bellIcon"
                 android:text="@string/private_space_protected_lock_text"/>
         </RelativeLayout>
         <RelativeLayout
@@ -77,7 +77,7 @@
                 android:src="@drawable/counter_3_24dp" />
             <TextView
                 style="@style/PrivateSpaceBulletPointTextFontStyle"
-                android:layout_toRightOf="@+id/appsIcon"
+                android:layout_toEndOf="@+id/appsIcon"
                 android:text="@string/private_space_install_apps_text"/>
         </RelativeLayout>
         <TextView
@@ -94,7 +94,7 @@
                 android:src="@drawable/ic_private_space_edu_icon" />
             <TextView
                 style="@style/PrivateSpaceBulletPointTextFontStyle"
-                android:layout_toRightOf="@+id/eduIcon"
+                android:layout_toEndOf="@+id/eduIcon"
                 android:text="@string/private_space_apps_stopped_text"/>
         </RelativeLayout>
         <Space
@@ -112,13 +112,13 @@
                 android:id="@+id/info"
                 style="@style/PrivateSpaceBulletPointTextFontStyle"
                 android:textSize = "14sp"
-                android:layout_toRightOf="@+id/infoIcon"
+                android:layout_toEndOf="@+id/infoIcon"
                 android:text="@string/private_space_apps_permission_text"/>
             <TextView
                 android:id="@+id/learn_more"
                 style="@style/PrivateSpaceSetupSubHeaderStyle"
                 android:layout_below="@id/info"
-                android:layout_alignLeft="@+id/info"
+                android:layout_alignStart="@+id/info"
                 android:paddingTop="24dp"
                 android:paddingLeft="16dp"
                 android:text="@string/private_space_learn_more_text"/>
diff --git a/res/layout/qrcode_scanner_fragment.xml b/res/layout/qrcode_scanner_fragment.xml
index 4f748c5..1526cf8 100644
--- a/res/layout/qrcode_scanner_fragment.xml
+++ b/res/layout/qrcode_scanner_fragment.xml
@@ -15,67 +15,41 @@
      limitations under the License.
 -->
 
-<LinearLayout
+<androidx.core.widget.NestedScrollView
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
+    android:layout_height="wrap_content">
 
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_weight="3"
-        android:layout_marginBottom="55dp">
-        <LinearLayout
+        android:orientation="vertical"
+        android:gravity="center"
+        android:layout_margin="20dp">
+
+        <TextView
+            android:id="@android:id/summary"
+            style="@style/QrCodeScanner"
+            android:gravity="center"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:paddingStart="40dp"
-            android:paddingEnd="40dp"
-            android:layout_gravity="bottom"
-            android:gravity="center"
-            android:orientation="vertical">
-            <TextView
-                android:id="@android:id/summary"
-                style="@style/QrCodeScanner"
-                android:gravity="center"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="20dp"/>
-        </LinearLayout>
-    </LinearLayout>
+            android:layout_margin="40dp" />
 
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_weight="7"
-        android:orientation="vertical">
-
-        <FrameLayout
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="top"
-            android:gravity="center"
-            android:clipChildren="true">
-            <TextureView
-                android:id="@+id/preview_view"
-                android:layout_marginStart="@dimen/qrcode_preview_margin"
-                android:layout_marginEnd="@dimen/qrcode_preview_margin"
-                android:layout_width="match_parent"
-                android:layout_height="@dimen/qrcode_preview_size"/>
-        </FrameLayout>
+        <TextureView
+            android:id="@+id/preview_view"
+            android:layout_width="@dimen/audio_streams_qrcode_preview_size"
+            android:layout_height="@dimen/audio_streams_qrcode_preview_size"
+            android:contentDescription="@string/audio_streams_qr_code_scanner_label"
+            android:focusable="true" />
 
         <TextView
             android:id="@+id/error_message"
             style="@style/TextAppearance.ErrorText"
-            android:layout_width="wrap_content"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginTop="16dp"
             android:gravity="center"
-            android:layout_gravity="center"
-            android:visibility="invisible"/>
-
+            android:visibility="gone"/>
     </LinearLayout>
 
-
-</LinearLayout>
+</androidx.core.widget.NestedScrollView>
 
diff --git a/res/layout/search_bar_unified_version.xml b/res/layout/search_bar_unified_version.xml
index a8ad6fc..e9b3c10 100644
--- a/res/layout/search_bar_unified_version.xml
+++ b/res/layout/search_bar_unified_version.xml
@@ -30,6 +30,7 @@
         android:orientation="horizontal"
         android:paddingStart="24dp"
         android:paddingEnd="24dp"
+        android:focusedByDefault="true"
         android:background="@drawable/search_bar_selected_background">
 
         <ImageView
@@ -43,8 +44,8 @@
             style="@style/TextAppearance.SearchBar"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:paddingStart="8dp"
+            android:layout_marginStart="8dp"
             android:paddingEnd="8dp"
-            android:text="@string/search_settings"/>
+            android:text="@string/homepage_search"/>
     </LinearLayout>
 </com.google.android.material.card.MaterialCardView>
diff --git a/res/layout/settings_homepage_container_v2.xml b/res/layout/settings_homepage_container_v2.xml
index 5ae5fbd..a67b743 100644
--- a/res/layout/settings_homepage_container_v2.xml
+++ b/res/layout/settings_homepage_container_v2.xml
@@ -70,7 +70,7 @@
             android:layout_height="wrap_content"
             android:orientation="horizontal"
             android:paddingTop="8dp"
-            android:paddingBottom="24dp"
+            android:paddingBottom="16dp"
             android:paddingStart="?android:attr/listPreferredItemPaddingStart"
             android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
 
diff --git a/res/layout/sfps_enroll_enrolling.xml b/res/layout/sfps_enroll_enrolling.xml
index e0f9d1f..bd6e69a 100644
--- a/res/layout/sfps_enroll_enrolling.xml
+++ b/res/layout/sfps_enroll_enrolling.xml
@@ -45,7 +45,7 @@
                 android:id="@+id/illustration_lottie"
                 android:layout_width="@dimen/fingerprint_progress_bar_max_size"
                 android:layout_height="@dimen/fingerprint_progress_bar_max_size"
-                android:layout_marginRight="@dimen/sfps_lottie_translate_x"
+                android:layout_marginEnd="@dimen/sfps_lottie_translate_x"
                 android:layout_marginBottom="@dimen/sfps_lottie_translate_y"
                 android:scaleType="centerInside"
                 android:visibility="gone"
@@ -66,7 +66,7 @@
                     android:id="@+id/fingerprint_progress_bar"
                     android:layout_width="match_parent"
                     android:layout_height="match_parent"
-                    android:layout_marginLeft="@dimen/sfps_progress_bar_translate_x"
+                    android:layout_marginStart="@dimen/sfps_progress_bar_translate_x"
                     android:layout_marginTop="@dimen/sfps_progress_bar_translate_y"
                     android:layout_gravity="center"
                     android:minHeight="@dimen/fingerprint_progress_bar_min_size"
diff --git a/res/layout/suggestion_tile.xml b/res/layout/suggestion_tile.xml
new file mode 100644
index 0000000..fcb0d4f
--- /dev/null
+++ b/res/layout/suggestion_tile.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2024 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT 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"
+    xmlns:tools="http://schemas.android.com/tools"
+    xmlns:apps="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/suggestion_card"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:layout_marginBottom="16dp"
+    style="@style/SuggestionCardStyle">
+
+    <LinearLayout
+        android:id="@+id/card_container"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:baselineAligned="false"
+        android:minHeight="72dp"
+        android:paddingStart="16dp"
+        android:paddingEnd="16dp"
+        android:orientation="horizontal"
+        android:gravity="center_vertical"
+        android:background="?android:attr/selectableItemBackground">
+
+        <FrameLayout
+            android:id="@android:id/icon_frame"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            tools:ignore="ContentDescription">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:src="@drawable/suggestion_icon_background"/>
+
+            <ImageView
+                android:id="@android:id/icon"
+                android:layout_width="24dp"
+                android:layout_height="24dp"
+                android:layout_gravity="center"/>
+
+        </FrameLayout>
+
+        <LinearLayout
+            android:id="@+id/text_container"
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:paddingStart="16dp"
+            android:paddingEnd="16dp"
+            android:paddingVertical="@dimen/suggestion_card_text_padding_vertical"
+            android:orientation="vertical">
+
+            <TextView
+                android:id="@android:id/title"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:textAppearance="@style/TextAppearance.SuggestionCardTitle"/>
+
+            <TextView
+                android:id="@android:id/summary"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:textAppearance="@style/TextAppearance.SuggestionCardSummary"/>
+
+        </LinearLayout>
+
+        <ImageView
+            android:id="@android:id/closeButton"
+            android:layout_width="48dp"
+            android:layout_height="48dp"
+            android:padding="8dp"
+            android:visibility="gone"
+            android:layout_gravity="center"
+            android:contentDescription="@string/suggestion_button_close"
+            android:src="@drawable/ic_suggestion_close_button"
+            android:tint="@color/settingslib_materialColorPrimaryContainer"
+            android:background="?android:attr/selectableItemBackground" />
+
+    </LinearLayout>
+
+</com.google.android.material.card.MaterialCardView>
diff --git a/res/layout/tare_child_item.xml b/res/layout/tare_child_item.xml
deleted file mode 100644
index 0f14607..0000000
--- a/res/layout/tare_child_item.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:layout_width="fill_parent"
-              android:layout_height="wrap_content"
-              android:padding="10dp"
-              android:orientation="vertical">
-  <TextView
-      android:id="@+id/factor"
-      android:layout_width="wrap_content"
-      android:layout_height="wrap_content"
-      android:layout_alignParentLeft="true"
-      android:layout_centerVertical="true"
-      android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Subhead"
-      android:paddingLeft="35dp" />
-  <TextView
-      android:id="@+id/factor_number"
-      android:layout_width="wrap_content"
-      android:layout_height="wrap_content"
-      android:layout_alignParentLeft="true"
-      android:layout_centerVertical="true"
-      android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1"
-      android:paddingLeft="35dp" />
-</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/tare_dropdown_page.xml b/res/layout/tare_dropdown_page.xml
deleted file mode 100644
index 9ec7ebf..0000000
--- a/res/layout/tare_dropdown_page.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    tools:context=".development.tare.DropdownActivity">
-  <Spinner
-      android:id="@+id/spinner"
-      android:layout_width="wrap_content"
-      android:layout_height="wrap_content"
-      app:layout_constraintEnd_toEndOf="parent"
-      app:layout_constraintStart_toStartOf="parent"
-      app:layout_constraintTop_toTopOf="parent"
-      android:theme="@style/Widget.PopupWindow.Settings" />
-  <FrameLayout
-      android:id="@+id/frame_layout"
-      android:layout_width="0dp"
-      android:layout_height="wrap_content"
-      app:layout_constrainedWidth="true"
-      app:layout_constrainedHeight="true"
-      app:layout_constraintBottom_toBottomOf="parent"
-      app:layout_constraintEnd_toEndOf="parent"
-      app:layout_constraintStart_toStartOf="parent"
-      app:layout_constraintTop_toBottomOf="@+id/spinner"
-      app:layout_constraintVertical_bias="0" />
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/res/layout/tare_homepage.xml b/res/layout/tare_homepage.xml
deleted file mode 100644
index 4cd649f..0000000
--- a/res/layout/tare_homepage.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2021 The Android Open Source Project
-  ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ you may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT 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"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    tools:context=".development.tare.TareHomePage">
-    <Switch
-        android:id="@+id/on_switch"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:padding="20dp"
-        android:textOff="@string/tare_off"
-        android:textOn="@string/tare_on"
-        android:showText="true"
-        android:background="?android:attr/colorBackground" />
-    <TextView
-        android:id="@+id/alarmmanager"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:padding="20dp"
-        android:clickable="true"
-        android:onClick="launchAlarmManagerPage"
-        android:text="@string/tare_alarmmanager"
-        android:textColor="?android:attr/textColorSecondary" />
-
-    <TextView
-        android:id="@+id/jobscheduler"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:padding="20dp"
-        android:clickable="true"
-        android:text="@string/tare_jobscheduler"
-        android:textColor="?android:attr/textColorSecondary"
-        android:onClick="launchJobSchedulerPage" />
-
-    <View
-        android:id="@+id/divider"
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:background="?android:attr/listDivider" />
-    <Button
-        android:id="@+id/revert_button"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_margin="20dp"
-        android:onClick="revertSettings"
-        android:text="@string/tare_revert"
-        style="@style/ActionPrimaryButton" />
-</LinearLayout>
diff --git a/res/layout/tare_policy_fragment.xml b/res/layout/tare_policy_fragment.xml
deleted file mode 100644
index e3eadd4..0000000
--- a/res/layout/tare_policy_fragment.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:layout_width="fill_parent"
-              android:layout_height="wrap_content"
-              android:padding="10dp"
-              android:orientation="vertical">
-  <ExpandableListView
-      android:id="@+id/factor_list"
-      android:layout_width="match_parent"
-      android:layout_height="wrap_content" />
-</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/zen_mode_type_item.xml b/res/layout/zen_mode_type_item.xml
new file mode 100644
index 0000000..841ca00
--- /dev/null
+++ b/res/layout/zen_mode_type_item.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2024 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT 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:background="?android:attr/selectableItemBackground"
+    android:gravity="center_vertical"
+    android:minHeight="?android:attr/listPreferredItemHeight"
+    android:paddingTop="8dp"
+    android:paddingBottom="8dp"
+    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
+
+    <ImageView
+        android:id="@+id/icon"
+        android:layout_width="24dp"
+        android:layout_height="24dp"
+        android:layout_gravity="center" />
+
+    <RelativeLayout
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:paddingStart="16dp"
+        android:layout_weight="1">
+
+        <TextView
+            android:id="@+id/title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:ellipsize="marquee"
+            android:fadingEdge="horizontal"
+            android:singleLine="true"
+            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1"
+            android:textSize="16sp" />
+
+        <TextView
+            android:id="@+id/subtitle"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignStart="@id/title"
+            android:layout_below="@id/title"
+            android:maxLines="2"
+            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Subhead"
+            android:textColor="?android:attr/textColorSecondary"
+            android:textSize="14sp" />
+
+    </RelativeLayout>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/navigation/privatespace_main_context_nav.xml b/res/navigation/privatespace_main_context_nav.xml
index 3eb57d3..e20eaff 100644
--- a/res/navigation/privatespace_main_context_nav.xml
+++ b/res/navigation/privatespace_main_context_nav.xml
@@ -35,6 +35,9 @@
         <action
             android:id="@+id/action_set_lock_fragment"
             app:destination="@id/ps_profile_lock_fragment"/>
+        <action
+            android:id="@+id/action_create_profile_error_restrict"
+            app:destination="@id/ps_profile_error_restricted_fragment"/>
     </fragment>
     <fragment android:id="@+id/ps_profile_error_fragment"
               android:name="com.android.settings.privatespace.PrivateProfileCreationError"
@@ -67,6 +70,9 @@
             android:id="@+id/action_lock_success_fragment"
             app:destination="@id/ps_pre_finish_delay_fragment"/>
     </fragment>
+    <fragment android:id="@+id/ps_profile_error_restricted_fragment"
+              android:name="com.android.settings.privatespace.PrivateProfileCreationRestrictedError"
+              android:label="fragment_ps_error_exit"/>
     <action android:id="@+id/action_pre_finish_delay_fragment"
             app:destination="@id/ps_pre_finish_delay_fragment"/>
     <action android:id="@+id/action_advance_login_error"
diff --git a/res/raw/accessibility_shortcut_type_triple_tap.json b/res/raw/accessibility_shortcut_type_triple_tap.json
deleted file mode 100644
index 870e671..0000000
--- a/res/raw/accessibility_shortcut_type_triple_tap.json
+++ /dev/null
@@ -1,1959 +0,0 @@
-{
-  "v": "5.6.5",
-  "fr": 60,
-  "ip": 0,
-  "op": 180,
-  "w": 412,
-  "h": 300,
-  "nm": "Triple_Tap_Screen",
-  "ddd": 0,
-  "assets": [
-    {
-      "id": "comp_0",
-      "layers": [
-        {
-          "ddd": 0,
-          "ind": 1,
-          "ty": 4,
-          "nm": ".white",
-          "cl": "white",
-          "hd": true,
-          "sr": 1,
-          "ks": {
-            "o": {
-              "a": 0,
-              "k": 100,
-              "ix": 11
-            },
-            "r": {
-              "a": 0,
-              "k": 0,
-              "ix": 10
-            },
-            "p": {
-              "a": 0,
-              "k": [
-                206,
-                150,
-                0
-              ],
-              "ix": 2
-            },
-            "a": {
-              "a": 0,
-              "k": [
-                0,
-                0,
-                0
-              ],
-              "ix": 1
-            },
-            "s": {
-              "a": 0,
-              "k": [
-                100,
-                100,
-                100
-              ],
-              "ix": 6
-            }
-          },
-          "ao": 0,
-          "shapes": [
-            {
-              "ty": "gr",
-              "it": [
-                {
-                  "ind": 0,
-                  "ty": "sh",
-                  "ix": 1,
-                  "ks": {
-                    "a": 0,
-                    "k": {
-                      "i": [
-                        [
-                          15.4,
-                          0
-                        ],
-                        [
-                          0,
-                          0
-                        ],
-                        [
-                          0,
-                          15.4
-                        ],
-                        [
-                          0,
-                          0
-                        ],
-                        [
-                          -15.4,
-                          0
-                        ],
-                        [
-                          0,
-                          0
-                        ],
-                        [
-                          0,
-                          -15.4
-                        ],
-                        [
-                          0,
-                          0
-                        ]
-                      ],
-                      "o": [
-                        [
-                          0,
-                          0
-                        ],
-                        [
-                          -15.4,
-                          0
-                        ],
-                        [
-                          0,
-                          0
-                        ],
-                        [
-                          0,
-                          -15.4
-                        ],
-                        [
-                          0,
-                          0
-                        ],
-                        [
-                          15.4,
-                          0
-                        ],
-                        [
-                          0,
-                          0
-                        ],
-                        [
-                          0,
-                          15.4
-                        ]
-                      ],
-                      "v": [
-                        [
-                          178,
-                          150
-                        ],
-                        [
-                          -178,
-                          150
-                        ],
-                        [
-                          -206,
-                          122
-                        ],
-                        [
-                          -206,
-                          -122
-                        ],
-                        [
-                          -178,
-                          -150
-                        ],
-                        [
-                          178,
-                          -150
-                        ],
-                        [
-                          206,
-                          -122
-                        ],
-                        [
-                          206,
-                          122
-                        ]
-                      ],
-                      "c": true
-                    },
-                    "ix": 2
-                  },
-                  "nm": "Path 1",
-                  "mn": "ADBE Vector Shape - Group",
-                  "hd": false
-                },
-                {
-                  "ty": "fl",
-                  "c": {
-                    "a": 0,
-                    "k": [
-                      1,
-                      1,
-                      1,
-                      1
-                    ],
-                    "ix": 4
-                  },
-                  "o": {
-                    "a": 0,
-                    "k": 100,
-                    "ix": 5
-                  },
-                  "r": 1,
-                  "bm": 0,
-                  "nm": "Fill 1",
-                  "mn": "ADBE Vector Graphic - Fill",
-                  "hd": false
-                },
-                {
-                  "ty": "tr",
-                  "p": {
-                    "a": 0,
-                    "k": [
-                      0,
-                      0
-                    ],
-                    "ix": 2
-                  },
-                  "a": {
-                    "a": 0,
-                    "k": [
-                      0,
-                      0
-                    ],
-                    "ix": 1
-                  },
-                  "s": {
-                    "a": 0,
-                    "k": [
-                      100,
-                      100
-                    ],
-                    "ix": 3
-                  },
-                  "r": {
-                    "a": 0,
-                    "k": 0,
-                    "ix": 6
-                  },
-                  "o": {
-                    "a": 0,
-                    "k": 100,
-                    "ix": 7
-                  },
-                  "sk": {
-                    "a": 0,
-                    "k": 0,
-                    "ix": 4
-                  },
-                  "sa": {
-                    "a": 0,
-                    "k": 0,
-                    "ix": 5
-                  },
-                  "nm": "Transform"
-                }
-              ],
-              "nm": "Group 1",
-              "np": 2,
-              "cix": 2,
-              "bm": 0,
-              "ix": 1,
-              "mn": "ADBE Vector Group",
-              "hd": false
-            }
-          ],
-          "ip": 0,
-          "op": 1800,
-          "st": 0,
-          "bm": 0
-        }
-      ]
-    }
-  ],
-  "layers": [
-    {
-      "ddd": 0,
-      "ind": 1,
-      "ty": 4,
-      "nm": ".grey200",
-      "cl": "grey200",
-      "sr": 1,
-      "ks": {
-        "o": {
-          "a": 0,
-          "k": 100,
-          "ix": 11
-        },
-        "r": {
-          "a": 0,
-          "k": 0,
-          "ix": 10
-        },
-        "p": {
-          "a": 0,
-          "k": [
-            206,
-            150,
-            0
-          ],
-          "ix": 2
-        },
-        "a": {
-          "a": 0,
-          "k": [
-            1.35,
-            0,
-            0
-          ],
-          "ix": 1
-        },
-        "s": {
-          "a": 0,
-          "k": [
-            100,
-            100,
-            100
-          ],
-          "ix": 6
-        }
-      },
-      "ao": 0,
-      "shapes": [
-        {
-          "ty": "gr",
-          "it": [
-            {
-              "ind": 0,
-              "ty": "sh",
-              "ix": 1,
-              "ks": {
-                "a": 0,
-                "k": {
-                  "i": [
-                    [
-                      0,
-                      0
-                    ],
-                    [
-                      0,
-                      -73.4
-                    ],
-                    [
-                      -73.4,
-                      0
-                    ],
-                    [
-                      0,
-                      73.4
-                    ],
-                    [
-                      73.4,
-                      0
-                    ]
-                  ],
-                  "o": [
-                    [
-                      -73.4,
-                      0
-                    ],
-                    [
-                      0,
-                      73.4
-                    ],
-                    [
-                      73.4,
-                      0
-                    ],
-                    [
-                      0,
-                      -73.4
-                    ],
-                    [
-                      0,
-                      0
-                    ]
-                  ],
-                  "v": [
-                    [
-                      1.4,
-                      -132.9
-                    ],
-                    [
-                      -131.6,
-                      0
-                    ],
-                    [
-                      1.3,
-                      132.9
-                    ],
-                    [
-                      134.3,
-                      0
-                    ],
-                    [
-                      1.4,
-                      -132.9
-                    ]
-                  ],
-                  "c": true
-                },
-                "ix": 2
-              },
-              "nm": "Path 1",
-              "mn": "ADBE Vector Shape - Group",
-              "hd": false
-            },
-            {
-              "ind": 1,
-              "ty": "sh",
-              "ix": 2,
-              "ks": {
-                "a": 0,
-                "k": {
-                  "i": [
-                    [
-                      0,
-                      0
-                    ],
-                    [
-                      -24.7,
-                      -24.8
-                    ],
-                    [
-                      0,
-                      -35
-                    ],
-                    [
-                      24.8,
-                      -24.7
-                    ],
-                    [
-                      35,
-                      0
-                    ],
-                    [
-                      24.7,
-                      24.8
-                    ],
-                    [
-                      0,
-                      35
-                    ],
-                    [
-                      -24.8,
-                      24.7
-                    ],
-                    [
-                      -35,
-                      0
-                    ]
-                  ],
-                  "o": [
-                    [
-                      35,
-                      0
-                    ],
-                    [
-                      24.7,
-                      24.7
-                    ],
-                    [
-                      0,
-                      35
-                    ],
-                    [
-                      -24.7,
-                      24.7
-                    ],
-                    [
-                      -35,
-                      0
-                    ],
-                    [
-                      -24.7,
-                      -24.8
-                    ],
-                    [
-                      0,
-                      -35
-                    ],
-                    [
-                      24.7,
-                      -24.7
-                    ],
-                    [
-                      0,
-                      0
-                    ]
-                  ],
-                  "v": [
-                    [
-                      1.4,
-                      -130.9
-                    ],
-                    [
-                      94,
-                      -92.5
-                    ],
-                    [
-                      132.4,
-                      0.1
-                    ],
-                    [
-                      94,
-                      92.7
-                    ],
-                    [
-                      1.4,
-                      131.1
-                    ],
-                    [
-                      -91.2,
-                      92.7
-                    ],
-                    [
-                      -129.6,
-                      0
-                    ],
-                    [
-                      -91.2,
-                      -92.6
-                    ],
-                    [
-                      1.4,
-                      -130.9
-                    ]
-                  ],
-                  "c": false
-                },
-                "ix": 2
-              },
-              "nm": "Path 2",
-              "mn": "ADBE Vector Shape - Group",
-              "hd": false
-            },
-            {
-              "ty": "fl",
-              "c": {
-                "a": 0,
-                "k": [
-                  0.909803926945,
-                  0.917647063732,
-                  0.929411768913,
-                  1
-                ],
-                "ix": 4
-              },
-              "o": {
-                "a": 0,
-                "k": 100,
-                "ix": 5
-              },
-              "r": 1,
-              "bm": 0,
-              "nm": "Fill 1",
-              "mn": "ADBE Vector Graphic - Fill",
-              "hd": false
-            },
-            {
-              "ty": "tr",
-              "p": {
-                "a": 0,
-                "k": [
-                  0,
-                  0
-                ],
-                "ix": 2
-              },
-              "a": {
-                "a": 0,
-                "k": [
-                  0,
-                  0
-                ],
-                "ix": 1
-              },
-              "s": {
-                "a": 0,
-                "k": [
-                  100,
-                  100
-                ],
-                "ix": 3
-              },
-              "r": {
-                "a": 0,
-                "k": 0,
-                "ix": 6
-              },
-              "o": {
-                "a": 0,
-                "k": 100,
-                "ix": 7
-              },
-              "sk": {
-                "a": 0,
-                "k": 0,
-                "ix": 4
-              },
-              "sa": {
-                "a": 0,
-                "k": 0,
-                "ix": 5
-              },
-              "nm": "Transform"
-            }
-          ],
-          "nm": "Group 1",
-          "np": 3,
-          "cix": 2,
-          "bm": 0,
-          "ix": 1,
-          "mn": "ADBE Vector Group",
-          "hd": false
-        }
-      ],
-      "ip": 0,
-      "op": 300,
-      "st": 0,
-      "bm": 0
-    },
-    {
-      "ddd": 0,
-      "ind": 2,
-      "ty": 4,
-      "nm": ".grey300",
-      "cl": "grey300",
-      "sr": 1,
-      "ks": {
-        "o": {
-          "a": 0,
-          "k": 100,
-          "ix": 11
-        },
-        "r": {
-          "a": 0,
-          "k": 0,
-          "ix": 10
-        },
-        "p": {
-          "a": 0,
-          "k": [
-            205,
-            150,
-            0
-          ],
-          "ix": 2
-        },
-        "a": {
-          "a": 0,
-          "k": [
-            0,
-            0,
-            0
-          ],
-          "ix": 1
-        },
-        "s": {
-          "a": 0,
-          "k": [
-            100,
-            100,
-            100
-          ],
-          "ix": 6
-        }
-      },
-      "ao": 0,
-      "shapes": [
-        {
-          "ty": "gr",
-          "it": [
-            {
-              "ty": "gr",
-              "it": [
-                {
-                  "ind": 0,
-                  "ty": "sh",
-                  "ix": 1,
-                  "ks": {
-                    "a": 0,
-                    "k": {
-                      "i": [
-                        [
-                          -7.9,
-                          0
-                        ],
-                        [
-                          0,
-                          0
-                        ],
-                        [
-                          0,
-                          8
-                        ],
-                        [
-                          0,
-                          0
-                        ],
-                        [
-                          0,
-                          1.6
-                        ],
-                        [
-                          0,
-                          0
-                        ],
-                        [
-                          2,
-                          1.5
-                        ],
-                        [
-                          0,
-                          0
-                        ],
-                        [
-                          6.4,
-                          0
-                        ],
-                        [
-                          0,
-                          0
-                        ],
-                        [
-                          0,
-                          6.4
-                        ],
-                        [
-                          0,
-                          0
-                        ],
-                        [
-                          1,
-                          -0.7
-                        ],
-                        [
-                          0,
-                          0
-                        ]
-                      ],
-                      "o": [
-                        [
-                          0,
-                          0
-                        ],
-                        [
-                          8,
-                          0
-                        ],
-                        [
-                          0,
-                          0
-                        ],
-                        [
-                          1.6,
-                          0
-                        ],
-                        [
-                          0,
-                          0
-                        ],
-                        [
-                          -1.9,
-                          -1.6
-                        ],
-                        [
-                          0,
-                          0
-                        ],
-                        [
-                          0,
-                          6.4
-                        ],
-                        [
-                          0,
-                          0
-                        ],
-                        [
-                          -6.4,
-                          0
-                        ],
-                        [
-                          0,
-                          0
-                        ],
-                        [
-                          -1,
-                          0.7
-                        ],
-                        [
-                          0,
-                          0
-                        ],
-                        [
-                          0.1,
-                          7.9
-                        ]
-                      ],
-                      "v": [
-                        [
-                          -64,
-                          75.3
-                        ],
-                        [
-                          69.1,
-                          75.3
-                        ],
-                        [
-                          83.6,
-                          60.8
-                        ],
-                        [
-                          83.6,
-                          -81
-                        ],
-                        [
-                          86.5,
-                          -83.9
-                        ],
-                        [
-                          86.5,
-                          -100.9
-                        ],
-                        [
-                          80.7,
-                          -105.6
-                        ],
-                        [
-                          80.7,
-                          60.8
-                        ],
-                        [
-                          69.1,
-                          72.4
-                        ],
-                        [
-                          -64,
-                          72.4
-                        ],
-                        [
-                          -75.6,
-                          60.8
-                        ],
-                        [
-                          -75.6,
-                          -107.3
-                        ],
-                        [
-                          -78.5,
-                          -105.2
-                        ],
-                        [
-                          -78.5,
-                          60.9
-                        ]
-                      ],
-                      "c": true
-                    },
-                    "ix": 2
-                  },
-                  "nm": "Path 1",
-                  "mn": "ADBE Vector Shape - Group",
-                  "hd": false
-                },
-                {
-                  "ty": "fl",
-                  "c": {
-                    "a": 0,
-                    "k": [
-                      0.854901969433,
-                      0.86274510622,
-                      0.878431379795,
-                      1
-                    ],
-                    "ix": 4
-                  },
-                  "o": {
-                    "a": 0,
-                    "k": 100,
-                    "ix": 5
-                  },
-                  "r": 1,
-                  "bm": 0,
-                  "nm": "Fill 1",
-                  "mn": "ADBE Vector Graphic - Fill",
-                  "hd": false
-                },
-                {
-                  "ty": "tr",
-                  "p": {
-                    "a": 0,
-                    "k": [
-                      0,
-                      0
-                    ],
-                    "ix": 2
-                  },
-                  "a": {
-                    "a": 0,
-                    "k": [
-                      0,
-                      0
-                    ],
-                    "ix": 1
-                  },
-                  "s": {
-                    "a": 0,
-                    "k": [
-                      100,
-                      100
-                    ],
-                    "ix": 3
-                  },
-                  "r": {
-                    "a": 0,
-                    "k": 0,
-                    "ix": 6
-                  },
-                  "o": {
-                    "a": 0,
-                    "k": 100,
-                    "ix": 7
-                  },
-                  "sk": {
-                    "a": 0,
-                    "k": 0,
-                    "ix": 4
-                  },
-                  "sa": {
-                    "a": 0,
-                    "k": 0,
-                    "ix": 5
-                  },
-                  "nm": "Transform"
-                }
-              ],
-              "nm": "Group 1",
-              "np": 2,
-              "cix": 2,
-              "bm": 0,
-              "ix": 1,
-              "mn": "ADBE Vector Group",
-              "hd": false
-            },
-            {
-              "ty": "tr",
-              "p": {
-                "a": 0,
-                "k": [
-                  0,
-                  0
-                ],
-                "ix": 2
-              },
-              "a": {
-                "a": 0,
-                "k": [
-                  0,
-                  0
-                ],
-                "ix": 1
-              },
-              "s": {
-                "a": 0,
-                "k": [
-                  100,
-                  100
-                ],
-                "ix": 3
-              },
-              "r": {
-                "a": 0,
-                "k": 0,
-                "ix": 6
-              },
-              "o": {
-                "a": 0,
-                "k": 100,
-                "ix": 7
-              },
-              "sk": {
-                "a": 0,
-                "k": 0,
-                "ix": 4
-              },
-              "sa": {
-                "a": 0,
-                "k": 0,
-                "ix": 5
-              },
-              "nm": "Transform"
-            }
-          ],
-          "nm": "Group 1",
-          "np": 1,
-          "cix": 2,
-          "bm": 0,
-          "ix": 1,
-          "mn": "ADBE Vector Group",
-          "hd": false
-        }
-      ],
-      "ip": 0,
-      "op": 300,
-      "st": 0,
-      "bm": 0
-    },
-    {
-      "ddd": 0,
-      "ind": 3,
-      "ty": 4,
-      "nm": "cursor 5",
-      "sr": 1,
-      "ks": {
-        "o": {
-          "a": 1,
-          "k": [
-            {
-              "i": {
-                "x": [
-                  0.833
-                ],
-                "y": [
-                  0.833
-                ]
-              },
-              "o": {
-                "x": [
-                  0.167
-                ],
-                "y": [
-                  0.167
-                ]
-              },
-              "t": 36,
-              "s": [
-                0
-              ]
-            },
-            {
-              "i": {
-                "x": [
-                  0.833
-                ],
-                "y": [
-                  0.833
-                ]
-              },
-              "o": {
-                "x": [
-                  0.167
-                ],
-                "y": [
-                  0.167
-                ]
-              },
-              "t": 39.582,
-              "s": [
-                100
-              ]
-            },
-            {
-              "i": {
-                "x": [
-                  0.833
-                ],
-                "y": [
-                  0.833
-                ]
-              },
-              "o": {
-                "x": [
-                  0.167
-                ],
-                "y": [
-                  0.167
-                ]
-              },
-              "t": 44.953,
-              "s": [
-                100
-              ]
-            },
-            {
-              "t": 55.697265625,
-              "s": [
-                0
-              ]
-            }
-          ],
-          "ix": 11
-        },
-        "r": {
-          "a": 0,
-          "k": 0,
-          "ix": 10
-        },
-        "p": {
-          "a": 0,
-          "k": [
-            207.641,
-            154.48,
-            0
-          ],
-          "ix": 2
-        },
-        "a": {
-          "a": 0,
-          "k": [
-            -180.5,
-            -165.5,
-            0
-          ],
-          "ix": 1
-        },
-        "s": {
-          "a": 1,
-          "k": [
-            {
-              "i": {
-                "x": [
-                  0,
-                  0,
-                  0
-                ],
-                "y": [
-                  1,
-                  1,
-                  1
-                ]
-              },
-              "o": {
-                "x": [
-                  0.45,
-                  0.45,
-                  0.45
-                ],
-                "y": [
-                  0,
-                  0,
-                  0
-                ]
-              },
-              "t": 37.791,
-              "s": [
-                27.252,
-                27.252,
-                100
-              ]
-            },
-            {
-              "t": 59,
-              "s": [
-                56.661,
-                56.661,
-                100
-              ]
-            }
-          ],
-          "ix": 6
-        }
-      },
-      "ao": 0,
-      "shapes": [
-        {
-          "ty": "gr",
-          "it": [
-            {
-              "d": 1,
-              "ty": "el",
-              "s": {
-                "a": 0,
-                "k": [
-                  63.109,
-                  63.109
-                ],
-                "ix": 2
-              },
-              "p": {
-                "a": 0,
-                "k": [
-                  0,
-                  0
-                ],
-                "ix": 3
-              },
-              "nm": "Ellipse Path 1",
-              "mn": "ADBE Vector Shape - Ellipse",
-              "hd": false
-            },
-            {
-              "ty": "st",
-              "c": {
-                "a": 0,
-                "k": [
-                  1,
-                  0.182245725744,
-                  0.894323072246,
-                  1
-                ],
-                "ix": 3
-              },
-              "o": {
-                "a": 0,
-                "k": 100,
-                "ix": 4
-              },
-              "w": {
-                "a": 0,
-                "k": 3,
-                "ix": 5
-              },
-              "lc": 1,
-              "lj": 1,
-              "ml": 4,
-              "bm": 0,
-              "nm": "Stroke 1",
-              "mn": "ADBE Vector Graphic - Stroke",
-              "hd": false
-            },
-            {
-              "ty": "fl",
-              "c": {
-                "a": 0,
-                "k": [
-                  1,
-                  0.522196631338,
-                  0.9762855081,
-                  1
-                ],
-                "ix": 4
-              },
-              "o": {
-                "a": 0,
-                "k": 50,
-                "ix": 5
-              },
-              "r": 1,
-              "bm": 0,
-              "nm": "Fill 1",
-              "mn": "ADBE Vector Graphic - Fill",
-              "hd": false
-            },
-            {
-              "ty": "tr",
-              "p": {
-                "a": 0,
-                "k": [
-                  -180.5,
-                  -165.5
-                ],
-                "ix": 2
-              },
-              "a": {
-                "a": 0,
-                "k": [
-                  0,
-                  0
-                ],
-                "ix": 1
-              },
-              "s": {
-                "a": 0,
-                "k": [
-                  100,
-                  100
-                ],
-                "ix": 3
-              },
-              "r": {
-                "a": 0,
-                "k": 0,
-                "ix": 6
-              },
-              "o": {
-                "a": 0,
-                "k": 100,
-                "ix": 7
-              },
-              "sk": {
-                "a": 0,
-                "k": 0,
-                "ix": 4
-              },
-              "sa": {
-                "a": 0,
-                "k": 0,
-                "ix": 5
-              },
-              "nm": "Transform"
-            }
-          ],
-          "nm": "Ellipse 1",
-          "np": 3,
-          "cix": 2,
-          "bm": 0,
-          "ix": 1,
-          "mn": "ADBE Vector Group",
-          "hd": false
-        }
-      ],
-      "ip": 36,
-      "op": 59,
-      "st": -1,
-      "bm": 0
-    },
-    {
-      "ddd": 0,
-      "ind": 4,
-      "ty": 4,
-      "nm": "cursor 4",
-      "sr": 1,
-      "ks": {
-        "o": {
-          "a": 1,
-          "k": [
-            {
-              "i": {
-                "x": [
-                  0.833
-                ],
-                "y": [
-                  0.833
-                ]
-              },
-              "o": {
-                "x": [
-                  0.167
-                ],
-                "y": [
-                  0.167
-                ]
-              },
-              "t": 22,
-              "s": [
-                0
-              ]
-            },
-            {
-              "i": {
-                "x": [
-                  0.833
-                ],
-                "y": [
-                  0.833
-                ]
-              },
-              "o": {
-                "x": [
-                  0.167
-                ],
-                "y": [
-                  0.167
-                ]
-              },
-              "t": 25.58,
-              "s": [
-                100
-              ]
-            },
-            {
-              "i": {
-                "x": [
-                  0.833
-                ],
-                "y": [
-                  0.833
-                ]
-              },
-              "o": {
-                "x": [
-                  0.167
-                ],
-                "y": [
-                  0.167
-                ]
-              },
-              "t": 30.953,
-              "s": [
-                100
-              ]
-            },
-            {
-              "t": 41.697265625,
-              "s": [
-                0
-              ]
-            }
-          ],
-          "ix": 11
-        },
-        "r": {
-          "a": 0,
-          "k": 0,
-          "ix": 10
-        },
-        "p": {
-          "a": 0,
-          "k": [
-            207.641,
-            154.48,
-            0
-          ],
-          "ix": 2
-        },
-        "a": {
-          "a": 0,
-          "k": [
-            -180.5,
-            -165.5,
-            0
-          ],
-          "ix": 1
-        },
-        "s": {
-          "a": 1,
-          "k": [
-            {
-              "i": {
-                "x": [
-                  0,
-                  0,
-                  0
-                ],
-                "y": [
-                  1,
-                  1,
-                  1
-                ]
-              },
-              "o": {
-                "x": [
-                  0.45,
-                  0.45,
-                  0.45
-                ],
-                "y": [
-                  0,
-                  0,
-                  0
-                ]
-              },
-              "t": 23.789,
-              "s": [
-                27.252,
-                27.252,
-                100
-              ]
-            },
-            {
-              "t": 45,
-              "s": [
-                56.661,
-                56.661,
-                100
-              ]
-            }
-          ],
-          "ix": 6
-        }
-      },
-      "ao": 0,
-      "shapes": [
-        {
-          "ty": "gr",
-          "it": [
-            {
-              "d": 1,
-              "ty": "el",
-              "s": {
-                "a": 0,
-                "k": [
-                  63.109,
-                  63.109
-                ],
-                "ix": 2
-              },
-              "p": {
-                "a": 0,
-                "k": [
-                  0,
-                  0
-                ],
-                "ix": 3
-              },
-              "nm": "Ellipse Path 1",
-              "mn": "ADBE Vector Shape - Ellipse",
-              "hd": false
-            },
-            {
-              "ty": "st",
-              "c": {
-                "a": 0,
-                "k": [
-                  1,
-                  0.182245725744,
-                  0.894323072246,
-                  1
-                ],
-                "ix": 3
-              },
-              "o": {
-                "a": 0,
-                "k": 100,
-                "ix": 4
-              },
-              "w": {
-                "a": 0,
-                "k": 3,
-                "ix": 5
-              },
-              "lc": 1,
-              "lj": 1,
-              "ml": 4,
-              "bm": 0,
-              "nm": "Stroke 1",
-              "mn": "ADBE Vector Graphic - Stroke",
-              "hd": false
-            },
-            {
-              "ty": "fl",
-              "c": {
-                "a": 0,
-                "k": [
-                  1,
-                  0.522196631338,
-                  0.9762855081,
-                  1
-                ],
-                "ix": 4
-              },
-              "o": {
-                "a": 0,
-                "k": 50,
-                "ix": 5
-              },
-              "r": 1,
-              "bm": 0,
-              "nm": "Fill 1",
-              "mn": "ADBE Vector Graphic - Fill",
-              "hd": false
-            },
-            {
-              "ty": "tr",
-              "p": {
-                "a": 0,
-                "k": [
-                  -180.5,
-                  -165.5
-                ],
-                "ix": 2
-              },
-              "a": {
-                "a": 0,
-                "k": [
-                  0,
-                  0
-                ],
-                "ix": 1
-              },
-              "s": {
-                "a": 0,
-                "k": [
-                  100,
-                  100
-                ],
-                "ix": 3
-              },
-              "r": {
-                "a": 0,
-                "k": 0,
-                "ix": 6
-              },
-              "o": {
-                "a": 0,
-                "k": 100,
-                "ix": 7
-              },
-              "sk": {
-                "a": 0,
-                "k": 0,
-                "ix": 4
-              },
-              "sa": {
-                "a": 0,
-                "k": 0,
-                "ix": 5
-              },
-              "nm": "Transform"
-            }
-          ],
-          "nm": "Ellipse 1",
-          "np": 3,
-          "cix": 2,
-          "bm": 0,
-          "ix": 1,
-          "mn": "ADBE Vector Group",
-          "hd": false
-        }
-      ],
-      "ip": 22,
-      "op": 45,
-      "st": -3,
-      "bm": 0
-    },
-    {
-      "ddd": 0,
-      "ind": 5,
-      "ty": 4,
-      "nm": "cursor",
-      "sr": 1,
-      "ks": {
-        "o": {
-          "a": 1,
-          "k": [
-            {
-              "i": {
-                "x": [
-                  0.833
-                ],
-                "y": [
-                  0.833
-                ]
-              },
-              "o": {
-                "x": [
-                  0.167
-                ],
-                "y": [
-                  0.167
-                ]
-              },
-              "t": 8,
-              "s": [
-                0
-              ]
-            },
-            {
-              "i": {
-                "x": [
-                  0.833
-                ],
-                "y": [
-                  0.833
-                ]
-              },
-              "o": {
-                "x": [
-                  0.167
-                ],
-                "y": [
-                  0.167
-                ]
-              },
-              "t": 11.582,
-              "s": [
-                100
-              ]
-            },
-            {
-              "i": {
-                "x": [
-                  0.833
-                ],
-                "y": [
-                  0.833
-                ]
-              },
-              "o": {
-                "x": [
-                  0.167
-                ],
-                "y": [
-                  0.167
-                ]
-              },
-              "t": 16.953,
-              "s": [
-                100
-              ]
-            },
-            {
-              "t": 27.697265625,
-              "s": [
-                0
-              ]
-            }
-          ],
-          "ix": 11
-        },
-        "r": {
-          "a": 0,
-          "k": 0,
-          "ix": 10
-        },
-        "p": {
-          "a": 0,
-          "k": [
-            207.641,
-            154.48,
-            0
-          ],
-          "ix": 2
-        },
-        "a": {
-          "a": 0,
-          "k": [
-            -180.5,
-            -165.5,
-            0
-          ],
-          "ix": 1
-        },
-        "s": {
-          "a": 1,
-          "k": [
-            {
-              "i": {
-                "x": [
-                  0,
-                  0,
-                  0
-                ],
-                "y": [
-                  1,
-                  1,
-                  1
-                ]
-              },
-              "o": {
-                "x": [
-                  0.45,
-                  0.45,
-                  0.45
-                ],
-                "y": [
-                  0,
-                  0,
-                  0
-                ]
-              },
-              "t": 9.791,
-              "s": [
-                27.252,
-                27.252,
-                100
-              ]
-            },
-            {
-              "t": 31,
-              "s": [
-                56.661,
-                56.661,
-                100
-              ]
-            }
-          ],
-          "ix": 6
-        }
-      },
-      "ao": 0,
-      "shapes": [
-        {
-          "ty": "gr",
-          "it": [
-            {
-              "d": 1,
-              "ty": "el",
-              "s": {
-                "a": 0,
-                "k": [
-                  63.109,
-                  63.109
-                ],
-                "ix": 2
-              },
-              "p": {
-                "a": 0,
-                "k": [
-                  0,
-                  0
-                ],
-                "ix": 3
-              },
-              "nm": "Ellipse Path 1",
-              "mn": "ADBE Vector Shape - Ellipse",
-              "hd": false
-            },
-            {
-              "ty": "st",
-              "c": {
-                "a": 0,
-                "k": [
-                  1,
-                  0.182245725744,
-                  0.894323072246,
-                  1
-                ],
-                "ix": 3
-              },
-              "o": {
-                "a": 0,
-                "k": 100,
-                "ix": 4
-              },
-              "w": {
-                "a": 0,
-                "k": 3,
-                "ix": 5
-              },
-              "lc": 1,
-              "lj": 1,
-              "ml": 4,
-              "bm": 0,
-              "nm": "Stroke 1",
-              "mn": "ADBE Vector Graphic - Stroke",
-              "hd": false
-            },
-            {
-              "ty": "fl",
-              "c": {
-                "a": 0,
-                "k": [
-                  1,
-                  0.522196631338,
-                  0.9762855081,
-                  1
-                ],
-                "ix": 4
-              },
-              "o": {
-                "a": 0,
-                "k": 50,
-                "ix": 5
-              },
-              "r": 1,
-              "bm": 0,
-              "nm": "Fill 1",
-              "mn": "ADBE Vector Graphic - Fill",
-              "hd": false
-            },
-            {
-              "ty": "tr",
-              "p": {
-                "a": 0,
-                "k": [
-                  -180.5,
-                  -165.5
-                ],
-                "ix": 2
-              },
-              "a": {
-                "a": 0,
-                "k": [
-                  0,
-                  0
-                ],
-                "ix": 1
-              },
-              "s": {
-                "a": 0,
-                "k": [
-                  100,
-                  100
-                ],
-                "ix": 3
-              },
-              "r": {
-                "a": 0,
-                "k": 0,
-                "ix": 6
-              },
-              "o": {
-                "a": 0,
-                "k": 100,
-                "ix": 7
-              },
-              "sk": {
-                "a": 0,
-                "k": 0,
-                "ix": 4
-              },
-              "sa": {
-                "a": 0,
-                "k": 0,
-                "ix": 5
-              },
-              "nm": "Transform"
-            }
-          ],
-          "nm": "Ellipse 1",
-          "np": 3,
-          "cix": 2,
-          "bm": 0,
-          "ix": 1,
-          "mn": "ADBE Vector Group",
-          "hd": false
-        }
-      ],
-      "ip": 8,
-      "op": 31,
-      "st": -5,
-      "bm": 0
-    },
-    {
-      "ddd": 0,
-      "ind": 6,
-      "ty": 0,
-      "nm": "BG_White",
-      "refId": "comp_0",
-      "sr": 1,
-      "ks": {
-        "o": {
-          "a": 0,
-          "k": 100,
-          "ix": 11
-        },
-        "r": {
-          "a": 0,
-          "k": 0,
-          "ix": 10
-        },
-        "p": {
-          "a": 0,
-          "k": [
-            206,
-            150,
-            0
-          ],
-          "ix": 2
-        },
-        "a": {
-          "a": 0,
-          "k": [
-            206,
-            150,
-            0
-          ],
-          "ix": 1
-        },
-        "s": {
-          "a": 0,
-          "k": [
-            100,
-            100,
-            100
-          ],
-          "ix": 6
-        }
-      },
-      "ao": 0,
-      "w": 412,
-      "h": 300,
-      "ip": 0,
-      "op": 1800,
-      "st": 0,
-      "bm": 0
-    }
-  ],
-  "markers": []
-}
\ No newline at end of file
diff --git a/res/raw/accessibility_shortcut_type_triple_tap_tablet.json b/res/raw/accessibility_shortcut_type_triple_tap_tablet.json
deleted file mode 100644
index b6a9b14..0000000
--- a/res/raw/accessibility_shortcut_type_triple_tap_tablet.json
+++ /dev/null
@@ -1 +0,0 @@
-{"v":"5.10.0","fr":60,"ip":0,"op":180,"w":412,"h":300,"nm":"Triple_Tap_Screen_Tablet-DT","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".grey600","cl":"grey600","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[205.999,149.375,0],"ix":2,"l":2},"a":{"a":0,"k":[205.999,149.375,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-1.367,0],[0,0],[0,-1.372],[0,0]],"o":[[0,-1.372],[0,0],[1.366,0],[0,0],[0,0]],"v":[[-6.933,0.746],[-4.457,-1.74],[4.457,-1.74],[6.933,0.746],[0.99,1.74]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960784314,0.525490196078,0.545098039216,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[318.382,49.604],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 3","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-1.367,0],[0,0],[0,-1.372],[0,0]],"o":[[0,-1.372],[0,0],[1.367,0],[0,0],[0,0]],"v":[[-13.37,0.746],[-10.894,-1.74],[10.894,-1.74],[13.37,0.746],[0.495,1.74]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960784314,0.525490196078,0.545098039216,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[276.958,49.604],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 2","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-8.146],[0,0],[8.146,0],[0,0],[0,8.146],[0,0],[-8.146,0],[0,0]],"o":[[0,0],[0,8.146],[0,0],[-8.146,0],[0,0],[0,-8.146],[0,0],[8.146,0]],"v":[[158.519,-84.974],[158.519,84.974],[143.769,99.724],[-143.769,99.724],[-158.519,84.974],[-158.519,-84.974],[-143.769,-99.724],[143.769,-99.724]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.501960784314,0.525490196078,0.545098039216,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[205.999,151.162],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 1","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":36,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":39.582,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":44.953,"s":[100]},{"t":55.697265625,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[207.641,154.48,0],"ix":2,"l":2},"a":{"a":0,"k":[-180.5,-165.5,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.45,0.45,0.45],"y":[0,0,0]},"t":37.791,"s":[27.252,27.252,100]},{"t":59,"s":[56.661,56.661,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[63.109,63.109],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.4,0.61568627451,0.964705882353,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-180.5,-165.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":36,"op":59,"st":-1,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".blue800","cl":"blue800","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":36,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":39.582,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":44.953,"s":[100]},{"t":55.697265625,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[207.641,154.48,0],"ix":2,"l":2},"a":{"a":0,"k":[-180.5,-165.5,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.45,0.45,0.45],"y":[0,0,0]},"t":37.791,"s":[27.252,27.252,100]},{"t":59,"s":[56.661,56.661,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[63.109,63.109],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.094117647059,0.352941176471,0.737254901961,1],"ix":4},"o":{"a":0,"k":50,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-180.5,-165.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":36,"op":59,"st":-1,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":22,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":25.58,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":30.953,"s":[100]},{"t":41.697265625,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[207.641,154.48,0],"ix":2,"l":2},"a":{"a":0,"k":[-180.5,-165.5,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.45,0.45,0.45],"y":[0,0,0]},"t":23.789,"s":[27.252,27.252,100]},{"t":45,"s":[56.661,56.661,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[63.109,63.109],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.4,0.61568627451,0.964705882353,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-180.5,-165.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":22,"op":45,"st":-3,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".blue800","cl":"blue800","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":22,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":25.58,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":30.953,"s":[100]},{"t":41.697265625,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[207.641,154.48,0],"ix":2,"l":2},"a":{"a":0,"k":[-180.5,-165.5,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.45,0.45,0.45],"y":[0,0,0]},"t":23.789,"s":[27.252,27.252,100]},{"t":45,"s":[56.661,56.661,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[63.109,63.109],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.094117647059,0.352941176471,0.737254901961,1],"ix":4},"o":{"a":0,"k":50,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-180.5,-165.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":22,"op":45,"st":-3,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":8,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":11.582,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":16.953,"s":[100]},{"t":27.697265625,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[207.641,154.48,0],"ix":2,"l":2},"a":{"a":0,"k":[-180.5,-165.5,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.45,0.45,0.45],"y":[0,0,0]},"t":9.791,"s":[27.252,27.252,100]},{"t":31,"s":[56.661,56.661,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[63.109,63.109],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.4,0.61568627451,0.964705882353,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-180.5,-165.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":8,"op":31,"st":-5,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".blue800","cl":"blue800","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":8,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":11.582,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":16.953,"s":[100]},{"t":27.697265625,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[207.641,154.48,0],"ix":2,"l":2},"a":{"a":0,"k":[-180.5,-165.5,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.45,0.45,0.45],"y":[0,0,0]},"t":9.791,"s":[27.252,27.252,100]},{"t":31,"s":[56.661,56.661,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[63.109,63.109],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.094117647059,0.352941176471,0.737254901961,1],"ix":4},"o":{"a":0,"k":50,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-180.5,-165.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":8,"op":31,"st":-5,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":".black","cl":"black","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,150,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[15.4,0],[0,0],[0,15.4],[0,0],[-15.4,0],[0,0],[0,-15.4],[0,0]],"o":[[0,0],[-15.4,0],[0,0],[0,-15.4],[0,0],[15.4,0],[0,0],[0,15.4]],"v":[[178,150],[-178,150],[-206,122],[-206,-122],[-178,-150],[178,-150],[206,-122],[206,122]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0}],"markers":[]}
\ No newline at end of file
diff --git a/res/raw/lottie_notification_cooldown.json b/res/raw/lottie_notification_cooldown.json
new file mode 100644
index 0000000..67658a1
--- /dev/null
+++ b/res/raw/lottie_notification_cooldown.json
@@ -0,0 +1 @@
+{"v":"5.12.1","fr":60,"ip":0,"op":720,"w":824,"h":600,"nm":"Panel v3 Lottie","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".cream","cl":"cream","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.05,"y":0},"t":270,"s":[60.438,75.468,0],"to":[0,0,0],"ti":[0,0,0]},{"t":300,"s":[58.188,65.718,0]}],"ix":2,"l":2},"a":{"a":0,"k":[30.219,37.734,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.05,0.05,0.05],"y":[0,0,0]},"t":270,"s":[200,200,100]},{"t":300,"s":[104.5,104.5,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.914,0],[-1.41,1.209],[-0.772,2.116],[0,2.62],[0.773,2.116],[1.444,1.209],[1.881,0],[1.41,-1.243],[0.773,-2.116],[0,-2.619],[-0.772,-2.116],[-1.411,-1.242]],"o":[[1.881,0],[1.444,-1.242],[0.773,-2.116],[0,-2.619],[-0.772,-2.116],[-1.41,-1.243],[-1.914,0],[-1.411,1.209],[-0.772,2.116],[0,2.62],[0.773,2.116],[1.41,1.209]],"v":[[0,13.955],[4.937,12.141],[8.262,7.104],[9.421,-0.001],[8.262,-7.104],[4.937,-12.09],[0,-13.955],[-4.987,-12.09],[-8.262,-7.104],[-9.42,-0.001],[-8.262,7.104],[-4.987,12.141]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[2.721,0],[2.116,1.578],[1.142,2.721],[0,3.359],[-1.109,2.72],[-2.082,1.579],[-2.754,0],[-2.082,-1.612],[-1.142,-2.754],[0,-3.358],[1.141,-2.754],[2.083,-1.612]],"o":[[-2.72,0],[-2.082,-1.612],[-1.109,-2.754],[0,-3.358],[1.142,-2.754],[2.082,-1.612],[2.721,0],[2.083,1.579],[1.141,2.72],[0,3.359],[-1.142,2.721],[-2.082,1.578]],"v":[[0,18.036],[-7.254,15.668],[-12.09,9.169],[-13.753,-0.001],[-12.09,-9.118],[-7.254,-15.618],[0,-18.036],[7.204,-15.618],[12.041,-9.118],[13.753,-0.001],[12.041,9.169],[7.204,15.668]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[111.033,55.77],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.116,0],[1.511,0.605],[1.242,1.276],[0.538,1.948],[0,0],[-1.277,-1.074],[-1.746,0],[-1.108,0.538],[-0.639,0.974],[0,1.209],[0.671,0.974],[1.142,0.537],[1.343,0],[0,0],[0,0],[0,0],[-1.242,1.041],[0,1.747],[1.209,0.974],[1.78,0],[1.008,-0.906],[0.437,-1.31],[0,0],[-1.713,1.444],[-2.72,0],[-1.612,-0.806],[-0.907,-1.444],[0,-1.78],[0.906,-1.242],[1.344,-0.705],[0,0],[-1.108,-1.478],[0,-1.982],[1.041,-1.612],[1.781,-0.907]],"o":[[-1.444,0],[-1.512,-0.604],[-1.209,-1.31],[0,0],[0.538,1.948],[1.309,1.075],[1.276,0],[1.108,-0.571],[0.671,-1.008],[0,-1.175],[-0.639,-0.974],[-1.108,-0.571],[0,0],[0,0],[0,0],[1.847,0],[1.243,-1.075],[0,-1.612],[-1.209,-0.974],[-1.746,0],[-0.974,0.907],[0,0],[0.604,-1.814],[1.746,-1.478],[2.015,0],[1.612,0.806],[0.941,1.444],[0,1.78],[-0.907,1.243],[0,0],[1.713,0.705],[1.108,1.444],[0,2.015],[-1.008,1.613],[-1.746,0.907]],"v":[[-0.176,18.035],[-4.609,17.128],[-8.74,14.307],[-11.36,9.42],[-7.481,7.808],[-4.76,12.342],[-0.176,13.954],[3.401,13.148],[6.021,10.831],[7.028,7.506],[6.021,4.282],[3.35,2.015],[-0.327,1.158],[-3.299,1.158],[-3.299,-2.821],[-0.629,-2.821],[4.005,-4.383],[5.869,-8.615],[4.056,-12.494],[-0.428,-13.955],[-4.559,-12.595],[-6.675,-9.27],[-10.604,-10.932],[-7.128,-15.819],[-0.428,-18.035],[5.013,-16.826],[8.791,-13.451],[10.202,-8.615],[8.842,-4.081],[5.466,-1.159],[5.466,-0.957],[9.698,2.317],[11.36,7.456],[9.799,12.896],[5.617,16.675]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[81.226,55.77],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 6","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.873,0],[0.638,0.605],[0,0.907],[-0.605,0.605],[-0.907,0],[-0.605,-0.638],[0,-0.873],[0.638,-0.638]],"o":[[-0.907,0],[-0.605,-0.638],[0,-0.873],[0.638,-0.638],[0.873,0],[0.638,0.605],[0,0.907],[-0.605,0.605]],"v":[[0.025,12.796],[-2.292,11.889],[-3.199,9.572],[-2.292,7.355],[0.025,6.398],[2.242,7.355],[3.199,9.572],[2.242,11.889]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.873,0],[0.638,0.605],[0,0.907],[-0.605,0.605],[-0.907,0],[-0.605,-0.638],[0,-0.873],[0.638,-0.638]],"o":[[-0.907,0],[-0.605,-0.638],[0,-0.873],[0.638,-0.638],[0.873,0],[0.638,0.605],[0,0.907],[-0.605,0.605]],"v":[[0.025,-6.398],[-2.292,-7.305],[-3.199,-9.622],[-2.292,-11.839],[0.025,-12.796],[2.242,-11.839],[3.199,-9.622],[2.242,-7.305]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[61.915,60.505],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7","np":4,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.343,0],[-1.142,0.638],[-0.672,1.108],[0,1.343],[0.671,1.108],[1.175,0.638],[1.343,0],[1.142,-0.672],[0.672,-1.142],[0,-1.377],[-0.672,-1.142],[-1.108,-0.672]],"o":[[1.343,0],[1.175,-0.672],[0.671,-1.142],[0,-1.377],[-0.672,-1.142],[-1.142,-0.672],[-1.343,0],[-1.108,0.638],[-0.672,1.108],[0,1.343],[0.672,1.108],[1.142,0.638]],"v":[[-0.051,0.806],[3.678,-0.151],[6.449,-2.821],[7.456,-6.549],[6.449,-10.277],[3.678,-12.947],[-0.051,-13.955],[-3.779,-12.947],[-6.449,-10.277],[-7.457,-6.549],[-6.449,-2.821],[-3.779,-0.151]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[1.814,0],[1.679,0.974],[1.074,1.679],[0,2.082],[-1.075,1.746],[-1.78,1.075],[-2.082,0],[-1.78,-1.108],[-0.974,-1.78],[0,-1.948],[0.772,-1.713],[1.41,-2.083],[0,0]],"o":[[0,0],[0,0],[-1.176,0.806],[-1.746,0],[-1.68,-0.974],[-1.041,-1.713],[0,-2.015],[1.075,-1.78],[1.814,-1.075],[2.317,0],[1.814,1.108],[1.008,1.746],[0,1.847],[-0.739,1.679],[0,0],[0,0]],"v":[[-5.089,15.667],[3.628,3.526],[3.527,3.426],[-0.958,4.635],[-6.096,3.174],[-10.227,-0.806],[-11.788,-6.499],[-10.176,-12.141],[-5.895,-16.423],[-0.051,-18.035],[6.096,-16.373],[10.277,-12.04],[11.788,-6.499],[10.63,-1.159],[7.406,4.484],[-1.663,18.035]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[42.007,55.77],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 8","np":4,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":720,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".cream","cl":"cream","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":168.552,"ix":3},"y":{"a":0,"k":54.681,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.05,0.05,0.05],"y":[0,0,0]},"t":556,"s":[20,20,100]},{"t":586,"s":[50,50,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[6.428,-491.836],[14.758,-490.711],[22.933,-488.794],[30.879,-486.091],[38.523,-482.63],[45.798,-478.436],[52.619,-473.52],[58.782,-467.809],[64.461,-461.621],[69.338,-454.782],[73.871,-447.708],[78.192,-440.497],[82.517,-433.286],[86.839,-426.075],[91.16,-418.864],[95.482,-411.653],[99.804,-404.442],[104.126,-397.231],[108.483,-390.044],[113.214,-383.095],[118.623,-376.662],[124.659,-370.811],[131.256,-365.6],[138.343,-361.084],[145.852,-357.302],[153.702,-354.292],[161.813,-352.086],[170.105,-350.705],[178.493,-350.164],[186.896,-350.481],[195.21,-351.684],[203.407,-353.545],[211.562,-355.588],[219.718,-357.63],[227.872,-359.673],[236.027,-361.716],[244.181,-363.761],[252.338,-365.803],[260.492,-367.846],[268.646,-369.889],[276.914,-371.411],[285.269,-372.203],[293.657,-372.215],[302.017,-371.414],[310.252,-369.719],[318.231,-367.08],[325.908,-363.685],[333.216,-359.562],[340.096,-354.753],[346.486,-349.301],[352.314,-343.241],[357.412,-336.56],[361.837,-329.422],[365.549,-321.897],[368.509,-314.043],[370.689,-305.936],[372.039,-297.638],[372.361,-289.24],[372.004,-280.849],[370.621,-272.565],[368.824,-264.356],[366.781,-256.2],[364.736,-248.045],[362.693,-239.891],[360.651,-231.737],[358.608,-223.58],[356.565,-215.426],[354.522,-207.272],[352.518,-199.108],[350.948,-190.852],[350.222,-182.478],[350.352,-174.071],[351.328,-165.723],[353.146,-157.514],[355.778,-149.53],[359.199,-141.853],[363.374,-134.555],[368.261,-127.715],[373.81,-121.4],[379.976,-115.683],[386.704,-110.652],[393.816,-106.172],[401.027,-101.85],[408.238,-97.528],[415.449,-93.207],[422.657,-88.885],[429.868,-84.563],[437.079,-80.241],[444.29,-75.919],[451.501,-71.597],[458.424,-66.826],[464.892,-61.481],[470.836,-55.558],[476.182,-49.083],[480.806,-42.061],[484.584,-34.554],[487.613,-26.727],[489.868,-18.643],[491.334,-10.378],[492.001,-2.006],[491.837,6.399],[490.717,14.73],[488.802,22.906],[486.104,30.852],[482.645,38.498],[478.456,45.775],[473.541,52.596],[467.831,58.762],[461.649,64.443],[454.811,69.326],[447.737,73.86],[440.526,78.18],[433.315,82.501],[426.105,86.823],[418.894,91.145],[411.68,95.465],[404.469,99.786],[397.258,104.108],[390.069,108.463],[383.12,113.192],[376.687,118.601],[370.833,124.635],[365.62,131.228],[361.1,138.316],[357.315,145.823],[354.303,153.672],[352.094,161.784],[350.711,170.075],[350.167,178.464],[350.487,186.866],[351.683,195.181],[353.544,203.378],[355.589,211.532],[357.631,219.686],[359.674,227.843],[361.717,235.997],[363.762,244.151],[365.805,252.306],[367.847,260.462],[369.892,268.617],[371.413,276.884],[372.209,285.237],[372.224,293.628],[371.424,301.988],[369.729,310.223],[367.095,318.202],[363.7,325.879],[359.582,333.191],[354.775,340.071],[349.328,346.464],[343.269,352.292],[336.587,357.392],[329.452,361.82],[321.927,365.534],[314.075,368.499],[305.968,370.683],[297.67,372.031],[289.272,372.357],[280.883,372.005],[272.597,370.622],[264.388,368.83],[256.234,366.785],[248.077,364.742],[239.923,362.699],[231.769,360.657],[223.615,358.614],[215.458,356.571],[207.304,354.526],[199.14,352.521],[190.884,350.949],[182.51,350.221],[174.105,350.344],[165.754,351.32],[157.546,353.134],[149.562,355.763],[141.88,359.181],[134.582,363.354],[127.74,368.236],[121.423,373.785],[115.708,379.949],[110.672,386.673],[106.19,393.784],[101.868,400.995],[97.546,408.206],[93.224,415.417],[88.902,422.628],[84.581,429.839],[80.259,437.05],[75.937,444.261],[71.615,451.472],[66.846,458.394],[61.503,464.868],[55.583,470.811],[49.11,476.162],[42.088,480.786],[34.586,484.569],[26.758,487.6],[18.675,489.86],[10.412,491.328],[2.04,492],[-6.367,491.834],[-14.696,490.718],[-22.874,488.808],[-30.82,486.115],[-38.469,482.661],[-45.748,478.474],[-52.569,473.559],[-58.737,467.851],[-64.421,461.671],[-69.305,454.836],[-73.842,447.762],[-78.164,440.551],[-82.484,433.34],[-86.805,426.13],[-91.127,418.918],[-95.449,411.708],[-99.769,404.497],[-104.09,397.283],[-108.445,390.094],[-113.171,383.143],[-118.576,376.707],[-124.607,370.851],[-131.201,365.636],[-138.287,361.113],[-145.793,357.325],[-153.64,354.309],[-161.749,352.098],[-170.041,350.71],[-178.432,350.169],[-186.832,350.483],[-195.149,351.675],[-203.346,353.533],[-211.5,355.578],[-219.654,357.621],[-227.809,359.664],[-235.965,361.706],[-244.12,363.751],[-252.274,365.794],[-260.428,367.837],[-268.585,369.882],[-276.85,371.404],[-285.205,372.204],[-293.594,372.225],[-301.956,371.43],[-310.191,369.735],[-318.17,367.104],[-325.849,363.716],[-333.162,359.6],[-340.046,354.796],[-346.442,349.351],[-352.269,343.291],[-357.371,336.612],[-361.804,329.482],[-365.521,321.956],[-368.488,314.107],[-370.677,306],[-372.025,297.702],[-372.356,289.304],[-372.006,280.915],[-370.628,272.629],[-368.836,264.42],[-366.793,256.264],[-364.75,248.109],[-362.708,239.955],[-360.662,231.801],[-358.62,223.646],[-356.577,215.49],[-354.532,207.336],[-352.527,199.172],[-350.95,190.916],[-350.22,182.542],[-350.34,174.137],[-351.312,165.786],[-353.123,157.578],[-355.749,149.591],[-359.166,141.91],[-363.334,134.609],[-368.216,127.765],[-373.763,121.447],[-379.924,115.728],[-386.645,110.688],[-393.755,106.205],[-400.968,101.886],[-408.179,97.564],[-415.39,93.242],[-422.601,88.923],[-429.814,84.601],[-437.025,80.281],[-444.236,75.96],[-451.449,71.64],[-458.372,66.871],[-464.845,61.533],[-470.793,55.615],[-476.148,49.144],[-480.771,42.123],[-484.556,34.621],[-487.591,26.795],[-489.854,18.714],[-491.327,10.451],[-492.001,2.077],[-491.837,-6.328],[-490.724,-14.659],[-488.818,-22.835],[-486.128,-30.786],[-482.678,-38.434],[-478.496,-45.716],[-473.581,-52.537],[-467.878,-58.71],[-461.701,-64.396],[-454.868,-69.283],[-447.796,-73.822],[-440.586,-78.144],[-433.375,-82.463],[-426.161,-86.785],[-418.95,-91.107],[-411.739,-95.429],[-404.529,-99.751],[-397.318,-104.073],[-390.126,-108.425],[-383.172,-113.146],[-376.732,-118.549],[-370.874,-124.578],[-365.656,-131.167],[-361.128,-138.252],[-357.338,-145.757],[-354.319,-153.601],[-352.104,-161.71],[-350.714,-170.002],[-350.17,-178.393],[-350.482,-186.793],[-351.666,-195.11],[-353.525,-203.307],[-355.567,-211.461],[-357.61,-219.618],[-359.655,-227.772],[-361.698,-235.926],[-363.741,-244.081],[-365.783,-252.237],[-367.826,-260.391],[-369.871,-268.546],[-371.396,-276.813],[-372.202,-285.166],[-372.226,-293.555],[-371.436,-301.917],[-369.741,-310.152],[-367.117,-318.133],[-363.731,-325.815],[-359.617,-333.13],[-354.818,-340.017],[-349.378,-346.414],[-343.318,-352.242],[-336.642,-357.349],[-329.511,-361.784],[-321.991,-365.505],[-314.141,-368.475],[-306.037,-370.669],[-297.738,-372.017],[-289.34,-372.35],[-280.952,-372.005],[-272.665,-370.629],[-264.454,-368.839],[-256.3,-366.796],[-248.146,-364.754],[-239.989,-362.709],[-231.835,-360.666],[-223.681,-358.623],[-215.526,-356.581],[-207.372,-354.535],[-199.208,-352.528],[-190.953,-350.951],[-182.578,-350.216],[-174.174,-350.334],[-165.823,-351.306],[-157.612,-353.115],[-149.626,-355.736],[-141.942,-359.148],[-134.639,-363.314],[-127.794,-368.194],[-121.477,-373.74],[-115.753,-379.899],[-110.708,-386.616],[-106.225,-393.725],[-101.903,-400.936],[-97.582,-408.147],[-93.26,-415.36],[-88.94,-422.571],[-84.618,-429.782],[-80.297,-436.993],[-75.975,-444.204],[-71.584,-451.531],[-66.813,-458.453],[-61.463,-464.917],[-55.538,-470.858],[-49.058,-476.202],[-42.039,-480.826],[-34.53,-484.599],[-26.699,-487.623],[-18.616,-489.876],[-10.351,-491.337],[-1.977,-491.999]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[8.9,8.9],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Material shape","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":556,"op":720,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".cream","cl":"cream","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":550,"s":[168.552]},{"t":580,"s":[226.447]}],"ix":3},"y":{"a":0,"k":54.681,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.05,0.05,0.05],"y":[0,0,0]},"t":466,"s":[20,20,100]},{"t":496,"s":[50,50,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[1.906,-488.758],[9.421,-487.243],[16.936,-485.728],[24.451,-484.213],[31.966,-482.698],[39.333,-480.59],[46.677,-478.385],[54.02,-476.18],[61.363,-473.975],[68.706,-471.77],[75.88,-469.081],[82.983,-466.201],[90.087,-463.319],[97.193,-460.436],[104.297,-457.556],[111.241,-454.323],[118.039,-450.782],[124.84,-447.241],[131.641,-443.702],[138.442,-440.161],[145.129,-436.429],[151.56,-432.254],[157.991,-428.079],[164.422,-423.907],[170.853,-419.732],[177.281,-415.554],[183.356,-410.878],[189.431,-406.2],[195.508,-401.524],[201.409,-396.642],[207.087,-391.489],[212.765,-386.336],[218.443,-381.184],[224.118,-376.031],[229.796,-370.878],[235.22,-365.461],[240.642,-360.04],[246.063,-354.618],[251.485,-349.197],[256.906,-343.775],[262.328,-338.354],[267.749,-332.932],[273.171,-327.513],[278.592,-322.092],[284.011,-316.671],[289.433,-311.249],[294.854,-305.828],[300.276,-300.406],[305.697,-294.985],[311.118,-289.563],[316.54,-284.142],[321.961,-278.72],[327.383,-273.299],[332.804,-267.88],[338.226,-262.458],[343.645,-257.037],[349.066,-251.615],[354.488,-246.194],[359.909,-240.772],[365.331,-235.351],[370.752,-229.929],[375.907,-224.256],[381.06,-218.578],[386.213,-212.9],[391.366,-207.222],[396.516,-201.547],[401.359,-195.612],[405.938,-189.462],[410.515,-183.315],[415.094,-177.165],[419.674,-171.015],[424.132,-164.785],[428.099,-158.223],[432.066,-151.662],[436.03,-145.1],[439.997,-138.539],[443.964,-131.978],[447.335,-125.097],[450.658,-118.187],[453.981,-111.277],[457.304,-104.369],[460.628,-97.459],[463.476,-90.348],[466.136,-83.158],[468.794,-75.967],[471.451,-68.776],[474.109,-61.583],[476.396,-54.274],[478.371,-46.868],[480.348,-39.459],[482.323,-32.051],[484.301,-24.645],[485.992,-17.176],[487.277,-9.617],[488.56,-2.058],[489.845,5.5],[491.128,13.059],[492.207,20.644],[492.793,28.287],[493.377,35.933],[493.962,43.576],[494.546,51.222],[495.001,58.87],[494.882,66.535],[494.766,74.203],[494.65,81.868],[494.531,89.533],[494.354,97.196],[493.536,104.819],[492.718,112.441],[491.9,120.065],[491.082,127.689],[490.264,135.31],[488.766,142.828],[487.248,150.345],[485.733,157.86],[484.218,165.375],[482.703,172.89],[480.597,180.258],[478.392,187.601],[476.188,194.944],[473.983,202.287],[471.778,209.63],[469.094,216.804],[466.211,223.908],[463.331,231.014],[460.448,238.117],[457.566,245.223],[454.337,252.167],[450.796,258.966],[447.255,265.767],[443.714,272.568],[440.173,279.369],[436.444,286.059],[432.269,292.489],[428.096,298.92],[423.921,305.351],[419.749,311.781],[415.571,318.21],[410.895,324.285],[406.219,330.362],[401.541,336.437],[396.661,342.34],[391.509,348.018],[386.356,353.696],[381.203,359.372],[376.05,365.05],[370.815,370.817],[365.139,375.97],[359.461,381.123],[353.783,386.276],[348.105,391.429],[342.43,396.579],[336.49,401.415],[330.34,405.994],[324.19,410.573],[318.04,415.15],[311.893,419.729],[305.658,424.182],[299.097,428.147],[292.535,432.114],[285.974,436.078],[279.412,440.045],[272.851,444.012],[265.965,447.376],[259.055,450.699],[252.145,454.022],[245.238,457.345],[238.328,460.668],[231.215,463.51],[224.024,466.167],[216.831,468.827],[209.64,471.485],[202.449,474.142],[195.138,476.42],[187.729,478.397],[180.323,480.372],[172.915,482.349],[165.506,484.324],[158.035,486.011],[150.476,487.294],[142.917,488.577],[135.359,489.862],[127.8,491.145],[120.217,492.217],[112.572,492.8],[104.928,493.386],[97.283,493.972],[89.639,494.555],[81.989,495],[74.324,494.884],[66.659,494.766],[58.991,494.649],[51.326,494.533],[43.663,494.347],[36.042,493.529],[28.418,492.711],[20.796,491.893],[13.173,491.075],[5.549,490.257],[-1.966,488.749],[-9.484,487.234],[-16.999,485.718],[-24.514,484.203],[-32.029,482.686],[-39.396,480.575],[-46.737,478.371],[-54.08,476.166],[-61.423,473.961],[-68.767,471.754],[-75.938,469.062],[-83.042,466.18],[-90.148,463.299],[-97.251,460.417],[-104.357,457.534],[-111.296,454.296],[-118.097,450.757],[-124.898,447.216],[-131.697,443.676],[-138.498,440.135],[-145.183,436.398],[-151.613,432.223],[-158.044,428.05],[-164.477,423.875],[-170.908,419.702],[-177.332,415.518],[-183.406,410.842],[-189.484,406.166],[-195.559,401.49],[-201.457,396.601],[-207.135,391.45],[-212.813,386.298],[-218.489,381.145],[-224.167,375.992],[-229.845,370.839],[-235.266,365.42],[-240.688,359.999],[-246.109,354.577],[-251.531,349.156],[-256.952,343.734],[-262.374,338.313],[-267.795,332.894],[-273.216,327.472],[-278.638,322.051],[-284.057,316.629],[-289.478,311.208],[-294.9,305.786],[-300.321,300.365],[-305.743,294.943],[-311.164,289.522],[-316.586,284.101],[-322.007,278.679],[-327.429,273.26],[-332.85,267.839],[-338.272,262.417],[-343.691,256.996],[-349.112,251.574],[-354.534,246.153],[-359.955,240.731],[-365.377,235.31],[-370.798,229.888],[-375.951,224.213],[-381.104,218.535],[-386.257,212.857],[-391.409,207.181],[-396.56,201.503],[-401.398,195.566],[-405.977,189.416],[-410.554,183.266],[-415.133,177.116],[-419.712,170.969],[-424.166,164.734],[-428.132,158.175],[-432.099,151.613],[-436.064,145.052],[-440.031,138.49],[-443.998,131.929],[-447.364,125.043],[-450.687,118.134],[-454.01,111.226],[-457.333,104.316],[-460.656,97.406],[-463.5,90.295],[-466.158,83.102],[-468.818,75.911],[-471.475,68.721],[-474.133,61.53],[-476.413,54.218],[-478.39,46.81],[-480.365,39.404],[-482.342,31.995],[-484.317,24.587],[-486.007,17.118],[-487.289,9.559],[-488.572,2],[-489.857,-5.558],[-491.14,-13.117],[-492.215,-20.702],[-492.798,-28.348],[-493.384,-35.991],[-493.969,-43.637],[-494.553,-51.28],[-495,-58.928],[-494.884,-66.596],[-494.768,-74.261],[-494.65,-81.926],[-494.533,-89.593],[-494.352,-97.254],[-493.534,-104.877],[-492.716,-112.499],[-491.895,-120.123],[-491.077,-127.747],[-490.259,-135.368],[-488.756,-142.886],[-487.239,-150.401],[-485.723,-157.918],[-484.208,-165.433],[-482.693,-172.948],[-480.583,-180.316],[-478.378,-187.659],[-476.173,-195],[-473.968,-202.343],[-471.763,-209.686],[-469.072,-216.86],[-466.192,-223.963],[-463.309,-231.067],[-460.426,-238.173],[-457.546,-245.277],[-454.31,-252.218],[-450.77,-259.019],[-447.229,-265.82],[-443.688,-272.619],[-440.149,-279.42],[-436.412,-286.107],[-432.24,-292.538],[-428.065,-298.968],[-423.892,-305.399],[-419.717,-311.83],[-415.537,-318.256],[-410.859,-324.331],[-406.183,-330.408],[-401.507,-336.483],[-396.62,-342.384],[-391.47,-348.062],[-386.317,-353.737],[-381.164,-359.415],[-376.011,-365.093],[-370.859,-370.771],[-365.185,-375.927],[-359.51,-381.079],[-353.832,-386.232],[-348.154,-391.385],[-342.476,-396.535],[-336.541,-401.376],[-330.394,-405.955],[-324.244,-410.532],[-318.094,-415.111],[-311.944,-419.69],[-305.714,-424.146],[-299.152,-428.113],[-292.591,-432.08],[-286.03,-436.044],[-279.468,-440.011],[-272.907,-443.978],[-266.023,-447.347],[-259.113,-450.67],[-252.203,-453.993],[-245.296,-457.316],[-238.386,-460.639],[-231.275,-463.486],[-224.084,-466.146],[-216.891,-468.803],[-209.701,-471.461],[-202.51,-474.118],[-195.198,-476.403],[-187.792,-478.378],[-180.384,-480.355],[-172.975,-482.33],[-165.569,-484.308],[-158.097,-485.997],[-150.539,-487.282],[-142.98,-488.565],[-135.422,-489.85],[-127.863,-491.133],[-120.28,-492.21],[-112.635,-492.793],[-104.991,-493.379],[-97.346,-493.965],[-89.702,-494.548],[-82.054,-495.001],[-74.387,-494.882],[-66.721,-494.766],[-59.056,-494.647],[-51.389,-494.531],[-43.729,-494.352],[-36.105,-493.534],[-28.481,-492.716],[-20.859,-491.898],[-13.235,-491.079],[-5.614,-490.262]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[8.9,8.9],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Material shape","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":466,"op":720,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".cream","cl":"cream","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":460,"s":[168.552]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":490,"s":[228.36]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":548,"s":[228.36]},{"t":578,"s":[286.255]}],"ix":3},"y":{"a":0,"k":56.117,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.05,0.05,0.05],"y":[0,0,0]},"t":376,"s":[20,20,100]},{"t":406,"s":[50,50,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-0.166,-494.001],[7.12,-493.774],[14.408,-493.545],[21.649,-492.74],[28.884,-491.832],[36.083,-490.728],[43.201,-489.145],[50.316,-487.56],[57.326,-485.578],[64.297,-483.437],[71.118,-480.865],[77.874,-478.138],[84.452,-474.996],[90.937,-471.679],[97.177,-467.909],[103.351,-464.041],[109.218,-459.713],[115.084,-455.382],[120.918,-451.015],[126.346,-446.147],[131.773,-441.278],[137.2,-436.408],[142.626,-431.541],[148.053,-426.671],[153.481,-421.804],[158.906,-416.935],[164.135,-411.855],[169.32,-406.728],[174.504,-401.604],[179.687,-396.478],[184.872,-391.352],[190.056,-386.225],[195.241,-381.101],[200.426,-375.975],[205.61,-370.849],[210.795,-365.722],[215.952,-360.568],[221.106,-355.413],[226.261,-350.259],[231.417,-345.102],[236.572,-339.948],[241.726,-334.793],[246.883,-329.637],[252.037,-324.482],[257.192,-319.328],[262.348,-314.171],[267.503,-309.017],[272.66,-303.86],[277.814,-298.706],[282.968,-293.551],[288.125,-288.395],[293.279,-283.24],[298.434,-278.086],[303.591,-272.929],[308.745,-267.775],[313.899,-262.62],[319.056,-257.464],[324.21,-252.309],[329.367,-247.155],[334.522,-241.998],[339.676,-236.844],[344.833,-231.687],[349.987,-226.533],[355.141,-221.378],[360.298,-216.222],[365.453,-211.067],[370.493,-205.798],[375.53,-200.53],[380.57,-195.261],[385.608,-189.99],[390.646,-184.721],[395.683,-179.452],[400.723,-174.181],[405.761,-168.912],[410.798,-163.644],[415.836,-158.372],[420.876,-153.104],[425.914,-147.835],[430.952,-142.564],[435.991,-137.295],[441.029,-132.026],[446.067,-126.755],[450.661,-121.106],[455.085,-115.312],[459.508,-109.516],[463.855,-103.668],[467.716,-97.482],[471.57,-91.295],[474.768,-84.743],[477.969,-78.192],[480.665,-71.43],[483.133,-64.569],[485.537,-57.689],[487.344,-50.625],[489.151,-43.564],[490.61,-36.427],[491.744,-29.226],[492.879,-22.024],[493.364,-14.752],[493.82,-7.476],[494.002,-0.195],[493.775,7.093],[493.546,14.379],[492.743,21.622],[491.835,28.854],[490.734,36.056],[489.151,43.171],[487.566,50.289],[485.586,57.299],[483.445,64.27],[480.873,71.091],[478.151,77.849],[475.007,84.427],[471.692,90.913],[467.924,97.152],[464.056,103.329],[459.728,109.196],[455.4,115.062],[451.034,120.898],[446.165,126.326],[441.295,131.751],[436.428,137.178],[431.558,142.606],[426.691,148.031],[421.822,153.458],[416.954,158.886],[411.875,164.115],[406.748,169.3],[401.624,174.482],[396.498,179.667],[391.371,184.852],[386.245,190.036],[381.119,195.221],[375.995,200.406],[370.868,205.591],[365.742,210.775],[360.587,215.932],[355.433,221.086],[350.279,226.241],[345.122,231.398],[339.968,236.552],[334.813,241.706],[329.657,246.863],[324.502,252.017],[319.348,257.172],[314.191,262.328],[309.037,267.483],[303.88,272.637],[298.726,277.794],[293.571,282.948],[288.414,288.105],[283.26,293.259],[278.106,298.414],[272.949,303.571],[267.795,308.725],[262.64,313.879],[257.483,319.036],[252.329,324.19],[247.172,329.345],[242.018,334.502],[236.864,339.656],[231.707,344.813],[226.553,349.967],[221.398,355.121],[216.241,360.278],[211.005,365.514],[205.734,370.554],[200.465,375.592],[195.197,380.63],[189.926,385.667],[184.657,390.707],[179.388,395.745],[174.117,400.783],[168.848,405.82],[163.577,410.86],[158.308,415.898],[153.04,420.936],[147.768,425.973],[142.5,431.013],[137.231,436.051],[131.96,441.089],[126.691,446.129],[121.035,450.713],[115.238,455.137],[109.444,459.561],[103.59,463.901],[97.406,467.759],[91.212,471.606],[84.662,474.805],[78.112,478.005],[71.344,480.692],[64.484,483.159],[57.602,485.559],[50.538,487.366],[43.476,489.173],[36.34,490.623],[29.138,491.759],[21.936,492.894],[14.662,493.37],[7.386,493.825],[0.105,494.001],[-7.183,493.772],[-14.469,493.545],[-21.71,492.733],[-28.944,491.825],[-36.144,490.716],[-43.259,489.133],[-50.377,487.548],[-57.387,485.562],[-64.355,483.421],[-71.176,480.846],[-77.93,478.115],[-84.508,474.973],[-90.991,471.648],[-97.231,467.881],[-103.403,464.006],[-109.269,459.678],[-115.136,455.35],[-120.967,450.977],[-126.392,446.108],[-131.82,441.24],[-137.247,436.373],[-142.675,431.504],[-148.1,426.636],[-153.527,421.767],[-158.955,416.899],[-164.179,411.817],[-169.364,406.691],[-174.549,401.565],[-179.733,396.441],[-184.918,391.314],[-190.103,386.188],[-195.288,381.062],[-200.472,375.937],[-205.657,370.811],[-210.842,365.685],[-215.996,360.53],[-221.153,355.376],[-226.307,350.219],[-231.462,345.065],[-236.619,339.908],[-241.773,334.754],[-246.927,329.599],[-252.084,324.443],[-257.238,319.288],[-262.393,314.132],[-267.547,308.977],[-272.704,303.823],[-277.858,298.666],[-283.013,293.512],[-288.169,288.355],[-293.324,283.201],[-298.478,278.044],[-303.635,272.889],[-308.789,267.735],[-313.944,262.578],[-319.098,257.424],[-324.255,252.267],[-329.409,247.113],[-334.564,241.956],[-339.72,236.802],[-344.875,231.647],[-350.029,226.491],[-355.186,221.336],[-360.34,216.18],[-365.495,211.025],[-370.535,205.756],[-375.572,200.488],[-380.61,195.216],[-385.65,189.948],[-390.688,184.679],[-395.725,179.408],[-400.765,174.139],[-405.803,168.87],[-410.84,163.599],[-415.88,158.331],[-420.918,153.062],[-425.956,147.793],[-430.993,142.522],[-436.033,137.253],[-441.071,131.984],[-446.109,126.713],[-450.698,121.059],[-455.122,115.265],[-459.546,109.469],[-463.888,103.616],[-467.747,97.433],[-471.596,91.242],[-474.794,84.689],[-477.992,78.139],[-480.684,71.371],[-483.151,64.513],[-485.551,57.631],[-487.358,50.567],[-489.167,43.505],[-490.619,36.369],[-491.754,29.167],[-492.888,21.966],[-493.369,14.692],[-493.824,7.415],[-494.002,0.134],[-493.773,-7.151],[-493.546,-14.44],[-492.739,-21.681],[-491.828,-28.915],[-490.722,-36.115],[-489.139,-43.23],[-487.554,-50.347],[-485.57,-57.358],[-483.431,-64.328],[-480.857,-71.147],[-478.128,-77.903],[-474.986,-84.484],[-471.666,-90.966],[-467.898,-97.206],[-464.028,-103.378],[-459.697,-109.245],[-455.369,-115.111],[-450.999,-120.945],[-446.13,-126.37],[-441.26,-131.798],[-436.393,-137.223],[-431.523,-142.65],[-426.654,-148.075],[-421.787,-153.503],[-416.917,-158.93],[-411.835,-164.157],[-406.711,-169.34],[-401.585,-174.524],[-396.458,-179.709],[-391.332,-184.894],[-386.205,-190.078],[-381.081,-195.263],[-375.955,-200.448],[-370.829,-205.63],[-365.702,-210.815],[-360.548,-215.972],[-355.393,-221.129],[-350.239,-226.283],[-345.082,-231.437],[-339.928,-236.594],[-334.774,-241.748],[-329.617,-246.905],[-324.462,-252.06],[-319.308,-257.214],[-314.154,-262.371],[-308.997,-267.525],[-303.843,-272.682],[-298.688,-277.836],[-293.532,-282.993],[-288.377,-288.147],[-283.223,-293.302],[-278.066,-298.458],[-272.912,-303.613],[-267.757,-308.769],[-262.603,-313.924],[-257.446,-319.081],[-252.292,-324.235],[-247.137,-329.389],[-241.981,-334.546],[-236.826,-339.7],[-231.672,-344.857],[-226.515,-350.011],[-221.361,-355.166],[-216.206,-360.323],[-211.052,-365.477],[-205.781,-370.517],[-200.512,-375.555],[-195.243,-380.592],[-189.972,-385.632],[-184.703,-390.67],[-179.435,-395.708],[-174.164,-400.745],[-168.895,-405.783],[-163.624,-410.823],[-158.355,-415.861],[-153.086,-420.898],[-147.815,-425.936],[-142.546,-430.976],[-137.275,-436.014],[-132.006,-441.051],[-126.738,-446.089],[-121.084,-450.681],[-115.29,-455.105],[-109.493,-459.528],[-103.643,-463.87],[-97.459,-467.731],[-91.269,-471.583],[-84.718,-474.781],[-78.168,-477.982],[-71.403,-480.676],[-64.542,-483.143],[-57.662,-485.545],[-50.598,-487.352],[-43.534,-489.159],[-36.4,-490.616],[-29.199,-491.75],[-21.997,-492.885],[-14.723,-493.368],[-7.447,-493.823]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[8.9,8.9],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Material shape","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":376,"op":720,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".cream","cl":"cream","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[167,56,0],"ix":2,"l":2},"a":{"a":0,"k":[-83.117,-32.398,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.18,0.18,0.667],"y":[1,1,1]},"o":{"x":[0.678,0.678,0.333],"y":[-0.009,-0.009,0]},"t":60,"s":[100,100,100]},{"i":{"x":[0.325,0.325,0.667],"y":[1,1,1]},"o":{"x":[0.678,0.678,0.333],"y":[0,0,0]},"t":70,"s":[105,105,100]},{"t":80,"s":[40,40,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[44,44],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":22,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-83.117,-32.398],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":80,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".cream","cl":"cream","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[167,56,0],"ix":2,"l":2},"a":{"a":0,"k":[-83.117,-32.398,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.178,0.178,0.667],"y":[1,1,1]},"o":{"x":[0.562,0.562,0.333],"y":[0,0,0]},"t":82,"s":[40,40,100]},{"i":{"x":[0.351,0.351,0.667],"y":[1,1,1]},"o":{"x":[0.762,0.762,0.333],"y":[0,0,0]},"t":92,"s":[105,105,100]},{"t":102,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-12.15],[12.15,0],[0,12.15],[-12.15,0]],"o":[[0,12.15],[-12.15,0],[0,-12.15],[12.15,0]],"v":[[22,0],[0,22],[-22,0],[0,-22]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-83.117,-32.398],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":82,"op":150,"st":-10,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".cream","cl":"cream","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":150,"s":[0]},{"t":180,"s":[90]}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":270,"s":[167.116]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":300,"s":[167.595]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":370,"s":[167.595]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":400,"s":[227.643]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":458,"s":[227.643]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":488,"s":[287.451]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":546,"s":[287.451]},{"t":576,"s":[348.217]}],"ix":3},"y":{"a":0,"k":56.117,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[50,50,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.05,"y":0},"t":150,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[3.419,-496.632],[11.147,-496.256],[18.878,-495.883],[26.606,-495.507],[34.334,-495.132],[42.064,-494.758],[49.739,-493.839],[57.397,-492.716],[65.053,-491.594],[72.709,-490.474],[80.365,-489.352],[88.023,-488.232],[95.594,-486.684],[103.108,-484.832],[110.622,-482.977],[118.135,-481.125],[125.647,-479.273],[133.16,-477.422],[140.563,-475.196],[147.865,-472.639],[155.169,-470.079],[162.471,-467.521],[169.773,-464.961],[177.077,-462.401],[184.232,-459.48],[191.262,-456.243],[198.291,-453.009],[205.321,-449.772],[212.35,-446.538],[219.378,-443.302],[226.21,-439.684],[232.907,-435.807],[239.604,-431.932],[246.302,-428.055],[252.999,-424.178],[259.696,-420.303],[266.124,-416.009],[272.436,-411.53],[278.746,-407.053],[285.058,-402.573],[291.367,-398.097],[297.679,-393.617],[303.632,-388.683],[309.506,-383.645],[315.38,-378.607],[321.251,-373.569],[327.125,-368.531],[332.998,-363.493],[338.412,-357.966],[343.799,-352.41],[349.187,-346.857],[354.574,-341.301],[359.963,-335.747],[365.307,-330.155],[370.165,-324.13],[375.02,-318.107],[379.877,-312.082],[384.732,-306.056],[389.59,-300.033],[394.326,-293.921],[398.608,-287.474],[402.89,-281.03],[407.172,-274.585],[411.454,-268.138],[415.736,-261.694],[419.82,-255.129],[423.488,-248.316],[427.153,-241.501],[430.821,-234.688],[434.486,-227.873],[438.154,-221.057],[441.554,-214.117],[444.569,-206.989],[447.582,-199.863],[450.595,-192.734],[453.61,-185.608],[456.623,-178.48],[459.325,-171.238],[461.651,-163.859],[463.977,-156.478],[466.304,-149.099],[468.63,-141.718],[470.956,-134.339],[472.967,-126.876],[474.579,-119.307],[476.19,-111.738],[477.798,-104.169],[479.409,-96.6],[481.021,-89.033],[482.413,-81.425],[483.41,-73.753],[484.409,-66.078],[485.408,-58.405],[486.251,-50.718],[486.624,-42.99],[487,-35.26],[487.374,-27.532],[487.749,-19.801],[488.125,-12.073],[488.498,-4.345],[488.132,3.385],[487.759,11.113],[487.383,18.844],[487.01,26.572],[486.634,34.302],[486.258,42.03],[485.341,49.708],[484.221,57.363],[483.099,65.019],[481.979,72.675],[480.857,80.333],[479.735,87.989],[478.191,95.563],[476.339,103.074],[474.487,110.588],[472.633,118.102],[470.781,125.615],[468.929,133.129],[466.708,140.532],[464.148,147.834],[461.588,155.135],[459.031,162.44],[456.471,169.742],[453.913,177.046],[450.992,184.201],[447.758,191.23],[444.521,198.26],[441.287,205.29],[438.05,212.319],[434.816,219.349],[431.199,226.181],[427.324,232.878],[423.447,239.576],[419.57,246.273],[415.695,252.97],[411.817,259.667],[407.526,266.098],[403.049,272.407],[398.57,278.719],[394.093,285.029],[389.614,291.341],[385.137,297.65],[380.204,303.606],[375.167,309.479],[370.126,315.353],[365.088,321.227],[360.05,327.098],[355.012,332.972],[349.488,338.388],[343.934,343.775],[338.378,349.162],[332.825,354.55],[327.269,359.939],[321.679,365.286],[315.654,370.143],[309.631,374.998],[303.606,379.855],[297.58,384.71],[291.557,389.568],[285.445,394.307],[279.001,398.589],[272.556,402.871],[266.11,407.153],[259.665,411.435],[253.218,415.716],[246.656,419.803],[239.843,423.471],[233.028,427.136],[226.215,430.804],[219.399,434.469],[212.586,438.137],[205.646,441.54],[198.517,444.555],[191.392,447.568],[184.263,450.58],[177.137,453.596],[170.009,456.608],[162.77,459.313],[155.388,461.639],[148.01,463.965],[140.628,466.292],[133.25,468.62],[125.868,470.947],[118.405,472.958],[110.836,474.569],[103.269,476.18],[95.7,477.791],[88.131,479.402],[80.562,481.013],[72.957,482.405],[65.284,483.405],[57.609,484.402],[49.937,485.401],[42.25,486.246],[34.519,486.622],[26.791,486.995],[19.063,487.371],[11.333,487.744],[3.605,488.12],[-4.249,488.5],[-11.977,488.127],[-19.707,487.752],[-27.435,487.376],[-35.166,487.003],[-42.894,486.627],[-50.624,486.254],[-58.299,485.326],[-65.955,484.204],[-73.611,483.084],[-81.269,481.962],[-88.925,480.84],[-96.581,479.72],[-104.152,478.164],[-111.666,476.312],[-119.179,474.461],[-126.691,472.609],[-134.204,470.757],[-141.718,468.905],[-149.119,466.675],[-156.42,464.115],[-163.725,461.557],[-171.026,458.997],[-178.331,456.437],[-185.632,453.88],[-192.787,450.951],[-199.814,447.715],[-206.844,444.48],[-213.874,441.246],[-220.903,438.01],[-227.933,434.775],[-234.76,431.151],[-241.458,427.274],[-248.155,423.399],[-254.852,419.521],[-261.55,415.647],[-268.247,411.769],[-274.672,407.471],[-280.984,402.991],[-287.294,398.514],[-293.606,394.035],[-299.915,389.558],[-306.225,385.079],[-312.178,380.142],[-318.049,375.101],[-323.923,370.064],[-329.797,365.025],[-335.67,359.987],[-341.542,354.95],[-346.953,349.418],[-352.34,343.864],[-357.727,338.308],[-363.115,332.755],[-368.502,327.199],[-373.843,321.605],[-378.701,315.58],[-383.556,309.557],[-388.413,303.531],[-393.268,297.506],[-398.125,291.483],[-402.858,285.366],[-407.14,278.921],[-411.421,272.477],[-415.703,266.03],[-419.985,259.586],[-424.267,253.139],[-428.346,246.574],[-432.014,239.759],[-435.68,232.943],[-439.347,226.13],[-443.015,219.315],[-446.68,212.502],[-450.076,205.557],[-453.091,198.431],[-456.104,191.303],[-459.116,184.177],[-462.132,177.048],[-465.144,169.922],[-467.841,162.678],[-470.168,155.297],[-472.494,147.918],[-474.821,140.537],[-477.147,133.158],[-479.473,125.777],[-481.477,118.311],[-483.088,110.744],[-484.699,103.176],[-486.31,95.606],[-487.921,88.037],[-489.532,80.468],[-490.917,72.863],[-491.917,65.188],[-492.914,57.515],[-493.913,49.843],[-494.751,42.153],[-495.127,34.425],[-495.5,26.697],[-495.876,18.967],[-496.249,11.239],[-496.625,3.508],[-496.998,-4.22],[-496.627,-11.95],[-496.254,-19.678],[-495.878,-27.406],[-495.502,-35.137],[-495.129,-42.865],[-494.754,-50.595],[-493.831,-58.27],[-492.709,-65.926],[-491.589,-73.584],[-490.467,-81.24],[-489.345,-88.896],[-488.225,-96.552],[-486.674,-104.126],[-484.82,-111.637],[-482.968,-119.151],[-481.116,-126.664],[-479.264,-134.178],[-477.412,-141.692],[-475.184,-149.092],[-472.624,-156.394],[-470.067,-163.698],[-467.507,-171],[-464.949,-178.304],[-462.389,-185.606],[-459.463,-192.761],[-456.229,-199.79],[-452.992,-206.82],[-449.758,-213.847],[-446.524,-220.877],[-443.287,-227.906],[-439.665,-234.736],[-435.79,-241.434],[-431.913,-248.131],[-428.038,-254.828],[-424.161,-261.526],[-420.284,-268.223],[-415.987,-274.65],[-411.51,-280.96],[-407.031,-287.272],[-402.554,-293.582],[-398.075,-299.894],[-393.598,-306.203],[-388.661,-312.156],[-383.623,-318.03],[-378.585,-323.901],[-373.547,-329.775],[-368.507,-335.649],[-363.469,-341.522],[-357.942,-346.934],[-352.386,-352.321],[-346.832,-357.708],[-341.277,-363.095],[-335.723,-368.485],[-330.129,-373.826],[-324.103,-378.684],[-318.08,-383.539],[-312.055,-388.396],[-306.03,-393.251],[-300.007,-398.109],[-293.892,-402.843],[-287.448,-407.125],[-281.001,-411.407],[-274.556,-415.689],[-268.11,-419.971],[-261.665,-424.252],[-255.1,-428.334],[-248.285,-432.002],[-241.472,-435.667],[-234.657,-439.335],[-227.844,-443.003],[-221.029,-446.668],[-214.086,-450.066],[-206.96,-453.081],[-199.831,-456.094],[-192.705,-459.107],[-185.577,-462.122],[-178.451,-465.135],[-171.207,-467.834],[-163.828,-470.161],[-156.447,-472.487],[-149.068,-474.813],[-141.687,-477.14],[-134.308,-479.466],[-126.842,-481.472],[-119.273,-483.083],[-111.704,-484.694],[-104.138,-486.306],[-96.569,-487.917],[-88.999,-489.528],[-81.392,-490.917],[-73.719,-491.914],[-66.046,-492.914],[-58.371,-493.911],[-50.684,-494.751],[-42.956,-495.127],[-35.226,-495.5],[-27.498,-495.876],[-19.77,-496.251],[-12.039,-496.625],[-4.311,-497]],"c":true}]},{"t":180,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-0.652,-437.366],[8.33,-437.659],[17.312,-437.953],[26.249,-438.778],[35.158,-439.948],[44.07,-441.114],[52.848,-442.998],[61.602,-445.033],[70.348,-447.09],[78.906,-449.835],[87.432,-452.668],[95.787,-455.975],[104.114,-459.352],[112.356,-462.932],[120.6,-466.51],[128.842,-470.088],[137.086,-473.668],[145.494,-476.842],[153.901,-480.013],[162.309,-483.184],[170.98,-485.538],[179.663,-487.853],[188.349,-490.149],[197.221,-491.579],[206.092,-493.009],[214.984,-494.276],[223.954,-494.806],[232.926,-495.333],[241.897,-495.501],[250.877,-495.127],[259.857,-494.753],[268.778,-493.782],[277.678,-492.525],[286.574,-491.265],[295.31,-489.158],[304.044,-487.043],[312.697,-484.654],[321.19,-481.719],[329.683,-478.781],[337.963,-475.306],[346.144,-471.59],[354.301,-467.824],[362.109,-463.379],[369.919,-458.93],[377.531,-454.173],[384.91,-449.042],[392.286,-443.909],[399.256,-438.244],[406.146,-432.478],[412.915,-426.575],[419.27,-420.22],[425.623,-413.867],[431.614,-407.178],[437.38,-400.286],[443.14,-393.391],[448.274,-386.013],[453.404,-378.636],[458.262,-371.087],[462.71,-363.279],[467.158,-355.469],[471.032,-347.367],[474.745,-339.186],[478.338,-330.954],[481.276,-322.461],[484.212,-313.968],[486.723,-305.35],[488.838,-296.616],[490.956,-287.883],[492.333,-279.009],[493.59,-270.109],[494.694,-261.198],[495.065,-252.221],[495.439,-243.241],[495.406,-234.267],[494.88,-225.295],[494.35,-216.325],[493.216,-207.421],[491.786,-198.549],[490.356,-189.678],[488.193,-180.962],[485.878,-172.278],[483.559,-163.597],[480.481,-155.159],[477.307,-146.752],[474.136,-138.342],[470.618,-130.075],[467.038,-121.833],[463.46,-113.589],[459.882,-105.347],[456.543,-97.007],[453.374,-88.597],[450.208,-80.187],[447.684,-71.571],[445.361,-62.891],[443.04,-54.21],[441.544,-45.348],[440.087,-36.481],[438.775,-27.597],[438.19,-18.63],[437.605,-9.663],[437.362,-0.691],[437.653,8.291],[437.947,17.273],[438.77,26.21],[439.939,35.121],[441.105,44.031],[442.987,52.812],[445.022,61.566],[447.074,70.312],[449.819,78.87],[452.649,87.395],[455.956,95.753],[459.333,104.08],[462.911,112.322],[466.488,120.566],[470.069,128.808],[473.646,137.052],[476.823,145.458],[479.994,153.865],[483.165,162.275],[485.521,170.943],[487.84,179.627],[490.138,188.313],[491.568,197.184],[492.998,206.056],[494.27,214.945],[494.799,223.917],[495.326,232.887],[495.497,241.861],[495.123,250.838],[494.752,259.818],[493.783,268.742],[492.524,277.641],[491.267,286.538],[489.162,295.274],[487.047,304.008],[484.661,312.664],[481.725,321.156],[478.787,329.649],[475.315,337.926],[471.599,346.11],[467.838,354.267],[463.39,362.077],[458.944,369.885],[454.19,377.502],[449.059,384.879],[443.925,392.255],[438.263,399.227],[432.497,406.117],[426.596,412.888],[420.241,419.241],[413.888,425.596],[407.202,431.588],[400.31,437.356],[393.415,443.119],[386.039,448.252],[378.663,453.383],[371.113,458.243],[363.305,462.691],[355.498,467.14],[347.396,471.016],[339.215,474.732],[330.985,478.327],[322.492,481.265],[314,484.2],[305.381,486.714],[296.648,488.832],[287.914,490.947],[279.04,492.327],[270.143,493.586],[261.231,494.693],[252.252,495.067],[243.275,495.44],[234.298,495.41],[225.328,494.883],[216.356,494.354],[207.452,493.225],[198.581,491.795],[189.709,490.365],[180.993,488.207],[172.309,485.889],[163.628,483.573],[155.188,480.495],[146.781,477.323],[138.373,474.152],[130.106,470.634],[121.862,467.057],[113.62,463.476],[105.376,459.899],[97.036,456.559],[88.626,453.39],[80.216,450.224],[71.603,447.695],[62.922,445.374],[54.241,443.054],[45.382,441.553],[36.515,440.095],[27.631,438.781],[18.664,438.196],[9.697,437.612],[0.723,437.363],[-8.259,437.654],[-17.239,437.948],[-26.178,438.768],[-35.088,439.935],[-43.999,441.104],[-52.781,442.981],[-61.534,445.016],[-70.283,447.065],[-78.839,449.81],[-87.367,452.638],[-95.721,455.945],[-104.048,459.319],[-112.293,462.897],[-120.535,466.477],[-128.779,470.055],[-137.021,473.633],[-145.429,476.811],[-153.836,479.983],[-162.243,483.154],[-170.912,485.515],[-179.595,487.831],[-188.281,490.134],[-197.153,491.564],[-206.025,492.994],[-214.914,494.269],[-223.883,494.798],[-232.855,495.325],[-241.827,495.501],[-250.807,495.127],[-259.786,494.753],[-268.711,493.789],[-277.607,492.53],[-286.507,491.273],[-295.243,489.173],[-303.976,487.056],[-312.632,484.674],[-321.125,481.737],[-329.618,478.801],[-337.897,475.331],[-346.079,471.615],[-354.241,467.854],[-362.048,463.409],[-369.856,458.96],[-377.473,454.211],[-384.85,449.078],[-392.229,443.947],[-399.201,438.287],[-406.093,432.518],[-412.865,426.62],[-419.22,420.265],[-425.572,413.912],[-431.566,407.228],[-437.334,400.336],[-443.1,393.444],[-448.231,386.068],[-453.364,378.689],[-458.226,371.145],[-462.675,363.334],[-467.123,355.526],[-471.002,347.428],[-474.718,339.246],[-478.316,331.017],[-481.254,322.524],[-484.192,314.031],[-486.708,305.415],[-488.823,296.682],[-490.941,287.948],[-492.323,279.074],[-493.582,270.177],[-494.694,261.265],[-495.068,252.286],[-495.439,243.309],[-495.417,234.332],[-494.887,225.362],[-494.36,216.39],[-493.234,207.486],[-491.804,198.614],[-490.374,189.743],[-488.218,181.024],[-485.9,172.343],[-483.584,163.66],[-480.511,155.22],[-477.34,146.812],[-474.168,138.405],[-470.651,130.138],[-467.07,121.896],[-463.49,113.652],[-459.91,105.41],[-456.568,97.072],[-453.402,88.66],[-450.235,80.25],[-447.704,71.637],[-445.383,62.956],[-443.062,54.275],[-441.562,45.416],[-440.104,36.549],[-438.785,27.665],[-438.2,18.698],[-437.618,9.731],[-437.365,0.759],[-437.658,-8.223],[-437.949,-17.205],[-438.767,-26.145],[-439.934,-35.054],[-441.103,-43.963],[-442.977,-52.747],[-445.012,-61.498],[-447.059,-70.249],[-449.804,-78.805],[-452.631,-87.333],[-455.936,-95.69],[-459.31,-104.017],[-462.891,-112.259],[-466.468,-120.503],[-470.046,-128.745],[-473.684,-137.12],[-476.855,-145.53],[-480.027,-153.938],[-483.198,-162.345],[-485.546,-171.019],[-487.865,-179.699],[-490.153,-188.388],[-491.583,-197.26],[-493.013,-206.131],[-494.277,-215.023],[-494.807,-223.993],[-495.334,-232.965],[-495.497,-241.936],[-495.123,-250.916],[-494.752,-259.896],[-493.776,-268.817],[-492.516,-277.717],[-491.259,-286.613],[-489.149,-295.349],[-487.032,-304.083],[-484.641,-312.734],[-481.703,-321.227],[-478.767,-329.722],[-475.287,-337.996],[-471.572,-346.181],[-467.803,-354.335],[-463.357,-362.143],[-458.909,-369.953],[-454.149,-377.565],[-449.019,-384.941],[-443.885,-392.318],[-438.218,-399.285],[-432.452,-406.177],[-426.546,-412.944],[-420.193,-419.296],[-413.838,-425.652],[-407.147,-431.638],[-400.257,-437.406],[-393.358,-443.164],[-385.981,-448.295],[-378.605,-453.428],[-371.053,-458.283],[-363.245,-462.731],[-355.435,-467.177],[-347.334,-471.048],[-339.149,-474.764],[-330.917,-478.354],[-322.425,-481.29],[-313.932,-484.228],[-305.314,-486.734],[-296.58,-488.852],[-287.846,-490.967],[-278.97,-492.342],[-270.073,-493.599],[-261.161,-494.7],[-252.182,-495.072],[-243.202,-495.445],[-234.228,-495.41],[-225.258,-494.883],[-216.286,-494.354],[-207.382,-493.217],[-198.51,-491.787],[-189.639,-490.357],[-180.925,-488.192],[-172.242,-485.874],[-163.558,-483.558],[-155.123,-480.475],[-146.716,-477.301],[-138.306,-474.129],[-130.041,-470.609],[-121.797,-467.029],[-113.555,-463.449],[-105.313,-459.871],[-96.971,-456.534],[-88.561,-453.368],[-80.151,-450.199],[-71.535,-447.678],[-62.854,-445.357],[-54.171,-443.036],[-45.312,-441.543],[-36.445,-440.086],[-27.561,-438.778],[-18.594,-438.194],[-9.624,-437.609]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[8.9,8.9],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Material shape","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":150,"op":720,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":".cream","cl":"cream","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[221,56,0],"ix":2,"l":2},"a":{"a":0,"k":[-83.117,-32.398,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.18,0.18,0.667],"y":[1,1,1]},"o":{"x":[0.678,0.678,0.333],"y":[-0.009,-0.009,0]},"t":66,"s":[100,100,100]},{"i":{"x":[0.325,0.325,0.667],"y":[1,1,1]},"o":{"x":[0.678,0.678,0.333],"y":[0,0,0]},"t":76,"s":[105,105,100]},{"t":86,"s":[40,40,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[44,44],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":22,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-83.117,-32.398],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":86,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".cream","cl":"cream","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":156,"s":[0]},{"t":186,"s":[90]}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":270,"s":[221]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":300,"s":[225.785]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":368,"s":[225.785]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":398,"s":[288.943]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":456,"s":[288.943]},{"t":486,"s":[349.708]}],"ix":3},"y":{"a":0,"k":56,"ix":4}},"a":{"a":0,"k":[-83.117,-32.398,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.178,0.178,0.667],"y":[1,1,1]},"o":{"x":[0.562,0.562,0.333],"y":[0,0,0]},"t":88,"s":[40,40,100]},{"i":{"x":[0.351,0.351,0.667],"y":[1,1,1]},"o":{"x":[0.762,0.762,0.333],"y":[0,0,0]},"t":98,"s":[105,105,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":108,"s":[100,100,100]},{"i":{"x":[0.8,0.8,0.8],"y":[0.15,0.15,1]},"o":{"x":[0.3,0.3,0.3],"y":[0,0,0]},"t":540,"s":[100,100,100]},{"t":552,"s":[20,20,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[44,44],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":156,"s":[22]},{"t":186,"s":[15]}],"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-83.117,-32.398],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":88,"op":552,"st":-10,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".cream","cl":"cream","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[275,56,0],"ix":2,"l":2},"a":{"a":0,"k":[-83.117,-32.398,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.18,0.18,0.667],"y":[1,1,1]},"o":{"x":[0.678,0.678,0.333],"y":[-0.009,-0.009,0]},"t":72,"s":[100,100,100]},{"i":{"x":[0.325,0.325,0.667],"y":[1,1,1]},"o":{"x":[0.678,0.678,0.333],"y":[0,0,0]},"t":82,"s":[105,105,100]},{"t":92,"s":[40,40,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[44,44],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":22,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-83.117,-32.398],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":92,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".cream","cl":"cream","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[275,56,0],"ix":2,"l":2},"a":{"a":0,"k":[-83.117,-32.398,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.178,0.178,0.667],"y":[1,1,1]},"o":{"x":[0.562,0.562,0.333],"y":[0,0,0]},"t":94,"s":[40,40,100]},{"i":{"x":[0.351,0.351,0.667],"y":[1,1,1]},"o":{"x":[0.762,0.762,0.333],"y":[0,0,0]},"t":104,"s":[105,105,100]},{"t":114,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[44,44],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":22,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-83.117,-32.398],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":94,"op":162,"st":-10,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":".cream","cl":"cream","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":162,"s":[0]},{"t":192,"s":[90]}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":270,"s":[275.262]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":300,"s":[286.267]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":366,"s":[286.267]},{"t":396,"s":[349.664]}],"ix":3},"y":{"a":0,"k":56.117,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.8,0.8,0.8],"y":[0.15,0.15,1]},"o":{"x":[0.3,0.3,0.3],"y":[0,0,0]},"t":450,"s":[50,50,100]},{"t":462,"s":[20,20,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.05,"y":0},"t":162,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[3.419,-496.632],[11.147,-496.256],[18.878,-495.883],[26.606,-495.507],[34.334,-495.132],[42.064,-494.758],[49.739,-493.839],[57.397,-492.716],[65.053,-491.594],[72.709,-490.474],[80.365,-489.352],[88.023,-488.232],[95.594,-486.684],[103.108,-484.832],[110.622,-482.977],[118.135,-481.125],[125.647,-479.273],[133.16,-477.422],[140.563,-475.196],[147.865,-472.639],[155.169,-470.079],[162.471,-467.521],[169.773,-464.961],[177.077,-462.401],[184.232,-459.48],[191.262,-456.243],[198.291,-453.009],[205.321,-449.772],[212.35,-446.538],[219.378,-443.302],[226.21,-439.684],[232.907,-435.807],[239.604,-431.932],[246.302,-428.055],[252.999,-424.178],[259.696,-420.303],[266.124,-416.009],[272.436,-411.53],[278.746,-407.053],[285.058,-402.573],[291.367,-398.097],[297.679,-393.617],[303.632,-388.683],[309.506,-383.645],[315.38,-378.607],[321.251,-373.569],[327.125,-368.531],[332.998,-363.493],[338.412,-357.966],[343.799,-352.41],[349.187,-346.857],[354.574,-341.301],[359.963,-335.747],[365.307,-330.155],[370.165,-324.13],[375.02,-318.107],[379.877,-312.082],[384.732,-306.056],[389.59,-300.033],[394.326,-293.921],[398.608,-287.474],[402.89,-281.03],[407.172,-274.585],[411.454,-268.138],[415.736,-261.694],[419.82,-255.129],[423.488,-248.316],[427.153,-241.501],[430.821,-234.688],[434.486,-227.873],[438.154,-221.057],[441.554,-214.117],[444.569,-206.989],[447.582,-199.863],[450.595,-192.734],[453.61,-185.608],[456.623,-178.48],[459.325,-171.238],[461.651,-163.859],[463.977,-156.478],[466.304,-149.099],[468.63,-141.718],[470.956,-134.339],[472.967,-126.876],[474.579,-119.307],[476.19,-111.738],[477.798,-104.169],[479.409,-96.6],[481.021,-89.033],[482.413,-81.425],[483.41,-73.753],[484.409,-66.078],[485.408,-58.405],[486.251,-50.718],[486.624,-42.99],[487,-35.26],[487.374,-27.532],[487.749,-19.801],[488.125,-12.073],[488.498,-4.345],[488.132,3.385],[487.759,11.113],[487.383,18.844],[487.01,26.572],[486.634,34.302],[486.258,42.03],[485.341,49.708],[484.221,57.363],[483.099,65.019],[481.979,72.675],[480.857,80.333],[479.735,87.989],[478.191,95.563],[476.339,103.074],[474.487,110.588],[472.633,118.102],[470.781,125.615],[468.929,133.129],[466.708,140.532],[464.148,147.834],[461.588,155.135],[459.031,162.44],[456.471,169.742],[453.913,177.046],[450.992,184.201],[447.758,191.23],[444.521,198.26],[441.287,205.29],[438.05,212.319],[434.816,219.349],[431.199,226.181],[427.324,232.878],[423.447,239.576],[419.57,246.273],[415.695,252.97],[411.817,259.667],[407.526,266.098],[403.049,272.407],[398.57,278.719],[394.093,285.029],[389.614,291.341],[385.137,297.65],[380.204,303.606],[375.167,309.479],[370.126,315.353],[365.088,321.227],[360.05,327.098],[355.012,332.972],[349.488,338.388],[343.934,343.775],[338.378,349.162],[332.825,354.55],[327.269,359.939],[321.679,365.286],[315.654,370.143],[309.631,374.998],[303.606,379.855],[297.58,384.71],[291.557,389.568],[285.445,394.307],[279.001,398.589],[272.556,402.871],[266.11,407.153],[259.665,411.435],[253.218,415.716],[246.656,419.803],[239.843,423.471],[233.028,427.136],[226.215,430.804],[219.399,434.469],[212.586,438.137],[205.646,441.54],[198.517,444.555],[191.392,447.568],[184.263,450.58],[177.137,453.596],[170.009,456.608],[162.77,459.313],[155.388,461.639],[148.01,463.965],[140.628,466.292],[133.25,468.62],[125.868,470.947],[118.405,472.958],[110.836,474.569],[103.269,476.18],[95.7,477.791],[88.131,479.402],[80.562,481.013],[72.957,482.405],[65.284,483.405],[57.609,484.402],[49.937,485.401],[42.25,486.246],[34.519,486.622],[26.791,486.995],[19.063,487.371],[11.333,487.744],[3.605,488.12],[-4.249,488.5],[-11.977,488.127],[-19.707,487.752],[-27.435,487.376],[-35.166,487.003],[-42.894,486.627],[-50.624,486.254],[-58.299,485.326],[-65.955,484.204],[-73.611,483.084],[-81.269,481.962],[-88.925,480.84],[-96.581,479.72],[-104.152,478.164],[-111.666,476.312],[-119.179,474.461],[-126.691,472.609],[-134.204,470.757],[-141.718,468.905],[-149.119,466.675],[-156.42,464.115],[-163.725,461.557],[-171.026,458.997],[-178.331,456.437],[-185.632,453.88],[-192.787,450.951],[-199.814,447.715],[-206.844,444.48],[-213.874,441.246],[-220.903,438.01],[-227.933,434.775],[-234.76,431.151],[-241.458,427.274],[-248.155,423.399],[-254.852,419.521],[-261.55,415.647],[-268.247,411.769],[-274.672,407.471],[-280.984,402.991],[-287.294,398.514],[-293.606,394.035],[-299.915,389.558],[-306.225,385.079],[-312.178,380.142],[-318.049,375.101],[-323.923,370.064],[-329.797,365.025],[-335.67,359.987],[-341.542,354.95],[-346.953,349.418],[-352.34,343.864],[-357.727,338.308],[-363.115,332.755],[-368.502,327.199],[-373.843,321.605],[-378.701,315.58],[-383.556,309.557],[-388.413,303.531],[-393.268,297.506],[-398.125,291.483],[-402.858,285.366],[-407.14,278.921],[-411.421,272.477],[-415.703,266.03],[-419.985,259.586],[-424.267,253.139],[-428.346,246.574],[-432.014,239.759],[-435.68,232.943],[-439.347,226.13],[-443.015,219.315],[-446.68,212.502],[-450.076,205.557],[-453.091,198.431],[-456.104,191.303],[-459.116,184.177],[-462.132,177.048],[-465.144,169.922],[-467.841,162.678],[-470.168,155.297],[-472.494,147.918],[-474.821,140.537],[-477.147,133.158],[-479.473,125.777],[-481.477,118.311],[-483.088,110.744],[-484.699,103.176],[-486.31,95.606],[-487.921,88.037],[-489.532,80.468],[-490.917,72.863],[-491.917,65.188],[-492.914,57.515],[-493.913,49.843],[-494.751,42.153],[-495.127,34.425],[-495.5,26.697],[-495.876,18.967],[-496.249,11.239],[-496.625,3.508],[-496.998,-4.22],[-496.627,-11.95],[-496.254,-19.678],[-495.878,-27.406],[-495.502,-35.137],[-495.129,-42.865],[-494.754,-50.595],[-493.831,-58.27],[-492.709,-65.926],[-491.589,-73.584],[-490.467,-81.24],[-489.345,-88.896],[-488.225,-96.552],[-486.674,-104.126],[-484.82,-111.637],[-482.968,-119.151],[-481.116,-126.664],[-479.264,-134.178],[-477.412,-141.692],[-475.184,-149.092],[-472.624,-156.394],[-470.067,-163.698],[-467.507,-171],[-464.949,-178.304],[-462.389,-185.606],[-459.463,-192.761],[-456.229,-199.79],[-452.992,-206.82],[-449.758,-213.847],[-446.524,-220.877],[-443.287,-227.906],[-439.665,-234.736],[-435.79,-241.434],[-431.913,-248.131],[-428.038,-254.828],[-424.161,-261.526],[-420.284,-268.223],[-415.987,-274.65],[-411.51,-280.96],[-407.031,-287.272],[-402.554,-293.582],[-398.075,-299.894],[-393.598,-306.203],[-388.661,-312.156],[-383.623,-318.03],[-378.585,-323.901],[-373.547,-329.775],[-368.507,-335.649],[-363.469,-341.522],[-357.942,-346.934],[-352.386,-352.321],[-346.832,-357.708],[-341.277,-363.095],[-335.723,-368.485],[-330.129,-373.826],[-324.103,-378.684],[-318.08,-383.539],[-312.055,-388.396],[-306.03,-393.251],[-300.007,-398.109],[-293.892,-402.843],[-287.448,-407.125],[-281.001,-411.407],[-274.556,-415.689],[-268.11,-419.971],[-261.665,-424.252],[-255.1,-428.334],[-248.285,-432.002],[-241.472,-435.667],[-234.657,-439.335],[-227.844,-443.003],[-221.029,-446.668],[-214.086,-450.066],[-206.96,-453.081],[-199.831,-456.094],[-192.705,-459.107],[-185.577,-462.122],[-178.451,-465.135],[-171.207,-467.834],[-163.828,-470.161],[-156.447,-472.487],[-149.068,-474.813],[-141.687,-477.14],[-134.308,-479.466],[-126.842,-481.472],[-119.273,-483.083],[-111.704,-484.694],[-104.138,-486.306],[-96.569,-487.917],[-88.999,-489.528],[-81.392,-490.917],[-73.719,-491.914],[-66.046,-492.914],[-58.371,-493.911],[-50.684,-494.751],[-42.956,-495.127],[-35.226,-495.5],[-27.498,-495.876],[-19.77,-496.251],[-12.039,-496.625],[-4.311,-497]],"c":true}]},{"t":192,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[6.428,-491.836],[14.758,-490.711],[22.933,-488.794],[30.879,-486.091],[38.523,-482.63],[45.798,-478.436],[52.619,-473.52],[58.782,-467.809],[64.461,-461.621],[69.338,-454.782],[73.871,-447.708],[78.192,-440.497],[82.517,-433.286],[86.839,-426.075],[91.16,-418.864],[95.482,-411.653],[99.804,-404.442],[104.126,-397.231],[108.483,-390.044],[113.214,-383.095],[118.623,-376.662],[124.659,-370.811],[131.256,-365.6],[138.343,-361.084],[145.852,-357.302],[153.702,-354.292],[161.813,-352.086],[170.105,-350.705],[178.493,-350.164],[186.896,-350.481],[195.21,-351.684],[203.407,-353.545],[211.562,-355.588],[219.718,-357.63],[227.872,-359.673],[236.027,-361.716],[244.181,-363.761],[252.338,-365.803],[260.492,-367.846],[268.646,-369.889],[276.914,-371.411],[285.269,-372.203],[293.657,-372.215],[302.017,-371.414],[310.252,-369.719],[318.231,-367.08],[325.908,-363.685],[333.216,-359.562],[340.096,-354.753],[346.486,-349.301],[352.314,-343.241],[357.412,-336.56],[361.837,-329.422],[365.549,-321.897],[368.509,-314.043],[370.689,-305.936],[372.039,-297.638],[372.361,-289.24],[372.004,-280.849],[370.621,-272.565],[368.824,-264.356],[366.781,-256.2],[364.736,-248.045],[362.693,-239.891],[360.651,-231.737],[358.608,-223.58],[356.565,-215.426],[354.522,-207.272],[352.518,-199.108],[350.948,-190.852],[350.222,-182.478],[350.352,-174.071],[351.328,-165.723],[353.146,-157.514],[355.778,-149.53],[359.199,-141.853],[363.374,-134.555],[368.261,-127.715],[373.81,-121.4],[379.976,-115.683],[386.704,-110.652],[393.816,-106.172],[401.027,-101.85],[408.238,-97.528],[415.449,-93.207],[422.657,-88.885],[429.868,-84.563],[437.079,-80.241],[444.29,-75.919],[451.501,-71.597],[458.424,-66.826],[464.892,-61.481],[470.836,-55.558],[476.182,-49.083],[480.806,-42.061],[484.584,-34.554],[487.613,-26.727],[489.868,-18.643],[491.334,-10.378],[492.001,-2.006],[491.837,6.399],[490.717,14.73],[488.802,22.906],[486.104,30.852],[482.645,38.498],[478.456,45.775],[473.541,52.596],[467.831,58.762],[461.649,64.443],[454.811,69.326],[447.737,73.86],[440.526,78.18],[433.315,82.501],[426.105,86.823],[418.894,91.145],[411.68,95.465],[404.469,99.786],[397.258,104.108],[390.069,108.463],[383.12,113.192],[376.687,118.601],[370.833,124.635],[365.62,131.228],[361.1,138.316],[357.315,145.823],[354.303,153.672],[352.094,161.784],[350.711,170.075],[350.167,178.464],[350.487,186.866],[351.683,195.181],[353.544,203.378],[355.589,211.532],[357.631,219.686],[359.674,227.843],[361.717,235.997],[363.762,244.151],[365.805,252.306],[367.847,260.462],[369.892,268.617],[371.413,276.884],[372.209,285.237],[372.224,293.628],[371.424,301.988],[369.729,310.223],[367.095,318.202],[363.7,325.879],[359.582,333.191],[354.775,340.071],[349.328,346.464],[343.269,352.292],[336.587,357.392],[329.452,361.82],[321.927,365.534],[314.075,368.499],[305.968,370.683],[297.67,372.031],[289.272,372.357],[280.883,372.005],[272.597,370.622],[264.388,368.83],[256.234,366.785],[248.077,364.742],[239.923,362.699],[231.769,360.657],[223.615,358.614],[215.458,356.571],[207.304,354.526],[199.14,352.521],[190.884,350.949],[182.51,350.221],[174.105,350.344],[165.754,351.32],[157.546,353.134],[149.562,355.763],[141.88,359.181],[134.582,363.354],[127.74,368.236],[121.423,373.785],[115.708,379.949],[110.672,386.673],[106.19,393.784],[101.868,400.995],[97.546,408.206],[93.224,415.417],[88.902,422.628],[84.581,429.839],[80.259,437.05],[75.937,444.261],[71.615,451.472],[66.846,458.394],[61.503,464.868],[55.583,470.811],[49.11,476.162],[42.088,480.786],[34.586,484.569],[26.758,487.6],[18.675,489.86],[10.412,491.328],[2.04,492],[-6.367,491.834],[-14.696,490.718],[-22.874,488.808],[-30.82,486.115],[-38.469,482.661],[-45.748,478.474],[-52.569,473.559],[-58.737,467.851],[-64.421,461.671],[-69.305,454.836],[-73.842,447.762],[-78.164,440.551],[-82.484,433.34],[-86.805,426.13],[-91.127,418.918],[-95.449,411.708],[-99.769,404.497],[-104.09,397.283],[-108.445,390.094],[-113.171,383.143],[-118.576,376.707],[-124.607,370.851],[-131.201,365.636],[-138.287,361.113],[-145.793,357.325],[-153.64,354.309],[-161.749,352.098],[-170.041,350.71],[-178.432,350.169],[-186.832,350.483],[-195.149,351.675],[-203.346,353.533],[-211.5,355.578],[-219.654,357.621],[-227.809,359.664],[-235.965,361.706],[-244.12,363.751],[-252.274,365.794],[-260.428,367.837],[-268.585,369.882],[-276.85,371.404],[-285.205,372.204],[-293.594,372.225],[-301.956,371.43],[-310.191,369.735],[-318.17,367.104],[-325.849,363.716],[-333.162,359.6],[-340.046,354.796],[-346.442,349.351],[-352.269,343.291],[-357.371,336.612],[-361.804,329.482],[-365.521,321.956],[-368.488,314.107],[-370.677,306],[-372.025,297.702],[-372.356,289.304],[-372.006,280.915],[-370.628,272.629],[-368.836,264.42],[-366.793,256.264],[-364.75,248.109],[-362.708,239.955],[-360.662,231.801],[-358.62,223.646],[-356.577,215.49],[-354.532,207.336],[-352.527,199.172],[-350.95,190.916],[-350.22,182.542],[-350.34,174.137],[-351.312,165.786],[-353.123,157.578],[-355.749,149.591],[-359.166,141.91],[-363.334,134.609],[-368.216,127.765],[-373.763,121.447],[-379.924,115.728],[-386.645,110.688],[-393.755,106.205],[-400.968,101.886],[-408.179,97.564],[-415.39,93.242],[-422.601,88.923],[-429.814,84.601],[-437.025,80.281],[-444.236,75.96],[-451.449,71.64],[-458.372,66.871],[-464.845,61.533],[-470.793,55.615],[-476.148,49.144],[-480.771,42.123],[-484.556,34.621],[-487.591,26.795],[-489.854,18.714],[-491.327,10.451],[-492.001,2.077],[-491.837,-6.328],[-490.724,-14.659],[-488.818,-22.835],[-486.128,-30.786],[-482.678,-38.434],[-478.496,-45.716],[-473.581,-52.537],[-467.878,-58.71],[-461.701,-64.396],[-454.868,-69.283],[-447.796,-73.822],[-440.586,-78.144],[-433.375,-82.463],[-426.161,-86.785],[-418.95,-91.107],[-411.739,-95.429],[-404.529,-99.751],[-397.318,-104.073],[-390.126,-108.425],[-383.172,-113.146],[-376.732,-118.549],[-370.874,-124.578],[-365.656,-131.167],[-361.128,-138.252],[-357.338,-145.757],[-354.319,-153.601],[-352.104,-161.71],[-350.714,-170.002],[-350.17,-178.393],[-350.482,-186.793],[-351.666,-195.11],[-353.525,-203.307],[-355.567,-211.461],[-357.61,-219.618],[-359.655,-227.772],[-361.698,-235.926],[-363.741,-244.081],[-365.783,-252.237],[-367.826,-260.391],[-369.871,-268.546],[-371.396,-276.813],[-372.202,-285.166],[-372.226,-293.555],[-371.436,-301.917],[-369.741,-310.152],[-367.117,-318.133],[-363.731,-325.815],[-359.617,-333.13],[-354.818,-340.017],[-349.378,-346.414],[-343.318,-352.242],[-336.642,-357.349],[-329.511,-361.784],[-321.991,-365.505],[-314.141,-368.475],[-306.037,-370.669],[-297.738,-372.017],[-289.34,-372.35],[-280.952,-372.005],[-272.665,-370.629],[-264.454,-368.839],[-256.3,-366.796],[-248.146,-364.754],[-239.989,-362.709],[-231.835,-360.666],[-223.681,-358.623],[-215.526,-356.581],[-207.372,-354.535],[-199.208,-352.528],[-190.953,-350.951],[-182.578,-350.216],[-174.174,-350.334],[-165.823,-351.306],[-157.612,-353.115],[-149.626,-355.736],[-141.942,-359.148],[-134.639,-363.314],[-127.794,-368.194],[-121.477,-373.74],[-115.753,-379.899],[-110.708,-386.616],[-106.225,-393.725],[-101.903,-400.936],[-97.582,-408.147],[-93.26,-415.36],[-88.94,-422.571],[-84.618,-429.782],[-80.297,-436.993],[-75.975,-444.204],[-71.584,-451.531],[-66.813,-458.453],[-61.463,-464.917],[-55.538,-470.858],[-49.058,-476.202],[-42.039,-480.826],[-34.53,-484.599],[-26.699,-487.623],[-18.616,-489.876],[-10.351,-491.337],[-1.977,-491.999]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[8.9,8.9],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Material shape","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":162,"op":462,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":".cream","cl":"cream","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[329,56,0],"ix":2,"l":2},"a":{"a":0,"k":[-83.117,-32.398,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.18,0.18,0.667],"y":[1,1,1]},"o":{"x":[0.678,0.678,0.333],"y":[-0.009,-0.009,0]},"t":78,"s":[100,100,100]},{"i":{"x":[0.325,0.325,0.667],"y":[1,1,1]},"o":{"x":[0.678,0.678,0.333],"y":[0,0,0]},"t":88,"s":[105,105,100]},{"t":98,"s":[40,40,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[44,44],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":22,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-83.117,-32.398],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":98,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":".cream","cl":"cream","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[329,56,0],"ix":2,"l":2},"a":{"a":0,"k":[-83.117,-32.398,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.178,0.178,0.667],"y":[1,1,1]},"o":{"x":[0.562,0.562,0.333],"y":[0,0,0]},"t":100,"s":[40,40,100]},{"i":{"x":[0.351,0.351,0.667],"y":[1,1,1]},"o":{"x":[0.762,0.762,0.333],"y":[0,0,0]},"t":110,"s":[105,105,100]},{"t":120,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[44,44],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":22,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-83.117,-32.398],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":100,"op":168,"st":-10,"ct":1,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":".cream","cl":"cream","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":168,"s":[0]},{"t":198,"s":[180]}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":270,"s":[329.262]},{"t":300,"s":[348.401]}],"ix":3},"y":{"a":0,"k":56.117,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.8,0.8,0.8],"y":[0.15,0.15,1]},"o":{"x":[0.3,0.3,0.3],"y":[0,0,0]},"t":360,"s":[50,50,100]},{"t":372,"s":[20,20,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.05,"y":0},"t":168,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[3.419,-496.632],[11.147,-496.256],[18.878,-495.883],[26.606,-495.507],[34.334,-495.132],[42.064,-494.758],[49.739,-493.839],[57.397,-492.716],[65.053,-491.594],[72.709,-490.474],[80.365,-489.352],[88.023,-488.232],[95.594,-486.684],[103.108,-484.832],[110.622,-482.977],[118.135,-481.125],[125.647,-479.273],[133.16,-477.422],[140.563,-475.196],[147.865,-472.639],[155.169,-470.079],[162.471,-467.521],[169.773,-464.961],[177.077,-462.401],[184.232,-459.48],[191.262,-456.243],[198.291,-453.009],[205.321,-449.772],[212.35,-446.538],[219.378,-443.302],[226.21,-439.684],[232.907,-435.807],[239.604,-431.932],[246.302,-428.055],[252.999,-424.178],[259.696,-420.303],[266.124,-416.009],[272.436,-411.53],[278.746,-407.053],[285.058,-402.573],[291.367,-398.097],[297.679,-393.617],[303.632,-388.683],[309.506,-383.645],[315.38,-378.607],[321.251,-373.569],[327.125,-368.531],[332.998,-363.493],[338.412,-357.966],[343.799,-352.41],[349.187,-346.857],[354.574,-341.301],[359.963,-335.747],[365.307,-330.155],[370.165,-324.13],[375.02,-318.107],[379.877,-312.082],[384.732,-306.056],[389.59,-300.033],[394.326,-293.921],[398.608,-287.474],[402.89,-281.03],[407.172,-274.585],[411.454,-268.138],[415.736,-261.694],[419.82,-255.129],[423.488,-248.316],[427.153,-241.501],[430.821,-234.688],[434.486,-227.873],[438.154,-221.057],[441.554,-214.117],[444.569,-206.989],[447.582,-199.863],[450.595,-192.734],[453.61,-185.608],[456.623,-178.48],[459.325,-171.238],[461.651,-163.859],[463.977,-156.478],[466.304,-149.099],[468.63,-141.718],[470.956,-134.339],[472.967,-126.876],[474.579,-119.307],[476.19,-111.738],[477.798,-104.169],[479.409,-96.6],[481.021,-89.033],[482.413,-81.425],[483.41,-73.753],[484.409,-66.078],[485.408,-58.405],[486.251,-50.718],[486.624,-42.99],[487,-35.26],[487.374,-27.532],[487.749,-19.801],[488.125,-12.073],[488.498,-4.345],[488.132,3.385],[487.759,11.113],[487.383,18.844],[487.01,26.572],[486.634,34.302],[486.258,42.03],[485.341,49.708],[484.221,57.363],[483.099,65.019],[481.979,72.675],[480.857,80.333],[479.735,87.989],[478.191,95.563],[476.339,103.074],[474.487,110.588],[472.633,118.102],[470.781,125.615],[468.929,133.129],[466.708,140.532],[464.148,147.834],[461.588,155.135],[459.031,162.44],[456.471,169.742],[453.913,177.046],[450.992,184.201],[447.758,191.23],[444.521,198.26],[441.287,205.29],[438.05,212.319],[434.816,219.349],[431.199,226.181],[427.324,232.878],[423.447,239.576],[419.57,246.273],[415.695,252.97],[411.817,259.667],[407.526,266.098],[403.049,272.407],[398.57,278.719],[394.093,285.029],[389.614,291.341],[385.137,297.65],[380.204,303.606],[375.167,309.479],[370.126,315.353],[365.088,321.227],[360.05,327.098],[355.012,332.972],[349.488,338.388],[343.934,343.775],[338.378,349.162],[332.825,354.55],[327.269,359.939],[321.679,365.286],[315.654,370.143],[309.631,374.998],[303.606,379.855],[297.58,384.71],[291.557,389.568],[285.445,394.307],[279.001,398.589],[272.556,402.871],[266.11,407.153],[259.665,411.435],[253.218,415.716],[246.656,419.803],[239.843,423.471],[233.028,427.136],[226.215,430.804],[219.399,434.469],[212.586,438.137],[205.646,441.54],[198.517,444.555],[191.392,447.568],[184.263,450.58],[177.137,453.596],[170.009,456.608],[162.77,459.313],[155.388,461.639],[148.01,463.965],[140.628,466.292],[133.25,468.62],[125.868,470.947],[118.405,472.958],[110.836,474.569],[103.269,476.18],[95.7,477.791],[88.131,479.402],[80.562,481.013],[72.957,482.405],[65.284,483.405],[57.609,484.402],[49.937,485.401],[42.25,486.246],[34.519,486.622],[26.791,486.995],[19.063,487.371],[11.333,487.744],[3.605,488.12],[-4.249,488.5],[-11.977,488.127],[-19.707,487.752],[-27.435,487.376],[-35.166,487.003],[-42.894,486.627],[-50.624,486.254],[-58.299,485.326],[-65.955,484.204],[-73.611,483.084],[-81.269,481.962],[-88.925,480.84],[-96.581,479.72],[-104.152,478.164],[-111.666,476.312],[-119.179,474.461],[-126.691,472.609],[-134.204,470.757],[-141.718,468.905],[-149.119,466.675],[-156.42,464.115],[-163.725,461.557],[-171.026,458.997],[-178.331,456.437],[-185.632,453.88],[-192.787,450.951],[-199.814,447.715],[-206.844,444.48],[-213.874,441.246],[-220.903,438.01],[-227.933,434.775],[-234.76,431.151],[-241.458,427.274],[-248.155,423.399],[-254.852,419.521],[-261.55,415.647],[-268.247,411.769],[-274.672,407.471],[-280.984,402.991],[-287.294,398.514],[-293.606,394.035],[-299.915,389.558],[-306.225,385.079],[-312.178,380.142],[-318.049,375.101],[-323.923,370.064],[-329.797,365.025],[-335.67,359.987],[-341.542,354.95],[-346.953,349.418],[-352.34,343.864],[-357.727,338.308],[-363.115,332.755],[-368.502,327.199],[-373.843,321.605],[-378.701,315.58],[-383.556,309.557],[-388.413,303.531],[-393.268,297.506],[-398.125,291.483],[-402.858,285.366],[-407.14,278.921],[-411.421,272.477],[-415.703,266.03],[-419.985,259.586],[-424.267,253.139],[-428.346,246.574],[-432.014,239.759],[-435.68,232.943],[-439.347,226.13],[-443.015,219.315],[-446.68,212.502],[-450.076,205.557],[-453.091,198.431],[-456.104,191.303],[-459.116,184.177],[-462.132,177.048],[-465.144,169.922],[-467.841,162.678],[-470.168,155.297],[-472.494,147.918],[-474.821,140.537],[-477.147,133.158],[-479.473,125.777],[-481.477,118.311],[-483.088,110.744],[-484.699,103.176],[-486.31,95.606],[-487.921,88.037],[-489.532,80.468],[-490.917,72.863],[-491.917,65.188],[-492.914,57.515],[-493.913,49.843],[-494.751,42.153],[-495.127,34.425],[-495.5,26.697],[-495.876,18.967],[-496.249,11.239],[-496.625,3.508],[-496.998,-4.22],[-496.627,-11.95],[-496.254,-19.678],[-495.878,-27.406],[-495.502,-35.137],[-495.129,-42.865],[-494.754,-50.595],[-493.831,-58.27],[-492.709,-65.926],[-491.589,-73.584],[-490.467,-81.24],[-489.345,-88.896],[-488.225,-96.552],[-486.674,-104.126],[-484.82,-111.637],[-482.968,-119.151],[-481.116,-126.664],[-479.264,-134.178],[-477.412,-141.692],[-475.184,-149.092],[-472.624,-156.394],[-470.067,-163.698],[-467.507,-171],[-464.949,-178.304],[-462.389,-185.606],[-459.463,-192.761],[-456.229,-199.79],[-452.992,-206.82],[-449.758,-213.847],[-446.524,-220.877],[-443.287,-227.906],[-439.665,-234.736],[-435.79,-241.434],[-431.913,-248.131],[-428.038,-254.828],[-424.161,-261.526],[-420.284,-268.223],[-415.987,-274.65],[-411.51,-280.96],[-407.031,-287.272],[-402.554,-293.582],[-398.075,-299.894],[-393.598,-306.203],[-388.661,-312.156],[-383.623,-318.03],[-378.585,-323.901],[-373.547,-329.775],[-368.507,-335.649],[-363.469,-341.522],[-357.942,-346.934],[-352.386,-352.321],[-346.832,-357.708],[-341.277,-363.095],[-335.723,-368.485],[-330.129,-373.826],[-324.103,-378.684],[-318.08,-383.539],[-312.055,-388.396],[-306.03,-393.251],[-300.007,-398.109],[-293.892,-402.843],[-287.448,-407.125],[-281.001,-411.407],[-274.556,-415.689],[-268.11,-419.971],[-261.665,-424.252],[-255.1,-428.334],[-248.285,-432.002],[-241.472,-435.667],[-234.657,-439.335],[-227.844,-443.003],[-221.029,-446.668],[-214.086,-450.066],[-206.96,-453.081],[-199.831,-456.094],[-192.705,-459.107],[-185.577,-462.122],[-178.451,-465.135],[-171.207,-467.834],[-163.828,-470.161],[-156.447,-472.487],[-149.068,-474.813],[-141.687,-477.14],[-134.308,-479.466],[-126.842,-481.472],[-119.273,-483.083],[-111.704,-484.694],[-104.138,-486.306],[-96.569,-487.917],[-88.999,-489.528],[-81.392,-490.917],[-73.719,-491.914],[-66.046,-492.914],[-58.371,-493.911],[-50.684,-494.751],[-42.956,-495.127],[-35.226,-495.5],[-27.498,-495.876],[-19.77,-496.251],[-12.039,-496.625],[-4.311,-497]],"c":true}]},{"t":198,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[1.906,-488.758],[9.421,-487.243],[16.936,-485.728],[24.451,-484.213],[31.966,-482.698],[39.333,-480.59],[46.677,-478.385],[54.02,-476.18],[61.363,-473.975],[68.706,-471.77],[75.88,-469.081],[82.983,-466.201],[90.087,-463.319],[97.193,-460.436],[104.297,-457.556],[111.241,-454.323],[118.039,-450.782],[124.84,-447.241],[131.641,-443.702],[138.442,-440.161],[145.129,-436.429],[151.56,-432.254],[157.991,-428.079],[164.422,-423.907],[170.853,-419.732],[177.281,-415.554],[183.356,-410.878],[189.431,-406.2],[195.508,-401.524],[201.409,-396.642],[207.087,-391.489],[212.765,-386.336],[218.443,-381.184],[224.118,-376.031],[229.796,-370.878],[235.22,-365.461],[240.642,-360.04],[246.063,-354.618],[251.485,-349.197],[256.906,-343.775],[262.328,-338.354],[267.749,-332.932],[273.171,-327.513],[278.592,-322.092],[284.011,-316.671],[289.433,-311.249],[294.854,-305.828],[300.276,-300.406],[305.697,-294.985],[311.118,-289.563],[316.54,-284.142],[321.961,-278.72],[327.383,-273.299],[332.804,-267.88],[338.226,-262.458],[343.645,-257.037],[349.066,-251.615],[354.488,-246.194],[359.909,-240.772],[365.331,-235.351],[370.752,-229.929],[375.907,-224.256],[381.06,-218.578],[386.213,-212.9],[391.366,-207.222],[396.516,-201.547],[401.359,-195.612],[405.938,-189.462],[410.515,-183.315],[415.094,-177.165],[419.674,-171.015],[424.132,-164.785],[428.099,-158.223],[432.066,-151.662],[436.03,-145.1],[439.997,-138.539],[443.964,-131.978],[447.335,-125.097],[450.658,-118.187],[453.981,-111.277],[457.304,-104.369],[460.628,-97.459],[463.476,-90.348],[466.136,-83.158],[468.794,-75.967],[471.451,-68.776],[474.109,-61.583],[476.396,-54.274],[478.371,-46.868],[480.348,-39.459],[482.323,-32.051],[484.301,-24.645],[485.992,-17.176],[487.277,-9.617],[488.56,-2.058],[489.845,5.5],[491.128,13.059],[492.207,20.644],[492.793,28.287],[493.377,35.933],[493.962,43.576],[494.546,51.222],[495.001,58.87],[494.882,66.535],[494.766,74.203],[494.65,81.868],[494.531,89.533],[494.354,97.196],[493.536,104.819],[492.718,112.441],[491.9,120.065],[491.082,127.689],[490.264,135.31],[488.766,142.828],[487.248,150.345],[485.733,157.86],[484.218,165.375],[482.703,172.89],[480.597,180.258],[478.392,187.601],[476.188,194.944],[473.983,202.287],[471.778,209.63],[469.094,216.804],[466.211,223.908],[463.331,231.014],[460.448,238.117],[457.566,245.223],[454.337,252.167],[450.796,258.966],[447.255,265.767],[443.714,272.568],[440.173,279.369],[436.444,286.059],[432.269,292.489],[428.096,298.92],[423.921,305.351],[419.749,311.781],[415.571,318.21],[410.895,324.285],[406.219,330.362],[401.541,336.437],[396.661,342.34],[391.509,348.018],[386.356,353.696],[381.203,359.372],[376.05,365.05],[370.815,370.817],[365.139,375.97],[359.461,381.123],[353.783,386.276],[348.105,391.429],[342.43,396.579],[336.49,401.415],[330.34,405.994],[324.19,410.573],[318.04,415.15],[311.893,419.729],[305.658,424.182],[299.097,428.147],[292.535,432.114],[285.974,436.078],[279.412,440.045],[272.851,444.012],[265.965,447.376],[259.055,450.699],[252.145,454.022],[245.238,457.345],[238.328,460.668],[231.215,463.51],[224.024,466.167],[216.831,468.827],[209.64,471.485],[202.449,474.142],[195.138,476.42],[187.729,478.397],[180.323,480.372],[172.915,482.349],[165.506,484.324],[158.035,486.011],[150.476,487.294],[142.917,488.577],[135.359,489.862],[127.8,491.145],[120.217,492.217],[112.572,492.8],[104.928,493.386],[97.283,493.972],[89.639,494.555],[81.989,495],[74.324,494.884],[66.659,494.766],[58.991,494.649],[51.326,494.533],[43.663,494.347],[36.042,493.529],[28.418,492.711],[20.796,491.893],[13.173,491.075],[5.549,490.257],[-1.966,488.749],[-9.484,487.234],[-16.999,485.718],[-24.514,484.203],[-32.029,482.686],[-39.396,480.575],[-46.737,478.371],[-54.08,476.166],[-61.423,473.961],[-68.767,471.754],[-75.938,469.062],[-83.042,466.18],[-90.148,463.299],[-97.251,460.417],[-104.357,457.534],[-111.296,454.296],[-118.097,450.757],[-124.898,447.216],[-131.697,443.676],[-138.498,440.135],[-145.183,436.398],[-151.613,432.223],[-158.044,428.05],[-164.477,423.875],[-170.908,419.702],[-177.332,415.518],[-183.406,410.842],[-189.484,406.166],[-195.559,401.49],[-201.457,396.601],[-207.135,391.45],[-212.813,386.298],[-218.489,381.145],[-224.167,375.992],[-229.845,370.839],[-235.266,365.42],[-240.688,359.999],[-246.109,354.577],[-251.531,349.156],[-256.952,343.734],[-262.374,338.313],[-267.795,332.894],[-273.216,327.472],[-278.638,322.051],[-284.057,316.629],[-289.478,311.208],[-294.9,305.786],[-300.321,300.365],[-305.743,294.943],[-311.164,289.522],[-316.586,284.101],[-322.007,278.679],[-327.429,273.26],[-332.85,267.839],[-338.272,262.417],[-343.691,256.996],[-349.112,251.574],[-354.534,246.153],[-359.955,240.731],[-365.377,235.31],[-370.798,229.888],[-375.951,224.213],[-381.104,218.535],[-386.257,212.857],[-391.409,207.181],[-396.56,201.503],[-401.398,195.566],[-405.977,189.416],[-410.554,183.266],[-415.133,177.116],[-419.712,170.969],[-424.166,164.734],[-428.132,158.175],[-432.099,151.613],[-436.064,145.052],[-440.031,138.49],[-443.998,131.929],[-447.364,125.043],[-450.687,118.134],[-454.01,111.226],[-457.333,104.316],[-460.656,97.406],[-463.5,90.295],[-466.158,83.102],[-468.818,75.911],[-471.475,68.721],[-474.133,61.53],[-476.413,54.218],[-478.39,46.81],[-480.365,39.404],[-482.342,31.995],[-484.317,24.587],[-486.007,17.118],[-487.289,9.559],[-488.572,2],[-489.857,-5.558],[-491.14,-13.117],[-492.215,-20.702],[-492.798,-28.348],[-493.384,-35.991],[-493.969,-43.637],[-494.553,-51.28],[-495,-58.928],[-494.884,-66.596],[-494.768,-74.261],[-494.65,-81.926],[-494.533,-89.593],[-494.352,-97.254],[-493.534,-104.877],[-492.716,-112.499],[-491.895,-120.123],[-491.077,-127.747],[-490.259,-135.368],[-488.756,-142.886],[-487.239,-150.401],[-485.723,-157.918],[-484.208,-165.433],[-482.693,-172.948],[-480.583,-180.316],[-478.378,-187.659],[-476.173,-195],[-473.968,-202.343],[-471.763,-209.686],[-469.072,-216.86],[-466.192,-223.963],[-463.309,-231.067],[-460.426,-238.173],[-457.546,-245.277],[-454.31,-252.218],[-450.77,-259.019],[-447.229,-265.82],[-443.688,-272.619],[-440.149,-279.42],[-436.412,-286.107],[-432.24,-292.538],[-428.065,-298.968],[-423.892,-305.399],[-419.717,-311.83],[-415.537,-318.256],[-410.859,-324.331],[-406.183,-330.408],[-401.507,-336.483],[-396.62,-342.384],[-391.47,-348.062],[-386.317,-353.737],[-381.164,-359.415],[-376.011,-365.093],[-370.859,-370.771],[-365.185,-375.927],[-359.51,-381.079],[-353.832,-386.232],[-348.154,-391.385],[-342.476,-396.535],[-336.541,-401.376],[-330.394,-405.955],[-324.244,-410.532],[-318.094,-415.111],[-311.944,-419.69],[-305.714,-424.146],[-299.152,-428.113],[-292.591,-432.08],[-286.03,-436.044],[-279.468,-440.011],[-272.907,-443.978],[-266.023,-447.347],[-259.113,-450.67],[-252.203,-453.993],[-245.296,-457.316],[-238.386,-460.639],[-231.275,-463.486],[-224.084,-466.146],[-216.891,-468.803],[-209.701,-471.461],[-202.51,-474.118],[-195.198,-476.403],[-187.792,-478.378],[-180.384,-480.355],[-172.975,-482.33],[-165.569,-484.308],[-158.097,-485.997],[-150.539,-487.282],[-142.98,-488.565],[-135.422,-489.85],[-127.863,-491.133],[-120.28,-492.21],[-112.635,-492.793],[-104.991,-493.379],[-97.346,-493.965],[-89.702,-494.548],[-82.054,-495.001],[-74.387,-494.882],[-66.721,-494.766],[-59.056,-494.647],[-51.389,-494.531],[-43.729,-494.352],[-36.105,-493.534],[-28.481,-492.716],[-20.859,-491.898],[-13.235,-491.079],[-5.614,-490.262]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[8.9,8.9],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Material shape","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":168,"op":372,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":".cream","cl":"cream","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":270,"s":[375]},{"t":300,"s":[396.531]}],"ix":3},"y":{"a":0,"k":56,"ix":4}},"a":{"a":0,"k":[196.283,-128.858,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.113,0.113,0.667],"y":[1,1,1]},"o":{"x":[0.353,0.353,0.333],"y":[0,0,0]},"t":174,"s":[40,40,100]},{"i":{"x":[0.311,0.311,0.667],"y":[1,1,1]},"o":{"x":[0.813,0.813,0.333],"y":[0,0,0]},"t":189,"s":[105,105,100]},{"t":204,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[18,18],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[196.283,-128.858],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":174,"op":720,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":".blue400","cl":"blue400","parent":20,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[352,240,0],"ix":2,"l":2},"a":{"a":0,"k":[352,240,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-1.317],[0.602,-1.186],[0.979,-0.753],[0.338,0.151],[0,0.376],[0,0],[-0.32,0.151],[-0.301,-0.188],[-0.603,-1.185]],"o":[[0,1.317],[-0.603,1.166],[-0.32,0.188],[-0.32,-0.188],[0,0],[0,-0.376],[0.338,-0.188],[0.979,0.79],[0.602,1.186]],"v":[[2.353,0.038],[1.449,3.801],[-0.904,6.661],[-1.882,6.717],[-2.352,5.871],[-2.352,-5.891],[-1.882,-6.681],[-0.904,-6.681],[1.449,-3.727]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.400000029919,0.61568627451,0.964705942191,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[353.047,240.118],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":285,"op":720,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":".blue400","cl":"blue400","parent":20,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":548,"s":[100]},{"t":578,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[352,240,0],"ix":2,"l":2},"a":{"a":0,"k":[352,240,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[1.374,2.145],[2.315,1.054],[0.226,0.452],[-0.15,0.47],[-0.471,0.226],[-0.508,-0.226],[-1.807,-2.785],[0,-3.387],[1.825,-2.785],[3.03,-1.336],[0.508,0.226],[0.169,0.489],[-0.226,0.452],[-0.47,0.226],[-1.373,2.126],[0,2.597]],"o":[[0,-2.597],[-1.373,-2.165],[-0.47,-0.226],[-0.226,-0.47],[0.188,-0.508],[0.508,-0.226],[3.049,1.355],[1.825,2.766],[0,3.387],[-1.826,2.767],[-0.508,0.226],[-0.471,-0.226],[-0.15,-0.47],[0.226,-0.47],[2.315,-1.072],[1.374,-2.164],[0,0]],"v":[[2.577,0.029],[0.507,-7.084],[-5.044,-11.921],[-6.079,-12.919],[-6.173,-14.329],[-5.194,-15.421],[-3.689,-15.421],[3.594,-9.212],[6.322,0.01],[3.594,9.268],[-3.689,15.421],[-5.194,15.421],[-6.173,14.348],[-6.079,12.975],[-5.044,11.939],[0.507,7.141],[2.577,-0.009]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.400000029919,0.61568627451,0.964705942191,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[357.528,240.098],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"2","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":285,"op":578,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":".blue400","cl":"blue400","parent":20,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":368,"s":[100]},{"t":398,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[352,240,0],"ix":2,"l":2},"a":{"a":0,"k":[352,240,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,5.231],[2.804,4.253],[4.685,2.088],[0.282,0],[0.282,-0.132],[0.226,-0.583],[-0.263,-0.546],[-0.564,-0.263],[-2.314,-3.613],[0,-4.347],[2.315,-3.613],[3.877,-1.769],[0.264,-0.546],[-0.169,-0.527],[-0.527,-0.244],[-0.264,0],[-0.282,0.131],[-2.804,4.253]],"o":[[2.804,-4.309],[0,-5.231],[-2.804,-4.309],[-0.282,-0.132],[-0.282,0],[-0.508,0.244],[-0.169,0.489],[0.245,0.489],[3.877,1.788],[2.296,3.557],[0,4.347],[-2.314,3.576],[-0.545,0.264],[-0.245,0.508],[0.207,0.546],[0.263,0.113],[0.263,0],[4.685,-2.089],[0,0]],"v":[[5.005,14.388],[9.239,0.011],[5.005,-14.291],[-6.304,-23.925],[-7.132,-24.114],[-7.96,-23.925],[-9.052,-22.721],[-8.92,-21.178],[-7.716,-20.049],[1.599,-11.92],[5.081,-0.008],[1.599,11.979],[-7.716,20.033],[-8.92,21.238],[-9.033,22.743],[-7.941,23.928],[-7.132,24.098],[-6.304,23.91],[5.005,14.35]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.400000029919,0.61568627451,0.964705942191,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[363.834,240.098],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"3","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":285,"op":398,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":".blue400","cl":"blue400","parent":21,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":368,"s":[352]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":398,"s":[357]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":548,"s":[357]},{"t":578,"s":[360.25]}],"ix":3},"y":{"a":0,"k":240,"ix":4}},"a":{"a":0,"k":[352,240,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.357,0.338],[0,0.546],[0,0],[-0.358,0.338],[-0.527,0],[0,0],[0,0],[-0.753,-0.339],[0,-0.847],[0,0],[0.771,-0.339],[0.583,0.583]],"o":[[0,0],[-0.527,0],[-0.339,-0.377],[0,0],[0,-0.527],[0.376,-0.377],[0,0],[0,0],[0.602,-0.602],[0.79,0.32],[0,0],[0,0.847],[-0.753,0.32],[0,0]],"v":[[-0.931,5.636],[-6.576,5.636],[-7.931,5.128],[-8.458,3.754],[-8.458,-3.773],[-7.931,-5.09],[-6.576,-5.655],[-0.931,-5.655],[5.279,-11.865],[7.293,-12.241],[8.459,-10.51],[8.459,10.472],[7.293,12.26],[5.279,11.846]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.400000029919,0.61568627451,0.964705942191,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[338.458,240.172],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"main","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":285,"op":720,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":21,"ty":4,"nm":".blue100","cl":"blue100","parent":27,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-88.83,14.117,0],"ix":2,"l":2},"a":{"a":0,"k":[352,240,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.05,0.05,0.05],"y":[0,0,0]},"t":285,"s":[40,40,100]},{"t":315,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-10.693],[1.577,-4.275],[7.003,-2.584],[10.693,0],[4.275,1.577],[2.584,7.003],[0,10.693],[-1.577,4.275],[-7.003,2.584],[-10.693,0],[-4.275,-1.577],[-2.584,-7.003]],"o":[[0,10.693],[-2.584,7.003],[-4.275,1.577],[-10.693,0],[-7.003,-2.584],[-1.577,-4.275],[0,-10.693],[2.584,-7.003],[4.275,-1.577],[10.693,0],[7.003,2.584],[1.577,4.275]],"v":[[37,0],[35.423,20.315],[20.315,35.423],[0,37],[-20.315,35.423],[-35.423,20.315],[-37,0],[-35.423,-20.315],[-20.315,-35.423],[0,-37],[20.315,-35.423],[35.423,-20.315]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529471603,0.89019613827,0.988235353956,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[352,240],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"matte","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":285,"op":720,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":22,"ty":4,"nm":".grey700","cl":"grey700","parent":27,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-288.83,-95.383,0],"ix":2,"l":2},"a":{"a":0,"k":[2.19,-41.445,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[223,29],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.372549019608,0.388235294118,0.407843137255,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[113.69,-41.445],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":270,"op":720,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":23,"ty":4,"nm":".grey700","cl":"grey700","parent":27,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-288.83,-65.383,0],"ix":2,"l":2},"a":{"a":0,"k":[2.19,-41.445,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[290,20],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.372549019608,0.388235294118,0.407843137255,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[147.219,-37.89],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":270,"op":720,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":24,"ty":4,"nm":".grey700","cl":"grey700","parent":27,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-384.858,-4.438,0],"ix":2,"l":2},"a":{"a":0,"k":[2.19,-41.445,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[98,20],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.372549019608,0.388235294118,0.407843137255,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[147.219,-37.89],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":270,"op":720,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":25,"ty":4,"nm":".grey800","cl":"grey800","parent":27,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":368,"s":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":398,"s":[90]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":456,"s":[90]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":486,"s":[180]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":548,"s":[180]},{"t":578,"s":[270]}],"ix":10},"p":{"s":true,"x":{"a":0,"k":-349.354,"ix":3},"y":{"a":0,"k":-81.358,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[50.682,50.682,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.05,"y":0},"t":368,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-0.652,-437.366],[8.33,-437.659],[17.312,-437.953],[26.249,-438.778],[35.158,-439.948],[44.07,-441.114],[52.848,-442.998],[61.602,-445.033],[70.348,-447.09],[78.906,-449.835],[87.432,-452.668],[95.787,-455.975],[104.114,-459.352],[112.356,-462.932],[120.6,-466.51],[128.842,-470.088],[137.086,-473.668],[145.494,-476.842],[153.901,-480.013],[162.309,-483.184],[170.98,-485.538],[179.663,-487.853],[188.349,-490.149],[197.221,-491.579],[206.092,-493.009],[214.984,-494.276],[223.954,-494.806],[232.926,-495.333],[241.897,-495.501],[250.877,-495.127],[259.857,-494.753],[268.778,-493.782],[277.678,-492.525],[286.574,-491.265],[295.31,-489.158],[304.044,-487.043],[312.697,-484.654],[321.19,-481.719],[329.683,-478.781],[337.963,-475.306],[346.144,-471.59],[354.301,-467.824],[362.109,-463.379],[369.919,-458.93],[377.531,-454.173],[384.91,-449.042],[392.286,-443.909],[399.256,-438.244],[406.146,-432.478],[412.915,-426.575],[419.27,-420.22],[425.623,-413.867],[431.614,-407.178],[437.38,-400.286],[443.14,-393.391],[448.274,-386.013],[453.404,-378.636],[458.262,-371.087],[462.71,-363.279],[467.158,-355.469],[471.032,-347.367],[474.745,-339.186],[478.338,-330.954],[481.276,-322.461],[484.212,-313.968],[486.723,-305.35],[488.838,-296.616],[490.956,-287.883],[492.333,-279.009],[493.59,-270.109],[494.694,-261.198],[495.065,-252.221],[495.439,-243.241],[495.406,-234.267],[494.88,-225.295],[494.35,-216.325],[493.216,-207.421],[491.786,-198.549],[490.356,-189.678],[488.193,-180.962],[485.878,-172.278],[483.559,-163.597],[480.481,-155.159],[477.307,-146.752],[474.136,-138.342],[470.618,-130.075],[467.038,-121.833],[463.46,-113.589],[459.882,-105.347],[456.543,-97.007],[453.374,-88.597],[450.208,-80.187],[447.684,-71.571],[445.361,-62.891],[443.04,-54.21],[441.544,-45.348],[440.087,-36.481],[438.775,-27.597],[438.19,-18.63],[437.605,-9.663],[437.362,-0.691],[437.653,8.291],[437.947,17.273],[438.77,26.21],[439.939,35.121],[441.105,44.031],[442.987,52.812],[445.022,61.566],[447.074,70.312],[449.819,78.87],[452.649,87.395],[455.956,95.753],[459.333,104.08],[462.911,112.322],[466.488,120.566],[470.069,128.808],[473.646,137.052],[476.823,145.458],[479.994,153.865],[483.165,162.275],[485.521,170.943],[487.84,179.627],[490.138,188.313],[491.568,197.184],[492.998,206.056],[494.27,214.945],[494.799,223.917],[495.326,232.887],[495.497,241.861],[495.123,250.838],[494.752,259.818],[493.783,268.742],[492.524,277.641],[491.267,286.538],[489.162,295.274],[487.047,304.008],[484.661,312.664],[481.725,321.156],[478.787,329.649],[475.315,337.926],[471.599,346.11],[467.838,354.267],[463.39,362.077],[458.944,369.885],[454.19,377.502],[449.059,384.879],[443.925,392.255],[438.263,399.227],[432.497,406.117],[426.596,412.888],[420.241,419.241],[413.888,425.596],[407.202,431.588],[400.31,437.356],[393.415,443.119],[386.039,448.252],[378.663,453.383],[371.113,458.243],[363.305,462.691],[355.498,467.14],[347.396,471.016],[339.215,474.732],[330.985,478.327],[322.492,481.265],[314,484.2],[305.381,486.714],[296.648,488.832],[287.914,490.947],[279.04,492.327],[270.143,493.586],[261.231,494.693],[252.252,495.067],[243.275,495.44],[234.298,495.41],[225.328,494.883],[216.356,494.354],[207.452,493.225],[198.581,491.795],[189.709,490.365],[180.993,488.207],[172.309,485.889],[163.628,483.573],[155.188,480.495],[146.781,477.323],[138.373,474.152],[130.106,470.634],[121.862,467.057],[113.62,463.476],[105.376,459.899],[97.036,456.559],[88.626,453.39],[80.216,450.224],[71.603,447.695],[62.922,445.374],[54.241,443.054],[45.382,441.553],[36.515,440.095],[27.631,438.781],[18.664,438.196],[9.697,437.612],[0.723,437.363],[-8.259,437.654],[-17.239,437.948],[-26.178,438.768],[-35.088,439.935],[-43.999,441.104],[-52.781,442.981],[-61.534,445.016],[-70.283,447.065],[-78.839,449.81],[-87.367,452.638],[-95.721,455.945],[-104.048,459.319],[-112.293,462.897],[-120.535,466.477],[-128.779,470.055],[-137.021,473.633],[-145.429,476.811],[-153.836,479.983],[-162.243,483.154],[-170.912,485.515],[-179.595,487.831],[-188.281,490.134],[-197.153,491.564],[-206.025,492.994],[-214.914,494.269],[-223.883,494.798],[-232.855,495.325],[-241.827,495.501],[-250.807,495.127],[-259.786,494.753],[-268.711,493.789],[-277.607,492.53],[-286.507,491.273],[-295.243,489.173],[-303.976,487.056],[-312.632,484.674],[-321.125,481.737],[-329.618,478.801],[-337.897,475.331],[-346.079,471.615],[-354.241,467.854],[-362.048,463.409],[-369.856,458.96],[-377.473,454.211],[-384.85,449.078],[-392.229,443.947],[-399.201,438.287],[-406.093,432.518],[-412.865,426.62],[-419.22,420.265],[-425.572,413.912],[-431.566,407.228],[-437.334,400.336],[-443.1,393.444],[-448.231,386.068],[-453.364,378.689],[-458.226,371.145],[-462.675,363.334],[-467.123,355.526],[-471.002,347.428],[-474.718,339.246],[-478.316,331.017],[-481.254,322.524],[-484.192,314.031],[-486.708,305.415],[-488.823,296.682],[-490.941,287.948],[-492.323,279.074],[-493.582,270.177],[-494.694,261.265],[-495.068,252.286],[-495.439,243.309],[-495.417,234.332],[-494.887,225.362],[-494.36,216.39],[-493.234,207.486],[-491.804,198.614],[-490.374,189.743],[-488.218,181.024],[-485.9,172.343],[-483.584,163.66],[-480.511,155.22],[-477.34,146.812],[-474.168,138.405],[-470.651,130.138],[-467.07,121.896],[-463.49,113.652],[-459.91,105.41],[-456.568,97.072],[-453.402,88.66],[-450.235,80.25],[-447.704,71.637],[-445.383,62.956],[-443.062,54.275],[-441.562,45.416],[-440.104,36.549],[-438.785,27.665],[-438.2,18.698],[-437.618,9.731],[-437.365,0.759],[-437.658,-8.223],[-437.949,-17.205],[-438.767,-26.145],[-439.934,-35.054],[-441.103,-43.963],[-442.977,-52.747],[-445.012,-61.498],[-447.059,-70.249],[-449.804,-78.805],[-452.631,-87.333],[-455.936,-95.69],[-459.31,-104.017],[-462.891,-112.259],[-466.468,-120.503],[-470.046,-128.745],[-473.684,-137.12],[-476.855,-145.53],[-480.027,-153.938],[-483.198,-162.345],[-485.546,-171.019],[-487.865,-179.699],[-490.153,-188.388],[-491.583,-197.26],[-493.013,-206.131],[-494.277,-215.023],[-494.807,-223.993],[-495.334,-232.965],[-495.497,-241.936],[-495.123,-250.916],[-494.752,-259.896],[-493.776,-268.817],[-492.516,-277.717],[-491.259,-286.613],[-489.149,-295.349],[-487.032,-304.083],[-484.641,-312.734],[-481.703,-321.227],[-478.767,-329.722],[-475.287,-337.996],[-471.572,-346.181],[-467.803,-354.335],[-463.357,-362.143],[-458.909,-369.953],[-454.149,-377.565],[-449.019,-384.941],[-443.885,-392.318],[-438.218,-399.285],[-432.452,-406.177],[-426.546,-412.944],[-420.193,-419.296],[-413.838,-425.652],[-407.147,-431.638],[-400.257,-437.406],[-393.358,-443.164],[-385.981,-448.295],[-378.605,-453.428],[-371.053,-458.283],[-363.245,-462.731],[-355.435,-467.177],[-347.334,-471.048],[-339.149,-474.764],[-330.917,-478.354],[-322.425,-481.29],[-313.932,-484.228],[-305.314,-486.734],[-296.58,-488.852],[-287.846,-490.967],[-278.97,-492.342],[-270.073,-493.599],[-261.161,-494.7],[-252.182,-495.072],[-243.202,-495.445],[-234.228,-495.41],[-225.258,-494.883],[-216.286,-494.354],[-207.382,-493.217],[-198.51,-491.787],[-189.639,-490.357],[-180.925,-488.192],[-172.242,-485.874],[-163.558,-483.558],[-155.123,-480.475],[-146.716,-477.301],[-138.306,-474.129],[-130.041,-470.609],[-121.797,-467.029],[-113.555,-463.449],[-105.313,-459.871],[-96.971,-456.534],[-88.561,-453.368],[-80.151,-450.199],[-71.535,-447.678],[-62.854,-445.357],[-54.171,-443.036],[-45.312,-441.543],[-36.445,-440.086],[-27.561,-438.778],[-18.594,-438.194],[-9.624,-437.609]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.05,"y":0},"t":398,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-0.166,-494.001],[7.12,-493.774],[14.408,-493.545],[21.649,-492.74],[28.884,-491.832],[36.083,-490.728],[43.201,-489.145],[50.316,-487.56],[57.326,-485.578],[64.297,-483.437],[71.118,-480.865],[77.874,-478.138],[84.452,-474.996],[90.937,-471.679],[97.177,-467.909],[103.351,-464.041],[109.218,-459.713],[115.084,-455.382],[120.918,-451.015],[126.346,-446.147],[131.773,-441.278],[137.2,-436.408],[142.626,-431.541],[148.053,-426.671],[153.481,-421.804],[158.906,-416.935],[164.135,-411.855],[169.32,-406.728],[174.504,-401.604],[179.687,-396.478],[184.872,-391.352],[190.056,-386.225],[195.241,-381.101],[200.426,-375.975],[205.61,-370.849],[210.795,-365.722],[215.952,-360.568],[221.106,-355.413],[226.261,-350.259],[231.417,-345.102],[236.572,-339.948],[241.726,-334.793],[246.883,-329.637],[252.037,-324.482],[257.192,-319.328],[262.348,-314.171],[267.503,-309.017],[272.66,-303.86],[277.814,-298.706],[282.968,-293.551],[288.125,-288.395],[293.279,-283.24],[298.434,-278.086],[303.591,-272.929],[308.745,-267.775],[313.899,-262.62],[319.056,-257.464],[324.21,-252.309],[329.367,-247.155],[334.522,-241.998],[339.676,-236.844],[344.833,-231.687],[349.987,-226.533],[355.141,-221.378],[360.298,-216.222],[365.453,-211.067],[370.493,-205.798],[375.53,-200.53],[380.57,-195.261],[385.608,-189.99],[390.646,-184.721],[395.683,-179.452],[400.723,-174.181],[405.761,-168.912],[410.798,-163.644],[415.836,-158.372],[420.876,-153.104],[425.914,-147.835],[430.952,-142.564],[435.991,-137.295],[441.029,-132.026],[446.067,-126.755],[450.661,-121.106],[455.085,-115.312],[459.508,-109.516],[463.855,-103.668],[467.716,-97.482],[471.57,-91.295],[474.768,-84.743],[477.969,-78.192],[480.665,-71.43],[483.133,-64.569],[485.537,-57.689],[487.344,-50.625],[489.151,-43.564],[490.61,-36.427],[491.744,-29.226],[492.879,-22.024],[493.364,-14.752],[493.82,-7.476],[494.002,-0.195],[493.775,7.093],[493.546,14.379],[492.743,21.622],[491.835,28.854],[490.734,36.056],[489.151,43.171],[487.566,50.289],[485.586,57.299],[483.445,64.27],[480.873,71.091],[478.151,77.849],[475.007,84.427],[471.692,90.913],[467.924,97.152],[464.056,103.329],[459.728,109.196],[455.4,115.062],[451.034,120.898],[446.165,126.326],[441.295,131.751],[436.428,137.178],[431.558,142.606],[426.691,148.031],[421.822,153.458],[416.954,158.886],[411.875,164.115],[406.748,169.3],[401.624,174.482],[396.498,179.667],[391.371,184.852],[386.245,190.036],[381.119,195.221],[375.995,200.406],[370.868,205.591],[365.742,210.775],[360.587,215.932],[355.433,221.086],[350.279,226.241],[345.122,231.398],[339.968,236.552],[334.813,241.706],[329.657,246.863],[324.502,252.017],[319.348,257.172],[314.191,262.328],[309.037,267.483],[303.88,272.637],[298.726,277.794],[293.571,282.948],[288.414,288.105],[283.26,293.259],[278.106,298.414],[272.949,303.571],[267.795,308.725],[262.64,313.879],[257.483,319.036],[252.329,324.19],[247.172,329.345],[242.018,334.502],[236.864,339.656],[231.707,344.813],[226.553,349.967],[221.398,355.121],[216.241,360.278],[211.005,365.514],[205.734,370.554],[200.465,375.592],[195.197,380.63],[189.926,385.667],[184.657,390.707],[179.388,395.745],[174.117,400.783],[168.848,405.82],[163.577,410.86],[158.308,415.898],[153.04,420.936],[147.768,425.973],[142.5,431.013],[137.231,436.051],[131.96,441.089],[126.691,446.129],[121.035,450.713],[115.238,455.137],[109.444,459.561],[103.59,463.901],[97.406,467.759],[91.212,471.606],[84.662,474.805],[78.112,478.005],[71.344,480.692],[64.484,483.159],[57.602,485.559],[50.538,487.366],[43.476,489.173],[36.34,490.623],[29.138,491.759],[21.936,492.894],[14.662,493.37],[7.386,493.825],[0.105,494.001],[-7.183,493.772],[-14.469,493.545],[-21.71,492.733],[-28.944,491.825],[-36.144,490.716],[-43.259,489.133],[-50.377,487.548],[-57.387,485.562],[-64.355,483.421],[-71.176,480.846],[-77.93,478.115],[-84.508,474.973],[-90.991,471.648],[-97.231,467.881],[-103.403,464.006],[-109.269,459.678],[-115.136,455.35],[-120.967,450.977],[-126.392,446.108],[-131.82,441.24],[-137.247,436.373],[-142.675,431.504],[-148.1,426.636],[-153.527,421.767],[-158.955,416.899],[-164.179,411.817],[-169.364,406.691],[-174.549,401.565],[-179.733,396.441],[-184.918,391.314],[-190.103,386.188],[-195.288,381.062],[-200.472,375.937],[-205.657,370.811],[-210.842,365.685],[-215.996,360.53],[-221.153,355.376],[-226.307,350.219],[-231.462,345.065],[-236.619,339.908],[-241.773,334.754],[-246.927,329.599],[-252.084,324.443],[-257.238,319.288],[-262.393,314.132],[-267.547,308.977],[-272.704,303.823],[-277.858,298.666],[-283.013,293.512],[-288.169,288.355],[-293.324,283.201],[-298.478,278.044],[-303.635,272.889],[-308.789,267.735],[-313.944,262.578],[-319.098,257.424],[-324.255,252.267],[-329.409,247.113],[-334.564,241.956],[-339.72,236.802],[-344.875,231.647],[-350.029,226.491],[-355.186,221.336],[-360.34,216.18],[-365.495,211.025],[-370.535,205.756],[-375.572,200.488],[-380.61,195.216],[-385.65,189.948],[-390.688,184.679],[-395.725,179.408],[-400.765,174.139],[-405.803,168.87],[-410.84,163.599],[-415.88,158.331],[-420.918,153.062],[-425.956,147.793],[-430.993,142.522],[-436.033,137.253],[-441.071,131.984],[-446.109,126.713],[-450.698,121.059],[-455.122,115.265],[-459.546,109.469],[-463.888,103.616],[-467.747,97.433],[-471.596,91.242],[-474.794,84.689],[-477.992,78.139],[-480.684,71.371],[-483.151,64.513],[-485.551,57.631],[-487.358,50.567],[-489.167,43.505],[-490.619,36.369],[-491.754,29.167],[-492.888,21.966],[-493.369,14.692],[-493.824,7.415],[-494.002,0.134],[-493.773,-7.151],[-493.546,-14.44],[-492.739,-21.681],[-491.828,-28.915],[-490.722,-36.115],[-489.139,-43.23],[-487.554,-50.347],[-485.57,-57.358],[-483.431,-64.328],[-480.857,-71.147],[-478.128,-77.903],[-474.986,-84.484],[-471.666,-90.966],[-467.898,-97.206],[-464.028,-103.378],[-459.697,-109.245],[-455.369,-115.111],[-450.999,-120.945],[-446.13,-126.37],[-441.26,-131.798],[-436.393,-137.223],[-431.523,-142.65],[-426.654,-148.075],[-421.787,-153.503],[-416.917,-158.93],[-411.835,-164.157],[-406.711,-169.34],[-401.585,-174.524],[-396.458,-179.709],[-391.332,-184.894],[-386.205,-190.078],[-381.081,-195.263],[-375.955,-200.448],[-370.829,-205.63],[-365.702,-210.815],[-360.548,-215.972],[-355.393,-221.129],[-350.239,-226.283],[-345.082,-231.437],[-339.928,-236.594],[-334.774,-241.748],[-329.617,-246.905],[-324.462,-252.06],[-319.308,-257.214],[-314.154,-262.371],[-308.997,-267.525],[-303.843,-272.682],[-298.688,-277.836],[-293.532,-282.993],[-288.377,-288.147],[-283.223,-293.302],[-278.066,-298.458],[-272.912,-303.613],[-267.757,-308.769],[-262.603,-313.924],[-257.446,-319.081],[-252.292,-324.235],[-247.137,-329.389],[-241.981,-334.546],[-236.826,-339.7],[-231.672,-344.857],[-226.515,-350.011],[-221.361,-355.166],[-216.206,-360.323],[-211.052,-365.477],[-205.781,-370.517],[-200.512,-375.555],[-195.243,-380.592],[-189.972,-385.632],[-184.703,-390.67],[-179.435,-395.708],[-174.164,-400.745],[-168.895,-405.783],[-163.624,-410.823],[-158.355,-415.861],[-153.086,-420.898],[-147.815,-425.936],[-142.546,-430.976],[-137.275,-436.014],[-132.006,-441.051],[-126.738,-446.089],[-121.084,-450.681],[-115.29,-455.105],[-109.493,-459.528],[-103.643,-463.87],[-97.459,-467.731],[-91.269,-471.583],[-84.718,-474.781],[-78.168,-477.982],[-71.403,-480.676],[-64.542,-483.143],[-57.662,-485.545],[-50.598,-487.352],[-43.534,-489.159],[-36.4,-490.616],[-29.199,-491.75],[-21.997,-492.885],[-14.723,-493.368],[-7.447,-493.823]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.05,"y":0},"t":456,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-0.166,-494.001],[7.12,-493.774],[14.408,-493.545],[21.649,-492.74],[28.884,-491.832],[36.083,-490.728],[43.201,-489.145],[50.316,-487.56],[57.326,-485.578],[64.297,-483.437],[71.118,-480.865],[77.874,-478.138],[84.452,-474.996],[90.937,-471.679],[97.177,-467.909],[103.351,-464.041],[109.218,-459.713],[115.084,-455.382],[120.918,-451.015],[126.346,-446.147],[131.773,-441.278],[137.2,-436.408],[142.626,-431.541],[148.053,-426.671],[153.481,-421.804],[158.906,-416.935],[164.135,-411.855],[169.32,-406.728],[174.504,-401.604],[179.687,-396.478],[184.872,-391.352],[190.056,-386.225],[195.241,-381.101],[200.426,-375.975],[205.61,-370.849],[210.795,-365.722],[215.952,-360.568],[221.106,-355.413],[226.261,-350.259],[231.417,-345.102],[236.572,-339.948],[241.726,-334.793],[246.883,-329.637],[252.037,-324.482],[257.192,-319.328],[262.348,-314.171],[267.503,-309.017],[272.66,-303.86],[277.814,-298.706],[282.968,-293.551],[288.125,-288.395],[293.279,-283.24],[298.434,-278.086],[303.591,-272.929],[308.745,-267.775],[313.899,-262.62],[319.056,-257.464],[324.21,-252.309],[329.367,-247.155],[334.522,-241.998],[339.676,-236.844],[344.833,-231.687],[349.987,-226.533],[355.141,-221.378],[360.298,-216.222],[365.453,-211.067],[370.493,-205.798],[375.53,-200.53],[380.57,-195.261],[385.608,-189.99],[390.646,-184.721],[395.683,-179.452],[400.723,-174.181],[405.761,-168.912],[410.798,-163.644],[415.836,-158.372],[420.876,-153.104],[425.914,-147.835],[430.952,-142.564],[435.991,-137.295],[441.029,-132.026],[446.067,-126.755],[450.661,-121.106],[455.085,-115.312],[459.508,-109.516],[463.855,-103.668],[467.716,-97.482],[471.57,-91.295],[474.768,-84.743],[477.969,-78.192],[480.665,-71.43],[483.133,-64.569],[485.537,-57.689],[487.344,-50.625],[489.151,-43.564],[490.61,-36.427],[491.744,-29.226],[492.879,-22.024],[493.364,-14.752],[493.82,-7.476],[494.002,-0.195],[493.775,7.093],[493.546,14.379],[492.743,21.622],[491.835,28.854],[490.734,36.056],[489.151,43.171],[487.566,50.289],[485.586,57.299],[483.445,64.27],[480.873,71.091],[478.151,77.849],[475.007,84.427],[471.692,90.913],[467.924,97.152],[464.056,103.329],[459.728,109.196],[455.4,115.062],[451.034,120.898],[446.165,126.326],[441.295,131.751],[436.428,137.178],[431.558,142.606],[426.691,148.031],[421.822,153.458],[416.954,158.886],[411.875,164.115],[406.748,169.3],[401.624,174.482],[396.498,179.667],[391.371,184.852],[386.245,190.036],[381.119,195.221],[375.995,200.406],[370.868,205.591],[365.742,210.775],[360.587,215.932],[355.433,221.086],[350.279,226.241],[345.122,231.398],[339.968,236.552],[334.813,241.706],[329.657,246.863],[324.502,252.017],[319.348,257.172],[314.191,262.328],[309.037,267.483],[303.88,272.637],[298.726,277.794],[293.571,282.948],[288.414,288.105],[283.26,293.259],[278.106,298.414],[272.949,303.571],[267.795,308.725],[262.64,313.879],[257.483,319.036],[252.329,324.19],[247.172,329.345],[242.018,334.502],[236.864,339.656],[231.707,344.813],[226.553,349.967],[221.398,355.121],[216.241,360.278],[211.005,365.514],[205.734,370.554],[200.465,375.592],[195.197,380.63],[189.926,385.667],[184.657,390.707],[179.388,395.745],[174.117,400.783],[168.848,405.82],[163.577,410.86],[158.308,415.898],[153.04,420.936],[147.768,425.973],[142.5,431.013],[137.231,436.051],[131.96,441.089],[126.691,446.129],[121.035,450.713],[115.238,455.137],[109.444,459.561],[103.59,463.901],[97.406,467.759],[91.212,471.606],[84.662,474.805],[78.112,478.005],[71.344,480.692],[64.484,483.159],[57.602,485.559],[50.538,487.366],[43.476,489.173],[36.34,490.623],[29.138,491.759],[21.936,492.894],[14.662,493.37],[7.386,493.825],[0.105,494.001],[-7.183,493.772],[-14.469,493.545],[-21.71,492.733],[-28.944,491.825],[-36.144,490.716],[-43.259,489.133],[-50.377,487.548],[-57.387,485.562],[-64.355,483.421],[-71.176,480.846],[-77.93,478.115],[-84.508,474.973],[-90.991,471.648],[-97.231,467.881],[-103.403,464.006],[-109.269,459.678],[-115.136,455.35],[-120.967,450.977],[-126.392,446.108],[-131.82,441.24],[-137.247,436.373],[-142.675,431.504],[-148.1,426.636],[-153.527,421.767],[-158.955,416.899],[-164.179,411.817],[-169.364,406.691],[-174.549,401.565],[-179.733,396.441],[-184.918,391.314],[-190.103,386.188],[-195.288,381.062],[-200.472,375.937],[-205.657,370.811],[-210.842,365.685],[-215.996,360.53],[-221.153,355.376],[-226.307,350.219],[-231.462,345.065],[-236.619,339.908],[-241.773,334.754],[-246.927,329.599],[-252.084,324.443],[-257.238,319.288],[-262.393,314.132],[-267.547,308.977],[-272.704,303.823],[-277.858,298.666],[-283.013,293.512],[-288.169,288.355],[-293.324,283.201],[-298.478,278.044],[-303.635,272.889],[-308.789,267.735],[-313.944,262.578],[-319.098,257.424],[-324.255,252.267],[-329.409,247.113],[-334.564,241.956],[-339.72,236.802],[-344.875,231.647],[-350.029,226.491],[-355.186,221.336],[-360.34,216.18],[-365.495,211.025],[-370.535,205.756],[-375.572,200.488],[-380.61,195.216],[-385.65,189.948],[-390.688,184.679],[-395.725,179.408],[-400.765,174.139],[-405.803,168.87],[-410.84,163.599],[-415.88,158.331],[-420.918,153.062],[-425.956,147.793],[-430.993,142.522],[-436.033,137.253],[-441.071,131.984],[-446.109,126.713],[-450.698,121.059],[-455.122,115.265],[-459.546,109.469],[-463.888,103.616],[-467.747,97.433],[-471.596,91.242],[-474.794,84.689],[-477.992,78.139],[-480.684,71.371],[-483.151,64.513],[-485.551,57.631],[-487.358,50.567],[-489.167,43.505],[-490.619,36.369],[-491.754,29.167],[-492.888,21.966],[-493.369,14.692],[-493.824,7.415],[-494.002,0.134],[-493.773,-7.151],[-493.546,-14.44],[-492.739,-21.681],[-491.828,-28.915],[-490.722,-36.115],[-489.139,-43.23],[-487.554,-50.347],[-485.57,-57.358],[-483.431,-64.328],[-480.857,-71.147],[-478.128,-77.903],[-474.986,-84.484],[-471.666,-90.966],[-467.898,-97.206],[-464.028,-103.378],[-459.697,-109.245],[-455.369,-115.111],[-450.999,-120.945],[-446.13,-126.37],[-441.26,-131.798],[-436.393,-137.223],[-431.523,-142.65],[-426.654,-148.075],[-421.787,-153.503],[-416.917,-158.93],[-411.835,-164.157],[-406.711,-169.34],[-401.585,-174.524],[-396.458,-179.709],[-391.332,-184.894],[-386.205,-190.078],[-381.081,-195.263],[-375.955,-200.448],[-370.829,-205.63],[-365.702,-210.815],[-360.548,-215.972],[-355.393,-221.129],[-350.239,-226.283],[-345.082,-231.437],[-339.928,-236.594],[-334.774,-241.748],[-329.617,-246.905],[-324.462,-252.06],[-319.308,-257.214],[-314.154,-262.371],[-308.997,-267.525],[-303.843,-272.682],[-298.688,-277.836],[-293.532,-282.993],[-288.377,-288.147],[-283.223,-293.302],[-278.066,-298.458],[-272.912,-303.613],[-267.757,-308.769],[-262.603,-313.924],[-257.446,-319.081],[-252.292,-324.235],[-247.137,-329.389],[-241.981,-334.546],[-236.826,-339.7],[-231.672,-344.857],[-226.515,-350.011],[-221.361,-355.166],[-216.206,-360.323],[-211.052,-365.477],[-205.781,-370.517],[-200.512,-375.555],[-195.243,-380.592],[-189.972,-385.632],[-184.703,-390.67],[-179.435,-395.708],[-174.164,-400.745],[-168.895,-405.783],[-163.624,-410.823],[-158.355,-415.861],[-153.086,-420.898],[-147.815,-425.936],[-142.546,-430.976],[-137.275,-436.014],[-132.006,-441.051],[-126.738,-446.089],[-121.084,-450.681],[-115.29,-455.105],[-109.493,-459.528],[-103.643,-463.87],[-97.459,-467.731],[-91.269,-471.583],[-84.718,-474.781],[-78.168,-477.982],[-71.403,-480.676],[-64.542,-483.143],[-57.662,-485.545],[-50.598,-487.352],[-43.534,-489.159],[-36.4,-490.616],[-29.199,-491.75],[-21.997,-492.885],[-14.723,-493.368],[-7.447,-493.823]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.05,"y":0},"t":486,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[1.906,-488.758],[9.421,-487.243],[16.936,-485.728],[24.451,-484.213],[31.966,-482.698],[39.333,-480.59],[46.677,-478.385],[54.02,-476.18],[61.363,-473.975],[68.706,-471.77],[75.88,-469.081],[82.983,-466.201],[90.087,-463.319],[97.193,-460.436],[104.297,-457.556],[111.241,-454.323],[118.039,-450.782],[124.84,-447.241],[131.641,-443.702],[138.442,-440.161],[145.129,-436.429],[151.56,-432.254],[157.991,-428.079],[164.422,-423.907],[170.853,-419.732],[177.281,-415.554],[183.356,-410.878],[189.431,-406.2],[195.508,-401.524],[201.409,-396.642],[207.087,-391.489],[212.765,-386.336],[218.443,-381.184],[224.118,-376.031],[229.796,-370.878],[235.22,-365.461],[240.642,-360.04],[246.063,-354.618],[251.485,-349.197],[256.906,-343.775],[262.328,-338.354],[267.749,-332.932],[273.171,-327.513],[278.592,-322.092],[284.011,-316.671],[289.433,-311.249],[294.854,-305.828],[300.276,-300.406],[305.697,-294.985],[311.118,-289.563],[316.54,-284.142],[321.961,-278.72],[327.383,-273.299],[332.804,-267.88],[338.226,-262.458],[343.645,-257.037],[349.066,-251.615],[354.488,-246.194],[359.909,-240.772],[365.331,-235.351],[370.752,-229.929],[375.907,-224.256],[381.06,-218.578],[386.213,-212.9],[391.366,-207.222],[396.516,-201.547],[401.359,-195.612],[405.938,-189.462],[410.515,-183.315],[415.094,-177.165],[419.674,-171.015],[424.132,-164.785],[428.099,-158.223],[432.066,-151.662],[436.03,-145.1],[439.997,-138.539],[443.964,-131.978],[447.335,-125.097],[450.658,-118.187],[453.981,-111.277],[457.304,-104.369],[460.628,-97.459],[463.476,-90.348],[466.136,-83.158],[468.794,-75.967],[471.451,-68.776],[474.109,-61.583],[476.396,-54.274],[478.371,-46.868],[480.348,-39.459],[482.323,-32.051],[484.301,-24.645],[485.992,-17.176],[487.277,-9.617],[488.56,-2.058],[489.845,5.5],[491.128,13.059],[492.207,20.644],[492.793,28.287],[493.377,35.933],[493.962,43.576],[494.546,51.222],[495.001,58.87],[494.882,66.535],[494.766,74.203],[494.65,81.868],[494.531,89.533],[494.354,97.196],[493.536,104.819],[492.718,112.441],[491.9,120.065],[491.082,127.689],[490.264,135.31],[488.766,142.828],[487.248,150.345],[485.733,157.86],[484.218,165.375],[482.703,172.89],[480.597,180.258],[478.392,187.601],[476.188,194.944],[473.983,202.287],[471.778,209.63],[469.094,216.804],[466.211,223.908],[463.331,231.014],[460.448,238.117],[457.566,245.223],[454.337,252.167],[450.796,258.966],[447.255,265.767],[443.714,272.568],[440.173,279.369],[436.444,286.059],[432.269,292.489],[428.096,298.92],[423.921,305.351],[419.749,311.781],[415.571,318.21],[410.895,324.285],[406.219,330.362],[401.541,336.437],[396.661,342.34],[391.509,348.018],[386.356,353.696],[381.203,359.372],[376.05,365.05],[370.815,370.817],[365.139,375.97],[359.461,381.123],[353.783,386.276],[348.105,391.429],[342.43,396.579],[336.49,401.415],[330.34,405.994],[324.19,410.573],[318.04,415.15],[311.893,419.729],[305.658,424.182],[299.097,428.147],[292.535,432.114],[285.974,436.078],[279.412,440.045],[272.851,444.012],[265.965,447.376],[259.055,450.699],[252.145,454.022],[245.238,457.345],[238.328,460.668],[231.215,463.51],[224.024,466.167],[216.831,468.827],[209.64,471.485],[202.449,474.142],[195.138,476.42],[187.729,478.397],[180.323,480.372],[172.915,482.349],[165.506,484.324],[158.035,486.011],[150.476,487.294],[142.917,488.577],[135.359,489.862],[127.8,491.145],[120.217,492.217],[112.572,492.8],[104.928,493.386],[97.283,493.972],[89.639,494.555],[81.989,495],[74.324,494.884],[66.659,494.766],[58.991,494.649],[51.326,494.533],[43.663,494.347],[36.042,493.529],[28.418,492.711],[20.796,491.893],[13.173,491.075],[5.549,490.257],[-1.966,488.749],[-9.484,487.234],[-16.999,485.718],[-24.514,484.203],[-32.029,482.686],[-39.396,480.575],[-46.737,478.371],[-54.08,476.166],[-61.423,473.961],[-68.767,471.754],[-75.938,469.062],[-83.042,466.18],[-90.148,463.299],[-97.251,460.417],[-104.357,457.534],[-111.296,454.296],[-118.097,450.757],[-124.898,447.216],[-131.697,443.676],[-138.498,440.135],[-145.183,436.398],[-151.613,432.223],[-158.044,428.05],[-164.477,423.875],[-170.908,419.702],[-177.332,415.518],[-183.406,410.842],[-189.484,406.166],[-195.559,401.49],[-201.457,396.601],[-207.135,391.45],[-212.813,386.298],[-218.489,381.145],[-224.167,375.992],[-229.845,370.839],[-235.266,365.42],[-240.688,359.999],[-246.109,354.577],[-251.531,349.156],[-256.952,343.734],[-262.374,338.313],[-267.795,332.894],[-273.216,327.472],[-278.638,322.051],[-284.057,316.629],[-289.478,311.208],[-294.9,305.786],[-300.321,300.365],[-305.743,294.943],[-311.164,289.522],[-316.586,284.101],[-322.007,278.679],[-327.429,273.26],[-332.85,267.839],[-338.272,262.417],[-343.691,256.996],[-349.112,251.574],[-354.534,246.153],[-359.955,240.731],[-365.377,235.31],[-370.798,229.888],[-375.951,224.213],[-381.104,218.535],[-386.257,212.857],[-391.409,207.181],[-396.56,201.503],[-401.398,195.566],[-405.977,189.416],[-410.554,183.266],[-415.133,177.116],[-419.712,170.969],[-424.166,164.734],[-428.132,158.175],[-432.099,151.613],[-436.064,145.052],[-440.031,138.49],[-443.998,131.929],[-447.364,125.043],[-450.687,118.134],[-454.01,111.226],[-457.333,104.316],[-460.656,97.406],[-463.5,90.295],[-466.158,83.102],[-468.818,75.911],[-471.475,68.721],[-474.133,61.53],[-476.413,54.218],[-478.39,46.81],[-480.365,39.404],[-482.342,31.995],[-484.317,24.587],[-486.007,17.118],[-487.289,9.559],[-488.572,2],[-489.857,-5.558],[-491.14,-13.117],[-492.215,-20.702],[-492.798,-28.348],[-493.384,-35.991],[-493.969,-43.637],[-494.553,-51.28],[-495,-58.928],[-494.884,-66.596],[-494.768,-74.261],[-494.65,-81.926],[-494.533,-89.593],[-494.352,-97.254],[-493.534,-104.877],[-492.716,-112.499],[-491.895,-120.123],[-491.077,-127.747],[-490.259,-135.368],[-488.756,-142.886],[-487.239,-150.401],[-485.723,-157.918],[-484.208,-165.433],[-482.693,-172.948],[-480.583,-180.316],[-478.378,-187.659],[-476.173,-195],[-473.968,-202.343],[-471.763,-209.686],[-469.072,-216.86],[-466.192,-223.963],[-463.309,-231.067],[-460.426,-238.173],[-457.546,-245.277],[-454.31,-252.218],[-450.77,-259.019],[-447.229,-265.82],[-443.688,-272.619],[-440.149,-279.42],[-436.412,-286.107],[-432.24,-292.538],[-428.065,-298.968],[-423.892,-305.399],[-419.717,-311.83],[-415.537,-318.256],[-410.859,-324.331],[-406.183,-330.408],[-401.507,-336.483],[-396.62,-342.384],[-391.47,-348.062],[-386.317,-353.737],[-381.164,-359.415],[-376.011,-365.093],[-370.859,-370.771],[-365.185,-375.927],[-359.51,-381.079],[-353.832,-386.232],[-348.154,-391.385],[-342.476,-396.535],[-336.541,-401.376],[-330.394,-405.955],[-324.244,-410.532],[-318.094,-415.111],[-311.944,-419.69],[-305.714,-424.146],[-299.152,-428.113],[-292.591,-432.08],[-286.03,-436.044],[-279.468,-440.011],[-272.907,-443.978],[-266.023,-447.347],[-259.113,-450.67],[-252.203,-453.993],[-245.296,-457.316],[-238.386,-460.639],[-231.275,-463.486],[-224.084,-466.146],[-216.891,-468.803],[-209.701,-471.461],[-202.51,-474.118],[-195.198,-476.403],[-187.792,-478.378],[-180.384,-480.355],[-172.975,-482.33],[-165.569,-484.308],[-158.097,-485.997],[-150.539,-487.282],[-142.98,-488.565],[-135.422,-489.85],[-127.863,-491.133],[-120.28,-492.21],[-112.635,-492.793],[-104.991,-493.379],[-97.346,-493.965],[-89.702,-494.548],[-82.054,-495.001],[-74.387,-494.882],[-66.721,-494.766],[-59.056,-494.647],[-51.389,-494.531],[-43.729,-494.352],[-36.105,-493.534],[-28.481,-492.716],[-20.859,-491.898],[-13.235,-491.079],[-5.614,-490.262]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.05,"y":0},"t":548,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[1.906,-488.758],[9.421,-487.243],[16.936,-485.728],[24.451,-484.213],[31.966,-482.698],[39.333,-480.59],[46.677,-478.385],[54.02,-476.18],[61.363,-473.975],[68.706,-471.77],[75.88,-469.081],[82.983,-466.201],[90.087,-463.319],[97.193,-460.436],[104.297,-457.556],[111.241,-454.323],[118.039,-450.782],[124.84,-447.241],[131.641,-443.702],[138.442,-440.161],[145.129,-436.429],[151.56,-432.254],[157.991,-428.079],[164.422,-423.907],[170.853,-419.732],[177.281,-415.554],[183.356,-410.878],[189.431,-406.2],[195.508,-401.524],[201.409,-396.642],[207.087,-391.489],[212.765,-386.336],[218.443,-381.184],[224.118,-376.031],[229.796,-370.878],[235.22,-365.461],[240.642,-360.04],[246.063,-354.618],[251.485,-349.197],[256.906,-343.775],[262.328,-338.354],[267.749,-332.932],[273.171,-327.513],[278.592,-322.092],[284.011,-316.671],[289.433,-311.249],[294.854,-305.828],[300.276,-300.406],[305.697,-294.985],[311.118,-289.563],[316.54,-284.142],[321.961,-278.72],[327.383,-273.299],[332.804,-267.88],[338.226,-262.458],[343.645,-257.037],[349.066,-251.615],[354.488,-246.194],[359.909,-240.772],[365.331,-235.351],[370.752,-229.929],[375.907,-224.256],[381.06,-218.578],[386.213,-212.9],[391.366,-207.222],[396.516,-201.547],[401.359,-195.612],[405.938,-189.462],[410.515,-183.315],[415.094,-177.165],[419.674,-171.015],[424.132,-164.785],[428.099,-158.223],[432.066,-151.662],[436.03,-145.1],[439.997,-138.539],[443.964,-131.978],[447.335,-125.097],[450.658,-118.187],[453.981,-111.277],[457.304,-104.369],[460.628,-97.459],[463.476,-90.348],[466.136,-83.158],[468.794,-75.967],[471.451,-68.776],[474.109,-61.583],[476.396,-54.274],[478.371,-46.868],[480.348,-39.459],[482.323,-32.051],[484.301,-24.645],[485.992,-17.176],[487.277,-9.617],[488.56,-2.058],[489.845,5.5],[491.128,13.059],[492.207,20.644],[492.793,28.287],[493.377,35.933],[493.962,43.576],[494.546,51.222],[495.001,58.87],[494.882,66.535],[494.766,74.203],[494.65,81.868],[494.531,89.533],[494.354,97.196],[493.536,104.819],[492.718,112.441],[491.9,120.065],[491.082,127.689],[490.264,135.31],[488.766,142.828],[487.248,150.345],[485.733,157.86],[484.218,165.375],[482.703,172.89],[480.597,180.258],[478.392,187.601],[476.188,194.944],[473.983,202.287],[471.778,209.63],[469.094,216.804],[466.211,223.908],[463.331,231.014],[460.448,238.117],[457.566,245.223],[454.337,252.167],[450.796,258.966],[447.255,265.767],[443.714,272.568],[440.173,279.369],[436.444,286.059],[432.269,292.489],[428.096,298.92],[423.921,305.351],[419.749,311.781],[415.571,318.21],[410.895,324.285],[406.219,330.362],[401.541,336.437],[396.661,342.34],[391.509,348.018],[386.356,353.696],[381.203,359.372],[376.05,365.05],[370.815,370.817],[365.139,375.97],[359.461,381.123],[353.783,386.276],[348.105,391.429],[342.43,396.579],[336.49,401.415],[330.34,405.994],[324.19,410.573],[318.04,415.15],[311.893,419.729],[305.658,424.182],[299.097,428.147],[292.535,432.114],[285.974,436.078],[279.412,440.045],[272.851,444.012],[265.965,447.376],[259.055,450.699],[252.145,454.022],[245.238,457.345],[238.328,460.668],[231.215,463.51],[224.024,466.167],[216.831,468.827],[209.64,471.485],[202.449,474.142],[195.138,476.42],[187.729,478.397],[180.323,480.372],[172.915,482.349],[165.506,484.324],[158.035,486.011],[150.476,487.294],[142.917,488.577],[135.359,489.862],[127.8,491.145],[120.217,492.217],[112.572,492.8],[104.928,493.386],[97.283,493.972],[89.639,494.555],[81.989,495],[74.324,494.884],[66.659,494.766],[58.991,494.649],[51.326,494.533],[43.663,494.347],[36.042,493.529],[28.418,492.711],[20.796,491.893],[13.173,491.075],[5.549,490.257],[-1.966,488.749],[-9.484,487.234],[-16.999,485.718],[-24.514,484.203],[-32.029,482.686],[-39.396,480.575],[-46.737,478.371],[-54.08,476.166],[-61.423,473.961],[-68.767,471.754],[-75.938,469.062],[-83.042,466.18],[-90.148,463.299],[-97.251,460.417],[-104.357,457.534],[-111.296,454.296],[-118.097,450.757],[-124.898,447.216],[-131.697,443.676],[-138.498,440.135],[-145.183,436.398],[-151.613,432.223],[-158.044,428.05],[-164.477,423.875],[-170.908,419.702],[-177.332,415.518],[-183.406,410.842],[-189.484,406.166],[-195.559,401.49],[-201.457,396.601],[-207.135,391.45],[-212.813,386.298],[-218.489,381.145],[-224.167,375.992],[-229.845,370.839],[-235.266,365.42],[-240.688,359.999],[-246.109,354.577],[-251.531,349.156],[-256.952,343.734],[-262.374,338.313],[-267.795,332.894],[-273.216,327.472],[-278.638,322.051],[-284.057,316.629],[-289.478,311.208],[-294.9,305.786],[-300.321,300.365],[-305.743,294.943],[-311.164,289.522],[-316.586,284.101],[-322.007,278.679],[-327.429,273.26],[-332.85,267.839],[-338.272,262.417],[-343.691,256.996],[-349.112,251.574],[-354.534,246.153],[-359.955,240.731],[-365.377,235.31],[-370.798,229.888],[-375.951,224.213],[-381.104,218.535],[-386.257,212.857],[-391.409,207.181],[-396.56,201.503],[-401.398,195.566],[-405.977,189.416],[-410.554,183.266],[-415.133,177.116],[-419.712,170.969],[-424.166,164.734],[-428.132,158.175],[-432.099,151.613],[-436.064,145.052],[-440.031,138.49],[-443.998,131.929],[-447.364,125.043],[-450.687,118.134],[-454.01,111.226],[-457.333,104.316],[-460.656,97.406],[-463.5,90.295],[-466.158,83.102],[-468.818,75.911],[-471.475,68.721],[-474.133,61.53],[-476.413,54.218],[-478.39,46.81],[-480.365,39.404],[-482.342,31.995],[-484.317,24.587],[-486.007,17.118],[-487.289,9.559],[-488.572,2],[-489.857,-5.558],[-491.14,-13.117],[-492.215,-20.702],[-492.798,-28.348],[-493.384,-35.991],[-493.969,-43.637],[-494.553,-51.28],[-495,-58.928],[-494.884,-66.596],[-494.768,-74.261],[-494.65,-81.926],[-494.533,-89.593],[-494.352,-97.254],[-493.534,-104.877],[-492.716,-112.499],[-491.895,-120.123],[-491.077,-127.747],[-490.259,-135.368],[-488.756,-142.886],[-487.239,-150.401],[-485.723,-157.918],[-484.208,-165.433],[-482.693,-172.948],[-480.583,-180.316],[-478.378,-187.659],[-476.173,-195],[-473.968,-202.343],[-471.763,-209.686],[-469.072,-216.86],[-466.192,-223.963],[-463.309,-231.067],[-460.426,-238.173],[-457.546,-245.277],[-454.31,-252.218],[-450.77,-259.019],[-447.229,-265.82],[-443.688,-272.619],[-440.149,-279.42],[-436.412,-286.107],[-432.24,-292.538],[-428.065,-298.968],[-423.892,-305.399],[-419.717,-311.83],[-415.537,-318.256],[-410.859,-324.331],[-406.183,-330.408],[-401.507,-336.483],[-396.62,-342.384],[-391.47,-348.062],[-386.317,-353.737],[-381.164,-359.415],[-376.011,-365.093],[-370.859,-370.771],[-365.185,-375.927],[-359.51,-381.079],[-353.832,-386.232],[-348.154,-391.385],[-342.476,-396.535],[-336.541,-401.376],[-330.394,-405.955],[-324.244,-410.532],[-318.094,-415.111],[-311.944,-419.69],[-305.714,-424.146],[-299.152,-428.113],[-292.591,-432.08],[-286.03,-436.044],[-279.468,-440.011],[-272.907,-443.978],[-266.023,-447.347],[-259.113,-450.67],[-252.203,-453.993],[-245.296,-457.316],[-238.386,-460.639],[-231.275,-463.486],[-224.084,-466.146],[-216.891,-468.803],[-209.701,-471.461],[-202.51,-474.118],[-195.198,-476.403],[-187.792,-478.378],[-180.384,-480.355],[-172.975,-482.33],[-165.569,-484.308],[-158.097,-485.997],[-150.539,-487.282],[-142.98,-488.565],[-135.422,-489.85],[-127.863,-491.133],[-120.28,-492.21],[-112.635,-492.793],[-104.991,-493.379],[-97.346,-493.965],[-89.702,-494.548],[-82.054,-495.001],[-74.387,-494.882],[-66.721,-494.766],[-59.056,-494.647],[-51.389,-494.531],[-43.729,-494.352],[-36.105,-493.534],[-28.481,-492.716],[-20.859,-491.898],[-13.235,-491.079],[-5.614,-490.262]],"c":true}]},{"t":578,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[6.428,-491.836],[14.758,-490.711],[22.933,-488.794],[30.879,-486.091],[38.523,-482.63],[45.798,-478.436],[52.619,-473.52],[58.782,-467.809],[64.461,-461.621],[69.338,-454.782],[73.871,-447.708],[78.192,-440.497],[82.517,-433.286],[86.839,-426.075],[91.16,-418.864],[95.482,-411.653],[99.804,-404.442],[104.126,-397.231],[108.483,-390.044],[113.214,-383.095],[118.623,-376.662],[124.659,-370.811],[131.256,-365.6],[138.343,-361.084],[145.852,-357.302],[153.702,-354.292],[161.813,-352.086],[170.105,-350.705],[178.493,-350.164],[186.896,-350.481],[195.21,-351.684],[203.407,-353.545],[211.562,-355.588],[219.718,-357.63],[227.872,-359.673],[236.027,-361.716],[244.181,-363.761],[252.338,-365.803],[260.492,-367.846],[268.646,-369.889],[276.914,-371.411],[285.269,-372.203],[293.657,-372.215],[302.017,-371.414],[310.252,-369.719],[318.231,-367.08],[325.908,-363.685],[333.216,-359.562],[340.096,-354.753],[346.486,-349.301],[352.314,-343.241],[357.412,-336.56],[361.837,-329.422],[365.549,-321.897],[368.509,-314.043],[370.689,-305.936],[372.039,-297.638],[372.361,-289.24],[372.004,-280.849],[370.621,-272.565],[368.824,-264.356],[366.781,-256.2],[364.736,-248.045],[362.693,-239.891],[360.651,-231.737],[358.608,-223.58],[356.565,-215.426],[354.522,-207.272],[352.518,-199.108],[350.948,-190.852],[350.222,-182.478],[350.352,-174.071],[351.328,-165.723],[353.146,-157.514],[355.778,-149.53],[359.199,-141.853],[363.374,-134.555],[368.261,-127.715],[373.81,-121.4],[379.976,-115.683],[386.704,-110.652],[393.816,-106.172],[401.027,-101.85],[408.238,-97.528],[415.449,-93.207],[422.657,-88.885],[429.868,-84.563],[437.079,-80.241],[444.29,-75.919],[451.501,-71.597],[458.424,-66.826],[464.892,-61.481],[470.836,-55.558],[476.182,-49.083],[480.806,-42.061],[484.584,-34.554],[487.613,-26.727],[489.868,-18.643],[491.334,-10.378],[492.001,-2.006],[491.837,6.399],[490.717,14.73],[488.802,22.906],[486.104,30.852],[482.645,38.498],[478.456,45.775],[473.541,52.596],[467.831,58.762],[461.649,64.443],[454.811,69.326],[447.737,73.86],[440.526,78.18],[433.315,82.501],[426.105,86.823],[418.894,91.145],[411.68,95.465],[404.469,99.786],[397.258,104.108],[390.069,108.463],[383.12,113.192],[376.687,118.601],[370.833,124.635],[365.62,131.228],[361.1,138.316],[357.315,145.823],[354.303,153.672],[352.094,161.784],[350.711,170.075],[350.167,178.464],[350.487,186.866],[351.683,195.181],[353.544,203.378],[355.589,211.532],[357.631,219.686],[359.674,227.843],[361.717,235.997],[363.762,244.151],[365.805,252.306],[367.847,260.462],[369.892,268.617],[371.413,276.884],[372.209,285.237],[372.224,293.628],[371.424,301.988],[369.729,310.223],[367.095,318.202],[363.7,325.879],[359.582,333.191],[354.775,340.071],[349.328,346.464],[343.269,352.292],[336.587,357.392],[329.452,361.82],[321.927,365.534],[314.075,368.499],[305.968,370.683],[297.67,372.031],[289.272,372.357],[280.883,372.005],[272.597,370.622],[264.388,368.83],[256.234,366.785],[248.077,364.742],[239.923,362.699],[231.769,360.657],[223.615,358.614],[215.458,356.571],[207.304,354.526],[199.14,352.521],[190.884,350.949],[182.51,350.221],[174.105,350.344],[165.754,351.32],[157.546,353.134],[149.562,355.763],[141.88,359.181],[134.582,363.354],[127.74,368.236],[121.423,373.785],[115.708,379.949],[110.672,386.673],[106.19,393.784],[101.868,400.995],[97.546,408.206],[93.224,415.417],[88.902,422.628],[84.581,429.839],[80.259,437.05],[75.937,444.261],[71.615,451.472],[66.846,458.394],[61.503,464.868],[55.583,470.811],[49.11,476.162],[42.088,480.786],[34.586,484.569],[26.758,487.6],[18.675,489.86],[10.412,491.328],[2.04,492],[-6.367,491.834],[-14.696,490.718],[-22.874,488.808],[-30.82,486.115],[-38.469,482.661],[-45.748,478.474],[-52.569,473.559],[-58.737,467.851],[-64.421,461.671],[-69.305,454.836],[-73.842,447.762],[-78.164,440.551],[-82.484,433.34],[-86.805,426.13],[-91.127,418.918],[-95.449,411.708],[-99.769,404.497],[-104.09,397.283],[-108.445,390.094],[-113.171,383.143],[-118.576,376.707],[-124.607,370.851],[-131.201,365.636],[-138.287,361.113],[-145.793,357.325],[-153.64,354.309],[-161.749,352.098],[-170.041,350.71],[-178.432,350.169],[-186.832,350.483],[-195.149,351.675],[-203.346,353.533],[-211.5,355.578],[-219.654,357.621],[-227.809,359.664],[-235.965,361.706],[-244.12,363.751],[-252.274,365.794],[-260.428,367.837],[-268.585,369.882],[-276.85,371.404],[-285.205,372.204],[-293.594,372.225],[-301.956,371.43],[-310.191,369.735],[-318.17,367.104],[-325.849,363.716],[-333.162,359.6],[-340.046,354.796],[-346.442,349.351],[-352.269,343.291],[-357.371,336.612],[-361.804,329.482],[-365.521,321.956],[-368.488,314.107],[-370.677,306],[-372.025,297.702],[-372.356,289.304],[-372.006,280.915],[-370.628,272.629],[-368.836,264.42],[-366.793,256.264],[-364.75,248.109],[-362.708,239.955],[-360.662,231.801],[-358.62,223.646],[-356.577,215.49],[-354.532,207.336],[-352.527,199.172],[-350.95,190.916],[-350.22,182.542],[-350.34,174.137],[-351.312,165.786],[-353.123,157.578],[-355.749,149.591],[-359.166,141.91],[-363.334,134.609],[-368.216,127.765],[-373.763,121.447],[-379.924,115.728],[-386.645,110.688],[-393.755,106.205],[-400.968,101.886],[-408.179,97.564],[-415.39,93.242],[-422.601,88.923],[-429.814,84.601],[-437.025,80.281],[-444.236,75.96],[-451.449,71.64],[-458.372,66.871],[-464.845,61.533],[-470.793,55.615],[-476.148,49.144],[-480.771,42.123],[-484.556,34.621],[-487.591,26.795],[-489.854,18.714],[-491.327,10.451],[-492.001,2.077],[-491.837,-6.328],[-490.724,-14.659],[-488.818,-22.835],[-486.128,-30.786],[-482.678,-38.434],[-478.496,-45.716],[-473.581,-52.537],[-467.878,-58.71],[-461.701,-64.396],[-454.868,-69.283],[-447.796,-73.822],[-440.586,-78.144],[-433.375,-82.463],[-426.161,-86.785],[-418.95,-91.107],[-411.739,-95.429],[-404.529,-99.751],[-397.318,-104.073],[-390.126,-108.425],[-383.172,-113.146],[-376.732,-118.549],[-370.874,-124.578],[-365.656,-131.167],[-361.128,-138.252],[-357.338,-145.757],[-354.319,-153.601],[-352.104,-161.71],[-350.714,-170.002],[-350.17,-178.393],[-350.482,-186.793],[-351.666,-195.11],[-353.525,-203.307],[-355.567,-211.461],[-357.61,-219.618],[-359.655,-227.772],[-361.698,-235.926],[-363.741,-244.081],[-365.783,-252.237],[-367.826,-260.391],[-369.871,-268.546],[-371.396,-276.813],[-372.202,-285.166],[-372.226,-293.555],[-371.436,-301.917],[-369.741,-310.152],[-367.117,-318.133],[-363.731,-325.815],[-359.617,-333.13],[-354.818,-340.017],[-349.378,-346.414],[-343.318,-352.242],[-336.642,-357.349],[-329.511,-361.784],[-321.991,-365.505],[-314.141,-368.475],[-306.037,-370.669],[-297.738,-372.017],[-289.34,-372.35],[-280.952,-372.005],[-272.665,-370.629],[-264.454,-368.839],[-256.3,-366.796],[-248.146,-364.754],[-239.989,-362.709],[-231.835,-360.666],[-223.681,-358.623],[-215.526,-356.581],[-207.372,-354.535],[-199.208,-352.528],[-190.953,-350.951],[-182.578,-350.216],[-174.174,-350.334],[-165.823,-351.306],[-157.612,-353.115],[-149.626,-355.736],[-141.942,-359.148],[-134.639,-363.314],[-127.794,-368.194],[-121.477,-373.74],[-115.753,-379.899],[-110.708,-386.616],[-106.225,-393.725],[-101.903,-400.936],[-97.582,-408.147],[-93.26,-415.36],[-88.94,-422.571],[-84.618,-429.782],[-80.297,-436.993],[-75.975,-444.204],[-71.584,-451.531],[-66.813,-458.453],[-61.463,-464.917],[-55.538,-470.858],[-49.058,-476.202],[-42.039,-480.826],[-34.53,-484.599],[-26.699,-487.623],[-18.616,-489.876],[-10.351,-491.337],[-1.977,-491.999]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.235294117647,0.250980392157,0.262745098039,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[8.9,8.9],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Material shape","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":270,"op":720,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":26,"ty":4,"nm":".grey700","cl":"grey700","parent":27,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-349.33,-81.383,0],"ix":2,"l":2},"a":{"a":0,"k":[-212.824,66.939,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[77,77],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":772,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.372549019608,0.388235294118,0.407843137255,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-212.824,66.939],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":270,"op":720,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":27,"ty":4,"nm":".grey800","cl":"grey800","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.05],"y":[0]},"t":270,"s":[1256]},{"t":300,"s":[476]}],"ix":3},"y":{"a":0,"k":342,"ix":4}},"a":{"a":0,"k":[-202.83,-54.883,0],"ix":1,"l":2},"s":{"a":0,"k":[200,200,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[420,190],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":38,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.235294117647,0.250980392157,0.262745098039,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-202.83,-54.883],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":270,"op":720,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":28,"ty":4,"nm":".black","cl":"black","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[412,300,0],"ix":2,"l":2},"a":{"a":0,"k":[-46.322,-74.951,0],"ix":1,"l":2},"s":{"a":0,"k":[200,200,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[412,300],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":28,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-46.322,-74.951],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":720,"st":0,"ct":1,"bm":0}],"markers":[{"tm":360,"cm":"1","dr":0},{"tm":450,"cm":"2","dr":0},{"tm":540,"cm":"3","dr":0}],"props":{}}
\ No newline at end of file
diff --git a/res/values-af/arrays.xml b/res/values-af/arrays.xml
index 4340391..4b51726 100644
--- a/res/values-af/arrays.xml
+++ b/res/values-af/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Slaaptyd"</item>
-    <item msgid="4152450357280759894">"Bestuur"</item>
-    <item msgid="7096549258219399423">"Meesleurend"</item>
-    <item msgid="2760716776980432977">"Bestuur"</item>
-    <item msgid="601734478369121764">"Ster"</item>
-    <item msgid="6243809315432780521">"Kalender"</item>
-    <item msgid="4913577903148415331">"Tyd"</item>
-    <item msgid="3653377604690057780">"Teater"</item>
-    <item msgid="3843711267408385410">"Blom"</item>
+    <item msgid="1216815120972438676">"Aktetas"</item>
+    <item msgid="184985872234062767">"Klassieke gebou"</item>
+    <item msgid="9189550412466785530">"Woonstelblok"</item>
+    <item msgid="2142527562511049422">"Spraakborrel"</item>
+    <item msgid="2548100558260478605">"Groep mense"</item>
+    <item msgid="2270003903304578284">"Gloeilamp"</item>
+    <item msgid="4793496619091161864">"Kalender"</item>
+    <item msgid="5673625795644364100">"Moenie Steur Nie"</item>
+    <item msgid="1423820834865831361">"Mens wat hardloop"</item>
+    <item msgid="2037298830718732608">"Gholf"</item>
+    <item msgid="2197835014443491074">"Gimnasiumhandgewig"</item>
+    <item msgid="2730180105015616518">"Swem"</item>
+    <item msgid="2666922823253345958">"Mens wat voetslaan"</item>
+    <item msgid="8234880356472211396">"Mens wat ’n bal gooi"</item>
+    <item msgid="4642980625253001443">"Mens wat skop"</item>
+    <item msgid="4324795269518833500">"Speletjiebeheerder"</item>
+    <item msgid="7789966425125441125">"Kunstenaar se kleurpalet"</item>
+    <item msgid="663512680597461570">"Sneeuvlokkie"</item>
+    <item msgid="7952183800501346803">"Strandsambreel"</item>
+    <item msgid="799139025758265891">"Werkswinkelgereedskap"</item>
+    <item msgid="1330084588359129896">"Tent"</item>
+    <item msgid="3861584909935022342">"Filmspoel"</item>
+    <item msgid="5827426100157335512">"Boek"</item>
+    <item msgid="8585828346253128384">"Egiptiese waterlelie"</item>
+    <item msgid="8788370542815300188">"Mens se gedagtes"</item>
+    <item msgid="7287354964767553293">"Oorfone"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Trein"</item>
+    <item msgid="4903790544026923026">"Motor"</item>
+    <item msgid="5010405583912314582">"Mes en vurk"</item>
+    <item msgid="8939998598599064900">"Inkopiemandjie"</item>
+    <item msgid="3379605903308731893">"Kind"</item>
+    <item msgid="7808668968550293112">"Dier se poot"</item>
+    <item msgid="1000692647524056504">"Sterkenteken"</item>
+    <item msgid="8270261073421676502">"Twee mense"</item>
+    <item msgid="5767782819651505460">"Ster"</item>
+    <item msgid="4368451291862729334">"Hartjie"</item>
+    <item msgid="2613199102208419986">"Huis"</item>
+    <item msgid="3022279986430275040">"Halfmaan"</item>
+    <item msgid="5421089790869483206">"Horlosie"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index badab4a..f68f481 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Afgelas"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Onbekend"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Voorskou"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR-kode"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Altyd"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Gehoortoestelinstellings"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Kortpad, gehoortoestel-versoenbaarheid"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Voorafstelling"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Geen voorafstellings deur jou oudioloog geprogrammeer nie"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Kon nie voorafstelling opdateer nie"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Oudio-uitvoer"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Meer oor oudio-uitvoer"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Taalkeuse vir hierdie program is nie in Instellings beskikbaar nie."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Taal kan verskil van tale wat in die program beskikbaar is. Sommige programme steun dalk nie hierdie instelling nie."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Stel die taal vir elke app."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Jou stelsel, apps en webwerwe gebruik die eerste gesteunde taal uit jou voorkeurtale."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Jou toestel, apps en webwerwe gebruik die eerste gesteunde taal uit jou voorkeurtaallys.\n\nBaie apps sal ook die streek van jou voorkeurtaal gebruik om datums, getalle en eenhede te formateer. Voeg ’n taal by en kies dan jou voorkeurstreek as jy jou streek wil verander."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Gaan na apptaalinstellings vir elke app om ’n taal te kies."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Meer inligting oor apptale"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Verander stelseltaal na %s ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Af"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Aan/# app het toegang tot ligging}other{Aan/# apps het toegang tot ligging}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Laai tans …"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Apps met die Toestelle in die Omtrek-toestemming kan die relatiewe posisie van gekoppelde toestelle bepaal."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Apps met die Toestelle in die Omtrek-toestemming kan die relatiewe posisie van gekoppelde toestelle bepaal."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Liggingtoegang is af vir apps en dienste. Jou toestelligging kan steeds aan nooddienste gestuur word wanneer jy \'n noodnommer bel of \'n SMS daarheen stuur."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Meer inligting oor ligginginstellings"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Gaan na ChromeOS-instellings &gt; Privaatheid en sekuriteit &gt; Privaatheidkontroles &gt; Liggingtoegang om dit te verander"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Gesig en <xliff:g id="WATCH">%s</xliff:g> is bygevoeg"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Gesig, vingerafdruk en <xliff:g id="WATCH">%s</xliff:g> is bygevoeg"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Gesig, vingerafdrukke en <xliff:g id="WATCH">%s</xliff:g> is bygevoeg"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Identiteitkontrole is aan en vereis ’n biometrie"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator-ontsluiting"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Horlosie is bygevoeg"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Stel jou horlosie op"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Kom meer te wete oor Horlosieontsluiting"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Voeg horlosie by"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Verwyder horlosie"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Gesig- en Vingerafdrukslot"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Gesigslot en vingerafdrukslot"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Gesig- en Vingerafdrukslot vir werk"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Opstelling is nodig"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Gesig en vingerafdrukke is bygevoeg"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Stel tans privaat ruimte op …"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Kon nie privaat ruimte opstel nie"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Probeer weer"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Gaan uit"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Privaat ruimte is nie beskikbaar nie.\nBekyk moontlike oorsake"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Bekyk moontlike oorsake"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Wil jy ’n nuwe slot vir privaat ruimte kies?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Jy kan ’n nuwe slot net vir privaat ruimte stel, of dieselfde slot gebruik wat jy gebruik om jou toestel te ontsluit"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Gebruik skermslot"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Wanneer Bluetooth aangeskakel is, kan jou toestel met ander Bluetooth-toestelle in die omtrek kommunikeer.\n\nOm toestelervaring te verbeter, kan apps en dienste steeds enige tyd na toestelle in die omtrek soek, selfs wanneer Bluetooth af is. Dit kan byvoorbeeld gebruik word om ligginggegronde kenmerke en dienste te verbeter. Jy kan dit in Bluetooth-opsporinginstellings verander."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Wanneer Bluetooth aan is, kan jou toestel met ander Bluetooth-toestelle in die omtrek kommunikeer. Kenmerke soos Kitsdeel en Kry My Toestel gebruik Bluetooth.\n\nApps en dienste kan steeds te eniger tyd vir toestelle in die omtrek soek, selfs wanneer Bluetooth af is. Dit kan byvoorbeeld gebruik word om ligginggebaseerde kenmerke en dienste te verbeter. Jy kan dit in Bluetooth-skanderinginstellings verander."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Verander"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Toestelbesonderhede"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Sleutelbordinstellings"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Nog instellings"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Fermwareopdaterings, meer oor, en meer"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Wenke en steundiens"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Toestel se Bluetooth-adres: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Toestel se Bluetooth-adres:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Vergeet toestel?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Eksperimenteel. Verbeter oudiogehalte."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Vergeet toestel"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Ontkoppel program"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Nog instellings"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Maks. gekoppelde Bluetooth-oudiotoestelle"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Kies maksimum aantal gekoppelde Bluetooth-oudiotoestelle"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC- woordryke verkoperontfoutingloglêer"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Herbegin toestel?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Gedetailleerde NFC-loglêers is slegs vir ontwikkelingdoeleindes bedoel. Bykomende NFC-data is by foutverslae ingesluit, wat privaat inligting kan bevat. Herbegin jou toestel om hierdie instelling te verander."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Herbegin"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Aan"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Af"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Eksterne skerm"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Gebruik eksterne skerm"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Skermresolusie"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Eksterne skerm is ontkoppel"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Rotasie"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standaard"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"As jy rotasie of resolusie verander, kan dit enige apps stop wat tans gebruik word"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Jou toestel moet aan ’n eksterne skerm gekoppel wees om jou skerm te weerspieël"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Meer opsies"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Saai uit"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"weerspieël"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Aktiveer draadlose skermdeling"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Aanpasbaar"</string>
     <string name="brightness" msgid="6216871641021779698">"Helderheidsvlak"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Aanpasbare helderheid"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Meer oor aanpasbare helderheid"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Jou skermhelderheid sal outomaties by jou omgewing en aktiwiteite aanpas. Jy kan die glyer self skuif om aanpasbare helderheid te help om te leer wat jy verkies."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Aan"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Af"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Gebruik <xliff:g id="CARRIER">%1$s</xliff:g> vir mobiele data?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Jy gebruik tans <xliff:g id="CARRIER2_0">%2$s</xliff:g> vir mobiele data. As jy na <xliff:g id="CARRIER1">%1$s</xliff:g> oorskakel, sal <xliff:g id="CARRIER2_1">%2$s</xliff:g> nie meer vir mobiele data gebruik word nie."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Gebruik <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Dateer voorkeur-SIM op?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> is die enigste SIM in jou toestel. Wil jy hierdie SIM vir mobiele data, oproepe en SMS\'e gebruik?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> is nou jou primêre SIM"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Verbeter mobieldatadekking?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Laat jou toestel toe om outomaties oor te skakel na <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> vir mobiele data wanneer dit meer beskikbaar is."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Jou organisasie kan dalk oproepe, boodskappe en netwerkverkeer sien."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Opsies"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Toeganklikheid"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fisiese sleutelbord"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Gebruik skermsleutelbord"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Hou dit op die skerm terwyl fisieke sleutelbord aktief is"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Hopsleutels"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Die sleutelbord ignoreer drukke van dieselfde sleutel wat binne <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms vinnig herhaal word"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Stadige sleutels"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Dit verstel die tyd wat dit neem vir ’n sleuteldruk om geaktiveer te word na <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms toe"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Taaisleutels"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Druk een sleutel op ’n slag vir kortpaaie pleks van om die sleutels saam in te hou"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Muissleutels"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Gebruik die fisieke sleutelbord om die muis te beheer."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Kortpadsleutels"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Wys lys met kortpaaie"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Werkprofielsleutelborde en -nutsgoed"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Pasmaak individuele raakpaneelnavigasiegebare"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Omgekeerde rollees"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Inhoud beweeg op wanneer jy ondertoe rollees"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Tik onder regs"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Tik op die raakpaneel se hoek onder regs vir meer opsies"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Klik onder regs"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Klik op die raakpaneel se hoek onder regs vir meer opsies"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Wyserspoed"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Wyserinvulstyl"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Verander wyserinvulstyl na swart"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Verander wyserinvulstyl na geel"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Verander wyserinvulstyl na pienk"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Verander wyserinvulstyl na blou"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Styl van wyser se haal"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Wit"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Swart"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Geen"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Leer raakpaneelgebare"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"stuurpaneel, stuurpaneel, muis, skermpyltjie, rollees, swiep, regsklik, klik, wyser"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"regsklik, tik"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Stel terug"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Kies wysigersleutel"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Kies ’n nuwe sleutel vir <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g>-uitleg"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Verstek"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Outomaties: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Gebruikergekose: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Spraak"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Wyserspoed"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Wyserskaal"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Verklein wyserskaal"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Vergroot wyserskaal"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Speletjiekontroleerder"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Herlei vibrasie"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Stuur vibrasie na speletjiebeheerder wanneer dit gekoppel is"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Gaan in elk geval voort"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Kanselleer"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Vergrotinginstellings"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Beeldrol met een vinger"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Skuif vergrootglas met 1 vinger"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Sleep 1 vinger om op die skerm rond te beweeg"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Skuif die vergrotingarea deur een vinger te sleep."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Skuif die vergrotingarea deur twee vingers te sleep."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Onbeskikbaar terwyl net ’n deel van die skerm vergroot word"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tik op \'n knoppie om te zoem"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Zoem vinnig op die skerm in om inhoud groter te maak"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Zoem só in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Gebruik kortpad om vergroting te begin&lt;br/&gt; {1,number,integer}. Tik op die skerm&lt;br/&gt; {2,number,integer}. Sleep 2 vingers om op die skerm rond te beweeg&lt;br/&gt; {3,number,integer}. Knyp met 2 vingers om die zoem te verstel&lt;br/&gt; {4,number,integer}. Gebruik kortpad om vergroting te stop&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Zoem só tydelik in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Maak seker dat jou vergrotingtipe op volskerm gestel is&lt;br/&gt; {1,number,integer}. Gebruik kortpad om vergroting te begin&lt;br/&gt; {2,number,integer}. Raak en hou enige plek op die skerm&lt;br/&gt; {3,number,integer}. Sleep vinger om op die skerm rond te beweeg&lt;br/&gt; {4,number,integer}. Lig vinger om vergroting te stop"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Zoem só in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Gebruik kortpad om vergroting te begin&lt;br/&gt; {1,number,integer}. Tik op die skerm&lt;br/&gt; {2,number,integer}. Sleep 2 vingers om op die skerm rond te beweeg&lt;br/&gt; {3,number,integer}. Knyp met 2 vingers om die zoem te verstel&lt;br/&gt; {4,number,integer}. Gebruik kortpad om vergroting te stop&lt;br/&gt;&lt;br/&gt; Jy kan ook tydelik en meer inzoem."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Zoem só in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Gebruik kortpad om vergroting te begin&lt;br/&gt; {1,number,integer}. Tik op die skerm&lt;br/&gt; {2,number,integer}. Sleep 1 of 2 vingers om op die skerm rond te beweeg&lt;br/&gt; {3,number,integer}. Knyp met 2 vingers om die zoem te verstel&lt;br/&gt; {4,number,integer}. Gebruik kortpad om vergroting te stop&lt;br/&gt;&lt;br/&gt; Jy kan ook tydelik en meer inzoem."</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_pager" msgid="8461939455728454061">"Bladsy <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> van <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Toeganklikheidknoppiekortpad"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Tik op die swewende knoppie"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Toeganklikheidsgebaar"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Tik op die toeganklikheidknoppie <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> onderaan jou skerm. Raak en hou die toeganklikheidknoppie om tussen kenmerke te wissel."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Swiep met 2 vingers van die onderkant van die skerm af op.\n\nSwiep op met 2 vingers en hou om tussen kenmerke te wissel."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Swiep met 3 vingers van die onderkant van die skerm af op.\n\nSwiep op met 3 vingers en hou om tussen kenmerke te wissel."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Swiep van die onderkant van jou skerm af op. Swiep op en hou om tussen kenmerke te wissel.}other{Swiep met # vingers van die onderkant van jou skerm af op. Swiep met # vingers op en hou om tussen kenmerke te wissel.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Meer opsies"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Kom meer te wete oor <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Volumesleutels"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"Volumesleutels"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Druk en hou albei volumesleutels"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Tweevinger-dubbeltik op skerm"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d-vinger-dubbeltik"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Tik vinnig twee keer op die skerm met %1$d vingers."</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Tripeltik"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Tik vinnig %1$d keer op die skerm. Dit kan jou toestel stadiger maak"</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d-vinger-dubbeltik"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Tik vinnig {0,number,integer} keer op die skerm met twee vingers"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Tik 3 keer op skerm"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"Tripeltik"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Tik {0,number,integer} 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Kortpadinstellings"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Kortpad van sluitskerm af"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Laat toe dat kenmerkkortpad van die sluitskerm af aangeskakel word. Hou albei volumesleutels \'n paar sekondes lank."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Toeganklikheidknoppie"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Toeganklikheidknoppie en -gebaar"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Hierdie diens werk nie."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Toeganklikheidkortpaaie"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Wys in Vinnige instellings"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rooi-groen"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Rooi-groen"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Rooi-groen, groen is swak"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Rooi-groen, rooi is swak"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blou-geel"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Grysskaal"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensiteit"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Groen swak, deuteranomalie"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Rooi swak, protanomalie"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Onbeskikbaar vir grysskaalmodus of wanneer kleurregstelling gedeaktiveer is"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Ekstra flou"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Maak skerm ekstra donker"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Siaan"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Geel"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Gee <xliff:g id="SERVICE">%1$s</xliff:g> volle beheer oor jou toestel?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> moet:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Instellings kan nie jou antwoord verifieer nie omdat \'n program \'n toestemmingversoek verberg."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> versoek tans volle beheer van hierdie toestel. Die diens kan die skerm lees en namens gebruikers met toeganklikheidsbehoeftes optree. Hierdie vlak van beheer is nie vir die meeste programme toepaslik nie."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Volle beheer is gepas vir apps wat jou help met toeganklikheidsbehoeftes, maar nie vir die meeste apps nie."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Bekyk en beheer skerm"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Dit kan alle inhoud op die skerm lees en inhoud bo-oor ander apps vertoon."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Bekyk en voer handelinge uit"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Dit kan jou interaksies met \'n app of \'n hardewaresensor naspoor en namens jou met apps interaksie hê."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Laat toe"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Weier"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Skakel af"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Aan/<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> en <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Jy kan ook Ruimtelike Oudio aanskakel vir Bluetooth-toestelle."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Instellings vir gekoppelde toestelle"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Ruimtelike Oudio"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Af"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Af"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Af"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Geen}=1{1 skedule gestel}other{# skedules gestel}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Moenie Steur Nie"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Prioriteitmodusse"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Voeg ’n modus by"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Modusse"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Verminder afleidings en neem beheer oor jou aandag met modusse vir slaap, werk, bestuur en alles tussenin."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Skep jou eie modus"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Word net deur belangrike mense en apps in kennis gestel"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Stel ’n skedule"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Skedule gebaseer op"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Dag en tyd"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"9:00-17:00 weeksdae\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Kalendergeleenthede"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} is aktief}=2{{mode_1} en {mode_2} is aktief}=3{{mode_1}, {mode_2} en {mode_3} is aktief}other{{mode_1}, {mode_2} en nog # is aktief}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 modus kan outomaties aanskakel}other{# modusse kan outomaties aanskakel}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"AAN"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Nie gestel nie"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Gedeaktiveer"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Skep ’n modus"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Gepasmaak"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Skakel nou aan"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Skakel af"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Modus nie gevind nie"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Beperk onderbrekings"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Blokkeer onderbrekings en afleidings"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Stel <xliff:g id="MODE">%1$s</xliff:g> op"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Skakel Moenie steur nie aan"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Wekkers en mediaklanke kan onderbreek"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Skedules"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Vee skedules uit"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Vee uit"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Hernoem"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Vee uit"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Vee “<xliff:g id="MODE">%1$s</xliff:g>”-modus uit?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Wysig"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Skedules"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Skedule"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Skakel outomaties aan"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Voeg ’n kalender by"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Gebruik jou kalender"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Skedule"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Stel ’n skedule"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Wanneer om outomaties aan te skakel"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Geleentheidskedule"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Skakel aan tydens geleenthede vir"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Waar uitnodigingantwoord die volgende is"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Tydskedule"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Skedule"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> uur, <xliff:g id="MINUTES">%2$d</xliff:g> min."</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Skedule"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Laat onderbrekings wat klanke maak toe"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Kennisgewings wat jou kan bereik"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Bykomende handelinge"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Kennisgewingfilters"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Nog instellings"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Af}=1{Af / 1 modus kan automaties aanskakel}other{Af / # modusse kan automaties aanskakel}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Vertooninstellings"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Vertoon opsies"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Grysskaal"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"aktiveer donkertema"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Wissel die bedryfstelsel en apps om ligte teks op ’n donker agtergrond te verkies, wat makliker vir die oë kan wees en aansienlike batterybesparings op sekere toestelle bied"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Geen skermveranderinge nie}=1{{effect_1}}=2{{effect_1} en {effect_2}}=3{{effect_1}, {effect_2} en {effect_3}}other{{effect_1}, {effect_2}, en nog #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Laat alle kennisgewings toe"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Mense, apps en klanke kan onderbreek"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Vertoonopsies vir gefiltreerde kennisgewings"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Wanneer Moenie Steur Nie aan is"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Geen klank van kennisgewings af nie"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"maak kennisgewing oop"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Laat toe dat kennisgewings gesluimer word"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Kennisgewingkol op appikoon"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Kennisgewingbondels"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Borrels"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Borrels"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Laat hierdie gesprek in \'n borrel verskyn"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Dit kan antwoord op boodskappe en handelingknoppies in kennisgewings gebruik, insluitend om kennisgewings te sluimer of toe te maak en oproepe te beantwoord."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Verander instellings"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Dit kan Moenie Steur Nie aan- of afskakel en verwante instellings verander."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Dit kan prioriteitmodusse bestuur en aktiveer, en verwante instellings verander."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"As jy kennisgewingtoegang vir <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> afskakel, kan Moenie Steur Nie-toegang dalk ook afgeskakel word."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"As jy kennisgewingtoegang vir <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> afskakel, kan Modussetoegang dalk ook afgeskakel word."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Skakel af"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Kanselleer"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Intyds"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Hierdie program steun nie verbeterde instellings nie"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Meer instellings"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Meer instellings is binne hierdie app beskikbaar"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Aanpasbare kennisgewings"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Gebruik aanpasbare kennisgewings"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Wanneer jy binne ’n kort tydperk baie kennisgewings kry, sal jou foon vir tot twee minute die volume sagter stel en opspringers op die skerm minimeer. Oproepe, wekkers en prioriteitgesprekke vibreer steeds, maak ’n geluid of wys op die skerm, en alle kennisgewings is maklik om te kry wanneer jy van die bokant van die skerm af trek."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Kennisgewingbedaring"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Gebruik kennisgewingdemping"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Wanneer jy binne ’n kort tydperk baie kennisgewings kry, sal jou toestel vir tot 2 minute die volume sagter stel en waarskuwings minimeer. Oproepe, wekkers en prioriteitgesprekke word nie geraak nie. \n\nKennisgewings wat jy tydens demping kry, kan gekry word deur van die bokant van die skerm af te trek."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Pas toe op werkprofiele"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Pas toe op werkprofielapps"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR-helperdienste"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Toegang tot Moenie Steur Nie"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Laat Moenie Steur Nie toe"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Geen geïnstalleerde programme het toegang tot Moenie Steur Nie versoek nie"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Modussetoegang"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Laat Modussetoegang toe"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Geen geïnstalleerde programme het Modussetoegang versoek nie"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Jy het nie kennisgewings van hierdie app af toegelaat nie"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Android keer tans op jou versoek dat hierdie kategorie kennisgewings op hierdie toestel verskyn"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Android keer tans op jou versoek dat hierdie groep kennisgewings op hierdie toestel verskyn"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Kategorieë"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Ander"</string>
     <string name="no_channels" msgid="4716199078612071915">"Hierdie program het nie enige kennisgewings geplaas nie"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Wys ongebruikte kategorieë"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Bykomende instellings in die app"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Wys ongebruikte kategorieë"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Versteek ongebruikte kategorieë"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Gesprekke"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Alle gesprekke"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"alle gesprekke"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Prioriteitgesprekke"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"prioriteitgesprekke"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Geen"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Apps wat kan onderbreek"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Geselekteerde apps"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Geen"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Alles"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Geen apps kan onderbreek nie}=1{{app_1} kan onderbreek}=2{{app_1} en {app_2} kan onderbreek}=3{{app_1}, {app_2} en {app_3} kan onderbreek}other{{app_1}, {app_2} en nog # kan onderbreek}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (Werk)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Bereken tans …"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Laat programme toe om te ignoreer"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Programme wat kan onderbreek"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Kies meer apps"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Niks kan onderbreek nie"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Niemand kan onderbreek nie"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Sekere mense kan onderbreek"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Herhaalbellers kan onderbreek"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Alle mense kan onderbreek"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Herhaalbellers"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Laat herhaalbellers toe"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Verandering aan wekkers vir slegs een uur tot {time}}other{Verandering aan wekkers vir slegs # uur tot {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Verander tot <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> na net wekkers"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Verander na onderbreek altyd"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Hernoem"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Verander ikoon"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Verander ikoon"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Wysig modus"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Skep ’n modus"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Gepasmaakte modus"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Modusnaam"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Kalendergeleenthede"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Slaaptydroetine"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Terwyl jy bestuur"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Appinstellings"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Inligting en instellings in <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Bestuur deur <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Deaktiveer <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Hierdie modus sal nooit aanskakel wanneer dit gedeaktiveer is nie"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Deaktiveer"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Aktiveer <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Hierdie modus kan dalk outomaties aanskakel, afhangende van die instellings"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Aktiveer"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Stel ’n modus wat ’n gereelde skedule volg"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Stel ’n modus om met kalendergeleenthede en antwoorde op uitnodigings te sinkroniseer"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Ontwerp ’n kalmerende slaaproetine. Stel wekkers, verdof die skerm en blokkeer kennisgewings."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Prioritiseer veiligheid op die pad vir ’n gefokusde en afleidingsvrye rit"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Blokkeer afleidings of onderbrekings van jou toestel af om fokus te verkry"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Elimineer alle afleidings vir ’n stil omgewing"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Personaliseer toestelervarings en -instellings vir verskillende gebruikers"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Minimaliseer onderbrekings deur slegs belangrike mense en apps toe te laat om jou te bereik"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Stel ’n modus wat ’n gereelde skedule volg"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Hou jou toestel gesinkroniseer met jou dag se gebeure"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Word wakker en voel 100%"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Stel veiligheid eerste wanneer jy op die pad is"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Kry fokus om jouself te verdiep"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Vir die tye wanneer hoflikheid tel"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Geleide gebruik om jou te help om in goeie hande te bly"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Neem beheer oor jou aandag"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Waarskuwing"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Maak toe"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Stuur terugvoer oor hierdie toestel"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Moet aangeskakel bly want kennisgewingtoegang is aan"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Herroep <xliff:g id="APP">%1$s</xliff:g> se toegang tot Moenie Steur Nie?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Alle Moenie Steur Nie-reëls wat deur hierdie program geskep is, sal verwyder word."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Laat toegang tot Modusse toe vir <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Die app sal Moenie Steur Nie kan aan- of afskakel, Modusse kan bestuur en aktiveer, en veranderinge aan verwante instellings kan aanbring."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Alle modusse wat deur hierdie app geskep is, sal verwyder word."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Moenie optimaliseer nie"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimaliseer"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Sal jou battery dalk vinniger laat afloop. Program sal nie meer beperk word om agtergrondbattery te gebruik nie."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Houer"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Battery"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Instellingspaneel"</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_desktop_mode" msgid="5644818402534562302">"Aktiveer vryevormvensters"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Aktiveer vryevormvensters op sekondêre skerm"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Aktiveer nieveranderbare grootte in multivenster"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Laat programme met nieveranderbare grootte toe in multivenster"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Ignoreer gedwonge donkermodus"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobiele data"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Om toestelervaring te verbeter, kan apps en dienste steeds enige tyd na wi‑fi-netwerke soek, selfs wanneer wi‑fi af is. Dit kan byvoorbeeld gebruik word om ligginggegronde kenmerke en dienste te verbeter. Jy kan dit in Wi-fi-opsporinginstellings verander."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Verander"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Gekoppel"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Tydelik gekoppel"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Gebruik <xliff:g id="SUBNAME">%1$s</xliff:g> tydelik"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Gebruik appvasspeld"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Gebruik ontwikkelaaropsies"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Gebruik drukdiens"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Laat veelvuldige gebruikers toe"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Laat gebruikerwisseling toe"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"laat toe, veelvuldig, gebruiker, baie"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"veelvuldige, gebruikers, profiele, mense, rekeninge, wissel, baie"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Gebruik draadlose ontfouting"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> wil aan hierdie foon koppel.\n\nJy het nog nie voorheen aan <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> gekoppel nie."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Moenie koppel nie"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Koppel"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE-instellings"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Aan"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Af"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Stel terug na verstekinstellings"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Instellings is na verstek teruggestel."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Maksimum versadigingsbalans"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Saldo’s"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Verbruikslimiete"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Aanvanklike verbruikslimiet"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Minimum verbruikslimiet"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Maksimum verbruikslimiet"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Wysigers"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Handelinge (koste om te lewer)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Handelinge (basisprys)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Belonings per enkele geval"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Belonings per sekonde van geleentheidtydsduur"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Maksimum belonings per dag"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Programinstallering"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Topaktiwiteit"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Kennisgewing gesien"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Kennisgewing binne 15 minute gesien"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Kennisgewinginteraksie"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Legstukinteraksie"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Ander gebruikerinteraksie"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Begin maksimumprioriteittaak"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Maksimumprioriteittaak loop tans"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Begin hoëprioriteittaak"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Hoëprioriteittaak loop tans"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Begin verstekprioriteittaak"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Verstekprioriteittaak loop tans"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Begin laeprioriteittaak"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Laeprioriteittaak loop tans"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Begin minimumprioriteittaak"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Minimumprioriteittaak loop tans"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Taakuittelboete"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Minimum saldo as volgelaai (vrygestel)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Minimum saldo as volgelaai (hooflose stelselprogram)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Minimum saldo as volgelaai (orige programme)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Byvoeging vir minimum saldo as volgelaai (programopdateerders)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Laai tans"</item>
-    <item msgid="658627268149681677">"Dut"</item>
-    <item msgid="1599558140284643834">"Kragbesparingmodus"</item>
-    <item msgid="588427840913221601">"Prosestoestand"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Bevestig"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Voorbeskou"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Kies \'n sluimerskerm"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Wys bykomende inligting"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Kies wat jy op jou skerm sal sien wanneer jou tablet gedok is. Jou toestel kan meer energie gebruik wanneer ’n sluimerskerm gebruik word."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Pasmaak"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Pasmaak <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"\'n Herselflaai word vereis om vryevormsteun te aktiveer."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"\'n Herselflaai word vereis om rekenaarmodus vir sekondêre skerms te verplig."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"’n Herselflaai word vereis om vryevormvenstersteun te aktiveer."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"’n Herselflaai word vereis om die beskikbaarheid van vryevormvensters op te dateer."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"’n Herselflaai word vereis om vryevormvensters op sekondêre skerms te aktiveer."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Herselflaai nou"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Herselflaai later"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Ruimtelike Oudio"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Roos"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Pers"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Klaar"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Stoor"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Kanselleer"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Verstek"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Medium"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Aan"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Af"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Aan"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Oudio %1$d%% links, %2$d%% regs"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Oudio %1$d%% regs, %2$d%% links"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Jou toestelnaam is sigbaar vir apps wat jy geïnstalleer het. Ander mense sal dit dalk ook kan sien as jy aan Bluetooth-toestelle koppel, aan ’n wi-fi-netwerk koppel, of ’n wi-fi-warmkol opstel."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Grammatikale geslag"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Kies grammatikale geslag"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Oudiodeling het opgehou"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Koppel ’n versoenbare toestel"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Om oudio te begin deel, moet jy eers LE-oudio-oorfone aan jou foon koppel"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Skakel oor na <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Koppel aan ’n LE-oudiostroom"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Oudiostrome naby"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Oudiostrome"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Luister na stroom"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Skandeer ’n oudiostroom-QR-kode om op <xliff:g id="DEVICE_NAME">%1$s</xliff:g> te luister"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Kan nie wagwoord wysig terwyl daar gedeel word nie. Skakel eers oudiodeling af om die wagwoord te verander."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR-kodeskandeerder"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Het jy hulp nodig?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Soekinstellings"</string>
 </resources>
diff --git a/res/values-am/arrays.xml b/res/values-am/arrays.xml
index 7243712..f2996ac 100644
--- a/res/values-am/arrays.xml
+++ b/res/values-am/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"የመኝታ ሰዓት"</item>
-    <item msgid="4152450357280759894">"በመንዳት ላይ"</item>
-    <item msgid="7096549258219399423">"መሳጭ"</item>
-    <item msgid="2760716776980432977">"የሚተዳደር"</item>
-    <item msgid="601734478369121764">"ኮከብ"</item>
-    <item msgid="6243809315432780521">"ቀን መቁጠሪያ"</item>
-    <item msgid="4913577903148415331">"ጊዜ"</item>
-    <item msgid="3653377604690057780">"ቲያትር"</item>
-    <item msgid="3843711267408385410">"አበባ"</item>
+    <item msgid="1216815120972438676">"የሥራ ቦርሳ"</item>
+    <item msgid="184985872234062767">"የታወቀ ህንፃ"</item>
+    <item msgid="9189550412466785530">"የአፓርታማ ህንፃ"</item>
+    <item msgid="2142527562511049422">"የንግግር ምልክት"</item>
+    <item msgid="2548100558260478605">"የሰዎች ቡድን"</item>
+    <item msgid="2270003903304578284">"አምፖል"</item>
+    <item msgid="4793496619091161864">"ቀን መቁጠሪያ"</item>
+    <item msgid="5673625795644364100">"አትረብሽ"</item>
+    <item msgid="1423820834865831361">"እየሮጠ ያለ ሰው"</item>
+    <item msgid="2037298830718732608">"ጎልፍ"</item>
+    <item msgid="2197835014443491074">"የጂም ዳምቤል"</item>
+    <item msgid="2730180105015616518">"ዋና"</item>
+    <item msgid="2666922823253345958">"ተራራ የሚወጣ ሰው"</item>
+    <item msgid="8234880356472211396">"ኳስ የሚወረውር ሰው"</item>
+    <item msgid="4642980625253001443">"እየመታ ያለ ሰው"</item>
+    <item msgid="4324795269518833500">"የጨዋታ መቆጣጠሪያ"</item>
+    <item msgid="7789966425125441125">"የአርቲስት የቀለም ቤተ ስዕል"</item>
+    <item msgid="663512680597461570">"የበረዶ ቅንጣት"</item>
+    <item msgid="7952183800501346803">"የባህር ዳርቻ ዣንጥላ"</item>
+    <item msgid="799139025758265891">"የሥራ ቦታ መሣሪያዎች"</item>
+    <item msgid="1330084588359129896">"ድንኳን"</item>
+    <item msgid="3861584909935022342">"የፊልም ሪል"</item>
+    <item msgid="5827426100157335512">"መጽሐፍ"</item>
+    <item msgid="8585828346253128384">"የሎተስ አበባ"</item>
+    <item msgid="8788370542815300188">"የሰው አዕምሮ"</item>
+    <item msgid="7287354964767553293">"የራስ ላይ ማዳመጫዎች"</item>
+    <item msgid="2530059623783800987">"ቲቪ"</item>
+    <item msgid="5307182323469376758">"ባቡር"</item>
+    <item msgid="4903790544026923026">"መኪና"</item>
+    <item msgid="5010405583912314582">"ሹካ እና ማንኪያ"</item>
+    <item msgid="8939998598599064900">"የሸመታ ተሳቢ"</item>
+    <item msgid="3379605903308731893">"ልጅ"</item>
+    <item msgid="7808668968550293112">"የእንስሳት መዳፍ"</item>
+    <item msgid="1000692647524056504">"የኮከብ ባጅ"</item>
+    <item msgid="8270261073421676502">"ሁለት ሰዎች"</item>
+    <item msgid="5767782819651505460">"ኮከብ"</item>
+    <item msgid="4368451291862729334">"ልብ"</item>
+    <item msgid="2613199102208419986">"ቤት"</item>
+    <item msgid="3022279986430275040">"ግማሽ ጨረቃ"</item>
+    <item msgid="5421089790869483206">"ሰዓት"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 7427239..5e31045 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"ታግዷል"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"ያልታወቀ"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"ቅድመ-ዕይታ"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR ኮድ"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"አነስ አድርግ"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"ተለቅ አድርግ"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"ሁልጊዜ"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"የመስማት ችሎታ መሣሪያ ቅንብሮች"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"አቋራጭ፣ የመስሚያ ረዳት ተኳዃኝነት"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"ቅድመ-ቅምጥ"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"በኦዲዮሎጂስትዎ ፕሮግራም የተደረጉ ምንም ቅድመ-ቅምጦች የሉም"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"ቅድመ-ቅምጥን ማዘመን አልተቻለም"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"የኦዲዮ ውጽዓት"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ስለኦዲዮ ውፅዓት"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"ለዚህ መተግበሪያ የቋንቋ መረጣ ከቅንብሮች አይገኝም።"</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"ቋንቋ በመተግበሪያው ውስጥ ካሉ ቋንቋዎች ሊለያይ ይችላል። አንዳንድ መተግበሪያዎች ይህን ቅንብር ላይደግፉ ይችላሉ።"</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"ለእያንዳንዱ መተግበሪያ ቋንቋውን ያቀናብሩ።"</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"የእርስዎ ስርዓት፣ መተግበሪያዎች እና ድር ጣቢያዎች ከእርስዎ የተመረጡ ቋንቋዎች ውስጥ የመጀመሪያውን የተደገፈ ቋንቋ ይጠቀማሉ።"</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"የእርስዎ መሣሪያ፣ መተግበሪያዎች እና ድር ጣቢያዎች ከእርስዎ የተመረጠ ቋንቋ ዝርዝር ውስጥ የመጀመሪያውን የተደገፈ ቋንቋ ይጠቀማሉ።\n\nእንዲሁም ብዙ መተግበሪያዎች ለቀኖች፣ ቁጥሮች እና አሃዶች ቅርጸት እርስዎ ከመረጡት ቋንቋ ክልሉን ይጠቀማሉ። ክልልዎን ለመለወጥ፣ ቋንቋ ያክሉ ከዚያም የመረጡትን ክልል ይምረጡ።"</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"ለእያንዳንዱ መተግበሪያ ቋንቋ ለመምረጥ ወደ መተግበሪያ ቋንቋ ቅንብሮች ይሂዱ።"</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"ስለ መተግበሪያ ቋንቋዎች የበለጠ ይወቁ"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"የሥርዓት ቋንቋ ወደ %s ይለወጥ ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"ጠፍቷል"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{በርቷል / # መተግበሪያ የአካባቢ መዳረሻ አለው}one{በርቷል / # መተግበሪያ የአካባቢ መዳረሻ አለው}other{በርቷል / # መተግበሪያዎች የአካባቢ መዳረሻ አላቸው}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"በመጫን ላይ…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"በአቅራቢያ ያሉ የመሣሪያዎች ፈቃድ ያላቸው መተግበሪያዎች የተገናኙ መሣሪያዎችን አንጻራዊ አቀማመጥ ማወቅ ይችላሉ።"</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"በአቅራቢያ ያሉ የመሣሪያዎች ፈቃድ ያላቸው መተግበሪያዎች የተገናኙ መሣሪያዎችን አንጻራዊ አቀማመጥ መወሰን ይችላሉ።"</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"ለመተግበሪያዎች እና ለአገልግሎቶች የአካባቢ መዳረሻ ጠፍቷል። ወደ የአደጋ ጊዜ ቁጥር ሲደውሉ ወይም የጽሑፍ መልዕክት ሲልኩ የመሣሪያዎ አካባቢ አሁንም ወደ የድንገተኛ ጊዜ አደጋ ምላሽ ሰጪዎች ሊላክ ይችላል።"</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"ስለ የአካባቢ ቅንብሮች የበለጠ ይወቁ"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"ለመለወጥ ወደ ChromeOS ቅንብሮች &gt; ግላዊነት እና ደህንነት &gt; የግላዊነት ቁጥጥሮች &gt; የቦታ መዳረሻ ይሂዱ"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"መልክ እና <xliff:g id="WATCH">%s</xliff:g> ታክለዋል"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"መልክ፣ የጣት አሻራ እና <xliff:g id="WATCH">%s</xliff:g> ታክለዋል"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"መልክ፣ የጣት አሻራዎች እና <xliff:g id="WATCH">%s</xliff:g> ታክለዋል"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"የማንነት ፍተሻ በርቷል እና ባዮሜትሪክ ያስፈልገዋል"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"የርቀት መቆጣጠሪያ ማረጋገጫ ተከፍቷል"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"የእጅ ሰዓት ታክሏል"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"የእጅ ሰዓትዎን ያዋቅሩ"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"ስለ በእጅ ሰዓት መክፈቻ የበለጠ ይወቁ"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"የእጅ ሰዓትን አክል"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"የእጅ ሰዓትን አስወግድ"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"የጣት አሻራ እና በመልክ መክፈት"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"በመልክ እና በጣት አሻራ መክፈት"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"በመልክ እና በጣት አሻራ መክፈቻ ለሥራ"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ውቅረት ያስፈልጋል"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"መልክ እና የጣት አሻራዎች ታክለዋል"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"የግል ቦታን በማዋቀር ላይ…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"የግል ቦታን ማዋቀር አልተቻለም"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"እንደገና ይሞክሩ"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"ውጣ"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"የግል ቦታ አይገኝም።\nሊሆኑ የሚችሉ መንስዔዎችን ይመልከቱ"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"ሊሆኑ የሚችሉ መንስዔዎችን ይመልከቱ"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"ለግል ቦታ አዲስ ቁልፍ ይመርጣሉ?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"ለግል ቦታ ብቻ አዲስ ቁልፍ ማቀናበር፣ ወይም መሣሪያዎን ለመክፈት የሚጠቀሙትን ተመሳሳይ ቁልፍ መጠቀም ይችላሉ"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"ማያ ገጽ መቆለፊያን ይጠቀሙ"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ብሉቱዝ ሲበራ የእርስዎ መሣሪያ በአቅራቢያ ካሉ ሌሎች የብሉቱዝ መሣሪያዎች ጋር መነጋገር ይችላል።\n\nየመሣሪያ ተሞክሮን ለማሻሻል መተግበሪያዎች እና አገልግሎቶች ብሉቱዝ ጠፍቶ ቢሆንም እንኳን አሁንም በማንኛውም ጊዜ በአቅራቢያ ያሉ መሣሪያዎችን መቃኘት ይችላሉ። ይህ ለምሳሌ በአካባቢ ላይ የተመሠረቱ ባህሪያትን እና አገልግሎቶችን ለማሻሻል ጥቅም ላይ መዋል ይችላል። ይህን የብሉቱዝ ቅኝት ቅንብሮች ውስጥ መለወጥ ይችላሉ።"</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"ብሉቱዝ ሲበራ መሣሪያዎ በአቅራቢያ ካሉ ሌሎች የብሉቱዝ መሣሪያዎች ጋር መገናኘት ይችላል። እንደ ፈጣን ማጋራት እና የእኔን መሣሪያ አግኝ ያሉ ባህሪዎች ብሉቱዝን ይጠቀማሉ።\n\nመተግበሪያዎች እና አገልግሎቶች ብሉቱዝ ጠፍቶ ቢሆንም እንኳን በማንኛውም ጊዜ በአቅራቢያ ያሉ መሣሪያዎችን መቃኘት ይችላሉ። ይህ ለምሳሌ አካባቢ-ተኮር ባህሪዎችን እና አገልግሎቶችን ለማሻሻል ጥቅም ላይ መዋል ይችላል። ይህን በብሉቱዝ ቅኝት ቅንብሮች ውስጥ መለወጥ ይችላሉ።"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"ቀይር"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> አልተገናኘም"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"ለደህንነትዎ ሲባል ይህን መሣሪያ ይርሱት፣ ከዚያም እንደገና ያጣምሩት"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"መሣሪያን እርሳ"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"ይቅር"</string>
     <string name="device_details_title" msgid="1155622417516195481">"የመሣሪያ ዝርዝሮች"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"የቁልፍ ሰሌዳ ቅንብሮች"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"ተጨማሪ ቅንብሮች"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"የፈርምዌር ዝማኔዎች፣ ስለ እና ሌሎችም"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"ጠቃሚ ምክሮች እና ድጋፍ"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"የመሣሪያ የብሉቱዝ አድራሻ፦ <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"የመሣሪያ የብሉቱዝ አድራሻ፦\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"መሣሪያ ይረሳ?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"የሙከራ። የኦዲዮ ጥራትን ያሻሽላል።"</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"መሣሪያን እርሳ"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"የመተግበሪያን ግንኙነትን አቋርጥ"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"ተጨማሪ ቅንብሮች"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"ከፍተኛው የተገናኙ የብሉቱዝ ኦዲዮ መሣሪያዎች ብዛት"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"ከፍተኛው የተገናኙ የብሉቱዝ ኦዲዮ መሣሪያዎች ብዛትን ይምረጡ"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"የኤንኤፍሲ ብዙ ቃላት አቅራቢ ስህተት ማረሚያ ምዝግብ ማስታወሻ"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"መሣሪያ እንደገና ይጀምር?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"ዝርዝር የኤንኤፍሲ ምዝግብ ማስታወሻ ለግንባታ ዓላማዎች ብቻ የታሰበ ነው። በሳንካ ሪፖርቶች ውስጥ የግል መረጃን ሊይዝ የሚችል ተጨማሪ የኤንኤፍሲ ውሂብ ተካትቷል። ይህን ቅንብር ለመለወጥ መሣሪያዎን እንደገና ያስጀምሩ።"</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"ዳግም አስጀምር"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"በርቷል"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"ጠፍቷል"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"ውጫዊ ማሳያ"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"ውጫዊ ማሳያ ይጠቀሙ"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"የማሳያ ጥራት"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"የውጫዊ ማሳያ ግንኙነት ተቋርጧል"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"ማዞር"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"መደበኛ"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"ማዞር ወይም ጥራትን መለወጥ በአሁኑ ጊዜ እየሄዱ ያሉ ማናቸውንም መተግበሪያዎች ሊያቆም ይችላል"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"ማያ ገፅዎን ለማንጸባረቅ መሣሪያዎ ከውጫዊ ማሳያ ጋር መገናኘት አለበት"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"ተጨማሪ አማራጮች"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Cast"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"መስታወት"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"ገመድ-አልባ ማሳየትን ያንቁ"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"ተለማማጅ"</string>
     <string name="brightness" msgid="6216871641021779698">"የብሩህነት ደረጃ"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"ተለማማጅ ብሩህነት"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"ስለ ተለዋዋጭ ብሩህነት"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"የማያዎ ብሩህነት በራስ-ሰር ከእርስዎ አካባቢ እና እንቅስቃሴዎች ጋር ጋር ይስተካከላል። ተለማማጅ ብሩህነት ምርጫዎችዎን እንዲያውቅ ለማገዝ ተንሸራታቹን ራስዎ ማንቀሳቀስ ይችላሉ።"</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"አብራ"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"ጠፍቷል"</string>
@@ -1311,8 +1340,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="8850185380445309835">"የመረጡት ሲም ይዘመን?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> በእርስዎ መሣሪያ ላይ ያለው ብቸኛ ሲም ነው። ይህን ሲም ለተንቀሳቃሽ ስልክ ውሂብ፣ ጥሪዎች እና የኤስኤምኤስ መልዕክቶች መጠቀም ይፈልጋሉ?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> አሁን የእርስዎ ዋና ሲም ነው"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"የተንቀሳቃሽ ስልክ ውሂብ ሽፋን ይሻሻል?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"<xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> የተሻለ ተገኝነት ሲኖረው መሣሪያዎ በራስ-ሰር ወደ ተንቀሳቃሽ ስልክ ውሂብ እንዲቀይር ይፍቀዱ።"</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"ጥሪዎች፣ መልዕክቶች እና የአውታረ መረብ ትራፊክ ለድርጅትዎ ሊታይ ይችላል።"</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"አማራጮች"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"ተደራሽነት"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"አካላዊ ቁልፍ ሰሌዳ"</string>
-    <string name="show_ime" msgid="4334255501724746849">"የማያ ገፅ የቁልፍ ሰሌዳ ይጠቀሙ"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"አካላዊ የቁልፍ ሰሌዳ ገቢር ሆኖ ሳለ በማያ ገፅ ላይ አቆየው"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"የመንጠሪያ ቁልፎች"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"ቁልፍ ሰሌዳው በ<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ሚሊሰከንድ ውስጥ ተመሳሳዩ ቁልፍ በፍጥነት መጫኑን ችላ ይላል"</string>
     <string name="slow_keys" msgid="2891452895499690837">"ቀርፋፋ ቁልፎች"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"የቁልፍ መጫን ለማግበር የሚወስደውን ጊዜ ወደ <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ሚሊሰከንድ ያስተካክላል"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"ተጣባቂ ቁልፎች"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"አቋራጮችን ለማግኘት ቁልፎችን በአንድ ላይ ከመያዝ ይልቅ ቁልፎችን አንድ በአንድ ይጫኑ"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"የመዳፊት ቁልፎች"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"መዳፊቱን ለመቆጣጠር አካላዊ የቁልፍ ሰሌዳውን ይጠቀሙ።"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"የቁልፍ ሰሌዳ አቋራጮች"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"የአቋራጭ ዝርዝርን አሳይ"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"የሥራ መገለጫ የቁልፍ ሰሌዳዎች እና መሣሪያዎች"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"የግለሰብ የመዳሰሻ ሰሌዳ የአሰሳ ምልክቶችን ያብጁ"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"ኋልዮሽ መሸብለል"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"ወደ ታሽ ሲያሸበልሉ ይዘት ወደ ላይ ይንቀሳቀሳል"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"ከታች በስተቀኝ መታ"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"ለተጨማሪ አማራጮች የመዳሰሻ ሰሌዳውን የታችኛው ቀኝ ጠርዝ መታ ያድርጉ"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"የታችኛው ቀኝ ጠቅታ"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"ለተጨማሪ አማራጮች የመዳሰሻ ሰሌዳውን የታችኛው ቀኝ ጠርዝ ጠቅ ያድርጉ"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"የጠቋሚ ፍጥነት"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"የጠቋሚ ሙሌት ቅጥ"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"የጠቋሚ ሙሌት ቅጥን ወደ ጥቁር ይለውጡ"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"የጠቋሚ ሙሌት ቅጥን ወደ ቢጫ ይለውጡ"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"የጠቋሚ ሙሌት ቅጥን ወደ ሮዝ ይለውጡ"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"የጠቋሚ ሙሌት ቅጥን ወደ ሰማያዊ ይለውጡ"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"የጠቋሚ ጭረት ቅጥ"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"ነጭ"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"ጥቁር"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"ምንም"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"የመዳሰሻ ሰሌዳ ምልክቶችን ይወቁ"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"የመከታተያ ፓድ፣ የትራክ ፓድ፣ መዳፊት፣ ጠቋሚ፣ ሸብልል፣ ማንሸራተት፣ የቀኝ ጠቅታ፣ ጠቅ ያድርጉ፣ ጠቋሚ"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"የቀኝ ጠቅታ፣ መታ ያድርጉ"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"ዳግም አስጀምር"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"አሻሻይ ቁልፍ ይምረጡ"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"ለ<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> አዲስ ቁልፍ ይምረጡ፦"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"የአካላዊ ቁልፍ ሰሌዳ ተደራሽነት"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"ተለጣፊ ቁልፎች፣ አንጥር ቁልፎች፣ የመዳፊት ቁልፎች"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"የ<xliff:g id="IME_LABEL">%s</xliff:g> አቀማመጥ"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ነባሪ"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"ራስ-ሰር፦ <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"የተመረጠው ተጠቃሚ፦ <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"ንግግር"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"የጠቋሚ ፍጥነት"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"የጠቋሚ መለኪያ"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"የጠቋሚ መለኪያን ይቀንሱ"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"የጠቋሚ መለኪያን ይጨምሩ"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"የጨዋታ መቆጣጠሪያ"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"ንዝረትን አዙር"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"ሲገናኝ ንዝረትን ወደ የጨዋታ መቆጣጠሪያ ላክ"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"ለማንኛውም ቀጥል"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"ይቅር"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"የማጉያ ቅንብሮች"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"በአንድ ጣት መጎተት"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"ማጉያን በ1 ጣት ያንቀሳቅሱ"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"በማያ ገጹ አካባቢ ለመንቀሳቀስ 1 ጣት ይጎትቱ"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"አንድ ጣትን በመጎተት የማጉያ ቦታውን ያንቀሳቅሱ።"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"ሁለት ጣቶችን በመጎተት የማጉያ ቦታውን ያንቀሳቅሱ።"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"የተወሰነ የማያ ገጹን ክፍል ብቻ በማጉላት ላይ ሳለ አይገኝም"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ለማጉላት አንድ አዝራር መታ ያድርጉ"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"ይዘቱን ትልቅ ለማድረግ በፍጥነት በማያ ገጹ ላይ ያጉሉ"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;ለማጉላት፦&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ማጉላትን ለመጀመር አቋራጭ ይጠቀሙ&lt;br/&gt; {1,number,integer}. በማያ ገፅ ላይ መታ ያድርጉ&lt;br/&gt; {2,number,integer}. በማያ ገጹ ዙሪያ ላይ ለመንቀሳቀስ በ2 ጣቶች ይጎትቱ&lt;br/&gt; {3,number,integer}. ማጉላትን ለማስተካከል በ2 ጣቶች ይቆንጥጡ&lt;br/&gt; {4,number,integer}. ማጉላትን ለማስቆም አቋራጭ ይጠቀሙ&lt;br/&gt;&lt;br/&gt; &lt;b&gt;ለጊዜው ለማጉላት፡-&lt;/b&gt;&lt;br/&gt; {0,number,integer}. የእርስዎ የማጉላት ዓይነት ወደ ሙሉ ማያ ገፅ መቀናበሩን ያረጋግጡ&lt;br/&gt; {1,number,integer}. ማጉላትን ለመጀመር አቋራጭ ይጠቀሙ&lt;br/&gt; {2,number,integer}. በማያ ገጹ ማንኛውም ቦታ ላይ ነክተው ይያዙ&lt;br/&gt; {3,number,integer}. በማያ ገጹ ዙሪያ ላይ ለመንቀሳቀስ በጣት ይጎትቱ&lt;br/&gt; {4,number,integer}. ማጉላትን ለማስቆም ጣት ያንሱ"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;ለማጉላት፦&lt;/b&gt;&lt;br/&gt; {0,number,integer}። ማጉላትን ለመጀመር አቋራጭ ይጠቀሙ&lt;br/&gt; {1,number,integer}። በማያ ገጽ ላይ መታ ያድርጉ&lt;br/&gt; {2,number,integer}። በማያ ገፁ ዙሪያ ለመንቀሳቀስ 2 ጣቶች ይጎትቱ&lt;br/&gt; {3,number,integer}። ማጉላትን ለማስተካከል በ2 ጣቶች ይቆንጥጡ&lt;br/&gt; {4,number,integer}። ማጉላት ለማቆም አቋራጭ ይጠቀሙ&lt;br/&gt;&lt;br/&gt; እንዲሁም በጊዜያዊነት ማጉላት እና ሌሎችንም ማድረግ ይችላሉ።"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;ለማጉላት፦&lt;/b&gt;&lt;br/&gt; {0,number,integer}። ማጉላትን ለመጀመር አቋራጭ ይጠቀሙ&lt;br/&gt; {1,number,integer}። በማያ ገጽ ላይ መታ ያድርጉ&lt;br/&gt; {2,number,integer}። በማያ ገፁ ዙሪያ ለመንቀሳቀስ 1 ወይም 2 ጣቶች ይጎትቱ&lt;br/&gt; {3,number,integer}። ማጉላትን ለማስተካከል በ2 ጣቶች ይቆንጥጡ&lt;br/&gt; {4,number,integer}። ማጉላት ለማቆም አቋራጭ ይጠቀሙ&lt;br/&gt;&lt;br/&gt; እንዲሁም በጊዜያዊነት ማጉላት እና ሌሎችንም ማድረግ ይችላሉ።"</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_pager" msgid="8461939455728454061">"ገፅ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> ከ<xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"የተደራሽነት አዝራር አቋራጭ"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"ተንሳፋፊውን አዝራር መታ ያድርጉ"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"የተደራሽነት እጅ ምልክት"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"በማያ ገጽዎ ግርጌ ላይ የ<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ተደራሽነት አዝራሩን መታ ያድርጉት። በባህሪያት መካከል ለመቀያየር የተደራሽነት አዝራሩን ይንኩ እና ይያዙ።"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"በ2 ጣቶች ከማያ ገጹ ግርጌ ላይ በጣት ወደ ላይ ጠረግ ያድርጉ።\n\nበባሕሪያት መካከል ለመቀያየር በ2 ጣቶች ወደ ላይ ጠረግ ያድርጉ እና ይያዙ።"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"በ3 ጣቶች ከማያ ገጹ ግርጌ ላይ በጣት ወደ ላይ ጠረግ ያድርጉ።\n\nበባሕሪያት መካከል ለመቀያየር በ3 ጣቶች ወደ ላይ ጠረግ ያድርጉ እና ይያዙ።"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{ከማያ ገጽዎ የታችኛው ክፍል ወደ ላይ ያንሸራትቱ። በባህሪያት መካከል ለመቀያየር፣ ወደ ላይ ያንሸራትቱ እና ይያዙ።}one{ከማያ ገጽዎ የታችኛው ክፍል ሆነው በ# ጣት ወደ ላይ ያንሸራትቱ። በባህሪያት መካከል ለመቀያየር፣ በ# ጣት ወደ ላይ ያንሸራትቱ እና ይያዙ።}other{ከማያ ገጽዎ የታችኛው ክፍል ሆነው በ# ጣቶች ወደ ላይ ያንሸራትቱ። በባህሪያት መካከል ለመቀያየር፣ በ# ጣቶች ወደ ላይ ያንሸራትቱ እና ይያዙ።}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"ተጨማሪ አማራጮች"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"ስለ<xliff:g id="SERVICE">%1$s</xliff:g> የበለጠ ይወቁ"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"የድምፅ መጠን ቁልፍ"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"የድምፅ መጠን ቁልፍ"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"ሁለቱንም የድምፅ ቁልፎች ተጭነው ይያዙ"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"ማያ ገጽን በሁለት ጣት ሁለቴ መታ ያድርጉ"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"በ%1$d-ጣት ሁለቴ መታ ያድርጉ"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"በ%1$d ጣቶች ማያ ገጹን ሁለት ጊዜ በፍጥነት መታ ያድርጉ"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"ሦስቴ መታ ማድረግ"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"ማያ ገጹን %1$d ጊዜ በፍጥነት መታ ያድርጉ። ይህ መሣሪያዎን ሊያዘገየው ይችላል።"</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"በ%1$d-ጣት ሁለቴ መታ ያድርጉ"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"ማያ ገጽን {0፣ቁጥር፣ኢንቲጀር} ጊዜያት በሁለት ጣቶች በፍጥነት መታ ያድርጉ"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"ማያ ገጽን ሦስቴ መታ ያድርጉ"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"ሦስቴ መታ ማድረግ"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"ማያ ገጹን በፍጥነት {0,number,integer} ጊዜዎችን መታ ያድርጉ። ይህ አቋራጭ መሣሪያዎን ሊያንቀራፍፈው ይችላል።"</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_global_gesture_preference_title" msgid="8866765674372344850">"የድምፅ መጠን ቁልፎች አቋራጭ"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"የአቋራጭ ቅንብሮች"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"ከማያ ገፅ መቆለፊያ አቋራጭ"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"የድምፅ መጠን ቁልፎች ከማያ ገፅ ቁልፍ"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"ከመቆለፊያ ማያ ገፅ ለማብራት እንዲችሉ ለባሕሪ አቋራጭ ይፍቀዱ። ሁለቱንም የድምፅ ቁልፎች ለጥቂት ሰከንዶች ይያዙ።"</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"የተደራሽነት አዝራር"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"የተደራሽነት አዝራር እና የእጅ ምልክት"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"ይህ አገልግሎት በአግባቡ እየሰራ አይደለም።"</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"የተደራሽነት አቋራጮች"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"በፈጣን ቅንብሮች ውስጥ አሳይ"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"ቀይ-አረንጓዴ"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"ቀይ-አረንጓዴ"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"ቀይ-አረንጓዴ፣ አረንጓዴ ደካማ"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"ቀይ-አረንጓዴ፣ ቀይ ደካማ"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"ሰማያዊ-ቢጫ"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"ግርጥነት"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"ጥንካሬ"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"አረንጓዴ ደካማ፣ ዲዩቴራኖማሊ"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"ቀይ ደካማ፣ ፕሮታኖማሊ"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"ለግርጥነት ሁነታ ወይም የቀለም ማስተካከያ ሲሰናከል አይገኝም"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"ተጨማሪ ደብዛዛ"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"ማያ ተጨማሪ ደብዛዛ ያድርጉ"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"ሳያን"</string>
     <string name="color_yellow" msgid="5957551912912679058">"ቢጫ"</string>
     <string name="color_magenta" msgid="8943538189219528423">"ማጀንታ"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"<xliff:g id="SERVICE">%1$s</xliff:g> ሙሉ የመሣሪያዎ ቁጥጥር እንዲኖረው ይፈቀድለት?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> ይህን ማድረግ አለበት፦"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"አንድ መተግበሪያ የፍቃድ ጥያቄ እያገደ ስለሆነ ቅንብሮች ጥያቄዎን ማረጋገጥ አይችሉም።"</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> ሙሉ የዚህ መሣሪያ ቁጥጥር እየጠየቀ ነው። አገልግሎቱ የተደራሽነት ፍላጎቶች ያላቸውን ተጠቃሚዎች ወክሎ ማያ ገጹን ማንበብ እና ለእነሱ መስራት ይችላል። ይህ የቁጥጥር ደረጃ ለአብዛኛዎቹ መተግበሪያዎች አግባብ አይደለም።"</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"ሙሉ ቁጥጥር ከተደራሽነት ፍላጎቶች ጋር እርስዎን ለሚያግዝዎት መተግበሪያዎች ተገቢ ነው ሆኖም ግን ለአብዛኛዎቹ መተግበሪያዎች አይሆንም።"</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"ማያ ገጽን ይመልከቱ እና ይቆጣጠሩ"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"በማያ ገጹ ላይ ሁሉንም ይዘት ሊያነብ እና በሌሎች መተግበሪያዎች ላይ ይዘትን ሊያሳይ ይችላል።"</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"ይመልከቱ እና እርምጃዎችን ይውሰዱ"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"ከመተግበሪያ ጋር ወይም የሃርድዌር ዳሳሽ ጋር እርስዎ ያልዎትን መስተጋብሮች ዱካ መከታተል እና በእርስዎ ምትክ ከመተግበሪያዎች ጋር መስተጋብር መፈጸም ይችላል።"</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"ፍቀድ"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"ከልክል"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"አጥፋ"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"በርቷል / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> እና <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"እንዲሁም ለብሉቱዝ መሣሪያዎች Spatial ኦዲዮን ማብራት ይችላሉ።"</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"የተገናኙ መሣሪያዎች ቅንብሮች"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Spatial ኦዲዮ"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"ጠፍቷል"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"ጠፍቷል"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"ጠፍቷል"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{ምንም}=1{1 መርሐግብር ተቀናብሯል}one{# መርሐግብሮች ተቀናብረዋል}other{# መርሐግብሮች ተቀናብረዋል}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"አይረብሹ"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"ቅድሚያ ሁነታዎች"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"ሁነታ ያክሉ"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"ሁነታዎች"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"የሚያዘናጉ ነገሮችን ይቀንሱ እና በእንቅልፍ፣ በሥራ፣ በማሽከርከር እና በመካከላቸው ያሉትን ነገሮች ሁሉ በመጠቀም ትኩረትዎን ይቆጣጠሩ።"</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"የራስዎን ሁነታ ይፍጠሩ"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"በአስፈላጊ ሰዎች እና መተግበሪያዎች ብቻ ማሳወቂያን ያግኙ"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"መርሐግብር ያቀናብሩ"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"መርሐግብር የተመሰረተው በ"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"ቀን እና ጊዜ"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"«9 ጠዋት - 5 ከሰዓት የሥራ ቀናት»"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"የቀን መቁጠሪያ ክስተቶች"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} ገቢር ነው}=2{{mode_1} እና {mode_2} ገቢር ናቸው}=3{{mode_1}፣ {mode_2} እና {mode_3} ገቢር ናቸው}one{{mode_1}፣ {mode_2} እና # ተጨማሪ ገቢር ናቸው}other{{mode_1}፣ {mode_2} እና # ተጨማሪ ገቢር ናቸው}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 ሁነታ በራስ ሰር መብራት ይችላል}one{# ሁነታ በራስ ሰር መብራት ይችላል}other{# ሁነታዎች በራስ ሰር መብራት ይችላሉ}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"በርቷል"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"አልተቀናበረም"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"ተሰናክሏል"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"ሁነታ ይፍጠሩ"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"ብጁ"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"አሁን አብራ"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"አጥፋ"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"ሁነታ አይገኝም"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"መቆራረጦችን ይገድቡ"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"መቋረጦች እና መስተጓጎሎችን ያግዱ"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g> አዋቅር"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"አትረብሽን አብራ"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"ማንቂያዎች እና የሚዲያ ድምፆች ሊያቋርጡ ይችላሉ"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"መርሐግብሮች"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"መርሐግብሮችን ሰርዝ"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"ሰርዝ"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"እንደገና ሰይም"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"ሰርዝ"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"«<xliff:g id="MODE">%1$s</xliff:g>» ሁነታ ይሰረዝ?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"አርትዕ"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"መርሐግብሮች"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"መርሐግብር"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"በራስ-ሰር አብራ"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"ቀን መቁጠሪያ ያክሉ"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"ቀን መቁጠሪያዎን ይጠቀሙ"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"መርሐግብር"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"መርሐግብር ያቀናብሩ"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"በራስ-ሰር መቼ እንደሚበራ"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"የክስተት መርሐግብር"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"በክስተቶች ጊዜ ያብሩ ለ"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"የግብዣ ምላሽ የት እንደሆነ"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"የጊዜ መርሐግብር"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"መርሐግብር"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ሰዓት፣ <xliff:g id="MINUTES">%2$d</xliff:g> ደ"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"መርሐግብር"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"ድምፅ የሚፈጥሩ ረብሻዎችን ፍጠር"</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="mode_interruption_filter_title" msgid="6657431939996264417">"እርስዎ ጋር መድረስ የሚችሉ ማሳወቂያዎች"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"ተጨማሪ እርምጃዎች"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"የማሳወቂያ ማጣሪያዎች"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"ተጨማሪ ቅንብሮች"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{ጠፍቷል}=1{ጠፍቷል / 1 ሁነታ በራስ-ሰር መብራት ይችላል}one{ጠፍቷል / # ሁነታ በራስ-ሰር መብራት ይችላል}other{ጠፍቷል / # ሁነታዎች በራስ-ሰር መብራት ይችላሉ}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"የማሳያ ቅንብሮች"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"የማሳያ አማራጮች"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"ግርጥነት"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ጥቁር ገጽታ አንቃ"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"በጨለማ ዳራ ላይ ብርሃን ጽሁፍን ለመምረጥ ሥርዓተ ክወናውን እና መተግበሪያዎችን ይቀይሩ፣ ይህም ለዓይኖች ቀላል እና በአንዳንድ መሣሪያዎች ላይ ጉልህ የሆነ የባትሪ ኃይል ቁጠባ ይሰጣል"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{ምንም የማሳያ ለውጦች የሉም}=1{{effect_1}}=2{{effect_1} እና {effect_2}}=3{{effect_1}፣ {effect_2}፣ እና {effect_3}}one{{effect_1}፣ {effect_2} እና # ተጨማሪ}other{{effect_1}፣ {effect_2} እና # ተጨማሪ}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"ሁሉንም ማሳወቂያዎች ፍቀድ"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"ሰዎች፣ መተግበሪያዎች እና ድምፆች ሊያቋርጡ ይችላሉ"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ለተጣሩ ማሳወቂያዎች ያሉ የማሳያ አማራጮች"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"አትረብሽ ሲበራ"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"ከማሳወቂያዎች ምንም ድምፅ የለም"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"ማሳወቂያን ክፈት"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"የማሳወቂያ ማሸለብን ፍቀድ"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"የማሳወቂያ ነቁጥ በመተግበሪያ አዶ ላይ"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"የማሳወቂያ ቅርቅቦች"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"አረፋዎች"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"አረፋዎች"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"ይህን ውይይት በአረፋ አድርግ"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"ለመልዕክቶች ምላሽ መስጠት እና ማሳወቂያዎችን ማሸለብ ወይም ማሰናከል እና ጥሪዎችን መመለስን ጨምሮ በማሳወቂያዎች ውስጥ ባሉ አዝራሮች ላይ እርምጃ መውሰድ ይችላል።"</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"ቅንብሮችን ቀይር"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"አትረብሽን ማብራት ወይም ማጥፋት እና ተዛማጅ ቅንብሮችን መቀየር ይችላል።"</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"ሁነታዎችን ማስተዳደር እና ማግበር እና ተዛማጅ ቅንብሮችን መለወጥ ይችላል።"</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_modes_warning_summary" msgid="7528432011433844158">"የ<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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"ቅጽበታዊ"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"ይህ መተግበሪያ የተሻሻሉ ቅንብሮችን አይደግፍም"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"ተጨማሪ ቅንብሮች"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"በዚህ መተግበሪያ ውስጥ ተጨማሪ ቅንብሮች ይገኛሉ"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"ተስማሚ ማሳወቂያዎች"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"ተስማሚ ማሳወቂያዎችን ይጠቀሙ"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"በአጭር ጊዜ ውስጥ ብዙ ማሳወቂያዎች ሲያገኙ ስልክዎ እስከ ሁለት ደቂቃዎች ድረስ የድምፅ መጠን ይቀንሳል እና በማያ ገፅ ላይ ብቅ ባዮችን ያሳንሳል። ጥሪዎች፣ ማንቂያዎች እና የቅድሚያ ውይይቶች አሁንም ንዝረት ይኖራቸዋል፣ ድምፅ ያሰማሉ ወይም ማያ ገፁ ላይ ይታያሉ እና ከማያ ገፁ አናት ላይ ወደታች ሲጎትቱ ሁሉም ማሳወቂያዎች ለማግኘት ቀላል ናቸው።"</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"የማሳወቂያ ረጋ ማለት"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"የማሳወቂያ ረጋ ማለትን ይጠቀሙ"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"በአጭር ጊዜ ውስጥ ብዙ ማሳወቂያዎች ሲያገኙ መሣሪያዎ ለ2 ደቂቃዎች ያህል የድምፅ መጠኑን ይቀንሳል እና ማንቂያዎችን ያሳንሳል። ጥሪዎች፣ ማንቂያዎች እና የቅድሚያ ውይይቶች ተጽዕኖ አያድርባቸውም። \n\nበረጋ ማለቱ ወቅት የደረሱ ማሳወቂያዎች ከማያ ገፁ አናት ላይ ወደታች በመጎተት ሊገኙ ይችላሉ።"</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"የሥራ መገለጫዎች ላይ ይተግብሩ"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"ለሥራ መገለጫ መተግበሪያዎች ያመልክቱ"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"የምናባዊ ዕውነታ አጋዥ አገልግሎቶች"</string>
@@ -3650,6 +3709,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"የሁነታዎች መዳረሻ"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"የሁነታዎች መዳረሻን ይፍቀዱ"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"ምንም የተጫኑ መተግበሪያዎች የሁነታዎች መዳረሻ አልጠየቁም"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"ከዚህ መተግበሪያ ማሳወቂያዎችን አልፈቀዱም"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"በጥያቄዎ መሠረት Android ይህ የማሳወቂያዎች ምድብ በዚህ መሣሪያ ላይ እንዳይታይ እያገደ ነው"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"በጥያቄዎ መሠረት Android ይህን የማሳወቂያዎች ስብስብ በዚህ መሣሪያ ላይ እንዳይታይ እያገደ ነው"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"ምድቦች"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"ሌላ"</string>
     <string name="no_channels" msgid="4716199078612071915">"ይህ መተግበሪያ ምንም ማሳወቂያዎችን አልለጠፈም"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"ጥቅም ላይ ያልዋሉ ምድቦችን አሳይ"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"በመተግበሪያው ውስጥ ያሉ ተጨማሪ ቅንብሮች"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"ጥቅም ላይ ያልዋሉ ምድቦችን አሳይ"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"ጥቅም ላይ ያልዋሉ ምድቦችን ደብቅ"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"ውይይቶች"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"ሁሉም ውይይቶች"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"ሁሉም ውይይቶች"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"የቅድሚያ ውይይቶች"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"ቅድሚያ የሚሰጣቸው ውይይቶች"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"ምንም"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"አቋርጠው መግባት የሚችሉ መተግበሪያዎች"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"የተመረጡ መተግበሪያዎች"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"ምንም"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"ሁሉም"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{ምንም መተግበሪያዎች ማቋረጥ አይችሉም}=1{{app_1} ማቋረጥ ይችላል}=2{{app_1} እና {app_2} ማቋረጥ ይችላሉ}=3{{app_1}፣ {app_2} እና {app_3} ማቋረጥ ይችላሉ}one{{app_1}፣ {app_2} እና # ተጨማሪ ማቋረጥ ይችላሉ}other{{app_1}፣ {app_2} እና # ተጨማሪ ማቋረጥ ይችላሉ}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (ሥራ)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"በማስላት ላይ…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"መተግበሪያዎች እንዲሽሩ ይፍቀዱ"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"አቋርጠው መግባት የሚችሉ መተግበሪያዎች"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"ተጨማሪ መተግበሪያዎችን ይምረጡ"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"ምንም ማቋረጥ አይችልም"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"ማንም ማቋረጥ አይችልም"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"አንዳንድ ሰዎች ማቋረጥ ይችላሉ"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"ደጋግሞ ደዋዮች ማቋረጥ ይችላሉ"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"ሁሉም ሰዎች ማቋረጥ ይችላሉ"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"ደዋዮችን ድገም"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"ተደጋጋሚ ደዋዮችን ፍቀድ"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{እስከ {time} ድረስ ለአንድ ሰዓት ብቻ ወደ ማንቂያዎች ይለውጡ}one{እስከ {time} ድረስ ለ# ሰዓት ብቻ ወደ ማንቂያዎች ይለውጡ}other{እስከ {time} ድረስ ለ# ሰዓታት ብቻ ወደ ማንቂያዎች ይለውጡ}}"</string>
     <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_action_change_name" msgid="766639614789907016">"እንደገና ሰይም"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"አዶ ለውጥ"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"አዶ ለውጥ"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"የአርትዖት ሁነታ"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"ሁነታ ይፍጠሩ"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"ብጁ ሁነታ"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"የሁነታ ስም"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"የቀን መቁጠሪያ ክስተቶች"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"የመኝታ ሰዓት የዕለት ተዕለት ተግባር"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"እየነዱ ሳለ"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"የመተግበሪያ ቅንብሮች"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"መረጃ እና ቅንብሮች <xliff:g id="APP_NAME">%1$s</xliff:g> ውስጥ"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"በ<xliff:g id="APP_NAME">%1$s</xliff:g> የሚተዳደር"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g> ይሰናከል?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"ይህ ሁነታ ሲሰናከል በጭራሽ አይበራም"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"አሰናክል"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g> ይንቃ?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"ይህ ሁነታ በቅንብሮች ላይ በመመስረት በራስ-ሰር ሊበራ ይችላል"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"አንቃ"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"መደበኛ መርሐግብርን የሚከተል ሁነታን ያቀናብሩ"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"ከቀን መቁጠሪያ ክስተቶች ጋር ለማስመር ሁነታን ያቀናብሩ እና ምላሾችን ይጋብዙ"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"የሚያረጋጋ የእንቅልፍ የዕለት ተዕለት ተግባር ይንደፉ። ማንቂያዎችን ያቀናብሩ፣ ማያ ገፁን ያደበዝዙ እና ማሳወቂያዎችን ያግዱ።"</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"ትኩረት ያለው እና ከመዘናጋት ነፃ ሆኖ ለማሽከርከር በመንገድ ላይ ደህንነትን ያስቀድሙ"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"ትኩረትን ለማግኘት ከመሣሪያዎ የሚያዘናጉ ነገሮችን ወይም መቆራረጦችን ያግዱ"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"ጸጥ ላል አካባቢ ሁሉንም የሚያዘናጉ ነገሮች ያስወግዱ"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"ለተለያዩ ተጠቃሚዎች የመሣሪያ ተሞክሮዎች እና ቅንብሮችን ግላዊነት ያላብሱ"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"አስፈላጊ ሰዎች እና መተግበሪያዎች ብቻ እርስዎን እንዲደርሱ በመፍቀድ መቆራረጦችን ይቀንሱ"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"መደበኛ መርሐግብርን የሚከተል ሁነታን ያቀናብሩ"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"ከእርስዎ ቀን ክስተቶች ጋር መሣሪያዎን በስምረት ውስጥ ያቆዩ"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"100% እየተሰማዎ ከእንቅልፍ ይንቁ"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"በመንገድ ላይ ሳሉ ለደህንነት ቅድሚያ ይስጡ"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"ዞን ውስጥ ለመግባት ትኩረት ያግኙ"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"ዕውቅና በሚቆጠርበት ጊዜ ያሉ አፍታዎች"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"በጥሩ እጆች ውስጥ ለመቆየት እንዲያግዝዎ የተመራ አጠቃቀም"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"ትኩረትዎን ይቆጣጠሩ"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"ማስጠንቀቂያ"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"ዝጋ"</string>
     <string name="device_feedback" msgid="5351614458411688608">"ስለዚህ መሣሪያ ግብረመልስ ላክ"</string>
@@ -4006,6 +4102,10 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"ለ<xliff:g id="APP">%1$s</xliff:g> የሁነታዎች መዳረሻ ይፈቀድ?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"መተግበሪያው አትረብሽ፣ አስተዳድር እና ሁነታዎችን አግብርን ማብራት/ማጥፋት እና በተዛማጅ ቅንብሮች ላይ ለውጦችን ማድረግ ይችላል።"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"ለ<xliff:g id="APP">%1$s</xliff:g> ሁነታዎች መዳረሻን ይሻር?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"በዚህ መተግበሪያ የተፈጠሩ ሁሉም ሁነታዎች ይወገዳሉ።"</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"አታትባ"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"አትባ"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"ባትሪዎን በበለጠ ፍጥነት ሊጨርሰው ይችላል። መተግበሪያ ከእንግዲህ በዳራ ባትሪ ከመጠቀም ከእንግዲህ አይገደብም።"</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"መያዣ"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"ባትሪ"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"የቅንብሮች ፓነል"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"የዴስክቶፕ ሁነታን አስገድድ"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"በሁለተኛ ማሳያዎች ላይ የሙከራ ዴስክቶፕ ሁነታን አስገድድ"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"የነጻ ቅርጽ መስኮቶችን ያንቁ"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"በሁለተኛ ማሳያ ላይ ነፃ ቅርጽ መስኮቶችን ያንቁ"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"በብዝሃ-መስኮት ውስጥ መጠን መቀየር የማይቻለውን አንቃ"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"መጠን መቀየር የማይቻሉትን መተግበሪያዎች በብዝሃ-መስኮት ውስጥ እንዲሆኑ ይፈቅዳል"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"አስገዳጅ ጨለማን ሻር"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"የተንቀሳቃሽ ስልክ ውሂብ"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"የመሣሪያ ተምክሮን ለማሻሻል መተግበሪያዎች እና አገልግሎቶች አሁንም በማንኛውም ሰዓት፣ Wi-Fi ጠፍቶም እንኳ የWi-Fi አውታረ መረቦችን መቃኘት ይችላሉ። ይህም ለምሳሌ አካባቢ ላይ የተመሠረቱ ባህሪያትን እና አገልግሎቶችን ለማሻሻል ሥራ ላይ ሊውል ይችላል። ይህን በWi‑Fi ቅኝት ቅንብሮች ውስጥ መቀየር ይችላሉ።"</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"ቀይር"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"ተገናኝቷል"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"በጊዜያዊነት ተገናኝቷል"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"<xliff:g id="SUBNAME">%1$s</xliff:g>ን በጊዜያዊነት በመጠቀም ላይ"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"መተግበሪያን መሰካትን ይጠቀሙ"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"የገንቢ አማራጮችን ይጠቀሙ"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"የህትመት አገልግሎትን ይጠቀሙ"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"በርካታ ተጠቃሚዎችን ይፍቀዱ"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"የተጠቃሚ መቀያየርን ይፍቀዱ"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"ፍቀድ፣ በርካታ፣ ተጠቃሚ፣ ፈቃድ፣ ብዙ"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"ብዙ፣ ተጠቃሚዎች፣ መገለጫዎች፣ ሰዎች፣ መለያዎች፣ መቀየሪያ፣ በርካታ"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ገመድ አልባ ማረምን ይጠቀሙ"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> ከዚህ ስልክ ጋር መገናኘት ይፈልጋል።\n\nከዚህ በፊት ከ<xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> ጋር አልተገናኙም።"</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"አታገናኝ"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"አገናኝ"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"የTARE ቅንብሮች"</string>
-    <string name="tare_on" msgid="2386073225978684535">"በርቷል"</string>
-    <string name="tare_off" msgid="6305694402929756726">"ጠፍቷል"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"ወደ ነባሪ ቅንብሮች አድህር"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"ቅንብሮች ወደ ነባሪ አድህረዋል።"</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"መሣሪያው ኃይል ሲሞላ ያለው ከፍተኛ ቀሪ ሒሳብ"</string>
-    <string name="tare_balances" msgid="731881382594747961">"ሚዛኖች"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"የፍጆታ ገደቦች"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"የመጀመሪያው የፍጆታ ገደብ"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"ዝቅተኛው የፍጆታ ገደብ"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"ከፍተኛው የፍጆታ ገደብ"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"ቀያሪዎች"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"እርምጃዎች (የሚያስወጣው ወጪ)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"እርምጃዎች (መሰረታዊ ዋጋ)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"ሽልማቶች በአንድ ክስተት"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"የክስተቱ ቆይታ ጊዜ ሽልማቶች በሰከንድ"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"በቀን ከፍተኛው ሽልማቶች"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"የመተግበሪያ ጭነት"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"ከፍተኛ እንቅስቃሴ"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"የማሳወቂያ ታይቷል"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"ማሳወቂያ በ15 ደቂቃዎች ውስጥ ታይቷል"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"የማሳወቂያ መስተጋብር"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"የምግብር መስተጋብር"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"ሌላ የተጠቃሚ መስተጋብር"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"የሥራ ከፍተኛ ጅምር"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"የሥራ ከፍተኛ ማሄድ"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"የሥራ ከፍተኛ ጅምር"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"የሥራ ከፍተኛ ማሄድ"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"የሥራ ነባሪ ጅምር"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"የሥራ ነባሪ ማሄድ"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"የሥራ ዝቅተኛ ጅምር"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"የሥራ ዝቅተኛ ማሄድ"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"የሥራ ዝቅተኛ ጅምር"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"የሥራ ዝቅተኛ ማሄድ"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"የሥራ የእረፍት ጊዜ ቅጣት"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"ዝቅተኛው የሚበቃ ቀሪ ሂሳብ (የተተወ)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"ዝቅተኛው የሚበቃ ቀሪ ሂሳብ (በይነገጽ-አልባ የስርዓት መተግበሪያ)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"ዝቅተኛው የሚበቃ ቀሪ ሂሳብ (ቀሪ መተግበሪያዎች)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"የዝቅተኛ የሚበቃ ቀሪ ሒሳብ ጭማሪ (የመተግበሪያ ማዘመኛዎች)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"ኃይል በመሙላት ላይ"</item>
-    <item msgid="658627268149681677">"ባትሪ አጠቃቀም"</item>
-    <item msgid="1599558140284643834">"የኃይል ቁጠባ ሁነታ"</item>
-    <item msgid="588427840913221601">"የሂደት ሁኔታ"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"አረጋግጥ"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"ቅድመ ዕይታ"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"ማያ ገፅ ማቆያ ይምረጡ"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"ተጨማሪ መረጃ አሳይ"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"ጡባዊዎ ሲተከል በማያ ገፅዎ ላይ የሚያዩትን ይምረጡ። የማያ ገፅ ማቆያ ሥራ ላይ ሲውል መሣሪያዎ የበለጠ ኃይል ሊጠቀም ይችላል።"</string>
     <string name="customize_button_title" msgid="1110284655990203359">"አብጅ"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> አብጅ"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"የነጻ ቅርጽ ድጋፍን ለማንቃት ዳግም ማስነሳት ያስፈልጋል።"</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"የዴስክቶፕ ሁነታን በሁለተኛ ደረጃ ማሳያዎች ላይ ለማስገደድ ዳግም ማስነሳት ያስፈልጋል።"</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"የነጻ ቅርጽ ድጋፍ መስኮትን ለማንቃት ዳግም ማስነሳት ያስፈልጋል።"</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"የነፃ ቅርጽ መስኮቶችን ለማዘመን ዳግም ማስነሳት ያስፈልጋል።"</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"በሁለተኛ ማሳያዎች ላይ ነፃ ቅርጽን ለማንቃት ዳግም ማስነሳት ያስፈልጋል።"</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"ዳግም አስነሳ"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"በኋላ ዳግም አስነሳ"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"ከባቢያዊ ኦዲዮ"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"ሮዝ"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"ማጀንታ"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"ሐምራዊ"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"ተከናውኗል"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"አስቀምጥ"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"ይቅር"</string>
     <string name="contrast_default" msgid="8918545965525226966">"ነባሪ"</string>
     <string name="contrast_medium" msgid="384414510709285811">"መካከለኛ"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"በርቷል"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"ጠፍቷል"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"በርቷል"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"ኦዲዮ %1$d%% ግራ፣ %2$d%% ቀኝ"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"ኦዲዮ %1$d%% ቀኝ፣ %2$d%% ግራ"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"የመሣሪያዎ ስም በጫኗቸው መተግበሪያዎች ላይ ይታያል። እንዲሁም ከብሉቱዝ መሣሪያዎች ጋር ሲገናኙ፣ ከWi-Fi አውታረ መረብ ሲገናኙ ወይም የWi-Fi መገናኛ ነጥብን ሲያዋቅሩ በሌሎች ሰዎች ሊታይ ይችላል።"</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"ሰዋሰዋዊ ጾታ"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ሰዋሰዋዊ ጾታ ይምረጡ"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"የድምፅ ማጋራት ቆሟል"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"ተኳሃኝ መሣሪያ ያገናኙ"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"ኦዲዮ ማጋራት ለመጀመር፣ በመጀመሪያ LE ኦዲዮ የራስ ላይ ማዳመጫዎችን ከስልክዎ ጋር ያገናኙ"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"ወደ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ቀይር"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"ከLE የኦዲዮ ዥረት ጋር ያገናኙ"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"በአቅራቢያ ያሉ ኦዲዮ ዥረቶች"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"ኦዲዮ ዥረቶች"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ዥረት ያዳምጡ"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"በ<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ለማዳመጥ የኦዲዮ ዥረት QR ኮድ ይቃኙ"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"እያጋሩ እያለ የይለፍ ቃልን ማርተዕ አልተቻለም። የይለፍ ቃሉን ለመቀየር በቅድሚያ የድምፅ ማጋራትን ያጥፉ።"</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"የQR ኮድ መቃኛ"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"እገዛ ይፈልጋሉ?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"ቅንብሮች ውስጥ ይፈልጉ"</string>
 </resources>
diff --git a/res/values-ar/arrays.xml b/res/values-ar/arrays.xml
index efca1d4..5f924b2 100644
--- a/res/values-ar/arrays.xml
+++ b/res/values-ar/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"وقت النوم"</item>
-    <item msgid="4152450357280759894">"القيادة"</item>
-    <item msgid="7096549258219399423">"تجربة غامرة"</item>
-    <item msgid="2760716776980432977">"تجربة مُدارة"</item>
-    <item msgid="601734478369121764">"نجمة"</item>
-    <item msgid="6243809315432780521">"التقويم"</item>
-    <item msgid="4913577903148415331">"الوقت"</item>
-    <item msgid="3653377604690057780">"مسرح"</item>
-    <item msgid="3843711267408385410">"زهرة"</item>
+    <item msgid="1216815120972438676">"حقيبة يد"</item>
+    <item msgid="184985872234062767">"مبنى كلاسيكي"</item>
+    <item msgid="9189550412466785530">"مبنى سكني"</item>
+    <item msgid="2142527562511049422">"فقاعة تفسيرية كلامية"</item>
+    <item msgid="2548100558260478605">"مجموعة من الأشخاص"</item>
+    <item msgid="2270003903304578284">"مصباح كهربائي"</item>
+    <item msgid="4793496619091161864">"تقويم"</item>
+    <item msgid="5673625795644364100">"عدم الإزعاج"</item>
+    <item msgid="1423820834865831361">"شخص يجري"</item>
+    <item msgid="2037298830718732608">"غولف"</item>
+    <item msgid="2197835014443491074">"دمبل في صالة رياضية"</item>
+    <item msgid="2730180105015616518">"سباحة"</item>
+    <item msgid="2666922823253345958">"شخص يتنزه في الطبيعة"</item>
+    <item msgid="8234880356472211396">"شخص يرمي كرة"</item>
+    <item msgid="4642980625253001443">"شخص يركل"</item>
+    <item msgid="4324795269518833500">"ذراع التحكّم في الألعاب"</item>
+    <item msgid="7789966425125441125">"لوحة ألوان الرسام"</item>
+    <item msgid="663512680597461570">"ندفة ثلج"</item>
+    <item msgid="7952183800501346803">"مظلة شاطئ"</item>
+    <item msgid="799139025758265891">"أدوات ورشة عمل"</item>
+    <item msgid="1330084588359129896">"Tent"</item>
+    <item msgid="3861584909935022342">"بكرة فيلم"</item>
+    <item msgid="5827426100157335512">"كتاب"</item>
+    <item msgid="8585828346253128384">"زهرة لوتس"</item>
+    <item msgid="8788370542815300188">"Person\'s mind"</item>
+    <item msgid="7287354964767553293">"سمّاعات رأس"</item>
+    <item msgid="2530059623783800987">"تلفزيون"</item>
+    <item msgid="5307182323469376758">"قطار"</item>
+    <item msgid="4903790544026923026">"سيارة"</item>
+    <item msgid="5010405583912314582">"شوكة وسكينة"</item>
+    <item msgid="8939998598599064900">"سلة تسوّق"</item>
+    <item msgid="3379605903308731893">"طفل"</item>
+    <item msgid="7808668968550293112">"مخلب حيوان"</item>
+    <item msgid="1000692647524056504">"شارة النجمة"</item>
+    <item msgid="8270261073421676502">"شخصان"</item>
+    <item msgid="5767782819651505460">"نجمة"</item>
+    <item msgid="4368451291862729334">"قلب"</item>
+    <item msgid="2613199102208419986">"منزل"</item>
+    <item msgid="3022279986430275040">"نصف قمر"</item>
+    <item msgid="5421089790869483206">"ساعة"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 8a77f7a..657f589 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"معلق"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"غير معروف"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"معاينة"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"رمز الاستجابة السريعة"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"تصغير"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"تكبير"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"دائمًا"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"إعدادات سماعات الأذن الطبية"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"الاختصار، التوافق مع السماعات الطبية"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"الإعدادات المسبقة"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"لا يوجد أي إعداد مسبق مُبرمج من قِبَل أخصائي السمعيات"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"تعذَّر تعديل الإعداد المسبق"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"مصدر إخراج الصوت"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"لمحة عن إخراج الصوت"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"لا تتوفَّر إمكانية اختيار لغة لهذا التطبيق من الإعدادات."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"قد تختلف اللغة عن اللغات المتوفّرة في التطبيق. قد لا تدعم بعض التطبيقات هذا الإعداد."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"ضبط اللغة لكل تطبيق"</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"يستخدم النظام والتطبيقات والمواقع الإلكترونية أول لغة متوافقة من اللغات المفضّلة."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"يستخدم جهازك وتطبيقاتك والمواقع الإلكترونية التي تزورها أول لغة متاحة في قائمة لغاتك المفضّلة.\n\nوستستخدم معظم التطبيقات أيضًا منطقة لغتك المفضّلة لتنسيق التواريخ والأرقام والوحدات. لتغيير منطقتك، أضِف لغة ثمّ اختَر منطقتك المفضّلة."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"لاختيار لغة لكل تطبيق، انتقِل إلى إعدادات لغة التطبيق."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"مزيد من المعلومات عن لغات التطبيقات"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"‏هل تريد تغيير لغة النظام إلى %s ؟"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"خدمة الموقع الجغرافي غير مفعّلة."</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{الخدمة مفعّلة - يملك تطبيق واحد إذن الوصول إلى بيانات الموقع الجغرافي}zero{الخدمة مفعّلة - يملك # تطبيق إذن الوصول إلى بيانات الموقع الجغرافي}two{الخدمة مفعّلة - يملك تطبيقان إذن الوصول إلى بيانات الموقع الجغرافي}few{الخدمة مفعّلة - تملك # تطبيقات إذن الوصول إلى بيانات الموقع الجغرافي}many{الخدمة مفعّلة - يمتلك # تطبيقًا إذن الوصول إلى بيانات الموقع الجغرافي}other{الخدمة مفعّلة - يملك # تطبيق إذن الوصول إلى بيانات الموقع الجغرافي}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"جارٍ التحميل..."</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"يمكن للتطبيقات التي لديها إذن بالوصول إلى الأجهزة المجاورة تحديد الموضع النسبي للأجهزة المتصلة بجهازك."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"يمكن للتطبيقات التي لديها إذن بالوصول إلى الأجهزة المجاورة تحديد الموضع النسبي للأجهزة المتصلة بجهازك."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"ميزة وصول التطبيقات والخدمات إلى الموقع الجغرافي غير مفّعلة. قد يستمر إرسال الموقع الجغرافي لجهازك إلى مسؤولي الاستجابة لحالات الطوارئ عند الاتصال برقم طوارئ أو مراسلته نصيًا."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"مزيد من المعلومات حول إعدادات الموقع الجغرافي"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"‏لتغيير الإعداد، انتقِل إلى \"إعدادات ChromeOS‏\" &gt; \"الخصوصية والأمان\" &gt; \"عناصر التحكّم في الخصوصية\" &gt; \"الوصول إلى الموقع الجغرافي\""</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"تمت إضافة وجه و\"<xliff:g id="WATCH">%s</xliff:g>\"."</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"تمت إضافة وجه وبصمة إصبع و\"<xliff:g id="WATCH">%s</xliff:g>\"."</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"تمت إضافة وجه وبصمات أصابع و\"<xliff:g id="WATCH">%s</xliff:g>\"."</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"ميزة \"التحقّق من الهوية\" مفعَّلة وتتطلّب استخدام أحد المقاييس الحيوية"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"‏فتح قفل Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"تمت إضافة الساعة"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"ضبط إعدادات ساعتك"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"مزيد من المعلومات عن ميزة \"فتح الهاتف من الساعة\""</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"إضافة ساعة"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"إزالة ساعة"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"فتح الجهاز ببصمة الوجه وبصمة الإصبع"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"فتح الجهاز ببصمة الوجه وببصمة الإصبع"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"فتح قفل ملف العمل ببصمة الإصبع وببصمة الوجه"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"يجب ضبط الإعدادات"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"تمت إضافة وجه وبصمات أصابع."</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"جارٍ إعداد المساحة الخاصة…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"تعذَّر إعداد مساحة خاصة"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"إعادة المحاولة"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"خروج"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"المساحة الخاصّة غير متاحة.\nعرض الأسباب المُحتمَلة"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"عرض الأسباب المُحتمَلة"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"هل تريد اختيار طريقة جديدة لقفل المساحة الخاصة؟"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"يمكنك ضبط طريقة جديدة لقفل المساحة الخاصة أو استخدام القفل نفسه المستخدَم لفتح قفل الجهاز"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"استخدام قفل الشاشة"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"عندما تكون تقنية البلوتوث مفعّلة، يمكن للجهاز التواصل مع الأجهزة الأخرى المجاورة التي تتضمّن بلوتوث.\n\nولتحسين تجربة استخدام الجهاز، يمكن للتطبيقات والخدمات أيضًا البحث عن الأجهزة المجاورة في أي وقت، حتى عندما تكون تقنية البلوتوث غير مفعّلة. ويمكن استخدام هذا الإجراء لتحسين الميزات والخدمات المستندة إلى الموقع الجغرافي مثلاً. ويمكنك تغيير هذا الإعداد في إعدادات بحث البلوتوث."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"‏إذا تم تفعيل البلوتوث، فسيتمكّن الجهاز من الاتصال بالأجهزة القريبة الأخرى التي تتضمّن بلوتوث. يُستخدَم البلوتوث في ميزات مثل Quick Share و\"العثور على جهازي\".\n\nلا يزال بإمكان التطبيقات والخدمات في أي وقت البحث عن الأجهزة المجاورة حتى في حال إيقاف البلوتوث، وذلك لأغراض مثل تحسين الميزات والخدمات المستندة إلى الموقع الجغرافي. يمكنك تغيير ذلك من إعدادات البحث عن بلوتوث."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"تغيير"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"تفاصيل الجهاز"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"إعدادات لوحة المفاتيح"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"إعدادات إضافية"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"تحديثات للبرامج الثابتة، ولمحة عامة عنها، وغير ذلك"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"النصائح والدعم"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"عنوان البلوتوث للجهاز: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"عنوان البلوتوث للجهاز:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"هل تريد إلغاء إقران الجهاز؟"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"تحسين جودة الصوت (ميزة تجريبية)"</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"إلغاء إقران الجهاز"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"إلغاء ربط التطبيق"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"إعدادات إضافية"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"الحد الأقصى لعدد الأجهزة الصوتية المتّصلة باستخدام البلوتوث"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"اختيار الحد الأقصى لعدد الأجهزة الصوتية المتّصلة باستخدام البلوتوث"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"‏سجلّ تصحيح أخطاء مطوَّل لمورِّد الاتصال القصير المدى (NFC)"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"هل تريد إعادة تشغيل الجهاز؟"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"‏تسجيل الدخول عبر اتصال قصير المدى (NFC) مفصَّل مصمَّم لأغراض التطوير فقط. يتم تضمين بيانات إضافية عن الاتصال القصير المدى (NFC) في تقارير الأخطاء وقد تحتوي على معلومات خاصة. عليك إعادة تشغيل جهازك لتغيير هذا الخيار."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"إعادة التشغيل"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"مشغَّلة"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"مطفأة"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"الشاشة الخارجية"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"استخدام الشاشة الخارجية"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"دقة الشاشة"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"الشاشة الخارجية غير متصلة"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"الدوران"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"عادي"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"‫90 درجة"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"‫180 درجة"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"‫270 درجة"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"عند تغيير زاوية الدوران أو درجة الدقة، قد تتوقف أي تطبيقات تعمل حاليًا"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"يجب توصيل جهازك بشاشة خارجية لنسخ محتوى شاشتك بشكل مطابق"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"خيارات إضافية"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"البث"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"انعكاس"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"تفعيل عرض شاشة لاسلكي"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"توافقية"</string>
     <string name="brightness" msgid="6216871641021779698">"مستوى السطوع"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"السطوع التكيُّفي"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"لمحة عن ميزة \"السطوع التكيُّفي\""</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"سيتم ضبط سطوع الشاشة تلقائيًا حسب البيئة المحيطة والأنشطة. ويمكنك تحريك شريط التمرير يدويًا لضبط السطوع التكيُّفي حسبما تفضّل."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"مفعّل"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"غير مفعّل"</string>
@@ -1311,8 +1344,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="8850185380445309835">"‏أتريد تعديل شريحة SIM المفضلة؟"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"‏<xliff:g id="NEW_SIM">%1$s</xliff:g> هي شريحة SIM الوحيدة في جهازك، فهل تريد استخدام هذه الشريحة لبيانات الجوال والمكالمات والرسائل القصيرة SMS؟"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"‏تم ضبط <xliff:g id="NEW_SIM">%1$s</xliff:g> كشريحة SIM الرئيسية"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"أتريد تحسين تغطية بيانات الجوّال؟"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"اسمح لجهازك بالتبديل تلقائيًا إلى استخدام \"<xliff:g id="BACKUP_CARRIER">%1$s</xliff:g>\" لبيانات الجوّال عند توفّرها بشكل أفضل."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"قد تكون المكالمات والرسائل وحركة بيانات الشبكة مرئية لمؤسستك."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"الخيارات"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"تسهيل الاستخدام"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"لوحة المفاتيح الخارجية"</string>
-    <string name="show_ime" msgid="4334255501724746849">"استخدام لوحة المفاتيح على الشاشة"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"استمرار عرضها على الشاشة عندما تكون لوحة المفاتيح الخارجية متصلة"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"تجاهُل النقرات المتكرّرة"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"تتجاهل لوحة المفاتيح الضغطات المتكررة بسرعة على المفتاح نفسه خلال <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ملي ثانية"</string>
     <string name="slow_keys" msgid="2891452895499690837">"المفاتيح البطيئة"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"لضبط المهلة قبل أن يعمل المفتاح عند الضغط عليه على <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ملي ثانية"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"تثبيت المفاتيح"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"اضغط على مفتاح واحد في كل مرة للحصول على الاختصارات بدلاً من الضغط باستمرار على المفاتيح معًا"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"مفاتيح الماوس"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"استخدِم لوحة المفاتيح الخارجية للتحكّم في مؤشر الماوس"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"اختصارات لوحة المفاتيح"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"إظهار قائمة الاختصارات"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"لوحات مفاتيح وأدوات ملف العمل"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"تخصيص إيماءات التنقّل الفردية في لوحة اللمس"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"عكس اتجاه التنقّل"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"يتحرّك المحتوى للأعلى عندما تمرِّر سريعًا للأسفل."</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"النقر في أسفل يمين لوحة اللمس"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"انقر أسفل يسار لوحة اللمس للحصول على مزيد من الخيارات."</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"النقر بزر الماوس الأيمن باستخدام أسفل يمين لوحة اللمس"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"انقر أسفل يمين لوحة اللمس للحصول على مزيد من الخيارات"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"سرعة المؤشر"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"نمط منتصف المؤشر"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"تغيير نمط منتصف المؤشر إلى الأسود"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"تغيير نمط منتصف المؤشر إلى الأصفر"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"تغيير نمط منتصف المؤشر إلى الوردي"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"تغيير نمط منتصف المؤشر إلى الأزرق"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"نمط نقرة المؤشر"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"أبيض"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"أسود"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"بدون نمط"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"التعرّف على إيماءات لوحة اللمس"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"لوحة اللمس، لوحة لمس، ماوس، مؤشر، الانتقال للأسفل أو للأعلى، تمرير سريع، النقر بزر الماوس الأيمن، نقرة، مؤشر"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"النقر بزر الماوس الأيمن، النقر"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"إعادة الضبط"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"اختيار مفتاح التعديل"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"اختيار مفتاح جديد لـ \"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>\":"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"التنسيق <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"تلقائي"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"تلقائي: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"تنسيق محدَّد من المستخدم: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"الكلام"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"سرعة المؤشر"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"حجم المؤشر"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"تصغير حجم المؤشر"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"تكبير حجم المؤشر"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"وحدة التحكم في الألعاب"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"إعادة توجيه الاهتزاز"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"إرسال الاهتزاز إلى وحدة التحكم في الألعاب عند الاتصال"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"المتابعة على أيّ حال"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"إلغاء"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"إعدادات التكبير"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"التحريك بإصبع واحد"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"حرِّك المكبِّر بإصبع واحد"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"اسحب بإصبع واحد للتنقل على الشاشة"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"يمكنك نقل منطقة التكبير عن طريق سحب إصبع واحد."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"يمكنك نقل منطقة التكبير عن طريق سحب إصبعين."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"لا تتوفّر هذه الميزة عند تكبير جزء من الشاشة فقط"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"انقر على أحد الأزرار للتكبير"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"يمكنك تكبير الشاشة بسرعة لتكبير المحتوى"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"‏&lt;b&gt;لتكبير الشاشة، نفِّذ الخطوات التالية:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. استخدِم الاختصار المخصّص لبدء تكبير المحتوى&lt;br/&gt; {1,number,integer}. انقر على الشاشة&lt;br/&gt; {2,number,integer}. اسحب إصبعين للتنقّل على الشاشة&lt;br/&gt; {3,number,integer}. باعِد أو قارِب بإصبعين لتعديل مستوى التكبير/التصغير&lt;br/&gt; {4,number,integer}. استخدِم الاختصار المخصّص لإيقاف تكبير المحتوى&lt;br/&gt;&lt;br/&gt;&lt;b&gt;لتكبير المحتوى مؤقتًا، نفِّذ الخطوات التالية:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. تأكّد من ضبط نوع التكبير على وضع ملء الشاشة&lt;br/&gt; {1,number,integer}. استخدِم الاختصار المخصّص لبدء تكبير المحتوى&lt;br/&gt; {2,number,integer}. انقر مع الاستمرار على أي مكان على الشاشة&lt;br/&gt; {3,number,integer}. اسحب إصبعك للتنقّل على الشاشة&lt;br/&gt; {4,number,integer}. ارفع إصبعك لإيقاف تكبير الشاشة"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"‏&lt;b&gt;لتكبير الشاشة:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. استخدِم الاختصار المخصّص لبدء التكبير&lt;br/&gt; {1,number,integer}. انقر على الشاشة&lt;br/&gt; {2,number,integer}. اسحب بإصبعين للتنقّل على الشاشة&lt;br/&gt; {3,number,integer}. باعِد أو قارِب بإصبعين لتعديل مستوى التكبير أو التصغير&lt;br/&gt; {4,number,integer}. استخدِم الاختصار المخصَّص لإيقاف التكبير&lt;br/&gt;&lt;br/&gt; يمكنك أيضًا التكبير بشكل مؤقت وغير ذلك."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"‏&lt;b&gt;لتكبير الشاشة:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. استخدِم الاختصار المخصّص لبدء التكبير&lt;br/&gt; {1,number,integer}. انقر على الشاشة&lt;br/&gt; {2,number,integer}. اسحب بإصبع واحد أو إصبعين للتنقّل على الشاشة&lt;br/&gt; {3,number,integer}. باعِد أو قارِب بإصبعين لتعديل مستوى التكبير أو التصغير&lt;br/&gt; {4,number,integer}. استخدِم الاختصار المخصَّص لإيقاف التكبير&lt;br/&gt;&lt;br/&gt; يمكنك أيضًا التكبير بشكل مؤقت وغير ذلك."</string>
     <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"عند تفعيل ميزة \"التكبير\"، يمكنك تكبير حجم المحتوى على الشاشة.\n\n"<b>"للتكبير"</b>"، يمكنك تفعيل ميزة \"التكبير\" والنقر بعد ذلك على أي مكان في الشاشة.\n"<ul><li>"يمكنك سحب إصبعين أو أكثر للتمرير."</li>\n<li>"يمكنك ضمّ إصبعين أو أكثر لتعديل حجم المحتوى."</li></ul>\n\n<b>"للتكبير مؤقتًا"</b>"، يمكنك تفعيل ميزة التكبير والنقر مع الاستمرار على أي مكان في الشاشة.\n"<ul><li>"يمكنك السحب للتنقّل داخل الشاشة."</li>\n<li>"يمكنك رفع إصبعك للتصغير."</li></ul>\n\n"لن يكون بإمكانك التكبير على لوحة المفاتيح أو شريط التنقل."</string>
     <string name="accessibility_tutorial_pager" msgid="8461939455728454061">"الصفحة <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> من <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"اختصار زر أدوات تسهيل الاستخدام"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"انقر على الزر العائم"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"إيماءة تسهيل الاستخدام"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"انقر على رمز زر \"أدوات تسهيل الاستخدام\" <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> في أسفل الشاشة. للتبديل بين الميزات، انقر مع الاستمرار على زر أدوات تسهيل الاستخدام."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"مرِّر سريعًا من أسفل الشاشة للأعلى بإصبعين.\n\nللتبديل بين الميزات، مرِّر سريعًا للأعلى بإصبعين مع تثبيتهما."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"مرِّر سريعًا من أسفل الشاشة للأعلى بثلاثة أصابع.\n\nللتبديل بين الميزات، مرِّر سريعًا للأعلى بثلاثة أصابع مع تثبيتها."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{مرِّر سريعًا من أسفل الشاشة إلى أعلاها. للتبديل بين الميزات، مرِّر سريعًا من أسفل الشاشة إلى أعلاها واضغط مع الاستمرار.}zero{مرِّر سريعًا من أسفل الشاشة إلى أعلاها باستخدام # إصبع. للتبديل بين الميزات، مرِّر سريعًا من أسفل الشاشة إلى أعلاها واضغط مع الاستمرار باستخدام # إصبع.}two{مرِّر سريعًا من أسفل الشاشة إلى أعلاها باستخدام إصبعين. للتبديل بين الميزات، مرِّر سريعًا من أسفل الشاشة إلى أعلاها واضغط مع الاستمرار باستخدام إصبعين.}few{مرِّر سريعًا من أسفل الشاشة إلى أعلاها باستخدام # أصابع. للتبديل بين الميزات، مرِّر سريعًا من أسفل الشاشة إلى أعلاها واضغط مع الاستمرار باستخدام # أصابع.}many{مرِّر سريعًا من أسفل الشاشة إلى أعلاها باستخدام # إصبعًا. للتبديل بين الميزات، مرِّر سريعًا من أسفل الشاشة إلى أعلاها واضغط مع الاستمرار باستخدام # إصبعًا.}other{مرِّر سريعًا من أسفل الشاشة إلى أعلاها باستخدام # إصبع. للتبديل بين الميزات، مرِّر سريعًا من أسفل الشاشة إلى أعلاها واضغط مع الاستمرار باستخدام # إصبع.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"خيارات إضافية"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"مزيد من المعلومات عن <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"مفتاحا مستوى الصوت"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"مفتاحا مستوى الصوت"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"اضغط مع الاستمرار على مفتاحَي مستوى الصوت"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"النقر على الشاشة مرّتين باستخدام إصبعين"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"النقر مرّتين باستخدام إصبعين"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"انقر سريعًا على الشاشة مرّتين باستخدام إصبعين"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"النقر ثلاث مرّات"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"‏انقر سريعًا على الشاشة %1$d مرّات. قد يؤدي ذلك إلى إبطاء جهازك."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"النقر مرّتين باستخدام إصبعين"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"‏انقر سريعًا على الشاشة مرّتَين {0,number,integer} باستخدام إصبعين."</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"النقر ثلاث مرات على الشاشة"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"النقر ثلاث مرّات"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"‏انقر على الشاشة {0,number,integer} مرة. يمكن أن يؤدي استخدام هذا الاختصار إلى إبطاء الجهاز."</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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"إعدادات الاختصارات"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"اختصار من شاشة القفل"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"يمكنك السماح بتفعيل اختصار الميزة من شاشة القفل. اضغط مع الاستمرار على مفتاحَي مستوى الصوت لبضع ثوانٍ."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"زر أدوات تسهيل الاستخدام"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"إيماءة وزرّ أدوات تسهيل الاستخدام"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"هذه الخدمة مُعطَّلة."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"اختصارات تسهيل الاستخدام"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"إظهار في الإعدادات السريعة"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"الأحمر والأخضر"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"الأحمر والأخضر"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"عَمَى الأحمر والأخضر، عَمَى الأخضر"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"عَمَى الأحمر والأخضر، عَمَى الأحمر"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"الأزرق والأصفر"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"تدرّج الرمادي"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"كثافة اللون"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"ضعف إبصار الأخضر، عَمَى الأخضر والأحمر"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"ضعف إبصار الأحمر، عَمَى الأحمر"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"غير متوفّر في وضع \"تدرّج الرمادي\" أو في حال إيقاف ميزة \"تصحيح الألوان\""</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"زيادة تعتيم الشاشة"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"زيادة تعتيم الشاشة"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"سماوي"</string>
     <string name="color_yellow" msgid="5957551912912679058">"أصفر"</string>
     <string name="color_magenta" msgid="8943538189219528423">"أرجواني"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"هل تريد السماح لـ \"<xliff:g id="SERVICE">%1$s</xliff:g>\"  بالتحكّم الكامل في جهازك؟"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"خدمة <xliff:g id="SERVICE">%1$s</xliff:g> تحتاج إلى:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"نظرًا لأن هناك تطبيقًا يحجب طلب الإذن، لا تستطيع الإعدادات التحقق من ردك."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"تطلب خدمة <xliff:g id="SERVICE">%1$s</xliff:g> الحصول على تحكم كامل في هذا الجهاز. ويمكن للخدمة قراءة الشاشة والتصرف بالنيابة عن المستخدمين ذوي الاحتياجات المتعلقة بإمكانية الوصول. ولا يناسب هذا المستوى من التحكم معظم التطبيقات."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"إنّ التحكّم الكامل ليس ملائمًا لمعظم التطبيقات، باستثناء التطبيقات المعنية بتسهيل الاستخدام."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"قراءة محتوى الشاشة والتحكم به"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"يمكنها قراءة كل المحتوى على الشاشة وعرض المحتوى فوق تطبيقات أخرى."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"عرض الإجراءات وتنفيذها"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"قد يؤدي ذلك إلى السماح للميزة بتتبّع تفاعلاتك مع تطبيق أو جهاز استشعار والتفاعل مع التطبيقات نيابةً عنك."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"سماح"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"رفض"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"إيقاف"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"مفعّل / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> و<xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"يمكنك أيضًا تفعيل ميزة \"الصوت المكاني\" للأجهزة التي تتضمّن بلوتوث."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"إعدادات الأجهزة المتصلة"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"الصوت المكاني"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"غير مفعَّلة"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"غير مفعَّلة"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"غير مفعَّلة"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{ما من جداول زمنية}=1{تم ضبط جدول زمني واحد}two{تم ضبط جدولين زمنيين}few{تم ضبط # جداول زمنية}many{تم ضبط # جدولاً زمنيًا}other{تم ضبط # جدول زمني}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"وضع \"عدم الإزعاج\""</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"الأوضاع ذات الأولوية"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"إضافة وضع"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"الأوضاع"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"يمكنك تقليل مصادر التشتيت والحفاظ على انتباهك باستخدام أوضاع مخصّصة للنوم والعمل والقيادة وغير ذلك."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"إنشاء الوضع الخاص بك"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"ستصلك الإشعارات من الأشخاص المهمّين والتطبيقات المهمّة فقط"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"ضبط جدول زمني"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"الجدولة استنادًا إلى"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"اليوم والوقت"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"أيام الأسبوع من 9 صباحًا إلى 5 بعد الظهر\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"أحداث التقويم"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{تمّ تفعيل الوضع \"{mode_1}\"}=2{تمّ تفعيل الوضعَين \"{mode_1}\" و\"{mode_2}\"}=3{تمّ تفعيل الأوضاع \"{mode_1}\" و\"{mode_2}\" و\"{mode_3}\"}few{تمّ تفعيل الوضعَين \"{mode_1}\" و\"{mode_2}\" و# أوضاع أخرى}many{تمّ تفعيل الوضعَين \"{mode_1}\" و\"{mode_2}\" و# وضعًا آخرًا}other{تمّ تفعيل الوضعَين \"{mode_1}\" و\"{mode_2}\" و# وضع آخر}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{يمكن تفعيل وضع واحد تلقائيًا}two{يمكن تفعيل وضعَين تلقائيًا}few{يمكن تفعيل # أوضاع تلقائيًا}many{يمكن تفعيل # وضعًا تلقائيًا}other{يمكن تفعيل # وضع تلقائيًا}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"مفعَّل"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"لم يتم ضبط الوضع"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"غير مفعَّل"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"إنشاء وضع"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"مخصَّص"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"التفعيل الآن"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"إيقاف"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"لم يتم العثور على الوضع"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"الحد من المقاطعات"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"حظر مصادر الإزعاج والتشتيت"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"ضبط \"<xliff:g id="MODE">%1$s</xliff:g>\""</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"تفعيل ميزة \"عدم الإزعاج\""</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"السماح للمنبهات وأصوات الوسائط بمقاطعة عمل الميزة"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"الجداول الزمنية"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"حذف الجداول الزمنية"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"حذف"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"إعادة التسمية"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"حذف"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"هل تريد حذف وضع \"<xliff:g id="MODE">%1$s</xliff:g>\"؟"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"تعديل"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"الجداول الزمنية"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"الجدول الزمني"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"التفعيل تلقائيًا"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"إضافة تقويم"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"استخدام التقويم"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"وفقًا للجدول الزمني"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"ضبط جدول زمني"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"شروط تفعيل القاعدة تلقائيًا"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"الجدول الزمني للحدث"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"تفعيل القاعدة خلال أحداث"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"بناءً على حالة الرد على الدعوة"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"الجدول الزمني"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"الجدول الزمني"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"‫<xliff:g id="HOURS">%1$d</xliff:g> ساعة و<xliff:g id="MINUTES">%2$d</xliff:g> دقيقة"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"الجدول الزمني"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"السماح بالمقاطعات التي تصدر صوتًا"</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="mode_interruption_filter_title" msgid="6657431939996264417">"الإشعارات التي يمكنها الوصول إليك"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"الإجراءات الإضافية"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"فلاتر الإشعارات"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"إعدادات إضافية"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{غير مفعَّلة}=1{غير مفعّلة / يمكن تفعيل وضع واحد تلقائيًا}two{غير مفعّلة / يمكن تفعيل وضعين تلقائيًا}few{غير مفعّلة / يمكن تفعيل # أوضاع تلقائيًا}many{غير مفعّلة / يمكن تفعيل # وضعًا تلقائيًا}other{غير مفعّلة / يمكن تفعيل # وضع تلقائيًا}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"إعدادات العرض"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"خيارات العرض"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"تدرّج الرمادي"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"تفعيل المظهر الداكن"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"يتم تبديل نظام التشغيل والتطبيقات إلى تفضيل النص الفاتح على الخلفية الداكنة لإراحة العين وتوفير شحن البطارية بشكل ملحوظ في بعض الأجهزة"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{لم تحدث تغيرات بالعرض}=1{{effect_1}}=2{{effect_1} و{effect_2}}=3{{effect_1} و{effect_2} و{effect_3}}few{{effect_1} و{effect_2} و# تغييرات أخرى}many{{effect_1} و{effect_2} و# تغييرًا آخر}other{{effect_1} و{effect_2} و# تغيير آخر}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"السماح بجميع الإشعارات"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"السماح للأشخاص والتطبيقات والأصوات بمقاطعة عمل الوضع"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"خيارات العرض للإشعارات المفلتَرة"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"عندما تكون ميزة \"عدم الإزعاج\" مفعّلة"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"بدون تنبيهات صوتية من الإشعارات"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"فتح الإشعار"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"السماح بتأجيل الإشعارات"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"نقطة الإشعار على رموز التطبيقات"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"حِزم الإشعارات"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"فقاعات المحادثات"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"فقاعات المحادثات"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"إظهار هذه المحادثة كفقاعة"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"يمكنه الردّ على الرسائل واتخاذ إجراءات من خلال الأزرار في الإشعارات، بما في ذلك تأجيل الإشعارات أو إغلاقها والردّ على المكالمات."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"تغيير الإعدادات"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"يمكنه تفعيل ميزة \"عدم الإزعاج\" أو إيقافها وتغيير الإعدادات ذات الصلة."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"يُستخدَم لإدارة \"الأوضاع\" وتفعيلها وتغيير الإعدادات ذات الصلة."</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_modes_warning_summary" msgid="7528432011433844158">"في حال إيقاف الوصول إلى إشعارات \"<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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"الوقت الفعلي"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"لا يتوافق هذا التطبيق مع الإعدادات المحسَّنة."</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"إعدادات إضافية"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"تتوفّر إعدادات إضافية داخل التطبيق."</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"الإشعارات التكيّفية"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"استخدام الإشعارات التكيّفية"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"عند تلقّي عدد كبير من الإشعارات خلال فترة قصيرة، سيخفِّض هاتفك مستوى الصوت ويصغِّر النوافذ المنبثقة على الشاشة لمدة دقيقتين بحد أقصى. وستظل المكالمات والمنبهات والمحادثات ذات الأولوية تصدر اهتزازًا أو صوتًا أو تظهر على الشاشة، وسيسهُل عليك العثور على كل الإشعارات عند السحب من أعلى الشاشة."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"فترة توقُّف الإشعارات"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"استخدام الإعداد \"تخفيض الإشعارات الصوتية والاهتزاز\""</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"حينما تتلقّى الكثير من الإشعارات خلال وقت قصير، سيتم خفض مستوى صوت الجهاز وتقليل ظهور التنبيهات لمدة تصل إلى دقيقتين. ولن تتأثر المكالمات والمنبّهات والمحادثات ذات الأولوية بتلك الإجراءات. \n\nيمكنك العثور على الإشعارات المُرسلة إليك أثناء فترة تخفيض الإشعارات الصوتية والاهتزاز من خلال سحب الشاشة من أعلى لأسفل."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"التطبيق على ملفات العمل"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"يسري على تطبيقات ملف العمل"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"خدمات تحسّن تجربة الواقع الافتراضي"</string>
@@ -3650,6 +3717,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"الوصول إلى \"الأوضاع\""</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"السماح بالوصول إلى \"الأوضاع\""</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"لم تطلب أي تطبيقات مثبَّتة الوصول إلى \"الأوضاع\""</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"لم تسمح بالإشعارات من هذا التطبيق"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"‏بناءً على طلبك، يمنع Android ظهور هذه الفئة من الإشعارات على هذا الجهاز"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"‏بناءً على طلبك، يمنع Android ظهور هذه المجموعة من الإشعارات على هذا الجهاز."</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"الفئات"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"غير ذلك"</string>
     <string name="no_channels" msgid="4716199078612071915">"لم ينشر هذا التطبيق أي إشعارات."</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"عرض الفئات غير المستخدَمة"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"الإعدادات الإضافية في التطبيق"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"عرض الفئات غير المستخدَمة"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"إخفاء الفئات غير المستخدَمة"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"المحادثات"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"كل المحادثات"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"كل المحادثات"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"المحادثات ذات الأولوية"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"المحادثات ذات الأولوية"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"غير مسموح بأي محادثات"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"التطبيقات التي يمكنها إيقاف الوضع"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"التطبيقات المحدَّدة"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"ما مِن تطبيقات"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"كل التطبيقات"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{عدم السماح لأي تطبيقات بتخطّي وضع \"عدم الإزعاج\"}=1{بإمكان \"{app_1}\" تخطّي وضع \"عدم الإزعاج\"}=2{بإمكان \"{app_1}\" و\"{app_2}\" تخطّي وضع \"عدم الإزعاج\"}=3{بإمكان \"{app_1}\" و\"{app_2}\" و\"{app_3}\" تخطّي وضع \"عدم الإزعاج\"}few{بإمكان \"{app_1}\" و\"{app_2}\" و# تطبيقات إضافية تخطّي وضع \"عدم الإزعاج\"}many{بإمكان \"{app_1}\" و\"{app_2}\" و# تطبيقًا إضافيًا تخطّي وضع \"عدم الإزعاج\"}other{بإمكان \"{app_1}\" و\"{app_2}\" و# تطبيق إضافي تخطّي وضع \"عدم الإزعاج\"}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"‫<xliff:g id="APP_LABEL">%s</xliff:g> (ملف العمل)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"جارٍ الحساب…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"‫+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"السماح للتطبيقات بإلغاء وضع \"عدم الإزعاج\""</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"التطبيقات التي يمكنها مقاطعة عمل الميزة"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"اختيار مزيد من التطبيقات"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"عدم السماح لأي مصدر بتجاوز وضع \"عدم الإزعاج\""</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"عدم السماح لأي شخص بتجاوز وضع \"عدم الإزعاج\""</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"السماح لبعض الأشخاص بتجاوز وضع \"عدم الإزعاج\""</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"بإمكان المتصلين المتكرّرين تخطّي وضع \"عدم الإزعاج\""</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"السماح لكل المستخدمين بمقاطعة عمل الميزة"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"المتصلون المتكرّرون"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"السماح بالمتصلين المتكررين"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{التغيير إلى التنبيهات لمدة ساعة واحدة فقط حتى {time}}zero{التغيير إلى التنبيهات لمدة # ساعة فقط حتى {time}}two{التغيير إلى التنبيهات لمدة ساعتَين فقط حتى {time}}few{التغيير إلى التنبيهات لمدة # ساعات فقط حتى {time}}many{التغيير إلى التنبيهات لمدة # ساعة فقط حتى {time}}other{التغيير إلى التنبيهات لمدة # ساعة فقط حتى {time}}}"</string>
     <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_action_change_name" msgid="766639614789907016">"إعادة التسمية"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"تغيير الرمز"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"تغيير الرمز"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"تعديل الوضع"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"إنشاء وضع"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"وضع مخصّص"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"اسم الوضع"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"أحداث في التقويم"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"سلسلة إجراءات \"وقت النوم\""</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"أثناء القيادة"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"إعدادات التطبيق"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"المعلومات والإعدادات في \"<xliff:g id="APP_NAME">%1$s</xliff:g>\""</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"تحت إدارة \"<xliff:g id="APP_NAME">%1$s</xliff:g>\""</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"هل تريد إيقاف \"<xliff:g id="MODE_NAME">%1$s</xliff:g>\"؟"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"لن يتم مطلقًا تفعيل هذا الوضع في حال إيقافه"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"إيقاف"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"هل تريد تفعيل \"<xliff:g id="MODE_NAME">%1$s</xliff:g>\"؟"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"قد يتم تفعيل هذا الوضع تلقائيًا بناءً على إعداداته"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"تفعيل"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"يمكن إعداد وضع لتفعيله وفق جدول زمني منتظم"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"يمكن إعداد وضع لمزامنة إعداداته مع الأحداث في التقويم والردّ على الدعوات"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"يمكنك إعداد نظام هادئ للنوم يتضمّن ضبط المنبّهات وتعتيم الشاشة وحظر الإشعارات."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"يمكن منْح الأولوية للسلامة من أجل الحفاظ على تركيزك وعدم التشتت أثناء القيادة"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"يمكن حظر مصادر تشتيت الانتباه أو الإزعاج على جهازك للحفاظ على تركيزك"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"يمكن الحدّ من جميع مصادر التشتيت والاستمتاع بالهدوء"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"يمكن تخصيص تجارب استخدام الجهاز وإعداداته بما يلائم اهتمامات المستخدمين المختلفة"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"يمكن الحدّ من مصادر الإزعاج من خلال السماح للأشخاص المهمّين والتطبيقات الضرورية بالوصول إليك"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"اضبط وضعًا لتفعيله وفق جدول زمني منتظم"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"اجعل جهازك متزامنًا مع أحداث يومك"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"استيقِظ مستعيدًا نشاطك وحيويتك"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"ضع السلامة على رأس أولوياتك أثناء القيادة"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"حافِظ على تركيزك"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"للّحظات التي تتطلّب الذوق"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"إرشادات مفصّلة لمساعدتك في الحفاظ على سلامتك"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"وجِّه انتباهك"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"تحذير"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"إغلاق"</string>
     <string name="device_feedback" msgid="5351614458411688608">"إرسال ملاحظات حول هذا الجهاز"</string>
@@ -4006,6 +4110,11 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"هل تريد منح \"<xliff:g id="APP">%1$s</xliff:g>\" إذنًا للوصول إلى \"الأوضاع\"؟"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"سيتمكّن التطبيق من تفعيل ميزة \"عدم الإزعاج\" وإيقافها، وإدارة \"الأوضاع\" وتفعيلها، وإجراء تغييرات على الإعدادات ذات الصلة."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"ستتم إزالة كل الأوضاع التي أنشأها هذا التطبيق."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"عدم تحسين"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"تحسين"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"يمكن أن يستنزف ذلك طاقة بطاريتك بسرعة. ولن يتم منع التطبيق بعد الآن من استهلاك البطارية في الخلفية."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"الحافظة"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"البطارية"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"لوحة الإعدادات"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"فرض وضع سطح المكتب"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"فرض وضع سطح المكتب التجريبي على شاشات العرض الثانوية"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"تفعيل النوافذ الحرة"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"تفعيل النوافذ الحرة على شاشة ثانوية"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"عرض التطبيقات التي لا يتغيّر حجمها على شاشة متعدّدة النوافذ"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"السماح بعرض التطبيقات التي لا يتغيّر حجمها على شاشة متعدّدة النوافذ"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"إلغاء ميزة فرض تعتيم الشاشة"</string>
@@ -4971,7 +5080,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"بيانات الجوّال"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"‏لتحسين تجربة استخدامك للجهاز، يظل بإمكان التطبيقات والخدمات البحث عن شبكات Wi‑Fi في أي وقت، حتى عند إيقاف ميزة Wi‑Fi. ويمكن استخدام هذا الإجراء لتحسين الميزات والخدمات المستندة إلى الموقع الجغرافي مثلاً. وبإمكانك تغيير هذا الخيار في إعدادات البحث عن شبكات Wi-Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"تغيير"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"متصلة بالإنترنت"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"متصلة مؤقتًا"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"استخدام \"<xliff:g id="SUBNAME">%1$s</xliff:g>\" مؤقتًا"</string>
@@ -5003,7 +5111,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"استخدام ميزة \"تثبيت الشاشة على تطبيق معيّن\""</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"استخدام ميزة \"خيارات المطورين\""</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"استخدام خدمة الطباعة"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"السماح لمستخدمين متعددين"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"السماح بتبديل المستخدمين"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"السماح، متعدد، مستخدم، سماح، عديد"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"مستخدمون متعددون، مستخدمون، ملفات شخصية، أشخاص، حسابات، تبديل، غير ذلك"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"استخدام ميزة \"تصحيح الأخطاء اللاسلكي\""</string>
@@ -5060,52 +5168,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"يريد <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> الاتصال بهذا الهاتف.\n\nلم تتصل بالجهاز <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> من قبل."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"عدم الاتصال"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"الاتصال"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"‏إعدادات TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"مفعّلة"</string>
-    <string name="tare_off" msgid="6305694402929756726">"غير مفعّلة"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"العودة إلى الإعدادات التلقائية"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"تمت العودة إلى الإعدادات التلقائية."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"أقصى رصيد عندما يكون شحن البطارية كامل"</string>
-    <string name="tare_balances" msgid="731881382594747961">"الأرصدة"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"حدود الاستهلاك"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"الحد الأوّلي للاستهلاك"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"الحد الأدنى للاستهلاك"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"الحد الأقصى للاستهلاك"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"مفاتيح التعديل"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"الإجراءات (تكلفة الإنتاج)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"الإجراءات (السعر الأساسي)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"المكافآت لكل حدث"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"المكافآت لكل ثانية من مدة الحدث"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"الحد الأقصى للمكافآت يوميًا"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"تثبيت تطبيق"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"أعلى نشاط"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"تم الاطّلاع على الإشعار"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"تم الاطّلاع على الإشعار خلال 15 دقيقة"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"التفاعل مع الإشعار"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"التفاعل مع الأداة"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"تفاعل آخر من المستخدم"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"بدء مهمة ذات أولوية قصوى"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"جارٍ تنفيذ مهمة ذات أولوية قصوى"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"بدء مهمة ذات أولوية عالية"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"جارٍ تنفيذ مهمة ذات أولوية عالية"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"بدء مهمة تلقائية"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"جارٍ تنفيذ مهمة تلقائية"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"بدء مهمة ذات أولوية منخفضة"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"جارٍ تنفيذ مهمة ذات أولوية منخفضة"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"بدء مهمة ذات أولوية دنيا"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"جارٍ تنفيذ مهمة ذات أولوية دنيا"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"جزاء انتهاء مهلة المهمة"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"أدنى رصيد عندما يكون شحن البطارية كاملاً (معفى)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"أدنى رصيد عندما يكون شحن البطارية كاملاً (تطبيق نظام بلا واجهة مستخدم رسومية)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"أدنى رصيد عندما يكون شحن البطارية كاملاً (باقي التطبيقات)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"إضافة أدنى رصيد عندما يكون شحن البطارية كاملاً (برامج تحديث التطبيقات)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"الشحن"</item>
-    <item msgid="658627268149681677">"القيلولة"</item>
-    <item msgid="1599558140284643834">"وضع توفير الطاقة"</item>
-    <item msgid="588427840913221601">"حالة المعالجة"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"تأكيد"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"معاينة"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"اختيار شاشة استراحة"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"إظهار معلومات إضافية"</string>
@@ -5117,8 +5179,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"اختَر ما تريد أن يظهر على شاشتك عندما يكون جهازك اللوحي في حالة إرساء. قد يستهلك جهازك قدرًا أكبر من الطاقة عند استخدام شاشة الاستراحة."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"تخصيص"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"تخصيص <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"يجب إعادة التشغيل لتفعيل النوافذ الحرة."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"يجب إعادة التشغيل لفرض وضع الكمبيوتر المكتبي على الشاشات الثانوية."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"يجب إعادة التشغيل لتفعيل عرض النوافذ الحرة."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"يجب إعادة التشغيل لتعديل مدى توفّر عرض النوافذ الحرة."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"يجب إعادة التشغيل لتفعيل عرض النوافذ الحرة على الشاشات الثانوية."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"إعادة التشغيل الآن"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"إعادة التشغيل لاحقًا"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"الصوت المكاني"</string>
@@ -5215,7 +5278,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"وردي"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"أرجواني"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"بنفسجي"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"تم"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"حفظ"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"إلغاء"</string>
     <string name="contrast_default" msgid="8918545965525226966">"تلقائي"</string>
     <string name="contrast_medium" msgid="384414510709285811">"متوسط"</string>
@@ -5236,6 +5299,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"الخيار مفعَّل"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"الميزة غير مفعَّلة"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"الميزة مفعَّلة"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"‏الصوت: %1$d%% جهة اليسار، %2$d%% جهة اليمين"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"‏الصوت: %1$d%% جهة اليمين، %2$d%% جهة اليسار"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"‏يظهر اسم جهازك للتطبيقات التي تم تثبيتها. وقد يظهر أيضًا للمستخدمين الآخرين عند الاتصال بأجهزة تتضمّن بلوتوث أو بشبكة Wi-Fi أو عند إعداد نقطة اتصال Wi-Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"صيغة المخاطبة المناسبة نحويًا"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"اختيار صيغة مخاطبة مناسبة نحويًا"</string>
@@ -5304,6 +5369,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"تم إيقاف مشاركة الصوت"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"الاتصال بجهاز متوافق"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"‏لبدء مشاركة الصوت، يجب التأكّد أولاً من أنّ هاتفك متّصل بسماعات رأس متوافقة مع LE Audio"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"التبديل إلى \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\""</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"‏الاتصال بجهاز بث صوتي منخفض الطاقة (متوافق مع ميزة Bluetooth LE Audio)"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"أجهزة بث صوتي قريبة"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"أجهزة البث الصوتي"</string>
@@ -5347,4 +5413,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"الاستماع إلى البث"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"عليك أن تمسح ضوئيًا رمز الاستجابة السريعة للبث الصوتي للاستماع إليه باستخدام \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\""</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"لا يمكن تعديل كلمة المرور أثناء المشاركة. ولتعديلها، عليك أولاً إيقاف ميزة \"مشاركة الصوت\"."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"الماسح الضوئي لرمز الاستجابة السريعة"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"هل أنت بحاجة إلى مساعدة؟"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"البحث في \"الإعدادات\""</string>
 </resources>
diff --git a/res/values-as/arrays.xml b/res/values-as/arrays.xml
index fbd43a0..bddefce 100644
--- a/res/values-as/arrays.xml
+++ b/res/values-as/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"বেডটাইম"</item>
-    <item msgid="4152450357280759894">"গাড়ী চলোৱা"</item>
-    <item msgid="7096549258219399423">"ইমাৰ্ছিভ"</item>
-    <item msgid="2760716776980432977">"পৰিচালিত"</item>
-    <item msgid="601734478369121764">"তৰা"</item>
-    <item msgid="6243809315432780521">"কেলেণ্ডাৰ"</item>
-    <item msgid="4913577903148415331">"সময়"</item>
-    <item msgid="3653377604690057780">"থিয়েটাৰ"</item>
-    <item msgid="3843711267408385410">"ফুল"</item>
+    <item msgid="1216815120972438676">"ব্ৰিফকেছ"</item>
+    <item msgid="184985872234062767">"ক্লাছিকেল ভৱন"</item>
+    <item msgid="9189550412466785530">"এপাৰ্টমেণ্ট ভৱন"</item>
+    <item msgid="2142527562511049422">"কথনৰ বাবল"</item>
+    <item msgid="2548100558260478605">"লোকসকলৰ গোট"</item>
+    <item msgid="2270003903304578284">"লাইটৰ বাল্ব"</item>
+    <item msgid="4793496619091161864">"কেলেণ্ডাৰ"</item>
+    <item msgid="5673625795644364100">"অসুবিধা নিদিব ম’ড"</item>
+    <item msgid="1423820834865831361">"দৌৰি থকা ব্যক্তি"</item>
+    <item msgid="2037298830718732608">"গল্ফ"</item>
+    <item msgid="2197835014443491074">"ব্যায়ামাগাৰৰ ডাম্বেল"</item>
+    <item msgid="2730180105015616518">"সাঁতোৰা"</item>
+    <item msgid="2666922823253345958">"পাহাৰ বগাই থকা ব্যক্তি"</item>
+    <item msgid="8234880356472211396">"বল দলিয়াই থকা ব্যক্তি"</item>
+    <item msgid="4642980625253001443">"গোৰ মাৰি থকা ব্যক্তি"</item>
+    <item msgid="4324795269518833500">"গে’ম নিয়ন্ত্ৰক"</item>
+    <item msgid="7789966425125441125">"শিল্পীৰ ৰঙৰ পেলেট"</item>
+    <item msgid="663512680597461570">"তুষাৰ কণিকা"</item>
+    <item msgid="7952183800501346803">"সমুদ্ৰতীৰৰ ছাতি"</item>
+    <item msgid="799139025758265891">"কৰ্মশালাৰ সঁজুলি"</item>
+    <item msgid="1330084588359129896">"তম্বু"</item>
+    <item msgid="3861584909935022342">"ফিল্মৰ ৰীল"</item>
+    <item msgid="5827426100157335512">"কিতাপ"</item>
+    <item msgid="8585828346253128384">"পদুম ফুল"</item>
+    <item msgid="8788370542815300188">"ব্যক্তিৰ মন"</item>
+    <item msgid="7287354964767553293">"হেডফ’ন"</item>
+    <item msgid="2530059623783800987">"টিভি"</item>
+    <item msgid="5307182323469376758">"ৰে’ল"</item>
+    <item msgid="4903790544026923026">"গাড়ী"</item>
+    <item msgid="5010405583912314582">"কাঁটাচামুচ আৰু ছুৰী কটাৰী"</item>
+    <item msgid="8939998598599064900">"শ্বপিং কাৰ্ট"</item>
+    <item msgid="3379605903308731893">"শিশু"</item>
+    <item msgid="7808668968550293112">"জন্তুৰ হাতোৰা"</item>
+    <item msgid="1000692647524056504">"তৰাৰ বেজ"</item>
+    <item msgid="8270261073421676502">"দুগৰাকী লোক"</item>
+    <item msgid="5767782819651505460">"তৰাচিহ্ন"</item>
+    <item msgid="4368451291862729334">"হৃদয়"</item>
+    <item msgid="2613199102208419986">"ঘৰ"</item>
+    <item msgid="3022279986430275040">"অৰ্ধ-চন্দ্ৰ"</item>
+    <item msgid="5421089790869483206">"ঘড়ী"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index b5a4d9e..7a81ed3 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"স্থগিত"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"অজ্ঞাত"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"পূৰ্বদৰ্শন"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"কিউআৰ ক’ড"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"সৰু কৰক"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"ডাঙৰ কৰক"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"সদায়"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"শুনাৰ ডিভাইচৰ ছেটিং"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"শ্বৰ্টকাট, শ্ৰৱণ যন্ত্ৰৰ সুসংগতা"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"প্ৰিছেট"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"আপোনাৰ অডিঅ’লজিষ্টে প্ৰ’গ্ৰাম কৰা কোনো প্ৰিছেট নাই"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"প্ৰিছেট আপডে’ট কৰিব পৰা নগ’ল"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"অডিঅ’ আউটপুট"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"অডিঅ’ আউটপুটৰ বিষয়ে"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"এই এপ্‌টোৰ বাবে ছেটিঙৰ পৰা ভাষা বাছনি কৰাৰ সুবিধা উপলব্ধ নহয়।"</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"ভাষাটো এপ্‌টোত উপলব্ধ ভাষাসমূহতকৈ পৃথক হ’ব পাৰে। কিছুমান এপে এই ছেটিংটো সমৰ্থন নকৰিব পাৰে।"</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"প্ৰতিটো এপৰ বাবে ভাষাটো ছেট কৰক।"</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"আপোনাৰ ছিষ্টেম, এপ্‌ আৰু ৱেবছাইটসমূহে আপুনি অগ্ৰাধিকাৰ দিয়া ভাষাসমূহৰ পৰা প্ৰথম সমৰ্থিত ভাষাটো ব্যৱহাৰ কৰে।"</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"আপোনাৰ ডিভাইচ, এপ্‌ আৰু ৱেবছাইটে আপুনি অগ্ৰাধিকাৰ দিয়া ভাষাৰ সূচীৰ পৰা প্ৰথম সমৰ্থিত ভাষাটো ব্যৱহাৰ কৰে।\n\nবহুতো এপে তাৰিখ, সংখ্যা আৰু এককসমূহ ফৰ্মেট কৰিবলৈ আপুনি অগ্ৰাধিকাৰ দিয়া ভাষাৰ পৰা অঞ্চলটো ব্যৱহাৰ কৰিব। আপোনাৰ অঞ্চলটো সলনি কৰিবলৈ, কোনো ভাষা যোগ দিয়ক আৰু তাৰ পাছত আপুনি অগ্ৰাধিকাৰ দিয়া অঞ্চলটো বাছনি কৰক।"</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"প্ৰতিটো এপৰ বাবে এটা ভাষা বাছনি কৰিবলৈ এপৰ ভাষাৰ ছেটিঙলৈ যাওক।"</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"এপৰ ভাষাসমূহৰ বিষয়ে অধিক জানক"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"ছিষ্টেমৰ ভাষা %sলৈ সলনি কৰিবনে?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"অফ আছে"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{অন আছে / # টা এপে অৱস্থান এক্সেছ কৰিব পাৰে}one{অন আছে / # টা এপে অৱস্থান এক্সেছ কৰিব পাৰে}other{অন আছে / # টা এপে অৱস্থান এক্সেছ কৰিব পাৰে}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"ল’ড হৈ আছে…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"নিকটৱৰ্তী ডিভাইচৰ সৈতে যোগাযোগ কৰিব পৰাৰ অনুমতি থকা এপ্‌সমূহে সংযুক্ত হৈ থকা ডিভাইচৰ আপেক্ষিক স্থান নিৰ্ধাৰণ কৰিব পাৰে।"</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"নিকটৱৰ্তী ডিভাইচৰ সৈতে যোগাযোগ কৰিব পৰাৰ অনুমতি থকা এপ্‌সমূহে সংযুক্ত হৈ থকা ডিভাইচৰ আপেক্ষিক স্থান নিৰ্ধাৰণ কৰিব পাৰে।"</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"এপ্‌ আৰু সেৱাৰ বাবে অৱস্থানৰ এক্সেছ অফ কৰা আছে। আপুনি কোনো জৰুৰীকালীন নম্বৰলৈ কল কৰিলে অথবা বাৰ্তা পঠিয়ালে আপোনাৰ ডিভাইচৰ অৱস্থান তথাপি জৰুৰীকালীন পৰিস্থিতিত সঁহাৰি দিয়া লোকলৈ পঠিওৱা হ’ব পাৰে।"</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"অৱস্থানৰ ছেটিঙৰ বিষয়ে অধিক জানক"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"সলনি কৰিবলৈ ChromeOS ছেটিং &gt; গোপনীয়তা আৰু সুৰক্ষা &gt; গোপনীয়তাৰ নিয়ন্ত্ৰণ &gt; অৱস্থানৰ এক্সেছলৈ যাওক"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"মুখাৱয়ব আৰু <xliff:g id="WATCH">%s</xliff:g> যোগ দিয়া হৈছে"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"মুখাৱয়ব, ফিংগাৰপ্ৰিণ্ট আৰু <xliff:g id="WATCH">%s</xliff:g> যোগ দিয়া হৈছে"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"মুখাৱয়ব, ফিংগাৰপ্ৰিণ্ট আৰু <xliff:g id="WATCH">%s</xliff:g> যোগ দিয়া হৈছে"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"পৰিচয় পৰীক্ষা কৰাটো অন আছে আৰু বায়’মেট্ৰিকৰ প্ৰয়োজন"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Authenticatorৰ দ্বাৰা দূৰৰ পৰা আনলক কৰা"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"ঘড়ী যোগ দিয়া হৈছে"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"আপোনাৰ ঘড়ীটো ছেট আপ কৰক"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"ঘড়ীৰ দ্বাৰা আনলক কৰাৰ সুবিধাটোৰ বিষয়ে অধিক জানক"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"ঘড়ী যোগ দিয়ক"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"ঘড়ীটো আঁতৰাওক"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ফিংগাৰপ্ৰিণ্ট আৰু ফে’চ আনলক কৰাৰ সুবিধা"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ফেচ আৰু ফিংগাৰপ্ৰিন্ট আনলক"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"কাৰ্যৰ বাবে ফে’চ আৰু ফিংগাৰপ্ৰিন্ট আনলক"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ছেটআপৰ আৱশ্যক"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"মুখাৱয়ব আৰু ফিংগাৰপ্ৰিণ্ট যোগ দিয়া হ’ল"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"প্ৰাইভেট স্পে\'চ ছেট আপ কৰি থকা হৈছে…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"কোনো প্ৰাইভেট স্পে\'চ ছেট আপ কৰিব পৰা নগ’ল"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"পুনৰ চেষ্টা কৰক"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"বাহিৰ হওক"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"প্ৰাইভেট স্পেচ উপলব্ধ নহয়।\nসম্ভাব্য কাৰণসমূহ চাওক"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"সম্ভাব্য কাৰণসমূহ চাওক"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"প্ৰাইভেট স্পে’চৰ বাবে নতুন লক বাছনি কৰিবনে?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"আপুনি এটা নতুন লক কেৱল প্ৰাইভেট স্পে’চৰ বাবে ছেট কৰিব পাৰে বা আপুনি আপোনাৰ ডিভাইচটো আনলক কৰিবলৈ ব্যৱহাৰ কৰা একেটা লক ব্যৱহাৰ কৰিব পাৰে"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"স্ক্ৰীন লক ব্যৱহাৰ কৰক"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ব্লুটুথ অন হৈ থকা অৱস্থাত আপোনাৰ ডিভাইচটোৱে অন্য নিকটৱৰ্তী ব্লুটুথ ডিভাইচৰ সৈতে সংযোগ স্থাপন কৰিব পাৰে।\n\nডিভাইচ ব্যৱহাৰৰ অভিজ্ঞতা উন্নত কৰিবলৈ এপ্‌ আৰু সেৱাসমূহে তথাপি যিকোনো সময়ত, আনকি ব্লুটুথ অফ থকা অৱস্থাতো নিকটৱৰ্তী ডিভাইচৰ সন্ধান কৰিব পাৰে। ইয়াক অৱস্থানভিত্তিক সুবিধা আৰু সেৱা উন্নত কৰা আদিৰ দৰে কাৰ্যৰ বাবে ব্যৱহাৰ কৰিব পাৰি। আপুনি এইটো ব্লুটুথ স্কেনিঙৰ ছেটিঙত সলনি কৰিব পাৰে।"</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"যেতিয়া ব্লুটুথ অন থাকে, তেতিয়া আপোনাৰ ডিভাইচটোৱে ওচৰত থকা অন্য ব্লুটুথ ডিভাইচৰ সৈতে যোগাযোগ কৰিব পাৰে। Quick Share আৰু Find My Deviceৰ দৰে সুবিধাসমূহে ব্লুটুথ ব্যৱহাৰ কৰে।\n\nএপ্‌ আৰু সেৱাসমূহে তথাপি যিকোনো সময়ত, আনকি ব্লুটুথ অফ থকা অৱস্থাতো নিকটৱৰ্তী ডিভাইচৰ সন্ধান কৰিব পাৰে। ইয়াক অৱস্থানভিত্তিক সুবিধা আৰু সেৱা উন্নত কৰা আদিৰ দৰে কাৰ্যৰ বাবে ব্যৱহাৰ কৰিব পাৰি। আপুনি এইটো ব্লুটুথ স্কেনিঙৰ ছেটিঙত সলনি কৰিব পাৰে।"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"সলনি কৰক"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> সংযোগ হৈ থকা নাই"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"আপোনাৰ সুৰক্ষাৰ বাবে, এই ডিভাইচটো পাহৰি গৈ পুনৰ এবাৰ পেয়াৰ কৰক"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"ডিভাইচটো পাহৰি যাওক"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"বাতিল কৰক"</string>
     <string name="device_details_title" msgid="1155622417516195481">"ডিভাইচৰ বিষয়ে সবিশেষ"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"কীব’ৰ্ডৰ ছেটিং"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"অধিক ছেটিং"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"ফাৰ্মৱেৰৰ আপডে\'ট, ইয়াৰ বিষয়ে আৰু বহুতো"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"কিটিপ আৰু সহায়"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"ডিভাইচৰ ব্লুটুথৰ ঠিকনা: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"ডিভাইচৰ ব্লুটুথ ঠিকনা:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"ডিভাইচটো পাহৰিবনে?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"পৰীক্ষামূলক। অডিঅ’ৰ গুণগত মান উন্নত কৰে।"</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"ডিভাইচ পাহৰি যাওক"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"এপ্‌টোৰ সংযোগ বিচ্ছিন্ন কৰক"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"অধিক ছেটিং"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"সৰ্বাধিক সংযোজিত হৈ থকা ব্লুটুথ অডিঅ’ ডিভাইচৰ সংখ্যা"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"সৰ্বাধিক সংখ্যক সংযুক্ত হৈ থকা ব্লুটুথ অডিঅ\' ডিভাইচ বাছনি কৰক"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC বিক্ৰেতাৰ ভাৰ্ব’ছ ডিবাগ লগ"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"ডিভাইচটো ৰিষ্টাৰ্ট কৰিবনে?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"সবিশেষ NFC লগিং কেৱল বিকাশৰ উদ্দেশ্যে কৰা হয়। অতিৰিক্ত NFC ডেটা বাগ ৰিপ’ৰ্টসমূহত অন্তৰ্ভুক্ত কৰা হয়, য’ত ব্যক্তিগত তথ্য থাকিব পাৰে। এই ছেটিং সলনি কৰিবলৈ আপোনাৰ ডিভাইচটো ৰিষ্টাৰ্ট কৰক।"</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"ৰিষ্টাৰ্ট কৰক"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"অন আছে"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"অফ আছে"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"বাহ্যিক ডিছপ্লে’"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"বাহ্যিক ডিছপ্লে’ ব্যৱহাৰ কৰক"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"ডিছপ্লে’ৰ ৰিজ’লিউশ্বন"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"বাহ্যিক ডিছপ্লে’ বিচ্ছিন্ন কৰা হৈছে"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"ঘূৰ্ণন"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"মানক"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"৯০°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"১৮০°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"২৭০°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"ঘূৰ্ণন বা ৰিজ’লিউশ্বন সলনি কৰিলে বৰ্তমান চলি থকা যিকোনো এপ্‌ বন্ধ হ’ব পাৰে"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"আপোনাৰ স্ক্ৰীনখনৰ প্ৰতিবিম্বকৰণ কৰিবলৈ আপোনাৰ ডিভাইচটো এখন বাহ্যিক ডিছপ্লে’ৰ সৈতে সংযোগ কৰিবই লাগিব"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"অধিক বিকল্প"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"কাষ্ট"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"আইনা"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"বেতাঁৰ ডিছপ্লে’ সক্ষম কৰক"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"অভিযোজিত"</string>
     <string name="brightness" msgid="6216871641021779698">"উজ্জ্বলতাৰ স্তৰ"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"অভিযোজিত উজ্জ্বলতা"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"অভিযোজিত উজ্জ্বলতাৰ বিষয়ে"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"আপোনাৰ স্ক্ৰীনৰ উজ্জ্বলতা আপোনাৰ পৰিৱেশ আৰু কাৰ্যকলাপবোৰৰ লগত স্ৱয়ংক্ৰিয়ভাৱে খাপ খায়। আপুনি অভিযোজিত উজ্জ্বলতাক আপোনাৰ অগ্ৰাধিকাৰসমূহ বুজাত সহায় কৰাৰ বাবে শ্লাইডাৰ মেনুৱেলভাৱে স্থানান্তৰ কৰিব পাৰে।"</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"অন আছে"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"অফ হৈ আছে"</string>
@@ -1311,8 +1340,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="8850185380445309835">"অগ্ৰাধিকাৰ দিয়া ছিমখন আপডে’ট কৰিবনে?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> আপোনাৰ ডিভাইচটোৰ একমাত্ৰ ছিম। আপুনি এই ছিমটো ম’বাইল ডেটা, কল আৰু এছএমএছ বাৰ্তাৰ বাবে ব্যৱহাৰ কৰিব খুজেনে?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> এতিয়া আপোনাৰ মুখ্য ছিম"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"ম’বাইল ডেটাৰ ক’ভাৰেজ উন্নত কৰিবনে?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"উন্নতভাৱে উপলব্ধ হ’লে আপোনাৰ ডিভাইচটোক ম’বাইল ডাটাৰ বাবে স্বয়ংক্ৰিয়ভাৱে <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g>লৈ সলনি কৰাৰ অনুমতি দিয়ক।"</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"আপোনাৰ প্ৰতিষ্ঠানৰ বাবে কল, বাৰ্তা আৰু নেটৱৰ্কৰ ট্ৰেফিক দৃশ্যমান হ’ব পাৰে।"</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"বিকল্পসমূহ"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"সাধ্য সুবিধা"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"কায়িক কীব\'ৰ্ড"</string>
-    <string name="show_ime" msgid="4334255501724746849">"অন-স্ক্ৰীন কীব’ৰ্ড ব্যৱহাৰ কৰক"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"কায়িক কীব’ৰ্ড সক্ৰিয় হৈ থাকিলে ইয়াক স্ক্ৰীনত ৰাখিব"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"বাউন্স কী"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"কীব’ৰ্ডে <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> এমএছৰ ভিতৰত একেটা কী ক্ষিপ্ৰতাৰে বাৰে বাৰে টিপাটো উপেক্ষা কৰে"</string>
     <string name="slow_keys" msgid="2891452895499690837">"ধীৰ গতিৰ কী"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"<xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> এমএছ সক্ৰিয় কৰিবলৈ এটা কী টিপাৰ বাবে লগা সময় মিলাওক"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"ষ্টিকী কী"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"একেলগে কীসমূহ টিপি ধৰি থকাৰ সলনি শ্বৰ্টকাটৰ বাবে এবাৰত এটা কী টিপক"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"মাউছ কীসমূহ"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"মাউছটো নিয়ন্ত্ৰণ কৰিবলৈ কায়িক কীব\'ৰ্ড ব্যৱহাৰ কৰক।"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"কীব’ৰ্ডৰ শ্বৰ্টকাটসমূহ"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"শ্বৰ্টকাটৰ সূচী দেখুৱাওক"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"কৰ্মস্থানৰ প্ৰ’ফাইল আৰু সঁজুলি"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"গাইগুটীয়া টাচ্চপেড নেভিগেশ্বনৰ নিৰ্দেশ কাষ্টমাইজ কৰক"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"বিপৰীত দিশলৈ স্ক্ৰ’ল কৰাৰ সুবিধা"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"আপুনি তললৈ স্ক্ৰ’ল কৰিলে সমল ওপৰলৈ যায়"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"একেবাৰে তলৰ সোঁফালৰ টিপা"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"অধিক বিকল্প পাবলৈ টাচ্চপেডৰ একেবাৰে তলৰ সোঁফালৰ কোণটোত টিপক"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"সোঁফালে তলত ক্লিক কৰা"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"অধিক বিকল্পৰ বাবে টাচ্চপেডৰ একেবাৰে তলৰ সোঁকোণত ক্লিক কৰক"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"পইণ্টাৰৰ গতিবেগ"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"পইণ্টাৰ পূৰ কৰাৰ শৈলী"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"পইণ্টাৰ পূৰ কৰাৰ শৈলী ক’লা কৰক"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"পইণ্টাৰ পূৰ কৰাৰ শৈলী হালধীয়া কৰক"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"পইণ্টাৰ পূৰ কৰাৰ শৈলী গুলপীয়া কৰক"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"পইণ্টাৰ পূৰ কৰাৰ শৈলী নীলা কৰক"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"পইণ্টাৰ ষ্ট্ৰোকৰ শৈলী"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"বগা"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"ক’লা"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"নাই"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"টাচ্চপেডৰ নিৰ্দেশসমূহ শিকক"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"ট্ৰেকপেড, ট্ৰেক পেড, মাউছ, কাৰ্ছৰ, স্ক্ৰ’ল কৰক, ছোৱাইপ কৰক, ৰাইট ক্লিক কৰক, ক্লিক কৰক, পইণ্টাৰ"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"ৰাইট ক্লিক কৰক, টিপক"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"ৰিছেট কৰক"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"সংশোধক চাবি বাছনি কৰক"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>ৰ বাবে এটা নতুন চাবি বাছনি কৰক:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"কায়িক কীব’ৰ্ডৰ সাধ্য সুবিধা"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"ষ্টিকী কী, বাউন্স কী, মাউছ কী"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> লে’আউট"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ডিফ\'ল্ট"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"স্বয়ংক্ৰিয়: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"ব্যৱহাৰকাৰীয়ে বাছনি কৰা: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"কথন"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"পইণ্টাৰৰ বেগ"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"পইণ্টাৰ স্কে’ল"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"পইণ্টাৰ স্কে’ল কমাওক"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"পইণ্টাৰ স্কে’ল বঢ়াওক"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"গেইম নিয়ন্ত্ৰক"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"কম্পনক পুনৰ নিৰ্দেশিত কৰক"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"গেইম নিয়ন্ত্ৰক সংযোজিত হ\'লে তালৈ কম্পন পঠিয়াওক"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"যি হ’লেও অব্যাহত ৰাখক"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"বাতিল কৰক"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"বিবৰ্ধন কৰাৰ ছেটিং"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"এটা আঙুলিৰে পেনিং কৰা"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"১ টা আঙুলিৰে বিবৰ্ধক স্থানান্তৰ কৰক"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"স্ক্ৰীনত ইফাল-সিফাল কৰিবলৈ ১ টা আঙুলিৰে টানি আনি এৰক"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"এটা আঙুলিৰে টানি আনি এৰি দি বিবৰ্ধন কৰা অংশটো লৰচৰ কৰক।"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"দুটা আঙুলিৰে টানি আনি এৰি দি বিবৰ্ধন কৰা অংশটো লৰচৰ কৰক।"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"স্ক্ৰীনখনৰ কেৱল এটা অংশ বিবৰ্ধন কৰাৰ সময়ত উপলব্ধ নহয়"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"জুম কৰিবলৈ এটা বুটাম টিপক"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"সমলৰ আকাৰ ডাঙৰ কৰিবলৈ স্ক্ৰীনখনত ক্ষিপ্ৰভাৱে জুম ইন কৰক"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;জুম ইন কৰিবলৈ:&lt;/b&gt;&lt;br/&gt; {0,number,integer}। বিবৰ্ধনৰ সুবিধাটো আৰম্ভ কৰিবলৈ শ্বৰ্টকাট ব্যৱহাৰ কৰক&lt;br/&gt; {1,number,integer}। স্ক্ৰীনখনত টিপক&lt;br/&gt; {2,number,integer}। স্ক্ৰীনৰ চাৰিওফালে ইফাল-সিফাল কৰিবলৈ ২ টা আঙুলিৰে টানি আনি এৰক&lt;br/&gt; {3,number,integer}। জুম মিলাবলৈ ২ টা আঙুলিৰে পিঞ্চ কৰক&lt;br/&gt; {4,number,integer}। বিবৰ্ধনৰ সুবিধাটো বন্ধ কৰিবলৈ শ্বৰ্টকাট ব্যৱহাৰ কৰক&lt;br/&gt;&lt;br/&gt;&lt;b&gt;সাময়িকভাৱে জুম ইন কৰিবলৈ:&lt;/b&gt;&lt;br/&gt; {0,number,integer}। আপোনাৰ বিবৰ্ধনৰ প্ৰকাৰটো সম্পূৰ্ণ স্ক্ৰীনলৈ ছেট কৰাটো নিশ্চিত কৰক&lt;br/&gt; {1,number,integer}। বিবৰ্ধনৰ সুবিধাটো আৰম্ভ কৰিবলৈ শ্বৰ্টকাট ব্যৱহাৰ কৰক&lt;br/&gt; {2,number,integer}। স্ক্ৰীনখনৰ যিকোনো স্থানত স্পৰ্শ কৰি ধৰি ৰাখক&lt;br/&gt; {3,number,integer}। স্ক্ৰীনৰ চাৰিওফালে ইফাল-সিফাল কৰিবলৈ আঙুলিৰে টানি আনি এৰক&lt;br/&gt; {4,number,integer}। বিবৰ্ধনৰ সুবিধাটো বন্ধ কৰিবলৈ আঙুলি উঠাওক"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;জুম ইন কৰিবলৈ:&lt;/b&gt;&lt;br/&gt; {0,number,integer}। বিবৰ্ধনৰ সুবিধাটো আৰম্ভ কৰিবলৈ শ্বৰ্টকাট ব্যৱহাৰ কৰক&lt;br/&gt; {1,number,integer}। স্ক্ৰীনখনত টিপক&lt;br/&gt; {2,number,integer}। স্ক্ৰীনত ইফাল-সিফাল কৰিবলৈ ২ টা আঙুলিৰে টানি আনি এৰক&lt;br/&gt; {3,number,integer}। জুম মিলাবলৈ ২ টা আঙুলিৰে পিঞ্চ কৰক&lt;br/&gt; {4,number,integer}। বিবৰ্ধন বন্ধ কৰিবলৈ শ্বৰ্টকাট ব্যৱহাৰ কৰক&lt;br/&gt;&lt;br/&gt; আপুনি সাময়িকভাৱে জুম ইন কৰাৰ লগতে আৰু বহুতো কাৰ্য কৰিব পাৰে।"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;জুম ইন কৰিবলৈ:&lt;/b&gt;&lt;br/&gt; {0,number,integer}। বিবৰ্ধনৰ সুবিধাটো আৰম্ভ কৰিবলৈ শ্বৰ্টকাট ব্যৱহাৰ কৰক&lt;br/&gt; {1,number,integer}। স্ক্ৰীনখনত টিপক&lt;br/&gt; {2,number,integer}। স্ক্ৰীনত ইফাল-সিফাল কৰিবলৈ ১ টা বা ২ টা আঙুলিৰে টানি আনি এৰক&lt;br/&gt; {3,number,integer}। জুম মিলাবলৈ ২ টা আঙুলিৰে পিঞ্চ কৰক&lt;br/&gt; {4,number,integer}। বিবৰ্ধন বন্ধ কৰিবলৈ শ্বৰ্টকাট ব্যৱহাৰ কৰক&lt;br/&gt;&lt;br/&gt; আপুনি সাময়িকভাৱে জুম ইন কৰাৰ লগতে আৰু বহুতো কাৰ্য কৰিব পাৰে।"</string>
     <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"বিৱৰ্ধন অন কৰা থাকিলে আপুনি নিজৰ স্ক্রীনখনত জুম ইন কৰিব পাৰে।\n\n"<b>"জুম কৰিবলৈ"</b>", বিৱৰ্ধন আৰম্ভ কৰক আৰু তাৰ পাছত স্ক্রীনখনৰ যিকোনো ঠাইত টিপক।\n"<ul><li>"স্ক্ৰ’ল কৰিবলৈ ২টা অথবা ততোধিক আঙুলি স্ক্ৰীনত পিছলাওক"</li>\n<li>"জুম মিলাবলৈ স্ক্ৰীনত ২টা অথবা অধিক আঙুলিৰে টিপক"</li></ul>\n\n<b>"সাময়িকভাৱে জুম কৰিবলৈ"</b>"বিৱৰ্ধন আৰম্ভ কৰক, তাৰ পাছত স্ক্ৰীনৰ যিকোনো অংশত স্পৰ্শ কৰি হেঁচি ধৰক।\n"<ul><li>"স্ক্ৰীনখন ইফালে-সিফালে নিবলৈ আঙুলিৰে টানক"</li>\n<li>"জুম আউট কৰিবলৈ আঙুলি উঠাওক"</li></ul>\n\n"আপুনি কীব’ৰ্ড অথবা নেভিগেশ্বন বাৰ জুম কৰিব নোৱাৰে।"</string>
     <string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g> পৃষ্ঠাৰ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> নম্বৰ পৃষ্ঠা"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"সাধ্য সুবিধা বুটামৰ শ্বৰ্টকাট"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"ওপঙি থকা বুটামটোত টিপক"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"সাধ্য সুবিধাৰ নিৰ্দেশ"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"আপোনাৰ স্ক্ৰীনখনৰ একেবাৰে তলৰ অংশত থকা সাধ্য সুবিধাৰ বুটামটো <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> টিপক। সুবিধাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিবলৈ সাধ্য সুবিধাৰ বুটামটো স্পৰ্শ কৰি ধৰি ৰাখক।"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"একেবাৰে তলিৰ পৰা ওপৰলৈ ২ টা আঙুলিৰে ছোৱাইপ কৰক।\n\nসেৱাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিবলৈ ২ টা আঙুলিৰে ওপৰলৈ ছোৱাইপ কৰি ধৰি ৰাখক।"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"একেবাৰে তলিৰ পৰা ওপৰলৈ ৩ টা আঙুলিৰে ছোৱাইপ কৰক।\n\nসেৱাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিবলৈ ৩ টা আঙুলিৰে ওপৰলৈ ছোৱাইপ কৰি ধৰি ৰাখক।"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{আপোনাৰ স্ক্ৰীনৰ একেবাৰে তলৰ অংশৰ পৰা ওপৰলৈ ছোৱাইপ কৰক। সুবিধাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিবলৈ, ওপৰলৈ ছোৱাইপ কৰি কিছু সময় ধৰি থাকক।}one{আপোনাৰ স্ক্ৰীনৰ একেবাৰে তলৰ অংশৰ পৰা ওপৰলৈ # টা আঙুলিৰে ছোৱাইপ কৰক। সুবিধাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিবলৈ # টা আঙুলিৰে ওপৰলৈ ছোৱাইপ কৰি ধৰি ৰাখক।}other{আপোনাৰ স্ক্ৰীনৰ একেবাৰে তলৰ অংশৰ পৰা ওপৰলৈ # টা আঙুলিৰে ছোৱাইপ কৰক। সুবিধাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিবলৈ # টা আঙুলিৰে ওপৰলৈ ছোৱাইপ কৰি ধৰি ৰাখক।}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"অধিক বিকল্প"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"<xliff:g id="SERVICE">%1$s</xliff:g>ৰ বিষয়ে অধিক জানক"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"ভলিউম কী"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"ভলিউম কী"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"দুয়োটা ভলিউম কী টিপক আৰু হেঁচি ৰাখক"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"দুটা আঙুলিৰে স্ক্ৰীনত দুবাৰ টিপা"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d-টা আঙুলিৰে দুবাৰ টিপক"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"স্ক্ৰীনখন ক্ষিপ্ৰভাৱে %1$d টা আঙুলিৰে দুবাৰ টিপক"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"তিনিবাৰ টিপক"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"স্ক্ৰীনখন ক্ষিপ্ৰভাৱে %1$d বাৰ টিপক। এইটোৱে আপোনাৰ ডিভাইচটো লেহেমীয়া কৰিব পাৰে।"</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d-টা আঙুলিৰে দুবাৰ টিপক"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"দুটা আঙুলিৰে স্ক্ৰীনখনত খৰতকীয়াকৈ {0,number,integer} বাৰ টিপক"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"স্ক্রীনখনত তিনিবাৰ টিপক"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"তিনিবাৰ টিপক"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"স্ক্ৰীনখনত ক্ষিপ্ৰতাৰে {0,number,integer} বাৰ টিপক। এই শ্বৰ্টকাটটোৱে আপোনাৰ ডিভাইচটো লেহেমীয়া কৰিব পাৰে"</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_global_gesture_preference_title" msgid="8866765674372344850">"ভলিউম কীৰ শ্বৰ্টকাট"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"শ্বৰ্টকাটৰ ছেটিং"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"লক স্ক্ৰীনৰ পৰা শ্বৰ্টকাট"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"লক স্ক্ৰীনৰ পৰা ভলিউম কীৰ শ্বৰ্টকাট"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"সুবিধাৰ শ্বৰ্টকাটটোক লক স্ক্ৰীনখনৰ পৰা অন কৰিবলৈ অনুমতি দিয়ক। দুয়োটা ভলিউম কী কিছুসময়ৰ বাবে ধৰি থাকক।"</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"সাধ্য-সুবিধাৰ বুটাম"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"সাধ্য-সুবিধাৰ বুটাম আৰু নিৰ্দেশ"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"এই সেৱাএ ভালকৈ কাম কৰা নাই।"</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"সাধ্য সুবিধাৰ শ্বৰ্টকাট"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"ক্ষিপ্ৰ ছেটিঙত দেখুৱাওক"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"ৰঙা-সেউজীয়া"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"ৰঙা-সেউজীয়া"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"ৰঙা-সেউজীয়া, সেউজীয়া দুৰ্বল"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"ৰঙা-সেউজীয়া, ৰঙা দুৰ্বল"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"নীলা-হালধীয়া"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"গ্ৰে’স্কে’ল"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"তীব্ৰতা"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"সেউজীয়া দুৰ্বল, ডিউটাৰএন’মেলী"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"ৰঙা দুৰ্বল, প্ৰ’টান’মেলী"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"গ্ৰে’স্কে’ল ম\'ডৰ বাবে বা ৰং শুধৰণী অক্ষম কৰি থোৱা থাকিলে উপলব্ধ নহয়"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"অতিৰিক্তভাৱে পোহৰ কমোৱাৰ সুবিধা"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"স্ক্ৰীনৰ উজ্জ্বলতা অতিৰিক্তভাৱে হ্ৰাস কৰক"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"চাইয়ান"</string>
     <string name="color_yellow" msgid="5957551912912679058">"হালধীয়া"</string>
     <string name="color_magenta" msgid="8943538189219528423">"মেজেণ্টা"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"<xliff:g id="SERVICE">%1$s</xliff:g>ক আপোনাৰ ডিভাইচৰ সম্পূর্ণ নিয়ন্ত্ৰণ দিবনে?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g>ক নিম্নোক্ত অনুমতিকেইটাৰ আৱশ্যক:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"যিহেতু এটা এপে অনুমতি বিচাৰি কৰা অনুৰোধ ঢাকি ধৰিছে, Settingsএ আপোনাৰ উত্তৰ সত্যাপন কৰিব পৰা নাই।"</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g>এ এই ডিভাইচটোৰ সম্পূৰ্ণ নিয়ন্ত্ৰণ বিচাৰিছে। এই সেৱাটোৱে স্ক্ৰীন পঢ়িব পাৰে আৰু ব্যৱহাৰকাৰীৰ হৈ সাধ্য সুবিধাৰ প্ৰয়োজন অনুসৰি কাম কৰিব পাৰে। বেছিভাগ এপৰ ক্ষেত্ৰত এই নিয়ন্ত্ৰণৰ স্তৰ সঠিক নহয়।"</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"আপোনাক সাধ্য সুবিধাৰ প্ৰয়োজনসমূহৰ জৰিয়তে সহায় কৰা এপ্‌সমূহৰ বাবে সম্পূর্ণ নিয়ন্ত্ৰণৰ সুবিধাটো সঠিক যদিও অধিকাংশ এপৰ বাবে এয়া সঠিক নহয়।"</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"চাওক আৰু স্ক্ৰীন নিয়ন্ত্ৰণ কৰক"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"ই স্ক্ৰীনৰ আটাইবোৰ সমল পঢ়িব পাৰে আৰু অন্য এপ্‌সমূহৰ ওপৰত সমল প্ৰদর্শন কৰিব পাৰে।"</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"কার্যসমূহ চাওক আৰু কৰক"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"ই আপুনি কোনো এপ্ বা হার্ডৱেৰ ছেন্সৰৰ সৈতে কৰা ভাব-বিনিময় আৰু আপোনাৰ হৈ অন্য কোনো লোকে এপৰ সৈতে কৰা ভাব-বিনিময় ট্ৰেক কৰিব পাৰে।"</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"অনুমতি দিয়ক"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"অস্বীকাৰ কৰক"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"অফ কৰক"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"অন আছে / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> আৰু <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"আপুনি ব্লুটুথ ডিভাইচৰ বাবে প্ৰকৃত অভিজ্ঞতা প্ৰদান কৰা অডিঅ’ অন কৰিব পাৰে।"</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"সংযুক্ত হৈ থকা ডিভাইচৰ ছেটিং"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"স্থানিক অডিঅ’"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"অফ আছে"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"অফ আছে"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"অফ আছে"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{এটাও নাই}=1{1 খন সময়সূচী ছেট কৰা হৈছে}one{# খন সময়সূচী ছেট কৰা হৈছে}other{# খন সময়সূচী ছেট কৰা হৈছে}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"অসুবিধা নিদিব"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"অগ্ৰাধিকাৰপ্ৰাপ্ত ম’ড"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"এটা ম’ড যোগ দিয়ক"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"ম’ড"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"ব্যাঘাত কমাওক আৰু শোৱাৰ সময়, কাম, গাড়ী চলোৱা আৰু ইয়াৰ মাজৰ আটাইবোৰ কামৰ ম’ডসমূহৰ জড়িয়তে নিজৰ মনৰ ওপৰত নিয়ন্ত্ৰণ আনক।"</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"আপোনাৰ নিজৰ ম’ড সৃষ্টি কৰক"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"কেৱল গুৰুত্বপূর্ণ লোক আৰু এপ্‌সমূহৰ পৰা জাননী পাওক"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"সময়সূচী ছেট কৰক"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"সময়সূচীৰ ভিত্তি"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"দিন আৰু সময়"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"কৰ্মদিনত পুৱা ৯ বজা - সন্ধিয়া ৫ বজা\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"কেলেণ্ডাৰৰ অনুষ্ঠান"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} সক্ৰিয় আছে}=2{{mode_1} আৰু {mode_2} সক্ৰিয় আছে}=3{{mode_1}, {mode_2}, আৰু {mode_3} সক্ৰিয় আছে}one{{mode_1}, {mode_2}, আৰু # টা সক্ৰিয় আছে}other{{mode_1}, {mode_2}, আৰু # টা সক্ৰিয় আছে}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{১ টা ম’ড স্বয়ংক্ৰিয়ভাৱে অন হ’ব পাৰে}one{# টা ম’ড স্বয়ংক্ৰিয়ভাৱে অন হ’ব পাৰে}other{# টা ম’ড স্বয়ংক্ৰিয়ভাৱে অন হ’ব পাৰে}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"অন আছে"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"ছেট কৰা হোৱা নাই"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"অক্ষম কৰা আছে"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"এটা ম’ড সৃষ্টি কৰক"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"কাষ্টম"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"এতিয়াই অন কৰক"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"অফ কৰক"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"ম’ডটো বিচাৰি পোৱা নাই"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"বাধাবোৰ সীমিত কৰক"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"ব্যাঘাত আৰু বিভ্ৰান্তি অৱৰোধ কৰক"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g> ছেট আপ কৰক"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"অসুবিধা নিদিব অন কৰক"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"এলাৰ্ম আৰু মিডিয়া ধ্বনিসমূহে ব্যাঘাত জন্মাব পাৰে"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"সময়সূচী"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"নিৰ্ধাৰিত সূচী মচক"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"মচক"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"নতুন নাম দিয়ক"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"মচক"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"\"<xliff:g id="MODE">%1$s</xliff:g>\" ম’ড মচিবনে?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"সম্পাদনা কৰক"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"সময়সূচী"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"সময়সূচী"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"স্বয়ংক্ৰিয়ভাৱে অন কৰক"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"এখন কেলেণ্ডাৰ যোগ দিয়ক"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"আপোনাৰ কেলেণ্ডাৰ ব্যৱহাৰ কৰক"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"সময়সূচী"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"সময়সূচী ছেট কৰক"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"স্বয়ংক্ৰিয়ভাৱে অন কৰাৰ সময়"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"অনুষ্ঠানৰ সময়সূচী"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"ইয়াৰ বাবে অনুষ্ঠানৰ মাজত অন কৰক"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"আমন্ত্ৰণ জনালে প্ৰত্যুত্তৰ"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"সময়সূচী"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"সময়সূচী"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ঘণ্টা, <xliff:g id="MINUTES">%2$d</xliff:g> মিনিট"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"সময়সূচী"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"ধ্বনিৰ সৃষ্টি কৰা বাধাসমূহৰ বাবে অনুমতি দিয়ক"</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="mode_interruption_filter_title" msgid="6657431939996264417">"আপোনাৰ সৈতে সম্পৰ্ক স্থাপন কৰিব পৰা জাননীসমূহ"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"অতিৰিক্ত কাৰ্য"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"জাননীৰ ফিল্টাৰ"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"অধিক ছেটিং"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{অফ আছে}=1{অফ আছে / ১ টা ম’ড স্বয়ংক্ৰিয়ভাৱে অন কৰিব পাৰি}one{অফ আছে / # টা ম’ড স্বয়ংক্ৰিয়ভাৱে অন কৰিব পাৰি}other{অফ আছে / # টা ম’ড স্বয়ংক্ৰিয়ভাৱে অন কৰিব পাৰি}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"ডিছপ্লে’ ছেটিং"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"ডিছপ্লে’ৰ বিকল্পসমূহ"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"গ্ৰে’স্কে’ল"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"গাঢ় ৰঙৰ থীম সক্ষম কৰক"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"OS আৰু এপ্‌সমূহক গাঢ় ৰঙৰ পটভূমিত পাতল ৰঙৰ পাঠ পছন্দ কৰিবলৈ সলনি কৰক, যি চকুৰ বাবে সহজ হ’ব পাৰে আৰু কিছুমান ডিভাইচত যথেষ্ট বেটাৰি সঞ্চয় কৰিবলৈ দিয়ে"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{কোনো ডিছপ্লে’ সম্পৰ্কীয় সালসলনি নাই}=1{{effect_1}}=2{{effect_1} আৰু {effect_2}}=3{{effect_1}, {effect_2} আৰু {effect_3}}one{{effect_1}, {effect_2} আৰু # অধিক}other{{effect_1}, {effect_2} আৰু # অধিক}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"আটাইবোৰ জাননীৰ অনুমতি দিয়ক"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"লোকসকল, এপ্‌ আৰু মিডিয়া ধ্বনিসমূহে ব্যাঘাত জন্মাব পাৰে"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ফিল্টাৰ কৰা জাননীৰ বাবে ডিছপ্লে’ বিকল্পসমূহ"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"অসুবিধা নিদিব ম’ডটো অন হৈ থাকিলে"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"জাননীৰ পৰা কোনো ধ্বনি নাই"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"জাননী খোলক"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"জাননী স্নুজ কৰাৰ অনুমতি দিয়ক"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"এপ্‌ চিহ্নত জাননী বিন্দু"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"জাননীৰ বাণ্ডল"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bubbles"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubbles"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"এই বাৰ্তালাপটো বাবল কৰক"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"এইটোৱে বাৰ্তাৰ প্ৰত্যুত্তৰ দিব পাৰে আৰু জাননীত থকা বুটামসমূহৰ জৰিয়তে কাৰ্যব্যৱস্থা ল’ব পাৰে, য’ত জাননী স্নুজ কৰা অথবা অগ্ৰাহ্য কৰা আৰু কলৰ উত্তৰ দিয়া কাৰ্য অন্তৰ্ভুক্ত হয়।"</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"ছেটিং সলনি কৰক"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"এইটোৱে অসুবিধা নিদিব ম’ডটো অন অথবা অফ কৰিব আৰু তাৰ সৈতে জড়িত ছেটিং সলনি কৰিব পাৰে।"</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"ই ম’ডসমূহ পৰিচালনা আৰু সক্ৰিয় কৰিব পাৰে আৰু প্ৰাসংগিক ছেটিং সলনি কৰিব পাৰে।"</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_modes_warning_summary" msgid="7528432011433844158">"আপুনি যদি <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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"ৰিয়েল-টাইম"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"এই এপ্‌টোৱে উন্নত ছেটিং সমৰ্থন নকৰে"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"অধিক ছেটিং"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"এই এপ্‌টোৰ ভিতৰত অধিক ছেটিং উপলব্ধ"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"অভিযোজিত জাননী"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"অভিযোজিত জাননী ব্যৱহাৰ কৰক"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"আপুনি কম সময়ৰ ভিতৰতে বহুতো জাননী পালে, আপোনাৰ ফ’নটোৱে ভলিউম হ্ৰাস কৰিব আৰু দুই মিনিটলৈকে স্ক্ৰীনত ওলোৱা পপ-আপ হ্ৰাস কৰিব। কল, এলাৰ্ম আৰু অগ্ৰাধিকাৰপ্ৰাপ্ত বাৰ্তালাপসমূহৰ বাবে তেতিয়াও কম্পন হ’ব, শব্দ কৰিব বা সেয়া স্ক্ৰীনত দেখা পোৱা যাব আৰু আপুনি স্ক্ৰীনখনৰ একেবাৰে ওপৰৰ পৰা তললৈ টানিলে আটাইবোৰ জাননী বিচাৰি পোৱাটো সহজ হ’ব।"</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"জাননী কুলডাউন কৰা"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"জাননী কুলডাউন কৰাটো ব্যৱহাৰ কৰক"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"আপুনি কম সময়ৰ ভিতৰতে বহুতো জাননী পালে, আপোনাৰ ডিভাইচটোৱে নিজৰ ভলিউম কমাব আৰু ২ মিনিটলৈকে সতৰ্কবাৰ্তাসমূহ মিনিমাইজ কৰিব। কল, এৰ্লাম আৰু অগ্ৰাধিকাৰপ্ৰাপ্ত বাৰ্তালাপত প্ৰভাৱ নপৰে। \n\nকুলডাউনৰ সময়ত পোৱা জাননী স্ক্ৰীনখনৰ একেবাৰে ওপৰৰ পৰা তললৈ টানি পাব পাৰি।"</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"কৰ্মস্থানৰ প্ৰ’ফাইলত প্ৰয়োগ কৰক"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"কৰ্মস্থানৰ প্ৰ’ফাইলৰ এপত প্ৰয়োগ কৰক"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"ভিআৰ সহায়ক সেৱা"</string>
@@ -3650,6 +3709,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"ম’ডৰ এক্সেছ"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"ম’ডৰ এক্সেছৰ অনুমতি দিয়ক"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"ইনষ্টল কৰা কোনো এপে ম’ডৰ এক্সেছ বিচাৰি অনুৰোধ কৰা নাই"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"আপুনি এই এপ্‌টোৰ পৰা জাননী পঠিয়াবলৈ অনুমতি দিয়া নাই"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"আপোনাৰ অনুৰোধমৰ্মে, Androidএ জাননীসমূহৰ এই শ্ৰেণীটোক এই ডিভাইচটোত দৃশ্যমান হ\'বলৈ দিয়া নাই"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"আপোনাৰ অনুৰোধমৰ্মে, Androidএ জাননীসমূহৰ এই গোটটোক এই ডিভাইচটোত দৃশ্যমান হ\'বলৈ দিয়া নাই"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"শ্ৰেণী"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"অন্যান্য"</string>
     <string name="no_channels" msgid="4716199078612071915">"এই এপটোৱে এটাও জাননী দিয়া নাই"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"অব্যৱহৃত শিতানসমূহ দেখুৱাওক"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"এপত থকা অতিৰিক্ত ছেটিং"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"অব্যৱহৃত শিতানসমূহ দেখুৱাওক"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"অব্যৱহৃত শিতানসমূহ লুকুৱাওক"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"বাৰ্তালাপ"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"আটাইবোৰ বাৰ্তালাপ"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"আটাইবোৰ বাৰ্তালাপ"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"অগ্ৰাধিকাৰপ্ৰাপ্ত বার্তালাপসমূহ"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"অগ্ৰাধিকাৰপ্ৰাপ্ত বাৰ্তালাপ"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"একো নাই"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"ব্যাঘাত জন্মাব পৰা এপ্‌"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"বাছনি কৰা এপ্‌"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"এটাও নহয়"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"আটাইবোৰ"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{কোনো এপে ব্যাঘাত জন্মাব নোৱাৰে}=1{{app_1}এ ব্যাঘাত জন্মাব পাৰে}=2{{app_1} আৰু {app_2}এ ব্যাঘাত জন্মাব পাৰে}=3{{app_1}, {app_2} আৰু {app_3}এ ব্যাঘাত জন্মাব পাৰে}one{{app_1}, {app_2} আৰু # টাই ব্যাঘাত জন্মাব পাৰে}other{{app_1}, {app_2} আৰু # টাই ব্যাঘাত জন্মাব পাৰে}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (কৰ্মস্থান)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"গণনা কৰি থকা হৈছে…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"এপক অ\'ভাৰৰাইডৰ অনুমতি দিয়ক"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"ব্যাঘাত জন্মাব পৰা এপ্‌সমূহ"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"অধিক এপ্‌ বাছনি কৰক"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"একোৱেই ব্যাঘাত জন্মাব নোৱাৰে"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"কোনেও ব্যাঘাত জন্মাব নোৱাৰে"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"কিছুমান মানুহে ব্যাঘাত জন্মাব পাৰে"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"বাৰে বাৰে কল কৰোঁতাই ব্যাঘাত জন্মাব পাৰে"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"সকলো মানুহে ব্যাঘাত জন্মাব পাৰে"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"পুনৰাই কল কৰা লোকসকল"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"পুনৰাই কল কৰা লোকসকলক অনুমতি দিয়ক"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} পৰ্যন্ত কেৱল এঘণ্টাৰ বাবে এলাৰ্মলৈ সলনি কৰক}one{{time} পৰ্যন্ত কেৱল # ঘণ্টাৰ বাবে এলাৰ্মলৈ সলনি কৰক}other{{time} পৰ্যন্ত কেৱল # ঘণ্টাৰ বাবে এলাৰ্মলৈ সলনি কৰক}}"</string>
     <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_action_change_name" msgid="766639614789907016">"নতুন নাম দিয়ক"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"চিহ্ন সলনি কৰক"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"চিহ্ন সলনি কৰক"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"ম’ড যোগ দিয়ক"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"এটা ম’ড সৃষ্টি কৰক"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"কাষ্টম ক’ড"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"ম’ডৰ নাম"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"কেলেণ্ডাৰৰ অনুষ্ঠান"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"শোৱাৰ সময়ৰ ৰুটিন"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"গাড়ী চলাই থাকোঁতে"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"এপৰ ছেটিং"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"<xliff:g id="APP_NAME">%1$s</xliff:g>ত তথ্য আৰু ছেটিং"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"<xliff:g id="APP_NAME">%1$s</xliff:g>এ পৰিচালনা কৰা"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g> অক্ষম কৰিবনে?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"এই ম’ডটো অক্ষম কৰিলে ই কেতিয়াও অন নহয়"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"অক্ষম কৰক"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g> সক্ষম কৰিবনে?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"এই ম’ডটোৰ ছেটিঙৰ ভিত্তিত ই স্বয়ংক্ৰিয়ভাৱে অন হ’ব পাৰে"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"সক্ষম কৰক"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"নিয়মীয়া সময়সূচী অনুসৰণ কৰা এটা ম’ড ছেট কৰক"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"কেলেণ্ডাৰৰ অনুষ্ঠান আৰু আমন্ত্ৰণৰ সঁহাৰিৰ সৈতে ছিংক কৰিবলৈ এটা ম’ড ছেট কৰক"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"টোপনিৰ এক শান্তিদায়ক ৰুটিন ডিজাইন কৰক। এলাৰ্ম ছেট কৰক, স্ক্ৰীনৰ পোহৰ কমাওক আৰু জাননী অৱৰোধ কৰক।"</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"এক ফ’কাছড আৰু বিভ্ৰান্তি-মুক্ত গাড়ী চালনাৰ বাবে পথত সুৰক্ষাক অগ্ৰাধিকাৰ দিয়ক"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"মনোযোগ দিবলৈ আপোনাৰ ডিভাইচৰ পৰা বিভ্ৰান্তি বা বাধা অৱৰোধ কৰক"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"নীৰৱ পৰিৱেশৰ বাবে আটাইবোৰ বিভ্ৰান্তি আঁতৰাওক"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"পৃথক ব্যৱহাৰকাৰীৰ বাবে ডিভাইচৰ অভিজ্ঞতা আৰু ছেটিঙৰ ব্যক্তিগতকৰণ কৰক"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"কেৱল গুৰুত্বপূৰ্ণ লোক আৰু এপ্‌সমূহক আপোনাৰ লগত যোগাযোগ কৰিবলৈ অনুমতি দি বাধা কম কৰক"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"নিয়মীয়া সময়সূচী অনুসৰণ কৰা এটা ম’ড ছেট কৰক"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"আপোনাৰ দিনটোৰ কাৰ্যক্ৰমৰ সৈতে আপোনাৰ ডিভাইচটো ছিংক কৰি ৰাখক"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"১০০% সতেজ হৈ সাৰ পাওক"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"পথত থাকোঁতে সুৰক্ষাক আগস্থান দিয়ক"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"নিমজ্জিত হৈ পৰিবলৈ মনোনিৱেশ কৰক"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"সৌজন্যতাই গুৰুত্ব লাভ কৰা মূহুৰ্তবোৰৰ বাবে"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"আপোনাক যত্ন সহকাৰে ৰখাত সহায় কৰিবলৈ নিৰ্দেশিত ব্যৱহাৰ"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"আপোনাৰ মনোযোগ নিয়ন্ত্ৰণ কৰক"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"সকীয়নি"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"বন্ধ কৰক"</string>
     <string name="device_feedback" msgid="5351614458411688608">"ডিভাইচটো ব্যৱহাৰ কৰি কেনে লাগিছে জনাওক"</string>
@@ -4006,6 +4102,10 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"<xliff:g id="APP">%1$s</xliff:g>ৰ বাবে ম’ডৰ এক্সেছৰ অনুমতি দিবনে?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"এই এপ্‌টোৱে অসুবিধা নিদিব সুবিধাটো অন/অফ কৰিব পাৰিব, ম’ড পৰিচালনা আৰু সক্ৰিয় কৰিব পাৰিব আৰু প্ৰাসংগিক ছেটিং সলনি কৰিব পাৰিব।"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"<xliff:g id="APP">%1$s</xliff:g>ৰ বাবে ম’ডৰ এক্সেছ প্ৰত্যাহাৰ কৰিবনে?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"এই এপ্‌টোৱে সৃষ্টি কৰা আটাইবোৰ ম\'ড আঁতৰোৱা হ\'ব।"</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"অপ্টিমাইজ নকৰিব"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimize"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"আপোনাৰ বেটাৰী খৰকৈ শেষ কৰিব পাৰে। এপ্‌টোক নেপথ্যত বেটাৰী ব্যৱহাৰ কৰাত আৰু বাধা দিয়া নহ’ব।"</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"কে’ছ"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"বেটাৰী"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"ছেটিঙৰ পেনেল"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"বলপূৰ্বক ডেস্কটপ ম’ড"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"দ্বিতীয় ডিছপ্লে’ত পৰীক্ষামূলক ডেস্কটপ ম’ড বলপূৰ্বকভাৱে প্ৰয়োগ কৰক"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"ফ্ৰীফৰ্ম ৱিণ্ড’ সক্ষম কৰক"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"গৌণ ডিছপ্লে’ত ফ্ৰীফৰ্ম ৱিণ্ড’ সক্ষম কৰক"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"একাধিক ৱিণ্ড’ত আকাৰ সলনি কৰিব নোৱৰা সুবিধাটো সক্ষম কৰক"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"আকাৰ সলনি কৰিব নোৱৰা এপক একাধিক ৱিণ্ড’ত থকাৰ অনুমতি দিয়ে"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"বলপূর্বকভাৱে গাঢ় ৰঙৰ থীম ব্যৱহাৰ কৰা সুবিধাটো অ\'ভাৰৰাইড কৰক"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"ম’বাইল ডেটা"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"ডিভাইচৰ ব্যৱহাৰৰ অভিজ্ঞতা উন্নত কৰিবলৈ এপ্‌ আৰু সেৱাসমূহে তথাপি যিকোনো সময়ত, আনকি ৱাই-ফাই বন্ধ হৈ থাকিলেও ৱাই-ফাই নেটৱৰ্ক বিচাৰিবলৈ স্কেন কৰিব পাৰে। এয়া অৱস্থানভিত্তিক সুবিধা আৰু সেৱা উন্নত কৰা আদিৰ দৰে কাৰ্যৰ বাবে ব্যৱহাৰ কৰিব পাৰি। আপুনি ৱাই-ফাই স্কেনিঙৰ ছেটিঙত এইটো সলনি কৰিব পাৰে।"</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"সলনি কৰক"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"সংযোজিত হৈ আছে"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"অস্থায়ীভাৱে সংযোগ কৰা হৈছে"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"অস্থায়ীভাৱে <xliff:g id="SUBNAME">%1$s</xliff:g> ব্যৱহাৰ কৰা হৈছে"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"এপ্‌ পিন কৰাৰ সুবিধাটো ব্যৱহাৰ কৰক"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"বিকাশকৰ্তাৰ বিকল্পসমূহ ব্যৱহাৰ কৰক"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"প্ৰিণ্ট সেৱা ব্যৱহাৰ কৰক"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"একাধিক ব্যৱহাৰকাৰীৰ অনুমতি দিয়ক"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"ব্যৱহাৰকাৰী সলনি কৰাৰ অনুমতি দিয়ক"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"অনুমতি দিয়ক, একাধিক,ব্যৱহাৰকাৰী, অনুমতি, বহুত"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"একাধিক, ব্যৱহাৰকাৰী, প্ৰ’ফাইল, লোকসকল, একাউণ্ট, ছুইচ, বহুত"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ৱায়াৰলেচ ডি’বাগিং ব্যৱহাৰ কৰক"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>এ এই ফ’নটোৰ সৈতে সংযোগ কৰিব বিচাৰিছে।\n\nআপুনি আগতে [<xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>]ৰ সৈতে সংযোগ কৰা নাই।"</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"সংযোগ নকৰিব"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"সংযোগ কৰক"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE ছেটিং"</string>
-    <string name="tare_on" msgid="2386073225978684535">"অন আছে"</string>
-    <string name="tare_off" msgid="6305694402929756726">"অফ আছে"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"ছেটিং ডিফ’ল্ট অৱস্থালৈ নিয়ক"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"ছেটিং ডিফ’ল্ট অৱস্থালৈ নিয়া হ’ল।"</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"ডিভাইচ সম্পূৰ্ণ চাৰ্জ হ’লে থকা সৰ্বাধিক বেলেঞ্চ"</string>
-    <string name="tare_balances" msgid="731881382594747961">"বেলেঞ্চ"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"খৰচ কৰাৰ সীমা"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"খৰচ কৰাৰ প্ৰাৰম্ভিক সীমা"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"খৰচৰ ন্যূনতম সীমা"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"খৰচ কৰাৰ সৰ্বাধিক সীমা"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"সংশোধক"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"কাৰ্য (উৎপাদন খৰচ)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"কাৰ্য (আধাৰ মূল্য)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"প্ৰতিটো একক অনুষ্ঠান অনুসৰি পুৰস্কাৰ"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"অনুষ্ঠানৰ সময়ৰ প্ৰতি ছেকেণ্ডৰ পুৰস্কাৰ"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"প্ৰতিদিনে সৰ্বাধিক পুৰস্কাৰ"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"এপ্ ইনষ্টল কৰা"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"শীৰ্ষ কাৰ্যকলাপ"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"জাননী চোৱা"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"১৫ মিনিটৰ ভিতৰত চোৱা জাননী"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"জাননী ব্যৱহাৰ কৰা"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"ৱিজেট ব্যৱহাৰ কৰা"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"ব্যৱহাৰকাৰীয়ে অন্য ধৰণে এপ্‌ ব্যৱহাৰ কৰা"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"সৰ্বোচ্চ অগ্ৰাধিকাৰপ্ৰাপ্ত কাম আৰম্ভ কৰা"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"সৰ্বোচ্চ অগ্ৰাধিকাৰপ্ৰাপ্ত কাম চলি থকা"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"উচ্চ অগ্ৰাধিকাৰপ্ৰাপ্ত কাম আৰম্ভ কৰা"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"উচ্চ অগ্ৰাধিকাৰপ্ৰাপ্ত কাম চলি থকা"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"ডিফ’ল্ট হিচাপে কাম আৰম্ভ কৰা"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"ডিফ’ল্ট হিচাপে কাম চলি থকা"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"কম অগ্ৰাধিকাৰপ্ৰাপ্ত কাম আৰম্ভ কৰা"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"কম অগ্ৰাধিকাৰপ্ৰাপ্ত কাম চলি থকা"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"সৰ্বনিম্ন অগ্ৰাধিকাৰপ্ৰাপ্ত কাম আৰম্ভ কৰা"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"সৰ্বনিম্ন অগ্ৰাধিকাৰপ্ৰাপ্ত কাম চলি থকা"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"কামৰ সময় উকলাৰ জৰিমনা"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"বেটাৰী সম্পূৰ্ণ চাৰ্জ হোৱাৰ অৱস্থাত থকা ন্যূনতম বেলেঞ্চ (ৰেহাই দিয়া হৈছে)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"বেটাৰী সম্পূৰ্ণ চাৰ্জ হোৱাৰ অৱস্থাত থকা ন্যূনতম বেলেঞ্চ (কাৰ্যকলাপহীন ছিষ্টেম এপ্)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"বেটাৰী সম্পূৰ্ণ চাৰ্জ হোৱাৰ অৱস্থাত থকা ন্যূনতম বেলেঞ্চ (বাকী থকা এপ্)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"বেটাৰী সম্পূৰ্ণ চাৰ্জ হোৱাৰ অৱস্থাত থকা ন্যূনতম বেলেঞ্চ (এপ্ আপডে’ট কৰোঁতা)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"চাৰ্জ হৈ আছে"</item>
-    <item msgid="658627268149681677">"ড’জ"</item>
-    <item msgid="1599558140284643834">"পাৱাৰ সঞ্চয়কাৰী ম’ড"</item>
-    <item msgid="588427840913221601">"প্ৰক্ৰিয়াৰ স্থিতি"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"নিশ্চিত কৰক"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"পূৰ্বদৰ্শন কৰক"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"কোনো স্ক্ৰীন ছেভাৰ বাছনি কৰক"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"অতিৰিক্ত তথ্য দেখুৱাওক"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"আপোনাৰ টেবলেটটো লক হৈ থাকিলে আপুনি সেইটোৰ স্ক্ৰীনত কি দেখা পাব সেয়া বাছনি কৰক। স্ক্ৰীন ছেভাৰ ব্যৱহাৰ কৰাৰ সময়ত আপোনাৰ ডিভাইচটোৱে হয়তো অধিক শক্তি ব্যৱহাৰ কৰিব।"</string>
     <string name="customize_button_title" msgid="1110284655990203359">"কাষ্টমাইজ কৰক"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> কাষ্টমাইজ কৰক"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"ফ্ৰীফৰ্ম সমৰ্থন সক্ষম কৰিবৰ বাবে ৰিবুটৰ প্ৰয়োজন।"</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"গৌণ ডিছপ্লেত ডেস্কটপ ম’ড সক্ষম কৰিবৰ বাবে ৰিবুটৰ প্ৰয়োজন।"</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"ফ্ৰীফৰ্ম ৱিণ্ড’ সমৰ্থন সক্ষম কৰিবৰ বাবে এবাৰ ৰিবুট কৰাৰ প্ৰয়োজন।"</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"ফ্ৰীফৰ্ম ৱিণ্ড’ৰ উপলব্ধতা আপডে’ট কৰিবলৈ এবাৰ ৰিবুট কৰাৰ প্ৰয়োজন।"</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"গৌণ ডিছপ্লে’ত ফ্ৰীফৰ্ম ৱিণ্ড’ সক্ষম কৰিবৰ বাবে এবাৰ ৰিবুট কৰাৰ প্ৰয়োজন।"</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"এতিয়াই ৰিবুট কৰক"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"পাছত ৰিবুট কৰক"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"প্ৰকৃত অভিজ্ঞতা প্ৰদান কৰা অডিঅ’"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"গোলাপ ফুল"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"মেজেণ্টা"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"বেঙুনীয়া"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"কৰা হ’ল"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"ছেভ কৰক"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"বাতিল কৰক"</string>
     <string name="contrast_default" msgid="8918545965525226966">"ডিফ’ল্ট"</string>
     <string name="contrast_medium" msgid="384414510709285811">"মধ্যমীয়া"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"অন আছে"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"অফ আছে"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"অন আছে"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"অডিঅ’ %1$d%% বাওঁ, %2$d%% সোঁ"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"অডিঅ’ %1$d%% সোঁ, %2$d%% বাওঁ"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"আপোনাৰ ডিভাইচৰ নাম আপুনি ইনষ্টল কৰা এপত দেখা পোৱা যায়। আপুনি ব্লুটুথ ডিভাইচৰ সৈতে সংযোগ কৰিলে, ৱাই-ফাই নেটৱৰ্কৰ সৈতে সংযোগ কৰিলে অথবা ৱাই-ফাই হটস্পট ছেট আপ কৰিলে এইটো অন্য লোকেও দেখা পাব পাৰে।"</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"ব্যাকৰণ বিষয়ক লিংগ"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ব্যাকৰণ বিষয়ক লিংগ বাছনি কৰক"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"অডিঅ’ শ্বেয়াৰ বন্ধ কৰা হৈছে"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"এটা সুসংগত ডিভাইচ সংযোগ কৰক"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"অডিঅ’ শ্বেয়াৰ কৰা আৰম্ভ কৰিবলৈ, প্ৰথমে LE অডিঅ’ হেডফ’নসমূহ আপোনাৰ ফ’নত সংযোগ কৰক"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>লৈ সলনি কৰক"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"এটা LE অডিঅ’ ষ্ট্ৰীমৰ সৈতে সংযোগ কৰক"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"নিকটৱৰ্তী অডিঅ’ ষ্ট্ৰীম"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"অডিঅ’ ষ্ট্ৰীম"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ষ্ট্ৰীম শুনক"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>ৰ জৰিয়তে শুনিবলৈ অডিঅ’ ষ্ট্ৰীমৰ কিউআৰ ক’ড এটা স্কেন কৰক"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"শ্বেয়াৰ কৰি থকা সময়ত পাছৱৰ্ড সম্পাদনা কৰিব নোৱাৰি। পাছৱৰ্ডটো সলনি কৰিবলৈ, প্ৰথমে অডিঅ’ শ্বেয়াৰিং অফ কৰক।"</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"কিউআৰ ক’ড স্কেনাৰ"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"সহায় লাগে নেকি?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"সন্ধানৰ ছেটিংসমূহ"</string>
 </resources>
diff --git a/res/values-az/arrays.xml b/res/values-az/arrays.xml
index 118e445..e035d4e 100644
--- a/res/values-az/arrays.xml
+++ b/res/values-az/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Yuxu vaxtı"</item>
-    <item msgid="4152450357280759894">"Sürücülük"</item>
-    <item msgid="7096549258219399423">"İmmersiv"</item>
-    <item msgid="2760716776980432977">"İdarə edilən"</item>
-    <item msgid="601734478369121764">"Ulduz"</item>
-    <item msgid="6243809315432780521">"Təqvim"</item>
-    <item msgid="4913577903148415331">"Vaxt"</item>
-    <item msgid="3653377604690057780">"Teatr"</item>
-    <item msgid="3843711267408385410">"Çiçək"</item>
+    <item msgid="1216815120972438676">"Portfel"</item>
+    <item msgid="184985872234062767">"Klassik bina"</item>
+    <item msgid="9189550412466785530">"Yaşayış binası"</item>
+    <item msgid="2142527562511049422">"Danışıq qabarcığı"</item>
+    <item msgid="2548100558260478605">"İnsan qrupu"</item>
+    <item msgid="2270003903304578284">"Elektrik lampası"</item>
+    <item msgid="4793496619091161864">"Təqvim"</item>
+    <item msgid="5673625795644364100">"Narahat Etməyin"</item>
+    <item msgid="1423820834865831361">"Qaçan insan"</item>
+    <item msgid="2037298830718732608">"Qolf"</item>
+    <item msgid="2197835014443491074">"İdman zalı qanteli"</item>
+    <item msgid="2730180105015616518">"Üzgüçülük"</item>
+    <item msgid="2666922823253345958">"Haykinq edən insan"</item>
+    <item msgid="8234880356472211396">"Top atan insan"</item>
+    <item msgid="4642980625253001443">"Təpik vuran insan"</item>
+    <item msgid="4324795269518833500">"Oyun kontrolleri"</item>
+    <item msgid="7789966425125441125">"Rəssamın rəng palitrası"</item>
+    <item msgid="663512680597461570">"Qar uçqunu"</item>
+    <item msgid="7952183800501346803">"Çimərlik çətiri"</item>
+    <item msgid="799139025758265891">"Emalatxana alətləri"</item>
+    <item msgid="1330084588359129896">"Çadır"</item>
+    <item msgid="3861584909935022342">"Kinolent"</item>
+    <item msgid="5827426100157335512">"Kitab"</item>
+    <item msgid="8585828346253128384">"Lotus çiçəyi"</item>
+    <item msgid="8788370542815300188">"İnsan zehni"</item>
+    <item msgid="7287354964767553293">"Qulaqlıqlar"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Qatar"</item>
+    <item msgid="4903790544026923026">"Avtomobil"</item>
+    <item msgid="5010405583912314582">"Çəngəl-bıçaq"</item>
+    <item msgid="8939998598599064900">"Səbət"</item>
+    <item msgid="3379605903308731893">"Uşaq"</item>
+    <item msgid="7808668968550293112">"Heyvan pəncəsi"</item>
+    <item msgid="1000692647524056504">"Ulduz nişanı"</item>
+    <item msgid="8270261073421676502">"İki insan"</item>
+    <item msgid="5767782819651505460">"Ulduz"</item>
+    <item msgid="4368451291862729334">"Ürək"</item>
+    <item msgid="2613199102208419986">"Ev"</item>
+    <item msgid="3022279986430275040">"Yarım ay"</item>
+    <item msgid="5421089790869483206">"Saat"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index bcd3472..d694660 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Dayandırılıb"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Naməlum"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Önizləmə"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR kodu"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Həmişə"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Eşitmə cihazı ayarları"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Qısayol, eşitmə cihazı uyğunluğu"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Hazır ayar"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Audioloq tərəfindən proqramlaşdırılmış hazır ayar yoxdur"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Hazır ayar güncəllənmədi"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audio çıxışı"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Audio çıxışı haqqında"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Bu tətbiq üçün dil seçimini Ayarlardan etmək olmur."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Dil tətbiqdə əlçatan dillərdən fərqli ola bilər. Bəzi tətbiqlər bu ayarı dəstəkləməyə bilər."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Hər tətbiq üçün dil ayarlayın."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Sisteminiz, tətbiqləriniz və vebsaytlarınız tərcih etdiyiniz dillərdən ilk dəstəklənən dildən istifadə edir."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Cihaz, tətbiq və veb-saytlar üstünlük verdiyiniz dil siyahısındakı ilk dəstəklənən dildən istifadə edir.\n\nBir çox tətbiq də tarix, nömrə və vahidləri formatlamaq üçün seçdiyiniz dil üzrə regiondan istifadə edəcək. Regionu dəyişmək üçün dil əlavə edin, sonra üstünlük verdiyiniz regionu seçin."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Hər tətbiqə dil seçmək üçün tətbiq dili ayarlarına keçin."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Tətbiq dilləri haqqında daha ətraflı"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Sistem dili %s olsun?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Deaktiv"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Aktiv / # tətbiqin məkana girişi var}other{Aktiv / # tətbiqin məkana girişi var}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Yüklənir…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"\"Yaxınlıqdakı cihazlar\" icazəsi olan tətbiqlər qoşulmuş cihazların nisbi mövqeyini təyin edə bilər."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Yaxınlıqdakı cihazlar icazəsi olan tətbiqlər qoşulmuş cihazların nisbi mövqeyini təyin edə bilər."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Tətbiqlər və xidmətlər üçün məkan girişi deaktivdir. Təcili yardım nömrəsinə zəng etdikdə və ya mesaj göndərdikdə cihazınızın məkanı hələ də təcili yardım əməkdaşlarına göndərilə bilər."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Məkan ayarları haqqında ətraflı məlumat"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Dəyişmək üçün ChromeOS ayarları &gt; Məxfilik və güvənlik &gt; Məxfilik nizamlayıcıları &gt; Məkana giriş bölməsinə keçin"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Üz və <xliff:g id="WATCH">%s</xliff:g> əlavə edilib"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Üz, barmaq izi və <xliff:g id="WATCH">%s</xliff:g> əlavə edilib"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Üz, barmaq izləri və <xliff:g id="WATCH">%s</xliff:g> əlavə edilib"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Kimlik yoxlaması aktivdir və biometrik məlumat tələb edir"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Uzaqdan doğrulayıcı kilidaçması"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Saat əlavə edildi"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Saatı ayarlayın"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Saatla Kilidaçma haqqında ətraflı məlumat"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Saat əlavə edin"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Saatı silin"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Barmaq İzi və Üz ilə Kiliddən Açma"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Üz və barmaq izi ilə kiliddən çıxarma"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"İş üçün Üz və Barmaq izi ilə kiliddən çıxarma"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Ayarlamaq lazımdır"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Üz və barmaq izləri əlavə edildi"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Məxfi yer ayarlanır…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Şəxsi sahə ayarlanmadı"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Yenidən cəhd edin"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Çıxın"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Şəxsi sahə əlçatan deyil.\nMümkün səbəblərə baxın"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Mümkün səbəblərə baxın"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Şəxsi sahə üçün yeni kilid seçilsin?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Yalnız şəxsi sahə üçün yeni kilid təyin edə və ya cihaz kilidini açdığınız kiliddən istifadə edə bilərsiniz"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Ekran kilidi istifadə edin"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Bluetooth aktiv olduqda cihaz yaxınlıqdakı digər Bluetooth cihazları ilə bağlantı qura bilər.\n\nCihaz təcrübəsini yaxşılaşdırmaq üçün tətbiq və xidmətlər hətta Bluetooth deaktiv olduqda belə istənilən vaxt yaxınlıqdakı cihazları skan edə bilər. Bu, məsələn, məkan əsaslı funksiya və xidmətləri yaxşılaşdırmaq üçün istifadə oluna bilər. Bunu Bluetooth skanlama ayarlarında dəyişə bilərsiniz."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Bluetooth aktiv olduqda cihaz yaxınlıqdakı Bluetooth cihazları ilə bağlantı qura bilər. Cəld Paylaşım və Cihazın Tapılması kimi funksiyalar Bluetooth istifadə edir.\n\nTətbiq və xidmətlər istənilən vaxt, hətta Bluetooth deaktiv olsa belə, yaxınlıqdakı cihazları skanlaya bilər. Bu, məsələn, məkan əsaslı funksiya və xidmətləri təkmilləşdirmək üçün istifadə edilə bilər. Bluetooth ilə skan ayarlarında bunu dəyişə bilərsiniz."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Dəyişin"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Cihaz məlumatları"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Klaviatura ayarları"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Digər ayarlar"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Proqram güncəlləmələri, haqqında və s."</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Tövsiyə və dəstək"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Cihazın Bluetooth ünvanı: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Cihazın Bluetooth ünvanı:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Cihaz unudulsun?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Təcrübi. Audio keyfiyyəti yaxşılaşır."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Cihazı unudun"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Tətbiqi ayırın"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Digər ayarlar"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Qoşulu Bluetooth audiocihazlarının maksimal sayı"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Qoşulu Bluetooth audiocihazlarının maksimal sayını bildirin"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC təfsilatlı təchizatçı sazlama jurnalı"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Cihaz yenidən başladılsın?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Detallı NFC qeydi yalnız inkişaf məqsədləri üçün nəzərdə tutulub. Əlavə NFC məlumatları şəxsi məlumatları ehtiva edə bilən baq hesabatlarına daxil edilir. Bu ayarı dəyişmək üçün cihazı yenidən başladın."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Yenidən başladın"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Aktiv"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Deaktiv"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Xarici displey"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Xarici displeyi istifadə edin"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Displeyin ayırdetmə dəqiqliyi"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Xarici displeyin əlaqəsi kəsilib"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Fırlanma"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standart"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Fırlanma və ya ayırdetmə dəqiqliyinin dəyişdirilməsi hazırda işləyən tətbiqləri dayandıra bilər"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Ekranı əks etdirmək üçün cihaz xarici displeyə qoşulmalıdır"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Digər seçimlər"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Yayım"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"güzgü"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Naqilsiz displeyi aktivləşdirin"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptiv"</string>
     <string name="brightness" msgid="6216871641021779698">"Parlaqlıq səviyyəsi"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Adaptiv parlaqlıq"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Adaptiv parlaqlıq haqqında"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Ekran parlaqlığı avtomatik olaraq ətraf mühitə və fəaliyyətlrinizə görə tənzimlənəcək. Ayarlana bilən parlaqlığın təcihlərinizi öyrənməsi üçün slayderi əlinizlə hərəkət etdirin."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Aktiv"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Deaktiv"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Mobil data üçün <xliff:g id="CARRIER">%1$s</xliff:g> istifadə edilsin?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Mobil data üçün <xliff:g id="CARRIER2_0">%2$s</xliff:g> operatorundan istifadə edirsiniz. <xliff:g id="CARRIER1">%1$s</xliff:g> operatoruna keçsəniz, <xliff:g id="CARRIER2_1">%2$s</xliff:g> artıq mobil data üçün istifadə olunmayacaq."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"<xliff:g id="CARRIER">%1$s</xliff:g> istifadə edin"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Tərcih edilən SIM yenilənsin?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> cihazdakı yeganə SIM-dir. Bu SIM-i mobil data, zəng və SMS mesajları üçün istifadə etmək istəyirsiniz?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> indi əsas SIM-dir"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Mobil data əhatə dairəsi yaxşılaşdırılsın?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Daha güclü siqnal olduqda, cihazınızın mobil data üçün avtomatik olaraq <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> operatoruna keçməsinə icazə verin."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Zənglər, mesajlar və şəbəkə trafiki təşkilatınıza görünə bilər."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Seçimlər"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Əlçatımlıq"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fiziki klaviatura"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Ekran klaviaturası istifadə edin"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Fiziki klaviatura aktiv olanda görünsün"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Sıçrama düymələri"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Klaviatura <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms ərzində eyni düymənin tez-tez basılmasını nəzərə almır"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Asta düymələr"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Düymənin aktivləşdirilməsi vaxtını <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms-ə tənzimləyir"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Əvəzedici düymələr"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Qısayollar üçün düymələri birlikdə basıb saxlamaq əvəzinə hər dəfə bir düyməyə basın"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Maus düymələri"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Mausu idarə etmək üçün fiziki klaviaturadan istifadə edin."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Klaviatura qısayolları"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Qısayolların siyahısını göstərin"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"İş profili klaviaturaları və alətlər"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Fərdi taçped naviqasiya jestlərini fərdiləşdirin"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Tərs sürüşdürmə"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Aşağı sürüşdürdükdə məzmun yuxarı hərəkət edir"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Aşağı sağa toxunma"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Digər seçimlər üçün taçpedin aşağı sağ küncünə toxunun"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Aşağı sağ tərəfə klikləyin"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Digər seçimlər üçün taçpedin aşağı sağ küncünə klikləyin"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Kursor sürəti"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Poynter doldurma üslubu"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Poynter doldurma üslubunu qaraya dəyişin"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Poynter doldurma üslubunu sarıya dəyişin"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Poynter doldurma üslubunu çəhrayıya dəyişin"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Poynter doldurma üslubunu maviyə dəyişin"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Poynterin vuruş tərzi"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Ağ"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Qara"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Yoxdur"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Taçped jestlərini öyrənin"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"trekped, trek ped, maus, kursor, sürüşdürün, çəkin, sağ düymə ilə toxunun, klikləyin, poynter"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"sağ düymə ilə toxunun, basın"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Sıfırlayın"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Dəyişdirici açarı seçin"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> üçün yeni açar seçin:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> düzəni"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Defolt"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Avtomatik: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"İstifadəçi seçib: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Nitq"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Kursor sürəti"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Poynter miqyası"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Poynter miqyasını azaldın"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Poynter miqyasını artırın"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Oyun Kontrolleri"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Vibrasiyanı yenidən yönləndirin"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Qoşulduqda oyun nəzarətinə vibrasiya göndərin"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Yenə də davam edin"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Ləğv edin"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Böyütmə ayarları"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Bir barmaqla hərəkət"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"1 barmaq ilə böyüdücünü hərəkət etdirin"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Ekranda hərəkət üçün 1 barmağı sürüşdürün"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Bir barmaqla sürüşdürməklə böyütmə sahəsini hərəkət etdirin."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"İki barmaqla sürüşdürməklə böyütmə sahəsini hərəkət etdirin."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Yalnız ekranın bir hissəsini böyüdərkən əlçatan deyil"</string>
@@ -2115,6 +2159,8 @@
     <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_intro_text" msgid="3856180549393526339">"Məzmunu böyütmək üçün ekranı sürətlə yaxınlaşdırın"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Yaxınlaşdırmaq üçün:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Böyütməyə başlamaq üçün qısayoldan istifadə edin&lt;br/&gt; {1,number,integer}. Ekrana toxunun&lt;br/&gt; {2,number,integer}. Ekranın ətrafında hərəkət etmək üçün 2 barmağınızı sürüşdürün&lt;br/&gt; {3,number,integer}. Miqyası tənzimləmək üçün 2 barmaqla yaxınlaşdırıb-uzaqlaşdırın&lt;br/&gt; {4,number,integer}. Böyütməni dayandırmaq üçün qısayoldan istifadə edin&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Müvəqqəti böyütmək üçün:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Böyütmə növünün tam ekrana ayarlandığına əmin olun&lt;br/&gt; {1,number,integer}. Böyütməyə başlamaq üçün qısayoldan istifadə edin&lt;br/&gt; {2,number,integer}. Ekranın istənilən yerinə toxunub saxlayın&lt;br/&gt; {3,number,integer}. Ekranın ətrafında hərəkət etmək üçün barmağınızı sürüşdürün&lt;br/&gt; {4,number,integer}. Böyütməni dayandırmaq üçün barmağınızı qaldırın"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Yaxınlaşdırmaq üçün:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Böyütməyə başlamaq üçün qısayoldan istifadə edin&lt;br/&gt; {1,number,integer}. Ekrana toxunun&lt;br/&gt; {2,number,integer}. Ekranda hərəkət etmək üçün 2 barmağı sürüşdürün&lt;br/&gt; {3,number,integer}. Miqyası tənzimləmək üçün 2 barmaqla yaxınlaşdırıb-uzaqlaşdırın&lt;br/&gt; {4,number,integer}. Böyütməni dayandırmaq üçün qısayoldan istifadə edin&lt;br/&gt;&lt;br/&gt; Həmçinin müvəqqəti böyüdə və s. əməliyyatları edə bilərsiniz."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Yaxınlaşdırmaq üçün:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Böyütməyə başlamaq üçün qısayoldan istifadə edin&lt;br/&gt; {1,number,integer}. Ekrana toxunun&lt;br/&gt; {2,number,integer}. Ekranda hərəkət etmək üçün 1 və ya 2 barmağı sürüşdürün&lt;br/&gt; {3,number,integer}. Miqyası tənzimləmək üçün 2 barmaqla yaxınlaşdırıb-uzaqlaşdırın&lt;br/&gt; {4,number,integer}. Böyütməni dayandırmaq üçün qısayoldan istifadə edin&lt;br/&gt;&lt;br/&gt; Həmçinin müvəqqəti böyüdə və s. əməliyyatları edə bilərsiniz."</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_pager" msgid="8461939455728454061">"Səhifə <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Xüsusi imkanlar düyməsi qısayolu"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Üzən düyməyə toxunun"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Əlçatımlılıq jesti"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Ekranın aşağısında xüsusi imkanlar düyməsinə <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> toxunun Funksiyalar arasında keçid üçün xüsusi imkanlar düyməsinə toxunub saxlayın."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"2 barmaq ilə ekranın aşağısından yuxarı doğru sürüşdürün\n\nFunksiyalar arasında keçid etmək üçün 2 barmaq ilə yuxarı doğru sürüşdürüb saxlayın."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"3 barmaq ilə ekranın aşağısından yuxarı doğru sürüşdürün.\n\nFunksiyalar arasında keçid etmək üçün 3 barmaq ilə yuxarı sürüşdürüb saxlayın."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Ekranın aşağısından yuxarı çəkin. Funksiyalar arasında keçid üçün yuxarı çəkib saxlayın.}other{Ekranın aşağısından # barmaqla yuxarı çəkin. Funksiyalar arasında keçid üçün # barmaqla yuxarı çəkib saxlayın.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Digər seçimlər"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"<xliff:g id="SERVICE">%1$s</xliff:g> haqqında ətraflı məlumat"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Səs düymələri"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"səs düymələri"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Hər iki səs düyməsini basıb saxlayın"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Ekrana iki barmaqla iki dəfə toxunun"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d barmaqla iki dəfə toxunun"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Ekrana %1$d barmaqla iki dəfə cəld toxunun"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Üç dəfə toxunun"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Ekrana %1$d dəfə cəld toxunun. Cihaz yavaşlaya bilər."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d barmaqla iki dəfə toxunun"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Ekrana iki barmaqla {0,number,integer} dəfə cəld toxunun"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Ekrana üç dəfə toxunun"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"üç dəfə toxunun"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Ekrana {0,number,integer} dəfə cəld 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Qısayol ayarları"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Kilidli ekrandan cəld keçid"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Funksiya qısayolunun kilid ekranından aktiv edilməsinə icazə verin. Hər iki səs səviyyəsi düyməsinə bir neçə saniyəlik basıb saxlayın."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Xüsusi imkanlar düyməsi"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Jest və xüsusi imkanlar düyməsi"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Xidmətdə problem var."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Xüsusi imkanlar qısayolları"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Sürətli Ayarlarda Göstər"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Qırmızı-yaşıl"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Qırmızı-yaşıl"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Qırmızı-yaşıl, yaşıl zəif"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Qırmızı-yaşıl, qırmızı zəif"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Mavi-sarı"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Ağ-qara"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"İntensivlik"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Yaşıl zəif, deuteranomaliya"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Qırmızı zəif, protanomaliya"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Boz çalarlı rejim üçün və ya rəng korreksiyası deaktiv olduqda əlçatan deyil"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Əlavə tündləşmə"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Parlaqlıq daha da azaldılsın"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Mavi"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Sarı"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"<xliff:g id="SERVICE">%1$s</xliff:g> xidmətinin cihaza tam nəzarət etməsinə icazə vermək istəyirsiniz?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> etməlidir:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Çünki, tətbiq icazə sorğusunu anlaşılmaz edir. Ayarlar cavabınızı doğrulaya bilməz."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> cihaza tam nəzarət istəyir. Məlumatları ekrandan oxuya, xüsusi imkanlara ehtiyacı olan istifadəçilərin adından iş görə bilər. Tətbiqlərin çoxuna bu səviyyədə icazə vermək tövsiyə olunmur."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Tam nəzarət icazəsi xüsusi imkanlara dair yardım edən tətbiqlərə lazımdır, digər tətbiqlərə lazım deyil."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Baxış və nəzarət ekranı"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Ekrandakı bütün kontenti oxuya və kontenti digər tətbiqlərin üzərində göstərə bilər."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Əməliyyatlara baxın və icra edin"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Tətbiq və sensorlarla əlaqələrinizi izləyib tətbiqlərə adınızdan əmrlər verə bilər"</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"İcazə verin"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"İmtina edin"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Deaktiv"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Aktiv / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> və <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Həmçinin Bluetooth cihazları üçün Məkan Audiosunu aktiv edə bilərsiniz."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Qoşulmuş cihazların ayarları"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Məkani səs"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Deaktiv"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Deaktiv"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Deaktiv"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Heç biri}=1{1 cədvəl ayarlanıb}other{# cədvəl ayarlanıb}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Narahat etməyin"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Prioritet rejimləri"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Rejim əlavə edin"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Rejimlər"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Yuxu, iş, sürücülük və s. üçün rejimlər ilə diqqətinizi yayındıran amilləri minimuma endirin və fikrinizi cəmləyin."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Öz rejiminizi yaradın"</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_select_schedule" msgid="663163931596092952">"Cədvəl ayarlayın"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Buna əsasən planlaşdırın"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Gün və saat"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"09:00 - 17:00 həftəiçi\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Təqvim tədbirləri"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} aktivdir}=2{{mode_1} və {mode_2} aktivdir}=3{{mode_1}, {mode_2} və {mode_3} aktivdir}other{{mode_1}, {mode_2} və daha # rejim aktivdir}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 rejim avtomatik işə düşə bilər}other{# rejim avtomatik işə düşə bilər}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"AKTİV"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Ayarlanmayıb"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Deaktiv"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Rejim yaradın"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Fərdi"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"İndi yandırın"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Söndürün"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Rejim tapılmadı"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Kəsintiləri məhdudlaşdırın"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Fasilə və diqqəti yayındıran amilləri bloklayın"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g> quraş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_alarms_only" msgid="2956938533859578315">"Siqnallar və media səsləri narahat edə bilər"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Cədvəllər"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Rejimləri silin"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Silin"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Yenidən adlandırın"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Silin"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"\"<xliff:g id="MODE">%1$s</xliff:g>\" rejimi silinsin?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Redaktə edin"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Cədvəllər"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Rejim"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Avtomatik yandırın"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Təqvim əlavə edin"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Təqvim istifadə edin"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Cədvəl"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Cədvəl ayarlayın"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Avtomatik yandırma vaxtı"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Tədbir cədvəli"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Tədbir ərzində aktiv edin"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Dəvət cavabının yeri"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Vaxt cədvəli"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Cədvəl"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> saat <xliff:g id="MINUTES">%2$d</xliff:g> dəq"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Rutin"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Səsli xəbərdarlıqlara icazə verin"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Sizə gələ biləcək bildirişlər"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Əlavə əməliyyatlar"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Bildiriş filtrləri"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Digər ayarlar"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Sönülü}=1{Sönülü / 1 rejim avtomatik işə düşə bilər}other{Sönülü / # rejim avtomatik işə düşə bilər}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Displey ayarları"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Displey seçimləri"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Boz çalarlı"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"tünd temanı aktivləşdirin"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Qaranlıq arxa fonda açıq mətnə üstünlük vermək üçün ƏS və tətbiqləri dəyişin. Bu, gözləri daha az yora bilər və bəzi cihazlarda əhəmiyyətli enerji qənaəti təmin edir."</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Displey dəyişikliyi yoxdur}=1{{effect_1}}=2{{effect_1} və {effect_2}}=3{{effect_1}, {effect_2} və {effect_3}}other{{effect_1}, {effect_2} və daha # effekt}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Bütün bildirişlərə icazə verin"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"İnsanlar, tətbiqlər və səslər mane ola bilər"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Filtrlənmiş bildirişlər üzrə seçimləri göstərin"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"\"Narahat Etməyin\" rejimi aktiv olduqda"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Bildirişlər səssiz olsun"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"bildirişi açın"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Bildirişin ertələnməsinə icazə verin"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Tətbiq ikonunda bildiriş nöqtəsi"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Bildiriş paketləri"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Köpüklər"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Köpüklər"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Söhbət üzə çıxsın"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"O, mesajlara cavab verə və bildirişləri ertələmək və ya qapatmaq və zənglərə cavab vermək kimi bildirişlərdəki düymələr üzərində əməliyyat apara bilər."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Ayarları dəyişin"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"O, \"Narahat Etməyin\" rejimini aktiv və ya deaktiv edə, həmçinin əlaqədar ayarları dəyişə bilər."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Rejimləri idarə edə və aktivləşdirə, habelə əlaqədar ayarları dəyişə bilər."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Bildiriş girişini <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> üçün deaktiv etsəniz, Narahat Etməyin girişi də deaktiv edilə bilər."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> üçün bildirişə girişi deaktiv etsəniz, Rejimlərə giriş də deaktiv edilə bilər."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Söndür"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Ləğv edin"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Real zaman"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Bu tətbiq geniş ayarları dəstəkləmir"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Digər ayarlar"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Bu tətbiqdə başqa ayarlar da var"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Adaptiv bildirişlər"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Adaptiv bildirişlərdən istifadə edin"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Qısa müddətdə çoxlu bildiriş alanda telefon iki dəqiqəyədək səsi azaldacaq və ekrandakı popapları minimuma endirəcək. Zəng, alarm və prioritet söhbətlər yenə də vibrasiya edir, səs çıxarır və ya ekranda görünür. Ekranın yuxarısından aşağı çəkəndə bütün bildirişləri tapmaq olar."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Bildiriş səsinin azaldılması"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Bildiriş gözləmə müddətindən istifadə edin"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Qısa müddətdə çoxlu bildiriş alanda cihaz 2 dəqiqəyədək səsi azaldacaq və xəbərdarlıqları minimuma endirəcək. Zənglər, alarmlar və prioritet söhbətlər təsirə məruz qalmır. \n\nFasilə zamanı qəbul edilən bildirişləri ekranın yuxarısından aşağı çəkərək tapmaq olar."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"İş profillərinə tətbiq edin"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"İş profili tətbiqlərinə tətbiq edin"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR köməkçi xidmətləri"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"\"Narahat etməyin\" girişi"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"\"Narahat etməyin\" rejiminə icazə verin"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Heç bir tətbiq \"Narahat etməyin\" girişi sorğusu göndərməyib"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Rejimlərə giriş"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Rejimlərə girişə icazə verin"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Heç bir quraşdırılmış tətbiq Rejimlərə giriş sorğusu göndərməyib"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Bu tətbiqdən bildirişlərə icazə verməmisiniz"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Bu kateqoriya bildirişləri deaktivdir."</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Bu kateqoriya bildirişləri deaktivdir."</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Kateqoriyalar"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Digər"</string>
     <string name="no_channels" msgid="4716199078612071915">"Bu tətbiq heç bir bildiriş paylaşmayıb"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"İstifadəsiz kateqoriyaları göstərin"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Tətbiqdə əlavə ayarlar"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"İstifadəsiz kateqoriyaları göstərin"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"İstifadəsiz kateqoriyaları gizlədin"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Söhbətlər"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Bütün söhbətlər"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"bütün söhbətlər"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Önəmli söhbətlər"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"prioritet söhbətlər"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Heç biri"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Mane ola biləcək tətbiqlər"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Seçilmiş tətbiqlər"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Heç biri"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Hamısı"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Heç bir tətbiq bildiriş göndərə bilməz}=1{{app_1} bildiriş göndərə bilər}=2{{app_1} və {app_2} bildiriş göndərə bilər}=3{{app_1}, {app_2} və {app_3} bildiriş göndərə bilər}other{{app_1}, {app_2} və daha # tətbiq bildiriş göndərə bilər}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (İş)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Hesablanır…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</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_header" msgid="60083006963906906">"Narahat etmiş sayılmayan tətbiqlər"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Daha çox tətbiq seçin"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Heç nə narahat edə bilməz"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Heç kim narahat edə bilməz"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Bəzi şəxslər narahat edə bilər"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Təkrar zəng edənlər mane ola bilər"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Bütün şəxslər narahat edə bilər"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Təkrar zəng edənlər"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Təkrarlanan zənglərə icazə verin"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Yalnız bu vaxtadək bir saatlıq xəbərdarlıqlara dəyişin: {time}}other{Yalnız bu vaxtadək # saatlıq xəbərdarlıqlara dəyişin: {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Yalnız <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> vaxtınadək xəbərdarlıqları dəyişin"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Həmişə fasiləyə dəyişin"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Adını dəyişin"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"İkonanı dəyişin"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"İkonanı dəyişin"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Redaktə rejimi"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Rejim yaradın"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Fərdi rejim"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Rejim adı"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Təqvim tədbirləri"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Yuxu vaxtı rejimi"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Avtomobil sürərkən"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Tətbiq ayarları"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"<xliff:g id="APP_NAME">%1$s</xliff:g> tətbiqində məlumat və ayarlar"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"<xliff:g id="APP_NAME">%1$s</xliff:g> tərəfindən idarə edilir"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g> deaktiv edilsin?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Deaktiv olduqda bu rejim yandırılmayacaq"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Deaktiv edin"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g> aktivləşdirilsin?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Bu rejim ayarlarına əsasən avtomatik aktivləşə bilər"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Aktiv edin"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Müntəzəm cədvələ uyğun rejim qurun"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Təqvim tədbirləri və dəvət cavabları ilə sinxronlaşdırmaq üçün rejim təyin edin"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Sakitləşdirici yuxu rejimi hazırlayın. Alarmlar ayarlayın, ekranı tutqunlaşdırın və bildirişləri bloklayın."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Fokuslu və diqqəti yayındırmayan sürücülük üçün yolda təhlükəsizliyə üstünlük verin"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Diqqəti cəmləmək üçün cihazda diqqəti yayındıran amilləri və ya fasilələri bloklayın"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Sakit mühit üçün diqqətinizi yayındıran bütün amilləri aradan qaldırın"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Müxtəlif istifadəçilər üçün cihaz təcrübələri və ayarlarını fərdiləşdirin"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Yalnız vacib insan və tətbiqlərin sizinlə əlaqə saxlamasına icazə verməklə fasilələri minimuma endirin"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Müntəzəm cədvələ uyğun rejim qurun"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Cihazı günün hadisələri ilə sinxron saxlayın"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Tam enerji ilə oyanın"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Yolda ikən təhlükəsizliyə diqqət yetirin"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Diqqəti cəmləmək üçün fokuslanın"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Nəzakətin vacib olduğu anlar üçün"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Etibarlı əllərdə olmaq üçün yönləndirilən istifadə"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Diqqətinizi cəmləyin"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Xəbərdarlıq"</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>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Bildiriş girişi aktiv olduğu üçün aktiv qalmağa davam etməlisiniz"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"<xliff:g id="APP">%1$s</xliff:g> tətbiqi üçün \"Narahat Etməyin\" funksiyasına giriş ləğv edilsin?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Bu tətbiq tərəfindən yaradılmış bütün Narahat Etməyin qaydaları silinəcək."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"<xliff:g id="APP">%1$s</xliff:g> üçün Rejimlərə girişə icazə verilsin?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Tətbiq \"Narahat Etməyin\" rejimini aktiv/deaktiv edə, Rejimləri idarə edə və aktivləşdirə, habelə əlaqədar ayarlara dəyişiklik edə biləcək."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Bu tətbiq tərəfindən yaradılmış bütün rejimlər silinəcək."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Optimallaşdırmayın"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimallaşdırın"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Batareyanın tez qurtarmasına səbəb ola bilər. Artıq tətbiqin arxa fonda batareyadan istifadə etməsi məhdudlaşdırılmayacaq."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Qutu"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Batareya"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Ayarlar Paneli"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"Masaüstü rejiminə keçid məcburi olsun"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Əlavə ekranlarda masaüstünün eksperimental rejiminə keçid məcburi olsun"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"Sərbəst ölçülü pəncərələri aktiv edin"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Köməkçi displeydə sərbəst formalı pəncərələri aktivləşdirin"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Dəyişməyən miqyas çoxpəncərəli rejimdə açılsın"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Miqyası dəyişməyən tətbiqləri çoxpəncərəli rejimdə açır"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"icbari qaranlıq rejim etibarsız edilsin"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobil data"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Cihaz təcrübəsini yaxşılaşdırmaq üçün Wi-Fi deaktiv olduqda belə, tətbiqlər və xidmətlər Wi-Fi şəbəkəsini axtara biləcək. Bununla da məkan haqqında məlumata ehtiyacı olan funksiya və xidmətlərin iş keyfiyyəti artmış olur. Bunu Wi-Fi axtarışı ayarlarında dəyişə bilərsiniz."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Dəyişin"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Qoşulub"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Müvəqqəti qoşulub"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Müvəqqəti olaraq <xliff:g id="SUBNAME">%1$s</xliff:g> istifadə edir"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Tətbiq bərkidilməsi"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Developer seçimlərini işlədin"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Çap xidməti"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Bir neçə istifadəçiyə icazə verin"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"İstifadəçi keçiricisinə icazə verin"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"icazə, çox sayda, istifadəçi, icazə, çox"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"çoxsaylı, istifadəçilər, profillər, insanlar, hesablar, keçirici, çoxlu"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Wi-Fi vasitəsilə sazlayın"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> bu telefona qoşulmaq istəyir.\n\nDaha öncə <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> cihazına qoşulmamısınız."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Qoşulmayın"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Qoşulun"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE Ayarları"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Aktiv"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Deaktiv"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Defolt Ayarlara Qaytarın"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Ayarlar defolta qaytarılıb."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Maksimum Dolğun Balans"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Balanslar"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"İstehlak Limitləri"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"İlkin İstehlak Limiti"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Minimum İstehlak Limiti"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Maksimum İstehlak Limiti"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Dəyişdiricilər"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Əməliyyatlar (Maya dəyəri)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Əməliyyatlar (Baza Qiyməti)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Hər tədbir üçün mükafatlar"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Tədbirin hər saniyəsi üçün mükafatlar"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Günlük Maksimum Mükafat"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Tətbiq Quraşdırması"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Vacib Fəaliyyət"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Bildirişə Baxılıb"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Bildirişə 15 Dəqiqə Ərzində Baxılıb"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Bildirişə Baxış"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Vidcet üzrə Əməliyyat"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Digər İstifadəçi Əməliyyatı"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Maksimum Əhəmiyyətli İş Başlayır"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Maksimum Əhəmiyyətli İş İcra Edilir"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Yüksək Əhəmiyyətli İş Başlayır"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Yüksək Əhəmiyyətli İş İcra Edilir"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Defolt İş Başlayır"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Defolt İş İcra Edilir"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Az Əhəmiyyətli İş Başlayır"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Az Əhəmiyyətli İş İcra Edilir"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Minimum Əhəmiyyətli İş Başlayır"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Minimum Əhəmiyyətli İş İcra Edilir"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"İşin Vaxtının Keçməsi üzrə Cərimə"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Minimum Dolu Balans (Kənarlaşdırılmış)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Minimum Dolu Balans (Fəaliyyətsiz Sistem Tətbiqi)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Minimum Dolu Balans (Qalan Tətbiqlər)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Minimum Dolu Balans Əlavəsi (Tətbiq Güncəlləyiciləri)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Şarj edilir"</item>
-    <item msgid="658627268149681677">"Doze"</item>
-    <item msgid="1599558140284643834">"Enerjiyə Qənaət Rejimi"</item>
-    <item msgid="588427840913221601">"Proses Vəziyyəti"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Təsdiq"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Önizləmə"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Ekran qoruyucusu seçin"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Əlavə məlumat göstərin"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Planşet doka yerləşdirildikdə ekranda nə görəcəyinizi seçin. Ekran qoruyucusu istifadə edildikdə cihazınız daha çox enerji sərf edə bilər."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Fərdiləşdirin"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Fərdiləşdirin: <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Sərbəst forma dəstəyini aktivləşdirmək üçün yenidən başlatma tələb olunur."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"İkinci dərəcəli displeylərdə masaüstü rejimini məcburi aktiv etmək üçün yenidən başlatma tələb olunur."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Sərbəst pəncərə dəstəyini aktivləşdirmək üçün yenidən başlatma tələb olunur."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Sərbəst formalı pəncərələrin əlçatanlığını yeniləmək üçün yenidən yükləmə tələb olunur."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Köməkçi displeylərdə sərbəst formalı pəncərələri aktivləşdirmək üçün yenidən yükləmə tələb olunur."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"İndi yenidən başladın"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Sonra yeniden başladın"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Uzaysal Audio"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Qızılgül rəngi"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Madjenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Bənövşəyi"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Hazırdır"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Yadda saxlayın"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Ləğv edin"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Defolt"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Orta"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Aktiv"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Deaktiv"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Aktiv"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Audio %1$d%% sol, %2$d%% sağ"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Audio %1$d%% sağ, %2$d%% sol"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Cihaz adı quraşdırdığınız tətbiqlərə görünür. Bluetooth cihazlarına, Wi-Fi şəbəkəsinə qoşulduqda və ya Wi-Fi hotspotu ayarladıqda digər şəxslər də onu görə bilər."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Cins (qrammatika)"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Cins (qrammatika) seçin"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Audio paylaşma dayandı"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Uyğun cihaz qoşun"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Audio paylaşmağa başlamaq üçün əvvəlcə LE Audio qulaqlıqlarını telefona qoşun"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Buna keçin: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"LE audio yayımına qoşulun"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Yaxınlıqdakı audio yayımları"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Audio yayımları"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Yayımı dinləyin"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ilə dinləmək üçün audio yayımı QR kodunu skanlayın"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Paylaşarkən parolu redaktə etmək olmur. Parolu dəyişmək üçün əvvəlcə audio paylaşmanı deaktiv edin."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR kod skaneri"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Kömək lazımdır?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Axtarış Ayarları"</string>
 </resources>
diff --git a/res/values-b+sr+Latn/arrays.xml b/res/values-b+sr+Latn/arrays.xml
index b4da200..9536100 100644
--- a/res/values-b+sr+Latn/arrays.xml
+++ b/res/values-b+sr+Latn/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Vreme za spavanje"</item>
-    <item msgid="4152450357280759894">"Vožnja"</item>
-    <item msgid="7096549258219399423">"Imerzivno"</item>
-    <item msgid="2760716776980432977">"Upravljano"</item>
-    <item msgid="601734478369121764">"Zvezda"</item>
-    <item msgid="6243809315432780521">"Kalendar"</item>
-    <item msgid="4913577903148415331">"Vreme"</item>
-    <item msgid="3653377604690057780">"Pozorište"</item>
-    <item msgid="3843711267408385410">"Cvet"</item>
+    <item msgid="1216815120972438676">"Aktovka"</item>
+    <item msgid="184985872234062767">"Klasična zgrada"</item>
+    <item msgid="9189550412466785530">"Stambena zgrada"</item>
+    <item msgid="2142527562511049422">"Oblačić"</item>
+    <item msgid="2548100558260478605">"Grupa ljudi"</item>
+    <item msgid="2270003903304578284">"Sijalica"</item>
+    <item msgid="4793496619091161864">"Kalendar"</item>
+    <item msgid="5673625795644364100">"Ne uznemiravaj"</item>
+    <item msgid="1423820834865831361">"Osoba koja trči"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Teg za teretanu"</item>
+    <item msgid="2730180105015616518">"Plivanje"</item>
+    <item msgid="2666922823253345958">"Osoba koja pešači"</item>
+    <item msgid="8234880356472211396">"Osoba koja baca loptu"</item>
+    <item msgid="4642980625253001443">"Osoba koja šutira"</item>
+    <item msgid="4324795269518833500">"Kontroler za igre"</item>
+    <item msgid="7789966425125441125">"Paleta boja umetnika"</item>
+    <item msgid="663512680597461570">"Pahulja"</item>
+    <item msgid="7952183800501346803">"Suncobran"</item>
+    <item msgid="799139025758265891">"Alat iz radionice"</item>
+    <item msgid="1330084588359129896">"Šator"</item>
+    <item msgid="3861584909935022342">"Rolna filma"</item>
+    <item msgid="5827426100157335512">"Knjiga"</item>
+    <item msgid="8585828346253128384">"Cvet lotosa"</item>
+    <item msgid="8788370542815300188">"Ljudski mozak"</item>
+    <item msgid="7287354964767553293">"Slušalice"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Voz"</item>
+    <item msgid="4903790544026923026">"Automobil"</item>
+    <item msgid="5010405583912314582">"Viljuška i nož"</item>
+    <item msgid="8939998598599064900">"Kolica za kupovinu"</item>
+    <item msgid="3379605903308731893">"Dete"</item>
+    <item msgid="7808668968550293112">"Šapa životinje"</item>
+    <item msgid="1000692647524056504">"Značka sa zvezdicom"</item>
+    <item msgid="8270261073421676502">"Dve osobe"</item>
+    <item msgid="5767782819651505460">"Zvezda"</item>
+    <item msgid="4368451291862729334">"Srce"</item>
+    <item msgid="2613199102208419986">"Kuća"</item>
+    <item msgid="3022279986430275040">"Polumesec"</item>
+    <item msgid="5421089790869483206">"Sat"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 2a4fed7..cc2ee79 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Obustavljeno"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Nepoznato"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Pregled"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR kôd"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Uvek"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Podešavanja slušnog aparata"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Prečica, kompatibilnost sa slušnim aparatima"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Zadata podešavanja"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Ne postoje zadata podešavanja koja je programirao audiolog"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Ažuriranje zadatih podešavanja nije uspelo"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audio izlaz"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"O audio izlazu"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Izbor jezika za ovu aplikaciju nije dostupan iz Podešavanja."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Jezik može da se razlikuje od jezika dostupnih u aplikaciji. Neke aplikacije možda ne podržavaju ovo podešavanje."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Podesite jezik za svaku aplikaciju."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Sistem, aplikacije i veb-sajtovi koriste prvi podržani jezik iz željenih jezika."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Uređaj, aplikacije i veb-sajtovi koriste prvi podržani jezik sa liste željenih jezika.\n\nMnoge aplikacije formatiraju datume, brojeve i jedinice na osnovu regiona željenog jezika. Da biste promenili region, dodajte jezik, pa izaberite željeni region."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Da biste izabrali jezik za svaku aplikaciju, idite u podešavanja jezika aplikacije."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Saznajte više o jezicima aplikacija"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Želite da jezik sistema od sada bude %s ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Isključeno"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Uključeno/# aplikacija ima pristup lokaciji}one{Uključeno/# aplikacija ima pristup lokaciji}few{Uključeno/# aplikacije imaju pristup lokaciji}other{Uključeno/# aplikacija ima pristup lokaciji}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Učitava se…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Aplikacije sa dozvolom za uređaje u blizini mogu da odrede približan položaj povezanih uređaja."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Aplikacije sa dozvolom za uređaje u blizini mogu da odrede približni položaj povezanih uređaja."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Pristup lokaciji je isključen za aplikacije i usluge. Lokacija uređaja može i dalje da se šalje ekipama hitnih službi kada pozovete broj za hitne slučajeve ili pošaljete SMS na njega."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Saznajte više o podešavanjima lokacije"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Da biste to promenili, na ChromeOS-u otvorite Podešavanja &gt; Bezbednost i privatnost &gt; Kontrole privatnosti &gt; Pristup lokaciji"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Dodati su lice i <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Dodati su lice, otisak prsta i <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Dodati su lice, otisci prstiju i <xliff:g id="WATCH">%s</xliff:g>"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Provera identiteta je uključena i zahteva biometrijski podatak"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Otključavanje uz Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Sat je dodat"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Podesite sat"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Saznajte više o otključavanju sata"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Dodaj sat"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Ukloni sat"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Otisak prsta i otključavanje licem"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Otključavanje licem i otiskom prsta"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Otključavanje licem i otiskom prsta za posao"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Treba da podesite"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Lice i otisci prsta su dodati"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Podešava se privatni prostor…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Podešavanje privatnog prostora nije uspelo"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Probaj ponovo"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Zatvori"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Privatan prostor nije dostupan.\nPogledajte moguće uzroke"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Pogledajte moguće uzroke"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Želite da odaberete novo otključavanje za privatan prostor?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Možete da podesite novo otključavanje samo za privatan prostor ili da koristite ono isto koje koristite za otključavanje uređaja"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Koristi otključavanje ekrana"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Kada je Bluetooth uključen, uređaj može da komunicira sa drugim Bluetooth uređajima u blizini.\n\nRadi boljeg doživljaja uređaja, aplikacije i usluge i dalje mogu da traže uređaje u blizini u bilo kom trenutku, čak i kada je Bluetooth isključen. Ovo može da se koristi, na primer, za poboljšanje funkcija i usluga zasnovanih na lokaciji. To možete da promenite u podešavanjima Bluetooth skeniranja."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Kada je Bluetooth uključen, uređaj može da komunicira sa drugim Bluetooth uređajima u blizini. Funkcije kao što su Quick Share i Pronađi moj uređaj koriste Bluetooth.\n\nAplikacije i usluge i dalje mogu da traže uređaje u blizini u bilo kom trenutku, čak i kada je Bluetooth isključen. Ovo može da se koristi, na primer, za poboljšanje funkcija i usluga zasnovanih na lokaciji. To možete da promenite u podešavanjima Bluetooth skeniranja."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Promeni"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"Nije povezano: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"Radi vaše bezbednosti, zaboravite ovaj uređaj, pa ga ponovo uparite"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"Zaboravi uređaj"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"Otkaži"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Detalji o uređaju"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Podešavanja tastature"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Još podešavanja"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Ažuriranja firmvera, osnovni podaci i drugo"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Saveti i podrška"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Bluetooth adresa uređaja: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Bluetooth adresa uređaja:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Želite li da zaboravite uređaj?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Eksperimentalno. Bolji kvalitet zvuka."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Zaboravi uređaj"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Prekini vezu sa aplikacijom"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Još podešavanja"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Maksimalan broj povezanih Bluetooth audio uređaja"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Izaberite maksimalni broj povezanih Bluetooth audio uređaja"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC opširna evidencija prodavca o otklanjanju grešaka"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Želite da restartujete uređaj?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"NFC evidentiranje detalja je namenjeno samo u svrhe programiranja. Dodatni NFC podaci uvršteni su u izveštaje o greškama, koji mogu da sadrže privatne podatke. Restartujte uređaj da biste promenili ovo podešavanje."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Restartuj"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Uključeno"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Isključeno"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Spoljni ekran"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Koristi spoljni ekran"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Rezolucija ekrana"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Spoljni ekran je isključen"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Rotacija"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standardno"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Promena rotacije ili rezolucije može da zaustavi sve aplikacije koje su trenutno aktivne"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Uređaj mora da bude povezan sa spoljnim ekranom da bi se preslikao ceo ekran"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Još opcija"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Prebacivanje"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"preslikati"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Omogući bežični prikaz"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Prilagodljivo"</string>
     <string name="brightness" msgid="6216871641021779698">"Nivo osvetljenosti"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Prilagodljiva osvetljenost"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"O priladoljivoj osvetljenosti"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Osvetljenost ekrana će se automatski prilagođavati okruženju i aktivnostima. Možete ručno da pomerate klizač da bi prilagodljivo podešavanje osvetljenosti naučilo šta vam odgovara."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Uključeno"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Isključeno"</string>
@@ -1311,8 +1340,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Koristiti <xliff:g id="CARRIER">%1$s</xliff:g> za mob. podatke?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Koristite <xliff:g id="CARRIER2_0">%2$s</xliff:g> za mobilne podatke. Ako pređete na <xliff:g id="CARRIER1">%1$s</xliff:g>, <xliff:g id="CARRIER2_1">%2$s</xliff:g> se više neće koristiti za mobilne podatke."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Koristi <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Želite da ažurirate željeni SIM?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> je jedina SIM kartica u uređaju. Želite li da koristite ovu SIM karticu za mobilne podatke, pozive i SMS poruke?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> je sada primarni SIM"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Želite da poboljšate pokrivenost?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Dozvolite uređaju da se automatski prebaci na <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> za mobilne podatke kad dostupnost bude bolja."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Pozivi, poruke i mrežni saobraćaj mogu da budu vidljivi vašoj organizaciji."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Opcije"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Pristupačnost"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fizička tastatura"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Koristi tastaturu na ekranu"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Zadržava se na ekranu dok je fizička tastatura aktivna"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Duži odziv tastera"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Tastatura zanemaruje brze pritiske istog tastera koji se ponavljaju u roku od <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Spori tasteri"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Priladite vreme potrebno da se taster aktivira posle pritiska na <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Lepljivi tasteri"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Pritiskajte jedan po jedan taster da biste koristili prečice umesto da istovremeno držite tastere"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Tasteri miša"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Koristite fizičku tastaturu da biste upravljali mišem."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Tasterske prečice"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Prikazuje listu prečica"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tastature i alatke za poslovni profil"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Prilagodite individualne pokrete za kretanje po tačpedu"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Obrnuto skrolovanje"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Sadržaj se pomera nagore kada skrolujete nadole"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Dodir u donjem desnom uglu"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Dodirnite donji desni ugao tačpeda za više opcija"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Klik dole desno"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Za više opcija, kliknite na donji desni ugao tačpeda"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Brzina pokazivača"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Stil popune pokazivača"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Promenite stil popune u crno"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Promenite stil popune u žuto"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Promenite stil popune u roze"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Promenite stil popune u plavo"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Stil poteza pokazivača"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Belo"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Crno"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Ništa"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Naučite pokrete za tačped"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"dodirna tabla, miš, kursor, skrolovanje, prevlačenje, desni klik, klik, pokazivač"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"desni klik, dodir"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Resetuj"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Odaberite modifikujući taster"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Odaberite novi taster za <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Pristupačnost fizičke tastature"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Lepljivi tasteri, duži odziv tastera, tasteri miša"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Raspored <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Podrazumevano"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatski: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Izabrao je korisnik: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Govor"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Brzina pokazivača"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Veličina pokazivača"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Smanjite veličinu pokazivača"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Povećajte veličinu pokazivača"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Kontroler za igre"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Preusmeri vibraciju"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Preusmeri vibraciju na kontroler za igre kada je povezan"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Ipak nastavi"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Otkaži"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Podešavanja uvećanja"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Pomeranje jednim prstom"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Pomerite lupu 1 prstom"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Prevlačite 1 prst za kretanje po ekranu"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Pomerajte oblast za uvećanje prevlačenjem jednog prsta."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Pomerajte oblast za uvećanje prevlačenjem dva prsta."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Nije dostupno kada se uvećava samo deo ekrana"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Dodirnite dugme da biste zumirali"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Brzo uvećajte ekran da bi sadržaj bio veći"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Da biste uvećali:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Koristite prečicu da biste pokrenuli uvećanje&lt;br/&gt; {1,number,integer}. Dodirnite ekran&lt;br/&gt; {2,number,integer}. Prevlačite pomoću 2 prsta da biste se kretali po ekranu&lt;br/&gt; {3,number,integer}. Skupite 2 prsta da biste prilagodili zumiranje&lt;br/&gt; {4,number,integer}. 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; {0,number,integer}. Uverite se da je tip uvećanja podešen na ceo ekran&lt;br/&gt; {1,number,integer}. Koristite prečicu da biste pokrenuli uvećanje&lt;br/&gt; {2,number,integer}. Dodirnite i zadržite bilo koji deo ekrana&lt;br/&gt; {3,number,integer}. Prevlačite prst da biste se kretali po ekranu&lt;br/&gt; {4,number,integer}. Podignite prst da biste zaustavili uvećanje"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Da biste uvećali:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Koristite prečicu da biste pokrenuli uvećanje&lt;br/&gt; {1,number,integer}. Dodirnite ekran&lt;br/&gt; {2,number,integer}. Prevlačite pomoću 2 prsta da biste se kretali po ekranu&lt;br/&gt; {3,number,integer}. Skupite 2 prsta da biste prilagodili zumiranje&lt;br/&gt; {4,number,integer}. Koristite prečicu da biste zaustavili uvećanje&lt;br/&gt;&lt;br/&gt; Možete privremeno da zumirate i drugo."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Da biste uvećali:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Koristite prečicu da biste pokrenuli uvećanje&lt;br/&gt; {1,number,integer}. Dodirnite ekran&lt;br/&gt; {2,number,integer}. Prevlačite 1 ili 2 prsta da biste se kretali po ekranu &lt;br/&gt; {3,number,integer}. Skupite 2 prsta da biste prilagodili zumiranje&lt;br/&gt; {4,number,integer}. Koristite prečicu da biste zaustavili uvećanje&lt;br/&gt;&lt;br/&gt; Možete privremeno da zumirate i drugo."</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_pager" msgid="8461939455728454061">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>. stranica od <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Prečica za dugme Pristupačnost"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Dodirnite plutajuće dugme"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Pokret za pristupačnost"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Dodirnite dugme Pristupačnost <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> u dnu ekrana. Da biste prelazili sa jedne funkcije na drugu, dodirnite i zadržite dugme Pristupačnost."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Prevucite nagore od dna ekrana pomoću 2 prsta.\n\nDa biste prelazili sa jedne funkcije na drugu, prevucite nagore pomoću 2 prsta i zadržite."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Prevucite nagore od dna ekrana pomoću 3 prsta.\n\nDa biste prelazili sa jedne funkcije na drugu, prevucite nagore pomoću 3 prsta i zadržite."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Prevucite nagore od dna ekrana. Da biste prelazili sa jedne funkcije na drugu, prevucite nagore i zadržite.}one{Prevucite nagore od dna ekrana pomoću # prsta. Da biste prelazili sa jedne funkcije na drugu, prevucite nagore pomoću # prsta i zadržite.}few{Prevucite nagore od dna ekrana pomoću # prsta. Da biste prelazili sa jedne funkcije na drugu, prevucite nagore pomoću # prsta i zadržite.}other{Prevucite nagore od dna ekrana pomoću # prstiju. Da biste prelazili sa jedne funkcije na drugu, prevucite nagore pomoću # prstiju i zadržite.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Još opcija"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Saznajte više o: <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Tasteri za jačinu zvuka"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"tasteri za jačinu zvuka"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Pritisnite i zadržite oba tastera za jačinu zvuka"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Dvaput dodirnite ekran pomoću dva prsta"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Dvaput dodirnite pomoću %1$d prsta"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Brzo dodirnite ekran dvaput pomoću %1$d prsta"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Dodirnite triput"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Brzo dodirnite ekran %1$d puta. Ovo može da uspori uređaj."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"dvaput dodirnite pomoću %1$d prsta"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Brzo dodirnite ekran {0,number,integer} puta pomoću dva prsta"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Dodirnite ekran triput"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"dodirnite triput"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Brzo dodirnite ekran {0,number,integer} 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_global_gesture_preference_title" msgid="8866765674372344850">"Prečica za tastere za jačinu zvuka"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Podešavanja prečica"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Prečica sa zaključanog ekrana"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"Prečica za tastere za jačinu zvuka sa zaklj. ekrana"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Dozvolite prečici funkcije da se uključi sa zaključanog ekrana. Zadržite oba tastera za jačinu zvuka par sekundi."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Dugme Pristupačnost"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Dugme i pokret za Pristupačnost"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Ova usluga nije ispravna."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Prečice za pristupačnost"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Prikaži u Brzim podešavanjima"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Crveno-zeleno"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Crveno-zeleno"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Crvena/zelena, delimično slepilo za zelenu"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Crvena/zelena, delimično slepilo za crvenu"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Plavo-žuto"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Sivilo"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intenzitet"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Delimično slepilo za zelenu, deuteranomalija"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Delimično slepilo za crvenu, protanomalija"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Nije dostupno za režim sivila ili kada je onemogućena korekcija boja"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Dodatno zatamni"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Dodatno zatamni ekran"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Tirkizna"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Žuta"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Želite li da dozvolite da <xliff:g id="SERVICE">%1$s</xliff:g> ima potpunu kontrolu nad uređajem?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> treba:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Pošto aplikacija skriva zahtev za dozvolu, Podešavanja ne mogu da verifikuju odgovor."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> traži potpunu kontrolu nad ovim uređajem. Usluga može da čita sadržaj sa ekrana i da obavlja razne zadatke za korisnike usluga pristupačnosti. Ovaj nivo kontrole nije odgovarajući za većinu aplikacija."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Potpuna kontrola je primerena za aplikacije koje vam pomažu kod usluga pristupačnosti, ali ne i za većinu aplikacija."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Pregledaj i kontroliši ekran"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Može da čita sav sadržaj na ekranu i prikazuje ga u drugim aplikacijama."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Pregledaj i obavljaj radnje"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Može da prati interakcije sa aplikacijom ili senzorom hardvera i koristi aplikacije umesto vas."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Dozvoli"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Odbij"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Isključi"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Uključeno/<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> i <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Možete da uključite i prostorni zvuk za Bluetooth uređaje."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Podešavanja povezanih uređaja"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Prostorni zvuk"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Isključeno"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Isključeno"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Isključeno"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Nijedan}=1{1 raspored je podešen}one{# raspored je podešen}few{# rasporeda su podešena}other{# rasporeda je podešeno}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Ne uznemiravaj"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Prioritetni režimi"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Dodaj režim"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Režimi"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Smanjite ometanja i preuzmite kontrolu nad pažnjom pomoću režima za spavanje, rad, vožnju i sve ostalo."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Napravite svoj režim"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Dobijajte obaveštenja samo od važnih osoba i aplikacija"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Podesite raspored"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Raspored zasnovan na"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Dan i vreme"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"9:00–17:00 radnim danima"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Događaji u kalendaru"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{Aktivan je {mode_1}}=2{Aktivni su {mode_1} i {mode_2}}=3{Aktivni su {mode_1}, {mode_2} i {mode_3}}one{Aktivni su {mode_1}, {mode_2} i još # režim}few{Aktivni su {mode_1}, {mode_2} i još # režima}other{Aktivni su {mode_1}, {mode_2} i još # režima}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 režim može da se uključuje automatski}one{# režim može da se uključuje automatski}few{# režima mogu da se uključuju automatski}other{# režima može da se uključuje automatski}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"UKLJUČENO"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Nije podešeno"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Onemogućeno"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Napravite režim"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Prilagođeno"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Uključi"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Isključi"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Režim nije pronađen"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ograničite prekide"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Blokirajte prekide i ometanja"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Podesite <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Uključite režim Ne uznemiravaj"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Zvukovi alarma i medija mogu da prekinu"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Rasporedi"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Izbriši rasporede"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Izbriši"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Preimenuj"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Izbriši"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Želite da izbrišete režim <xliff:g id="MODE">%1$s</xliff:g>?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Izmeni"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Rasporedi"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Raspored"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Automatski uključi"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Dodajte kalendar"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Koristite svoj kalendar"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Raspored"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Podesite raspored"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Kada se isključuje automatski"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Raspored događaja"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Uključite tokom događaja za"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Kada je odgovor na poziv"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Vremenski raspored"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Raspored"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> s, <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Raspored"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Omogućite prekide koji proizvode zvuk"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Obaveštenja koja dozvoljavate"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Dodatne radnje"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Filteri za obaveštenja"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Još podešavanja"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Isključeno}=1{Isključeno/1 režim može da se uključuje automatski}one{Isključeno/# režim može da se uključuje automatski}few{Isključeno/# režima mogu da se uključuju automatski}other{Isključeno/# režima može da se uključuje automatski}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Podešavanja prikaza"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Opcije prikaza"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Sivilo"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"omogući tamnu temu"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Prebacite OS i aplikacije na svetao tekst na tamnoj pozadini. To može da bude lakše za oči i dovodi do znatne uštede baterije na nekim uređajima"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Nema promena ekrana}=1{{effect_1}}=2{{effect_1} i {effect_2}}=3{{effect_1}, {effect_2} i {effect_3}}one{{effect_1}, {effect_2} i još #}few{{effect_1}, {effect_2} i još #}other{{effect_1}, {effect_2} i još #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Omogući sva obaveštenja"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Ljudi, aplikacije i zvuci mogu da prekinu režim"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opcije prikaza za filtrirana obaveštenja"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Kada je uključen režim Ne uznemiravaj"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Bez zvučnog signala za obaveštenja"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"otvaranje obaveštenja"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Omogući odlaganje obaveštenja"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Tačka za obaveštenja na ikoni aplikacije"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Skupovi obaveštenja"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Oblačići"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Oblačići"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Prikaži ovu konverzaciju u oblačiću"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Može da odgovara na poruke i preduzima radnje povezane sa dugmadi u obaveštenjima, uključujući odlaganje ili odbacivanje obaveštenja i odgovaranje na pozive."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"da menja podešavanja"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Može da uključuje ili isključuje režim Ne uznemiravaj i menja srodna podešavanja."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Može da upravlja režimima i aktivira ih, kao i da menja srodna podešavanja."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Ako isključite pristup obaveštenjima za <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, isključićete i pristup režimu Ne uznemiravaj."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Ako isključite pristup obaveštenjima za <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, može da se isključi i pristup režimima."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Isključi"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Otkaži"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"U realnom vremenu"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Ova aplikacija ne podržava poboljšana podešavanja"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Još podešavanja"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Dostupno je još podešavanja u aplikaciji"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Prilagodljiva obaveštenja"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Koristite prilagodljiva obaveštenja"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Kada dobijete mnogo obaveštenja u kratkom periodu, telefon će utišati zvuk i smanjiti broj iskačućih prozora na ekranu na najviše dva minuta. Za pozive, alarme i prioritetne konverzacije ćete i dalje dobijati obaveštenja putem vibracije, zvuka ili prikaza na ekranu, a sva obaveštenja možete lako da pronađete kada prevučete nadole sa vrha ekrana."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Utišavanje obaveštenja"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Koristi utišavanje obaveštenja"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Kada primite mnogo obaveštenja u kratkom periodu, uređaj će utišati zvuk i smanjiti broj upozorenja na najviše dva minuta. To ne utiče na pozive, alarme ni prioritetne konverzacije. \n\nObaveštenja koja dobijete tokom utišavanja možete da pronađete povlačenjem nadole od vrha ekrana."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Primeni na poslovne profile"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Primenite na aplikacije poslovnog profila"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Usluge pomagača za virtuelnu realnost"</string>
@@ -3650,6 +3709,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Pristup opciji Ne uznemiravaj"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Dozvoli režim Ne uznemiravaj"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Nijedna instalirana aplikacija nije zahtevala pristup opciji Ne uznemiravaj"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Pristup režimima"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Dozvoli pristup režimima"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Nijedna instalirana aplikacija nije zahtevala pristup režimima"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Niste dozvolili obaveštenja iz ove aplikacije"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Na vaš zahtev, Android blokira prikazivanje ove kategorije obaveštenja na ovom uređaju"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Na vaš zahtev, Android blokira prikazivanje ove grupe obaveštenja na ovom uređaju"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Kategorije"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Drugo"</string>
     <string name="no_channels" msgid="4716199078612071915">"Ova aplikacija nije postavila nijedno obaveštenje"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Prikaži nekorišćene kategorije"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Dodatna podešavanja u aplikaciji"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Prikaži nekorišćene kategorije"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Sakrij nekorišćene kategorije"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g>–<xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Konverzacije"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Sve konverzacije"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"sve konverzacije"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Prioritetne konverzacije"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"prioritetne konverzacije"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Ništa"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Aplikacije koje mogu da prekinu funkciju Ne uznemiravaj"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Izabrane aplikacije"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Nijedna"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Sve"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Nijedna aplikacija ne može da prekine}=1{{app_1} može da prekine}=2{{app_1} i {app_2} mogu da prekinu}=3{{app_1}, {app_2} i {app_3} mogu da prekinu}one{{app_1}, {app_2} i još # mogu da prekinu}few{{app_1}, {app_2} i još # mogu da prekinu}other{{app_1}, {app_2} i još # mogu da prekinu}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (posao)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Izračunava se…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Dozvoli da aplikacije zanemaruju"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikacije koje mogu da prekidaju"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Izaberite još aplikacija"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Ništa ne može da prekine"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Niko ne može da prekine"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Neki ljudi mogu da prekinu"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Ponovni pozivaoci mogu da prekidaju"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Svi ljudi mogu da prekinu"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Ponovni pozivaoci"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Dozvoli ponovne pozivaoce"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Pređite samo na alarme na jedan sat sve do {time}}one{Pređite samo na alarme na # sat sve do {time}}few{Pređite samo na alarme na # sata sve do {time}}other{Pređite samo na alarme na # sati sve do {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Prebacuje u režim samo sa alarmima do <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Prebacuje u režim uvek prekidaj"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Preimenuj"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Promeni ikonu"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Promeni ikonu"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Izmenite režim"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Napravite režim"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Prilagođeni režim"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Naziv režima"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Događaji u kalendaru"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Rutina vremena za spavanje"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Tokom vožnje"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Podešavanja aplikacije"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Informacije i podešavanja u aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Upravlja <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Onemogućavate <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Ovaj režim se nikada neće uključiti kada je onemogućen"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Onemogući"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Omogućavate <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Ovaj režim može da se uključi automatski na osnovu podešavanja"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Omogući"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Podesite režim koji prati redovan raspored"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Podesite režim za sinhronizaciju sa događajima u kalendaru i odgovorima na pozive"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Osmislite smirujuću rutinu spavanja. Podesite alarme, zatamnite ekran i blokirajte obaveštenja."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Dajte prednost bezbednosti na putu za fokusiranu vožnju bez ometanja"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Blokirajte ometanja ili prekide sa svog uređaja za bolji fokus"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Eliminišite svaku mogućnost ometanja za tiho okruženje"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Personalizujte doživljaj uređaja i podešavanja za različite korisnike"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Smanjite mogućnost prekida tako što ćete dozvoliti da vas kontaktiraju samo važne osobe i aplikacije"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Podesite režim koji prati redovan raspored"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Sinhronizujte uređaj sa dnevnim događajima"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Probudite se sa 100% energije"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Budite bezbedni na putu"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Ostanite fokusirani"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Za trenutke kada je uslužnost važna"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Vođeno korišćenje pomaže da budete sigurni"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Povratite kontrolu nad pažnjom"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Upozorenje"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Zatvori"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Šalji povratne informacije o uređaju"</string>
@@ -4006,6 +4102,10 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Mora da ostane uključeno jer je pristup obaveštenjima uključen"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Opozivate pristup režimu Ne uznemiravaj za aplikaciju <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Uklonićemo sva pravila za režim Ne uznemiravaj koja je ova aplikacija napravila."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Želite da dozvolite pristup režimima za: <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Aplikacija će moći da uključuje ili isključuje podešavanje Ne uznemiravaj, da upravlja režimima i aktivira ih, kao i da unosi promene u srodna podešavanja."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"Želite da opozovete pristup režimima za: <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Uklonićemo sve režime koje je ova aplikacija napravila."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Ne optimizuj"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimizuj"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Baterija može brže da se isprazni. Aplikacijama više neće biti zabranjeno korišćenje baterije u pozadini."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Futrola"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Baterija"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Tabla sa podešavanjima"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"Nametni režim računara"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Nameće eksperimentalni režim računara na sekundarnim ekranima"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"Omogući prozore proizvoljnog formata"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Omogući prozore proizv. formata na sekund. ekranu"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Omogući aplikacije nepromenjive veličine u više prozora"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Omogućava da aplikacije nepromenjive veličine budu u više prozora"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Zameni funkciju nametanja tamne teme"</string>
@@ -4968,7 +5068,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobilni podaci"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Radi boljeg doživljaja, aplikacije i usluge mogu i dalje da traže WiFi mreže u bilo kom trenutku, čak i kada je WiFi isključen. To može da se koristi, na primer, za poboljšavanje funkcija i usluga zasnovanih na lokaciji. To možete da promenite u podešavanjima WiFi skeniranja."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Promeni"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Povezano"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Privremeno povezano"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Privremeno se koristi <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -5000,7 +5099,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Koristi kačenje aplikacija"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Koristi opcije za programere"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Koristi uslugu štampanja"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Dozvoli više korisnika"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Omogući promenu korisnika"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"omogućiti, više, korisnik, dozvoliti, mnogo"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"više, korisnici, profili, ljudi, nalozi, promena, veliki broj"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Koristi bežično otklanjanje grešaka"</string>
@@ -5057,52 +5156,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> želi da se poveže sa ovim telefonom.\n\nRanije se niste povezivali sa uređajem <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Ne povezuj"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Poveži"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE podešavanja"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Uključeno"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Isključeno"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Vrati na podrazumevana podešavanja"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Podešavanja su vraćena na podrazumevana."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Maksim. balans sa potpuno napunj. uređaj."</string>
-    <string name="tare_balances" msgid="731881382594747961">"Stanja"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Ograničenja potrošnje"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Ograničenje prvobitne potrošnje"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Ograničenje minimalne potrošnje"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Ograničenje maksimalne potrošnje"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modifikatori"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Radnje (cena sprovođenja)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Radnje (osnovna cena)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Nagrade za jedan događaj"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Nagrade po sekundi trajanja događaja"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Maksimalno nagrada dnevno"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Instaliranje aplikacije"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Najveća aktivnost"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Obaveštenje je pregledano"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Obaveštenje je pregledano za 15 minuta"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interakcija sa obaveštenjem"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Interakcija sa vidžetom"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Druga interakcija korisnika"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Početak maksimalno prioritetnog posla"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Maksimalno prioritetni posao se izvršava"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Početak visokoprioritetnog posla"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Visokoprioritetni posao se izvršava"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Početak podrazumevanog posla"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Podrazumevani posao se izvršava"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Početak niskoprioritetnog posla"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Niskoprioritetni posao se izvršava"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Početak minimalno prioritetnog posla"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Minimalno prioritetni posao se izvršava"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Kazna za istek posla"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Minimalni balans sa potpuno napunjenim uređajem (izuzeto)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Minimalni balans sa potpuno punim uređajem (sistemska bez grafičkog interfejsa)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Minimalni balans sa potpuno napunjenim uređajem (preostale aplikacije)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Dodavanje minimalnog balansa za napunjeni uređaj (alatke za ažuriranje aplikacija)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Punjenje"</item>
-    <item msgid="658627268149681677">"Dremanje"</item>
-    <item msgid="1599558140284643834">"Režim uštede energije"</item>
-    <item msgid="588427840913221601">"Status procesa"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Potvrdi"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Prikaži"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Odaberite čuvar ekrana"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Prikazuj dodatne informacije"</string>
@@ -5114,8 +5167,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Izaberite šta ćete videti na ekranu kada je tablet na baznoj stanici. Uređaj može da troši više energije kada se koristi čuvar ekrana."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Prilagodi"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Prilagodite <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Morate da restartujete da biste omogućili podršku za slobodan oblik."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Morate da restartujete da biste prinudno omogućili režim za računare na sekundarnim ekranima."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Morate da restartujete da biste omogućili podršku za prozore proizvoljnog formata."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Morate da restartujete da biste ažurirali dostupnost prozora proizvoljnog formata."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Morate da restartujete da biste omogućili prozore proizvoljnog formata na sekundarnim ekranima."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Restartuj"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Restartuj kasnije"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Prostorni zvuk"</string>
@@ -5212,7 +5266,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Ruža"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Ljubičasta"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Gotovo"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Sačuvaj"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Otkaži"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Podrazumevano"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Srednje"</string>
@@ -5233,6 +5287,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Uključeno"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Isključeno"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Uključeno"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Zvuk: %1$d%% levo, %2$d%% desno"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Zvuk: %1$d%% desno, %2$d%% levo"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Aplikacije koje ste instalirali mogu da vide naziv uređaja. I drugi ljudi mogu da vide naziv uređaja kada se povežete sa Bluetooth uređajima ili WiFi mrežom ili podesite WiFi hotspot."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Gramatički rod"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Izaberite gramatički rod"</string>
@@ -5301,6 +5357,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Deljenje zvuka je zaustavljeno"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Povežite kompatibilan uređaj"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Da biste počeli da delite zvuk, prvo povežite LE Audio slušalice sa telefonom"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Pređi na <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Povežite se sa LE Audio strimom"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Audio strimovi u blizini"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Audio strimovi"</string>
@@ -5344,4 +5401,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Slušajte strim"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Skenirajte QR kôd audio strima da biste slušali pomoću: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Lozinka ne može da se menja tokom deljenja. Da biste promenili lozinku, prvo isključite deljenje zvuka."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Skener QR koda"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Treba vam pomoć?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Podešavanja pretrage"</string>
 </resources>
diff --git a/res/values-be/arrays.xml b/res/values-be/arrays.xml
index 6c8307a..ab14c2b 100644
--- a/res/values-be/arrays.xml
+++ b/res/values-be/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Час сну"</item>
-    <item msgid="4152450357280759894">"За рулём"</item>
-    <item msgid="7096549258219399423">"З эфектам прысутнасці"</item>
-    <item msgid="2760716776980432977">"Пад кіраваннем"</item>
-    <item msgid="601734478369121764">"Зорка"</item>
-    <item msgid="6243809315432780521">"Каляндар"</item>
-    <item msgid="4913577903148415331">"Час"</item>
-    <item msgid="3653377604690057780">"Тэатр"</item>
-    <item msgid="3843711267408385410">"Кветка"</item>
+    <item msgid="1216815120972438676">"Партфель"</item>
+    <item msgid="184985872234062767">"Класічны будынак"</item>
+    <item msgid="9189550412466785530">"Шматкватэрны дом"</item>
+    <item msgid="2142527562511049422">"Бурбалка з тэкстам"</item>
+    <item msgid="2548100558260478605">"Група людзей"</item>
+    <item msgid="2270003903304578284">"Лямпачка"</item>
+    <item msgid="4793496619091161864">"Каляндар"</item>
+    <item msgid="5673625795644364100">"Не турбаваць"</item>
+    <item msgid="1423820834865831361">"Чалавек бяжыць"</item>
+    <item msgid="2037298830718732608">"Гольф"</item>
+    <item msgid="2197835014443491074">"Трэнажорная гантэль"</item>
+    <item msgid="2730180105015616518">"Плаванне"</item>
+    <item msgid="2666922823253345958">"Чалавек у паходзе"</item>
+    <item msgid="8234880356472211396">"Чалавек кідае мяч"</item>
+    <item msgid="4642980625253001443">"Чалавек б’е нагой"</item>
+    <item msgid="4324795269518833500">"Гульнявы кантролер"</item>
+    <item msgid="7789966425125441125">"Палітра мастака"</item>
+    <item msgid="663512680597461570">"Сняжынка"</item>
+    <item msgid="7952183800501346803">"Пляжны парасон"</item>
+    <item msgid="799139025758265891">"Інструменты майстэрні"</item>
+    <item msgid="1330084588359129896">"Палатка"</item>
+    <item msgid="3861584909935022342">"Кінаплёнка"</item>
+    <item msgid="5827426100157335512">"Кніга"</item>
+    <item msgid="8585828346253128384">"Кветка лотаса"</item>
+    <item msgid="8788370542815300188">"Розум чалавека"</item>
+    <item msgid="7287354964767553293">"Навушнікі"</item>
+    <item msgid="2530059623783800987">"Тэлевізар"</item>
+    <item msgid="5307182323469376758">"Цягнік"</item>
+    <item msgid="4903790544026923026">"Аўтамабіль"</item>
+    <item msgid="5010405583912314582">"Відэлец і нож"</item>
+    <item msgid="8939998598599064900">"Каляска для пакупак"</item>
+    <item msgid="3379605903308731893">"Дзіця"</item>
+    <item msgid="7808668968550293112">"Лапа жывёлы"</item>
+    <item msgid="1000692647524056504">"Значок зоркі"</item>
+    <item msgid="8270261073421676502">"Два чалавекі"</item>
+    <item msgid="5767782819651505460">"Зорка"</item>
+    <item msgid="4368451291862729334">"Сэрца"</item>
+    <item msgid="2613199102208419986">"Дом"</item>
+    <item msgid="3022279986430275040">"Паўмесяц"</item>
+    <item msgid="5421089790869483206">"Гадзіннік"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 4f20cfd..14d93b4 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Прыпынена"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Невядома"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Перадпрагляд"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR-код"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Паменшыць"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Павялічыць"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"Заўсёды"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Налады слыхавога апарата"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Хуткае ўключэнне спецыяльных магчымасцей, сумяшчальнасць са слыхавымі апаратамі"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Набор налад"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Ваш сурдолаг не запраграмаваў ніякіх набораў налад"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Не ўдалося абнавіць набор налад"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Аўдыявыхад"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Пра аўдыявыхад"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Выбар мовы для гэтай праграмы недаступны ў Наладах."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Мова можа адрознівацца ад моў, даступных у праграме. Некаторыя праграмы могуць не падтрымліваць гэту наладу."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Задаць мову для кожнай праграмы."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Ваша сістэма, праграмы і вэб-сайты выкарыстоўваюць першую з выбраных вамі моў, якая падтрымліваецца."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Ваша прылада, праграмы і вэб-сайты выкарыстоўваюць першую са спіса выбраных вамі моў, якая падтрымліваецца.\n\nТаксама многія праграмы будуць выкарыстоўваць фармат дат, лікаў і адзінак, прыняты ў рэгіёне выбранай вамі мовы. Каб змяніць рэгіён, дадайце мову, а потым выберыце патрэбны рэгіён."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Каб выбраць мову для кожнай праграмы, адкрыйце налады мовы."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Даведацца больш пра мовы, даступныя ў праграме"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Змяніць мову сістэмы на наступную: %s ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Выкл."</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Уключана – # праграма мае доступ да даных месцазнаходжання}one{Уключана – # праграма мае доступ да даных месцазнаходжання}few{Уключана – # праграмы маюць доступ да даных месцазнаходжання}many{Уключана – # праграм маюць доступ да даных месцазнаходжання}other{Уключана – # праграмы маюць доступ да даных месцазнаходжання}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Ідзе загрузка…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Праграмы з дазволам на доступ да прылад паблізу могуць вызначаць прыблізнае месцазнаходжанне падключаных прылад."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Праграмы з дазволам на доступ да прылад паблізу могуць вызначаць прыблізнае месцазнаходжанне падключаных прылад"</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Для праграм і сэрвісаў доступ да геаданых выключаны. Інфармацыя пра месцазнаходжанне вашай прылады можа адпраўляцца экстранным службам, калі вы робіце выклік на іх нумар ці адпраўляеце ім SMS."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Даведацца больш пра налады месцазнаходжання"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Каб змяніць, у ChromeOS перайдзіце ў раздзел \"Налады &gt; Прыватнасць і бяспека &gt; Налады прыватнасці &gt; Доступ да даных геалакацыі\""</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Твар і гадзіннік \"<xliff:g id="WATCH">%s</xliff:g>\" дададзены"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Твар, адбітак пальца і гадзіннік \"<xliff:g id="WATCH">%s</xliff:g>\" дададзены"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Твар, адбіткі пальцаў і гадзіннік \"<xliff:g id="WATCH">%s</xliff:g>\" дададзены"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Функцыя праверкі асобы ўключана і патрабуе біяметрычных даных"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Разблакіраваць Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Гадзіннік дададзены"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Наладжванне гадзінніка"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Даведацца больш пра разблакіроўку гадзіннікам"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Дадаць гадзіннік"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Выдаліць гадзіннік"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Разблакіроўка тварам і адбіткам пальца"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Распазнаванне твару і разблакіроўка адбіткам пальца"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Разблакіроўка тварам і адбіткам пальца для працоўнага профілю"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Патрабуецца наладжванне"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Дададзены твар і адбіткі пальцаў"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Ідзе наладжванне прыватнай прасторы…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Не ўдалося наладзіць прыватную прастору"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Паўтарыць спробу"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Выйсці"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Прыватная прастора недаступная.\nПраглядзець магчымыя прычыны"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Праглядзець магчымыя прычыны"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Выбраць новы спосаб разблакіроўкі прыватнай прасторы?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Вы можаце задаць спосаб разблакіроўкі асобна для прыватнай прасторы або выкарыстоўваць той, з дапамогай якога вы выконваеце разблакіроўку прылады"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Выкарыстоўваць спосаб, выбраны для экрана"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Калі Bluetooth уключаны, прылада можа абменьвацца данымі з іншымі прыладамі з Bluetooth, якія знаходзяцца паблізу.\n\nПраграмы і сэрвісы будуць шукаць прылады паблізу, нават калі Bluetooth выключаны. Гэту функцыю можна выкарыстоўваць для паляпшэння працы прылады, напрыклад для больш дакладнага вызначэння месцазнаходжання. Вы можаце змяніць яе ў наладах пошуку Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Калі Bluetooth уключаны, ваша прылада можа абменьвацца данымі з іншымі прыладамі з Bluetooth, якія знаходзяцца побач. Bluetooth выкарыстоўваецца такімі функцыямі і сэрвісамі, як Хуткае абагульванне і Знайсці прыладу.\n\nПраграмы і сэрвісы могуць шукаць прылады паблізу, нават калі вы выключылі Bluetooth. Гэта дазваляе, у прыватнасці, паляпшаць работу функцый і сэрвісаў, якія працуюць на аснове геалакацыі. Вы можаце змяніць гэтыя параметры ў наладах пошуку прылад Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Змяніць"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"Прылада <xliff:g id="DEVICE_NAME">%1$s</xliff:g> не падключана"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"У мэтах бяспекі разлучыце гэту прыладу, а потым спалучыце яе зноў"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"Разлучыць прыладу"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"Скасаваць"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Звесткі пра прыладу"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Налады клавіятуры"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Дадатковыя налады"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Абнаўленні ўбудаванага ПЗ, інфармацыя і іншае"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Парады і падтрымка"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Адрас Bluetooth прылады: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Адрас Bluetooth прылады: \n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Забыць прыладу?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Эксперыментальнае. Паляпшае якасць аўдыя."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Забыць прыладу"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Адключыць праграму"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Дадатковыя налады"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Максімальная колькасць падключаных аўдыяпрылад Bluetooth"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Выбар максімальнай колькасці падключаных аўдыяпрылад Bluetooth"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Дэтальны журнал адладкі ад пастаўшчыка NFC"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Перазапусціць прыладу?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Падрабязнае вядзенне журналаў NFC прызначана толькі для мэт распрацоўкі. У справаздачы пра памылкі ўключаюцца дадатковыя даныя NFC, якія могуць утрымліваць прыватную інфармацыю. Перазапусціце прыладу, каб змяніць гэту наладу."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Перазапусціць"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Уключаны"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Выключаны"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Знешні дысплэй"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Выкарыстоўваць знешні дысплэй"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Раздзяляльнасць дысплэя"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Знешні дысплэй адключаны"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Паварот"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Стандартна"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Змяненне налад павароту або раздзяляльнасці можа прывесці да спынення актыўных праграм"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Для дубліравання экрана неабходна падключыць прыладу да знешняга дысплэя"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Дадатковыя параметры"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Трансляцыя"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"адлюстраванне"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Уключыць бесправадны дысплей"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Адаптыўныя"</string>
     <string name="brightness" msgid="6216871641021779698">"Узровень яркасці"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Адаптыўная яркасць"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Інфармацыя пра адаптыўную яркасць"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Яркасць экрана будзе мяняцца аўтаматычна, у залежнасці ад наваколля і вашых дзеянняў. Можна пераключаць паўзунок уручную, каб дастасаваць функцыю да вашых параметраў."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Уключана"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Выключана"</string>
@@ -1311,8 +1340,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="8850185380445309835">"Змяніць прыярытэтную SIM?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> з’яўляецца адзінай SIM-картай на вашай прыладзе. Вы хочаце выкарыстоўваць гэту SIM-карту для мабільнай перадачы даных, выклікаў і SMS-паведамленняў?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"Цяпер ваша асноўная SIM-карта – <xliff:g id="NEW_SIM">%1$s</xliff:g>"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Палепшыць перадачу даных?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Дазвольце прыладзе аўтаматычна пераключацца на мабільны інтэрнэт аператара \"<xliff:g id="BACKUP_CARRIER">%1$s</xliff:g>\", калі ён забяспечвае лепшую перадачу даных."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Прадстаўнікі вашай арганізацыі змогуць бачыць інфармацыю пра вашы выклікі, апавяшчэнні і сеткавы трафік."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Іншыя версіі"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Спецыяльныя магчымасці"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Фізічная клавіятура"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Выкарыстоўваць экранную клавіятуру"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Захоўваць яе на экране ў той час, калі фізічная клавіятура актыўная"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Ігнараванне паўторнага націскання"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Паўторныя націсканні адной і той жа клавішы, ажыццёўленыя на працягу <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> мс, ігнаруюцца"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Запавольванне рэакцыі на націсканне"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Рэгістрацыя націскання клавішы ажыццяўляецца пасля заканчэння зададзенага часу: <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> мс"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Заліпанне клавіш"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Замест таго каб утрымліваць усе клавішы са спалучэння, націскайце іх па адной"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Кнопкі мышы"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Выкарыстоўвайце фізічную клавіятуру, каб кіраваць мышшу"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Гарачыя клавішы"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Паказаць спіс спалучэнняў клавіш"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Клавіятуры і інструменты працоўнага профілю"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Наладзце ўласныя жэсты навігацыі для сэнсарнай панэлі"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Прагортванне ў адваротны бок"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Пры гартанні ўніз змесціва рухаецца ўверх"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Дотык унізе справа"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Націсніце правы ніжні вугал сэнсарнай панэлі, каб убачыць больш параметраў"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Націск у ніжнім правым вугле"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Каб адкрыць дадатковыя параметры, націсніце ў ніжнім правым вугле сэнсарнай панэлі"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Хуткасць указальніка"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Стыль заліўкі паказальніка"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Змяніць стыль заліўкі на чорны"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Змяніць стыль заліўкі на жоўты"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Змяніць стыль заліўкі на ружовы"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Змяніць стыль заліўкі на сіні"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Контур паказальніка"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Белы"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Чорны"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Няма"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Даведацца пра жэсты сэнсарнай панэлі"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"сэнсарная панэль, мыш, курсор, прагартаць, правесці пальцам, націснуць правай кнопкай мышы, націснуць, націсканне, паказальнік"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"націснуць правай кнопкай мышы, дакрануцца, націснуць, дотык"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Скінуць"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Выберыце клавішу-мадыфікатар"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Выберыце новы ключ для \"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>\":"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Спецыяльныя магчымасці з выкарыстаннем фізічнай клавіятуры"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Заліпанне клавіш, ігнараванне паўторнага націскання, клавішы мышы"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Раскладка \"<xliff:g id="IME_LABEL">%s</xliff:g>\""</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Стандартная"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Аўтаматычна: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Выбрана карыстальнікам: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Маўленне"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Хуткасць указальніка"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Памер паказальніка"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Паменшыць памер паказальніка"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Павялічыць памер паказальніка"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Прылада кiравання гульнёй"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Перанакіраванне вібрасігналу"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Адпраўляць вібрасігнал на гульнявы кантролер пры падключэнні."</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Усё роўна працягнуць"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Скасаваць"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Налады павелічэння"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Зрушэнне адным пальцам"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Перамяшчайце лупу адным пальцам"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Для перамяшчэння па экране перасоўвайце адзін палец"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Вобласць павелічэння перацягваецца адным пальцам."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Вобласць павелічэння перацягваецца двума пальцамі."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Недаступна, калі павялічваецца толькі частка экрана"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Дакраніцеся да кнопкі, каб павялічыць маштаб"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Хутка павялічвайце маштаб экрана"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Каб павялічыць маштаб:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Скарыстайце хуткі доступ для запуску функцыі павелічэння&lt;br/&gt; {1,number,integer}. Націсніце на экран&lt;br/&gt; {2,number,integer}. Каб перамясціць выяву, перацягніце яе двума пальцамі&lt;br/&gt; {3,number,integer}. Звядзіце ці развядзіце два пальцы для змены маштабу&lt;br/&gt; {4,number,integer}. Скарыстайце хуткі доступ, каб выключыць функцыю павелічэння&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Каб часова павялічыць маштаб:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Упэўніцеся, што ў якасці тыпу павелічэння выбраны поўнаэкранны рэжым&lt;br/&gt; {1,number,integer}. Скарыстайце хуткі доступ для запуску функцыі павелічэння&lt;br/&gt; {2,number,integer}. Утрымлівайце палец націснутым у любым месцы экрана&lt;br/&gt; {3,number,integer}. Каб перамясціць выяву, перацягніце яе пальцам&lt;br/&gt; {4,number,integer}. Падніміце палец, каб спыніць функцыю павелічэння"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Каб павялічыць маштаб:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Скарыстайце хуткі доступ для запуску функцыі павелічэння&lt;br/&gt; {1,number,integer}. Націсніце на экран&lt;br/&gt; {2,number,integer}. Для перамяшчэння па экране перасоўвайце два пальцы&lt;br/&gt; {3,number,integer}. Звядзіце ці развядзіце два пальцы для змены маштабу&lt;br/&gt; {4,number,integer}. Скарыстайце хуткі доступ для выключэння функцыі павелічэння&lt;br/&gt;&lt;br/&gt; Таксама вы можаце часова павялічыць маштаб і выканаць іншыя дзеянні."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Каб павялічыць маштаб:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Скарыстайце хуткі доступ для запуску функцыі павелічэння&lt;br/&gt; {1,number,integer}. Націсніце на экран&lt;br/&gt; {2,number,integer}. Для перамяшчэння па экране перасоўвайце адзін або два пальцы&lt;br/&gt; {3,number,integer}. Звядзіце ці развядзіце два пальцы для змены маштабу&lt;br/&gt; {4,number,integer}. Скарыстайце хуткі доступ для выключэння функцыі павелічэння&lt;br/&gt;&lt;br/&gt; Таксама вы можаце часова павялічыць маштаб і выканаць іншыя дзеянні."</string>
     <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Калі ўключана функцыя павелічэння, вы можаце павялічыць маштаб на экране.\n\n"<b>"Для гэтага"</b>" запусціце функцыю павелічэння, а пасля націсніце ў любым месцы экрана.\n"<ul><li>"Каб прагартаць, перацягніце пальцамі (двума ці больш)."</li>\n<li>"Каб адрэгуляваць маштаб, звядзіце ці развядзіце пальцы (два ці больш)."</li></ul>\n\n<b>"Каб часова змяніць маштаб"</b>", запусціце функцыю павелічэння, потым утрымлівайце націснутым любое месца на экране.\n"<ul><li>"Перацягніце для навігацыі па экране."</li>\n<li>"Падыміце палец, каб паменшыць маштаб."</li></ul>\n\n"Павелічэнне маштабу клавіятуры ці панэлі навігацыі не прадугледжана."</string>
     <string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Старонка <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> з <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Хуткае ўключэнне: кнопка спецыяльных магчымасцей"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Націсніце плаваючую кнопку"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Жэст спецыяльных магчымасцей"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Націсніце кнопку спецыяльных магчымасцей <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>, якая знаходзіцца ўнізе экрана. Каб пераключыцца паміж функцыямі, націсніце і ўтрымлівайце кнопку спецыяльных магчымасцей."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Правядзіце па экране двума пальцамі знізу ўверх.\n\nКаб пераключыцца на іншую функцыю, правядзіце двума пальцамі ўверх і ўтрымлівайце іх на экране."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Правядзіце па экране трыма пальцамі знізу ўверх.\n\nКаб пераключыцца на іншую функцыю, правядзіце трыма пальцамі ўверх і ўтрымлівайце іх на экране."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Правядзіце пальцам уверх ад ніжняга краю экрана. Каб пераключыцца паміж функцыямі, правядзіце пальцам знізу ўверх і ўтрымлівайце яго на экране.}one{Правядзіце # пальцам уверх ад ніжняга краю экрана. Каб пераключыцца паміж функцыямі, правядзіце # пальцам знізу ўверх і ўтрымлівайце іх на экране.}few{Правядзіце # пальцамі ўверх ад ніжняга краю экрана. Каб пераключыцца паміж функцыямі, правядзіце # пальцамі знізу ўверх і ўтрымлівайце іх на экране.}many{Правядзіце # пальцамі ўверх ад ніжняга краю экрана. Каб пераключыцца паміж функцыямі, правядзіце # пальцамі знізу ўверх і ўтрымлівайце іх на экране.}other{Правядзіце # пальца ўверх ад ніжняга краю экрана. Каб пераключыцца паміж функцыямі, правядзіце # пальца знізу ўверх і ўтрымлівайце іх на экране.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Дадатковыя параметры"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Даведацца больш пра сэрвіс \"<xliff:g id="SERVICE">%1$s</xliff:g>\""</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Клавішы гучнасці"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"клавішы гучнасці"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Націсніце і ўтрымлівайце абедзве клавішы гучнасці"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Двойчы націсніце на экран двума пальцамі"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Двайны дотык %1$d пальцамі"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Хутка дакраніцеся да экрана двойчы %1$d пальцамі"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Трайны дотык"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Хутка дакраніцеся да экрана %1$d разы. Гэта можа запаволіць работу прылады."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"двайны дотык %1$d пальцамі"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Хутка націсніце на экран {0,number,integer} разы двума пальцамі"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Тройчы націснуць на экран"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"трайны дотык"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Хутка націсніце на экран некалькі разоў ({0,number,integer}). Выкарыстанне гэтай каманды можа запаволіць працу прылады"</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_global_gesture_preference_title" msgid="8866765674372344850">"Спалучэнні з клавішамі гучнасці"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Налады хуткага доступу"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Хуткі доступ з экрана блакіроўкі"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"Спалучэнні з клавішамі гучнасці на экране блакіроўкі"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Дазволіць уключэнне функцыі на экране блакіроўкі праз спалучэнне клавіш. Утрымлівайце націснутымі абедзве клавішы гучнасці на працягу некалькіх секунд."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Кнопка спецыяльных магчымасцей"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Кнопка спец. магчымасцей; жэст"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Сэрвіс працуе некарэктна."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Хуткія каманды спецыяльных магчымасцей"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Паказваць у хуткіх наладах"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Чырвоны-зялёны"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Чырвоны-зялёны"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Чырвоны-зялёны, горшае ўспрыманне зялёнага"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Чырвоны-зялёны, горшае ўспрыманне чырвонага"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Сіні-жоўты"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Адценні шэрага"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Інтэнсіўнасць"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Парушанае ўспрыманне зялёнага, дэйтаранамалія"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Парушанае ўспрыманне чырвонага, протанамалія"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Недаступна ў рэжыме \"Адценні шэрага\", ці калі выключана карэкцыя колераў"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Дадатковае памяншэнне яркасці"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Дадаткова паменшыць яркасць экрана"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Блакітны"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Жоўты"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Пурпурны"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"<xliff:g id="SERVICE">%1$s</xliff:g>: дазволіць сэрвісу мець поўны кантроль над вашай прыладай?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> патрабуе:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Паверх запыту дазволу адлюстроўваецца дадатак, таму ваш адказ не можа быць правераны ў Наладах."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"Праграма <xliff:g id="SERVICE">%1$s</xliff:g> запытвае поўны кантроль над гэтай прыладай. Яна можа чытаць змесціва экрана і дзейнічаць ад імя карыстальнікаў, якім патрабуюцца спецыяльныя магчымасці. Такі ўзровень доступу не прызначаны для большасці праграм."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Поўны кантроль прызначаны для сэрвісаў спецыяльных магчымасцей, аднак не падыходзіць для большасці праграм."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Прагляд экрана і кіраванне ім"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Функцыя можа распазнаваць усё змесціва на экране і адлюстроўваць яго паверх іншых праграм."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Прагляд і выкананне дзеянняў"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Гэта функцыя можа адсочваць вашы ўзаемадзеянні з праграмай ці датчыкам апаратнага забеспячэння і ўзаемадзейнічаць з праграмамі ад вашага імя."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Дазволіць"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Адмовіць"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Выключыць"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Уключана / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> і <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Вы можаце ўключыць прасторавае гучанне для прылад з Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Налады падключаных прылад"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Прасторавае гучанне"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Выключана"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Выключана"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Выключана"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Ніводнага}=1{Зададзены 1 расклад}one{Зададзены # расклад}few{Зададзена # расклады}many{Зададзена # раскладаў}other{Зададзена # раскладу}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Не турбаваць"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Прыярытэтныя рэжымы"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Дадаць рэжым"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Рэжымы"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Рэжымы для сну, працы, ваджэння і іншыя дапамогуць звесці да мінімуму ўсё, што адцягвае ўвагу, і засяродзіцца на тым, што важна ў гэты момант."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Стварыце ўласны рэжым"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Атрымліваць апавяшчэнні толькі ад важных людзей і праграм"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Задаць расклад"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Расклад заснаваны на:"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Дзень і час"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"з 9:00 да 17:00 па будных днях\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Падзеі ў календары"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{Рэжым \"{mode_1}\" актыўны}=2{Рэжымы \"{mode_1}\" і \"{mode_2}\" актыўныя}=3{Рэжымы \"{mode_1}\", \"{mode_2}\" і \"{mode_3}\" актыўныя}one{Рэжымы \"{mode_1}\", \"{mode_2}\" і яшчэ # актыўныя}few{Рэжымы \"{mode_1}\", \"{mode_2}\" і яшчэ # актыўныя}many{Рэжымы \"{mode_1}\", \"{mode_2}\" і яшчэ # актыўныя}other{Рэжымы \"{mode_1}\", \"{mode_2}\" і яшчэ # актыўныя}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{Можна аўтаматычна ўключыць 1 рэжым}one{Можна аўтаматычна ўключыць # рэжым}few{Можна аўтаматычна ўключыць # рэжымы}many{Можна аўтаматычна ўключыць # рэжымаў}other{Можна аўтаматычна ўключыць # рэжыму}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"УКЛЮЧАНА"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Не зададзена"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Адключана"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Стварыць рэжым"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Карыстальніцкі"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Уключыць"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Выключыць"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Рэжым не знойдзены"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Абмежаванне колькасці непатрэбных апавяшчэнняў"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Заблакіраваць усё, што перашкаджае і адцягвае ўвагу"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Наладзіць рэжым \"<xliff:g id="MODE">%1$s</xliff:g>\""</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Уключэнне рэжыму \"Не турбаваць\""</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Гэты рэжым не распаўсюджваецца на сігналы будзільнікаў і гукі мультымедыя"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Расклады"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Выдаліць расклады"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Выдаліць"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Перайменаваць"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Выдаліць"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Выдаліць рэжым \"<xliff:g id="MODE">%1$s</xliff:g>\"?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Змяніць"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Расклады"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Расклад"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Уключаць аўтаматычна"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Дадайце каляндар"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Перайсці да календара"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Па раскладзе"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Задаць расклад"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Калі ўключаць аўтаматычна:"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Расклад падзеі"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Уключаць падчас падзей:"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Калі адказ на запрашэнне:"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Расклад па часе"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Расклад"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> гадз <xliff:g id="MINUTES">%2$d</xliff:g> хв"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Расклад"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Дазволіць гукавыя апавяшчэнні"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Апавяшчэнні, якія будуць адлюстроўвацца"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Дадатковыя дзеянні"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Фільтры апавяшчэнняў"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Дадатковыя налады"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Выключана}=1{Выключана / аўтаматычна можна ўключыць 1 рэжым}one{Выключана / аўтаматычна можна ўключыць # рэжым}few{Выключана / аўтаматычна можна ўключыць # рэжымы}many{Выключана / аўтаматычна можна ўключыць # рэжымаў}other{Выключана / аўтаматычна можна ўключыць # рэжыму}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Налады адлюстравання"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Параметры адлюстравання"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Адценні шэрага"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"уключыць цёмную тэму"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Пераключэнне АС і праграм на адлюстраванне светлага тэксту на цёмным фоне, што дазваляе знізіць нагрузку на зрок і на некаторых прыладах значна эканоміць зарад акумулятара"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Няма змен у адлюстраванні}=1{{effect_1}}=2{{effect_1} і {effect_2}}=3{{effect_1}, {effect_2} і {effect_3}}one{{effect_1}, {effect_2} і яшчэ #}few{{effect_1}, {effect_2} і яшчэ #}many{{effect_1}, {effect_2} і яшчэ #}other{{effect_1}, {effect_2} і яшчэ #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Дазволіць усе апавяшчэнні"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Будуць дазволены апавяшчэнні ад людзей і праграм, а таксама гукавыя сігналы"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Параметры адлюстравання для адфільтраваных апавяшчэнняў"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Калі рэжым \"Не турбаваць\" уключаны"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Апавяшчэнні без гуку"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"адкрыць апавяшчэнне"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Дазволіць адкладванне апавяшчэнняў"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Значок апавяшчэнняў на значку праграмы"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Групы апавяшчэнняў"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Усплывальныя чаты"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Усплывальныя чаты"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Паказваць гэту размову ў выглядзе ўсплывальных апавяшчэнняў"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Можа адказваць на паведамленні і актываваць кнопкі дзеянняў у апавяшчэннях, у тым ліку адкладаць або адхіляць апавяшчэнні і адказваць на выклікі."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Змяняць налады"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Можа ўключаць або адключаць рэжым \"Не турбаваць\", а таксама змяняць звязаныя з ім налады."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Гэта функцыя можа актываваць рэжымы і кіраваць імі, а таксама змяняць звязаныя з імі налады."</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_modes_warning_summary" msgid="7528432011433844158">"Калі вы адключыце доступ да апавяшчэнняў для праграмы \"<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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"У рэальным часе"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Гэта праграма не падтрымлівае пашыраныя налады"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Дадатковыя налады"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Іншыя налады даступныя ўнутры гэтай праграмы"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Адаптыўныя апавяшчэнні"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Выкарыстоўваць адаптыўныя апавяшчэнні"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Пры атрыманні мноства апавяшчэнняў за кароткі час тэлефон паменшыць іх гучнасць і абмяжуе ўсплывальныя вокны на экране на перыяд да дзвюх хвілін. Для выклікаў, будзільнікаў і прыярытэтных размоў будуць па-ранейшаму ўключаны вібрацыя, гукавы сігнал або адлюстраванне на экране. Усе атрыманыя апавяшчэнні будзе лёгка знайсці, правёўшы пальцам уніз ад верхняга краю экрана."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Зніжэнне гучнасці апавяшчэнняў"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Выкарыстаць зніжэнне гучнасці апавяшчэнняў"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Калі за кароткі час прыходзіць мноства апавяшчэнняў, прылада паменшыць іх гучнасць і абмяжуе абвесткі на перыяд да 2 хвілін. Гэта не закране выклікі, будзільнікі і прыярытэтныя размовы. \n\nКаб праглядзець апавяшчэнні, атрыманыя ў перыяд зніжэння гучнасці, правядзіце пальцам уніз ад верхняга краю экрана."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Прымяніць да працоўных профіляў"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Прымяняць да праграм працоўнага профілю"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Дапаможныя VR-сэрвісы"</string>
@@ -3650,6 +3709,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Доступ да рэжымаў"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Дазволіць доступ да рэжымаў"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Усталяваныя праграмы не запытвалі доступу да рэжымаў"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Апавяшчэнні ад гэтай праграмы выключаны"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Па вашым запыце Android блакіруе дадзеную катэгорыю апавяшчэнняў на гэтай прыладзе"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Па вашым запыце Android блакіруе дадзеную групу апавяшчэнняў на гэтай прыладзе"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Катэгорыі"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Іншае"</string>
     <string name="no_channels" msgid="4716199078612071915">"Гэта праграма не размяшчала ніякіх апавяшчэнняў"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Паказаць катэгорыі, якія не выкарыстоўваюцца"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Дадатковыя налады ў праграме"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Паказаць неўжывальныя катэгорыі"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Схаваць неўжывальныя катэгорыі"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Размовы"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Усе размовы"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"усе размовы"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Прыярытэтныя размовы"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"прыярытэтныя размовы"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Ніякія"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Гэты рэжым не распаўсюджваецца на наступныя праграмы"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Выбраныя праграмы"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Ніякія"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Усе"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Рэжым \"Не турбаваць\" распаўсюджваецца на ўсе праграмы}=1{Рэжым \"Не турбаваць\" не распаўсюджваецца на праграму \"{app_1}\"}=2{Рэжым \"Не турбаваць\" не распаўсюджваецца на праграмы \"{app_1}\" і \"{app_2}\"}=3{Рэжым \"Не турбаваць\" не распаўсюджваецца на праграмы \"{app_1}\", \"{app_2}\" і \"{app_3}\"}one{Рэжым \"Не турбаваць\" не распаўсюджваецца на праграмы \"{app_1}\", \"{app_2}\" і яшчэ на # праграму}few{Рэжым \"Не турбаваць\" не распаўсюджваецца на праграмы \"{app_1}\", \"{app_2}\" і яшчэ на # праграмы}many{Рэжым \"Не турбаваць\" не распаўсюджваецца на праграмы \"{app_1}\", \"{app_2}\" і яшчэ на # праграм}other{Рэжым \"Не турбаваць\" не распаўсюджваецца на праграмы \"{app_1}\", \"{app_2}\" і яшчэ на # праграмы}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (праца)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Вядзецца падлік…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Дазволіць праграмам перавызначаць"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Гэты рэжым не распаўсюджваецца на наступныя праграмы"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Выбраць іншыя праграмы"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Рэжым \"Не турбаваць\" распаўсюджваецца на ўсё без выключэння"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Гэты рэжым распаўсюджваецца на ўсіх людзей"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Гэты рэжым не распаўсюджваецца на некаторыя кантакты"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Рэжым \"Не турбаваць\" не распаўсюджваецца на паўторныя выклікі"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Гэты рэжым не распаўсюджваецца на людзей"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Паўторныя выклікі"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Дазволіць паўторныя выклікі"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Пераключэнне на рэжым \"Толькі будзільнікі\" на адну гадзіну да {time}}one{Пераключэнне на рэжым \"Толькі будзільнікі\" на # гадзіну да {time}}few{Пераключэнне на рэжым \"Толькі будзільнікі\" на # гадзіны да {time}}many{Пераключэнне на рэжым \"Толькі будзільнікі\" на # гадзін да {time}}other{Пераключэнне на рэжым \"Толькі будзільнікі\" на # гадзіны да {time}}}"</string>
     <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_action_change_name" msgid="766639614789907016">"Перайменаваць"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Змяніць значок"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Змяніць значок"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Змяніць рэжым"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Стварыць рэжым"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Карыстальніцкі рэжым"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Назва рэжыму"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Падзеі ў календары"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Парадак дзеянняў перад сном"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"За рулём"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Налады праграмы"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Інфармацыя і налады ў праграме \"<xliff:g id="APP_NAME">%1$s</xliff:g>\""</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Пад кіраваннем праграмы \"<xliff:g id="APP_NAME">%1$s</xliff:g>\""</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Адключыць рэжым \"<xliff:g id="MODE_NAME">%1$s</xliff:g>\"?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Калі гэты рэжым выключаны, ён ніколі не будзе ўключацца"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Адключыць"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Уключыць рэжым \"<xliff:g id="MODE_NAME">%1$s</xliff:g>\"?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Гэты рэжым можа ўключацца аўтаматычна ў адпаведнасці з наладамі"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Уключыць"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Наладзьце рэжым, які адпавядае звычайнаму раскладу"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Наладзьце рэжым для сінхранізацыі з падзеямі календара і адказамі на запрашэнні"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Распрацуйце дзеянні, якія будуць дапамагаць супакоіцца перад сном. Наладзьце будзільнікі, паменшыце яркасць экрана і заблакіруйце апавяшчэнні."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Для ўважлівага і засяроджанага ваджэння пастаўце на першае месца бяспеку на дарозе"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Каб захоўваць фокус, блакіруйце на прыладзе дзеянні, якія адцягваюць увагу і перашкаджаюць"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Устараніце ўсе перашкоды, каб стварыць спакойнае асяроддзе"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Персаналізуйце налады і функцыі праграм для розных карыстальнікаў"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Каб звесці да мінімуму перашкоды, дазвольце ўзаемадзеянне толькі з важнымі людзьмі і праграмамі"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Наладзьце рэжым, які адпавядае звычайнаму раскладу"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Сінхранізуйце сваю прыладу з падзеямі, якія чакаюць вас на працягу дня"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Прачынаючыся, адчувайце сябе на 100%"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"На дарозе галоўнае – бяспека"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Сканцэнтруйцеся, каб максімальна сабрацца"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Для сітуацый, калі важна праявіць ветлівасць"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Кантраляванае выкарыстанне для максімальнай бяспекі"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Сфакусіруйце сваю ўвагу"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Заўвага"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Закрыць"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Адправіць водгук пра гэту прыладу"</string>
@@ -4006,6 +4102,10 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Дазволіць праграме \"<xliff:g id="APP">%1$s</xliff:g>\" доступ да рэжымаў?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Праграма зможа ўключаць і адключаць рэжым \"Не турбаваць\", актываваць рэжымы і кіраваць імі, а таксама змяняць звязаныя з імі налады."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"Адклікаць доступ праграмы \"<xliff:g id="APP">%1$s</xliff:g>\" да рэжымаў?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Усе рэжымы, створаныя гэтай праграмай, будуць выдалены."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Не аптымізаваць"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Аптымізаваць"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Акумулятар можа разраджацца хутчэй. Праграма будзе без абмежаванняў спажываць зарад у фонавым рэжыме."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Чахол"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Акумулятар"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Панель налад"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"Прымусова ўключаць рэжым працоўнага стала"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Прымусова ўключаць эксперыментальны рэжым працоўнага стала на дадатковых экранах"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"Уключыць адвольную форму вокнаў"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Уключыць вокны адвольнай формы на другасным дысплэі"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"У рэжыме некалькіх вокнаў уключыць нязменны памер"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Дазваляе выкарыстоўваць праграмы, якія маюць нязменны памер, у рэжыме некалькіх вокнаў"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Перавызначэнне ўключэння цёмнай тэмы"</string>
@@ -4969,7 +5069,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"мабільная перадача даных"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Каб палепшыць працу прылады, вы можаце дазволіць праграмам і сэрвісам шукаць сеткі Wi-Fi, нават калі Wi‑Fi выключаны. Дзякуючы гэтаму палепшыцца праца функцый і сэрвісаў, звязаных з геалакацыяй. Змяніць гэты рэжым можна ў наладах пошуку сетак Wi-Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Змяніць"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Падключана"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Падключана часова"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Часова выкарыстоўваецца трафік аператара \"<xliff:g id="SUBNAME">%1$s</xliff:g>\""</string>
@@ -5001,7 +5100,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Выкарыстоўваць замацаванне праграмы"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Выкарыстоўваць параметры распрацоўшчыка"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Скарыстаць сэрвіс друку"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Дазволіць некалькі карыстальнікаў"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Дазволіць пераключэнне карыстальнікаў"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"дазволіць, некалькі, карыстальнік, дазволіць, шмат"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"некалькі, карыстальнікі, профілі, людзі, уліковыя запісы, пераключыць, многа"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Выкарыстоўваць адладку па Wi-Fi"</string>
@@ -5058,52 +5157,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> запытвае падключэнне да гэтага тэлефона.\n\nРаней вы не падключаліся да прылады \"<xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>\"."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Не падключацца"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Падключыцца"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Налады TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Уключана"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Выключана"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Вярнуцца да стандартных налад"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Налады скінуты да стандартных."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Максімальны баланс пры поўнай зарадцы"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Баланс"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Абмежаванні выкарыстання"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Першапачатковае абмежаванне выкарыстання"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Мінімальнае абмежаванне выкарыстання"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Максімальнае абмежаванне выкарыстання"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Мадыфікатары"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Дзеянні (кошт вытворчасці)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Дзеянні (базісная цана)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Бонусы за адзінкавую падзею"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Бонусы за секунду пацягласці падзеі"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Максімальная колькасць бонусаў у дзень"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Усталяванне праграм"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Найвышэйшая актыўнасць"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Апавяшчэнне прагледжана"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Апавяшчэнне прагледжана на працягу 15 хв"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Узаемадзеянне з апавяшчэннем"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Узаемадзеянне з віджэтам"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Іншае ўзаемадзеянне карыстальніка"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Запуск задачы з максімальным прыярытэтам"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Выконваецца задача з макс. прыярытэтам"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Запуск задачы з высокім прыярытэтам"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Выконваецца задача з высокім прыярытэтам"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Запуск стандартнай задачы"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Выконваецца стандартная задача"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Запуск задачы з нізкім прыярытэтам"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Выконваецца задача з нізкім прыярытэтам"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Запуск задачы з мінімальным прыярытэтам"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Выконваецца задача з мін. прыярытэтам"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Штраф за час чакання"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Мінімальны баланс пры поўнай зарадцы (для выключаных праграм)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Мінімальны баланс пры поўнай зарадцы (для сістэмных праграм без інтэрфейсу)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Мінімальны баланс пры поўнай зарадцы (для астатніх праграм)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Дадаванне \"Мінімальны баланс пры поўнай зарадцы\" (сродкі абнаўлення праграм)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Зарадка"</item>
-    <item msgid="658627268149681677">"Дрымота"</item>
-    <item msgid="1599558140284643834">"Рэжым эканоміі зараду"</item>
-    <item msgid="588427840913221601">"Стан працэсу"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Пацвердзіць"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Прагледзець"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Выберыце экранную застаўку"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Паказваць дадатковую інфармацыю"</string>
@@ -5115,8 +5168,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Выберыце змесціва, якое будзе паказвацца на экране, калі планшэт падключаны да док-станцыі. Пры выкарыстанні экраннай застаўкі прылада можа спажываць больш энергіі."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Наладзіць"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Наладзіць застаўку \"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>\""</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Каб уключыць падтрымку адвольнай формы, патрабуецца перазагрузка."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Каб прымусова ўключыць на дадатковых дысплэях рэжым працоўнага стала, патрабуецца перазагрузка."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Каб уключыць падтрымку вокнаў у адвольнай форме, патрабуецца перазагрузка."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Каб абнавіць даступнасць вокнаў адвольнай формы, патрабуецца перазагрузка."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Каб уключыць вокны адвольнай формы на другасным дысплэі, патрабуецца перазагрузка."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Перазагрузіць зараз"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Перазагрузіць пазней"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Прасторавае гучанне"</string>
@@ -5213,7 +5267,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Ружовы"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Пурпурны"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Фіялетавы"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Гатова"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Захаваць"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Скасаваць"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Стандартнае значэнне"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Сярэдняя"</string>
@@ -5234,6 +5288,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Уключана"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Выключана"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Уключана"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Гук: %1$d%% злева, %2$d%% справа"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Гук: %1$d%% справа, %2$d%% злева"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Назва прылады даступная для ўсталяваных вамі праграм. Яе таксама могуць пабачыць іншыя людзі, калі вы падключыцеся да прылад з Bluetooth або да сеткі Wi-Fi ці наладзіце хот-спот Wi-Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Граматычны род"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Выберыце граматычны род"</string>
@@ -5302,6 +5358,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Абагульванне аўдыя спынена"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Падключыце сумяшчальную прыладу"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Каб пачаць абагульваць аўдыя, спачатку падключыце навушнікі LE Audio да тэлефона"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Пераключыцца на <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Падключыцца да аўдыяплыні LE"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Аўдыяплыні паблізу"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Аўдыяплыні"</string>
@@ -5345,4 +5402,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Слухаць плынь"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Адсканіруйце QR-код аўдыяплыні для праслухоўвання на прыладзе \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\""</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Калі ажыццяўляецца абагульванне, змяняць пароль нельга. Каб змяніць пароль, выключыце абагульванне аўдыя."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Сканер QR-кодаў"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Патрабуецца дапамога?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Шукаць у наладах"</string>
 </resources>
diff --git a/res/values-bg/arrays.xml b/res/values-bg/arrays.xml
index 4c1460a..631450e 100644
--- a/res/values-bg/arrays.xml
+++ b/res/values-bg/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Време за сън"</item>
-    <item msgid="4152450357280759894">"Шофиране"</item>
-    <item msgid="7096549258219399423">"Реалистично"</item>
-    <item msgid="2760716776980432977">"Управлявано"</item>
-    <item msgid="601734478369121764">"Звезда"</item>
-    <item msgid="6243809315432780521">"Календар"</item>
-    <item msgid="4913577903148415331">"Време"</item>
-    <item msgid="3653377604690057780">"Театър"</item>
-    <item msgid="3843711267408385410">"Цвете"</item>
+    <item msgid="1216815120972438676">"Куфарче"</item>
+    <item msgid="184985872234062767">"Класическа сграда"</item>
+    <item msgid="9189550412466785530">"Жилищна сграда"</item>
+    <item msgid="2142527562511049422">"Балонче за реч"</item>
+    <item msgid="2548100558260478605">"Група хора"</item>
+    <item msgid="2270003903304578284">"Електрическа крушка"</item>
+    <item msgid="4793496619091161864">"Календар"</item>
+    <item msgid="5673625795644364100">"Не безпокойте"</item>
+    <item msgid="1423820834865831361">"Бягащ човек"</item>
+    <item msgid="2037298830718732608">"Голф"</item>
+    <item msgid="2197835014443491074">"Гира за фитнес"</item>
+    <item msgid="2730180105015616518">"Плуване"</item>
+    <item msgid="2666922823253345958">"Човек на пешеходен туризъм"</item>
+    <item msgid="8234880356472211396">"Човек, хвърлящ топка"</item>
+    <item msgid="4642980625253001443">"Ритащ човек"</item>
+    <item msgid="4324795269518833500">"Контролер за игри"</item>
+    <item msgid="7789966425125441125">"Цветова палитра на художник"</item>
+    <item msgid="663512680597461570">"Снежинка"</item>
+    <item msgid="7952183800501346803">"Плажен чадър"</item>
+    <item msgid="799139025758265891">"Инструменти за работилница"</item>
+    <item msgid="1330084588359129896">"Палатка"</item>
+    <item msgid="3861584909935022342">"Филмов видеоколаж"</item>
+    <item msgid="5827426100157335512">"Книга"</item>
+    <item msgid="8585828346253128384">"Лотос"</item>
+    <item msgid="8788370542815300188">"Човешки ум"</item>
+    <item msgid="7287354964767553293">"Слушалки"</item>
+    <item msgid="2530059623783800987">"Телевизор"</item>
+    <item msgid="5307182323469376758">"Влак"</item>
+    <item msgid="4903790544026923026">"Автомобил"</item>
+    <item msgid="5010405583912314582">"Вилица и нож"</item>
+    <item msgid="8939998598599064900">"Пазарска кошница"</item>
+    <item msgid="3379605903308731893">"Дете"</item>
+    <item msgid="7808668968550293112">"Лапа на животно"</item>
+    <item msgid="1000692647524056504">"Значка със звезда"</item>
+    <item msgid="8270261073421676502">"Двама души"</item>
+    <item msgid="5767782819651505460">"Звезда"</item>
+    <item msgid="4368451291862729334">"Сърце"</item>
+    <item msgid="2613199102208419986">"Къща"</item>
+    <item msgid="3022279986430275040">"Полумесец"</item>
+    <item msgid="5421089790869483206">"Часовник"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 1d43d43..d96283d 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Прекъсната"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Неизвестно"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Визуализация"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR код"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Намаляване на размера"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Увеличаване на размера"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"Винаги"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Настройки за слуховия апарат"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Пряк път, съвместимост със слухови апарати"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Предварително зададено"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Няма предвар. зададени стойности, програмирани от аудиолога"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Предварително зададените настройки не бяха актуализирани"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Аудиоизход"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Всичко за аудиоизхода"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Избирането на език за това приложение не е налице от настройките."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Езикът може да се различава от езиците, налични в приложението. Възможно е някои приложения да не поддържат тази настройка."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Задайте език за всяко приложение."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Системата, приложенията и уебсайтовете използват първия поддържан език от тези, които предпочитате."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Устройството ви, приложенията и уебсайтовете използват първия поддържан език от тези, които предпочитате.\n\nМного приложения ще използват и региона от предпочитания ви език, за да форматират датата, цифрите и единиците. За да промените региона си, добавете език, след което изберете предпочитания от вас регион."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"За да изберете език за всяко отделно приложение, отворете настройките за език на приложенията."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Научете повече за езиците на приложенията"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Искате ли да промените системния език на %s?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Изкл."</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Включено/# приложение има достъп до местоположението}other{Включено/# приложения имат достъп до местоположението}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Зарежда се…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Приложенията с разрешението за устройства в близост могат да определят относителната позиция на свързаните устройства."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Приложенията с разрешението за устройства в близост могат да определят относителната позиция на свързаните устройства."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Достъпът до местоположението е изключен за приложенията и услугите. Местоположението на устройството ви пак може да се изпраща до органите за бързо реагиране, когато се обадите на номер за спешни случаи или изпратите SMS до такъв."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Научете повече за настройките за местоположението"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"За промяна отворете настройките на ChromeOS &gt; „Поверителност и сигурност &gt; Контроли за поверителност &gt; Достъп до местоположението“"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Лицето и <xliff:g id="WATCH">%s</xliff:g> бяха добавени"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Лицето, отпечатъкът и <xliff:g id="WATCH">%s</xliff:g> бяха добавени"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Лицето, отпечатъците и <xliff:g id="WATCH">%s</xliff:g> бяха добавени"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Проверката на самоличността е включена и изисква биометрични данни"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Отключване с Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Добавихте часовник"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Настройване на часовника ви"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Научете повече за „Отключване чрез часовника“"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Добавяне на часовник"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Премахване на часовника"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Отключване с лице и отпечатък"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Отключване с лице и отпечатък"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Отключване с лице и отпечатък за служебни цели"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Необходимо е настройване"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Добавени са лице и отпечатъци"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Частното пространство се настройва…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Не бе настроено частно пространство"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Нов опит"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Изход"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Частното пространство не е налице.\nПреглед на възможните причини"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Преглед на възможните причини"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Искате ли да зададете нова опция за заключване на частното пространство?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Можете да зададете нова опция за заключване специално за частното пространство или да използвате тази, с която отключвате устройството си"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Използване на закл. на екрана"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Когато включите Bluetooth, устройството ви може да се свързва с други устройства с Bluetooth в близост.\n\nС цел подобряване на практическата работа с устройството приложенията и услугите пак могат да сканират за устройства в близост по всяко време дори когато функцията за Bluetooth e изключена. Това може да послужи например за подобряване на базиращите се на местоположението функции и услуги. Можете да промените това от настройките за сканиране през Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"При включен Bluetooth устройството ви може да се свързва с други устройства с Bluetooth в близост. Функции като „Бързо споделяне“ и „Намиране на устройството ми“ използват Bluetooth.\n\nПриложенията и услугите пак могат да сканират за устройства в близост дори когато функцията за Bluetooth е изключена. Това например може да се използва за подобряване на базиращите се на местоположението функции и услуги. Имате възможност да промените това от настройките за сканиране за устройства с Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Промяна"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Подробности за устройството"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Настройки на клавиатурата"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Още настройки"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Актуализации на фърмуера, информация и др."</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Съвети и поддръжка"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Bluetooth адрес на устройството: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Адрес на Bluetooth на устройството: \n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Да се забрави ли устройството?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Експериментално. За по-качествен звук."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Забравяне на устройството"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Прекратяване на връзката с приложението"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Още настройки"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Максимален брой свързани аудиоустройства с Bluetooth"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Изберете максималния брой свързани аудиоустройства с Bluetooth"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Подробен рег. файл (NFC) за отстр. на грешки за доставчиците"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Да се рестартира ли устройството?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Подробното записване в регистрационни файлове посредством NFC е предназначено само за програмни цели. В сигналите за програмни грешки, които може да съдържат лична информация, са включени допълнителни данни от NFC. За да промените тази настройка, рестартирайте устройството си."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Рестартиране"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Вкл."</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Изкл."</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Външен екран"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Използване на външен екран"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Разделителна способност на екрана"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Връзката с външния екран е прекратена"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Завъртане"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Стандартно"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Промяната на настройката за завъртане или разделителна способност може да спре някои от приложенията, които се изпълняват в момента"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Устройството ви трябва да е свързано с външен екран, за да дублирате съдържанието на екрана си"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Още опции"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Предаване"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"дублиране"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Активир. на безжичния дисплей"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Адаптивни"</string>
     <string name="brightness" msgid="6216871641021779698">"Ниво на яркостта"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Адаптивна яркост"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Всичко за адаптивната яркост"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Яркостта на екрана ще се коригира автоматично спрямо средата и активностите ви. Можете да преместите плъзгача ръчно, за да помогнете на функцията за адаптивна яркост да научи предпочитанията ви."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Вкл."</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Изключено"</string>
@@ -1311,8 +1344,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="8850185380445309835">"Да се смени ли основната SIM?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> е единствената SIM карта в устройството ви. Искате ли да я използвате за мобилни данни, обаждания и SMS съобщения?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> вече е основната ви SIM карта"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Да се подобри ли покритието?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Разрешете на устройството си автоматично да превключва към <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g>, когато мрежата осигурява по-добри условия за мобилни данни."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Обажданията, съобщенията и трафикът в мрежата може да са видими за организацията ви."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Опции"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Достъпност"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Физическа клавиатура"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Използване на екранната клавиатура"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Показва се на екрана, докато физическата клавиатура е активна"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Игнориране на многократ. натискане"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Клавиатурата пренебрегва бързите натискания на един и същ клавиш, повтарящи се в рамките на <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> мсек"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Забавяне на сигнала от клавишите"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Коригира времето, необходимо за активиране след натискане на даден клавиш, на <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> мсек"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Фиксирани клавиши"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Натискайте клавишите от съответните комбинации един по един, вместо да ги задържате заедно"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Бутони на мишката"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Използвайте физическата клавиатура, за да управлявате мишката."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Клавишни комбинации"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Показване на списък с клавишните комбинации"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Клавиатури и инструменти за служебния потр. профил"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Жестове за навигиране със сензорния панел: Персонализиране"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Обръщане на посоката на превъртане"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Съдържанието се премества нагоре при превъртане надолу"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Докосване долу вдясно"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"За още опции докоснете долния десен ъгъл на сензорния панел"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Кликване долу вдясно"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"За още опции кликнете в долния десен ъгъл на сензорния панел"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Скорост на курсора"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Стил на запълване на курсора"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Запълване на курсора в черно"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Запълване на курсора в жълто"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Запълване на курсора в розово"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Запълване на курсора в синьо"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Стил на контура на курсора"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Бяло"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Черно"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Без"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Жестове със сензорния панел: Урок"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"тракпад, мишка, курсор, превъртане, плъзгане, кликване с десния бутон, кликване, показалец"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"кликване с десния бутон, докосване"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Нулиране"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Избиране на модифициращ клавиш"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Изберете нов ключ за <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Подредба: <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"По подразбиране"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Автоматично: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Избрано от потребителя: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Говор"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Скорост на курсора"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Мащаб на курсора"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Намаляване на мащаба на курсора"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Увеличаване на мащаба на курсора"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Контролер за игри"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Пренасочване на вибрирането"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Пренасочване на вибрирането към контролера за игри, когато е свързан"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Напред въпреки това"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Отказ"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Настройки за увеличението"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Преместване с един пръст"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Преместете лупата с 1 пръст"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Плъзнете с пръст, за да се придвижвате на екрана."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Преместете областта за увеличаване, като плъзнете 1 пръст."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Преместете областта за увеличаване, като плъзнете 2 пръста."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Не е налице, когато се увеличава само част от екрана"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Променяйте мащаба с докосване на бутон"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Бързо увеличавайте мащаба на екрана, за да уголемите съдържанието"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;За да увеличите мащаба&lt;/b&gt;:&lt;br/&gt; {0,number,integer}. Използвайте прекия път за стартиране на увеличението.&lt;br/&gt; {1,number,integer}. Докоснете екрана.&lt;br/&gt; {2,number,integer}. Плъзнете с 2 пръста, за да се придвижите по екрана.&lt;br/&gt; {3,number,integer}. Съберете 2 пръста, за да коригирате мащаба.&lt;br/&gt; {4,number,integer}. Използвайте прекия път за спиране на увеличението.&lt;br/&gt;&lt;br/&gt; &lt;b&gt;За временно увеличаване на мащаба&lt;/b&gt;:&lt;br/&gt; {0,number,integer}. За типа увеличение трябва да зададете „Цял екран“.&lt;br/&gt; {1,number,integer}. Използвайте прекия път за стартиране на увеличението.&lt;br/&gt; {2,number,integer}. Докоснете и задръжте произволно място на екрана.&lt;br/&gt; {3,number,integer}. Плъзнете пръст, за да се придвижите по екрана.&lt;br/&gt; {4,number,integer}. Вдигнете пръста си, за да спрете увеличението."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;За да увеличите мащаба&lt;/b&gt;:&lt;br/&gt; {0,number,integer}. Използвайте прекия път за стартиране на увеличението.&lt;br/&gt; {1,number,integer}. Докоснете екрана.&lt;br/&gt; {2,number,integer}. Плъзнете с 2 пръста, за да се придвижите по екрана.&lt;br/&gt; {3,number,integer}. Съберете 2 пръста, за да коригирате мащаба.&lt;br/&gt; {4,number,integer}. Използвайте прекия път, за да спрете увеличението.&lt;br/&gt;&lt;br/&gt; Можете също да приближавате временно и още много други неща."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;За да увеличите мащаба&lt;/b&gt;:&lt;br/&gt; {0,number,integer}. Използвайте прекия път за стартиране на увеличението.&lt;br/&gt; {1,number,integer}. Докоснете екрана.&lt;br/&gt; {2,number,integer}. Плъзнете с 1 или 2 пръста, за да се придвижите по екрана.&lt;br/&gt; {3,number,integer}. Съберете 2 пръста, за да коригирате мащаба.&lt;br/&gt; {4,number,integer}. Използвайте прекия път, за да спрете увеличението.&lt;br/&gt;&lt;br/&gt; Можете също да приближавате временно и още много други неща."</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_pager" msgid="8461939455728454061">"Страница <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> от <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Пряк път чрез бутона за достъпност"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Докоснете плаващия бутон"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Жест за достъпност"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Докоснете бутона за достъпност <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> в долната част на екрана. За превключване между функциите докоснете и задръжте бутона за достъпност."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Плъзнете два пръста нагоре от долната част на екрана.\n\nЗа превключване между функциите плъзнете два пръста нагоре и задръжте."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Прекарайте три пръста нагоре от долната част на екрана.\n\nЗа превключване между функциите прекарайте три пръста нагоре и задръжте."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Плъзнете пръст нагоре от долната част на екрана. За превключване между функциите плъзнете пръст нагоре и задръжте.}other{Плъзнете # пръста нагоре от долната част на екрана. За превключване между функциите плъзнете # пръста нагоре и задръжте.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Още опции"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Научете повече за <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Бутони за силата на звука"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"бутони за силата на звука."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Натиснете и задръжте двата бутона за силата на звука"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Двукратно докосване на екрана с два пръста"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Двукратно докосване с %1$d пръста"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Докоснете бързо екрана два пъти с %1$d пръста"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Трикратно докосване"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Докоснете бързо екрана %1$d пъти. Това може да забави работата на устройството ви."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"двукратно докосване с %1$d пръста."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Бързо докоснете екрана {0,number,integer} пъти с два пръста"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Трикратно докосване на екрана"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"трикратно докосване."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Бързо докоснете екрана {0,number,integer} пъти. Този пряк път може да забави работата на устройството ви."</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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Настройки за преките пътища"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Пряк път от заключения екран"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Разрешете прекият път към функцията да се включва от заключения екран. Натиснете двата бутона за силата на звука и ги задръжте за няколко секунди."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Бутон за достъпност"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Бутон и жест за достъпност"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Услугата не функционира правилно."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Преки пътища към достъпността"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Показване в „Бързи настройки“"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Червено-зелено"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Червено-зелено"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Червено-зелено, нарушено възприем. на зелено"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Червено-зелено, нарушено възприем. на червено"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Синьо-жълто"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Сива скала"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Наситеност"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Нарушено възприем. на зелено, деутераномалия"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Нарушено възприемане на червено, протаномалия"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Не е налице в режим на сива скала или когато корекцията на цветове е деактивирана"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Допълнително затъмняване"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Допълнително затъмняване на екрана"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Синьо-зелено"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Жълто"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Пурпурен"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Искате ли да разрешите на <xliff:g id="SERVICE">%1$s</xliff:g> да има пълен контрол над устройството ви?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> изисква:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"От Настройки не може да се получи потвърждение за отговора ви, защото заявката за разрешение се прикрива от приложение."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> иска пълен контрол над това устройство. Услугата може да чете екрана и да действа от името на потребителите с увреждания. Това ниво на контрол не е подходящо за повечето приложения."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Пълният контрол е подходящ за приложенията, които помагат на потребителите със специални нужди, но не и за повечето приложения."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Преглед и управление на екрана"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Услугата може да чете цялото съдържание на екрана и да показва такова върху други приложения."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Преглед и извършване на действия"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Услугата може да проследява взаимодействията ви с дадено приложение или хардуерен сензор, както и да взаимодейства с приложенията от ваше име."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Разрешаване"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Отказ"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Изключване"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Вкл./<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g>, <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Можете също да включите пространственото аудио за устройствата с Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Настройки за свързани устройства"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Пространствено аудио"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Изкл."</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Изкл."</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Изкл."</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Нито един}=1{Зададен е 1 график}other{Зададени са # графика}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Не безпокойте"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Приоритетни режими"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Добавяне на режим"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Режими"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Сведете разсейващите фактори до минимум и се съсредоточете върху важните неща с режими за сън, работа, шофиране и всичко останало."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Създаване на ваш собствен режим"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Получаване на известия само от важни хора и приложения"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Задаване на график"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"График въз основа на"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Ден и час"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"„9:00 – 17:00 ч. в делнични дни“"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Събития в календара"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{Режимът „{mode_1}“ е активен}=2{Режимите „{mode_1}“ и „{mode_2}“ са активни}=3{Режимите „{mode_1}“, „{mode_2}“ и „{mode_3}“ са активни}other{Режимите „{mode_1}“, „{mode_2}“ и още # са активни}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 режим може да се включва автоматично}other{# режима могат да се включват автоматично}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ВКЛ."</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Не е зададено"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Деактивирано"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Създаване на режим"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Персонализирано"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Включване сега"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Изключване"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Режимът не е намерен"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ограничаване на прекъсванията"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Блокиране на прекъсванията и разсейванията"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Настройване на <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Включване на режима „Не безпокойте“"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Будилниците и звуците на мултимедийното съдържание могат да прекъсват режима"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Графици"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Изтриване на графиците"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Изтриване"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Преименуване"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Изтриване"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Да се изтрие ли режимът „<xliff:g id="MODE">%1$s</xliff:g>“?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Редактиране"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Графици"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"График"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Автоматично включване"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Добавяне на календар"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Използване на календара ви"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"График"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Задаване на график"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Кога да се включва автоматично"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"График за събития"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Включване при събития за"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Когато отговорът на поканата е"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Времеви график"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"График"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ч и <xliff:g id="MINUTES">%2$d</xliff:g> мин"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"График"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Разрешаване на звуковите прекъсвания"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Известия, които могат да достигнат до вас"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Допълнителни действия"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Филтри за известията"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Още настройки"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Изкл.}=1{Изкл./1 режим може да се включва автоматично}other{Изкл./# режима могат да се включват автоматично}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Настройки за показване"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Опции за показване"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Сива скала"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"активиране на тъмната тема"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Превключете предпочитанията за операционната система и приложенията така, че да дадете предимство на светлия текст на тъмен фон. Това може да е по-щадящо за очите и да доведе до значителна икономия на батерията на някои устройства"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Няма промени в настройките за показване}=1{{effect_1}}=2{{effect_1} и {effect_2}}=3{{effect_1}, {effect_2} и {effect_3}}other{{effect_1}, {effect_2} и още #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Разрешаване на всички известия"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Хората, приложенията и звуците могат да прекъсват режима"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Опции за показване на филтрираните известия"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Когато режимът „Не безпокойте“ е включен"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Без звук от известията"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"отваряне на известието"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Разрешаване на отлагането на известията"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Точка за известия в иконата на прил."</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Групи известия"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Балончета"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Балончета"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Показване на балонче за този разговор"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Може да отговаря на съобщения и да взаимодейства с бутоните в известията, включително да отлага или отхвърля известия и да отговаря на обаждания."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Промяна на настройките"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Може да включва и изключва режима „Не безпокойте“ и да променя свързаните с него настройки."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Може да управлява и активира режими и да променя свързаните с тях настройки."</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_modes_warning_summary" msgid="7528432011433844158">"Ако изключите достъпа до известията за „<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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"В реално време"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Това приложение не поддържа подобрените настройки"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Още настройки"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Още настройки са налице в приложението"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Адаптивни известия"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Използване на адаптивни известия"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Когато получавате много известия за кратък период от време, телефонът ви ще намали силата на звука и ще сведе до минимум изскачащите прозорци на екрана за период до две минути. При обаждания, будилници и разговори с приоритет устройството ви ще вибрира, ще издава звук или те ще се показват на екрана. Всички известия могат да бъдат намерени лесно, като плъзнете надолу от горната част на екрана."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Изчакване за известията"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Използване на функцията за изчакване за известията"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Когато получавате много известия за кратък период от време, устройството ви ще намали силата на звука си и ще сведе до минимум сигналите за период до две минути. Обажданията, будилниците и разговорите с приоритет няма да бъдат засегнати. \n\nПолучените по време на периода на изчакване известия могат да бъдат намерени, като плъзнете надолу от горната част на екрана."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Прилагане към служебните потребителски профили"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Прилагане за приложенията в служебния потребителски профил"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Помощни услуги за VR"</string>
@@ -3650,6 +3717,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Достъп до режимите"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Разрешаване на достъпа до режимите"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Няма инсталирани приложения, които са заявили достъп до режимите"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Не сте разрешили на приложението да показва известия"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"По ваша заявка Android блокира показването на тази категория известия на устройството"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"По ваша заявка Android блокира показването на тази група известия на устройството"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Категории"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Други"</string>
     <string name="no_channels" msgid="4716199078612071915">"Все още няма публикувани известия от това приложение"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Показване на неизползваните категории"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Допълнителни настройки в приложението"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Показване на неизползв. категории"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Скриване на неизползв. категории"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"от <xliff:g id="START">%1$s</xliff:g> до <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Разговори"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Всички разговори"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"всички разговори"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Разговори с приоритет"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"разговори с приоритет"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Никакви"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Приложения, които могат да прекъсват режима"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Избрани приложения"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Никои"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Всички"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Нито едно приложение не може да прекъсва режима}=1{{app_1} може да прекъсва режима}=2{{app_1} и {app_2} могат да прекъсват режима}=3{{app_1}, {app_2} и {app_3} могат да прекъсват режима}other{{app_1}, {app_2} и още # могат да прекъсват режима}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (служ.)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Изчислява се…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+ <xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Разрешаване на приложения да отменят режима"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Приложения, които могат да прекъсват режима"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Избиране на още приложения"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Нищо не може да прекъсва режима"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Никой не може да прекъсва режима"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Някои хора могат да прекъсват режима"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Повторно обаждащите се могат да прекъсват"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Всички хора могат да прекъсват режима"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Повторно обаждащи се"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Разрешаване на повторно обаждащи се"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Активиране на режима „Само будилници“ за един час (до {time})}other{Активиране на режима „Само будилници“ за # часа (до {time})}}"</string>
     <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_action_change_name" msgid="766639614789907016">"Преименуване"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Промяна на иконата"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Промяна на иконата"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Редактир. на режима"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Създаване на режим"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Персонализиран режим"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Име на режима"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Събития от календара"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Час на лягане и ставане"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"По време на шофиране"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Настройки за приложения"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Информация и настройки в(ъв) <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Управлява се от <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Деактивиране на „<xliff:g id="MODE_NAME">%1$s</xliff:g>“?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Този режим няма да се включва, след като бъде деактивиран"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Деактивиране"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Активиране на „<xliff:g id="MODE_NAME">%1$s</xliff:g>“?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Този режим може да се включва автоматично въз основа на настройките му"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Активиране"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Изберете режим, който следва редовен график"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Изберете режим за синхронизиране със събитията от календара и отговорите на поканите"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Създайте успокояваща поредица за сън. Задайте будилници, затъмнете екрана и блокирайте известията."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Приоритизирайте безопасността на пътя с цел шофиране без разсейване"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Блокирайте разсейващите елементи или прекъсванията на устройството си, за да се съсредоточите"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Спрете всички разсейващи елементи за тиха среда"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Персонализирайте практическата работа и настройките на устройството за различни потребители"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Намалете прекъсванията, като разрешите само на важни хора и приложения да се свързват с вас"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Изберете режим, който следва редовен график"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Синхронизирайте устройството си със събитията за деня"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Събудете се изпълнени с енергия"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Съсредоточете се върху безопасността, докато шофирате"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Настройте се за концентрация"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"За културни мероприятия"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Напътствия за балансирано използване на устройството"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Насочете вниманието си към важните неща"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Предупреждение"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Затваряне"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Отзиви за устройството"</string>
@@ -4006,6 +4110,11 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Да се разреши ли достъп до режимите за <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Приложението ще може да включва/изключва режима „Не безпокойте“, да управлява и активира режимите, както и да извършва промени в свързаните настройки."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Всички режими, създадени от това приложение, ще бъдат премахнати."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Без оптимизиране"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Оптимизиране"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Възможно е да доведе до по-бързо изразходване на батерията. Приложението вече ще може да я използва на заден план."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Калъф"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Батерия"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Панел за настройки"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"Принудително задаване на настолен режим"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Принудително задаване на експерименталния настолен режим на алтернативни дисплеи"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"Активиране на прозорците в свободна форма"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Актив. на проз. в своб. форма на вторични дисплеи"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Активиране на непреоразмерими елементи в „Няколко прозореца“"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Разрешава на приложенията, които не могат да се преоразмеряват, да бъдат в режим за няколко прозореца"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Отмяна на налагането на тъмен режим"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"мобилни данни"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"С цел подобряване на практическата работа с устройството приложенията и услугите пак могат да сканират за Wi‑Fi мрежи по всяко време дори когато функцията за Wi‑Fi e изключена. Това може да послужи например за подобряване на базиращите се на местоположението функции и услуги. Можете да промените съответното поведение от настройките за сканиране за Wi‑Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Промяна"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Свързано"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Установена е временна връзка"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Временно се използва <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Използване на функцията за фиксиране на приложение"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Използване на опциите за програмисти"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Използване на услуга за отпечатване"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Разрешаване на използването от няколко потребители"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Разрешаване на превключването на потребителя"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"разрешаване, няколко, потребител, позволяване, много"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"няколко, потребители, потребителски профили, хора, профили, превключване, много"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Използване на безжичното отстраняване на грешки"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> иска да се свърже с този телефон.\n\nДосега не сте се свързвали с(ъс) <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Отказ"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Свързване"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Настройки за TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Вкл."</string>
-    <string name="tare_off" msgid="6305694402929756726">"Изкл."</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Възстановяване на стандартните настройки"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Възстановени са стандартните настройки"</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Максимален баланс при заредена батерия"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Баланси"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Ограничения за потреблението"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Първоначално ограничение за потреблението"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Минимално ограничение за потреблението"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Максимално ограничение за потреблението"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Модификатори"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Действия (цена за извършване)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Действия (основна цена)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Награди за едно събитие"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Награди/секунда от продълж. на събитието"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Максималният брой награди на ден"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Инсталиране на приложение"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Водеща активност"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Видяхте известие"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Видяхте известие в рамките на 15 минути"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Взаимодействахте с известие"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Взаимодействахте с приспособление"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Друго потребителско взаимодействие"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Начало на задача с максимален приоритет"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Изпълнява се задача с макс. приоритет"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Начало на задача с висок приоритет"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Изпълнява се задача с висок приоритет"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Начало на задача с нормален приоритет"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Изпълнява се задача с нормален приоритет"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Начало на задача с нисък приоритет"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Изпълнява се задача с нисък приоритет"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Начало на задача с минимален приоритет"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Изпълнява се задача с мин. приоритет"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Време за изчакване на задачата: Санкция"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Минимален баланс при заредена батерия (изключени приложения)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Минимален баланс при заредена батерия (системно приложение без графичен ПИ)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Минимален баланс при заредена батерия (оставащи приложения)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Допълнение към мин. баланс при заредена батерия (програми за акт. на прил.)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Зареждане"</item>
-    <item msgid="658627268149681677">"Режим на дрямка"</item>
-    <item msgid="1599558140284643834">"Режим за пестене на захранване"</item>
-    <item msgid="588427840913221601">"Състояние на обработване"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Потвърждаване"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Визуализация"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Избиране на скрийнсейвър"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Показване на допълнителна информация"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Изберете какво да се показва на екрана, когато таблетът ви е свързан с докинг станция. Устройството ви може да изразходва повече енергия при използването на скрийнсейвър."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Персонализиране"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Персонализиране на <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"За да се активира поддръжката в свободна форма, се изисква рестартиране."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"За да се зададе принудително настолният режим на алтернативни дисплеи, се изисква рестартиране."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"За да се активира поддръжката за прозорци в свободна форма, се изисква рестартиране."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"За да се актуализира наличността на прозорците в свободна форма, се изисква рестартиране."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"За да се активират прозорците в свободна форма на вторични дисплеи, се изисква рестартиране."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Рестартиране сега"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Рестартиране по-късно"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Пространствено аудио"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Розово"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Пурпурно"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Виолетово"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Готово"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Запазване"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Отказ"</string>
     <string name="contrast_default" msgid="8918545965525226966">"По подразбиране"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Среден"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Вкл."</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Изкл."</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Вкл."</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Аудио: ляво %1$d%%, дясно %2$d%%"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Аудио: дясно %1$d%%, ляво %2$d%%"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Името на устройството ви е видимо за инсталираните от вас приложения. То може да се вижда и от други хора, когато се свържете с устройства с Bluetooth или с Wi-Fi мрежа или настроите точка за достъп до Wi-Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Граматически род"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Изберете граматически род"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Споделянето на звука спря"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Свързване на съвместимо устройство"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"За да започнете да споделяте звука, първо свържете телефона си със слушалки, които поддържат LE Audio"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Превключване към <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Свързване с аудиопоток от LE"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Аудиопотоци в близост"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Аудиопотоци"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Слушане на потока"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Сканирайте QR кода за даден аудиопоток, за да го слушате на <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Паролата не може да се редактира по време на споделяне. За да я промените, първо изключете функцията за споделяне на звука."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Скенер за QR кодове"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Нуждаете се от помощ?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Търсене в настройките"</string>
 </resources>
diff --git a/res/values-bn/arrays.xml b/res/values-bn/arrays.xml
index d1f563d..5b14f56 100644
--- a/res/values-bn/arrays.xml
+++ b/res/values-bn/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"বেডটাইম"</item>
-    <item msgid="4152450357280759894">"ড্রাইভ করার সময়"</item>
-    <item msgid="7096549258219399423">"ইমারসিভ"</item>
-    <item msgid="2760716776980432977">"ম্যানেজ করা"</item>
-    <item msgid="601734478369121764">"স্টার"</item>
-    <item msgid="6243809315432780521">"ক্যালেন্ডার"</item>
-    <item msgid="4913577903148415331">"সময়"</item>
-    <item msgid="3653377604690057780">"থিয়েটার"</item>
-    <item msgid="3843711267408385410">"ফুল"</item>
+    <item msgid="1216815120972438676">"ব্রিফকেস"</item>
+    <item msgid="184985872234062767">"ক্লাসিক্যাল বিল্ডিং"</item>
+    <item msgid="9189550412466785530">"অ্যাপার্টমেন্ট বিল্ডিং"</item>
+    <item msgid="2142527562511049422">"স্পিচ বাবল"</item>
+    <item msgid="2548100558260478605">"লোকজনের গ্রুপ"</item>
+    <item msgid="2270003903304578284">"লাইট বাল্ব"</item>
+    <item msgid="4793496619091161864">"ক্যালেন্ডার"</item>
+    <item msgid="5673625795644364100">"বিরক্ত করবে না"</item>
+    <item msgid="1423820834865831361">"দৌড়াচ্ছেন এমন ব্যক্তি"</item>
+    <item msgid="2037298830718732608">"গল্ফ খেলা"</item>
+    <item msgid="2197835014443491074">"জিম ডাম্বেল"</item>
+    <item msgid="2730180105015616518">"সাঁতার কাটা"</item>
+    <item msgid="2666922823253345958">"হাইকিং করছেন এমন ব্যক্তি"</item>
+    <item msgid="8234880356472211396">"বল ছুঁড়ছেন এমন ব্যক্তি"</item>
+    <item msgid="4642980625253001443">"কিক মারছেন এমন ব্যক্তি"</item>
+    <item msgid="4324795269518833500">"গেম কন্ট্রোলার"</item>
+    <item msgid="7789966425125441125">"শিল্পীর জন্য রঙের প্যালেট"</item>
+    <item msgid="663512680597461570">"বরফের কণা"</item>
+    <item msgid="7952183800501346803">"বিচ আমব্রেলা"</item>
+    <item msgid="799139025758265891">"ওয়ার্কশপ টুল"</item>
+    <item msgid="1330084588359129896">"তাঁবু"</item>
+    <item msgid="3861584909935022342">"ফিল্ম রিল"</item>
+    <item msgid="5827426100157335512">"বই"</item>
+    <item msgid="8585828346253128384">"পদ্ম ফুল"</item>
+    <item msgid="8788370542815300188">"ব্যক্তির মন"</item>
+    <item msgid="7287354964767553293">"হেডফোন"</item>
+    <item msgid="2530059623783800987">"টিভি"</item>
+    <item msgid="5307182323469376758">"ট্রেন"</item>
+    <item msgid="4903790544026923026">"গাড়ি"</item>
+    <item msgid="5010405583912314582">"কাঁটা চামচ ও ছুরি"</item>
+    <item msgid="8939998598599064900">"শপিং কার্ট"</item>
+    <item msgid="3379605903308731893">"বাচ্চা"</item>
+    <item msgid="7808668968550293112">"পশুর পাঞ্জা"</item>
+    <item msgid="1000692647524056504">"স্টার ব্যাজ"</item>
+    <item msgid="8270261073421676502">"দুজন ব্যক্তি"</item>
+    <item msgid="5767782819651505460">"স্টার"</item>
+    <item msgid="4368451291862729334">"হার্ট"</item>
+    <item msgid="2613199102208419986">"বাড়ি-ঘর"</item>
+    <item msgid="3022279986430275040">"হাফ-মুন"</item>
+    <item msgid="5421089790869483206">"ঘড়ি"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index a841594..1fc4b32 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"স্থগিত করা হয়েছে"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"অজানা"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"প্রিভিউ"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR কোড"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"আরো ছোট করুন"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"আরো বড় করুন"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"সবসময়"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"হিয়ারিং ডিভাইস সংক্রান্ত সেটিংস"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"শর্টকাট, হিয়ারিং এড কম্প্যাটিবিলিটি"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"প্রিসেট"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"আপনার অডিওলজিস্ট কোনও প্রিসেট প্রোগ্রাম করে রাখেননি"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"প্রিসেট আপডেট করা যায়নি"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"অডিও আউটপুট"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"অডিও আউটপুট সম্পর্কে"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"এই অ্যাপের জন্য \'সেটিংস\' থেকে ভাষা বেছে নেওয়ার সুবিধা উপলভ্য নেই।"</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"অ্যাপে উপলভ্য থাকা ভাষা আলাদা হতে পারে। কিছু অ্যাপে এই সেটিং কাজ নাও করতে পারে।"</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"প্রতিটি অ্যাপের জন্য ভাষা সেট করুন।"</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"আপনার বেছে নেওয়া পছন্দের ভাষা থেকে কাজ করবে এমন প্রথম ভাষাটি, সিস্টেম, অ্যাপ ও ওয়েবসাইট ব্যবহার করে।"</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"আপনার ডিভাইস, অ্যাপ ও ওয়েবসাইট সেই ভাষা ব্যবহার করবে যা আপনি বেছে নেওয়া পছন্দের ভাষায় প্রথম ভাষা হিসেবে রেখেছেন।\n\nএছাড়া, একাধিক অ্যাপ তারিখ, নম্বর ও ইউনিট সেই জায়গা অনুযায়ী ফর্ম্যাট করবে যেখানে আপনার পছন্দের ভাষা বলা হয়। আপনার অঞ্চল পরিবর্তন করতে, ভাষা যোগ করুন, তারপর আপনার পছন্দের জায়গা বেছে নিন।"</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"প্রতিটি অ্যাপের জন্য ভাষা বেছে নিতে, অ্যাপের ভাষা সংক্রান্ত সেটিংসে যান।"</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"অ্যাপের ভাষা সম্পর্কে আরও জানুন"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"সিস্টেমের ভাষা %s ভাষায় বদল করবেন ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"বন্ধ আছে"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{চালু আছে / #টি অ্যাপ লোকেশন অ্যাক্সেস করতে পারবে}one{চালু আছে / #টি অ্যাপ লোকেশন অ্যাক্সেস করতে পারবে}other{চালু আছে / #টি অ্যাপ লোকেশন অ্যাক্সেস করতে পারবে}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"লোড হচ্ছে…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"আশেপাশের ডিভাইসের অনুমতি থাকা অ্যাপগুলি কানেক্ট করা ডিভাইসের আপেক্ষিক অবস্থান নির্ণয় করতে পারে।"</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"কাছাকাছি ডিভাইসের অনুমতি থাকা অ্যাপ, কানেক্ট করা ডিভাইসের আপেক্ষিক অবস্থান নির্ণয় করতে পারে।"</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"অ্যাপ ও পরিষেবার লোকেশন অ্যাক্সেস বন্ধ রয়েছে। জরুরি নম্বরে কল অথবা টেক্সট করলে সাহায্যকারীর কাছে আপনার ডিভাইসের লোকেশন এখনও পাঠানো হতে পারে।"</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"\'লোকেশন সেটিংস\' সম্পর্কে আরও জানুন"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"পরিবর্তন করতে, \'ChromeOS সেটিংস &gt; গোপনীয়তা ও সুরক্ষা &gt; গোপনীয়তা নিয়ন্ত্রণ &gt; লোকেশন অ্যাক্সেস\' বিকল্পে যান"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"ফেস ও <xliff:g id="WATCH">%s</xliff:g> যোগ করা হয়েছে"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"ফেস, ফিঙ্গারপ্রিন্ট এবং <xliff:g id="WATCH">%s</xliff:g> যোগ করা হয়েছে"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"ফেস, ফিঙ্গারপ্রিন্ট এবং <xliff:g id="WATCH">%s</xliff:g> যোগ করা হয়েছে"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"পরিচিতি যাচাই প্রক্রিয়া চালু আছে এবং বায়োমেট্রিক লাগবে"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"রিমোট Authenticator আনলক করুন"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"স্মার্টওয়াচ যোগ করা হয়েছে"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"আপনার ঘড়ি সেট-আপ করুন"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"\'ঘড়ি আনলক করুন\' ফিচার সম্পর্কে আরও জানুন"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"ঘড়ি যোগ করুন"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"ঘড়ি সরান"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ফিঙ্গারপ্রিন্ট ও ফেস আনলক"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ফেস ও ফিঙ্গারপ্রিন্ট আনলক"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"অফিস প্রোফালের জন্য \'ফেস ও ফিঙ্গারপ্রিন্ট আনলক\' ফিচার"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"সেট-আপ করতে হবে"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"ফেস এবং আঙ্গুলের ছাপ যোগ করা হয়েছে"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"প্রাইভেট স্পেস সেট-আপ করা হচ্ছে…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"কোনও প্রাইভেট স্পেস সেট-আপ করা যায়নি"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"আবার চেষ্টা করুন"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"বেরিয়ে আসুন"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"প্রাইভেট স্পেস উপলভ্য নেই।\nসম্ভাব্য কারণগুলি দেখুন"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"সম্ভাব্য কারণগুলি দেখুন"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"প্রাইভেট স্পেসের জন্য নতুন লক বেছে নেবেন?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"আপনি শুধুমাত্র প্রাইভেট স্পেসের জন্য একটি নতুন লক সেট করতে পারবেন অথবা আপনার ডিভাইস আনলক করতে যে লকটি ব্যবহার করেন সেটি ব্যবহার করা যাবে।"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"স্ক্রিন লক ব্যবহার করুন"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ব্লুটুথ চালু করা থাকলে, আপনার ডিভাইস কাছাকাছি অন্যান্য ব্লুটুথ ডিভাইসের সাথে যোগাযোগ করতে পারবে।\n\nডিভাইস ব্যবহারের অভিজ্ঞতা উন্নত করতে, এমনকি ব্লুটুথ বন্ধ থাকাকালীনও, অ্যাপ ও পরিষেবাগুলি কাছাকাছি থাকা ডিভাইস যেকোনও সময় স্ক্যান করতে পারবে। যেমন, এটি লোকেশন-ভিত্তিক ফিচার এবং পরিষেবা উন্নত করার মতো বিভিন্ন কাজের জন্য ব্যবহার করা হতে পারে। আপনি ব্লুটুথ স্ক্যানিং সেটিংস থেকে এটি পরিবর্তন করতে পারবেন।"</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"ব্লুটুথ চালু করা থাকলে, আপনার ডিভাইস আশেপাশে থাকা ব্লুটুথ ডিভাইসগুলির সাথে কানেক্ট করতে পারে। দ্রুত শেয়ার ও Find My Device-এর মতো ফিচার ব্লুটুথ ব্যবহার করে।\n\nব্লুটুথ বন্ধ থাকলেও, অ্যাপ ও পরিষেবাগুলি আশেপাশের ডিভাইস স্ক্যান করতে পারে। লোকেশন-ভিত্তিক ফিচার ও পরিষেবা উন্নত করার মতো ক্ষেত্রে এটি ব্যবহৃত হয়। আপনি ব্লুটুথ স্ক্যানিং সেটিংসে গিয়ে এটি পরিবর্তন করতে পারবেন।"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"পরিবর্তন করুন"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"ডিভাইসের বিবরণ"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"কীবোর্ড সেটিংস"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"আরও সেটিংস"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"ফার্মওয়্যার আপডেট, সম্পর্কে ও আরও অনেক কিছু"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"পরামর্শ ও সহায়তা"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"ডিভাইসের ব্লুটুথ অ্যাড্রেস: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"ডিভাইসের ব্লুটুথ অ্যাড্রেস:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"ডিভাইসটি কি ভুলে যাবেন?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"পরীক্ষামূলক। অডিও কোয়ালিটি উন্নত করে।"</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"ডিভাইসটি ভুলে যান"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"অ্যাপ ডিসকানেক্ট করুন"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"আরও সেটিংস"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"ব্লুটুথের মাধ্যমে কানেক্ট সর্বাধিক অডিও ডিভাইস"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"সর্বাধিক কতগুলি অডিও ডিভাইস ব্লুটুথের মাধ্যমে কানেক্ট করা যাবে তা নির্দিষ্ট করুন"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC ভার্বোস ভেন্ডর ডিবাগ লগ"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"ডিভাইস রিস্টার্ট করবেন?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"শুধুমাত্র উন্নতির উদ্দেশ্যে বিস্তারিত NFC লগিং করা হয়েছে। NFC সংক্রান্ত অতিরিক্ত ডেটা সমস্যার রিপোর্টে অন্তর্ভুক্ত করা হয়েছে, যার মধ্যে ব্যক্তিগত তথ্যও থাকতে পারে। এই সেটিং পরিবর্তন করতে, আপনার ডিভাইস রিস্টার্ট করুন।"</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"রিস্টার্ট করুন"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"চালু আছে"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"বন্ধ আছে"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"এক্সটার্নাল ডিসপ্লে"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"এক্সটার্নাল ডিসপ্লে ব্যবহার করুন"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"ডিসপ্লে রেজোলিউশন"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"এক্সটার্নাল ডিসপ্লে ডিসকানেক্ট হয়ে গেছে"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"রোটেশন"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"স্ট্যান্ডার্ড"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"৯০°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"১৮০°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"২৭০°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"রোটেশন বা রেজোলিউশন পরিবর্তন করা হলে, বর্তমানে চালু থাকা যেকোনও অ্যাপ বন্ধ হয়ে যেতে পারে"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"আপনার স্ক্রিন মিরর করার জন্য আপনার ডিভাইসকে কোনও এক্সটার্নাল ডিসপ্লের সাথে কানেক্ট করা থাকতে হবে"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"আরও বিকল্প"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"কাস্ট করুন"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"মিরর"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"ওয়্যারলেস প্রদর্শন সক্ষম করুন"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"অভিযোজিত"</string>
     <string name="brightness" msgid="6216871641021779698">"উজ্জ্বলতার স্তর"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"পরিবেশের আলো অনুযায়ী উজ্জ্বলতা"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"পরিবেশের আলো অনুযায়ী উজ্জ্বলতা সম্পর্কে"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"আপনার পারিপার্শ্বিক অবস্থা এবং অ্যাক্টিভিটি অনুযায়ী স্ক্রিনের উজ্জ্বলতা নিজে থেকেই অ্যাডজাস্ট করে নেওয়া হবে। স্ক্রিন কতখানি উজ্জ্বল হলে আপনার সুবিধা হয়, তা আপনি স্লাইডারের মাধ্যমে নির্দিষ্ট করে দিতে পারেন।"</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"চালু আছে"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"বন্ধ আছে"</string>
@@ -1311,8 +1344,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="8850185380445309835">"পছন্দের সিম আপডেট করবেন?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"আপনার ডিভাইসে একটিই সিম, <xliff:g id="NEW_SIM">%1$s</xliff:g> রয়েছে। আপনি কি মোবাইল ডেটা, কল এবং এসএমএসের জন্য এটি ব্যবহার করতে চান?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"এখন আপনার প্রাথমিক সিম কার্ড হল <xliff:g id="NEW_SIM">%1$s</xliff:g>"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"মোবাইল ডেটা কভারেজ ভাল করবেন?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"আরও ভাল নেটওয়ার্ক উপলভ্য থাকলে, মোবাইল ডেটার জন্য আপনার ডিভাইসকে অটোমেটিক <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g>-এ পরিবর্তন করার অনুমতি দিন।"</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"আপনার সংস্থা হয়ত কল, মেসেজ ও নেটওয়ার্ক ট্রাফিক দেখতে পাবে।"</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"বিকল্প"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"অ্যাক্সেসিবিলিটি"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"ফিজিক্যাল কীবোর্ড"</string>
-    <string name="show_ime" msgid="4334255501724746849">"অন-স্ক্রিন কীবোর্ড ব্যবহার করুন"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"ফিজিক্যাল কীবোর্ড সক্রিয় থাকার সময় এটিকে স্ক্রীনে রাখুন"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"বাউন্স \'কী\'"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> মিলি সেকেন্ডের মধ্যে একই কী বারবার প্রেস করলে তা কীবোর্ড উপেক্ষা করে"</string>
     <string name="slow_keys" msgid="2891452895499690837">"স্লো \'কী\'"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"কোনও কী প্রেস করলে সেটি অ্যাক্টিভেট হতে যে সময় লাগে তা <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> মিলি সেকেন্ডে অ্যাডজাস্ট হয়"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"স্টিকি \'কী\'"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"শর্টকাটের জন্য কীগুলি একসাথে ধরে রাখার পরিবর্তে একবারে একটি কী প্রেস করুন"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"মাউস \'কী\'"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"মাউস কন্ট্রোল করতে ফিজিক্যাল কীবোর্ড ব্যবহার করুন।"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"কীবোর্ড শর্টকাট"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"শর্টকাটের তালিকা দেখান"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"অফিসের প্রোফাইলের কীবোর্ড ও টুল"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"ব্যক্তিগত টাচপ্যাড নেভিগেশন সংক্রান্ত জেসচার কাস্টমাইজ করুন"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"উল্টো দিকে স্ক্রল করা"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"আপনি নিচের দিকে স্ক্রল করলে কন্টেন্ট উপরে উঠে যায়"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"ডানদিকের-নিচে ট্যাপ করা"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"আরও বিকল্পের জন্য টাচপ্যাডের নিচে ডানদিকের কোণায় ট্যাপ করুন"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"একদম নিচে ডানদিকে ক্লিক করুন"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"আরও বিকল্পের জন্য টাচপ্যাডের নিচে ডানদিকের কোণায় ক্লিক করুন"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"পয়েন্টারের গতি"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"পয়েন্টার ফিল স্টাইল"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"পয়েন্টার ফিল স্টাইল বদলে কালো করুন"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"পয়েন্টার ফিল স্টাইল বদলে হলুদ করুন"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"পয়েন্টার ফিল স্টাইল বদলে গোলাপি করুন"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"পয়েন্টার ফিল স্টাইল বদলে নীল করুন"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"পয়েন্টার স্ট্রোক স্টাইল"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"সাদা"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"কালো"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"কোনওটিই নয়"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"টাচপ্যাডের জেসচার সম্পর্কে জানুন"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"ট্র্যাকপ্যাড, ট্র্যাক প্যাড, মাউস, কার্সর, স্ক্রল, সোয়াইপ, ডানদিকের বোতামে ক্লিক, ক্লিক, পয়েন্টার"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"ডানদিকের বোতামে ক্লিক, ট্যাপ"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"রিসেট করুন"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"\'মডিফায়ার কী\' বেছে নেওয়া"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>-এর জন্য নতুন \'কী\' বেছে নিন:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> লেআউট"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ডিফল্ট"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"অটোমেটিক: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"ব্যবহারকারী বেছে নেওয়া হয়েছে: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"স্পিচ"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"পয়েন্টারের গতি"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"পয়েন্টার স্কেল"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"পয়েন্টার স্কেল ছোট করুন"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"পয়েন্টার স্কেল বড় করুন"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"গেম নিয়ন্ত্রক"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"ইনপুট ডিভাইসে ভাইব্রেশন হতে দিন"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"গেমের কন্ট্রোলার কানেক্ট করা থাকলে সেটিতে ভাইব্রেশন হতে দিন"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"তা সত্ত্বেও চালিয়ে যান"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"বাতিল করুন"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"বড় করে দেখার সেটিংস"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"একটি আঙুল দিয়ে প্যান করা"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"১টি আঙুল দিয়ে ম্যাগনিফায়ার সরান"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"স্ক্রিনের মধ্যে যে কোনও জায়গায় সরাতে ১টি আঙুল দিয়ে টেনে আনুন"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"\'বড় করে দেখা\' এলাকা একটি আঙুল দিয়ে টেনে সরান।"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"\'বড় করে দেখা\' এলাকা দুটি আঙুল দিয়ে টেনে সরান।"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"শুধুমাত্র স্ক্রিনের বড় করে দেখানো অংশে উপলভ্য থাকে না"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"জুম করার জন্য বোতামে ট্যাপ করুন"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"কন্টেন্ট আরও বড় সাইজে দেখার জন্য, স্ক্রিনে দ্রুত জুম-ইন করুন"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;জুম ইন করতে:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. \'বড় করে দেখা\' ফিচার চালু করার জন্য শর্টকাট ব্যবহার করুন&lt;br/&gt; {1,number,integer}। স্ক্রিনে ট্যাপ করুন&lt;br/&gt; {2,number,integer}। স্ক্রিনের চারদিকে ঘোরাতে ২টি আঙুল দিয়ে টেনে আনুন&lt;br/&gt; {3,number,integer}। জুম অ্যাডজাস্ট করার জন্য ২টি আঙুল দিয়ে পিঞ্চ করুন&lt;br/&gt; {4,number,integer}। \'বড় করে দেখা\' ফিচার বন্ধ করার জন্য শর্টকাট ব্যবহার করুন&lt;br/&gt;&lt;br/&gt; &lt;b&gt;সাময়িকভাবে জুম ইন করতে:&lt;/b&gt;&lt;br/&gt; {0,number,integer}। আপনার \'বড় করে দেখা\' ফিচারের ধরন ফুল স্ক্রিনে সেট হয়েছে কিনা ভাল করে দেখে নিন&lt;br/&gt; {1,number,integer}। \'বড় করে দেখা\' ফিচার চালু করতে শর্টকাট ব্যবহার করুন&lt;br/&gt; {2,number,integer}। স্ক্রিনের যেকোনও জায়গা টাচ করে ধরে থাকুন&lt;br/&gt; {3,number,integer}। স্ক্রিনের চারদিকে ঘোরাতে আঙুল দিয়ে টেনে আনুন&lt;br/&gt; {4,number,integer}। \'বড় করে দেখা\' ফিচার বন্ধ করতে স্ক্রিনের উপর থেকে আঙুল সরিয়ে নিন"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;জুম-ইন করতে:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. \'বড় করে দেখা\' ফিচার চালু করতে শর্টকাট ব্যবহার করুন&lt;br/&gt; {1,number,integer}. স্ক্রিনে ট্যাপ করুন&lt;br/&gt; {2,number,integer}. স্ক্রিনের মধ্যে যে কোনও জায়গায় সরাতে ২টি আঙুল দিয়ে টেনে আনুন&lt;br/&gt; {3,number,integer}. জুম অ্যাডজাস্ট করার জন্য ২টি আঙুল দিয়ে পিঞ্চ করুন zoom&lt;br/&gt; {4,number,integer}. \'বড় করে দেখা\' ফিচার বন্ধ করতে শর্টকাট ব্যবহার করুন&lt;br/&gt;&lt;br/&gt; এছাড়াও সাময়িকভাবে জুম-ইন এবং আরও অনেক কিছু করুন।"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;জুম-ইন করতে:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. \'বড় করে দেখা\' ফিচার চালু করতে শর্টকাট ব্যবহার করুন&lt;br/&gt; {1,number,integer}. স্ক্রিনে ট্যাপ করুন&lt;br/&gt; {2,number,integer}. স্ক্রিনের মধ্যে যে কোনও জায়গায় সরাতে ১টি অথবা ২টি আঙুল দিয়ে টেনে আনুন&lt;br/&gt; {3,number,integer}. জুম অ্যাডজাস্ট করার জন্য ২টি আঙুল দিয়ে পিঞ্চ করুন zoom&lt;br/&gt; {4,number,integer}. \'বড় করে দেখা\' ফিচার বন্ধ করতে শর্টকাট ব্যবহার করুন&lt;br/&gt;&lt;br/&gt; এছাড়াও সাময়িকভাবে জুম-ইন এবং আরও অনেক কিছু করুন।"</string>
     <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"ম্যাগনিফিকেশন চালু করা থাকলে, আপনি স্ক্রিনে জুম বাড়াতে পারবেন।\n\n"<b>"জুম করতে"</b>", ম্যাগনিফিকেশন চালু করে স্ক্রিনের যেকোনও জায়গায় ট্যাপ করুন।\n"<ul><li>"• স্ক্রল করতে ২ বা তার বেশি আঙ্গুল দিয়ে টানুন"</li>\n<li>"• জুম অ্যাডজাস্ট করতে ২ বা তার বেশি আঙ্গুল দিয়ে পিঞ্চ করুন"</li></ul>\n\n<b>"সাময়িকভাবে জুম করতে"</b>", ম্যাগনিফিকেশন চালু করে স্ক্রিনের যেকোনও জায়গায় টাচ করে ধরে থাকুন।\n"<ul><li>"• টেনে স্ক্রিনের বিভিন্ন জায়গায় সরান"</li>\n<li>"• জুম কমাতে স্ক্রিন থেকে আঙ্গুল তুলে নিন"</li></ul>\n\n"কীবোর্ড বা নেভিগেশন বারে আপনি জুম করতে পারবেন না।"</string>
     <string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g>টি মধ্যে <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> নম্বর পৃষ্ঠা"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"অ্যাক্সেসিবিলিটি বোতামের শর্টকার্ট"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"ফ্লোটিং বোতামে ট্যাপ করুন"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"অ্যাক্সেসিবিলিটি জেসচার"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"স্ক্রিনের একেবারে নিচে অ্যাক্সেসিবিলিটি বোতামে <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ট্যাপ করুন। একটি ফিচার থেকে অন্যটিতে পাল্টে নিতে, অ্যাক্সেসিবিলিটি বোতাম টাচ করে ধরে থাকুন।"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"স্ক্রিনের নিচ থেকে উপরের দিকে দুটি আঙ্গুল দিয়ে সোয়াইপ করুন।\n\nএকটি ফিচার থেকে অন্যটিতে যেতে, দুটি আঙ্গুল দিয়ে নিচ থেকে উপরের দিকে সোয়াইপ করে ধরে থাকুন।"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"স্ক্রিনের নিচ থেকে উপরের দিকে তিনটি আঙ্গুল দিয়ে সোয়াইপ করুন।\n\nএকটি ফিচার থেকে অন্যটিতে যেতে, তিনটি আঙ্গুল দিয়ে নিচ থেকে উপরের দিকে সোয়াইপ করে ধরে থাকুন।"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{আপনার স্ক্রিনের একেবারে নিচ থেকে সোয়াইপ করুন। একটি ফিচার থেকে অন্যটিতে পাল্টে নিতে, উপরের দিকে সোয়াইপ করে ধরে রাখুন।}one{#টি আঙ্গুল দিয়ে আপনার স্ক্রিনের একেবারে নিচ থেকে উপরের দিকে সোয়াইপ করুন। একটি ফিচার থেকে অন্যটিতে পাল্টে নিতে, #টি আঙ্গুল দিয়ে উপরের দিকে সোয়াইপ করে ধরে থাকুন।}other{#টি আঙ্গুল দিয়ে আপনার স্ক্রিনের একেবারে নিচ থেকে উপরের দিকে সোয়াইপ করুন। একটি ফিচার থেকে অন্যটিতে পাল্টে নিতে, #টি আঙ্গুল দিয়ে উপরের দিকে সোয়াইপ করে ধরে থাকুন।}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"আরও বিকল্প"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"<xliff:g id="SERVICE">%1$s</xliff:g> সম্পর্কে আরও জানুন"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"ভলিউম কী"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"ভলিউম কী"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"উভয় ভলিউম কী প্রেস করে ধরে থাকুন"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"দুই আঙুল দিয়ে স্ক্রিনে ডবল ট্যাপ করুন"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$dটি আঙুল দিয়ে ডবল ট্যাপ"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"স্ক্রিনে দ্রুত %1$dটি আঙুল দিয়ে দুবার ট্যাপ করুন"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"ট্রিপল ট্যাপ"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"স্ক্রিনে দ্রুত %1$d বার ট্যাপ করুন। এটি আপনার ডিভাইসের স্পিড কমিয়ে দিতে পারে।"</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d-টি আঙুল দিয়ে ডবল ট্যাপ"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"দুই আঙুল দিয়ে স্ক্রিনে দ্রুত {0,number,integer} বার ট্যাপ করুন"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"ট্রিপল-ট্যাপ স্ক্রিন"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"ট্রিপল ট্যাপ"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"স্ক্রিনে ঝটপট {0,number,integer} বার ট্যাপ করুন। এই শর্টকাট ব্যবহারের ফলে আপনার ডিভাইসের স্পিড কমে যেতে পারে"</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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"শর্টকাটের সেটিংস"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"লক স্ক্রিন থেকে শর্টকাট"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"লক স্ক্রিন থেকে ফিচার শর্টকাট চালু করার অনুমতি দিন। উভয় ভলিউম কী কয়েক সেকেন্ড ধরে থাকুন।"</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"অ্যাক্সেসিবিলিটি বোতাম"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"অ্যাক্সেসিবিলিটি বোতাম ও জেসচার"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"এই পরিষেবাটি ঠিকভাবে কাজ করছে না।"</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"অ্যাক্সেসিবিলিটি শর্টকার্ট"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"দ্রুত সেটিংসে দেখান"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"লাল-সবুজ"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"লাল-সবুজ"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"লাল-সবুজ, হালকা সবুজ"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"লাল-সবুজ, হালকা লাল"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"নীল-হলুদ"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"গ্রেস্কেল"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"ইন্টেন্সিটি"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"এমন সমস্যা যেখানে সবুজ রঙ লাল হিসেবে দেখা যায়"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"এমন সমস্যা যেখানে লাল রঙ সবুজ হিসেবে দেখা যায়"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"গ্রেস্কেল মোডের জন্য অথবা রঙ সংশোধন করার ফিচার বন্ধ থাকলে উপলভ্য হয় না"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"অতিরিক্ত কম উজ্জ্বলতা"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"স্ক্রিন অতিরিক্ত কম উজ্জ্বল করুন"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"নীলাভ রঙ"</string>
     <string name="color_yellow" msgid="5957551912912679058">"হলুদ"</string>
     <string name="color_magenta" msgid="8943538189219528423">"রাণী রঙ"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"<xliff:g id="SERVICE">%1$s</xliff:g> অ্যাপটিকে আপনার ডিভাইসে সম্পূর্ণ নিয়ন্ত্রণের অনুমতি দিতে চান?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> কে এটি করতে হবে:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"একটি অ্যাপ্লিকেশান কোনো অনুমোদনের অনুরোধকে অস্পষ্ট করছে, তাই সেটিংস আপনার প্রতিক্রিয়া যাচাই করতে পারেনি৷"</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"এই ডিভাইসের সম্পূর্ণ নিয়ন্ত্রণ পেতে <xliff:g id="SERVICE">%1$s</xliff:g>-এর তরফে অনুরোধ জানানো হচ্ছে। পরিষেবাটি স্ক্রিন পড়তে পারে এবং ব্যবহারকারীর পক্ষ থেকে অ্যাক্সেসিবিলিটির প্রয়োজন অুযায়ী কাজ করতে পারে। বেশিরভাগ অ্যাপের জন্যই লেভেলের নিয়ন্ত্রণ ঠিক নয়।"</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"যে অ্যাপগুলি আপনাকে অ্যাক্সেসিবিলিটির প্রয়োজন মেটাতে সাহায্য করে সেই অ্যাপগুলির জন্য সম্পূর্ণ নিয়ন্ত্রণের বিষয়টি উপযুক্ত, কিন্তু তা বলে সমস্ত অ্যাপের জন্য নয়।"</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"স্ক্রিন দেখে নিয়ন্ত্রণ করা"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"এটি স্ক্রিনের সমস্ত কন্টেন্ট পড়তে এবং অন্য অ্যাপেও কন্টেন্ট ডিসপ্লে করতে পারে।"</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"দেখুন এবং কাজটি করুন"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"এটি কোনও একটি অ্যাপের সাথে অথবা হার্ডওয়্যার সেন্সরের সাথে আপনার ইন্টার‍্যাকশন ট্র্যাক করতে এবং আপনার হয়ে বিভিন্ন অ্যাপের সাথে ইন্টার‍্যাক্ট করতে পারে।"</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"অনুমতি দিন"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"খারিজ করুন"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"বন্ধ করুন"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"চালু আছে / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> এবং <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"এছাড়া, ব্লুটুথ ডিভাইসের জন্য আপনি \'স্পেশিয়ল অডিও\' ফিচার চালু করতে পারবেন।"</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"কানেক্ট করা ডিভাইসের সেটিংস"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"স্পেশিয়ল অডিও"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"বন্ধ আছে"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"বন্ধ আছে"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"বন্ধ আছে"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{একটিও নেই}=1{১টি শিডিউল সেট করা হয়েছে}one{#টি শিডিউল সেট করা হয়েছে}other{#টি শিডিউল সেট করা হয়েছে}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"বিরক্ত করবে না"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"অগ্রাধিকার মোড"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"মোড যোগ করুন"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"মোড"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"মনোযোগে ব্যাঘাত ঘটানো কমান এবং ঘুম, কাজ, ড্রাইভ করা এবং আরও অনেক কিছুর জন্য মোড ব্যবহার করে মনোযোগ বজায় রাখুন।"</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"আপনার নিজস্ব মোড তৈরি করুন"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"শুধু গুরুত্বপূর্ণ লোকজন এবং অ্যাপ থেকে বিজ্ঞপ্তি পান"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"শিডিউল সেট করুন"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"এর ভিত্তিতে শিডিউল করুন"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"দিন ও সময়"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"কাজের দিন ৯ AM - ৫ PM\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"ক্যালেন্ডার ইভেন্ট"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} চালু আছে}=2{{mode_1} ও {mode_2} চালু আছে}=3{{mode_1}, {mode_2} ও {mode_3} চালু আছে}one{{mode_1}, {mode_2} ও আরও #টি মোড চালু আছে}other{{mode_1}, {mode_2} ও আরও #টি মোড চালু আছে}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{১টি মোড অটোমেটিক চালু হতে পারে}one{#টি মোড অটোমেটিক চালু হতে পারে}other{#টি মোড অটোমেটিক চালু হতে পারে}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"চালু আছে"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"সেট করা নেই"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"বন্ধ করা হয়েছে"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"মোড তৈরি করুন"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"কাস্টম"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"এখনই চালু করুন"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"বন্ধ করুন"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"মোড খুঁজে পাওয়া যায়নি"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"বিরক্তিকর কন্টেন্ট বন্ধ করা"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"বিঘ্ন ও মনোযোগে ব্যাঘাত ঘটায় এমন জিনিস ব্লক করুন"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g> সেট আপ করুন"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\'বিরক্ত করবে না\' মোড চালু করুন"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"অ্যালার্ম ও মিডিয়া সাউন্ড বাধা দিতে পারবে"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"সময়সূচি"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"সময়সূচি মুছে দিন"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"মুছে দিন"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"নাম পরিবর্তন করুন"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"মুছুন"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"\"<xliff:g id="MODE">%1$s</xliff:g>\" মোড মুছতে চান?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"এডিট করুন"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"সময়সূচি"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"সময়সূচি"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"অটোমেটিক চালু করা হয়"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"একটি ক্যালেন্ডার যোগ করুন"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"আপনার ক্যালেন্ডার ব্যবহার করুন"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"শিডিউল করুন"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"একটি শিডিউল সেট করুন"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"কখন অটোমেটিক চালু হবে"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"ইভেন্টের শিডিউল"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"এই ইভেন্ট চলাকালীন চালু করুন"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"যেখানে আমন্ত্রণের উত্তর"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"সময়ের শিডিউল"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"শিডিউল করুন"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ঘণ্টা, <xliff:g id="MINUTES">%2$d</xliff:g> মিনিট"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"সময়সূচি"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"যেসব বিজ্ঞপ্তি এলে আওয়াজ হয় সেগুলিকে অনুমতি দিন"</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="mode_interruption_filter_title" msgid="6657431939996264417">"আপনাকে দেখানো হবে এমন বিজ্ঞপ্তি"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"অতিরিক্ত অ্যাকশন"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"বিজ্ঞপ্তির ফিল্টার"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"আরও সেটিংস"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{বন্ধ আছে}=1{বন্ধ আছে / ১টি মোড অটোমেটিক চালু হতে পারে}one{বন্ধ আছে / #টি মোড অটোমেটিক চালু হতে পারে}other{বন্ধ আছে / #টি মোড অটোমেটিক চালু হতে পারে}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"ডিসপ্লে সেটিংস"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"ডিসপ্লে বিকল্প"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"গ্রেস্কেল"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ডার্ক থিম চালু করুন"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"ডার্ক ব্যাকগ্রাউন্ডের উপর হালকা টেক্সট পড়তে OS ও অ্যাপের থিমে পরিবর্তন করুন, এটি চোখের পক্ষে আরামদায়ক হতে পারে এবং কিছু ডিভাইসে যথেষ্ট ব্যাটারি সাশ্রয় করতে পারে"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{ডিসপ্লেতে কোনও পরিবর্তন হয়নি}=1{{effect_1}}=2{{effect_1} ও {effect_2}}=3{{effect_1}, {effect_2} ও {effect_3}}one{{effect_1}, {effect_2} ও আরও #টি}other{{effect_1}, {effect_2} ও আরও #টি}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"সব বিজ্ঞপ্তিকে অনুমতি দিন"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"লোকজন, অ্যাপ ও সাউন্ড বাধা দিতে পারবে"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ফিল্টার করা বিজ্ঞপ্তির জন্য ডিসপ্লে বিকল্প"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"যখন \'বিরক্ত করবে না\' চালু থাকবে"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"বিজ্ঞপ্তি থেকে কোনও সাউন্ড হবে না"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"বিজ্ঞপ্তি খুলুন"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"বিজ্ঞপ্তি স্নুজ করার অনুমতি দিন"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"অ্যাপ আইকনে বিজ্ঞপ্তির ডট"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"বিজ্ঞপ্তির বান্ডেল"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"বাবল"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"বাবল"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"বাবল আইকন হিসেবে হোম স্ক্রিনে কথোপকথন যোগ করা"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"এটি বিজ্ঞপ্তি স্নুজ বা বাতিল করা ও কলের উত্তর দেওয়া সহ বিজ্ঞপ্তিতে দেখানো বোতামের উপর অ্যাকশন এবং মেসেজের উত্তর দিতে পারে।"</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"এটি সেটিংসে পরিবর্তন করতে পারে"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"এটি \'বিরক্ত করবে না\' চালু বা বন্ধ করতে এবং সেই সম্পর্কিত সেটিংসে পরিবর্তন করতে পারে।"</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"এটি মোড ম্য়ানেজ করে চালু করতে ও সম্পর্কিত সেটিংস পরিবর্তন করতে পারে।"</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_modes_warning_summary" msgid="7528432011433844158">"আপনি যদি <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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"রিয়েল-টাইম"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"এই অ্যাপে উন্নত সেটিংস কাজ করে না"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"আরও সেটিংস"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"এই অ্যাপের মধ্যে আরও সেটিংস উপলভ্য আছে"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"অ্যাডাপ্টিভ বিজ্ঞপ্তি"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"অ্যাডাপ্টিভ বিজ্ঞপ্তি ব্যবহার করুন"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"অল্প সময়ের মধ্যে আপনার কাছে অনেক বেশি বিজ্ঞপ্তি আসলে, আপনার ফোন দুই মিনিটের জন্য ভলিউম কমিয়ে দেবে এবং স্ক্রিনে আসা পপ-আপ মিনিমাইজ করবে। এরপরেও কল, অ্য়ালার্ম ও গুরুত্বপূর্ণ কথোপকথনের জন্য ফোনে ভাইব্রেশন, সাউন্ড হবে অথবা স্ক্রিনে তা দেখা যাবে। আপনি ফোনের স্ক্রিন উপর থেকে নিচের দিকে সোয়াইপ করলে সহজেই সবকটি বিজ্ঞপ্তি দেখতে পারবেন।"</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"বিজ্ঞপ্তির কুলডাউন"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"নোটিফিকেশন কুলডাউন ব্যবহার করুন"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"আপনি অল্প সময়ের মধ্যে একসঙ্গে অনেকগুলি বিজ্ঞপ্তি পেলে আপনার ডিভাইস নিজের ভলিউম এবং সতর্কবার্তা সর্বাধিক ২ মিনিটের জন্য কমিয়ে দেবে। কল, অ্যালার্ম ও গুরুত্বপূর্ণ কথোপকথনের উপরে এর কোনও প্রভাব পড়ে না। \n\nস্ক্রিনের একেবারে উপর থেকে নিচের দিকে টেনে নামালে কুলডাউনের সময়ে পাওয়া বিজ্ঞপ্তি দেখতে পাওয়া যায়।"</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"অফিস প্রোফাইলে প্রয়োগ করুন"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"অফিস প্রোফাইল অ্যাপে প্রয়োগ করুন"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"ভিআর(VR) সহায়তাকারী পরিষেবা"</string>
@@ -3650,6 +3717,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"মোডের অ্যাক্সেস"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"মোড অ্যাক্সেসের অনুমতি দিন"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"ইনস্টল করা কোনও অ্যাপ মোড অ্যাক্সেস করার অনুমতি চায়নি"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"এই অ্যাপ থেকে বিজ্ঞপ্তি পাওয়ার অনুমতি দেননি"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"আপনার অনুরোধ অনুযায়ী Android এই বিভাগের বিজ্ঞপ্তিগুলি এই ডিভাইসে দেখাচ্ছে না"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"আপনার অনুরোধ অনুযায়ী Android এই ধরনের বিজ্ঞপ্তিগুলি এই ডিভাইসে দেখাচ্ছে না"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"বিভাগগুলি"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"অন্যান্য"</string>
     <string name="no_channels" msgid="4716199078612071915">"এই অ্যাপটি দ্বারা কোন বিজ্ঞপ্তি পোস্ট করা হয়নি"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"অব্যবহৃত বিভাগ দেখুন"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"অ্যাপের আরও সেটিংস"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"অব্যবহৃত বিভাগ দেখান"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"অব্যবহৃত বিভাগ লুকান"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"কথোপকথন"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"সমস্ত কথোপকথন"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"সব কথোপকথন"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"গুরুত্বপূর্ণ কথোপকথন"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"গুরুত্বপূর্ণ কথোপকথন"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"এমন কেউ নেই"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"যেসব অ্যাপ বিরক্ত করবে না মোড এড়িয়ে নিজের কাজ করতে পারে"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"বেছে নেওয়া অ্যাপ"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"কোনওটিই নয়"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"সব"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{কোনও অ্যাপ বিঘ্ন ঘটাতে পারবে না}=1{{app_1} অ্যাপ বিঘ্ন ঘটাতে পারবে}=2{{app_1} ও {app_2} অ্যাপ বিঘ্ন ঘটাতে পারবে}=3{{app_1}, {app_2} ও {app_3} অ্যাপ বিঘ্ন ঘটাতে পারবে}one{{app_1}, {app_2}, ও আরও #টি অ্যাপ বিঘ্ন ঘটাতে পারবে}other{{app_1}, {app_2}, ও আরও #টি অ্যাপ বিঘ্ন ঘটাতে পারবে}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (অফিস)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"গণনা করা হচ্ছে…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"অ্যাপ ওভাররাইডের অনুমতি দিন"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"যে অ্যাপগুলি \'বিরক্ত করবে না\' মোড এড়িয়ে নিজের কাজ করতে পারে"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"আরও অ্যাপ বেছে নিন"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"কেউ বাধা দিতে পারবে না"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"কেউই বাধা দিতে পারবে না"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"কিছু লোকজন বাধা দিতে পারবে"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"রিপিট কলার বিঘ্ন ঘটাতে পারে"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"সবাই বাধা দিতে পারবে"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"রিপিট কলার"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"রিপিট কলারদের অনুমতি দিন"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} পর্যন্ত এক ঘণ্টার জন্য অ্যালার্ম পরিবর্তন করুন}one{{time} পর্যন্ত # ঘণ্টার জন্য অ্যালার্ম পরিবর্তন করুন}other{{time} পর্যন্ত # ঘণ্টার জন্য অ্যালার্ম পরিবর্তন করুন}}"</string>
     <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_action_change_name" msgid="766639614789907016">"নাম পরিবর্তন করুন"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"আইকন পরিবর্তন করুন"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"আইকন পরিবর্তন করুন"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"মোড এডিট করুন"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"মোড তৈরি করুন"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"কাস্টম মোড"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"মোডের নাম"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"ক্যালেন্ডার ইভেন্ট"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"বেডটাইম রুটিন"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"ড্রাইভ করার সময়"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"অ্যাপের সেটিংস"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"<xliff:g id="APP_NAME">%1$s</xliff:g> অ্যাপে তথ্য ও সেটিংস"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"<xliff:g id="APP_NAME">%1$s</xliff:g> ম্যানেজ করে"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g> বন্ধ করবেন?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"বন্ধ করা থাকলে, এই মোড কখনই চালু হবে না"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"বন্ধ করুন"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g> চালু করবেন?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"মোডের সেটিংসের উপর নির্ভর করে এটি অটোমেটিক চালু হতে পারে"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"চালু করুন"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"নিয়মিত শিডিউল অনুসরণ করে এমন একটি মোড সেট করুন"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"ক্যালেন্ডার ইভেন্ট ও আমন্ত্রণের উত্তরের সাথে সিঙ্ক করতে কোনও একটি মোড সেট করুন"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"নিশ্চিন্তে ঘুমের জন্য রুটিন ডিজাইন করুন। অ্যালার্ম সেট করুন, স্ক্রিনের আলো কম করুন এবং বিজ্ঞপ্তি ব্লক করুন।"</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"মনোসংযোগে বিঘ্ন না ঘটিয়ে ও ফোকাস নিয়ে গাড়ি চালানোর সময় রাস্তায় সুরক্ষার দিকটি নজর দিন"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"ফোকাস উন্নত করতে, আপনার ডিভাইসের এমন বিজ্ঞপ্তি ব্লক করুন যা আপনাকে বিভ্রান্ত করে বা আপনার কাজে বাধা দেয়"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"শান্ত পরিবেশের জন্য মনোসংযোগ বিঘ্ন ঘটাতে পারে এমন সব বিজ্ঞপ্তি বন্ধ করুন"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"বিভিন্ন ব্যবহারকারীর জন্য, ডিভাইসের অভিজ্ঞতা ও সেটিংস পছন্দমতো করে তুলুন"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"বাধা কমাতে, শুধুমাত্র প্রয়োজনীয় ব্যক্তি এবং অ্যাপে বিজ্ঞপ্তির অনুমতি দিন"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"নিয়মিত শিডিউল অনুসরণ করে এমন একটি মোড সেট করুন"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"আপনার সারাদিনের ইভেন্টের সাথে ডিভাইসটি সিঙ্ক করে রাখুন"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"সম্পূর্ণ সতেজতার সাথে দিনের শুরু করুন"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"গাড়ি চালানোর সময় সুরক্ষায় সবচেয়ে বেশি গুরুত্ব দিন"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"আপনার কাজে মনোযোগী থাকুন"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"সেই মুহুর্তগুলির জন্য যখন সৌজন্যতা গুরুত্বপূর্ণ"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"আপনাকে সুরক্ষিত রাখতে পরিষেবা ব্যবহার করার জন্য নির্দেশিকা"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"আপনার ফোকাস রাখুন"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"সতর্কতা"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"বন্ধ করুন"</string>
     <string name="device_feedback" msgid="5351614458411688608">"এই ডিভাইসের সম্পর্কে মতামত পাঠান"</string>
@@ -4006,6 +4110,11 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"<xliff:g id="APP">%1$s</xliff:g> অ্যাপের জন্য মোড অ্যাক্সেস করার অনুমতি চান?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"অ্যাপ \'বিরক্ত করবে না\' মোড চালু/বন্ধ করা, মোড ম্যানেজ করা ও চালু করা এবং সম্পর্কিত সেটিংসে পরিবর্তন করতে পারবে।"</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"এই অ্যাপের তৈরি করা সব মোড সরিয়ে দেওয়া হবে।"</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"অপ্টিমাইজ করবেন না"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimize"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"এতে চার্জ আরও দ্রুত শেষ হয়ে যেতে পারে। ব্যাকগ্রাউন্ডে ব্যাটারি ব্যবহার করা থেকে অ্যাপটিকে আর সীমাবদ্ধ করা হবে না।"</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"কেস"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"ব্যাটারি"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"সেটিংস প্যানেল"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"ফোর্স ডেস্কটপ মোড"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"সেকেন্ডারি ডিসপ্লেতে ফোর্স এক্সপেরিমেন্টাল ডেস্কটপ মোড চালু করা আছে"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"ফ্রিফর্ম উইন্ডো চালু করুন"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"সেকেন্ডারি ডিসপ্লেতে ফ্রিফর্ম উইন্ডো চালু করুন"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"ছোট বড় করা যায় না এমন একাধিক উইন্ডো চালু করুন"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"একাধিক উইন্ডোয় ছোট বড় করা যায় না এমন অ্যাপের অনুমতি দিন"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"ফোর্স-ডার্ক ফিচার ওভাররাইড করুন"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"মোবাইল ডেটা"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"ডিভাইস সংক্রান্ত অভিজ্ঞতা আরও ভাল করতে, অ্যাপ ও পরিষেবা যেকোনও সময় আপনার ওয়াই-ফাই নেটওয়ার্ক স্ক্যান করতে পারবে, এমনকি ডিভাইসের ওয়াই-ফাই বন্ধ করা থাকলেও। যেমন, এটি লোকেশন-ভিত্তিক ফিচার ও পরিষেবার উন্নতির জন্য ব্যবহার করা যাবে। আপনি \'ওয়াই-ফাই স্ক্যানিং\' সেটিংস থেকে এটি পরিবর্তন করতে পারবেন।"</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"পরিবর্তন করুন"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"কানেক্ট করা আছে"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"সাময়িকভাবে কানেক্ট করা হয়েছে"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"সাময়িকভাবে <xliff:g id="SUBNAME">%1$s</xliff:g> ব্যবহার করা হচ্ছে"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"অ্যাপ পিন বিকল্প ব্যবহার করুন"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"ডেভেলপার বিকল্প ব্যবহার করুন"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"প্রিন্ট পরিষেবা ব্যবহার করুন"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"একাধিক ব্যবহারকারীকে অনুমতি দিন"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"ব্যবহারকারী পরিবর্তনের অনুমতি দিন"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"অনুমতি, একাধিক, ব্যবহারকারী, অনুমতি, অনেক"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"একাধিক, ব্যবহারকারী, প্রোফাইল, লোকজন, অ্যাকাউন্ট, পরিবর্তন করুন, অনেক"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ওয়্যারলেস ডিবাগিং বিকল্প ব্যবহার করুন"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> এই ফোনের সাথে কানেক্ট করতে চাইছে।\n\nআপনি <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>-এর সাথে আগে কখনও কানেক্ট করেননি।"</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"কানেক্ট করবেন না"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"কানেক্ট করুন"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE সেটিংস"</string>
-    <string name="tare_on" msgid="2386073225978684535">"চালু আছে"</string>
-    <string name="tare_off" msgid="6305694402929756726">"বন্ধ আছে"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"ডিফল্ট সেটিংসে ফিরে যান"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"সেটিংস ডিফল্ট হিসেবে ফিরিয়ে আনা হয়েছে।"</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"ডিভাইস পুরো চার্জ হলে সর্বাধিক ব্যালেন্স"</string>
-    <string name="tare_balances" msgid="731881382594747961">"ব্যালেন্স"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"ব্যবহারের সীমা"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"প্রাথমিক ব্যবহারের সীমা"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"সর্বনিম্ন ব্যবহারের সীমা"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"সর্বাধিক ব্যবহারের সীমা"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"পরিবর্তনকারী"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"অ্যাকশন (উৎপাদনের খরচ)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"অ্যাকশন (মূল দাম)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"প্রত্যেক ইভেন্টের জন্য পুরস্কার"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"ইভেন্ট চলাকালীন প্রতি সেকেন্ডে পুরস্কার"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"প্রতিদিন পুরস্কার পাওয়ার সর্বোচ্চ সীমা"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"অ্যাপ ইনস্টল করুন"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"সবচেয়ে বেশি অ্যাক্টিভিটি"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"বিজ্ঞপ্তি দেখেছন"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"১৫ মিনিটের মধ্যে বিজ্ঞপ্তি দেখেছেন"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"বিজ্ঞপ্তি নিয়ে ইন্টার‍্যাকশন"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"উইজেটের সাথে ইন্টার‍্যাকশন"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"অন্য ব্যবহারকারীর ইন্টার‍্যাকশন"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"সর্বাধিক অগ্রাধিকার পাওয়া কাজ শুরু করা"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"সর্বাধিক অগ্রাধিকার পাওয়া কাজ চালানো"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"উচ্চ অগ্রাধিকার পাওয়া কাজ শুরু করা"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"উচ্চ অগ্রাধিকার পাওয়া কাজ চালানো"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"ডিফল্ট অগ্রাধিকার পাওয়া কাজ শুরু করা"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"ডিফল্ট অগ্রাধিকার পাওয়া কাজ চালানো"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"কম অগ্রাধিকার পাওয়া কাজ শুরু করা"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"কম অগ্রাধিকার পাওয়া কাজ চালানো"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"সর্বনিম্ন অগ্রাধিকার পাওয়া কাজ শুরু"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"সর্বনিম্ন অগ্রাধিকার পাওয়া কাজ চালানো"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"কাজ টাইমআউট হওয়ার জন্য পেনাল্টি"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"ন্যূনতম সেশিয়েটেড ব্যালেন্স (ছাড় দেওয়া হয়েছে)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"ন্যূনতম সেশিয়েটেড ব্যালেন্স (হেডলেস সিস্টেম অ্যাপ)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"ন্যূনতম সেশিয়েটেড ব্যালেন্স (বাকি অ্যাপ)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"ন্যূনতম সেশিয়েটেড ব্যালেন্স যোগ করা (অ্যাপ আপডেটার)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"চার্জ হচ্ছে"</item>
-    <item msgid="658627268149681677">"ব্যাটারি \'ডজ\' অবস্থায় আছে"</item>
-    <item msgid="1599558140284643834">"\'পাওয়ার সেভ\' মোড"</item>
-    <item msgid="588427840913221601">"\'প্রসেস চলাকালীন\' অবস্থা"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"কনফার্ম করুন"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"প্রিভিউ"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"স্ক্রিন সেভার বেছে নিন"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"অতিরিক্ত তথ্য দেখুন"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"ট্যাবলেট ডক করা থাকলে, আপনি স্ক্রিনে কী কী দেখবেন তা বেছে নিন। স্ক্রিন সেভার ব্যবহার করার সময়, আপনার ডিভাইস ব্যাটারির চার্জ বেশি ব্যবহার করতে পারে।"</string>
     <string name="customize_button_title" msgid="1110284655990203359">"কাস্টমাইজ করুন"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> কাস্টমাইজ করুন"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"ফ্রিফর্ম সহায়তা চালু করার জন্য, ডিভাইস রিবুট করতে হবে।"</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"সেকেন্ডারি ডিসপ্লেতে ডেস্কটপ মোড জোর করে চালানোর জন্য রিবুট করতে হবে।"</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"ফ্রিফর্ম উইন্ডো সংক্রান্ত সহায়তা চালু করার জন্য ডিভাইস রিবুট করতে হবে।"</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"ফ্রিফর্ম উইন্ডোর উপলভ্যতা আপডেট করতে রিবুট করতে হবে।"</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"সেকেন্ডারি ডিসপ্লেতে ফ্রিফর্ম উইন্ডো চালু করার জন্য রিবুট করতে হবে।"</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"এখনই রিবুট করুন"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"পরে রিবুট করুন"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"স্পেশিয়ল অডিও"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"গোলাপ"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"ম্যাজেন্টা"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"বেগুনি"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"হয়ে গেছে"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"সেভ করুন"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"বাতিল করুন"</string>
     <string name="contrast_default" msgid="8918545965525226966">"ডিফল্ট"</string>
     <string name="contrast_medium" msgid="384414510709285811">"মিডিয়াম"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"চালু আছে"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"বন্ধ আছে"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"চালু আছে"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"অডিও %1$d%% বাঁদিক, %2$d%% ডানদিক"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"অডিও %1$d%% ডানদিক, %2$d%% বাঁদিক"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"আপনার ইনস্টল করা অ্যাপে আপনার ডিভাইসের নাম দেখা যাচ্ছে। আপনি ব্লুটুথ ডিভাইস বা কোনও ওয়াই-ফাই নেটওয়ার্কে কানেক্ট অথবা ওয়াই-ফাই হটস্পট সেট-আপ করলে অন্য লোকজনও এটি দেখতে পেতে পারেন।"</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"ব্যাকরণগতভাবে লিঙ্গ পরিচয়"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ব্যাকরণগতভাবে লিঙ্গ পরিচয় বেছে নিন"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"অডিও শেয়ার করা বন্ধ হয়েছে"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"মানানসই ডিভাইস কানেক্ট করুন"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"অডিও শেয়ার করা শুরু করতে, প্রথমে আপনার ফোনের সাথে LE অডিও হেডফোন কানেক্ট করুন"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>-এ পাল্টান"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"LE অডিও স্ট্রিমে কানেক্ট করুন"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"আশেপাশে অডিও স্ট্রিম"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"অডিও স্ট্রিম"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"স্ট্রিম শুনুন"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>-এর মাধ্যমে শুনতে অডিও স্ট্রিম QR কোড স্ক্যান করুন"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"শেয়ারিং চলাকালীন পাসওয়ার্ড এডিট করতে পারবেন না। পাসওয়ার্ড পরিবর্তন করতে, প্রথমে অডিও শেয়ারিং বন্ধ করুন।"</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR কোড স্ক্যানার"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"সাহায্য প্রয়োজন?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"সেটিংস সার্চ করুন"</string>
 </resources>
diff --git a/res/values-bs/arrays.xml b/res/values-bs/arrays.xml
index e3d2912..6b5a498 100644
--- a/res/values-bs/arrays.xml
+++ b/res/values-bs/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Vrijeme za spavanje"</item>
-    <item msgid="4152450357280759894">"Vožnja"</item>
-    <item msgid="7096549258219399423">"Uvjerljivo"</item>
-    <item msgid="2760716776980432977">"Upravljano"</item>
-    <item msgid="601734478369121764">"Zvijezda"</item>
-    <item msgid="6243809315432780521">"Kalendar"</item>
-    <item msgid="4913577903148415331">"Vrijeme"</item>
-    <item msgid="3653377604690057780">"Pozorište"</item>
-    <item msgid="3843711267408385410">"Cvijet"</item>
+    <item msgid="1216815120972438676">"Aktovka"</item>
+    <item msgid="184985872234062767">"Klasična zgrada"</item>
+    <item msgid="9189550412466785530">"Stambena zgrada"</item>
+    <item msgid="2142527562511049422">"Govorni oblačić"</item>
+    <item msgid="2548100558260478605">"Grupa osoba"</item>
+    <item msgid="2270003903304578284">"Sijalica"</item>
+    <item msgid="4793496619091161864">"Kalendar"</item>
+    <item msgid="5673625795644364100">"Ne ometaj"</item>
+    <item msgid="1423820834865831361">"Osoba trči"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Bučica za teretanu"</item>
+    <item msgid="2730180105015616518">"Plivanje"</item>
+    <item msgid="2666922823253345958">"Osoba pješači"</item>
+    <item msgid="8234880356472211396">"Osoba baca loptu"</item>
+    <item msgid="4642980625253001443">"Osoba udara"</item>
+    <item msgid="4324795269518833500">"Kontroler za igre"</item>
+    <item msgid="7789966425125441125">"Slikarska paleta"</item>
+    <item msgid="663512680597461570">"Pahuljica"</item>
+    <item msgid="7952183800501346803">"Suncobran"</item>
+    <item msgid="799139025758265891">"Alati radionice"</item>
+    <item msgid="1330084588359129896">"Šator"</item>
+    <item msgid="3861584909935022342">"Filmska traka"</item>
+    <item msgid="5827426100157335512">"Knjiga"</item>
+    <item msgid="8585828346253128384">"Cvijet lotosa"</item>
+    <item msgid="8788370542815300188">"Um osobe"</item>
+    <item msgid="7287354964767553293">"Slušalice"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Voz"</item>
+    <item msgid="4903790544026923026">"Automobil"</item>
+    <item msgid="5010405583912314582">"Viljuška i nož"</item>
+    <item msgid="8939998598599064900">"Kolica za kupovinu"</item>
+    <item msgid="3379605903308731893">"Dijete"</item>
+    <item msgid="7808668968550293112">"Šapa"</item>
+    <item msgid="1000692647524056504">"Značka sa zvjezdicom"</item>
+    <item msgid="8270261073421676502">"Dvije osobe"</item>
+    <item msgid="5767782819651505460">"Zvijezda"</item>
+    <item msgid="4368451291862729334">"Srce"</item>
+    <item msgid="2613199102208419986">"Kuća"</item>
+    <item msgid="3022279986430275040">"Polumjesec"</item>
+    <item msgid="5421089790869483206">"Sat"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 3fcc276..a2d972a 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Obustavljeno"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Nepoznato"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Pregled"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR kôd"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Uvijek"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Postavke slušnog aparata"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Prečica, kompatibilnost sa slušnim aparatom"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Zadana postavka"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Nema zadanih postavki koje je programirao vaš audiolog"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Ažuriranje zadanih postavki nije uspjelo"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Izlaz zvuka"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Informacije o izlazu zvuka"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Odabir jezika za ovu aplikaciju nije dostupan u Postavkama."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Jezik se može razlikovati od jezika dostupnih u aplikaciji. Neke aplikacije možda neće podržavati ovu postavku."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Postavite jezik za svaku aplikaciju."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Vaš sistem, apikacije i web lokacije koriste prvi preferirani jezik koji je podržan."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Vaš uređaj, aplikacije i web lokacije koriste prvi podržani jezik s vaše liste željenih jezika.\n\nMnoge aplikacije će koristiti i regiju na osnovu vašeg željenog jezika da odaberu format datuma, brojeva i jedinica. Da promijenite regiju, dodajte jezik, a zatim odaberite željenu regiju."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Da odaberete jezik za svaku aplikaciju, idite u postavke jezika aplikacije."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Saznajte više o jezicima aplikacije"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Promijeniti jezik sistema u %s?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Isključeno"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Uključeno / # aplikacija ima pristup lokaciji}one{Uključeno / # aplikacija ima pristup lokaciji}few{Uključeno / # aplikacije imaju pristup lokaciji}other{Uključeno / # aplikacija ima pristup lokaciji}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Učitavanje…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Aplikacije s odobrenjem za Uređaje u blizini mogu otkriti relativan položaj povezanih uređaja."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Aplikacije s odobrenjem za uređaje u blizini mogu otkrivati relativan položaj povezanih uređaja."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Pristup lokaciji je isključen za aplikacije i usluge. Lokacija uređaja se i dalje može slati hitnim službama kada pozovete broj za hitne slučajeve ili pošaljete SMS na njega."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Saznajte više o postavkama lokacije"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Da to promijenite, idite u Postavke ChromeOS-a &gt; Privatnost i sigurnost &gt; Kontrole privatnosti &gt; Pristup lokaciji"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Dodani su lice i <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Dodani su lice, otisak prsta i <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Dodani su lice, otisci prstiju i <xliff:g id="WATCH">%s</xliff:g>"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Provjera identiteta je uključena i zahtijeva biometrijske podatke"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Otključavanje udaljenog autentifikatora"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Sat je dodan"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Postavite sat"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Saznajte više o Otključavanju pomoću sata"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Dodaj sat"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Uklanjanje sata"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Otključavanje otiskom prsta i licem"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Otključavanje licem i otiskom prsta"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Otključavanje licem i otiskom prsta za radni profil"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Potrebno je postavljanje"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Lice i otisci prstiju su dodani"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Postavljanje privatnog prostora…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Postavljanje privatnog prostora nije uspjelo"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Pokušaj ponovo"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Izađi"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Privatni prostor nije dostupan.\nPogledajte moguće uzroke"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Pogledajte moguće uzroke"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Odabrati novo zaključavanje privatnog prostora?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Možete postaviti novo zaključavanje samo za privatni prostor ili koristiti isto zaključavanje koje koristite za otključavanje uređaja"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Koristi zaključavanje ekrana"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Kada je Bluetooth uključen, uređaj može komunicirati s Bluetooth uređajima u blizini.\n\nDa se poboljša iskustvo na uređaju, aplikacije i usluge i dalje mogu skenirati uređaje u blizini u bilo kojem trenutku, čak i kada je Bluetooth isključen. Ovo se, naprimjer, može koristiti da se poboljšaju funkcije i usluge zasnovane na lokaciji. Ovo možete promijeniti u postavkama Bluetooth skeniranja."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Kada je Bluetooth uključen, uređaj može komunicirati s drugim Bluetooth uređajima u blizini. Funkcije kao što su Quick Share i Pronađi moj uređaj koriste Bluetooth.\n\nAplikacije i usluge i dalje mogu skenirati uređaje u blizini bilo kada, čak i kad je Bluetooth isključen. To se može koristiti, naprimjer, za poboljšanje funkcija i usluga zasnovanih na lokaciji. Ovo možete promijeniti u postavkama Bluetooth skeniranja."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Promijenite"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Detalji o uređaju"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Postavke tastature"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Više postavki"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Ažuriranja firmvera, informacije i još mnogo toga"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Savjeti i podrška"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Bluetooth adresa uređaja: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Bluetooth adresa uređaja:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Zaboraviti uređaj?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Eksperimentalno. Poboljšava kvalitet zvuka."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Zaboravi uređaj"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Prekini vezu s aplikacijom"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Više postavki"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Maksimalni broj povezanih Bluetooth audio uređaja"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Odaberite maksimalan broj povezanih Bluetooth audio uređaja"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Opširni NFC zapisnik dobavljača o otklanjanju grešaka"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Ponovo pokrenuti uređaj?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Detaljno zapisivanje NFC podataka je namijenjeno samo za svrhe programiranja. Dodatni NFC podaci su uključeni u izvještaje o greškama, koji mogu sadržavati privatne podatke. Ponovo pokrenite uređaj da promijenite ovu postavku."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Ponovo pokreni"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Uključeno"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Isključeno"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Vanjski ekran"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Koristi vanjski ekran"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Rezolucija ekrana"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Veza s vanjskim ekranom je prekinuta"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Rotacija"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standardno"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Promjena rotacije ili rezolucije može zaustaviti sve trenutno pokrenute aplikacije"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Da preslikate ekran, uređaj mora biti povezan s vanjskim ekranom"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Više opcija"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Emitiranje"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"preslikavanje"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Omogući bežični prikaz"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Prilagodljive"</string>
     <string name="brightness" msgid="6216871641021779698">"Nivo osvijetljenosti"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Prilagodljiva osvijetljenost"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"O prilagodljivoj osvijetljenosti"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Osvijetljenost ekrana će se automatski prilagođavati vašem okruženju i aktivnostima. Klizač možete ručno pomjerati kako bi prilagodljiva osvijetljenost zapamtila vaše postavke."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Uključeno"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Isključeno"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Koristiti <xliff:g id="CARRIER">%1$s</xliff:g> za mobilne podatke?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Koristite <xliff:g id="CARRIER2_0">%2$s</xliff:g> za prijenos podataka na mobilnoj mreži. Ako se prebacite na operatera <xliff:g id="CARRIER1">%1$s</xliff:g>, <xliff:g id="CARRIER2_1">%2$s</xliff:g> se više neće koristiti za prijenos podataka na mobilnoj mreži."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Koristi <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Ažurirati preferirani SIM?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> je jedini SIM u vašem uređaju. Želite li taj SIM koristiti za prijenos podataka na mobilnoj mreži, pozive i SMS poruke?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> je sada primarni SIM"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Poboljšati pokrivenost prijenosa pod.?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Dozvolite uređaju da se automatski prebaci na operatera <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> za prijenos podataka na mobilnoj mreži kada ima bolju dostupnost."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Pozivi, poruke i mrežni saobraćaj mogu biti vidljivi vašoj organizaciji."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Opcije"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Pristupačnost"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fizička tastatura"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Koristi tastaturu na ekranu"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Zadržava se na ekranu dok je fizička tastatura aktivna"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Slučajni pritisci tipki"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Tastatura zanemaruje brzo ponavljana pritiskanja iste tipke u rasponu od <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Sporo reagiranje tipki"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Prilagođava vrijeme potrebno za aktiviranje pritiskanja tipke na <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Ljepljive tipke"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Za prečice pritišćite jednu po jednu tipku umjesto da ih istovremeno zadržavate"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Tipke miša"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Koristite fizičku tastaturu da upravljate mišem."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Prečice tastature"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Prikaz liste prečica"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tastatura i alati radnog profila"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Prilagodite pojedinačne pokrete navigacije na dodirnoj podlozi"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Klizanje unazad"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Sadržaj se pomjera nagore kada kližete nadolje"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Dodir dolje desno"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Dodirnite donji desni ugao dodirne podloge za više opcija"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Klik u donjem desnom uglu"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Kliknite u donjem desnom uglu dodirne podloge za više opcija"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Brzina pokazivača"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Stil ispune pokazivača"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Promjena ispune pokazivača u crnu"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Promjena ispune pokazivača u žutu"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Promjena ispune pokazivača u ružičastu"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Promjena ispune pokazivača u plavu"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Stil poteza pokazivačem"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Bijela"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Crna"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Ništa"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Naučite pokrete dodirne podloge"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"dodirna tabla, tabla na dodir, miš, kursor, klizanje, prevlačenje, desni klik, klik, pokazivač"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"desni klik, dodir"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Poništi"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Odaberite modifikacijsku tipku"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Odaberite novu tipku za \"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>\":"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Raspored: <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Zadano"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatski: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Korisnički odabrano: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Govor"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Brzina pokazivača"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Veličina pokazivača"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Smanjivanje veličine pokazivača"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Povećavanje veličine pokazivača"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Kontroler za igre"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Preusmjeravanje vibracije"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Pošalji vibraciju na kontroler za igre kada je povezan."</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Ipak nastavi"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Otkaži"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Postavke uvećavanja"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Pomicanjem prstom"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Premjestite povećalo s 1 prstom"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Prevlačite s 1 prstom da se krećete na ekranu"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Pomaknite područje uvećanja prevlačenjem prstom."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Pomaknite područje uvećavanja prevlačenjem s dva prsta."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Nije dostupno dok se uvećava samo dio ekrana"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Dodirnite dugme da zumirate"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Brzo uvećajte ekran da se uveća sadržaj"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Da uvećate:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Koristite prečicu da pokrenete uvećavanje.&lt;br/&gt; {1,number,integer}. Dodirnite ekran.&lt;br/&gt; {2,number,integer}. Prevlačite s 2 prsta da se krećete po ekranu.&lt;br/&gt; {3,number,integer}. Uhvatite s 2 prsta da podesite zumiranje.&lt;br/&gt; {4,number,integer}. Koristite prečicu da zaustavite uvećavanje.&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Da uvećate privremeno:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Provjerite je li vrsta uvećavanja postavljena na prikaz preko cijelog ekrana.&lt;br/&gt; {1,number,integer}. Koristite prečicu da pokrenete uvećavanje.&lt;br/&gt; {2,number,integer}. Dodirnite i zadržite bilo gdje na ekranu.&lt;br/&gt; {3,number,integer}. Prevlačite prstom da se krećete po ekranu.&lt;br/&gt; {4,number,integer}. Podignite prst da zaustavite uvećavanje."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Da uvećate:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Upotrijebite prečicu da pokrenete uvećavanje&lt;br/&gt; {1,number,integer}. Dodirnite ekran&lt;br/&gt; {2,number,integer}. Prevlačite s 2 prsta da se krećete na ekranu&lt;br/&gt; {3,number,integer}. Spojite 2 prsta da podesite zumiranje&lt;br/&gt; {4,number,integer}. Upotrijebite prečicu da zaustavite uvećavanje&lt;br/&gt;&lt;br/&gt; Možete i privremeno uvećavati i drugo."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Da uvećate:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Upotrijebite prečicu da pokrenete uvećavanje&lt;br/&gt; {1,number,integer}. Dodirnite ekran&lt;br/&gt; {2,number,integer}. Prevlačite s 1 ili 2 prsta da se krećete na ekranu&lt;br/&gt; {3,number,integer}. Spojite 2 prsta da podesite zumiranje&lt;br/&gt; {4,number,integer}. Upotrijebite prečicu da zaustavite uvećavanje&lt;br/&gt;&lt;br/&gt; Možete i privremeno uvećavati i drugo."</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_pager" msgid="8461939455728454061">"Stranica <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> od <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Prečica dugmeta za pristupačnost"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Dodirnite plutajuće dugme"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Pokret za pristupačnost"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Dodirnite dugme za pristupačnost <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na dnu ekrana. Da prebacujete između funkcija, dodirnite i zadržite dugme za pristupačnost."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Prevucite s dva prsta prema gore s dna ekrana.\n\nDa prebacujete između funkcija, s dva prsta prevucite prema gore i zadržite."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Prevucite s tri prsta prema gore s dna ekrana.\n\nDa prebacujete između funkcija, prevucite s tri prsta prema gore i zadržite."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Prevucite s dna ekrana nagore. Da prebacujete između funkcija, prevucite nagore i zadržite.}one{Prevucite s dna ekrana nagore s # prstom. Da prebacujete između funkcija, prevucite nagore s # prstom i zadržite.}few{Prevucite s dna ekrana nagore s # prsta. Da prebacujete između funkcija, prevucite nagore s # prsta i zadržite.}other{Prevucite s dna ekrana nagore sa # prstiju. Da prebacujete između funkcija, prevucite nagore sa # prstiju i zadržite.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Više opcija"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"<xliff:g id="SERVICE">%1$s</xliff:g> – saznajte više"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Tipke za jačinu zvuka"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"tipke za jačinu zvuka"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Pritisnite i zadržite obje tipke za jačinu zvuka"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Dvostruki dodir ekrana s dva prsta"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Dvostruki dodir s %1$d prsta"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Brzo dodirnite ekran dvaput s %1$d prsta"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Trostruki dodir"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Brzo dodirnite ekran %1$d puta. Ovo može usporiti uređaj."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Dvostruki dodir s %1$d prsta"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Brzo dodirnite ekran {0,number,integer} put(a) s dva prsta"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Dodirnite ekran triput"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"trostruki dodir"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Brzo dodirnite ekran sljedeći broj puta: {0,number,integer}. Ova prečica 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">"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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Postavke prečice"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Prečica sa zaključanog ekrana"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Dozvolite da se prečica funkcije uključi sa zaključanog ekrana. Držite obje tipke za jačinu zvuka nekoliko sekundi."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Dugme za pristupačnost"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Dugme i pokret za pristupačnost"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Ova usluga ne radi ispravno."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Prečice za pristupačnost"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Prikaži u Brzim postavkama"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Crveno-zeleno"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Crveno-zeleno"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Crveno-zeleno, slabo prepoznavanje zelene"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Crveno-zeleno, slabo prepoznavanje crvene"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Plavo-žuto"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Nijanse sive"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intenzitet"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Slabo prepoznavanje zelene, deuteranomalija"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Slabo prepoznavanje crvene, protanomalija"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Nije dostupno za način rada za nijanse sive ili kada je ispravka boja onemogućena"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Dodatno zatamnjenje"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Dodatno zatamni ekran"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Cijan"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Žuta"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Dozvoliti da usluga <xliff:g id="SERVICE">%1$s</xliff:g> ima punu kontrolu nad vašim uređajem?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"Usluga <xliff:g id="SERVICE">%1$s</xliff:g> mora:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Aplikacija nije dala odobrenje za zahtjev pa postavke ne mogu potvrditi vaš odgovor."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"Usluga <xliff:g id="SERVICE">%1$s</xliff:g> zahtijeva potpunu kontrolu ovog uređaja. Usluga može čitati sadržaj ekrana i djelovati u ime korisnika s potrebama za pristupačnost. Ovaj nivo kontrole nije prikladan za većinu aplikacija."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Puna kontrola je prikladna za aplikacije koje vam pomažu kod potreba pristupačnosti, ali nije za većinu aplikacija."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Prikaz i kontrola ekrana"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Može čitati sav sadržaj na ekranu i prikazivati sadržaj preko drugih aplikacija."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Prikaz i izvršavanje radnji"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Može pratiti vaše interakcije s aplikacijom ili hardverskim senzorom te ostvariti interakciju s aplikacijama umjesto vas."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Dozvoli"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Odbij"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Isključi"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Uključeno / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> i <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Možete uključiti prostorni zvuk i za Bluetooth uređaje."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Postavke povezanih uređaja"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Prostorni zvuk"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Isključeno"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Isključeno"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Isključeno"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Nema}=1{Postavljen je 1 raspored}one{Postavljen je # raspored}few{Postavljena su # rasporeda}other{Postavljeno je # rasporeda}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Ne ometaj"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Prioritetni načini rada"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Dodajte način rada"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Načini rada"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Minimizirajte ometanja i preuzmite kontrolu nad svojom pažnjom uz načine rada za spavanje, posao, vožnju i sve ostalo."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Kreirajte vlastiti način rada"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Primajte obavještenja samo od važnih osoba i aplikacija"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Postavite raspored"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Raspored se zasniva na"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Dan i vrijeme"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"9:00–17:00 radnim danima\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Događaji u kalendaru"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{Način rada {mode_1} je aktivan}=2{Načini rada {mode_1} i {mode_2} su aktivni}=3{Načini rada {mode_1}, {mode_2} i {mode_3} su aktivni}one{Načini rada {mode_1} i {mode_2} te još # način rada su aktivni}few{Načini rada {mode_1} i {mode_2} te još # načina rada su aktivni}other{Načini rada {mode_1} i {mode_2} te još # načina rada su aktivni}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 način rada se može automatski uključivati}one{# način rada se može automatski uključivati}few{# načina rada se mogu automatski uključivati}other{# načina rada se može automatski uključivati}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"UKLJUČENO"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Nije postavljeno"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Onemogućeno"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Kreirajte način rada"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Prilagođeno"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Uključi sada"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Isključi"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Način rada nije pronađen"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ograničite ometanja"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Blokirajte prekide i ometanja"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Postavite način rada <xliff:g id="MODE">%1$s</xliff:g>"</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_alarms_only" msgid="2956938533859578315">"Zvuci alarma i medija mogu prekinuti"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Rasporedi"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Izbrišite rasporede"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Izbriši"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Promijenite naziv"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Izbriši"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Izbrisati način rada \"<xliff:g id="MODE">%1$s</xliff:g>\"?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Uredi"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Rasporedi"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Raspored"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Automatski uključi"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Dodajte kalendar"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Koristite kalendar"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Raspored"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Postavite raspored"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Kada uključiti automatski"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Raspored događaja"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Uključite tokom događaja za"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Kada je odgovor na poziv"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Vremenski raspored"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Raspored"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h, <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Raspored"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Dozvoli ometanja koja proizvode zvuk"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Obavještenja koja vam se mogu prikazivati"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Dodatne radnje"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Filteri obavještenja"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Više postavki"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Isključeno}=1{Isključeno / 1 način rada se može automatski uključivati}one{Isključeno / # način rada se može automatski uključivati}few{Isključeno / # načina rada se mogu automatski uključivati}other{Isključeno / # načina rada se mogu automatski uključivati}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Postavke ekrana"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Opcije ekrana"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Nijanse sive"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"omogući tamnu temu"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Postavite OS i aplikacije da preferiraju svijetli tekst na tamnoj pozadini jer to može biti lakše za oči, a na nekim uređajima omogućava i značajne uštede baterije"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Nema promjena prikaza}=1{{effect_1}}=2{{effect_1} i {effect_2}}=3{{effect_1}, {effect_2} i {effect_3}}one{{effect_1}, {effect_2} i još #}few{{effect_1}, {effect_2} i još #}other{{effect_1}, {effect_2} i još #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Dozvoli sva obavještenja"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Osobe, aplikacije i zvukovi vas mogu prekidati"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opcije prikaza filtriranih obavještenja"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Kada je uključena funkcija Ne ometaj"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Bez zvuka obavještenja"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"otvaranje obavještenja"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Dozvoli odgađanje obavještenja"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Tačka za obavještenja na ikoni aplikacije"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Paketi obavještenja"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Oblačići"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Oblačići"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Prikaži ovaj razgovor u oblačiću"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Može odgovarati na poruke i djelovati na dugmad u obavještenjima, uključujući odgodu ili odbacivanje obavještenja i odgovaranje na pozive."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"mijenjati postavke"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Može uključiti ili isključiti opciju Ne ometaj i promijeniti postavke povezane s tom opcijom."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Može upravljati načinima rada i aktivirati ih te mijenjati povezane postavke."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Ako aplikaciji <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> isključite pristup obavještenjima, može se isključiti i pristup načinu rada Ne ometaj."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Ako isključite pristup obavještenjima za aplikaciju <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, pristup načinima rada će se također možda isključiti."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Isključi"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Otkaži"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"U stvarnom vremenu"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Ova aplikacija ne podržava poboljšane postavke"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Više postavki"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Više postavki dostupno je unutar aplikacije"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Prilagodljiva obavještenja"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Koristite prilagodljiva obavještenja"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Kada unutar kratkog vremenskog raspona dobijete mnogo obavještenja, telefon će smanjiti jačinu zvuka i minimizirati skočne prozore na ekranu do dvije minute. Pozivi, alarmi i prioritetni razgovori će i dalje vibrirati, zvoniti ili se prikazivati na ekranu, a sva obavještenja ćete moći lako pronaći kada prevučete s vrha ekrana nadolje."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Stišavanje obavještenja"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Koristite stišavanje obavještenja"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Kada unutar kratkog vremenskog raspona primite mnogo obavještenja, uređaj će smanjiti jačinu zvuka i minimizirati obavještenja do 2 minute. Ovo ne utiče na pozive, alarme i prioritetne razgovore. \n\nObavještenja primljena tokom stišavanja možete pronaći povlačenjem nadolje s vrha ekrana."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Primijeni na poslovne profile"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Primijenite na aplikacije radnog profila"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Usluge pomagača za VR"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Pristup načinu rada Ne ometaj"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Dozvoli način rada Ne ometaj"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Nijedna instalirana aplikacija nije zatražila pristup za Ne ometaj"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Pristup načinima rada"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Dozvoli pristup načinima rada"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Nijedna instalirana aplikacija nije zatražila pristup načinima rada"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Niste dozvolili obavještenja iz ove aplikacije"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Na vaš zahtjev, Android blokira pojavljivanje ove kategorije obavještenja na ovom uređaju"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Na vaš zahtjev, Android blokira pojavljivanje ove grupe obavještenja na ovom uređaju"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Kategorije"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Ostalo"</string>
     <string name="no_channels" msgid="4716199078612071915">"Ova aplikacija nije objavila nikakva obavještenja"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Prikaži kategorije koje se ne koriste"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Dodatne postavke u aplikaciji"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Prikaži kategorije koje se ne koriste"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Sakrij kategorije koje se ne koriste"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Razgovori"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Svi razgovori"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"svi razgovori"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Prioritetni razgovori"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"prioritetni razgovori"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Nema"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Aplikacije koje vas mogu prekinuti"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Odabrane aplikacije"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Nijedna"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Sve"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Nijedna aplikacija ne može prekinuti}=1{Aplikacija {app_1} može prekinuti}=2{Aplikacije {app_1} i {app_2} mogu prekinuti}=3{Aplikacije {app_1}, {app_2} i {app_3} mogu prekinuti}one{Aplikacije {app_1}, {app_2} i još # mogu prekinuti}few{Aplikacije {app_1}, {app_2} i još # mogu prekinuti}other{Aplikacije {app_1}, {app_2} i još # mogu prekinuti}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (radno)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Računanje…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"još <xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Dozvolite aplikacijama da zanemaruju"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikacije koje vas mogu prekinuti"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Odaberite još aplikacija"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Ništa ne može prekinuti"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Niko ne može prekinuti"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Neke osobe mogu prekinuti"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Ponovni pozivaoci mogu ometati"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Sve osobe mogu prekinuti"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Ponovni pozivaoci"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Dozvoli ponovne pozivaoce"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Promjena na alarme samo na jedan sat do {time}}one{Promjena na alarme samo na # sat do {time}}few{Promjena na alarme samo na # sata do {time}}other{Promjena na alarme samo na # sati do {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Pređi na postavku Samo alarmi do <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Promijeniti u uvijek prekini"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Promijenite naziv"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Promijenite ikonu"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Promijenite ikonu"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Uredite način rada"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Kreirajte način rada"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Prilagođeni način rada"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Naziv načina rada"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Događaji u kalendaru"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Rutina vremena za spavanje"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"U toku vožnje"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Postavke aplikacije"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Informacije i postavke u aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Upravlja aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Onemogućiti nač. rada <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Ovaj način rada se nikada neće uključiti kada je onemogućen"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Onemogući"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Omogućiti način rada <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Ovaj način rada će se možda automatski uključiti na osnovu postavki"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Omogući"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Postavite način rada koji je u skladu s redovnim rasporedom"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Postavite način rada da sinhronizirate s događajima u kalendaru i odgovorima na pozive"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Dizajnirajte opuštajuću rutinu za spavanje. Postavite alarme, zatamnite ekran i blokirajte obavještenja."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Dajte prioritet sigurnosti na putu radi fokusirane vožnje bez ometanja"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Blokirajte ometanja ili prekide s uređaja radi fokusiranja"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Eliminirajte sva ometanja radi tihog okruženja"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Personalizirajte iskustva i postavke uređaja za razne korisnike"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Minimizirajte prekide dozvoljavanjem samo važnim osobama i aplikacijama da vas kontaktiraju"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Postavite način rada koji je u skladu s redovnim rasporedom"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Sinhronizirajte uređaj s dnevnim događajima"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Budite se puni energije"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Sigurnost na prvom mjestu dok ste na putu"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Fokusirajte se da se potpuno koncentrirate"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Za trenutke kada je važna učtivost"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Kontrolirano korištenje da ostanete u dobrim rukama"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Preuzmite kontrolu nad svojom pažnjom"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Upozorenje"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Zatvori"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Slanje povratnih informacija o uređaju"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Mora ostati uključeno jer je uključen pristup obavještenjima"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Opozvati pristup funkciji Ne ometaj za aplikaciju <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Sva pravila za funkciju Ne ometaj koje je kreirala ova aplikacija će se ukloniti."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Dozvoliti pristup načinima rada za aplikaciju <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Aplikacija će moći uključiti/isključiti funkciju Ne ometaj, upravljati načinima rada i aktivirati ih te mijenjati povezane postavke."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Uklonit će se svi načini rada koje je kreirala ova aplikacija."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Ne optimiziraj"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimizuj"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Baterija se može brže isprazniti. Aplikaciji više neće biti ograničena potrošnja baterije u pozadini."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Maska"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Baterija"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Ploča s postavkama"</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_desktop_mode" msgid="5644818402534562302">"Omogući prilagodljive prozore"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Omogući prilagodljive prozore na sekundarnom ekranu"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Omogući aplikacije nepromjenjive veličine u više prozora"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Omogućava prikaz aplikacija nepromjenjive veličine u više prozora"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Nadjačaj nametanje tamne teme"</string>
@@ -4968,7 +5077,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"prijenos podataka na mobilnoj mreži"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Radi poboljšanja iskustva s uređajem aplikacije i usluge i dalje mogu u bilo kojem trenutku skenirati WiFi mreže, čak i kada je WiFi isključen. Ovim se, naprimjer, mogu poboljšati funkcije i usluge zasnovane na lokaciji. Ovo možete promijeniti u postavkama Skeniranja WiFi mreže."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Izmijenite"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Povezano"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Privremeno povezano"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Privremeno se koristi <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -5000,7 +5108,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Koristi kačenje aplikacije"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Koristi opcije za programere"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Koristi uslugu štampanja"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Dozvoli više korisnika"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Dozvoli prebacivanje između korisnika"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"dozvoliti, višestruko, korisnik, dopustiti, mnogo"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"više, korisnici, profili, osobe, računi, promjena, mnogo"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Koristi bežično otklanjanje grešaka"</string>
@@ -5057,52 +5165,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"Uređaj <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> se želi povezati s ovim telefonom.\n\nRanije se niste povezivali s uređajem <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Nemoj se povezati"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Poveži"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Postavke za TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Uključeno"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Isključeno"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Vrati na zadane postavke"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Postavke su vraćene na zadano."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Stanje maksimalnog zasićenja"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Stanje računa"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Ograničenja potrošnje"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Početno ograničenje potrošnje"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Minimalno ograničenje potrošnje"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Maksimalno ograničenje potrošnje"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modifikatori"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Radnje (cijena izrade)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Radnje (osnovna cijena)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Nagrade po jednom događaju"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Nagrade po sekundi trajanja događaja"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Maksimalni broj nagrada po danu"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Instaliranje aplikacije"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Maksimalna aktivnost"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Obavještenje je viđeno"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Obavještenje je viđeno u roku od 15 minuta"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interakcija s obavještenjima"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Interakcija s vidžetom"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Interakcija s drugim korisnikom"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Pokretanje zadatka maksimalnog prioriteta"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Pokrenut je zadatak maksimalnog prioriteta"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Pokretanje zadatka visokog prioriteta"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Pokrenut je zadatak visokog prioriteta"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Pokretanje zadatka zadanog prioriteta"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Pokrenut je zadatak zadanog prioriteta"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Pokretanje zadatka niskog prioriteta"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Pokrenut je zadatak niskog prioriteta"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Pokretanje zadatka minimalnog prioriteta"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Pokrenut je zadatak minimalnog prioriteta"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Kazna za istek vremena zadatka"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Minimalno stanje kada je uređaj napunjen (Izuzetak)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Minimalno stanje kada je uređaj napunjen (Sistemska aplikacija bez interfejsa)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Minimalno stanje kada je uređaj pun (Preostale aplikacije)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Dodavanje minimalnog stanja kada je uređaj pun (alati za ažuriranje aplikacija)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Punjenje"</item>
-    <item msgid="658627268149681677">"Doziranje"</item>
-    <item msgid="1599558140284643834">"Način rada uštede energije"</item>
-    <item msgid="588427840913221601">"Stanje procesa"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Potvrdi"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Pregledajte"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Odaberite čuvar ekrana"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Prikaži dodatne informacije"</string>
@@ -5114,8 +5176,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Odaberite šta će se prikazivati na ekranu kada je tablet na priključnoj stanici. Uređaj može trošiti više energije kada se koristi čuvar ekrana."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Prilagodite"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Prilagodite <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Potrebno je ponovno pokretanje da se omogući podrška za slobodni oblik."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Potrebno je ponovno pokretanje da se nametne način rada računara na sekundarnim ekranima."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Potrebno je ponovno pokretanje da se omogući podrška za prilagodljive prozore."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Potrebno je ponovno pokretanje da se ažurira dostupnost prilagodljivih prozora."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Potrebno je ponovno pokretanje da se omoguće prilagodljivi prozori na sekundarnim ekranima."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Ponovo pokreni sada"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Ponovo pokreni kasnije"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Prostorni zvuk"</string>
@@ -5212,7 +5275,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Ružičasta"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Ljubičasta"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Gotovo"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Sačuvaj"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Otkaži"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Zadano"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Srednje"</string>
@@ -5233,6 +5296,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Uključeno"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Isključeno"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Uključeno"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Audio %1$d%% lijevo, %2$d%% desno"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Audio %1$d%% desno, %2$d%% lijevo"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Naziv uređaja je vidljiv aplikacijama koje ste instalirali. Također će ga moći vidjeti druge osobe prilikom povezivanja s Bluetooth uređajima i WiFi mrežom ili postavljanja WiFi pristupne tačke."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Gramatički rod"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Odaberite gramatički rod"</string>
@@ -5301,6 +5366,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Dijeljenje zvuka je zaustavljeno"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Povežite kompatibilan uređaj"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Da počnete dijeliti zvuk, prvo povežite slušalice s LE Audijem s telefonom"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Prebaci se na uređaj <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Povežite se s prijenosom zvuka LE Audio"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Prijenosi zvuka u blizini"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Prijenosi zvuka"</string>
@@ -5344,4 +5410,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Slušajte prijenos"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Skenirajte QR kôd prijenosa zvuka da slušate na uređaju <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Nije moguće urediti lozinku tokom dijeljenja. Da promijenite lozinku, prvo isključite dijeljenje zvuka."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Skener QR koda"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Trebate pomoć?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Pretražite postavke"</string>
 </resources>
diff --git a/res/values-ca/arrays.xml b/res/values-ca/arrays.xml
index baae348..9bfaf64 100644
--- a/res/values-ca/arrays.xml
+++ b/res/values-ca/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Hora de dormir"</item>
-    <item msgid="4152450357280759894">"Conducció"</item>
-    <item msgid="7096549258219399423">"Immersiu"</item>
-    <item msgid="2760716776980432977">"Gestionat"</item>
-    <item msgid="601734478369121764">"Estrella"</item>
-    <item msgid="6243809315432780521">"Calendari"</item>
-    <item msgid="4913577903148415331">"Hora"</item>
-    <item msgid="3653377604690057780">"Teatre"</item>
-    <item msgid="3843711267408385410">"Flor"</item>
+    <item msgid="1216815120972438676">"Maletí"</item>
+    <item msgid="184985872234062767">"Edifici clàssic"</item>
+    <item msgid="9189550412466785530">"Edifici d\'apartaments"</item>
+    <item msgid="2142527562511049422">"Globus"</item>
+    <item msgid="2548100558260478605">"Grup de persones"</item>
+    <item msgid="2270003903304578284">"Bombeta"</item>
+    <item msgid="4793496619091161864">"Calendari"</item>
+    <item msgid="5673625795644364100">"No molestis"</item>
+    <item msgid="1423820834865831361">"Persona corrent"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Pesa de gimnàs"</item>
+    <item msgid="2730180105015616518">"Natació"</item>
+    <item msgid="2666922823253345958">"Persona que fa excursionisme"</item>
+    <item msgid="8234880356472211396">"Persona que llança una pilota"</item>
+    <item msgid="4642980625253001443">"Persona que fa una puntada de peu"</item>
+    <item msgid="4324795269518833500">"Comandament de joc"</item>
+    <item msgid="7789966425125441125">"Paleta de colors d\'artista"</item>
+    <item msgid="663512680597461570">"Floc de neu"</item>
+    <item msgid="7952183800501346803">"Para-sol"</item>
+    <item msgid="799139025758265891">"Eines d\'un taller"</item>
+    <item msgid="1330084588359129896">"Tenda de campanya"</item>
+    <item msgid="3861584909935022342">"Rodet de pel·lícula"</item>
+    <item msgid="5827426100157335512">"Llibre"</item>
+    <item msgid="8585828346253128384">"Flor de lotus"</item>
+    <item msgid="8788370542815300188">"Ment d\'una persona"</item>
+    <item msgid="7287354964767553293">"Auriculars"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Tren"</item>
+    <item msgid="4903790544026923026">"Cotxe"</item>
+    <item msgid="5010405583912314582">"Forquilla i ganivet"</item>
+    <item msgid="8939998598599064900">"Carretó"</item>
+    <item msgid="3379605903308731893">"Infant"</item>
+    <item msgid="7808668968550293112">"Grapa"</item>
+    <item msgid="1000692647524056504">"Insígnia d\'estrella"</item>
+    <item msgid="8270261073421676502">"Dues persones"</item>
+    <item msgid="5767782819651505460">"Estrella"</item>
+    <item msgid="4368451291862729334">"Cor"</item>
+    <item msgid="2613199102208419986">"Casa"</item>
+    <item msgid="3022279986430275040">"Mitja lluna"</item>
+    <item msgid="5421089790869483206">"Rellotge"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 1c2c286..63733bb 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspesa"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Desconegut"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Previsualització"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"Codi QR"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Sempre"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Configuració de l\'audiòfon"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Drecera, compatibilitat amb audiòfons"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Valors predefinits"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"L\'audiòleg no ha programat cap valor predefinit"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"No s\'ha pogut actualitzar el valor predefinit"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Sortida d\'àudio"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Sobre la sortida d\'àudio"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"La selecció d\'idioma per a aquesta aplicació no està disponible des de Configuració."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"És possible que l\'idioma no coincideixi amb els que hi ha disponibles a l\'aplicació. Algunes aplicacions no admeten aquesta opció de configuració."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Configura l\'idioma per a cada aplicació."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"El sistema, les aplicacions i els llocs web utilitzen el primer idioma admès dels teus idiomes preferits."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"El dispositiu, les aplicacions i els llocs web utilitzen el primer idioma admès de la teva llista d\'idiomes preferits.\n\nMoltes aplicacions també utilitzen la regió del teu idioma preferit per formatar les dates, els números i les unitats. Per canviar la regió, afegeix un idioma i, a continuació, tria la regió que prefereixis."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Per seleccionar un idioma per a cada aplicació, ves a la configuració d\'idioma de l\'aplicació."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Més informació sobre els idiomes de les aplicacions"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Vols canviar l\'idioma del sistema a %s?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Desactivat"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Activada (# aplicació té accés a la ubicació)}other{Activada (# aplicacions tenen accés a la ubicació)}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Carregant…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Les aplicacions amb permís per trobar dispositius propers poden determinar la posició relativa dels dispositius connectats."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Les aplicacions que tenen el permís de dispositius propers poden determinar la posició relativa dels dispositius connectats."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"L\'accés a la ubicació està desactivat per a aplicacions i serveis. Tanmateix, la ubicació del dispositiu es pot continuar enviant als serveis d\'emergències quan truquis o enviïs un missatge de text a un número d\'emergència."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Més informació sobre la configuració d\'ubicació"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Per canviar-ho, ves a Configuració de ChromeOS &gt; Privadesa i seguretat &gt; Controls de privadesa &gt; Accés a la ubicació"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Cara i <xliff:g id="WATCH">%s</xliff:g> afegits"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Cara, empremta digital i <xliff:g id="WATCH">%s</xliff:g> afegits"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Empremtes digitals, cara i <xliff:g id="WATCH">%s</xliff:g> afegits"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"La comprovació d\'identitat està activada i requereix una biometria"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Desbloqueig de Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Rellotge afegit"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Configura el rellotge"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Més informació sobre Desbloqueig amb rellotge"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Afegeix un rellotge"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Suprimeix el rellotge"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Desbloqueig facial i amb empremta digital"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Desbloqueig facial i amb empremta digital"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Desbloqueig facial i amb empremta digital per a la feina"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Cal fer la configuració"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Cara i empremtes digitals afegides"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"S\'està configurant l\'espai privat…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"No s\'ha pogut configurar un espai privat"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Torna-ho a provar"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Surt"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"L\'espai privat no està disponible.\nConsulta les causes possibles."</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Consulta les causes possibles"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Vols triar un bloqueig nou per a l\'espai privat?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Pots definir un bloqueig nou només per a l\'espai privat o utilitzar el mateix que fas servir per desbloquejar el dispositiu"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Utilitza el bloqueig de pantalla"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Si el Bluetooth està activat, el dispositiu pot comunicar-se amb altres dispositius Bluetooth propers.\n\nPer millorar l\'experiència amb el dispositiu, les aplicacions i els serveis poden continuar cercant dispositius propers en qualsevol moment, fins i tot amb el Bluetooth desactivat. Això pot servir, per exemple, per millorar les funcions i els serveis basats en la ubicació. Pots canviar-ho a la configuració de cerca de dispositius Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Quan el Bluetooth està activat, el dispositiu pot comunicar-se amb altres dispositius Bluetooth a prop. Les funcions com Quick Share i Troba el meu dispositiu utilitzen Bluetooth.\n\nLes aplicacions i els serveis poden cercar dispositius propers en qualsevol moment, fins i tot quan el Bluetooth està desactivat. Aquesta opció es pot utilitzar, per exemple, per millorar les funcions i els serveis basats en la ubicació. Pots canviar aquesta opció a la configuració de cerca de dispositius Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Canvia"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Detalls del dispositiu"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Configuració de teclat"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Més opcions"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Actualitzacions de microprogramari, informació i més"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Ajuda i consells"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Adreça de Bluetooth del dispositiu: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Adreça de Bluetooth del dispositiu:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Vols que s\'oblidi el dispositiu?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Experimental. Millora la qualitat d\'àudio."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Oblida el dispositiu"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Desconnecta l\'aplicació"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Més opcions"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Nombre màxim de dispositius Bluetooth d\'àudio connectats"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Selecciona el nombre màxim de dispositius Bluetooth d\'àudio connectats"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Registre detallat de depuració del proveïdor de l\'NFC"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Vols reiniciar el dispositiu?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"El registre detallat de l\'NFC només està indicat per a activitats de desenvolupament. Les dades de l\'NFC addicionals estan incloses als informes d\'errors, que poden contenir informació privada. Reinicia el dispositiu per canviar aquesta configuració."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Reinicia"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Activat"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Desactivat"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Pantalla externa"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Utilitza la pantalla externa"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Resolució de la pantalla"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"La pantalla externa està desconnectada"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Rotació"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Estàndard"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Canviar la rotació o la resolució pot aturar les aplicacions que s\'estiguin executant ara mateix"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"El dispositiu ha d\'estar connectat a una pantalla externa per duplicar la pantalla"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Més opcions"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Emet"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"duplicar"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Activa pantalla sense fil"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptatius"</string>
     <string name="brightness" msgid="6216871641021779698">"Nivell de brillantor"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Brillantor adaptativa"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Sobre la brillantor adaptativa"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"La brillantor de la pantalla s\'ajustarà automàticament al teu entorn i a la teva activitat. Pots moure el control lliscant manualment perquè la brillantor adaptativa aprengui les teves preferències."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Activat"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Desactivat"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Utilitzar <xliff:g id="CARRIER">%1$s</xliff:g> per a dades mòbils?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Estàs utilitzant <xliff:g id="CARRIER2_0">%2$s</xliff:g> per a les dades mòbils. Si canvies a <xliff:g id="CARRIER1">%1$s</xliff:g>, ja no es farà servir <xliff:g id="CARRIER2_1">%2$s</xliff:g> per a les dades mòbils."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Utilitza <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Vols canviar la SIM preferida?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> és l\'única SIM del dispositiu. Vols fer-la servir per a les dades mòbils, les trucades i els missatges SMS?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"Ara <xliff:g id="NEW_SIM">%1$s</xliff:g> és la teva SIM principal"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Millorar la cobertura de dades?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Permet que el dispositiu canviï a <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> automàticament per a les dades mòbils quan tingui millor disponibilitat."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"És possible que les trucades, els missatges i el trànsit de xarxa siguin visibles per a la teva organització."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Opcions"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibilitat"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Teclat físic"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Utilitza el teclat en pantalla"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Mantén-lo en pantalla mentre el teclat físic està actiu"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Tecles de rebot"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"El teclat ignora les pulsacions repetides ràpidament de la mateixa tecla en un interval de <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Tecles lentes"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Ajusta el temps que tarda la pulsació d\'una tecla en activar-se a <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Tecles permanents"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Prem una tecla cada vegada per a les dreceres en lloc de mantenir premudes les tecles alhora"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Tecles del ratolí"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Utilitza el teclat físic per controlar el ratolí."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Tecles de drecera"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Mostra la llista de dreceres"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Teclats i eines del perfil de treball"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Personalitza els gestos de navegació del ratolí tàctil"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Desplaçament invers"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"El contingut es mou cap amunt quan et desplaces cap avall"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Toc a la part inferior dreta"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Toca l\'extrem inferior dret del ratolí per veure més opcions"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Fes clic a la part inferior dreta"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Fes clic a l\'extrem inferior dret del ratolí per a més opcions"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Velocitat del punter"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Estil d\'emplenament del punter"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Canvia emplenament del punter a negre"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Canvia emplenament del punter a groc"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Canvia emplenament del punter a rosa"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Canvia emplenament del punter a blau"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Estil de traç de punter"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Blanc"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Negre"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Cap"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Aprèn els gestos del ratolí tàctil"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"ratolí tàctil, ratolí, cursor, desplaçar-se, lliscar, fer clic amb el botó dret, fer clic, punter"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"fer clic amb el botó dret, tocar"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Restableix"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Tria la tecla modificadora"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Tria una tecla nova per a <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Disseny de <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Predeterminat"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automàtic: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Seleccionat per l\'usuari: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Parla"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Velocitat del punter"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Escala del punter"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Redueix l\'escala del punter"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Augmenta l\'escala del punter"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Controlador de joc"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Redirigeix la vibració"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Envia la vibració al controlador de joc quan estigui connectat"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continua igualment"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Cancel·la"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Configuració de l\'ampliació"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Desplaçament amb un dit"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Mou la lupa amb 1 dit"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Arrossega 1 dit per moure\'t per la pantalla"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Mou l\'àrea d\'ampliació arrossegant un dit."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Mou l\'àrea d\'ampliació arrossegant dos dits."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"No està disponible mentre només s\'amplia una part de la pantalla"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Toca un botó per fer zoom"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Amplia la pantalla ràpidament per engrandir el contingut"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Per ampliar&lt;/b&gt;:&lt;br/&gt; {0,number,integer}. Utilitza la drecera per iniciar l\'ampliació.&lt;br/&gt; {1,number,integer}. Toca la pantalla.&lt;br/&gt; {2,number,integer}. Arrossega 2 dits per moure\'t per la pantalla.&lt;br/&gt; {3,number,integer}. Pinça amb 2 dits per ajustar el zoom.&lt;br/&gt; {4,number,integer}. Utilitza la drecera per aturar l\'ampliació.&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Per ampliar temporalment&lt;/b&gt;:&lt;br/&gt; {0,number,integer}. Assegura\'t que el tipus d\'ampliació estigui definit com a pantalla completa.&lt;br/&gt; {1,number,integer}. Utilitza la drecera per iniciar l\'ampliació.&lt;br/&gt; {2,number,integer}. Mantén premut qualsevol punt de la pantalla.&lt;br/&gt; {3,number,integer}. Arrossega un dit per moure\'t per la pantalla.&lt;br/&gt; {4,number,integer}. Aixeca el dit per aturar l\'ampliació."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Per ampliar&lt;/b&gt;:&lt;br/&gt; {0,number,integer}. Utilitza una drecera per iniciar l\'ampliació.&lt;br/&gt; {1,number,integer}. Toca la pantalla.&lt;br/&gt; {2,number,integer}. Arrossega 2 dits per moure\'t per la pantalla.&lt;br/&gt; {3,number,integer}. Pinça amb 2 dits per ajustar el zoom.&lt;br/&gt; {4,number,integer}. Utilitza la drecera per aturar l\'ampliació.&lt;br/&gt;&lt;br/&gt; També pots ampliar temporalment i més."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Per ampliar&lt;/b&gt;:&lt;br/&gt; {0,number,integer}. Utilitza una drecera per iniciar l\'ampliació.&lt;br/&gt; {1,number,integer}. Toca la pantalla.&lt;br/&gt; {2,number,integer}. Arrossega 1 o 2 dits per moure\'t per la pantalla.&lt;br/&gt; {3,number,integer}. Pinça amb 2 dits per ajustar el zoom.&lt;br/&gt; {4,number,integer}. Utilitza la drecera per aturar l\'ampliació.&lt;br/&gt;&lt;br/&gt; També pots ampliar temporalment i més."</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_pager" msgid="8461939455728454061">"Pàgina <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> de <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Drecera del botó d\'accessibilitat"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Toca el botó flotant"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Gest d\'accessibilitat"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Toca el botó d\'accessibilitat <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> a la part inferior de la pantalla. Per canviar entre funcions, mantén premut el botó d\'accessibilitat."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Llisca cap amunt amb 2 dits des de la part inferior de la pantalla.\n\nPer canviar entre funcions, llisca cap amunt amb 2 dits i mantén premut."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Llisca cap amunt amb 3 dits des de la part inferior de la pantalla.\n\nPer canviar entre funcions, llisca cap amunt amb 3 dits i mantén premut."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Llisca cap amunt des de la part inferior de la pantalla. Per canviar entre funcions, llisca cap amunt i mantén premut.}other{Llisca cap amunt amb # dits des de la part inferior de la pantalla. Per canviar entre funcions, llisca cap amunt amb # dits i mantén premut.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Més opcions"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Més informació sobre <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Tecles de volum"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"tecles de volum"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Mantén premudes les dues tecles de volum"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Doble toc a la pantalla amb dos dits"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Fes doble toc amb %1$d dits"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Toca ràpidament la pantalla dues vegades amb %1$d dits"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Fes triple toc"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Toca ràpidament la pantalla %1$d vegades. Aquesta acció pot alentir el dispositiu."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Fes doble toc amb %1$d dits"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Toca ràpidament la pantalla {0,number,integer} vegades amb dos dits"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Fes tres tocs a la pantalla"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"fes triple toc"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Toca ràpidament la pantalla {0,number,integer} vegades. É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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Configuració de dreceres"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Drecera des de la pantalla de bloqueig"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Permet que la drecera de la funció s\'activi des de la pantalla de bloqueig. Mantén premudes les dues tecles de volum durant uns segons."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Botó d\'accessibilitat"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Botó i gest d\'accessibilitat"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Aquest servei no funciona correctament."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Dreceres d\'accessibilitat"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Mostra a configuració ràpida"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Vermell-verd"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Vermell-verd"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Vermell-verd, percepció dèbil del verd"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Vermell-verd, percepció dèbil del vermell"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blau-groc"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Escala de grisos"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensitat"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Percepció dèbil del verd, deuteranomalia"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Percepció dèbil del vermell, protanomalia"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"No està disponible per al mode d\'escala de grisos ni quan la correcció de color està desactivada"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Atenuació extra"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Atenuació extra de la pantalla"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Cian"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Groc"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Vols que <xliff:g id="SERVICE">%1$s</xliff:g> controli el teu dispositiu per complet?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> necessita:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Com que hi ha una aplicació que oculta una sol·licitud de permís, no es pot verificar la teva resposta des de la configuració."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> sol·licita un control total del dispositiu. El servei pot llegir la pantalla i actuar en nom dels usuaris amb necessitats d\'accessibilitat. Aquest nivell de control no és adequat per a la majoria d\'aplicacions."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"El control total és adequat per a les aplicacions que t\'ajuden amb l\'accessibilitat, però no per a la majoria de les aplicacions."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Veure i controlar la pantalla"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Pot llegir tot el contingut de la pantalla i mostrar contingut per sobre d\'altres aplicacions."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Veure i dur a terme accions"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Pot fer un seguiment de les teves interaccions amb una aplicació o un sensor de maquinari, i interaccionar amb aplicacions en nom teu."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Permet"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Denega"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Desactiva"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Activat / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> i <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"També pots activar l\'àudio espacial per als dispositius Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Configuració dels dispositius connectats"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Àudio espacial"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Desactivat"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Desactivat"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Desactivat"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Cap}=1{S\'ha definit 1 programació}other{S\'han definit # programacions}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"No molestis"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Modes prioritaris"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Afegeix un mode"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Modes"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Minimitza les distraccions i controla la teva atenció amb modes per dormir, treballar, conduir i més."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Crea el teu propi mode"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Rep notificacions només de persones i aplicacions importants"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Defineix una programació"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Programació basada en"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Dia i hora"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"De 9:00 a 17:00 entre setmana\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Esdeveniments del calendari"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} està actiu}=2{{mode_1} i {mode_2} estan actius}=3{{mode_1}, {mode_2} i {mode_3} estan actius}other{{mode_1}, {mode_2} i # més estan actius}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 mode es pot activar automàticament}other{# modes es poden activar automàticament}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ACTIVAT"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"No definit"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Desactivat"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Crea un mode"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Personalitzat"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Activa ara"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Desactiva"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"No s\'ha trobat el mode"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Restringeix les interrupcions"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Bloqueja les interrupcions i les distraccions"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Configura <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activa el mode No molestis"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Les alarmes i els sons multimèdia poden interrompre"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Programacions"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Suprimeix les programacions"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Suprimeix"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Canvia el nom"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Suprimeix"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Vols suprimir el mode <xliff:g id="MODE">%1$s</xliff:g>?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Edita"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Programacions"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Programació"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Activa automàticament"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Afegeix un calendari"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Utilitza el calendari"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Programació"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Defineix una programació"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Quan s\'activa automàticament"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Programació de l\'esdeveniment"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Activa als esdeveniments de"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Si la resposta és"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Programació de l\'hora"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Programa"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Programació"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Permet les interrupcions sonores"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Notificacions que et poden arribar"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Accions addicionals"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Filtres de notificacions"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Més opcions"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Desactivat}=1{Desactivat / Es pot activar automàticament 1 mode}other{Desactivat / Es poden activar automàticament # modes}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Configuració de la pantalla"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Opcions de pantalla"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Escala de grisos"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"activa el tema fosc"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Canvia l\'SO i les aplicacions perquè prioritzin el text clar sobre fons fosc, que pot ser millor per a la vista i suposa un estalvi de bateria important en alguns dispositius"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{No hi ha cap canvi a la pantalla}=1{{effect_1}}=2{{effect_1} i {effect_2}}=3{{effect_1}, {effect_2} i {effect_3}}other{{effect_1}, {effect_2} i # més}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Permet totes les notificacions"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Les persones, les aplicacions i els sons poden interrompre"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opcions de pantalla per a les notificacions filtrades"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Quan el mode No molestis estigui activat"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Notificacions sense so"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"obre la notificació"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Permet posposar les notificacions"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Punt de notificació a la icona de l\'aplicació"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Paquets de notificacions"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bombolles"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bombolles"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Mostra aquesta conversa com a bombolla"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Pot respondre a missatges i fer accions amb els botons de les notificacions, com ara posposar o ignorar notificacions i respondre a trucades."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Canviar la configuració"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Pot activar o desactivar el mode No Molestis i canviar la configuració que hi estigui relacionada."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Pot gestionar i activar els modes, i canviar la configuració que hi estigui relacionada."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Si desactives l\'accés a les notificacions per a <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, és possible que també es desactivi l\'accés al mode No molestis."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Si desactives l\'accés a les notificacions per a <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, és possible que també es desactivi l\'accés als modes."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Desactiva"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Cancel·la"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"En temps real"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Aquesta aplicació no és compatible amb la configuració avançada"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Més opcions de configuració"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Hi ha més opcions de configuració disponibles en aquesta aplicació"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Notificacions adaptatives"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Utilitza les notificacions adaptatives"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Quan rebis moltes notificacions en poc temps, el telèfon abaixarà el volum i minimitzarà les finestres emergents en pantalla durant un màxim de dos minuts. Les alertes de trucades, alarmes i converses prioritàries continuaran vibrant, emetent sons i mostrant-se a la pantalla. Totes les notificacions es poden trobar fàcilment en lliscar cap avall des de la part superior de la pantalla."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Moderació de notificacions"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Utilitza la moderació de notificacions"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Quan rebis moltes notificacions en poc temps, el dispositiu abaixarà el volum i minimitzarà les alertes durant un màxim de 2 minuts. Les trucades, les alarmes i les converses prioritàries no es veuran afectades. \n\nLes notificacions rebudes durant el període de moderació es podran trobar en lliscar cap avall des de la part superior de la pantalla."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Aplica als perfils de treball"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Aplica a les aplicacions del perfil de treball"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Serveis d\'ajuda per a RV"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Accés a No molestis"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Permet l\'accés al mode No molestis"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Cap aplicació instal·lada no ha sol·licitat accés a No molestis."</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Accés als modes"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Permet l\'accés als modes"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Cap aplicació instal·lada no ha sol·licitat accés als modes"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"No has permès les notificacions d\'aquesta aplicació"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Tal com has sol·licitat, Android està bloquejant aquesta categoria de notificacions perquè no apareguin al dispositiu"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Tal com has sol·licitat, Android està bloquejant aquest grup de notificacions perquè no apareguin al dispositiu"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Categories"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Altres"</string>
     <string name="no_channels" msgid="4716199078612071915">"Aquesta aplicació no ha publicat cap notificació"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Mostra les categories no utilitzades"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Opcions de configuració addicionals a l\'aplicació"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Mostra les categories no utilitzades"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Amaga les categories no utilitzades"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Converses"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Totes les converses"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"totes les converses"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Converses prioritàries"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"converses prioritàries"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Cap"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Aplicacions que poden interrompre"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Aplicacions seleccionades"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Cap"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Tot"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Cap aplicació no pot interrompre}=1{{app_1} pot interrompre}=2{{app_1} i {app_2} poden interrompre}=3{{app_1}, {app_2} i {app_3} poden interrompre}other{{app_1}, {app_2} i # més poden interrompre}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (treball)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"S\'està calculant…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</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_header" msgid="60083006963906906">"Aplicacions que poden interrompre"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Selecciona més aplicacions"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Res no pot interrompre"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Ningú no pot interrompre"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Algunes persones poden interrompre"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Les trucades repetides poden interrompre"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Tothom pot interrompre"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Trucades repetides"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Permet les trucades repetides"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Canvia al mode Només alarmes durant 1 hora fins a les {time}}other{Canvia al mode Només alarmes durant # hores fins a les {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Canvia al mode Només alarmes fins a les <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Canvia al mode Interromp sempre"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Canvia el nom"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Canvia la icona"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Canvia la icona"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Mode d\'edició"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Crea un mode"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Mode personalitzat"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Nom del mode"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Esdeveniments del calendari"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Rutina Hora de dormir"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Mentre condueixes"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Configuració de l\'aplicació"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Informació i configuració a <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Gestionat per <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Vols desactivar <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Aquest mode no s\'activarà mai quan estigui desactivat"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Desactiva"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Vols activar <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Aquest mode es pot activar automàticament en funció de la configuració"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Activa"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Configura un mode que segueixi una programació regular"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Configura un mode per sincronitzar amb els esdeveniments del calendari i les respostes a invitacions"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Dissenya una rutina de son relaxant. Configura alarmes, atenua la pantalla i bloqueja les notificacions."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Prioritza la seguretat a la carretera per mantenir la concentració i evitar distraccions"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Bloqueja les distraccions o les interrupcions del dispositiu per no perdre la concentració"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Elimina totes les distraccions per aconseguir un entorn tranquil"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Personalitza les experiències i la configuració del dispositiu per a diferents usuaris"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Minimitza les interrupcions permetent que només et contactin persones i aplicacions importants"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Configura un mode que segueixi una programació regular"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Mantén el dispositiu sincronitzat amb els esdeveniments del dia"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Desperta\'t amb energia"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Prioritza la seguretat a la carretera"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Concentra\'t per evitar distraccions"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Per als moments en què la cortesia és important"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Ús guiat per ajudar-te a estar en bones mans"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Pren el control de la teva atenció"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Advertiment"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Tanca"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Envia suggeriments sobre el dispositiu"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Ha d\'estar activat perquè l\'accés a les notificacions també ho està"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Vols revocar l\'accés de l\'aplicació <xliff:g id="APP">%1$s</xliff:g> a No molestis?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Se suprimiran totes les regles del mode No molestis creades per aquesta aplicació."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Vols permetre que <xliff:g id="APP">%1$s</xliff:g> accedeixi als modes?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"L\'aplicació podrà activar o desactivar No molestis, gestionar i activar els modes, i canviar la configuració que hi estigui relacionada."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Se suprimiran tots els modes creats per aquesta aplicació."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"No optimitzis la bateria"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimitza la bateria"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"És possible que la bateria s\'exhaureixi més ràpidament. L\'aplicació ja no té restringit l\'ús de la bateria en segon pla."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Funda"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Bateria"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Tauler de configuració"</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_desktop_mode" msgid="5644818402534562302">"Activa les finestres amb format lliure"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Activa les finestres amb format lliure a la pantalla secundària"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Activa la mida no ajustable al mode multifinestra"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Permet les aplicacions de mida no ajustable al mode multifinestra"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Anul·la forçar el mode fosc"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"dades mòbils"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Per millorar l\'experiència amb el dispositiu, les aplicacions i els serveis poden continuar cercant xarxes Wi‑Fi en qualsevol moment, fins i tot amb la Wi‑Fi desactivada. Això pot servir, per exemple, per millorar les funcions i els serveis basats en la ubicació. Pots canviar-ho a la configuració de cerca de xarxes Wi‑Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Canvia"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Connectat"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Connexió temporal"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"S\'està utilitzant <xliff:g id="SUBNAME">%1$s</xliff:g> temporalment"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Utilitza la fixació d\'aplicacions"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Utilitza les opcions per a desenvolupadors"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Utilitza el servei d\'impressió"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Permet diversos usuaris"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Permet canviar d\'usuari"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"permet, múltiple, usuari, permís, diversos"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"diversos, usuaris, perfils, persones, comptes, canviar, molts"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Utilitza la depuració sense fil"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> vol connectar-se a aquest telèfon.\n\nNo t\'has connectat a <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> abans."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"No connectis"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Connecta"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Configuració de TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Activat"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Desactivat"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Torna a la configuració predeterminada"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Configuració predeterminada restablerta."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Saldo màxim amb càrrega completa"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Saldos"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Límits de consum"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Límit inicial de consum"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Límit mínim de consum"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Límit màxim de consum"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modificadors"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Accions (cost de producció)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Accions (preu base)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Recompenses per cada esdeveniment"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Recompenses per segon de l\'esdeveniment"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Nombre màxim de recompenses al dia"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Instal·la l\'aplicació"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Activitat principal"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Notificació vista"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Notificació vista en 15 minuts"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interacció amb una notificació"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Interacció amb un widget"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Una altra interacció de l\'usuari"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Inici d\'una tasca amb prioritat màxima"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Execució d\'una tasca amb prioritat màxima"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Inici d\'una tasca amb prioritat alta"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Execució d\'una tasca amb prioritat alta"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Inici d\'una tasca predeterminada"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Execució d\'una tasca predeterminada"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Inici d\'una tasca amb prioritat baixa"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Execució d\'una tasca amb prioritat baixa"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Inici d\'una tasca amb prioritat mínima"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Execució d\'una tasca amb prioritat mínima"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Penalització per esgotar temps de la tasca"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Saldo mínim amb càrrega completa (aplicacions exemptes)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Saldo mínim amb càrrega completa (apps del sistema sense interfície gràfica)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Saldo mínim amb càrrega completa (resta d\'aplicacions)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Addició de saldo mínim amb càrrega completa (actualitzadors d\'aplicació)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Càrrega"</item>
-    <item msgid="658627268149681677">"Migdiada"</item>
-    <item msgid="1599558140284643834">"Mode d\'estalvi de bateria"</item>
-    <item msgid="588427840913221601">"Estat del procés"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Confirma"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Previsualitza"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Tria un estalvi de pantalla"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Mostra informació addicional"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Tria què vols veure a la pantalla quan la tauleta estigui acoblada. És possible que el dispositiu utilitzi més energia si es fa servir un estalvi de pantalla."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Personalitza"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Personalitza <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Cal reiniciar per activar la compatibilitat amb la forma lliure."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Cal reiniciar per forçar el mode d\'escriptori en pantalles secundàries."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Cal reiniciar per activar la compatibilitat amb finestres de forma lliure."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Cal reiniciar per actualitzar la disponibilitat de les finestres amb format lliure."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Cal reiniciar per activar les finestres amb format lliure en pantalles secundàries."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reinicia ara"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reinicia més tard"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Àudio espacial"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Rosa"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Violeta"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Fet"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Desa"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Cancel·la"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Predeterminat"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Mitjà"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Activat"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Desactivat"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Activat"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Àudio: %1$d%% esquerra, %2$d%% dreta"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Àudio %1$d%% dreta, %2$d%% esquerra"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"El nom del dispositiu és visible per a les aplicacions que has instal·lat. També el poden veure altres persones si el connectes a un dispositiu Bluetooth o a una xarxa Wi‑Fi, o si configures un punt d\'accés Wi‑Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Gènere gramatical"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Selecciona el gènere gramatical"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"S\'ha aturat la compartició d\'àudio"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Connecta un dispositiu compatible"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Per començar a compartir àudio, primer connecta els auriculars LE Audio al telèfon"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Canvia a <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Connecta\'t a un flux d\'LE Audio"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Fluxos d\'àudio a prop"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Fluxos d\'àudio"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Escolta el flux d\'àudio"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Escaneja el codi QR d\'un flux d\'àudio per escoltar-lo amb <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"No es pot editar la contrasenya durant la compartició. Per canviar la contrasenya, primer desactiva la compartició d\'àudio."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Escàner de codis QR"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Necessites ajuda?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Configuració de la cerca"</string>
 </resources>
diff --git a/res/values-cs/arrays.xml b/res/values-cs/arrays.xml
index 990b636..5bfe008 100644
--- a/res/values-cs/arrays.xml
+++ b/res/values-cs/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Večerka"</item>
-    <item msgid="4152450357280759894">"Jízda autem"</item>
-    <item msgid="7096549258219399423">"Pohlcující"</item>
-    <item msgid="2760716776980432977">"Spravováno"</item>
-    <item msgid="601734478369121764">"Hvězdička"</item>
-    <item msgid="6243809315432780521">"Kalendář"</item>
-    <item msgid="4913577903148415331">"Čas"</item>
-    <item msgid="3653377604690057780">"Divadlo"</item>
-    <item msgid="3843711267408385410">"Květina"</item>
+    <item msgid="1216815120972438676">"Aktovka"</item>
+    <item msgid="184985872234062767">"Klasicistní budova"</item>
+    <item msgid="9189550412466785530">"Bytový dům"</item>
+    <item msgid="2142527562511049422">"Řečová bublina"</item>
+    <item msgid="2548100558260478605">"Skupina lidí"</item>
+    <item msgid="2270003903304578284">"Žárovka"</item>
+    <item msgid="4793496619091161864">"Kalendář"</item>
+    <item msgid="5673625795644364100">"Nerušit"</item>
+    <item msgid="1423820834865831361">"Běžící osoba"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Jednoruční činka"</item>
+    <item msgid="2730180105015616518">"Plavání"</item>
+    <item msgid="2666922823253345958">"Osoba na túře"</item>
+    <item msgid="8234880356472211396">"Osoba házející míč"</item>
+    <item msgid="4642980625253001443">"Kopající osoba"</item>
+    <item msgid="4324795269518833500">"Herní ovladač"</item>
+    <item msgid="7789966425125441125">"Malířova paleta"</item>
+    <item msgid="663512680597461570">"Sněhová vločka"</item>
+    <item msgid="7952183800501346803">"Plážový slunečník"</item>
+    <item msgid="799139025758265891">"Dílenské nástroje"</item>
+    <item msgid="1330084588359129896">"Stan"</item>
+    <item msgid="3861584909935022342">"Filmový pás"</item>
+    <item msgid="5827426100157335512">"Kniha"</item>
+    <item msgid="8585828346253128384">"Lotosový květ"</item>
+    <item msgid="8788370542815300188">"Lidská mysl"</item>
+    <item msgid="7287354964767553293">"Sluchátka"</item>
+    <item msgid="2530059623783800987">"Televize"</item>
+    <item msgid="5307182323469376758">"Vlak"</item>
+    <item msgid="4903790544026923026">"Auto"</item>
+    <item msgid="5010405583912314582">"Vidlička a nůž"</item>
+    <item msgid="8939998598599064900">"Nákupní košík"</item>
+    <item msgid="3379605903308731893">"Dítě"</item>
+    <item msgid="7808668968550293112">"Tlapa zvířete"</item>
+    <item msgid="1000692647524056504">"Hvězdička"</item>
+    <item msgid="8270261073421676502">"Dva lidé"</item>
+    <item msgid="5767782819651505460">"Hvězda"</item>
+    <item msgid="4368451291862729334">"Srdíčko"</item>
+    <item msgid="2613199102208419986">"Dům"</item>
+    <item msgid="3022279986430275040">"Půlměsíc"</item>
+    <item msgid="5421089790869483206">"Hodiny"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 2f7e02d..f877c5b 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Pozastaveno"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Neznámé"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Náhled"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR kód"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Vždy"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Nastavení naslouchátek"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Zkratka, kompatibilita s naslouchátky"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Předvolba"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Váš audiolog žádné předvolby nenaprogramoval"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Předvolbu nelze aktualizovat"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Zvukový výstup"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Informace o zvukovém výstupu"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"V Nastavení nelze vybrat jazyk pro tuto aplikaci."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Jazyky nemusí odpovídat jazykům dostupným v aplikaci. Toto nastavení mohou podporovat jen některé aplikace."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Nastavení jazyka pro jednotlivé aplikace."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Z preferovaných jazyků použijí systém, aplikace a weby první podporovaný jazyk."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Ze seznamu preferovaných jazyků použijí zařízení, aplikace a weby první podporovaný jazyk.\n\nMnoho aplikací bude také formátovat data, čísla a jednotky na základě oblasti preferovaného jazyka. Pokud chcete oblast změnit, přidejte jazyk a potom zvolte preferovanou oblast."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Pokud chcete zvolit jazyk jednotlivých aplikací, přejděte do nastavení jazyka aplikace."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Další informace o jazycích aplikací"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Změnit jazyk systému na %s ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Vypnuto"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Zapnuto / k poloze má přístup # aplikace}few{Zapnuto / k poloze mají přístup # aplikace}many{Zapnuto / k poloze má přístup # aplikace}other{Zapnuto / k poloze má přístup # aplikací}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Načítání…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Aplikace s oprávněním pro přístup k zařízením v okolí mohou zjišťovat relativní polohu připojených zařízení."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Aplikace s oprávněním k přístupu k zařízením v okolí mohou zjišťovat relativní polohu připojených zařízení."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Přístup aplikací a služeb k poloze je vypnutý. Poloha zařízení může být přesto odesílána záchranářům, když vytočíte číslo tísňového volání nebo na něj pošlete SMS."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Další informace o nastavení polohy"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Pokud chcete tuto možnost změnit, přejděte do nastavení systému ChromeOS &gt; Ochrana soukromí a zabezpečení &gt; Nastavení ochrany soukromí &gt; Přístup k poloze"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Obličej a hodinky <xliff:g id="WATCH">%s</xliff:g> byly přidány"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Obličej, otisk prstu a hodinky <xliff:g id="WATCH">%s</xliff:g> byly přidány"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Obličej, otisky prstů a hodinky <xliff:g id="WATCH">%s</xliff:g> byly přidány"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Kontrola identity je zapnutá a vyžaduje biometrické ověření"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Odemknutí pomocí nástroje Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Hodinky byly přidány"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Nastavení hodinek"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Další informace o odemknutí pomocí hodinek"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Přidat hodinky"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Odstranit hodinky"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Odemknutí otiskem prstu nebo obličejem"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Odemknutí obličejem a otiskem prstu"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Odemknutí obličejem a otiskem prstu pro práci"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Nutné nastavení"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Byl přidán obličej a otisky prstů"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Nastavování soukromého prostoru…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Soukromý prostor se nepodařilo nastavit"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Zkusit znovu"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Ukončit"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Soukromý prostor není k dispozici.\nZobrazit možné příčiny"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Zobrazit možné příčiny"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Vybrat nový zámek pro soukromý prostor?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Můžete si nastavit nový zámek pouze pro soukromý prostor, nebo použít stejný zámek, jaký používáte k odemykání zařízení"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Používat zámek obrazovky"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Když je připojení Bluetooth zapnuté, zařízení může komunikovat s ostatními zařízeními Bluetooth v okolí.\n\nZa účelem vylepšení funkcí však můžou aplikace a služby vyhledávat zařízení v okolí kdykoliv, dokonce i tehdy, když je Bluetooth vypnuté. Je tak například možné vylepšit funkce a služby založené na poloze. Toto chování můžete změnit v nastavení vyhledávání Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Když je zapnuté připojení Bluetooth, zařízení může komunikovat s ostatními zařízeními Bluetooth v okolí. Bluetooth využívají například funkce jako Quick Share a Najdi moje zařízení.\n\nAplikace a služby mohou vyhledávat zařízení v okolí, i když je rozhraní Bluetooth vypnuté. Lze to využít například ke zlepšení funkcí a služeb založených na poloze. Toto chování můžete změnit v nastavení vyhledávání Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Změnit"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"Zařízení <xliff:g id="DEVICE_NAME">%1$s</xliff:g> nepřipojeno"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"Z bezpečnostních důvodů tohle zařízení zapomeňte a pak znovu spárujte"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"Zapomenout zařízení"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"Zrušit"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Podrobnosti o zařízení"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Nastavení klávesnice"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Další nastavení"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Aktualizace firmwaru, informace o produktu apod."</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Tipy a podpora"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Adresa Bluetooth zařízení: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Adresa Bluetooth zařízení:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Zapomenout zařízení?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Experimentální. Zlepšuje kvalitu zvuku."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Zapomenout zařízení"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Odpojit aplikaci"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Další nastavení"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Maximum připojených audiozařízení Bluetooth"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Vyberte maximální počet připojených audiozařízení Bluetooth"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Podrobné protokolování ladění dodavatelů NFC"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Restartovat zařízení?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Podrobné protokolování funkce NFC je určeno pouze pro účely vývoje. Další data funkce NFC budou zahrnuta ve zprávách o chybě, které mohou obsahovat soukromé informace. Pokud toto nastavení chcete změnit, restartujte zařízení."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Restartovat"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Zapnuto"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Vypnuto"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Externí displej"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Použít externí displej"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Rozlišení displeje"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Externí displej je odpojen"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Otočení"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standardní"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Změna otočení nebo rozlišení může zastavit všechny aktuálně spuštěné aplikace"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Aby bylo možné zrcadlit obrazovku, musí být zařízení připojeno k externímu displeji"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Další možnosti"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Odesílání"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"zrcadlení"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Povolit bezdrátové zobrazení"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptivní"</string>
     <string name="brightness" msgid="6216871641021779698">"Úroveň jasu"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Adaptivní jas"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Informace o adaptivním jasu"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Jas obrazovky se automaticky přizpůsobí okolí a činnostem. Ručním posunutím posuvníku informujete funkci adaptivního jasu o svých preferencích."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Zapnuto"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Vypnuto"</string>
@@ -1311,8 +1340,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Používat pro mobilní data <xliff:g id="CARRIER">%1$s</xliff:g>?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Pro mobilní data používáte <xliff:g id="CARRIER2_0">%2$s</xliff:g>. Pokud přepnete na operátora <xliff:g id="CARRIER1">%1$s</xliff:g>, <xliff:g id="CARRIER2_1">%2$s</xliff:g> už se používat nebude."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Použít <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Aktualizovat preferovanou SIM kartu?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> je jediná SIM karta v zařízení. Chcete pomocí této SIM karty volat, posílat SMS a používat mobilní data?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> je teď vaše primární SIM karta"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Zlepšit pokrytí mobilních dat?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Povolte zařízení, aby se pro mobilní data automaticky přepínalo na operátora <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g>, když bude mít lepší signál."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Hovory, zprávy a síťový provoz mohou být viditelné pro vaši organizaci."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Možnosti"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Přístupnost"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fyzická klávesnice"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Použít softwarovou klávesnici"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Ponechat na obrazovce, když je aktivní fyzická klávesnice"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Ignorovat opakovaná stisknutí"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Klávesnice ignoruje opakovaná stisknutí jedné klávesy do <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Zpomalení kláves"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Upraví čas aktivace po stisknutí klávesy na <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Jedním prstem"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Místo držení více kláves aktivujte zkratky postupným tisknutím jednotlivých kláves"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Klávesy pro myš"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Ovládání myši pomocí fyzické klávesnice"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Klávesové zkratky"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Zobrazit seznam zkratek"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Klávesnice a nástroje v pracovním profilu"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Přizpůsobte si jednotlivá navigační gesta touchpadu"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Opačné posouvání"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Při posouvání dolů se obsah posune nahoru"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Klepnutí vpravo dole"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Klepnutím na pravý dolní roh touchpadu zobrazíte další možnosti"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Kliknutí pravým tlačítkem dole"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Kliknutím na pravý dolní roh touchpadu zobrazíte další možnosti"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Rychlost kurzoru"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Styl vyplnění ukazatele"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Změnit vyplnění ukazatele na černé"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Změnit vyplnění ukazatele na žluté"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Změnit vyplnění ukazatele na růžové"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Změnit vyplnění ukazatele na modré"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Styl tahu ukazatele"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Bílá"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Černá"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Žádné"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Naučte se gesta touchpadu"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"trackpad, track pad, myš, kurzor, posouvání, přejetí, kliknutí pravým tlačítkem, kliknutí, ukazatel"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"kliknutí pravým tlačítkem, klepnutí"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Resetovat"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Vyberte modifikační klávesu"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Vyberte novou klávesu pro <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Přístupnost na fyzické klávesnici"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Funkce Jedním prstem, klávesy pro opuštění, klávesy pro myš"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Rozvržení <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Výchozí"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatické: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Vybrané uživatelem: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Řeč"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Rychlost kurzoru"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Měřítko ukazatele"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Snížit měřítko ukazatele"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Zvýšit měřítko ukazatele"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Herní ovladače"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Vibrace při přesměrování"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Odeslat vibrace do herního ovladače, je-li připojen"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Přesto pokračovat"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Zrušit"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Nastavení zvětšení"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Posouvání jedním prstem"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Jedním prstem lupu posunete"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Přetažením prstu se můžete pohybovat po obrazovce"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Oblast zvětšení posunete přetažením jedním prstem."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Oblast zvětšení posunete přetažením dvěma prsty."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Při zvětšení pouze části obrazovky není k dispozici"</string>
@@ -2115,6 +2153,8 @@
     <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_intro_text" msgid="3856180549393526339">"Obrazovku si můžete rychle přiblížit, aby byl obsah větší."</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Přiblížení:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Zvětšení spusťte pomocí zkratky.&lt;br/&gt; {1,number,integer}. Klepněte na obrazovku.&lt;br/&gt; {2,number,integer}. Po obrazovce se pohybujte přetažením dvou prstů.&lt;br/&gt; {3,number,integer}. Přiblížení upravte stažením a roztažením dvou prstů.&lt;br/&gt; {4,number,integer}. Zvětšení ukončete pomocí zkratky.&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Dočasné přiblížení:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Zkontrolujte, zda je typ zvětšení nastaven na celou obrazovku.&lt;br/&gt; {1,number,integer}. Zvětšení spusťte pomocí zkratky.&lt;br/&gt; {2,number,integer}. Podržte jakékoli místo na obrazovce.&lt;br/&gt; {3,number,integer}. Po obrazovce se pohybujte přetažením prstu.&lt;br/&gt; {4,number,integer}. Zvětšení ukončete zvednutím prstu."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Přiblížení:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Použijte zkratku k zahájení zvětšování.&lt;br/&gt; {1,number,integer}. Klepněte na obrazovku.&lt;br/&gt; {2,number,integer}. Přetažením dvěma prsty se pohybujte po obrazovce.&lt;br/&gt; {3,number,integer}. Stažením a roztažením dvou prstů upravte přiblížení.&lt;br/&gt; {4,number,integer}. Pomocí zkratky zvětšení ukončete.&lt;br/&gt;&lt;br/&gt; Můžete také obsah přiblížit dočasně a využít další funkce."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Přiblížení:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Použijte zkratku k zahájení zvětšování.&lt;br/&gt; {1,number,integer}. Klepněte na obrazovku.&lt;br/&gt; {2,number,integer}. Přetažením jedním nebo dvěma prsty se pohybujte po obrazovce.&lt;br/&gt; {3,number,integer}. Stažením a roztažením dvou prstů upravte přiblížení.&lt;br/&gt; {4,number,integer}. Pomocí zkratky zvětšení ukončete.&lt;br/&gt;&lt;br/&gt; Můžete také obsah přiblížit dočasně a využít další funkce."</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_pager" msgid="8461939455728454061">"Strana <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> z <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Zkratka tlačítka přístupnosti"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Klepněte na plovoucí tlačítko"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Gesto přístupnosti"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Klepněte na tlačítko přístupnosti <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ve spodní části obrazovky. Pokud chcete přepnout mezi funkcemi, tlačítko přístupnosti podržte."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Přejeďte dvěma prsty ze spodní části obrazovky nahoru.\n\nPokud chcete přepnout mezi funkcemi, přejeďte nahoru dvěma prsty a podržte je."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Přejeďte třemi prsty ze spodní části obrazovky nahoru.\n\nChcete-li přepnout mezi funkcemi, přejeďte nahoru třemi prsty a podržte je."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Přejeďte prstem ze spodní části obrazovky nahoru. Mezi funkcemi můžete přepnout přejetím nahoru a podržením.}few{Přejeďte # prsty ze spodní části obrazovky nahoru. Mezi funkcemi můžete přepnout přejetím # prsty nahoru a podržením.}many{Přejeďte # prstu ze spodní části obrazovky nahoru. Mezi funkcemi můžete přepnout přejetím # prstu nahoru a podržením.}other{Přejeďte # prsty ze spodní části obrazovky nahoru. Mezi funkcemi můžete přepnout přejetím # prsty nahoru a podržením.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Další možnosti"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Další informace o funkci <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Tlačítka hlasitosti"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"tlačítka hlasitosti"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Podržte obě tlačítka hlasitosti"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Dvakrát klepněte na obrazovku dvěma prsty"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Dvojité klepnutí %1$d prsty"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Dvakrát rychle klepněte na obrazovku %1$d prsty."</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Trojité klepnutí"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"%1$d× rychle klepněte na obrazovku. Zařízení se může zpomalit."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Dvojité klepnutí %1$d prsty"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Rychle {0,number,integer}krát klepněte na obrazovku dvěma prsty"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Trojité klepnutí na obrazovku"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"trojité klepnutí"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Rychle {0,number,integer}krá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á nastavení"</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_global_gesture_preference_title" msgid="8866765674372344850">"Zkratka tlačítek hlasitosti"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Nastavení zkratek"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Zkratka z obrazovky uzamčení"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"Zkratka tlačítek hlasitosti z obrazovky uzamčení"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Můžete povolit, aby zkratka přístupnosti fungovala i na obrazovce uzamčení. Stačí, když na několik sekund podržíte obě tlačítka hlasitosti."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Tlačítko přístupnosti"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Tlačítko a gesto přístupnosti"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Tato služba nefunguje."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Zkratky pro usnadnění přístupu"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Zobrazit v rychlém nastavení"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Červená a zelená"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Červená a zelená"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Červenozelená, slabá zelená"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Červenozelená, slabá červená"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Modrá a žlutá"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Zešednutí obrazovky"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intenzita"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Oslabené vidění zelené barvy, deuteranomálie"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Oslabené vidění červené barvy, protanomálie"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"V režimu stupňů šedi a při vypnuté korekci barev tato funkce není k dispozici"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Velmi tmavé zobrazení"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Nastavit velmi tmavou obrazovku"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Tyrkysová"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Žlutá"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Purpurová"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Má mít <xliff:g id="SERVICE">%1$s</xliff:g> plnou kontrolu nad vaším zařízením?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> potřebuje:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Žádost o oprávnění je blokována jinou aplikací. Nastavení proto vaši odpověď nemůže ověřit."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"Služba <xliff:g id="SERVICE">%1$s</xliff:g> požaduje plnou kontrolu nad zařízením. Služba může číst obrazovku a vykonávat akce namísto uživatelů, kteří potřebují usnadnění přístupu. Tato úroveň kontroly není u většiny aplikací vhodná."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Plná kontrola je vhodná u aplikací, které vám pomáhají s usnadněním přístupu. U většiny aplikací však vhodná není."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Zobrazení a ovládání obrazovky"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Služba může číst veškerý obsah obrazovky a zobrazovat ho přes ostatní aplikace."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Zobrazení a provádění akcí"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Služba může sledovat vaše interakce s aplikací nebo hardwarovým senzorem a komunikovat s aplikacemi za vás."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Povolit"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Zakázat"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Vypnout"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Zapnuto / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> a <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Prostorový zvuk můžete zapnout také pro zařízení Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Nastavení připojených zařízení"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Prostorový zvuk"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Vypnuto"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Vypnuto"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Vypnuto"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Žádný}=1{Nastaven 1 plán}few{Nastaveny # plány}many{Nastaveno # plánu}other{Nastaveno # plánů}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Nerušit"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Režim priority"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Přidat režim"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Režimy"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Omezte vyrušení a soustřeďte se na spánek, práci, řízení nebo cokoli jiného."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Vytvoření vlastního režimu"</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_select_schedule" msgid="663163931596092952">"Nastavení plánu"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Plán založen na"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Den a čas"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"„9:00–17:00, pracovní dny“"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Události v kalendáři"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{Režim {mode_1} je aktivní}=2{Režimy {mode_1} a {mode_2} jsou aktivní}=3{Režimy {mode_1}, {mode_2} a {mode_3} jsou aktivní}few{Režimy {mode_1}, {mode_2} a # další jsou aktivní}many{Režimy {mode_1}, {mode_2} a # dalšího jsou aktivní}other{Režimy {mode_1}, {mode_2} a # dalších je aktivních}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 režim se může zapnout automaticky}few{# režimy se mohou zapnout automaticky}many{# režimu se může zapnout automaticky}other{# režimů se může zapnout automaticky}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ZAPNUTO"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Nenastaveno"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Vypnuto"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Vytvoření režimu"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Vlastní"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Zapnout"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Vypnout"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Režim nenalezen"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Omezení vyrušení"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Blokujte vyrušení"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Nastavit režim <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Zapněte funkci Nerušit"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Vyrušovat mohou budíky a zvuky médií"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Plány"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Smazat plány"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Smazat"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Přejmenovat"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Smazat"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Smazat režim <xliff:g id="MODE">%1$s</xliff:g>?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Upravit"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Plány"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Plán"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Zapnout automaticky"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Přidejte kalendář"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Použít kalendář"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Plán"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Nastavení plánu"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Kdy zapnout automaticky"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Plán události"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Zapnout během událostí pro"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Když je odpověď na pozvánku"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Časový plán"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Plán"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Plán"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Povolit vyrušení, která vydávají zvuk"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Oznámení, která se k vám mohou dostat"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Další akce"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Filtry oznámení"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Další nastavení"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Vypnuto}=1{Vypnuto / 1 režim se může automaticky zapnout}few{Vypnuto / # režimy se můžou automaticky zapnout}many{Vypnuto / # režimu se může automaticky zapnout}other{Vypnuto / # režimů se může automaticky zapnout}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Nastavení displeje"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Možnosti zobrazení"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Stupně šedi"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"zapnout tmavý motiv"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Přepněte operační systém a aplikace tak, aby upřednostňovaly světlý text na tmavém pozadí. Může to být příjemnější pro oči a na některých zařízeních to výrazně šetří baterii"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Žádné změny zobrazení}=1{{effect_1}}=2{{effect_1} a {effect_2}}=3{{effect_1}, {effect_2} a {effect_3}}few{{effect_1}, {effect_2} a ještě #}many{{effect_1}, {effect_2} a ještě #}other{{effect_1}, {effect_2} a ještě #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Povolit všechna oznámení"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Vyrušovat můžou lidé, aplikace a zvuky"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Možnosti zobrazení filtrovaných oznámení"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Když je zapnutý režim Nerušit"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Oznámení bez zvukového upozornění"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"otevřít oznámení"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Povolit odložení oznámení"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Puntík s oznámením na ikoně aplikace"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Balíčky oznámení"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bubliny"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubliny"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Zobrazovat tuto konverzaci jako bublinu"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Může odpovídat na zprávy a místo tlačítek odkládat či odmítat oznámení nebo přijímat hovory."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Měnit nastavení"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Může zapínat nebo vypínat režim Nerušit a měnit související nastavení."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Může spravovat a aktivovat režimy a měnit související nastavení."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Pokud aplikaci <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> vypnete přístup k oznámením, můžete tím vypnout i přístup k režimu Nerušit."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Pokud aplikaci <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> vypnete přístup k oznámením, můžete tím vypnout i přístup k režimům."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Vypnout"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Zrušit"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"V reálném čase"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Tato aplikace nepodporuje rozšířená nastavení"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Další nastavení"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Další nastavení jsou k dispozici uvnitř aplikace"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Adaptivní oznámení"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Používat adaptivní oznámení"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Když během krátké doby obdržíte mnoho oznámení, telefon až na dvě minuty sníží hlasitost a minimalizuje na obrazovce vyskakovací okna. Hovory, budíky a prioritní konverzace budou dále vibrovat, vydávat zvuk nebo se zobrazovat na obrazovce a všechna oznámení snadno najdete přetažením z horní části obrazovky dolů."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Zeslabení oznámení"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Používat zeslabení oznámení"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Když během krátké doby obdržíte mnoho oznámení, zařízení až na dvě minuty sníží hlasitost a minimalizuje upozornění. Hovory, budíky a prioritní konverzace nebudou dotčeny. \n\nOznámení přijatá během zeslabení lze zobrazit přejetím prstem dolů z horního okraje obrazovky."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Použít na pracovní profily"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Použít pro aplikace v pracovním profilu"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Pomocné služby VR"</string>
@@ -3650,6 +3709,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Přístup při nastavení Nerušit"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Povolit režim Nerušit"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"O přístup při nastavení Nerušit nepožádaly žádné nainstalované aplikace"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Přístup k režimům"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Povolit přístup k režimům"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Žádné nainstalované aplikace o přístup k režimům nepožádaly"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Oznámení z této aplikace jste nepovolili"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Tato kategorie oznámení je v zařízení na vaši žádost blokována systémem Android."</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Tato skupina oznámení je v zařízení na vaši žádost blokována systémem Android"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Kategorie"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Jiné"</string>
     <string name="no_channels" msgid="4716199078612071915">"Tato aplikace neodeslala žádná oznámení"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Zobrazit nepoužívané kategorie"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Další nastavení v aplikaci"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Zobrazit nepoužívané kategorie"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Skrýt nepoužívané kategorie"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Konverzace"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Všechny konverzace"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"všechny konverzace"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Prioritní konverzace"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"prioritní konverzace"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Žádné"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Aplikace, které smí vyrušovat"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Vybrané aplikace"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Nic"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Vše"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Vyrušovat nemohou žádné aplikace}=1{Vyrušovat může aplikace {app_1}}=2{Vyrušovat můžou aplikace {app_1} a {app_2}}=3{Vyrušovat můžou aplikace {app_1}, {app_2} a {app_3}}few{Vyrušovat můžou aplikace {app_1}, {app_2} a # další}many{Vyrušovat můžou aplikace {app_1}, {app_2} a # další}other{Vyrušovat můžou aplikace {app_1}, {app_2} a # dalších}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (pracovní)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Výpočet…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Povolit přepisování aplikací"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikace, které smí vyrušovat"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Vybrat další aplikace"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Nic nemůže vyrušovat"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Nikdo nemůže vyrušovat"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Vyrušovat mohou někteří lidé"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Vyrušovat mohou lidé, kteří volají opakovaně"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Všichni lidé mohou vyrušovat"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Volající, kteří volají opakovaně"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Povolit opakovaná volání"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Na hodinu (tedy do {time}) přepnout do režimu Pouze budíky}few{Na # hodiny (tedy do {time}) přepnout do režimu Pouze budíky}many{Na # hodiny (tedy do {time}) přepnout do režimu Pouze budíky}other{Na # hodin (tedy do {time}) přepnout do režimu Pouze budíky}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Přepnout do režimu Pouze budíky až do <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Přejít do režimu Vždy vyrušit"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Přejmenovat"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Změnit ikonu"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Změnit ikonu"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Upravit režim"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Vytvoření režimu"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Vlastní režim"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Název režimu"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Události v kalendáři"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Sled činností Noční klid"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Při řízení"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Nastavení aplikace"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Informace a nastavení najdete v aplikaci <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Spravováno aplikací <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Deaktivovat režim <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Když bude tento režim deaktivován, nikdy se nezapne"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Vypnout"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Aktivovat režim <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Tento režim se může v závislosti na nastavení zapnout automaticky"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Zapnout"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Nastavte si režim pro pravidelný program"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Nastavte si režim k synchronizaci s událostmi v kalendáři a odpověďmi na pozvánky"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Vytvořte si uklidňující sled činností pro usínání. Nastavte si budíky, ztlumte obrazovku a zablokujte oznámení."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Jeďte soustředěně a bez vyrušení s ohledem na bezpečnost"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Zablokujte vyrušení v zařízení, abyste se mohli soustředit"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Zbavte se všech vyrušení a užijte si tiché prostředí"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Přizpůsobte si prostředí zařízení a nastavení pro různé uživatele"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Omezte vyrušení pouze na důležité lidi a aplikace"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Nastavte si režim s pravidelný plánem"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Synchronizujte své zařízení s událostmi v kalendáři"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Probuďte se plní energie"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Na cestách dbejte především na bezpečnost"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Nenechte se vyrušovat"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Pro chvíle, které vyžadují vybrané chování"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Používání pod vedením, se kterým budete v dobrých rukou"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Mějte svou pozornost pod kontrolou"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Varování"</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>
@@ -4006,6 +4102,10 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Tato možnost musí zůstat zapnutá, protože je zapnut přístup k oznámením"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Odebrat aplikaci <xliff:g id="APP">%1$s</xliff:g> přístup k režimu Nerušit?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Všechna pravidla pro režim Nerušit vytvořená touto aplikací budou odstraněna."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Povolit aplikaci <xliff:g id="APP">%1$s</xliff:g> přístup k režimům?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Aplikace bude moct zapnout/vypnout režim Nerušit, spravovat a aktivovat režimy a provádět změny souvisejících nastavení."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"Odebrat aplikaci <xliff:g id="APP">%1$s</xliff:g> přístup k režimům?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Všechny režimy vytvořené touto aplikací budou odstraněny."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Neoptimalizovat"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimalizovat"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Baterie se může vybíjet rychleji. Aplikace již nebude mít zakázáno využívat baterii na pozadí."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Hlavní díl"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Baterie"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Panel nastavení"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"Vynutit režim počítače"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Na sekundárních displejích vynutí experimentální režim počítače"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"Aktivovat okna s volným tvarem"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Aktivovat okna s volným tvarem na 2. displeji"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Aktivovat neměnnou velikost v režimu několika oken"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Povolí aplikace s neměnnou velikostí v režimu několika oken"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Přepsat vynucení tmavého režimu"</string>
@@ -4969,7 +5069,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobilní data"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Za účelem lepšího fungování zařízení mohou aplikace a služby vyhledávat sítě Wi-Fi, i když je připojení Wi-Fi vypnuté. Lze tak vylepšit funkce a služby závislé na poloze. Toto chování můžete změnit v nastavení vyhledávání Wi-Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Změnit"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Připojeno"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Dočasně připojeno"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Dočasně se používá <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -5001,7 +5100,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Používat připnutí aplikace"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Používat nastavení pro vývojáře"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Používat tiskovou službu"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Povolit více uživatelů"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Povolit přepínání uživatelů"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"povolit, několik, uživatel, mnoho"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"několik, více, uživatelé, profily, lidé, účty, přepínání, mnoho"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Používat bezdrátové ladění"</string>
@@ -5058,52 +5157,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"Zařízení <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> žádá o připojení k tomuto telefonu.\n\nK zařízení <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> jste se ještě nikdy nepřipojili."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Nepřipojovat"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Připojit"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Nastavení TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Zapnuto"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Vypnuto"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Obnovit výchozí nastavení"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Bylo vráceno výchozí nastavení."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Maximální balance při plném nabití"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Zůstatky"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Limity spotřeby"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Počáteční limit spotřeby"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Limit minimální spotřeby"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Limit maximální spotřeby"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modifikátory"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Akce (náklady na výrobu)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Akce (základní cena)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Odměny za jednu událost"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Odměny za sekundu trvání události"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Maximální počet odměn za den"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Instalace aplikace"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Nejvyšší aktivita"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Oznámení bylo zobrazeno"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Oznámení bylo zobrazeno během 15 minut"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interakce s oznámením"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Interakce s widgetem"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Jiná interakce provedená uživatelem"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Spustit úlohu s maximální prioritou"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Úloha s maximální prioritou je spuštěna"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Spustit úlohu s vysokou prioritou"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Úloha s vysokou prioritou je spuštěna"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Spustit úlohu s výchozí prioritou"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Úloha s výchozí prioritou je spuštěna"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Spustit úlohu s nízkou prioritou"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Úloha s nízkou prioritou je spuštěna"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Úloha s minimální prioritou je spuštěna"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Úloha s minimální prioritou je spuštěna"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Penalta za překročení časového limitu"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Minimální zůstatek při úplném nabití (aplikace s výjimkou)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Minimální zůstatek při úplném nabití (neinteraktivní systémová aplikace)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Minimální zůstatek při úplném nabití (zbývající aplikace)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Minimální zůstatek při úplném nabití (aktualizace aplikací)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Nabíjení"</item>
-    <item msgid="658627268149681677">"Zdřímnutí"</item>
-    <item msgid="1599558140284643834">"Úsporný režim"</item>
-    <item msgid="588427840913221601">"Stav zpracování"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Potvrdit"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Náhled"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Vyberte spořič obrazovky"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Zobrazovat další informace"</string>
@@ -5115,8 +5168,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Určete, co chcete vídat na obrazovce, když je tablet v doku. Při používání spořiče obrazovky může mít zařízení vyšší spotřebu energie."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Přizpůsobit"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Přizpůsobit <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"K zapnutí podpory plovoucích oken je vyžadován restart."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"K vynucení režimu plochy na sekundárních displejích je vyžadován restart."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"K zapnutí podpory plovoucích oken je potřeba restart."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"K aktualizaci dostupnosti oken s volným tvarem je potřeba restart."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"K aktivaci oken s volným tvarem na sekundárních displejích je potřeba restart."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Restartovat hned"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Restartovat později"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Prostorový zvuk"</string>
@@ -5213,7 +5267,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Růžová"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Purpurová"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Fialová"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Hotovo"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Uložit"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Zrušit"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Výchozí"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Střední"</string>
@@ -5234,6 +5288,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Zapnuto"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Vypnuto"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Zapnuto"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Zvuk %1$d %% vlevo, %2$d %% vpravo"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Zvuk %1$d %% vpravo, %2$d %% vlevo"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Název vašeho zařízení je viditelný pro nainstalované aplikace. Mohou ho vidět také ostatní uživatelé, když se připojíte k zařízení Bluetooth nebo síti Wi-Fi, případně když vytvoříte hotspot Wi-Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Gramatický rod"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Vyberte mluvnický rod"</string>
@@ -5302,6 +5358,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Sdílení zvuku bylo zastaveno"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Připojte kompatibilní zařízení"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Pokud chcete zahájit sdílení zvuku, nejdřív k telefonu připojte sluchátka LE Audio"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Přepnout na <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Připojení ke zvukovému streamu LE Audio"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Okolní zvukové streamy"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Zvukové streamy"</string>
@@ -5345,4 +5402,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Poslouchat stream"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Naskenujte QR kód zvukového streamu a poslouchejte na zařízení <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Heslo nelze upravit během sdílení. Pokud chcete změnit heslo, nejdříve vypněte sdílení zvuku."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Čtečka QR kódů"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Potřebujete poradit?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Vyhledávat v nastavení"</string>
 </resources>
diff --git a/res/values-da/arrays.xml b/res/values-da/arrays.xml
index 39d41c2..1ff620f 100644
--- a/res/values-da/arrays.xml
+++ b/res/values-da/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Sengetid"</item>
-    <item msgid="4152450357280759894">"Kørsel"</item>
-    <item msgid="7096549258219399423">"Opslugende"</item>
-    <item msgid="2760716776980432977">"Administreret"</item>
-    <item msgid="601734478369121764">"Stjerne"</item>
-    <item msgid="6243809315432780521">"Kalender"</item>
-    <item msgid="4913577903148415331">"Tidspunkt"</item>
-    <item msgid="3653377604690057780">"Teater"</item>
-    <item msgid="3843711267408385410">"Blomst"</item>
+    <item msgid="1216815120972438676">"Mappe"</item>
+    <item msgid="184985872234062767">"Klassisk bygning"</item>
+    <item msgid="9189550412466785530">"Lejlighedskompleks"</item>
+    <item msgid="2142527562511049422">"Taleboble"</item>
+    <item msgid="2548100558260478605">"Gruppe af personer"</item>
+    <item msgid="2270003903304578284">"Lyspære"</item>
+    <item msgid="4793496619091161864">"Kalender"</item>
+    <item msgid="5673625795644364100">"Forstyr ikke"</item>
+    <item msgid="1423820834865831361">"Person, der løber"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Håndvægt"</item>
+    <item msgid="2730180105015616518">"Svømning"</item>
+    <item msgid="2666922823253345958">"Person på vandretur"</item>
+    <item msgid="8234880356472211396">"Person, der kaster en bold"</item>
+    <item msgid="4642980625253001443">"Person, der sparker"</item>
+    <item msgid="4324795269518833500">"Spilcontroller"</item>
+    <item msgid="7789966425125441125">"Malerpalet"</item>
+    <item msgid="663512680597461570">"Snefnug"</item>
+    <item msgid="7952183800501346803">"Parasol"</item>
+    <item msgid="799139025758265891">"Værktøj"</item>
+    <item msgid="1330084588359129896">"Telt"</item>
+    <item msgid="3861584909935022342">"Filmspole"</item>
+    <item msgid="5827426100157335512">"Bog"</item>
+    <item msgid="8585828346253128384">"Lotusblomst"</item>
+    <item msgid="8788370542815300188">"En persons sind"</item>
+    <item msgid="7287354964767553293">"Høretelefoner"</item>
+    <item msgid="2530059623783800987">"Fjernsyn"</item>
+    <item msgid="5307182323469376758">"Tog"</item>
+    <item msgid="4903790544026923026">"Bil"</item>
+    <item msgid="5010405583912314582">"Kniv og gaffel"</item>
+    <item msgid="8939998598599064900">"Kurv"</item>
+    <item msgid="3379605903308731893">"Barn"</item>
+    <item msgid="7808668968550293112">"Dyrepote"</item>
+    <item msgid="1000692647524056504">"Stjernebadge"</item>
+    <item msgid="8270261073421676502">"To personer"</item>
+    <item msgid="5767782819651505460">"Stjerne"</item>
+    <item msgid="4368451291862729334">"Hjerte"</item>
+    <item msgid="2613199102208419986">"Hus"</item>
+    <item msgid="3022279986430275040">"Halvmåne"</item>
+    <item msgid="5421089790869483206">"Ur"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 9781db1..f424e50 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Sat på pause"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Ukendt"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Forhåndsvisning"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR-kode"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Altid"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Indstillinger for høreapparat"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Genvej, høreapparatskompatibilitet"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Forindstilling"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Din audiolog har ingen forprogrammerede indstillinger"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Forindstillingen kunne ikke opdateres"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Lydudgang"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Om lydudgang"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Sprogvalg for denne app er ikke tilgængeligt i Indstillinger."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Sproget kan adskille sig fra sprogene i appen. Nogle apps understøtter muligvis ikke denne indstilling."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Vælg sprog til hver app"</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Dit system, dine apps og dine websites anvender det første understøttede sprog fra dine foretrukne sprog."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Din enhed, dine apps og dine websites anvender det første understøttede sprog på listen over dine foretrukne sprog.\n\nMange apps bruger også regionen fra dit foretrukne sprog til at vælge format for datoer, tal og måleenheder. Hvis du vil skifte region, skal du tilføje et sprog og derefter vælge din foretrukne region."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Hvis du vil vælge et sprog for hver app, skal du gå til den pågældende apps sprogindstillinger."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Få flere oplysninger om appsprog"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Vil du ændre systemsproget til %s ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Fra"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Til/# app har adgang til din lokation}one{Til/# app har adgang til din lokation}other{Til/# apps har adgang til din lokation}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Indlæser…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Apps med tilladelse fra enheder i nærheden kan fastslå den relative placering af forbundne enheder."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Apps med tilladelse fra enheder i nærheden kan fastslå den relative positionering af forbundne enheder."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Adgangen til Lokation er deaktiveret for apps og tjenester. Din enhedslokation kan stadig blive sendt til udrykningsberedskab, hvis du ringer eller sender en sms til et alarmnummer."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Få flere oplysninger om lokationsindstillinger"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Du kan skifte ved at gå til Indstillinger for ChromeOS &gt; Privatliv og sikkerhed &gt; Privatlivsindstillinger &gt; Lokationsadgang"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Ansigt og <xliff:g id="WATCH">%s</xliff:g> er tilføjet"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Ansigt, fingeraftryk og <xliff:g id="WATCH">%s</xliff:g> er tilføjet"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Ansigt, fingeraftryk og <xliff:g id="WATCH">%s</xliff:g> er tilføjet"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Identitetstjek er aktiveret og kræver biometrisk verificering"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Oplåsning af Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Uret er tilføjet"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Konfigurer dit ur"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Få flere oplysninger om uroplåsning"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Tilføj ur"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Fjern ur"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Fingeraftryk og ansigtsoplåsning"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Ansigtsoplåsning og fingeroplåsning"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Ansigtsoplåsning og fingeroplåsning til arbejdsprofil"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Konfiguration er påkrævet"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Ansigt og fingeraftryk er tilføjet"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Konfigurerer et privat område…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Et privat område kunne ikke konfigureres"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Prøv igen"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Afslut"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Privat område er ikke tilgængeligt. \nSe mulige årsager"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Se mulige årsager"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Vil du vælge en ny lås til det private område?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Du kan indstille en ny lås til privat område eller bruge den samme lås, som du bruger til at låse din enhed op"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Brug skærmlås"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Når Bluetooth er aktiveret, kan din enhed kommunikere med andre Bluetooth-enheder i nærheden.\n\nFor at forbedre enhedsoplevelsen kan apps og tjenester stadig til enhver tid søge efter enheder i nærheden, også selvom Bluetooth er deaktiveret. Dette kan f.eks. bruges til at forbedre lokationsbaserede funktioner og tjenester. Du kan ændre dette i indstillingerne for Bluetooth-scanning."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Når Bluetooth er aktiveret, kan enheden kommunikere med andre Bluetooth-enheder i nærheden. Funktioner som f.eks. Quick Share og Find min enhed anvender Bluetooth.\n\nApps og tjenester kan stadig til enhver tid søge efter enheder i nærheden, også selvom Bluetooth er deaktiveret. Dette kan f.eks. anvendes til at forbedre lokationsbaserede funktioner og tjenester. Du kan ændre dette i indstillingerne for Bluetooth-scanning."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Rediger"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Enhedsoplysninger"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Tastaturindstillinger"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Flere indstillinger"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Firmwareopdateringer, om m.m."</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Support og tips"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Enhedens Bluetooth-adresse: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Enhedens Bluetooth-adresse:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Vil du glemme denne enhed?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Eksperimentel. Forbedrer lydkvaliteten."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Glem enhed"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Fjern tilknytning til app"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Flere indstillinger"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Maksimalt antal tilsluttede Bluetooth-lydenheder"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Vælg det maksimale antal Bluetooth-lydenheder, der kan tilsluttes"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Detaljeret NFC-leverandørlog over fejlretninger"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Vil du genstarte enheden?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Detaljeret NFC-logging er kun beregnet til udvikling. Yderligere NFC-data inkluderes i fejlrapporter, som muligvis indeholder private oplysninger. Genstart enheden for at ændre denne indstilling."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Genstart"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Til"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Fra"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Ekstern skærm"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Brug ekstern skærm"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Skærmopløsning"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Forbindelse til ekstern skærm afbrudt"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Rotation"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standard"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Hvis skærmretningen eller opløsningen ændres, kan du risikere, at aktive apps stopper"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Din enhed skal have forbindelse til en ekstern skærm for at spejle skærmen"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Flere valgmuligheder"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Cast"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"spejl"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Aktivér trådløs skærm"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptiv"</string>
     <string name="brightness" msgid="6216871641021779698">"Lysstyrke"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Adaptiv lysstyrke"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Om adaptiv lysstyrke"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Skærmens lysstyrke tilpasses automatisk på baggrund af dine omgivelser og dine aktiviteter. Du kan flytte skyderen manuelt for at hjælpe automatisk lysstyrke med at lære dine præferencer."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Til"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Fra"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Vil du bruge <xliff:g id="CARRIER">%1$s</xliff:g> til mobildata?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Du bruger <xliff:g id="CARRIER2_0">%2$s</xliff:g> til mobildata. Hvis du skifter til <xliff:g id="CARRIER1">%1$s</xliff:g>, anvendes <xliff:g id="CARRIER2_1">%2$s</xliff:g> ikke længere til mobildata."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Brug <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Vil du opdatere dit foretrukne SIM-kort?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> er det eneste SIM-kort i din enhed. Vil du bruge dette SIM-kort til mobildata, opkald og sms-beskeder?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> er nu dit primære SIM-kort"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Skal dækningen af mobildata forbedres?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Tillad, at din enhed automatisk skifter til <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> ved brug af mobildata, når dækningen er bedre."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Opkald, beskeder og netværkstrafik kan muligvis ses af din organisation."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Valgmuligheder"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Hjælpefunktioner"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fysisk tastatur"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Brug skærmtastaturet"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Behold det på skærmen, mens det fysiske tastatur er aktivt"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Elastiktaster"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Tastaturet ignorerer gentagende, hurtige tryk på den samme tast inden for <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Langsomtaster"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Juster tiden det tager, inden et tryk på en tast aktiveres, til <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Træge taster"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Tryk på én tast ad gangen for at bruge genveje i stedet for at holde flere taster nede på samme tid"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Musetaster"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Brug det fysiske tastatur til at styre musen"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Tastaturgenveje"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Vis liste over genveje"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tastatur og værktøjer for arbejdsprofil"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Tilpas individuelle bevægelser til navigation af touchpladen"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Omvendt rulning"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Indholdet rykkes opad, når du ruller nedad"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Tryk nederst til højre"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Tryk nederst til højre på touchpladen for at se mere"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Klik nederst til højre"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Klik nederst til højre på touchpladen for flere valgmuligheder"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Markørens hastighed"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Udfyldningsstil for markør"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Skift udfyldningsstil for markør til sort"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Skift udfyldningsstil for markør til gul"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Skift udfyldningsstil for markør til lyserød"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Skift udfyldningsstil for markør til blå"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Stregformat for markør"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Hvid"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Sort"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Ingen"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Se bevægelser på touchpladen"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"touchplade, touch plade, mus, markør, rul, stryg, højreklik, klik, pointer"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"højreklik, tryk"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Nulstil"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Vælg ændringstast"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Vælg en ny ændringstast til <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g>-layout"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Standard"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatisk: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Brugervalgt: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Tale"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Markørens hastighed"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Markørstørrelse"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Reducer markørstørrelse"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Øg markørstørrelse"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Spillekontroller"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Omdiriger vibration"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Send vibration til spillecontroller, når den er tilsluttet"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Fortsæt alligevel"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Annuller"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Indstillinger for forstørrelse"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Panorering med én finger"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Flyt luppen med 1 finger"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Naviger rundt på skærmen ved at trække med 1 finger"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Flyt forstørrelsesområdet ved at trække med én finger."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Flyt forstørrelsesområdet ved at trække med to fingre."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Utilgængelig, når kun en del af skærmen forstørres"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tryk på en knap for at zoome"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Zoom hurtigt ind på skærmen for at forstørre indhold"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Sådan zoomer du ind:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Brug genvejen til at starte forstørrelse&lt;br/&gt; {1,number,integer}. Tryk på skærmen&lt;br/&gt; {2,number,integer}. Træk med to fingre for at navigere rundt på skærmen&lt;br/&gt; {3,number,integer}. Knib med to fingre for at zoome ind eller ud&lt;br/&gt; {4,number,integer}. Brug genvejen til at stoppe forstørrelse&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Sådan zoomer du midlertidigt ind:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Sørg for, at forstørrelsestypen er indstillet til fuld skærm&lt;br/&gt; {1,number,integer}. Brug genvejen til at starte forstørrelse&lt;br/&gt; {2,number,integer}. Hold fingeren nede et vilkårligt sted på skærmen&lt;br/&gt; {3,number,integer}. Træk fingeren for at navigere rundt på skærmen&lt;br/&gt; {4,number,integer}. Løft fingeren for at stoppe forstørrelse"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Sådan zoomer du ind:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Brug genvejen til at starte forstørrelse&lt;br/&gt; {1,number,integer}. Tryk på skærmen&lt;br/&gt; {2,number,integer}. Naviger rundt på skærmen ved at trække med 2 fingre&lt;br/&gt; {3,number,integer}. Knib med 2 fingre for at justere zoom&lt;br/&gt; {4,number,integer}. Brug genvejen til at stoppe forstørrelse&lt;br/&gt;&lt;br/&gt; Du kan også midlertidigt zoome ind m.m."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Sådan zoomer du ind:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Brug genvejen til at starte forstørrelse&lt;br/&gt; {1,number,integer}. Tryk på skærmen&lt;br/&gt; {2,number,integer}. Naviger rundt på skærmen ved at trække med 1 finger eller 2 fingre&lt;br/&gt; {3,number,integer}. Knib med 2 fingre for at justere zoom&lt;br/&gt; {4,number,integer}. Brug genvejen til at stoppe forstørrelse&lt;br/&gt;&lt;br/&gt; Du kan også midlertidigt zoome ind m.m."</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_pager" msgid="8461939455728454061">"Side <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> af <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Genvej til knappen til hjælpefunktioner"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Tryk på den svævende knap"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Bevægelse for hjælpefunktioner"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Tryk på knappen til hjælpefunktioner <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> nederst på skærmen. Du kan skifte mellem funktioner ved at holde fingeren på knappen til hjælpefunktioner."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Stryg opad fra bunden af skærmen med to fingre.\n\nDu kan skifte mellem funktioner ved at stryge opad med to fingre og holde dem nede."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Stryg opad fra bunden af skærmen med tre fingre.\n\nDu kan skifte mellem funktioner ved at stryge opad med tre fingre og holde dem nede."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Stryg opad fra bunden af skærmen. Du kan skifte mellem funktioner ved at stryge opad og holde fingeren nede.}one{Stryg opad fra bunden af skærmen med # finger. Du kan skifte mellem funktioner ved at stryge opad med # finger og holde fingeren nede.}other{Stryg opad fra bunden af skærmen med # fingre. Du kan skifte mellem funktioner ved at stryge opad med # fingre og holde fingrene nede.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Flere valgmuligheder"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Få flere oplysninger om <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Lydstyrkeknapper"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"lydstyrkeknapper"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Hold begge lydstyrkeknapper nede"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Tryk to gange på skærmen med to fingre"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Tryk to gange med %1$d fingre"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Tryk hurtigt på skærmen to gange med %1$d fingre"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Tryk tre gange"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Tryk hurtigt på skærmen %1$d gange. Dette kan gøre din enhed langsommere."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Tryk to gange med %1$d fingre"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Tryk hurtigt på skærmen {0,number,integer} gange med to fingre"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Tryk tre gange på skærmen"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"tryk tre gange"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Tryk hurtigt på skærmen {0,number,integer} gange. Denne genvej kan gøre din enhed langsommere"</string>
     <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Avanceret"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Knappen til hjælpefunktioner er angivet til <xliff:g id="SERVICE">%1$s</xliff:g>. Hvis du vil bruge forstørrelse, skal du trykke på knappen til 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Indstillinger for genvej"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Genvej på låseskærmen"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Tillad, at genvej til funktionen kan aktiveres via låseskærmen. Hold begge lydstyrkeknapper nede i et par sekunder."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Knap til hjælpefunktioner"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Knap til hjælpefunktioner og bevægelser for hjælpefunktioner"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Denne tjeneste fungerer ikke korrekt."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Genveje til hjælpefunktioner"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Vis i Kvikmenu"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rød-grøn"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Rød-grøn"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Rød-grøn, farvesvaghed for grøn"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Rød-grøn, farvesvaghed for rød"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blå-gul"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Gråtoner"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensitet"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Farvesvaghed for grøn, deuteranomali"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Farvesvaghed for rød, protanomali"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Utilgængelig i tilstanden Gråtoner, eller når farvekorrigering er deaktiveret"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Ekstra dæmpet belysning"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Ekstra dæmpet belysning af skærm"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Grønblå"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Gul"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Lyslilla"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Vil du give <xliff:g id="SERVICE">%1$s</xliff:g> fuld kontrol over din enhed?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> har brug for at:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Indstillinger kan ikke verificere dit svar, fordi en app tilslører tilladelsesanmodningen."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> anmoder om fuld kontrol over denne enhed. Tjenesten kan læse skærmen og handle på vegne af brugere med særlige behov. Dette kontrolomfang er ikke passende for de fleste apps."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Fuld kontrol er velegnet til apps, der hjælper dig med hjælpefunktioner, men ikke de fleste apps."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Se og styre skærm"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Den kan læse alt indhold på skærmen og vise indhold oven på andre apps."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Se og udføre handlinger"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Den kan spore dine interaktioner med en app eller en hardwaresensor og interagere med apps på dine vegne."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Tillad"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Afvis"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Slå fra"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Til/<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> og <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Du kan også aktivere rumlig lyd for Bluetooth-enheder."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Indstillinger for forbundne enheder"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Rumlig lyd"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Fra"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Fra"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Fra"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Ingen}=1{1 tidsplan er angivet}one{# tidsplan er angivet}other{# tidsplaner er angivet}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Forstyr ikke"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Tilstande med prioritet"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Tilføj en tilstand"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Tilstande"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Begræns distraktioner, og få kontrol over din opmærksomhed med tilstande for søvn, arbejde, kørsel osv."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Opret din egen tilstand"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Få kun notifikationer fra vigtige personer og apps"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Angiv en tidsplan"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Tidsplanen er baseret på"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Dag og klokkeslæt"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"Kl. 9-17 på hverdage\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Kalenderbegivenheder"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} er aktiveret}=2{{mode_1} og {mode_2} er aktiveret}=3{{mode_1}, {mode_2} og {mode_3} er aktiveret}one{{mode_1}, {mode_2} og # anden er aktiveret}other{{mode_1}, {mode_2} og # andre er aktiveret}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 tilstand kan aktiveres automatisk}one{# tilstand kan aktiveres automatisk}other{# tilstande kan aktiveres automatisk}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"TIL"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Ikke konfigureret"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Deaktiveret"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Opret en tilstand"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Tilpasset"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Aktivér nu"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Deaktiver"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Tilstanden blev ikke fundet"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Begræns antallet af afbrydelser"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Bloker forstyrrende elementer"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Konfigurer <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Aktivér Forstyr ikke"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarmer og medielyde kan afbryde"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Tidsplaner"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Slet tidsplaner"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Slet"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Omdøb"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Slet"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Skal tilstanden \"<xliff:g id="MODE">%1$s</xliff:g>\" slettes?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Rediger"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Tidsplaner"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Tidsplan"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Aktivér automatisk"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Tilføj en kalender"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Brug din kalender"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Tidsplan"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Angiv en tidsplan"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Hvornår skal den aktiveres automatisk?"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Tidsplan for begivenhed"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Aktivér for følgende begivenheder"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Hvor finder jeg svaret på invitationen?"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Tidsplan"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Tidsplan"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> t. <xliff:g id="MINUTES">%2$d</xliff:g> min."</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Planlæg"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Tillad afbrydelser, der laver lyd"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Notifikationer, du kan modtage"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Yderligere handlinger"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Notifikationsfiltre"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Flere indstillinger"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Deaktiveret}=1{Deaktiveret / 1 tilstand kan aktiveres automatisk}one{Deaktiveret / # tilstand kan aktiveres automatisk}other{Deaktiveret / # tilstande kan aktiveres automatisk}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Indstillinger for visning"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Visningsmuligheder"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Gråtoner"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"aktivér mørkt tema"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Indstil OS og apps til at foretrække lys tekst på en mørk baggrund, hvilket kan være mere behageligt for øjnene og medføre betydelig batteribesparelse på nogle enheder"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Ingen ændringer af visningen}=1{{effect_1}}=2{{effect_1} og {effect_2}}=3{{effect_1}, {effect_2} og {effect_3}}one{{effect_1}, {effect_2} og # anden}other{{effect_1}, {effect_2} og # andre}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Tillad alle notifikationer"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Personer, apps og lyde kan afbryde"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Visningsmuligheder for filtrerede notifikationer"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Når Forstyr ikke er aktiveret"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Ingen lyd fra notifikationer"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"åbn notifikationen"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Tillad udsættelse af notifikationer"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Notifikationsprik på appikon"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Notifikationspakker"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bobler"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bobler"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Lav denne samtale til en boble"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Den kan besvare beskeder og interagere med knapper i notifikationer, herunder udsættelse eller afvisning af notifikationer og besvarelse af opkald."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Skifte indstillinger"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Den kan aktivere eller deaktivere Forstyr ikke og ændre relaterede indstillinger."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Den kan administrere og aktivere Tilstande og ændre relaterede indstillinger."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Hvis du slår adgang til notifikationer fra for <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, slås adgangen til Forstyr ikke muligvis også fra."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Hvis du deaktiverer notifikationsadgang for <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, deaktiveres adgangen til Tilstande muligvis også."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Slå fra"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Annuller"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Realtid"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Denne app understøtter ikke avancerede indstillinger"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Flere indstillinger"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Der er flere tilgængelige indstillinger inde i appen"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Automatiske notifikationer"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Brug adaptive notifikationer"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Hvis du får mange notifikationer inden for kort tid, skruer telefonen ned for lydstyrken og minimerer pop op-vinduer på skærmen i op til to minutter. Ved opkald, alarmer og prioriterede samtaler vil enheden stadig vibrere, afgive en lyd eller vises handlingen på skærmen, og alle notifikationer er lettilgængelige, når du trækker nedad fra toppen af skærmen."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Dæmpning af notifikationer"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Brug dæmpning af notifikationer"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Hvis du får mange notifikationer inden for kort tid, skruer enheden ned for lydstyrken og minimerer underretninger på skærmen i op til 2 minutter. Opkald, alarmer og prioriterede samtaler påvirkes ikke. \n\nDu kan se de notifikationer, du modtager i denne periode, ved at trække nedad fra toppen af skærmen."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Anvend på arbejdsprofiler"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Anvend på apps på arbejdsprofilen"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR-hjælpetjenester"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Adgang til Forstyr ikke"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Tillad Forstyr ikke"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Ingen installerede apps har anmodet om adgang, når indstillingen \"Forstyr ikke\" er aktiveret."</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Adgang til tilstande"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Giv adgang til Tilstande"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Ingen installerede apps har anmodet om adgang til Tilstande."</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Du har ikke tilladt notifikationer fra denne app"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Android blokerer på din anmodning notifikationer i denne kategori, så de ikke vises på enheden"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Android blokerer på din anmodning notifikationer i denne gruppe, så de ikke vises på enheden"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Kategorier"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Andre"</string>
     <string name="no_channels" msgid="4716199078612071915">"Denne app har ikke sendt nogen notifikationer"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Vis ikke-anvendte kategorier"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Flere indstillinger i appen"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Vis ikke-anvendte kategorier"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Skjul ikke-anvendte kategorier"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g>-<xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Samtaler"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Alle samtaler"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"alle samtaler"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Prioriterede samtaler"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"prioriterede samtaler"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Ingen"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Apps, der kan afbryde"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Valgte apps"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Ingen"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Alle"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Ingen apps må forstyrre}=1{{app_1} må gerne forstyrre}=2{{app_1} og {app_2} må gerne forstyrre}=3{{app_1}, {app_2} og {app_3} må gerne forstyrre}one{{app_1}, {app_2} og # mere må gerne forstyrre}other{{app_1}, {app_2} og # andre må gerne forstyrre}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (arbejde)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Beregner…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Tillad, at apps tilsidesætter"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps, der kan afbryde"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Vælg flere apps"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Intet kan afbryde"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Ingen kan afbryde"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Nogle personer kan afbryde"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Gentagne opkald må gerne forstyrre"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Alle personer kan afbryde"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Gentagne opkald"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Tillad gentagne opkald"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Skift til kun alarmer i én time (indtil {time})}one{Skift til kun alarmer i # time (indtil {time})}other{Skift til kun alarmer i # timer (indtil {time})}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Skift til Kun alarmer frem til <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Skift til Afbryd altid"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Omdøb"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Skift ikon"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Skift ikon"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Rediger tilstand"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Opret en tilstand"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Tilpasset tilstand"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Navn på tilstand"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Kalenderbegivenheder"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Rutinen Sengetid"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Under kørsel"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Appindstillinger"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Oplysninger og indstillinger i <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Administreres af <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Vil du deaktivere <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Denne tilstand aktiveres aldrig, når den er deaktiveret"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Deaktiver"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Vil du aktivere <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Denne tilstand kan automatisk aktiveres afhængigt af indstillingerne"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Aktivér"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Indstil en tilstand, der følger en fast tidsplan"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Indstil en tilstand, så den synkroniseres med kalenderbegivenheder og svar på invitationer"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Skab en beroligende soverutine. Indstil alarmer, dæmp skærmens lysstyrke, og bloker notifikationer."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Prioriter trafiksikkerhed, og koncentrer dig om kørslen uden forstyrrelser"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Bloker forstyrrelser eller afbrydelser fra din enhed, så du bedre kan koncentrere dig"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Fjern alle forstyrrelser for at få ro"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Tilpas brugeroplevelser og indstillinger på enheden til forskellige brugere"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Minimer afbrydelser ved kun at tillade, at vigtige personer og apps kan få fat i dig"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Indstil en tilstand, der følger en fast tidsplan"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Hold din enhed synkroniseret med dagens begivenheder"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Vågn op frisk og veloplagt"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Prioriter sikkerhed, når du er på farten"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Hold fokus på det, der betyder noget"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Til øjeblikke, hvor du skal udvise høflighed"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Guidet brug, som holder dig sikker"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Hold opmærksomheden på det vigtigste"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Advarsel"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Luk"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Send feedback om denne enhed"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Skal være slået til, fordi adgangen til notifikationer er slået til"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Vil du tilbagekalde adgangen til Forstyr ikke for <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Alle Forstyr ikke-regler, der er oprettet af denne app, fjernes."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Vil du give <xliff:g id="APP">%1$s</xliff:g> adgang til Tilstande?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Appen vil kunne aktivere/deaktivere Forstyr ikke, administrere og aktivere Tilstande og foretage ændringer af relaterede indstillinger."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Alle tilstande, der er oprettet af denne app, fjernes."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Undlad at optimere"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimer"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Dette kan dræne batteriet hurtigere. Appen forhindres ikke længere i at bruge batteri i baggrunden."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Etui"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Batteri"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Indstillingspanel"</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_desktop_mode" msgid="5644818402534562302">"Aktivér vinduer i frit format"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Aktivér vinduer i frit format på en sekundær skærm"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Aktivér app, hvis størrelse ikke kan justeres, i multivindue"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Tillader, at apps, hvis størrelse ikke kan justeres, kan være i et multivindue"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Tilsidesæt force-dark"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobildata"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"For at forbedre brugeroplevelsen på enheden kan apps og tjenester stadig til enhver tid scanne efter Wi‑Fi-netværk, også selvom Wi-Fi er deaktiveret. Dette kan f.eks. bruges til at forbedre lokationsbaserede funktioner og tjenester. Du kan ændre dette i indstillingerne for Wi-Fi-scanning."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Skift"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Forbundet"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Midlertidigt forbundet"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Anvender <xliff:g id="SUBNAME">%1$s</xliff:g> midlertidigt"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Brug appfastgørelse"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Brug Indstillinger for udviklere"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Brug en udskrivningstjeneste"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Tillad flere brugere"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Tillad brugerskift"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"tillad, flere, brugere, mange"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"flere, brugere, profiler, personer, konti, skift, mange"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Brug trådløs fejlretning"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> vil gerne oprette forbindelse til denne telefon.\n\nDu har ikke tidligere oprettet forbindelse til <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Opret ikke forbindelse"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Opret forbindelse"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE-indstillinger"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Til"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Fra"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Gendan standardindstillingerne"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Standardindstillingerne blev gendannet."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Maksimal balance ved fuld opladning"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Saldi"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Grænser for forbrug"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Grænse for indledende forbrug"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Minimumsgrænse for forbrug"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Maksimumsgrænse for forbrug"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modifikatorer"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Handlinger (udførelsesomkostninger)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Handlinger (basispris)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Bonusser pr. forekomst af en hændelse"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Belønninger/sek. i begivenhedens varighed"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Maksimalt antal bonusser om dagen"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Appinstallation"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Topaktivitet"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Notifikationen blev set"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Notifikationen blev set inden for 15 min."</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interaktion med notifikation"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Interaktion med widget"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Anden brugerinteraktion"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Job med maksimal prioritet starter"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Job med maksimal prioritet kører"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Job med høj prioritet starter"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Job med høj prioritet kører"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Job med standardprioritet starter"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Job med standardprioritet kører"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Job med lav prioritet starter"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Job med lav prioritet kører"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Job med minimal prioritet starter"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Job med minimal prioritet kører"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Timeout-justering for job"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Minimumssaldo for fuld opladning (undtagelse)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Minimumssaldo for fuld opladning (systemapp uden grafisk brugerflade)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Minimumssaldo for fuld opladning (øvrige apps)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Tilføjelse til minimumssaldo ved fuld opladning (platforme til appopdatering)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Opladning"</item>
-    <item msgid="658627268149681677">"Hvil"</item>
-    <item msgid="1599558140284643834">"Strømsparetilstand"</item>
-    <item msgid="588427840913221601">"Procestilstand"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Bekræft"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Se forhåndsvisning"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Vælg en pauseskærm"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Se yderligere oplysninger"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Vælg, hvad der skal vises på din skærm, når din tablet sidder i dockingstationen. Din enhed bruger muligvis mere batteri, når der anvendes en pauseskærm."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Tilpas"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Tilpas <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Du skal genstarte for at aktivere understøttelse af freeform."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Du skal genstarte for at gennemtvinge aktivering af computertilstand på sekundære skærme."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Du skal genstarte for at aktivere understøttelse af vinduer i frit format."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Du skal genstarte for at opdatere tilgængeligheden af vinduer i frit format."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Du skal genstarte for at aktivere vinduer i frit format på sekundære skærme."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Genstart nu"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Genstart senere"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Rumlig lyd"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Rose"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Violet"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Udfør"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Gem"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Annuller"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Standard"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Middel"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Til"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Fra"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Til"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Lyd %1$d%% venstre, %2$d%% højre"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Lyd %1$d%% højre, %2$d%% venstre"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Din enheds navn er synligt for apps, du har installeret. Det kan muligvis også ses af andre, når du opretter forbindelse til Bluetooth-enheder eller et Wi-Fi-netværk, eller når du konfigurerer et Wi-Fi-hotspot."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Grammatisk køn"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Vælg grammatisk køn"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Lyddeling er stoppet"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Tilknyt en kompatibel enhed"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"For at dele lyd skal du først forbinde LE Audio-høretelefoner til din telefon"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Skift til <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Opret forbindelse til en LE-lydstream"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Lydstreams i nærheden"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Lydstreams"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Lyt til stream"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Scan en QR-kode til en lydstream for at lytte via <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Adgangskoden kan ikke ændres under deling. Deaktiver lyddeling for at ændre adgangskoden."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR-kodescanner"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Har du brug for hjælp?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Søg i Indstillinger"</string>
 </resources>
diff --git a/res/values-de-feminine/strings.xml b/res/values-de-feminine/strings.xml
new file mode 100644
index 0000000..852ff45
--- /dev/null
+++ b/res/values-de-feminine/strings.xml
@@ -0,0 +1,23 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="show_dev_countdown" msgid="2936506773086395069">"{count,plural, =1{Nur noch # Schritt und du bist Entwicklerin.}other{Nur noch # Schritte und du bist Entwicklerin.}}"</string>
+    <string name="show_dev_on" msgid="2840850085134853754">"Du bist jetzt Entwicklerin!"</string>
+    <string name="show_dev_already" msgid="7041756429707644630">"Okay, du bist bereits Entwicklerin."</string>
+    <string name="user_owner" msgid="2079206733011361994">"Eigentümerin"</string>
+</resources>
diff --git a/res/values-de-masculine/strings.xml b/res/values-de-masculine/strings.xml
new file mode 100644
index 0000000..e7e351d
--- /dev/null
+++ b/res/values-de-masculine/strings.xml
@@ -0,0 +1,23 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="show_dev_countdown" msgid="2936506773086395069">"{count,plural, =1{Nur noch # Schritt und du bist Entwickler.}other{Nur noch # Schritte und du bist Entwickler.}}"</string>
+    <string name="show_dev_on" msgid="2840850085134853754">"Du bist jetzt Entwickler!"</string>
+    <string name="show_dev_already" msgid="7041756429707644630">"Okay, du bist bereits Entwickler."</string>
+    <string name="user_owner" msgid="2079206733011361994">"Eigentümer"</string>
+</resources>
diff --git a/res/values-de-neuter/strings.xml b/res/values-de-neuter/strings.xml
new file mode 100644
index 0000000..e7e351d
--- /dev/null
+++ b/res/values-de-neuter/strings.xml
@@ -0,0 +1,23 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="show_dev_countdown" msgid="2936506773086395069">"{count,plural, =1{Nur noch # Schritt und du bist Entwickler.}other{Nur noch # Schritte und du bist Entwickler.}}"</string>
+    <string name="show_dev_on" msgid="2840850085134853754">"Du bist jetzt Entwickler!"</string>
+    <string name="show_dev_already" msgid="7041756429707644630">"Okay, du bist bereits Entwickler."</string>
+    <string name="user_owner" msgid="2079206733011361994">"Eigentümer"</string>
+</resources>
diff --git a/res/values-de/arrays.xml b/res/values-de/arrays.xml
index 20b7e30..fd23c5b 100644
--- a/res/values-de/arrays.xml
+++ b/res/values-de/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Schlafenszeit"</item>
-    <item msgid="4152450357280759894">"Autofahren"</item>
-    <item msgid="7096549258219399423">"Immersiv"</item>
-    <item msgid="2760716776980432977">"Verwaltet"</item>
-    <item msgid="601734478369121764">"Stern"</item>
-    <item msgid="6243809315432780521">"Kalender"</item>
-    <item msgid="4913577903148415331">"Zeit"</item>
-    <item msgid="3653377604690057780">"Theater"</item>
-    <item msgid="3843711267408385410">"Blüte"</item>
+    <item msgid="1216815120972438676">"Aktentasche"</item>
+    <item msgid="184985872234062767">"Klassisches Gebäude"</item>
+    <item msgid="9189550412466785530">"Apartmenthaus"</item>
+    <item msgid="2142527562511049422">"Sprechblase"</item>
+    <item msgid="2548100558260478605">"Gruppe von Menschen"</item>
+    <item msgid="2270003903304578284">"Glühbirne"</item>
+    <item msgid="4793496619091161864">"Kalender"</item>
+    <item msgid="5673625795644364100">"Bitte nicht stören"</item>
+    <item msgid="1423820834865831361">"Person, die läuft"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Fitnessstudio-Hantel"</item>
+    <item msgid="2730180105015616518">"Schwimmen"</item>
+    <item msgid="2666922823253345958">"Person, die wandert"</item>
+    <item msgid="8234880356472211396">"Person, die einen Ball wirft"</item>
+    <item msgid="4642980625253001443">"Person, die kickt"</item>
+    <item msgid="4324795269518833500">"Controller"</item>
+    <item msgid="7789966425125441125">"Farbpalette eines Künstlers"</item>
+    <item msgid="663512680597461570">"Schneeflocke"</item>
+    <item msgid="7952183800501346803">"Sonnenschirm"</item>
+    <item msgid="799139025758265891">"Workshop-Tools"</item>
+    <item msgid="1330084588359129896">"Zelt"</item>
+    <item msgid="3861584909935022342">"70er-Jahre-Film"</item>
+    <item msgid="5827426100157335512">"Buch"</item>
+    <item msgid="8585828346253128384">"Lotusblume"</item>
+    <item msgid="8788370542815300188">"Die Gedanken einer Person"</item>
+    <item msgid="7287354964767553293">"Kopfhörer"</item>
+    <item msgid="2530059623783800987">"Fernseher"</item>
+    <item msgid="5307182323469376758">"Zug"</item>
+    <item msgid="4903790544026923026">"Auto"</item>
+    <item msgid="5010405583912314582">"Messer und Gabel"</item>
+    <item msgid="8939998598599064900">"Einkaufswagen"</item>
+    <item msgid="3379605903308731893">"Kind"</item>
+    <item msgid="7808668968550293112">"Tierpfote"</item>
+    <item msgid="1000692647524056504">"Sternsymbol"</item>
+    <item msgid="8270261073421676502">"Zwei Personen"</item>
+    <item msgid="5767782819651505460">"Stern"</item>
+    <item msgid="4368451291862729334">"Herz"</item>
+    <item msgid="2613199102208419986">"Haus"</item>
+    <item msgid="3022279986430275040">"Halbmond"</item>
+    <item msgid="5421089790869483206">"Uhr"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 38cdb04..deb5790 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Angehalten"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Unbekannt"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Vorschau"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR-Code"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Immer"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Hörgeräteeinstellungen"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Verknüpfung, Kompatibilität mit Hörgeräten"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Voreinstellung"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Der Hörgeräteakustiker hat keine Voreinstellungen festgelegt"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Voreinstellung konnte nicht aktualisiert werden"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audioausgabe"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Informationen zur Audioausgabe"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Für diese App ist in den Einstellungen keine Sprachauswahl verfügbar."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Die Sprache kann von den in der App verfügbaren Sprachen abweichen. Einige Apps unterstützen diese Einstellung möglicherweise nicht."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Leg die Sprache für einzelne Apps fest."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Dein System, deine Apps und deine Websites verwenden die erste deiner bevorzugten Sprachen, die unterstützt wird."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Dein Gerät, deine Apps und deine Websites verwenden die erste deiner bevorzugten Sprachen, die unterstützt wird.\n\nViele Apps nutzen auch die zugehörige Region deiner bevorzugten Sprache, um Daten, Zahlen und Einheiten anzupassen. Wenn du die Region ändern möchtest, füge eine Sprache hinzu und wähle anschließend deine bevorzugte Region aus."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Unter „App-Sprachen“ kannst du für jede App eine andere Sprache festlegen."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Weitere Informationen zu App-Sprachen"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Systemsprache in %s ändern?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Aus"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Aktiviert (# App hat Zugriff auf den Standort)}other{Aktiviert (# Apps haben Zugriff auf den Standort)}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Wird geladen…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Apps mit der Berechtigung zum Zugriff auf Geräte in der Nähe können die relative Position von verbundenen Geräten ermitteln."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Apps mit der Berechtigung zum Zugriff auf Geräte in der Nähe können die relative Positionierung von verbundenen Geräten ermitteln."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Standortzugriff ist für Apps und Dienste deaktiviert. Wenn du eine Notrufnummer wählst oder eine Nachricht an eine solche Nummer schickst, kann dein Standort dennoch an den Notdienst gesendet werden."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Weitere Informationen zu Standorteinstellungen"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Um Änderungen vorzunehmen, gehe zu den ChromeOS-Einstellungen &gt; Datenschutz und Sicherheit &gt; Datenschutzeinstellungen &gt; Standortzugriff"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Gesicht und <xliff:g id="WATCH">%s</xliff:g> hinzugefügt"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Gesicht, Fingerabdruck und <xliff:g id="WATCH">%s</xliff:g> hinzugefügt"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Gesicht, Fingerabdrücke und <xliff:g id="WATCH">%s</xliff:g> hinzugefügt"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Die Identitätsüberprüfung ist aktiviert und erfordert biometrische Daten"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Per Remote Authenticator entsperren"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Smartwatch hinzugefügt"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Smartwatch einrichten"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Weitere Informationen zu „Mit Smartwatch entsperren“"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Smartwatch hinzufügen"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Smartwatch entfernen"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Entsperrung per Gesichtserkennung und Fingerabdruck"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Entsperrung per Gesichtserkennung &amp; Fingerabdruck"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Entsperrung per Gesichtserkennung &amp; Fingerabdruck für die Arbeit"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Einrichtung erforderlich"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Gesicht und Fingerabdrücke hinzugefügt"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Das vertrauliche Profil wird eingerichtet…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Das vertrauliche Profil konnte nicht eingerichtet werden"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Noch einmal versuchen"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Beenden"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Vertrauliches Profil ist nicht verfügbar.\nMögliche Gründe ansehen"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Mögliche Gründe ansehen"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Neue Sperre für vertrauliches Profil festlegen?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Du kannst für das vertrauliche Profil eine neue Sperre festlegen oder dieselbe Sperre nutzen, die du zum Entsperren deines Geräts verwendest"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Displaysperre verwenden"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Bei aktiviertem Bluetooth kann dein Gerät mit anderen Bluetooth-Geräten in der Nähe kommunizieren.\n\nDamit es optimal funktioniert, können Apps und Dienste immer nach Geräten in der Nähe suchen, auch wenn Bluetooth deaktiviert ist. Dadurch werden beispielsweise standortbasierte Funktionen und Dienste verbessert. Dies lässt sich in den Bluetooth-Sucheinstellungen ändern."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Bei aktiviertem Bluetooth kann dein Gerät mit Bluetooth-Geräten in der Nähe kommunizieren. Funktionen wie „Quick Share“ und „Mein Gerät finden“ verwenden Bluetooth.\n\nApps und Dienste können weiterhin jederzeit nach Geräten in der Nähe suchen, auch wenn Bluetooth deaktiviert ist. Dies kann beispielsweise dafür verwendet werden, um standortbezogene Funktionen und Dienste zu verbessern.In den Einstellungen für die Bluetooth-Suche lässt sich dieses Verhalten ändern."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Ändern"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Gerätedetails"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Tastatureinstellungen"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Weitere Einstellungen"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Firmware-Updates, Informationen zum Gerät und mehr"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Tipps &amp; Support"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Bluetooth-Adresse des Geräts: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Bluetooth-Adresse des Geräts: \n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Gerät entkoppeln?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Experimentell. Verbessert Audioqualität."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Gerät entkoppeln"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"App-Verknüpfung aufheben"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Weitere Einstellungen"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Maximale Zahl verbundener Bluetooth-Audiogeräte"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Maximale Zahl verbundener Bluetooth-Audiogeräte auswählen"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Ausführliches NFC-Debugging-Log"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Gerät neu starten?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Die detaillierte NFC-Protokollierung wird nur zu Entwicklungszwecken verwendet. Dazu gehören auch zusätzliche NFC-Daten in Fehlerberichten, die private Informationen enthalten können. Starte dein Gerät neu, um diese Einstellung zu ändern."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Neu starten"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"An"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Aus"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Externes Display"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Externes Display verwenden"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Displayauflösung"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Das externe Display ist nicht verbunden"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Ausrichtung"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standard"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Das Ändern der Ausrichtung oder der Auflösung kann dazu führen, dass Apps, die momentan ausgeführt werden, angehalten werden"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Dein Gerät muss mit einem externen Display verbunden sein, um deinen Bildschirm spiegeln zu können"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Weitere Optionen"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Streamen"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"spiegeln"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Kabellose Übertragung aktivieren"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptiv"</string>
     <string name="brightness" msgid="6216871641021779698">"Helligkeit"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Automatische Helligkeit"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Informationen zur automatischen Helligkeit"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Die Helligkeit des Displays passt sich automatisch an deine Umgebung und deine Aktivitäten an. Mit dem Schieberegler kannst du sie manuell nach Wunsch anpassen und die Funktion „Automatische Helligkeit“ merkt sich deine Präferenz."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"An"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Aus"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"<xliff:g id="CARRIER">%1$s</xliff:g> für mobile Daten nutzen?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Du verwendest <xliff:g id="CARRIER2_0">%2$s</xliff:g> für mobile Daten. Wenn du zu <xliff:g id="CARRIER1">%1$s</xliff:g> wechselst, wird <xliff:g id="CARRIER2_1">%2$s</xliff:g> nicht mehr für mobile Daten verwendet."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"<xliff:g id="CARRIER">%1$s</xliff:g> verwenden"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Bevorzugte SIM aktualisieren?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> ist die einzige SIM-Karte in deinem Gerät. Möchtest du diese SIM-Karte für mobile Daten, Anrufe und SMS verwenden?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> ist jetzt deine primäre SIM"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Bessere Mobile-Daten-Abdeckung"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Du kannst zulassen, dass dein Gerät für mobile Daten automatisch zu <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> wechselt, wenn du damit einen besseren Empfang hast."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Eventuell sind Anrufe, Nachrichten und Netzwerkverkehr für deine Organisation sichtbar."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Optionen"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Barrierefreiheit"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Physische Tastatur"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Bildschirmtastatur verwenden"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Bildschirmtastatur auch dann anzeigen, wenn physische Tastatur aktiv ist"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Bounce-Tasten"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Schnell aufeinanderfolgende Betätigungen derselben Taste innerhalb von <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms werden auf der Tastatur ignoriert"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Anschlagverzögerung"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Zeit zum Aktivieren eines Tastendrucks wird auf <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms festgelegt"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Einfingerbedienung"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Bei Tastenkombinationen Tasten einzeln drücken, statt sie zusammen gedrückt zu halten"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Maustasten"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Die Maus kann über die physische Tastatur gesteuert werden"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Tastenkürzel"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Liste der Tastenkombinationen anzeigen"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tastaturen und Tools für das Arbeitsprofil"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Individuelle Touchpad-Gesten für die Navigation festlegen"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Scrollrichtung umkehren"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Inhalte bewegen sich nach oben, wenn du nach unten scrollst"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Unten rechts tippen"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Tippe unten rechts auf das Touchpad für weitere Optionen"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"In rechte untere Ecke tippen"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Unten rechts auf das Touchpad tippen, um weitere Optionen anzuzeigen"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Zeigergeschwindigkeit"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Füllfarbe des Mauszeigers"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Zeigerfüllfarbe in Schwarz ändern"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Zeigerfüllfarbe in Gelb ändern"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Zeigerfüllfarbe in Rosa ändern"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Zeigerfüllfarbe in Blau ändern"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Stil des Zeigerstrichs"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Weiß"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Schwarz"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Keiner"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Informationen zu Touchpad-Gesten"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"Touchpad, Touch-Pad, Maus, Cursor, scrollen, wischen, rechtsklicken, klicken, Zeiger"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"rechtsklicken, tippen"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Zurücksetzen"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Modifikatortaste wählen"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Wähle eine neue Taste für <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Layout: <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Standard"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatisch: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Nutzerauswahl: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Spracheingabe, -erkennung und -ausgabe"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Zeigergeschwindigkeit"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Größe des Mauszeigers"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Größe des Mauszeigers verringern"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Größe des Mauszeigers erhöhen"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Gamecontroller"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Vibration weiterleiten"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Vibration an Gamecontroller senden, sofern eine Verbindung besteht"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Trotzdem fortfahren"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Abbrechen"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Vergrößerungseinstellungen"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Schwenken mit einem Finger"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Lupe mit 1 Finger verschieben"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Ziehe 1 Finger auf dem Display"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Verschiebe den Vergrößerungsbereich mit einem Finger."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Verschiebe den Vergrößerungsbereich mit zwei Fingern."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Nicht verfügbar, solange nur ein Teil des Bildschirms vergrößert wird"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Zum Zoomen auf eine Schaltfläche tippen"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Du kannst auf dem Display schnell heranzoomen, um Inhalte zu vergrößern"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;So zoomst du heran:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Starte die Vergrößerung über den Kurzbefehl&lt;br/&gt; {1,number,integer}. Tippe auf das Display&lt;br/&gt; {2,number,integer}. Ziehe mit zwei Fingern, um den angezeigten Bildschirmausschnitt zu ändern&lt;br/&gt; {3,number,integer}. Ziehe zwei Finger auseinander oder zusammen, um den Zoom anzupassen&lt;br/&gt; {4,number,integer}. Beende die Vergrößerung über den Kurzbefehl&lt;br/&gt;&lt;br/&gt; &lt;b&gt;So zoomst du vorübergehend heran:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Achte darauf, dass als Art der Vergrößerung „Vollbild“ ausgewählt ist&lt;br/&gt; {1,number,integer}. Starte die Vergrößerung über den Kurzbefehl&lt;br/&gt; {2,number,integer}. Halte eine beliebige Stelle auf dem Display gedrückt&lt;br/&gt; {3,number,integer}. Ziehe mit dem Finger, um den angezeigten Bildschirmausschnitt zu ändern&lt;br/&gt; {4,number,integer}. Hebe den Finger, um die Vergrößerung zu beenden"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;So zoomst du heran:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Starte die Vergrößerung über die Touch-Geste für Bedienungshilfen&lt;br/&gt; {1,number,integer}. Tippe auf das Display&lt;br/&gt; {2,number,integer}. Ziehe mit 2 Fingern, um den angezeigten Bildschirmausschnitt zu verschieben&lt;br/&gt; {3,number,integer}. Ziehe 2 Finger auseinander oder zusammen, um den Zoom anzupassen&lt;br/&gt; {4,number,integer}. Stoppe die Vergrößerung über die Touch-Geste für Bedienungshilfen&lt;br/&gt;&lt;br/&gt; Du kannst auch vorübergehend heranzoomen und mehr."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;So zoomst du heran:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Starte die Vergrößerung über die Touch-Geste für Bedienungshilfen&lt;br/&gt; {1,number,integer}. Tippe auf das Display&lt;br/&gt; {2,number,integer}. Ziehe mit 1 oder 2 Fingern, um den angezeigten Bildschirmausschnitt zu verschieben&lt;br/&gt; {3,number,integer}. Ziehe 2 Finger auseinander oder zusammen, um den Zoom anzupassen&lt;br/&gt; {4,number,integer}. Stoppe die Vergrößerung über die Touch-Geste für Bedienungshilfen&lt;br/&gt;&lt;br/&gt; Du kannst auch vorübergehend heranzoomen und mehr."</string>
     <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Wenn die Vergrößerung aktiviert ist, kannst du Elemente auf dem Bildschirm heranzoomen.\n\n"<b>"Wenn du zoomen möchtest"</b>", starte die Vergrößerung und tippe dann auf eine beliebige Stelle auf dem Bildschirm.\n"<ul><li>"Zum Scrollen ziehe mit zwei oder mehr Fingern"</li>\n<li>"Zum Anpassen des Zooms ziehe zwei oder mehr Finger zusammen bzw. auseinander"</li></ul>\n\n<b>"Wenn du vorübergehend heranzoomen möchtest"</b>", starte die Vergrößerung und tippe dann auf eine beliebige Stelle auf dem Bildschirm und halte sie gedrückt.\n"<ul><li>"Wenn du den angezeigten Bildschirmausschnitt verschieben 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_pager" msgid="8461939455728454061">"Seite <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> von <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Kurzbefehl: Schaltfläche „Bedienungshilfen“"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Tippe auf die unverankerte Schaltfläche."</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Touch-Geste für Bedienungshilfen"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Tippe unten auf dem Display auf die Schaltfläche „Bedienungshilfen“ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>. Um zwischen den Funktionen umzuschalten, halte diese Schaltfläche gedrückt."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Wische vom unteren Bildschirmrand mit zwei Fingern nach oben.\n\nWenn du zwischen den Funktionen wechseln möchtest, wische mit zwei Fingern über das Display nach oben und halte."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Wische vom unteren Bildschirmrand mit drei Fingern nach oben.\n\nWenn du zwischen den Funktionen wechseln möchtest, wische mit drei Fingern über das Display nach oben und halte."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Wische vom unteren Displayrand nach oben. Wenn du zwischen Funktionen umschalten möchtest, wische nach oben und halte.}other{Wische vom unteren Displayrand mit # Fingern nach oben. Wenn du zwischen Funktionen umschalten möchtest, wische mit # Fingern nach oben und halte.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Weitere Optionen"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Weitere Informationen zu <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Lautstärketasten"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"Lautstärketasten"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Halte beide Lautstärketasten gedrückt."</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Mit zwei Fingern auf das Display doppeltippen"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"2-mal mit %1$d Fingern tippen"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Tippe das Display 2-mal schnell mit %1$d Fingern an."</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"3-mal tippen"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Tippe das Display %1$d-mal schnell an. Dadurch kann dein Gerät langsamer werden."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"2-mal mit %1$d Fingern tippen"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Tippe {0,number,integer}-mal schnell mit zwei Fingern auf das Display"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Dreimal auf den Bildschirm tippen"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"3-mal tippen"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Tippe {0,number,integer}-mal schnell auf das Display. Durch diesen Kurzbefehl  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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Einstellungen für Verknüpfungen"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Verknüpfung auf dem Sperrbildschirm"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Du kannst zulassen, dass die Bedienungshilfenverknüpfung auch vom Sperrbildschirm aus funktioniert. Halte dazu beide Lautstärketasten für einige Sekunden gedrückt."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Schaltfläche „Bedienungshilfen“"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Bedienungshilfen &amp; Touch-Geste"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Dieser Dienst funktioniert nicht."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Kurzbefehle für Bedienungshilfen"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"In Schnelleinstellungen anzeigen"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rot-Grün-Sehschwäche"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Rot-Grün-Sehschwäche"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Rot-Grün-Schwäche, Grünschwäche"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Rot-Grün-Schwäche, Rotschwäche"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blau-Gelb-Sehschwäche"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Graustufen"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensität"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Grün-Sehschwäche, Deuteranomalie"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Rot-Sehschwäche, Protanomalie"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Nicht verfügbar im Modus „Graustufen“ oder wenn die Funktion „Farbkorrektur“ deaktiviert ist"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Extradunkel"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Option „Extradunkel“ aktivieren"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Blaugrün"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Gelb"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"„<xliff:g id="SERVICE">%1$s</xliff:g>“ die vollständige Kontrolle über dein Gerät geben?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> muss:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Deine Eingabe wird von \"Einstellungen\" nicht erkannt, weil die Berechtigungsanfrage von einer App verdeckt wird."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> fordert eine volle Kontrolle für dieses Gerät an. Der Dienst kann den Bildschirm lesen und im Namen von Nutzern mit Bedarf an Bedienungshilfen handeln. Dieses Maß an Kontrolle ist für die meisten Apps ungeeignet."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Die vollständige Kontrolle sollte nur für Apps aktiviert werden, die dir Zugang zu App-Funktionen erleichtern. Das ist in der Regel nur ein kleiner Teil der Apps."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Bildschirm aufrufen und steuern"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Die Funktion kann alle Inhalte auf dem Bildschirm lesen und diese Inhalte über anderen Apps anzeigen."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Aktionen aufrufen und durchführen"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Die Funktion kann deine Interaktionen mit einer App oder einem Hardwaresensor verfolgen und in deinem Namen mit Apps interagieren."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Zulassen"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Ablehnen"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Aus"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"An / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> und <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Du kannst Spatial Audio auch für Bluetooth-Geräte aktivieren."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Einstellungen für verbundene Geräte"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Spatial Audio"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Aus"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Aus"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Aus"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Keine}=1{1 Zeitplan festgelegt}other{# Zeitpläne festgelegt}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Bitte nicht stören"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Prioritätsmodi"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Modus hinzufügen"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Modi"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Mit Modi für Schlaf, Arbeit und das Fahren und alles dazwischen kannst du Ablenkungen minimieren und deine Aufmerksamkeit besser lenken."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Eigenen Modus erstellen"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Benachrichtigungen nur von wichtigen Personen und Apps"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Zeitplan festlegen"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Zeitplan basierend auf"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Datum und Uhrzeit"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"„Von 9 Uhr bis 17 Uhr an Wochentagen“"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Kalendertermine"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} ist aktiv}=2{{mode_1} und {mode_2} sind aktiv}=3{{mode_1}, {mode_2} und {mode_3} sind aktiv}other{{mode_1}, {mode_2} und # weitere Modi sind aktiv}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 Modus kann automatisch aktiviert werden}other{# Modi können automatisch aktiviert werden}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"AN"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Nicht festgelegt"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Deaktiviert"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Modus erstellen"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Benutzerdefiniert"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Jetzt aktivieren"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Deaktivieren"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Modus nicht gefunden"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Unterbrechungen einschränken"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Unterbrechungen und Ablenkungen blockieren"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g> einrichten"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"„Bitte nicht stören“ aktivieren"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Wecker und Medientöne können ihn unterbrechen"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Zeitpläne"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Zeitpläne löschen"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Löschen"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Umbenennen"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Löschen"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Den Modus „<xliff:g id="MODE">%1$s</xliff:g>“ löschen?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Bearbeiten"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Zeitpläne"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Zeitplan"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Automatisch aktivieren"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Kalender hinzufügen"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Kalender verwenden"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Zeitplan"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Zeitplan festlegen"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Zeitpunkt für automatische Aktivierung"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Terminplan"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Aktivieren während Terminen für"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Wenn die Einladungsantwort so lautet:"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Zeitplan"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Zeitplan"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> Std. <xliff:g id="MINUTES">%2$d</xliff:g> Min."</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Zeitplan"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Unterbrechungen mit Tönen zulassen"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Benachrichtigungen, die dich erreichen können"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Weitere Aktionen"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Benachrichtigungsfilter"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Weitere Einstellungen"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Deaktiviert}=1{Deaktiviert / 1 Modus kann automatisch aktiviert werden}other{Deaktiviert / # Modi können automatisch aktiviert werden}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Anzeigeeinstellungen"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Optionen anzeigen"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Graustufen"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"Dunkles Design aktivieren"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Stelle das Betriebssystem und die Apps so ein, dass vor einem dunklen Hintergrund heller Text bevorzugt wird. Das strengt die Augen weniger an und kann auf manchen Geräten die Akkulaufzeit erheblich verlängern."</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Keine Änderungen der Anzeige}=1{{effect_1}}=2{{effect_1} und {effect_2}}=3{{effect_1}, {effect_2} und {effect_3}}other{{effect_1}, {effect_2} und # mehr}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Alle Benachrichtigungen zulassen"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Personen, Apps und Töne dürfen unterbrechen"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Anzeigeoptionen für gefilterte Benachrichtigungen"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Wenn „Bitte nicht stören“ aktiviert ist"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Kein akustisches Signal bei Benachrichtigungen"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"Benachrichtigung öffnen"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Schlummerfunktion für Benachrichtigungen zulassen"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Benachrich­ti­gungs­punkt auf App-Symbol"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Benachrichtigungs-Sets"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bubbles"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubbles"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Diese Unterhaltung als Bubble anzeigen"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Sie kann auf Nachrichten antworten und Schaltflächen in Benachrichtigungen auslösen, beispielsweise Benachrichtigungen zurückstellen oder schließen und Anrufe entgegennehmen."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Einstellungen ändern"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Sie kann die „Bitte nicht stören“-Funktion aktivieren oder deaktivieren und zugehörige Einstellungen ändern."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Modi verwalten und aktivieren sowie zugehörige Einstellungen ändern."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Wenn du den Benachrichtigungszugriff für <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> deaktivierst, wird möglicherweise auch der „Bitte nicht stören“-Zugriff deaktiviert."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Wenn du den Benachrichtigungszugriff für <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> deaktivierst, wird möglicherweise auch der Zugriff auf die Modi deaktiviert."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Deaktivieren"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Abbrechen"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Echtzeit"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Diese App unterstützt erweiterte Einstellungen nicht"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Weitere Einstellungen"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Weitere Einstellungen sind in dieser App verfügbar"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Adaptive Benachrichtigungen"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Adaptive Benachrichtigungen verwenden"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Wenn du innerhalb eines kurzen Zeitraums viele Nachrichten erhältst, reduziert dein Smartphone für bis zu zwei Minuten die Lautstärke und minimiert Pop‑ups auf dem Display. Anrufe, Wecker und priorisierte Unterhaltungen werden dennoch auf dem Display angezeigt bzw. führen dennoch dazu, dass das Smartphone vibriert oder einen Ton ausgibt. Du findest alle deine Nachrichten, wenn du vom oberen Displayrand nach unten wischst."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Verringern der Benach­richtigungs­lautstärke"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Verringern von Lautstärke und Vibration bei Benachrichtigungen aktivieren"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Wenn du viele Benachrichtigungen innerhalb kurzer Zeit erhältst, verringert dein Gerät für bis zu zwei Minuten die Lautstärke und minimiert Benachrichtigungen. Anrufe, Wecker und priorisierte Unterhaltungen sind davon nicht betroffen. \n\nWenn du Benachrichtigungen sehen möchtest, die während des Verringerns der Lautstärke eingegangen sind, wische vom oberen Rand des Displays nach unten."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Auf Arbeitsprofile anwenden"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Auf Apps im Arbeitsprofil anwenden"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR-Hilfsdienste"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Zugriff während „Bitte nicht stören“"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"„Bitte nicht stören“ zulassen"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Keine installierte App hat während „Bitte nicht stören“ Zugriff angefordert."</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Zugriff auf Modi"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Zugriff auf Modi erlauben"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Keine installierte App hat Zugriff auf Modi angefordert"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Von dieser App sind keine Benachrichtigungen zugelassen"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Gemäß deinen Einstellungen unterbindet Android die Anzeige von Benachrichtigungen dieser Kategorie auf diesem Gerät."</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Gemäß deinen Einstellungen unterbindet Android die Anzeige von Benachrichtigungen dieser Gruppe auf diesem Gerät."</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Kategorien"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Andere"</string>
     <string name="no_channels" msgid="4716199078612071915">"Für diese App gibt es keine Benachrichtigungen"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Ungenutzte Kategorien anzeigen"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Zusätzliche Einstellungen in der App"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Ungenutzte Kategorien anzeigen"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Ungenutzte Kategorien ausblenden"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g>–<xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Unterhaltungen"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Alle Unterhaltungen"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"alle Unterhaltungen"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Vorrangige Unterhaltungen"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"vorrangige Unterhaltungen"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Keine"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Apps, die unterbrechen dürfen"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Ausgewählte Apps"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Keine"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Alle"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Keine App kann ihn unterbrechen}=1{{app_1} kann ihn unterbrechen}=2{{app_1} und {app_2} können ihn unterbrechen}=3{{app_1}, {app_2} und {app_3} können ihn unterbrechen}other{{app_1}, {app_2}, und # weitere können ihn unterbrechen}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (geschäftlich)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Wird berechnet…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+ <xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Überschreiben durch Apps zulassen"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps, die unterbrechen dürfen"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Weitere Apps auswählen"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Nichts kann ihn unterbrechen"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Niemand kann ihn unterbrechen"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Einige Personen können ihn unterbrechen"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Bei wiederkehrenden Anrufern unterbrechen"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Alle Personen können ihn unterbrechen"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Wiederholte Anrufer"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Wiederholte Anrufer zulassen"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Eine Stunde lang bis {time} zur Option „nur Weckrufe“ wechseln}other{# Stunden lang bis {time} zur Option „nur Weckrufe“ wechseln}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Bis <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> zur Option \"Nur Weckrufe\" wechseln"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Zur Option \"Immer unterbrechen\" wechseln"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Umbenennen"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Symbol ändern"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Symbol ändern"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Modus bearbeiten"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Modus erstellen"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Benutzerdefinierter Modus"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Modusname"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Kalendertermine"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Ablauf „Schlafenszeit“"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Beim Fahren"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"App-Einstellungen"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Informationen und Einstellungen in <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Verwaltet von <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g> deaktivieren?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Bei Deaktivierung wird dieser Modus nie aktiviert"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Deaktivieren"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g> aktivieren?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Dieser Modus kann abhängig von den Einstellungen automatisch aktiviert werden"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Aktivieren"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Du kannst einen Modus festlegen, der einem regulären Zeitplan folgt"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Du kannst einen Modus für die Synchronisierung mit Terminen und Antworten auf Einladungen festlegen"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Entwickle eine Einschlafroutine, die abends zu deiner Entspannung beiträgt. Stelle beispielsweise deinen Wecker, dimme das Display und blockiere Benachrichtigungen."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Du kannst für mehr Sicherheit im Straßenverkehr und mehr Konzentration am Steuer sorgen"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Für mehr Konzentration kannst du Ablenkungen und Unterbrechungen blockieren"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Für ein ruhigeres Umfeld kannst du Ablenkungen unterbinden"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Du kannst dein Gerät und die Einstellungen für unterschiedliche Personen anpassen"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Um Ablenkungen zu minimieren, kannst du festlegen, dass nur wichtige Personen und Apps dich benachrichtigen können"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Du kannst einen Modus festlegen, der einem regulären Zeitplan folgt"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Dein Gerät wird mit den Ereignissen deines Tages synchronisiert"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Starte ausgeruht in den Tag"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Sicherheit hat auf der Straße oberste Priorität"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Keine Ablenkung dank immersivem Modus"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Für Momente, in denen Höflichkeit zählt"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Geführte Nutzung für mehr Sicherheit"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Immer aufmerksam sein"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Warnung"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Schließen"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Feedback zu diesem Gerät senden"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Muss aktiviert bleiben, weil der Benachrichtigungszugriff aktiviert ist"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Zugriff auf „Bitte nicht stören“ für <xliff:g id="APP">%1$s</xliff:g> aufheben?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Alle von dieser App erstellten „Bitte nicht stören“-Regeln werden entfernt."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"<xliff:g id="APP">%1$s</xliff:g> Zugriff auf Modi erlauben?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Die App kann dann „Bitte nicht stören“ aktivieren und deaktivieren, Modi verwalten und aktivieren sowie Änderungen an zugehörigen Einstellungen vornehmen."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Alle von dieser App erstellten Modi werden entfernt."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Nicht optimieren"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimieren"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Der Akku könnte hierdurch schneller leer sein, denn die App kann jetzt auch im Hintergrund Energie verbrauchen."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Etui"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Akku"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Einstellungen"</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_desktop_mode" msgid="5644818402534562302">"Freiform-Fenster zulassen"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Freiform-Fenster auf sekundären Displays zulassen"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Mehrfenstermodus für nicht änderbare Größen aktivieren"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Erlaubt Mehrfenstermodus für Apps mit nicht änderbarer Größe"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Erzwingen des dunklen Modus außer Kraft setzen"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobile Daten"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Apps und Dienste können jederzeit nach WLANs suchen, auch wenn die WLAN-Funktion deaktiviert ist. Dadurch können beispielsweise standortbasierte Funktionen und Dienste verbessert werden. Das Verhalten lässt sich in den Einstellungen für die WLAN-Suche ändern."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Ändern"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Verbunden"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Vorübergehend verbunden"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Vorübergehend mit <xliff:g id="SUBNAME">%1$s</xliff:g> verbunden"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Bildschirmfixierung verwenden"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Entwickleroptionen verwenden"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Druckdienst verwenden"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Mehrere Nutzer zulassen"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Nutzerwechsel zulassen"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"zulassen, mehrere, Nutzer, Erlaubnis, viele"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"mehrere, Nutzer, Profile, Personen, Konten, wechseln, viele"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Debugging über WLAN verwenden"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> möchte sich mit diesem Smartphone verbinden.\n\nDu hast dich bisher nicht mit <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> verbunden."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Nicht verbinden"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Verbinden"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE-Einstellungen"</string>
-    <string name="tare_on" msgid="2386073225978684535">"An"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Aus"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Standardeinstellungen wiederherstellen"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Standardeinstellungen wiederhergestellt."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Maximale Balance bei voller Akkuladung"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Saldo"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Verbrauchslimits"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Anfängliches Verbrauchslimit"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Minimales Verbrauchslimit"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Maximales Verbrauchslimit"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modifikatoren"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Aktionen (Produktionskosten)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Aktionen (Grundpreis)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Prämien pro Ereignis"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Prämien pro Sekunde Ereignisdauer"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Maximale Anzahl von Prämien pro Tag"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"App-Installation"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Topaktivität"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Benachrichtigung gesehen"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Benachrichtigung nach max. 15 min gesehen"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interaktion mit Benachrichtigung"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Interaktion mit Widget"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Andere Nutzerinteraktion"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Job-Start mit maximaler Priorität"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Job-Ausführung mit maximaler Priorität"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Job-Start mit hoher Priorität"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Job-Ausführung mit hoher Priorität"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Job-Standardstart"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Job-Standardausführung"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Job-Start mit geringer Priorität"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Job-Ausführung mit geringer Priorität"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Job-Start mit minimaler Priorität"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Job-Ausführung mit minimaler Priorität"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Job – Strafe für Zeitüberschreitung"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Mindestsaldo bei vollem Akku (vom Energiesparen ausgenommene Apps)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Mindestsaldo bei vollem Akku (System-App ohne Benutzeroberfläche)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Mindestsaldo bei vollem Akku (restliche Apps)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Ergänzung des Mindestsaldos bei vollem Akku (App-Updater)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Laden"</item>
-    <item msgid="658627268149681677">"Stromsparmodus"</item>
-    <item msgid="1599558140284643834">"Energiesparmodus"</item>
-    <item msgid="588427840913221601">"Verarbeitungsstatus"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Bestätigen"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Vorschau anzeigen"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Bildschirmschoner auswählen"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Zusätzliche Informationen anzeigen"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Hier kannst du festlegen, was auf dem Display angezeigt werden soll, wenn das Tablet angedockt ist. Das Gerät verbraucht möglicherweise mehr Strom, wenn ein Bildschirmschoner verwendet wird."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Anpassen"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> anpassen"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Damit die Freiform-Unterstützung aktiviert wird, musst du das Gerät neu starten."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Damit der Desktop-Modus auf sekundären Bildschirmen erzwungen wird, musst du das Gerät neu starten."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Damit die Unterstützung von Freiform-Fenstern aktiviert wird, musst du das Gerät neu starten."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Zum Aktualisieren der Verfügbarkeit von Freiform-Fenstern ist ein Neustart erforderlich."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Zum Aktivieren von Freiform-Fenstern auf sekundären Displays ist ein Neustart erforderlich."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Jetzt neu starten"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Später neu starten"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Spatial Audio"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Pink"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Violett"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Fertig"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Speichern"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Abbrechen"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Standard"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Mittel"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"An"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Aus"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"An"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Audio %1$d%% links, %2$d%% rechts"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Audio %1$d%% rechts, %2$d%% links"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Dein Gerätename ist für Apps, die du installiert hast, sichtbar. Wenn du dein Gerät mit Bluetooth-Geräten oder einem WLAN verbindest oder einen WLAN-Hotspot einrichtest, kann der Name möglicherweise auch von anderen Personen gesehen werden."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Genus"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Genus auswählen"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Die Audiofreigabe wurde beendet"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Kompatibles Gerät verbinden"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Wenn du Audioinhalte freigeben möchtest, verbinde zuerst deine LE Audio-Kopfhörer mit deinem Smartphone"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Zu <xliff:g id="DEVICE_NAME">%1$s</xliff:g> wechseln"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Mit LE Audio-Stream verbinden"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Audiostreams in der Nähe"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Audiostreams"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Stream anhören"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Den QR-Code eines Audiostreams scannen, um den Stream auf <xliff:g id="DEVICE_NAME">%1$s</xliff:g> anzuhören"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Während der Freigabe kann das Passwort nicht geändert werden. Wenn du das Passwort ändern möchtest, deaktiviere zuerst die Audiofreigabe."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR‑Code-Scanner"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Benötigst du Hilfe?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"In Einstellungen suchen"</string>
 </resources>
diff --git a/res/values-el/arrays.xml b/res/values-el/arrays.xml
index d5db9b1..0f32bb6 100644
--- a/res/values-el/arrays.xml
+++ b/res/values-el/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Ώρα για ύπνο"</item>
-    <item msgid="4152450357280759894">"Οδήγηση"</item>
-    <item msgid="7096549258219399423">"Καθηλωτικό"</item>
-    <item msgid="2760716776980432977">"Διαχειριζόμενο"</item>
-    <item msgid="601734478369121764">"Αστέρι"</item>
-    <item msgid="6243809315432780521">"Ημερολόγιο"</item>
-    <item msgid="4913577903148415331">"Ώρα"</item>
-    <item msgid="3653377604690057780">"Θέατρο"</item>
-    <item msgid="3843711267408385410">"Λουλούδι"</item>
+    <item msgid="1216815120972438676">"Χαρτοφύλακας"</item>
+    <item msgid="184985872234062767">"Κλασικό κτίριο"</item>
+    <item msgid="9189550412466785530">"Πολυκατοικία"</item>
+    <item msgid="2142527562511049422">"Συννεφάκι ομιλίας"</item>
+    <item msgid="2548100558260478605">"Ομάδα ανθρώπων"</item>
+    <item msgid="2270003903304578284">"Λαμπτήρας"</item>
+    <item msgid="4793496619091161864">"Ημερολόγιο"</item>
+    <item msgid="5673625795644364100">"Μην ενοχλείτε"</item>
+    <item msgid="1423820834865831361">"Άτομο που τρέχει"</item>
+    <item msgid="2037298830718732608">"Γκολφ"</item>
+    <item msgid="2197835014443491074">"Αλτήρας γυμναστικής"</item>
+    <item msgid="2730180105015616518">"Κολύμβηση"</item>
+    <item msgid="2666922823253345958">"Άτομο που κάνει πεζοπορία"</item>
+    <item msgid="8234880356472211396">"Άτομο που ρίχνει μπάλα"</item>
+    <item msgid="4642980625253001443">"Άτομο που κλωτσά"</item>
+    <item msgid="4324795269518833500">"Χειριστήριο παιχνιδιού"</item>
+    <item msgid="7789966425125441125">"Παλέτα χρωμάτων καλλιτέχνη"</item>
+    <item msgid="663512680597461570">"Νιφάδα χιονιού"</item>
+    <item msgid="7952183800501346803">"Ομπρέλα παραλίας"</item>
+    <item msgid="799139025758265891">"Εργαλεία εργαστηρίου"</item>
+    <item msgid="1330084588359129896">"Σκηνή"</item>
+    <item msgid="3861584909935022342">"Ρετρό φιλμ"</item>
+    <item msgid="5827426100157335512">"Βιβλίο"</item>
+    <item msgid="8585828346253128384">"Λουλούδι λωτού"</item>
+    <item msgid="8788370542815300188">"Ανθρώπινος εγκέφαλος"</item>
+    <item msgid="7287354964767553293">"Ακουστικά"</item>
+    <item msgid="2530059623783800987">"Τηλεόραση"</item>
+    <item msgid="5307182323469376758">"Τρένο"</item>
+    <item msgid="4903790544026923026">"Αυτοκίνητο"</item>
+    <item msgid="5010405583912314582">"Πιρούνι και μαχαίρι"</item>
+    <item msgid="8939998598599064900">"Καλάθι αγορών"</item>
+    <item msgid="3379605903308731893">"Παιδί"</item>
+    <item msgid="7808668968550293112">"Πατούσα ζώου"</item>
+    <item msgid="1000692647524056504">"Σήμα με αστέρι"</item>
+    <item msgid="8270261073421676502">"Δύο άτομα"</item>
+    <item msgid="5767782819651505460">"Αστέρι"</item>
+    <item msgid="4368451291862729334">"Καρδιά"</item>
+    <item msgid="2613199102208419986">"Σπίτι"</item>
+    <item msgid="3022279986430275040">"Μισοφέγγαρο"</item>
+    <item msgid="5421089790869483206">"Ρολόι"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index be058e0..0b3c579 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Σε αναστολή"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Άγνωστη"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Προεπισκόπηση"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"Κωδικός QR"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Να γίνουν μικρότερα"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Να γίνουν μεγαλύτερα"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"Πάντα"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Ρυθμίσεις συσκευής ακοής"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Συντόμευση, συμβατότητα με βοηθήματα ακοής"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Προεπιλογή"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Ο ακοολόγος σας δεν έχει προγραμματίσει προεπιλογές"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Δεν ήταν δυνατή η ενημέρωση της προεπιλογής"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Έξοδος ήχου"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Σχετικά με την έξοδο ήχου"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Η δυνατότητα επιλογής γλώσσας για αυτή την εφαρμογή δεν είναι διαθέσιμη από τις Ρυθμίσεις."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Η γλώσσα μπορεί να διαφέρει από τις γλώσσες που είναι διαθέσιμες στην εφαρμογή. Ορισμένες εφαρμογές μπορεί να μην υποστηρίζουν αυτήν τη ρύθμιση."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Ορίστε τη γλώσσα για κάθε εφαρμογή."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Το σύστημα, οι εφαρμογές και οι ιστότοποι χρησιμοποιούν την πρώτη υποστηριζόμενη γλώσσα από τις προτιμώμενες γλώσσες σας."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Η συσκευή, οι εφαρμογές και οι ιστότοποί σας χρησιμοποιούν την πρώτη υποστηριζόμενη γλώσσα από τη λίστα προτιμώμενων γλωσσών σας.\n\nΠολλές εφαρμογές θα χρησιμοποιούν επίσης την περιοχή από την προτιμώμενη γλώσσα σας για να μορφοποιήσουν ημερομηνίες, αριθμούς και μονάδες. Για να αλλάξετε την περιοχή σας, προσθέστε μια γλώσσα και, στη συνέχεια, επιλέξτε την περιοχή που προτιμάτε."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Για να επιλέξετε μια γλώσσα για κάθε εφαρμογή, μεταβείτε στις ρυθμίσεις γλώσσας εφαρμογών."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Μάθετε περισσότερα σχετικά με τις γλώσσες εφαρμογών"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Αλλαγή γλώσσας συστήματος στα %s ;"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Απενεργοποίηση"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Ενεργή / # εφαρμογή έχει πρόσβαση στην τοποθεσία}other{Ενεργή / # εφαρμογές έχουν πρόσβαση στην τοποθεσία}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Φόρτωση…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Οι εφαρμογές με άδεια Συσκευές σε κοντινή απόσταση μπορούν να προσδιορίσουν τη σχετική θέση των συνδεδεμένων συσκευών."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Οι εφαρμογές που έχουν την άδεια Συσκευές σε κοντινή απόσταση μπορούν να προσδιορίσουν τη σχετική θέση των συνδεδεμένων συσκευών."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Η πρόσβαση στην τοποθεσία είναι απενεργοποιημένη για τις εφαρμογές και τις υπηρεσίες. Η τοποθεσία της συσκευής σας ενδέχεται ωστόσο να αποστέλλεται στους χειριστές των κέντρων εκτάκτων αναγκών, όταν καλείτε ή στέλνετε μήνυμα σε έναν αριθμό έκτακτης ανάγκης."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Μάθετε περισσότερα σχετικά με τις Ρυθμίσεις τοποθεσίας"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Για αλλαγή, μεταβείτε στις Ρυθμίσεις του ChromeOS &gt; Απόρρητο και ασφάλεια &gt; Στοιχεία ελέγχου απορρήτου &gt; Πρόσβαση στην τοποθεσία"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Προστέθηκε το πρόσωπο και το <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Προστέθηκαν πρόσωπο, δακτυλικό αποτύπωμα και το <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Προστέθηκαν πρόσωπο, δακτυλικά αποτυπώματα και το <xliff:g id="WATCH">%s</xliff:g>"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Ο Έλεγχος ταυτότητας είναι ενεργός και απαιτεί βιομετρικά στοιχεία"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Απομ. ξεκλ. Προγράμ. ελέγχου ταυτότητας"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Το ρολόι προστέθηκε"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Ρυθμίστε το ρολόι σας"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Μάθετε περισσότερα σχετικά με το Ξεκλείδωμα ρολογιού"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Προσθήκη ρολογιού"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Κατάργηση ρολογιού"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Ξεκλείδωμα με δακτυλικό αποτύπωμα και με το πρόσωπο"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Ξεκλείδωμα με πρόσωπο/δακτυλ. αποτύπωμα"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Ξεκλείδωμα με πρόσωπο και δακτυλικό αποτύπωμα για την εργασία"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Απαιτείται ρύθμιση"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Προστέθηκε πρόσωπο και δακτυλικά αποτυπώματα"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Ρύθμιση ιδιωτικού χώρου…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Δεν ήταν δυνατή η ρύθμιση ενός ιδιωτικού χώρου"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Επανάληψη"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Έξοδος"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Ο ιδιωτικός χώρος δεν είναι διαθέσιμος.\nΠροβολή πιθανών αιτιών"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Προβολή πιθανών αιτιών"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Επιλογή νέου κλειδώματος για τον ιδιωτικό χώρο;"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Μπορείτε να ορίσετε ένα νέο κλείδωμα μόνο για τον ιδιωτικό χώρο ή να χρησιμοποιήσετε το ίδιο κλείδωμα που χρησιμοποιείτε για το ξεκλείδωμα της συσκευής σας"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Χρήση κλειδώματος οθόνης"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Όταν είναι ενεργό το Bluetooth, η συσκευή σας μπορεί να επικοινωνεί με άλλες κοντινές συσκευές Bluetooth.\n\nΓια τη βελτίωση της εμπειρίας χρήσης της συσκευής, οι εφαρμογές και οι υπηρεσίες μπορούν ακόμα να πραγματοποιούν σάρωση για συσκευές σε κοντινή απόσταση ανά πάσα στιγμή, ακόμα και όταν το Bluetooth είναι απενεργοποιημένο. Αυτή η λειτουργία μπορεί να χρησιμοποιηθεί, για παράδειγμα, για τη βελτίωση λειτουργιών και υπηρεσιών που εκτελούνται βάσει τοποθεσίας. Μπορείτε να αλλάξετε αυτή την επιλογή στις ρυθμίσεις σάρωσης Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Όταν είναι ενεργοποιημένο το Bluetooth, η συσκευή σας μπορεί να επικοινωνεί με άλλες συσκευές Bluetooth σε κοντινή απόσταση. Λειτουργίες όπως το Quick Share και η Εύρεση συσκευής χρησιμοποιούν το Bluetooth.\n\nΟι εφαρμογές και οι υπηρεσίες μπορούν ακόμα να πραγματοποιούν σάρωση για συσκευές σε κοντινή απόσταση ανά πάσα στιγμή, ακόμα και όταν το Bluetooth είναι απενεργοποιημένο. Αυτό μπορεί να χρησιμοποιηθεί, για παράδειγμα, για τη βελτίωση λειτουργιών και υπηρεσιών που εκτελούνται βάσει τοποθεσίας. Μπορείτε να αλλάξετε αυτή την επιλογή στις ρυθμίσεις σάρωσης Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Αλλαγή"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Λεπτομέρειες συσκευής"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Ρυθμίσεις πληκτρολογίου"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Περισσότερες ρυθμίσεις"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Ενημερώσεις υλικολογισμικού, πληροφορίες και άλλα"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Συμβουλές και υποστήριξη"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Διεύθυνση Bluetooth συσκευής: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Διεύθυνση Bluetooth συσκευής:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Κατάργηση απομνημόνευσης συσκευής;"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Πειραματικό. Βελτιώνει την ποιότ. ήχου."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Κατάργηση απομνημόνευσης συσκευής"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Αποσύνδεση εφαρμογής"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Περισσότερες ρυθμίσεις"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Μέγιστος αριθμός συνδεδεμένων συσκευών ήχου Bluetooth"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Επιλέξτε τον μέγιστο αριθμό συνδεδεμένων συσκευών ήχου Bluetooth"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Αρχείο λεπτομ. καταγραφής εντοπ. σφαλμάτων προμηθευτή NFC"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Επανεκκίνηση συσκευής;"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Η καταγραφή των λεπτομερειών NFC προορίζεται μόνο για σκοπούς ανάπτυξης. Επιπλέον δεδομένα NFC περιλαμβάνονται στις αναφορές σφαλμάτων, οι οποίες ενδέχεται να περιέχουν ιδιωτικές πληροφορίες. Επανεκκινήστε τη συσκευή σας για να αλλάξετε αυτήν τη ρύθμιση."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Επανεκκίνηση"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Ενεργή"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Ανενεργή"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Εξωτερική οθόνη"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Χρήση εξωτερικής οθόνης"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Ανάλυση οθόνης"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Η εξωτερική οθόνη δεν είναι συνδεδεμένη"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Περιστροφή"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Τυπική"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Εάν αλλάξετε την περιστροφή ή την ανάλυση, ενδέχεται να σταματήσουν τυχόν εφαρμογές που εκτελούνται αυτή τη στιγμή"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Η συσκευή σας πρέπει να είναι συνδεδεμένη σε μια εξωτερική οθόνη προκειμένου να είναι δυνατός ο κατοπτρισμός της οθόνης σας"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Περισσότερες επιλογές"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Μετάδοση"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"κατοπτρισμός"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Ενεργοποίηση ασύρματης οθόνης"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Προσαρμοστικό"</string>
     <string name="brightness" msgid="6216871641021779698">"Επίπεδο φωτεινότητας"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Προσαρμοστική φωτεινότητα"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Σχετικά με την προσαρμοστική φωτεινότητα"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Η φωτεινότητα της οθόνης σας θα προσαρμοστεί αυτόματα στο περιβάλλον και τις δραστηριότητές σας. Μπορείτε να μετακινήσετε χειροκίνητα το ρυθμιστικό, για να ενημερωθεί η προσαρμοστική φωτεινότητα σχετικά με τις ρυθμίσεις σας."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Ενεργή"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Ανενεργή"</string>
@@ -1311,8 +1344,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="8850185380445309835">"Ενημέρωση προτιμώμενης SIM;"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"Η κάρτα <xliff:g id="NEW_SIM">%1$s</xliff:g> είναι η μόνη SIM στη συσκευή σας. Θέλετε να χρησιμοποιήσετε αυτήν τη SIM για τα δεδομένα κινητής τηλεφωνίας, τις κλήσεις και τα μηνύματα SMS;"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"Η SIM <xliff:g id="NEW_SIM">%1$s</xliff:g> είναι πλέον η κύρια SIM"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Βελτ. κάλυψ. δεδομ. κιν. τηλ;"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Να επιτρέπεται στη συσκευή σας να κάνει αυτόματη εναλλαγή στην εταιρεία κινητής τηλεφωνίας <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> για δεδομένα κινητής τηλεφωνίας όταν έχει καλύτερη διαθεσιμότητα."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Οι κλήσεις, τα μηνύματα και η επισκεψιμότητα δικτύου ενδέχεται να είναι ορατά στον οργανισμό σας."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Επιλογές"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Προσβασιμότητα"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Φυσικό πληκτρολόγιο"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Χρήση πληκτρολογίου οθόνης"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Να παραμένει στην οθόνη όταν είναι ενεργό το φυσικό πληκτρολόγιο"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Ελαστικά πλήκτρα"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Το πληκτρολόγιο αγνοεί τα γρήγορα, επαναλαμβανόμενα πατήματα του ίδιου πλήκτρου εντός <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Αργά πλήκτρα"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Προσαρμόζει τον χρόνο που απαιτείται για την ενεργοποίηση ενός πατήματος πλήκτρου στα <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Ασύγχρονα πλήκτρα"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Για τις συντομεύσεις, αντί να πατάτε παρατεταμένα όλα τα κουμπιά μαζί, φροντίστε να πατάτε ένα πλήκτρο κάθε φορά"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Πλήκτρα ποντικιού"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Χρησιμοποιήστε το πληκτρολόγιο για να χειριστείτε το ποντίκι."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Συντομεύσεις πληκτρολογίου"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Εμφάνιση λίστας συντομεύσεων"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Πληκτρολόγιο και εργαλεία προφίλ εργασίας"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Προσαρμόστε μεμονωμένες κινήσεις πλοήγησης επιφάνειας αφής"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Αντίστροφη κύλιση"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Με κύλιση προς τα κάτω το περιεχόμενο κινείται προς τα πάνω"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Πάτημα κάτω δεξιά"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Πατήστε κάτω δεξιά στην επιφάνεια αφής για περισ. επιλογές."</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Πατήστε κάτω δεξιά για δεξί κλικ"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Πατήστε κάτω δεξιά στην επιφάνεια αφής για άλλες επιλογές"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Ταχύτητα δείκτη"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Στιλ γεμίσματος δείκτη"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Αλλαγή στιλ γεμίσμ. δείκτη σε μαύρο"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Αλλαγή στιλ γεμίσ. δείκ. σε κίτρινο"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Αλλαγή στιλ γεμίσματ. δείκτη σε ροζ"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Αλλαγή στιλ γεμίσμ. δείκτη σε μπλε"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Στιλ πινελιάς δείκτη"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Λευκό"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Μαύρο"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Κανένα"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Μάθετε κινήσεις επιφάνειας αφής"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"επιφάνειας αφής, επιφάνεια, ποντίκι, δείκτης, κύλιση, σάρωση, δεξί κλικ, κλικ, δείκτης"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"δεξί κλικ, πάτημα"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Επαναφορά"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Επιλέξτε πλήκτρο τροποποίησης"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Επιλέξτε ένα νέο κλειδί για <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Διάταξη <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Προεπιλογή"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Αυτόματο: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Επιλέχθηκε από τον χρήστη: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Ομιλία"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Ταχύτητα δείκτη"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Μέγεθος δείκτη"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Μείωση μεγέθους δείκτη"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Αύξηση μεγέθους δείκτη"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Χειριστήριο παιχνιδιού"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Ανακατεύθυνση δόνησης"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Αποστολή δόνησης στο χειριστήριο του παιχνιδιού κατά τη σύνδεση."</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Συνέχεια ούτως ή άλλως"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Ακύρωση"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Ρυθμίσεις μεγέθυνσης"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Μετακίνηση με ένα δάχτυλο"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Μετακινήστε τη Μεγέθυνση με το δάχτυλό σας"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Σύρετε το δάχτυλό σας για μετακίνηση στην οθόνη"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Μετακινήστε την περιοχή μεγιστοπ. σύροντας με ένα δάχτυλο."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Μετακινήστε την περιοχή μεγιστοπ. σύροντας με δύο δάχτυλα."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Μη διαθέσιμο όταν μεγιστοποιείται μόνο ένα τμήμα της οθόνης"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Πατήστε ένα κουμπί για εστίαση"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Μεγεθύνετε γρήγορα την οθόνη προκειμένου το περιεχόμενο να εμφανίζεται μεγαλύτερο"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Για μεγέθυνση:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Χρησιμοποιήστε τη συντόμευση για να ξεκινήσετε τη μεγιστοποίηση&lt;br/&gt; {1,number,integer}. Πατήστε την οθόνη&lt;br/&gt; {2,number,integer}. Σύρετε 2 δάχτυλα για να μετακινηθείτε στην οθόνη&lt;br/&gt; {3,number,integer}. Πλησιάστε δύο δάχτυλα μεταξύ τους για προσαρμογή της εστίασης&lt;br/&gt; {4,number,integer}. Χρησιμοποιήστε τη συντόμευση για να διακόψετε τη μεγιστοποίηση&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Για προσωρινή μεγέθυνση:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Βεβαιωθείτε ότι ο τύπος μεγέθυνσης έχει οριστεί σε πλήρη οθόνη&lt;br/&gt; {1,number,integer}. Χρησιμοποιήστε τη συντόμευση για να ξεκινήσετε τη μεγιστοποίηση&lt;br/&gt; {2,number,integer}. Αγγίξτε παρατεταμένα οπουδήποτε στην οθόνη&lt;br/&gt; {3,number,integer}. Σύρετε το δάχτυλό σας για να μετακινηθείτε στην οθόνη&lt;br/&gt; {4,number,integer}. Σηκώστε το δάχτυλό σας για διακοπή της μεγιστοποίησης"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Για μεγέθυνση:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Χρησιμοποιήστε τη συντόμευση για να ξεκινήσετε τη μεγιστοποίηση&lt;br/&gt; {1,number,integer}. Πατήστε την οθόνη&lt;br/&gt; {2,number,integer}. Σύρετε 2 δάχτυλα για να μετακινηθείτε στην οθόνη&lt;br/&gt; {3,number,integer}. Πλησιάστε 2 δάχτυλα μεταξύ τους για προσαρμογή της εστίασης&lt;br/&gt; {4,number,integer}. Χρησιμοποιήστε τη συντόμευση για να σταματήσετε τη μεγιστοποίηση&lt;br/&gt;&lt;br/&gt; Μπορείτε επίσης να κάνετε προσωρινά μεγέθυνση και πολλά άλλα."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Για μεγέθυνση:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Χρησιμοποιήστε τη συντόμευση για να ξεκινήσετε τη μεγιστοποίηση&lt;br/&gt; {1,number,integer}. Πατήστε την οθόνη&lt;br/&gt; {2,number,integer}. Σύρετε 1 ή 2 δάχτυλα για να μετακινηθείτε στην οθόνη&lt;br/&gt; {3,number,integer}. Πλησιάστε 2 δάχτυλα μεταξύ τους για προσαρμογή της εστίασης&lt;br/&gt; {4,number,integer}. Χρησιμοποιήστε τη συντόμευση για να σταματήσετε τη μεγιστοποίηση&lt;br/&gt;&lt;br/&gt; Μπορείτε επίσης να κάνετε προσωρινά μεγέθυνση και πολλά άλλα."</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_pager" msgid="8461939455728454061">"Σελίδα <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> από <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Συντόμευση κουμπιού προσβασιμότητας"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Πατήστε το κινούμενο κουμπί"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Κίνηση προσβασιμότητας"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Πατήστε το κουμπί προσβασιμότητας <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> στο κάτω μέρος της οθόνης. Για εναλλαγή μεταξύ λειτουργιών, αγγίξτε παρατεταμένα το κουμπί προσβασιμότητας."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Σύρετε προς τα επάνω από το κάτω μέρος της οθόνης χρησιμοποιώντας δύο δάχτυλα.\n\nΓια εναλλαγή μεταξύ λειτουργιών, σύρετε προς τα επάνω με δύο δάχτυλα και κρατήστε τα δάχτυλά σας στην οθόνη."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Σύρετε προς τα επάνω από το κάτω μέρος της οθόνης χρησιμοποιώντας τρία δάχτυλα.\n\nΓια εναλλαγή μεταξύ λειτουργιών σύρετε προς τα επάνω με τρία δάχτυλα και κρατήστε τα δάχτυλά σας στην οθόνη."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Σύρετε προς τα επάνω από το κάτω μέρος της οθόνης. Για εναλλαγή μεταξύ λειτουργιών, σύρετε προς τα επάνω και κρατήστε το δάχτυλό σας στην οθόνη.}other{Σύρετε προς τα επάνω με # δάχτυλα από το κάτω μέρος της οθόνης. Για εναλλαγή μεταξύ λειτουργιών, σύρετε προς τα επάνω με # δάχτυλα και κρατήστε τα δάχτυλά σας στην οθόνη.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Περισσότερες επιλογές"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Μάθετε περισσότερα για την υπηρεσία <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Κουμπιά έντασης ήχου"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"Κουμπιά έντασης ήχου"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Πατήστε παρατεταμένα και τα δύο πλήκτρα έντασης ήχου."</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Διπλό πάτημα οθόνης με δύο δάχτυλα"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Διπλό πάτημα με %1$d δάχτυλα"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Πατήστε γρήγορα την οθόνη δύο φορές με %1$d δάχτυλα"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Τριπλό πάτημα"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Πατήστε γρήγορα την οθόνη %1$d φορές. Αυτό μπορεί να επιβραδύνει τη συσκευή σας."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Διπλό πάτημα με %1$d δάχτυλα"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Πατήστε γρήγορα την οθόνη {0,number,integer} φορές με δύο δάχτυλα"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Τριπλό πάτημα οθόνης"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"τριπλό πάτημα"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Πατήστε γρήγορα στην οθόνη {0,number,integer} φορές. Αυτή η συντόμευση μπορεί να μειώσει την ταχύτητα της συσκευής σας."</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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Ρυθμίσεις συντόμευσης"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Συντόμευση από οθόνη κλειδώματος"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Να επιτρέπεται η ενεργοποίηση της συντόμευσης λειτουργιών από την οθόνη κλειδώματος. Πατήστε παρατεταμένα ταυτόχρονα τα πλήκτρα έντασης ήχου για μερικά δευτερόλεπτα."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Κουμπί προσβασιμότητας"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Κουμπί και κίνηση προσβασιμότητας"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Αυτή η υπηρεσία δεν λειτουργεί σωστά."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Συντομεύσεις προσβασιμότητας"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Εμφάνιση στις Γρήγορες ρυθμίσεις"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Κόκκινο-πράσινο"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Κόκκινο-πράσινο"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Κόκκινο-πράσινο, ασθενές πράσινο"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Κόκκινο-πράσινο, ασθενές κόκκινο"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Μπλε-κίτρινο"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Κλίμακα του γκρι"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Ένταση"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Αδυναμία αντίληψης πράσινου, δευτερανωμαλία"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Αδυναμία αντίληψης κόκκινου, πρωτανωμαλία"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Δεν είναι διαθέσιμες για τη λειτουργία σε κλίμακα του γκρι ή όταν η διόρθωση χρωμάτων είναι απενεργοποιημένη"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Επιπλέον μείωση φωτ."</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Επιπλέον μείωση φωτεινότητας της οθόνης"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Κυανό"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Κίτρινο"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Πορφυρό"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Να επιτρέπεται στην υπηρεσία <xliff:g id="SERVICE">%1$s</xliff:g> να έχει τον πλήρη έλεγχο της συσκευής σας;"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"Η υπηρεσία <xliff:g id="SERVICE">%1$s</xliff:g> απαιτεί τα εξής:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Επειδή μια εφαρμογή αποκρύπτει ένα αίτημα άδειας, δεν είναι δυνατή η επαλήθευση της απάντησής σας από τις Ρυθμίσεις."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"Η υπηρεσία <xliff:g id="SERVICE">%1$s</xliff:g> ζητάει πλήρη έλεγχο αυτής της συσκευής. Η υπηρεσία μπορεί να διαβάσει την οθόνη και να δράσει εκ μέρους των χρηστών με προβλήματα προσβασιμότητας. Αυτό το επίπεδο ελέγχου δεν είναι κατάλληλο για τις περισσότερες εφαρμογές."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Ο πλήρης έλεγχος είναι κατάλληλος για εφαρμογές που εξυπηρετούν τις ανάγκες προσβασιμότητάς σας, αλλά όχι για όλες τις εφαρμογές."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Προβολή και έλεγχος οθόνης"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Μπορεί να διαβάσει όλα τα περιεχόμενα της οθόνης σας και να εμφανίσει περιεχόμενο πάνω από άλλες εφαρμογές."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Προβολή και εκτέλεση ενεργειών"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Μπορεί να παρακολουθήσει τις αλληλεπιδράσεις σας με μια εφαρμογή ή έναν αισθητήρα εξοπλισμού και να αλληλεπιδράσει με εφαρμογές εκ μέρους σας."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Ναι"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Όχι"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Απενεργοπ."</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Ενεργή / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> και <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Μπορείτε επίσης να ενεργοποιήσετε τον Χωρικό ήχο για τις συσκευές Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Ρυθμίσεις συνδεδεμένων συσκευών"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Χωρικός ήχος"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Ανενεργό"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Ανενεργό"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Ανενεργό"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Κανένα}=1{Ορίστηκε ένα πρόγραμμα.}other{Ορίστηκαν # προγράμματα.}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Μην ενοχλείτε"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Λειτουργίες προτεραιότητας"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Προσθήκη λειτουργίας"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Λειτουργίες"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Ελαχιστοποιήστε τους αντιπερισπασμούς και συγκεντρωθείτε με λειτουργίες ύπνου, εργασίας, οδήγησης και άλλα."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Δημιουργήστε μια δική σας λειτουργία"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Λήψη ειδοποιήσεων μόνο από σημαντικά άτομα και εφαρμογές"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Ορίστε ένα πρόγραμμα"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Το πρόγραμμα βασίζεται σε"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Ημέρα και ώρα"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"9 π.μ.-5 μ.μ. τις εργάσιμες ημέρες\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Συμβάντα ημερολογίου"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{Η λειτουργία {mode_1} είναι ενεργή}=2{Οι λειτουργίες {mode_1} και {mode_2} είναι ενεργές}=3{Οι λειτουργίες {mode_1}, {mode_2} και {mode_3} είναι ενεργές}other{Οι λειτουργίες {mode_1}, {mode_2} και # ακόμη είναι ενεργές}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 λειτουργία μπορεί να ενεργοποιηθεί αυτόματα}other{# λειτουργίες μπορούν να ενεργοποιηθούν αυτόματα}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ΕΝΕΡΓΗ"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Δεν έχει οριστεί"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Απενεργοποιημένη"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Δημιουργία λειτουργίας"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Προσαρμοσμένο"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Ενεργοποίηση τώρα"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Απενεργοποίηση"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Η λειτουργία δεν βρέθηκε"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Περιορισμός διακοπών"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Αποκλείστε διακοπές και περισπασμούς"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Ρύθμιση <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Ενεργοποίηση λειτουργίας \"Μην ενοχλείτε\""</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Οι συναγερμοί και οι ήχοι των μέσων μπορούν να διακόπτουν."</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Προγράμματα"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Διαγραφή προγραμμάτων"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Διαγραφή"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Μετονομασία"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Διαγραφή"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Διαγραφή λειτουργίας <xliff:g id="MODE">%1$s</xliff:g>;"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Επεξεργασία"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Προγράμματα"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Πρόγραμμα"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Αυτόματη ενεργοποίηση"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Προσθήκη ημερολογίου"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Χρήση του ημερολογίου σας"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Πρόγραμμα"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Ορίστε ένα πρόγραμμα"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Πότε ενεργοποιείται αυτόματα"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Χρονοδιάγραμμα συμβάντος"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Ενεργοποίηση σε συμβάντα για"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"\'Οπου η απάντ. πρόσκλ. είναι"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Χρονοδιάγραμμα"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Πρόγραμμα"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ώ. <xliff:g id="MINUTES">%2$d</xliff:g> λ."</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Πρόγραμμα"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Να επιτρέπονται οι διακοπές που συνοδεύονται από ήχο"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Ειδοποιήσεις που μπορούν να προβληθούν"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Επιπλέον ενέργειες"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Φίλτρα ειδοποιήσεων"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Περισσότερες ρυθμίσεις"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Ανενεργή}=1{Ανενεργή / 1 λειτουργία μπορεί να ενεργοποιηθεί αυτόματα}other{Ανενεργή / # λειτουργίες μπορούν να ενεργοποιηθούν αυτόματα}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Ρυθμίσεις προβολής"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Επιλογές προβολής"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Κλίμακα του γκρι"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ενεργοποίηση σκούρου θέματος"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Κάντε εναλλαγή του λειτουργικού συστήματος και των εφαρμογών για να προτιμάται φωτεινό κείμενο σε σκοτεινό φόντο, κάτι που μπορεί να είναι πιο ξεκούραστο για τα μάτια και να αποφέρει σημαντική εξοικονόμηση μπαταρίας σε ορισμένες συσκευές"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Καμία αλλαγή στην προβολή}=1{{effect_1}}=2{{effect_1} και {effect_2}}=3{{effect_1}, {effect_2} και {effect_3}}other{{effect_1}, {effect_2} και # ακόμη}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Να επιτρέπονται όλες οι ειδοποιήσεις"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Άτομα, εφαρμογές και ήχοι μπορούν να διακόπτουν"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Επιλογές προβολής για φιλτραρισμένες ειδοποιήσεις"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Όταν είναι ενεργή η λειτουργία Μην ενοχλείτε"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Ειδοποιήσεις χωρίς ήχο"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"άνοιγμα ειδοποίησης"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Να επιτρέπεται η αναβολή των ειδοποιήσεων"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Κουκκίδα ειδοποίησης στο εικονίδιο εφαρμογής"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Πακέτα ειδοποιήσεων"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Συννεφάκια"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Συννεφάκια"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Εμφάνιση αυτής της συνομιλίας σε συννεφάκι"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Μπορεί να απαντήσει σε μηνύματα και να εκτελέσει ενέργειες σε κουμπιά ειδοποιήσεων, όπως να θέσει σε αναβολή ή να παραβλέψει ειδοποιήσεις και να απαντήσει σε κλήσεις."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Αλλαγή ρυθμίσεων"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Μπορεί να ενεργοποιήσει ή να απενεργοποιήσει τη λειτουργία Μην ενοχλείτε και να αλλάξει σχετικές ρυθμίσεις."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Μπορεί να διαχειρίζεται και να ενεργοποιεί λειτουργίες, καθώς και να αλλάζει σχετικές ρυθμίσεις."</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_modes_warning_summary" msgid="7528432011433844158">"Εάν απενεργοποιήσετε την πρόσβαση στις ειδοποιήσεις για την εφαρμογή <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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Σε πραγματικό χρόνο"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Αυτή η εφαρμογή δεν υποστηρίζει βελτιωμένες ρυθμίσεις"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Περισσότερες ρυθμίσεις"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Περισσότερες ρυθμίσεις είναι διαθέσιμες μέσα σε αυτή την εφαρμογή"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Προσαρμοστικές ειδοποιήσεις"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Χρήση προσαρμοστικών ειδοποιήσεων"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Όταν λαμβάνετε πολλές ειδοποιήσεις μέσα σε σύντομο χρονικό διάστημα, το τηλέφωνό σας θα μειώσει την ένταση του ήχου και θα ελαχιστοποιήσει τα αναδυόμενα παράθυρα στην οθόνη σας για έως και δύο λεπτά. Οι κλήσεις, τα ξυπνητήρια και οι συζητήσεις προτεραιότητας θα εξακολουθούν να προκαλούν δόνηση, να παράγουν ήχο ή να εμφανίζονται στην οθόνη και θα μπορείτε να βρείτε όλες τις ειδοποιήσεις με ευκολία εάν σύρετε προς τα κάτω από το επάνω μέρος της οθόνης."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Περίοδος cooldown ειδοποιήσεων"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Χρήση περιόδου cooldown ειδοποιήσεων"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Όταν λαμβάνετε πολλές ειδοποιήσεις μέσα σε σύντομο χρονικό διάστημα, η συσκευή σας μειώνει την ένταση του ήχου και ελαχιστοποιεί τις ειδοποιήσεις για έως και 2 λεπτά. Οι κλήσεις, τα ξυπνητήρια και οι συζητήσεις προτεραιότητας δεν επηρεάζονται. \n\nΓια να βρείτε τις ειδοποιήσεις που λαμβάνετε κατά τη διάρκεια της περιόδου cooldown, σύρετε προς τα κάτω από το πάνω μέρος της οθόνης."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Εφαρμογή σε προφίλ εργασίας"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Εφαρμογή σε εφαρμογές με προφίλ εργασίας"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Βοηθητικές υπηρεσίες Εικονικής Πραγματικότητας"</string>
@@ -3650,6 +3717,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Πρόσβαση στις λειτουργίες"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Να επιτρέπεται η πρόσβαση στις λειτουργίες"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Δεν ζητήθηκε πρόσβαση στις λειτουργίες από εγκατεστημένες εφαρμογές"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Δεν έχετε επιτρέψει τις ειδοποιήσεις από αυτή την εφαρμογή"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Μετά από αίτημά σας, το Android αποκλείει την εμφάνιση ειδοποιήσεων αυτής της κατηγορίας σε αυτή τη συσκευή"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Μετά από αίτημά σας, το Android αποκλείει την εμφάνιση ειδοποιήσεων αυτής της ομάδας σε αυτή τη συσκευή"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Κατηγορίες"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Άλλα"</string>
     <string name="no_channels" msgid="4716199078612071915">"Αυτή η εφαρμογή δεν έχει δημοσιεύσει ειδοποιήσεις"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Εμφάνιση κατηγοριών που δεν χρησιμοποιούνται"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Επιπλέον ρυθμίσεις στην εφαρμογή"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Εμφάνιση μη χρησιμοπ. κατηγοριών"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Απόκρυψη μη χρησιμοπ. κατηγοριών"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Συζητήσεις"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Όλες οι συζητήσεις"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"όλες οι συζητήσεις"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Συζητήσεις προτεραιότητας"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"συζητήσεις προτεραιότητας"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Καμία"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Εφαρμογές που μπορούν να διακόπτουν"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Επιλεγμένες εφαρμογές"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Καμία"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Όλες"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Καμία εφαρμογή δεν μπορεί να διακόπτει}=1{Η εφαρμογη {app_1} μπορεί να διακόπτει}=2{Οι εφαρμογές {app_1} και {app_2} μπορούν να διακόπτουν}=3{Οι εφαρμογές {app_1}, {app_2} και {app_3} μπορούν να διακόπτουν}other{Οι εφαρμογές {app_1}, {app_2} και # ακόμα εφαρμογή μπορούν να διακόπτουν}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (Εργασία)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Υπολογισμός…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Να επιτρέπεται στις εφαρμογές η παράκαμψη"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Εφαρμογές που μπορούν να διακόπτουν"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Επιλέξτε περισσότερες εφαρμογές"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Τίποτα δεν μπορεί να διακόπτει."</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Κανείς δεν μπορεί να διακόπτει."</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Ορισμένα άτομα μπορούν να διακόπτουν."</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Οι καλούντες κατ\' επανάληψη μπορούν να διακόψουν"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Όλα τα άτομα μπορούν να διακόπτουν."</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Καλούντες κατ\' επανάληψη"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Να επιτρέπονται οι καλούντες κατ\' επανάληψη"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Αλλαγή σε λειτουργία Μόνο ξυπνητήρια για μία ώρα, έως {time}}other{Αλλαγή σε λειτουργία Μόνο ξυπνητήρια για # ώρες, έως {time}}}"</string>
     <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_action_change_name" msgid="766639614789907016">"Μετονομασία"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Αλλαγή εικονιδίου"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Αλλαγή εικονιδίου"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Λειτουργία επεξεργασίας"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Δημιουρ. λειτουργίας"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Προσαρμοσμένη λειτουργία"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Όνομα λειτουργίας"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Συμβάντα ημερολογίου"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Ρουτίνα ωρών ύπνου"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Κατά την οδήγηση"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Ρυθμίσεις εφαρμογής"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Πληροφορίες και ρυθμίσεις στην εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Διαχείριση από <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Απενεργοποίηση <xliff:g id="MODE_NAME">%1$s</xliff:g>;"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Αυτή η λειτουργία δεν θα ενεργοποιείται ποτέ, όταν είναι απενεργοποιημένη"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Απενεργοποίηση"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Ενεργοποίηση <xliff:g id="MODE_NAME">%1$s</xliff:g>;"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Αυτή η λειτουργία μπορεί να ενεργοποιηθεί αυτόματα με βάση τις ρυθμίσεις της"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Ενεργοποίηση"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Ορίστε μια λειτουργία που ακολουθεί ένα τυπικό χρονοδιάγραμμα"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Ορίστε μια λειτουργία για συγχρονισμό με συμβάντα ημερολογίου και απαντήσεις σε προσκλήσεις"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Σχεδιάστε μια χαλαρωτική ρουτίνα ύπνου. Ορίστε ξυπνητήρια, χαμηλώστε τη φωτεινότητα της οθόνης και αποκλείστε τις ειδοποιήσεις."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Δώστε προτεραιότητα στην ασφάλεια στον δρόμο για να οδηγείτε με συγκέντρωση και χωρίς περισπασμούς"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Αποκλείστε τους περισπασμούς ή τις διακοπές από τη συσκευή σας για να συγκεντρωθείτε"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Εξαλείψτε όλους τους περισπασμούς για ένα ήσυχο περιβάλλον"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Εξατομικεύστε τις εμπειρίες συσκευών και τις ρυθμίσεις για διαφορετικούς χρήστες"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Ελαχιστοποιήστε τις διακοπές επιτρέποντας ειδοποιήσεις μόνο από σημαντικά άτομα και εφαρμογές"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Ορίστε μια λειτουργία που ακολουθεί ένα τυπικό χρονοδιάγραμμα"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Διατηρήστε τη συσκευή σας συγχρονισμένη με τα συμβάντα της ημέρας"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Νιώστε ξύπνιοι 100%"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Δώστε προτεραιότητα στην ασφάλεια στον δρόμο"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Συγκεντρωθείτε για να μπείτε στο κλίμα"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Για τις στιγμές που η ευγένεια μετράει"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Καθοδηγούμενη χρήση για να γίνονται όλα όπως πρέπει"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Ελέγξτε που εστιάζετε την προσοχή σας"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Ειδοποίηση"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Κλείσιμο"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Αποστολή σχολίων για τη συσκευή"</string>
@@ -4006,6 +4110,11 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Να επιτρέπεται η πρόσβαση στις λειτουργίες για την εφαρμογή <xliff:g id="APP">%1$s</xliff:g>;"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Η εφαρμογή θα είναι σε θέση να ενεργοποιεί/απενεργοποιεί τη λειτουργία Μην ενοχλείτε, να διαχειρίζεται και να ενεργοποιεί λειτουργίες και να αλλάζει σχετικές ρυθμίσεις."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Όλες οι λειτουργίες που δημιουργήθηκαν από αυτή την εφαρμογή θα καταργηθούν."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Να μη γίνει βελτιστοποίηση"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Βελτιστοποίηση"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Η μπαταρία σας μπορεί να εξαντλείται πιο γρήγορα. Θα επιτρέπεται πλέον η χρήση μπαταρίας στο παρασκήνιο από την εφαρμογή."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Θήκη"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Μπαταρία"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Πλαίσιο ρυθμίσεων"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"Αναγκαστική λειτουργία επιτραπέζιου υπολογιστή"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Αναγκαστική πειραματική λειτουργία επιτραπέζιου υπολογιστή σε δευτερεύουσες οθόνες"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"Ενεργοποίηση παραθύρων ελεύθερης μορφής"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Ενεργοπ. παραθ. ελεύθερης μορφής στη δευτερ. οθόνη"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Ενεργ. εφαρμ. χωρίς δυνατ. αλλαγής μεγέθ. σε πολλαπλά παραθ."</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Επιτρέπει εφαρμογές χωρίς δυνατότητα αλλαγής μεγέθους σε λειτουργία πολλαπλών παραθύρων"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Παράκαμψη αναγκ. χρήσης σκούρου θέματος"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"δεδομένα κινητής τηλεφωνίας"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Για βελτίωση της εμπειρίας στη συσκευή, οι εφαρμογές και οι υπηρεσίες μπορούν ακόμα να εκτελούν σάρωση για δίκτυα Wi‑Fi ανά πάσα στιγμή, ακόμα και όταν το Wi‑Fi είναι απενεργοποιημένο. Η σάρωση μπορεί να χρησιμοποιηθεί, για παράδειγμα, για τη βελτίωση λειτουργιών και υπηρεσιών που εκτελούνται βάσει τοποθεσίας. Μπορείτε να αλλάξετε αυτή τη ρύθμιση στις ρυθμίσεις της Σάρωσης Wi‑Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Αλλαγή"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Συνδέθηκε"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Προσωρινή σύνδεση"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Προσωρινή χρήση <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Χρήση καρφιτσώματος εφαρμογής"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Χρήση επιλογών για προγραμματιστές"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Χρήση υπηρεσίας εκτύπωσης"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Να επιτρέπονται πολλαπλοί χρήστες"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Να επιτρέπεται η εναλλαγή χρήστη"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"επιτρέπεται, πολλαπλοί, χρήστες, άδεια, πολλοί"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"πολλά, χρήστες, προφίλ, άτομα, λογαριασμοί, αλλαγή, πολλοί"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Χρήση ασύρματου εντοπισμού σφαλμάτων"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"Η συσκευή <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> θέλει να συνδεθεί σε αυτό το τηλέφωνο.\n\nΔεν έχετε συνδεθεί στο παρελθόν στη συσκευή <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Να μην γίνει σύνδεση"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Σύνδεση"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Ρυθμίσεις TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Ενεργό"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Ανενεργό"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Επαναφορά στις προεπιλεγμένες ρυθμίσεις"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Έγινε επαναφορά στις προεπιλ. ρυθμίσεις."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Μέγιστη ισορροπία πλήρους φόρτισης"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Υπόλοιπο"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Όρια κατανάλωσης"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Όριο αρχικής κατανάλωσης"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Όριο ελάχιστης κατανάλωσης"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Όριο μέγιστης κατανάλωσης"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Μεταβλητές"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Ενέργειες (Κόστος παραγωγής)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Ενέργειες (Βασική τιμή)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Επιβραβεύσεις ανά μεμονωμένο συμβάν"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Επιβραβεύσεις/δευτ. διάρκειας συμβάντος"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Μέγιστος αριθμός επιβραβεύσεων ανά ημέρα"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Εγκατάσταση εφαρμογής"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Κορυφαία δραστηριότητα"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Η ειδοποίηση προβλήθηκε"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Η ειδοποίηση προβλήθηκε εντός 15 λεπτών"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Αλληλεπίδραση ειδοποίησης"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Αλληλεπίδραση με γραφικό στοιχείο"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Άλλη αλληλεπίδραση χρήστη"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Έναρξη εργασίας ύψιστης προτεραιότητας"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Εκτέλεση εργασίας ύψιστης προτεραιότητας"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Έναρξη εργασίας υψηλής προτεραιότητας"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Εκτέλεση εργασίας υψηλής προτεραιότητας"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Έναρξη εργασίας προεπιλεγμένης προτερ."</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Εκτέλεση εργασίας προεπιλεγμένης προτερ."</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Έναρξη εργασίας χαμηλής προτεραιότητας"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Εκτέλεση εργασίας χαμηλής προτεραιότητας"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Έναρξη εργασίας χαμηλότερης προτεραιότ."</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Εκτέλεση εργασίας χαμηλότ. προτεραιότ."</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Ποινή χρονικού ορίου εργασίας"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Ελάχιστο υπόλοιπο πλήρους φόρτισης (εξαιρούμενη)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Ελάχιστο υπόλοιπο πλήρους φόρτισης (headless εφαρμογή συστήματος)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Ελάχιστο υπόλοιπο πλήρους φόρτισης (εναπομείνασες εφαρμογές)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Προσθήκη ελάχιστου υπόλοιπου πλήρους φόρτισης (προγράμματα ενημέρωσης εφαρμογών)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Φόρτιση"</item>
-    <item msgid="658627268149681677">"Υπνάκος"</item>
-    <item msgid="1599558140284643834">"Λειτουργία εξοικονόμησης ενέργειας"</item>
-    <item msgid="588427840913221601">"Κατάσταση επεξεργασίας"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Επιβεβαίωση"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Προεπισκόπηση"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Επιλογή προφύλαξης οθόνης"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Εμφάνιση πρόσθετων πληροφοριών"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Επιλέξτε τι θα εμφανίζεται στην οθόνη σας όταν το tablet είναι στη βάση σύνδεσης. Η συσκευή σας μπορεί να καταναλώνει περισσότερη ενέργεια όταν χρησιμοποιείται μια προφύλαξη οθόνης."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Προσαρμογή"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Προσαρμογή <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Απαιτείται επανεκκίνηση για την ενεργοποίηση της υποστήριξης ελεύθερης μορφής."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Απαιτείται επανεκκίνηση για την επιβολή χρήσης της λειτουργίας υπολογιστή σε δευτερεύουσες οθόνες."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Απαιτείται επανεκκίνηση για την ενεργοποίηση της υποστήριξης παραθύρων ελεύθερης μορφής."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Απαιτείται επανεκκίνηση για την ενημέρωση της διαθεσιμότητας των παραθύρων ελεύθερης μορφής."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Απαιτείται επανεκκίνηση για την ενεργοποίηση των παραθύρων ελεύθερης μορφής στη δευτερεύουσα οθόνη."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Επανεκκίνηση τώρα"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Επανεκκίνηση αργότερα"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Χωρικός ήχος"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Μπεζ ροζ"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Ματζέντα"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Βιολετί"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Τέλος"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Αποθήκευση"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Ακύρωση"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Προεπιλογή"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Μέτρια"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Ενεργή"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Ανενεργή"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Ενεργή"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Ήχος %1$d%% αριστερά, %2$d%% δεξιά"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Ήχος %1$d%% δεξιά, %2$d%% αριστερά"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Το όνομα της συσκευής σας είναι ορατό στις εφαρμογές που εγκαθιστάτε. Ενδέχεται επίσης να είναι ορατό και σε άλλα άτομα, όταν συνδέεστε σε συσκευές Bluetooth, συνδέεστε σε ένα δίκτυο Wi-Fi ή ρυθμίζετε ένα σημείο πρόσβασης Wi-Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Γραμματικό γένος"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Επιλογή γραμματικού γένους"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Η κοινή χρήση ήχου διακόπηκε"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Σύνδεση συμβατής συσκευής"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Για να ξεκινήσετε την κοινή χρήση ήχου, συνδέστε πρώτα ακουστικά LE Audio στο τηλέφωνό σας"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Εναλλαγή σε <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Σύνδεση σε ροή LE Audio"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Ροές ήχου σε κοντινή απόσταση"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Ροές ήχου"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Ακρόαση ροής"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Σαρώστε τον κωδικό QR μιας ροής ήχου για να ακούσετε με τη συσκευή <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Δεν είναι δυνατή η επεξεργασία του κωδικού πρόσβασης κατά την κοινή χρήση. Για να αλλάξετε τον κωδικό πρόσβασης, αρχικά, απενεργοποιήστε την κοινή χρήση ήχου."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Σάρωση κωδικών QR"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Χρειάζεστε βοήθεια;"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Ρυθμίσεις αναζήτησης"</string>
 </resources>
diff --git a/res/values-en-rAU/arrays.xml b/res/values-en-rAU/arrays.xml
index 53f9b0a..53465e7 100644
--- a/res/values-en-rAU/arrays.xml
+++ b/res/values-en-rAU/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Bedtime"</item>
-    <item msgid="4152450357280759894">"Driving"</item>
-    <item msgid="7096549258219399423">"Immersive"</item>
-    <item msgid="2760716776980432977">"Managed"</item>
-    <item msgid="601734478369121764">"Star"</item>
-    <item msgid="6243809315432780521">"Calendar"</item>
-    <item msgid="4913577903148415331">"Time"</item>
-    <item msgid="3653377604690057780">"Theatre"</item>
-    <item msgid="3843711267408385410">"Flower"</item>
+    <item msgid="1216815120972438676">"Briefcase"</item>
+    <item msgid="184985872234062767">"Classical building"</item>
+    <item msgid="9189550412466785530">"Flats"</item>
+    <item msgid="2142527562511049422">"Speech bubble"</item>
+    <item msgid="2548100558260478605">"Group of people"</item>
+    <item msgid="2270003903304578284">"Light bulb"</item>
+    <item msgid="4793496619091161864">"Calendar"</item>
+    <item msgid="5673625795644364100">"Do Not Disturb"</item>
+    <item msgid="1423820834865831361">"Person running"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Gym dumbbell"</item>
+    <item msgid="2730180105015616518">"Swimming"</item>
+    <item msgid="2666922823253345958">"Person hiking"</item>
+    <item msgid="8234880356472211396">"Person throwing a ball"</item>
+    <item msgid="4642980625253001443">"Person kicking"</item>
+    <item msgid="4324795269518833500">"Game controller"</item>
+    <item msgid="7789966425125441125">"Artist colour palette"</item>
+    <item msgid="663512680597461570">"Snowflake"</item>
+    <item msgid="7952183800501346803">"Beach umbrella"</item>
+    <item msgid="799139025758265891">"Workshop tools"</item>
+    <item msgid="1330084588359129896">"Tent"</item>
+    <item msgid="3861584909935022342">"Film reel"</item>
+    <item msgid="5827426100157335512">"Book"</item>
+    <item msgid="8585828346253128384">"Lotus flower"</item>
+    <item msgid="8788370542815300188">"Person\'s mind"</item>
+    <item msgid="7287354964767553293">"Headphones"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Train"</item>
+    <item msgid="4903790544026923026">"Car"</item>
+    <item msgid="5010405583912314582">"Fork and knife"</item>
+    <item msgid="8939998598599064900">"Shopping basket"</item>
+    <item msgid="3379605903308731893">"Child"</item>
+    <item msgid="7808668968550293112">"Animal paw"</item>
+    <item msgid="1000692647524056504">"Star badge"</item>
+    <item msgid="8270261073421676502">"Two people"</item>
+    <item msgid="5767782819651505460">"Star"</item>
+    <item msgid="4368451291862729334">"Heart"</item>
+    <item msgid="2613199102208419986">"House"</item>
+    <item msgid="3022279986430275040">"Half-moon"</item>
+    <item msgid="5421089790869483206">"Clock"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index bf3088d..4ad34fd 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspended"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"unknown"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Preview"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR code"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Always"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Hearing device settings"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Shortcut, hearing aid compatibility"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Preset"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"There are no presets programmed by your audiologist"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Couldn\'t update preset"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audio output"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"About audio output"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Language selection for this app isn’t available from Settings."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Language may differ from languages available in the app. Some apps may not support this setting."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Set the language for each app."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Your system, apps and websites use the first supported language from your preferred languages."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Your device, apps and websites use the first supported language from your preferred language list.\n\nMany apps will also use the region from your preferred language to format dates, numbers and units. To change your region, add a language, then choose your preferred region."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"To select a language for each app, go to app language settings."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Learn more about app languages"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Change system language to %s ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Off"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{On / # app has access to location}other{On / # apps have access to location}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Loading…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Apps with the Nearby devices permission can determine the relative position of connected devices."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Apps with the Nearby devices permission can determine the relative position of connected devices."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Location access is off for apps and services. Your device location may still be sent to emergency responders when you call or text an emergency number."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Learn more about location settings"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"To change, go to ChromeOS Settings &gt; Privacy and security &gt; Privacy controls &gt; Location access"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Face and <xliff:g id="WATCH">%s</xliff:g> added"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Face, fingerprint and <xliff:g id="WATCH">%s</xliff:g> added"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Face, fingerprints and <xliff:g id="WATCH">%s</xliff:g> added"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Identity check is on and requires a biometric"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote authenticator unlock"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Watch added"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Set up your watch"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Learn more about Watch Unlock"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Add watch"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Remove watch"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Fingerprint and Face Unlock"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Face and Fingerprint Unlock"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Face and Fingerprint Unlock for work"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Setup needed"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Face and fingerprints added"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Setting up private space…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Couldn\'t set up a private space"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Try again"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Exit"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Private space isn\'t available.\nView possible causes"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"View possible causes"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Choose a new lock for private space?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"You can set a new lock just for private space or use the same lock that you use to unlock your device"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Use screen lock"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices.\n\nTo improve device experience, apps and services can still scan for nearby devices at any time, even when Bluetooth is off. This can be used, for example, to improve location-based features and services. You can change this in Bluetooth scanning settings."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices. Features like Quick Share and Find My Device use Bluetooth.\n\nApps and services can still scan for nearby devices at any time, even when Bluetooth is off. This can be used, for example, to improve location-based features and services. You can change this in Bluetooth scanning settings."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Change"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Device details"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Keyboard settings"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"More settings"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Firmware updates, about and more"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Tips and support"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Device\'s Bluetooth address: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Device\'s Bluetooth address:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Forget device?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Experimental. Improves audio quality."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Forget device"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Disconnect app"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"More settings"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Maximum connected Bluetooth audio devices"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Select maximum number of connected Bluetooth audio devices"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC verbose vendor debug log"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Restart device?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Detailed NFC logging is intended for development purposes only. Additional NFC data is included in bug reports, which may contain private information. Restart your device to change this setting."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Restart"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"On"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Off"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"External display"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Use external display"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Display resolution"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"External display is disconnected"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Rotation"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standard"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Changing rotation or resolution may stop any apps that are currently running"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Your device must be connected to an external display to mirror your screen"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"More options"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Cast"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"mirror"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Enable wireless display"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptive"</string>
     <string name="brightness" msgid="6216871641021779698">"Brightness level"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Adaptive brightness"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"About adaptive brightness"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Your screen brightness will automatically adjust to your environment and activities. You can move the slider manually to help adaptive brightness learn your preferences."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"On"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Off"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Use <xliff:g id="CARRIER">%1$s</xliff:g> for mobile data?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"You\'re using <xliff:g id="CARRIER2_0">%2$s</xliff:g> for mobile data. If you switch to <xliff:g id="CARRIER1">%1$s</xliff:g>, <xliff:g id="CARRIER2_1">%2$s</xliff:g> will no longer be used for mobile data."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Use <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Update preferred SIM?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> is the only SIM in your device. Do you want to use this SIM for mobile data, calls and SMS messages?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> is now your primary SIM"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Improve mobile data coverage?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Allow your device to automatically switch to <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> for mobile data when it has better availability."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Calls, messages and network traffic may be visible to your organisation."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Options"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibility"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Physical keyboard"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Use on-screen keyboard"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Keep it on screen while physical keyboard is active"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Bounce keys"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"The keyboard ignores quickly repeated presses of the same key within <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Slow keys"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Adjusts the time that it takes for a key press to activate to <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Sticky keys"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Press one key at a time for shortcuts instead of holding keys down together"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Mouse keys"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Use the physical keyboard to control the mouse."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Keyboard shortcuts"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Show list of shortcuts"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Work profile keyboards &amp; tools"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Customise individual touchpad navigation gestures"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Reverse scrolling"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Content moves up when you scroll down"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Bottom-right tap"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Tap the bottom-right corner of the touchpad for more options"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Bottom-right click"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Click in the bottom right-hand corner of the touchpad for more options"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Pointer speed"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Pointer fill style"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Change pointer fill style to black"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Change pointer fill style to yellow"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Change pointer fill style to pink"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Change pointer fill style to blue"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Pointer stroke style"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"White"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Black"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"None"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Learn touchpad gestures"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"trackpad, track pad, mouse, cursor, scroll, swipe, right-click, click, pointer"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"right click, tap"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Reset"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Choose modifier key"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Choose a new key for <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> layout"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Default"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatic: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"User selected: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Speech"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Pointer speed"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Pointer scale"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Decrease pointer scale"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Increase pointer scale"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Game Controller"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Redirect vibration"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Send vibration to game controller when connected"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continue anyway"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Cancel"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Magnification settings"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"One-finger panning"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Move magnifier with 1 finger"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Drag 1 finger to move around the screen"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Move the magnification area by dragging one finger."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Move the magnification area by dragging two fingers."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Unavailable while only magnifying part of the screen"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tap a button to zoom"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Quickly zoom in on the screen to make content larger"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;To zoom in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Use shortcut to start magnification&lt;br/&gt; {1,number,integer}. Tap the screen&lt;br/&gt; {2,number,integer}. Drag two fingers to move around screen&lt;br/&gt; {3,number,integer}. Pinch with two fingers to adjust zoom&lt;br/&gt; {4,number,integer}. Use shortcut to stop magnification&lt;br/&gt;&lt;br/&gt; &lt;b&gt;To zoom in temporarily:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Make sure that your magnification type is set to full screen&lt;br/&gt; {1,number,integer}. Use shortcut to start magnification&lt;br/&gt; {2,number,integer}. Touch and hold anywhere on the screen&lt;br/&gt; {3,number,integer}. Drag finger to move around screen&lt;br/&gt; {4,number,integer}. Lift finger to stop magnification"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;To zoom in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Use shortcut to start magnification&lt;br/&gt; {1,number,integer}. Tap the screen&lt;br/&gt; {2,number,integer}. Drag 2 fingers to move around the screen&lt;br/&gt; {3,number,integer}. Pinch with 2 fingers to adjust zoom&lt;br/&gt; {4,number,integer}. Use shortcut to stop magnification&lt;br/&gt;&lt;br/&gt; You can also zoom in temporarily and more."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;To zoom in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Use shortcut to start magnification&lt;br/&gt; {1,number,integer}. Tap the screen&lt;br/&gt; {2,number,integer}. Drag 1 or 2 fingers to move around the screen&lt;br/&gt; {3,number,integer}. Pinch with 2 fingers to adjust zoom&lt;br/&gt; {4,number,integer}. Use shortcut to stop magnification&lt;br/&gt;&lt;br/&gt; You can also zoom in temporarily and more."</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_pager" msgid="8461939455728454061">"Page <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> of <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Accessibility button shortcut"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Tap the floating button"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Accessibility gesture"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Tap the Accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> at the bottom of your screen. To switch between features, touch and hold the Accessibility button."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Swipe up from the bottom of the screen with two fingers.\n\nTo switch between features, swipe up with two fingers and hold."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Swipe up from the bottom of the screen with three fingers.\n\nTo switch between features, swipe up with three fingers and hold."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Swipe up from the bottom of your screen. To switch between features, swipe up and hold.}other{Swipe up with # fingers from the bottom of your screen. To switch between features, swipe up with # fingers and hold.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"More options"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Learn more about <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Volume keys"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"volume keys"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Press and hold both volume keys"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Two-finger double-tap screen"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d-finger double-tap"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Quickly tap the screen twice with %1$d fingers"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Triple-tap"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Quickly tap the screen %1$d times. This may slow down your device."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d-finger double-tap"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Quickly tap screen {0,number,integer} times with two fingers"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Triple-tap screen"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"triple-tap"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Quickly tap screen {0,number,integer} 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Shortcut settings"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Shortcut from lock screen"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Allow feature shortcut to turn on from the lock screen. Hold both volume keys for a few seconds."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Accessibility button"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Accessibility button and gesture"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"This service is malfunctioning."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Accessibility shortcuts"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Show in Quick Settings"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Red-green"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Red-green"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Red-green, green weak"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Red-green, red weak"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blue-yellow"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Greyscale"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensity"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Green weak, deuteranomaly"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Red weak, protanomaly"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Unavailable for Greyscale mode or when colour correction is disabled"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Extra dim"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Make screen extra dim"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Cyan"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Yellow"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Allow <xliff:g id="SERVICE">%1$s</xliff:g> to have full control of your device?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> needs to:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Because an app is obscuring a permission request, Settings can’t verify your response."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> is requesting full control of this device. The service can read the screen and act on behalf of users with accessibility needs. This level of control is not appropriate for most apps."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Full control is appropriate for apps that help you with accessibility needs, but not for most apps."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"View and control screen"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"It can read all content on the screen and display content over other apps."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"View and perform actions"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"It can track your interactions with an app or a hardware sensor, and interact with apps on your behalf."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Allow"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Deny"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Turn off"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"On / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> and <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"You can also turn on spatial audio for Bluetooth devices."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Connected devices settings"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Spatial audio"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Off"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Off"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Off"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{None}=1{1 schedule set}other{# schedules set}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Do Not Disturb"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Priority modes"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Add a mode"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Modes"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Minimise distractions and take control of your attention with modes for sleep, work, driving and everything in between."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Create your own mode"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Only get notified by important people and apps"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Set a schedule"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Schedule based on"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Day and time"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\'9.00 a.m. – 5.00 p.m. weekdays\'"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Calendar events"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} is active}=2{{mode_1} and {mode_2} are active}=3{{mode_1}, {mode_2} and {mode_3} are active}other{{mode_1}, {mode_2} and # more are active}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 mode can turn on automatically}other{# modes can turn on automatically}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ON"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Not set"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Disabled"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Create a mode"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Custom"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Turn on now"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Turn off"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Mode not found"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limit interruptions"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Block interruptions and distractions"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Set up <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Turn on Do Not Disturb"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarms and media sounds can interrupt"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Schedules"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Delete schedules"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Delete"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Rename"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Delete"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Delete \'<xliff:g id="MODE">%1$s</xliff:g>\' mode?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Edit"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Schedules"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Schedule"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Turn on automatically"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Add a calendar"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Use your calendar"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Schedule"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Set a schedule"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"When to turn on automatically"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Event schedule"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Turn on during events for"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Where invite reply is"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Time schedule"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Schedule"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g>hr, <xliff:g id="MINUTES">%2$d</xliff:g>min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Schedule"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Allow interruptions that make sound"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Notifications that can reach you"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Additional actions"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Notification filters"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"More settings"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Off}=1{Off/1 mode can turn on automatically}other{Off/# modes can turn on automatically}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Display settings"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Display options"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Greyscale"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"Enable Dark theme"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Switch the OS and apps to prefer light text on a dark background, which may be easier on the eyes and confers significant battery savings on some devices"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{No display changes}=1{{effect_1}}=2{{effect_1} and {effect_2}}=3{{effect_1}, {effect_2} and {effect_3}}other{{effect_1}, {effect_2} and # more}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Allow all notifications"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"People, apps and sounds can interrupt"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Display options for filtered notifications"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"When Do Not Disturb is on"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"No sound from notifications"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"open notification"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Allow notification snoozing"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Notification dot on app icon"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Notification bundles"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bubbles"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubbles"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Bubble this conversation"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"It can reply to messages and take action on buttons in notifications, including snoozing or dismissing notifications and answering calls."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Change settings"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"It can turn Do Not Disturb on or off and change related settings."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"It can manage and activate Modes and change related settings."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"If you turn off notification access for <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, Do Not Disturb access may also be turned off."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"If you turn off notification access for <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, Modes access may also be turned off."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Turn off"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Cancel"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Real-time"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"This app doesn’t support enhanced settings"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"More settings"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"More settings are available inside this app"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Adaptive notifications"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Use adaptive notifications"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"When you get many notifications within a short time, your phone will lower volume and minimise pop-ups on screen for up to two minutes. Calls, alarms and priority conversations still vibrate, make a sound or show up on the screen, and all notifications are easy to find when you pull down from the top of the screen."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Notification cooldown"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Use notification cooldown"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"When you receive many notifications within a short time, your device will lower its volume and minimise alerts for up to 2 minutes. Calls, alarms and priority conversations are not affected. \n\nNotifications received during the cooldown can be found by pulling down from the top of the screen."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Apply to work profiles"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Apply to work profile apps"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR helper services"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Do Not Disturb access"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Allow Do Not Disturb"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"No installed apps have requested Do Not Disturb access"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Modes access"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Allow Modes access"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"No installed apps have requested Modes access"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"You haven\'t allowed notifications from this app"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"At your request, Android is blocking this category of notifications from appearing on this device"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"At your request, Android is blocking this group of notifications from appearing on this device"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Categories"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Other"</string>
     <string name="no_channels" msgid="4716199078612071915">"This app has not posted any notifications"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Show unused categories"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Additional settings in the app"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Show unused categories"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Hide unused categories"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversations"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"All conversations"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"all conversations"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Priority conversations"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"priority conversations"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"None"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Apps that can interrupt"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Selected apps"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"None"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"All"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{No apps can interrupt}=1{{app_1} can interrupt}=2{{app_1} and {app_2} can interrupt}=3{{app_1}, {app_2} and {app_3} can interrupt}other{{app_1}, {app_2} and # more can interrupt}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (work)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Calculating…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Allow apps to override"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps that can interrupt"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Select more apps"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Nothing can interrupt"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"No one can interrupt"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Some people can interrupt"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Repeat callers can interrupt"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"All people can interrupt"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Repeat callers"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Allow repeat callers"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Change to alarms only for one hour until {time}}other{Change to alarms only for # hours until {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Change to alarms only until <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Change to always interrupt"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Rename"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Change icon"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Change icon"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Edit mode"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Create a mode"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Custom mode"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Mode name"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Calendar events"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Bedtime routine"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"While driving"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"App settings"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Info and settings in <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Managed by <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Disable <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"This mode will never turn on when disabled"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Disable"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Enable <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"This mode may turn on automatically based on its settings"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Enable"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Set a mode that follows a regular schedule"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Set a mode to sync with calendar events and invite responses"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Design a calming sleep routine. Set alarms, dim the screen and block notifications."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Prioritise safety on the road for a focused and distraction-free drive"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Block distractions or interruptions from your device to gain focus"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Eliminate all distractions for a quiet environment"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Personalise device experiences and settings for different users"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Minimise interruptions by only allowing important people and apps to reach you"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Set a mode that follows a regular schedule"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Keep your device in sync with your day\'s events"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Wake up feeling like 100%"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Put safety first while on the road"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Gain focus to get in the zone"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"For moments when courtesy counts"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Guided usage to help you stay in good hands"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Take control of your attention"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Warning"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Close"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Send feedback about this device"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Must stay turned on because notification access is on"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Revoke access to Do Not Disturb for <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"All Do Not Disturb rules created by this app will be removed."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Allow access to Modes for <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"The app will be able to turn on/off Do Not Disturb, manage and activate Modes and make changes to related settings."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"All modes created by this app will be removed."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Don’t optimise"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimise"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"May drain your battery more quickly. App will no longer be restricted from using background battery."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Case"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Battery"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Settings Panel"</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_desktop_mode" msgid="5644818402534562302">"Enable freeform windows"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Enable freeform windows on secondary display"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Enable non-resizable in Multi-window"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Allows non-resizable apps to be in Multi-window"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Override force-dark"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobile data"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"To improve device experience, apps and services can still scan for Wi‑Fi networks at any time, even when Wi‑Fi is off. This can be used, for example, to improve location-based features and services. You can change this in Wi‑Fi scanning settings."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Change"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Connected"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Temporarily connected"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Temporarily using <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Use app pinning"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Use developer options"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Use print service"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Allow multiple users"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Allow user switch"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"allow, multiple, user, permit, many"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"multiple, users, profiles, people, accounts, switch, many"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Use wireless debugging"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> wants to connect to this phone.\n\nYou haven’t connected to <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> before."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Don’t connect"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Connect"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE settings"</string>
-    <string name="tare_on" msgid="2386073225978684535">"On"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Off"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Revert to default settings"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Settings reverted to default."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Maximum satiated balance"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Balances"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Consumption limits"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Initial consumption limit"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Minimum consumption limit"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Maximum consumption limit"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modifiers"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Actions (cost to produce)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Actions (base price)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Rewards per single event"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Rewards per second of event duration"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Maximum rewards per day"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"App install"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Top activity"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Notification seen"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Notification seen within 15 minutes"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Notification interaction"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Widget interaction"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Other user interaction"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Job max start"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Job max running"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Job high start"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Job high running"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Job default start"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Job default running"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Job low start"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Job low running"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Job min start"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Job min running"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Job timeout penalty"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Minimum satiated balance (exempted)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Minimum satiated balance (headless system app)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Minimum satiated balance (remaining apps)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Minimum satiated balance addition (app updaters)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Charging"</item>
-    <item msgid="658627268149681677">"Doze"</item>
-    <item msgid="1599558140284643834">"Power Save Mode"</item>
-    <item msgid="588427840913221601">"Process state"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Confirm"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Preview"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Choose a screen saver"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Show additional information"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Choose what you’ll see on your screen when your tablet is docked. Your device may use more energy when a screen saver is used."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Customise"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Customise <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"A reboot is required to enable freeform support."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"A reboot is required to force desktop mode on secondary displays."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"A reboot is required to enable freeform window support."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"A reboot is required to update availability of freeform windows."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"A reboot is required to enable freeform windows on secondary displays."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reboot now"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reboot later"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Spatial audio"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Rose"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Violet"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Done"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Save"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Cancel"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Default"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Medium"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"On"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Off"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"On"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Audio %1$d%% left, %2$d%% right"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Audio %1$d%% right, %2$d%% left"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Your device name is visible to apps you installed. It may also be seen by other people when you connect to Bluetooth devices, connect to a Wi-Fi network or set up a Wi-Fi hotspot."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Grammatical gender"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Select grammatical gender"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Audio sharing stopped"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Connect a compatible device"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"To start sharing audio, first connect LE Audio headphones to your phone"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Switch to <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Connect to an LE audio stream"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Nearby audio streams"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Audio streams"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Listen to stream"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Scan an audio stream QR code to listen with <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Can\'t edit password while sharing. To change the password, first turn off audio sharing."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR code scanner"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Need help?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Search settings"</string>
 </resources>
diff --git a/res/values-en-rCA/arrays.xml b/res/values-en-rCA/arrays.xml
index 3dee62f..4682432 100644
--- a/res/values-en-rCA/arrays.xml
+++ b/res/values-en-rCA/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Bedtime"</item>
-    <item msgid="4152450357280759894">"Driving"</item>
-    <item msgid="7096549258219399423">"Immersive"</item>
-    <item msgid="2760716776980432977">"Managed"</item>
-    <item msgid="601734478369121764">"Star"</item>
-    <item msgid="6243809315432780521">"Calendar"</item>
-    <item msgid="4913577903148415331">"Time"</item>
-    <item msgid="3653377604690057780">"Theater"</item>
-    <item msgid="3843711267408385410">"Flower"</item>
+    <item msgid="1216815120972438676">"Briefcase"</item>
+    <item msgid="184985872234062767">"Classical building"</item>
+    <item msgid="9189550412466785530">"Apartment building"</item>
+    <item msgid="2142527562511049422">"Speech bubble"</item>
+    <item msgid="2548100558260478605">"Group of people"</item>
+    <item msgid="2270003903304578284">"Lightbulb"</item>
+    <item msgid="4793496619091161864">"Calendar"</item>
+    <item msgid="5673625795644364100">"Do Not Disturb"</item>
+    <item msgid="1423820834865831361">"Person running"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Gym dumbbell"</item>
+    <item msgid="2730180105015616518">"Swimming"</item>
+    <item msgid="2666922823253345958">"Person hiking"</item>
+    <item msgid="8234880356472211396">"Person throwing ball"</item>
+    <item msgid="4642980625253001443">"Person kicking"</item>
+    <item msgid="4324795269518833500">"Game controller"</item>
+    <item msgid="7789966425125441125">"Artist color palette"</item>
+    <item msgid="663512680597461570">"Snowflake"</item>
+    <item msgid="7952183800501346803">"Beach umbrella"</item>
+    <item msgid="799139025758265891">"Workshop tools"</item>
+    <item msgid="1330084588359129896">"Tent"</item>
+    <item msgid="3861584909935022342">"Film reel"</item>
+    <item msgid="5827426100157335512">"Book"</item>
+    <item msgid="8585828346253128384">"Lotus flower"</item>
+    <item msgid="8788370542815300188">"Person\'s mind"</item>
+    <item msgid="7287354964767553293">"Headphones"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Train"</item>
+    <item msgid="4903790544026923026">"Car"</item>
+    <item msgid="5010405583912314582">"Fork and knife"</item>
+    <item msgid="8939998598599064900">"Shopping cart"</item>
+    <item msgid="3379605903308731893">"Child"</item>
+    <item msgid="7808668968550293112">"Animal paw"</item>
+    <item msgid="1000692647524056504">"Star badge"</item>
+    <item msgid="8270261073421676502">"Two people"</item>
+    <item msgid="5767782819651505460">"Star"</item>
+    <item msgid="4368451291862729334">"Heart"</item>
+    <item msgid="2613199102208419986">"House"</item>
+    <item msgid="3022279986430275040">"Half-moon"</item>
+    <item msgid="5421089790869483206">"Clock"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index be55aac..8f945c1 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspended"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Unknown"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Preview"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR code"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Always"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Hearing device settings"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Shortcut, hearing aid compatibility"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Preset"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"There are no presets programmed by your audiologist"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Couldn’t update preset"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audio output"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"About audio output"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Language selection for this app isn’t available from Settings."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Language may differ from languages available in the app. Some apps may not support this setting."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Set the language for each app."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Your system, apps, and websites use the first supported language from your preferred languages."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Your device, apps, and websites use the first supported language from your preferred language list.\n\nMany apps will also use the region from your preferred language to format dates, numbers, and units. To change your region, add a language, then choose your preferred region."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"To select a language for each app, go to app language settings."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Learn more about app languages"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Change system language to %s ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Off"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{On / # app has access to location}other{On / # apps have access to location}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Loading…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Apps with the Nearby devices permission can determine the relative position of connected devices."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Apps with the nearby devices permission can determine the relative position of connected devices."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Location access is off for apps and services. Your device location may still be sent to emergency responders when you call or text an emergency number."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Learn more about Location settings"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"To change go to ChromeOS Settings &gt; Privacy and security &gt; Privacy controls &gt; Location access"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Face and <xliff:g id="WATCH">%s</xliff:g> added"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Face, fingerprint, and <xliff:g id="WATCH">%s</xliff:g> added"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Face, fingerprints, and <xliff:g id="WATCH">%s</xliff:g> added"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Identity Check is on and requires a biometric"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator Unlock"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Watch added"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Set up your watch"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Learn more about Watch Unlock"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Add watch"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Remove watch"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Fingerprint &amp; Face Unlock"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Face and Fingerprint Unlock"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Face and Fingerprint Unlock for work"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Setup needed"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Face and fingerprints added"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Setting up private space…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Couldn’t set up a private space"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Try Again"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Exit"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Private space isn’t available.\nView possible causes"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"View possible causes"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Choose a new lock for private space?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"You can set a new lock just for private space, or use the same lock you use to unlock your device"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Use screen lock"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices.\n\nTo improve device experience, apps and services can still scan for nearby devices at any time, even when Bluetooth is off. This can be used, for example, to improve location-based features and services. You can change this in Bluetooth scanning settings."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"When Bluetooth is on, your device can communicate with other nearby Bluetooth devices. Features like Quick Share and Find My Device use Bluetooth.\n\nApps and services can still scan for nearby devices at any time, even when Bluetooth is off. This can be used, for example, to improve location-based features and services. You can change this in Bluetooth scanning settings."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Change"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> not connected"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"For your security, forget this device, then pair it again"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"Forget device"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"Cancel"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Device details"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Keyboard settings"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"More settings"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Firmware updates, about, and more"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Tips &amp; support"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Device\'s Bluetooth address: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Device\'s Bluetooth address:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Forget device?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Experimental. Improves audio quality."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Forget device"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Disconnect app"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"More settings"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Maximum connected Bluetooth audio devices"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Select maximum number of connected Bluetooth audio devices"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC verbose vendor debug log"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Restart Device?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Detail NFC logging is intended for development purposes only. Additional NFC data is included in bug reports, which may contain private information. Restart your device to change this setting."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Restart"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"On"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Off"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"External Display"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Use external display"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Display resolution"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"External display is disconnected"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Rotation"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standard"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Changing rotation or resolution may stop any apps that are currently running"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Your device must be connected to an external display to mirror your screen"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"More options"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Cast"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"mirror"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Enable wireless display"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptive"</string>
     <string name="brightness" msgid="6216871641021779698">"Brightness level"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Adaptive brightness"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"About adaptive brightness"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Your screen brightness will automatically adjust to your environment and activities. You can move the slider manually to help adaptive brightness learn your preferences."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"On"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Off"</string>
@@ -1311,8 +1340,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Use <xliff:g id="CARRIER">%1$s</xliff:g> for mobile data?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"You\'re using <xliff:g id="CARRIER2_0">%2$s</xliff:g> for mobile data. If you switch to <xliff:g id="CARRIER1">%1$s</xliff:g>, <xliff:g id="CARRIER2_1">%2$s</xliff:g> will no longer be used for mobile data."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Use <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Update preferred SIM?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> is the only SIM in your device. Do you want to use this SIM for mobile data, calls, and SMS messages?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> is now your primary SIM"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Improve mobile data coverage?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Allow your device to automatically switch to <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> for mobile data when it has better availability."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Calls, messages, and network traffic may be visible to your organization."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Options"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibility"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Physical keyboard"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Use on-screen keyboard"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Keep it on screen while physical keyboard is active"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Bounce keys"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"The keyboard ignores quickly repeated presses of the same key within <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Slow keys"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Adjusts the time it takes for a key press to activate to <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Sticky keys"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Press one key at a time for shortcuts instead of holding keys down together"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Mouse keys"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Use the physical keyboard to control the mouse."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Keyboard shortcuts"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Show list of shortcuts"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Work profile keyboards &amp; tools"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Customize individual touchpad navigation gestures"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Reverse scrolling"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Content moves up when you scroll down"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Bottom-right tap"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Tap the bottom right corner of the touchpad for more options"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Bottom-right click"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Click in the bottom right corner of the touchpad for more options"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Pointer speed"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Pointer fill style"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Change pointer fill style to black"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Change pointer fill style to yellow"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Change pointer fill style to pink"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Change pointer fill style to blue"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Pointer stroke style"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"White"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Black"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"None"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Learn touchpad gestures"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"trackpad, track pad, mouse, cursor, scroll, swipe, right click, click, pointer"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"right click, tap"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Reset"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Choose modifier key"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Choose a new key for <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Physical keyboard accessibility"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Sticky keys, Bounce keys, Mouse keys"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> layout"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Default"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatic: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"User selected: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Speech"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Pointer speed"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Pointer scale"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Decrease pointer scale"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Increase pointer scale"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Game Controller"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Redirect vibration"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Send vibration to game controller when connected"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continue anyway"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Cancel"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Magnification settings"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"One-finger panning"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Move magnifier with 1 finger"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Drag 1 finger to move around the screen"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Move the magnification area by dragging one finger."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Move the magnification area by dragging two fingers."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Unavailable while only magnifying part of the screen"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tap a button to zoom"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Quickly zoom in on the screen to make content larger"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;To zoom in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Use shortcut to start magnification&lt;br/&gt; {1,number,integer}. Tap the screen&lt;br/&gt; {2,number,integer}. Drag two fingers to move around screen&lt;br/&gt; {3,number,integer}. Pinch with two fingers to adjust zoom&lt;br/&gt; {4,number,integer}. Use shortcut to stop magnification&lt;br/&gt;&lt;br/&gt; &lt;b&gt;To zoom in temporarily:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Make sure your magnification type is set to full screen&lt;br/&gt; {1,number,integer}. Use shortcut to start magnification&lt;br/&gt; {2,number,integer}. Touch and hold anywhere on the screen&lt;br/&gt; {3,number,integer}. Drag finger to move around screen&lt;br/&gt; {4,number,integer}. Lift finger to stop magnification"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;To zoom in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Use shortcut to start magnification&lt;br/&gt; {1,number,integer}. Tap the screen&lt;br/&gt; {2,number,integer}. Drag 2 fingers to move around the screen&lt;br/&gt; {3,number,integer}. Pinch with 2 fingers to adjust zoom&lt;br/&gt; {4,number,integer}. Use shortcut to stop magnification&lt;br/&gt;&lt;br/&gt; You can also zoom in temporarily and more."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;To zoom in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Use shortcut to start magnification&lt;br/&gt; {1,number,integer}. Tap the screen&lt;br/&gt; {2,number,integer}. Drag 1 or 2 fingers to move around the screen&lt;br/&gt; {3,number,integer}. Pinch with 2 fingers to adjust zoom&lt;br/&gt; {4,number,integer}. Use shortcut to stop magnification&lt;br/&gt;&lt;br/&gt; You can also zoom in temporarily and more."</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 the screen anywhere.\n"<ul><li>"Drag two or more fingers to scroll"</li>\n<li>"Pinch two or more fingers to adjust the zoom"</li></ul>\n\n<b>"To zoom temporarily"</b>", start magnification, then touch and hold the screen anywhere.\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_pager" msgid="8461939455728454061">"Page <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> of <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Accessibility button shortcut"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Tap the floating button"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Accessibility gesture"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Tap the accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> at the bottom of your screen. To switch between features, touch &amp; hold the accessibility button."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Swipe up from the bottom of the screen with 2 fingers.\n\nTo switch between features, swipe up with 2 fingers and hold."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Swipe up from the bottom of the screen with 3 fingers.\n\nTo switch between features, swipe up with 3 fingers and hold."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Swipe up from the bottom of your screen. To switch between features, swipe up and hold.}other{Swipe up with # fingers from the bottom of your screen. To switch between features, swipe up with # fingers and hold.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"More options"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Learn more about <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Volume keys"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"volume keys"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Press and hold both volume keys"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Two-finger double-tap screen"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d-finger double tap"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Quickly tap the screen twice with %1$d fingers"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Triple tap"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Quickly tap the screen %1$d times. This may slow down your device."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d-finger double tap"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Quickly tap screen {0,number,integer} times with two fingers"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Triple-tap screen"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"triple tap"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Quickly tap screen {0,number,integer} 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 and 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_global_gesture_preference_title" msgid="8866765674372344850">"Volume keys shortcut"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Shortcut settings"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Shortcut from lock screen"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"Volume keys shortcut from lock screen"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Allow feature shortcut to turn on from the lock screen. Hold both volume keys for a few seconds."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Accessibility button"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Accessibility button &amp; gesture"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"This service is malfunctioning."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Accessibility shortcuts"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Show in Quick Settings"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Red-green"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Red-green"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Red-green, green weak"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Red-green, red weak"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blue-yellow"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Grayscale"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensity"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Green weak, deuteranomaly"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Red weak, protanomaly"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Unavailable for grayscale mode or when color correction is disabled"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Extra dim"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Make screen extra dim"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Cyan"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Yellow"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Allow <xliff:g id="SERVICE">%1$s</xliff:g> to have full control of your device?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> needs to:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Because an app is obscuring a permission request, Settings can’t verify your response."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> is requesting full control of this device. The service can read the screen and act on behalf of users with accessibility needs. This level of control is not appropriate for most apps."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Full control is appropriate for apps that help you with accessibility needs, but not for most apps."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"View and control screen"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"It can read all content on the screen and display content over other apps."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"View and perform actions"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"It can track your interactions with an app or a hardware sensor and interact with apps on your behalf."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Allow"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Deny"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Turn off"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"On / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> and <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"You can also turn on Spatial Audio for Bluetooth devices."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Connected devices settings"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Spatial Audio"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Off"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Off"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Off"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{None}=1{1 schedule set}other{# schedules set}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Do Not Disturb"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Priority Modes"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Add a mode"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Modes"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Minimize distractions and take control of your attention with modes for sleep, work, driving, and everything in between."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Create your own mode"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Only get notified by important people and apps"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Set a schedule"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Schedule based on"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Day and time"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"9 AM - 5 PM weekdays\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Calendar events"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} is active}=2{{mode_1} and {mode_2} are active}=3{{mode_1}, {mode_2}, and {mode_3} are active}other{{mode_1}, {mode_2}, and # more are active}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 mode can turn on automatically}other{# modes can turn on automatically}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ON"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Not set"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Disabled"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Create a mode"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Custom"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Turn on now"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Turn off"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Mode not found"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limit interruptions"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Block interruptions and distractions"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Set up <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Turn on Do Not Disturb"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarms and media sounds can interrupt"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Schedules"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Delete schedules"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Delete"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Rename"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Delete"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Delete \"<xliff:g id="MODE">%1$s</xliff:g>\" mode?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Edit"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Schedules"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Schedule"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Turn on automatically"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Add a calendar"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Use your calendar"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Schedule"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Set a schedule"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"When to turn on automatically"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Event schedule"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Turn on during events for"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Where invite reply is"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Time schedule"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Schedule"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> hr, <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Schedule"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Allow interruptions that make sound"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Notifications that can reach you"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Additional actions"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Notification filters"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"More settings"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Off}=1{Off / 1 mode can turn on automatically}other{Off / # modes can turn on automatically}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Display settings"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Display options"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Grayscale"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"enable dark theme"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Switch the OS and apps to prefer light text on a dark background, which may be easier on the eyes and confers significant battery savings on some devices"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{No display changes}=1{{effect_1}}=2{{effect_1} and {effect_2}}=3{{effect_1}, {effect_2}, and {effect_3}}other{{effect_1}, {effect_2}, and # more}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Allow all notifications"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"People, apps, and sounds can interrupt"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Display options for filtered notifications"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"When Do Not Disturb is on"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"No sound from notifications"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"open notification"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Allow notification snoozing"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Notification dot on app icon"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Notification bundles"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bubbles"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubbles"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Bubble this conversation"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"It can reply to messages and take action on buttons in notifications, including snoozing or dismissing notifications and answering calls."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Change settings"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"It can turn Do Not Disturb on or off and change related settings."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"It can manage and activate Modes, and change related settings."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"If you turn off notification access for <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, Do Not Disturb access may also be turned off."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"If you turn off notification access for <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, Modes access may also be turned off."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Turn off"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Cancel"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Real-time"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"This app doesn’t support enhanced settings"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"More settings"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"More settings are available inside this app"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Adaptive Notifications"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Use adaptive notifications"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"When you get many notifications within a short time, your phone will lower volume and minimize pop-ups on screen for up to two minutes. Calls, alarms, and priority conversations still vibrate, make a sound, or show up on the screen, and all notifications are easy to find when you pull down from the top of the screen."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Notification cooldown"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Use notification cooldown"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"When you receive many notifications within a short time, your device will lower its volume and minimize alerts for up to 2 minutes. Calls, alarms, and priority conversations are not affected. \n\nNotifications received during the cooldown can be found by pulling down from the top of the screen."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Apply to work profiles"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Apply to work profile apps"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR helper services"</string>
@@ -3650,6 +3709,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Do Not Disturb access"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Allow Do Not Disturb"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"No installed apps have requested Do Not Disturb access"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Modes access"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Allow Modes access"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"No installed apps have requested Modes access"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"You haven\'t allowed notifications from this app"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"At your request, Android is blocking this category of notifications from appearing on this device"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"At your request, Android is blocking this group of notifications from appearing on this device"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Categories"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Other"</string>
     <string name="no_channels" msgid="4716199078612071915">"This app has not posted any notifications"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Show unused categories"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Additional settings in the app"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Show unused categories"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Hide unused categories"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversations"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"All conversations"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"all conversations"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Priority conversations"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"priority conversations"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"None"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Apps that can interrupt"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Selected apps"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"None"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"All"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{No apps can interrupt}=1{{app_1} can interrupt}=2{{app_1} and {app_2} can interrupt}=3{{app_1}, {app_2}, and {app_3} can interrupt}other{{app_1}, {app_2}, and # more can interrupt}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (Work)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Calculating…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Allow apps to override"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps that can interrupt"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Select more apps"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Nothing can interrupt"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"No one can interrupt"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Some people can interrupt"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Repeat callers can interrupt"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"All people can interrupt"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Repeat callers"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Allow repeat callers"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Change to alarms only for one hour until {time}}other{Change to alarms only for # hours until {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Change to alarms only until <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Change to always interrupt"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Rename"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Change icon"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Change icon"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Edit mode"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Create a mode"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Custom mode"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Mode name"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Calendar events"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Bedtime routine"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"While driving"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"App settings"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Info and settings in <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Managed by <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Disable <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"This mode will never turn on when disabled"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Disable"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Enable <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"This mode may turn on automatically based on its settings"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Enable"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Set a mode that follows a regular schedule"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Set a mode to sync with calendar events and invite responses"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Design a calming sleep routine. Set alarms, dim the screen, and block notifications."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Prioritize safety on the road for a focused and distraction-free drive"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Block distractions or interruptions from your device to gain focus"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Eliminate all distractions for a quiet environment"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Personalize device experiences and settings for different users"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Minimize interruptions by only allowing important people and apps to reach you"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Set a mode that follows a regular schedule"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Keep your device in sync with your day’s events"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Wake up feeling like 100%"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Put safety first while on the road"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Gain focus to get in the zone"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"For moments when courtesy counts"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Guided usage to help you stay in good hands"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Take control of your attention"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Warning"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Close"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Send feedback about this device"</string>
@@ -4006,6 +4102,10 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Must stay turned on because notification access is on"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Revoke access to Do Not Disturb for <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"All Do Not Disturb rules created by this app will be removed."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Allow access to Modes for <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"The app will be able to turn on/off Do Not Disturb, manage and activate Modes, and make changes to related settings."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"Revoke access to Modes for <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"All modes created by this app will be removed."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Don’t optimize"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimize"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"May drain your battery more quickly. App will no longer be restricted from using background battery."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Case"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Battery"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Settings Panel"</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_desktop_mode" msgid="5644818402534562302">"Enable freeform windows"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Enable freeform windows on secondary display"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Enable non-resizable in multi window"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Allows non-resizable apps to be in multi window"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Override force-dark"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobile data"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"To improve device experience, apps and services can still scan for Wi‑Fi networks at any time, even when Wi‑Fi is off. This can be used, for example, to improve location-based features and services. You can change this in Wi‑Fi scanning settings."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Change"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Connected"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Temporarily connected"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Temporarily using <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Use app pinning"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Use developer options"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Use print service"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Allow multiple users"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Allow user switch"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"allow, multiple, user, permit, many"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"multiple, users, profiles, people, accounts, switch, many"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Use wireless debugging"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> wants to connect to this phone.\n\nYou haven’t connected to <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> before."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Don’t connect"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Connect"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE Settings"</string>
-    <string name="tare_on" msgid="2386073225978684535">"On"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Off"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Revert to Default Settings"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Settings reverted to default."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Maximum Satiated Balance"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Balances"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Consumption Limits"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Initial Consumption Limit"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Minimum Consumption Limit"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Maximum Consumption Limit"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modifiers"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Actions (Cost to Produce)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Actions (Base Price)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Rewards per single event"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Rewards per second of event duration"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Maximum Rewards Per Day"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"App Install"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Top Activity"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Notification Seen"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Notification Seen Within 15 Minutes"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Notification Interaction"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Widget Interaction"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Other User Interaction"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Job Max Start"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Job Max Running"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Job High Start"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Job High Running"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Job Default Start"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Job Default Running"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Job Low Start"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Job Low Running"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Job Min Start"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Job Min Running"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Job Timeout Penalty"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Minimum Satiated Balance (Exempted)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Minimum Satiated Balance (Headless System App)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Minimum Satiated Balance (Remaining Apps)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Minimum Satiated Balance Addition (App Updaters)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Charging"</item>
-    <item msgid="658627268149681677">"Doze"</item>
-    <item msgid="1599558140284643834">"Power Save Mode"</item>
-    <item msgid="588427840913221601">"Process State"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Confirm"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Preview"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Choose a screen saver"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Show additional information"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Choose what you’ll see on your screen when your tablet is docked. Your device may use more energy when a screen saver is used."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Customize"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Customize <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"A reboot is required to enable freeform support."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"A reboot is required to force desktop mode on secondary displays."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"A reboot is required to enable freeform window support."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"A reboot is required to update availability of freeform windows."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"A reboot is required to enable freeform windows on secondary displays."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reboot now"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reboot later"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Spatial Audio"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Rose"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Violet"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Done"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Save"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Cancel"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Default"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Medium"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"On"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Off"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"On"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Audio %1$d%% left, %2$d%% right"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Audio %1$d%% right, %2$d%% left"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Your device name is visible to apps you installed. It may also be seen by other people when you connect to Bluetooth devices, connect to a Wi-Fi network or set up a Wi-Fi hotspot."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Grammatical gender"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Select Grammatical gender"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Audio sharing stopped"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Connect a compatible device"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"To start sharing audio, first connect LE Audio headphones to your phone"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Switch to <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Connect to a LE audio stream"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Nearby audio streams"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Audio streams"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Listen to stream"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Scan an audio stream QR code to listen with <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Can\'t edit password while sharing. To change the password, first turn off audio sharing."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR code scanner"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Need help?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Search Settings"</string>
 </resources>
diff --git a/res/values-en-rGB/arrays.xml b/res/values-en-rGB/arrays.xml
index 53f9b0a..53465e7 100644
--- a/res/values-en-rGB/arrays.xml
+++ b/res/values-en-rGB/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Bedtime"</item>
-    <item msgid="4152450357280759894">"Driving"</item>
-    <item msgid="7096549258219399423">"Immersive"</item>
-    <item msgid="2760716776980432977">"Managed"</item>
-    <item msgid="601734478369121764">"Star"</item>
-    <item msgid="6243809315432780521">"Calendar"</item>
-    <item msgid="4913577903148415331">"Time"</item>
-    <item msgid="3653377604690057780">"Theatre"</item>
-    <item msgid="3843711267408385410">"Flower"</item>
+    <item msgid="1216815120972438676">"Briefcase"</item>
+    <item msgid="184985872234062767">"Classical building"</item>
+    <item msgid="9189550412466785530">"Flats"</item>
+    <item msgid="2142527562511049422">"Speech bubble"</item>
+    <item msgid="2548100558260478605">"Group of people"</item>
+    <item msgid="2270003903304578284">"Light bulb"</item>
+    <item msgid="4793496619091161864">"Calendar"</item>
+    <item msgid="5673625795644364100">"Do Not Disturb"</item>
+    <item msgid="1423820834865831361">"Person running"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Gym dumbbell"</item>
+    <item msgid="2730180105015616518">"Swimming"</item>
+    <item msgid="2666922823253345958">"Person hiking"</item>
+    <item msgid="8234880356472211396">"Person throwing a ball"</item>
+    <item msgid="4642980625253001443">"Person kicking"</item>
+    <item msgid="4324795269518833500">"Game controller"</item>
+    <item msgid="7789966425125441125">"Artist colour palette"</item>
+    <item msgid="663512680597461570">"Snowflake"</item>
+    <item msgid="7952183800501346803">"Beach umbrella"</item>
+    <item msgid="799139025758265891">"Workshop tools"</item>
+    <item msgid="1330084588359129896">"Tent"</item>
+    <item msgid="3861584909935022342">"Film reel"</item>
+    <item msgid="5827426100157335512">"Book"</item>
+    <item msgid="8585828346253128384">"Lotus flower"</item>
+    <item msgid="8788370542815300188">"Person\'s mind"</item>
+    <item msgid="7287354964767553293">"Headphones"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Train"</item>
+    <item msgid="4903790544026923026">"Car"</item>
+    <item msgid="5010405583912314582">"Fork and knife"</item>
+    <item msgid="8939998598599064900">"Shopping basket"</item>
+    <item msgid="3379605903308731893">"Child"</item>
+    <item msgid="7808668968550293112">"Animal paw"</item>
+    <item msgid="1000692647524056504">"Star badge"</item>
+    <item msgid="8270261073421676502">"Two people"</item>
+    <item msgid="5767782819651505460">"Star"</item>
+    <item msgid="4368451291862729334">"Heart"</item>
+    <item msgid="2613199102208419986">"House"</item>
+    <item msgid="3022279986430275040">"Half-moon"</item>
+    <item msgid="5421089790869483206">"Clock"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index fbaea2b..e139119 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspended"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"unknown"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Preview"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR code"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Always"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Hearing device settings"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Shortcut, hearing aid compatibility"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Preset"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"There are no presets programmed by your audiologist"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Couldn\'t update preset"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audio output"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"About audio output"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Language selection for this app isn’t available from Settings."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Language may differ from languages available in the app. Some apps may not support this setting."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Set the language for each app."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Your system, apps and websites use the first supported language from your preferred languages."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Your device, apps and websites use the first supported language from your preferred language list.\n\nMany apps will also use the region from your preferred language to format dates, numbers and units. To change your region, add a language, then choose your preferred region."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"To select a language for each app, go to app language settings."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Learn more about app languages"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Change system language to %s ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Off"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{On / # app has access to location}other{On / # apps have access to location}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Loading…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Apps with the Nearby devices permission can determine the relative position of connected devices."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Apps with the Nearby devices permission can determine the relative position of connected devices."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Location access is off for apps and services. Your device location may still be sent to emergency responders when you call or text an emergency number."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Learn more about location settings"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"To change, go to ChromeOS Settings &gt; Privacy and security &gt; Privacy controls &gt; Location access"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Face and <xliff:g id="WATCH">%s</xliff:g> added"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Face, fingerprint and <xliff:g id="WATCH">%s</xliff:g> added"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Face, fingerprints and <xliff:g id="WATCH">%s</xliff:g> added"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Identity check is on and requires a biometric"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote authenticator unlock"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Watch added"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Set up your watch"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Learn more about Watch Unlock"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Add watch"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Remove watch"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Fingerprint and Face Unlock"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Face and Fingerprint Unlock"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Face and Fingerprint Unlock for work"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Setup needed"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Face and fingerprints added"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Setting up private space…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Couldn\'t set up a private space"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Try again"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Exit"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Private space isn\'t available.\nView possible causes"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"View possible causes"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Choose a new lock for private space?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"You can set a new lock just for private space or use the same lock that you use to unlock your device"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Use screen lock"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices.\n\nTo improve device experience, apps and services can still scan for nearby devices at any time, even when Bluetooth is off. This can be used, for example, to improve location-based features and services. You can change this in Bluetooth scanning settings."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices. Features like Quick Share and Find My Device use Bluetooth.\n\nApps and services can still scan for nearby devices at any time, even when Bluetooth is off. This can be used, for example, to improve location-based features and services. You can change this in Bluetooth scanning settings."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Change"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Device details"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Keyboard settings"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"More settings"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Firmware updates, about and more"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Tips and support"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Device\'s Bluetooth address: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Device\'s Bluetooth address:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Forget device?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Experimental. Improves audio quality."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Forget device"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Disconnect app"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"More settings"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Maximum connected Bluetooth audio devices"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Select maximum number of connected Bluetooth audio devices"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC verbose vendor debug log"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Restart device?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Detailed NFC logging is intended for development purposes only. Additional NFC data is included in bug reports, which may contain private information. Restart your device to change this setting."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Restart"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"On"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Off"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"External display"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Use external display"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Display resolution"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"External display is disconnected"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Rotation"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standard"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Changing rotation or resolution may stop any apps that are currently running"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Your device must be connected to an external display to mirror your screen"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"More options"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Cast"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"mirror"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Enable wireless display"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptive"</string>
     <string name="brightness" msgid="6216871641021779698">"Brightness level"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Adaptive brightness"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"About adaptive brightness"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Your screen brightness will automatically adjust to your environment and activities. You can move the slider manually to help adaptive brightness learn your preferences."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"On"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Off"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Use <xliff:g id="CARRIER">%1$s</xliff:g> for mobile data?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"You\'re using <xliff:g id="CARRIER2_0">%2$s</xliff:g> for mobile data. If you switch to <xliff:g id="CARRIER1">%1$s</xliff:g>, <xliff:g id="CARRIER2_1">%2$s</xliff:g> will no longer be used for mobile data."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Use <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Update preferred SIM?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> is the only SIM in your device. Do you want to use this SIM for mobile data, calls and SMS messages?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> is now your primary SIM"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Improve mobile data coverage?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Allow your device to automatically switch to <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> for mobile data when it has better availability."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Calls, messages and network traffic may be visible to your organisation."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Options"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibility"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Physical keyboard"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Use on-screen keyboard"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Keep it on screen while physical keyboard is active"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Bounce keys"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"The keyboard ignores quickly repeated presses of the same key within <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Slow keys"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Adjusts the time that it takes for a key press to activate to <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Sticky keys"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Press one key at a time for shortcuts instead of holding keys down together"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Mouse keys"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Use the physical keyboard to control the mouse."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Keyboard shortcuts"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Show list of shortcuts"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Work profile keyboards &amp; tools"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Customise individual touchpad navigation gestures"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Reverse scrolling"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Content moves up when you scroll down"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Bottom-right tap"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Tap the bottom-right corner of the touchpad for more options"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Bottom-right click"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Click in the bottom right-hand corner of the touchpad for more options"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Pointer speed"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Pointer fill style"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Change pointer fill style to black"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Change pointer fill style to yellow"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Change pointer fill style to pink"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Change pointer fill style to blue"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Pointer stroke style"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"White"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Black"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"None"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Learn touchpad gestures"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"trackpad, track pad, mouse, cursor, scroll, swipe, right-click, click, pointer"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"right click, tap"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Reset"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Choose modifier key"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Choose a new key for <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> layout"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Default"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatic: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"User selected: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Speech"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Pointer speed"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Pointer scale"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Decrease pointer scale"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Increase pointer scale"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Game Controller"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Redirect vibration"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Send vibration to game controller when connected"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continue anyway"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Cancel"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Magnification settings"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"One-finger panning"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Move magnifier with 1 finger"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Drag 1 finger to move around the screen"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Move the magnification area by dragging one finger."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Move the magnification area by dragging two fingers."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Unavailable while only magnifying part of the screen"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tap a button to zoom"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Quickly zoom in on the screen to make content larger"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;To zoom in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Use shortcut to start magnification&lt;br/&gt; {1,number,integer}. Tap the screen&lt;br/&gt; {2,number,integer}. Drag two fingers to move around screen&lt;br/&gt; {3,number,integer}. Pinch with two fingers to adjust zoom&lt;br/&gt; {4,number,integer}. Use shortcut to stop magnification&lt;br/&gt;&lt;br/&gt; &lt;b&gt;To zoom in temporarily:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Make sure that your magnification type is set to full screen&lt;br/&gt; {1,number,integer}. Use shortcut to start magnification&lt;br/&gt; {2,number,integer}. Touch and hold anywhere on the screen&lt;br/&gt; {3,number,integer}. Drag finger to move around screen&lt;br/&gt; {4,number,integer}. Lift finger to stop magnification"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;To zoom in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Use shortcut to start magnification&lt;br/&gt; {1,number,integer}. Tap the screen&lt;br/&gt; {2,number,integer}. Drag 2 fingers to move around the screen&lt;br/&gt; {3,number,integer}. Pinch with 2 fingers to adjust zoom&lt;br/&gt; {4,number,integer}. Use shortcut to stop magnification&lt;br/&gt;&lt;br/&gt; You can also zoom in temporarily and more."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;To zoom in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Use shortcut to start magnification&lt;br/&gt; {1,number,integer}. Tap the screen&lt;br/&gt; {2,number,integer}. Drag 1 or 2 fingers to move around the screen&lt;br/&gt; {3,number,integer}. Pinch with 2 fingers to adjust zoom&lt;br/&gt; {4,number,integer}. Use shortcut to stop magnification&lt;br/&gt;&lt;br/&gt; You can also zoom in temporarily and more."</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_pager" msgid="8461939455728454061">"Page <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> of <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Accessibility button shortcut"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Tap the floating button"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Accessibility gesture"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Tap the Accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> at the bottom of your screen. To switch between features, touch and hold the Accessibility button."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Swipe up from the bottom of the screen with two fingers.\n\nTo switch between features, swipe up with two fingers and hold."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Swipe up from the bottom of the screen with three fingers.\n\nTo switch between features, swipe up with three fingers and hold."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Swipe up from the bottom of your screen. To switch between features, swipe up and hold.}other{Swipe up with # fingers from the bottom of your screen. To switch between features, swipe up with # fingers and hold.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"More options"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Learn more about <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Volume keys"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"volume keys"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Press and hold both volume keys"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Two-finger double-tap screen"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d-finger double-tap"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Quickly tap the screen twice with %1$d fingers"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Triple-tap"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Quickly tap the screen %1$d times. This may slow down your device."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d-finger double-tap"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Quickly tap screen {0,number,integer} times with two fingers"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Triple-tap screen"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"triple-tap"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Quickly tap screen {0,number,integer} 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Shortcut settings"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Shortcut from lock screen"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Allow feature shortcut to turn on from the lock screen. Hold both volume keys for a few seconds."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Accessibility button"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Accessibility button and gesture"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"This service is malfunctioning."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Accessibility shortcuts"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Show in Quick Settings"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Red-green"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Red-green"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Red-green, green weak"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Red-green, red weak"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blue-yellow"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Greyscale"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensity"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Green weak, deuteranomaly"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Red weak, protanomaly"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Unavailable for Greyscale mode or when colour correction is disabled"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Extra dim"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Make screen extra dim"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Cyan"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Yellow"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Allow <xliff:g id="SERVICE">%1$s</xliff:g> to have full control of your device?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> needs to:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Because an app is obscuring a permission request, Settings can’t verify your response."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> is requesting full control of this device. The service can read the screen and act on behalf of users with accessibility needs. This level of control is not appropriate for most apps."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Full control is appropriate for apps that help you with accessibility needs, but not for most apps."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"View and control screen"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"It can read all content on the screen and display content over other apps."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"View and perform actions"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"It can track your interactions with an app or a hardware sensor, and interact with apps on your behalf."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Allow"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Deny"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Turn off"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"On / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> and <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"You can also turn on spatial audio for Bluetooth devices."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Connected devices settings"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Spatial audio"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Off"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Off"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Off"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{None}=1{1 schedule set}other{# schedules set}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Do Not Disturb"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Priority modes"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Add a mode"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Modes"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Minimise distractions and take control of your attention with modes for sleep, work, driving and everything in between."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Create your own mode"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Only get notified by important people and apps"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Set a schedule"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Schedule based on"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Day and time"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\'9.00 a.m. – 5.00 p.m. weekdays\'"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Calendar events"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} is active}=2{{mode_1} and {mode_2} are active}=3{{mode_1}, {mode_2} and {mode_3} are active}other{{mode_1}, {mode_2} and # more are active}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 mode can turn on automatically}other{# modes can turn on automatically}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ON"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Not set"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Disabled"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Create a mode"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Custom"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Turn on now"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Turn off"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Mode not found"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limit interruptions"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Block interruptions and distractions"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Set up <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Turn on Do Not Disturb"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarms and media sounds can interrupt"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Schedules"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Delete schedules"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Delete"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Rename"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Delete"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Delete \'<xliff:g id="MODE">%1$s</xliff:g>\' mode?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Edit"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Schedules"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Schedule"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Turn on automatically"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Add a calendar"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Use your calendar"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Schedule"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Set a schedule"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"When to turn on automatically"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Event schedule"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Turn on during events for"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Where invite reply is"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Time schedule"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Schedule"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g>hr, <xliff:g id="MINUTES">%2$d</xliff:g>min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Schedule"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Allow interruptions that make sound"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Notifications that can reach you"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Additional actions"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Notification filters"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"More settings"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Off}=1{Off/1 mode can turn on automatically}other{Off/# modes can turn on automatically}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Display settings"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Display options"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Greyscale"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"Enable Dark theme"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Switch the OS and apps to prefer light text on a dark background, which may be easier on the eyes and confers significant battery savings on some devices"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{No display changes}=1{{effect_1}}=2{{effect_1} and {effect_2}}=3{{effect_1}, {effect_2} and {effect_3}}other{{effect_1}, {effect_2} and # more}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Allow all notifications"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"People, apps and sounds can interrupt"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Display options for filtered notifications"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"When Do Not Disturb is on"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"No sound from notifications"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"open notification"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Allow notification snoozing"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Notification dot on app icon"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Notification bundles"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bubbles"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubbles"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Bubble this conversation"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"It can reply to messages and take action on buttons in notifications, including snoozing or dismissing notifications and answering calls."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Change settings"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"It can turn Do Not Disturb on or off and change related settings."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"It can manage and activate Modes and change related settings."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"If you turn off notification access for <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, Do Not Disturb access may also be turned off."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"If you turn off notification access for <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, Modes access may also be turned off."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Turn off"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Cancel"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Real-time"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"This app doesn’t support enhanced settings"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"More settings"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"More settings are available inside this app"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Adaptive notifications"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Use adaptive notifications"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"When you get many notifications within a short time, your phone will lower volume and minimise pop-ups on screen for up to two minutes. Calls, alarms and priority conversations still vibrate, make a sound or show up on the screen, and all notifications are easy to find when you pull down from the top of the screen."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Notification cooldown"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Use notification cooldown"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"When you receive many notifications within a short time, your device will lower its volume and minimise alerts for up to 2 minutes. Calls, alarms and priority conversations are not affected. \n\nNotifications received during the cooldown can be found by pulling down from the top of the screen."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Apply to work profiles"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Apply to work profile apps"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR helper services"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Do Not Disturb access"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Allow Do Not Disturb"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"No installed apps have requested Do Not Disturb access"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Modes access"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Allow Modes access"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"No installed apps have requested Modes access"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"You haven\'t allowed notifications from this app"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"At your request, Android is blocking this category of notifications from appearing on this device"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"At your request, Android is blocking this group of notifications from appearing on this device"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Categories"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Other"</string>
     <string name="no_channels" msgid="4716199078612071915">"This app has not posted any notifications"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Show unused categories"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Additional settings in the app"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Show unused categories"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Hide unused categories"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversations"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"All conversations"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"all conversations"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Priority conversations"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"priority conversations"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"None"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Apps that can interrupt"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Selected apps"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"None"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"All"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{No apps can interrupt}=1{{app_1} can interrupt}=2{{app_1} and {app_2} can interrupt}=3{{app_1}, {app_2} and {app_3} can interrupt}other{{app_1}, {app_2} and # more can interrupt}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (work)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Calculating…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Allow apps to override"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps that can interrupt"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Select more apps"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Nothing can interrupt"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"No one can interrupt"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Some people can interrupt"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Repeat callers can interrupt"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"All people can interrupt"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Repeat callers"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Allow repeat callers"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Change to alarms only for one hour until {time}}other{Change to alarms only for # hours until {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Change to alarms only until <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Change to always interrupt"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Rename"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Change icon"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Change icon"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Edit mode"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Create a mode"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Custom mode"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Mode name"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Calendar events"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Bedtime routine"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"While driving"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"App settings"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Info and settings in <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Managed by <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Disable <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"This mode will never turn on when disabled"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Disable"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Enable <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"This mode may turn on automatically based on its settings"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Enable"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Set a mode that follows a regular schedule"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Set a mode to sync with calendar events and invite responses"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Design a calming sleep routine. Set alarms, dim the screen and block notifications."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Prioritise safety on the road for a focused and distraction-free drive"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Block distractions or interruptions from your device to gain focus"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Eliminate all distractions for a quiet environment"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Personalise device experiences and settings for different users"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Minimise interruptions by only allowing important people and apps to reach you"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Set a mode that follows a regular schedule"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Keep your device in sync with your day\'s events"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Wake up feeling like 100%"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Put safety first while on the road"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Gain focus to get in the zone"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"For moments when courtesy counts"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Guided usage to help you stay in good hands"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Take control of your attention"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Warning"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Close"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Send feedback about this device"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Must stay turned on because notification access is on"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Revoke access to Do Not Disturb for <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"All Do Not Disturb rules created by this app will be removed."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Allow access to Modes for <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"The app will be able to turn on/off Do Not Disturb, manage and activate Modes and make changes to related settings."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"All modes created by this app will be removed."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Don’t optimise"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimise"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"May drain your battery more quickly. App will no longer be restricted from using background battery."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Case"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Battery"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Settings Panel"</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_desktop_mode" msgid="5644818402534562302">"Enable freeform windows"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Enable freeform windows on secondary display"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Enable non-resizable in Multi-window"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Allows non-resizable apps to be in Multi-window"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Override force-dark"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobile data"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"To improve device experience, apps and services can still scan for Wi‑Fi networks at any time, even when Wi‑Fi is off. This can be used, for example, to improve location-based features and services. You can change this in Wi‑Fi scanning settings."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Change"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Connected"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Temporarily connected"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Temporarily using <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Use app pinning"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Use developer options"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Use print service"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Allow multiple users"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Allow user switch"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"allow, multiple, user, permit, many"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"multiple, users, profiles, people, accounts, switch, many"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Use wireless debugging"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> wants to connect to this phone.\n\nYou haven’t connected to <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> before."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Don’t connect"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Connect"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE settings"</string>
-    <string name="tare_on" msgid="2386073225978684535">"On"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Off"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Revert to default settings"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Settings reverted to default."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Maximum satiated balance"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Balances"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Consumption limits"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Initial consumption limit"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Minimum consumption limit"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Maximum consumption limit"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modifiers"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Actions (cost to produce)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Actions (base price)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Rewards per single event"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Rewards per second of event duration"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Maximum rewards per day"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"App install"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Top activity"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Notification seen"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Notification seen within 15 minutes"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Notification interaction"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Widget interaction"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Other user interaction"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Job max start"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Job max running"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Job high start"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Job high running"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Job default start"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Job default running"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Job low start"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Job low running"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Job min start"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Job min running"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Job timeout penalty"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Minimum satiated balance (exempted)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Minimum satiated balance (headless system app)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Minimum satiated balance (remaining apps)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Minimum satiated balance addition (app updaters)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Charging"</item>
-    <item msgid="658627268149681677">"Doze"</item>
-    <item msgid="1599558140284643834">"Power Save Mode"</item>
-    <item msgid="588427840913221601">"Process state"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Confirm"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Preview"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Choose a screen saver"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Show additional information"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Choose what you’ll see on your screen when your tablet is docked. Your device may use more energy when a screen saver is used."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Customise"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Customise <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"A reboot is required to enable freeform support."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"A reboot is required to force desktop mode on secondary displays."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"A reboot is required to enable freeform window support."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"A reboot is required to update availability of freeform windows."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"A reboot is required to enable freeform windows on secondary displays."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reboot now"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reboot later"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Spatial audio"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Rose"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Violet"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Done"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Save"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Cancel"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Default"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Medium"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"On"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Off"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"On"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Audio %1$d%% left, %2$d%% right"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Audio %1$d%% right, %2$d%% left"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Your device name is visible to apps you installed. It may also be seen by other people when you connect to Bluetooth devices, connect to a Wi-Fi network or set up a Wi-Fi hotspot."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Grammatical gender"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Select grammatical gender"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Audio sharing stopped"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Connect a compatible device"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"To start sharing audio, first connect LE Audio headphones to your phone"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Switch to <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Connect to an LE audio stream"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Nearby audio streams"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Audio streams"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Listen to stream"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Scan an audio stream QR code to listen with <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Can\'t edit password while sharing. To change the password, first turn off audio sharing."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR code scanner"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Need help?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Search settings"</string>
 </resources>
diff --git a/res/values-en-rIN/arrays.xml b/res/values-en-rIN/arrays.xml
index 53f9b0a..53465e7 100644
--- a/res/values-en-rIN/arrays.xml
+++ b/res/values-en-rIN/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Bedtime"</item>
-    <item msgid="4152450357280759894">"Driving"</item>
-    <item msgid="7096549258219399423">"Immersive"</item>
-    <item msgid="2760716776980432977">"Managed"</item>
-    <item msgid="601734478369121764">"Star"</item>
-    <item msgid="6243809315432780521">"Calendar"</item>
-    <item msgid="4913577903148415331">"Time"</item>
-    <item msgid="3653377604690057780">"Theatre"</item>
-    <item msgid="3843711267408385410">"Flower"</item>
+    <item msgid="1216815120972438676">"Briefcase"</item>
+    <item msgid="184985872234062767">"Classical building"</item>
+    <item msgid="9189550412466785530">"Flats"</item>
+    <item msgid="2142527562511049422">"Speech bubble"</item>
+    <item msgid="2548100558260478605">"Group of people"</item>
+    <item msgid="2270003903304578284">"Light bulb"</item>
+    <item msgid="4793496619091161864">"Calendar"</item>
+    <item msgid="5673625795644364100">"Do Not Disturb"</item>
+    <item msgid="1423820834865831361">"Person running"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Gym dumbbell"</item>
+    <item msgid="2730180105015616518">"Swimming"</item>
+    <item msgid="2666922823253345958">"Person hiking"</item>
+    <item msgid="8234880356472211396">"Person throwing a ball"</item>
+    <item msgid="4642980625253001443">"Person kicking"</item>
+    <item msgid="4324795269518833500">"Game controller"</item>
+    <item msgid="7789966425125441125">"Artist colour palette"</item>
+    <item msgid="663512680597461570">"Snowflake"</item>
+    <item msgid="7952183800501346803">"Beach umbrella"</item>
+    <item msgid="799139025758265891">"Workshop tools"</item>
+    <item msgid="1330084588359129896">"Tent"</item>
+    <item msgid="3861584909935022342">"Film reel"</item>
+    <item msgid="5827426100157335512">"Book"</item>
+    <item msgid="8585828346253128384">"Lotus flower"</item>
+    <item msgid="8788370542815300188">"Person\'s mind"</item>
+    <item msgid="7287354964767553293">"Headphones"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Train"</item>
+    <item msgid="4903790544026923026">"Car"</item>
+    <item msgid="5010405583912314582">"Fork and knife"</item>
+    <item msgid="8939998598599064900">"Shopping basket"</item>
+    <item msgid="3379605903308731893">"Child"</item>
+    <item msgid="7808668968550293112">"Animal paw"</item>
+    <item msgid="1000692647524056504">"Star badge"</item>
+    <item msgid="8270261073421676502">"Two people"</item>
+    <item msgid="5767782819651505460">"Star"</item>
+    <item msgid="4368451291862729334">"Heart"</item>
+    <item msgid="2613199102208419986">"House"</item>
+    <item msgid="3022279986430275040">"Half-moon"</item>
+    <item msgid="5421089790869483206">"Clock"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index a933bdf..d74752f 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspended"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"unknown"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Preview"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR code"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Always"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Hearing device settings"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Shortcut, hearing aid compatibility"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Preset"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"There are no presets programmed by your audiologist"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Couldn\'t update preset"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audio output"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"About audio output"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Language selection for this app isn’t available from Settings."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Language may differ from languages available in the app. Some apps may not support this setting."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Set the language for each app."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Your system, apps and websites use the first supported language from your preferred languages."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Your device, apps and websites use the first supported language from your preferred language list.\n\nMany apps will also use the region from your preferred language to format dates, numbers and units. To change your region, add a language, then choose your preferred region."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"To select a language for each app, go to app language settings."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Learn more about app languages"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Change system language to %s ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Off"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{On / # app has access to location}other{On / # apps have access to location}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Loading…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Apps with the Nearby devices permission can determine the relative position of connected devices."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Apps with the Nearby devices permission can determine the relative position of connected devices."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Location access is off for apps and services. Your device location may still be sent to emergency responders when you call or text an emergency number."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Learn more about location settings"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"To change, go to ChromeOS Settings &gt; Privacy and security &gt; Privacy controls &gt; Location access"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Face and <xliff:g id="WATCH">%s</xliff:g> added"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Face, fingerprint and <xliff:g id="WATCH">%s</xliff:g> added"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Face, fingerprints and <xliff:g id="WATCH">%s</xliff:g> added"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Identity check is on and requires a biometric"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote authenticator unlock"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Watch added"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Set up your watch"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Learn more about Watch Unlock"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Add watch"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Remove watch"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Fingerprint and Face Unlock"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Face and Fingerprint Unlock"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Face and Fingerprint Unlock for work"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Setup needed"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Face and fingerprints added"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Setting up private space…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Couldn\'t set up a private space"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Try again"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Exit"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Private space isn\'t available.\nView possible causes"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"View possible causes"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Choose a new lock for private space?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"You can set a new lock just for private space or use the same lock that you use to unlock your device"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Use screen lock"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices.\n\nTo improve device experience, apps and services can still scan for nearby devices at any time, even when Bluetooth is off. This can be used, for example, to improve location-based features and services. You can change this in Bluetooth scanning settings."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices. Features like Quick Share and Find My Device use Bluetooth.\n\nApps and services can still scan for nearby devices at any time, even when Bluetooth is off. This can be used, for example, to improve location-based features and services. You can change this in Bluetooth scanning settings."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Change"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Device details"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Keyboard settings"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"More settings"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Firmware updates, about and more"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Tips and support"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Device\'s Bluetooth address: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Device\'s Bluetooth address:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Forget device?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Experimental. Improves audio quality."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Forget device"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Disconnect app"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"More settings"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Maximum connected Bluetooth audio devices"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Select maximum number of connected Bluetooth audio devices"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC verbose vendor debug log"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Restart device?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Detailed NFC logging is intended for development purposes only. Additional NFC data is included in bug reports, which may contain private information. Restart your device to change this setting."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Restart"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"On"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Off"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"External display"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Use external display"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Display resolution"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"External display is disconnected"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Rotation"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standard"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Changing rotation or resolution may stop any apps that are currently running"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Your device must be connected to an external display to mirror your screen"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"More options"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Cast"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"mirror"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Enable wireless display"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptive"</string>
     <string name="brightness" msgid="6216871641021779698">"Brightness level"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Adaptive brightness"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"About adaptive brightness"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Your screen brightness will automatically adjust to your environment and activities. You can move the slider manually to help adaptive brightness learn your preferences."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"On"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Off"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Use <xliff:g id="CARRIER">%1$s</xliff:g> for mobile data?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"You\'re using <xliff:g id="CARRIER2_0">%2$s</xliff:g> for mobile data. If you switch to <xliff:g id="CARRIER1">%1$s</xliff:g>, <xliff:g id="CARRIER2_1">%2$s</xliff:g> will no longer be used for mobile data."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Use <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Update preferred SIM?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> is the only SIM in your device. Do you want to use this SIM for mobile data, calls and SMS messages?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> is now your primary SIM"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Improve mobile data coverage?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Allow your device to automatically switch to <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> for mobile data when it has better availability."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Calls, messages and network traffic may be visible to your organisation."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Options"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibility"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Physical keyboard"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Use on-screen keyboard"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Keep it on screen while physical keyboard is active"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Bounce keys"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"The keyboard ignores quickly repeated presses of the same key within <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Slow keys"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Adjusts the time that it takes for a key press to activate to <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Sticky keys"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Press one key at a time for shortcuts instead of holding keys down together"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Mouse keys"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Use the physical keyboard to control the mouse."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Keyboard shortcuts"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Show list of shortcuts"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Work profile keyboards &amp; tools"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Customise individual touchpad navigation gestures"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Reverse scrolling"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Content moves up when you scroll down"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Bottom-right tap"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Tap the bottom-right corner of the touchpad for more options"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Bottom-right click"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Click in the bottom right-hand corner of the touchpad for more options"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Pointer speed"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Pointer fill style"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Change pointer fill style to black"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Change pointer fill style to yellow"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Change pointer fill style to pink"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Change pointer fill style to blue"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Pointer stroke style"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"White"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Black"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"None"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Learn touchpad gestures"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"trackpad, track pad, mouse, cursor, scroll, swipe, right-click, click, pointer"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"right click, tap"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Reset"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Choose modifier key"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Choose a new key for <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> layout"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Default"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatic: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"User selected: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Speech"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Pointer speed"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Pointer scale"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Decrease pointer scale"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Increase pointer scale"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Game Controller"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Redirect vibration"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Send vibration to game controller when connected"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continue anyway"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Cancel"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Magnification settings"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"One-finger panning"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Move magnifier with 1 finger"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Drag 1 finger to move around the screen"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Move the magnification area by dragging one finger."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Move the magnification area by dragging two fingers."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Unavailable while only magnifying part of the screen"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tap a button to zoom"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Quickly zoom in on the screen to make content larger"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;To zoom in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Use shortcut to start magnification&lt;br/&gt; {1,number,integer}. Tap the screen&lt;br/&gt; {2,number,integer}. Drag two fingers to move around screen&lt;br/&gt; {3,number,integer}. Pinch with two fingers to adjust zoom&lt;br/&gt; {4,number,integer}. Use shortcut to stop magnification&lt;br/&gt;&lt;br/&gt; &lt;b&gt;To zoom in temporarily:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Make sure that your magnification type is set to full screen&lt;br/&gt; {1,number,integer}. Use shortcut to start magnification&lt;br/&gt; {2,number,integer}. Touch and hold anywhere on the screen&lt;br/&gt; {3,number,integer}. Drag finger to move around screen&lt;br/&gt; {4,number,integer}. Lift finger to stop magnification"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;To zoom in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Use shortcut to start magnification&lt;br/&gt; {1,number,integer}. Tap the screen&lt;br/&gt; {2,number,integer}. Drag 2 fingers to move around the screen&lt;br/&gt; {3,number,integer}. Pinch with 2 fingers to adjust zoom&lt;br/&gt; {4,number,integer}. Use shortcut to stop magnification&lt;br/&gt;&lt;br/&gt; You can also zoom in temporarily and more."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;To zoom in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Use shortcut to start magnification&lt;br/&gt; {1,number,integer}. Tap the screen&lt;br/&gt; {2,number,integer}. Drag 1 or 2 fingers to move around the screen&lt;br/&gt; {3,number,integer}. Pinch with 2 fingers to adjust zoom&lt;br/&gt; {4,number,integer}. Use shortcut to stop magnification&lt;br/&gt;&lt;br/&gt; You can also zoom in temporarily and more."</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_pager" msgid="8461939455728454061">"Page <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> of <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Accessibility button shortcut"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Tap the floating button"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Accessibility gesture"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Tap the Accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> at the bottom of your screen. To switch between features, touch and hold the Accessibility button."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Swipe up from the bottom of the screen with two fingers.\n\nTo switch between features, swipe up with two fingers and hold."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Swipe up from the bottom of the screen with three fingers.\n\nTo switch between features, swipe up with three fingers and hold."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Swipe up from the bottom of your screen. To switch between features, swipe up and hold.}other{Swipe up with # fingers from the bottom of your screen. To switch between features, swipe up with # fingers and hold.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"More options"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Learn more about <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Volume keys"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"volume keys"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Press and hold both volume keys"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Two-finger double-tap screen"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d-finger double-tap"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Quickly tap the screen twice with %1$d fingers"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Triple-tap"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Quickly tap the screen %1$d times. This may slow down your device."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d-finger double-tap"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Quickly tap screen {0,number,integer} times with two fingers"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Triple-tap screen"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"triple-tap"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Quickly tap screen {0,number,integer} 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Shortcut settings"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Shortcut from lock screen"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Allow feature shortcut to turn on from the lock screen. Hold both volume keys for a few seconds."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Accessibility button"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Accessibility button and gesture"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"This service is malfunctioning."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Accessibility shortcuts"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Show in Quick Settings"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Red-green"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Red-green"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Red-green, green weak"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Red-green, red weak"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blue-yellow"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Greyscale"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensity"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Green weak, deuteranomaly"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Red weak, protanomaly"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Unavailable for Greyscale mode or when colour correction is disabled"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Extra dim"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Make screen extra dim"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Cyan"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Yellow"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Allow <xliff:g id="SERVICE">%1$s</xliff:g> to have full control of your device?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> needs to:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Because an app is obscuring a permission request, Settings can’t verify your response."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> is requesting full control of this device. The service can read the screen and act on behalf of users with accessibility needs. This level of control is not appropriate for most apps."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Full control is appropriate for apps that help you with accessibility needs, but not for most apps."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"View and control screen"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"It can read all content on the screen and display content over other apps."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"View and perform actions"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"It can track your interactions with an app or a hardware sensor, and interact with apps on your behalf."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Allow"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Deny"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Turn off"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"On / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> and <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"You can also turn on spatial audio for Bluetooth devices."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Connected devices settings"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Spatial audio"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Off"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Off"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Off"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{None}=1{1 schedule set}other{# schedules set}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Do Not Disturb"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Priority modes"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Add a mode"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Modes"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Minimise distractions and take control of your attention with modes for sleep, work, driving and everything in between."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Create your own mode"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Only get notified by important people and apps"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Set a schedule"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Schedule based on"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Day and time"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\'9.00 a.m. – 5.00 p.m. weekdays\'"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Calendar events"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} is active}=2{{mode_1} and {mode_2} are active}=3{{mode_1}, {mode_2} and {mode_3} are active}other{{mode_1}, {mode_2} and # more are active}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 mode can turn on automatically}other{# modes can turn on automatically}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ON"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Not set"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Disabled"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Create a mode"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Custom"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Turn on now"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Turn off"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Mode not found"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limit interruptions"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Block interruptions and distractions"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Set up <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Turn on Do Not Disturb"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarms and media sounds can interrupt"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Schedules"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Delete schedules"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Delete"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Rename"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Delete"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Delete \'<xliff:g id="MODE">%1$s</xliff:g>\' mode?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Edit"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Schedules"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Schedule"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Turn on automatically"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Add a calendar"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Use your calendar"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Schedule"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Set a schedule"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"When to turn on automatically"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Event schedule"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Turn on during events for"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Where invite reply is"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Time schedule"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Schedule"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g>hr, <xliff:g id="MINUTES">%2$d</xliff:g>min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Schedule"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Allow interruptions that make sound"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Notifications that can reach you"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Additional actions"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Notification filters"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"More settings"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Off}=1{Off/1 mode can turn on automatically}other{Off/# modes can turn on automatically}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Display settings"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Display options"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Greyscale"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"Enable Dark theme"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Switch the OS and apps to prefer light text on a dark background, which may be easier on the eyes and confers significant battery savings on some devices"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{No display changes}=1{{effect_1}}=2{{effect_1} and {effect_2}}=3{{effect_1}, {effect_2} and {effect_3}}other{{effect_1}, {effect_2} and # more}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Allow all notifications"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"People, apps and sounds can interrupt"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Display options for filtered notifications"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"When Do Not Disturb is on"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"No sound from notifications"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"open notification"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Allow notification snoozing"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Notification dot on app icon"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Notification bundles"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bubbles"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubbles"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Bubble this conversation"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"It can reply to messages and take action on buttons in notifications, including snoozing or dismissing notifications and answering calls."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Change settings"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"It can turn Do Not Disturb on or off and change related settings."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"It can manage and activate Modes and change related settings."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"If you turn off notification access for <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, Do Not Disturb access may also be turned off."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"If you turn off notification access for <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, Modes access may also be turned off."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Turn off"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Cancel"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Real-time"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"This app doesn’t support enhanced settings"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"More settings"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"More settings are available inside this app"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Adaptive notifications"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Use adaptive notifications"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"When you get many notifications within a short time, your phone will lower volume and minimise pop-ups on screen for up to two minutes. Calls, alarms and priority conversations still vibrate, make a sound or show up on the screen, and all notifications are easy to find when you pull down from the top of the screen."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Notification cooldown"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Use notification cooldown"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"When you receive many notifications within a short time, your device will lower its volume and minimise alerts for up to 2 minutes. Calls, alarms and priority conversations are not affected. \n\nNotifications received during the cooldown can be found by pulling down from the top of the screen."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Apply to work profiles"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Apply to work profile apps"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR helper services"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Do Not Disturb access"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Allow Do Not Disturb"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"No installed apps have requested Do Not Disturb access"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Modes access"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Allow Modes access"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"No installed apps have requested Modes access"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"You haven\'t allowed notifications from this app"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"At your request, Android is blocking this category of notifications from appearing on this device"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"At your request, Android is blocking this group of notifications from appearing on this device"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Categories"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Other"</string>
     <string name="no_channels" msgid="4716199078612071915">"This app has not posted any notifications"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Show unused categories"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Additional settings in the app"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Show unused categories"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Hide unused categories"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversations"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"All conversations"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"all conversations"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Priority conversations"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"priority conversations"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"None"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Apps that can interrupt"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Selected apps"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"None"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"All"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{No apps can interrupt}=1{{app_1} can interrupt}=2{{app_1} and {app_2} can interrupt}=3{{app_1}, {app_2} and {app_3} can interrupt}other{{app_1}, {app_2} and # more can interrupt}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (work)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Calculating…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Allow apps to override"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps that can interrupt"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Select more apps"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Nothing can interrupt"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"No one can interrupt"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Some people can interrupt"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Repeat callers can interrupt"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"All people can interrupt"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Repeat callers"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Allow repeat callers"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Change to alarms only for one hour until {time}}other{Change to alarms only for # hours until {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Change to alarms only until <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Change to always interrupt"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Rename"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Change icon"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Change icon"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Edit mode"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Create a mode"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Custom mode"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Mode name"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Calendar events"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Bedtime routine"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"While driving"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"App settings"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Info and settings in <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Managed by <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Disable <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"This mode will never turn on when disabled"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Disable"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Enable <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"This mode may turn on automatically based on its settings"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Enable"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Set a mode that follows a regular schedule"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Set a mode to sync with calendar events and invite responses"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Design a calming sleep routine. Set alarms, dim the screen and block notifications."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Prioritise safety on the road for a focused and distraction-free drive"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Block distractions or interruptions from your device to gain focus"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Eliminate all distractions for a quiet environment"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Personalise device experiences and settings for different users"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Minimise interruptions by only allowing important people and apps to reach you"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Set a mode that follows a regular schedule"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Keep your device in sync with your day\'s events"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Wake up feeling like 100%"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Put safety first while on the road"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Gain focus to get in the zone"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"For moments when courtesy counts"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Guided usage to help you stay in good hands"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Take control of your attention"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Warning"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Close"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Send feedback about this device"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Must stay turned on because notification access is on"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Revoke access to Do Not Disturb for <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"All Do Not Disturb rules created by this app will be removed."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Allow access to Modes for <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"The app will be able to turn on/off Do Not Disturb, manage and activate Modes and make changes to related settings."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"All modes created by this app will be removed."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Don’t optimise"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimise"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"May drain your battery more quickly. App will no longer be restricted from using background battery."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Case"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Battery"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Settings Panel"</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_desktop_mode" msgid="5644818402534562302">"Enable freeform windows"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Enable freeform windows on secondary display"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Enable non-resizable in Multi-window"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Allows non-resizable apps to be in Multi-window"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Override force-dark"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobile data"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"To improve device experience, apps and services can still scan for Wi‑Fi networks at any time, even when Wi‑Fi is off. This can be used, for example, to improve location-based features and services. You can change this in Wi‑Fi scanning settings."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Change"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Connected"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Temporarily connected"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Temporarily using <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Use app pinning"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Use developer options"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Use print service"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Allow multiple users"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Allow user switch"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"allow, multiple, user, permit, many"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"multiple, users, profiles, people, accounts, switch, many"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Use wireless debugging"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> wants to connect to this phone.\n\nYou haven’t connected to <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> before."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Don’t connect"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Connect"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE settings"</string>
-    <string name="tare_on" msgid="2386073225978684535">"On"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Off"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Revert to default settings"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Settings reverted to default."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Maximum satiated balance"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Balances"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Consumption limits"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Initial consumption limit"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Minimum consumption limit"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Maximum consumption limit"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modifiers"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Actions (cost to produce)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Actions (base price)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Rewards per single event"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Rewards per second of event duration"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Maximum rewards per day"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"App install"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Top activity"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Notification seen"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Notification seen within 15 minutes"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Notification interaction"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Widget interaction"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Other user interaction"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Job max start"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Job max running"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Job high start"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Job high running"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Job default start"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Job default running"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Job low start"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Job low running"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Job min start"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Job min running"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Job timeout penalty"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Minimum satiated balance (exempted)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Minimum satiated balance (headless system app)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Minimum satiated balance (remaining apps)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Minimum satiated balance addition (app updaters)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Charging"</item>
-    <item msgid="658627268149681677">"Doze"</item>
-    <item msgid="1599558140284643834">"Power Save Mode"</item>
-    <item msgid="588427840913221601">"Process state"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Confirm"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Preview"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Choose a screen saver"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Show additional information"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Choose what you’ll see on your screen when your tablet is docked. Your device may use more energy when a screen saver is used."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Customise"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Customise <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"A reboot is required to enable freeform support."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"A reboot is required to force desktop mode on secondary displays."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"A reboot is required to enable freeform window support."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"A reboot is required to update availability of freeform windows."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"A reboot is required to enable freeform windows on secondary displays."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reboot now"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reboot later"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Spatial audio"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Rose"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Violet"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Done"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Save"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Cancel"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Default"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Medium"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"On"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Off"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"On"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Audio %1$d%% left, %2$d%% right"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Audio %1$d%% right, %2$d%% left"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Your device name is visible to apps you installed. It may also be seen by other people when you connect to Bluetooth devices, connect to a Wi-Fi network or set up a Wi-Fi hotspot."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Grammatical gender"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Select grammatical gender"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Audio sharing stopped"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Connect a compatible device"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"To start sharing audio, first connect LE Audio headphones to your phone"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Switch to <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Connect to an LE audio stream"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Nearby audio streams"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Audio streams"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Listen to stream"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Scan an audio stream QR code to listen with <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Can\'t edit password while sharing. To change the password, first turn off audio sharing."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR code scanner"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Need help?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Search settings"</string>
 </resources>
diff --git a/res/values-en-rXC/arrays.xml b/res/values-en-rXC/arrays.xml
index 2fbc34c..f8a20c7 100644
--- a/res/values-en-rXC/arrays.xml
+++ b/res/values-en-rXC/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‎‏‎‎‎‎‏‏‎‏‏‏‏‎‏‎‎‏‏‎‏‎‎‏‏‎‎‎‏‏‎‎‏‏‏‏‎‎‏‎‏‎‏‎‏‎‎‏‏‏‎‎‏‏‎‎Bedtime‎‏‎‎‏‎"</item>
-    <item msgid="4152450357280759894">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‎‏‎‎‎‎‎‎‏‏‏‎‏‏‏‏‎‎‏‏‎‎‏‎‏‏‎‏‏‎‏‎‎‏‎‏‎‎‏‏‏‏‎‎‎‎‎‎‏‎‏‎‏‏‎‎Driving‎‏‎‎‏‎"</item>
-    <item msgid="7096549258219399423">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‏‏‏‎‎‎‎‎‎‎‎‎‏‏‏‏‏‎‎‏‏‏‎‎‎‎‎‏‏‎‎‏‏‏‎‏‎‏‎‏‎‏‎‎‎‏‏‏‏‏‏‏‏‎Immersive‎‏‎‎‏‎"</item>
-    <item msgid="2760716776980432977">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‎‏‎‏‎‎‎‎‎‎‎‎‏‎‎‏‎‏‎‎‏‎‎‎‎‎‏‎‎‎‎‏‎‏‏‎‎‎‎‏‎‏‎‎‏‎‎‎‎‏‎‏‎‎‎‏‎Managed‎‏‎‎‏‎"</item>
-    <item msgid="601734478369121764">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‎‏‎‏‏‎‎‏‏‏‎‎‏‎‏‎‎‏‎‏‎‎‎‏‏‏‏‎‏‎‎‎‎‏‎‎‏‎‏‏‏‏‏‎‎‏‎‏‏‏‏‎‎‏‎‎‎Star‎‏‎‎‏‎"</item>
-    <item msgid="6243809315432780521">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‏‎‎‏‏‎‎‏‏‏‎‏‏‏‎‏‏‏‏‏‎‏‏‏‎‎‎‎‏‏‏‎‏‎‎‏‎‏‎‏‎‏‎‎‏‎‏‏‏‎‏‎‎‏‎Calendar‎‏‎‎‏‎"</item>
-    <item msgid="4913577903148415331">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‏‏‎‎‎‎‏‎‎‎‏‎‎‏‎‎‎‏‎‎‎‏‏‏‎‏‎‏‎‏‎‏‎‏‏‏‏‎‏‎‏‏‏‎‎‏‎‏‏‎‎‎‏‏‎Time‎‏‎‎‏‎"</item>
-    <item msgid="3653377604690057780">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‏‎‏‏‎‎‏‏‎‏‏‎‎‏‏‏‏‎‎‏‎‎‏‏‎‎‏‏‎‏‎‏‏‏‏‎‏‎‏‏‎‎‎‏‏‎‏‎‎‎‏‏‎‏‎‎‎Theater‎‏‎‎‏‎"</item>
-    <item msgid="3843711267408385410">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‏‎‏‎‏‎‏‏‏‏‎‎‏‏‎‏‏‎‎‎‎‏‎‎‎‎‏‏‎‏‎‎‏‎‎‎‎‏‎‏‏‎‎‎‏‎‏‎‏‏‎‎‎‎‎‏‎‎Flower‎‏‎‎‏‎"</item>
+    <item msgid="1216815120972438676">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‏‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‏‏‏‎‏‎‎‏‎‏‏‏‎‎‎‏‎‏‏‎‏‏‏‎‎‏‎‎‏‎‏‎‎‎Briefcase‎‏‎‎‏‎"</item>
+    <item msgid="184985872234062767">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‎‎‏‎‎‎‏‎‎‏‏‎‎‏‏‏‎‏‎‏‎‏‏‏‎‏‏‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‎‏‏‏‎‏‎‏‏‏‏‎Classical building‎‏‎‎‏‎"</item>
+    <item msgid="9189550412466785530">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‏‏‎‏‎‏‏‏‎‏‏‎‏‎‎‏‎‏‏‎‏‏‎‎‏‎‏‎‎‎‎‎‏‎‎‎‏‏‎‎‏‏‏‏‏‎‏‎‎Apartment building‎‏‎‎‏‎"</item>
+    <item msgid="2142527562511049422">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‏‎‏‏‏‎‏‏‏‏‎‎‏‎‎‏‎‏‏‏‎‏‏‏‎‏‏‎‏‏‎‎‏‏‏‏‎‏‎‎‎‏‏‎‎‎‏‎‏‏‎‎‏‏‏‎‎Speech bubble‎‏‎‎‏‎"</item>
+    <item msgid="2548100558260478605">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‎‏‎‏‏‏‎‎‏‎‏‎‏‎‏‏‏‏‏‏‎‏‎‏‎‎‎‏‎‎‏‏‎‎‎‏‎‏‏‏‎‎‏‎‎‎‏‎‏‎‎‎‏‏‎‏‎Group of people‎‏‎‎‏‎"</item>
+    <item msgid="2270003903304578284">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‏‎‏‎‏‏‎‎‏‎‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‏‏‏‎‎‎‎‎‏‏‎‏‎‎‏‏‏‎‏‏‎‎‎Lightbulb‎‏‎‎‏‎"</item>
+    <item msgid="4793496619091161864">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‎‎‎‏‎‏‏‏‏‎‏‎‏‏‏‏‎‎‎‏‏‏‎‎‏‎‏‏‎‎‏‏‏‏‎‏‏‎‏‏‏‏‎‎‏‏‎‎‎‎‏‎‎‎‎Calendar‎‏‎‎‏‎"</item>
+    <item msgid="5673625795644364100">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‏‏‏‏‎‎‏‏‎‎‎‏‎‎‏‎‎‏‏‎‎‏‏‏‎‏‏‎‎‏‏‏‏‎‎‎‎‎‎‎‎‏‎‏‎‏‎‏‎‎‎‏‎‎‎Do Not Disturb‎‏‎‎‏‎"</item>
+    <item msgid="1423820834865831361">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‏‏‎‎‎‎‏‎‎‏‏‎‏‏‎‏‏‎‎‎‎‎‎‏‎‏‏‎‏‏‎‏‏‏‏‏‏‎‏‎‎‏‎‏‏‏‎‏‏‏‎‎‎‎‎‏‎Person running‎‏‎‎‏‎"</item>
+    <item msgid="2037298830718732608">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‏‎‎‎‏‎‏‏‏‏‏‎‎‎‎‎‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‎‏‎‎‏‏‏‏‎‎‎‎‏‎‎‏‎‏‎‎‎‎‎‎‎Golf‎‏‎‎‏‎"</item>
+    <item msgid="2197835014443491074">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‏‎‎‎‎‎‎‎‎‏‎‎‎‏‏‏‎‏‎‎‏‏‎‏‎‎‎‎‏‏‏‎‏‏‎‏‎‎‎‏‏‏‎‏‏‏‏‏‎‎‎‎‎‎‏‎‎Gym dumbbell‎‏‎‎‏‎"</item>
+    <item msgid="2730180105015616518">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‏‏‏‎‎‎‏‏‏‎‎‎‏‏‎‎‎‏‎‏‎‏‏‏‎‎‏‎‎‏‎‎‎‏‎‎‏‎‏‏‎‏‏‎‎‏‎‎‎‎‎‎‎‏‏‎‎Swimming‎‏‎‎‏‎"</item>
+    <item msgid="2666922823253345958">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‎‎‎‎‎‎‏‎‏‏‎‏‎‎‎‎‎‎‏‎‏‏‎‏‏‎‎‎‎‎‏‏‎‏‏‎‎‏‎‏‏‏‎‎‎‏‏‎‏‎‏‎‎‏‏‎‎Person hiking‎‏‎‎‏‎"</item>
+    <item msgid="8234880356472211396">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‎‏‏‎‎‎‎‎‎‏‏‎‏‏‏‎‎‏‏‏‏‎‏‎‏‏‏‏‎‎‏‎‎‎‏‏‏‏‏‎‎‎‏‎‎‎Person throwing ball‎‏‎‎‏‎"</item>
+    <item msgid="4642980625253001443">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‏‏‎‏‏‏‏‎‎‏‎‏‏‏‎‎‏‎‎‎‏‏‏‎‏‏‏‎‎‏‏‎‎‏‏‏‎‎‏‏‏‏‎‏‎‎‎‏‏‏‎‎‎‏‏‎Person kicking‎‏‎‎‏‎"</item>
+    <item msgid="4324795269518833500">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‎‎‎‎‎‏‎‎‏‏‎‎‎‎‏‎‎‏‏‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‏‎‏‏‏‎‏‎‏‏‏‎‎‎Game controller‎‏‎‎‏‎"</item>
+    <item msgid="7789966425125441125">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‏‏‎‏‏‏‎‎‎‎‏‎‏‎‎‏‏‎‎‎‎‏‏‎‎‏‏‎‏‏‏‎‏‎‎‏‎‎‏‎‎‏‏‏‎‎‏‏‎‎‏‎‏‎Artist color palette‎‏‎‎‏‎"</item>
+    <item msgid="663512680597461570">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‎‎‏‏‎‏‎‏‎‏‎‎‎‏‎‏‎‏‎‎‎‏‎‎‎‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‎‏‎‎‏‎‎‎‎‏‎‎Snowflake‎‏‎‎‏‎"</item>
+    <item msgid="7952183800501346803">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‏‏‎‏‏‏‏‎‏‎‏‎‏‎‎‎‎‏‎‎‎‏‎‏‏‏‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‏‏‏‏‎‎‏‏‎Beach umbrella‎‏‎‎‏‎"</item>
+    <item msgid="799139025758265891">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‎‎‎‏‎‏‏‏‎‎‎‏‏‏‎‎‏‎‏‏‎‏‎‏‏‎‏‏‏‏‎‎‎‏‏‏‏‎‎‏‎‎‏‎‎‎‏‎‎‎‏‎‎‎‏‏‎Workshop tools‎‏‎‎‏‎"</item>
+    <item msgid="1330084588359129896">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‎‏‏‏‎‏‎‏‎‏‏‎‏‎‎‎‏‏‏‎‎‎‏‎‏‏‎‏‎‎‏‎‎‏‎‏‏‏‏‎‎‎‎‏‏‎‏‏‎‎‏‎‏‎‎‎‎Tent‎‏‎‎‏‎"</item>
+    <item msgid="3861584909935022342">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‏‏‎‎‏‎‏‏‏‎‎‎‏‏‎‏‏‎‎‎‎‎‏‎‎‎‎‎‏‏‎‏‎‏‎‏‎‏‏‏‏‏‎‎‏‎‎‎‏‎‎‎‎‎‏‏‎‎Film reel‎‏‎‎‏‎"</item>
+    <item msgid="5827426100157335512">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‏‎‏‏‏‏‏‎‎‏‎‏‏‎‏‎‎‏‎‏‎‎‏‏‎‏‏‏‏‏‎‏‎‏‏‎‏‏‏‏‏‎‎‎‏‏‏‏‏‎‏‏‎‎‎‎Book‎‏‎‎‏‎"</item>
+    <item msgid="8585828346253128384">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‎‏‏‎‏‏‏‏‏‏‎‏‎‏‏‎‎‏‎‎‎‎‏‎‏‎‎‎‏‏‏‎‎‏‎‏‏‎‏‏‎‎‏‎‏‏‎‎‎‎‎‎‎Lotus flower‎‏‎‎‏‎"</item>
+    <item msgid="8788370542815300188">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‏‏‎‏‎‎‏‎‎‎‎‎‏‏‏‎‎‏‎‎‎‏‎‎‏‏‏‎‎‎‎‎‎‏‏‎‏‎‎‏‎‏‎‎‏‎‏‏‏‎‎‎Person\'s mind‎‏‎‎‏‎"</item>
+    <item msgid="7287354964767553293">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‎‎‎‎‏‏‏‏‎‎‎‏‎‏‎‏‏‏‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‎‏‏‎‎‎‏‏‎‏‏‏‎‎‎‎‏‏‎‏‎Headphones‎‏‎‎‏‎"</item>
+    <item msgid="2530059623783800987">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‎‎‎‏‏‏‎‎‏‎‎‏‎‎‏‏‏‏‎‏‎‎‏‎‏‎‏‏‎‎‎‎‎‎‏‏‎‎‎‏‎‎‏‎‎‎‎‎‏‎‎‏‏‎‏‏‎TV‎‏‎‎‏‎"</item>
+    <item msgid="5307182323469376758">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‏‎‎‏‏‎‏‏‏‎‎‏‏‎‎‎‏‏‎‏‎‎‎‏‎‏‏‏‎‎‏‎‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‏‏‎‏‏‎‎Train‎‏‎‎‏‎"</item>
+    <item msgid="4903790544026923026">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‎‎‏‏‎‏‏‏‎‎‎‎‏‏‏‎‎‎‎‏‎‎‏‎‏‏‎‏‎‏‏‎‏‎‎‏‎‎‏‏‏‏‎‎‎‎‎‎‎‏‎‎‏‎‎Car‎‏‎‎‏‎"</item>
+    <item msgid="5010405583912314582">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‎‎‏‎‎‎‏‎‎‎‏‎‎‏‎‏‎‏‎‏‎‏‎‎‎‏‎‎‎‏‏‎‏‏‏‎‏‎‎‎‏‎‎‏‏‎‏‏‎‏‎‏‏‎‎Fork and knife‎‏‎‎‏‎"</item>
+    <item msgid="8939998598599064900">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‎‎‎‏‎‏‎‏‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‎‏‎‏‎‎‎‏‎‎‎Shopping cart‎‏‎‎‏‎"</item>
+    <item msgid="3379605903308731893">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‏‏‏‎‎‏‏‎‏‏‎‎‎‏‎‏‏‎‏‎‏‎‎‏‏‏‎‎‎‎‏‏‏‎‎‎‎‏‏‏‏‎‏‏‎‏‎‏‏‏‏‏‎‏‎‏‎Child‎‏‎‎‏‎"</item>
+    <item msgid="7808668968550293112">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‏‏‏‎‎‎‎‏‏‏‎‎‎‎‎‎‏‏‏‎‎‎‎‏‏‏‎‎‏‎‏‏‏‏‎‎‏‏‏‏‎‎‎‎Animal paw‎‏‎‎‏‎"</item>
+    <item msgid="1000692647524056504">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‏‏‎‎‎‏‏‎‎‏‎‏‏‎‎‏‎‏‎‏‎‎‏‎‎‏‏‏‎‎‏‎‎‎‎‎‏‎‎‎‎‏‏‏‏‎‏‏‎‏‏‏‎‎‎‎Star badge‎‏‎‎‏‎"</item>
+    <item msgid="8270261073421676502">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‏‎‏‎‎‎‎‎‏‏‏‎‏‎‎‏‎‎‎‎‏‎‏‎‎‎‏‎‏‏‏‏‏‏‎‏‎‏‏‎‎Two people‎‏‎‎‏‎"</item>
+    <item msgid="5767782819651505460">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‎‎‏‎‏‏‎‏‎‎‎‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‏‎‏‎‏‏‏‎‏‏‎‏‏‏‎‎‏‏‎‏‎‎‏‏‎‏‎‎‎Star‎‏‎‎‏‎"</item>
+    <item msgid="4368451291862729334">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‏‎‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‏‏‏‎‎‎‎‎‏‏‏‎‎‎‎‏‎‎‏‏‎‎‎‎‎‎‏‎‎‏‏‏‎‏‏‎‎Heart‎‏‎‎‏‎"</item>
+    <item msgid="2613199102208419986">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‎‏‎‎‎‎‏‏‏‏‏‏‎‎‏‎‏‎‏‏‏‏‎‎‏‏‏‏‎‏‏‎‏‎‎‎‎‎‎‎‏‎‏‎‏‎‎‎‏‎‎‏‎‎‏‎‎House‎‏‎‎‏‎"</item>
+    <item msgid="3022279986430275040">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‏‏‏‎‎‎‏‎‏‎‎‏‎‏‏‏‎‏‎‎‎‏‎‏‎‎‎‏‎‏‎‏‏‏‏‎‎‏‎‏‏‏‎‏‏‎‏‏‏‏‎‎‎‎‎‎Half-moon‎‏‎‎‏‎"</item>
+    <item msgid="5421089790869483206">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‏‎‎‏‏‏‎‏‏‏‎‎‏‎‏‎‎‎‏‏‏‎‎‎‏‎‏‎‏‎‎‎‎‎‏‎‎‎‏‎‏‏‎‏‎‏‏‏‎‏‏‎‎‎‏‏‎‎Clock‎‏‎‎‏‎"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index aa900ae..cdd3faf 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‏‏‎‎‎‏‎‏‏‏‏‎‎‎‏‎‎‏‎‎‏‎‎‏‏‎‏‎‏‎‎‎‏‏‏‏‎‏‏‎‏‏‏‏‎‎‏‎‎‎‎‏‎‎‏‏‎Suspended‎‏‎‎‏‎"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‎‎‏‎‎‎‏‏‏‎‎‏‎‎‎‏‎‎‎‏‏‎‏‎‏‎‏‎‎‏‎‏‎‏‎‏‎‏‏‎‎‎‏‎‎‎‎‏‎‏‏‏‏‎Unknown‎‏‎‎‏‎"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‎‎‏‏‎‏‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‏‎‏‏‎‏‎‏‎‏‏‎‏‎‎‎‏‎‏‏‎‎‏‎‏‏‏‏‎Preview‎‏‎‎‏‎"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‏‎‏‏‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‏‎‎‎‏‏‏‏‎‎‏‏‏‎‏‎‏‏‏‏‎‎‎‎‎‎‎‎‏‏‎‏‎‎‏‏‎QR code‎‏‎‎‏‎"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‏‏‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‎‎‏‎‏‏‏‏‎‏‎‎‎‏‏‏‎‎‏‎‏‏‎‏‏‎‎‏‏‎‏‎Always‎‏‎‎‏‎"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‏‎‎‏‏‎‏‏‎‎‏‏‏‏‏‎‎‎‏‎‏‏‎‏‏‎‎‎‏‏‏‎‎‏‏‏‏‎‏‎‏‎‏‎‏‏‏‏‎‎‎‏‎Hearing device settings‎‏‎‎‏‎"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‏‎‎‎‎‏‏‎‎‏‏‎‎‎‏‎‎‎‏‎‏‏‎‏‎‎‏‎‎‎‏‏‎‏‏‎‎‎‏‎‎‎‎‏‏‏‏‎‏‏‎‎‏‎‏‏‎‎Shortcut, hearing aid compatibility‎‏‎‎‏‎"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‎‎‏‏‎‎‎‎‎‏‏‏‎‎‎‏‏‏‎‎‎‎‎‎‎‏‎‏‎‎‏‎‏‏‎‎‏‏‏‏‎‎‎‏‎‏‎‎‏‎‎‏‎‎‎Preset‎‏‎‎‏‎"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‏‏‎‏‏‎‎‎‎‏‎‏‏‏‎‎‏‏‏‏‎‏‏‏‏‏‎‎‎‏‏‎‏‏‏‎‎‎‎‏‎‎‏‎‎‏‎‎‏‎‏‏‏‎‏‏‎There are no presets programmed by your audiologist‎‏‎‎‏‎"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎‎‏‎‎‏‏‏‏‎‏‎‎‏‎‏‎‎‏‏‏‏‎‎‏‏‏‏‎‎‏‎‎‎‏‎‎‎‎‎‏‎‎‏‎‎‎‎‎‎‎‎‏‎‎‎Couldn’t update preset‎‏‎‎‏‎"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‏‎‏‎‎‎‎‎‏‎‏‏‎‏‎‏‏‎‎‎‏‏‎‎‏‎‏‎‏‎‏‏‏‏‎‎‎‏‎‎‏‎‏‏‎‎‏‎‏‎‎‎‏‎‎Audio output‎‏‎‎‏‎"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‎‏‏‏‏‏‎‎‎‎‎‎‏‏‎‎‏‏‎‏‏‎‎‏‎‏‎‏‏‏‏‎‏‏‎‏‎‏‎‏‏‏‎‎‏‏‏‎‏‏‎‎‏‎‎About audio output‎‏‎‎‏‎"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‎‏‏‏‎‎‎‎‎‎‎‏‏‏‎‏‏‏‏‎‎‎‎‏‏‏‎‏‏‎‏‎‎‎‏‏‎‎‏‏‏‏‎‎‏‏‎‎‏‎‎‏‎Language selection for this app isn’t available from Settings.‎‏‎‎‏‎"</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‏‏‏‏‏‎‏‏‏‎‏‏‏‏‎‎‎‏‏‎‏‎‏‏‏‎‎‏‏‎‎‎‏‏‎‏‏‎‎‏‎‎‏‏‏‏‎‎‏‏‏‏‎‎‎Language may differ from languages available in the app. Some apps may not support this setting.‎‏‎‎‏‎"</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‎‏‏‎‏‎‏‎‏‏‏‎‏‏‎‏‎‎‎‎‎‏‎‏‏‎‏‎‏‎‎‏‏‎‏‏‎‏‎‏‎‏‎‎‎‎‏‎‎‏‏‎‏‏‎Set the language for each app.‎‏‎‎‏‎"</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‏‏‎‏‎‎‏‎‎‏‏‏‎‎‎‏‎‏‎‎‏‎‏‎‏‎‏‏‎‎‎‎‏‎‎‎‎‏‎‎‎‏‏‎‎‎‏‏‏‏‏‎‎‎‏‎Your system, apps, and websites use the first supported language from your preferred languages.‎‏‎‎‏‎"</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‏‎‏‎‏‏‏‎‎‏‏‎‏‏‏‎‎‎‎‏‏‎‏‎‏‏‏‎‏‎‎‎‏‎‏‎‎‏‏‏‏‎‏‏‎‎‏‎‏‏‎‏‎‎‏‏‎Your device, apps, and websites use the first supported language from your preferred language list.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Many apps will also use the region from your preferred language to format dates, numbers, and units. To change your region, add a language, then choose your preferred region.‎‏‎‎‏‎"</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‏‎‏‏‏‏‎‎‏‎‏‎‏‏‏‎‏‏‏‎‏‎‏‎‏‏‎‏‏‎‎‏‎‏‎‎‏‎‏‎‎‎‎‏‏‏‏‎‏‎‎‎‏‏‏‎To select a language for each app, go to app language settings.‎‏‎‎‏‎"</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‎‏‎‎‏‎‏‎‏‏‏‎‏‏‏‎‎‏‏‎‏‏‏‎‎‏‎‎‏‎‏‏‎‎‎‎‏‏‎‏‎‎‎‏‎‏‏‏‎‎‏‏‏‏‎Learn more about app languages‎‏‎‎‏‎"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‎‏‎‏‎‏‎‎‎‎‏‎‎‎‏‎‎‎‏‏‏‏‏‎‎‏‏‏‏‎‏‎‎‎‏‎‏‎‎‎‏‎‏‎‏‎‏‎‎‏‏‏‎Change system language to %s ?‎‏‎‎‏‎"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‎‏‎‏‎‏‏‎‏‎‏‏‏‎‎‏‏‎‏‎‏‏‎‏‏‏‏‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‎‎‎‎‏‎‏‏‎‎Off‎‏‎‎‏‎"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‏‎‎‏‏‎‏‏‏‎‎‏‏‏‏‎‏‏‏‎‎‏‏‏‏‎‎‎‏‎‏‏‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‏‏‏‎‏‎‏‎‎On / # app has access to location‎‏‎‎‏‎}other{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‏‎‎‏‏‎‏‏‏‎‎‏‏‏‏‎‏‏‏‎‎‏‏‏‏‎‎‎‏‎‏‏‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‏‏‏‎‏‎‏‎‎On / # apps have access to location‎‏‎‎‏‎}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‎‎‎‏‎‎‎‏‏‏‏‏‏‏‎‎‏‏‏‏‎‏‏‎‎‏‎‎‏‏‎‏‏‎‎‏‏‏‏‎‎‎‎‏‏‎‏‏‎‏‏‏‏‎‎Loading…‎‏‎‎‏‎"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‏‏‏‎‎‎‎‏‎‎‏‏‏‏‏‏‎‏‎‏‎‏‎‏‎‎‎‏‎‎‎‎‎‏‏‎‏‏‏‏‎‏‎‎‎‏‎‏‏‎‏‎‏‎‏‎Apps with the Nearby devices permission can determine the relative position of connected devices.‎‏‎‎‏‎"</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‏‎‏‏‎‎‎‎‏‎‎‏‎‎‎‏‏‎‎‏‎‏‏‎‎‏‎‏‎‏‎‎‎‏‏‏‎‏‎‏‏‎‏‎‎‎‏‏‎‏‏‏‏‏‎‎Apps with the nearby devices permission can determine the relative position of connected devices.‎‏‎‎‏‎"</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‏‎‏‏‎‎‏‏‎‎‎‎‎‏‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‎‎‎‏‎‎‎‏‎‏‎‎‎‎‎‎‎‎Location access is off for apps and services. Your device location may still be sent to emergency responders when you call or text an emergency number.‎‏‎‎‏‎"</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‏‏‎‏‏‎‎‏‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‏‏‎‎‏‎‎‏‏‎‎‎‎‏‎‎‎Learn more about Location settings‎‏‎‎‏‎"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‏‏‏‏‎‏‎‎‏‎‏‎‎‎‎‎‏‏‎‏‏‎‎‎‎‎‏‏‏‎‏‎‎‎‎‏‎‏‎‏‎‎‎‎‏‏‏‎‏‏‏‏‏‏‎To change go to ChromeOS Settings &gt; Privacy and security &gt; Privacy controls &gt; Location access‎‏‎‎‏‎"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‏‏‏‎‏‏‎‏‏‏‏‎‎‏‎‎‎‎‏‏‏‎‏‎‎‏‎‏‏‏‎‏‎‎‏‎‎‏‎‏‏‎‏‏‏‏‎‎‏‎‏‎‎‏‎Face and ‎‏‎‎‏‏‎<xliff:g id="WATCH">%s</xliff:g>‎‏‎‎‏‏‏‎ added‎‏‎‎‏‎"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‏‎‎‏‏‏‎‏‏‎‏‎‎‏‏‏‏‎‏‏‎‏‏‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‎‎‎‏‎‏‏‎‏‏‎‏‏‏‎‎‎‎‎Face, fingerprint, and ‎‏‎‎‏‏‎<xliff:g id="WATCH">%s</xliff:g>‎‏‎‎‏‏‏‎ added‎‏‎‎‏‎"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‏‏‏‎‏‏‎‏‏‎‏‎‏‎‎‎‎‏‎‏‏‏‎‏‏‏‎‏‎‎‏‎‎‏‎‏‏‏‏‏‏‎‏‎‏‎‎‏‎‎‏‎‎‎Face, fingerprints, and ‎‏‎‎‏‏‎<xliff:g id="WATCH">%s</xliff:g>‎‏‎‎‏‏‏‎ added‎‏‎‎‏‎"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‏‏‏‎‏‏‎‏‏‏‎‎‎‎‏‎‏‎‎‎‎‎‏‏‎‏‏‏‏‏‏‎‏‎‎‎‎‎‎‎‏‏‎‎‏‎‎‎‏‎‏‏‏‏‎Identity Check is on and requires a biometric‎‏‎‎‏‎"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‏‎‏‎‏‏‏‎‎‎‏‎‎‏‎‏‏‎‏‏‏‎‎‏‎‎‎‎‏‏‎‎‎‎‎‎‏‏‎‏‏‏‏‎‎‏‏‏‏‎‏‎Remote Authenticator Unlock‎‏‎‎‏‎"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‏‏‎‏‎‎‏‏‏‏‏‎‏‎‎‏‎‎‏‎‏‎‎‏‎‎‏‎‏‎‎‏‎‎‎‏‎‏‏‎‏‎‎‏‎‏‎‎‎‏‏‏‏‎‎‎Watch added‎‏‎‎‏‎"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‏‏‎‏‏‎‎‏‏‏‏‎‎‏‏‏‎‏‏‏‎‏‏‏‎‎‎‏‏‎‏‎‏‎‎‏‎‎‎‏‏‎‏‎‎‏‎‏‎‏‏‏‎‏‏‏‎Set up your watch‎‏‎‎‏‎"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‎‏‏‏‎‏‎‏‎‏‏‏‎‏‏‏‎‏‎‏‎‏‏‏‎‏‏‏‏‎‎‏‏‎‎‏‎‏‏‎‎‎‎‎‎‎‏‎‏‎‎‏‎‎‏‎‎Learn more about Watch Unlock‎‏‎‎‏‎"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‎‎‏‎‏‎‏‏‏‎‎‎‎‏‎‎‏‎‏‎‏‎‏‎‏‎‎‎‏‎‎‎‏‏‎‎‎‎‏‎‏‎‎‎‏‏‏‏‎Add watch‎‏‎‎‏‎"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‏‏‎‎‏‏‏‏‎‎‏‏‎‏‏‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‎‏‎‎‎‎‏‎‏‏‎‎‎‎‏‏‏‎‏‎‎‏‎‎Remove watch‎‏‎‎‏‎"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‎‏‎‎‎‎‎‏‏‎‏‏‎‏‏‏‏‎‏‏‎‎‎‏‏‏‏‏‎‏‏‎‎‎‎‏‏‏‎‏‎‏‏‎‏‎‎‎‏‏‎‎‏‎‎Fingerprint &amp; Face Unlock‎‏‎‎‏‎"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‎‎‏‎‎‎‏‏‎‎‏‏‏‎‏‎‏‎‏‎‎‏‎‏‏‎‏‎‏‏‎‎‏‏‎‎‏‎‏‎‎‏‎‎‏‏‏‏‏‏‏‏‏‎‎‎‎Face &amp; Fingerprint Unlock‎‏‎‎‏‎"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‎‏‎‏‎‎‏‎‏‎‏‏‎‏‎‎‎‎‏‏‎‎‎‏‎‏‎‎‏‎‏‏‎‏‏‏‎‏‎‏‎‎‎‎‏‎‎‏‏‎‎‏‎‎‎‏‎Face &amp; Fingerprint Unlock for work‎‏‎‎‏‎"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‎‎‎‏‏‏‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎‎‏‏‏‏‎‏‏‎‏‏‏‎‏‏‏‏‎Setup needed‎‏‎‎‏‎"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‏‏‎‏‎‏‎‏‎‏‎‏‏‏‏‎‏‏‏‏‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‎‏‎‏‏‏‎‏‎‏‎‎‎‏‏‏‏‏‏‎‎Face and fingerprints added‎‏‎‎‏‎"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‎‎‎‎‏‏‎‎‏‎‏‏‏‏‎‎‎‎‎‏‎‎‏‎‎‏‎‎‎‎‎‎‎‏‏‏‎‎‎‎Setting up private space…‎‏‎‎‏‎"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‎‏‎‎‎‎‏‎‏‏‎‎‏‏‏‏‏‏‎‎‎‏‎‏‏‏‏‏‏‎‎‏‏‎‎‎‏‏‎‎‎‏‏‎‏‎‎‏‎‎‏‎‏‎‏‎‎Couldn’t set up a private space‎‏‎‎‏‎"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‎‎‏‎‏‎‎‏‎‎‏‏‎‏‎‎‏‎‏‏‎‏‏‏‏‎‏‏‏‎‏‏‎‎‏‎‎‏‏‏‎‎‎‏‏‏‏‏‏‏‏‏‎Try Again‎‏‎‎‏‎"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‏‎‏‏‏‎‎‏‏‏‏‎‏‎‏‏‏‏‏‎‎‎‏‎‏‎‎‎‎‎‏‎‏‎‏‏‎‎‏‎‎‎‏‎‎‎‏‎‎‏‏‏‏‎‎‏‎Exit‎‏‎‎‏‎"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‏‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‏‎‏‏‎‏‏‎‏‏‏‏‏‎‎‎‏‎‏‎‏‏‏‎‏‎‎‎‎‏‏‏‎‎‎‎‎Private space isn’t available.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎View possible causes‎‏‎‎‏‎"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‏‏‏‎‎‎‏‏‎‎‎‎‎‎‎‎‏‎‎‎‏‏‏‏‏‎‎‎‏‏‏‏‎‎‏‎‎‎‎‏‎‎‎‏‎‎‎‎‎‏‏‏‎‏‎‎‎View possible causes‎‏‎‎‏‎"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‎‎‏‎‎‏‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‏‏‏‎‎‏‎‎‏‎‎‏‎‎‎‎‎‎‏‏‎‏‎‎‎‎‏‏‏‏‏‏‎‎Choose a new lock for private space?‎‏‎‎‏‎"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‏‏‎‎‎‎‏‎‏‏‎‎‏‏‏‏‎‏‏‏‎‏‏‎‏‎‏‎‏‏‎‎‏‏‎‎‎‎‏‎‎‎‎‏‏‏‏‏‎‏‎‏‏‎‏‎You can set a new lock just for private space, or use the same lock you use to unlock your device‎‏‎‎‏‎"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‏‎‎‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‎‏‏‏‎‏‎‎‏‎‏‏‏‎‏‎‎‏‏‏‎‎‎‎‎‏‏‏‎‎Use screen lock‎‏‎‎‏‎"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‏‏‏‎‏‎‏‎‏‎‏‏‏‏‎‎‏‎‏‎‏‏‎‎‏‏‎‏‏‏‏‏‏‎‎‎‎‏‏‎‎‎‎‏‎‎‎‏‏‏‎‏‎‏‏‏‎When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To improve device experience, apps and services can still scan for nearby devices at any time, even when Bluetooth is off. This can be used, for example, to improve location-based features and services. You can change this in Bluetooth scanning settings.‎‏‎‎‏‎"</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‎‎‏‎‎‎‏‎‏‎‎‎‏‏‏‏‎‎‎‏‏‏‎‎‎‏‏‎‏‏‎‎‎‎‎‎‎‏‎‏‎‏‏‏‏‎‎‎‏‎‏‏‎‎When Bluetooth is on, your device can communicate with other nearby Bluetooth devices. Features like Quick Share and Find My Device use Bluetooth.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Apps and services can still scan for nearby devices at any time, even when Bluetooth is off. This can be used, for example, to improve location-based features and services. You can change this in Bluetooth scanning settings.‎‏‎‎‏‎"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‎‎‏‏‎‏‏‎‎‎‏‏‎‎‎‏‎‏‏‎‎‏‏‎‏‎‏‎‏‎‎‎‏‎‎‏‎‏‎‎‏‎‏‏‏‎‏‎‎‎‎‏‏‏‏‏‎Change‎‏‎‎‏‎"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‏‏‎‏‏‏‏‎‎‏‏‏‎‎‏‏‏‎‎‎‎‏‏‎‎‏‎‏‎‎‏‎‏‎‏‎‎‏‎‏‏‎‏‎‏‎‎‏‏‏‏‎‏‎‎‏‎‎‏‏‎<xliff:g id="DEVICE_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ not connected‎‏‎‎‏‎"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‎‎‏‎‎‏‏‎‏‏‏‏‎‎‎‎‏‎‎‎‎‏‎‏‎‎‎‏‎‎‎‎‎‏‏‎‏‏‏‏‏‎‏‎‎‎‏‏‏‏‎‏‎‏‏‏‎For your security, forget this device, then pair it again‎‏‎‎‏‎"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‏‏‏‎‏‎‏‎‏‏‎‏‏‎‎‎‏‎‎‎‏‏‎‎‏‎‎‏‎‏‎‏‎‏‎‎‎‎‏‎‏‎‎‎‏‏‎‏‏‎‏‎‏‎Forget device‎‏‎‎‏‎"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‏‏‎‎‏‏‎‏‎‏‎‎‎‎‏‎‎‏‏‎‏‏‎‎‎‎‎‏‎‏‏‎‏‏‏‏‏‎‏‎‎‏‎‏‎‏‎‏‎‏‎‎‏‏‎Cancel‎‏‎‎‏‎"</string>
     <string name="device_details_title" msgid="1155622417516195481">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‎‎‎‏‎‎‏‏‎‎‏‏‎‎‎‎‏‏‏‎‏‏‏‎‏‎‎‏‎‏‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‎‏‎‎‏‏‎‎‏‎Device details‎‏‎‎‏‎"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‎‏‎‏‏‎‎‎‏‏‎‎‎‏‎‎‏‏‎‏‏‎‏‎‏‎‎‏‏‎‏‏‎‎‎‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‏‎‎‏‏‏‎Keyboard settings‎‏‎‎‏‎"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‏‏‏‏‏‎‏‏‎‎‏‎‎‏‏‏‏‎‏‏‎‎‎‎‎‏‎‏‏‎‎‎‎‎‎‎‏‎‎‎‏‎‎‎‎‏‎‏‎‎‎‏‎‎‎More settings‎‏‎‎‏‎"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‎‎‏‎‏‎‏‎‎‎‎‎‏‎‏‎‎‏‎‏‎‏‏‏‎‎‎‎‏‏‏‏‏‎‏‎‏‎‎‏‏‏‏‎‏‎‎‏‏‎‎‏‎‎Firmware updates, about, and more‎‏‎‎‏‎"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‎‎‎‏‎‏‎‏‎‎‎‏‏‏‏‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‏‎‎‏‎‎‏‏‎‎‎‏‎‏‏‎‎‎‏‎Tips &amp; support‎‏‎‎‏‎"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‎‎‎‎‏‏‎‎‎‎‏‏‏‎‏‎‏‎‏‎‏‏‏‏‎‎‏‎‏‏‎‏‎‏‎‏‎‏‏‎‎‏‎‏‎‏‎‎‏‏‏‏‏‎Device\'s Bluetooth address: ‎‏‎‎‏‏‎<xliff:g id="ADDRESS">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‎‎‎‎‏‎‎‎‎‏‎‎‎‏‎‎‏‏‏‎‎‏‏‏‏‏‎‏‎‎‏‎‏‏‏‏‎‎‏‎‎‎‎‎‎‏‎‏‎‎‏‏‎‎‎‎‎Device\'s Bluetooth address:‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎<xliff:g id="ADDRESS">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‎‏‏‏‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‏‎‏‏‏‎‎‎‎‎‎‎‎‎‏‏‎Forget device?‎‏‎‎‏‎"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‏‎‎‏‏‎‎‎‎‏‎‎‎‎‏‏‎‎‎‏‎‏‎‏‏‏‎‏‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎Experimental. Improves audio quality.‎‏‎‎‏‎"</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‏‎‏‏‏‎‎‎‏‏‏‏‎‎‎‎‏‏‏‎‎‎‎‎‏‎‏‎‎‎‏‎‎‏‎‏‏‎‏‎‎‎‏‎‏‏‏‎Forget device‎‏‎‎‏‎"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‎‎‎‎‏‏‏‏‎‎‏‎‎‏‏‏‏‏‎‏‏‏‏‎‏‎‎‎‏‏‏‏‎‎‏‏‏‏‎‎‏‎‏‎‎‏‎‎‏‎‎‎‎‎‏‏‎Disconnect app‎‏‎‎‏‎"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‎‎‏‏‎‎‎‎‎‎‏‎‎‏‏‏‎‏‎‏‏‎‏‎‏‏‎‎‏‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‎‎‏‎‎‎‎‏‏‏‎More settings‎‏‎‎‏‎"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‎‎‏‏‎‏‏‏‏‎‏‏‎‏‎‏‎‏‎‎‎‎‎‏‎‎‎‏‏‏‎‎‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‏‏‏‏‎Maximum connected Bluetooth audio devices‎‏‎‎‏‎"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‎‏‎‎‏‏‎‎‏‎‏‏‎‎‎‎‏‏‎‎‎‏‎‏‏‎‏‎‎‎‏‏‎‎‏‏‎‏‏‏‎‎‎‎‎‏‏‎‎‏‎‏‏‎‎‏‎Select maximum number of connected Bluetooth audio devices‎‏‎‎‏‎"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‎‏‎‏‎‏‏‎‎‏‎‎‎‏‎‏‏‏‎‎‎‏‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‏‎‎‎NFC verbose vendor debug log‎‏‎‎‏‎"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‏‏‏‎‏‎‎‎‏‎‏‎‎‏‎‎‏‎‏‎‎‏‎‎‏‏‎‎‏‎‏‏‏‎‏‎‎‏‏‎‎‏‏‎‎‏‎‏‏‎‏‎‎‏‎Restart Device?‎‏‎‎‏‎"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‎‏‎‎‎‏‎‎‏‎‏‎‎‏‎‎‏‎‏‏‎‏‏‏‏‎‎‎‎‏‎‎‎‎‎‎‎‏‎‎‎‎‎‏‎‏‎‎‏‎‎‎‎‎Detail NFC logging is intended for development purposes only. Additional NFC data is included in bug reports, which may contain private information. Restart your device to change this setting.‎‏‎‎‏‎"</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‏‏‎‎‎‏‏‎‎‏‏‎‏‎‏‏‎‎‎‎‎‎‏‎‎‎‎‏‎‎‎‏‏‏‎‎‏‎‏‏‎‏‏‏‎‏‎‏‏‏‎‏‏‏‎Restart‎‏‎‎‏‎"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‏‎‎‎‎‏‏‏‎‏‎‏‎‎‎‏‎‏‏‎‏‏‎‏‎‏‏‎‎‏‏‎‏‎‏‏‏‎‎‏‏‏‎‎‏‏‎‏‏‏‎‏‏‏‎‏‎On‎‏‎‎‏‎"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‎‎‏‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‏‏‎‏‎‏‎‏‏‎‏‏‎‏‎‏‏‏‎‏‏‏‎‎‏‎‏‏‎‎‏‏‎‎‏‏‏‎‎Off‎‏‎‎‏‎"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‏‏‎‏‎‏‎‎‏‏‏‎‏‎‏‏‎‏‏‎‎‎‏‏‏‎‏‏‎‏‏‎‏‎‎‎‏‏‏‏‎‏‏‏‎‎‏‏‏‎‎‏‎‎‏‏‎External Display‎‏‎‎‏‎"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‎‎‏‏‎‎‎‎‎‏‏‏‏‏‎‎‏‏‏‎‏‏‎‎‎‎‎‎‏‏‏‎‎‏‎‎‎‏‎‏‎‏‏‏‎‎‎‎‎‏‎‏‎‎Use external display‎‏‎‎‏‎"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‏‏‏‏‎‏‎‎‏‎‏‏‏‎‎‏‏‎‏‏‏‏‎‎‎‏‏‎‏‏‎‎‎‎‏‎‎‎‏‏‏‎‏‎‏‎‏‏‏‏‏‏‎‏‎‎‎Display resolution‎‏‎‎‏‎"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‏‎‎‎‏‎‏‎‎‎‎‎‏‏‎‎‏‏‎‏‏‏‎‎‏‎‎‏‏‎‎‏‏‏‏‎‎‏‏‎‏‎‎‎‎‎‎‏‏‎‎‏‎‏‏‎‎External display is disconnected‎‏‎‎‏‎"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‏‎‏‎‏‏‏‎‏‏‎‏‎‎‏‏‎‏‎‏‏‏‎‏‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‎‏‏‏‏‎‏‎‎‎‏‏‏‎‎‎Rotation‎‏‎‎‏‎"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‏‎‎‏‎‎‏‏‏‎‏‎‏‎‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‏‏‎‎‎‏‏‏‏‏‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‏‏‎Standard‎‏‎‎‏‎"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‎‏‎‎‏‏‎‎‏‏‏‎‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‎‏‏‏‏‎‎‎‎‎‏‎‏‎‏‎‏‎‎‏‏‏‎‏‎‎‎‏‏‎90°‎‏‎‎‏‎"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‏‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‎‎‏‎‎‎‏‎‎‏‏‎‎‏‎‏‎‏‎‎‎‏‎‎‎‎‏‎‎‎‎‎‏‎180°‎‏‎‎‏‎"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‎‎‎‎‎‎‏‏‎‏‎‎‏‎‎‏‏‏‏‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‎‏‏‏‎‎‎‏‎‎270°‎‏‎‎‏‎"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‏‎‎‏‎‏‏‏‎‎‏‎‏‏‏‏‎‎‎‏‏‎‎‎‎‏‏‎‎‎‏‎‎‎‏‏‏‎‏‏‏‎‏‏‏‎‎‎‎‏‏‎Changing rotation or resolution may stop any apps that are currently running‎‏‎‎‏‎"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‎‏‏‎‎‏‏‎‏‎‎‏‎‎‏‎‎‏‎‎‏‏‎‎‎‎‏‎‎‏‎‎‏‎‏‏‎‎‎‎‎‎‎‎‎‏‎‎‏‎‏‏‎Your device must be connected to an external display to mirror your screen‎‏‎‎‏‎"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‏‏‏‏‎‎‎‎‎‎‏‎‏‏‎‎‏‏‏‎‏‎‏‎‎‎‎‎‏‏‎‎‏‏‎‎‎‎‏‎‏‎‏‏‏‏‎‎‎‏‏‎‏‏‎‎More options‎‏‎‎‏‎"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‏‎‎‎‏‎‎‎‏‏‎‎‎‏‏‏‎‏‎‏‎‎‎‎‏‎‎‏‏‏‏‎‎‏‎‎‎‏‏‎‎‏‏‎‎‏‎‏‎‎‏‎‏‏‏‏‎Cast‎‏‎‎‏‎"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‎‏‏‎‎‏‏‏‏‎‎‏‏‎‎‏‎‎‏‏‏‏‏‏‎‏‏‎‎‏‎‏‎‎‎‎‏‏‏‏‎‎‏‎‏‎‎‎‎‏‎‏‏‏‎mirror‎‏‎‎‏‎"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‏‎‏‎‏‎‎‎‏‏‎‎‎‏‏‏‎‏‏‏‏‏‎‎‏‏‎‏‏‎‎‎‏‏‏‏‏‎‏‏‏‎‏‏‎‏‏‏‏‎‏‏‎‎Enable wireless display‎‏‎‎‏‎"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‎‎‎‎‎‏‏‎‏‏‎‎‏‏‎‎‏‎‎‎‎‏‏‏‏‎‎‎‏‎‎‎‎‎‎‏‏‎‎‏‏‎‎‎‏‏‎‎Adaptive‎‏‎‎‏‎"</string>
     <string name="brightness" msgid="6216871641021779698">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‎‎‎‏‏‎‏‏‎‎‎‎‏‏‏‏‎‏‎‎‎‏‏‎‏‏‎‎‎‏‎‏‎‎‏‏‎‏‏‎‎‎‏‏‏‎‏‏‏‏‎‎‏‎‎Brightness level‎‏‎‎‏‎"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‏‏‎‏‎‏‎‏‎‎‎‏‏‎‏‏‎‏‏‎‎‎‎‏‎‏‎‎‎‎‎‏‎‏‎‏‎‎‏‏‏‏‏‎‏‏‎‎‎‏‎‎‏‎‎‏‎Adaptive brightness‎‏‎‎‏‎"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‎‏‎‎‏‏‎‎‏‎‎‏‏‎‏‎‎‏‎‏‏‎‏‏‏‏‎‏‏‎‎‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‎‎‏‏‏‏‏‏‏‎About adaptive brightness‎‏‎‎‏‎"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‎‏‏‏‏‎‏‏‏‏‎‎‏‏‏‏‎‏‎‎‎‎‎‎‏‎‏‏‎‏‎‏‏‎‏‏‎‏‏‏‏‏‎‎‏‎‎‎‏‎‎‏‎Your screen brightness will automatically adjust to your environment and activities. You can move the slider manually to help adaptive brightness learn your preferences.‎‏‎‎‏‎"</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‎‎‏‎‎‎‏‏‎‎‏‎‏‏‎‎‎‏‎‏‎‏‏‏‎‏‎‏‎‏‎‎‏‏‏‎‎‏‏‏‏‏‎‎‎‏‎‏‏‎‏‏‏‏‎‎‎On‎‏‎‎‏‎"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‏‎‏‏‏‏‎‎‎‎‎‎‎‏‏‏‎‏‎‎‎‏‎‎‎‎‏‏‎‎‏‏‎‎‎‏‏‎‎‎‎‎‏‎‎‎‎‎‎‎‏‎‎‎Off‎‏‎‎‏‎"</string>
@@ -1311,8 +1340,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‏‎‏‏‎‏‏‏‎‎‏‎‎‏‏‏‏‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‏‎‏‎‏‎‎‎‏‎‏‏‏‏‎Use ‎‏‎‎‏‏‎<xliff:g id="CARRIER">%1$s</xliff:g>‎‏‎‎‏‏‏‎ for mobile data?‎‏‎‎‏‎"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‎‎‏‏‎‎‎‏‏‎‎‏‏‏‎‎‎‏‏‏‎‎‎‎‏‏‎‎‏‏‎‎‎‏‎‏‏‎‎‏‏‎‏‎‎‎‏‎‎‏‏‎‎‎You\'re using ‎‏‎‎‏‏‎<xliff:g id="CARRIER2_0">%2$s</xliff:g>‎‏‎‎‏‏‏‎ for mobile data. If you switch to ‎‏‎‎‏‏‎<xliff:g id="CARRIER1">%1$s</xliff:g>‎‏‎‎‏‏‏‎, ‎‏‎‎‏‏‎<xliff:g id="CARRIER2_1">%2$s</xliff:g>‎‏‎‎‏‏‏‎ will no longer be used for mobile data.‎‏‎‎‏‎"</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‎‎‏‏‏‎‏‏‎‏‏‏‎‏‎‏‎‎‏‎‎‏‎‏‏‏‏‎‏‎‎‏‎‏‎‏‎‏‎‎‎‎‏‏‏‎‏‎‎‏‎‎‎‎‎Use ‎‏‎‎‏‏‎<xliff:g id="CARRIER">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‎‏‎‎‎‏‎‏‏‎‎‏‎‏‏‎‏‏‎‏‎‎‏‎‏‎‏‏‏‎‎‏‏‎‎‎‏‎‎‏‎‏‏‏‎‎‎‏‎‏‏‎Update preferred SIM?‎‏‎‎‏‎"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‎‏‎‎‏‎‏‎‎‎‎‏‏‎‏‏‎‎‏‎‎‎‏‎‎‏‎‎‏‏‏‎‏‎‎‎‎‎‏‎‎‏‎‏‎‏‎‎‎‏‏‏‏‏‎‎‏‎‎‏‏‎<xliff:g id="NEW_SIM">%1$s</xliff:g>‎‏‎‎‏‏‏‎ is the only SIM in your device. Do you want to use this SIM for mobile data, calls, and SMS messages?‎‏‎‎‏‎"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‏‏‏‎‏‏‎‎‎‎‏‎‏‏‎‏‏‏‎‏‎‎‏‏‎‏‏‎‎‎‎‎‏‎‎‎‎‏‎‎‏‏‎‏‎‏‎‎‏‏‎‏‎‎‎‏‎‎‏‎‎‏‏‎<xliff:g id="NEW_SIM">%1$s</xliff:g>‎‏‎‎‏‏‏‎ is now your primary SIM‎‏‎‎‏‎"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‎‏‏‏‎‎‏‎‎‏‏‏‏‎‎‏‎‎‏‏‏‏‎‏‏‎‎‏‎‎‏‎‎‎‏‏‏‎‎‏‏‏‏‎‏‎‏‏‏‎‎‏‎‎‏‎‎Improve mobile data coverage?‎‏‎‎‏‎"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‏‎‏‏‎‏‎‎‎‎‏‏‎‎‎‎‏‎‎‎‏‏‎‎‎‎‎‏‎‎‎‏‎‎‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‎‎‎‏‏‎Allow your device to automatically switch to ‎‏‎‎‏‏‎<xliff:g id="BACKUP_CARRIER">%1$s</xliff:g>‎‏‎‎‏‏‏‎ for mobile data when it has better availability.‎‏‎‎‏‎"</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‏‎‏‎‏‎‏‎‎‏‎‎‎‎‏‏‏‎‎‎‏‏‎‏‎‎‏‏‏‏‎‏‏‎‏‎‏‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‎‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Calls, messages, and network traffic may be visible to your organization.‎‏‎‎‏‎"</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‏‎‏‎‎‎‏‎‎‏‏‏‎‎‎‎‏‎‎‎‏‏‏‎‏‏‏‎‏‏‎‎‎‎‏‏‎‎‏‎‎‎‏‎‎‎‏‏‎‎‎‎‎‎Options‎‏‎‎‏‎"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‏‎‎‏‏‎‎‎‎‏‏‏‎‎‎‎‏‎‏‏‏‎‏‎‎‎‏‏‎‎‎‏‎‏‏‎‎‏‏‏‏‎‏‎‎‏‏‏‏‏‎‏‎Accessibility‎‏‎‎‏‎"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‏‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‏‏‎‏‏‎‎‎‏‎‎‏‏‏‎‏‏‏‎‎Physical keyboard‎‏‎‎‏‎"</string>
-    <string name="show_ime" msgid="4334255501724746849">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‎‎‏‎‎‏‏‎‎‏‎‏‏‏‏‎‎‏‏‎‏‎‏‎‎‎‏‏‏‎‏‎‎‎‎‏‎‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‎‎‎‏‎Use on-screen keyboard‎‏‎‎‏‎"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‏‎‏‏‏‎‎‏‎‏‎‏‏‎‏‎‏‏‎‏‏‎‎‎‏‎‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‏‏‎‎‏‎‏‎‏‏‏‎Keep it on screen while physical keyboard is active‎‏‎‎‏‎"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‏‎‏‏‏‎‎‏‎‏‏‏‏‎‏‎‏‏‎‎‎‏‏‏‏‏‏‎‎‎‎‏‏‏‏‏‎‎‎‏‏‎‎‏‏‏‎‏‎‎‎‎‎‎Bounce keys‎‏‎‎‏‎"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‏‎‏‏‎‏‏‎‎‎‎‎‏‏‎‎‏‏‎‏‏‎‏‏‎‎‎‏‎‏‎‏‎‏‏‏‎‎The keyboard ignores quickly repeated presses of the same key within ‎‏‎‎‏‏‎<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g>‎‏‎‎‏‏‏‎ ms‎‏‎‎‏‎"</string>
     <string name="slow_keys" msgid="2891452895499690837">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‎‎‎‎‎‏‎‎‎‎‎‎‏‎‎‎‏‎‏‏‎‏‏‎‎‎‎‎‏‎‎‎‎‏‎‎‎‏‎‏‎‎‎‏‏‎‏‎‏‎‏‎‏‎Slow keys‎‏‎‎‏‎"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‏‏‎‎‎‎‏‏‎‏‎‏‏‏‎‎‎‎‏‏‏‏‎‎‏‎‎‏‏‎‏‏‎‏‏‏‏‏‏‎‏‏‎‏‏‎‎‏‏‎‏‏‏‏‎‎‎Adjusts the time it takes for a key press to activate to ‎‏‎‎‏‏‎<xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g>‎‏‎‎‏‏‏‎ ms‎‏‎‎‏‎"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‎‎‏‏‎‎‎‏‎‏‎‏‎‏‎‎‎‏‎‏‎‏‎‏‏‎‎‎‏‎‎‎‎‏‎‎‎‎‏‏‏‎‎‏‎‎‎‏‎‏‎‎‏‏‎Sticky keys‎‏‎‎‏‎"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‏‎‎‏‏‎‏‎‏‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‎‎‏‏‏‎‎‎‎‎‏‏‎‏‎‎‏‎‎‎‎‎‏‏‎‏‎‏‏‏‏‎Press one key at a time for shortcuts instead of holding keys down together‎‏‎‎‏‎"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‎‎‏‏‏‏‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‏‎‏‎‎‎‎‎‎‎‏‏‎‎‎‎‎‎‏‏‏‏‎‎‏‏‏‎‎‏‎‎‎Mouse keys‎‏‎‎‏‎"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‎‏‎‎‎‎‎‏‎‎‏‎‏‏‎‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‏‏‏‏‏‎‎‎‎‎‎‎‎‎‎‎‏‎‎‏‏‎‎‏‎‏‎Use the physical keyboard to control the mouse.‎‏‎‎‏‎"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‎‏‏‎‏‏‏‎‏‏‎‏‏‏‎‏‎‎‎‎‎‎‎‏‏‏‏‏‎‎‏‎‏‏‎‎‎‎‏‎‎‎‏‎‎‏‎‎‏‎‏‎‎‎‎‎‎Keyboard shortcuts‎‏‎‎‏‎"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‏‎‏‎‏‎‎‎‏‏‎‏‎‏‎‎‏‏‏‏‎‎‏‏‏‎‎‎‏‎‏‏‎‏‎‎‏‏‏‎‎‎‏‏‎Show list of shortcuts‎‏‎‎‏‎"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‎‏‎‏‏‎‎‎‏‎‎‏‎‏‏‎‎‏‎‏‏‏‎‏‏‏‎‏‏‎‏‎‏‏‎‎‎‎‎‎‏‎‏‎‏‎‎‏‎‎‏‏‏‏‏‏‎Work profile keyboards &amp; tools‎‏‎‎‏‎"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‏‏‎‏‎‎‏‎‎‎‎‎‏‎‏‎‏‎‏‏‎‎‎‏‏‏‎‏‏‏‎‎‎‏‏‏‎‏‏‏‏‎‏‎‏‎‎‏‏‎‎‏‎‏‎‎‎Customize individual touchpad navigation gestures‎‏‎‎‏‎"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‏‏‎‏‏‏‏‎‎‏‎‏‏‏‎‎‏‎‏‎‎‏‏‎‎‏‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‎‎‏‏‏‏‏‏‏‎‎‎‏‎‎Reverse scrolling‎‏‎‎‏‎"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‏‎‏‏‏‎‏‎‎‏‎‎‎‏‎‎‎‏‎‎‎‎‏‎‏‏‎‎‎‎‏‏‏‎‏‎‎‎‏‏‏‎‎‎Content moves up when you scroll down‎‏‎‎‏‎"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‎‏‎‏‏‎‏‏‎‎‏‏‎‏‎‏‎‏‎‎‎‏‎‎‎‏‏‏‎‎‏‎‎‏‎‎‎‏‎‏‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎Bottom-right tap‎‏‎‎‏‎"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‏‎‏‏‎‏‏‏‏‎‎‎‏‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‏‎‎‎‎‎‎‏‏‏‏‏‏‎‎‎‏‎‎Tap the bottom right corner of the touchpad for more options‎‏‎‎‏‎"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‎‎‏‏‎‎‏‎‎‏‎‏‎‎‏‎‏‏‏‎‏‎‎‏‎‎‏‎‎‏‏‎‏‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‎‏‏‎‎‏‎‎‎Bottom-right click‎‏‎‎‏‎"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‎‎‎‎‎‎‏‎‎‏‏‏‎‎‏‎‏‏‏‎‏‎‏‎‎‎‏‎‎‎‎‏‎‏‎‏‏‏‏‎‏‏‏‎‎‏‏‏‏‎‎‎‏‏‏‎Click in the bottom right corner of the touchpad for more options‎‏‎‎‏‎"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‎‏‏‏‏‎‏‏‏‏‏‎‎‏‎‏‏‎‏‏‏‏‎‎‏‎‎‏‎‏‏‎‏‎‏‏‏‏‏‎‎‏‏‎‏‎‎‏‏‎‎‎‏‎Pointer speed‎‏‎‎‏‎"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‏‏‏‎‏‏‏‎‎‏‏‏‎‏‏‏‏‏‎‏‏‎‎‏‏‏‏‎‏‎‎‏‎‏‎‏‏‎‏‏‎Pointer fill style‎‏‎‎‏‎"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‎‏‏‎‏‏‏‏‎‎‎‎‏‎‎‏‎‎‏‏‏‎‎‎‏‏‎‏‎‏‏‏‏‎‎‎‎‎‏‏‎‏‎‎‎‎‎‎Change pointer fill style to black‎‏‎‎‏‎"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‎‎‏‏‎‏‎‎‏‎‎‎‏‎‏‎‎‎‎‏‏‏‏‏‎‎‏‏‎‎‎‏‎‏‎‎‎‎‎Change pointer fill style to yellow‎‏‎‎‏‎"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‏‏‏‏‏‏‎‎‎‎‏‏‎‏‏‏‏‎‏‎‎‏‎‏‎‎‎‏‏‎‎‏‎‏‎‏‏‎‏‏‏‏‏‎‏‎‏‏‎‏‎‏‏‎‎‏‎Change pointer fill style to pink‎‏‎‎‏‎"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‎‏‎‎‏‎‏‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‏‎‏‏‏‎‏‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‎‏‎‎‎‏‎Change pointer fill style to blue‎‏‎‎‏‎"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‎‏‎‏‏‏‏‎‏‎‏‏‎‏‏‏‏‏‎‎‎‎‎‏‏‎‎‏‏‏‏‏‏‎‏‎‎‏‎Pointer stroke style‎‏‎‎‏‎"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‎‏‎‏‏‎‎‏‎‏‏‎‏‎‏‎‎‎‎‎‎‏‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‎‎‎‏‎‏‏‎‎‎‎‏‏‏‎‎‏‏‏‎White‎‏‎‎‏‎"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‏‎‎‏‏‏‎‎‏‎‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‎‎‏‏‎‏‏‎‎‏‎‎‎‎‎‏‎‏‎‏‎‎‏‎‎‎‏‎‎‏‎‎Black‎‏‎‎‏‎"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‏‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‎‏‏‏‎‎‏‎‎‏‎‏‎‎‎‎‎‎‏‎‎‎‎‏‎‎‎‎‏‏‎‏‏‏‎None‎‏‎‎‏‎"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‏‎‏‏‎‏‏‎‎‏‎‎‏‏‎‎‏‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‏‎‏‏‎‏‎‏‏‎‏‏‎‎‏‎‎‎‎‎‏‎Learn touchpad gestures‎‏‎‎‏‎"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‏‏‎‏‏‎‎‏‏‎‎‎‏‏‏‎‏‏‏‏‎‏‏‏‎‎‏‏‎‏‏‏‎‎‏‎‎‎‎‎‏‎‏‎‎‎‏‏‎‎‎‎‎trackpad, track pad, mouse, cursor, scroll, swipe, right click, click, pointer‎‏‎‎‏‎"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‏‏‎‏‎‏‎‏‎‏‏‏‎‏‎‏‎‏‏‏‏‏‎‎‎‏‏‏‎‏‎‎‎‏‏‎‏‏‏‎‎‏‎‏‏‏‏‎‎‏‎‏‏‎‎‏‎right click, tap‎‏‎‎‏‎"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‏‎‎‏‏‏‎‎‎‎‎‏‎‎‏‏‏‏‏‎‎‏‎‎‎‎‎‎‎‏‎‎‏‏‎‎‏‎‎‎‎‏‏‎‎‏‎Reset‎‏‎‎‏‎"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‎‏‏‎‎‏‎‎‏‏‎‎‏‏‎‏‎‎‏‏‎‏‎‎‎‏‎‎‎‏‎‎‎‎‏‎‏‏‎‎‎‎‏‎‏‎‎‏‏‏‎‎‏‎‏‏‎Choose modifier key‎‏‎‎‏‎"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‎‏‎‎‎‎‏‎‏‏‎‏‏‏‎‏‏‏‎‏‏‏‎‏‏‎‎‎‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‏‎Choose a new key for ‎‏‎‎‏‏‎<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎:‎‏‎‎‏‎"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‏‎‎‏‎‏‏‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‎‏‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‏‏‎‎‎‎‎‎‎‎Physical keyboard accessibility‎‏‎‎‏‎"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‏‎‎‏‎‎‏‎‎‏‏‎‎‏‎‏‎‎‎‏‎‏‏‎‎‏‏‏‎‎‏‏‏‎‎‎‏‎‎‎‎‏‎‏‎‏‎‏‎‎‏‎‎‎‏‎‎Sticky keys, Bounce keys, Mouse keys‎‏‎‎‏‎"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‏‏‎‎‏‎‎‎‎‏‎‏‎‏‎‎‏‏‎‎‎‏‎‏‎‏‏‎‎‏‎‎‎‎‏‎‎‎‎‏‎‎‎‎‎‎‎‎‎‎‎‎‏‎‎‏‏‎<xliff:g id="IME_LABEL">%s</xliff:g>‎‏‎‎‏‏‏‎ layout‎‏‎‎‏‎"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‏‏‏‎‎‎‎‏‏‏‏‏‏‎‎‏‏‎‏‏‎‎‏‏‎‎‏‏‎‎‏‎‎‎‏‏‏‎‏‏‏‎‏‎‏‎‏‎‎‏‎Default‎‏‎‎‏‎"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‎‏‎‎‎‎‎‎‏‎‏‏‎‎‎‎‏‏‎‎‏‎‎‎‏‏‎‏‎‏‎‏‏‎‏‎‎‎‏‎‎‎‏‎‎‎‎‎‎‏‎Automatic: ‎‏‎‎‏‏‎<xliff:g id="LAYOUT_LABEL">%s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‎‎‏‎‎‏‎‏‏‏‎‎‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‎‏‎‎‏‎‎‏‎‏‏‏‎‎‎‏‏‎‎‏‎‏‎‎‎User selected: ‎‏‎‎‏‏‎<xliff:g id="LAYOUT_LABEL">%s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‏‏‎‎‏‏‎‎‎‏‎‏‏‏‏‏‎‎‎‎‏‏‏‏‏‎‏‎‏‎‏‏‎‏‎‏‏‎‎‎‏‏‎‎‎‏‏‏‏‎‏‏‏‎‎Speech‎‏‎‎‏‎"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‎‏‏‎‏‎‏‎‎‏‎‎‎‎‏‎‏‎‎‎‏‏‏‎‏‏‏‎‏‎‏‎‏‏‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‏‏‎‎Pointer speed‎‏‎‎‏‎"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‎‎‏‎‎‏‏‏‏‏‏‎‏‏‎‏‏‎‎‏‎‏‏‏‎‎‏‏‏‏‏‏‎‎‏‎‏‎‎‎‏‏‎‏‎‏‎‎‏‎‏‏‏‎‎‎Pointer scale‎‏‎‎‏‎"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‎‏‎‏‎‏‎‏‏‏‎‎‏‏‎‏‏‏‏‏‏‎‏‏‎‎‏‏‎‎‎‎‏‎‏‎‎‏‎‎‎‎‎‏‏‎‏‎‎‎‎‎‏‎‎‎Decrease pointer scale‎‏‎‎‏‎"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‏‎‎‏‎‎‎‏‎‎‎‎‏‎‏‎‏‏‎‏‏‎‏‎‏‏‏‏‎‏‏‎‎‎‏‎‎‎‏‎‏‏‎‏‏‏‎‏‎‎‎‎‎‎‏‎‎Increase pointer scale‎‏‎‎‏‎"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‎‏‎‎‏‎‎‎‎‎‎‎‎‎‏‏‎‎‎‎‏‎‎‏‎‏‎‏‏‎‎‎‎‎‏‏‎‏‎‎‏‏‏‏‏‏‏‏‏‏‎‎Game Controller‎‏‎‎‏‎"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‏‎‏‎‏‎‎‏‏‏‎‎‎‎‎‎‎‎‏‎‏‎‎‎‎‏‎‎‎‎‏‏‏‎‏‏‎‎Redirect vibration‎‏‎‎‏‎"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‎‏‎‎‏‎‏‎‎‏‏‎‎‏‏‎‎‎‎‏‎‏‏‏‏‎‏‎‎‎‏‏‎‎‎‏‏‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎Send vibration to game controller when connected‎‏‎‎‏‎"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‎‎‎‎‏‎‏‎‎‏‎‎‏‎‏‏‏‎‎‎‏‏‎‎‎‏‏‎‎‎‏‏‎‏‏‏‎‏‎‎‏‏‏‎‎‎‏‏‎‏‎‎Continue anyway‎‏‎‎‏‎"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‏‎‎‏‏‏‏‏‏‎‏‏‎‎‎‎‎‏‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‎‎‏‏‏‎‎‏‏‏‎‎‏‏‏‎‏‎Cancel‎‏‎‎‏‎"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‎‎‎‎‎‏‏‎‎‎‎‎‏‏‎‎‎‎‏‏‎‏‏‏‎‏‏‏‏‎‏‎‎‎‎‎‎‎‏‏‏‎‎‎‏‎Magnification settings‎‏‎‎‏‎"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎‎‎‎‎‏‎‎‏‏‏‏‏‎‎‏‏‎‏‏‎‎‏‏‏‎‏‎‏‏‏‏‏‏‎‎‎‏‏‏‎‏‏‎‏‏‏‏‏‏‏‏‎‏‎One-finger panning‎‏‎‎‏‎"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‏‎‎‏‎‏‎‎‎‏‏‎‏‎‏‎‎‎‎‎‎‏‎‏‎‎‎‏‏‏‏‎‏‎‏‎‎‎‏‎‎‎‏‏‏‎‏‏‏‏‏‏‏‎‏‏‎Move magnifier with 1 finger‎‏‎‎‏‎"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‏‏‎‏‎‏‎‏‎‏‎‎‎‏‏‏‏‏‎‏‏‏‏‏‎‎‎‎‏‏‏‎‏‎‏‏‎‎‏‎‏‏‏‎‎‏‏‏‏‏‎‏‏‎‏‏‎Drag 1 finger to move around the screen‎‏‎‎‏‎"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‏‏‎‏‏‎‎‎‎‏‏‎‎‏‏‏‎‎‏‎‎‎‏‎‏‏‎‏‎‏‎‎‎‎‏‏‎‏‎‎‏‎‏‏‎‎‎‎‏‏‎Move the magnification area by dragging one finger.‎‏‎‎‏‎"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‏‎‎‎‏‎‏‎‏‏‎‎‎‎‎‏‎‎‎‎‎‏‏‏‎‎‏‏‎‏‎‎‎‎‏‏‏‎‏‎‎‎‏‏‎‏‏‏‏‎‏‎Move the magnification area by dragging two fingers.‎‏‎‎‏‎"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‏‎‏‏‎‏‎‏‏‏‎‎‏‎‏‎‎‏‎‏‏‎‏‏‏‏‎‏‎‏‎‎‏‎‏‎‏‎‏‏‏‏‎‏‏‏‏‏‏‎‎‎‎‏‏‎‎Unavailable while only magnifying part of the screen‎‏‎‎‏‎"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‏‏‎‎‏‎‏‏‎‎‎‏‎‎‏‎‎‏‎‎‏‎‎‎‎‏‎‎‎‏‎‏‏‎‏‏‎‏‏‏‏‏‎‎‎‏‏‎‏‏‎‎‎‏‎‏‎Tap a button to zoom‎‏‎‎‏‎"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‏‏‎‎‎‎‎‏‏‏‏‏‎‎‏‏‏‏‏‎‎‎‏‏‏‎‏‎‏‏‏‎‎‎‏‎‏‏‏‏‏‎‎‏‎‏‏‏‎‎‏‎‎‎‎‏‏‎Quickly zoom in on the screen to make content larger‎‏‎‎‏‎"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‏‏‏‎‎‏‎‏‎‏‏‎‎‎‏‎‏‎‏‏‏‏‎‎‏‎‎‏‎‎‎‎‎‎‏‎‏‎‎‎‏‎‏‎‏‎‏‏‎‏‏‏‏‎&lt;b&gt;To zoom in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Use shortcut to start magnification&lt;br/&gt; {1,number,integer}. Tap the screen&lt;br/&gt; {2,number,integer}. Drag 2 fingers to move around screen&lt;br/&gt; {3,number,integer}. Pinch with 2 fingers to adjust zoom&lt;br/&gt; {4,number,integer}. Use shortcut to stop magnification&lt;br/&gt;&lt;br/&gt; &lt;b&gt;To zoom in temporarily:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Make sure your magnification type is set to full screen&lt;br/&gt; {1,number,integer}. Use shortcut to start magnification&lt;br/&gt; {2,number,integer}. Touch &amp; hold anywhere on the screen&lt;br/&gt; {3,number,integer}. Drag finger to move around screen&lt;br/&gt; {4,number,integer}. Lift finger to stop magnification‎‏‎‎‏‎"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‏‎‏‏‎‎‏‏‏‎‏‎‏‏‏‏‏‏‎‏‏‎‎‎‏‏‎‏‎‎‏‏‎‏‎‏‏‎‎‏‎‏‎‏‎‏‏‏‏‎‎‏‎‏‎‎‎&lt;b&gt;To zoom in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Use shortcut to start magnification&lt;br/&gt; {1,number,integer}. Tap the screen&lt;br/&gt; {2,number,integer}. Drag 2 fingers to move around the screen&lt;br/&gt; {3,number,integer}. Pinch with 2 fingers to adjust zoom&lt;br/&gt; {4,number,integer}. Use shortcut to stop magnification&lt;br/&gt;&lt;br/&gt; You can also zoom in temporarily and more.‎‏‎‎‏‎"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‎‎‎‏‏‏‏‎‏‎‏‎‎‎‎‏‏‏‎‎‎‏‏‎‎‎‎‎‎‎‎‎‏‏‎‎‎‏‏‏‏‏‏‏‎‎‎‏‏‎‏‎‏‎&lt;b&gt;To zoom in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Use shortcut to start magnification&lt;br/&gt; {1,number,integer}. Tap the screen&lt;br/&gt; {2,number,integer}. Drag 1 or 2 fingers to move around the screen&lt;br/&gt; {3,number,integer}. Pinch with 2 fingers to adjust zoom&lt;br/&gt; {4,number,integer}. Use shortcut to stop magnification&lt;br/&gt;&lt;br/&gt; You can also zoom in temporarily and more.‎‏‎‎‏‎"</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_pager" msgid="8461939455728454061">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‏‏‏‎‏‏‎‏‏‎‎‏‎‎‎‏‏‎‏‎‎‎‎‎‏‎‎‏‏‎‎‎‏‏‏‎‏‎‎‎‏‎‎‏‏‎‏‎‏‏‎‏‎Page ‎‏‎‎‏‏‎<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>‎‏‎‎‏‏‏‎ of ‎‏‎‎‏‏‎<xliff:g id="NUM_PAGES">%2$d</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‏‎‏‏‎‏‎‎‏‎‎‏‏‏‏‎‎‏‎‏‏‎‏‏‏‎‏‏‏‏‎‏‎‏‎‎‏‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‎Accessibility button shortcut‎‏‎‎‏‎"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‏‏‏‏‎‏‏‏‎‎‎‎‏‎‏‏‎‏‎‏‎‏‎‎‏‎‏‎‎‎‎‎‏‏‏‏‎‏‎‎‏‎‏‏‏‎‏‏‎‏‏‎‎‏‏‏‎Tap the floating button‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‎‎‏‎‎‎‏‏‎‎‎‏‎‎‎‎‏‏‎‏‎‎‏‏‏‎‎‎‏‎‎‎‏‎‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‎‎‏‎‎Accessibility gesture‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‎‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‎‎‏‎‏‎‏‏‎‎‎‎‏‎‎‏‎‏‏‎‏‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎Tap the accessibility button ‎‏‎‎‏‏‎<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>‎‏‎‎‏‏‏‎ at the bottom of your screen. To switch between features, touch &amp; hold the accessibility button.‎‏‎‎‏‎"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‎‎‏‎‏‎‏‎‎‎‏‎‎‏‏‎‎‎‏‎‎‎‏‎‏‏‎‏‎‎‎‎‎‎‎‏‏‏‎‎‎‎‏‎‏‎‏‎‏‏‎‎‎‏‏‎Swipe up from the bottom of the screen with 2 fingers.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To switch between features, swipe up with 2 fingers and hold.‎‏‎‎‏‎"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‎‎‏‎‏‏‎‎‎‎‏‎‎‏‎‏‎‏‎‎‎‎‏‏‎‏‏‎‏‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‎‎‏‎‎‎‏‏‎‏‎Swipe up from the bottom of the screen with 3 fingers.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To switch between features, swipe up with 3 fingers and hold.‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‏‏‏‎‎‎‎‏‏‎‏‎‎‎‏‎‎‏‎‏‏‎‎‏‏‏‎‎‎‏‎‎‏‎‎‏‎‎‏‎‎‎‏‎‎‎‎‎‏‏‏‎‏‏‎‎‎Swipe up from the bottom of your screen. To switch between features, swipe up and hold.‎‏‎‎‏‎}other{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‏‏‏‎‎‎‎‏‏‎‏‎‎‎‏‎‎‏‎‏‏‎‎‏‏‏‎‎‎‏‎‎‏‎‎‏‎‎‏‎‎‎‏‎‎‎‎‎‏‏‏‎‏‏‎‎‎Swipe up with # fingers from the bottom of your screen. To switch between features, swipe up with # fingers and hold.‎‏‎‎‏‎}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‏‎‎‎‏‎‎‏‏‏‎‏‎‎‎‎‎‏‎‏‏‏‏‏‏‎‏‏‏‏‏‎‎‏‏‎‏‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‎‎‎‎‏‎‎‏‏‎"<annotation id="link">"‎‏‎‎‏‏‏‎More options‎‏‎‎‏‏‎"</annotation>"‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‎‏‏‎‏‏‏‏‎‏‏‏‎‏‎‏‏‎‎‎‏‎‎‏‎‎‎‎‏‏‏‎‎‏‎‎‎‏‎‎‎‎‏‎‎‎‎‏‏‎‏‎Learn more about ‎‏‎‎‏‏‎<xliff:g id="SERVICE">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‏‎‏‏‎‏‏‎‏‏‎‎‏‏‏‏‎‎‏‎‏‎‏‏‎‎‎‎‏‎‏‏‏‏‏‎‎‎‏‏‏‎‎‎‏‏‎‎‏‏‎‎‏‏‏‎‎Volume keys‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‏‏‎‏‎‏‏‏‏‎‏‏‏‎‎‎‎‏‎‏‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‏‎‏‎‎‎‏‎‏‏‏‎‎‎‏‏‏‎‎volume keys‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‏‎‏‏‏‏‎‎‏‏‏‎‏‎‏‏‎‏‏‏‎‏‏‎‎‏‎‏‎‏‏‎‎‏‎‏‎‎‎‏‎‏‎‏‎‎‏‎‏‏‎‏‎‎‏‎‎Press &amp; hold both volume keys‎‏‎‎‏‎"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‏‏‏‏‎‏‎‏‎‎‎‏‏‏‏‏‎‏‎‎‎‎‏‏‎‏‎‎‎‏‎‎‎‏‎‏‎‏‏‏‎‎‎‎‏‎‎‎Two-finger double-tap screen‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‏‏‎‎‎‎‎‎‎‏‎‎‏‎‏‏‎‎‏‏‎‎‎‏‏‎‏‎‏‏‎‎‎‏‎‏‎‏‏‏‎‏‏‏‏‎‎‏‏‏‎‎%1$d-finger double tap‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‎‏‎‏‏‎‎‏‎‎‏‏‏‎‏‏‎‎‎‎‎‎‏‏‎‎‎‎‏‏‏‎‎‎‏‎‏‎‏‎‏‎‎‎‎‏‎‏‎‎‏‎‏‎‏‎‎Quickly tap the screen twice with %1$d fingers‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‏‏‏‏‎‏‎‎‎‏‏‏‏‏‎‎‏‎‎‎‏‏‎‏‎‏‎‏‎‎‏‏‎‏‏‏‏‏‏‎‎Triple tap‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‏‎‏‎‎‎‎‏‎‎‏‏‏‏‎‏‎‎‎‎‏‏‏‎‏‎‎‏‏‏‎‏‏‎‏‎‎‎‎‏‎‎‎‏‏‎‎‎‏‎‏‏‏‏‎Quickly tap the screen %1$d times. This may slow down your device.‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‎‎‏‎‎‏‏‎‎‏‏‏‏‎‏‏‏‏‎‎‎‏‎‏‏‎‏‏‎‎‏‎‏‎‎‎‎‏‏‎‎‏‎‎‎‏‏‎‎‎‏‏‏‏‎%1$d-finger double tap‎‏‎‎‏‎"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‏‎‎‏‎‎‎‏‏‎‏‏‎‏‏‎‎‎‎‎‎‏‎‎‏‏‎‎‏‏‎‏‏‏‏‎‎‎‎‏‎‏‎‎‎‏‎‎‏‎‏‎‎Quickly tap screen {0,number,integer} times with two fingers‎‏‎‎‏‎"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‎‏‏‎‏‎‏‎‎‎‏‎‏‎‎‏‏‎‏‏‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‏‏‏‎‎‏‏‏‎‎‎‎‎‎‎‎‏‎Triple-tap screen‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‏‎‎‎‎‎‎‎‏‏‏‎‎‏‏‏‎‏‎‎‏‎‎‎‎‎‏‏‎‎‏‎‎‏‏‏‎‏‏‎‏‎‎‏‏‏‏‏‎‎‏‏‏‎‎triple tap‎‏‎‎‏‎"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎‏‎‏‏‎‎‏‏‏‏‏‎‎‎‎‎‏‎‎‎‏‏‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‏‏‏‏‎‏‏‎‎‎‎Quickly tap screen {0,number,integer} 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_global_gesture_preference_title" msgid="8866765674372344850">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‏‎‏‎‎‎‏‎‏‎‎‎‏‏‎‎‏‏‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‏‎‎‏‎‏‏‎‎‎‎‎‏‎‎‏‎‎Volume keys shortcut‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‏‎‎‏‏‏‎‎‏‏‎‏‏‎‏‎‎‎‎‏‏‎‏‏‏‎‎‎‏‏‎‏‏‎‎‏‎‏‎‏‏‏‎‏‎‎‏‎‎‏‏‏‏‎‏‏‎Shortcut settings‎‏‎‎‏‎"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‎‏‏‏‎‎‎‏‏‎‏‏‏‎‏‏‎‏‏‎‏‏‏‎‏‎‎‏‎‏‏‎‎‏‎‎‏‎‎‎‏‏‏‏‏‎‏‎‏‎‎‎‏‏‏‎‎Shortcut from lock screen‎‏‎‎‏‎"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‏‏‎‎‏‏‎‏‎‏‏‏‎‏‏‎‎‎‏‎‏‎‎‎‏‏‏‎‎‎‎‏‏‏‎‏‏‏‎‏‏‎‏‎‎Volume keys shortcut from lock screen‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‎‏‎‏‎‎‎‏‏‎‎‏‎‏‏‏‎‏‎‎‎‎‏‎‏‎‎‎‎‏‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‎‎‎‎‏‎‏‏‎‏‎Allow feature shortcut to turn on from the lock screen. Hold both volume keys for a few seconds.‎‏‎‎‏‎"</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‏‎‎‎‎‎‎‎‏‎‎‎‏‎‏‏‎‏‏‎‏‎‎‎‎‏‎‏‏‎‎‎‎‎‎‎‏‏‏‎‏‎‏‎‏‏‏‏‏‎‎‏‏‎‎Accessibility button‎‏‎‎‏‎"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‏‎‎‏‎‏‏‏‎‏‏‏‎‏‏‏‎‏‏‏‏‏‎‏‎‎‏‏‏‎‎‎‏‏‎‏‏‏‎‎‏‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‎Accessibility button &amp; gesture‎‏‎‎‏‎"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‏‏‎‎‏‏‎‏‏‎‏‏‎‏‏‏‏‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‎‎‏‎‎‎‎‏‎‎‏‏‎‎‎‏‏‏‎‏‎This service is malfunctioning.‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‎‎‎‎‏‏‎‏‏‏‏‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‏‏‏‏‎‏‏‎‏‏‏‏‎‏‏‎‏‏‏‏‏‎‎‏‎Accessibility shortcuts‎‏‎‎‏‎"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‏‎‎‎‎‏‎‏‎‏‏‎‎‏‏‎‏‏‏‎‏‏‎‏‏‏‎‎‏‏‎‎‎‏‏‏‎‎‎‎‏‏‎‏‏‎‎‎‎‎‏‎‏‎‎‎Show in Quick Settings‎‏‎‎‏‎"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‏‏‏‎‎‎‎‎‏‎‎‏‏‎‎‎‎‏‎‏‎‏‏‎‏‎‎‏‏‏‏‏‎‎‎‏‏‎‎‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‎‎Red-green‎‏‎‎‏‎"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‎‏‏‎‏‏‎‏‎‎‏‎‎‎‏‏‎‏‏‏‏‏‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‎‏‎‏‏‎‎‏‏‏‎‏‎‎‎‎‏‏‎Red-green‎‏‎‎‏‎"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‏‏‎‏‎‎‎‏‎‏‎‎‎‎‎‎‎‏‎‎‎‎‏‏‎‎‏‎‏‎‏‏‎‏‎‏‎‎‎‎‏‎‏‎‎‎‏‏‏‏‏‏‏‎‏‏‎Red-green, green weak‎‏‎‎‏‎"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‏‎‏‏‎‎‎‏‏‎‏‏‏‎‎‏‎‎‏‏‎‎‏‏‎‏‏‏‎‏‏‏‏‎‎‏‎‏‎‎‎‏‎‏‏‎‎‏‎‎‏‏‏‏‎‏‎Red-green, red weak‎‏‎‎‏‎"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‎‎‏‏‎‎‏‏‎‏‎‎‎‎‏‏‎‎‎‏‎‎‏‏‎‎Blue-yellow‎‏‎‎‏‎"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‎‎‎‏‏‏‎‎‎‎‎‎‏‎‎‎‎‎‎‏‏‎‎‏‎‎‎‏‏‏‎‏‏‎‎‏‏‏‏‏‏‎‎‎‎‏‎‏‏‏‎‎‏‏‎‎‎Grayscale‎‏‎‎‏‎"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‎‏‎‎‎‎‎‎‏‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‏‎‎‏‎‎‏‎‏‎‏‎‎‏‏‏‏‏‎‎‎Intensity‎‏‎‎‏‎"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‏‏‎‎‎‏‏‏‎‏‎‏‏‎‏‏‏‎‏‏‏‏‎‏‏‏‏‏‏‎‎‎‎‏‎‏‏‏‏‏‏‎‎‎‎‏‎‎‏‏‏‎‏‏‏‎Green weak, deuteranomaly‎‏‎‎‏‎"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‎‏‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‎‏‏‎‎‏‎‏‏‎‎‎‎‎‏‏‎‎‎‏‏‏‎‎‏‎‏‎‏‏‎‎‎Red weak, protanomaly‎‏‎‎‏‎"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‏‎‏‏‎‏‏‎‎‏‏‎‏‎‏‎‎‏‎‏‏‏‏‏‎‎‎‎‎‎‏‎‏‏‎‏‏‏‎‎‎‎‏‏‏‏‏‎‏‏‏‎Unavailable for grayscale mode or when color correction is disabled‎‏‎‎‏‎"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‎‏‎‏‎‏‏‎‎‏‎‏‎‏‏‎‏‏‏‏‎‏‏‏‎‎‏‎‎‎‏‏‎‎‎‎‏‏‎‏‏‎‏‎‏‎‏‎Extra dim‎‏‎‎‏‎"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‎‏‎‎‏‏‏‏‎‎‏‏‎‏‏‎‎‎‏‏‏‎‎‎‏‏‎‏‏‎‏‎‏‎‎‏‏‎‏‎‏‏‏‎‎‏‏‎‎‎‏‎‎‎‎‎‎Make screen extra dim‎‏‎‎‏‎"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‎‏‎‎‎‎‎‏‎‎‎‎‎‏‏‎‎‏‏‏‏‎‏‎‏‎‏‎‎‏‎‏‏‎‏‎‏‎‏‎‎‎‏‎‎‎‎‏‏‎‎‏‎‏‏‏‎Cyan‎‏‎‎‏‎"</string>
     <string name="color_yellow" msgid="5957551912912679058">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‏‎‏‏‎‏‎‏‏‏‏‎‎‏‏‏‏‎‎‏‏‎‎‏‏‏‏‏‎‎‎‎‎‏‏‎‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‎‏‎‎Yellow‎‏‎‎‏‎"</string>
     <string name="color_magenta" msgid="8943538189219528423">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‏‏‎‏‏‏‎‏‎‏‎‎‏‎‎‏‏‎‎‏‎‎‏‎‎‎‏‏‏‎‎‏‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‏‎Magenta‎‏‎‎‏‎"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‏‏‎‏‏‏‎‎‏‎‎‎‏‏‎‏‏‏‏‎‎‏‏‎‏‏‎‎‎‏‏‏‏‏‎‏‏‏‎‎‎‏‏‎‏‎‎‏‎‎‏‎‎‎Allow ‎‏‎‎‏‏‎<xliff:g id="SERVICE">%1$s</xliff:g>‎‏‎‎‏‏‏‎ to have full control of your device?‎‏‎‎‏‎"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‎‎‎‎‎‎‏‏‎‎‎‏‏‎‏‏‎‏‎‏‏‏‎‏‏‎‎‎‎‎‎‎‏‏‏‎‎‏‏‎‎‏‎‏‎‏‏‎‎‏‎‏‎‎‏‎‎‎‏‎‎‏‏‎<xliff:g id="SERVICE">%1$s</xliff:g>‎‏‎‎‏‏‏‎ needs to:‎‏‎‎‏‎"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‏‎‏‎‎‏‎‏‎‎‎‏‏‏‎‎‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‎‏‏‏‎‎‎‏‎‎‎‏‏‏‎‎‎‎‎‏‎‎‎‎‏‎Because an app is obscuring a permission request, Settings can’t verify your response.‎‏‎‎‏‎"</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‎‏‎‏‎‎‏‎‎‎‎‎‏‎‏‏‎‏‎‏‎‎‏‎‎‏‏‎‏‎‏‎‎‎‎‎‏‏‏‎‎‏‏‎‎‏‏‏‏‎‏‎‏‎‎‎‏‎‎‏‏‎<xliff:g id="SERVICE">%1$s</xliff:g>‎‏‎‎‏‏‏‎ is requesting full control of this device. The service can read the screen and act on behalf of users with accessibility needs. This level of control is not appropriate for most apps.‎‏‎‎‏‎"</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‏‏‏‎‎‎‏‎‏‏‎‏‏‎‎‎‎‎‎‏‏‎‏‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‎‎‏‎‎‎‎‎‎‏‎‏‏‏‏‏‎Full control is appropriate for apps that help you with accessibility needs, but not for most apps.‎‏‎‎‏‎"</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‏‎‎‎‎‎‎‏‏‏‏‎‎‏‏‏‎‏‎‏‏‏‎‎‎‎‎‎‏‎‏‏‎‎‏‏‎‎‎‎‎‏‎‏‎‎‎‏‏‎‏‎‏‏‏‎‎View and control screen‎‏‎‎‏‎"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‎‎‏‎‏‏‎‎‏‎‏‎‎‏‏‎‏‏‏‎‏‎‏‏‏‎‎‎‎‎‏‏‎‏‎‎It can read all content on the screen and display content over other apps.‎‏‎‎‏‎"</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‎‎‏‏‏‎‏‎‎‏‎‏‎‎‏‎‏‎‎‏‎‏‎‏‏‎‏‏‏‎‎‎‏‏‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‏‎‎‏‎View and perform actions‎‏‎‎‏‎"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‎‏‏‎‏‎‏‏‏‏‏‏‎‏‏‏‏‎‎‏‏‎‎‏‎‏‏‎‏‎‎‏‎‏‎‏‎‏‏‎‎‎‎‎‎‏‏‎‏‏‎‎‏‎‎It can track your interactions with an app or a hardware sensor, and interact with apps on your behalf.‎‏‎‎‏‎"</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‎‏‏‎‎‏‏‎‏‎‏‎‏‎‏‏‎‎‎‏‏‎‏‎‎‎‎‎‎‏‏‎‏‏‏‎‎‏‏‏‏‏‏‎‏‎‏‏‏‎‎‏‎Allow‎‏‎‎‏‎"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‏‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‎‎‏‏‎‏‎‎‏‎‏‎‏‏‎‏‏‏‎‎‏‏‎‎‎‏‎‏‎‏‎‎‎Deny‎‏‎‎‏‎"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‎‎‎‏‎‏‎‏‎‏‏‎‏‏‎‎‏‏‏‎‏‎‏‎‏‏‎‎‎‎‎‎‎‎‎‎‏‎‏‎‏‏‏‏‎‏‏‏‏‎‏‏‏‎Turn off‎‏‎‎‏‎"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‎‏‏‎‏‏‎‎‏‏‎‎‏‎‏‏‏‎‎‏‏‎‎‎‎‎‎‏‎‏‏‏‏‏‎‎‏‎‏‏‎‎‎‏‎‏‎‏‏‎On / ‎‏‎‎‏‏‎<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g>‎‏‎‎‏‏‏‎ and ‎‏‎‎‏‏‎<xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‎‏‏‏‎‎‎‏‏‎‎‏‏‎‎‏‏‎‎‏‏‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‎‎‏‏‎‏‏‏‎‏‎‎‏‎‎‎‎You can also turn on Spatial Audio for Bluetooth devices.‎‏‎‎‏‎"</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‏‎‎‎‏‏‎‏‏‏‎‎‏‎‎‎‎‏‏‏‏‏‎‎‏‎‎‏‎‎‎‏‏‎‏‎‎‎‏‎‏‎‏‎‎‎‎‏‎‎‏‎‏‏‏‎‏‎Connected devices settings‎‏‎‎‏‎"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‏‏‎‏‎‎‏‏‎‎‏‏‎‏‎‎‎‎‎‎‏‎‏‎‎‏‎‏‏‎‏‏‎‎‏‏‏‎‏‎‎‏‎‎‎‏‎‎‎‏‏‎‎‏‎Spatial Audio‎‏‎‎‏‎"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‏‏‏‏‎‏‎‎‎‎‏‏‏‏‎‎‏‏‎‏‎‏‎‏‎‏‎‎‎‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‏‎‏‎‎‏‎‎‏‏‎‎‎Off‎‏‎‎‏‎"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‎‏‏‏‏‎‏‎‎‎‏‏‏‏‎‏‏‏‎‎‏‎‎‎‏‏‎‎‏‏‎‏‎‎‎‏‏‎‏‏‏‎‎‎‏‏‎‎‏‏‏‏‏‏‎‎‎Off‎‏‎‎‏‎"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‏‏‏‏‎‏‎‏‏‎‏‎‎‏‏‏‏‏‏‎‏‏‏‏‏‎‏‏‎‎‎‎‏‏‏‏‎‎‏‎‏‎‏‎‏‎‏‎‎‎‎‏‏‎‏‏‎Off‎‏‎‎‏‎"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‏‏‎‏‎‏‎‏‏‎‏‏‎‎‏‏‏‏‎‏‏‎‎‎‎‏‏‏‏‏‏‎‎‎‎‏‏‏‏‏‎‏‎‎‏‏‏‏‏‏‎‎‎‎‏‎None‎‏‎‎‏‎}=1{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‏‏‎‏‎‏‎‏‏‎‏‏‎‎‏‏‏‏‎‏‏‎‎‎‎‏‏‏‏‏‏‎‎‎‎‏‏‏‏‏‎‏‎‎‏‏‏‏‏‏‎‎‎‎‏‎1 schedule set‎‏‎‎‏‎}other{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‏‏‎‏‎‏‎‏‏‎‏‏‎‎‏‏‏‏‎‏‏‎‎‎‎‏‏‏‏‏‏‎‎‎‎‏‏‏‏‏‎‏‎‎‏‏‏‏‏‏‎‎‎‎‏‎# schedules set‎‏‎‎‏‎}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‎‏‏‏‏‎‎‏‎‏‎‏‏‎‏‎‏‏‏‎‎‏‎‎‏‏‏‎‏‏‎‎‏‎‎‏‎‎‎‏‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‎Do Not Disturb‎‏‎‎‏‎"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‎‏‎‏‏‎‎‏‏‏‏‎‏‎‏‏‎‏‏‏‎‏‎‎‏‏‏‏‏‎‎‏‎‎‏‎‎‎Priority Modes‎‏‎‎‏‎"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‏‎‎‏‏‎‏‎‏‏‏‎‎‏‏‎‏‏‏‏‎‎‎‎‎‏‎‎‎‏‏‏‎‎‏‎‏‏‏‎‏‏‏‏‎‏‎‏‎‎‏‎‎‎Add a mode‎‏‎‎‏‎"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‎‎‏‏‏‎‏‏‏‎‏‏‏‏‎‎‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‏‎‏‎‎‎‏‎‎‏‏‏‏‏‏‎‏‏‏‏‎‎‏‎Modes‎‏‎‎‏‎"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‏‏‏‎‏‎‏‎‎‏‏‏‏‎‎‎‎‎‏‏‏‎‏‎‏‎‏‏‏‎‏‏‏‏‎‏‎‎‎‏‏‏‎‎‏‏‎‎‎‏‎‎‏‏‎‎‎Minimize distractions and take control of your attention with modes for sleep, work, driving, and everything in between.‎‏‎‎‏‎"</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‎‏‏‏‏‏‏‎‎‎‎‎‎‎‏‎‏‏‎‎‎‏‏‎‎‏‏‏‎‎‎‏‎‏‏‎‏‎‎‎‏‎‏‎‎‎‏‏‏‎‎‎‎‎‎‎Create your own mode‎‏‎‎‏‎"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‏‏‎‏‎‏‎‏‎‏‏‏‎‏‎‎‏‎‏‏‎‎‎‎‎‎‏‏‏‏‏‏‎‏‏‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‏‎‏‏‏‎Only get notified by important people and apps‎‏‎‎‏‎"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‎‎‏‏‎‏‎‎‎‎‎‎‏‎‎‎‎‎‎‏‎‏‎‏‎‎‎‎‏‎‏‎‏‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‏‎‎‎‎Set a schedule‎‏‎‎‏‎"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‎‎‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‏‎‏‏‏‎‏‎‎‎‎‏‏‏‎‏‏‏‎‏‏‎‎‏‏‎‏‎‎‎‎‎‎‎‏‏‎‏‎Schedule based on‎‏‎‎‏‎"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‎‎‎‏‎‏‏‎‏‏‎‎‏‎‎‎‏‎‏‎‎‏‏‎‎‎‏‏‎‏‎‏‎‎‎‎‏‏‏‎‎‎‏‏‏‏‏‏‎‎‎‏‏‎‏‎‎Day and time‎‏‎‎‏‎"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‎‏‎‏‎‏‏‎‏‎‏‎‎‏‎‎‎‎‏‎‎‎‏‏‏‎‏‎‏‏‏‏‎‏‏‎‎‏‏‎‏‎‎‎‏‏‏‎‏‏‏‎‎‏‎‏‎\"9 AM - 5 PM weekdays\"‎‏‎‎‏‎"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‏‎‎‎‏‏‎‏‎‎‏‎‎‎‏‏‏‏‎‎‏‏‎‎‏‏‎‎‎‎‎‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‎‏‏‎‎‎‏‎Calendar events‎‏‎‎‏‎"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‏‏‎‎‎‎‎‎‎‎‏‏‎‏‏‎‎‏‏‏‎‎‏‎‏‎‏‏‏‎‎‎‏‎‏‏‏‎‏‎‎‏‏‏‏‎‏‎‎‏‏‏‏‎‎‏‎‎‏‏‎{mode_1}‎‏‎‎‏‏‏‎ is active‎‏‎‎‏‎}=2{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‏‏‎‎‎‎‎‎‎‎‏‏‎‏‏‎‎‏‏‏‎‎‏‎‏‎‏‏‏‎‎‎‏‎‏‏‏‎‏‎‎‏‏‏‏‎‏‎‎‏‏‏‏‎‎‏‎‎‏‏‎{mode_1}‎‏‎‎‏‏‏‎ and ‎‏‎‎‏‏‎{mode_2}‎‏‎‎‏‏‏‎ are active‎‏‎‎‏‎}=3{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‏‏‎‎‎‎‎‎‎‎‏‏‎‏‏‎‎‏‏‏‎‎‏‎‏‎‏‏‏‎‎‎‏‎‏‏‏‎‏‎‎‏‏‏‏‎‏‎‎‏‏‏‏‎‎‏‎‎‏‏‎{mode_1}‎‏‎‎‏‏‏‎, ‎‏‎‎‏‏‎{mode_2}‎‏‎‎‏‏‏‎, and ‎‏‎‎‏‏‎{mode_3}‎‏‎‎‏‏‏‎ are active‎‏‎‎‏‎}other{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‏‏‎‎‎‎‎‎‎‎‏‏‎‏‏‎‎‏‏‏‎‎‏‎‏‎‏‏‏‎‎‎‏‎‏‏‏‎‏‎‎‏‏‏‏‎‏‎‎‏‏‏‏‎‎‏‎‎‏‏‎{mode_1}‎‏‎‎‏‏‏‎, ‎‏‎‎‏‏‎{mode_2}‎‏‎‎‏‏‏‎, and # more are active‎‏‎‎‏‎}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‎‎‏‏‎‏‏‎‏‏‎‎‏‏‎‏‎‎‎‏‎‎‎‎‏‏‎‏‎‏‏‎‏‏‎‏‏‏‏‏‏‎‏‎‏‎‎‏‏‎‏‏‎1 mode can turn on automatically‎‏‎‎‏‎}other{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‎‎‏‏‎‏‏‎‏‏‎‎‏‏‎‏‎‎‎‏‎‎‎‎‏‏‎‏‎‏‏‎‏‏‎‏‏‏‏‏‏‎‏‎‏‎‎‏‏‎‏‏‎# modes can turn on automatically‎‏‎‎‏‎}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‏‎‏‏‎‎‎‎‎‏‏‏‏‎‎‏‏‏‎‏‎‎‏‎‏‎‎‏‏‏‏‏‎‎‎‎‏‏‏‎‏‏‎‏‏‎‏‏‎‎‏‏‎‏‎ON‎‏‎‎‏‎"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‎‏‏‎‎‏‏‎‏‏‏‏‎‏‏‎‏‏‎‎‏‎‎‎‏‎‎‎‏‏‎‏‎‏‏‎‎‎‏‏‎‎‏‎‎‏‎‏‎‎‏‏‎‎‎‎‎Not set‎‏‎‎‏‎"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‏‏‏‎‏‏‎‎‎‏‏‎‎‎‎‎‏‏‎‏‏‎‎‎‏‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‎‏‎Disabled‎‏‎‎‏‎"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‏‏‎‏‏‏‎‏‎‎‏‎‏‏‏‎‏‏‏‏‎‏‏‎‎‏‎‎‏‏‏‏‏‏‎‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎‎Create a mode‎‏‎‎‏‎"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‏‎‏‏‏‎‎‏‎‏‏‎‏‎‎‎‎‏‎‎‏‏‏‏‏‏‎‏‏‏‎‎‏‏‏‎‎‎‏‎‏‎‎‏‎‎‎‏‎‎‎‎‏‏‎‏‎Custom‎‏‎‎‏‎"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‎‏‎‎‎‎‏‏‏‏‎‎‎‎‎‏‏‎‎‏‎‎‏‎‏‎‎‏‎‏‏‎‏‎‎‏‎‎‏‎‎‏‏‎‏‏‏‏‎‏‎‏‎‎‎Turn on now‎‏‎‎‏‎"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‎‏‏‎‎‎‎‏‏‎‏‎‏‏‎‎‎‎‏‎‎‎‎‏‏‎‎‎‎‎‏‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‏‏‏‎‏‎‎‏‎Turn off‎‏‎‎‏‎"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‏‎‎‏‏‎‏‎‏‏‎‎‏‏‎‎‏‏‏‎‎‏‎‏‎‏‏‏‎‏‏‎‎‎‎‏‏‎‏‎‎‏‏‎‎‎‏‏‎‎‎‏‏‎‎‏‎Mode not found‎‏‎‎‏‎"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‎‎‏‏‎‏‏‏‎‏‏‎‏‏‏‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‎‏‏‏‎‎‏‏‏‏‎‎‏‎‏‎‎‎‎‎‎‎‎‎‎Limit interruptions‎‏‎‎‏‎"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‎‎‎‎‏‎‏‎‎‎‏‎‏‎‎‏‏‎‏‏‏‎‎‏‏‎‏‎‏‏‎‏‎‏‏‏‎‎‏‎‏‎‎‎‏‎‎‏‏‏‎‎‎‎‏‎‎Block interruptions and distractions‎‏‎‎‏‎"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‎‎‏‏‎‎‏‏‎‏‎‎‎‎‏‏‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‎‏‎‎‏‏‎‏‎‏‏‏‏‎‎‏‏‎‏‎‏‏‏‏‎‎Set up ‎‏‎‎‏‏‎<xliff:g id="MODE">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‏‎‎‎‏‎‏‎‏‏‏‎‎‎‎‏‏‎‏‎‏‎‏‏‏‏‎Turn on Do Not Disturb‎‏‎‎‏‎"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‎‎‎‎‏‎‎‏‎‎‏‎‎‏‏‏‏‏‏‎‏‏‏‎‎‎‎‏‎‏‎‏‎‏‎‏‏‏‎‏‎‏‎‏‎‎‎‏‏‏‎‎‏‎‏‏‎Alarms and media sounds can interrupt‎‏‎‎‏‎"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‎‏‏‏‏‎‏‎‎‎‏‎‏‎‏‎‏‎‏‏‎‎‎‏‎‏‎‏‎‎‏‏‏‎‎‎‎‏‎‏‏‎‏‎‎‏‏‏‏‏‎‎‏‏‏‎‎Schedules‎‏‎‎‏‎"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‏‎‏‏‎‎‎‏‎‎‏‎‎‏‎‏‎‎‏‏‏‏‎‎‏‏‏‎‏‏‏‏‏‎‎‎‏‎‎‏‎‎‏‏‏‏‏‏‎‏‎‏‎‏‎Delete schedules‎‏‎‎‏‎"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‏‏‎‏‎‏‏‏‎‎‎‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‎‏‏‎‏‎‏‏‎‏‎‎‎‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎Delete‎‏‎‎‏‎"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‏‏‏‎‎‏‎‎‎‏‏‎‏‎‎‎‏‏‏‎‏‎‎‎‏‏‏‎‏‎‎‏‎‎‎‏‎‏‎‏‎‏‏‏‎‎‏‎‏‏‎‏‎‏‎Rename‎‏‎‎‏‎"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‏‎‏‎‎‏‏‏‏‎‎‏‏‎‏‎‎‎‎‏‏‎‏‏‎‎‎‏‏‎‏‎‎‏‎‎‎‎‏‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‎Delete‎‏‎‎‏‎"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‎‎‏‎‎‏‎‎‎‎‏‎‎‏‎‎‎‏‎‎‎‎‎‏‎‏‏‎‎‏‎‎‏‎‏‏‎‎‎‎‎‎‏‏‏‏‎‎‎‎‎‎‎‎Delete \"‎‏‎‎‏‏‎<xliff:g id="MODE">%1$s</xliff:g>‎‏‎‎‏‏‏‎\" mode?‎‏‎‎‏‎"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‏‎‎‏‏‏‎‏‏‏‎‏‏‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‎‏‎‏‏‏‎‎‎‎‎‎‎‎‎‏‎‎‎‏‎‎‎‎‎‏‎Edit‎‏‎‎‏‎"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‎‎‏‎‎‎‏‏‎‎‎‎‏‏‎‎‏‎‎‏‏‏‏‎‎‏‏‏‏‎‎‏‏‏‎‎‏‎‏‏‎‎‏‎‎‏‎‎‎‏‏‏‏‏‎Schedules‎‏‎‎‏‎"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‎‎‏‎‎‎‎‎‏‏‏‎‎‏‏‏‏‎‎‏‎‏‎‎‎‏‎‏‎‎‏‏‏‎‏‎‎‎‏‏‎‎‎‎‏‎‏‏‏‏‏‏‎‎‏‎Schedule‎‏‎‎‏‎"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‏‎‏‏‏‎‎‎‎‏‎‏‏‏‎‏‏‎‏‏‎‎‎‎‏‎‎‏‏‎‏‎‏‎‏‏‎‎‎‏‏‎‎‏‎‏‏‎Turn on automatically‎‏‎‎‏‎"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‎‎‏‏‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‎‎‏‎‎‏‏‎‏‎‏‎‏‎‎‏‏‎‎‎‏‎‎Add a calendar‎‏‎‎‏‎"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‎‎‎‏‏‎‏‏‏‏‎‎‎‏‏‏‎‏‏‎‎‏‏‏‏‎‎‎‏‏‎‎‎‎‏‎‏‎‏‎‏‏‎‏‎‏‏‏‎‏‎‏‎‎‎Use your calendar‎‏‎‎‏‎"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‏‏‎‎‏‏‎‎‏‏‎‏‎‎‎‏‏‎‏‏‎‎‎‎‎‎‎‏‎‏‏‎‏‏‏‎‏‎‏‎‏‏‏‎‏‏‏‏‏‏‎‎‎‎‎Schedule‎‏‎‎‏‎"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‎‏‎‏‏‏‏‏‎‎‎‏‏‏‏‎‏‏‎‎‏‎‏‎‏‎‎‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‏‎‎‎‏‏‏‏‎‎‏‎Set a schedule‎‏‎‎‏‎"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‎‏‏‏‏‎‎‏‏‏‏‎‏‏‏‎‎‎‏‏‎‏‏‏‎‎‏‎‎‏‎‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‏‎‏‏‎‎‎‏‎When to turn on automatically‎‏‎‎‏‎"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‎‏‏‏‎‏‏‎‎‎‏‏‏‏‎‎‏‎‏‏‏‎‏‎‎‏‎‎‏‎‎‏‎‏‎‎‏‎‏‎‏‏‏‎‏‎‎‎‎‎‎‎‏‎‏‏‎Event schedule‎‏‎‎‏‎"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‏‏‏‎‏‎‏‏‎‏‏‏‏‏‎‏‎‎‎‎‎‏‎‎‏‏‎‏‎‎‎‏‏‎‎‎‎‏‏‏‎‎‏‎‏‏‏‎‏‏‏‏‏‎Turn on during events for‎‏‎‎‏‎"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‏‎‎‎‏‎‎‎‎‏‏‎‏‎‎‏‎‎‏‎‎‎‏‏‎‏‎‏‎‎‏‎‎‏‏‎‎‎‎‎‏‎‏‎‏‏‏‎‏‏‎‏‏‎‎‏‎Where invite reply is‎‏‎‎‏‎"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‎‏‏‎‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‎‎‎‎‏‎‎‏‏‏‎‏‏‎‏‎‏‏‎‎‎‏‏‏‏‏‏‎‏‏‏‎Time schedule‎‏‎‎‏‎"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‎‏‎‏‎‏‎‏‏‎‎‎‎‏‏‎‎‏‎‏‏‎‏‏‎‎‎‏‎‎‏‎‎‏‏‎‏‏‎‏‏‏‎‎‎‏‏‎‏‏‎‎‏‎Schedule‎‏‎‎‏‎"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‎‎‏‎‎‏‏‏‎‏‏‏‎‎‎‏‎‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‎‎‎‏‏‎‎‏‎‎‏‎‎‏‏‏‎‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎<xliff:g id="HOURS">%1$d</xliff:g>‎‏‎‎‏‏‏‎ hr, ‎‏‎‎‏‏‎<xliff:g id="MINUTES">%2$d</xliff:g>‎‏‎‎‏‏‏‎ min‎‏‎‎‏‎"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‎‎‏‎‏‏‎‏‎‏‏‎‏‏‎‎‎‏‏‏‎‏‏‎‎‏‎‏‎‏‏‏‎‎‏‏‎‎‎‎‏‎‎‎‏‏‏‎‎‏‎‎‏‏‎‎‎Schedule‎‏‎‎‏‎"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‎‏‎‏‎‏‎‎‏‏‎‎‏‎‎‏‏‏‏‏‎‏‏‏‏‎‏‎‏‏‎‏‏‎‏‎‎‏‎‏‏‏‏‏‎‎‎‎‏‎‏‎‏‏‏‎Allow interruptions that make sound‎‏‎‎‏‎"</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="mode_interruption_filter_title" msgid="6657431939996264417">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‎‎‎‏‏‏‏‏‏‎‎‏‏‎‎‎‏‎‎‏‏‏‎‏‎‏‎‏‏‏‏‎‏‎‎‎‏‎‎‏‎‎‏‏‏‏‏‏‎‎‎‎‏‎Notifications that can reach you‎‏‎‎‏‎"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‎‏‎‎‏‎‎‎‎‏‎‎‎‏‏‎‎‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‏‏‎‎‏‏‎‎‎‎‏‎‎‏‏‎‏‎‎‎‎‎Additional actions‎‏‎‎‏‎"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‎‏‎‏‏‎‎‎‎‎‏‏‏‎‎‏‏‎‏‏‏‎‎‏‏‎‎‎‏‏‎‏‎‎‎‏‏‎‎‏‎‎‏‎‏‏‏‏‏‏‎‏‏‎‎‎‎Notification filters‎‏‎‎‏‎"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‎‎‏‎‏‏‎‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‏‎‏‎‏‏‏‎‏‎‎‎‏‏‎‏‎‏‏‎‎‏‏‎‏‎‎‏‎‎‎‏‎More settings‎‏‎‎‏‎"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‏‏‎‎‎‎‏‏‏‏‎‏‎‎‏‎‏‎‎‏‏‎‎‏‎‏‏‎‏‏‏‎‏‎‏‎‏‎‏‏‏‎‎‏‎‏‏‎‎‎‏‎‎‏‏‏‎Off‎‏‎‎‏‎}=1{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‏‏‎‎‎‎‏‏‏‏‎‏‎‎‏‎‏‎‎‏‏‎‎‏‎‏‏‎‏‏‏‎‏‎‏‎‏‎‏‏‏‎‎‏‎‏‏‎‎‎‏‎‎‏‏‏‎Off / 1 mode can turn on automatically‎‏‎‎‏‎}other{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‏‏‎‎‎‎‏‏‏‏‎‏‎‎‏‎‏‎‎‏‏‎‎‏‎‏‏‎‏‏‏‎‏‎‏‎‏‎‏‏‏‎‎‏‎‏‏‎‎‎‏‎‎‏‏‏‎Off / # modes can turn on automatically‎‏‎‎‏‎}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‏‏‎‏‏‎‎‏‏‎‏‎‎‎‏‎‎‎‏‏‎‏‎‎‎‎‏‏‎‏‏‎‏‎‎‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‎‎‎Display settings‎‏‎‎‏‎"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‏‏‎‏‏‎‏‏‏‎‎‏‎‎‎‏‏‏‎‎‎‏‏‏‎‎‏‎‎‎‏‏‏‎‏‎‎‏‎‎‎Display options‎‏‎‎‏‎"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‏‎‎‏‏‎‎‎‏‎‏‎‏‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‏‎‏‎‏‎‎‎‎‏‎‏‎Grayscale‎‏‎‎‏‎"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‎‏‎‎‏‏‎‏‏‎‎‏‏‏‎‎‏‏‎‎‎‏‏‎‏‎‏‏‏‏‎‎‎‏‏‏‎‏‏‏‎‏‎‏‏‎‎‎‏‎‏‏‎‏‎enable dark theme‎‏‎‎‏‎"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‏‏‎‎‏‎‏‏‎‏‏‎‎‎‎‏‏‏‏‏‎‏‎‎‏‏‏‎‏‎‏‏‎‏‎‏‏‎‏‏‏‎‏‏‏‎‏‎‏‏‎‏‎‎Switch the OS and apps to prefer light text on a dark background, which may be easier on the eyes and confers significant battery savings on some devices‎‏‎‎‏‎"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‎‎‏‏‎‏‎‎‏‎‏‏‎‏‏‎‏‏‎‏‎‏‎‎‎‏‎‎‏‏‎‎‎‎‏‏‎‎‎No display changes‎‏‎‎‏‎}=1{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‎‎‏‏‎‏‎‎‏‎‏‏‎‏‏‎‏‏‎‏‎‏‎‎‎‏‎‎‏‏‎‎‎‎‏‏‎‎‎‎‏‎‎‏‏‎{effect_1}‎‏‎‎‏‏‏‎‎‏‎‎‏‎}=2{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‎‎‏‏‎‏‎‎‏‎‏‏‎‏‏‎‏‏‎‏‎‏‎‎‎‏‎‎‏‏‎‎‎‎‏‏‎‎‎‎‏‎‎‏‏‎{effect_1}‎‏‎‎‏‏‏‎ and ‎‏‎‎‏‏‎{effect_2}‎‏‎‎‏‏‏‎‎‏‎‎‏‎}=3{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‎‎‏‏‎‏‎‎‏‎‏‏‎‏‏‎‏‏‎‏‎‏‎‎‎‏‎‎‏‏‎‎‎‎‏‏‎‎‎‎‏‎‎‏‏‎{effect_1}‎‏‎‎‏‏‏‎, ‎‏‎‎‏‏‎{effect_2}‎‏‎‎‏‏‏‎, and ‎‏‎‎‏‏‎{effect_3}‎‏‎‎‏‏‏‎‎‏‎‎‏‎}other{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‎‎‏‏‎‏‎‎‏‎‏‏‎‏‏‎‏‏‎‏‎‏‎‎‎‏‎‎‏‏‎‎‎‎‏‏‎‎‎‎‏‎‎‏‏‎{effect_1}‎‏‎‎‏‏‏‎, ‎‏‎‎‏‏‎{effect_2}‎‏‎‎‏‏‏‎, and # more‎‏‎‎‏‎}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‏‎‎‎‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‎‎‎‏‎‏‏‎‎‏‏‎‎‏‏‎‎‎‎‎‏‏‎‏‏‏‎‎‎‎‎‏‏‎‎Allow all notifications‎‏‎‎‏‎"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‎‎‏‎‎‎‎‎‎‎‎‏‏‏‎‏‎‏‏‎‎‎‏‏‎‏‏‏‎‏‏‏‏‎‎‎‏‎‏‏‎‎‎‏‏‎‎‎‏‏‏‎‏‎People, apps, and sounds can interrupt‎‏‎‎‏‎"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‎‎‎‎‎‎‎‎‎‎‏‎‏‏‎‎‎‏‎‏‎‎‏‎‎‎‏‎‎‏‎‎‎‏‏‎‏‏‏‎‏‏‏‏‎‎‎‎‎‏‎‏‎‎Display options for filtered notifications‎‏‎‎‏‎"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‏‎‎‏‎‎‏‎‏‎‎‏‏‏‎‏‏‏‏‏‏‎‎‎‏‎‏‎‏‎‎‏‎‎‎‏‎‎‎‎‎‏‏‎‎When Do Not Disturb is on‎‏‎‎‏‎"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‎‏‏‏‏‏‎‎‎‎‎‏‎‎‏‏‎‎‏‎‏‎‎‎‏‎‎‎‎‏‎‏‎‏‎‏‎‏‏‎‏‏‏‏‎‎‏‎‏‎‏‏‏‏‎No sound from notifications‎‏‎‎‏‎"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‏‏‎‏‏‎‎‎‏‎‏‏‎‏‎‏‏‏‎‎‎‏‏‏‎‎‎‏‎‎‎‎‎‏‎‎‏‎‎‏‎‎‏‎‏‏‏‏‎‎‎‎‎‎‏‏‎open notification‎‏‎‎‏‎"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‏‎‎‎‏‏‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‏‎‎‎‎‏‏‎‏‎‎‎‎‎‏‏‎‏‎‏‎‎‎‏‎‏‎‎‏‎Allow notification snoozing‎‏‎‎‏‎"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‏‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‏‏‎‎‎‏‎‏‎‎‏‎‎‏‏‎‎‏‎‎‎‎‎‏‏‎‏‎‎‎‏‎‏‎‏‎Notification dot on app icon‎‏‎‎‏‎"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‎‎‏‎‎‏‏‏‏‎‏‎‏‎‏‎‎‏‎‏‏‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‏‎‎‏‏‎‎‏‏‎‎‎‎‏‎‏‏‎‏‎‎Notification bundles‎‏‎‎‏‎"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‏‏‎‏‏‎‎‎‏‏‎‎‎‏‎‎‎‎‏‏‎‏‎‏‏‏‎‎‏‏‏‏‏‎‎‎‏‏‎‏‎‎‏‏‎‏‎‎‏‏‎‏‎‏‎‏‎Bubbles‎‏‎‎‏‎"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‏‏‎‏‎‎‎‎‏‏‏‏‎‏‎‏‏‎‏‎‎‏‏‏‏‎‎‏‎‎‎‎‎‏‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‎‎‏‎‏‏‎‎Bubbles‎‏‎‎‏‎"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‎‎‎‎‏‏‎‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‎‏‎‎‏‏‏‎‏‏‎‎‎‎‎‎‎‏‏‎‏‏‎‏‎‏‎‎‎Bubble this conversation‎‏‎‎‏‎"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‏‎‏‏‎‎‎‏‎‏‏‏‎‎‎‎‏‏‎‏‏‏‎‎‎‎‏‏‏‏‎‎‏‎‎‎‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎It can reply to messages and take action on buttons in notifications, including snoozing or dismissing notifications and answering calls.‎‏‎‎‏‎"</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‏‎‏‎‎‏‎‏‎‎‎‎‎‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‎‎‏‎‎‎‎‏‎‏‎‏‏‏‎‎Change settings‎‏‎‎‏‎"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‎‏‎‏‎‎‎‏‏‏‎‏‎‏‎‏‎‎‏‎‎‎‏‎‎‎‏‎‎‎‎‏‎‎‏‏‏‎‏‏‏‏‎‎‎‏‏‎‎‏‎‏‏‎‎‏‎It can turn Do Not Disturb on or off and change related settings.‎‏‎‎‏‎"</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‎‏‏‏‏‏‎‎‎‏‏‎‎‎‏‎‏‎‎‎‎‏‏‏‎‎‎‎‎‏‎‎‏‏‎‎‏‎‏‎‎‏‎‏‎‏‏‏‎‎‏‎‎‏‎‏‏‎It can manage and activate Modes, and change related settings.‎‏‎‎‏‎"</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‏‎‏‎‎‎‏‎‎‎‏‏‏‏‎‎‏‎‎‎‎‏‎‏‎‎‏‏‏‏‎‏‎‎‏‎‏‎‏‎‏‏‎‏‎‎‎‎‎‎‎‎‏‎If you turn off notification access for ‎‏‎‎‏‏‎<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎, Do Not Disturb access may also be turned off.‎‏‎‎‏‎"</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‏‏‏‎‏‎‎‏‎‏‏‏‎‏‎‎‎‎‎‏‏‎‏‏‏‎‏‏‎‏‎‎‏‏‎‎‎‏‏‎‎‏‏‏‎‏‏‎‏‏‏‏‏‎‎If you turn off notification access for ‎‏‎‎‏‏‎<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎, Modes access may also be turned off.‎‏‎‎‏‎"</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‏‎‏‎‏‏‎‏‏‎‎‏‎‏‎‎‏‎‎‏‏‏‎‏‎‎‏‏‏‎‏‎‏‎‎‏‏‎‏‏‎‏‎‏‎‎‏‏‎‎‎‏‎‎‎‎‎Turn off‎‏‎‎‏‎"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‏‎‎‏‏‏‎‎‎‏‎‏‏‎‎‎‎‎‎‏‎‎‎‏‏‏‏‏‏‎‏‏‎‎‏‎‏‎‎‏‎‎‎‎‏‏‎‏‎‏‎‎‎Cancel‎‏‎‎‏‎"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‎‏‏‎‏‎‎‏‏‏‎‎‎‏‏‏‎‏‏‎‎‏‎‎‎‎‎‎‏‎‏‎‎‏‎‎‎‏‏‎Real-time‎‏‎‎‏‎"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‏‏‏‏‎‎‏‎‎‏‏‏‏‏‎‎‎‎‎‎‎‎‎‏‎‎‏‏‏‏‎‎‎‏‎‎‏‏‎‏‎‎‎‏‏‎‎‎‎‏‎‏‎‎‏‎‎This app doesn’t support enhanced settings‎‏‎‎‏‎"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‏‎‏‏‎‏‏‎‏‎‎‎‎‎‏‏‎‎‏‏‎‎‏‎‏‎‏‏‏‎‎‎‎‏‎‎‎‏‎‏‏‎‎‎‎‎‏‎‏‏‎‏‏‎‎‏‎More settings‎‏‎‎‏‎"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‎‏‏‏‏‎‏‎‏‏‎‏‏‎‎‎‏‏‎‏‎‏‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‏‎‎‏‏‏‏‏‎‎‏‎‏‎‏‎‏‎‎More settings are available inside this app‎‏‎‎‏‎"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‏‎‏‏‏‏‎‏‏‎‏‏‏‏‎‏‎‏‏‏‏‎‎‎‏‏‎‎‎‎‎‎‎‏‎‎‎‎‎‏‎‏‎‎‏‏‎‎‎‏‎‏‏‏‏‎‎Adaptive Notifications‎‏‎‎‏‎"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‏‏‎‏‎‎‏‎‎‎‎‎‎‎‎‏‏‎‏‏‎‎‏‏‏‎‏‏‎‏‎‏‏‎‎‏‎‏‎‎‏‎‏‏‏‎‎‏‏‎‎‏‏‎Use adaptive notifications‎‏‎‎‏‎"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‎‏‎‏‎‏‏‏‏‏‎‎‏‏‎‎‏‎‏‏‎‏‏‏‏‎‏‏‎‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‎‎‎‏‏‎‏‎‎When you get many notifications within a short time, your phone will lower volume and minimize pop-ups on screen for up to two minutes. Calls, alarms, and priority conversations still vibrate, make a sound, or show up on the screen, and all notifications are easy to find when you pull down from the top of the screen.‎‏‎‎‏‎"</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‏‏‎‎‏‎‎‎‏‏‏‎‎‎‎‎‎‎‎‎‏‎‏‎‎‎‎‎‏‏‎‎‏‎‏‏‎‏‎‎‏‎‏‏‎‏‏‏‎‎‎‏‎‏‎Notification cooldown‎‏‎‎‏‎"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‏‎‏‎‏‎‎‏‎‎‎‎‎‏‎‎‎‏‎‎‎‎‏‎‏‏‏‎‎‎‏‏‎‏‏‏‏‎‏‎‏‎‎‎‏‏‎‏‏‎‏‏‎‏‎Use notification cooldown‎‏‎‎‏‎"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‎‏‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‏‎‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‏‏‎‎‎‎‏‎‎‏‏‎‏‎‎‏‎‏‏‎‎When you receive many notifications within a short time, your device will lower its volume and minimize alerts for up to 2 minutes. Calls, alarms, and priority conversations are not affected. ‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Notifications received during the cooldown can be found by pulling down from the top of the screen.‎‏‎‎‏‎"</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‎‏‏‏‎‏‏‎‏‏‎‎‎‏‏‏‎‏‎‎‏‎‏‎‏‏‏‎‏‏‎‏‏‏‏‎‏‏‏‏‏‎‏‎‏‎‎‎‏‏‏‎Apply to work profiles‎‏‎‎‏‎"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‎‏‎‏‎‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‎‏‎‏‏‏‏‏‏‎‏‏‏‎‎‏‎‏‎‏‏‎‏‏‎‏‎‏‎‏‎‎‏‎‎Apply to work profile apps‎‏‎‎‏‎"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‏‎‏‏‎‏‎‏‏‏‎‏‎‏‎‏‎‏‏‎‏‎‎‏‎‏‎‎‎‏‏‎‏‏‎‎‎‎‎‎‏‏‏‏‏‎‎‏‎‎‏‎‎‎VR helper services‎‏‎‎‏‎"</string>
@@ -3650,6 +3709,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‎‏‎‏‏‏‎‎‏‏‏‏‏‎‎‎‏‏‎‎‏‏‎‎‏‏‏‏‎‏‏‎‎‏‏‏‎‏‎‏‏‏‎‏‎‎‎‎‎‎‎‎‏‎‏‎Do Not Disturb access‎‏‎‎‏‎"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‏‏‎‎‎‏‏‎‎‏‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‎‏‎‏‎‏‏‎‎‎‏‎‏‏‏‎‎‎‏‎Allow Do Not Disturb‎‏‎‎‏‎"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‎‏‏‏‎‏‎‎‏‏‏‏‏‎‏‎‏‏‏‎‎‏‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‎‎‎‏‎‎‏‎‏‎‏‎‏‎‏‏‎‎‎‎No installed apps have requested Do Not Disturb access‎‏‎‎‏‎"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‏‎‏‎‏‎‏‏‎‎‏‎‎‏‏‏‎‎‎‎Modes access‎‏‎‎‏‎"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‎‏‎‏‏‎‎‏‏‎‎‎‏‎‏‏‎‏‎‏‎‏‏‏‏‎‏‎‎‏‏‎‏‏‏‏‏‎‏‏‎‎‏‏‏‏‎‎‏‎‎‎‎‎‏‏‎Allow Modes access‎‏‎‎‏‎"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‎‎‎‏‏‎‎‎‏‎‏‎‏‎‎‏‎‏‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‏‎‏‏‏‏‏‎‎‎‏‎‎‎‏‎‏‏‎‎No installed apps have requested Modes access‎‏‎‎‏‎"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‏‏‏‎‏‏‏‏‏‏‎‎‎‎‎‎‏‏‏‎‏‏‏‏‏‎‎‏‎‏‎‏‎‏‏‏‏‎‏‎‎‎‎‏‎‏‎‏‎‏‏‎‎‏‎You haven\'t allowed notifications from this app‎‏‎‎‏‎"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‎‏‎‎‏‎‎‎‎‏‎‏‎‎‏‎‎‎‎‏‏‏‎‎‎‎‏‏‎‏‎‏‏‏‎‏‏‎‏‏‏‏‎‎‎‎‏‏‎‏‎‎‎‎‎At your request, Android is blocking this category of notifications from appearing on this device‎‏‎‎‏‎"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‏‎‎‏‏‏‏‎‏‏‏‏‎‏‏‎‏‏‎‎‎‎‎‎‎‏‏‏‏‎‎‎‎‎‎‎‎‏‏‎‎‏‎‏‏‏‎‎‎‎‎‎At your request, Android is blocking this group of notifications from appearing on this device‎‏‎‎‏‎"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‏‎‏‏‎‏‏‏‎‎‏‏‏‏‎‏‏‎‏‎‎‎‏‎‏‏‎‎‏‏‏‏‏‏‎‎‎‏‏‎‏‎‎‎‏‏‎‎‏‏‎‎‏‏‏‎Categories‎‏‎‎‏‎"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‎‏‏‏‏‎‎‎‎‎‎‏‎‎‎‎‏‎‎‎‎‏‏‏‏‏‏‎‎‏‎‏‎‏‎‏‎‏‏‎‎‏‎‏‏‎‎‏‎‎‎‏‎‏‎‎‏‎‎‎Other‎‏‎‎‏‎"</string>
     <string name="no_channels" msgid="4716199078612071915">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‏‏‎‎‏‏‎‏‎‎‏‏‏‎‎‎‎‏‎‎‏‏‎‎‎‏‎‎‏‎‏‎‏‏‎‎‏‎‎‏‏‏‎‏‎‏‏‏‏‎‏‎‏‏‎This app has not posted any notifications‎‏‎‎‏‎"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‎‏‎‏‎‏‏‏‎‎‏‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‎‏‏‏‎‏‎‏‏‎‏‎‎‎‏‏‏‎‎‏‎‎‎‏‎‏‎‏‏‎Show unused categories‎‏‎‎‏‎"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‏‎‏‎‏‎‏‏‎‎‏‏‏‎‎‎‏‎‎‏‎‏‏‏‎‎‎‎‏‎‎‎‏‏‎‎‏‎‎‎‎‎‎‏‏‎‎‎‎‏‏‏‏‏‏‎Additional settings in the app‎‏‎‎‏‎"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‎‏‎‎‎‎‏‎‎‏‎‏‎‎‎‎‏‎‏‎‏‏‏‏‎‏‏‎‏‏‎‏‏‏‎‏‎‏‏‎‎‎‎‏‎‎‎‏‎‎‏‏‎‎Show unused categories‎‏‎‎‏‎"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‎‎‎‏‏‏‏‎‎‎‏‏‏‎‎‎‏‎‏‎‏‏‎‏‏‏‎‎‏‏‏‏‎‎‎‎‎‎‏‏‎‎‎‎‏‎‎‎‏‎‎‎‏‎‎Hide unused categories‎‏‎‎‏‎"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‏‎‏‏‏‎‎‎‎‎‏‏‎‏‏‏‏‎‎‎‎‎‎‏‎‎‏‎‏‎‎‏‎‎‏‎‏‎‏‏‎‎‏‏‏‎‏‎‎‏‎‏‎‎‏‎‎‏‏‎<xliff:g id="START">%1$s</xliff:g>‎‏‎‎‏‏‏‎ - ‎‏‎‎‏‏‎<xliff:g id="END">%2$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‎‎‏‏‎‏‏‏‎‎‏‏‎‎‎‏‏‏‎‎‎‎‎‎‏‎‎‎‎‎‎‎‎‎‏‏‎‏‎‎‏‎‏‎‏‎‏‏‎‎‎‎‏‎‏‏‎Conversations‎‏‎‎‏‎"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‏‎‏‎‏‏‎‎‎‏‏‎‏‎‎‏‎‏‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‎‎‎‏‎‎‏‎‏‎All conversations‎‏‎‎‏‎"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‎‏‏‏‎‏‏‎‎‏‎‎‏‏‎‎‎‎‏‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‎‎‏‎‎‏‎‏‎‏‏‏‎‏‏‎‏‎all conversations‎‏‎‎‏‎"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‎‎‎‎‎‎‏‏‎‏‏‏‏‎‎‎‏‎‏‏‏‎‏‎‎‎‏‏‎‏‎‏‏‎‏‎‏‏‎‎‏‎‎‎‎‏‎‏‎Priority conversations‎‏‎‎‏‎"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‎‏‏‏‏‎‎‎‎‏‏‏‎‏‎‎‎‏‏‎‎‎‎‎‏‎‏‏‎‎‎‏‎‎‎‏‎‎‏‎‏‏‏‏‎‏‎‎‏‎‏‏‏‎priority conversations‎‏‎‎‏‎"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‎‏‏‏‎‏‏‎‏‏‏‏‎‏‎‎‏‎‏‏‏‏‎‏‎‏‏‏‎‏‎‏‎‏‏‎‎‏‎‏‏‏‎‎‏‎‎‏‎‎‏‏‏‏‎‏‎None‎‏‎‎‏‎"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‏‎‏‎‎‏‏‏‏‎‎‎‎‏‏‏‎‏‎‎‎‏‏‎‎‏‏‎‎‏‏‏‎‎‏‏‏‎‎‎‏‏‏‏‎‎‎‎‏‏‏‎‏‏‏‏‎Apps that can interrupt‎‏‎‎‏‎"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‎‎‎‎‏‎‎‎‎‏‎‏‎‎‎‏‎‏‏‎‎‎‎‎‏‎‏‎‏‎‎‏‎‎‎‏‎‎‎‎‎‏‏‎‏‎‏‏‎‏‏‎‎‎Selected apps‎‏‎‎‏‎"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‏‎‎‏‏‎‏‏‎‎‏‏‎‎‏‎‎‏‏‏‏‎‎‎‏‎‏‏‏‎‏‎‏‏‏‏‎‎‏‎‎‏‎‎‎‎‎‎‏‏‏‎‎‏‏‏‎None‎‏‎‎‏‎"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‏‏‎‎‏‎‏‏‎‎‏‎‎‏‏‎‏‏‏‏‎‎‎‎‏‏‏‎‏‎‏‎‎‏‎‎‏‎‏‏‏‎‎‏‏‏‏‎‏‎‏‎‏‏‎‎‎All‎‏‎‎‏‎"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‎‏‏‏‏‎‏‏‏‎‏‏‏‏‎‏‎‏‏‏‎‎‎‏‏‎‎‏‏‎‏‎‎‎‏‏‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎No apps can interrupt‎‏‎‎‏‎}=1{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‎‏‏‏‏‎‏‏‏‎‏‏‏‏‎‏‎‏‏‏‎‎‎‏‏‎‎‏‏‎‏‎‎‎‏‏‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‏‎‎‏‏‎{app_1}‎‏‎‎‏‏‏‎ can interrupt‎‏‎‎‏‎}=2{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‎‏‏‏‏‎‏‏‏‎‏‏‏‏‎‏‎‏‏‏‎‎‎‏‏‎‎‏‏‎‏‎‎‎‏‏‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‏‎‎‏‏‎{app_1}‎‏‎‎‏‏‏‎ and ‎‏‎‎‏‏‎{app_2}‎‏‎‎‏‏‏‎ can interrupt‎‏‎‎‏‎}=3{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‎‏‏‏‏‎‏‏‏‎‏‏‏‏‎‏‎‏‏‏‎‎‎‏‏‎‎‏‏‎‏‎‎‎‏‏‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‏‎‎‏‏‎{app_1}‎‏‎‎‏‏‏‎, ‎‏‎‎‏‏‎{app_2}‎‏‎‎‏‏‏‎, and ‎‏‎‎‏‏‎{app_3}‎‏‎‎‏‏‏‎ can interrupt‎‏‎‎‏‎}other{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‎‏‏‏‏‎‏‏‏‎‏‏‏‏‎‏‎‏‏‏‎‎‎‏‏‎‎‏‏‎‏‎‎‎‏‏‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‏‎‎‏‏‎{app_1}‎‏‎‎‏‏‏‎, ‎‏‎‎‏‏‎{app_2}‎‏‎‎‏‏‏‎, and # more can interrupt‎‏‎‎‏‎}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‏‏‏‎‎‎‏‎‎‎‏‎‏‎‏‎‎‎‎‎‎‏‎‏‎‎‏‏‏‎‎‎‏‎‏‏‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‎‎‏‎‎‏‏‎<xliff:g id="APP_LABEL">%s</xliff:g>‎‏‎‎‏‏‏‎ (Work)‎‏‎‎‏‎"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‏‎‎‏‏‏‎‎‎‎‎‏‎‎‎‏‏‏‎‏‏‎‎‎‏‏‎‎‎‏‎‎‎‎‏‎‏‎‎‎‎‎‏‎‎‏‏‎‎‎‏‎‏‎‏‏‎‎Calculating…‎‏‎‎‏‎"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‏‎‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‎‎‎‎‎‏‏‎‏‏‏‏‎‎‏‎‎‏‏‎‎‎‏‏‎‎‏‎‎‎‏‏‏‎‏‎+‎‏‎‎‏‏‎<xliff:g id="NUMBER">%d</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‏‎‏‎‏‏‎‏‏‎‎‎‏‎‏‏‏‎‏‎‎‎‎‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‏‎‎‎‏‎Allow apps to override‎‏‎‎‏‎"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‎‏‏‎‏‎‏‎‏‎‏‏‏‎‏‎‏‎‎‏‎‏‏‎‏‎‎‏‎‏‏‏‏‎‎‎‏‏‏‏‎‏‏‏‏‏‎‎‏‎‏‎‏‏‎‏‎‎Apps that can interrupt‎‏‎‎‏‎"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‎‏‏‎‏‏‏‏‎‎‏‎‏‏‏‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‎‏‏‏‎‏‎‏‎‏‏‎‏‏‏‏‎‎‏‎‏‏‏‎‎‎‎Select more apps‎‏‎‎‏‎"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‎‎‎‎‎‏‏‎‏‎‏‎‎‎‎‏‏‎‎‎‎‎‏‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‏‏‎‏‎‏‏‎‏‏‎‏‏‎‎‎Nothing can interrupt‎‏‎‎‏‎"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‎‎‎‏‎‏‎‎‏‏‎‎‎‏‎‎‏‎‏‏‎‎‏‏‎‏‎‏‏‏‎‏‏‏‏‎‎‎‎‏‏‎‎‏‎‏‏‏‎‎‎‏‏‎‎No one can interrupt‎‏‎‎‏‎"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‎‏‎‏‏‎‎‎‏‏‏‏‏‎‏‎‏‏‎‏‎‏‏‏‏‎‏‎‎‏‎‏‏‏‎‏‎‏‎‏‏‎‏‎‏‎‎‏‎Some people can interrupt‎‏‎‎‏‎"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‏‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‎‎‏‎‏‏‎‏‏‏‎‏‏‏‎‏‎‏‏‏‏‎‏‎‏‏‎‏‎‎‏‏‎‎‏‎Repeat callers can interrupt‎‏‎‎‏‎"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‎‏‎‏‎‎‎‏‎‎‎‎‎‏‎‏‏‎‏‏‎‎‎‏‏‏‎‎‎‎‎‏‏‎‏‏‏‏‎‏‎‎‎‎‎‏‎‎‎‎‏‎‎‏‎‏‎All people can interrupt‎‏‎‎‏‎"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‏‏‎‏‏‎‎‏‏‎‏‏‎‎‎‎‎‏‎‎‏‏‏‎‏‎‎‏‎‏‏‏‎‎‎‎‏‎‎‎‎‎‎‏‎‏‎‎Repeat callers‎‏‎‎‏‎"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‎‎‎‎‎‏‎‎‎‎‏‎‎‏‎‏‏‏‏‏‎‎‎‎‎‏‏‎‏‏‏‎‎‎‎‎‎‏‏‎‎‏‎‎‏‎‏‏‎‎‏‏‎‏‎Allow repeat callers‎‏‎‎‏‎"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‏‎‏‎‏‎‏‎‏‎‎‎‎‏‎‏‎‎‎‎‎‎‎‎‎‏‎‏‎‎‏‎‎‏‎‎‎‎‏‏‏‎‏‎‎‎‏‎‎‎‎‏‏‎Change to alarms only for one hour until ‎‏‎‎‏‏‎{time}‎‏‎‎‏‏‏‎‎‏‎‎‏‎}other{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‏‎‏‎‏‎‏‎‏‎‎‎‎‏‎‏‎‎‎‎‎‎‎‎‎‏‎‏‎‎‏‎‎‏‎‎‎‎‏‏‏‎‏‎‎‎‏‎‎‎‎‏‏‎Change to alarms only for # hours until ‎‏‎‎‏‏‎{time}‎‏‎‎‏‏‏‎‎‏‎‎‏‎}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‏‏‎‎‏‎‏‎‎‏‎‏‎‎‏‏‏‎‏‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‎‏‏‎‏‎‎‏‎‎‎‎‎‏‎‏‎‏‎‎Change to alarms only until ‎‏‎‎‏‏‎<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‎‎‎‎‎‏‎‏‎‏‏‎‎‎‏‏‏‏‎‏‎‎‎‎‏‏‏‎‏‏‎‏‎‏‏‎‎‏‏‎‎‏‎‎‎‏‎‎‎‎‎‎‏‏‎‏‎Change to always interrupt‎‏‎‎‏‎"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‏‎‏‎‎‎‏‏‏‎‏‎‎‏‏‎‏‎‏‎‏‎‏‎‏‏‏‏‎‏‏‎‎‏‎‎‏‎‏‏‎‏‏‏‎‎‏‎‎‏‎‎‏‎‎‎‎Rename‎‏‎‎‏‎"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‏‎‎‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‎‏‏‏‎‎‏‎‎‏‏‎‎‎‏‎‎‎‎‏‎‏‎‎‏‎‎Change icon‎‏‎‎‏‎"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‎‎‎‎‎‎‎‎‎‏‎‎‎‏‎‎‏‏‏‎‏‏‎‎‎‏‏‎‏‎‎‎‏‏‎‏‎‎‏‎‏‏‎‎‎‏‎‏‏‎‎‎‎‎‎Change icon‎‏‎‎‏‎"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‏‏‏‏‏‎‎‎‏‎‏‎‎‏‎‎‎‎‏‏‎‏‏‎‎‎‏‏‎‎‎‏‎‏‎‎‎‎‎‎‎‎‏‏‏‎‎‏‏‏‏‎‎Edit mode‎‏‎‎‏‎"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‎‎‏‏‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‎‏‎‏‏‎‎‏‏‏‏‏‎‏‏‏‏‎‎‏‎‏‏‎Create a mode‎‏‎‎‏‎"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‏‎‎‎‏‏‏‎‏‎‎‎‏‎‎‎‎‏‎‏‏‎‏‏‏‎‎‎‎‏‎‎‎‎‏‎‏‏‎‎‏‎‎‎‎‎‎‎‎‎‏‏‎‎‎‏‎Custom mode‎‏‎‎‏‎"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‎‏‎‏‎‎‏‎‎‎‎‎‏‎‎‎‎‏‎‎‎‏‎‎‎‏‏‎‎‏‏‏‎‎‎‎Mode name‎‏‎‎‏‎"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‏‎‎‏‎‏‎‎‎‎‎‎‏‎‏‏‏‎‏‏‎‏‎‎‎‏‏‏‎‏‎‏‏‏‏‎‏‏‏‏‏‏‎‏‏‎Calendar events‎‏‎‎‏‎"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‏‎‎‏‏‏‏‎‏‎‏‎‎‎‎‎‏‎‏‎‏‏‏‏‏‏‎‎‏‏‏‎‎‎‏‎‏‎‏‏‏‏‎‎‎‏‎‏‏‏‎‏‎‎‎‏‎Bedtime routine‎‏‎‎‏‎"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‎‎‏‎‎‏‏‎‏‏‏‎‎‏‏‏‏‏‎‏‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‎‏‎‎‎‎‏‏‎‏‏‏‎‎‏‏‎While driving‎‏‎‎‏‎"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‏‎‏‏‎‏‎‎‎‎‏‎‏‏‏‎‏‎‎‏‏‏‏‎‎‏‎‎‏‏‎‏‏‏‏‏‎‎‏‎‏‏‏‎‎‏‏‎‏‎‏‎‏‏‎‏‎App settings‎‏‎‎‏‎"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‏‏‎‏‎‎‏‎‎‎‏‏‏‏‎‎‎‎‏‏‏‎‏‎‏‏‎‏‎‏‏‏‏‎‎‏‏‎‎‏‏‏‏‎‏‎‎‏‎‎‏‎‎‏‎Info and settings in ‎‏‎‎‏‏‎<xliff:g id="APP_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‎‏‏‏‏‎‎‎‎‎‏‏‏‎‎‏‎‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‎‏‎‎‏‎‎‏‏‎‎‏‎‎‎‏‎‎‏‎‎Managed by ‎‏‎‎‏‏‎<xliff:g id="APP_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‎‎‎‏‎‎‎‎‎‏‏‎‎‎‎‎‎‎‎‎‏‏‏‎‎‏‏‏‏‎‏‎‏‎‏‎‎‎‎‏‎‎‎‏‏‏‎‎‎‏‏‎‏‎‎Disable ‎‏‎‎‏‏‎<xliff:g id="MODE_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎?‎‏‎‎‏‎"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‏‎‎‎‎‏‏‎‎‎‎‏‏‏‏‎‏‏‏‏‎‎‎‎‏‏‎‏‏‎‎‏‎‎‏‎‎‏‏‏‎‎‎‏‏‎‎‏‎‏‏‎‏‏‎‎‎This mode will never turn on when disabled‎‏‎‎‏‎"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‎‏‎‎‏‏‏‎‏‎‎‎‎‎‏‏‎‏‎‏‎‏‎‏‏‏‏‏‏‎‎‏‏‏‏‏‎‏‏‎‏‎‎‏‎‎‏‎‎‎‎‏‎‎‎‏‎Disable‎‏‎‎‏‎"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‎‎‏‏‏‎‏‎‎‎‏‎‏‎‏‎‎‏‏‎‏‎‏‎‎‏‏‎‏‎‎‎‏‎‏‏‎‎‎‎‎‎‏‎‏‎‎‏‏‎‎‎‎‏‎Enable ‎‏‎‎‏‏‎<xliff:g id="MODE_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎?‎‏‎‎‏‎"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‎‏‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‏‏‏‏‎‎‎‏‎‎‎‏‏‎‏‏‏‎‏‏‎‎‎‎‏‏‏‎This mode may turn on automatically based on its settings‎‏‎‎‏‎"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‎‎‏‏‏‏‎‎‏‏‎‏‎‎‎‎‏‏‏‏‎‏‏‎‏‏‎‏‏‎‎‏‏‎‎‎‎‏‏‎‏‏‎‎‎‎‏‎‏‎‏‎‎‏‏‎Enable‎‏‎‎‏‎"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‎‎‎‏‎‎‏‎‏‎‎‎‎‏‎‎‏‏‎‎‎‎‏‎‎‏‏‏‎‏‎‏‎‎‎‏‎‎‎‎‏‎‎‎‏‏‏‎‏‎‎‏‎Set a mode that follows a regular schedule‎‏‎‎‏‎"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‎‏‎‎‏‏‎‏‏‏‎‎‎‏‎‎‏‏‎‎‏‎‎‎‎‏‎‎‎‏‏‎‏‏‎‎‎‎‏‏‎‏‎‎‎‏‎‏‏‎‎‏‏‎‎‏‎Set a mode to sync with calendar events and invite responses‎‏‎‎‏‎"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‎‏‏‎‏‎‏‏‎‎‏‏‏‎‎‎‏‏‏‏‏‎‎‎‏‎‎‏‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‏‎‎‎‎‎‏‎‏‎‎‎‏‎Design a calming sleep routine. Set alarms, dim the screen, and block notifications.‎‏‎‎‏‎"</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‎‏‎‎‎‎‏‏‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‎‎‎‏‎‎‏‎‏‎‏‏‎‏‏‏‎‏‎‎‏‏‏‎‎‏‎‏‎‏‎‎‏‎Prioritize safety on the road for a focused and distraction-free drive‎‏‎‎‏‎"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‏‎‏‎‎‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‏‏‎‎‏‏‏‏‏‏‎‎‏‎‏‎‎‏‏‎‎‏‎‏‎‎‏‏‏‏‏‏‎‏‎Block distractions or interruptions from your device to gain focus‎‏‎‎‏‎"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‎‎‏‏‏‏‏‎‏‏‎‏‏‏‏‎‎‎‎‏‎‎‎‏‎‏‏‎‏‏‎‎‎‏‏‎‏‏‏‎‎‎‏‎‏‎‎‏‎‎‎‎‎‎‏‎Eliminate all distractions for a quiet environment‎‏‎‎‏‎"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‏‏‎‏‏‏‎‏‎‎‎‏‏‎‏‎‏‏‏‎‎‏‏‎‎‏‎‏‎‏‏‎‎‏‏‎‏‏‏‎‏‏‏‎‎‏‏‏‎‏‎‏‎‏‎Personalize device experiences and settings for different users‎‏‎‎‏‎"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‎‏‏‎‏‎‏‏‏‏‏‎‎‎‎‎‏‎‎‏‏‎‏‏‎‏‎‏‏‏‏‏‎‎‎‏‏‎‏‏‎‎‎‏‏‎‏‎‎‏‎‏‎‎‏‎Minimize interruptions by only allowing important people and apps to reach you‎‏‎‎‏‎"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‎‏‎‏‎‏‎‏‏‏‎‎‏‏‏‏‏‏‎‏‏‏‏‏‎‎‏‎‏‎‏‏‏‏‎‎‎‏‎‎‏‎‎‎‎‏‏‎‏‎‏‏‎‎‏‎Set a mode that follows a regular schedule‎‏‎‎‏‎"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‎‎‎‎‏‏‎‏‎‏‏‏‎‏‏‎‏‏‏‎‎‎‎‏‎‏‎‏‏‎‎‎‏‎‏‏‏‏‏‏‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‎Keep your device in sync with your day’s events‎‏‎‎‏‎"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‎‏‎‏‏‎‏‏‏‎‏‏‎‎‏‏‏‎‏‎‎‎‏‎‎‏‏‎‎‎‎‏‎‏‏‏‎‏‏‏‎‎‎‏‏‏‏‏‎‎‎‎‏‎‏‎‎Wake up feeling like 100%‎‏‎‎‏‎"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‎‎‏‎‏‎‏‎‎‎‏‎‏‏‏‎‎‏‏‏‏‎‎‏‎‎‎‎‎‏‏‎‎‎‎‏‎‎‎‎‏‏‎‏‎‏‏‏‏‏‏‏‎Put safety first while on the road‎‏‎‎‏‎"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‎‏‏‎‎‎‎‎‏‎‏‎‏‏‎‏‎‏‎‏‎‎‎‏‎‏‏‎‎‎‏‏‎‎‏‎‏‎‎‏‎‎‎‏‏‏‏‏‎‎‎‏‎‏‎‏‎Gain focus to get in the zone‎‏‎‎‏‎"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‎‎‎‏‎‏‎‎‏‏‎‏‎‎‎‎‏‎‎‎‏‏‏‏‏‎‏‏‎‎‎‎‏‎‏‎‏‏‎‎‎‏‎‎‎‎‏‏‏‎‎For moments when courtesy counts‎‏‎‎‏‎"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‎‎‎‏‏‏‎‎‎‏‎‏‎‏‏‏‏‎‎‎‎‎‏‏‎‏‏‏‏‎‏‎‏‏‏‏‎‎‏‎‏‏‏‎‏‎Guided usage to help you stay in good hands‎‏‎‎‏‎"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‏‎‎‏‏‏‎‎‏‎‏‏‏‎‎‎‏‎‏‎‏‎‎‏‎‏‎‎‏‏‏‎‎‎‎‏‎‏‎‎‏‏‎‏‏‎‎‎‏‏‎Take control of your attention‎‏‎‎‏‎"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‏‎‏‎‏‏‏‎‏‏‏‏‏‏‎‏‎‏‏‎‎‎‎‏‎‏‎‎‏‎‎‏‎‎‏‏‎‎‎‎‏‎‎‏‏‎‎‎‏‎‎‎‎‏‏‏‎Warning‎‏‎‎‏‎"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‎‏‎‎‎‏‏‎‎‎‏‏‎‎‏‏‏‏‎‏‏‎‎‎‏‏‏‎‏‎‏‏‏‏‎Close‎‏‎‎‏‎"</string>
     <string name="device_feedback" msgid="5351614458411688608">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‎‎‎‏‎‎‏‏‎‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‎‎‏‏‏‏‎‎‏‎‎‏‎‎‎‏‎‏‎‏‎‎‎‎‎‎Send feedback about this device‎‏‎‎‏‎"</string>
@@ -4006,6 +4102,10 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‏‏‏‏‎‏‏‎‎‏‎‏‎‏‎‏‏‏‏‏‎‎‎‎‎‏‎‎‎‏‏‏‎‎‏‎‎‎‏‎‎‏‎‏‎‏‎‏‎‎‎‎‏‎Must stay turned on because notification access is on‎‏‎‎‏‎"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‎‎‎‎‏‎‏‎‎‏‏‎‎‎‏‎‎‎‎‎‏‏‎‎‏‏‎‏‎‏‎‏‏‎‏‏‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‎‏‎Revoke access to Do Not Disturb for ‎‏‎‎‏‏‎<xliff:g id="APP">%1$s</xliff:g>‎‏‎‎‏‏‏‎?‎‏‎‎‏‎"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‎‎‎‏‏‎‎‎‎‎‏‎‏‏‏‏‎‎‎‏‎‎‏‏‏‏‎‏‏‎‏‏‏‏‎‏‎‎‏‎‎‏‏‎‏‎‏‎‏‏‎All Do Not Disturb rules created by this app will be removed.‎‏‎‎‏‎"</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‎‏‏‏‏‎‎‎‏‎‏‎‏‏‎‏‎‏‎‎‎‎‎‎‎‏‏‏‏‏‎‏‏‏‎‏‏‎Allow access to Modes for ‎‏‎‎‏‏‎<xliff:g id="APP">%1$s</xliff:g>‎‏‎‎‏‏‏‎?‎‏‎‎‏‎"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‏‏‎‎‎‎‎‎‏‏‎‏‎‏‎‏‏‎‎‏‏‏‏‏‎‏‏‏‎‏‎‎‎‏‎‎‏‏‎‏‎‎‏‎‏‎‎‏‏‎‏‏‏‎‎‎‎The app will be able to turn on/off Do Not Disturb, manage and activate Modes, and make changes to related settings.‎‏‎‎‏‎"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‎‏‎‎‎‎‏‎‎‎‏‎‎‏‏‏‏‎‎‎‏‎‏‎‎‎‏‎‎‎‎‏‎‏‏‏‏‎‎‎‎‎‏‎‏‎‎‎‏‎‎‏‏‎‎‎Revoke access to Modes for ‎‏‎‎‏‏‎<xliff:g id="APP">%1$s</xliff:g>‎‏‎‎‏‏‏‎?‎‏‎‎‏‎"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‎‎‏‏‎‎‎‏‏‏‏‏‎‎‏‎‎‎‏‎‏‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‎‎‏‎‏‎‏‎‏‏‎‏‏‏‏‎‎‏‎All modes created by this app will be removed.‎‏‎‎‏‎"</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎‎‏‏‏‎‏‏‏‎‎‏‏‎‏‏‎‎‏‏‎‎‎‎‏‏‎‎‏‏‎‏‎‎‏‏‎‎‏‏‎‏‎‎‎‎‎‎‎‎‏‎‎‎Don’t optimize‎‏‎‎‏‎"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎‏‏‎‏‎‎‏‏‏‏‎‏‎‎‎‎‏‏‏‎‎‏‏‏‏‎‎‎‏‏‏‏‏‏‏‎‎‏‎‏‏‏‎‏‏‏‎Optimize‎‏‎‎‏‎"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‏‏‎‎‎‎‏‏‏‎‏‎‎‎‎‏‎‎‏‎‏‎‎‎‏‏‏‏‏‎‎‏‏‎‎‎‏‏‎‏‏‏‎‏‏‎‏‎‏‎‎‏‏‏‎‎‎May drain your battery more quickly. App will no longer be restricted from using background battery.‎‏‎‎‏‎"</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‎‏‎‎‎‎‎‎‏‏‏‎‎‎‎‏‎‎‎‏‎‏‎‎‏‎‎‏‏‎‎‎‏‏‎‏‎‏‏‏‎‏‏‏‎‎‏‎‎‎‎‎‏‏‏‏‎Case‎‏‎‎‏‎"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‏‎‎‏‎‏‏‎‏‎‏‏‏‎‏‏‏‎‎‏‎‏‎‏‏‏‎‏‎‎‏‏‏‎‎‏‎‎‎‎‎‏‏‎‏‎‎‏‏‏‎‏‏‏‏‎Battery‎‏‎‎‏‎"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‏‏‎‎‏‏‏‎‏‎‎‎‎‏‏‏‎‏‏‎‎‎‏‎‏‏‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‏‎‏‎‎‏‎‏‏‎‏‏‏‏‏‎Settings Panel‎‏‎‎‏‎"</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_desktop_mode" msgid="5644818402534562302">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‎‏‎‏‎‏‏‎‎‏‏‎‏‏‎‎‎‏‏‎‏‏‎‏‏‏‏‏‏‎‎‎‏‎‏‎‏‎‎‏‎‎‎‏‏‎‎‏‏‏‏‏‏‏‏‎‎Enable freeform windows‎‏‎‎‏‎"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‎‎‏‏‎‏‏‏‎‎‎‎‏‏‎‎‎‎‎‏‏‏‎‎‎‏‎‎‎‎‏‎‎‎‏‏‎‎‏‏‎‏‎‏‎‎‎‏‎‏‎‎‏‏‎‎‎Enable freeform windows on secondary display‎‏‎‎‏‎"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‎‏‎‎‏‏‎‏‎‏‏‎‎‏‏‏‎‎‎‎‏‏‎‎‏‏‎‏‏‎‏‏‏‎‎‎‎‏‎‏‎‎‏‏‏‎‎‎‏‏‏‏‎‏‎Enable non-resizable in multi window‎‏‎‎‏‎"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‎‏‏‏‎‏‎‏‏‏‎‏‏‎‎‏‏‏‎‎‎‏‏‏‎‎‏‎‎‎‎‏‎‏‎‎‎‏‏‎‏‎‏‎‏‎‎‎‏‎‏‎‏‏‏‏‎Allows non-resizable apps to be in multi window‎‏‎‎‏‎"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‎‎‏‎‎‏‏‏‎‎‏‎‎‎‎‎‏‏‏‎‏‎‏‎‎‏‎‎‏‏‎‏‏‎‏‎‎‎‎‎‎‎‏‎‎‎‏‎‏‏‎‏‎‏‏‎Override force-dark‎‏‎‎‏‎"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‎‏‎‏‏‏‏‎‏‎‎‏‎‏‎‏‎‎‏‎‎‎‎‏‏‎‎‎‎‎‎‏‏‏‏‏‎‎‎‏‏‎‎‎‎‎‎‏‏‏‎‏‎‏‎mobile data‎‏‎‎‏‎"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‎‏‏‏‏‎‎‏‏‎‎‎‎‎‏‎‎‎‎‎‏‎‎‏‎‏‏‏‏‎‎‏‎‎‎‎‎‏‏‎‎‏‏‏‏‏‎‎‎‎‎‎‎‏‎‏‎To improve device experience, apps and services can still scan for Wi‑Fi networks at any time, even when Wi‑Fi is off. This can be used, for example, to improve location-based features and services. You can change this in Wi‑Fi scanning settings.‎‏‎‎‏‎"</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‏‎‏‎‏‏‏‎‏‏‏‏‏‎‎‏‏‏‎‏‎‏‏‏‏‏‎‎‏‎‏‎‎‎‎‎‏‎‏‎‎‏‏‏‎‏‏‏‎‏‏‎‎Change‎‏‎‎‏‎"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‏‏‏‎‎‎‏‎‏‎‏‎‏‎‎‏‏‎‎‏‎‎‏‎‏‏‏‏‎‏‎‎‎‎‎‎‎‎‏‏‏‏‎‎‏‎‏‎‎‎‏‏‏‎‏‎‎‏‎‎‏‏‎<xliff:g id="STATE">%1$s</xliff:g>‎‏‎‎‏‏‏‎ / ‎‏‎‎‏‏‎<xliff:g id="NETWORKMODE">%2$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‏‎‎‏‏‏‎‏‎‏‏‏‎‏‏‏‎‎‎‏‎‏‎‏‏‎‎‎‎‏‎‏‎‏‏‎‏‎‏‎‏‏‎‎‏‎‎‏‎‏‏‏‎‎‎‎‎Connected‎‏‎‎‏‎"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‎‎‏‏‎‏‏‎‏‏‏‏‎‏‎‏‎‎‎‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‎‏‏‏‏‏‎‏‎Temporarily connected‎‏‎‎‏‎"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‎‏‎‎‎‏‎‎‏‏‎‎‏‏‎‎‎‎‏‏‏‎‎‏‎‎‎‎‎‎‏‎‎‎‎‏‎‏‏‎‏‎‎‏‏‏‎‎‏‎‏‎‏‏‎Temporarily using ‎‏‎‎‏‏‎<xliff:g id="SUBNAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‏‏‎‎‎‎‏‎‏‎‏‏‎‎‏‏‎‎‎‏‏‏‎‏‎‏‎‎‏‎‏‏‏‏‏‏‎‎‎‎‏‏‎‏‏‎‎‎Use app pinning‎‏‎‎‏‎"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‎‏‏‏‎‏‎‏‏‏‎‎‏‏‏‎‏‎‎‎‏‏‎‎‎‏‏‎‏‎‎‎‏‎‏‎‎‎‎‏‏‎‏‎‏‎Use developer options‎‏‎‎‏‎"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‏‎‏‏‏‏‏‎‎‏‎‎‏‎‎‎‏‏‏‏‏‏‎‏‎‏‏‎‎‎‎‎‎‎‏‎‎‏‎‏‏‎‏‎‏‏‏‏‎‎‎‏‎‎‎Use print service‎‏‎‎‏‎"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‎‎‏‏‎‎‎‏‏‏‏‏‏‎‎‎‏‏‎‎‏‏‏‏‏‎‎‏‎‎‏‎‏‎‏‎‎‎‏‎‏‏‎‏‏‎‎‏‏‏‎‎‏‎‎Allow multiple users‎‏‎‎‏‎"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‎‏‎‏‎‎‏‎‏‎‎‏‏‏‎‏‏‏‎‏‎‏‎‎‎‎‏‎‎‎‎‎‎‏‏‏‏‏‏‎‏‎‎‏‎‎‎‎‎‎‏‎Allow user switch‎‏‎‎‏‎"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‎‎‎‎‎‎‎‏‎‎‏‎‎‏‏‏‏‎‎‏‏‏‏‎‎‏‏‎‎‎‎‏‏‎‏‎‏‏‏‏‏‎‎‏‎‎‎‏‎‏‎‏‎‎‎allow, multiple, user, permit, many‎‏‎‎‏‎"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‎‎‏‏‏‏‏‎‏‏‎‏‏‎‏‏‎‏‎‎‏‎‏‏‎‎‏‎‏‏‎‏‏‏‎‏‏‏‎‏‏‏‎‏‎‏‎‎‎‎‎‏‎‏‎‎‎multiple, users, profiles, people, accounts, switch, many‎‏‎‎‏‎"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‎‏‎‎‎‏‏‎‎‏‎‎‎‎‎‎‎‏‎‏‎‎‎‏‏‎‎‎‎‏‎‎‏‏‏‎‏‏‏‎‎‎‏‎‏‎‏‏‎‏‏‏‎Use wireless debugging‎‏‎‎‏‎"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‎‏‏‏‎‎‏‏‎‎‏‎‎‎‎‏‎‎‏‎‏‏‎‏‎‎‎‏‎‎‏‏‎<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>‎‏‎‎‏‏‏‎ wants to connect to this phone.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎You haven’t connected to ‎‏‎‎‏‏‎<xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>‎‏‎‎‏‏‏‎ before.‎‏‎‎‏‎"</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‎‎‏‏‏‏‏‎‎‎‎‎‎‎‏‏‎‏‎‏‏‎‎‎‏‎‎‎‎‎‏‏‏‎‏‎‎‎‏‏‏‏‏‎‎‏‏‏‎‎‏‎‎‏‏‎Don’t connect‎‏‎‎‏‎"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‎‏‏‎‎‎‏‎‎‏‎‏‏‎‎‎‏‎‎‏‏‎‏‏‏‎‏‎‏‎‎‏‏‏‏‎‎‎‎‎‎‏‎‏‏‏‎‏‎‏‎‎‏‏‏‎‎Connect‎‏‎‎‏‎"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‎‎‏‎‏‎‎‎‎‎‎‎‎‎‏‎‏‏‏‎‏‏‏‏‎‏‎‏‎‏‎‏‏‎‏‏‏‏‎‎‏‏‎‏‎‏‏‏‏‎‏‎‏‎‏‎TARE Settings‎‏‎‎‏‎"</string>
-    <string name="tare_on" msgid="2386073225978684535">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‎‎‎‏‏‏‎‏‎‎‎‎‏‎‎‎‏‏‏‏‎‏‎‏‎‎‎‎‎‎‏‎‏‎‎‎‎‏‏‏‏‎‏‎‎‏‎‎‎‏‏‏‎‏‏‏‎On‎‏‎‎‏‎"</string>
-    <string name="tare_off" msgid="6305694402929756726">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‏‎‎‎‎‎‏‎‎‏‎‏‎‎‏‏‏‎‏‎‎‏‏‎‏‎‎‎‎‏‎‎‏‏‎‎‏‏‎‎‎‎‎‎‏‎‏‎‎‎‏‏‎‏‏‎‎Off‎‏‎‎‏‎"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‏‏‎‎‎‎‎‎‎‏‏‎‏‏‏‏‎‎‏‎‏‎‏‎‏‏‏‎‎‏‏‎‏‎‎‏‏‎‎‎‎‎‏‏‏‎‏‏‏‏‎‎‏‏‏‏‎‎Revert to Default Settings‎‏‎‎‏‎"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‏‎‏‎‏‎‎‎‎‏‎‏‎‎‏‏‎‎‏‏‎‏‎‎‏‏‏‏‎‏‎‎‏‏‏‎‎‎‏‏‎‎‎‏‏‏‎‏‏‎‎‏‏‎‏‏‎Settings reverted to default.‎‏‎‎‏‎"</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‎‏‎‏‎‏‎‎‏‏‎‎‏‎‎‎‎‎‎‏‏‏‎‎‎‎‏‏‎‏‎‏‎‏‏‏‎‎‏‎‏‎‏‎‏‎‏‎‏‎‎‎‎‏‎‎‎Maximum Satiated Balance‎‏‎‎‏‎"</string>
-    <string name="tare_balances" msgid="731881382594747961">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‎‎‏‎‏‎‎‎‎‎‏‎‏‎‏‎‎‎‏‏‏‏‎‏‎‏‏‎‎‎‏‏‎‏‎‎‏‎‎‎‎‎‎‏‏‏‏‎‎‎‏‏‏‎‎‏‎Balances‎‏‎‎‏‎"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‏‏‎‏‎‏‏‎‏‎‏‎‎‎‏‏‎‏‎‏‏‎‎‏‏‎‎‏‎‏‏‏‏‎‎‎‎‏‎‎‏‏‏‎‏‎‎‎‏‏‎‏‏‏‏‎‎Consumption Limits‎‏‎‎‏‎"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‏‎‎‎‏‎‏‏‏‏‎‎‎‏‎‏‏‏‎‏‎‏‏‎‎‎‎‎‏‎‏‎‏‏‎‎‎‎‎‏‏‏‎‏‏‎‏‎‏‎‎‎‎‎‎‎‎Initial Consumption Limit‎‏‎‎‏‎"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‏‎‏‏‎‎‏‏‏‎‎‏‏‎‏‎‏‎‎‎‏‎‏‎‎‎‏‏‎‏‎‎‏‏‏‎‏‎‎‎‎‎‎‏‏‏‎‎‏‎‎‎‏‏‎‏‎Minimum Consumption Limit‎‏‎‎‏‎"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‏‏‏‎‎‏‎‏‏‎‏‏‏‎‎‎‎‎‏‏‎‏‎‏‏‏‏‏‏‎‎‏‎‏‎‎‏‏‏‏‏‎‎‏‎‎‏‏‎‏‏‏‎Maximum Consumption Limit‎‏‎‎‏‎"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‎‏‎‎‎‎‏‏‏‏‎‏‎‎‏‎‏‎‎‏‎‎‎‏‏‏‎‏‏‎‎‏‎‎‏‏‏‏‏‎‎‎‎‏‏‏‏‎‏‎‎‎Modifiers‎‏‎‎‏‎"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‏‏‏‎‏‎‏‎‏‎‏‏‏‏‎‎‏‎‎‎‎‏‏‏‎‎‎‎‏‎‎‎‏‎‎‎‎‏‏‎‏‏‏‎‏‏‏‎‎‎‏‏‎‎‎‏‎Actions (Cost to Produce)‎‏‎‎‏‎"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‏‏‎‎‏‏‏‏‎‏‏‎‎‏‎‎‏‏‎‏‏‎‏‎‏‏‎‎‎‏‎‏‏‎‎‏‎‏‎‎‏‏‎‏‎‏‎‏‏‎‎‎‏‏‎‏‎Actions (Base Price)‎‏‎‎‏‎"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‏‎‎‏‏‎‎‎‎‎‎‎‎‎‏‏‎‎‎‏‎‎‎‎‎‎‏‏‏‏‎‏‏‏‏‏‎‎‏‎‏‎‎Rewards per single event‎‏‎‎‏‎"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‎‎‎‏‏‎‎‏‏‏‏‎‎‎‏‏‏‏‎‏‎‎‎‎‏‏‏‏‎‏‎‏‎‏‎‏‎‏‎‎‎‎‏‎‎‏‎‏‏‏‎‎‎‎Rewards per second of event duration‎‏‎‎‏‎"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‎‏‎‎‎‏‎‎‏‎‏‏‏‏‎‎‎‏‏‎‎‏‏‏‎‎‎‏‏‏‎‎‎‏‎‎‏‎‎‎‎‎‎‏‎‎‎‎‎‏‎‎‏‎‎Maximum Rewards Per Day‎‏‎‎‏‎"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‎‏‎‎‎‏‎‏‏‎‏‎‎‎‎‏‏‏‎‏‏‏‎‏‏‏‏‎‎‎‏‏‏‏‎‎‏‎‏‎‎‏‎‏‎‏‎‎‏‎‎‏‎‎App Install‎‏‎‎‏‎"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‏‏‎‎‎‎‎‎‎‎‎‏‎‎‏‏‎‏‎‏‎‏‎‎‏‎‎‎‎‏‏‏‎‏‎‏‎‏‎‏‏‎‏‏‏‏‎‎‏‏‏‎‏‎Top Activity‎‏‎‎‏‎"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‏‎‏‎‎‏‏‎‎‏‏‏‏‎‎‏‎‏‏‎‎‏‏‏‏‎‎‎‎‎‏‎‏‏‏‏‎‏‎‎‏‎‎‎‏‏‏‎‏‏‏‏‏‎‎Notification Seen‎‏‎‎‏‎"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‏‎‎‎‏‏‎‎‎‏‏‏‏‎‏‎‎‎‎‎‎‎‏‏‎‏‎‏‎‎‎‎‎‏‏‎‏‏‎‎‏‏‎‎‏‏‏‎‏‎‏‎‎‏‎‎‎Notification Seen Within 15 Minutes‎‏‎‎‏‎"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‏‎‏‎‎‏‎‎‏‎‏‏‎‏‎‏‎‎‏‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‎‎‏‎‎‏‏‏‎‏‎‏‏‎‎‏‏‎‎‎‏‎Notification Interaction‎‏‎‎‏‎"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‎‏‎‏‏‏‏‏‏‎‏‎‎‎‎‎‎‎‎‏‏‎‎‎‎‏‎‎‎‏‏‎‏‎‏‏‎‏‎‏‎‎‏‎‎‏‎‎‏‏‏‎‏‎‎‎‎Widget Interaction‎‏‎‎‏‎"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‏‎‏‎‏‏‎‎‎‎‏‎‎‎‏‎‏‏‎‎‎‏‎‎‏‎‏‏‏‏‎‎‎‏‏‏‏‎‎‏‏‏‏‎Other User Interaction‎‏‎‎‏‎"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‎‎‎‎‎‏‎‎‎‎‎‎‎‏‏‎‎‎‎‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‏‏‎‎‏‏‏‎‏‏‏‎‏‏‎‎‏‎‎‎Job Max Start‎‏‎‎‏‎"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‏‎‏‎‎‏‏‏‏‏‎‏‏‏‏‎‏‏‎‎‏‏‏‎‎‎‎‎‏‏‏‏‏‎‎‏‏‏‎‏‎‏‎‏‏‏‏‎‏‏‏‏‏‎Job Max Running‎‏‎‎‏‎"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‏‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‎‎‏‎‏‏‎‎‏‎‎‏‎‎‏‎‏‏‎‎‏‎‎‎‏‏‏‎‎‎‏‎‏‏‏‎‎Job High Start‎‏‎‎‏‎"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‎‎‏‏‎‏‏‏‎‏‎‎‎‎‏‏‎‏‎‎‎‏‏‏‏‏‏‎‎‎‎‎‎‏‎‏‏‏‎‏‎‎‏‎‏‏‎‎‏‏‏‎‏‎Job High Running‎‏‎‎‏‎"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‎‏‏‎‎‏‎‎‎‎‎‏‎‎‏‏‎‏‎‎‎‎‎‏‏‎‏‎‏‎‎‏‏‎‏‎‎‎‎‎‏‏‏‏‎‎‎‎‏‏‏‏‏‏‎Job Default Start‎‏‎‎‏‎"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‏‏‎‏‎‎‎‎‏‏‏‎‏‎‎‏‏‏‏‎‏‏‏‎‏‏‏‎‏‏‏‎‏‎‎‎‎‏‎‎‎‎‏‎‎‎‏‎‎‎‎‎‏‎Job Default Running‎‏‎‎‏‎"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‎‏‏‏‏‎‏‎‎‏‏‏‏‏‏‎‏‏‎‏‏‏‎‎‏‏‏‎‎‏‎‏‏‏‏‏‏‎‏‏‎‎‎‏‎‎Job Low Start‎‏‎‎‏‎"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‏‎‎‎‏‎‏‎‏‎‏‎‏‏‏‎‎‎‏‏‎‎‏‏‎‏‏‎‎‎‎‏‎‏‎‏‎‏‎‏‏‎‏‏‎‏‎‎‎‏‎‎‎‏‎‎‎Job Low Running‎‏‎‎‏‎"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‎‏‎‎‎‏‏‏‏‎‎‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‎‎‏‏‎‏‏‎‏‎‏‏‎‏‏‏‎‎‎‎‎‏‎‎‏‏‎‎‎Job Min Start‎‏‎‎‏‎"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‏‎‏‏‎‎‎‎‎‏‎‏‏‎‎‏‎‎‏‎‏‏‎‏‏‎‏‎‏‏‎‏‏‎‎‏‏‏‎‏‏‏‎‎‎‎‎‎‎‏‏‎‎‎Job Min Running‎‏‎‎‏‎"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‏‎‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‎‏‏‎‏‎‏‏‎‎‏‎‎‎‎‎‏‏‎‎‏‎‏‎‏‎‎‎‏‎‎‏‏‎‏‎‎Job Timeout Penalty‎‏‎‎‏‎"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‏‎‎‏‎‎‏‏‎‏‎‏‎‏‏‏‎‏‏‎‎‏‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‎‎‎‎‏‏‎‏‏‎‎‏‎‏‏‎‏‎Minimum Satiated Balance (Exempted)‎‏‎‎‏‎"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‎‎‏‏‎‎‎‎‏‎‏‎‎‎‏‏‎‎‏‏‎‎‎‎‎‎‏‏‏‎‏‏‎‎‎‎‎‎‎‏‎‏‏‏‎‎‎Minimum Satiated Balance (Headless System App)‎‏‎‎‏‎"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‎‏‎‎‎‎‎‎‎‎‏‏‎‎‎‎‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‏‎‎‏‏‏‏‎‎‎‎‏‎‎‏‎‎‏‏‎‏‏‎‎‎Minimum Satiated Balance (Remaining Apps)‎‏‎‎‏‎"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‏‏‎‏‎‏‎‎‎‎‎‏‎‎‏‏‎‏‏‏‏‎‏‎‏‏‏‎‏‎‎‎‎‎‏‎‏‎‎‎‎‎‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎Minimum Satiated Balance Addition (App Updaters)‎‏‎‎‏‎"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‎‎‏‎‏‎‎‎‎‎‎‏‏‏‎‏‎‏‎‎‎‏‎‏‏‎‏‎‏‎‏‎‎‎‏‎‎‎‏‏‏‏‎‏‎‏‏‎‎‎‎‎‏‎‏‎‎Charging‎‏‎‎‏‎"</item>
-    <item msgid="658627268149681677">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‎‎‏‎‎‎‏‏‏‏‏‎‏‎‏‎‎‎‎‎‎‎‏‎‏‏‎‎‎‏‎‏‎‏‏‏‎‎‏‎‏‎‎‏‏‏‏‎‎‎‎‎‏‏‎‏‎Doze‎‏‎‎‏‎"</item>
-    <item msgid="1599558140284643834">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‎‎‏‏‎‎‏‎‏‏‎‎‎‏‎‏‏‎‏‎‎‏‏‏‎‏‎‏‏‏‎‏‎‏‎‎‎‎‎‎‎‎‏‎‏‎‎‏‏‏‏‏‏‎‏‎‎Power Save Mode‎‏‎‎‏‎"</item>
-    <item msgid="588427840913221601">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‎‎‏‎‏‎‏‎‏‎‎‎‎‏‎‎‎‎‎‎‎‎‎‎‏‏‏‏‎‎‎‏‏‎‎‏‎‏‎‏‎‎‏‎‎‏‏‏‏‏‏‎‎‎‎‏‎Process State‎‏‎‎‏‎"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‏‎‎‎‏‎‏‎‏‏‏‎‎‏‎‎‎‏‏‎‎‎‏‏‎‎‏‏‎‎‎‎‎‏‎‏‏‏‎‎‏‎‏‎‏‎‎‎Confirm‎‏‎‎‏‎"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‎‏‏‏‎‎‏‏‏‏‏‎‏‏‏‎‎‎‏‏‏‎‏‏‎‏‏‏‎‏‎‎‏‎‏‎‏‏‎‏‎‎‎‎‎‏‏‏‏‏‎‎‎‎‎Preview‎‏‎‎‏‎"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‏‏‎‎‏‏‏‎‏‏‎‏‏‎‏‎‏‏‏‏‏‎‎‎‎‎‏‎‎‎‏‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‎‏‎‎‎‏‏‎Choose a screen saver‎‏‎‎‏‎"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‏‎‎‏‏‎‏‏‎‎‏‎‎‏‎‎‎‏‎‎‎‏‏‏‎‎‏‏‎‎‎‏‎‏‎‏‏‎‎‏‏‏‎‏‏‎‏‎‏‎‎‏‎‏‏‎Show additional information‎‏‎‎‏‎"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‏‎‎‏‏‏‎‏‏‎‏‏‏‏‏‎‏‏‎‏‎‏‏‎‎‎‏‏‏‏‎‏‏‏‏‎‏‎‏‏‎‎‏‎‎‎‏‎‎‏‎‎‎‎Choose what you’ll see on your screen when your tablet is docked. Your device may use more energy when a screen saver is used.‎‏‎‎‏‎"</string>
     <string name="customize_button_title" msgid="1110284655990203359">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‎‏‏‎‏‎‎‎‏‎‎‎‎‏‏‎‎‎‎‎‎‎‏‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‏‎‎‎‏‏‏‏‎‏‏‏‏‏‎Customize‎‏‎‎‏‎"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‎‎‎‎‏‎‎‎‏‎‎‏‎‏‎‎‏‎‎‎‏‏‏‏‎‏‎‎‎‎‎‎‏‎‏‏‎‏‎‏‎‎‏‎‏‏‎‎‏‎‏‏‏‎Customize ‎‏‎‎‏‏‎<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‏‏‏‎‏‏‏‏‎‎‎‏‎‎‎‏‏‎‎‏‎‎‎‎‎‎‏‏‏‎‏‏‎‎‏‏‏‏‏‎‏‎A reboot is required to enable freeform support.‎‏‎‎‏‎"</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‎‎‏‏‏‏‎‎‎‎‎‏‎‎‎‎‎‏‏‎‏‎‏‎‏‏‎‎‎‏‎‏‎‏‎‏‎‎‏‏‏‎‎‎‎‏‏‏‏‏‎‏‎‎‎A reboot is required to force desktop mode on secondary displays.‎‏‎‎‏‎"</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‎‏‎‏‎‎‎‎‎‎‎‎‎‏‏‎‏‏‎‎‏‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‎‎‎‏‏‎‎‏‎‎‎‏‏‎‏‏‏‎‏‎A reboot is required to enable freeform window support.‎‏‎‎‏‎"</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‏‎‎‎‏‏‎‏‎‏‏‎‏‎‎‎‏‎‏‏‏‏‎‎‎‎‏‎‏‎‏‏‏‏‎‏‎‎‏‏‏‏‎‏‎‏‏‎‏‎‎‏‎‎A reboot is required to update availability of freeform windows.‎‏‎‎‏‎"</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‎‎‎‎‎‏‎‎‏‏‏‏‏‎‎‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‎‎‏‏‏‏‏‏‎‎‎‏‎‎‎‏‎‎‎‎‎‏‎‎‎A reboot is required to enable freeform windows on secondary displays.‎‏‎‎‏‎"</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‎‏‎‎‎‏‎‏‎‎‎‏‎‎‏‏‏‎‎‎‎‏‎‎‏‎‏‎‏‎‎‎‎‏‏‎‎‎‏‏‎‏‏‏‏‏‎‏‎‏‏‏‎‎‏‏‎Reboot now‎‏‎‎‏‎"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‎‏‎‎‏‎‎‏‎‏‎‏‎‎‏‎‎‎‏‏‏‏‎‎‎‎‏‏‏‎‎‎‎‏‏‏‎‎‎‎‏‏‎‏‎‏‏‏‏‏‏‏‎‎‎‎Reboot later‎‏‎‎‏‎"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‏‏‏‏‏‏‎‎‎‏‎‏‏‏‎‏‎‏‏‎‏‏‏‎‏‎‏‏‏‎‏‏‏‏‏‎‎‏‏‎‎‎‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎Spatial Audio‎‏‎‎‏‎"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‏‏‎‎‎‏‏‎‎‎‏‏‏‎‎‏‏‏‏‏‏‎‎‏‎‏‏‎‎‏‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‎‎‏‏‎Rose‎‏‎‎‏‎"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‏‏‎‎‏‎‎‎‎‏‏‎‏‏‎‏‎‏‎‏‏‏‎‏‎‎‎‏‏‎‎‎‏‎‎‎‎‎‎‎‎‏‎‎‎‎‏‎‎‏‎‏‏‎Magenta‎‏‎‎‏‎"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‏‏‎‎‎‎‏‏‎‏‎‎‏‏‎‎‎‏‏‏‎‏‎‎‎‎‎‏‎‎‏‎‎‎‏‏‏‎‎‏‏‎‎‎‎‏‎‎‎‏‏‏‎‏‏‏‎Violet‎‏‎‎‏‎"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‏‎‏‎‏‏‏‎‏‏‎‎‎‏‏‏‏‏‎‏‎‏‏‏‏‎‏‎‎‎‏‎‎‏‏‏‏‎‎‏‏‎‏‏‎‏‎‏‎‎‏‏‎‎‎‎‎Done‎‏‎‎‏‎"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‏‎‎‎‏‎‏‎‎‏‏‏‎‎‏‎‏‎‏‎‎‏‎‏‎‎‏‏‎‏‎‎‏‏‏‎‎‎‏‎‏‏‏‏‏‎‎‏‎‏‎‎‎‎‎‎Save‎‏‎‎‏‎"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‎‎‏‎‎‏‏‏‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‏‎‎‎‏‎‎‏‏‏‏‎‎‏‎‎‏‎‎‏‎‎‏‏‏‎‏‎Cancel‎‏‎‎‏‎"</string>
     <string name="contrast_default" msgid="8918545965525226966">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‏‎‏‎‎‎‎‏‎‏‎‎‏‎‎‏‏‎‏‏‎‎‏‏‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‎‏‎‏‏‎‎Default‎‏‎‎‏‎"</string>
     <string name="contrast_medium" msgid="384414510709285811">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‎‏‎‏‎‏‎‏‏‎‏‏‎‏‏‎‏‏‏‏‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‎‏‎‎‏‎‎‎‏‏‏‎‏‏‎‎‏‏‎Medium‎‏‎‎‏‎"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‎‏‎‏‏‏‎‎‏‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‎‎‏‏‏‎‎‏‎‎‏‎‎‏‎‎‎‏‏‏‎‏‎‎‏‏‎‎‏‎‎‏‎‎On‎‏‎‎‏‎"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‎‏‏‎‏‏‏‎‏‏‏‎‎‎‏‏‏‏‏‏‏‎‏‏‏‏‏‏‎‎‏‎‏‏‏‎‎‎‏‎‏‏‎‎‏‏‎‏‎‎‎‎‎‏‏‎‎Off‎‏‎‎‏‎"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‎‎‎‏‎‏‏‏‎‎‏‏‎‎‏‎‏‎On‎‏‎‎‏‎"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‏‎‏‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‎‎‏‎‏‎‎‏‎‎‏‏‏‏‎‎‎‏‏‏‏‎‎‏‏‏‏‎‎‎Audio %1$d%% left, %2$d%% right‎‏‎‎‏‎"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‏‎‏‏‏‏‏‏‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‎‎‏‏‎‏‏‎‏‏‏‏‏‏‎‏‏‏‏‏‎‎‏‎‎‎‏‎‏‏‏‎‎‎Audio %1$d%% right, %2$d%% left‎‏‎‎‏‎"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‎‏‏‎‎‎‏‎‎‏‎‏‏‏‏‎‎‏‎‎‎‏‏‎‏‎‏‏‏‎‏‎‎‎‏‏‏‏‎‏‎Your device name is visible to apps you installed. It may also be seen by other people when you connect to Bluetooth devices, connect to a Wi-Fi network or set up a Wi-Fi hotspot.‎‏‎‎‏‎"</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‎‎‎‏‎‏‎‏‏‎‏‏‎‏‏‎‎‏‎‎‎‎‏‎‏‎‎‎‎‏‏‎‎‎‏‎‎‏‏‎‎‏‏‏‎‎‏‎‏‏‎‎‎Grammatical gender‎‏‎‎‏‎"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‏‎‎‏‎‏‎‎‎‎‎‏‏‎‏‎‎‎‎‎‏‎‎‎‏‏‎‏‎‎‏‏‏‏‏‎‎‎‎‏‎‏‏‎‏‏‎‎‎‏‏‎Select Grammatical gender‎‏‎‎‏‎"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‏‏‎‏‎‎‏‎‎‏‎‏‏‏‎‎‏‎‏‎‎‎‎‏‎‏‎‏‏‏‏‎‎‎‎‎‎‎‎‏‎‎‎‏‏‏‏‎‎‏‎‎‎Audio sharing stopped‎‏‎‎‏‎"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‏‏‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‏‎‎‏‎‏‏‏‏‏‏‎‏‏‏‏‎‏‏‏‏‏‎Connect a compatible device‎‏‎‎‏‎"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‎‏‎‏‎‎‏‎‎‎‏‏‏‎‎‎‏‎‏‏‎‏‏‏‎‏‎‎‎‏‎‎‎‏‎‎‎‎‎‏‏‎‎‏‎‎To start sharing audio, first connect LE Audio headphones to your phone‎‏‎‎‏‎"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‎‎‏‎‏‏‎‎‏‏‎‎‏‏‎‏‏‎‏‏‎‎‏‎‏‎‎‏‎‎‏‎‎‏‏‏‏‎‏‏‏‏‏‏‎‏‏‏‎‎‏‏‎‎‎Switch to ‎‏‎‎‏‏‎<xliff:g id="DEVICE_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‏‎‎‏‎‎‎‏‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‏‎‎‏‎‏‎‎‏‎‎‏‎‎‎‎‎‎‏‏‎‏‎‎‏‎‎‏‏‏‎Connect to a LE audio stream‎‏‎‎‏‎"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‏‎‏‏‎‏‏‎‏‏‎‏‏‏‏‏‏‎‏‏‎‎‏‎‏‏‎‏‏‎‎‎‎‏‏‎‎‎‏‏‏‎‎‏‎‎‎‎‎‏‎‎‎‎‎‏‎Nearby audio streams‎‏‎‎‏‎"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‎‏‎‎‏‎‎‎‏‏‎‎‎‎‎‎‎‎‎‎‎‏‎‎‎‎‏‎‎‏‎‏‏‏‏‏‏‎‏‎Audio streams‎‏‎‎‏‎"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‎‎‏‎‏‏‏‏‏‎‎‎‏‏‏‎‎‏‏‎‏‏‎‎‏‎‎‎‏‏‏‏‏‎‏‏‎‏‏‎‎‏‏‎‎‏‎‎‎‎‎‎‎‎‎‎‎Listen to stream‎‏‎‎‏‎"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‏‏‏‎‏‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‏‎‏‏‏‏‎‏‎‎‎‎‏‏‏‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎Scan an audio stream QR code to listen with ‎‏‎‎‏‏‎<xliff:g id="DEVICE_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‎‏‎‏‎‏‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‎‎‏‎‏‎‎‏‎‏‏‎‏‎‎‎‎‏‏‎‎‏‎Can\'t edit password while sharing. To change the password, first turn off audio sharing.‎‏‎‎‏‎"</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‏‏‏‎‏‏‎‏‎‎‏‏‏‎‎‎‎‏‏‏‏‎‎‎‏‏‎‏‎‎‏‏‎‎‎‏‎‎‎‏‎‏‏‎‎‏‏‏‎‎‏‎‎QR code scanner‎‏‎‎‏‎"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‏‎‏‎‏‎‎‏‎‎‏‏‏‎‎‎‎‎‎‎‏‏‎‎‏‏‏‎‎‏‏‎‎‏‎‎‎‎‏‏‏‏‎‏‎‏‏‏‎‎‏‏‏‏‎‎‏‎‎‏‏‎"<annotation id="link">"‎‏‎‎‏‏‏‎Need help?‎‏‎‎‏‏‎"</annotation>"‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="homepage_search" msgid="6759334912284663559">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‏‏‎‎‏‏‎‏‏‏‏‏‏‎‏‏‎‏‎‎‏‎‏‎‎‏‎‎‏‏‎‎‏‎‎‏‏‏‏‏‏‎‎‏‏‏‏‏‎‎‎‎‎‏‏‏‎Search Settings‎‏‎‎‏‎"</string>
 </resources>
diff --git a/res/values-es-feminine/strings.xml b/res/values-es-feminine/strings.xml
new file mode 100644
index 0000000..be7b1fe
--- /dev/null
+++ b/res/values-es-feminine/strings.xml
@@ -0,0 +1,24 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="vpn_replace_vpn_message" msgid="1094297700371463386">"Ya estás conectada a una red VPN. Si te conectas a otra, esta sustituirá a la VPN actual."</string>
+    <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Selecciona un perfil de VPN para permanecer conectada de forma continua. Solo se permitirá el tráfico de red cuando estés conectada a esta red VPN."</string>
+    <string name="vpn_disconnected" msgid="7694522069957717501">"Desconectada de la VPN"</string>
+    <string name="user_owner" msgid="2079206733011361994">"Propietaria"</string>
+    <string name="user_admin" msgid="4024553191395768119">"Administradora"</string>
+</resources>
diff --git a/res/values-es-masculine/strings.xml b/res/values-es-masculine/strings.xml
new file mode 100644
index 0000000..3f83551
--- /dev/null
+++ b/res/values-es-masculine/strings.xml
@@ -0,0 +1,24 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="vpn_replace_vpn_message" msgid="1094297700371463386">"Ya estás conectado a una red VPN. Si te conectas a otra, esta sustituirá a la VPN actual."</string>
+    <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Selecciona un perfil de VPN para permanecer conectado de forma continua. Solo se permitirá el tráfico de red cuando estés conectado a esta red VPN."</string>
+    <string name="vpn_disconnected" msgid="7694522069957717501">"Desconectado de la VPN"</string>
+    <string name="user_owner" msgid="2079206733011361994">"Propietario"</string>
+    <string name="user_admin" msgid="4024553191395768119">"Administrador"</string>
+</resources>
diff --git a/res/values-es-neuter/strings.xml b/res/values-es-neuter/strings.xml
new file mode 100644
index 0000000..80cfb48
--- /dev/null
+++ b/res/values-es-neuter/strings.xml
@@ -0,0 +1,24 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="vpn_replace_vpn_message" msgid="1094297700371463386">"Ya te has conectado a una red VPN. Si te conectas a otra, esta sustituirá a la VPN actual."</string>
+    <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Selecciona un perfil de VPN para mantener la conexión de forma continua. Solo se permitirá el tráfico de red cuando tengas conexión a esta red VPN."</string>
+    <string name="vpn_disconnected" msgid="7694522069957717501">"Te has desconectado de la VPN"</string>
+    <string name="user_owner" msgid="2079206733011361994">"Propietario"</string>
+    <string name="user_admin" msgid="4024553191395768119">"Administrador"</string>
+</resources>
diff --git a/res/values-es-rUS-feminine/strings.xml b/res/values-es-rUS-feminine/strings.xml
new file mode 100644
index 0000000..50813fc
--- /dev/null
+++ b/res/values-es-rUS-feminine/strings.xml
@@ -0,0 +1,29 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="show_dev_countdown" msgid="2936506773086395069">"{count,plural, =1{Ahora estás a # paso de convertirte en desarrolladora.}other{Ahora estás a # pasos de convertirte en desarrolladora.}}"</string>
+    <string name="show_dev_on" msgid="2840850085134853754">"¡Ya eres desarrolladora!"</string>
+    <string name="show_dev_already" msgid="7041756429707644630">"No es necesario. Ya eres desarrolladora."</string>
+    <string name="vpn_replace_vpn_message" msgid="1094297700371463386">"Ya estás conectada a una VPN. Si te conectas a otra, se reemplazará la VPN actual."</string>
+    <string name="vpn_always_on_summary" msgid="2171252372476858166">"Mantente siempre conectada a la VPN"</string>
+    <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Selecciona el perfil de la VPN con la que deseas establecer una conexión ininterrumpida. El tráfico de red solo se permitirá cuando estés conectada a esta VPN."</string>
+    <string name="user_owner" msgid="2079206733011361994">"Propietaria"</string>
+    <string name="user_admin" msgid="4024553191395768119">"Administradora"</string>
+    <string name="guest_category_title" msgid="5562663588315329152">"Invitada (tú)"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Despiértate con totalmente descansada"</string>
+</resources>
diff --git a/res/values-es-rUS-masculine/strings.xml b/res/values-es-rUS-masculine/strings.xml
new file mode 100644
index 0000000..ddbc9ae
--- /dev/null
+++ b/res/values-es-rUS-masculine/strings.xml
@@ -0,0 +1,29 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="show_dev_countdown" msgid="2936506773086395069">"{count,plural, =1{Ahora estás a # paso de convertirte en desarrollador.}other{Ahora estás a # pasos de convertirte en desarrollador.}}"</string>
+    <string name="show_dev_on" msgid="2840850085134853754">"¡Ya eres desarrollador!"</string>
+    <string name="show_dev_already" msgid="7041756429707644630">"No es necesario. Ya eres desarrollador."</string>
+    <string name="vpn_replace_vpn_message" msgid="1094297700371463386">"Ya estás conectado a una VPN. Si te conectas a otra, se reemplazará la VPN actual."</string>
+    <string name="vpn_always_on_summary" msgid="2171252372476858166">"Mantente siempre conectado a la VPN"</string>
+    <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Selecciona el perfil de la VPN con la que deseas establecer una conexión ininterrumpida. El tráfico de red solo se permitirá cuando estés conectado a esta VPN."</string>
+    <string name="user_owner" msgid="2079206733011361994">"Propietario"</string>
+    <string name="user_admin" msgid="4024553191395768119">"Administrador"</string>
+    <string name="guest_category_title" msgid="5562663588315329152">"Invitado (tú)"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Despiértate con totalmente descansado"</string>
+</resources>
diff --git a/res/values-es-rUS-neuter/strings.xml b/res/values-es-rUS-neuter/strings.xml
new file mode 100644
index 0000000..f85ba62
--- /dev/null
+++ b/res/values-es-rUS-neuter/strings.xml
@@ -0,0 +1,29 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="show_dev_countdown" msgid="2936506773086395069">"{count,plural, =1{Ahora estás a # paso de activar las opciones para desarrolladores.}other{Ahora estás a # pasos de activar las opciones para desarrolladores.}}"</string>
+    <string name="show_dev_on" msgid="2840850085134853754">"¡Se activaron las opciones para desarrolladores!"</string>
+    <string name="show_dev_already" msgid="7041756429707644630">"No es necesario, ya se activaron las opciones para desarrolladores."</string>
+    <string name="vpn_replace_vpn_message" msgid="1094297700371463386">"Ya te conectaste a una VPN. Si te conectas a otra, se reemplazará la VPN actual."</string>
+    <string name="vpn_always_on_summary" msgid="2171252372476858166">"Mantén siempre conexión a la VPN"</string>
+    <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Selecciona el perfil de la VPN con la que deseas establecer una conexión ininterrumpida. El tráfico de red solo se permitirá cuando tengas conexión a esta VPN."</string>
+    <string name="user_owner" msgid="2079206733011361994">"Propietario"</string>
+    <string name="user_admin" msgid="4024553191395768119">"Admin"</string>
+    <string name="guest_category_title" msgid="5562663588315329152">"Invitado (tú)"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Despiértate con un 100% de energía"</string>
+</resources>
diff --git a/res/values-es-rUS/arrays.xml b/res/values-es-rUS/arrays.xml
index d84bd6a..607d9d7 100644
--- a/res/values-es-rUS/arrays.xml
+++ b/res/values-es-rUS/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Hora de dormir"</item>
-    <item msgid="4152450357280759894">"Mientras se conduce"</item>
-    <item msgid="7096549258219399423">"Inmersivo"</item>
-    <item msgid="2760716776980432977">"Administrado"</item>
-    <item msgid="601734478369121764">"Estrella"</item>
-    <item msgid="6243809315432780521">"Calendario"</item>
-    <item msgid="4913577903148415331">"Hora"</item>
-    <item msgid="3653377604690057780">"Teatro"</item>
-    <item msgid="3843711267408385410">"Flor"</item>
+    <item msgid="1216815120972438676">"Maletín"</item>
+    <item msgid="184985872234062767">"Edificio clásico"</item>
+    <item msgid="9189550412466785530">"Edificio de apartamentos"</item>
+    <item msgid="2142527562511049422">"Globo de diálogo"</item>
+    <item msgid="2548100558260478605">"Grupo de personas"</item>
+    <item msgid="2270003903304578284">"Bombilla"</item>
+    <item msgid="4793496619091161864">"Calendario"</item>
+    <item msgid="5673625795644364100">"No interrumpir"</item>
+    <item msgid="1423820834865831361">"Persona corriendo"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Mancuerna"</item>
+    <item msgid="2730180105015616518">"Natación"</item>
+    <item msgid="2666922823253345958">"Persona caminando"</item>
+    <item msgid="8234880356472211396">"Persona arrojando una pelota"</item>
+    <item msgid="4642980625253001443">"Persona pateando"</item>
+    <item msgid="4324795269518833500">"Control de juegos"</item>
+    <item msgid="7789966425125441125">"Paleta de colores del artista"</item>
+    <item msgid="663512680597461570">"Copo de nieve"</item>
+    <item msgid="7952183800501346803">"Sombrilla"</item>
+    <item msgid="799139025758265891">"Herramientas de taller"</item>
+    <item msgid="1330084588359129896">"Tienda"</item>
+    <item msgid="3861584909935022342">"Rollo de película"</item>
+    <item msgid="5827426100157335512">"Libro"</item>
+    <item msgid="8585828346253128384">"Flor de loto"</item>
+    <item msgid="8788370542815300188">"Mente de una persona"</item>
+    <item msgid="7287354964767553293">"Auriculares"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Tren"</item>
+    <item msgid="4903790544026923026">"Auto"</item>
+    <item msgid="5010405583912314582">"Tenedor y cuchillo"</item>
+    <item msgid="8939998598599064900">"Carrito de compras"</item>
+    <item msgid="3379605903308731893">"Niño"</item>
+    <item msgid="7808668968550293112">"Pata de animal"</item>
+    <item msgid="1000692647524056504">"Insignia de estrella"</item>
+    <item msgid="8270261073421676502">"Dos personas"</item>
+    <item msgid="5767782819651505460">"Estrella"</item>
+    <item msgid="4368451291862729334">"Corazón"</item>
+    <item msgid="2613199102208419986">"Casa"</item>
+    <item msgid="3022279986430275040">"Media luna"</item>
+    <item msgid="5421089790869483206">"Reloj"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 9d61050..3110890 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspendido"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Desconocida"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Vista previa"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"Código QR"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Siempre"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Configuración de dispositivos auditivos"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Acceso directo, compatibilidad con audífonos"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Ajuste predeterminado"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Tu audiólogo no programó ningún ajuste predeterminado"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"No se pudo actualizar el ajuste predeterminado"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Salida de audio"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Info. sobre salida de audio"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"La selección de idioma para esta app no está disponible en Configuración."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Puede que el idioma difiera de los idiomas disponibles en la app. Algunas apps no son compatibles con este parámetro de configuración."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Configura el idioma para cada app."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"El sistema, las apps y los sitios web usan el primer idioma compatible de entre los preferidos."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"El dispositivo, las apps y los sitios web usan el primer idioma compatible de entre los preferidos.\n\nMuchas apps también usarán la región del idioma preferido para cambiar la forma en la que muestran fechas, números y unidades. Para realizar cambios, agrega un idioma y elige una región preferida."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Para seleccionar un idioma para cada app, ve a la configuración de idioma de la app."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Obtén más información sobre los idiomas de las apps"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"¿Deseas cambiar el idioma del sistema a %s?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Desactivada"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Activada: # app tiene acceso a la ubicación}other{Activada: # apps tienen acceso a la ubicación}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Cargando…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Las apps que tienen el permiso de dispositivos cercanos pueden determinar la posición relativa de los dispositivos conectados."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Las apps que tienen el permiso de dispositivos cercanos pueden determinar la posición relativa de los dispositivos conectados."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"El acceso a la ubicación está desactivado para las apps y los servicios. Todavía se puede enviar la ubicación del dispositivo a los servicios de emergencia cuando llamas o mandas un mensaje a un número de emergencia."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Más información sobre la configuración de la ubicación"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Para cambiar, ve a la configuración de ChromeOS &gt; Privacidad y seguridad &gt; Controles de privacidad &gt; Acceso a la ubicación"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Rostro y <xliff:g id="WATCH">%s</xliff:g> agregados"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Rostro, huella dactilar y <xliff:g id="WATCH">%s</xliff:g> agregados"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Rostro, huellas dactilares y <xliff:g id="WATCH">%s</xliff:g> agregados"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"La Verificación de identidad está activada y requiere que uses datos biométricos"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Authenticator Unlock remoto"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Se agregó el reloj"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Configura el reloj"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Más información sobre Desbloqueo del reloj"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Agregar reloj"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Quitar reloj"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Desbloqueo facial y con huellas dactilares"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Desbloqueo facial y con huellas dactilares"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Desbloqueo facial y con huellas dactilares para el trabajo"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Se requiere configuración"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Se agregaron huellas dactilares y el rostro"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Configurando espacio privado…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"No se pudo configurar el espacio privado"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Reintentar"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Salir"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"El espacio privado no está disponible.\nVer causas posibles"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Ver causas posibles"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"¿Elegir un nuevo bloqueo para tu espacio privado?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Puedes establecer un nuevo bloqueo solo para el espacio privado, o bien puedes usar el mismo que usas para desbloquear el dispositivo"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Usar bloqueo de pantalla"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Cuando Bluetooth está activado, tu dispositivo puede usarlo para comunicarse con otros dispositivos Bluetooth cercanos.\n\nPara mejorar la experiencia, las apps y los servicios pueden buscar dispositivos cercanos incluso cuando la conexión Bluetooth esté desactivada. Esta función puede usarse, por ejemplo, para mejorar las funciones y los servicios basados en la ubicación. Puedes cambiar esta opción en la configuración de búsqueda de Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Si el Bluetooth está activado, el dispositivo podrá comunicarse con otros dispositivos cercanos que tengan Bluetooth. Las funciones como Quick Share y Encontrar mi dispositivo usan Bluetooth.\n\nLas apps y los servicios pueden seguir buscando dispositivos cercanos en cualquier momento, incluso si el Bluetooth está desactivado. Esto puede usarse, por ejemplo, para mejorar las funciones y los servicios que se basan en la ubicación. Puedes modificar esto en la configuración de búsqueda de dispositivos Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Cambiar"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Detalles del dispositivo"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Configuración del teclado"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Más parámetros de configuración"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Actualizaciones de firmware, información y mucho más"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Sugerencias y asistencia"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Dirección Bluetooth del dispositivo: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Dirección Bluetooth del dispositivo:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"¿Olvidar este dispositivo?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Experimental Mejora la calidad del audio."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Olvidar este dispositivo"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Desconectar app"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Más opciones"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Máximo de dispositivos de audio Bluetooth conectados"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Selecciona una cantidad máxima de dispositivos de audio Bluetooth conectados"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Registro detallado de depuración del proveedor de NFC"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"¿Quieres reiniciar el dispositivo?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"El registro detallado de NFC está destinado únicamente a fines de desarrollo. Se incluyen datos de NFC adicionales en los informes de errores, que podrían contener información privada. Reinicia el dispositivo para cambiar la configuración."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Reiniciar"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Activado"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Desactivado"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Pantalla externa"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Usar pantalla externa"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Resolución de pantalla"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Pantalla externa desconectada"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Rotación"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Estándar"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Cambiar la rotación o la resolución puede detener cualquier app que se esté ejecutando en ese momento"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"El dispositivo debe estar conectado a una pantalla externa para duplicar tu pantalla"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Más opciones"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Transmitir"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"duplicar"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Habilitar pantalla inalámbrica"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Automáticos"</string>
     <string name="brightness" msgid="6216871641021779698">"Nivel de brillo"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Brillo automático"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Acerca del brillo automático"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"El brillo de la pantalla se ajustará automáticamente según el entorno y las actividades que hagas. Puedes mover el control deslizante para que la función de brillo automático reconozca tus preferencias."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Activado"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Inhabilitado"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"¿Usar a <xliff:g id="CARRIER">%1$s</xliff:g> para datos móviles?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Estás usando a <xliff:g id="CARRIER2_0">%2$s</xliff:g> para datos móviles. Si cambias a <xliff:g id="CARRIER1">%1$s</xliff:g>, ya no se usará a <xliff:g id="CARRIER2_1">%2$s</xliff:g> para los datos móviles."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Usar <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"¿Quieres actualizar la SIM preferida?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> es la única SIM en tu dispositivo. ¿Deseas usar esta tarjeta para datos móviles, llamadas y mensajes SMS?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> es ahora tu SIM principal"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"¿Mejorar la cobertura de datos?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Permite que el dispositivo cambie automáticamente a <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> para datos móviles cuando tenga mejor disponibilidad."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Las llamadas, los mensajes y el tráfico de red pueden ser visibles para tu organización."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Opciones"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Accesibilidad"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Teclado físico"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Usar teclado en pantalla"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Mientras el teclado físico está activo"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Rechazo de teclas"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"El teclado ignora las presiones de la misma tecla repetidas con rapidez dentro de los <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Teclas lentas"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Ajusta el tiempo que lleva activar la presión de una tecla a <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Teclas especiales"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Presiona una tecla a la vez para hacer la combinación de teclas en lugar de presionarlas juntas"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Teclas del mouse"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Usa el teclado físico para controlar el mouse"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Combinaciones de teclas"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Mostrar lista de combinaciones de teclas"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Teclados y herramientas del perfil de trabajo"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Personaliza los gestos de navegación del panel táctil"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Invertir desplazamiento"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"El contenido sube cuando te desplazas hacia abajo"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Toque de la parte inferior derecha"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Más opciones en la esquina inferior derecha del panel táctil"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Clic de la parte inferior derecha"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Más opciones en la esquina inferior derecha del panel táctil"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Velocidad del puntero"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Estilo de relleno del puntero"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Cambia el estilo de relleno a negro"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Cambia estilo de relleno a amarillo"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Cambia el estilo de relleno a rosa"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Cambia el estilo de relleno a azul"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Estilo de trazo del puntero"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Blanco"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Negro"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Ninguno"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Aprende los gestos del panel táctil"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"panel táctil, panel, táctil,mouse, cursor, desplazar, deslizar, hacer clic con el botón derecho, clic, puntero"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"hacer clic con el botón derecho, presionar"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Restablecer"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Elegir tecla modificadora"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Elige una nueva tecla para <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Diseño <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Predeterminadas"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automático: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Seleccionado por el usuario: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Voz"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Velocidad del puntero"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Tamaño del puntero"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Achicar el tamaño del puntero"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Agrandar el tamaño del puntero"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Controlador de juegos"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Redireccionar vibración"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Enviar la vibración al controlador de juegos cuando esté conectado"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continuar de todos modos"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Cancelar"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Configuración de ampliación"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Desplazamiento con un dedo"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Mueve la lupa con 1 dedo"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Arrastra con 1 dedo para moverte por la pantalla"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Arrastrar un dedo para mover el área de ampliación."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Arrastrar dos dedos para mover el área de ampliación."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"No disponible mientras se amplía parte de la pantalla"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Presiona un botón para ampliar"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Acerca rápidamente la pantalla para que el contenido se muestre en un tamaño más grande"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Para acercar, haz lo siguiente:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Usa la combinación para comenzar la ampliación.&lt;br/&gt; {1,number,integer}. Presiona la pantalla.&lt;br/&gt; {2,number,integer}. Arrastra 2 dedos para moverte por la pantalla.&lt;br/&gt; {3,number,integer}. Pellizca con 2 dedos para ajustar el zoom.&lt;br/&gt; {4,number,integer}. Usa la combinación 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; {0,number,integer}. Asegúrate de que el tipo de ampliación esté configurado en pantalla completa.&lt;br/&gt; {1,number,integer}. Usa la combinación para comenzar la ampliación.&lt;br/&gt; {2,number,integer}. Mantén presionada cualquier parte de la pantalla.&lt;br/&gt; {3,number,integer}. Arrastra un dedo para moverte por la pantalla.&lt;br/&gt; {4,number,integer}. Levanta el dedo para detener la ampliación."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Para acercar, haz lo siguiente:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Usa el atajo para comenzar la ampliación.&lt;br/&gt; {1,number,integer}. Presiona la pantalla.&lt;br/&gt; {2,number,integer}. Arrastra 2 dedos para moverte por la pantalla.&lt;br/&gt; {3,number,integer}. Pellizca con 2 dedos para ajustar el zoom.&lt;br/&gt; {4,number,integer}. Usa el atajo para detener la ampliación.&lt;br/&gt;&lt;br/&gt; También puedes acercar temporalmente y realizar otras acciones."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Para acercar, haz lo siguiente:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Usa el atajo para comenzar la ampliación.&lt;br/&gt; {1,number,integer}. Presiona la pantalla.&lt;br/&gt; {2,number,integer}. Arrastra con 1 o 2 dedos para moverte por la pantalla.&lt;br/&gt; {3,number,integer}. Pellizca con 2 dedos para ajustar el zoom.&lt;br/&gt; {4,number,integer}. Usa el atajo para detener la ampliación.&lt;br/&gt;&lt;br/&gt; También puedes acercar temporalmente y realizar otras acciones."</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_pager" msgid="8461939455728454061">"Página <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> de <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Acceso directo al botón de accesibilidad"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Presiona el botón flotante"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Gesto de accesibilidad"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Presiona el botón de accesibilidad <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ubicado en la parte inferior de la pantalla. Para cambiar entre funciones, mantén presionado el botón de accesibilidad."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Desliza dos dedos hacia arriba desde la parte inferior de la pantalla.\n\nPara cambiar de función, desliza dos dedos hacia arriba y mantén presionada la pantalla."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Desliza tres dedos hacia arriba desde la parte inferior de la pantalla.\n\nPara cambiar de función, desliza tres dedos hacia arriba y mantén presionada la pantalla."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Desliza hacia arriba desde la parte inferior de la pantalla. Para cambiar entre funciones, desliza hacia arriba y mantén presionado.}other{Desliza hacia arriba con # dedos desde la parte inferior de la pantalla. Para cambiar entre funciones, desliza hacia arriba con # dedos y mantén presionado.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Más opciones"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Más información sobre <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Teclas de volumen"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"teclas de volumen"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Mantén presionadas ambas teclas de volumen"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Presiona dos veces la pantalla con dos dedos"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Presiona dos veces con %1$d dedos"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Presiona rápidamente la pantalla dos veces con %1$d dedos."</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Presiona tres veces"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Presiona rápidamente la pantalla %1$d veces. Es posible que se ralentice el dispositivo."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"presionar dos veces con %1$d dedos"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Presiona la pantalla rápidamente {0,number,integer} veces con dos dedos"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Presionar tres veces la pantalla"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"presionar tres veces"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Presiona rápidamente la pantalla {0,number,integer} veces. Esta combinación de teclas podría hacer que tu dispositivo funcione más lento."</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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <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="3923122834058574478">"Combinación desde la pantalla de bloqueo"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Permite que la combinación active la función desde la pantalla de bloqueo. Mantén presionadas ambas teclas de volumen durante unos segundos."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Botón de accesibilidad"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Botón de accesibilidad y gestos"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Este servicio no funciona correctamente."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Combinaciones de accesibilidad"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Mostrar en Configuración rápida"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rojo-verde"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Rojo-verde"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Rojo y verde, verde claro"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Rojo y verde, rojo claro"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Azul-amarillo"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Escala de grises"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensidad"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Verde claro, deuteranomalía"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Rojo claro, protanomalía"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"No disponible para el modo de escala de grises o cuando se inhabilitó la corrección de colores"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Atenuación extra"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Atenuación extra de la pantalla"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Cian"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Amarillo"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"¿Deseas permitir que la app <xliff:g id="SERVICE">%1$s</xliff:g> tenga el control total de tu dispositivo?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> necesita:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Debido a que una aplicación está bloqueando una solicitud de permiso, la Configuración no puede verificar tu respuesta."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> está solicitando el control total de este dispositivo. El servicio puede leer la pantalla y realizar acciones para los usuarios que necesitan accesibilidad. Este nivel de control no es apropiado para la mayoría de las apps."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"El control total es apropiado para las apps que te ayudan con las necesidades de accesibilidad, pero no para la mayoría de las apps."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Ver y controlar la pantalla"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Puede leer todo el contenido en la pantalla y mostrar contenido sobre otras apps."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Ver y realizar acciones"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Puede seguir tus interacciones con una app o un sensor de hardware, así como interactuar con las apps por ti."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Permitir"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Rechazar"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Desactivar"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Sí (<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> y <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>)"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"También puedes activar el audio espacial para dispositivos Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Parámetros de configuración de dispositivos conectados"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Audio espacial"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Desactivado"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Desactivado"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Desactivado"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Ninguno}=1{1 programa establecido}other{# programas establecidos}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"No interrumpir"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Modos prioritarios"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Agregar un modo"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Modos"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Minimiza las distracciones y gestiona tu atención con modos de sueño, trabajo, conducción y otras situaciones."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Crea tu propio modo"</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_select_schedule" msgid="663163931596092952">"Establecer un programa"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Programar según"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Día y hora"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"De 9 a.m. a 5 p.m. los días de semana\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Eventos de calendario"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} está activo}=2{{mode_1} y {mode_2} están activos}=3{{mode_1}, {mode_2} y {mode_3} están activos}other{{mode_1}, {mode_2} y # modos más están activos}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 modo se puede activar automáticamente}other{# modos se pueden activar automáticamente}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ACTIVADO"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Sin establecer"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Inhabilitado"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Crea un modo"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Personalizado"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Activar ahora"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Desactivar"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"No se encontró el modo"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitar las interrupciones"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Bloquea interrupciones y distracciones"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Configurar <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activar No interrumpir"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Los sonidos multimedia y las alarmas pueden interrumpir"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Programaciones"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Borrar programas"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Borrar"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Cambiar nombre"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Borrar"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"¿Quieres borrar el modo \"<xliff:g id="MODE">%1$s</xliff:g>\"?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Editar"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Programas"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Programa"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Activar automáticamente"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Agrega un calendario"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Usa tu calendario"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Programa"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Establecer un programa"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Cuándo activar automáticamente"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Programación de eventos"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Activar durante eventos para"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Cuando la respuesta es"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Horario"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Programa"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Programa"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Habilitar interrupciones con sonido"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Notificaciones que puedes recibir"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Acciones adicionales"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Filtros de notificación"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Más parámetros de configuración"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Desactivado}=1{Desactivado/se puede activar automáticamente 1 modo}other{Desactivado/se pueden activar automáticamente # modos}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Configuración de visualización"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Opciones de visualización"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Escala de grises"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"Habilitar el tema oscuro"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Cambia el SO y las apps para preferir el texto claro sobre un fondo oscuro, lo que puede ser más cómodo para los ojos y genera un ahorro de batería significativo en algunos dispositivos."</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Sin cambios de visualización}=1{{effect_1}}=2{{effect_1} y {effect_2}}=3{{effect_1}, {effect_2} y {effect_3}}other{{effect_1}, {effect_2} y # más}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Permitir todas las notificaciones"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Las personas, las apps y los sonidos pueden interrumpir"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opciones de visualización de notificaciones filtradas"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Cuando se activa No interrumpir"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Notificaciones sin sonido"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"notificación abierta"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Permitir posponer notificaciones"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Punto de notificación en ícono de app"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Paquetes de notificaciones"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Burbujas"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Burbujas"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Mostrar esta conversación en una burbuja"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Puede responder a mensajes y realizar acciones en los botones de las notificaciones, como posponerlas o descartarlas, y responder llamadas."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Cambiar parámetros de configuración"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Puede activar o desactivar el modo No interrumpir y cambia los parámetros de configuración relacionados."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Puede administrar y activar los modos, y cambiar la configuración relacionada."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Si desactivas el acceso a las notificaciones de <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, es posible que también se desactive el modo No interrumpir."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Si desactivas el acceso a las notificaciones de <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, es posible que también se desactive el acceso a los modos."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Desactivar"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Cancelar"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Tiempo real"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Esta app no admite opciones de configuración mejoradas"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Más parámetros de configuración"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Puedes encontrar más parámetros de configuración disponibles dentro de esta app"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Notificaciones adaptables"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Usar notificaciones adaptables"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Cuando recibas muchas notificaciones en un intervalo de tiempo corto, el teléfono bajará el volumen y minimizará las ventanas emergentes en la pantalla por un máximo de dos minutos. Las llamadas, las alarmas y las conversaciones prioritarias seguirán sonando, haciendo vibrar el dispositivo o mostrándose en la pantalla. Podrás encontrar todas las notificaciones deslizando hacia abajo desde la parte superior de la pantalla."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Inactividad de notificaciones"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Usar reducción de sonido de notificaciones"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Cuando recibas muchas notificaciones en un intervalo de tiempo corto, el dispositivo bajará el volumen y minimizará las alertas por un máximo de 2 minutos. Las llamadas, alarmas y conversaciones prioritarias no se verán afectadas. \n\nPuedes ver las notificaciones que recibas durante la reducción de sonido deslizando hacia abajo desde la parte superior de la pantalla."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Aplicar a perfiles de trabajo"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Aplicar a apps del perfil de trabajo"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Servicio de ayuda de RV"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Acceso en No interrumpir"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Permitir opción No interrumpir"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Ninguna aplicación instalada solicitó acceso en No interrumpir."</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Acceso a los modos"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Permitir el acceso a los modos"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Ninguna app instalada solicitó acceso a los modos"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"No permitiste las notificaciones de esta app"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Como lo solicitaste, Android bloquea esta categoría de notificaciones para que no se muestren en el dispositivo"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Como lo solicitaste, Android bloquea este grupo de notificaciones para que no se muestren en el dispositivo"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Categorías"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Otros"</string>
     <string name="no_channels" msgid="4716199078612071915">"Esta app no publicó ninguna notificación"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Mostrar categorías sin usar"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Opciones de configuración adicionales de la app"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Mostrar categorías sin usar"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Ocultar categorías sin usar"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversaciones"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Todas las conversaciones"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"todas las conversaciones"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Conversaciones prioritarias"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"conversaciones prioritarias"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Ninguna"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Apps que pueden interrumpir"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Apps seleccionadas"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Ninguna"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Todo"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Ninguna app puede interrumpir}=1{{app_1} puede interrumpir}=2{{app_1} y {app_2} pueden interrumpir}=3{{app_1}, {app_2} y {app_3} pueden interrumpir}other{{app_1}, {app_2} y otras # apps pueden interrumpir}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (trabajo)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Calculando…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permitir que las apps anulen No interrumpir"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps que pueden interrumpir"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Seleccionar más apps"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Nada puede interrumpir"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Ninguna persona puede interrumpir"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Algunas personas pueden interrumpir"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Las llamadas reiteradas pueden interrumpir"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Cualquier persona puede interrumpir"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Llamadas repetidas"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Permitir llamadas repetidas de un mismo emisor"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Cambiar a solo alarmas durante una hora hasta la hora {time}}other{Cambiar a solo alarmas durante # horas hasta la hora {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Cambiar a solo alarmas hasta la(s) <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Cambiar a interrumpir siempre"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Cambiar nombre"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Cambiar ícono"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Cambiar ícono"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Editar modo"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Crea un modo"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Modo personalizado"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Nombre del modo"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Eventos de calendario"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Rutina Hora de dormir"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Mientras conduces"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Configuración de aplicación"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Información y configuración en <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Administrador: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"¿Quieres inhabilitar <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"El modo nunca se activará cuando está inhabilitado"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Inhabilitar"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"¿Quieres habilitar <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"El modo podría activarse automáticamente dependiendo de la configuración"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Habilitar"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Establece un modo para seguir un programa habitual"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Establece un modo para sincronizar los eventos de calendario y las respuestas a invitaciones"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Elabora una rutina tranquila de sueño. Establece alarmas, atenúa la pantalla y bloquea las notificaciones."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Conduce sin distracciones y concéntrate en la ruta priorizando tu seguridad"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Bloquea las distracciones o interrupciones de tu dispositivo para aumentar la concentración"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Elimina todas las distracciones para un entorno tranquilo"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Personaliza la experiencia y la configuración del dispositivo para los distintos usuarios"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Para minimizar las interrupciones, permite que solo las personas y apps importantes se comuniquen contigo"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Establece un modo para seguir un programa habitual"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Mantén tu dispositivo sincronizado con los eventos del día"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Despiértate con un 100% de energía"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Prioriza la seguridad en la ruta"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Mantén la concentración"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Para los momentos en los que la cortesía cuenta"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Uso guiado para que estés en buenas manos"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Controla tu atención"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Advertencia"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Cerrar"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Enviar comentarios sobre el dispositivo"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Debe seguir activado porque el acceso a las notificaciones está activado"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"¿Quieres revocar el acceso de la app <xliff:g id="APP">%1$s</xliff:g> a No interrumpir?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Se quitarán todas las reglas del modo No interrumpir que creó esta app."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"¿Quieres permitir el acceso de <xliff:g id="APP">%1$s</xliff:g> a los modos?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"La app podrá activar y desactivar No interrumpir, administrar y activar los modos, y cambiar la configuración relacionada."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Se quitarán todos los modos que creó esta app."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"No optimizar"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimizar"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Es posible que la batería se agote más rápido. La app ya no tendrá restricciones para usar batería en segundo plano."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Funda"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Batería"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Panel de Configuración"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"Forzar modo de escritorio"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Fuerza el modo de escritorio experimental en pantallas secundarias."</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"Habilitar ventanas de formato libre"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Habilitar las ventanas de formato libre en pantallas secundarias"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Habilitar apps que no cambian de tamaño en multiventana"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Permite que las apps que no cambian de tamaño aparezcan en multiventana"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Anular forzar el modo oscuro"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"datos móviles"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Para mejorar la experiencia con el dispositivo, las apps y los servicios pueden seguir buscando redes Wi-Fi en cualquier momento, incluso cuando la conexión Wi-Fi esté desactivada. Esta función puede usarse, por ejemplo, para mejorar las funciones y los servicios basados en la ubicación. Puedes cambiar este parámetro en la configuración de búsqueda de Wi-Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Cambiar"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Conexión establecida"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Conectado temporalmente"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"<xliff:g id="SUBNAME">%1$s</xliff:g> en uso temporalmente"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Usar fijación de apps"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Usar opciones para desarrolladores"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Usar servicio de impresión"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Permitir varios usuarios"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Permitir cambiar de usuario"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"permitir, varios, usuarios, habilitar, muchos"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"múltiples, usuarios, perfiles, personas, cuentas, cambiar, muchos"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Usar depuración inalámbrica"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> quiere conectarse a este teléfono.\n\nNo te conectaste a <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> antes."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"No conectar"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Conectar"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Configuración de TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Sí"</string>
-    <string name="tare_off" msgid="6305694402929756726">"No"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Restablecer configuración predeterminada"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Config. predeterminada restablecida."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Saldo máx. cuando el disp. está cargado"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Saldos"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Límites de consumo"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Límite de consumo inicial"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Límite de consumo mínimo"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Límite de consumo máximo"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modificadores"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Acciones (costo de producción)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Acciones (precio base)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Recompensas por cada evento"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Recompensas por segundo de duración"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Máximo de recompensas por día"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Instalar app"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Actividad principal"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Notificación vista"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Notificación vista dentro de los 15 min."</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interacción de notificaciones"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Interacción con el widget"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Otra interacción del usuario"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Inicio de trabajo de máxima prioridad"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Trabajo de máxima prioridad en ejecución"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Inicio de trabajo de alta prioridad"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Trabajo de alta prioridad en ejecución"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Inicio de trabajo predeterminado"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Trabajo predeterminado en ejecución"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Inicio de trabajo de baja prioridad"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Trabajo de baja prioridad en ejecución"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Inicio de trabajo de mínima prioridad"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Trabajo de mínima prioridad en ejecución"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Sanción: exc. tiempo de espera trabajo"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Saldo máximo cuando el dispositivo está cargado (exención)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Saldo mín. cuando el disp. está cargado (App con sistema sin interfaz gráfica)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Saldo mínimo cuando el dispositivo está cargado (Apps restantes)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Adición de saldo mínimo con carga completa (actualizadores de apps)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Cargando"</item>
-    <item msgid="658627268149681677">"Descanso"</item>
-    <item msgid="1599558140284643834">"Modo de ahorro de energía"</item>
-    <item msgid="588427840913221601">"Estado del proceso"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Confirmar"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Vista previa"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Selecciona un protector de pantalla"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Mostrar información adicional"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Elige lo que quieres ver en la pantalla cuando la tablet está conectada. Es posible que el dispositivo use más energía cuando se utiliza el protector de pantalla."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Personalizar"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Personalizar <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Se debe reiniciar para habilitar la asistencia de formato libre."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Se debe reiniciar para forzar el modo de computadora en las pantallas secundarias."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Se debe reiniciar para habilitar la compatibilidad con las ventanas de formato libre."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Se debe reiniciar para actualizar la disponibilidad de las ventanas de formato libre."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Se debe reiniciar para habilitar las ventanas de formato libre en pantallas secundarias."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reiniciar ahora"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reiniciar más adelante"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Audio espacial"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Rosa"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Violeta"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Listo"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Guardar"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Cancelar"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Predeterminado"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Medio"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Activadas"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Desactivado"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Activado"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Audio: %1$d%% izquierda, %2$d%% derecha"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Audio: %1$d%% derecha, %2$d%% izquierda"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"El nombre de tu dispositivo es visible para las apps instaladas. Es posible que también lo vean otras personas cuando te conectes a dispositivos Bluetooth o a una red Wi-Fi, o cuando configures un hotspot de Wi-Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Género gramatical"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Selecciona un género gramatical"</string>
@@ -5300,6 +5365,8 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Se dejó de compartir audio"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Conectar un dispositivo compatible"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Para comenzar a compartir audio, conecta auriculares compatibles con LE Audio a tu teléfono"</string>
+    <!-- no translation found for audio_sharing_switch_active_button_label (3065600513067122124) -->
+    <skip />
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Conectarse a reproducción de LE Audio"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Reproducciones de audio cercanas"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Reproducciones de audio"</string>
@@ -5343,4 +5410,8 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Escuchar reproducción"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Escanea el código QR de una reproducción de audio para escuchar con <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"No se puede editar la contraseña mientras se está compartiendo. Para cambiar la contraseña, primero desactiva el uso compartido de audio."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Escáner de código QR"</string>
+    <!-- no translation found for audio_streams_qr_code_help_with_link (5542328067190486479) -->
+    <skip />
+    <string name="homepage_search" msgid="6759334912284663559">"Buscar en Configuración"</string>
 </resources>
diff --git a/res/values-es/arrays.xml b/res/values-es/arrays.xml
index 186e414..2a48e62 100644
--- a/res/values-es/arrays.xml
+++ b/res/values-es/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Descanso"</item>
-    <item msgid="4152450357280759894">"En coche"</item>
-    <item msgid="7096549258219399423">"Inmersivo"</item>
-    <item msgid="2760716776980432977">"Gestionado"</item>
-    <item msgid="601734478369121764">"Estrella"</item>
-    <item msgid="6243809315432780521">"Calendario"</item>
-    <item msgid="4913577903148415331">"Hora"</item>
-    <item msgid="3653377604690057780">"Teatro"</item>
-    <item msgid="3843711267408385410">"Flor"</item>
+    <item msgid="1216815120972438676">"Maletín"</item>
+    <item msgid="184985872234062767">"Edificio clásico"</item>
+    <item msgid="9189550412466785530">"Edificio de apartamentos"</item>
+    <item msgid="2142527562511049422">"Bocadillo"</item>
+    <item msgid="2548100558260478605">"Grupo de personas"</item>
+    <item msgid="2270003903304578284">"Bombilla"</item>
+    <item msgid="4793496619091161864">"Calendario"</item>
+    <item msgid="5673625795644364100">"No molestar"</item>
+    <item msgid="1423820834865831361">"Persona corriendo"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Mancuerna de gimnasio"</item>
+    <item msgid="2730180105015616518">"Natación"</item>
+    <item msgid="2666922823253345958">"Persona haciendo senderismo"</item>
+    <item msgid="8234880356472211396">"Persona lanzando una pelota"</item>
+    <item msgid="4642980625253001443">"Persona dando una patada"</item>
+    <item msgid="4324795269518833500">"Mandos de juegos"</item>
+    <item msgid="7789966425125441125">"Paleta de colores del artista"</item>
+    <item msgid="663512680597461570">"Copo de nieve"</item>
+    <item msgid="7952183800501346803">"Sombrilla"</item>
+    <item msgid="799139025758265891">"Herramientas del taller"</item>
+    <item msgid="1330084588359129896">"Tienda de campaña"</item>
+    <item msgid="3861584909935022342">"Carrete vintage"</item>
+    <item msgid="5827426100157335512">"Libro"</item>
+    <item msgid="8585828346253128384">"Flor de loto"</item>
+    <item msgid="8788370542815300188">"Mente de una persona"</item>
+    <item msgid="7287354964767553293">"Auriculares"</item>
+    <item msgid="2530059623783800987">"Televisión"</item>
+    <item msgid="5307182323469376758">"Tren"</item>
+    <item msgid="4903790544026923026">"Coche"</item>
+    <item msgid="5010405583912314582">"Cuchillo y tenedor"</item>
+    <item msgid="8939998598599064900">"Carrito de la compra"</item>
+    <item msgid="3379605903308731893">"Niño/a"</item>
+    <item msgid="7808668968550293112">"Pata de animal"</item>
+    <item msgid="1000692647524056504">"Insignia de estrella"</item>
+    <item msgid="8270261073421676502">"Dos personas"</item>
+    <item msgid="5767782819651505460">"Estrella"</item>
+    <item msgid="4368451291862729334">"Corazón"</item>
+    <item msgid="2613199102208419986">"Casa"</item>
+    <item msgid="3022279986430275040">"Media luna"</item>
+    <item msgid="5421089790869483206">"Reloj"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index d46424d..6bce8de 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspendido"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Desconocido"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Vista previa"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"Código QR"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Siempre"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Ajustes de audífonos"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Acceso directo, compatibilidad con audífonos"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Preajuste"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Tu audiólogo no ha programado ningún preajuste"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"No se ha podido actualizar el preajuste"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Salida de audio"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Acerca de la salida de audio"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"La selección de idioma para esta aplicación no está disponible en Ajustes."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Puede que el idioma no coincida con los que hay disponibles en la aplicación. Algunas aplicaciones no son compatibles con este ajuste."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Establece el idioma de cada aplicación."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Tu sistema, aplicaciones y sitios web usan el primer idioma compatible de tus idiomas preferidos."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Tu dispositivo, aplicaciones y sitios web usan el primer idioma compatible de tu lista de idiomas preferidos.\n\nMuchas aplicaciones también usan la región de tu idioma preferido para seleccionar el formato de las fechas, los números y las unidades. Para cambiar la región, añade un idioma y, a continuación, elige tu región preferida."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Para seleccionar un idioma para cada aplicación, ve a los ajustes de idiomas de las aplicaciones."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Más información sobre los idiomas de las aplicaciones"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"¿Cambiar el idioma del sistema a %s?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Desactivado"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Activada: # aplicación tiene acceso a la ubicación}other{Activada: # aplicaciones tienen acceso a la ubicación}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Cargando…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Las aplicaciones que tengan permiso para detectar dispositivos cercanos pueden determinar la posición relativa de los dispositivos conectados."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Las aplicaciones que tengan permiso para detectar dispositivos cercanos podrán determinar la posición relativa de los dispositivos conectados."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Las aplicaciones y los servicios no pueden acceder a la ubicación. Aun así, quizá se envíe la ubicación del dispositivo a los servicios de emergencia cuando llames o envíes mensajes a números de emergencia."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Más información sobre los ajustes de ubicación"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Para cambiarlo, ve a Ajustes de ChromeOS &gt; Privacidad y seguridad &gt; Controles de privacidad &gt; Acceso a la ubicación"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Cara y <xliff:g id="WATCH">%s</xliff:g> añadidos"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Cara, huella digital y <xliff:g id="WATCH">%s</xliff:g> añadidos"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Cara, huellas digitales y <xliff:g id="WATCH">%s</xliff:g> añadidos"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"La comprobación de identidad está activada y requiere un método biométrico"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Desbloqueo con Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Smartwatch añadido"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Configurar un reloj"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Más información sobre Desbloqueo con reloj"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Añadir reloj"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Quitar reloj"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Desbloqueo facial y con huella digital"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Desbloqueo facial y con huella digital"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Desbloqueo facial y con huella digital para el trabajo"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Hay que configurarlo"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Cara y huellas digitales añadidas"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Configurando espacio privado…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"No se ha podido crear el espacio privado"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Reintentar"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Salir"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"El espacio privado no está disponible.\nVer posibles causas"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Ver posibles causas"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"¿Elegir un nuevo bloqueo para el espacio privado?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Puedes definir un bloqueo nuevo solo para el espacio privado o usar el mismo con el que desbloqueas el dispositivo"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Usar bloqueo de pantalla"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Cuando el Bluetooth está activado, tu dispositivo puede comunicarse con otros dispositivos Bluetooth cercanos.\n\nPara mejorar la experiencia de uso del dispositivo, las aplicaciones y los servicios pueden buscar dispositivos cercanos en cualquier momento aunque el Bluetooth esté desactivado. Esto puede servir, por ejemplo, para mejorar servicios y funciones basados en la ubicación. Puedes cambiar esta opción en los ajustes de búsqueda de dispositivos Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Con el Bluetooth activado, tu dispositivo se puede comunicar con otros dispositivos Bluetooth cercanos. Las funciones como Quick Share y Encontrar mi dispositivo usan Bluetooth.\n\nAunque el Bluetooth esté desactivado, las aplicaciones y los servicios pueden buscar dispositivos cercanos en cualquier momento para mejorar las funciones y los servicios basados en la ubicación, entre otras cosas. Puedes cambiar esta opción en los ajustes de la búsqueda de dispositivos Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Cambiar"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> no conectado"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"Por tu seguridad, olvida este dispositivo y, después, vuelve a emparejarlo"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"Olvidar dispositivo"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"Cancelar"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Detalles del dispositivo"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Ajustes del teclado"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Más ajustes"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Actualizaciones de firmware, información y más"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Ayuda y consejos"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Dirección de Bluetooth del dispositivo: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Dirección de Bluetooth del dispositivo: \n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"¿Olvidar dispositivo?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Experimental. Mejor calidad de audio."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Olvidar dispositivo"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Desconectar aplicación"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Más ajustes"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Máximo de dispositivos de audio conectados por Bluetooth"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Selecciona el número máximo de dispositivos de audio conectados por Bluetooth"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Registro detallado de depuración del proveedor de NFC"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"¿Reiniciar dispositivo?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"El registro detallado de NFC solo se usa para fines de desarrollo. Además, se incluyen datos adicionales de NFC en los informes de errores, que pueden contener información privada. Reinicia tu dispositivo para cambiar este ajuste."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Reiniciar"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Activada"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Desactivada"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Pantalla externa"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Usar pantalla externa"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Resolución de pantalla"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"La pantalla externa está desconectada"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Rotación"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Estándar"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Si cambias la rotación o la resolución, puede que se detengan las aplicaciones que están en funcionamiento"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Tu dispositivo debe estar conectado a una pantalla externa para proyectar tu pantalla"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Más opciones"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Enviar"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"proyectar"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Habilitar pantalla inalámbrica"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptativos"</string>
     <string name="brightness" msgid="6216871641021779698">"Nivel de brillo"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Brillo adaptativo"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Acerca del brillo adaptativo"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"El brillo de la pantalla se ajustará automáticamente según el entorno y lo que hagas. Puedes mover el control deslizante para que la función Brillo adaptativo reconozca tus preferencias."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Activado"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Desactivado"</string>
@@ -1311,8 +1340,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"¿Usar <xliff:g id="CARRIER">%1$s</xliff:g> para los datos móviles?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Estás utilizando <xliff:g id="CARRIER2_0">%2$s</xliff:g> para los datos móviles. Si cambias a <xliff:g id="CARRIER1">%1$s</xliff:g>, no se utilizará más a <xliff:g id="CARRIER2_1">%2$s</xliff:g> para los datos móviles."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Usar <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"¿Cambiar la SIM preferida?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> es la única SIM del dispositivo. ¿Quieres usarla para los datos móviles, las llamadas y los mensajes SMS?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> es ahora tu SIM principal"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"¿Mejorar la cobertura de datos?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Permite que tu dispositivo cambie a <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> de forma automática para usar los datos móviles cuando tenga mejor disponibilidad."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Es posible que tu empresa vea tus llamadas, mensajes y tráfico de red."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Opciones"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Accesibilidad"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Teclado físico"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Usar teclado en pantalla"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Mantenlo en pantalla mientras el teclado físico está activo"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Teclas de rebote"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"El teclado ignora las pulsaciones rápidas repetidas de la misma tecla hechas en menos de <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Teclas lentas"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Ajusta el tiempo que se tarda en activar una pulsación de tecla a <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Teclas persistentes"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Para las combinaciones de teclas, pulsa las teclas de una en una en lugar de mantenerlas pulsadas todas a la vez"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Teclas para el ratón"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Usa el teclado físico para controlar el ratón"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Combinaciones de teclas"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Muestra la lista de combinaciones de teclas"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Perfiles de trabajo y herramientas"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Personaliza gestos concretos de navegación del panel táctil"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Desplazamiento invertido"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"El contenido sube cuando te desplazas hacia abajo"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Toque inferior derecho"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Toca la esquina inferior derecha del panel táctil para ver más"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Clic en la esquina inferior derecha"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Haz clic en la esquina inferior derecha del panel táctil para ver más opciones"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Velocidad del puntero"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Estilo de relleno del puntero"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Cambiar relleno del puntero a negro"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Cambiar relleno a amarillo"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Cambiar relleno del puntero a rosa"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Cambiar relleno del puntero a azul"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Estilo del trazo del puntero"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Blanco"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Negro"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Ninguno"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Consultar gestos del panel táctil"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"panel táctil, ratón, cursor, desplazar, deslizar, hacer clic con el botón derecho, clic, puntero"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"hacer clic con el botón derecho, tocar"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Restablecer"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Elige una tecla modificadora"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Elige una nueva tecla para <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Accesibilidad del teclado físico"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Teclas persistentes, teclas de rebote y teclas para el ratón"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Diseño <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Predeterminado"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automático: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Seleccionado por el usuario: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Voz"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Velocidad del puntero del ratón"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Tamaño del cursor"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Reducir el tamaño del cursor"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Aumentar el tamaño del cursor"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Mandos de videojuegos"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Redirigir vibración"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Enviar vibración al mando para juegos cuando esté conectado"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continuar de todos modos"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Cancelar"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Ajustes de ampliación"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Desplazarse con un dedo"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Mover la lupa con 1 dedo"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Arrastra 1 dedo para moverte por la pantalla."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Mueve la lupa de área arrastrándola con un dedo."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Mueve la lupa de área arrastrándola con dos dedos."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"No disponible cuando se amplía solo parte de la pantalla"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Toca un botón para ampliar"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Amplía rápidamente la pantalla para que el contenido se vea más grande"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Para ampliar:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Usa el acceso directo para iniciar la ampliación.&lt;br/&gt; {1,number,integer}. Toca la pantalla.&lt;br/&gt; {2,number,integer}. Arrastra dos dedos para moverte por la pantalla.&lt;br/&gt; {3,number,integer}. Pellizca con dos dedos para ajustar el zoom.&lt;br/&gt; {4,number,integer}. Usa el acceso directo para detener la ampliación.&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Para ampliar de forma temporal:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Asegúrate de que has configurado el tipo de ampliación como pantalla completa.&lt;br/&gt; {1,number,integer}. Usa el acceso directo para iniciar la ampliación.&lt;br/&gt; {2,number,integer}. Mantén pulsada cualquier parte de la pantalla.&lt;br/&gt; {3,number,integer}. Arrastra el dedo para moverte por la pantalla.&lt;br/&gt; {4,number,integer}. Levanta el dedo para detener la ampliación."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Para ampliar:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Usa el acceso directo para iniciar la ampliación.&lt;br/&gt; {1,number,integer}. Toca la pantalla.&lt;br/&gt; {2,number,integer}. Arrastra 2 dedos para moverte por la pantalla.&lt;br/&gt; {3,number,integer}. Pellizca con 2 dedos para ajustar el zoom.&lt;br/&gt; {4,number,integer}. Usa este acceso directo para detener la ampliación.&lt;br/&gt;&lt;br/&gt; También puedes ampliar temporalmente y más."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Para ampliar:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Usa el acceso directo para iniciar la ampliación.&lt;br/&gt; {1,number,integer}. Toca la pantalla.&lt;br/&gt; {2,number,integer}. Arrastra 1 o 2 dedos para moverte por la pantalla.&lt;br/&gt; {3,number,integer}. Pellizca con 2 dedos para ajustar el zoom.&lt;br/&gt; {4,number,integer}. Usa este acceso directo para detener la ampliación.&lt;br/&gt;&lt;br/&gt; También puedes ampliar temporalmente y más."</string>
     <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Si la ampliación está activada, puedes ampliar la pantalla.\n\n"<b>"Para ampliar"</b>", inicia la ampliación y toca la parte de la pantalla que quieras ampliar.\n"<ul><li>"Arrastra al menos dos dedos para desplazarte."</li>\n<li>"Pellizca la pantalla con al menos dos dedos para ajustar el zoom."</li></ul>\n\n<b>"Para ampliar elementos temporalmente"</b>", inicia la ampliación y mantén pulsada cualquier parte de la pantalla.\n"<ul><li>"Arrastra un dedo para desplazarte por la pantalla."</li>\n<li>"Levanta el dedo para reducir la imagen."</li></ul>\n\n"El teclado y la barra de navegación no se pueden ampliar."</string>
     <string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Página <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> de <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Acceso directo al botón de accesibilidad"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Toca el botón flotante."</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Gesto de accesibilidad"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"En la parte inferior de la pantalla, toca el botón de accesibilidad <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>. Para cambiar de una función a otra, mantén pulsado el botón de accesibilidad."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Desde la parte inferior de la pantalla, desliza hacia arriba con dos dedos.\n\nPara cambiar de una función a otra, desliza hacia arriba con dos dedos y mantén pulsada la pantalla."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Desde la parte inferior de la pantalla, desliza tres dedos hacia arriba.\n\nPara cambiar de una función a otra, desliza tres dedos hacia arriba y mantén pulsada la pantalla."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Desliza hacia arriba desde la parte inferior de la pantalla. Para cambiar de una función a otra, desliza hacia arriba y mantén pulsado.}other{Desliza hacia arriba con # dedos desde la parte inferior de la pantalla. Para cambiar de una función a otra, desliza hacia arriba con # dedos y mantén pulsado.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Más opciones"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Más información sobre <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Teclas de volumen"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"teclas de volumen"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Mantén pulsadas las dos teclas de volumen."</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Toca dos veces la pantalla con dos dedos"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Tocar dos veces con %1$d dedos"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Toca rápidamente la pantalla dos veces con %1$d dedos."</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Tocar tres veces"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Toca rápidamente la pantalla %1$d veces. Esta acción puede ralentizar tu dispositivo."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"tocar dos veces con %1$d dedos"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Toca la pantalla {0,number,integer} veces rápidamente con dos dedos"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Triple toque en la pantalla"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"tocar tres veces"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Toca la pantalla {0,number,integer} 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">"Ajustes avanzados"</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 de 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 hacia arriba con dos dedos 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_global_gesture_preference_title" msgid="8866765674372344850">"Acceso directo de teclas de volumen"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Ajustes de accesos directos"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Acceso directo desde la pantalla de bloqueo"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"Acceso directo de teclas de volumen desde la pantalla de bloqueo"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Permite que el acceso directo de accesibilidad se pueda activar desde la pantalla de bloqueo. Mantén pulsadas las dos teclas de volumen durante unos segundos."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Botón de accesibilidad"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Botón y gesto de accesibilidad"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Este servicio no funciona correctamente."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Accesos directos de accesibilidad"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Mostrar en ajustes rápidos"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rojo-verde"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Rojo-verde"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Rojo-verde, percepción débil del verde"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Rojo-verde, percepción débil del rojo"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Azul-amarillo"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Escala de grises"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensidad"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Percepción débil del verde, deuteranomalía"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Percepción débil del rojo, protanomalía"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"No disponible en el modo Escala de grises ni cuando la corrección de color está inhabilitada"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Atenuación extra"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Atenuación extra de la pantalla"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Cian"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Amarillo"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"¿Permitir que <xliff:g id="SERVICE">%1$s</xliff:g> pueda controlar totalmente tu dispositivo?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> necesita:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Una aplicación está bloqueando una solicitud de permiso, por lo que Ajustes no puede verificar tu respuesta."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> está solicitando el control completo del dispositivo. El servicio puede leer la pantalla y actuar en nombre de los usuarios que necesitan funciones de accesibilidad. El nivel de control no es adecuado para la mayoría de las aplicaciones."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"El control total es adecuado para las aplicaciones de accesibilidad, pero no para la mayoría de las aplicaciones."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Ver y controlar la pantalla"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Puede leer todo el contenido de la pantalla y mostrar contenido encima de otras aplicaciones."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Ver y realizar acciones"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Puede registrar tus interacciones con una aplicación o un sensor de hardware, así como interactuar con las aplicaciones en tu nombre."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Permitir"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Denegar"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Desactivar"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Activado / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> y <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"También puedes activar el audio espacial para dispositivos Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Ajustes de dispositivos conectados"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Audio espacial"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Desactivado"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Desactivado"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Desactivado"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Ninguna}=1{1 programación creada}other{# programaciones creadas}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"No molestar"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Modos prioritarios"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Añadir un modo"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Modos"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Minimiza las distracciones y toma el control de tu atención con los modos para dormir, trabajar, conducir o cualquier otra actividad."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Crea tu propio modo"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Recibe notificaciones solo de personas y aplicaciones importantes"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Crear una programación"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Programación basada en"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Día y hora"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"De 9:00 a 17:00 los días laborables\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Eventos del calendario"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} está activo}=2{{mode_1} y {mode_2} están activos}=3{{mode_1}, {mode_2} y {mode_3} están activos}other{{mode_1}, {mode_2} y # más están activos}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 modo se puede activar automáticamente}other{# modos se pueden activar automáticamente}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ACTIVADO"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Sin definir"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Inhabilitado"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Crear un modo"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Personalizado"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Activar ahora"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Desactivar"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Modo no encontrado"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitar interrupciones"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Bloquea las interrupciones y las distracciones"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Configurar <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activar No molestar"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Las alarmas y los sonidos multimedia pueden interrumpirte"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Programaciones"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Eliminar programaciones"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Eliminar"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Cambiar nombre"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Eliminar"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"¿Eliminar modo <xliff:g id="MODE">%1$s</xliff:g>?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Editar"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Programaciones"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Programación"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Activar automáticamente"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Añade un calendario"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Usa el calendario"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Programación"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Crea una programación"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Cuándo activar automáticamente"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Programación del evento"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Activar durante eventos para"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Donde la respuesta sea"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Programación horaria"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Programar"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Programación"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Permitir interrupciones que reproduzcan sonido"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Notificaciones que pueden llegarte"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Acciones adicionales"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Filtros de notificación"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Más ajustes"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Desactivado}=1{Desactivado / 1 modo puede activarlo automáticamente}other{Desactivado / # modos pueden activarlo automáticamente}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Ajustes de la pantalla"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Opciones de visualización"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Escala de grises"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"habilitar tema oscuro"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Se prioriza que el SO y las aplicaciones usen un texto claro sobre fondo oscuro, lo que puede resultar más agradable a la vista y supone un importante ahorro de batería en algunos dispositivos"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{No hay cambios en la pantalla}=1{{effect_1}}=2{{effect_1} y {effect_2}}=3{{effect_1}, {effect_2} y {effect_3}}other{{effect_1}, {effect_2}, y # más}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Permitir todas las notificaciones"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Las personas, las aplicaciones y los sonidos pueden interrumpirte"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opciones de visualización para las notificaciones filtradas"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Cuando el modo No molestar esté activado"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Notificaciones sin sonido"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"abrir notificación"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Permitir que se pospongan las notificaciones"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Burbuja de notificación en el icono de la aplicación"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Paquetes de notificaciones"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Burbujas"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Burbujas"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Convertir esta conversación en burbuja"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Puede responder a mensajes y realizar acciones en botones de notificaciones, como posponer o descartar notificaciones y responder a llamadas."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Cambiar ajustes"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Puede activar o desactivar el modo No molestar y cambiar ajustes relacionados."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Puede gestionar y activar los modos, así como cambiar ajustes relacionados."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Si desactivas el acceso a las notificaciones de <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, es posible que también se desactive el modo No molestar."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Si desactivas el acceso a las notificaciones de <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, es posible que también se desactive el acceso a los modos."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Desactivar"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Cancelar"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"En tiempo real"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Esta aplicación no admite la configuración avanzada"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Más ajustes"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Hay más ajustes disponibles en la aplicación"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Notificaciones adaptativas"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Usar notificaciones adaptativas"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Cuando recibas muchas notificaciones en poco tiempo, tu teléfono bajará el volumen del audio y minimizará las ventanas emergentes de la pantalla durante dos minutos. Las alertas de llamadas, alarmas y conversaciones prioritarias seguirán vibrando, emitiendo un sonido o apareciendo en pantalla, y todas las notificaciones se encontrarán fácilmente al deslizar hacia abajo la parte superior de la pantalla."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Bajar volumen de notificaciones"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Bajar el volumen de notificaciones"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Cuando recibas muchas notificaciones en poco tiempo, tu dispositivo bajará el volumen y minimizará las alertas durante un máximo de 2 minutos. Las llamadas, alarmas y conversaciones prioritarias no se verán afectadas. \n\nLas notificaciones recibidas durante ese periodo se pueden encontrar arrastrando hacia abajo la parte superior de la pantalla."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Aplicar a perfiles de trabajo"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Aplicar a las aplicaciones del perfil de trabajo"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Servicios de ayuda de RV"</string>
@@ -3650,6 +3709,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Acceso a No molestar"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Permitir No molestar"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Ninguna aplicación instalada ha solicitado acceso a No molestar"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Acceso a los modos"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Permitir acceso a los modos"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Ninguna aplicación instalada ha solicitado acceso a los modos"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"No has permitido notificaciones de esta aplicación"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Por petición tuya, Android está bloqueando esta categoría de notificaciones para que no se muestren en el dispositivo"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Por petición tuya, Android está bloqueando este grupo de notificaciones para que no se muestren en el dispositivo"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Categorías"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Otros"</string>
     <string name="no_channels" msgid="4716199078612071915">"Esta aplicación no ha publicado ninguna notificación"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Mostrar categorías no usadas"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Ajustes adicionales de la aplicación"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Mostrar categorías no usadas"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Ocultar categorías no usadas"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g>-<xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversaciones"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Todas las conversaciones"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"todas las conversaciones"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Conversaciones prioritarias"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"conversaciones prioritarias"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Ninguna"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Aplicaciones que pueden interrumpirte"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Aplicaciones seleccionadas"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Ninguna"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Todas"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Ninguna aplicación puede interrumpirte}=1{{app_1} puede interrumpirte}=2{{app_1} y {app_2} pueden interrumpirte}=3{{app_1}, {app_2} y {app_3} pueden interrumpirte}other{{app_1}, {app_2} y # más pueden interrumpirte}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (trabajo)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Calculando…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</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_header" msgid="60083006963906906">"Aplicaciones que pueden interrumpirte"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Seleccionar más aplicaciones"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Nada puede interrumpirme"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Nadie puede interrumpirte"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Algunas personas pueden interrumpirte"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Las llamadas repetidas pueden interrumpirte"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Todo el mundo puede interrumpirte"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Llamadas repetidas"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Permitir llamadas repetidas"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Cambiar a Solo alarmas durante una hora hasta las {time}}other{Cambiar a Solo alarmas durante # horas hasta las {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Cambiar a Solo alarmas hasta las <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Cambiar a interrumpir siempre"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Cambiar nombre"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Cambiar icono"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Cambiar icono"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Modo de edición"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Crea un modo"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Modo personalizado"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Nombre del modo"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Eventos del calendario"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Rutina Buenas noches"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Durante la conducción"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Ajustes de aplicaciones"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Información y ajustes en <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Gestionado por <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"¿Inhabilitar <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Este modo nunca se activará cuando esté inhabilitado"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Inhabilitar"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"¿Quieres habilitar <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Puede que este modo se active automáticamente según sus ajustes"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Habilitar"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Define un modo que siga un calendario regular"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Define un modo para sincronizar los eventos del calendario y las respuestas a invitaciones"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Diseña una rutina de sueño relajante. Define alarmas, atenúa la pantalla y bloquea las notificaciones."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Prioriza la seguridad en la carretera para una conducción sin distracciones"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Bloquea las distracciones o interrupciones de tu dispositivo para concentrarte"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Elimina todas las distracciones para un ambiente silencioso"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Personaliza las experiencias y los ajustes del dispositivo para diferentes usuarios"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Reduce las interrupciones al permitir que solo se pongan en contacto contigo las personas y aplicaciones importantes"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Configura un modo que siga un horario regular"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Mantén tu dispositivo sincronizado con los eventos del día"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Empieza el día con energía"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Seguridad ante todo en la carretera"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Concentración sin distracciones"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Para momentos en los que la cortesía es importante"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Uso guiado para ayudarte a estar en buenas manos"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Controla tu atención"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Advertencia"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Cerrar"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Enviar comentarios sobre el dispositivo"</string>
@@ -4006,6 +4102,10 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Debe activarse porque el acceso a las notificaciones está activado"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"¿Quieres que <xliff:g id="APP">%1$s</xliff:g> ya no pueda acceder a No molestar?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Se quitarán todas las reglas del modo No molestar que esta aplicación haya creado."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"¿Permitir que <xliff:g id="APP">%1$s</xliff:g> acceda a los modos?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"La aplicación podrá activar o desactivar No molestar, gestionar y activar los modos y hacer cambios en los ajustes relacionados."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"¿Revocar el acceso a Modos de <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Se eliminarán todos los modos creados por esta aplicación."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"No optimizar"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimizar"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Es posible que la batería se consuma más rápido. La aplicación no tendrá restricción para usar batería en segundo plano."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Funda"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Batería"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Panel de ajustes"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"Forzar modo Escritorio"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Fuerza el modo Escritorio experimental en pantallas secundarias"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"Habilitar ventanas de forma libre"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Habilitar ventanas libres en pantallas secundarias"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Habilitar aplicaciones de tamaño no modificable en multiventana"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Permite que las aplicaciones de tamaño no modificable se muestren en multiventana"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Anular Forzar modo Oscuro"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"datos móviles"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Para mejorar la experiencia con el dispositivo, las aplicaciones y los servicios podrán buscar redes Wi‑Fi en cualquier momento aunque la conexión Wi-Fi esté desactivada. Esto sirve para, por ejemplo, mejorar los servicios y las funciones que se basan en la ubicación. Puedes cambiar esta opción en los ajustes de búsqueda de redes Wi-Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Cambiar"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Conectado"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Conectada temporalmente"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Usando <xliff:g id="SUBNAME">%1$s</xliff:g> temporalmente"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Usar Fijar aplicaciones"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Usar Opciones para desarrolladores"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Usa servicio de impresión"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Permitir varios usuarios"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Permitir cambiar de usuario"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"permitir, varios, usuarios, habilitar, muchos"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"múltiples, usuarios, perfiles, personas, cuentas, cambiar, muchos"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Usar depuración inalámbrica"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> quiere conectarse a este teléfono.\n\nEs la primera vez que te conectas a <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"No conectar"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Conectar"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Ajustes de TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Activado"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Desactivado"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Revertir a los ajustes predeterminados"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Ajustes predeterminados restaurados."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Equilibrio máximo con carga completa"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Saldos"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Límites de consumo"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Límite de consumo inicial"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Límite de consumo mínimo"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Límite de consumo máximo"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modificadores"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Acciones (coste de producción)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Acciones (precio base)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Recompensas por cada evento"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Recompensas por cada segundo del evento"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Recompensas máximas por día"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Instalar aplicación"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Actividad principal"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Notificación vista"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Notificación vista en 15 minutos"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interacción con notificación"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Interacción con widget"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Otra interacción del usuario"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Inicio de trabajo de prioridad máxima"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Ejecución de trabajo de prioridad máxima"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Inicio de trabajo de prioridad alta"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Ejecución de trabajo de prioridad alta"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Inicio de trabajo de prioridad pred."</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Ejecución de trabajo de prioridad pred."</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Inicio de trabajo de prioridad baja"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Ejecución de trabajo de prioridad baja"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Inicio de trabajo de prioridad mínima"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Ejecución de trabajo de prioridad mínima"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Penalización por agotar tiempo de trabajo"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Saldo mínimo con carga completa (exento)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Saldo mínimo con carga completa (aplicación del sistema sin interfaz gráfica)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Saldo mínimo con carga completa (aplicaciones restantes)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Adición de saldo mínimo con carga completa (actualizadores de aplicaciones)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Carga"</item>
-    <item msgid="658627268149681677">"Descanso"</item>
-    <item msgid="1599558140284643834">"Modo de ahorro de energía"</item>
-    <item msgid="588427840913221601">"Estado del proceso"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Confirmar"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Vista previa"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Elige un salvapantallas"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Mostrar información adicional"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Elige lo que quieres ver en tu pantalla cuando tu tablet está conectada en la base. Es posible que el dispositivo gaste más batería si se usa un salvapantallas."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Personalizar"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Personalizar <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Debes reiniciar para habilitar el formato libre."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Debes reiniciar para forzar el modo Escritorio en pantallas secundarias."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Debes reiniciar para habilitar la compatibilidad con ventanas de forma libre."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Debes reiniciar para actualizar la disponibilidad de ventanas de forma libre."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Debes reiniciar para habilitar las ventanas de forma libre en pantallas secundarias."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reiniciar ahora"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reiniciar más tarde"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Audio espacial"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Rosa"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Violeta"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Hecho"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Guardar"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Cancelar"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Predeterminado"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Medio"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Activado"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Desactivado"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Activado"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Audio: %1$d%% izquierdo, %2$d%% derecho"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Audio: %1$d%% derecho, %2$d%% izquierdo"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Las aplicaciones que hayas instalado pueden ver el nombre de tu dispositivo. También es posible que lo vean otros usuarios si lo conectas con dispositivos Bluetooth, si te conectas a una red Wi-Fi o si configuras un punto de acceso Wi-Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Género gramatical"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Selecciona el género gramatical"</string>
@@ -5300,6 +5356,8 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Se ha dejado de compartir audio"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Conecta un dispositivo compatible"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Para empezar a compartir audio, conecta primero los auriculares LE Audio a tu teléfono"</string>
+    <!-- no translation found for audio_sharing_switch_active_button_label (3065600513067122124) -->
+    <skip />
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Conectar a stream de LE Audio"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Streams de audio cercanos"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Streams de audio"</string>
@@ -5343,4 +5401,8 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Escuchar emisión"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Escanea el código QR de una emisión de audio para escucharlo con <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"No se puede modificar la contraseña durante el uso compartido. Para cambiarla, primero desactiva la función compartir audio."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Escáner de códigos QR"</string>
+    <!-- no translation found for audio_streams_qr_code_help_with_link (5542328067190486479) -->
+    <skip />
+    <string name="homepage_search" msgid="6759334912284663559">"Buscar ajustes"</string>
 </resources>
diff --git a/res/values-et/arrays.xml b/res/values-et/arrays.xml
index a2bfb9c..63bcbc6 100644
--- a/res/values-et/arrays.xml
+++ b/res/values-et/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Uneaeg"</item>
-    <item msgid="4152450357280759894">"Sõitmine"</item>
-    <item msgid="7096549258219399423">"Kaasahaarav"</item>
-    <item msgid="2760716776980432977">"Hallatud"</item>
-    <item msgid="601734478369121764">"Tärn"</item>
-    <item msgid="6243809315432780521">"Kalender"</item>
-    <item msgid="4913577903148415331">"Kellaaeg"</item>
-    <item msgid="3653377604690057780">"Kinosaal"</item>
-    <item msgid="3843711267408385410">"Lill"</item>
+    <item msgid="1216815120972438676">"Kohver"</item>
+    <item msgid="184985872234062767">"Klassikaline hoone"</item>
+    <item msgid="9189550412466785530">"Korterelamu"</item>
+    <item msgid="2142527562511049422">"Kõnemull"</item>
+    <item msgid="2548100558260478605">"Rühm inimesi"</item>
+    <item msgid="2270003903304578284">"Lambipirn"</item>
+    <item msgid="4793496619091161864">"Kalender"</item>
+    <item msgid="5673625795644364100">"Mitte segada"</item>
+    <item msgid="1423820834865831361">"Jooksev inimene"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Jõusaali hantel"</item>
+    <item msgid="2730180105015616518">"Ujumine"</item>
+    <item msgid="2666922823253345958">"Matkav inimene"</item>
+    <item msgid="8234880356472211396">"Palli viskav inimene"</item>
+    <item msgid="4642980625253001443">"Jalahoopi andev inimene"</item>
+    <item msgid="4324795269518833500">"Mängupult"</item>
+    <item msgid="7789966425125441125">"Kunstniku värvipalett"</item>
+    <item msgid="663512680597461570">"Lumehelves"</item>
+    <item msgid="7952183800501346803">"Päikesevari"</item>
+    <item msgid="799139025758265891">"Õpitoa tööriistad"</item>
+    <item msgid="1330084588359129896">"Telk"</item>
+    <item msgid="3861584909935022342">"Filmilint"</item>
+    <item msgid="5827426100157335512">"Raamat"</item>
+    <item msgid="8585828346253128384">"Lootoseõis"</item>
+    <item msgid="8788370542815300188">"Inimese mõistus"</item>
+    <item msgid="7287354964767553293">"Kõrvaklapid"</item>
+    <item msgid="2530059623783800987">"Teler"</item>
+    <item msgid="5307182323469376758">"Rong"</item>
+    <item msgid="4903790544026923026">"Auto"</item>
+    <item msgid="5010405583912314582">"Kahvel ja nuga"</item>
+    <item msgid="8939998598599064900">"Ostukorv"</item>
+    <item msgid="3379605903308731893">"Laps"</item>
+    <item msgid="7808668968550293112">"Looma käpp"</item>
+    <item msgid="1000692647524056504">"Tähekese märk"</item>
+    <item msgid="8270261073421676502">"Kaks inimest"</item>
+    <item msgid="5767782819651505460">"Täht"</item>
+    <item msgid="4368451291862729334">"Süda"</item>
+    <item msgid="2613199102208419986">"Maja"</item>
+    <item msgid="3022279986430275040">"Poolkuu"</item>
+    <item msgid="5421089790869483206">"Kell"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 93076d1..2bce08b 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Peatatud"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Teadmata"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Eelvaade"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR-kood"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Alati"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Kuuldeseade seaded"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Otsetee, ühilduvus kuuldeaparaatidega"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Eelseadistus"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Teie audioloog ei ole ühtegi eelseadistust programmeerinud"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Eelseadistust ei saanud värskendada"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Heliväljund"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Teave heliväljundi kohta"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Selle rakenduse jaoks pole seadetes keele valimine saadaval."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Keel võib rakenduses saadaolevatest keeltest erineda. Mõni rakendus ei pruugi seda seadet toetada."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Määrake iga rakenduse jaoks keel."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Teie süsteem, rakendused ja veebisaidid kasutavad teie eelistatud keelte hulgast esimest toetatud keelt."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Teie seade, rakendused ja veebisaidid kasutavad esimest toetatud keelt teie eelistatud keelte loendist.\n\nSamuti kasutavad paljud rakendused teie eelistatud keelega seotud piirkonnas kehtivaid kuupäevade, numbrite ja ühikute vormindusreegleid. Piirkonna muutmiseks lisage keel ja seejärel valige eelistatud piirkond."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Iga rakenduse puhul keele valimiseks avage rakenduse keeleseaded."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Lisateave rakenduse keelte kohta"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Kas valida süsteemi keeleks %s ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Väljas"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Sees / # rakendusel on asukohale juurdepääs}other{Sees / # rakendusel on asukohale juurdepääs}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Laadimine …"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Rakendused, millel on luba läheduses olevatele seadmetele juurde pääseda, saavad määrata ühendatud seadmete suhtelise asukoha."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Rakendused, millel on luba läheduses olevatele seadmetele juurde pääseda, saavad määrata ühendatud seadmete suhtelise asukoha."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Juurdepääs asukohale on rakenduste ja teenuste jaoks välja lülitatud. Teie seadme asukoht võidakse siiski päästeteenistusele saata, kui helistate või saadate sõnumi hädaabinumbrile."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Lisateave asukohaseadete kohta"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Muutmiseks avage ChromeOS-i seaded &gt; Privaatsus ja turvalisus &gt; Privaatsuse seaded &gt; Juurdepääs asukohale"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Nägu ja kell <xliff:g id="WATCH">%s</xliff:g> on lisatud"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Nägu, sõrmejälg ja kell <xliff:g id="WATCH">%s</xliff:g> on lisatud"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Nägu, sõrmejäljed ja kell <xliff:g id="WATCH">%s</xliff:g> on lisatud"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Identsuskontroll on sisse lülitatud ja vajab biomeetrilisi andmeid"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Kaugautentija avamine"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Kell on lisatud"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Kella seadistamine"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Lisateave kellaga avamise kohta"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Lisa kell"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Kella eemaldamine"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Sõrmejälje ja näoga avamine"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Näo ja sõrmejäljega avamine"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Näo ja sõrmejäljega avamine töö jaoks"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Seadistamine on vajalik"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Nägu ja sõrmejäljed on lisatud"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Privaatse ruumi seadistamine …"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Privaatset ruumi ei saanud seadistada"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Proovi uuesti"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Välju"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Privaatne ruum pole saadaval.\nVaadake võimalikke põhjuseid"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Vaadake võimalikke põhjuseid"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Kas valida privaatse ruumi jaoks uus lukk?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Saate seadistada uue luku vaid privaatse ruumi jaoks või kasutada sama lukku, mida kasutate seadme avamiseks"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Kasuta ekraanilukku"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Kui Bluetooth on sisse lülitatud, saab teie seade suhelda teiste läheduses olevate Bluetooth-seadmetega.\n\nSeadme kasutuskogemuse täiustamiseks saavad rakendused ja teenused endiselt igal ajal otsida läheduses olevaid seadmeid isegi siis, kui Bluetooth on välja lülitatud. Seda saab kasutada näiteks asukohapõhiste funktsioonide ja teenuste täiustamiseks. Saate seda muuta Bluetoothi skannimise seadetes."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Kui Bluetooth on sees, saab seade suhelda teiste lähikonna Bluetooth-seadmetega. Sellised funktsioonid nagu Kiirjagamine ja Leia mu seade kasutavad Bluetoothi.\n\nRakendused ja teenused saavad siiski mis tahes ajal otsida lähedalasuvaid seadmeid, isegi kui Bluetooth on väljas. Seda saab kasutada näiteks asukohapõhiste funktsioonide ja teenuste täiustamiseks. Saate seda muuta Bluetoothi skannimise seadetes."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Muutke"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Seadme üksikasjad"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Klaviatuuriseaded"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Rohkem seadeid"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Püsivaravärskendused, teave ja muu"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Nõuanded ja tugi"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Seadme Bluetoothi aadress: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Seadme Bluetoothi aadress:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Kas unustada seade?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Katseline. Parandab helikvaliteeti."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Unusta seade"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Katkesta rakenduse ühendus"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Rohkem seadeid"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Maksimaalne arv ühendatud Bluetoothi heliseadmeid"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Maksimaalse arvu ühendatud Bluetoothi heliseadmete valimine"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC teenusepakkuja paljusõnaline silumise logi"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Kas taaskäivitada seade?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Üksikasjalik NFC logimine on mõeldud ainult arenduseks. Veaaruannetesse kaasatakse täiendavad NFC andmed, mis võivad sisaldada privaatset teavet. Selle seade muutmiseks taaskäivitage oma seade."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Taaskäivita"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Sees"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Väljas"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Väline ekraan"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Välise ekraani kasutamine"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Ekraani eraldusvõime"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Ühendatud on väline ekraan"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Pööramine"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Tavaline"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Pööramise või eraldusvõime muutmine võib peatada mis tahes rakendused, mis praegu töötavad"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Teie ekraanikuva peegeldamiseks peab teie seade olema ühendatud välise ekraaniga"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Rohkem valikuid"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Ülekandmine"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"peegeldamine"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Luba juhtmeta ekraaniühendus"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Kohanduvad"</string>
     <string name="brightness" msgid="6216871641021779698">"Ereduse tase"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Kohanduv eredus"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Kohanduva ereduse teave"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Teie ekraanikuva eredust kohandatakse automaatselt teie keskkonna ja tegevuste järgi. Võite liugurit käsitsi liigutada, et aidata kohanduval eredusel teie eelistusi õppida."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Sees"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Väljas"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Kas kasutada <xliff:g id="CARRIER">%1$s</xliff:g> andmesidet?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Kasutate operaatori <xliff:g id="CARRIER2_0">%2$s</xliff:g> mobiilset andmesidet. Kui aktiveerite operaatori <xliff:g id="CARRIER1">%1$s</xliff:g>, ei kasutata enam operaatori <xliff:g id="CARRIER2_1">%2$s</xliff:g> mobiilset andmesidet."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Kasuta operaatorit <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Kas värsk. eelistatud SIM-i?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> on ainuke seadmes olev SIM-kaart. Kas soovite mobiilse andmeside, kõnede ja SMS-sõnumite puhul kasutada seda SIM-kaarti?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> on nüüd teie peamine SIM-kaart"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Kas täiustada mobiilside levi?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Lubage telefonil automaatselt lülituda operaatori <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> mobiilsele andmesidele, kui see on paremini kättesaadav."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Kõned, sõnumid ja võrguliiklus võivad teie organisatsioonile nähtavad olla."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Valikud"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Juurdepääsetavus"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Füüsiline klaviatuur"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Kasuta ekraaniklaviatuuri"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Hoia seda ekraanil, kui füüsiline klaviatuur on aktiivne"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Ühekordse puudutusega klahvid"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Klaviatuur eirab <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms jooksul tehtud sama klahvi korduvaid vajutusi"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Aeglased klahvid"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Määrab klahvivajutuse aktiveerumiseks kuluva aja väärtusele <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Nakkeklahvid"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Otseteede puhul klahvide korraga allhoidmise asemel vajutage klahve ükshaaval"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Hiireklahvid"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Kasutage hiire juhtimiseks füüsilist klaviatuuri."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Klaviatuuri otseteed"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Kuva otseteede loend"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tööprofiili klaviatuurid ja tööriistad"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Kohandage individuaalseid puuteplaadi navigeerimisliigutusi"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Tagurpidi kerimine"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Allakerimisel liigub sisu üles"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Parema alaosa puudutamine"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Lisavalikute nägemiseks puudutage puuteplaadi paremat alaosa"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Paremas allnurgas klõpsamine"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Lisavalikute jaoks klõpsake puuteplaadi paremas allnurgas"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Kursori kiirus"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Kursori sisu stiil"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Kursori sisu muutmine mustaks"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Kursori sisu muutmine kollaseks"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Kursori sisu muutmine roosaks"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Kursori sisu muutmine siniseks"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Hiirekursori kriipsu stiil"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Valge"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Must"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Puudub"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Õppige puuteplaadi liigutusi"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"puuteplaat, hiir, kursor, kerimine, pühkimine, sõrmega tõmbamine, paremklõps, klõpsamine"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"paremklõps, puudutamine"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Lähtesta"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Muuteklahvi valimine"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Valige muuteklahvi <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> jaoks uus klahv:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Paigutus: <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Vaikeseade"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automaatne: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Kasutaja valitud: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Kõne"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Kursori kiirus"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Kursori suurus"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Vähenda kursorit"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Suurenda kursorit"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Mängukontroller"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Vibreerimise ümbersuunamine"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Saadab vibreerimise mängukontrollerisse, kui see on ühendatud"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Jätka ikkagi"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Tühista"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Suurendamisseaded"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Ühe sõrmega paanimine"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Luubi liigutamine ühe sõrmega"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Kuval liikumiseks lohistage sõrme."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Suurendusala teisaldamiseks lohistage ühe sõrmega."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Suurendusala teisaldamiseks lohistage kahe sõrmega."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Pole saadaval, kui suurendatakse ainult osa ekraanist"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Suumimiseks puudutage nuppu"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Suumige ekraanil kiiresti sisse, et sisu suuremalt kuvada"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Sissesuumimiseks toimige järgmiselt.&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Kasutage suurendamise alustamiseks otseteed.&lt;br/&gt; {1,number,integer}. Puudutage ekraani.&lt;br/&gt; {2,number,integer}. Ekraanikuval liikumiseks lohistage kahe sõrmega.&lt;br/&gt; {3,number,integer}. Suumi kohandamiseks liigutage ekraanil kaht sõrme kokku-lahku.&lt;br/&gt; {4,number,integer}. 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; {0,number,integer}. Veenduge, et suurendamise tüübiks oleks valitud täisekraan.&lt;br/&gt; {1,number,integer}. Kasutage suurendamise alustamiseks otseteed.&lt;br/&gt; {2,number,integer}. Hoidke sõrme kus tahes ekraanikuval.&lt;br/&gt; {3,number,integer}. Lohistage ekraanikuval liikumiseks sõrme.&lt;br/&gt; {4,number,integer}. Suurendamise lõpetamiseks tõstke sõrm ekraanikuvalt."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Sissesuumimiseks toimige järgmiselt.&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Kasutage suurendamise alustamiseks otseteed.&lt;br/&gt; {1,number,integer}. Puudutage ekraani.&lt;br/&gt; {2,number,integer}. Ekraanikuval liikumiseks lohistage kahe sõrmega.&lt;br/&gt; {3,number,integer}. Suumi kohandamiseks liigutage ekraanil kaht sõrme kokku-lahku.&lt;br/&gt; {4,number,integer}. Kasutage suurenduse peatamiseks otseteed&lt;br/&gt;&lt;br/&gt; Saate ka ajutiselt sisse suumida ja muud teha."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Sissesuumimiseks toimige järgmiselt.&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Kasutage suurendamise alustamiseks otseteed.&lt;br/&gt; {1,number,integer}. Puudutage ekraani.&lt;br/&gt; {2,number,integer}. Ekraanikuval liikumiseks lohistage ühe või kahe sõrmega.&lt;br/&gt; {3,number,integer}. Suumi kohandamiseks liigutage ekraanil kaht sõrme kokku-lahku.&lt;br/&gt; {4,number,integer}. Kasutage suurenduse peatamiseks otseteed&lt;br/&gt;&lt;br/&gt; Saate ka ajutiselt sisse suumida ja muud teha."</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_pager" msgid="8461939455728454061">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>. leht <xliff:g id="NUM_PAGES">%2$d</xliff:g>-st"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Juurdepääsetavuse nupu otsetee"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Puudutage hõljuvat nuppu"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Juurdepääsetavuse liigutus"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Puudutage ekraani allservas juurdepääsetavuse nuppu <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>. Funktsioonide vahetamiseks puudutage ja hoidke juurdepääsetavuse nuppu."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Pühkige kahe sõrmega ekraanikuva allosast üles.\n\nFunktsioonide vahel vahetamiseks pühkige kahe sõrmega üles ja hoidke."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Pühkige kolme sõrmega ekraanikuva allosast üles.\n\nFunktsioonide vahel vahetamiseks pühkige kolme sõrmega üles ja hoidke."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Tõmmake sõrmega ekraani allservast üles. Funktsioonide vahetamiseks tõmmake sõrmega üles ja hoidke sõrme ekraanil.}other{Tõmmake # sõrmega ekraani allservast üles. Funktsioonide vahetamiseks tõmmake # sõrmega üles ja hoidke sõrmi ekraanil.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Rohkem valikuid"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Lisateave: <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Helitugevuse klahvid"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"helitugevuse klahvid"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Hoidke all mõlemat helitugevuse klahvi"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Ekraani kahe sõrmega topeltpuudutamine"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d sõrmega topeltpuudutus"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Puudutage ekraani %1$d sõrmega kiiresti kaks korda"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Kolmikpuudutus"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Puudutage ekraani kiiresti %1$d korda. See võib teie seadme tööd aeglustada."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d sõrmega topeltpuudutus"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Puudutage kahe sõrmega kiiresti {0,number,integer} korda ekraani"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Ekraani kolmikpuudutamine"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"kolmikpuudutus"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Puudutage ekraani kiiresti {0,number,integer} 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Otsetee seaded"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Otsetee lukustuskuval"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Lukustuskuval sisselülitamiseks lubage funktsiooni otsetee. Hoidke mõlemat helitugevuse klahvi mõni sekund all."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Juurdepääsetavuse nupp"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Juurdepääsetavuse nupp ja liigutus"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Selle teenuse töös esineb häireid."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Juurdepääsetavuse otseteed"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Kuva kiirseadetes"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Punane-roheline"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Punane-roheline"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Punane-roheline, rohelise vähenenud tajumine"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Punane-roheline, punase vähenenud tajumine"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Sinine-kollane"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Halltoonid"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensiivsus"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Rohelise vähenenud tajumine, deuteranomaalia"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Punase vähenenud tajumine, protanomaalia"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Pole saadaval halltoonide reziimis ega siis, kui värvide korrigeerimine on keelatud"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Eriti tume"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Ekraanikuva eriti tumedaks muutmine"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Tsüaan"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Kollane"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Fuksia"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Kas anda teenusele <xliff:g id="SERVICE">%1$s</xliff:g> teie seadme üle täielik kontroll?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> teeb järgmist:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Seaded ei saa teie vastust kinnitada, sest rakendus varjab loataotlust."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> taotleb seadme täielikku haldusõigust. Teenus saab juurdepääsufunktsioone vajavate kasutajate nimel ekraani lugeda ja tegutseda. See haldusõiguse tase ei ole enamiku rakenduste puhul sobilik."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Täielik kontroll sobib rakendustele, mis pakuvad juurdepääsufunktsioone. Enamiku rakenduste puhul seda ei soovitata."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Ekraanikuva vaatamine ja haldamine"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"See saab lugeda kogu ekraanil kuvatud sisu ja kuvada sisu rakenduste peal."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Toimingute vaatamine ja tegemine"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"See saab jälgida teie suhtlust rakenduse või riistvaraanduriga ja teie eest rakendustega suhelda."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Luba"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Keela"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Lülita välja"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Sees / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> + <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Võite ruumilise heli lülitada sisse ka Bluetooth-seadmete jaoks."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Ühendatud seadmete seaded"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Ruumiline heli"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Väljas"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Väljas"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Väljas"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Puudub}=1{1 ajakava on määratud}other{# ajakava on määratud}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Mitte segada"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Prioriteetsed režiimid"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Lisa režiim"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Režiimid"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Minimeerige segajad ning juhtige oma tähelepanu une-, töö-, sõidu- ja kõigi teiste režiimide abil."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Omaenda režiimi loomine"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Ainult oluliste inimeste ja rakendustega seotud märguanded"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Ajakava määramine"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Režiimipõhine ajakava"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Kuupäev ja kellaaeg"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"„9.00–17.00 tööpäevadel”"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Kalendrisündmused"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} on aktiivne}=2{{mode_1} ja {mode_2} on aktiivsed}=3{{mode_1}, {mode_2} ja {mode_3} on aktiivsed}other{{mode_1}, {mode_2} ja veel # režiimi on aktiivsed}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 režiim võib automaatselt sisse lülituda}other{# režiimi võivad automaatselt sisse lülituda}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"SEES"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Määramata"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Keelatud"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Mudeli loomine"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Kohandatud"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Lülita kohe sisse"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Lülita välja"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Režiimi ei leitud"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Katkestuste piiramine"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Blokeerige häirivad tegurid"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Režiimi <xliff:g id="MODE">%1$s</xliff:g> seadistamine"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Valiku Mitte segada sisselülitamine"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarmid ja meediahelid saavad katkestada"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Ajakavad"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Ajakavade kustutamine"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Kustuta"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Nimeta ümber"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Kustuta"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Kas kustutada režiim „<xliff:g id="MODE">%1$s</xliff:g>“?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Muuda"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Ajakavad"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Ajakava"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Automaatselt sisselülitamine"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Lisage kalender"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Kasutage oma kalendrit"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Ajastamine"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Ajakava määramine"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Automaatselt sisselülitamine"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Sündmuse ajakava"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Lülitage sündmuste ajal sisse"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Kui kutse vastus on"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Ajapõhine kava"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Ajakava"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Ajastamine"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Helimärguandega katkestuste lubamine"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Teieni jõudvad märguanded"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Lisatoimingud"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Märguandefiltrid"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Rohkem seadeid"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Väljas}=1{Väljas / 1 režiimi saab automaatselt sisse lülitada}other{Väljas / # režiimi saab automaatselt sisse lülitada}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Kuvaseaded"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Kuvavalikud"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Halltoonid"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"tumeda teema lubamine"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Lülitage OS ja rakendused heleda teksti ja tumeda tausta eelistusele, mis võib hõlbustada teksti lugemist ning säästab teatud seadmetes oluliselt akut"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Ekraanikuva muudatusi pole}=1{{effect_1}}=2{{effect_1} ja {effect_2}}=3{{effect_1}, {effect_2} ja {effect_3}}other{{effect_1}, {effect_2} ja veel #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Luba kõik märguanded"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Inimesed, rakendused ja helid saavad katkestada"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Filtreeritud märguannete kuvavalikud"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Kui funktsioon Mitte segada on sisse lülitatud"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Hääletud märguanded"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"ava märguanne"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Luba märguandeid edasi lükata"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Märguandetäpp rakenduse ikoonil"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Märguandekogumid"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Mullid"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Mullid"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Kuva see vestlus mullis"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"See saab vastata sõnumitele ja aktiveerida märguannetes olevaid toimingunuppe, sealhulgas märguandeid edasi lükata või nendest loobuda ja kõnedele vastata."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Seadete muutmine"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"See saab funktsiooni Mitte segada sisse või välja lülitada ja muuta seotud seadeid."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"See saab hallata ja aktiveerida režiime ning muuta nendega seotud seadeid."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Kui lülitate teenuse <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> jaoks juurdepääsu märguannetele välja, võidakse välja lülitada ka juurdepääs funktsioonile Mitte segada."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Kui lülitate teenuse <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> jaoks juurdepääsu märguannetele välja, võidakse välja lülitada ka juurdepääs režiimidele."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Lülita välja"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Tühista"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Reaalajas"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"See rakendus ei toeta täiustatud seadeid"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Rohkem seadeid"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Selle rakenduse sees on saadaval rohkem seadeid"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Kohanduvad märguanded"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Kohanduvate märguannete kasutamine"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Kui saate lühikese aja jooksul palju märguandeid, vähendab teie telefon helitugevust ja minimeerib ekraanil kuvatavad hüpikaknad kuni kaheks minutiks. Kõnede, alarmide ja prioriteetsete vestluste korral seade endiselt vibreerib, esitab heli või kuvab ekraanil märguande ja kõik märguanded on hõlpsasti leitavad, kui tõmbate ekraani ülaosast alla."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Märguannete summutamine"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Märguannete summutamise kasutamine"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Kui saate lühikese aja jooksul palju märguandeid, vähendab teie seade helitugevust ja minimeerib hoiatused kuni kaheks minutiks. See ei mõjuta kõnesid, alarme ega prioriteetseid vestlusi. \n\nSummutamise ajal saadud märguanded leiate, kui ekraani ülaosast alla tõmbate."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Tööprofiilidele rakendamine"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Rakendage tööprofiili rakendustele"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR-abilise teenused"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Juurdepääs funktsioonile Mitte segada"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Luba funktsioon Mitte segada"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Ükski installitud rakendus pole palunud juurdepääsu funktsioonile Mitte segada"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Režiimidele juurdepääs"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Luba juurdepääs režiimidele"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Ükski installitud rakendus pole taotlenud juurdepääsu režiimidele."</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Te pole selle rakenduse märguandeid lubanud"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Teie taotluse kohaselt blokeerib Android selle märguandekategooria kuvamise selles seadmes"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Teie taotluse kohaselt blokeerib Android selle märguandegrupi kuvamise selles seadmes"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Kategooriad"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Muu"</string>
     <string name="no_channels" msgid="4716199078612071915">"See rakendus pole postitanud ühtegi märguannet"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Kuva kasutamata kategooriad"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Lisaseaded rakenduses"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Kuva kasutamata kategooriad"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Peida kasutamata kategooriad"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Vestlused"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Kõik vestlused"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"kõik vestlused"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Prioriteetsed vestlused"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"prioriteetsed vestlused"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Mitte ükski"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Rakendused, mis saavad katkestada"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Valitud rakendused"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Puudub"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Kõik"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Mitte ükski rakendus ei saa katkestada}=1{{app_1} saab katkestada}=2{{app_1} ja {app_2} saavad katkestada}=3{{app_1}, {app_2} ja {app_3} saavad katkestada}other{{app_1}, {app_2} ja veel # saavad katkestada}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (töö)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Arvutamine …"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Luba rakendustel alistada"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Rakendused, mis saavad katkestada"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Valige rohkem rakendusi"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Mitte miski ei saa katkestada"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Mitte keegi ei saa katkestada"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Mõned inimesed saavad katkestada"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Korduvad helistajad saavad katkestada"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Kõik inimesed saavad katkestada"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Korduvad helistajad"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Luba korduvad helistajad"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Muudetakse valikule Ainult äratused 1 tunniks kuni {time}}other{Muudetakse valikule Ainult äratused # tunniks kuni {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Muudetakse valikule Ainult alarmid kuni kella <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Muudetakse valikule Katkesta alati"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Nimeta ümber"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Muuda ikooni"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Muuda ikooni"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Muutmisrežiim"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Režiimi loomine"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Kohandatud režiim"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Režiimi nimi"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Kalendrisündmused"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Uneaja rutiin"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Sõitmise ajal"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Rakenduse seaded"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Teave ja seaded rakenduses <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Haldab <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Kas keelata režiim <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"See režiim ei lülitu kunagi sisse, kui see on keelatud"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Keela"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Kas lubada režiim <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"See režiim võib oma seadete alusel automaatselt sisse lülituda"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Luba"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Seadistage režiim, mis järgib tavapärast ajakava"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Määrake kalendrisündmustega sünkroonimise ja kutsetele vastamise režiim"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Looge rahustav unerutiin. Seadistage alarmid, hämardage ekraan ja blokeerige märguanded."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Sõitke keskendunult ja segamatult, et tagada teel ohutus"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Blokeerige seadme segavad märguanded, et tagada hea keskendumine"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Eemaldage kõik segajad, et tagada vaikne keskkond"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Isikupärastage seadme kasutuskogemust ja seadeid eri kasutajate jaoks"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Vähendage katkestusi, lubades ainult olulistel inimestel ja rakendustel teiega ühendust võtta"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Seadistage režiim, mis järgib tavapärast ajakava"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Hoidke oma seade päevasündmustega sünkroonis"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Ärgake üles 100% puhanuna"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Keskenduge teel olles ennekõike ohutusele"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Suurendage fookust, et keskenduda eesmärgile"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Hetkedeks, mil viisakus mängib rolli"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Juhistega kasutamine, et oleksite heades kätes"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Haarake oma tähelepanu üle kontroll"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Hoiatus"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Sule"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Seadme kohta tagasiside saatmine"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Peab jääma sisselülitatud asendisse, kuna juurdepääs märguannetele on sisse lülitatud"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Kas tühistada rakenduse <xliff:g id="APP">%1$s</xliff:g> juurdepääs režiimile Mitte segada?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Kõik selle rakenduse loodud režiimi Mitte segada reeglid eemaldatakse."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Kas lubada rakenduse <xliff:g id="APP">%1$s</xliff:g> juurdepääs režiimidele?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Rakendus saab funktsiooni Mitte segada sisse/välja lülitada, režiime hallata ja aktiveerida ning muuta nendega seotud seadeid."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Kõik selle rakenduse loodud režiimid eemaldatakse."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Ära optimeeri"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimeeri"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Aku võib kiiremini tühjeneda. Rakendusel on nüüd lubatud taustal akut kasutada."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Ümbris"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Aku"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Seadete paneel"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"Jõusta töölauarežiim"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Katselise töölauarežiimi jõustamine teisestel ekraanidel"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"Luba vabas vormis aknad"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Luba vabas vormis aknad teisesel ekraanil"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Luba fikseeritud suurus mitmes aknas"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Lubab fikseeritud suurusega rakenduste kuvamise mitmes aknas"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Alista funktsioon Sunnitud tume"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobiilne andmeside"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Seadme kasutuskogemuse parandamiseks võivad rakendused ja teenused siiski alati otsida WiFi-võrke isegi siis, kui WiFi on väljas. Seda saab kasutada näiteks asukohapõhiste funktsioonide ja teenuste täiustamiseks. Seda saab muuta WiFi-skannimise seadetes."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Muutmine"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Ühendatud"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Ajutiselt ühendatud"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Ajutiselt kasutatakse operaatorit <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Rakenduse kinnitamise kasutamine"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Kasuta arendaja valikuid"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Printimisteenuse kasutamine"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Luba mitu kasutajat"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Kasutaja lubamise lüliti"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"luba, lubamine, mitu, kasutaja, kasutajat"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"mitu, kasutajad, profiilid, inimesed, kontod, vahetamine, palju"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Juhtmevaba silumise kasutamine"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> soovib selle telefoniga ühendust luua.\n\nTe pole seadmega <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> varem ühendust loonud."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Ära ühenda"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Ühenda"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE seaded"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Sees"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Väljas"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Taasta vaikeseaded"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Taastati vaikeseaded."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Max täislaetud aku saldo"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Saldod"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Tarbimispiirangud"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Esialgne tarbimispiirang"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Minimaalne tarbimispiirang"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Maksimaalne tarbimispiirang"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Muutujad"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Toimingud (tegemise hind)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Toimingud (baashind)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Preemiaid ühe sündmuse kohta"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Preemiaid sekundis sündmuse jooksul"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Maksimaalne preemiate arv päevas"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Rakenduse installimine"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Tipptegevus"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Märguannet vaadati"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Märguannet vaadati 15 minuti jooksul"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Märguande interaktsioon"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Vidina interaktsioon"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Muu kasutaja interaktsioon"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Max prioriteediga töö käivitamine"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Max prioriteediga töö käitamine"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Kõrge prioriteediga töö käivitamine"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Kõrge prioriteediga töö käitamine"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Vaikeprioriteediga töö käivitamine"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Vaikeprioriteediga töö käitamine"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Madala prioriteediga töö käivitamine"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Madala prioriteediga töö käitamine"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Min prioriteediga töö käivitamine"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Min prioriteediga töö käitamine"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Töö ajalõpu karistus"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Minimaalne täislaetud aku saldo (välistatud)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Minimaalne täislaetud aku saldo (kasutajaliideseta süsteemirakendus)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Minimaalne täislaetud aku saldo (ülejäänud rakendused)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Minimaalne täislaetud aku saldo lisa (rakenduse värskendajad)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Laadimine"</item>
-    <item msgid="658627268149681677">"Uinumine"</item>
-    <item msgid="1599558140284643834">"Energiasäästurežiim"</item>
-    <item msgid="588427840913221601">"Protsessi olek"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Kinnita"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Eelvaade"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Valige ekraanisäästja"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Kuva lisateave"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Valige, mida oma ekraanikuval näete, kui teie tahvelarvuti on dokitud. Kui kasutate ekraanisäästjat, võib teie seade rohkem energiat tarbida."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Kohanda"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Kohanda ekraanisäästjat <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Vabas vormis toe jaoks on vaja taaskäivitada."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Töölauarežiimi teisestele ekraanidele sundimiseks on vaja taaskäivitada."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Vabas vormis akende toe jaoks on vaja taaskäivitada."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Vabas vormis akende saadavuse värskendamiseks on vaja taaskäivitada."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Vabas vormis akende lubamiseks teisestel ekraanidel on vaja taaskäivitada."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Taaskäivita kohe"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Taaskäivita hiljem"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Ruumiline heli"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Roos"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Lilla"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Valmis"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Salvesta"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Tühista"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Vaikeseade"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Keskmine"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Sees"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Väljas"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Sees"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Heli: %1$d%% vasak, %2$d%% parem"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Heli: %1$d%% parem, %2$d%% vasak"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Teie seadme nimi on teie installitud rakendustele nähtav. Bluetooth-seadmetega või WiFi-võrguga ühenduse loomisel või WiFi-kuumkoha seadistamisel võivad seda näha ka teised inimesed."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Grammatiline sugu"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Grammatilise soo valimine"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Heli jagamine on lõpetatud"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Ühilduva seadme ühendamine"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Heli jagamise alustamiseks ühendage esmalt LE Audio kõrvaklapid oma telefoniga"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Lülitage profiilile <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"LE Audio vooga ühendamine"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Läheduses asuvad helivood"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Helivood"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Kuula voogu"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Seadmega <xliff:g id="DEVICE_NAME">%1$s</xliff:g> kuulamiseks skannige helivoo QR-kood"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Parooli ei saa jagamise ajal muuta. Parooli muutmiseks lülitage esmalt heli jagamine välja."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR-koodi skanner"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Kas vajate abi?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Otsinguseaded"</string>
 </resources>
diff --git a/res/values-eu/arrays.xml b/res/values-eu/arrays.xml
index 45ee9e6..d19aa7f 100644
--- a/res/values-eu/arrays.xml
+++ b/res/values-eu/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Lo egiteko garaia"</item>
-    <item msgid="4152450357280759894">"Gidatzea"</item>
-    <item msgid="7096549258219399423">"Murgiltzailea"</item>
-    <item msgid="2760716776980432977">"Kudeatua"</item>
-    <item msgid="601734478369121764">"Izarra"</item>
-    <item msgid="6243809315432780521">"Egutegia"</item>
-    <item msgid="4913577903148415331">"Ordua"</item>
-    <item msgid="3653377604690057780">"Antzerkia"</item>
-    <item msgid="3843711267408385410">"Lorea"</item>
+    <item msgid="1216815120972438676">"Maletatxoa"</item>
+    <item msgid="184985872234062767">"Eraikin klasikoa"</item>
+    <item msgid="9189550412466785530">"Apartamentu-eraikina"</item>
+    <item msgid="2142527562511049422">"Testu-globoa"</item>
+    <item msgid="2548100558260478605">"Pertsona taldea"</item>
+    <item msgid="2270003903304578284">"Bonbilla"</item>
+    <item msgid="4793496619091161864">"Egutegia"</item>
+    <item msgid="5673625795644364100">"Ez molestatzeko modua"</item>
+    <item msgid="1423820834865831361">"Pertsona bat korrika"</item>
+    <item msgid="2037298830718732608">"Golfa"</item>
+    <item msgid="2197835014443491074">"Gimnasioko pisua"</item>
+    <item msgid="2730180105015616518">"Igeriketa"</item>
+    <item msgid="2666922823253345958">"Pertsona bat mendian"</item>
+    <item msgid="8234880356472211396">"Pertsona bat pilota bat botatzen"</item>
+    <item msgid="4642980625253001443">"Pertsona bat ostiko egiten"</item>
+    <item msgid="4324795269518833500">"Joko-kontrolagailua"</item>
+    <item msgid="7789966425125441125">"Artisten kolore-paleta"</item>
+    <item msgid="663512680597461570">"Elur-maluta"</item>
+    <item msgid="7952183800501346803">"Eguzkitakoa"</item>
+    <item msgid="799139025758265891">"Lantegiko tresnak"</item>
+    <item msgid="1330084588359129896">"Kanpin-denda"</item>
+    <item msgid="3861584909935022342">"Film-bobina"</item>
+    <item msgid="5827426100157335512">"Liburua"</item>
+    <item msgid="8585828346253128384">"Loto-lorea"</item>
+    <item msgid="8788370542815300188">"Pertsona baten burua"</item>
+    <item msgid="7287354964767553293">"Entzungailuak"</item>
+    <item msgid="2530059623783800987">"Telebista"</item>
+    <item msgid="5307182323469376758">"Trena"</item>
+    <item msgid="4903790544026923026">"Autoa"</item>
+    <item msgid="5010405583912314582">"Sardexka eta labana"</item>
+    <item msgid="8939998598599064900">"Erosketa-saskia"</item>
+    <item msgid="3379605903308731893">"Haurra"</item>
+    <item msgid="7808668968550293112">"Animalia-atzaparra"</item>
+    <item msgid="1000692647524056504">"Izar-bereizgarria"</item>
+    <item msgid="8270261073421676502">"2 pertsona"</item>
+    <item msgid="5767782819651505460">"Izarra"</item>
+    <item msgid="4368451291862729334">"Bihotza"</item>
+    <item msgid="2613199102208419986">"Etxea"</item>
+    <item msgid="3022279986430275040">"Ilargierdia"</item>
+    <item msgid="5421089790869483206">"Erlojua"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 0de6b62..9c7724e 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Aldi baterako etenda"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Ezezaguna"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Aurrebista"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR kodea"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Beti"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Entzumen-gailuen ezarpenak"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Lasterbidea eta audifonoekiko bateragarritasuna"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Aurrezarpena"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Zure audiologoak ez du aurrezarpenik programatu"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Ezin izan da eguneratu aurrezarpena"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audio-irteera"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Audio-irteerari buruz"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Aplikazioaren hizkuntza hautatzeko aukera ez dago erabilgarri ezarpenetan."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Baliteke hizkuntza ez egotea aplikazioan erabilgarri, eta aplikazio batzuk ezarpenarekin bateragarriak ez izatea."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Ezarri aplikazio bakoitzaren hizkuntza."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Sistemak, aplikazioek eta webguneek hizkuntza hobetsien zerrendako onartutako lehen hizkuntza erabiltzen dute."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Gailuak, aplikazioak eta webguneek hizkuntza hobetsien zerrendako lehen hizkuntza erabiltzen dute.\n\nAplikazio askok hizkuntza hobetsiaren lurraldea ere erabiliko dute daten, zenbakien eta unitateen formatua erakusteko. Lurraldea aldatzeko, gehitu hizkuntza bat eta aukeratu lurralde hobetsia."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Aplikazio bakoitzerako hizkuntza bat hautatzeko, joan aplikazioen hizkuntzen ezarpenetara."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Lortu aplikazioen hizkuntzei buruzko informazio gehiago"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Sistemaren hizkuntza aldatu nahi duzu, eta %s ezarri?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Desaktibatuta"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Aktibatuta / # aplikaziok kokapena erabiltzeko baimena du}other{Aktibatuta / # aplikaziok kokapena erabiltzeko baimena dute}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Kargatzen…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Aplikazioek inguruko gailuak erabiltzeko baimena badute, konektatutako gailuen posizio erlatiboa zehatz dezakete."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Aplikazioek inguruko gailuak erabiltzeko baimena badute, konektatutako gailuen posizio erlatiboa zehatz dezakete."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Aplikazioek eta zerbitzuek ez dute kokapena atzitzeko baimenik. Hala ere, larrialdietarako zenbaki batera deitzen edo mezu bat bidaltzen baduzu, baliteke larrialdi-zerbitzuei gailuaren kokapena bidaltzea."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Lortu kokapen-ezarpenei buruzko informazio gehiago"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Aldatzeko, joan ChromeOS-en ezarpenak &gt; Pribatutasuna eta segurtasuna &gt; Pribatutasun-ezarpenak &gt; Kokapena erabiltzeko baimena atalera"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Gehitu dira aurpegia eta <xliff:g id="WATCH">%s</xliff:g> erlojua"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Gehitu dira aurpegia, hatz-marka eta <xliff:g id="WATCH">%s</xliff:g> erlojua"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Gehitu dira aurpegia, hatz-markak eta <xliff:g id="WATCH">%s</xliff:g> erlojua"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Identitate-egiaztapena aktibatuta dago eta sistema biometriko bat behar du"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator-en desblokeoa"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Gehitu da erlojua"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Konfiguratu erlojua"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Lortu Erloju bidez desblokeatzea eginbideari buruzko informazio gehiago"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Gehitu erloju bat"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Kendu erlojua"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Hatz-marka eta aurpegi bidez desblokeatzea"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Aurpegi eta hatz-marka bidez desblokeatzea"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Laneko profila aurpegi eta hatz-marka bidez desblokeatzea"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Konfiguratu gabe"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Aurpegia eta hatz-markak gehitu dira"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Eremu pribatua konfiguratzen…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Ezin izan da konfiguratu eremu pribatu bat"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Saiatu berriro"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Irten"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Eremu pribatua ez dago erabilgarri.\nIkusi arrazoi posibleak"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Ikusi arrazoi posibleak"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Eremu pribatua blokeatzeko modua aldatu nahi duzu?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Beste blokeo bat ezar dezakezu, eremu pribaturako soilik balioko duena, edo gailua desblokeatzeko erabiltzen duzun metodo bera erabili"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Erabili pantailaren blokeoa"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Bluetootha aktibatuta dagoenean, inguruan dauden Bluetooth bidezko beste gailu batzuekin komunika daiteke gailua.\n\nGailuaren erabilera hobetzeko, aplikazioek eta zerbitzuek inguruko gailuak bilatzen jarraituko dute Bluetootha desaktibatuta badago ere. Besteak beste, kokapenean oinarritutako eginbideak eta zerbitzuak hobetzeko erabil daiteke aukera hori. Aldatzeko, joan Bluetooth bidezko bilaketaren ezarpenetara."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Bluetootha aktibatuta badago, inguruko Bluetooth bidezko gailuekin komunika daiteke gailua. Quick Share, Bilatu nire gailua eta beste eginbide batzuek Bluetootha erabiltzen dute.\n\nAplikazioek eta zerbitzuek inguruko gailuak bilatzen jarraituko dute Bluetootha desaktibatuta badago ere. Besteak beste, kokapenean oinarritutako eginbideak eta zerbitzuak hobetzeko erabil daiteke aukera hori. Aldatzeko, joan Bluetooth bidezko bilaketaren ezarpenetara."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Aldatu"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Gailuaren xehetasunak"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Teklatuaren ezarpenak"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Ezarpen gehiago"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Firmware-eguneratzeak, \"honi buruz\" eta abar"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Aholkuak eta laguntza"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Gailua Bluetooth bidez konektatzeko helbidea: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Gailua Bluetooth bidez konektatzeko helbidea: \n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Gailua ahaztu nahi duzu?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Esperimentala. Audioaren kalitatea hobetzen du."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Ahaztu gailua"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Deskonektatu aplikazioa"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Ezarpen gehiago"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Gehienez ere konekta daitezkeen Bluetooth bidezko audio-gailuak"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Hautatu gehienez ere konekta daitezkeen Bluetooth bidezko audio-gailuak"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Saltzailearen NFC bidezko arazketa-erregistro xehatua"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Gailua berrabiarazi nahi duzu?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"NFCaren erregistro xehatuak garapen-helburuetarako soilik dira. NFCari buruzko datu gehigarriak daude akatsen txostenetan, eta baliteke haiek informazio pribatua izatea. Ezarpen hori aldatzeko, berrabiarazi gailua."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Berrabiarazi"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Aktibatuta"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Desaktibatuta"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Kanpoko pantaila"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Erabili kanpoko pantaila"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Pantailaren bereizmena"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Kanpoko pantaila deskonektatuta dago"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Biratzea"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Arrunta"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Biratzea edo bereizmena aldatuz gero, baliteke abian den aplikazioren bat gelditzea"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Gailuak kanpoko pantaila batera konektatuta egon behar du zure pantaila islatu ahal izateko"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Aukera gehiago"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Igorpena"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"islatzea"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Gaitu hari gabeko bistaratzea"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Egokituak"</string>
     <string name="brightness" msgid="6216871641021779698">"Distira"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Distira egokitua"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Distira egokituari buruz"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Pantailaren distira automatikoki egokituko da inguruneko argiaren eta egiten ari zarenaren arabera. Eskuz aldatu nahi baduzu distira, mugitu graduatzailea distira egokituak zure hobespenak ikas ditzan."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Aktibatuta"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Desaktibatuta"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"<xliff:g id="CARRIER">%1$s</xliff:g> erabili datu-konexiorako?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"<xliff:g id="CARRIER2_0">%2$s</xliff:g> erabiltzen duzu datu-konexioetarako. <xliff:g id="CARRIER1">%1$s</xliff:g> operadorera aldatuz gero, aurrerantzean ez da erabiliko <xliff:g id="CARRIER2_1">%2$s</xliff:g> datu-konexioetarako."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Erabili <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"SIM hobetsia eguneratu nahi duzu?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> da gailuan daukazun SIM bakarra. SIM hori erabili nahi duzu datu-konexiorako, deiak egiteko eta SMS mezuak bidaltzeko?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> da SIM nagusia orain"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Datu-konexioaren estaldura hobetu?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Eman datu-konexioa erabiltzearren <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> operadorera automatikoki aldatzeko baimena gailuari operadore horrek zerbitzu hobea eskaintzen duenean."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Baliteke erakundea deiak, mezuak eta sareko trafikoa ikusteko gai izatea."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Aukerak"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Erabilerraztasuna"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Teklatu fisikoa"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Erabili pantailako teklatua"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Erakutsi pantailan teklatu fisikoa aktibo dagoen bitartean"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Errebote-teklak"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Teklatuak ez ikusi egiten dio tekla bera <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms igaro baino lehen behin eta berriro sakatzen bada"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Tekla motelak"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Tekla-sakatze bat aktibatzeko denbora doitzen du, <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms-tara"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Tekla itsaskorrak"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Lasterbideetan, sakatu teklak banan-banan, guztiak aldi berean sakatu ordez"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Saguaren teklak"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Erabili teklatu fisikoa sagua kontrolatzeko"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Lasterbideak"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Erakutsi lasterbideen zerrenda"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Laneko profilaren teklatuak eta tresnak"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Pertsonalizatu ukipen-panelaren bidez nabigatzeko banako keinuak"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Gora edo behera alderantziz egitea"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Edukia gora eramaten da behera egitean"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Beheko eskuinaldeko sakatzea"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Aukera gehiago ikusteko, sakatu ukipen-panelaren beheko eskuinaldeko izkina"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Beheko eskuineko izkina sakatzea"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Aukera gehiago ikusteko, sakatu ukipen-panelaren beheko eskuineko izkina"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Erakuslearen abiadura"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Erakusle-betetzearen estiloa"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Aldatu erakusle-betetzearen estiloa beltzera"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Aldatu erakusle-betetzearen estiloa horira"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Aldatu erakusle-betetzearen estiloa arrosara"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Aldatu erakusle-betetzearen estiloa urdinera"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Erakuslearen trazuaren estiloa"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Zuria"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Beltza"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Bat ere ez"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Lortu ukipen-panelean erabiltzeko keinuei buruzko informazioa"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"ukipen-panela, ukipena, panela, sagua, kurtsorea, gora egin, behera egin, hatza pasatu, eskuineko botoiarekin klik egin, klik, klikatu, erakuslea"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"eskuineko botoiarekin klik egin, sakatu"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Berrezarri"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Aukeratu tekla aldatzailea"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Aukeratu <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> teklarako beste tekla bat:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> teklatuaren diseinua"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Lehenetsia"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatikoa: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Erabiltzaileak hautatua: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Hizketa"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Erakuslearen abiadura"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Erakuslearen eskala"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Txikitu erakuslearen eskala"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Handitu erakuslearen eskala"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Bideo-jokoen kontrolagailua"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Birbideratu dardara"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Bidali dardara bideo-jokoen kontrolagailura hura konektatzean"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Egin aurrera, halere"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Utzi"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Luparen ezarpenak"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Hatz batekin mugitzea"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Mugitu lupa hatz batekin"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Arrastatu hatz 1 pantailatik mugitzeko."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Mugitu luparen eremua hatz bat arrastatuta."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Mugitu luparen eremua bi hatz arrastatuta."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Ez dago erabilgarri pantailaren zati bat soilik handitzean"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Zooma aplikatzeko, sakatu botoi bat"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Handitu pantaila bizkor edukia hobeto ikusteko"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Pantaila handitzeko:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Erabili lupa aktibatzeko lasterbidea.&lt;br/&gt; {1,number,integer}. Sakatu pantaila.&lt;br/&gt; {2,number,integer}. Arrastatu bi hatz pantailan zehar mugitzeko.&lt;br/&gt; {3,number,integer}. Atximurkatu pantaila bi hatz erabilita zooma doitzeko.&lt;br/&gt; {4,number,integer}. Erabili lupa desaktibatzeko lasterbidea.&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Pantaila une batez handitzeko:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Ziurtatu lupa mota pantaila oso gisa ezarrita dagoela.&lt;br/&gt; {1,number,integer}. Erabili lupa aktibatzeko lasterbidea.&lt;br/&gt; {2,number,integer}. Eduki sakatuta pantailako edozein puntu.&lt;br/&gt; {3,number,integer}. Arrastatu hatz bat pantailan zehar mugitzeko.&lt;br/&gt; {4,number,integer}. Jaso hatza lupa desaktibatzeko."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Pantaila handitzeko:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Erabili lupa aktibatzeko lasterbidea.&lt;br/&gt; {1,number,integer}. Sakatu pantaila.&lt;br/&gt; {2,number,integer}. Arrastatu 2 hatz pantailan zehar mugitzeko.&lt;br/&gt; {3,number,integer}. Atximurkatu 2 hatz zooma doitzeko.&lt;br/&gt; {4,number,integer}. Erabili lasterbidea luparen eginbidea gelditzeko.&lt;br/&gt;&lt;br/&gt; Gainera, aldi baterako handi dezakezu, besteak beste."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Pantaila handitzeko:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Erabili lupa aktibatzeko lasterbidea.&lt;br/&gt; {1,number,integer}. Sakatu pantaila.&lt;br/&gt; {2,number,integer}. Arrastatu 1 edo 2 hatz pantailan barna mugitzeko.&lt;br/&gt; {3,number,integer}. Atximurkatu 2 hatz zooma doitzeko.&lt;br/&gt; {4,number,integer}. Erabili lasterbidea luparen eginbidea gelditzeko.&lt;br/&gt;&lt;br/&gt; Gainera, aldi baterako handi dezakezu, besteak beste."</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 pantaila bi hatz edo gehiago erabilita 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_pager" msgid="8461939455728454061">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="NUM_PAGES">%2$d</xliff:g> orria"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Erabilerraztasuna botoiaren lasterbidea"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Sakatu botoi gainerakorra"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Erabilerraztasun-keinua"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Sakatu pantailaren behealdeko <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> Erabilerraztasuna botoia. Eginbide batetik bestera aldatzeko, eduki sakatuta Erabilerraztasuna botoia."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Pasatu bi hatz pantailaren behealdetik gora.\n\nEginbide batetik bestera aldatzeko, pasatu bi hatz gorantz eta eduki pantaila sakatuta."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Pasatu hiru hatz pantailaren behealdetik gora.\n\nEginbide batetik bestera aldatzeko, pasatu hiru hatz gorantz eta eduki pantaila sakatuta."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Pasatu hatza pantailaren behealdetik gora. Eginbide batetik bestera aldatzeko, pasatu hatza gorantz eta eduki pantaila sakatuta.}other{Pasatu # hatz pantailaren behealdetik gora. Eginbide batetik bestera aldatzeko, pasatu # hatz gorantz eta eduki pantaila sakatuta.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Aukera gehiago"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Lortu informazio gehiago <xliff:g id="SERVICE">%1$s</xliff:g> funtzioari buruz"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Bolumen-botoiak"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"bolumen-botoiak"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Eduki sakatuta bolumen-botoiak"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Sakatu pantaila birritan 2 hatzekin"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d hatzekin birritan sakatzea"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Sakatu pantaila bizkor 2 aldiz %1$d hatzekin"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"3 aldiz sakatzea"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Sakatu pantaila bizkor %1$d aldiz. Baliteke gailua moteltzea."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d hatzekin birritan sakatzea"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Sakatu bizkor pantaila {0,number,integer} aldiz 2 hatzekin"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Sakatu pantaila hiru aldiz"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"3 aldiz sakatzea"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Sakatu pantaila bizkor {0,number,integer} 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-botoien lasterbidea"</string>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Lasterbidearen ezarpenak"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Pantaila blokeatuko lasterbidea"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Eman pantaila blokeatuko lasterbidearen bidez eginbidea aktibatzeko baimena. Eduki sakatuta bolumen-botoiak segundo batzuez."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Erabilerraztasuna botoia"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Erabilerraztasun-botoia eta -keinua"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Zerbitzu hau ez dabil behar bezala."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Erabilerraztasun-lasterbideak"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Erakutsi Ezarpen bizkorretan"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Gorri-berdea"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Gorri-berdea"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Gorri-berdea, berdea gaizki ikusten da"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Gorri-berdea, gorria gaizki ikusten da"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Urdin-horia"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Grisen eskala"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intentsitatea"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Berdea gaizki ikusten da (deuteranomalia)"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Gorria gaizki ikusten da (protanomalia)"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Ez dago erabilgarri grisen eskalaren moduan edo koloreen zuzenketa desgaituta dagoenean"</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">"Tritanomalia"</string>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Are ilunago"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Ilundu pantaila are gehiago"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Ziana"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Horia"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Gailua guztiz kontrolatzeko baimena eman nahi diozu <xliff:g id="SERVICE">%1$s</xliff:g> zerbitzuari?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> zerbitzuak hauek egin behar ditu:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Aplikazio bat baimen-eskaera oztopatzen ari denez, ezarpenek ezin dute egiaztatu erantzuna."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> zerbitzuak gailu honen kontrol osoa izan nahi du. Zerbitzuak pantaila irakur dezake, eta erabilerraztasun-beharrak dituzten erabiltzaileen ordez jardun. Kontrol-maila hau ez da egokia aplikazio gehienetarako."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Erabilerraztasun-beharrak asetzen dituzten aplikazioetan da egokia kontrol osoa, baina ez aplikazio gehienetan."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Ikusi eta kontrolatu pantaila"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Pantailako eduki guztia irakur dezake, eta beste aplikazioen gainean edukia bistaratu."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Ikusi eta gauzatu ekintzak"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Aplikazioekin edo hardware-sentsoreekin dituzun interakzioen jarraipena egin dezake, eta zure izenean beste aplikazio batzuekin interakzioan jardun."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Baimendu"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Ukatu"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Desaktibatu"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Aktibatuta / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> eta <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Bluetooth bidezko gailuetarako ere aktiba dezakezu Audio espaziala."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Konektatutako gailuen ezarpenak"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Audio espaziala"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Desaktibatuta"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Desaktibatuta"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Desaktibatuta"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Bat ere ez}=1{1 programazio ezarri da}other{# programazio ezarri dira}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Ez molestatzeko modua"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Lehentasunezko moduak"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Gehitu modu bat"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Moduak"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Murriztu distrakzioak eta kontrolatu zure arreta lo egiteko, lanerako, gidatzeko eta abarretarako moduekin."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Sortu zeure modua"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Jaso jende eta aplikazio garrantzitsuen jakinarazpenak soilik"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Ezarri programazio bat"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Honetan oinarritzen da programazioa:"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Eguna eta ordua"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"09:00-17:00, astegunetan\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Egutegiko gertaerak"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} aktibo dago}=2{{mode_1} eta {mode_2} aktibo daude}=3{{mode_1}, {mode_2} eta {mode_3} aktibo daude}other{{mode_1}, {mode_2} eta beste # aktibo daude}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 modu aktiba daiteke automatikoki}other{# modu aktiba daitezke automatikoki}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"AKTIBATUTA"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Ezarri gabe"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Desgaituta"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Sortu modu bat"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Pertsonalizatua"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Aktibatu"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Desaktibatu"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Ez da aurkitu modua"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Mugatu etenaldiak"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Blokeatu etenak eta distrakzioak"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Konfiguratu <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Aktibatu ez molestatzeko modua"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarmek eta multimedia-soinuek eten dezakete"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Programazioak"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Ezabatu programazioak"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Ezabatu"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Aldatu izena"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Ezabatu"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"\"<xliff:g id="MODE">%1$s</xliff:g>\" modua ezabatu nahi duzu?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Editatu"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Programazioak"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Programazioa"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Aktibatu automatikoki"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Gehitu egutegi bat"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Erabili zure egutegia"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Programazioa"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Ezarri programazio bat"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Noiz aktibatu automatikoki"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Gertaeraren programazioa"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Aktibatu gertaera hauetan:"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Erantzuna hau denean:"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Denbora-programazioa"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Programazioa"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h eta <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Programazioa"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Baimendu soinua duten etenaldiak"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Hala eta guztiz ere jasoko dituzun jakinarazpenak"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Ekintza gehiago"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Jakinarazpenen iragazkiak"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Ezarpen gehiago"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Desaktibatuta}=1{Desaktibatuta / 1 modu aktiba daiteke automatikoki}other{Desaktibatuta / # modu aktiba daitezke automatikoki}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Bistaratze-ezarpenak"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Bistaratze-aukerak"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Grisen eskala"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"gaitu gai iluna"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Aldatu sistema eragilearen eta aplikazioen ezarpenak atzeko plano ilun batean testu argia bistaratzea hobesteko. Hala, begiak ez dira horrenbeste behartzen eta bateria nabarmen aurrezten da gailu batzuetan."</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Ez da aldaketarik egin pantailan}=1{{effect_1}}=2{{effect_1} eta {effect_2}}=3{{effect_1}, {effect_2} eta {effect_3}}other{{effect_1}, {effect_2} eta beste #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Baimendu jakinarazpen guztiak"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Pertsonek, aplikazioek eta soinuek eten dezakete"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Iragazitako jakinarazpenen bistaratze-aukerak"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Ez molestatzeko modua aktibatuta dagoenean"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Ez egin soinurik jakinarazpenak jasotzean"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"jakinarazpena ireki"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Eman jakinarazpenak atzeratzeko baimena"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Jakinarazpen-biribiltxoa aplikazioaren ikonoan"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Jakinarazpen multzoak"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Burbuilak"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Burbuilak"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Bistaratu elkarrizketa hau burbuila gisa"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Mezuei erantzun diezaieke, eta jakinarazpenetako botoiak erabili; besteak beste, jakinarazpenak atzeratu edo bazter ditzake, eta deiei erantzun diezaieke."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Ezarpenak aldatu"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Ez molestatzeko modua aktibatu edo desaktiba dezake, eta harekin erlazionatutako ezarpenak aldatu."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Moduak kudeatu eta aktiba ditzake, baita erlazionatutako ezarpenak aldatu ere."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> aplikazioari jakinarazpenak erabiltzeko aukera desaktibatzen badiozu, baliteke ez molestatzeko modurako sarbidea ere desaktibatzea."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> aplikazioari jakinarazpenak erabiltzeko aukera desaktibatzen badiozu, baliteke moduak erabiltzeko aukera ere desaktibatzea."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Desaktibatu"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Utzi"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Denbora errealekoak"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Aplikazio honek ez ditu onartzen ezarpen hobetuak"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Ezarpen gehiago"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Aplikazioaren barruan dituzu ezarpen gehiago"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Jakinarazpen egokituak"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Erabili jakinarazpen egokituak"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Epe labur batean jakinarazpen ugari jasotzen badituzu, telefonoak bolumena jaitsiko du eta pantailako leiho gainerakorrak murriztuko ditu 2 minutuz (gehienez). Deiak, alarmak eta lehentasunezko elkarrizketak beti bezala jakinaraziko zaizkizu (hau da, dagokien dardara edo soinua eginda, edo pantailan agertuta) eta jakinarazpen guztiak erraz aurkituko dituzu hatza pantailaren goialdetik behera pasatuta."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Jakinarazpenen bolumena jaisteko aldia"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Erabili jakinarazpenak arintzeko ezarpena"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Epe labur batean jakinarazpen ugari jasotzen badituzu, gailuak bolumena jaitsiko du eta alertak murriztuko ditu 2 minutuz (gehienez). Ezarpen horrek ez die eragiten deiei, alarmei eta lehentasunezko elkarrizketei. \n\nArintze-aldi horretan jasotako jakinarazpenak ikusteko, pasatu hatza pantailaren goialdetik behera."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Aplikatu laneko profiletan"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Aplikatu laneko profileko aplikazioetan"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Errealitate birtualeko laguntza-zerbitzuak"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Ez molestatzeko modurako sarbidea"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Eman ez molestatzeko modua erabiltzeko baimena"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Ez dago ez molestatzeko modurako sarbidea eskatu duen aplikaziorik"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Moduak erabiltzeko baimena"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Eman moduak erabiltzeko baimena"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Ez dago moduak erabiltzeko baimena eskatu duen aplikaziorik instalatuta"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Ez dituzu baimendu aplikazio honen jakinarazpenak"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Zure eskaerari jarraikiz, jakinarazpen-kategoria hau gailu honetan erakustea galarazten ari da Android"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Zure eskaerari jarraikiz, jakinarazpen talde hau gailu honetan erakustea galarazten ari da Android"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Kategoriak"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Beste batzuk"</string>
     <string name="no_channels" msgid="4716199078612071915">"Aplikazio honek ez du argitaratu jakinarazpenik"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Erakutsi erabili gabeko kategoriak"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Aplikazioaren ezarpen gehiago"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Erakutsi erabili gabeko kategoriak"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Ezkutatu erabili gabeko kategoriak"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Elkarrizketak"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Elkarrizketa guztiak"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"elkarrizketa guztiak"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Lehentasunezko elkarrizketak"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"lehentasunezko elkarrizketak"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Bat ere ez"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Eten dezaketen aplikazioak"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Hautatutako aplikazioak"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Bat ere ez"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Guztiak"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Ez dago eten dezakeen aplikaziorik}=1{{app_1} aplikazioak eten dezake}=2{{app_1} eta {app_2} aplikazioek eten dezakete}=3{{app_1}, {app_2} eta {app_3} aplikazioek eten dezakete}other{{app_1}, {app_2} eta beste # aplikaziok eten dezakete}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (lana)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Kalkulatzen…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Eman \"Ez molestatu\" ez aplikatzeko baimena aplikazioei"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Eten zaitzaketen aplikazioak"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Hautatu aplikazio gehiago"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Ez dago eten dezakeen ezer"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Ez dago eten dezakeen pertsonarik"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Pertsona batzuek eten dezakete"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Deitzaile errepikariek eten dezakete"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Edonork eten dezake"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Berriro deitzen dutenak"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Baimendu berriro deitzen dutenen deiak"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Aldatu alarmak soilik modura ordubetez {time} arte}other{Aldatu alarmak soilik modura # orduz {time} arte}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Aldatu \"Alarmak soilik\" modura <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> arte"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Aldatu \"Eten beti\" modura"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Aldatu izena"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Aldatu ikonoa"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Aldatu ikonoa"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Editatu modua"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Sortu modu bat"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Modu pertsonalizatua"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Moduaren izena"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Egutegiko gertaerak"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Lo egiteko garaiko ohitura"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Gidatu bitartean"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Aplikazioen ezarpenak"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"<xliff:g id="APP_NAME">%1$s</xliff:g> aplikazioan dituzu informazioa eta ezarpenak"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Kudeatzailea: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g> desgaitu nahi duzu?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Modu hau desgaituta badago, ez da inoiz aktibatuko"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Desgaitu"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g> gaitu nahi duzu?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Baliteke modu hau automatikoki aktibatzea ezarpenen arabera"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Gaitu"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Ezarri ordutegi erregular bat daukan modu bat"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Ezarri modu bat egutegiko gertaerekin eta gonbidapenen erantzunekin sinkronizatzeko"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Diseinatu lotarako ohitura lasaigarri bat. Ezarri alarmak, ilundu pantaila eta blokeatu jakinarazpenak."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Lehenetsi segurtasuna errepidean eta gidatu kontzentratuta, distrakziorik gabe"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Blokeatu gailuaren distrakzioak edo etenak, kontzentratuta egoteko"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Desagerrarazi distrakzio guztiak, ingurune isil bat lortzeko"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Pertsonalizatu gailuaren erabilera eta ezarpenak erabiltzaile desberdinentzat"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Eman zurekin harremanetan jartzeko baimena pertsona eta aplikazio garrantzitsuei soilik, etenak gutxitzeko"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Ezarri ordutegi erregular bat daukan modu bat"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Eduki gailua eguneko gertaerekin sinkronizatuta"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Esnatu pilak % 100 kargatuta"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Errepidean, eman lehentasuna segurtasunari"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Lortu kontzentrazio-maila handiagoa"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Adeitasuna garrantzitsua denerako"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Erabilera gidatua, esku onetan zaudela ziurtatzeko"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Kontrolatu zure arreta"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Abisua"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Itxi"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Bidali gailu honi buruzko oharrak"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Aktibatuta egon behar du, jakinarazpenetarako sarbidea aktibatuta dagoelako"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Ez molestatzeko arauetarako sarbidea kendu nahi diozu <xliff:g id="APP">%1$s</xliff:g> aplikazioari?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Kendu egingo dira aplikazioak sortu dituen ez molestatzeko arau guztiak."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Moduak erabiltzeko baimena eman nahi diozu <xliff:g id="APP">%1$s</xliff:g> aplikazioari?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Hauek egiteko gai izango da aplikazioa: ez molestatzeko modua aktibatu eta desaktibatu, moduak kudeatu eta aktibatu, eta erlazionatutako ezarpenetan aldaketak egin."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Kendu egingo dira aplikazio honekin sortutako modu guztiak."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Ez optimizatu"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimizatu"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Baliteke bateria bizkorrago agortzea. Aurrerantzean, atzeko planoan erabili ahalko du aplikazioak bateria."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Kutxa"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Bateria"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Ezarpenen panela"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"Behartu ordenagailuetarako modua erabiltzera"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Behartu ordenagailuetarako modu esperimentala erabiltzera bigarren mailako pantailetan"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"Gaitu estilo libreko leihoak"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Gaitu estilo libreko leihoak bigarren mailako pantailan"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Gaitu tamaina aldagarria ez duten aplikazioak leiho bat baino gehiagoko moduan"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Tamaina aldagarria ez duten aplikazioak leiho bat baino gehiagoko moduan izateko aukera ematen du"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Ez aplikatu gai iluna"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"Datu-konexiorako"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Gailuaren funtzionamendua hobetzeko, aplikazioek eta zerbitzuek wifi-sareak bilatzen jarraituko dute, baita wifi-konexioa desaktibatuta dagoenean ere. Besteak beste, kokapenean oinarritutako eginbideak eta zerbitzuak hobetzeko balio du horrek. Aukera hori aldatzeko, joan wifi-sareak bilatzeko eginbidearen ezarpenetara."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Aldatu"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Konektatuta"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Aldi baterako konektatuta"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Aldi baterako <xliff:g id="SUBNAME">%1$s</xliff:g> erabiltzen"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Erabili aplikazioak ainguratzeko eginbidea"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Erabili garatzaileentzako aukerak"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Erabili inprimatze-zerbitzua"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Baimendu erabiltzaile bat baino gehiago"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Eman erabiltzailea aldatzeko baimena"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"eman, baimena, onartu, hainbat, erabiltzaile, bat, baino, gehiago"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"hainbat, erabiltzaile, profil, pertsona, kontu, aldatu, asko"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Erabili hari gabeko arazketa"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"Telefonora konektatu nahian dabil <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>.\n\nEz zara inoiz konektatu <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> gailura."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Ez konektatu"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Konektatu"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE ezarpenak"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Aktibatuta"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Desaktibatuta"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Berrezarri ezarpen lehenetsiak"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Ezarpen lehenetsiak berrezarri dira."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Gehieneko oreka asea"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Saldoak"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Kontsumo-mugak"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Hasierako kontsumo-muga"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Gutxieneko kontsumo-muga"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Gehieneko kontsumo-muga"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Aldatzaileak"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Ekintzak (gauzatzeko kostua)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Ekintzak (oinarrizko prezioa)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Gertaera bakoitzeko sariak"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Gertaerak irauten duen segundo bakoitzeko sariak"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Gehieneko sariak eguneko"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Aplikazioaren instalazioa"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Jarduera nagusia"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Jakinarazpen bat ikusi da"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"15 minutuko tartean ikusi da jakinarazpen bat"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Jakinarazpenarekiko interakzioa"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Widgetarekiko interakzioa"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Erabiltzailearen beste interakzio bat"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Lehentasun handieneko lanaren hasiera"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Lehentasun handieneko lana abian"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Lehentasun handiko lanaren hasiera"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Lehentasun handiko lana abian"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Lan lehenetsiaren hasiera"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Lan lehenetsia abian"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Lehentasun txikiko lanaren hasiera"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Lehentasun txikiko lana abian"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Lehentasun txikieneko lanaren hasiera"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Lehentasun txikieneko lana abian"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Lanaren denbora-muga gainditzeagatiko zigorra"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Gutxieneko saldoa bateria guztiz kargatuta dagoenean (salbuetsita)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Gutxieneko saldoa bateria guztiz kargatuta dagoenean (erabiltzaileak erabili ezin duen sistema-aplikazioa)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Gutxieneko saldoa bateria guztiz kargatuta dagoenean (gainerako aplikazioak)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Gutxieneko saldoa bateria guztiz kargatuta dagoenean (aplikazio-eguneratzaileak)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Kargatzen"</item>
-    <item msgid="658627268149681677">"Kuluxka"</item>
-    <item msgid="1599558140284643834">"Bateria aurrezteko modua"</item>
-    <item msgid="588427840913221601">"Prozesuaren egoera"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Berretsi"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Aurreikusi"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Aukeratu pantaila-babesle bat"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Erakutsi informazio gehiago"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Aukeratu zer ikusiko den pantailan tableta oinarrian dagoenean. Baliteke gailuak energia gehiago erabiltzea pantaila-babeslea erabiltzen denean."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Pertsonalizatu"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Pertsonalizatu <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Estilo librerako bateragarritasuna gaitzeko, gailua berrabiarazi egin behar da."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Mahaigaineko modua bigarren mailako pantailetan erabiltzera behartzeko, gailua berrabiarazi egin behar da."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Estilo libreko leihoak onartzeko aukera gaitzeko, gailua berrabiarazi egin behar da."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Estilo libreko leihoak erabiltzeko aukera eguneratzeko, gailua berrabiarazi egin behar da."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Bigarren mailako pantailan estilo libreko leihoak gaitzeko, gailua berrabiarazi egin behar da."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Berrabiarazi"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Berrabiarazi geroago"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Audio espaziala"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Arrosa"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Bioleta"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Eginda"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Gorde"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Utzi"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Lehenetsia"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Tartekoa"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Aktibatuta"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Desaktibatuta"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Aktibatuta"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Audioa: ehuneko %1$d ezkerrean; ehuneko %2$d eskuinean"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Audioa: ehuneko %1$d eskuinean; ehuneko %2$d ezkerrean"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Instalatu dituzun aplikazioek gailuaren izena ikus dezakete. Baliteke jendeak ere ikustea Bluetooth bidezko gailuetara edo wifi-sare batera konektatzean, edo wifi-gune bat konfiguratzean."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Genero gramatikala"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Hautatu genero gramatikala"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Audioa partekatzeari utzi zaio"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Konektatu gailu bateragarri bat"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Audioa partekatzen hasteko, konektatu kontsumo txikiko audioko entzungailuak telefonora"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Erabili <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Konektatu kontsumo txikiko zuzeneko audio-igorpen batera"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Inguruko zuzeneko audio-igorpenak"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Zuzeneko audio-igorpenak"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Entzun zuzeneko igorpena"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> gailuarekin entzuteko, eskaneatu zuzeneko audio-igorpen baten QR kodea"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Ezin da editatu pasahitza audioa partekatu bitartean. Pasahitza aldatzeko, desaktibatu audioa partekatzeko eginbidea."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR kodeen eskanerra"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Laguntza behar duzu?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Bilatu ezarpenetan"</string>
 </resources>
diff --git a/res/values-fa/arrays.xml b/res/values-fa/arrays.xml
index 3ea9739..aa67b97 100644
--- a/res/values-fa/arrays.xml
+++ b/res/values-fa/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"وقت خواب"</item>
-    <item msgid="4152450357280759894">"رانندگی"</item>
-    <item msgid="7096549258219399423">"فراگیر"</item>
-    <item msgid="2760716776980432977">"مدیریت‌شده"</item>
-    <item msgid="601734478369121764">"ستاره"</item>
-    <item msgid="6243809315432780521">"تقویم"</item>
-    <item msgid="4913577903148415331">"زمان"</item>
-    <item msgid="3653377604690057780">"تئاتر"</item>
-    <item msgid="3843711267408385410">"گل"</item>
+    <item msgid="1216815120972438676">"کیف اداری"</item>
+    <item msgid="184985872234062767">"ساختمان کلاسيک"</item>
+    <item msgid="9189550412466785530">"آپارتمان"</item>
+    <item msgid="2142527562511049422">"حباب گفتگو"</item>
+    <item msgid="2548100558260478605">"گروهی از افراد"</item>
+    <item msgid="2270003903304578284">"لامپ حبابی"</item>
+    <item msgid="4793496619091161864">"تقویم"</item>
+    <item msgid="5673625795644364100">"مزاحم نشوید"</item>
+    <item msgid="1423820834865831361">"فردی درحال دویدن"</item>
+    <item msgid="2037298830718732608">"گلف"</item>
+    <item msgid="2197835014443491074">"دمبل باشگاهی"</item>
+    <item msgid="2730180105015616518">"شنا"</item>
+    <item msgid="2666922823253345958">"فردی درحال پیاده‌گردی"</item>
+    <item msgid="8234880356472211396">"فردی درحال توپ انداختن"</item>
+    <item msgid="4642980625253001443">"فردی درحال لگد زدن"</item>
+    <item msgid="4324795269518833500">"کنترل بازی"</item>
+    <item msgid="7789966425125441125">"پالت رنگ هنرمند"</item>
+    <item msgid="663512680597461570">"دانه برف"</item>
+    <item msgid="7952183800501346803">"چتر ساحلی"</item>
+    <item msgid="799139025758265891">"ابزارهای کارگاه"</item>
+    <item msgid="1330084588359129896">"چادر"</item>
+    <item msgid="3861584909935022342">"حلقه فیلم"</item>
+    <item msgid="5827426100157335512">"کتاب"</item>
+    <item msgid="8585828346253128384">"گل نیلوفر آبی"</item>
+    <item msgid="8788370542815300188">"ذهن فرد"</item>
+    <item msgid="7287354964767553293">"هدفون"</item>
+    <item msgid="2530059623783800987">"تلویزیون"</item>
+    <item msgid="5307182323469376758">"قطار"</item>
+    <item msgid="4903790544026923026">"خودرو"</item>
+    <item msgid="5010405583912314582">"کارد و چنگال"</item>
+    <item msgid="8939998598599064900">"سبد خرید"</item>
+    <item msgid="3379605903308731893">"کودک"</item>
+    <item msgid="7808668968550293112">"پنجه حیوان"</item>
+    <item msgid="1000692647524056504">"نشان ستاره"</item>
+    <item msgid="8270261073421676502">"دو شخص"</item>
+    <item msgid="5767782819651505460">"ستاره"</item>
+    <item msgid="4368451291862729334">"قلب"</item>
+    <item msgid="2613199102208419986">"خانه"</item>
+    <item msgid="3022279986430275040">"ماه نیمه"</item>
+    <item msgid="5421089790869483206">"ساعت"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 40fdd17..b4a74b5 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"معلق"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"نامشخص"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"پیش‌نمایش"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"رمزینه پاسخ‌سریع"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"کوچک‌تر کردن"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"بزرگ‌تر کردن"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"همیشه"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"تنظیمات دستگاه سمعک"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"میان‌بر، سازگاری با سمعک"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"پیش‌تنظیم"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"متخصص شنوایی‌سنجی شما هیچ پیش‌تنظیمی برنامه‌ریزی نکرده است"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"پیش‌تنظیم به‌روزرسانی نشد"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"خروجی صوتی"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"درباره خروجی صوتی"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"انتخاب زبان از «تنظیمات» برای این برنامه دردسترس نیست."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"زبان ممکن است با زبان‌های موجود در برنامه متفاوت باشد. ممکن است برخی‌از برنامه‌ها از این تنظیم پشتیبانی نکنند."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"زبان هر برنامه را تنظیم کنید."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"سیستم، برنامه‌ها، و وب‌سایت‌های شما از اولین زبان پشتیبانی‌شده ازمیان زبان‌های ترجیحی استفاده می‌کنند."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"دستگاه، برنامه‌ها، و وب‌سایت‌ها از اولین زبان پشتیبانی‌شده در فهرست زبان‌های ترجیحی‌تان استفاده می‌کنند.\n\nبسیاری از برنامه‌ها از منطقه مربوط به زبان ترجیحی‌تان نیز برای قالب‌بندی تاریخ‌ها، اعداد، و واحدها استفاده خواهند کرد. برای تغییر منطقه‌تان، زبانی اضافه کنید، سپس منطقه ترجیحی‌تان را انتخاب کنید."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"برای انتخاب زبان هر برنامه، به تنظیمات زبان برنامه بروید."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"درباره زبان‌های برنامه بیشتر بدانید"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"‏زبان سیستم به %s تغییر کند؟"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"خاموش"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{روشن / # برنامه به مکان دسترسی دارد}one{روشن / # برنامه به مکان دسترسی دارد}other{روشن / # برنامه به مکان دسترسی دارند}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"درحال بارگیری…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"برنامه‌هایی که اجازه «دستگاه‌های اطراف» را دارند می‌توانند موقعیت نسبی دستگاه‌های متصل را مشخص کنند."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"برنامه‌هایی که اجازه دستگاه‌های اطراف را دارند می‌توانند موقعیت نسبی دستگاه‌های متصل را تشخیص دهند."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"دسترسی به مکان برای برنامه‌ها و سرویس‌ها خاموش است. وقتی با شماره تلفن اضطراری تماس می‌گیرید یا به آن پیامک ارسال می‌کنید، ممکن است مکان دستگاهتان همچنان برای مسئولان خدمات اضطراری ارسال شود."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"درباره «تنظیمات مکان» بیشتر بدانید"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"‏برای تغییر، به «تنظیمات ChromeOS ‏&lt; حریم خصوصی و امنیت &lt; تنظیمات حریم خصوصی &lt; دسترسی مکان» بروید"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"چهره و <xliff:g id="WATCH">%s</xliff:g> اضافه شد"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"چهره، اثر انگشت، و <xliff:g id="WATCH">%s</xliff:g> اضافه شد"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"چهره، اثر انگشت، و <xliff:g id="WATCH">%s</xliff:g> اضافه شد"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"«بررسی هویت» روشن است و به زیست‌سنجشی نیاز دارد"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"قفل‌گشایی برنامه اصالت‌سنجی از دور"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"ساعت اضافه شد"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"راه‌اندازی ساعت"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"درباره «قفل‌گشایی با ساعت» بیشتر بدانید"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"افزودن ساعت"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"برداشتن ساعت"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"قفل‌گشایی با اثر انگشت و چهره"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"قفل‌گشایی با چهره و اثر انگشت"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"«قفل‌گشایی با اثر انگشت و چهره» برای نمایه کاری"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"راه‌اندازی لازم است"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"چهره و چند اثر انگشت اضافه شده است"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"درحال راه‌اندازی فضای خصوصی…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"فضای خصوصی راه‌اندازی نشد"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"امتحان مجدد"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"خروج"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"«فضای خصوصی» دردسترس نیست.\nدلایل احتمالی را مشاهده کنید"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"مشاهده دلایل احتمالی"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"می‌خواهید قفل جدیدی برای فضای خصوصی انتخاب کنید؟"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"می‌توانید قفل جدیدی را فقط برای فضای خصوصی تنظیم کنید یا از همان قفلی که برای باز کردن قفل دستگاهتان استفاده می‌شود استفاده کنید"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"استفاده از قفل صفحه"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"وقتی بلوتوث روشن است، دستگاهتان می‌تواند با دیگر دستگاه‌های بلوتوث اطراف ارتباط برقرار کند.\n\nبرای بهبود تجربه استفاده از دستگاه، برنامه‌ها و سرویس‌ها همچنان می‌توانند در هرزمانی دستگاه‌های اطراف را اسکن کنند، حتی وقتی بلوتوث خاموش باشد. برای مثال، از این ویژگی می‌توان برای بهبود ویژگی‌ها و سرویس‌های مکان‌مبنا استفاده کرد. می‌توانید این ویژگی را در تنظیمات اسکن دستگاه‌های بلوتوث تغییر دهید."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"وقتی بلوتوث روشن باشد، دستگاهتان می‌تواند با دیگر دستگاه‌های بلوتوث اطراف ارتباط داشته باشد. ویژگی‌هایی مانند «هم‌رسانی سریع» و «پیدا کردن دستگاهم» از بلوتوث استفاده می‌کنند.\n\nبرنامه‌ها و سرویس‌ها همچنان می‌توانند دستگاه‌های اطراف را درهر زمانی اسکن کنند، حتی وقتی بلوتوث خاموش باشد. برای مثال از این تنظیم می‌توان برای بهبود ویژگی‌ها و سرویس‌های مکان‌محور استفاده کرد. می‌توانید این تنظیم را در تنظیمات اسکن دستگاه‌های بلوتوث تغییر دهید."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"تغییر"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"‫<xliff:g id="DEVICE_NAME">%1$s</xliff:g> متصل نیست"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"برای محافظت از امنیتتان، فراموش کردن دستگاه را انتخاب کنید، سپس دوباره آن را جفت کنید"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"فراموش کردن دستگاه"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"لغو کردن"</string>
     <string name="device_details_title" msgid="1155622417516195481">"جزئیات دستگاه"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"تنظیمات صفحه‌کلید"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"تنظیمات بیشتر"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"به‌روزرسانی‌های سفت‌افزار، درباره، و موارد دیگر"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"نکته‌ها و پشتیبانی"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"نشانی بلوتوث دستگاه: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"نشانی بلوتوث دستگاه:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"دستگاه فراموش شود؟"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"آزمایشی. کیفیت صدا را بهبود می‌بخشد."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"فراموش کردن دستگاه"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"قطع ارتباط برنامه"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"تنظیمات بیشتر"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"حداکثر تعداد دستگاه‌های صوتی بلوتوث متصل"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"حداکثر تعداد دستگاه‌های صوتی بلوتوث متصل را انتخاب کنید"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"‏گزارش مفصل اشکال‌زدایی فروشنده NFC"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"دستگاه بازراه‌اندازی شود؟"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"‏گزارش‌گیری NFC دقیق فقط برای اهداف توسعه درنظر گرفته شده است. داده‌های NFC تکمیلی در گزارش‌های اشکال لحاظ می‌شود که ممکن است حاوی اطلاعات خصوصی باشد. برای تغییر این تنظیم، دستگاهتان را بازراه‌اندازی کنید."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"بازراه‌اندازی"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"روشن"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"خاموش"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"نمایشگر خارجی"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"استفاده از نمایشگر خارجی"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"وضوح صفحه‌نمایش"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"نمایشگر خارجی قطع شده است"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"چرخش"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"استاندارد"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"‎۹۰°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"‎۱۸۰°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"‎۲۷۰°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"تغییر چرخش یا وضوح ممکن است باعث شود برنامه‌هایی که اکنون درحال اجرا هستند متوقف شوند"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"برای قرینه‌سازی صفحه‌نمایش، دستگاهتان باید به یک نمایشگر خارجی متصل باشد"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"گزینه‌های بیشتر"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"پخش محتوا"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"قرینه‌سازی"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"فعال کردن نمایش بی‌سیم"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"تطبیقی"</string>
     <string name="brightness" msgid="6216871641021779698">"سطح روشنایی"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"روشنایی تطبیقی"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"درباره «روشنایی تطبیقی»"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"روشنایی صفحه‌نمایش به‌طور خودکار با محیط و فعالیت‌هایتان تنظیم می‌شود. می‌توانید لغزاننده را به‌طور دستی حرکت دهید تا روشنایی تطبیقی ترجیح شما را دریابد."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"روشن"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"خاموش"</string>
@@ -1311,8 +1340,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="8850185380445309835">"سیم‌کارت ترجیحی به‌روز شود؟"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> تنها سیم‌کارت در دستگاه شما است. می‌خواهید از این سیم‌کارت برای داده شبکه تلفن همراه، تماس تلفنی و پیامک استفاده کنید؟"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"اکنون <xliff:g id="NEW_SIM">%1$s</xliff:g> سیم‌کارت اصلی شما است"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"پوشش داده تلفن همراه بهتر شود؟"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"به دستگاهتان اجازه دهید وقتی <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> دسترس‌پذیری بهتری دارد، به‌طور خودكار از آن برای داده تلفن همراه استفاده کند."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"ممکن است سازمانتان بتواند تماس‌ها، پیام‌ها، و ترافیک شبکه را ببیند."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"گزینه‌ها"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"دسترس‌پذیری"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"صفحه‌کلید فیزیکی"</string>
-    <string name="show_ime" msgid="4334255501724746849">"استفاده از صفحه‌کلید مجازی"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"وقتی صفحه‌کلید فیزیکی فعال است این ویرایشگر را روی صفحه نگه‌می‌دارد"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"کلیدهای واگشت"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"صفحه‌کلید فشردن‌های تکراری و سریع یک کلید در <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> میلی‌ثانیه را نادیده می‌گیرد"</string>
     <string name="slow_keys" msgid="2891452895499690837">"کلیدهای آهسته"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"فاصله زمانی بین فشردن کلید و فعال‌سازی آن را روی <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> میلی‌ثانیه تنظیم می‌کند"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"کلیدهای چسبان"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"به‌جای اینکه چند کلید را به‌طور هم‌زمان پایین نگه دارید، هربار یک کلید را برای میان‌برها فشار دهید"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"کلیدهای موشواره"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"برای کنترل موشواره، از صفحه‌کلید فیزیکی استفاده کنید."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"میان‌برهای صفحه‌کلید"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"نمایش فهرست میان‌برها"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"نمایه کاری صفحه‌کلیدها و ابزارها"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"سفارشی کردن هر یک از اشاره‌های پیمایش صفحه لمسی"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"پیمایش معکوس"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"وقتی به‌پایین پیمایش کنید، محتوا به‌بالا حرکت می‌کند"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"ضربه به راست پایین"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"برای گزینه‌های بیشتر، روی پایین گوشه چپ صفحه لمسی تک‌ضرب بزنید"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"کلیک پایین راست"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"برای گزینه‌های بیشتر، روی پایین گوشه راست صفحه لمسی کلیک کنید"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"سرعت اشاره‌گر"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"سبک رنگ نشانگر"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"تغییر سبک رنگ نشانگر به سیاه"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"تغییر سبک رنگ نشانگر به زرد"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"تغییر سبک رنگ نشانگر به صورتی"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"تغییر سبک رنگ نشانگر به آبی"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"سبک ضربه اشاره‌گر"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"سفید"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"سیاه"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"هیچ‌کدام"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"آشنایی با اشاره‌های صفحه لمسی"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"پد لمسی، پدلمسی، موشواره، مکان‌نما، پیمایش، تند کشیدن، کلیک راست، کلیک، اشاره‌گر"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"کلیک راست، ضربه زدن"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"بازنشانی"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"کلید توصیف‌گر را انتخاب کنید"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"کلید جدیدی برای <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> انتخاب کنید:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"دسترس‌پذیری صفحه‌کلید فیزیکی"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"کلیدهای چسبان، کلیدهای کمانه‌ای، کلیدهای موشواره"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"چیدمان <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"پیش‌فرض"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"خودکار: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"انتخاب کاربر: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"گفتار"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"سرعت اشاره‌گر"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"مقیاس اشاره‌گر"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"کاهش مقیاس اشاره‌گر"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"افزایش مقیاس اشاره‌گر"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"دسته کنترل بازی"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"تغییر مسیر لرزش"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"وقتی متصل شد، لرزش به دسته کنترل بازی ارسال شود"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"درهرصورت ادامه داده شود"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"لغو"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"تنظیمات درشت‌‌نمایی"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"حرکت افقی با یک انگشت"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"ذره‌بین را با ۱ انگشت جابه‌جا کنید"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"برای حرکت در صفحه، ۱ انگشت را بکشید"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"با کشیدن یک انگشت، درشت‌نمایی را جابه‌جا کنید."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"با کشیدن دو انگشت، درشت‌نمایی را جابه‌جا کنید."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"وقتی فقط بخشی از صفحه درشت‌نمایی می‌شود دردسترس نیست"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"برای بزرگ‌نمایی، روی دکمه‌ای تک‌ضرب بزنید"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"به‌سرعت صفحه را بزرگ کنید تا محتوا درشت‌تر نمایش داده شود"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"‏&lt;b&gt;برای زوم‌پیش کردن:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. برای فعال کردن درشت‌نمایی، از میان‌بر استفاده کنید&lt;br/&gt; {1,number,integer}. روی صفحه تک‌ضرب بزنید&lt;br/&gt; {2,number,integer}. برای حرکت کردن در صفحه، ۲ انگشت را بکشید&lt;br/&gt; {3,number,integer}. برای تنظیم کردن زوم، ۲ انگشت را ازهم دور یا به‌هم نزدیک کنید&lt;br/&gt; {4,number,integer}. برای توقف درشت‌نمایی از میان‌براستفاده کنید&lt;br/&gt;&lt;br/&gt; &lt;b&gt;برای زوم‌پیش موقت:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. مطمئن شوید نوع درشت‌نمایی روی تمام‌صفحه تنظیم شده باشد&lt;br/&gt; {1,number,integer}. برای فعال کردن درشت‌نمایی، از میان‌بر استفاده کنید&lt;br/&gt; {2,number,integer}. جایی از صفحه را لمس کنید و نگه دارید&lt;br/&gt; {3,number,integer}. برای حرکت کردن در صفحه، انگشت را بکشید&lt;br/&gt; {4,number,integer}. برای متوقف کردن درشت‌نمایی، انگشتتان را بردارید"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"‏&lt;b&gt;برای زوم‌پیش کردن:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. برای فعال کردن درشت‌نمایی، از میان‌بر استفاده کنید&lt;br/&gt; {1,number,integer}. روی صفحه تک‌ضرب بزنید&lt;br/&gt; {2,number,integer}. برای حرکت کردن در صفحه، ۲ انگشت را بکشید&lt;br/&gt; {3,number,integer}. برای تنظیم بزرگ‌نمایی، ۲ انگشت را ازهم دور یا به‌هم نزدیک کنید&lt;br/&gt; {4,number,integer}. از میان‌بر برای متوقف کردن درشت‌نمایی استفاده کنید&lt;br/&gt;&lt;br/&gt; همچنین می‌توانید موقتاً زوم‌پیش کنید و کارهای دیگری انجام دهید."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"‏&lt;b&gt;برای زوم‌پیش کردن:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. برای فعال کردن درشت‌نمایی، از میان‌بر استفاده کنید&lt;br/&gt; {1,number,integer}. روی صفحه تک‌ضرب بزنید&lt;br/&gt; {2,number,integer}. برای حرکت کردن در صفحه، ۱ یا ۲ انگشت را بکشید&lt;br/&gt; {3,number,integer}. برای تنظیم بزرگ‌نمایی، ۲ انگشت را ازهم دور یا به‌هم نزدیک کنید&lt;br/&gt; {4,number,integer}. از میان‌بر برای متوقف کردن درشت‌نمایی استفاده کنید&lt;br/&gt;&lt;br/&gt; همچنین می‌توانید موقتاً زوم‌پیش کنید و کارهای دیگری انجام دهید."</string>
     <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"با روشن کردن درشت‌نمایی، می‌توانید روی صفحه زوم‌پیش کنید.\n\n"<b>"برای زوم کردن"</b>"، درشت‌نمایی را روشن کنید و روی جایی از صفحه تک‌ضرب بزنید.\n"<ul><li>"برای پیمایش، دو یا چند انگشتتان را روی صفحه بکشید "</li>\n<li>"برای تنظیم کردن زوم، دو یا چند انگشتتان را به‌هم نزدیک کنید"</li></ul>\n\n<b>"برای زوم موقت"</b>"، درشت‌نمایی را روشن کنید، سپس جایی از صفحه را لمس کنید و نگه‌دارید.\n"<ul><li>"برای حرکت در صفحه، انگشتتان را روی صفحه بکشید"</li>\n<li>"برای زوم‌پس کردن، انگشتتان را بردارید"</li></ul>\n\n"نمی‌توانید صفحه‌کلید یا نوار پیمایش را کوچک کنید."</string>
     <string name="accessibility_tutorial_pager" msgid="8461939455728454061">"صفحه <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> از <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"میان‌بر دکمه دسترس‌پذیری"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"روی دکمه شناور تک‌ضرب بزنید"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"اشاره دسترس‌پذیری"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"روی دکمه دسترس‌پذیری <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> در پایین صفحه‌نمایش تک‌ضرب بزنید. برای جابه‌جایی بین ویژگی‌ها، دکمه دسترس‌پذیری را لمس کنید و نگه دارید."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"با ۲ انگشت، از پایین صفحه تند به‌بالا بکشید.\n\nبرای جابه‌جایی بین ویژگی‌ها، با ۲ انگشت تند به‌بالا بکشید و نگه دارید."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"با ۳ انگشت، از پایین صفحه تند به‌بالا بکشید.\n\nبرای جابه‌جایی بین ویژگی‌ها، با ۳ انگشت تند به‌بالا بکشید و نگه دارید."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{از پایین صفحه‌نمایش تند به‌بالا بکشید. برای جابه‌جایی بین ویژگی‌ها، تند به‌بالا بکشید و نگه دارید.}one{از پایین صفحه‌نمایش با # انگشت تند به‌بالا بکشید. برای جابه‌جایی بین ویژگی‌ها، با # انگشت تند به‌بالا بکشید و نگه دارید.}other{از پایین صفحه‌نمایش با # انگشت تند به‌بالا بکشید. برای جابه‌جایی بین ویژگی‌ها، با # انگشت تند به‌بالا بکشید و نگه دارید.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"گزینه‌های بیشتر"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"درباره <xliff:g id="SERVICE">%1$s</xliff:g> بیشتر بدانید"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"کلیدهای میزان صدا"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"کلیدهای میزان صدا"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"هردو کلید میزان صدا را فشار دهید و نگه دارید"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"با دو انگشت دوضربه روی صفحه‌نمایش بزنید"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"‏دوضربه %1$d انگشتی"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"‏سریع با %1$d انگشت دوبار روی صفحه‌نمایش تک‌ضرب بزنید"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"سه‌ضربه"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"‏سریع %1$d بار روی صفحه‌نمایش تک‌ضرب بزنید. این کار ممکن است سرعت دستگاه را کاهش دهد."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"‏دوضربه %1$d انگشتی"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"‏با دو انگشت {0,number,integer} بار به‌سرعت روی صفحه تک‌ضرب بزنید"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"روی صفحه‌نمایش سه ضربه سریع بزنید"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"سه‌ضربه"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"‏سریع روی صفحه‌نمایش {0,number,integer} بار تک‌ضرب بزنید. ممکن است این میان‌بر سرعت دستگاه را کاهش دهد"</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_global_gesture_preference_title" msgid="8866765674372344850">"میان‌بر کلیدهای میزان صدا"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"تنظیمات میان‌بر"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"میان‌بر از صفحه قفل"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"میان‌بر کلیدهای میزان صدا از صفحه قفل"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"اجازه دهید میان‌بر ویژگی از صفحه قفل روشن شود. هر دو کلید میزان صدا را چند ثانیه نگه دارید."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"دکمه دسترس‌پذیری"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"دکمه دسترس‌پذیری و اشاره"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"این سرویس درست کار نمی‌کند."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"میان‌برهای دسترس‌پذیری"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"نمایش در تنظیمات سریع"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"قرمز-سبز"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"قرمز-سبز"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"قرمز-سبز، کوررنگی نسبی برای سبز"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"قرمز-سبز، کوررنگی نسبی برای قرمز"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"آبی-زرد"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"سیاه‌وسفید"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"شدت"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"ضعف در دیدن رنگ سبز، سبزدشواربینی"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"ضعف در دیدن رنگ سرخ، سرخ‌دشواربینی"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"برای حالت سیاه‌وسفید یا زمانی که تصحیح رنگ غیرفعال است دردسترس نیست"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"بسیار کم‌نور"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"بسیار کم‌نور کردن صفحه‌نمایش"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"سبز آبی"</string>
     <string name="color_yellow" msgid="5957551912912679058">"زرد"</string>
     <string name="color_magenta" msgid="8943538189219528423">"سرخابی"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"به <xliff:g id="SERVICE">%1$s</xliff:g> اجازه می‌دهید بر دستگاهتان کنترل کامل داشته باشد؟"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> باید:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"چون برنامه‌ای در حال ایجاد تداخل در درخواست اجازه است، «تنظیمات» نمی‌تواند پاسخ شما را تأیید کند."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> کنترل کامل بر این دستگاه را درخواست می‌کند. این سرویس می‌تواند صفحه را بخواند و ازطرف افرادی که مشکل دسترسی دارند، عمل کند. این سطح کنترل برای اکثر برنامه‌ها مناسب نیست."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"کنترل کامل برای برنامه‌هایی که به شما در زمینه نیازهای دسترس‌پذیری کمک می‌کند مناسب است، نه برای همه برنامه‌ها."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"مشاهده و کنترل صفحه"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"می‌تواند همه محتوای صفحه را بخواند و آن را روی بقیه برنامه‌ها نمایش دهد."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"مشاهده و انجام کنش‌ها"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"این عملکرد می‌تواند با برنامه یا حسگری سخت‌افزاری تعاملاتتان را ردیابی کند و ازطرف شما با برنامه‌ها تعامل داشته باشد."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"اجازه دادن"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"مجاز نبودن"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"خاموش شود"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"روشن / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> و <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"«صدای فضایی» را می‌توانید برای دستگاه‌های بلوتوث هم روشن کنید."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"تنظیمات دستگاه‌های متصل"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"صدای فضایی"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"خاموش"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"خاموش"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"خاموش"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{هیچ‌کدام}=1{۱ زمان‌بندی تنظیم شد}one{# زمان‌بندی تنظیم شده است}other{# زمان‌بندی تنظیم شده است}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"مزاحم نشوید"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"حالت‌های اولویت‌دار"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"افزودن حالت"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"حالت‌ها"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"عوامل حواس‌پرتی را به‌حداقل برسانید و با حالت‌های خواب، کار، رانندگی، و فعالیت‌های دیگر، بر تمرکز خود مسلط شوید"</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"حالت خودتان را بسازید"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"فقط از افراد و برنامه‌های مهم اعلان دریافت کنید"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"تنظیم زمان‌بندی"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"زمان‌بندی کردن براساس"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"روز و ساعت"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"«۹ صبح تا ۵ عصر روزهای هفته»"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"رویدادهای تقویم"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{‫{mode_1} فعال است}=2{‫{mode_1} و {mode_2} فعال هستند}=3{‫{mode_1}، {mode_2}، و {mode_3} فعال هستند}one{‫{mode_1}، {mode_2}، و # حالت دیگر فعال هستند}other{‫{mode_1}، {mode_2}، و # حالت دیگر فعال هستند}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{‫۱ حالت می‌تواند به‌طور خودکار روشن شود}one{‫# حالت می‌تواند به‌طور خودکار روشن شود}other{‫# حالت می‌تواند به‌طور خودکار روشن شود}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"روشن"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"تنظیم نشده است"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"غیرفعال شده"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"ایجاد حالت"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"سفارشی"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"اکنون روشن شود"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"خاموش کردن"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"حالت پیدا نشد"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"محدود کردن وقفه‌ها"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"وقفه‌ها و حواس‌پرتی‌ها را مسدود کنید"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"راه‌اندازی <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"روشن کردن «مزاحم نشوید»"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"صداهای رسانه و هشدارها می‌توانند وقفه ایجاد کنند"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"زمان‌بندی‌ها"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"حذف زمان‌بندی‌ها"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"حذف"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"تغییر نام"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"حذف"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"حالت «<xliff:g id="MODE">%1$s</xliff:g>» حذف شود؟"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"ویرایش"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"زمان‌بندی‌ها"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"زمان‌بندی"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"روشن شدن خودکار"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"افزودن تقویم"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"استفاده از تقویم"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"زمان‌بندی"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"تنظیم زمان‌بندی"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"زمان روشن شدن خودکار"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"زمان‌بندی کردن رویداد"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"روشن شدن درطول رویدادهای"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"مکان پاسخ به دعوت"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"زمان‌بندی ساعت‌محور"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"زمان‌بندی"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ساعت، <xliff:g id="MINUTES">%2$d</xliff:g> دقیقه"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"زمان‌بندی"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"مجاز کردن وقفه‌هایی که صدا ایجاد می‌کنند"</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="mode_interruption_filter_title" msgid="6657431939996264417">"اعلان‌هایی که می‌تواند برایتان ارسال شود"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"کنش‌های بیشتر"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"فیلترهای اعلان"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"تنظیمات بیشتر"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{خاموش}=1{خاموش / ۱ حالت می‌تواند به‌طور خودکار روشن شود}one{خاموش / # حالت می‌تواند به‌طور خودکار روشن شود}other{خاموش / # حالت می‌تواند به‌طور خودکار روشن شود}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"تنظیمات نمایشگر"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"گزینه‌های نمایشگر"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"سیاه‌وسفید"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"فعال کردن زمینه تیره"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"سیستم‌عامل و برنامه‌ها به حالتی می‌روند که در آن، نوشتار روشن روی پس‌زمینه تیره ارجحیت دارد. در این حالت، چشم‌ها کمتر اذیت می‌شود و در برخی دستگاه‌ها در مصرف باتری به‌میزان قابل‌توجهی صرفه‌جویی می‌شود"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{بدون تغییر در نمایشگر}=1{‫{effect_1}}=2{‫{effect_1} و {effect_2}}=3{‫{effect_1}، {effect_2}، و {effect_3}}one{‫{effect_1}، {effect_2}، و # مورد دیگر}other{‫{effect_1}، {effect_2}، و # مورد دیگر}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"مجاز کردن همه اعلان‌ها"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"ممکن است افراد، برنامه‌ها، و صداها تداخل ایجاد کنند"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"گزینه‌های نمایشگر برای اعلان‌های فیلترشده"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"وقتی «مزاحم نشوید» روشن است"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"بدون صدای اعلان‌ها"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"باز کردن اعلان"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"مجاز کردن تعویق اعلان"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"نقطه اعلان روی نماد برنامه‌ها"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"دسته‌های اعلان"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"حبابک‌ها"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"حبابک‌ها"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"نمایش مکالمه به‌صورت حباب"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"می‌تواند به پیام‌ها پاسخ دهد و روی دکمه‌های موجود در اعلان‌ها اقدام کند، ازجمله به‌تعویق انداختن یا رد کردن اعلان‌ها و پاسخ به تماس."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"تغییر تنظیمات"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"می‌تواند «مزاحم نشوید» را روشن یا خاموش کند و تنظیمات مربوطه را تغییر دهد."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"می‌تواند «حالت‌ها» را مدیریت و فعال کند و تنظیمات مربوطه را تغییر دهد."</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_modes_warning_summary" msgid="7528432011433844158">"اگر دسترسی اعلان را برای «<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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"هم‌زمان"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"این برنامه از تنظیمات پیشرفته پشتیبانی نمی‌کند"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"تنظیمات بیشتر"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"تنظیمات بیشتر داخل این برنامه دردسترس است"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"اعلان‌های تطبیقی"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"استفاده از اعلان‌های تطبیقی"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"وقتی در مدت کوتاهی اعلان‌های زیادی دریافت کنید، تلفنتان میزان صدا را کاهش می‌دهد و بالاپرهای روی صفحه‌نمایش را تا دو دقیقه به‌حداقل می‌رساند. تماس‌ها، زنگ‌های هشدار، و مکالمه‌های اولویت‌دار همچنان لرزش، صدا، یا نمایش روی صفحه خواهند داشت ، و دسترسی به تمامی اعلان‌ها با کشیدن انگشت از بالای صفحه به پایین امکان‌پذیر است."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"استراحت اعلان‌ها"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"استفاده از استراحت اعلان‌ها"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"وقتی در مدت کوتاهی اعلان‌های زیادی دریافت کنید، دستگاهتان تا ۲ دقیقه میزان صدایش را کاهش می‌دهد و هشدارها را به‌حداقل می‌رساند. تماس‌ها، زنگ‌های ساعت، و مکالمه‌های اولویت‌دار تحت‌تأثیر قرار نمی‌گیرند. \n\nاعلان‌های دریافت‌شده در زمان استراحت را می‌توان با پایین کشیدن انگشت از بالای صفحه‌نمایش پیدا کرد."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"اعمال کردن بر نمایه‌های کاری"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"برای برنامه‌های نمایه کاری اعمال می‌شود"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"‏خدمات یاور VR"</string>
@@ -3650,6 +3709,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"دسترسی به «حالت‌ها»"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"مجاز کردن دسترسی به «حالت‌ها»"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"هیچ برنامه نصب‌شده‌ای دسترسی به «حالت‌ها» را درخواست نکرده است"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"اعلان‌های این برنامه را مجاز نکرده‌اید"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"‏طبق درخواست شما، Android این دسته از اعلان‌ها را مسدود می‌کند تا در این دستگاه نشان داده نشوند"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"‏طبق درخواست شما، Android این گروه از اعلان‌ها را مسدود می‌کند تا در این دستگاه نشان داده نشوند"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"دسته‌ها"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"موارد دیگر"</string>
     <string name="no_channels" msgid="4716199078612071915">"این برنامه هیچ اعلانی پست نکرده است"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"نمایش دسته‌های استفاده‌نشده"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"تنظیمات بیشتر در برنامه"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"نمایش دسته‌های استفاده‌نشده"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"پنهان کردن دسته‌های استفاده‌نشده"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> ‏- <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"مکالمه‌ها"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"همه مکالمه‌ها"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"همه مکالمه‌ها"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"مکالمه‌های اولویت‌دار"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"مکالمه‌های اولویت‌دار"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"هیچ‌کدام"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"برنامه‌هایی که می‌توانند وقفه ایجاد کنند"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"برنامه‌های انتخاب‌شده"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"هیچ‌کدام"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"همه"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{هیچ برنامه‌ای نمی‌تواند وقفه ایجاد کند}=1{‫{app_1} می‌تواند وقفه ایجاد کند}=2{‫{app_1} و {app_2} می‌توانند وقفه ایجاد کنند}=3{‫{app_1}، {app_2}، و {app_3} می‌توانند وقفه ایجاد کنند}one{‫{app_1}، {app_2}، و # برنامه دیگر می‌توانند وقفه ایجاد کنند}other{‫{app_1}، {app_2}، و # برنامه دیگر می‌توانند وقفه ایجاد کنند}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"‫<xliff:g id="APP_LABEL">%s</xliff:g> (کاری)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"درحال محاسبه…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"‪+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"مجاز کردن برنامه‌ها برای لغو"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"برنامه‌هایی که می‌توانند وقفه ایجاد کنند"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"انتخاب برنامه‌های بیشتر"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"هیچ موردی نمی‌تواند وقفه ایجاد کند"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"هیچ فردی نمی‌تواند وقفه ایجاد کند"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"بعضی از افراد می‌توانند وقفه ایجاد کنند"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"تماس‌گیرنده‌های تکراری می‌توانند وقفه ایجاد کنند"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"همه افراد می‌توانند وقفه ایجاد کنند"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"تماس‌گیرنده‌های تکراری"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"اجازه دادن به تماس‌گیرندگان تکراری"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{تغییر به «فقط زنگ هشدار» به‌مدت یک ساعت تا {time}}one{تغییر به «فقط زنگ هشدار» به‌مدت # ساعت تا {time}}other{تغییر به «فقط زنگ هشدار» به‌مدت # ساعت تا {time}}}"</string>
     <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_action_change_name" msgid="766639614789907016">"تغییر نام"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"تغییر نماد"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"تغییر نماد"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"ویرایش حالت"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"ایجاد حالت"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"حالت سفارشی"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"نام حالت"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"رویدادهای تقویم"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"روال وقت خواب"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"هنگام رانندگی"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"تنظیمات برنامه"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"اطلاعات و تنظیمات <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"تحت‌مدیریت <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g> غیرفعال شود؟"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"این حالت هنگام غیرفعال بودن هرگز روشن نمی‌شود"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"غیرفعال کردن"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g> فعال شود؟"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"این حالت ممکن است بسته به تنظیمات آن به‌طور خودکار روشن شود"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"فعال کردن"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"حالتی را تنظیم کنید که زمان‌بندی منظمی را دنبال می‌کند"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"حالتی را برای همگام‌سازی با رویدادهای تقویم و پاسخ به دعوت‌ها تنظیم کنید"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"یک برنامه خواب آرامش‌بخش تنظیم کنید. زنگ ساعت تنظیم کنید، صفحه را کم‌نور کنید، و اعلان‌ها را مسدود کنید."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"برای رانندگی با تمرکز و بدون حواس‌پرتی، ایمنی در جاده را در اولویت قرار دهید"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"حواس‌پرتی‌ها یا مزاحمت‌هایی را که دستگاهتان ایجاد می‌کند مسدود کنید تا بتوانید تمرکز کنید"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"همه عوامل حواس‌پرتی را حذف کنید تا محیط آرامی داشته باشید"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"تجربه‌ها و تنظیمات دستگاه را برای کاربران مختلف شخصی‌سازی کنید"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"با اجازه دادن فقط به افراد و برنامه‌های مهم برای تماس با شما، مزاحمت‌ها را به‌حداقل برسانید"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"حالتی را تنظیم کنید که زمان‌بندی منظمی را دنبال می‌کند"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"دستگاهتان را با رویدادهای روزمره همگام نگه دارید"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"‏با احساس شارژ ‎٪۱۰۰ بیدار شوید"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"هنگام رانندگی، ایمنی را در اولویت قرار دهید"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"با تمرکز به اوج بهره‌وری برسید"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"برای لحظاتی که نزاکت اهمیت دارد"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"استفاده با راهنما برای مراقبت از سلامتی شما"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"کنترل حواس خود را به‌دست بگیرید"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"هشدار"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"بستن"</string>
     <string name="device_feedback" msgid="5351614458411688608">"ارسال بازخورد درباره این دستگاه"</string>
@@ -4006,6 +4102,10 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"دسترسی به «حالت‌ها» برای «<xliff:g id="APP">%1$s</xliff:g>» مجاز شود؟"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"این برنامه می‌تواند حالت «مزاحم نشوید» را روشن/ خاموش کند، «حالت‌ها» را مدیریت و فعال کند، و تغییراتی در تنظیمات مربوطه ایجاد کند."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"دسترسی <xliff:g id="APP">%1$s</xliff:g> به «حالت‌ها» لغو شود؟"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"همه حالت‌هایی که این برنامه ایجاد کرده است حذف خواهد شد."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"بهینه‌سازی نشود"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"بهینه‌سازی"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"ممکن است باتری شما را سریع‌تر خالی کند. استفاده از باتری پس‌زمینه توسط برنامه دیگر محدود نخواهد شد."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"جلد محاف"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"باتری"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"پانل تنظیمات"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"اجرای اجباری حالت دسک‌‌تاپ"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"اجرای اجباری حالت دسک‌تاپ آزمایشی در نمایشگرهای ثانوی"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"فعال کردن پنجره قالب آزاد"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"فعال کردن پنجره قالب آزاد در نمایشگر دوم"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"فعال کردن غیرقابل‌تغییردادنی در چندپنجره‌ای"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"مجاز کردن برنامه‌های غیرقابل‌تغییردادنی برای نمایش در چندپنجره‌ای"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"لغو اجبار حالت تاریک"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"داده تلفن همراه"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"‏برای بهبود تجربه استفاده از دستگاه، برنامه‌ها و سرویس‌ها همچنان می‌توانند در هرزمانی شبکه‌های Wi-Fi را اسکن کنند، حتی وقتی Wi-Fi خاموش باشد. از این تنظیم می‌توان به‌عنوان مثال برای بهبود ویژگی‌ها و سرویس‌های مبتنی بر مکان استفاده کرد. می‌توانید این مورد را در تنظیمات اسکن کردن Wi‑Fi تغییر دهید."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"تغییر"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"متصل است"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"موقتاً متصل است"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"موقتاً از «<xliff:g id="SUBNAME">%1$s</xliff:g>» استفاده می‌کنید"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"استفاده از سنجاق کردن برنامه"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"استفاده از گزینه‌های توسعه‌دهنده"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"استفاده از سرویس چاپ"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"مجاز کردن چند کاربر"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"مجاز کردن تغییر کاربر"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"مجاز کردن، چندین، کاربر، اجازه، زیاد"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"چندگانه، کاربران، نمایه‌ها، افراد، حساب‌ها، عوض کردن، زیاد"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"استفاده از اشکال‌زدایی بی‌سیم"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> می‌خواهد به این تلفن متصل شود.\n\nقبلاً به <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> متصل نشده‌اید."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"متصل نشود"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"متصل شود"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"‏تنظیمات TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"روشن"</string>
-    <string name="tare_off" msgid="6305694402929756726">"خاموش"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"برگرداندن به تنظیمات پیش‌فرض"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"تنظیمات به پیش‌فرض برگردانده شد."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"حداکثر تراز مشبع"</string>
-    <string name="tare_balances" msgid="731881382594747961">"تراز"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"محدودیت‌های مصرف"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"حداکثر محدودیت مصرف اولیه"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"حداقل محدودیت مصرف"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"حداکثر محدودیت مصرف"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"اصلاح‌کننده‌ها"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"کنش‌ها (هزینه تولید)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"کنش‌ها (قیمت پایه)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"پاداش‌ها در هر رویداد تکی"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"پاداش به‌ازای هر ثانیه از مدت رویداد"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"حداکثر پاداش‌ها در روز"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"نصب برنامه"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"فعالیت برتر"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"اعلان دیده‌شده"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"اعلان دیده‌شده ظرف ۱۵ دقیقه"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"تعامل با اعلان"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"تعامل با ابزاره"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"دیگر تعاملات کاربر"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"شروع وظیفه بالاترین اولویت"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"وظیفه بالاترین اولویت درحال اجرا است"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"شروع وظیفه اولویت بالا"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"وظیفه اولویت بالا درحال اجرا است"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"شروع وظیفه پیش‌فرض"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"وظیفه پیش‌فرض درحال اجرا است"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"شروع وظیفه اولویت پایین"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"وظیفه اولویت پایین درحال اجرا است"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"شروع وظیفه پایین‌ترین اولویت"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"وظیفه پایین‌ترین اولویت درحال اجرا است"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"جریمه درنگ وظیفه"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"حداقل تراز در حالت شارژ کامل (مستثنی‌شده)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"حداقل تراز درحالت شارژ کامل (برنامه سیستمی بی‌سر)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"حداقل تراز در حالت شارژ کامل (برنامه‌های باقی مانده)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"افزودن حداقل تراز درحالت شارژ کامل (به‌روزکننده برنامه‌ها)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"شارژ شدن"</item>
-    <item msgid="658627268149681677">"چرت"</item>
-    <item msgid="1599558140284643834">"حالت «ذخیره انرژی»"</item>
-    <item msgid="588427840913221601">"وضعیت پردازش"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"تأیید"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"پیش‌نما"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"انتخاب محافظ صفحه"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"نمایش اطلاعات تکمیلی"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"انتخاب کنید وقتی رایانه لوحی روی پایه قرار می‌گیرد چه چیزی روی صفحه‌نمایش نشان داده شود. هنگام استفاده از محافظ صفحه، دستگاه ممکن است انرژی بیشتری مصرف کند."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"سفارشی کردن"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"سفارشی کردن <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"برای فعال کردن پشتیبانی قالب آزاد، راه‌اندازی مجدد الزامی است."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"برای رفتن به حالت میز کار در نمایشگرهای ثانویه، بازراه‌اندازی الزامی است."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"برای فعال کردن پشتیبانی پنجره قالب آزاد، بازراه‌اندازی الزامی است."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"برای به‌روزرسانی دردسترس بودن پنجره قالب آزاد، بازراه‌اندازی الزامی است."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"برای فعال کردن پنجره قالب آزاد در نمایشگر دوم، بازراه‌اندازی الزامی است."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"اکنون بازراه‌اندازی شود"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"بعداً بازراه‌اندازی شود"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"صدای فضایی"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"صورتی"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"سرخابی"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"یاسی"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"تمام"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"ذخیره"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"لغو"</string>
     <string name="contrast_default" msgid="8918545965525226966">"پیش‌فرض"</string>
     <string name="contrast_medium" msgid="384414510709285811">"متوسط"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"روشن"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"خاموش"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"روشن"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"‏صدا %1$d%% چپ، %2$d%% راست"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"‏صدا %1$d%% راست، %2$d%% چپ"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"‏نام دستگاه شما برای برنامه‌هایی که نصب کرده‌اید قابل‌مشاهده است. همچنین ممکن است هنگام اتصال به دستگاه‌های بلوتوث، اتصال به شبکه Wi-Fi، یا راه‌اندازی نقطه اتصال Wi-Fi، برای افراد دیگر قابل‌مشاهده باشد."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"جنسیت دستوری"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"انتخاب جنسیت دستوری"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"هم‌رسانی صدا متوقف شد"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"دستگاه سازگاری را متصل کنید"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"برای شروع هم‌رسانی صدا، ابتدا هدفون دارای «صدای کم‌مصرف» را به تلفنتان متصل کنید"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"رفتن به <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"اتصال به جاری‌سازی صوتی کم‌مصرف"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"جاری‌سازی‌های صوتی اطراف"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"جاری‌سازی‌های صوتی"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"گوش دادن به جاری‌سازی"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"برای گوش دادن با <xliff:g id="DEVICE_NAME">%1$s</xliff:g>، رمزینه پاسخ‌سریع جاری‌سازی صوتی را اسکن کنید"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"نمی‌توان گذرواژه را درحین هم‌رسانی ویرایش کرد. برای تغییر دادن گذرواژه، ابتدا «اشتراک صدا» را خاموش کنید."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"کدخوان پاسخ‌سریع"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"به راهنمایی نیاز دارید؟"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"جستجو در «تنظیمات»"</string>
 </resources>
diff --git a/res/values-fi/arrays.xml b/res/values-fi/arrays.xml
index d8befc6..8cb72b4 100644
--- a/res/values-fi/arrays.xml
+++ b/res/values-fi/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Nukkuma-aika"</item>
-    <item msgid="4152450357280759894">"Ajaminen"</item>
-    <item msgid="7096549258219399423">"Immersiivinen"</item>
-    <item msgid="2760716776980432977">"Hallinnoidut"</item>
-    <item msgid="601734478369121764">"Tähti"</item>
-    <item msgid="6243809315432780521">"Kalenteri"</item>
-    <item msgid="4913577903148415331">"Aika"</item>
-    <item msgid="3653377604690057780">"Teatteri"</item>
-    <item msgid="3843711267408385410">"Kukka"</item>
+    <item msgid="1216815120972438676">"Salkku"</item>
+    <item msgid="184985872234062767">"Klassinen rakennus"</item>
+    <item msgid="9189550412466785530">"Kerrostalo"</item>
+    <item msgid="2142527562511049422">"Puhekupla"</item>
+    <item msgid="2548100558260478605">"Ryhmä ihmisiä"</item>
+    <item msgid="2270003903304578284">"Hehkulamppu"</item>
+    <item msgid="4793496619091161864">"Kalenteri"</item>
+    <item msgid="5673625795644364100">"Älä häiritse"</item>
+    <item msgid="1423820834865831361">"Juokseva henkilö"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Kuntosalin käsipaino"</item>
+    <item msgid="2730180105015616518">"Uinti"</item>
+    <item msgid="2666922823253345958">"Vaelluksella oleva henkilö"</item>
+    <item msgid="8234880356472211396">"Palloa heittävä henkilö"</item>
+    <item msgid="4642980625253001443">"Potkiva henkilö"</item>
+    <item msgid="4324795269518833500">"Peliohjain"</item>
+    <item msgid="7789966425125441125">"Taiteilijan väripaletti"</item>
+    <item msgid="663512680597461570">"Lumihiutale"</item>
+    <item msgid="7952183800501346803">"Rantavarjo"</item>
+    <item msgid="799139025758265891">"Työkalut"</item>
+    <item msgid="1330084588359129896">"Teltta"</item>
+    <item msgid="3861584909935022342">"Vanha kotivideo"</item>
+    <item msgid="5827426100157335512">"Kirja"</item>
+    <item msgid="8585828346253128384">"Lootuskukka"</item>
+    <item msgid="8788370542815300188">"Ihmisen mieli"</item>
+    <item msgid="7287354964767553293">"Kuulokkeet"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Juna"</item>
+    <item msgid="4903790544026923026">"Auto"</item>
+    <item msgid="5010405583912314582">"Haarukka ja veitsi"</item>
+    <item msgid="8939998598599064900">"Ostoskori"</item>
+    <item msgid="3379605903308731893">"Lapsi"</item>
+    <item msgid="7808668968550293112">"Eläimen tassu"</item>
+    <item msgid="1000692647524056504">"Tähtimerkki"</item>
+    <item msgid="8270261073421676502">"Kaksi henkilöä"</item>
+    <item msgid="5767782819651505460">"Tähti"</item>
+    <item msgid="4368451291862729334">"Sydän"</item>
+    <item msgid="2613199102208419986">"House"</item>
+    <item msgid="3022279986430275040">"Puolikuu"</item>
+    <item msgid="5421089790869483206">"Kello"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index e296385..0ff57e8 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Pidätetty"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Ei tiedossa"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Esikatselu"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR-koodi"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Aina"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Kuulolaiteasetukset"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Pikanäppäin, kuulolaiteyhteensopivuus"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Esiasetus"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Audiologi ei ole ohjelmoinut esiasetuksia"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Esiasetusta ei voitu muuttaa"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audion toistotapa"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Tietoa audion toistotavasta"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Sovellukselle ei voi valita kieltä asetuksista."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Kieli saattaa erota sovelluksessa saatavilla olevista kielistä. Jotkin sovellukset eivät ehkä tue tätä asetusta."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Valitse kieli kullekin sovellukselle."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Järjestelmä, sovellukset ja verkkosivustot käyttävät valitsemistasi kielistä ensimmäistä, jota tuetaan."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Laite, sovellukset ja verkkosivustot käyttävät valitsemistasi kielistä ensimmäistä, jota tuetaan.\n\nMonet sovellukset valitsevat myös päivämäärien, numeroiden ja yksiköiden muodon ensisijaisen kielesi alueen perusteella. Jos haluat vaihtaa aluetta, lisää kieli ja valitse ensisijainen alue."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Voit valita kielen kullekin sovellukselle sen kieliasetuksista."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Lue lisää sovellusten kielistä"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Muutetaanko järjestelmän kieleksi %s?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Pois päältä"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Päällä / # sovelluksella on pääsyoikeus sijaintiin}other{Päällä / # sovelluksella on pääsyoikeus sijaintiin}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Ladataan…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Sovellukset, joilla on lähellä olevien laitteiden lupa, voivat määrittää yhdistettyjen laitteiden suhteellisen sijainnin."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Sovellukset, joilla on lähellä olevien laitteiden lupa, voivat määrittää yhdistettyjen laitteiden suhteellisen sijainnin."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Sovelluksilla ja palveluilla ei ole sijaintilupaa. Tiedot laitteesi sijainnista voidaan silti lähettää pelastustyöntekijöille, kun soitat tai lähetät tekstiviestin hätänumeroon."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Lue lisää sijaintiasetuksista"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Voit vaihtaa valintaa avaamalla ChromeOS:n asetukset &gt; Yksityisyys ja turvallisuus &gt; Yksityisyysasetukset &gt; Pääsy sijaintiin"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Kasvot ja <xliff:g id="WATCH">%s</xliff:g> lisätty"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Kasvot, sormenjälki ja <xliff:g id="WATCH">%s</xliff:g> lisätty"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Kasvot, sormenjäljet ja <xliff:g id="WATCH">%s</xliff:g> lisätty"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Henkilöllisyyden tunnistaminen on päällä ja edellyttää biometristä tunnistetta"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticatorin lukituksen avaus"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Kello lisätty"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Kellon käyttöönotto"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Lue lisää kellon avauksesta"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Lisää kello"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Poista kello"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Sormenjälki- ja kasvojentunnistusavaus"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Kasvojentunnistus- ja sormenjälkiavaus"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Kasvojentunnistus- ja sormenjälkiavaus työkäyttöön"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Edellyttää käyttöönottoa"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Kasvot ja sormenjäljet lisättiin"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Yksityistä tilaa otetaan käyttöön…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Yksityisen tilan käyttöönotto epäonnistui"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Yritä uudelleen"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Poistu"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Yksityinen tila ei ole saatavilla.\nKatso mahdolliset syyt"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Katso mahdolliset syyt"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Valitaanko yksityiselle tilalle uusi lukitus?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Voit valita uuden lukituksen pelkästään yksityiselle tilalle tai käyttää laitteen lukitustapaa"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Käytä näytön lukitusta"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Kun Bluetooth on käytössä, laitteesi voi kommunikoida muiden lähellä olevien Bluetooth-laitteiden kanssa.\n\nKun Bluetooth on poissa käytöstä, sovellukset ja palvelut voivat silti hakea lähellä olevia laitteita käyttökokemuksen parantamiseksi. Näin voidaan esimerkiksi kehittää sijaintiin perustuvia ominaisuuksia ja palveluita. Voit muuttaa tätä Bluetooth-haun asetuksissa."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Kun Bluetooth on päällä, laite voi viestiä lähellä olevien Bluetooth-laitteiden kanssa. Quick Share, Paikanna laite ja tietyt muut ominaisuudet käyttävät Bluetoothia.\n\nSovellukset ja palvelut voivat edelleen etsiä lähellä olevia laitteita milloin tahansa, vaikka Bluetooth olisi pois päältä. Näin ne voivat esimerkiksi parantaa sijaintiin perustuvien ominaisuuksien ja palveluiden toimintaa. Voit muuttaa tätä Bluetooth-hakuasetuksista."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Muuta"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Laitteen tiedot"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Näppäimistön asetukset"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Lisää asetuksia"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Laiteohjelmistopäivitykset, tietoja ja muuta"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Vinkit ja tuki"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Laitteen Bluetooth-osoite: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Laitteen Bluetooth-osoite: \n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Unohdetaanko laite?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Kokeellinen. Parantaa äänen laatua."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Unohda laite"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Katkaise sovelluksen yhteys"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Lisää asetuksia"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Liitettyjen Bluetooth-äänilaitteiden enimmäismäärä"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Valitse liitettyjen Bluetooth-äänilaitteiden enimmäismäärä"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Myyjien laajennettu NFC-virheenkorjausloki"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Käynnistetäänkö laite uudelleen?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"NFC-tietojen kirjaaminen on tarkoitettu vain kehittäjäkäyttöön. Virheraportit sisältävät muuta NFC-dataa, joka voi sisältää yksityisiä tietoja. Muuta asetusta käynnistämällä laite uudelleen."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Käynnistä uudelleen"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Päällä"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Pois päältä"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Ulkoinen näyttö"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Käytä ulkoista näyttöä"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Näytön resoluutio"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Yhteys ulkoiseen näyttöön katkaistu"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Kierto"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Tavallinen"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Näytön kierron tai resoluution muutokset voivat keskeyttää tällä hetkellä käynnissä olevat sovellukset"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Laitteen täytyy olla yhdistettynä ulkoiseen näyttöön, jotta näytön peilaus onnistuu"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Lisäasetukset"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Striimaus"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"peilaus"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Ota langaton näyttö käyttöön"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Mukautuva"</string>
     <string name="brightness" msgid="6216871641021779698">"Kirkkaustaso"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Kirkkauden säätö"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Kirkkauden säätö"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Näytön kirkkaus mukautuu automaattisesti ympäristöösi ja toimintaasi. Voit auttaa mukautuvaa kirkkautta oppimaan mieltymyksesi siirtämällä liukusäädintä."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Päällä"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Pois päältä"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Käytetäänkö mobiilidataa (<xliff:g id="CARRIER">%1$s</xliff:g>)?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Käytät mobiilidataa (<xliff:g id="CARRIER2_0">%2$s</xliff:g>). Jos <xliff:g id="CARRIER1">%1$s</xliff:g> otetaan käyttöön, <xliff:g id="CARRIER2_1">%2$s</xliff:g> ei enää käytä mobiilidataa."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Valitse <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Vaihdetaanko ensisijainen SIM?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> on laitteesi ainoa SIM-kortti. Haluatko käyttää korttia mobiilidataan, puheluihin ja tekstiviesteihin?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> on nyt ensisijainen SIM-kortti"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Parannetaanko mobiilidataa?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Salli laitteen ottaa <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> automaattisesti käyttöön mobiilidataa varten, kun sen saatavuus on parempi."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Puhelut, viestit ja verkkoliikenne voivat näkyä organisaatiolle."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Vaihtoehdot"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Saavutettavuus"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fyysinen näppäimistö"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Käytä näyttönäppäimistöä"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Pidä näytöllä, kun fyysinen näppäimistö on aktiivinen"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Toistuvien painallusten ohitus"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Näppäimistö ei huomioi <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> millisekunnin sisällä toistettuja saman näppäimen painalluksia"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Hitaat näppäimet"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Muuta ajaksi, jona näppäin aktivoituu painalluksesta <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> millisekuntia"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Päälle jäävät näppäimet"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Käytä pikanäppäimiä painamalla yhtä näppäintä kerralla monen näppäimen sijaan"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Hiiren painikkeet"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Ohjaa hiirtä fyysisellä näppäimistöllä."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Pikanäppäimet"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Näytä pikanäppäimet"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Työprofiilin näppäimistöt ja työkalut"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Luo yksilöllisiä kosketuslevyn navigointieleitä"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Käänteinen vieritys"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Sisältö siirtyy ylös, kun vierität alas"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Napauta oikeaa alareunaa"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Lisäasetukset: napauta kosketuslevyn oikeaa alareunaa"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Klikkaa oikeaa alakulmaa"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Lisäasetukset: klikkaa kosketuslevyn oikeaa alakulmaa"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Osoittimen nopeus"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Osoittimen täytön tyyli"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Musta osoittimen täytön tyyli"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Keltainen osoittimen täytön tyyli"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Pinkki osoittimen täytön tyyli"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Sininen osoittimen täytön tyyli"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Osoittimen viivauksen tyyli"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Valkoinen"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Musta"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Ei mitään"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Opettele kosketuslevyn eleitä"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"ohjauslevy, ohjaus levy, hiiri, kohdistin, vieritä, pyyhkäise, klikkaa kakkospainikkeella, klikkaa, osoitin"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"klikkaa kakkospainikkeella, napauta"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Palauta"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Valitse muokkausnäppäin"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Valitse uusi näppäin (<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>):"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Asettelu: <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Oletus"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automaattinen: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Käyttäjän valitsema: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Puhe"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Osoittimen nopeus"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Osoittimen kokoasteikko"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Pienennä osoittimen kokoa"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Suurenna osoittimen kokoa"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Peliohjaimet"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Uudelleenohjaa värinä"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Ohjaa värinä peliohjaimeen, jos se on kytketty."</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Jatka silti"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Peru"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Suurennusasetukset"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Yhden sormen panorointi"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Siirrä suurennusta yhdellä sormella"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Siirry näytöllä vetämällä yhtä sormea"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Siirrä suurennusaluetta vetämällä yhdellä sormella."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Siirrää suurennusaluetta vetämällä kahdella sormella."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Ei käytettävissä, kun vain osaa näytöstä suurennetaan"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Zoomaa napauttamalla painiketta."</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Lähennä näyttöä nopeasti, niin näet sisällön suurempana"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Näin voit lähentää näyttöä:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Aloita suurennus käyttämällä pikanäppäintä&lt;br/&gt; {1,number,integer}. Napauta näyttöä&lt;br/&gt; {2,number,integer}. Siirry näytöllä vetämällä kahdella sormella&lt;br/&gt; {3,number,integer}. Säädä zoomausta nipistämällä kahdella sormella&lt;br/&gt; {4,number,integer}. 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; {0,number,integer}. Varmista, että suurennustapa on asetettu koko näytölle &lt;br/&gt; {1,number,integer}. Aloita suurennus käyttämällä pikanäppäintä&lt;br/&gt; {2,number,integer}. Kosketa näyttöä mistä tahansa pitkään&lt;br/&gt; {3,number,integer}. Siirry näytöllä vetämällä kahdella sormella&lt;br/&gt; {4,number,integer}. Lopeta suurennus nostamalla sormi näytöltä"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Näin voit lähentää näyttöä:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Aloita suurennus käyttämällä pikakomentoa&lt;br/&gt; {1,number,integer}. Napauta näyttöä&lt;br/&gt; {2,number,integer}. Siirry näytöllä vetämällä kahdella sormella&lt;br/&gt; {3,number,integer}. Säädä zoomausta nipistämällä kahdella sormella&lt;br/&gt; {4,number,integer}. Lopeta suurennus käyttämällä pikakomentoa&lt;br/&gt;&lt;br/&gt; Voit myös esimerkiksi lähentää tilapäisesti."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Näin voit lähentää näyttöä:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Aloita suurennus käyttämällä pikakomentoa&lt;br/&gt; {1,number,integer}. Napauta näyttöä&lt;br/&gt; {2,number,integer}. Siirry näytöllä vetämällä yhdellä tai kahdella sormella&lt;br/&gt; {3,number,integer}. Säädä zoomausta nipistämällä kahdella sormella&lt;br/&gt; {4,number,integer}. Lopeta suurennus käyttämällä pikakomentoa&lt;br/&gt;&lt;br/&gt; Voit myös esimerkiksi lähentää tilapäisesti."</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_pager" msgid="8461939455728454061">"Sivu <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Saavutettavuuspainikkeen pikakomento"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Napauta kelluvaa painiketta"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Saavutettavuusele"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Napauta näytön alareunassa olevaa saavutettavuuspainiketta <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>. Jos haluat vaihtaa ominaisuudesta toiseen, paina saavutettavuuspainiketta pitkään."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Pyyhkäise näytön alalaidasta ylös kahdella sormella.\n\nVaihda ominaisuudesta toiseen pyyhkäisemällä ylös kahdella sormella ja koskettamalla pitkään."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Pyyhkäise näytön alalaidasta ylös kolmella sormella.\n\nVaihda ominaisuudesta toiseen pyyhkäisemällä ylös kolmella sormella ja koskettamalla pitkään."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Pyyhkäise ylös näytön alareunasta. Jos haluat vaihtaa ominaisuudesta toiseen, pyyhkäise ylös ja pidä näyttöä painettuna.}other{Pyyhkäise # sormella ylös näytön alareunasta. Jos haluat vaihtaa ominaisuudesta toiseen, pyyhkäise ylös # sormella ja pidä näyttöä painettuna.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Lisäasetukset"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Lue lisää: <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Äänenvoimakkuuspainikkeet"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"äänenvoimakkuuspainikkeet"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Paina molempia äänenvoimakkuuspainikkeita pitkään"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Kaksoisnapauta näyttöä kahdella sormella"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Kaksoisnapautus %1$d sormella"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Napauta näyttöä nopeasti kaksi kertaa %1$d sormella"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Kolmoisnapautus"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Napauta näyttöä nopeasti %1$d kertaa. Tämä voi hidastaa laitetta."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Kaksoisnapautus %1$d sormella"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Napauta näyttöä {0,number,integer} kertaa nopeasti kahdella sormella"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Kolmoisnapauta näyttöä"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"kolmoisnapautus"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Napauta näyttöä nopeasti {0,number,integer} kertaa. Tämän pikanäppäimen käyttö voi hidastaa laitettasi."</string>
     <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Lisäasetukset"</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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Pikanäppäinasetukset"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Pikakuvake lukitusnäytöllä"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Salli ominaisuuden päälle laittaminen lukitusnäytön pikakuvakkeella. Paina molempia äänenvoimakkuuspainikkeita muutaman sekunnin ajan."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Saavutettavuuspainike"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Saavutettavuuspainike ja ‑ele"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Tämä palvelu ei toimi oikein."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Saavutettavuuden pikanäppäimet"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Näytä pika-asetuksissa"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Puna-vihersokeus"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Puna-vihersokeus"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Puna-vihersokeus, viherheikkous"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Puna-vihersokeus, punaheikkous"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Sini-keltasokeus"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Harmaasävy"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Voimakkuus"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Vihreän värin heikkous, deuteranomalia"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Punaisen värin heikkous, protanomalia"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Ei saatavilla harmaasävytilassa tai värinkorjauksen ollessa poissa käytöstä"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Erittäin himmeä"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Tee näytöstä erittäin himmeä"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Turkoosi"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Keltainen"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Saako <xliff:g id="SERVICE">%1$s</xliff:g> laitteesi täyden käyttöoikeuden?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> saa luvan:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Sovellus peittää lupapyynnön, joten Asetukset ei voi vahvistaa valintaasi."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> pyytää laitteen täyttä hallintaoikeutta. Palvelu voi lukea näytön sisällön ja toimia esteettömyyspalvelujen käyttäjien puolesta. Hallintaoikeudet ovat useimmille sovelluksille liian laajat."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Täysi käyttöoikeus sopii saavutettavuussovelluksille, mutta ei useimmille sovelluksille."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Näytön katselu ja ohjaus"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Se voi lukea kaiken näytön sisällön ja näyttää sisältöä kaikista sovelluksista."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Toimintojen näkeminen ja suorittaminen"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Se voi seurata toimintaasi sovelluksella tai laitteistoanturilla ja käyttää sovelluksia puolestasi."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Salli"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Estä"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Pois"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Päällä / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> ja <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Voit laittaa tila-audion päälle myös Bluetooth-laitteilla."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Verkkoon yhdistettävien laitteiden asetukset"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Tila-audio"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Pois päältä"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Pois päältä"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Pois päältä"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Ei yhtään}=1{1 aikataulu luotu}other{# aikataulua luotu}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Älä häiritse"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Prioriteettitilat"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Lisää tila"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Tilat"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Minimoi häiriötekijät ja paranna keskittymistäsi esimerkiksi uni-, työskentely- ja ajotiloilla."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Luo oma tila"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Salli ilmoitukset vain tärkeiltä ihmisiltä ja sovelluksilta"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Luo aikataulu"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Aikataulu tämän perusteella:"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Päivä ja aika"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"klo 9–17 arkipäivisin\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Kalenteritapahtumat"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} on aktiivinen}=2{{mode_1} ja {mode_2} ovat aktiivisia}=3{{mode_1}, {mode_2} ja {mode_3} ovat aktiivisia}other{{mode_1}, {mode_2} ja # muuta ovat aktiivisia}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 tila voi mennä päälle automaattisesti}other{# tilaa voi mennä päälle automaattisesti}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"PÄÄLLÄ"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Ei asetettu"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Ei käytössä"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Tilan luominen"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Oma"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Laita päälle nyt"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Laita pois päältä"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Tilaa ei löytynyt"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Keskeytysten rajoittaminen"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Estä keskeytykset ja häiriöt"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Ota <xliff:g id="MODE">%1$s</xliff:g> käyttöön"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Laita Älä häiritse ‑tila päälle"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Hälytykset ja median äänet voivat keskeyttää"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Aikataulut"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Poista aikataulut"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Poista"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Nimeä uudelleen"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Poista"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Poistetaanko tila (<xliff:g id="MODE">%1$s</xliff:g>)?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Muokkaa"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Aikataulut"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Aikataulu"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Ota käyttöön automaattisesti"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Kalenterin lisääminen"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Käytä kalenteria"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Aikataulu"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Luo aikataulu"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Milloin automaattisesti päällä"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Tapahtuman aikataulu"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Päällä tapahtumien aikana:"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Jos kutsun vastaus on"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Aikaan perustuva aikataulu"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Aikataulu"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h, <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Aikataulu"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Salli keskeytykset äänen kanssa"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Ilmoitukset, joita et saa"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Lisätoiminnot"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Ilmoitusten suodattimet"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Lisää asetuksia"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Pois päältä}=1{Pois päältä / 1 tila voi mennä päälle automaattisesti}other{Pois päältä / # tilaa voi mennä päälle automaattisesti}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Näyttöasetukset"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Näyttöasetukset"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Harmaasävy"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ota tumma teema käyttöön"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Vaihda käyttöjärjestelmään ja sovelluksiin vaalea teksti tummalla taustalla, mikä voi rasittaa silmiä vähemmän ja säästää akkua merkittävästi joillakin laitteilla"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Ei muutoksia näyttöön}=1{{effect_1}}=2{{effect_1} ja {effect_2}}=3{{effect_1}, {effect_2} ja {effect_3}}other{{effect_1}, {effect_2} ja # muuta}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Salli kaikki ilmoitukset"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Ihmiset, sovellukset ja äänet voivat keskeyttää"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Suodatettujen ilmoitusten näyttövalinnat"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Kun Älä häiritse -tila on käytössä"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Ei ilmoitusääniä"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"avaa ilmoitus"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Salli ilmoitusten torkuttaminen"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Sovelluskuvakkeen pistemerkki"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Ilmoitusniput"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Kuplat"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Kuplat"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Lisää tämä keskustelu kuplaksi"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Se voi vastata viesteihin ja käyttää ilmoitusten toimintoja, esim. torkuttaa tai hylätä ilmoituksia ja vastata puheluihin."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Asetusten muuttaminen"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Se voi laittaa Älä häiritse ‑tilan päälle tai pois päältä ja muuttaa siihen liittyviä asetuksia."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Se voi ylläpitää tiloja, aktivoida ne ja muuttaa niihin liittyviä asetuksia."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Jos <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> ei saa käyttää ilmoituksia, myös Älä häiritse ‑tilan käyttö voidaan estää."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Jos <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> ei saa pääsyä ilmoituksiin, myös pääsy tiloihin voidaan laittaa pois päältä."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Laita pois päältä"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Peru"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Reaaliaikainen"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Tämä sovellus ei tue tehostettuja asetuksia"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Lisää asetuksia"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Lisää asetuksia on saatavilla sovelluksen sisällä"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Mukautuvat ilmoitukset"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Käytä mukautuvia ilmoituksia"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Kun saat monia ilmoituksia lyhyen ajan sisällä, puhelin vähentää äänenvoimakkuutta ja minimoi näytöllä näkyvät ponnahdusikkunat enintään kahdeksi minuutiksi. Ilmoitukset puheluista, hälytyksistä ja tärkeistä keskusteluista värisevät, kuulet niistä äänimerkin tai ne näkyvät näytöllä. Kaikki ilmoitukset löytyvät helposti, kun vedät yläreunasta alaspäin."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Ilmoitusten hiljentäminen"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Käytä ilmoitusten vaimennusta"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Kun saat monia ilmoituksia lyhyen ajan sisällä, laite vähentää äänenvoimakkuutta ja minimoi ilmoitukset enintään kahdeksi minuutiksi. Tämä ei koske soittoja, hälytyksiä ja tärkeitä keskusteluja. \n\nVaimennuksen aikana saadut ilmoitukset näkyvät, kun vedät alas näytön yläreunasta."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Käytä työprofiileissa"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Käytä työprofiilin sovelluksissa"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR-avustinpalvelut"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Älä häiritse -pääsy"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Salli Älä häiritse ‑tila"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Yksikään asennettu sovellus ei ole pyytänyt Älä häiritse -tilan käyttöoikeutta."</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Pääsy tiloihin"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Salli pääsy tiloihin"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Yksikään asennettu sovellus ei ole pyytänyt pääsyä tiloihin"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Et ole sallinut ilmoituksia tästä sovelluksesta"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Android estää pyynnöstäsi tähän luokkaan kuuluvien ilmoituksien näyttämisen tällä laitteella"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Android estää pyynnöstäsi tähän ryhmään kuuluvien ilmoituksien näyttämisen tällä laitteella"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Luokat"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Muut"</string>
     <string name="no_channels" msgid="4716199078612071915">"Tämä sovellus ei ole lähettänyt ilmoituksia"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Näytä käyttämättömät kategoriat"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Lisäasetukset sovelluksessa"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Näytä käyttämättömät kategoriat"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Piilota käyttämättömät kategoriat"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g>–<xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Keskustelut"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Kaikki keskustelut"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"kaikki keskustelut"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Tärkeät keskustelut"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"tärkeät keskustelut"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"–"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Sovellukset, jotka saavat keskeyttää"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Valitut sovellukset"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Ei mitään"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Kaikki"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Mitkään sovellukset eivät voi keskeyttää}=1{{app_1} voi keskeyttää}=2{{app_1} ja {app_2} voivat keskeyttää}=3{{app_1}, {app_2} ja {app_3} voivat keskeyttää}other{{app_1}, {app_2} ja # muuta voivat keskeyttää}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (työ)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Lasketaan…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Salli ohittaminen sovelluksille"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Sovellukset, jotka saavat keskeyttää"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Valitse lisää sovelluksia"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Mikään ei voi keskeyttää"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Kukaan ei voi keskeyttää"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Jotkut voivat keskeyttää"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Usein soittavat voivat keskeyttää"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Kaikki käyttäjät voivat keskeyttää"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Toistuvasti soittavat"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Salli usein soittavat"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Muuta hälytyksiä tunnilla tähän asti: {time}}other{Muuta hälytyksiä # tunnilla tähän asti: {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Ota vain herätykset käyttöön kello <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> asti."</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Salli keskeytykset aina."</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Nimeä uudelleen"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Vaihda kuvake"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Vaihda kuvake"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Muokkaustila"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Luo tila"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Oma tila"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Tilan nimi"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Kalenteritapahtumat"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Nukkumaanmeno-ohjelma"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Ajon aikana"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Sovellusasetukset"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Tiedot ja asetukset: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Ylläpitäjä: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Poistetaanko <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Kun tila on pois käytöstä, se ei mene koskaan päälle"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Poista käytöstä"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Otetaanko <xliff:g id="MODE_NAME">%1$s</xliff:g> käyttöön?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Tila voi mennä automaattisesti päälle asetuksista riippuen"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Ota käyttöön"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Valitse tila, joka noudattaa säännöllistä aikataulua"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Valitse tila kalenteritapahtumien ja kutsuvastausten synkronointia varten"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Suunnittele rauhoittava rutiini nukkumaankäyntiä varten. Lisää herätykset, himmennä näyttö ja estä ilmoitukset."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Priorisoi turvallisuutta, jotta voit keskittyä ajamiseen ilman häiriöitä"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Estä häiriöt laitteelta, jotta voit keskittyä paremmin"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Eliminoi kaikki häiriöt, jotta voit nauttia hiljaisuudesta"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Personoi laitteen käyttökokemuksia ja asetuksia eri käyttäjille"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Minimoi häiriöt sallimalla ilmoitukset vain tärkeiltä ihmisiltä ja sovelluksilta"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Valitse tila, joka noudattaa säännöllistä aikataulua"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Pidä päivän tapahtumat synkronoituna laitteella"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Herää täynnä energiaa"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Aseta turvallisuus etusijalle ajaessa"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Keskity ja pääse sopivaan mielentilaan"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Kun haluat olla huomaavainen"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Ohjattu käyttö auttaa pysymään turvassa"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Keskity tarkasti"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Varoitus"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Sulje"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Lähetä palautetta tästä laitteesta"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Tämän täytyy olla käytössä, sillä ilmoitusten käyttöoikeus on myönnetty"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Perutaanko sovellukselta <xliff:g id="APP">%1$s</xliff:g> Älä häiritse -tilan käyttöoikeus?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Kaikki tämän sovelluksen luomat Älä häiritse -säännöt poistetaan."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Saako <xliff:g id="APP">%1$s</xliff:g> pääsyn tiloihin?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Sovellus voi laittaa Älä häiritse ‑tilan päälle tai pois päältä, ylläpitää ja aktivoida tiloja ja tehdä muutoksia niihin liittyviin asetuksiin."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Kaikki tämän sovelluksen luomat tilat poistetaan."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Älä optimoi"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimoi"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Tämän seurauksena akku voi kulua loppuun nopeammin. Sovelluksia ei enää estetä käyttämästä akkua taustalla."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Kotelo"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Akku"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Asetuspaneeli"</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_desktop_mode" msgid="5644818402534562302">"Ota vapaamuotoiset ikkunat käyttöön"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Vapaamuotoiset ikkunat toissijaisella näytöllä"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Ota käyttöön kiinteän kokoiset usean ikkunan tilassa"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Sallii kiinteän kokoiset sovellukset usean ikkunan tilassa"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Ohita SmartDarkin pakottaminen päälle"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobiilidata"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Laitteen käyttökokemuksen parantamiseksi sovellukset ja palvelut voivat hakea Wi-Fi-verkkoja myös silloin, kun Wi-Fi on pois päältä. Näin voidaan esimerkiksi kehittää sijaintiin perustuvia ominaisuuksia ja palveluja. Voit muuttaa asetusta Wi-Fi-haun asetuksissa."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Muuta"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Yhdistetty"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Väliaikaisesti yhdistetty"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Käyttää väliaikaisesti: <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Käytä sovelluksen kiinnitystä"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Käytä kehittäjäasetuksia"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Käytä tulostuspalvelua"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Salli useat käyttäjät"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Salli vaihdot käyttäjästä toiseen"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"salli, useita, käyttäjä, lupa, monta"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"monta, käyttäjää, profiilia, henkilöä, tiliä, vaihda, useita"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Käytä langatonta virheenkorjausta"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> haluaa yhdistää tähän puhelimeen.\n\n<xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> ei ole ennen muodostanut yhteyttä."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Älä yhdistä"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Yhdistä"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TAREn asetukset"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Päällä"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Poissa päältä"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Palautetaanko oletusasetukset?"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Oletusasetukset palautettiin."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Enimmäistasapaino, kun laite on ladattu"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Saldot"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Kulutusrajat"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Kulutuksen alkuraja"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Kulutuksen vähimmäisraja"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Kulutuksen enimmäisraja"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Muuttujat"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Toiminnot (tuotannon hinta)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Toiminnot (perushinta)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Palkinnot yhtä tapahtumaa kohden"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Palkintoja sekunnissa tapahtuman aikana"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Enimmäispalkinnot päivää kohden"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Sovellusasennus"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Tärkein toiminta"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Ilmoitus nähty"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Ilmoitus nähty 15 min sisällä"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Ilmoitustoiminto"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Widget-toiminto"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Muu käyttäjätoiminto"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Aloita enimmäistason työ"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Enimmäistason työ käynnissä"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Aloita korkean tason työ"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Korkean tason työ käynnissä"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Aloita vakiotason työ"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Vakiotason työ käynnissä"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Aloita matalan tason työ"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Matalan tason työ käynnissä"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Aloita vähimmäistason työ"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Vähimmäistason työ käynnissä"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Työn aikarajoitusrangaistus"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Vähimmäissaldo, kun laite on ladattu (Vapautettu)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Enimmäissaldo, kun laite on ladattu (Järjestelmäsovellus ilman UI-grafiikkaa)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Vähimmäissaldo, kun laite on ladattu (Jäljellä olevat sovellukset)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Enimmäissaldo, kun laite on ladattu (Sovelluksen päivittäjät)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Ladataan"</item>
-    <item msgid="658627268149681677">"Unitila"</item>
-    <item msgid="1599558140284643834">"Virransäästötila"</item>
-    <item msgid="588427840913221601">"Käsittelytila"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Vahvista"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Esikatsele"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Valitse näytönsäästäjä"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Näytä lisätietoja"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Valitse, mitä näytölläsi näkyy, kun tabletti on telineessä. Laitteesi saattaa käyttää enemmän virtaa, kun näytönsäästäjä on käytössä."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Yksilöi"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Muokkaa <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Vapaamuotoisen tilan käyttöönotto edellyttää uudelleenkäynnistystä."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Työpöytätilan pakottaminen toissijaisille näytöille edellyttää uudelleenkäynnistystä."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Laite täytyy käynnistää uudelleen, jos haluat ottaa vapaamuotoisten ikkunoiden tuen käyttöön."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Laite täytyy käynnistää uudelleen, jos haluat päivittää vapaamuotoisten ikkunoiden saatavuuden."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Laite täytyy käynnistää uudelleen, jos haluat ottaa vapaamuotoiset ikkunat käyttöön toissijaisilla näytöillä."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Käynnistä uudelleen nyt"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Käynnistä uudelleen myöhemmin"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Tila-audio"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Ruusu"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Violetti"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Valmis"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Tallenna"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Peru"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Oletus"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Keskitaso"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Päällä"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Pois päältä"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Päällä"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Audio %1$d %% vasen, %2$d %% oikea"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Audio %1$d %% oikea, %2$d %% vasen"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Laitteesi nimi näkyy asentamillesi sovelluksille. Myös muut käyttäjät voivat nähdä nimen, kun muodostat Bluetooth-yhteyden laitteisiin, yhteyden Wi-Fi-verkkoon tai aktivoit Wi-Fi-hotspotin."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Kieliopillinen suku"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Valitse kieliopillinen suku"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Audion jakaminen on lopetettu"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Yhdistä yhteensopiva laite"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Jos haluat jakaa audiota, yhdistä ensin LE Audio ‑kuulokkeet puhelimeen"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Vaihda: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Yhdistä LE Audio ‑striimiin"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Lähellä olevat audiostriimit"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Audiostriimit"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Kuuntele striimiä"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Skannaa QR-koodi, niin <xliff:g id="DEVICE_NAME">%1$s</xliff:g> voi toistaa audiostriimiä"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Salasanaa ei voi muokata jakamisen aikana. Jos haluat vaihtaa salasanaa, laita ensin audionjako pois päältä."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR-koodiskanneri"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Tarvitsetko apua?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Hae asetuksia"</string>
 </resources>
diff --git a/res/values-fr-rCA-feminine/strings.xml b/res/values-fr-rCA-feminine/strings.xml
new file mode 100644
index 0000000..9378621
--- /dev/null
+++ b/res/values-fr-rCA-feminine/strings.xml
@@ -0,0 +1,27 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="show_dev_countdown" msgid="2936506773086395069">"{count,plural, =1{Plus que # étape pour être développeuse.}one{Plus que # étape pour être développeuse.}other{Plus que # étapes pour être développeuse.}}"</string>
+    <string name="show_dev_on" msgid="2840850085134853754">"Vous êtes maintenant développeuse!"</string>
+    <string name="show_dev_already" msgid="7041756429707644630">"Inutile, vous êtes déjà développeuse."</string>
+    <string name="wifi_settings_wep_networks_disconnect_summary" msgid="6894496037087903635">"Vous êtes connectée à un réseau WEP. Si vous arrêtez d\'autoriser ces réseaux, vous serez déconnectée."</string>
+    <string name="vpn_replace_vpn_message" msgid="1094297700371463386">"Vous êtes déjà connectée à un RPV. Si vous vous connectez à un RPV différent, votre RPV actuel sera remplacé."</string>
+    <string name="users_summary" msgid="8473589474976307510">"Connectée en tant que <xliff:g id="USER_NAME">%1$s</xliff:g>"</string>
+    <string name="bluetooth_message_access_dialog_content" msgid="7186694737578788487">"Un appareil Bluetooth, <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>, souhaite accéder à vos messages.\n\nVous ne vous êtes jamais connectée à <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> auparavant."</string>
+    <string name="bluetooth_phonebook_access_dialog_content" msgid="959658135522249170">"Un appareil Bluetooth, <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>, souhaite accéder à vos contacts et à votre journal d\'appels. Cela comprend des données à propos des appels entrants et sortants.\n\nVous ne vous êtes jamais connectée à <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> auparavant."</string>
+</resources>
diff --git a/res/values-fr-rCA-masculine/strings.xml b/res/values-fr-rCA-masculine/strings.xml
new file mode 100644
index 0000000..3016eaa
--- /dev/null
+++ b/res/values-fr-rCA-masculine/strings.xml
@@ -0,0 +1,27 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="show_dev_countdown" msgid="2936506773086395069">"{count,plural, =1{Plus que # étape pour être développeur.}one{Plus que # étape pour être développeur.}other{Plus que # étapes pour être développeur.}}"</string>
+    <string name="show_dev_on" msgid="2840850085134853754">"Vous êtes maintenant développeur!"</string>
+    <string name="show_dev_already" msgid="7041756429707644630">"Inutile, vous êtes déjà développeur."</string>
+    <string name="wifi_settings_wep_networks_disconnect_summary" msgid="6894496037087903635">"Vous êtes connecté à un réseau WEP. Si vous arrêtez d\'autoriser ces réseaux, vous serez déconnecté."</string>
+    <string name="vpn_replace_vpn_message" msgid="1094297700371463386">"Vous êtes déjà connecté à un RPV. Si vous vous connectez à un RPV différent, votre RPV actuel sera remplacé."</string>
+    <string name="users_summary" msgid="8473589474976307510">"Connecté en tant que <xliff:g id="USER_NAME">%1$s</xliff:g>"</string>
+    <string name="bluetooth_message_access_dialog_content" msgid="7186694737578788487">"Un appareil Bluetooth, <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>, souhaite accéder à vos messages.\n\nVous ne vous êtes jamais connecté à <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> auparavant."</string>
+    <string name="bluetooth_phonebook_access_dialog_content" msgid="959658135522249170">"Un appareil Bluetooth, <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>, souhaite accéder à vos contacts et à votre journal d\'appels. Cela comprend des données à propos des appels entrants et sortants.\n\nVous ne vous êtes jamais connecté à <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> auparavant."</string>
+</resources>
diff --git a/res/values-fr-rCA-neuter/strings.xml b/res/values-fr-rCA-neuter/strings.xml
new file mode 100644
index 0000000..f8ed711
--- /dev/null
+++ b/res/values-fr-rCA-neuter/strings.xml
@@ -0,0 +1,27 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="show_dev_countdown" msgid="2936506773086395069">"{count,plural, =1{Plus que # étape pour être développeur ou développeuse.}one{Plus que # étape pour être développeur ou développeuse.}other{Plus que # étapes pour être développeur ou développeuse.}}"</string>
+    <string name="show_dev_on" msgid="2840850085134853754">"Vous êtes maintenant développeur·euse!"</string>
+    <string name="show_dev_already" msgid="7041756429707644630">"Inutile, vous êtes déjà un développeur·euse."</string>
+    <string name="wifi_settings_wep_networks_disconnect_summary" msgid="6894496037087903635">"Vous êtes connecté·e à un réseau WEP. Si vous arrêtez d\'autoriser ces réseaux, vous serez déconnecté·e."</string>
+    <string name="vpn_replace_vpn_message" msgid="1094297700371463386">"Vous disposez déjà d\'une connexion à un RPV. Si vous vous connectez à un RPV différent, votre RPV actuel sera remplacé."</string>
+    <string name="users_summary" msgid="8473589474976307510">"Connecté·e en tant que <xliff:g id="USER_NAME">%1$s</xliff:g>"</string>
+    <string name="bluetooth_message_access_dialog_content" msgid="7186694737578788487">"Un appareil Bluetooth, <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>, souhaite accéder à vos messages.\n\nVous ne vous êtes jamais connecté·e à <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> auparavant."</string>
+    <string name="bluetooth_phonebook_access_dialog_content" msgid="959658135522249170">"Un appareil Bluetooth, <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>, souhaite accéder à vos contacts et à votre journal d\'appels. Cela comprend des données à propos des appels entrants et sortants.\n\nVous ne vous êtes jamais connecté·e à <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> auparavant."</string>
+</resources>
diff --git a/res/values-fr-rCA/arrays.xml b/res/values-fr-rCA/arrays.xml
index 450e4de..12749a5 100644
--- a/res/values-fr-rCA/arrays.xml
+++ b/res/values-fr-rCA/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Heure du coucher"</item>
-    <item msgid="4152450357280759894">"En conduite"</item>
-    <item msgid="7096549258219399423">"Immersif"</item>
-    <item msgid="2760716776980432977">"Gérée"</item>
-    <item msgid="601734478369121764">"Étoile"</item>
-    <item msgid="6243809315432780521">"Agenda"</item>
-    <item msgid="4913577903148415331">"Heure"</item>
-    <item msgid="3653377604690057780">"Théâtre"</item>
-    <item msgid="3843711267408385410">"Fleur"</item>
+    <item msgid="1216815120972438676">"Mallette"</item>
+    <item msgid="184985872234062767">"Bâtiment classique"</item>
+    <item msgid="9189550412466785530">"Bâtiment résidentiel"</item>
+    <item msgid="2142527562511049422">"Bulle de texte"</item>
+    <item msgid="2548100558260478605">"Groupe de personnes"</item>
+    <item msgid="2270003903304578284">"Ampoule"</item>
+    <item msgid="4793496619091161864">"Agenda"</item>
+    <item msgid="5673625795644364100">"Ne pas déranger"</item>
+    <item msgid="1423820834865831361">"Personne qui court"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Haltères d\'entraînement"</item>
+    <item msgid="2730180105015616518">"Natation"</item>
+    <item msgid="2666922823253345958">"Personne faisant de la randonnée pédestre"</item>
+    <item msgid="8234880356472211396">"Personne lançant un ballon"</item>
+    <item msgid="4642980625253001443">"Personne donnant un coup de pied"</item>
+    <item msgid="4324795269518833500">"Manette de jeu"</item>
+    <item msgid="7789966425125441125">"Palette de couleurs d\'un artiste"</item>
+    <item msgid="663512680597461570">"Flocon de neige"</item>
+    <item msgid="7952183800501346803">"Parasol"</item>
+    <item msgid="799139025758265891">"Outils d\'atelier"</item>
+    <item msgid="1330084588359129896">"Tente"</item>
+    <item msgid="3861584909935022342">"Pellicule de film"</item>
+    <item msgid="5827426100157335512">"Livre"</item>
+    <item msgid="8585828346253128384">"Fleur de lotus"</item>
+    <item msgid="8788370542815300188">"Esprit d\'une personne"</item>
+    <item msgid="7287354964767553293">"Casque d\'écoute"</item>
+    <item msgid="2530059623783800987">"Téléviseur"</item>
+    <item msgid="5307182323469376758">"Train"</item>
+    <item msgid="4903790544026923026">"Voiture"</item>
+    <item msgid="5010405583912314582">"Fourchette et couteau"</item>
+    <item msgid="8939998598599064900">"Panier de magasinage"</item>
+    <item msgid="3379605903308731893">"Enfant"</item>
+    <item msgid="7808668968550293112">"Patte d\'animal"</item>
+    <item msgid="1000692647524056504">"Badge d\'étoile"</item>
+    <item msgid="8270261073421676502">"Deux personnes"</item>
+    <item msgid="5767782819651505460">"Étoile"</item>
+    <item msgid="4368451291862729334">"Cœur"</item>
+    <item msgid="2613199102208419986">"Maison"</item>
+    <item msgid="3022279986430275040">"Demi-lune"</item>
+    <item msgid="5421089790869483206">"Horloge"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index fce999f..a2a4604 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspendu"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Inconnu"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Aperçu"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"Code QR"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Toujours"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Paramètres de l\'appareil auditif"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Raccourci, compatibilité avec les prothèses auditives"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Préréglage"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Aucun préréglage n\'a été programmé par votre audiologiste"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Impossible de mettre à jour le préréglage"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Sortie audio"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"À propos de la sortie audio"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"La sélection de la langue pour cette appli n\'est pas accessible à partir des paramètres."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"La langue peut différer des langues offertes dans l\'appli. Certaines applis peuvent ne pas prendre en charge ce paramètre."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Configurez la langue pour chaque appli."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Le système, les applis et les sites Web utilisent la première langue prise en charge parmi vos langues préférées."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Votre appareil, vos applis et vos sites Web utilisent la première langue prise en charge dans votre liste de langues préférées.\n\nDe nombreuses applis utilisent également la région de votre langue préférée pour formater les dates, les nombres et les unités. Pour changer de région, ajoutez une langue, puis choisissez votre région préférée."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Pour sélectionner une langue pour chaque appli, consultez les paramètres de langue des applis."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"En savoir plus sur les langues des applis"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Sélectionner %s comme langue du système?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Désactivé"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Activée / # appli a accès à la position}one{Activée / # appli a accès à la position}other{Activée / # applis ont accès à la position}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Chargement en cours…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Les applis qui disposent de l\'autorisation de détection des appareils à proximité peuvent déterminer la position relative des appareils connectés."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Les applis qui possèdent l\'autorisation de détection des appareils à proximité peuvent déterminer la position relative des appareils connectés."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"L\'accès à la position est désactivé pour les applis et les services. La position de votre appareil pourrait quand même être envoyée aux intervenants d\'urgence lorsque vous appelez ou textez un numéro d\'urgence."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"En savoir plus sur les paramètres de localisation"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Pour modifier cela, accédez à Paramètres ChromeOS &gt; Confidentialité et sécurité &gt; Paramètres de confidentialité &gt; Accès à la localisation"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"<xliff:g id="WATCH">%s</xliff:g> et visage ajoutés"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Empreinte digitale, <xliff:g id="WATCH">%s</xliff:g> et visage ajoutés"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Empreintes digitales, <xliff:g id="WATCH">%s</xliff:g> et visage ajoutés"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"La vérification de l\'identité est activée et requiert des données biométriques"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Déverrouiller Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Montre ajoutée"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Configurer votre montre"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"En savoir plus sur le Déverrouillage à l\'aide d\'une montre"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Ajouter une montre"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Retirer une montre"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Déverrouillage empreinte digitale et reconnaissance faciale"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Déverr. par reconn. faciale et empreinte digitale"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Déverrouillage par recon. faciale et emp. digitale pour le travail"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Configuration requise"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Empreintes digitales et visage ajoutés"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Configuration de l\'Espace privé en cours…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Impossible de configurer un Espace privé"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Réessayer"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Quitter"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"L\'espace privé n\'est pas accessible.\nAfficher les causes possibles"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Afficher les causes possibles"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Choisir un nouveau verrou pour l\'Espace privé?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Vous pouvez définir un nouveau verrou réservé à l\'Espace privé ou utiliser le même verrou utilisé pour déverrouiller votre appareil."</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Utiliser le Verrouillage de l\'écran"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Lorsque le Bluetooth est activé, votre appareil peut communiquer avec d\'autres appareils Bluetooth à proximité.\n\nPour améliorer l\'expérience d\'utilisation de l\'appareil, les applis et les services peuvent continuer de rechercher les appareils à proximité en tout temps, même si le Bluetooth est désactivé. Cette autorisation peut permettre, par exemple, d\'améliorer les fonctionnalités et les services reposant sur la localisation. Vous pouvez modifier cette option dans les paramètres de recherche Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Si le Bluetooth est activé, votre appareil peut communiquer avec d\'autres appareils Bluetooth à proximité. Les fonctionnalités comme Partage rapide et Localiser mon appareil utilisent le Bluetooth.\n\nLes applis et les services peuvent continuer de rechercher les appareils à proximité en tout temps, même si le Bluetooth est désactivé. Cela peut permettre, par exemple, d\'améliorer les fonctionnalités et les services reposant sur la localisation. Vous pouvez modifier cette option dans les paramètres de recherche d\'appareils Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Modifier"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Détails de l\'appareil"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Paramètres du clavier"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Plus de paramètres"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Mises à jour du micrologiciel, à propos et plus"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Astuces et assistance"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Adresse Bluetooth de l\'appareil : <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Adresse Bluetooth de l\'appareil :\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Oublier l\'appareil?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Expérimental. Améliore l\'audio."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Oublier l\'appareil"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Déconnecter l\'appli"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Plus de paramètres"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Maximum d\'appareils audio Bluetooth connectés"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Sélectionnez le nombre maximal d\'appareils Bluetooth connectés"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Journal de débogage détaillé des fournisseurs CCP"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Redémarrer l\'appareil?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Les détails de la journalisation CCP sont enregistrés à des fins de développement uniquement. Des données CCP supplémentaires sont comprises dans les rapports de bogue, qui peuvent contenir des renseignements confidentiels. Redémarrez votre appareil pour modifier ce paramètre."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Redémarrer"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Activé"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Désactivé"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Écran externe"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Utiliser un écran externe"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Résolution de l\'écran"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"L\'écran externe est déconnecté"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Rotation"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standard"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Changer la rotation ou la résolution pourrait arrêter toute appli en cours d\'exécution"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Votre appareil doit être connecté à un écran externe pour dupliquer votre écran"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Autres options"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Diffusion"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"miroir"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Activer l\'affichage sans fil"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptatives"</string>
     <string name="brightness" msgid="6216871641021779698">"Niveau de luminosité"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Luminosité adaptative"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"À propos de la luminosité adaptative"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"La luminosité de votre écran s\'adapte automatiquement à votre environnement et à vos activités. Vous pouvez déplacer le curseur manuellement pour aider la luminosité adaptative à apprendre vos préférences."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Activé"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Désactivée"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Utiliser <xliff:g id="CARRIER">%1$s</xliff:g> pour les donn. cell.?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Vous utilisez <xliff:g id="CARRIER2_0">%2$s</xliff:g> pour les données cellulaires. Si vous passez à <xliff:g id="CARRIER1">%1$s</xliff:g>, <xliff:g id="CARRIER2_1">%2$s</xliff:g> ne sera plus utilisé pour les données cellulaires."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Utiliser le réseau de <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Modifier la SIM préférée?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"La carte <xliff:g id="NEW_SIM">%1$s</xliff:g> est la seule carte SIM dans votre appareil. Voulez-vous l\'utiliser pour les données cellulaires, les appels et les messages texte?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"La carte <xliff:g id="NEW_SIM">%1$s</xliff:g> est maintenant votre carte SIM principale"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Améliorer couv. données cell.?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Autorisez votre téléphone à passer automatiquement à <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> pour les données cellulaires en cas de meilleure disponibilité."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Les appels, les messages et le trafic réseau peuvent être visibles pour votre organisation."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Options"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibilité"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Clavier physique"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Utiliser le clavier à l\'écran"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Afficher lorsque le clavier physique est activé"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Touches non répétées"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Le clavier ignore les appuis répétés rapidement sur les touches de la même clé dans un délai de <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Touches lentes"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Règle le temps nécessaire pour qu\'un appui sur une touche soit activé à <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Touches rémanentes"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Appuyer sur une clé à la fois pour activer les raccourcis plutôt que de maintenir plusieurs touches enfoncées en même temps"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Touches de la souris"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Utiliser le clavier physique pour contrôler la souris"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Raccourcis clavier"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Afficher la liste de raccourcis"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Claviers et outils pour le profil professionnel"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Personna. les gestes individuels de navigation du pavé tactile"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Défilement inversé"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Le contenu remonte lorsque la page défile vers le bas"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Toucher en bas à droite"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Touch. coin inférieur droit (pavé tactile) pour plus d\'options"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Cliquez en bas à droite"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Cliquez dans le coin inférieur droit du pavé tactile pour plus d\'options"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Vitesse du pointeur"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Style de remplissage du pointeur"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Changez le style du pointeur à noir"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Changez style du pointeur à jaune"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Changez le style du pointeur à rose"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Changez le style du pointeur à bleu"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Style de trait du pointeur"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Blanc"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Noir"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Aucun"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Apprendre les gestes du pavé tactile"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"pavé tactile, souris, curseur, faire défiler, balayer, faire un clic droit, cliquer, pointeur"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"faire un clic droit, toucher"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Réinitialiser"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Choisir la touche de modification"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Choisir une nouvelle touche pour <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> :"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Mise en page <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Par défaut"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatique : <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Utilisateur sélectionné : <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Parole"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Vitesse du pointeur"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Échelle du pointeur"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Diminuer l\'échelle du pointeur"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Augmenter l\'échelle du pointeur"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Manette de jeu"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Rediriger les vibrations"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Rediriger les vibrations vers la manette de jeu lorsqu\'elle est connectée"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continuer quand même"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Annuler"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Paramètres d\'agrandissement"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Effectuez un panoramique avec un doigt"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Bouger la Loupe avec un doigt"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Glissez un doigt pour vous déplacer sur l\'écran"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Déplacez la zone d\'agrand. en faisant glisser un doigt."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Déplacez la zone d\'agrand. en faisant glisser deux doigts."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Non disponible lorsque vous agrandissez seulement une partie de l\'écran"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Touchez un bouton pour zoomer"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Zoomez rapidement pour agrandir le contenu"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Pour zoomer :&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Utilisez le raccourci pour commencer l\'agrandissement&lt;br/&gt; {1,number,integer}. Touchez l\'écran&lt;br/&gt; {2,number,integer}. Faites glisser deux doigts pour naviguer dans l\'écran&lt;br/&gt; {3,number,integer}. Pincez l\'écran avec deux doigts pour ajuster le zoom&lt;br/&gt; {4,number,integer}. Utilisez le raccourci pour arrêter l\'agrandissement&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Pour zoomer temporairement :&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Assurez-vous que le type d\'agrandissement est défini à plein écran&lt;br/&gt; {1,number,integer}. Utilisez le raccourci pour commencer l\'agrandissement&lt;br/&gt; {2,number,integer}. Maintenez le doigt sur une zone de l\'écran&lt;br/&gt; {3,number,integer}. Faites glisser un doigt pour naviguer dans l\'écran&lt;br/&gt; {4,number,integer}. Levez le doigt pour arrêter l\'agrandissement"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Pour zoomer, procédez comme suit :&lt;/b&gt;&lt;br/&gt; {0,number,integer} Utilisez le raccourci pour commencer l\'agrandissement&lt;br/&gt; {1,number,integer}. Touchez l\'écran&lt;br/&gt; {2,number,integer}. Faites glisser deux doigts pour naviguer dans l\'écran&lt;br/&gt; {3,number,integer}. Pincez l\'écran avec deux doigts pour ajuster le zoom&lt;br/&gt; {4,number,integer}. Utilisez le raccourci pour arrêter l\'aggrandissement&lt;br/&gt;&lt;br/&gt; Vous pouvez aussi zoomer temporairement et plus."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Pour zoomer, procédez comme suit :&lt;/b&gt;&lt;br/&gt; {0,number,integer} Utilisez le raccourci pour commencer l\'agrandissement&lt;br/&gt; {1,number,integer}. Touchez l\'écran&lt;br/&gt; {2,number,integer}. Faites glisser un ou deux doigts pour naviguer dans l\'écran&lt;br/&gt; {3,number,integer}. Pincez l\'écran avec deux doigts pour ajuster le zoom&lt;br/&gt; {4,number,integer}. Utilisez le raccourci pour arrêter l\'aggrandissement&lt;br/&gt;&lt;br/&gt; Vous pouvez aussi zoomer temporairement et plus."</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_pager" msgid="8461939455728454061">"Page <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> sur <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Raccourci du bouton d\'accessibilité"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Touchez le bouton flottant"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Geste d\'accessibilité"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Touchez le bouton d\'accessibilité <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> au bas de l\'écran. Pour basculer entre les fonctionnalités, maintenez le doigt sur le bouton d\'accessibilité."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Balayez l\'écran de bas en haut avec deux doigts.\n\nPour basculer entre les fonctionnalités, balayez l\'écran vers le haut avec deux doigts et maintenez la pression."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Balayez l\'écran de bas en haut avec trois doigts.\n\nPour basculer entre les fonctionnalités, balayez l\'écran vers le haut avec trois doigts et maintenez-les-y."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Balayez votre écran du bas vers le haut. Pour basculer entre les fonctionnalités, balayez l\'écran vers le haut et maintenez le doigt en place.}one{Balayez l\'écran du bas vers le haut avec # doigt. Pour basculer entre les fonctionnalités, balayez l\'écran vers le haut avec # doigt et maintenez-le en place.}other{Balayez l\'écran du bas vers le haut avec # doigts. Pour basculer entre les fonctionnalités, balayez l\'écran vers le haut avec # doigts et maintenez-les en place.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Autres options"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"En savoir plus sur <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Touches de volume"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"touches de volume"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Maintenez enfoncées les deux touches de volume"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Toucher deux fois l\'écran avec deux doigts"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Toucher deux fois avec %1$d doigts"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Touchez rapidement l\'écran deux fois avec %1$d doigts"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Toucher trois fois"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Touchez rapidement l\'écran %1$d fois. Cela pourrait ralentir votre appareil."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"toucher deux fois avec %1$d doigts"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Touchez rapidement l\'écran {0,number,integer} fois avec deux doigts"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Toucher l\'écran trois fois"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"toucher trois fois"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Touchez rapidement l\'écran {0,number,integer} fois. Ce raccourci peut 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 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Paramètres du raccourci"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Raccourci à l\'écran de verrouillage"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Autorisez le raccourci à activer la fonctionnalité à l\'écran de verrouillage. Pour cela, maintenez enfoncées les deux touches de volume pendant quelques secondes."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Bouton d\'accessibilité"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Bouton d\'accessibilité et geste"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Ce service est défectueux."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Raccourcis d\'accessibilité"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Afficher dans la fenêtre de configuration rapide"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rouge-vert"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Rouge-vert"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Rouge-vert, vert faible"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Rouge-vert, rouge faible"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Bleu-jaune"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Nuances de gris"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensité"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Vert faible, deutéranomalie"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Rouge faible, protanomalie"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Inaccessible en mode Nuances de gris ou lorsque la correction des couleurs est désactivée"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Très sombre"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Activer la réduction suppl. de la luminosité"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Cyan"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Jaune"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Permettre au service <xliff:g id="SERVICE">%1$s</xliff:g> de contrôler complètement votre appareil?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> doit pouvoir :"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Une appli obscurcit une demande d\'autorisation, alors Paramètres ne peut pas vérifier votre réponse."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> demande l\'autorisation de contrôler cet appareil. Le service peut lire l\'écran et agir pour les utilisateurs qui font appels aux fonctions d\'accessibilité. Ce niveau de contrôle ne convient pas à la majorité des applis."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Le contrôle total convient aux applis qui répondent à vos besoins d\'accessibilité. Il ne convient pas à la plupart des applis."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Afficher et contrôler l\'écran"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Cette fonctionnalité peut lire tout le contenu à l\'écran et afficher du contenu par-dessus d\'autres applis."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Afficher et effectuer des actions"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Cette fonctionnalité peut faire le suivi de vos interactions avec une appli ou un capteur matériel et interagir avec des applis en votre nom."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Autoriser"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Refuser"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Désactiver"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Activé : <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> et <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Vous pouvez également activer le Son spatial pour les appareils Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Paramètres des appareils connectés"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Son spatial"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Désactivé"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Désactivé"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Désactivé"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Aucun}=1{1 horaire programmé}one{# horaire programmé}other{# horaires programmés}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Ne pas déranger"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Modes prioritaires"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Ajouter un mode"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Modes"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Réduisez les distractions et prenez le contrôle de votre attention à l\'aide des modes pour le sommeil, le travail, la conduite et tout ce qu\'il y a entre les deux."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Créez votre propre mode"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Recevez uniquement les notifications des personnes et des applis importantes"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Définir un horaire"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Horaire en fonction de"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Jour et heure"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"« 9 h à 17 h les jours de semaine »"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Événements d\'agenda"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{Le mode {mode_1} est actif}=2{Les modes {mode_1} et {mode_2} sont actifs}=3{Les modes {mode_1}, {mode_2} et {mode_3} sont actifs}one{Les modes {mode_1}, {mode_2}, et # autre sont actifs}other{Les modes {mode_1}, {mode_2}, et # autres sont actifs}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 mode peut s\'activer automatiquement}one{# mode peut s\'activer automatiquement}other{# modes peuvent s\'activer automatiquement}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ACTIVÉ"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Non défini"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Désactivé"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Créer un mode"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Personnalisé"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Activer maintenant"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Désactiver"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Mode non trouvé"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limiter les interruptions"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Bloquez les interruptions et les distractions"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Configurer le mode <xliff:g id="MODE">%1$s</xliff:g>"</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_alarms_only" msgid="2956938533859578315">"Les alarmes et les sons des éléments multimédias peuvent provoquer des interruptions"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Horaires"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Supprimer les horaires"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Supprimer"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Renommer"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Supprimer"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Supprimer le mode « <xliff:g id="MODE">%1$s</xliff:g> »?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Modifier"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Horaires"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Horaire"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Activer automatiquement"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Ajoutez un agenda"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Utiliser votre agenda"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Programme"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Définissez un horaire"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Quand l\'activer automatiquement"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Programme de l\'événement"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Activez lors des événements pour"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Là où la réponse à l\'invitation est"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Calendrier de l\'horaire"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Programmer"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Horaire"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Autoriser les interruptions qui émettent des sons"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Des notifications qui peuvent vous parvenir"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Actions supplémentaires"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Filtres de notification"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Plus de paramètres"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Désactivé}=1{Désactivé : 1 mode peut s\'activer automatiquement}one{Désactivé : # mode peut s\'activer automatiquement}other{Désactivé : # modes peuvent s\'activer automatiquement}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Paramètres d\'affichage"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Options d\'affichage"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Nuances de gris"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"activer le thème sombre"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Faire en sorte que le SE et les applis utilisent plutôt une écriture pâle sur un fond foncé, ce qui peut être plus doux pour les yeux et permettre une économie considérable de la pile sur certains appareils"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Aucune modification apportée à l\'affichage}=1{{effect_1}}=2{{effect_1} et {effect_2}}=3{{effect_1}, {effect_2} et {effect_3}}one{{effect_1}, {effect_2} et # autre}other{{effect_1}, {effect_2} et # autres}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Autoriser toutes les notifications"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Les personnes, les applis et les sons peuvent provoquer des interruptions"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Afficher les options pour les notifications filtrées"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Quand le mode Ne pas déranger est activé"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Aucun son des notifications"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"ouvrir la notification"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Autoriser le report des notifications"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Pastille de notification sur l\'icône de l\'appli"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Groupes de notifications"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bulles"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bulles"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Afficher cette conversation sous forme de bulles"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Elle peut répondre aux messages et agir sur les boutons dans les notifications, y compris faire répéter ou ignorer des notifications et répondre à des appels."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Modifier les paramètres"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Elle peut activer ou désactiver la fonctionnalité Ne pas déranger et modifier les paramètres connexes."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Il peut gérer et activer les modes, et modifier les paramètres associés."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Si vous désactivez l\'accès aux notifications pour <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, l\'accès au mode Ne pas déranger peut également être désactivé."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Si vous désactivez l\'accès aux notifications pour <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, l\'accès aux modes peut également être désactivé."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Désactiver"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Annuler"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"En temps réel"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Cette appli ne prend pas en charge les paramètres améliorés"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Plus de paramètres"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Plus de paramètres sont accessibles dans cette appli"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Notifications adaptatives"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Utiliser les notifications adaptatives"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Lorsque vous recevez de nombreuses notifications dans un court laps de temps, votre téléphone baisse le volume et réduit les fenêtres contextuelles à l\'écran pendant deux minutes maximum. Les appels, les alarmes et les conversations prioritaires continuent de vibrer, d\'émettre un son ou de s\'afficher à l\'écran, et toutes les notifications sont faciles à trouver lorsque vous faites glisser le volet des notifications vers le bas."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Période de stabil. des notif."</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Utiliser l\'atténuation des notifications"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Lorsque vous recevez de nombreuses notifications pendant un court laps de temps, votre appareil baisse le volume et réduit les alertes pour une période maximale de deux minutes. Les appels, les alarmes et les conversations prioritaires ne sont pas concernés par cette mesure. \n\nLes notifications reçues pendant cette période peuvent être affichées en faisant glisser votre doigt du haut de l\'écran vers le bas."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Appliquer aux profils professionnels"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"L\'appliquer aux applis du profil professionnel"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Services d\'assistance pour la réalité virtuelle"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Accès à Ne pas déranger"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Autoriser le mode Ne pas déranger"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Aune appli installée n\'a demandé l\'accès au mode « Ne pas déranger »"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Accès aux modes"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Autoriser l\'accès aux modes"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Aucune demande d\'accès aux modes n\'a été envoyée pour les applis installées"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Vous n\'avez pas autorisé les notifications de cette appli"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"À votre demande, Android empêche cette catégorie de notifications de s\'afficher sur cet appareil"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"À votre demande, Android empêche ce groupe de notifications de s\'afficher sur cet appareil"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Catégories"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Autre"</string>
     <string name="no_channels" msgid="4716199078612071915">"Cette appli n\'a publié aucune notification"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Afficher les catégories inutilisées"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Paramètres supplémentaires dans l\'appli"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Afficher les catégories inutilisées"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Masquer les catégories inutilisées"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> à <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversations"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Toutes les conversations"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"toutes les conversations"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Conversations prioritaires"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"conversations prioritaires"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Aucune"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Applis qui peuvent provoquer des interruptions"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Applis sélectionnées"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Aucune"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Tout"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Aucune appli ne peut provoquer d\'interruption}=1{{app_1} peut provoquer des interruptions}=2{{app_1} et {app_2} peuvent provoquer des interruptions}=3{{app_1}, {app_2} et {app_3} peuvent provoquer des interruptions}one{{app_1}, {app_2} et # autre appli peuvent provoquer des interruptions}other{{app_1}, {app_2} et # autres applis peuvent provoquer des interruptions}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (professionnel)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Calcul en cours…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Autoriser les applis à ignorer le mode Ne pas déranger"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Applis qui peuvent provoquer des interruptions"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Sélectionner plus d\'applis"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Rien ne peut provoquer d\'interruption"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Personne ne peut provoquer d\'interruption"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Certaines personnes peuvent provoquer des interruptions"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Les appelants fréquents peuvent vous interrompre"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Tout le monde peut provoquer des interruptions"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Appelants fréquents"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Autoriser les appels répétés"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Ne recevoir que les alarmes pendant une heure jusqu\'à {time}}one{Ne recevoir que les alarmes pendant # heure jusqu\'à {time}}other{Ne recevoir que les alarmes pendant # heures jusqu\'à {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Ne recevoir que les alarmes jusqu\'à <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Activer le mode Toujours interrompre"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Renommer"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Changer d\'icône"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Changer d\'icône"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Modifier le mode"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Créer un mode"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Mode personnalisé"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Nom du mode"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Événements d\'agenda"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Routine Heure du coucher"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"En conduisant"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Paramètres de l\'appli"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Renseignements et paramètres dans <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Géré par <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Désactiver <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Ce mode ne s\'activera jamais lorsqu\'il est désactivé"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Désactiver"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Voulez-vous activer <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Ce mode peut s\'activer automatiquement en fonction des paramètres"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Activer"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Définir un mode qui suit un programme régulier"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Définir un mode qui se synchronise avec les événements d\'agenda et les réponses aux invitations"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Créez une routine de sommeil apaisante. Réglez des alarmes, atténuez la luminosité de l\'écran et bloquez les notifications."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Donner la priorité à la sécurité sur la route pour une conduite attentive et sans distraction"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Bloquer les distractions ou les interruptions de votre appareil pour mieux vous concentrer"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Éliminer toutes les distractions pour créer un environnement calme"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Personnaliser l\'expérience et les paramètres de l\'appareil pour différents utilisateurs"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Réduire au minimum les interruptions en n\'autorisant que les personnes et les applis importantes à vous joindre"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Définissez un mode qui suit un programme régulier"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Gardez votre appareil synchronisé avec les événements de votre journée"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Réveillez-vous revigoré"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Faites passer la sécurité avant tout sur la route"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Concentrez-vous mieux pour entrer dans votre bulle"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Pour les moments où la politesse compte"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Une utilisation assistée pour vous aider à rester entre bonnes mains"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Prenez les commandes de votre attention"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Mise en garde"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Fermer"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Commentaires sur cet appareil"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Cette fonction doit rester activée, car l\'accès aux notifications est activé"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Révoquer l\'accès au mode Ne pas déranger pour <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Toutes les règles Ne pas déranger créées par cette appli seront supprimées."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Autoriser l\'accès aux modes pour <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"L\'appli pourra activer/désactiver la fonctionnalité Ne pas déranger, gérer et activer les modes, et modifier les paramètres associés."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Tous les modes créés par cette appli seront retirés."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Ne pas optimiser"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimiser"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Cela peut épuiser la pile de votre appareil plus rapidement. L\'appli pourra maintenant utiliser la pile en arrière-plan."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Étui"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Pile"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Panneau Paramètres"</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_desktop_mode" msgid="5644818402534562302">"Activer les fenêtres de forme libre"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Activer les fenêtres de forme libre sur l\'écran secondaire"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Activer éléments non redimensionnables en mode multi-fenêtre"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Activer les applis non redimensionnables en mode multi-fenêtre"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Forcer l\'activation du thème sombre forcé"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"données cellulaires"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Pour améliorer l\'expérience d\'utilisation de l\'appareil, les applis et les services peuvent continuer de rechercher les réseaux Wi-Fi en tout temps, même si le Wi-FI est désactivé. Cette autorisation peut permettre, par exemple, d\'améliorer les fonctionnalités et les services reposant sur la localisation. Vous pouvez modifier vos préférences dans les paramètres de recherche de réseaux Wi-Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Changer"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> : <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Connexion active"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Connectée temporairement"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Utilise temporairement <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Utiliser l\'Épinglage d\'appli"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Utiliser les options pour les développeurs"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Utiliser le service d\'impression"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Autoriser plusieurs utilisateurs"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Permettre le changement d\'utilisateur"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"autoriser, plusieurs, utilisateur, permettre, beaucoup"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"multiples, utilisateurs, profils, personnes, comptes, commutateur, plusieurs"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Utiliser le débogage sans fil"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> veut se connecter à ce téléphone.\n\nVous ne vous êtes jamais connecté à <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> auparavant."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Ne pas se connecter"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Se connecter"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Paramètres TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Activée"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Désactivée"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Rétablir les paramètres par défaut"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Les paramètres rétablis par défaut."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Solde maximal lors de la charge complète"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Soldes"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Limites de consommation"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Limite de consommation initiale"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Limite de consommation minimale"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Limite de consommation maximale"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modificateurs"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Actions (coût de production)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Actions (prix de base)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Récompenses par événement individuel"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Récomp. par seconde de durée de l\'évén."</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Maximum de récompenses par jour"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Installation d\'applis"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Activité principale"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Notification vue"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Notification vue dans les 15 minutes"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interaction avec la notification"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Interactions avec le widget"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Autre interaction avec l\'utilisateur"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Démarrage de tâche à priorité maximale"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Tâche à priorité maximale en cours…"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Démarrage de la tâche à priorité élevée"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Tâche à priorité élevée en cours…"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Démarrage de la tâche par défaut"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Tâche par défaut en cours…"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Démarrage de la tâche à priorité faible"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Tâche à priorité faible en cours…"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Démarrage de tâche à priorité minimale"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Tâche à priorité minimale en cours…"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Pénalité expiration du délai de la tâche"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Solde minimal avec une charge complète (exemptée)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Solde minimal avec une charge complète (appli système sans interface)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Solde minimal avec une charge complète (applis restantes)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Ajout de solde minimal avec une charge complète (outil de mise à jour de l\'appli)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Recharge"</item>
-    <item msgid="658627268149681677">"Sieste"</item>
-    <item msgid="1599558140284643834">"Mode Économie d\'énergie"</item>
-    <item msgid="588427840913221601">"État du traitement"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Confirmer"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Aperçu"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Choisir un écran de veille"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Afficher d\'autres informations"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Choisissez ce que vous voyez à l\'écran lorsque votre tablette est ancrée. Votre appareil peut consommer plus d\'énergie lorsqu\'un écran de veille est utilisé."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Personnaliser"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Personnaliser <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Vous devez redémarrer l\'appareil pour activer la prise en charge des fenêtres de forme libre."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Vous devez redémarrer l\'appareil pour forcer le mode Bureau sur des écrans secondaires."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Vous devez redémarrer l\'appareil pour activer la prise en charge des fenêtres de forme libre."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Un redémarrage est nécessaire pour mettre à jour la disponibilité des fenêtres de forme libre."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Un redémarrage est nécessaire pour activer les fenêtres de forme libre sur les écrans secondaires."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Redémarrer maintenant"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Redémarrer plus tard"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Son spatial"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Rose"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Violet"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Terminé"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Enregistrer"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Annuler"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Par défaut"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Moyen"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Activés"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Désactivée"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Activés"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Son %1$d%% à gauche, %2$d%% à droite"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Son %1$d%% à droite, %2$d%% à gauche"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Le nom de votre appareil est visible aux applis que vous avez installées. Il est également possible que d\'autres personnes voient le nom de votre appareil lorsque vous vous connectez à des appareils Bluetooth ou à un réseau Wi-Fi, ou lorsque vous configurez un point d\'accès Wi-Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Genre grammatical"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Sélectionnez un genre grammatical"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Partage audio arrêté"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Connecter un appareil compatible"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Pour commencer à partager l\'audio, connectez d\'abord les écouteurs LE Audio à votre téléphone"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Passer à <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Se connecter à un flux LE Audio"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Flux audio à proximité"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Flux audio"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Écouter le flux"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Balayez le code QR d\'un flux audio pour l\'écouter avec <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Impossible de modifier le mot de passe lors du partage. Pour modifier le mot de passe, désactivez d\'abord le partage audio."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Lecteur de code QR"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Besoin d\'aide?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Paramètres de recherche"</string>
 </resources>
diff --git a/res/values-fr/arrays.xml b/res/values-fr/arrays.xml
index 9e9fd5f..4a2e6e2 100644
--- a/res/values-fr/arrays.xml
+++ b/res/values-fr/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Coucher"</item>
-    <item msgid="4152450357280759894">"Conduite"</item>
-    <item msgid="7096549258219399423">"Immersif"</item>
-    <item msgid="2760716776980432977">"Géré"</item>
-    <item msgid="601734478369121764">"Étoile"</item>
-    <item msgid="6243809315432780521">"Calendrier"</item>
-    <item msgid="4913577903148415331">"Durée"</item>
-    <item msgid="3653377604690057780">"Cinéma"</item>
-    <item msgid="3843711267408385410">"Fleur"</item>
+    <item msgid="1216815120972438676">"Sacoche"</item>
+    <item msgid="184985872234062767">"Bâtiment classique"</item>
+    <item msgid="9189550412466785530">"Immeuble d\'appartements"</item>
+    <item msgid="2142527562511049422">"Bulle de texte"</item>
+    <item msgid="2548100558260478605">"Groupe de personnes"</item>
+    <item msgid="2270003903304578284">"Ampoule"</item>
+    <item msgid="4793496619091161864">"Agenda"</item>
+    <item msgid="5673625795644364100">"Ne pas déranger"</item>
+    <item msgid="1423820834865831361">"Personne qui court"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Haltère"</item>
+    <item msgid="2730180105015616518">"Natation"</item>
+    <item msgid="2666922823253345958">"Personne faisant de la randonnée"</item>
+    <item msgid="8234880356472211396">"Personne lançant une balle"</item>
+    <item msgid="4642980625253001443">"Personne donnant un coup de pied"</item>
+    <item msgid="4324795269518833500">"Manette de jeu"</item>
+    <item msgid="7789966425125441125">"Palette de couleurs d\'artiste"</item>
+    <item msgid="663512680597461570">"Flocon de neige"</item>
+    <item msgid="7952183800501346803">"Parasol"</item>
+    <item msgid="799139025758265891">"Outils d\'atelier"</item>
+    <item msgid="1330084588359129896">"Tente"</item>
+    <item msgid="3861584909935022342">"Bobine de film"</item>
+    <item msgid="5827426100157335512">"Livre"</item>
+    <item msgid="8585828346253128384">"Fleur de lotus"</item>
+    <item msgid="8788370542815300188">"Esprit d\'une personne"</item>
+    <item msgid="7287354964767553293">"Écouteurs"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Train"</item>
+    <item msgid="4903790544026923026">"Voiture"</item>
+    <item msgid="5010405583912314582">"Fourchette et couteau"</item>
+    <item msgid="8939998598599064900">"Panier"</item>
+    <item msgid="3379605903308731893">"Enfant"</item>
+    <item msgid="7808668968550293112">"Patte d\'animal"</item>
+    <item msgid="1000692647524056504">"Badge en forme d\'étoile"</item>
+    <item msgid="8270261073421676502">"Deux personnes"</item>
+    <item msgid="5767782819651505460">"Étoile"</item>
+    <item msgid="4368451291862729334">"Cœur"</item>
+    <item msgid="2613199102208419986">"Maison"</item>
+    <item msgid="3022279986430275040">"Demi-lune"</item>
+    <item msgid="5421089790869483206">"Horloge"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 38eba62..6818cd7 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Interrompu"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Inconnu"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Aperçu"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"Code QR"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Toujours"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Paramètres de l\'appareil auditif"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Raccourci, compatibilité avec les appareils auditifs"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Préréglages"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Votre spécialiste de l\'audition n\'a configuré aucun préréglage"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Impossible de mettre à jour les préréglages"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Sortie audio"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"À propos de la sortie audio"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"La sélection d\'une langue pour cette appli n\'est pas disponible depuis les paramètres."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"La langue peut différer de celles disponibles dans l\'appli. Certaines applis ne sont pas compatibles avec ce paramètre."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Définissez la langue pour chaque appli."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Votre système, vos applis et vos sites Web utilisent la première langue compatible de vos langues préférées."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Votre appareil, les applis et les sites Web utilisent la première langue prise en charge de votre liste de langues préférées.\n\nDe nombreuses applis se baseront également sur la région de votre langue préférée pour mettre en forme les dates, les nombres et les unités. Pour modifier votre région, ajoutez une langue, puis sélectionnez votre région préférée."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Pour sélectionner une langue pour chaque appli, accédez aux paramètres de langue de cette appli."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"En savoir plus sur les langues des applis"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Sélectionner %s comme langue du système ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Désactivé"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Activée/# appli a accès à la position}one{Activée/# appli a accès à la position}other{Activée/# applis ont accès à la position}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Chargement…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Les applis ayant l\'autorisation de détecter les appareils à proximité peuvent déterminer la position relative des appareils connectés."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Les applis ayant l\'autorisation de détecter les appareils à proximité peuvent déterminer la position relative des appareils connectés."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"L\'accès à la position est désactivé pour les applis et les services. La position de votre appareil peut toujours être envoyée aux services d\'urgence lorsque vous les contactez par téléphone ou SMS."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"En savoir plus sur les paramètres de localisation."</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Pour apporter des modifications, rendez-vous dans Paramètres de ChromeOS &gt; Confidentialité et sécurité &gt; Paramètres de confidentialité &gt; Accès à la position"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Déverrouillage par reconnaissance faciale et la <xliff:g id="WATCH">%s</xliff:g> ajouté"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Visage, empreinte digitale et <xliff:g id="WATCH">%s</xliff:g> ajoutés"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Visage, empreintes digitales et <xliff:g id="WATCH">%s</xliff:g> ajoutés"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"La vérification de l\'identité est activée et nécessite des données biométriques"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Déblocage de l\'authentificateur distant"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Montre ajoutée"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Configurer votre montre"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"En savoir plus sur le Déverrouillage par une montre"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Ajouter une montre"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Retirer la montre"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Déverrouillage par empreinte digitale et reconnaissance faciale"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Déverrouillage par reconnaissance faciale et empreinte digitale"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Déverrouillage par reco. faciale et empreinte pour le travail"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Configuration requise"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Visage et empreintes digitales ajoutés"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Configuration de l\'espace privé…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Impossible de configurer un espace privé"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Réessayer"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Quitter"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"L\'espace privé n\'est pas disponible.\nVoir les causes possibles"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Voir les causes possibles"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Changer la méthode de déverrouillage pour l\'espace privé ?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Vous pouvez définir une nouvelle méthode de déverrouillage uniquement pour l\'espace privé, ou utiliser celle qui vous permet de déverrouiller votre appareil"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Utiliser le déverrouillage de l\'écran"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Quand le Bluetooth est activé, votre appareil peut communiquer avec d\'autres appareils Bluetooth à proximité.\n\nQuand il ne l\'est pas, les applis et services peuvent quand même rechercher les appareils à proximité à tout moment, afin d\'améliorer l\'expérience, par exemple, les fonctionnalités et services basés sur la localisation. Vous pouvez modifier ce réglage dans les paramètres de recherche Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"L\'activation du Bluetooth permet à votre appareil de communiquer avec les appareils Bluetooth à proximité. Certaines fonctionnalités, telles que Quick Share et Localiser mon appareil, utilisent le Bluetooth.\n\nLes applis et services sont toujours en mesure de rechercher les appareils à proximité, même si le Bluetooth est désactivé. Cela peut servir, par exemple, à améliorer les services et fonctionnalités utilisant la localisation. Rendez-vous dans les paramètres de recherche Bluetooth pour modifier cela."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Modifier"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Infos sur l\'appareil"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Paramètres du clavier"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Plus de paramètres"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Mises à jour du micrologiciel, à propos, etc."</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Aide et conseils"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Adresse Bluetooth de l\'appareil : <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Adresse Bluetooth de l\'appareil :\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Dissocier l\'appareil ?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Expérimental. Améliore la qualité audio."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Dissocier l\'appareil"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Dissocier l\'appli"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Plus de paramètres"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Nombre maximal d\'appareils audio Bluetooth connectés"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Sélectionner le nombre maximal d\'appareils audio Bluetooth connectés"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Journaux de débogage NFC détaillé du fournisseur"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Redémarrer l\'appareil ?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"La journalisation des détails NFC est destinée exclusivement au développement. Des données NFC supplémentaires sont incluses dans les rapports de bug. Ils peuvent contenir des informations privées. Redémarrez votre appareil pour modifier ce paramètre."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Redémarrer"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Activé"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Désactivé"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Écran externe"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Utiliser un écran externe"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Résolution de l\'écran"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"L\'écran externe est déconnecté"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Rotation"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standard"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"La modification de la rotation ou de la résolution peut entraîner l\'arrêt des applis en cours d\'exécution"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Votre appareil doit être connecté à un écran externe pour dupliquer votre écran"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Autres options"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Cast"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"duplication d\'écran"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Activer l\'affichage sans fil"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptatives"</string>
     <string name="brightness" msgid="6216871641021779698">"Niveau de luminosité"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Luminosité adaptative"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"À propos de la luminosité adaptative"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"La luminosité de l\'écran s\'adapte automatiquement à votre environnement et à vos activités. Vous pouvez déplacer le curseur manuellement pour aider la fonctionnalité à apprendre vos préférences."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Activé"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Désactivé"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Utiliser <xliff:g id="CARRIER">%1$s</xliff:g> pour les données mobiles ?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Vous utilisez <xliff:g id="CARRIER2_0">%2$s</xliff:g> pour les données mobiles. Si vous basculez sur <xliff:g id="CARRIER1">%1$s</xliff:g>, <xliff:g id="CARRIER2_1">%2$s</xliff:g> ne sera plus utilisé pour les données mobiles."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Utiliser <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Modifier la SIM préférée ?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> est la seule SIM de votre appareil. Voulez-vous l\'utiliser pour les données mobiles, les appels et les SMS ?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> est désormais votre SIM principale"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Améliorer la couverture des données ?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Autorisez votre appareil à passer automatiquement sur <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> pour les données mobiles lorsque la disponibilité est meilleure."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Votre organisation est susceptible de voir les appels, les messages et le trafic réseau."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Options"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibilité"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Clavier physique"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Utiliser le clavier à l\'écran"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Afficher le clavier virtuel même lorsque le clavier physique est actif"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Touches à rebonds"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Le clavier ignore les frappes rapides et consécutives d\'une même touche dans un intervalle de <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Touches lentes"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Règle le temps de réponse d\'une pression de touche sur <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Touches persistantes"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Pour les raccourcis, appuyer sur une touche à la fois au lieu de maintenir les touches enfoncées"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Touches pour la souris"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Utiliser le clavier physique pour contrôler la souris"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Raccourcis clavier"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Afficher la liste des raccourcis"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Claviers et outils du profil professionnel"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Personnalisez les gestes individuels au pavé tactile"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Inverser le défilement"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Le contenu monte quand vous faites défiler vers le bas"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Appui en bas à droite"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Appuyez en bas à droite du pavé tactile pour plus d\'options"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Clic en bas à droite"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Pour plus d\'options, cliquez en bas à droite du pavé tactile"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Vitesse du pointeur"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Style de remplissage du pointeur"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Définir rempl. pointeur sur noir"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Définir rempl. pointeur sur jaune"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Définir rempl. pointeur sur rose"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Définir rempl. pointeur sur bleu"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Style de trait du pointeur"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Blanc"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Noir"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Aucun"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Découvrir gestes au pavé tactile"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"pavé tactile, pavé tactile, souris, curseur, faire défiler, balayer, clic droit, clic, pointeur"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"clic droit, appuyer"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Réinitialiser"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Choisir une touche de modification"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Choisir une nouvelle touche pour <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> :"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Mise en page <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Par défaut"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatique : <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Utilisateur sélectionné : <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Voix"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Vitesse du pointeur"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Échelle du pointeur"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Diminuer l\'échelle du pointeur"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Augmenter l\'échelle du pointeur"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Manette de jeu"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Vibreur pour la redirection"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Rediriger le vibreur vers la manette de jeu lorsque vous êtes connecté"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continuer"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Annuler"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Paramètres d\'agrandissement"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Défilement panoramique à un doigt"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Déplacer la loupe avec un doigt"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Faites glisser un doigt pour vous déplacer sur l\'écran."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Déplacez la zone d\'agrandissement en faisant glisser un doigt sur cette dernière."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Déplacez la zone d\'agrandissement en faisant glisser deux doigts sur cette dernière."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Indisponible lors de l\'agrandissement d\'une partie de l\'écran uniquement"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Appuyer sur un bouton pour zoomer"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Faites un zoom avant rapide sur l\'écran pour agrandir le contenu"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Pour faire un zoom avant :&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Utilisez le raccourci pour démarrer l\'agrandissement&lt;br/&gt; {1,number,integer}. Appuyez sur l\'écran&lt;br/&gt; {2,number,integer}. Faites glisser deux doigts pour vous déplacer sur l\'écran&lt;br/&gt; {3,number,integer}. Pincez avec deux doigts pour régler le zoom&lt;br/&gt; {4,number,integer}. Utilisez le raccourci pour arrêter l\'agrandissement&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Pour faire un zoom avant temporaire :&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Assurez-vous que le type d\'agrandissement est défini sur plein écran&lt;br/&gt; {1,number,integer}. Utilisez le raccourci pour démarrer l\'agrandissement&lt;br/&gt; {2,number,integer}. Appuyez de manière prolongée n\'importe où sur l\'écran&lt;br/&gt; {3,number,integer}. Faites glisser un doigt pour vous déplacer sur l\'écran&lt;br/&gt; {4,number,integer}. Relevez le doigt pour arrêter l\'agrandissement"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Pour faire un zoom avant :&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Utilisez le raccourci pour agrandir&lt;br/&gt; {1,number,integer}. Appuyez sur l\'écran&lt;br/&gt; {2,number,integer}. Faites glisser deux doigts pour vous déplacer sur l\'écran&lt;br/&gt; {3,number,integer}. Pincez avec les deux doigts pour régler le zoom&lt;br/&gt; {4,number,integer}. Utilisez le raccourci pour arrêter de zoomer&lt;br/&gt;&lt;br/&gt; Vous pouvez également faire un zoom avant temporaire, et plus encore."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Pour faire un zoom avant :&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Utilisez le raccourci pour agrandir&lt;br/&gt; {1,number,integer}. Appuyez sur l\'écran&lt;br/&gt; {2,number,integer}. Faites glisser un ou deux doigts pour vous déplacer sur l\'écran&lt;br/&gt; {3,number,integer}. Pincez avec les deux doigts pour régler le zoom&lt;br/&gt; {4,number,integer}. Utilisez le raccourci pour arrêter de zoomer&lt;br/&gt;&lt;br/&gt; Vous pouvez également faire un zoom avant temporaire, et plus encore."</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_pager" msgid="8461939455728454061">"Page <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> sur <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Raccourci du bouton Accessibilité"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Appuyez sur le bouton flottant"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Geste d\'accessibilité"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Appuyez sur le bouton Accessibilité (<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>) en bas de votre écran. Pour changer de fonctionnalité, appuyez de manière prolongée sur le bouton Accessibilité."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Balayez l\'écran de bas en haut avec deux doigts.\n\nPour changer de fonctionnalité, balayez l\'écran vers le haut avec deux doigts et appuyez de manière prolongée."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Balayez l\'écran de bas en haut avec trois doigts.\n\nPour changer de fonctionnalité, balayez l\'écran vers le haut avec trois doigts et appuyez de manière prolongée."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Balayez votre écran de bas en haut. Pour changer de fonctionnalité, balayez l\'écran vers le haut et appuyez de manière prolongée.}one{Balayez votre écran de bas en haut avec # doigt. Pour changer de fonctionnalité, balayez l\'écran vers le haut avec # doigt et appuyez de manière prolongée.}other{Balayez votre écran de bas en haut avec # doigts. Pour changer de fonctionnalité, balayez l\'écran vers le haut avec # doigts et appuyez de manière prolongée.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Plus d\'options"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"En savoir plus sur <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Boutons de volume"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"boutons de volume"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Appuyez de manière prolongée sur les deux boutons de volume"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Appui double à deux doigts sur l\'écran"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Appuyer deux fois avec %1$d doigts"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Appuyez rapidement deux fois sur l\'écran avec %1$d doigts."</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Appuyer trois fois"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Appuyez rapidement %1$d fois sur l\'écran. Votre appareil peut être ralenti."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"appuyer deux fois avec %1$d doigts"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Appuyer rapidement sur l\'écran {0,number,integer} fois avec deux doigts"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Appuyer trois fois sur l\'écran"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"appuyer trois fois"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Appuyer rapidement {0,number,integer} fois sur l\'écran. Ce raccourci peut 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Paramètres des raccourcis"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Raccourci accessible sur l\'écran de verrouillage"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Permet d\'autoriser l\'activation du raccourci sur l\'écran de verrouillage. Maintenez les deux touches de volume enfoncées pendant quelques secondes."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Bouton Accessibilité"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Bouton et geste d\'accessibilité"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Ce service ne fonctionne pas."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Raccourcis d\'accessibilité"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Afficher dans les Réglages rapides"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rouge-vert"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Rouge-vert"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Rouge-vert, vert faible"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Rouge-vert, rouge faible"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Bleu-jaune"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Nuances de gris"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensité"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Vert faible, deutéranomalie"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Rouge faible, protanomalie"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Indisponible en mode \"Nuances de gris\" ou lorsque la correction des couleurs est désactivée"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Luminosité ultra-réduite"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Luminosité ultra-réduite"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Cyan"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Jaune"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Accorder le contrôle total de votre appareil à <xliff:g id="SERVICE">%1$s</xliff:g> ?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> doit pouvoir :"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Une application masque la demande d\'autorisation. Impossible de valider votre réponse via l\'application Paramètres."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> demande le contrôle total de cet appareil. Le service peut lire l\'écran et agir pour le compte des utilisateurs ayant des besoins en matière d\'accessibilité. Ce niveau de contrôle n\'est pas approprié pour la plupart des applications."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Le contrôle total convient aux applications qui répondent à vos besoins d\'accessibilité. Il ne convient pas à la plupart des applications."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Afficher et contrôler l\'écran"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Le service peut lire l\'intégralité du contenu à l\'écran et afficher du contenu par-dessus d\'autres applications."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Afficher et effectuer des actions"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Le service peut suivre vos interactions avec une application ou un capteur matériel, et interagir avec les applications en votre nom."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Autoriser"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Refuser"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Désactiver"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Activé - <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> et <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Vous pouvez aussi activer le son spatial pour les appareils Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Paramètres des appareils connectés"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Son spatial"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Désactivé"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Désactivé"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Désactivé"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Aucun}=1{1 programme défini}one{# programme défini}other{# programmes définis}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Ne pas déranger"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Modes Prioritaires"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Ajouter un mode"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Modes"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Réduisez les distractions et canalisez votre attention à l\'aide de modes pour le sommeil, le travail, la conduite ou toute autre occasion."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Créer votre propre mode"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Recevez uniquement les notifications des personnes et applications importantes"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Définir une programmation"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Programmation basée sur"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Jour et heure"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"9h - 17h en semaine\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Événements d\'agenda"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} est actif}=2{{mode_1} et {mode_2} sont actifs}=3{{mode_1}, {mode_2} et {mode_3} sont actifs}one{{mode_1}, {mode_2} et # de plus sont actifs}other{{mode_1}, {mode_2} et # de plus sont actifs}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 mode peut s\'activer automatiquement}one{# mode peut s\'activer automatiquement}other{# modes peuvent s\'activer automatiquement}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ACTIVÉ"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Non défini"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Désactivé"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Créer un mode"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Personnalisé"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Activer maintenant"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Désactiver"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Mode introuvable"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limiter les interruptions"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Bloquer les interruptions et les distractions"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Configurer <xliff:g id="MODE">%1$s</xliff:g>"</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_alarms_only" msgid="2956938533859578315">"Les alarmes et les sons des contenus multimédias peuvent interrompre le mode Ne pas déranger"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Programmes"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Supprimer des programmes"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Supprimer"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Renommer"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Supprimer"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Supprimer le mode <xliff:g id="MODE">%1$s</xliff:g> ?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Modifier"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Programmes"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Programme"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Activer automatiquement"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Ajouter un agenda"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Utiliser votre agenda"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Programmer"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Définir une programmation"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Quand activer automatiquement"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Programmation d\'événement"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Activer durant événements pour"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Si réponse à l\'invitation est"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Programmation temporelle"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Programmation"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Programme"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Autoriser les interruptions sonores"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Notifications qui peuvent vous parvenir"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Autres actions"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Filtres de notification"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Autres paramètres"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Désactivé}=1{Désactivé/1 mode peut s\'activer automatiquement}one{Désactivé/# mode peut s\'activer automatiquement}other{Désactivé/# modes peuvent s\'activer automatiquement}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Paramètres d\'affichage"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Options d\'affichage"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Nuances de gris"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"activer le thème sombre"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Passer le système d\'exploitation et les applis en texte clair sur fond sombre, ce qui peut faciliter la lecture et permet d\'économiser considérablement la batterie sur certains appareils"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Aucun changement appliqué à l\'affichage}=1{{effect_1}}=2{{effect_1} et {effect_2}}=3{{effect_1}, {effect_2} et {effect_3}}one{{effect_1}, {effect_2} et # autre}other{{effect_1}, {effect_2} et # autres}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Autoriser toutes les notifications"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Interruption possible par des personnes, applis et sons"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Options d\'affichage des notifications filtrées"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Lorsque Ne pas déranger est activé"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Aucune notification sonore"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"Ouvrir la notification"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Autoriser la mise en attente des notifications"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Pastille de notification sur l\'icône de l\'application"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Groupes de notifications"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bulles"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bulles"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Afficher cette conversation sous forme de bulle"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Pourra répondre aux messages et agir sur les boutons dans les notifications, y compris mettre en attente ou fermer les notifications et répondre aux appels"</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Modifier les paramètres"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Pourra activer ou désactiver Ne pas déranger, et modifier les paramètres associés"</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Peut gérer et activer les modes ou encore modifier les paramètres associés."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Si vous désactivez l\'accès aux notifications pour <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, l\'accès à Ne pas déranger pourra aussi être désactivé."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Si vous désactivez l\'accès aux notifications pour <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, l\'accès aux modes peut également être désactivé."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Désactiver"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Annuler"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"En temps réel"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Cette appli n\'est pas compatible avec les paramètres avancés"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Autres paramètres"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"D\'autres paramètres sont disponibles dans l\'appli"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Notifications intelligentes"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Utiliser les notifications intelligentes"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Si vous recevez de nombreuses notifications en peu de temps, votre téléphone baisse le volume et minimise les pop-ups à l\'écran pendant deux minutes maximum. Les appels, les alarmes et les conversations prioritaires continuent de vibrer, d\'émettre un son ou de s\'afficher à l\'écran. Retrouvez facilement toutes les notifications en faisant glisser le volet des notifications vers le bas."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Limitation des notifications"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Utiliser la limitation des notifications"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Si vous recevez de nombreuses notifications en peu de temps, votre appareil baisse le volume et minimise les alertes pendant 2 minutes maximum. Les appels, les alarmes et les conversations prioritaires ne sont pas affectés. \n\nLes notifications reçues pendant la limitation sont accessibles en faisant glisser votre doigt du haut de l\'écran vers le bas."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Appliquer aux profils professionnels"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Appliquer aux applis du profil professionnel"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Services d\'assistance RV"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Accès à \"Ne pas déranger\""</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Autoriser \"Ne pas déranger\""</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Aucune demande d\'accès \"Ne pas déranger\" n\'a été envoyée par les applications installées."</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Accès aux modes"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Autoriser l\'accès aux modes"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Aucune des applis installées n\'a demandé l\'accès aux modes"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Vous n\'avez pas autorisé les notifications de cette appli"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"À votre demande, Android bloque l\'affichage de cette catégorie de notifications sur cet appareil"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"À votre demande, Android bloque l\'affichage de ce groupe de notifications sur cet appareil"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Catégories"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Autres"</string>
     <string name="no_channels" msgid="4716199078612071915">"Cette application n\'a publié aucune notification"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Afficher les catégories inutilisées"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Paramètres supplémentaires dans l\'application"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Afficher les catégories inutilisées"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Masquer les catégories inutilisées"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversations"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Toutes les conversations"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"toutes les conversations"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Conversations prioritaires"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"conversations prioritaires"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Aucune"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Applis qui peuvent interrompre"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Applis sélectionnées"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Aucune"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Toutes"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Aucune application ne peut interrompre le mode Ne pas déranger}=1{{app_1} peut interrompre le mode Ne pas déranger}=2{{app_1} et {app_2} peuvent interrompre le mode Ne pas déranger}=3{{app_1}, {app_2} et {app_3} peuvent interrompre le mode Ne pas déranger}one{{app_1}, {app_2} et # autre appli peuvent interrompre le mode Ne pas déranger}other{{app_1}, {app_2} et # autres applis peuvent interrompre le mode Ne pas déranger}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (professionnel)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Calcul en cours"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+ <xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Autoriser des applications à ignorer ce mode"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Applis qui peuvent interrompre"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Sélectionnez plus d\'applications"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Rien ne peut l\'interrompre"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Personne ne peut interrompre le mode Ne pas déranger"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Certaines personnes peuvent l\'interrompre"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Les appelants récurrents peuvent interrompre"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Toutes les personnes peuvent interrompre le mode Ne pas déranger"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Appels répétés"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Autoriser les appels répétés"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Ne recevoir que les alarmes pendant 1 heure jusqu\'à {time}}one{Ne recevoir que les alarmes pendant # heure jusqu\'à {time}}other{Ne recevoir que les alarmes pendant # heures jusqu\'à {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Ne recevoir que les alarmes jusqu\'à <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Toujours interrompre"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Renommer"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Changer d\'icône"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Changer d\'icône"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Modifier le mode"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Créer un mode"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Mode personnalisé"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Nom du mode"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Événements d\'agenda"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Routine Heure du coucher"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"En conduisant"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Paramètres des applis"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Informations et paramètres dans <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Géré par <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Désactiver <xliff:g id="MODE_NAME">%1$s</xliff:g> ?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Ce mode ne s\'activera jamais s\'il est désactivé"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Désactiver"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Activer <xliff:g id="MODE_NAME">%1$s</xliff:g> ?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Ce mode peut s\'activer automatiquement en fonction de ses paramètres"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Activer"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Définissez un mode qui suit un horaire régulier"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Définissez un mode permettant de synchroniser les événements d\'agenda et les réponses aux invitations"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Créez une routine de sommeil apaisante. Réglez des alarmes, assombrissez votre écran et bloquez les notifications."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Sur la route, privilégiez la sécurité pour une conduite attentive et sans distraction"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Bloquez les distractions ou les interruptions sur votre appareil pour vous concentrer"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Éliminez toutes les sources de distraction pour un environnement calme"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Personnalisez les expériences et les paramètres de l\'appareil pour différents utilisateurs"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Autorisez uniquement les notifications provenant des personnes et applis importantes pour minimiser les interruptions"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Définissez un mode qui suit un horaire régulier"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Synchronisez votre appareil avec vos événements de la journée"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Réveillez-vous en pleine forme"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Sur la route, la sécurité avant tout"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Concentrez-vous pour être plus productif"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Pour les moments où le respect des autres est de mise"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Avec l\'utilisation guidée, restez entre de bonnes mains"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Contrôlez votre attention"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Avertissement"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Fermer"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Envoyer commentaires sur l\'appareil"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Doit rester activé, car l\'accès aux notifications est activé"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Révoquer l\'accès à Ne pas déranger pour \"<xliff:g id="APP">%1$s</xliff:g>\" ?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Toutes les règles Ne pas déranger créées par cette application seront supprimées."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Autoriser l\'accès aux modes pour <xliff:g id="APP">%1$s</xliff:g> ?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"L\'appli pourra activer ou désactiver Ne pas déranger, gérer et activer les modes et modifier les paramètres associés."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Tous les modes créés par cette appli seront supprimés."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Ne pas optimiser"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimiser"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Risque de décharger la batterie plus rapidement. L\'utilisation de la batterie en arrière-plan ne sera plus bloquée pour l\'application."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Étui de transport"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Batterie"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Panneau des paramètres"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"Forcer le mode ordinateur"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Forcer le mode ordinateur expérimental sur les écrans secondaires"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"Activer les fenêtres de forme libre"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Activer les fenêtres de forme libre sur un écran secondaire"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Activer les applis non redimensionnables en mode multifenêtre"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Autorise le mode multifenêtre pour les applis non redimensionnables"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Forcer l\'activation du thème sombre"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"données mobiles"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Pour améliorer l\'expérience sur l\'appareil, les applis et services peuvent continuer de rechercher les réseaux Wi-Fi, même quand le Wi-Fi est désactivé. Cela peut servir, par exemple, à améliorer les fonctionnalités et services basés sur la localisation. Vous pouvez modifier cela dans les paramètres de recherche Wi-Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Modifier"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Connecté"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Connexion temporaire"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Utilisation temporaire de <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Utiliser l\'épinglage d\'application"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Utiliser les options pour les développeurs"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Utiliser le service d\'impression"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Autoriser plusieurs utilisateurs"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Autoriser le changement d\'utilisateur"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"autoriser, plusieurs, utilisateur, permettre, beaucoup"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"multiples, utilisateurs, profils, personnes, comptes, transfert, nombreux"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Utiliser le débogage sans fil"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> souhaite se connecter à ce téléphone.\n\nC\'est la première fois que votre téléphone se connecte à <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Refuser la connexion"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Autoriser la connexion"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Paramètres TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Activé"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Désactivé"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Rétablir les paramètres par défaut"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Paramètres par défaut rétablis."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Solde maximal à satiété"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Soldes"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Limites de consommation"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Limite initiale de consommation"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Limite minimale de consommation"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Limite maximale de consommation"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modificateurs"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Actions (coût de production)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Actions (prix de base)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Récompenses par événement spécifique"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Récompenses/seconde de durée d\'événement"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Récompenses maximales par jour"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Installation d\'appli"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Activité principale"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Notification vue"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Notification vue dans les 15 minutes"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interaction avec la notification"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Interaction avec un widget"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Autre interaction de l\'utilisateur"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Lancement de la tâche à priorité max."</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Exécution de la tâche à priorité max."</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Lancement de la tâche prioritaire"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Exécution de la tâche prioritaire"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Lancement de la tâche par défaut"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Exécution de la tâche par défaut"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Lancement de la tâche non prioritaire"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Exécution de la tâche non prioritaire"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Lancement de la tâche à priorité min."</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Exécution de la tâche à priorité min."</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Pénalité pour expiration du délai"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Solde minimal à pleine charge (exemptions)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Solde minimal à pleine charge (appli système headless)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Solde minimal à pleine charge (applis restantes)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Addition au solde minimal à pleine charge (sites de mise à jour d\'applis)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"En charge"</item>
-    <item msgid="658627268149681677">"Sommeil"</item>
-    <item msgid="1599558140284643834">"Mode Économie d\'énergie"</item>
-    <item msgid="588427840913221601">"État du processus"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Confirmer"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Prévisualiser"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Sélectionner un économiseur d\'écran"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Afficher des informations supplémentaires"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Choisissez le contenu à afficher à l\'écran quand la tablette est sur la station d\'accueil. Votre appareil peut consommer plus d\'énergie quand un économiseur d\'écran est utilisé."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Personnaliser"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Personnaliser <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Un redémarrage est nécessaire pour activer la prise en charge du format libre."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Un redémarrage est nécessaire pour forcer le mode bureau sur les écrans secondaires."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Un redémarrage est nécessaire pour activer la prise en charge des fenêtres de forme libre."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Un redémarrage est nécessaire pour modifier la disponibilité des fenêtres de forme libre."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Un redémarrage est nécessaire pour activer les fenêtres de forme libre sur les écrans secondaires."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Redémarrer maintenant"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Redémarrer plus tard"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Son spatial"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Rose"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Violet"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"OK"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Enregistrer"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Annuler"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Par défaut"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Moyen"</string>
@@ -5232,6 +5295,12 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Activé"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Désactivés"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Activés"</string>
+    <!-- String.format failed for translation -->
+    <!-- no translation found for audio_seek_bar_state_left_first (8814986910920838972) -->
+    <skip />
+    <!-- String.format failed for translation -->
+    <!-- no translation found for audio_seek_bar_state_right_first (1999368979633398876) -->
+    <skip />
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Les applis que vous avez installées ont accès au nom de votre appareil. D\'autres personnes peuvent aussi le voir lorsque vous vous connectez à des appareils Bluetooth ou à un réseau Wi-Fi, ou lorsque vous configurez un point d\'accès Wi-Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Genre grammatical"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Sélectionner le genre grammatical"</string>
@@ -5300,6 +5369,8 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Arrêt du partage audio"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Connecter un appareil compatible"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Pour commencer à partager du contenu audio, connectez d\'abord votre casque LE Audio à votre téléphone"</string>
+    <!-- no translation found for audio_sharing_switch_active_button_label (3065600513067122124) -->
+    <skip />
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Connecter à un flux LE Audio"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Flux audio à proximité"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Flux audio"</string>
@@ -5343,4 +5414,8 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Écouter le flux"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Scanner le code QR d\'un flux audio pour l\'écouter avec <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Impossible de modifier le mot de passe lors du partage. Pour modifier le mot de passe, il faut d\'abord désactiver le partage audio."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Lecteur de code QR"</string>
+    <!-- no translation found for audio_streams_qr_code_help_with_link (5542328067190486479) -->
+    <skip />
+    <string name="homepage_search" msgid="6759334912284663559">"Rechercher un paramètre"</string>
 </resources>
diff --git a/res/values-gl/arrays.xml b/res/values-gl/arrays.xml
index ab0cc39..055461f 100644
--- a/res/values-gl/arrays.xml
+++ b/res/values-gl/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Hora de durmir"</item>
-    <item msgid="4152450357280759894">"Condución"</item>
-    <item msgid="7096549258219399423">"Envolvente"</item>
-    <item msgid="2760716776980432977">"Xestionado"</item>
-    <item msgid="601734478369121764">"Estrela"</item>
-    <item msgid="6243809315432780521">"Calendario"</item>
-    <item msgid="4913577903148415331">"Hora"</item>
-    <item msgid="3653377604690057780">"Cine"</item>
-    <item msgid="3843711267408385410">"Flor"</item>
+    <item msgid="1216815120972438676">"Portadocumentos"</item>
+    <item msgid="184985872234062767">"Edificio clásico"</item>
+    <item msgid="9189550412466785530">"Bloque de pisos"</item>
+    <item msgid="2142527562511049422">"Globo de diálogo"</item>
+    <item msgid="2548100558260478605">"Grupo de persoas"</item>
+    <item msgid="2270003903304578284">"Lámpada"</item>
+    <item msgid="4793496619091161864">"Calendario"</item>
+    <item msgid="5673625795644364100">"Modo Non molestar"</item>
+    <item msgid="1423820834865831361">"Persoa correndo"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Pesa de man de ximnasio"</item>
+    <item msgid="2730180105015616518">"Natación"</item>
+    <item msgid="2666922823253345958">"Persoa facendo sendeirismo"</item>
+    <item msgid="8234880356472211396">"Persoa lanzando unha pelota"</item>
+    <item msgid="4642980625253001443">"Persoa dando unha patada"</item>
+    <item msgid="4324795269518833500">"Mando de xogo"</item>
+    <item msgid="7789966425125441125">"Paleta de cores de artista"</item>
+    <item msgid="663512680597461570">"Folerpa"</item>
+    <item msgid="7952183800501346803">"Parasol"</item>
+    <item msgid="799139025758265891">"Ferramentas dun taller"</item>
+    <item msgid="1330084588359129896">"Tenda"</item>
+    <item msgid="3861584909935022342">"Rolo de película"</item>
+    <item msgid="5827426100157335512">"Libro"</item>
+    <item msgid="8585828346253128384">"Flor de loto"</item>
+    <item msgid="8788370542815300188">"Mente dunha persoa"</item>
+    <item msgid="7287354964767553293">"Auriculares"</item>
+    <item msgid="2530059623783800987">"Televisión"</item>
+    <item msgid="5307182323469376758">"Tren"</item>
+    <item msgid="4903790544026923026">"Coche"</item>
+    <item msgid="5010405583912314582">"Garfo e coitelo"</item>
+    <item msgid="8939998598599064900">"Cesta da compra"</item>
+    <item msgid="3379605903308731893">"Nena ou neno"</item>
+    <item msgid="7808668968550293112">"Pouta"</item>
+    <item msgid="1000692647524056504">"Insignia de estrela"</item>
+    <item msgid="8270261073421676502">"Dúas persoas"</item>
+    <item msgid="5767782819651505460">"Estrela"</item>
+    <item msgid="4368451291862729334">"Corazón"</item>
+    <item msgid="2613199102208419986">"Casa"</item>
+    <item msgid="3022279986430275040">"Media lúa"</item>
+    <item msgid="5421089790869483206">"Reloxo"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 2baf592..a7d2ed6 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspendido"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Descoñecido"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Vista previa"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"Código QR"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Sempre"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Configuración dos dispositivos auditivos"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Atallo, compatibilidade con audiófonos"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Configuración predeterminada"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"O audiólogo non fixo ningunha configuración predeterminada"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Non se puido actualizar a configuración predeterminada"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Saída de audio"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Acerca da saída de audio"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"A opción de seleccionar un idioma para esta aplicación non está dispoñible en Configuración."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"É posible que o idioma non estea dispoñible na aplicación. Pode que algunhas aplicacións non sexan compatibles con esta opción de configuración."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Define o idioma de cada aplicación."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"O sistema, as aplicacións e os sitios web usan o primeiro idioma dispoñible dos teus idiomas preferidos."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"O teu dispositivo, as aplicacións e os sitios web usan o primeiro idioma dispoñible na túa lista de idiomas preferidos.\n\nMoitas aplicacións tamén usarán a rexión do teu idioma preferido para darlles formato ás datas, aos números e ás unidades. Para cambiar de rexión, engade un idioma e selecciona a rexión preferida."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Para seleccionar o idioma de cada aplicación, vai á configuración do idioma das aplicacións."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Máis información sobre os idiomas das aplicacións"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Queres cambiar o idioma do sistema ao %s ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Desactivada"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Opción activada: # aplicación ten acceso á localización}other{Opción activada: # aplicacións teñen acceso á localización}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Cargando…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"As aplicacións con permiso para buscar dispositivos próximos poden determinar a posición relativa dos dispositivos conectados."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"As aplicacións con permiso para buscar dispositivos próximos poden determinar a posición relativa dos dispositivos conectados."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"O acceso á localización está desactivado para as aplicacións e os dispositivos. Con todo, é posible que a localización do dispositivo se envíe aos servizos de emerxencias cando chames a un número de emerxencias ou lle envíes unha mensaxe."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Máis información sobre a configuración de localización"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Para facer o cambio, vai á configuración de ChromeOS &gt; Privacidade e seguranza &gt; Controis de privacidade &gt; Acceso á localización"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Engadíronse o recoñecemento facial e o dispositivo (<xliff:g id="WATCH">%s</xliff:g>)"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Engadíronse o recoñecemento facial, a impresión dixital e o dispositivo (<xliff:g id="WATCH">%s</xliff:g>)"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Engadíronse o recoñecemento facial, as impresións dixitais e o dispositivo (<xliff:g id="WATCH">%s</xliff:g>)"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"A comprobación de identidade está activada e require un método biométrico"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Desbloqueo de Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Engadiuse o reloxo"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Configurar o teu reloxo"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Máis información sobre a función Desbloqueo mediante reloxo"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Engadir reloxo"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Quitar reloxo"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Impresión dixital e desbloqueo facial"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Desbloqueo facial e dactilar"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Desbloqueo dactilar e facial para o traballo"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Cómpre realizar o proceso de configuración"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Engadíronse a cara e as impresións dixitais"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Configurando espazo privado…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Non se puido configurar ningún espazo privado"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Tentar de novo"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Saír"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"O espazo privado non está dispoñible.\nConsulta as posibles causas"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Consulta as posibles causas"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Queres usar outro bloqueo para o espazo privado?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Podes configurar un bloqueo novo só para o espazo privado ou usar o que xa tes para desbloquear o dispositivo"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Usar bloqueo de pantalla"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Cando o Bluetooth está activado, o dispositivo pode comunicarse con outros dispositivos Bluetooth das proximidades.\n\nPara mellorar a experiencia co uso do dispositivo, as aplicacións e os servizos poden seguir buscando dispositivos próximos en calquera momento, mesmo cando o Bluetooth está desactivado. Esta opción pode utilizarse, por exemplo, para mellorar as funcións e os servizos baseados na localización. Podes cambiar esta opción na configuración da busca de dispositivos Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Cando o Bluetooth está activado, o dispositivo pode comunicarse con outros dispositivos Bluetooth próximos. As funcións como Quick Share e Localizar o meu dispositivo utilizan o Bluetooth.\n\nAs aplicacións e os servizos poden seguir buscando dispositivos próximos en calquera momento, mesmo cando o Bluetooth estea desactivado. Esta opción pode empregarse, por exemplo, para mellorar as funcións e os servizos baseados na localización. Para cambiar esta opción, vai á configuración da busca de dispositivos Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Cambiar"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Datos do dispositivo"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Configuración do teclado"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Máis opcións de configuración"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Actualizacións do firmware, información e máis"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Consellos e asistencia"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Enderezo Bluetooth do dispositivo: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Enderezo Bluetooth do dispositivo:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Queres esquecer o dispositivo?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Experimental. Mellor calidade de audio."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Esquecer dispositivo"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Desconectar aplicación"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"+ Opcións de configuración"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Número máximo de dispositivos de audio Bluetooth conectados"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Selecciona o número máximo de dispositivos de audio Bluetooth conectados"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Rexistro de depuración detallado de NFC sobre provedores"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Queres reiniciar o dispositivo?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"O rexistro detallado de NFC só se utiliza para fins de programación. Os datos de NFC adicionais inclúense nos informes de erros, que poden conter información privada. Reinicia o dispositivo para cambiar esta opción de configuración."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Reiniciar"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Activada"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Desactivada"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Pantalla externa"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Usar pantalla externa"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Resolución da pantalla"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"A pantalla externa está desconectada"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Ángulo"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Estándar"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"O cambio de ángulo ou resolución pode deter as aplicacións que se estean executando"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"O dispositivo ten que estar conectado a unha pantalla externa para que se proxecte a túa"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Máis opcións"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Emitir"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"proxección"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Activar visualización sen fíos"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Automáticas"</string>
     <string name="brightness" msgid="6216871641021779698">"Nivel de brillo"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Brillo intelixente"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Acerca do brillo intelixente"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"O brillo da pantalla axustarase automaticamente segundo o ambiente e as actividades que leves a cabo. Podes mover o control desprazable de forma manual para que o brillo intelixente recoñeza as túas preferencias."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Activado"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Desactivado"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Usar <xliff:g id="CARRIER">%1$s</xliff:g> para os datos móbiles?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Estás utilizando <xliff:g id="CARRIER2_0">%2$s</xliff:g> para os datos móbiles. Se cambias a <xliff:g id="CARRIER1">%1$s</xliff:g>, deixarase de utilizar <xliff:g id="CARRIER2_1">%2$s</xliff:g> para os datos móbiles."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Usar <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Actualizar a SIM preferida?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"A única SIM do dispositivo é: <xliff:g id="NEW_SIM">%1$s</xliff:g>. Queres usar esta SIM para os datos móbiles, as chamadas e as mensaxes SMS?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> é agora a túa SIM principal"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Mellorar alcance dat. móbiles?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Permite que o dispositivo cambie de maneira automática ao operador <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> para usar os datos móbiles cando teña mellor dispoñibilidade."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"A túa organización podería ver as chamadas, as mensaxes e o tráfico de rede."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Opcións"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Accesibilidade"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Teclado físico"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Utilizar teclado en pantalla"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Móstrase na pantalla mentres o teclado físico estea activo"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Teclas de rebote"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"O teclado ignora as pulsacións repetidas rapidamente da mesma tecla nun intervalo de <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Teclas lentas"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Axusta o tempo que tarda a activación dunha tecla premida a <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Teclas presas"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Preme unha tecla de cada vez para os atallos, en lugar de manter premidas varias"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Teclas para o rato"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Usa o teclado físico para controlar o rato."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Atallos de teclado"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Mostra a lista de atallos"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Teclados e ferramentas do perfil de traballo"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Personaliza xestos individuais de navegación no panel táctil"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Desprazamento inverso"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"O contido móvese cara arriba cando te desprazas cara abaixo"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Toque na parte inferior dereita"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Toca a esquina inferior dereita do panel para máis opcións"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Clic na esquina inferior dereita"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Fai clic na esquina inferior dereita do panel para máis opcións"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Velocidade do punteiro"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Estilo de recheo do punteiro"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Cambiar recheo do punteiro a negro"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Cambiar recheo punteiro a amarelo"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Cambiar recheo do punteiro a rosa"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Cambiar recheo do punteiro a azul"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Estilo do trazo de punteiro"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Branco"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Negro"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Ningún"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Descubrir xestos no panel táctil"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"panel táctil, rato, cursor, desprazar, pasar o dedo, facer clic co botón dereito, facer clic, punteiro"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"facer clic co botón dereito, tocar"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Restablecer"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Escoller unha tecla modificadora"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Escolle unha nova tecla para <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Deseño: <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Predeterminado"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Selección automática: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Selección do usuario: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Voz"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Velocidade do punteiro"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Tamaño do punteiro"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Reducir o tamaño do punteiro"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Aumentar o tamaño do punteiro"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Mando do xogo"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Redirixir vibración"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Envía vibración ao mando de xogos se está conectado"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continuar igualmente"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Cancelar"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Configuración da ampliación"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Desprazamento cun dedo"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Mover a lupa cun dedo"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Arrastra un dedo para moverte pola pantalla"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Arrastra un dedo para mover a área de ampliación."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Arrastra dous dedos para mover a área de ampliación."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Non dispoñible cando só se amplíe unha parte da pantalla"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Toca un botón para achegar o zoom"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Se queres ampliar o contido, achégao rapidamente na pantalla usando o zoom"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Se queres achegar o contido usando o zoom, sigue estes pasos:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Utiliza o atallo cando queiras iniciar a ampliación&lt;br/&gt; {1,number,integer}. Toca a pantalla&lt;br/&gt; {2,number,integer}. Para moverte pola pantalla, arrastra dous dedos&lt;br/&gt; {3,number,integer}. Cando queiras axustar o zoom, belisca a pantalla con dous dedos&lt;br/&gt; {4,number,integer}. Utiliza o atallo para deter a ampliación&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Para achegar o contido temporalmente usando o zoom, sigue estes pasos:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Asegúrate de que o tipo de ampliación estea configurado a pantalla completa&lt;br/&gt; {1,number,integer}. Utiliza o atallo cando queiras iniciar a ampliación&lt;br/&gt; {2,number,integer}. Mantén premido calquera punto da pantalla&lt;br/&gt; {3,number,integer}. Para moverte pola pantalla, arrastra o dedo&lt;br/&gt; {4,number,integer}. Levanta o dedo para deter a ampliación"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Se queres achegar o contido usando o zoom, sigue estes pasos:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Utiliza o atallo cando queiras iniciar a ampliación&lt;br/&gt; {1,number,integer}. Toca a pantalla&lt;br/&gt; {2,number,integer}. Para moverte pola pantalla, arrastra dous dedos&lt;br/&gt; {3,number,integer}. Cando queiras axustar o zoom, belisca a pantalla con dous dedos&lt;br/&gt; {4,number,integer}. Usa o atallo para deter a ampliación&lt;br/&gt;&lt;br/&gt; Tamén podes achegar a imaxe temporalmente, entre outras cousas."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Se queres achegar o contido usando o zoom, sigue estes pasos:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Utiliza o atallo cando queiras iniciar a ampliación&lt;br/&gt; {1,number,integer}. Toca a pantalla&lt;br/&gt; {2,number,integer}. Para moverte pola pantalla, arrastra un ou dous dedos&lt;br/&gt; {3,number,integer}. Cando queiras axustar o zoom, belisca a pantalla con dous dedos&lt;br/&gt; {4,number,integer}. Usa o atallo para deter a ampliación&lt;br/&gt;&lt;br/&gt; Tamén podes achegar a imaxe temporalmente, entre outras cousas."</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_pager" msgid="8461939455728454061">"Páxina <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> de <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Atallo do botón Accesibilidade"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Toca o botón flotante."</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Xesto de accesibilidade"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Toca o botón Accesibilidade <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na parte inferior da pantalla. Para cambiar de función, mantén premido o botón Accesibilidade."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Pasa 2 dedos cara arriba desde a parte inferior da pantalla.\n\nPara cambiar de función, pasa 2 dedos cara arriba e mantén premida a pantalla."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Pasa 3 dedos cara arriba desde a parte inferior da pantalla.\n\nPara cambiar de función, pasa 3 dedos cara arriba e mantén premida a pantalla."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Pasa o dedo cara arriba desde a parte inferior da pantalla. Para cambiar de función, pasa o dedo cara arriba e mantén premido.}other{Pasa # dedos cara arriba desde a parte inferior da pantalla. Para cambiar de función, pasa # dedos cara arriba e mantén premido.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Máis opcións"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Máis información sobre <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Teclas de volume"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"teclas de volume"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Mantén premidas as dúas teclas de volume."</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Toca dúas veces a pantalla con dous dedos"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Tocar dúas veces con %1$d dedos"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Toca a pantalla rapidamente dúas veces con %1$d dedos."</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Tocar tres veces"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Toca a pantalla rapidamente %1$d veces. Este atallo pode reducir a velocidade do dispositivo."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Toca dúas veces con %1$d dedos"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Toca a pantalla rapidamente {0,number,integer} veces con dous dedos."</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Tres toques na pantalla"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"tres toques"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Toca a pantalla {0,number,integer} 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 da tecla de volume"</string>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Configuración de atallos"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Atallo desde a pantalla de bloqueo"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Permite que o atallo da función se active desde a pantalla de bloqueo. Mantén premidas as dúas teclas de volume durante uns segundos."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Botón Accesibilidade"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Botón e xesto de accesibilidade"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Este servizo non funciona correctamente."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Atallos de accesibilidade"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Mostrar en Configuración rápida"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Vermello-verde"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Vermello-verde"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Percepción débil do verde, vermello-verde"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Percepción débil do vermello, vermello-verde"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Azul-amarelo"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Escala de grises"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensidade"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Percepción débil do verde (deuteranomalía)"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Percepción débil do vermello (protanomalía)"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Non está dispoñible para o modo de escala de grises nin cando a corrección da cor está desactivada"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Atenuación extra"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Usar atenuación extra da pantalla"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Ciano"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Amarelo"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Maxenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Queres permitir que <xliff:g id="SERVICE">%1$s</xliff:g> poida controlar totalmente o teu dispositivo?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> precisa:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Posto que unha aplicación se superpón sobre una solicitude de permiso, a configuración non pode verificar a túa resposta."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> solicita poder controlar totalmente este dispositivo. O servizo pode ler a pantalla e actuar en nome dos usuarios con necesidades de accesibilidade. Este nivel de control non é adecuado para a maioría das aplicacións."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"O control total é adecuado para as aplicacións que che axudan coa accesibilidade, pero non para a maioría das aplicacións."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Ver e controlar a pantalla"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Pode ler todo o contido da pantalla e mostralo sobre outras aplicacións."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Ver e realizar accións"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Pode facer un seguimento das túas interaccións cunha aplicación ou cun sensor de hardware, así como interactuar por ti coas aplicacións."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Permitir"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Denegar"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Desactivar"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Opción activada / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> e <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Tamén podes activar o audio espacial para dispositivos Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Configuración de dispositivos conectados"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Audio espacial"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Opción desactivada"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Opción desactivada"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Opción desactivada"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Ningunha planificación}=1{Definiuse 1 planificación}other{Definíronse # planificacións}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Non molestar"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Modos de prioridade"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Engadir un modo"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Modos"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Reduce as distraccións e non perdas a concentración grazas aos modos para durmir, traballar ou conducir, entre outros."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Crea o teu propio modo"</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_select_schedule" msgid="663163931596092952">"Definir un horario"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Horario baseado en"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Día e hora"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"Días de semana, de 9:00 a 17:00\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Eventos do calendario"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{O modo {mode_1} está activo}=2{Os modos {mode_1} e {mode_2} están activos}=3{Os modos {mode_1}, {mode_2} e {mode_3} están activos}other{Os modos {mode_1}, {mode_2} e # máis están activos}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{Hai 1 modo que se pode activar de forma automática}other{Hai # modos que se poden activar de forma automática}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ACTIVADO"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Sen configurar"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Desactivado"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Crear un modo"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Personalizado"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Activar agora"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Desactivar"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Non se atopou o modo"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitar as interrupcións"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Bloquea as interrupcións e as distraccións"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Configurar <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activar modo Non molestar"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"As alarmas e os sons multimedia poden interromper o modo Non molestar"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Planificacións"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Eliminar planificacións"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Eliminar"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Cambiar de nome"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Eliminar"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Queres eliminar o modo <xliff:g id="MODE">%1$s</xliff:g>?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Editar"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Planificacións"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Planificación"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Activar automaticamente"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Engadir un calendario"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Usar o teu calendario"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Programar"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Definir un horario"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Cando activar automaticamente?"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Programación do evento"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Activar durante os eventos de"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Cando a resposta á invit. sexa"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Horario"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Programar"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h e <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Planificación"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Permitir interrupcións que emitan son"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Notificacións que podes recibir"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Accións adicionais"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Filtros de notificacións"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Máis opcións de configuración"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Desactivado}=1{Desactivado: 1 modo pode activarse automaticamente}other{Opción desactivada: # modos poden activarse automaticamente}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Configuración de visualización"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Opcións de visualización"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Escala de grises"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"activar tema escuro"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Cambia o sistema operativo e as aplicacións para daren preferencia a un texto claro sobre un fondo escuro, que é unha opción que pode ser máis agradable para a vista, ademais de supoñer un aforro de batería significativo nalgúns dispositivos"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Non hai ningún cambio na visualización}=1{{effect_1}}=2{{effect_1} e {effect_2}}=3{{effect_1}, {effect_2} e {effect_3}}other{{effect_1}, {effect_2} e # máis}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Permitir todas as notificacións"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"As persoas, as aplicacións e os sons poden provocar interrupcións"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opcións de visualización das notificacións filtradas"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Cando está activado o modo Non molestar"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Notificacións sen son"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"abre a notificación"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Permitir adiar notificacións"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Punto de notificacións nas iconas"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Paquetes de notificacións"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Burbullas"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Burbullas"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Mostrar esta conversa nunha burbulla"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Permite responder mensaxes e levar a cabo acción cos botóns nas notificacións, como adiar ou ignorar as notificacións e responder chamadas."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Cambiar a configuración"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Permite activar ou desactivar o modo Non molestar e cambiar a configuración relacionada."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Pode xestionar e activar os modos, e cambiar as opcións de configuración relacionadas."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Se desactivas o acceso de <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> ás notificacións, é posible que tamén se desactive o acceso a Non molestar."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Se desactivas o acceso de <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> ás notificacións, pode que tamén se desactive o acceso aos modos."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Desactivar"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Cancelar"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Tempo real"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Esta aplicación non admite a configuración mellorada"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Máis opcións de configuración"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Hai máis opcións de configuración dentro desta aplicación"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Notificacións intelixentes"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Usar notificacións intelixentes"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Cando recibas moitas notificacións en pouco tempo, o teu teléfono baixará o volume e minimizará as ventás emerxentes na pantalla durante dous minutos como máximo. As chamadas, alarmas e conversas prioritarias seguirán vibrando, emitindo un son ou aparecendo na pantalla. Podes atopar facilmente todas as notificacións se arrastras cara abaixo a parte superior da pantalla."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Amainar notificacións"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Usar a función de amainar as notificacións"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Cando recibas moitas notificacións en pouco tempo, o teu dispositivo baixará o volume e reducirá ao mínimo o número de alertas durante ata dous minutos. As chamadas, alarmas e conversas prioritarias non se verán afectadas. \n\nPara ver as notificacións amainadas, arrastra cara abaixo a parte superior da pantalla."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Aplicar aos perfís de traballo"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Usa esta opción coas aplicacións do perfil de traballo"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Servizos do asistente de RV"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Acceso a Non molestar"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Permitir modo Non molestar"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Ningunha aplicación instalada solicitou acceso a Non molestar"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Acceso aos modos"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Permitir acceso aos modos"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Ningunha aplicación instalada solicitou o acceso aos modos"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Non tes activadas as notificacións desta aplicación"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Segundo solicitaches, Android bloquea a visualización desta categoría de notificacións neste dispositivo."</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Segundo solicitaches, Android bloquea a visualización deste grupo de notificacións neste dispositivo."</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Categorías"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Outros"</string>
     <string name="no_channels" msgid="4716199078612071915">"Esta aplicación non emitiu notificacións"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Mostrar categorías sen usar"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Configuración adicional da aplicación"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Mostrar categorías sen usar"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Ocultar categorías sen usar"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversas"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Todas as conversas"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"todas as conversas"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Conversas prioritarias"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"conversas prioritarias"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Ningunha"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Aplicacións que poden interromper"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Aplicacións seleccionadas"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Ningunha"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Todas"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Ningunha aplicación pode interromper}=1{{app_1} pode interromper}=2{{app_1} e {app_2} poden interromper}=3{{app_1}, {app_2} e {app_3} poden interromper}other{{app_1}, {app_2} e # aplicacións máis poden interromper}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (traballo)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Calculando…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permitir que as aplicacións ignoren o modo Non molestar"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplicacións que poden interromper"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Selecciona máis aplicacións"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Nada pode interromper o modo Non molestar"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Ninguén pode interromper o modo Non molestar"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Algunhas persoas poden interromper o modo Non molestar"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"A chamadas repetidas poden interromper"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Todas as persoas poden interromper o modo Non molestar"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Chamadas repetidas"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Permitir chamadas repetidas"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Cambia durante 1 hora (ata esta hora: {time}) ao modo Só alarmas}other{Cambia durante # horas (ata esta hora: {time}) ao modo Só alarmas}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Cambiar ao modo Só alarmas ata as <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Cambia a interromper sempre"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Cambiar nome"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Cambiar icona"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Cambiar a icona"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Editar un modo"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Crear un modo"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Modo personalizado"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Nome do modo"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Eventos do calendario"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Rutina Hora de durmir"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Mentres conduces"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Configuración da aplicación"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Información e configuración en <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Xestión a cargo de <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Queres desactivar <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Este modo non se activará nunca se está desactivado"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Desactivar"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Queres activar <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Este modo pode activarse automaticamente en función da súa configuración"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Activar"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Define un modo que siga un horario regular"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Define un modo para sincronizar os eventos do calendario e as respostas ás invitacións"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Crea unha rutina de sono relaxante. Programa alarmas, atenúa a pantalla e bloquea as notificacións."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Dálle prioridade á seguranza na estrada e céntrate na condución, sen distraccións"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Evita as distraccións ou as interrupcións por parte do dispositivo para non perder a concentración"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Elimina todas as distraccións e desfruta dun ambiente tranquilo"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Personaliza as experiencias e a configuración do dispositivo para os distintos usuarios"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Reduce as interrupcións ao permitir que se poñan en contacto contigo só as persoas e aplicacións importantes"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Define un modo que siga un horario regular"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Mantén sincronizado o dispositivo cos eventos do día"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Esperta con toda a enerxía"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Na estrada, céntrate na seguranza"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Concéntrate ao máximo e evita distraccións"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Lembra que a cortesía é importante"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Déixate guiar por mans expertas"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Céntrate no que precises"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Advertencia"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Pechar"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Enviar comentarios do dispositivo"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Debe permanecer activado porque o acceso ás notificacións está activado"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Queres revogar o acceso da aplicación <xliff:g id="APP">%1$s</xliff:g> ao modo Non molestar?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Quitaranse todas as normas do modo Non molestar creadas por esta aplicación."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Queres permitir o acceso de <xliff:g id="APP">%1$s</xliff:g> aos modos?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"A aplicación poderá activar ou desactivar o modo Non molestar, xestionar e activar os modos, e facer cambios na configuración relacionada."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Quitaranse todos os modos que creou esta aplicación."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Non optimizar"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimizar"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"A batería pódese esgotar máis rápido. Deixarase de restrinxir o uso da batería en segundo plano por parte da aplicación."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Carcasa"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Batería"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Panel de configuració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_desktop_mode" msgid="5644818402534562302">"Activar ventás de forma libre"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Activar ventás de forma libre na pantalla secundaria"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Activar aplicacións sen axuste de tamaño no modo multiventá"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Permite utilizar as aplicacións sen axuste de tamaño no modo multiventá"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Ignorar Forzar modo escuro"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"datos móbiles"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Para mellorar a experiencia que ofrece o dispositivo, as aplicacións e os servizos poden seguir buscando redes wifi en calquera momento, aínda que esta conexión estea desactivada. Esta opción pódese utilizar, por exemplo, para mellorar as funcións e os servizos baseados na localización, e podes cambiala na configuración da función Busca de redes wifi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Cambiar"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Conectada"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Conectada temporalmente"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Usando <xliff:g id="SUBNAME">%1$s</xliff:g> temporalmente"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Usar fixación de aplicación"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Usar opcións para programadores"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Usar servizo de impresión"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Permitir varios usuarios"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Permitir cambiar de usuario"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"permitir, varios, usuario, deixar, moitos"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"múltiples, usuarios, perfís, persoas, contas, cambiar, moitos"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Usar depuración sen fíos"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> quere conectarse a este teléfono.\n\nNon te conectaches antes a este dispositivo (<xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>)."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Non conectar"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Conectar"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Configuración de TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Función activada"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Función desactivada"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Volver á configuración predeterminada"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Volveuse á configuración predeterminada."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Saldo máximo con carga completa"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Saldos"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Límites de consumo"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Límite de consumo inicial"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Límite de consumo mínimo"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Límite de consumo máximo"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modificadores"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Accións (custo de produción)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Accións (prezo de base)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Recompensas por cada evento"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Recompensas por s da duración do evento"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Número máximo de recompensas ao día"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Instalación da aplicación"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Actividade principal"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Notificación vista"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Notificación vista nun prazo de 15 min"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interacción coa notificación"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Interacción co widget"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Outra interacción do usuario"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Inicio de tarefa de prioridade máxima"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Execución de tarefa de prioridade máxima"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Inicio de tarefa de prioridade alta"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Execución de tarefa de prioridade alta"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Inicio tarefa prioridade predeterminada"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Execución tarefa prioridade predetermin."</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Inicio de tarefa de prioridade baixa"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Execución de tarefa de prioridade baixa"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Inicio de tarefa de prioridade mínima"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Execución de tarefa de prioridade mínima"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Penalización: tempo da tarefa esgotado"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Saldo mínimo coa carga completa (aplicacións exentas)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Saldo mínimo coa carga completa (aplicacións do sistema sen interface)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Saldo mínimo coa carga completa (aplicacións restantes)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Aumento de saldo mínimo coa carga completa (actualizadores de aplicacións)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Cargando"</item>
-    <item msgid="658627268149681677">"Sesta"</item>
-    <item msgid="1599558140284643834">"Modo de aforro de batería"</item>
-    <item msgid="588427840913221601">"Estado do proceso"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Confirmar"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Vista previa"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Escolle un protector de pantalla"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Mostrar información adicional"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Escolle o que aparecerá na pantalla cando a tableta estea na súa base. Pode que o dispositivo utilice máis enerxía se se usa un protector de pantalla."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Personalizar"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Personalizar <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Cómpre reiniciar o dispositivo para activar a compatibilidade coa forma libre."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Cómpre reiniciar o dispositivo para forzar o modo de escritorio nas pantallas secundarias."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Cómpre reiniciar o dispositivo para activar a compatibilidade coas ventás de forma libre."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Cómpre reiniciar o dispositivo para actualizar a dispoñibilidade das ventás de forma libre."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Cómpre reiniciar o dispositivo para activar as ventás de forma libre na pantalla secundaria."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reiniciar agora"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reiniciar máis adiante"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Audio espacial"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Rosa"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Maxenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Violeta"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Feito"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Gardar"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Cancelar"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Predeterminado"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Medio"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Opción activada"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Desactivadas"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Opción activada"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Audio: %1$d %% do lado esquerdo, %2$d %% do lado dereito"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Audio: %1$d %% do lado dereito, %2$d %% do lado esquerdo"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"As aplicacións que teñas instaladas poderán consultar o nome do teu dispositivo. Tamén poderán velo outros usuarios cando te conectes a dispositivos Bluetooth ou a redes wifi, así como cando configures zonas wifi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Xénero gramatical"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Seleccionar o xénero gramatical"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Deixouse de compartir o audio"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Conectar un dispositivo compatible"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Para empezar a compartir audio, primeiro conecta uns auriculares de audio de baixo consumo ao teléfono"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Cambiar a <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Conectar a unha emisión de audio de baixo consumo"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Emisións de audio próximas"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Emisións de audio"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Escoitar emisión"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Escanea o código QR dunha emisión de audio para escoitala con <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Non se pode modificar o contrasinal mentres se comparte audio. Para facelo, primeiro desactiva o audio compartido."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Escáner de códigos QR"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Precisas axuda?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Buscar en Configuración"</string>
 </resources>
diff --git a/res/values-gu/arrays.xml b/res/values-gu/arrays.xml
index 0219890..bdd9ff1 100644
--- a/res/values-gu/arrays.xml
+++ b/res/values-gu/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"બેડટાઇમ"</item>
-    <item msgid="4152450357280759894">"ડ્રાઇવિંગ"</item>
-    <item msgid="7096549258219399423">"ઇમર્સિવ"</item>
-    <item msgid="2760716776980432977">"મેનેજ કરેલી"</item>
-    <item msgid="601734478369121764">"સ્ટાર"</item>
-    <item msgid="6243809315432780521">"કૅલેન્ડર"</item>
-    <item msgid="4913577903148415331">"સમય"</item>
-    <item msgid="3653377604690057780">"થિયેટર"</item>
-    <item msgid="3843711267408385410">"ફૂલ"</item>
+    <item msgid="1216815120972438676">"બ્રીફકેસ"</item>
+    <item msgid="184985872234062767">"ક્લાસિકલ બિલ્ડિંગ"</item>
+    <item msgid="9189550412466785530">"અપાર્ટમેન્ટ બિલ્ડિંગ"</item>
+    <item msgid="2142527562511049422">"સ્પીચ બબલ"</item>
+    <item msgid="2548100558260478605">"લોકોનું ગ્રૂપ"</item>
+    <item msgid="2270003903304578284">"લાઇટ બલ્બ"</item>
+    <item msgid="4793496619091161864">"કૅલેન્ડર"</item>
+    <item msgid="5673625795644364100">"ખલેલ પાડશો નહીં"</item>
+    <item msgid="1423820834865831361">"દોડતી વ્યક્તિ"</item>
+    <item msgid="2037298830718732608">"ગોલ્ફ"</item>
+    <item msgid="2197835014443491074">"જિમ ડમ્બબેલ"</item>
+    <item msgid="2730180105015616518">"સ્વિમિંગ"</item>
+    <item msgid="2666922823253345958">"હાઇક કરતી વ્યક્તિ"</item>
+    <item msgid="8234880356472211396">"બૉલ ફેંકતી વ્યક્તિ"</item>
+    <item msgid="4642980625253001443">"લાત મારતી વ્યક્તિ"</item>
+    <item msgid="4324795269518833500">"ગેમ કન્ટ્રોલર"</item>
+    <item msgid="7789966425125441125">"કલાકારના વિવિધ રંગ"</item>
+    <item msgid="663512680597461570">"સ્નોફ્લૅક"</item>
+    <item msgid="7952183800501346803">"બીચ પરની છત્રી"</item>
+    <item msgid="799139025758265891">"વર્કશોપ ટૂલ"</item>
+    <item msgid="1330084588359129896">"તંબુ"</item>
+    <item msgid="3861584909935022342">"ફિલ્મ રીલ"</item>
+    <item msgid="5827426100157335512">"પુસ્તક"</item>
+    <item msgid="8585828346253128384">"કમળનું ફૂલ"</item>
+    <item msgid="8788370542815300188">"વ્યક્તિનું મગજ"</item>
+    <item msgid="7287354964767553293">"હૅડફોન"</item>
+    <item msgid="2530059623783800987">"ટીવી"</item>
+    <item msgid="5307182323469376758">"ટ્રેન"</item>
+    <item msgid="4903790544026923026">"કાર"</item>
+    <item msgid="5010405583912314582">"છરી કાંટાવાળી ચમચી અને છરી"</item>
+    <item msgid="8939998598599064900">"શૉપિંગ કાર્ટ"</item>
+    <item msgid="3379605903308731893">"બાળક"</item>
+    <item msgid="7808668968550293112">"પ્રાણીનો પંજો"</item>
+    <item msgid="1000692647524056504">"સ્ટાર બૅજ"</item>
+    <item msgid="8270261073421676502">"બે લોકો"</item>
+    <item msgid="5767782819651505460">"સ્ટાર"</item>
+    <item msgid="4368451291862729334">"હૃદય"</item>
+    <item msgid="2613199102208419986">"ઘર"</item>
+    <item msgid="3022279986430275040">"અર્ધચંદ્ર"</item>
+    <item msgid="5421089790869483206">"ઘડિયાળ"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 8d6363a..a40095e 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"સસ્પેન્ડેડ"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"અજાણી"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"પ્રીવ્યૂ"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR કોડ"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"વધુ નાનું બનાવો"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"વધુ મોટું બનાવો"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"હંમેશાં"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"સાંભળવામાં મદદ આપતા ડિવાઇસ સંબંધી સેટિંગ"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"શૉર્ટકટ, શ્રવણ યંત્રની સુસંગતતા"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"પ્રીસેટ"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"તમારા ઑડિયોલોજિસ્ટ દ્વારા પ્રોગ્રામ કરેલા કોઈ પ્રીસેટ નથી"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"પ્રીસેટ અપડેટ કરી શક્યા નથી"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"ઑડિયો આઉટપુટ"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ઑડિયો આઉટપુટ વિશે"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"આ ઍપ માટે સેટિંગમાંથી ભાષા પસંદ કરી શકાતી નથી."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"આ ભાષા ઍપમાં ઉપલબ્ધ ભાષાઓથી અલગ હોઈ શકે છે. કેટલીક ઍપ આ સેટિંગને સપોર્ટ ન કરે એવું બની શકે છે."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"દરેક ઍપ માટે ભાષા સેટ કરો."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"તમારી સિસ્ટમ, ઍપ અને વેબસાઇટ, તમારી પસંદગીની ભાષાઓમાંની પહેલી સપોર્ટેડ ભાષાનો ઉપયોગ કરે છે."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"તમારી પસંદગીની ભાષાની સૂચિમાંથી પહેલી સપોર્ટેડ ભાષા તમારા ડિવાઇસ, ઍપ અને વેબસાઇટ દ્વારા ઉપયોગ કરવામાં આવે છે.\n\nતારીખો, નંબર અને એકમો સંબંધી ફૉર્મેટ માટે તમારી પસંદગીની ભાષામાંથી ઘણી ઍપ પ્રદેશનો પણ ઉપયોગ કરે છે. તમારા પ્રદેશમાં ફેરફાર કરવા માટે, કોઈ ભાષા ઉમેરો, પછી તમારો પસંદગીનો પ્રદેશ પસંદ કરો."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"દરેક ઍપ માટે ભાષા પસંદ કરવા, ઍપની ભાષાના સેટિંગ પર જાઓ."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"ઍપની ભાષાઓ વિશે વધુ જાણો"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"સિસ્ટમની ભાષા %s બદલીએ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"બંધ છે"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{ચાલુ છે / # ઍપ લોકેશનનો ઍક્સેસ ધરાવે છે}one{ચાલુ છે / # ઍપ લોકેશનનો ઍક્સેસ ધરાવે છે}other{ચાલુ છે / # ઍપ લોકેશનનો ઍક્સેસ ધરાવે છે}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"લોડ કરી રહ્યું છે…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"નજીકના ડિવાઇસ જોવાની પરવાનગી ધરાવતી ઍપ, કનેક્ટ કરેલા ડિવાઇસના સ્થાનની માહિતી મેળવી શકે છે."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"નજીકના ડિવાઇસ જોવાની પરવાનગી ધરાવતી બધી ઍપ, કનેક્ટ કરેલા ડિવાઇસના લોકેશન નિર્ધારિત કરી શકે છે."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"ઍપ અને સેવાઓને આપવામાં આવેલો લોકેશનની માહિતીનો ઍક્સેસ બંધ છે. આમ છતાં જ્યારે તમે કૉલ કે ટેક્સ્ટ મારફતે ઇમર્જન્સી નંબરનો સંપર્ક કરશો, ત્યારે ઇમર્જન્સીમાં પ્રતિસાદ આપનારાઓને તમારા ડિવાઇસના લોકેશનની માહિતી મોકલવામાં આવી શકે છે."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"લોકેશન સેટિંગ વિશે વધુ જાણો"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"ફેરફાર કરવા માટે, ChromeOS સેટિંગ &gt; પ્રાઇવસી અને સુરક્ષા &gt; પ્રાઇવસીને લગતા નિયંત્રણો &gt; લોકેશન ઍક્સેસ પર જાઓ"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"ફેસ અને <xliff:g id="WATCH">%s</xliff:g> ઉમેર્યા"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"ફેસ, ફિંગરપ્રિન્ટ અને <xliff:g id="WATCH">%s</xliff:g> ઉમેર્યા"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"ફેસ, ફિંગરપ્રિન્ટ અને <xliff:g id="WATCH">%s</xliff:g> ઉમેર્યા"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"ઓળખની તપાસ ચાલુ છે અને તેના માટે બાયોમેટ્રિક ડેટાની જરૂર છે"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator અનલૉક"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"વૉચ ઉમેરી"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"તમારી વૉચનું સેટઅપ કરો"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"વૉચ અનલૉક સુવિધા વિશે વધુ જાણો"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"વૉચ ઉમેરો"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"વૉચ કાઢી નાખો"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ફિંગરપ્રિન્ટ અને ફેસ અનલૉક"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ફેસ અનલૉક અને ફિંગરપ્રિન્ટ અનલૉક સુવિધા"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"ઑફિસની પ્રોફાઇલ માટે ફેસ અને ફિંગરપ્રિન્ટ અનલૉકની સુવિધા"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"સેટઅપ જરૂરી છે"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"ચહેરાનું મૉડલ અને એકથી વધુ ફિંગરપ્રિન્ટ ઉમેરી"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"ખાનગી સ્પેસનું સેટઅપ કરી રહ્યાં છીએ…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"કોઈ ખાનગી સ્પેસનું સેટઅપ કરી શકાતું નથી"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"ફરી પ્રયાસ કરો"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"બહાર નીકળો"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"ખાનગી સ્પેસ ઉપલબ્ધ નથી.\nશક્ય કારણો જુઓ"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"શક્ય કારણો જુઓ"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"ખાનગી સ્પેસ માટે નવું લૉક પસંદ કરીએ?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"તમે માત્ર ખાનગી સ્પેસ માટે નવું લૉક સેટ કરી શકો છો અથવા તમે તમારા ડિવાઇસને અનલૉક કરવા માટે વાપરતા હો એ જ લૉકનો ઉપયોગ કરી શકો છો"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"સ્ક્રીન લૉકનો ઉપયોગ કરો"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"જ્યારે બ્લૂટૂથ ચાલુ હોય, ત્યારે તમારું ડિવાઇસ નજીકના અન્ય બ્લૂટૂથ ડિવાઇસ સાથે કનેક્ટ થઈ શકે છે.\n\nડિવાઇસનો અનુભવ બહેતર બનાવવા માટે, જ્યારે બ્લૂટૂથ બંધ હોય ત્યારે પણ ઍપ અને સેવાઓ, નજીકના ડિવાઇસને ગમે ત્યારે સ્કૅન કરી શકે છે. ઉદાહરણ તરીકે, આનો ઉપયોગ લોકેશન આધારિત સુવિધાઓ અને સેવાઓને બહેતર બનાવવા માટે કરી શકાય છે. તમે આને બ્લૂટૂથ સ્કૅનિંગના સેટિંગમાં જઈને બદલી શકો છો."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"જ્યારે બ્લૂટૂથ ચાલુ હોય, ત્યારે તમારું ડિવાઇસ નજીકના અન્ય બ્લૂટૂથ ડિવાઇસ સાથે વાતચીત કરી શકે છે. ક્વિક શેર અને Find My Device જેવી સુવિધાઓ બ્લૂટૂથનો ઉપયોગ કરે છે.\n\nજ્યારે બ્લૂટૂથ બંધ હોય ત્યારે પણ ઍપ અને સેવાઓ, નજીકના ડિવાઇસને ગમે ત્યારે સ્કૅન કરી શકે છે. ઉદાહરણ તરીકે, આનો ઉપયોગ લોકેશન આધારિત સુવિધાઓ અને સેવાઓને બહેતર બનાવવા માટે કરી શકાય છે. તમે આને બ્લૂટૂથ સ્કૅનિંગના સેટિંગમાં જઈને બદલી શકો છો."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"બદલો"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> કનેક્ટ કરેલું છે"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"તમારી સુરક્ષા માટે, આ ડિવાઇસને ભૂલી જાઓ, પછી તેને ફરીથી જોડી દો"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"ડિવાઇસને ભૂલી જાઓ"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"રદ કરો"</string>
     <string name="device_details_title" msgid="1155622417516195481">"ડિવાઇસની વિગતો"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"કીબોર્ડ સેટિંગ"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"વધુ સેટિંગ"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"ફર્મવેયર અપડેટ, તેના વિશે અને બીજું ઘણું બધું"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"ટિપ અને સપોર્ટ"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"ડિવાઇસનું બ્લૂટૂથ ઍડ્રેસ: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"ડિવાઇસનું બ્લૂટૂથ ઍડ્રેસ:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"ડિવાઇસને ભૂલી જઈએ?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"પ્રાયોગિક. ઑડિયો ક્વૉલિટી બહેતર બનાવે છે."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"ડિવાઇસને ભૂલી જાઓ"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"ઍપને ડિસ્કનેક્ટ કરો"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"વધુ સેટિંગ"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"મહત્તમ સંખ્યામાં કનેક્ટ થયેલા બ્લૂટૂથ ઑડિયો ડિવાઇસ"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"મહત્તમ સંખ્યામાં કનેક્ટ થયેલા બ્લૂટૂથ ઑડિયો ડિવાઇસ પસંદ કરો"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC શબ્દબહુલ વિક્રેતાનો ડિબગ લૉગ"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"શું ડિવાઇસને ફરી શરૂ કરીએ?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"NFCનું વિગતવાર લૉગ ઇન માત્ર ડેવલપમેન્ટના હેતુઓ માટે છે. બગ રિપોર્ટમાં વધારાનો NFC ડેટા શામેલ છે, જેમાં ખાનગી માહિતી હોઈ શકે છે. આ સેટિંગમાં ફેરફાર કરવા માટે, તમારા ડિવાઇસને ફરી શરૂ કરો."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"ફરી શરૂ કરો"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"ચાલુ"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"બંધ"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"બાહ્ય ડિસ્પ્લે"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"બાહ્ય ડિસ્પ્લેનો ઉપયોગ કરો"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"ડિસ્પ્લેનું રિઝોલ્યુશન"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"બાહ્ય ડિસ્પ્લે ડિસ્કનેક્ટેડ છે"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"રોટેશન"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"સ્ટૅન્ડર્ડ"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"રોટેશન અથવા રિઝોલ્યુશન બદલવાથી હાલમાં ચાલી રહેલી કોઈપણ ઍપ બંધ થઈ શકે છે"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"તમારી સ્ક્રીનને મિરર કરવા માટે તમારું ડિવાઇસ બાહ્ય ડિસ્પ્લે સાથે કનેક્ટેડ હોવું આવશ્યક છે"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"વધુ વિકલ્પો"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"કાસ્ટ કરો"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"મીરર"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"વાયરલેસ ડિસ્પ્લે સક્ષમ કરો"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"અડૅપ્ટિવ"</string>
     <string name="brightness" msgid="6216871641021779698">"સ્ક્રીનની બ્રાઇટનેસનું લેવલ"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"અડૅપ્ટિવ બ્રાઇટનેસ"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"અડૅપ્ટિવ બ્રાઇટનેસ વિશે"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"તમારી સ્ક્રીનની બ્રાઇટનેસ તમારા પર્યાવરણ અને ઍક્ટિવિટી સાથે ઑટોમૅટિક રીતે ઓછું-વધતું થઈને ગોઠવાશે. તમે સ્લાઇડર મેન્યુઅલી ખસેડીને અડૅપ્ટિવ બ્રાઇટનેસને તમારી પસંદગીઓ જાણવામાં સહાય કરી શકો છો."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"ચાલુ કરો"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"બંધ"</string>
@@ -1311,8 +1340,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="8850185380445309835">"પસંદગીનું સિમ અપડેટ કરીએ?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"તમારા ડિવાઇસમાં એકમાત્ર <xliff:g id="NEW_SIM">%1$s</xliff:g> સિમ છે. શું તમે મોબાઇલ ડેટા, કૉલ અને SMS મેસેજ માટે આ સિમનો ઉપયોગ કરવા માગો છો?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> હવે તમારું પ્રાથમિક સિમ કાર્ડ છે"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"મોબાઇલ ડેટા કવરેજ બહેતર કરીએ?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"જ્યારે તેની ઉપલબ્ધતા બહેતર હોય, ત્યારે તમારા ડિવાઇસને મોબાઇલ ડેટા માટે <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> પર ઑટોમૅટિક રીતે સ્વિચ કરવાની મંજૂરી આપો."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"કદાચ તમારી સંસ્થાને કૉલ, મેસેજ અને નેટવર્ક ટ્રાફિક દેખાઈ શકે છે."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"વિકલ્પો"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"ઍક્સેસિબિલિટી"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"ભૌતિક કીબોર્ડ"</string>
-    <string name="show_ime" msgid="4334255501724746849">"ઑન-સ્ક્રીન કીબોર્ડનો ઉપયોગ કરો"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"જ્યારે ભૌતિક કીબોર્ડ સક્રિય હોય ત્યારે તેને સ્ક્રીન પર રાખો"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"બાઉન્સ કી"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> msની અંદર એક જ કીને વારંવાર ઝડપથી દબાવવાની પ્રક્રિયાની કીબોર્ડ અવગણના કરે છે"</string>
     <string name="slow_keys" msgid="2891452895499690837">"ધીમી કી"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"<xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms સુધીમાં સક્રિય થવા માટે, કોઈ કીને દબાવવામાં લાગતા સમયની ગોઠવણી કરે છે"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"સ્ટીકી કી"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"શૉર્ટકટ માટે કીને એકસાથે દબાવી રાખવાને બદલે એક સમયે એક જ કી દબાવો"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"માઉસની કી"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"માઉસને નિયંત્રિત કરવા માટે, વાસ્તવિક કીબોર્ડનો ઉપયોગ કરો."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"કીબોર્ડ શૉર્ટકટ"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"શૉર્ટકટની સૂચિ બતાવો"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"કાર્યાલયનું પ્રોફાઇલ અને સાધનો"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"વ્યક્તિગત ટચપૅડ નૅવિગેશનના સંકેતોને કસ્ટમાઇઝ કરો"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"રિવર્સ સ્ક્રોલિંગ"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"જ્યારે તમે નીચે સ્ક્રોલ કરો, ત્યારે કન્ટેન્ટ ઉપર ખસેડાય છે"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"સૌથી નીચે જમણી બાજુ ટૅપ કરો"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"વધુ વિકલ્પો માટે ટચપૅડ પર સૌથી નીચે જમણા ખૂણે ટૅપ કરો"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"સૌથી નીચે-રાઇટ ક્લિક કરો"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"વધુ વિકલ્પો માટે, ટચપૅડના સૌથી નીચેના જમણા ખૂણા પર ક્લિક કરો"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"પૉઇન્ટરની ઝડપ"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"પૉઇન્ટર ફીલ શૈલી"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"પૉઇન્ટર ફીલ શૈલીને કાળામાં બદલો"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"પૉઇન્ટર ફીલ શૈલીને પીળામાં બદલો"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"પૉઇન્ટર ફીલ શૈલીને ગુલાબીમાં બદલો"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"પૉઇન્ટર ફીલ શૈલીને વાદળીમાં બદલો"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"પૉઇન્ટર સ્ટ્રોકની શૈલી"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"સફેદ"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"કાળો"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"એકપણ નહીં"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"ટચપૅડના સંકેતો વિશે જાણો"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"ટ્રૅકપૅડ, ટ્રૅક પૅડ, માઉસ, કર્સર, સ્ક્રોલ કરો, સ્વાઇપ કરો, રાઇટ ક્લિક કરો, ક્લિક કરો, પૉઇન્ટર"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"રાઇટ ક્લિક કરો, ટૅપ કરો"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"રીસેટ કરો"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"મૉડિફાયર કી પસંદ કરો"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> માટે નવી કી પસંદ કરો:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"વાસ્તવિક કીબોર્ડની ઍક્સેસિબિલિટી"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"સ્ટીકી કી, બાઉન્સ કી, માઉસ કી"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> લેઆઉટ"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ડિફૉલ્ટ"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"ઑટોમૅટિક રીતે: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"વપરાશકર્તા દ્વારા પસંદ કરેલો: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"સ્પીચ"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"પૉઇન્ટરની ગતિ"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"પૉઇન્ટર સ્કેલ"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"પૉઇન્ટર સ્કેલ ઘટાડો"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"પૉઇન્ટર સ્કેલ વધારો"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"રમત નિયંત્રક"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"વાઇબ્રેશનને રીડાયરેક્ટ કરો"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"કનેક્ટેડ હોય ત્યારે ગેમ નિયંત્રક પર વાઇબ્રેશનને મોકલો"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"તેમ છતાં ચાલુ રાખો"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"રદ કરો"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"સ્ક્રીન મોટી કરવાનું સેટિંગ"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"એક આંગળી વડે પૅન કરવાની સુવિધા"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"નાનામોટા કરવાના ભાગને 1 આંગળીથી ખસેડો"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"સ્ક્રીન પર અહીંતહીં જવા 1 આંગળીથી ખેંચો"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"એક આંગળી ખેંચીને મોટું કરવાનો વિસ્તાર ખસેડો."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"બે આંગળી ખેંચીને મોટું કરવાનો વિસ્તાર ખસેડો."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"માત્ર સ્ક્રીનના ભાગને મોટો કરતી વખતે અનુપલબ્ધ"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ઝૂમ કરવા માટે બટન ટૅપ કરો"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"કન્ટેન્ટને મોટું કરવા માટે સ્ક્રીનને ઝડપથી મોટી કરો"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;મોટું કરવા માટે:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. મોટું કરવાનું શરૂ કરવા માટેના શૉર્ટકટનો ઉપયોગ કરો&lt;br/&gt; {1,number,integer}. સ્ક્રીન પર ટૅપ કરો&lt;br/&gt; {2,number,integer}. સ્ક્રીન પર કોઈપણ જગ્યાએ જવા માટે 2 આંગળી ખેંચો&lt;br/&gt; {3,number,integer}. નાનું-મોટું કરવાનું ગોઠવવા માટે 2 આંગળી વડે પિન્ચ કરો&lt;br/&gt; {4,number,integer}. મોટું કરવાનું રોકવા માટેના શૉર્ટકટનો ઉપયોગ કરો&lt;br/&gt;&lt;br/&gt; &lt;b&gt;હંગામી રીતે મોટું કરવા માટે:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. તમારા ડિવાઇસ પર મોટું કરવાના પ્રકારને પૂર્ણ સ્ક્રીન પર સેટ કરવામાં આવ્યો હોય તેની ખાતરી કરો&lt;br/&gt; {1,number,integer}. મોટું કરવાનું શરૂ કરવા માટેના શૉર્ટકટનો ઉપયોગ કરો&lt;br/&gt; {2,number,integer}. સ્ક્રીન પર ગમે-ત્યાં આંગળી ટચ કરીને થોડીવાર દબાવી રાખો&lt;br/&gt; {3,number,integer}. સ્ક્રીન પર કોઈપણ જગ્યાએ જવા માટે આંગળી ખેંચો&lt;br/&gt; {4,number,integer}. મોટું કરવાનું રોકવા માટે આંગળીને ઉઠાવી લો"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;મોટું કરવા માટે:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. મોટું કરવાનું શરૂ કરવા માટેના શૉર્ટકટનો ઉપયોગ કરો&lt;br/&gt; {1,number,integer}. સ્ક્રીન પર ટૅપ કરો&lt;br/&gt; {2,number,integer}. સ્ક્રીન પર અહીંતહીં જવા 2 આંગળીથી ખેંચો&lt;br/&gt; {3,number,integer}. નાનું-મોટું કરવાનું ગોઠવવા માટે 2 આંગળી વડે પિન્ચ કરો&lt;br/&gt; {4,number,integer}. મોટું કરવાનું બંધ કરવા માટેના શૉર્ટકટનો ઉપયોગ કરો&lt;br/&gt;&lt;br/&gt; તમે હંગામી રીતે મોટું કરવાની સાથે બીજું ઘણું કરી શકો છો."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;મોટું કરવા માટે:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. મોટું કરવાનું શરૂ કરવા માટેના શૉર્ટકટનો ઉપયોગ કરો&lt;br/&gt; {1,number,integer}. સ્ક્રીન પર ટૅપ કરો&lt;br/&gt; {2,number,integer}. સ્ક્રીન પર અહીંતહીં જવા 1 કે 2 આંગળીથી ખેંચો&lt;br/&gt; {3,number,integer}. નાનું-મોટું કરવાનું ગોઠવવા માટે 2 આંગળી વડે પિન્ચ કરો&lt;br/&gt; {4,number,integer}. મોટું કરવાનું બંધ કરવા માટેના શૉર્ટકટનો ઉપયોગ કરો&lt;br/&gt;&lt;br/&gt; તમે હંગામી રીતે મોટું કરવાની સાથે બીજું ઘણું કરી શકો છો."</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_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g>માંથી <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> પેજ"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"ઍક્સેસિબિલિટી બટન શૉર્ટકટ"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"ફ્લોટિંગ બટન પર ટૅપ કરો"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"ઍક્સેસિબિલિટીનો સંકેત"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"તમારી સ્ક્રીનની સૌથી નીચેની બાજુ આવેલા ઍક્સેસિબિલિટી બટન <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> પર ટૅપ કરો. કોઈ એક સુવિધાથી બીજી સુવિધા પર સ્વિચ કરવા માટે, ઍક્સેસિબિલિટી બટનને ટચ કરીને થોડીવાર દબાવી રાખો."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"2 આંગળી વડે સ્ક્રીનની નીચેના ભાગથી ઉપરની તરફ સ્વાઇપ કરો.\n\nકોઈ એક સુવિધાથી બીજી સુવિધા પર સ્વિચ કરવા માટે, 2 આંગળી વડે ઉપરની તરફ સ્વાઇપ કરીને દબાવી રાખો."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"3 આંગળી વડે સ્ક્રીનની નીચેના ભાગથી ઉપરની તરફ સ્વાઇપ કરો.\n\nકોઈ એક સુવિધાથી બીજી સુવિધા પર સ્વિચ કરવા માટે, 3 આંગળી વડે ઉપરની તરફ સ્વાઇપ કરીને દબાવી રાખો."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{તમારી સ્ક્રીનની સૌથી નીચેથી ઉપરની તરફ સ્વાઇપ કરો. કોઈ એક સુવિધાથી બીજી સુવિધા પર સ્વિચ કરવા માટે, સ્ક્રીનની ઉપરની તરફ સ્વાઇપ કરીને દબાવી રાખો.}one{તમારી સ્ક્રીનની સૌથી નીચેથી ઉપરની તરફ # આંગળી વડે સ્વાઇપ કરો. કોઈ એક સુવિધાથી બીજી સુવિધા પર સ્વિચ કરવા માટે, # આંગળી વડે સ્ક્રીનની ઉપરની તરફ સ્વાઇપ કરીને દબાવી રાખો.}other{તમારી સ્ક્રીનની સૌથી નીચેથી ઉપરની તરફ # આંગળી વડે સ્વાઇપ કરો. કોઈ એક સુવિધાથી બીજી સુવિધા પર સ્વિચ કરવા માટે, # આંગળી વડે સ્ક્રીનની ઉપરની તરફ સ્વાઇપ કરીને દબાવી રાખો.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"વધુ વિકલ્પો"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"<xliff:g id="SERVICE">%1$s</xliff:g> વિશે વધુ જાણો"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"વૉલ્યૂમ કી"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"વૉલ્યૂમ કી"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"વૉલ્યૂમની બન્ને કીને દબાવી રાખો"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"સ્ક્રીન પર બે આંગળી વડે બે વાર ટૅપ કરો"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d આંગળી વડે બે વાર ટૅપ કરો"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"સ્ક્રીન પર %1$d આંગળી વડે ઝડપથી બે વાર ટૅપ કરો"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"ત્રણ વાર ટૅપ કરો"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"સ્ક્રીન પર ઝડપથી %1$d વાર ટૅપ કરો. આમ કરવાથી તમારું ડિવાઇસ ધીમું થઈ શકે છે."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d આંગળી વડે બે વાર ટૅપ કરો"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"સ્ક્રીન પર ઝડપથી બે આંગળી વડે {0,number,integer} વાર ટૅપ કરો"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"સ્ક્રીનને ત્રણ વાર ટૅપ કરો"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"ત્રણ વાર ટૅપ કરો"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"ઝડપથી સ્ક્રીન પર {0,number,integer} વાર ટૅપ કરો. આ શૉર્ટકટ તમારા ડિવાઇસને ધીમું કરી શકે છે"</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_global_gesture_preference_title" msgid="8866765674372344850">"વૉલ્યૂમ કી શૉર્ટકટ"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"શૉર્ટકટ સેટિંગ"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"લૉક સ્ક્રીનથી શૉર્ટકટ"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"લૉક સ્ક્રીનમાંથી વૉલ્યૂમ કી શૉર્ટકટ"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"સુવિધા માટેના શૉર્ટકટને લૉક સ્ક્રીન પરથી ચાલુ કરવાની મંજૂરી આપો. વૉલ્યૂમની બન્ને કીને થોડી સેકન્ડ સુધી દબાવી રાખો."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"ઍક્સેસિબિલિટી બટન"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"ઍક્સેસિબિલિટી બટન અને સંકેત"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"આ સેવા કાર્ય કરતી નથી."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"ઍક્સેસિબિલિટીના શૉર્ટકટ"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"ઝડપી સેટિંગમાં બતાવો"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"લાલ-લીલો"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"લાલ-લીલો"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"લાલ-લીલો, લીલો રંગ બરાબર ન દેખાવાની સમસ્યા"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"લાલ-લીલો રંગ, લાલ રંગ બરાબર ન દેખાવાની સમસ્યા"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"વાદળી-પીળો"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"ગ્રેસ્કેલ"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"તીવ્રતા"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"લીલો રંગ ન દેખાવાની સમસ્યા, ડ્યૂટેરેનોમલી"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"લાલ રંગ ન દેખાવાની સમસ્યા, પ્રોટેનોમલી"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"ગ્રેસ્કેલ મોડ માટે અથવા જ્યારે રંગ સુધારણા બંધ કરેલી હોય ત્યારે ઉપલબ્ધ નથી"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"એક્સ્ટ્રા ડિમ"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"સ્ક્રીનને એક્સ્ટ્રા ડિમ કરો"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"સાયન"</string>
     <string name="color_yellow" msgid="5957551912912679058">"પીળો"</string>
     <string name="color_magenta" msgid="8943538189219528423">"મજેન્ટા"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"શું <xliff:g id="SERVICE">%1$s</xliff:g>ને તમારા ડિવાઇસના સંપૂર્ણ નિયંત્રણની મંજૂરી આપીએ?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g>ને આની જરૂર છે:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"એક ઍપ પરવાનગી વિનંતીને અસ્પષ્ટ કરતી હોવાને કારણે, સેટિંગ તમારા પ્રતિસાદને ચકાસી શકતી નથી."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> આ ડિવાઇસના સંપૂર્ણ નિયંત્રણ માટે વિનંતી કરે છે. સેવા ઍક્સેસિબિલિટીની જરૂર હોય તેવા વપરાશકર્તા વતી સ્ક્રીન વાંચીને કાર્ય કરી શકે છે. મોટાભાગની ઍપ માટે આ લેવલનું નિયંત્રણ યોગ્ય નથી."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"ઍક્સેસિબિલિટી સંબંધિત આવશ્યકતા માટે સહાય કરતી ઍપ માટે સંપૂર્ણ નિયંત્રણ યોગ્ય છે, પણ મોટા ભાગની ઍપ માટે યોગ્ય નથી."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"જોવા અને નિયંત્રણ માટેની સ્ક્રીન"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"તે સ્ક્રીન પરનું બધું કન્ટેન્ટ વાંચી શકે છે અને કન્ટેન્ટને અન્ય ઍપ પર બતાવી શકે છે."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"ક્રિયાઓ જુઓ અને કરો"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"તે ઍપ અથવા હાર્ડવેર સેન્સર વડે તમારી ક્રિયાપ્રતિક્રિયાને ટ્રૅક કરી શકે છે અને તમારા વતી ઍપ સાથે ક્રિયાપ્રતિક્રિયા કરી શકે છે."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"મંજૂરી આપો"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"નકારો"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"બંધ કરો"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"ચાલુ / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> અને <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"તમે બ્લૂટૂથ ડિવાઇસ માટે સ્પેશલ ઑડિયો પણ ચાલુ કરી શકો છો."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"કનેક્ટ કરેલા ડિવાઇસના સેટિંગ"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"સ્પેશલ ઑડિયો"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"બંધ"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"બંધ"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"બંધ"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{એકપણ નહીં}=1{એક શેડ્યૂલ સેટ કરવામાં આવ્યું}one{# શેડ્યૂલ સેટ કરવામાં આવ્યું}other{# શેડ્યૂલ સેટ કરવામાં આવ્યા}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"ખલેલ પાડશો નહીં"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"પ્રાધાન્યતાના મોડ"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"મોડ ઉમેરો"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"મોડ"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"વિક્ષેપોને ઘટાડો અને ઊંઘવાના, કામ કરવાના, ડ્રાઇવિંગના તેમજ આ વચ્ચેની દરેક બાબતો માટેના મોડ સાથે તમારા ધ્યાનને નિયંત્રિત કરો."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"તમારો પોતાનો મોડ બનાવો"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"ફક્ત મહત્ત્વપૂર્ણ લોકો અને ઍપ દ્વારા નોટિફિકેશન મેળવો"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"શેડ્યૂલ સેટ કરો"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"આના આધારે શેડ્યૂલ કરો"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"દિવસ અને સમય"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"અઠવાડિયાના દિવસોમાં સવારે 9થી સાંજે 5 વાગ્યા સુધી\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"કૅલેન્ડર ઇવેન્ટ"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} સક્રિય છે}=2{{mode_1} અને {mode_2} સક્રિય છે}=3{{mode_1}, {mode_2} અને {mode_3} સક્રિય છે}one{{mode_1}, {mode_2} અને વધુ # સક્રિય છે}other{{mode_1}, {mode_2} અને વધુ # સક્રિય છે}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 મોડ ઑટોમૅટિક રીતે ચાલુ થઈ શકે છે}one{# મોડ ઑટોમૅટિક રીતે ચાલુ થઈ શકે છે}other{# મોડ ઑટોમૅટિક રીતે ચાલુ થઈ શકે છે}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ચાલુ"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"સેટ નથી"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"બંધ છે"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"કોઈ મોડ બનાવો"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"કસ્ટમ"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"હમણાં જ ચાલુ કરો"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"બંધ કરો"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"કોઈ મોડ મળ્યો નથી"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"વિક્ષેપો મર્યાદિત કરો"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"અવરોધો અને વિક્ષેપો બ્લૉક કરો"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g>નું સેટઅપ કરો"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"ખલેલ પાડશો નહીં ચાલુ કરો"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"અલાર્મ અને મીડિયાના સાઉન્ડ વિક્ષેપ કરી શકે છે"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"શેડ્યૂલ"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"શેડ્યૂલ ડિલીટ કરો"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"ડિલીટ કરો"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"નામ બદલો"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"ડિલીટ કરો"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"\"<xliff:g id="MODE">%1$s</xliff:g>\" મોડ ડિલીટ કરીએ?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"ફેરફાર કરો"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"શેડ્યૂલ"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"શેડ્યૂલ કરો"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"ઑટોમૅટિક રીતે ચાલુ કરો"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"કૅલેન્ડર ઉમેરો"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"તમારા કૅલેન્ડરનો ઉપયોગ કરો"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"શેડ્યૂલ"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"શેડ્યૂલ સેટ કરો"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"ઑટોમૅટિક નિયમ ક્યારે ચાલુ કરવો"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"ઇવેન્ટનું શેડ્યૂલ"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"આ માટે ઇવેન્ટ દરમિયાન ચાલુ કરો"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"જ્યારે આમંત્રણનો આ જવાબ મળે"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"સમય આધારિત શેડ્યૂલ કરો"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"શેડ્યૂલ"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> કલાક, <xliff:g id="MINUTES">%2$d</xliff:g> મિનિટ"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"શેડ્યૂલ"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"અવાજવાળા વિક્ષેપોને મંજૂરી આપો"</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="mode_interruption_filter_title" msgid="6657431939996264417">"તમારા સુધી પહોંચી શકે તેવા નોટિફિકેશન"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"અતિરિક્ત ક્રિયાઓ"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"નોટિફિકેશનના ફિલ્ટર"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"વધુ સેટિંગ"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{બંધ}=1{બંધ / 1 મોડ ઑટોમૅટિક રીતે ચાલુ થઈ શકે છે}one{બંધ / # મોડ ઑટોમૅટિક રીતે ચાલુ થઈ શકે છે}other{બંધ / # મોડ ઑટોમૅટિક રીતે ચાલુ થઈ શકે છે}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"ડિસ્પ્લે સેટિંગ"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"ડિસ્પ્લેનાં વિકલ્પો"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"ગ્રેસ્કેલ"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ડાર્ક થીમ ચાલુ કરો"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"OS અને ઍપ સ્વિચ કરો, જેથી ઘેરા બૅકગ્રાઉન્ડ પર લાઇટ ટેક્સ્ટની પસંદગી કરી શકાય, જેનાથી આંખો માટે વધુ સરળતા રહી શકે છે અને અમુક ડિવાઇસ પર બૅટરીની નોંધપાત્ર બચતનો લાભ મળે છે"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{ડિસ્પ્લેમાં કોઈ ફેરફાર નથી}=1{{effect_1}}=2{{effect_1} અને {effect_2}}=3{{effect_1}, {effect_2} અને {effect_3}}one{{effect_1}, {effect_2} અને વધુ #}other{{effect_1}, {effect_2} અને વધુ #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"બધા નોટિફિકેશનની મંજૂરી આપો"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"લોકો, ઍપ અને સાઉન્ડ વિક્ષેપ કરી શકે છે"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ફિલ્ટર કરેલા નોટિફિકેશન માટેના વિકલ્પો ડિસ્પ્લે કરો"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"જ્યારે ખલેલ પાડશો નહીં મોડ ચાલુ હોય"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"નોટિફિકેશનમાં કોઈ સાઉન્ડ નથી"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"નોટિફિકેશન ખોલો"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"નોટિફિકેશન સ્નૂઝ કરવાની મંજૂરી આપો"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"ઍપ આઇકન પર નોટિફિકેશનનું ચિહ્ન"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"નોટિફિકેશન બંડલ"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"બબલ"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"બબલ"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"આ વાતચીતને બબલ તરીકે બતાવો"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"નોટિફિકેશન સ્નૂઝ કરવા કે છોડી દેવા અને કૉલનો જવાબ આપવા સહિત તે મેસેજનો જવાબ આપી શકે અને નોટિફિકેશનમાંના બટન પર ક્રિયા કરી શકે છે."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"સેટિંગ બદલો"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"તે ખલેલ પાડશો નહીં સુવિધા ચાલુ કે બંધ કરી શકે છે અને સંબંધિત સેટિંગ બદલી શકે છે."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"તે મોડ મેનેજ કરી શકે છે, તેને સક્રિય કરી શકે છે તેમજ સંબંધિત સેટિંગમાં ફેરફાર કરી શકે છે."</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_modes_warning_summary" msgid="7528432011433844158">"જો તમે <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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"રિઅલ ટાઇમ"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"આ ઍપ વધારાના સેટિંગને સપોર્ટ કરતી નથી"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"વધુ સેટિંગ"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"આ ઍપમાં વધુ સેટિંગ ઉપલબ્ધ છે"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"અડૅપ્ટિવ નોટિફિકેશન"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"અડૅપ્ટિવ નોટિફિકેશનનો ઉપયોગ કરો"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"જ્યારે ટૂંકા સમયગાળામાં તમને ઘણા નોટિફિકેશન મળે, ત્યારે તમારો ફોન વૉલ્યૂમ ઘટાડશે અને બે મિનિટ સુધી સ્ક્રીન પરના પૉપ-અપને ઓછા કરશે. કૉલ, અલાર્મ અને પ્રાધાન્યતા ધરાવતી વાતચીતોને કારણે હજી પણ ફોન વાઇબ્રેટ થશે, વગાડશે અથવા સ્ક્રીન પર બતાવશે અને જ્યારે તમે સ્ક્રીનની સૌથી ઉપરથી નીચે તરફ ખેંચો, ત્યારે તમામ નોટિફિકેશન શોધવા સરળ છે."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"નોટિફિકેશન કૂલડાઉન"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"નોટિફિકેશન કૂલડાઉનનો ઉપયોગ કરો"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"જ્યારે ટૂંકા સમયગાળામાં તમને ઘણા નોટિફિકેશન પ્રાપ્ત થાય, ત્યારે તમારું ડિવાઇસ તેનું વૉલ્યૂમ ઘટાડશે અને 2 મિનિટ સુધી અલર્ટને ઓછા કરશે. કૉલ, અલાર્મ અને પ્રાધાન્યતા ધરાવતી વાતચીતોને અસર થતી નથી. \n\nકૂલડાઉન દરમિયાન પ્રાપ્ત થયેલા નોટિફિકેશનને સ્ક્રીનની સૌથી ઉપરની બાજુએથી નીચેની તરફ સ્ક્રોલ કરીને શોધી શકાય છે."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"ઑફિસની પ્રોફાઇલ પર લાગુ કરો"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"ઑફિસની પ્રોફાઇલ ઍપ પર લાગુ કરો"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR સહાયક સેવાઓ"</string>
@@ -3650,6 +3709,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"મોડનો ઍક્સેસ"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"મોડ ઍક્સેસ કરવાની મંજૂરી આપો"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"ઇન્સ્ટૉલ કરેલી કોઈ ઍપ દ્વારા મોડના ઍક્સેસની વિનંતી કરવામાં આવી નથી"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"તમે આ ઍપમાંથી નોટિફિકેશનને મંજૂરી આપી નથી"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"તમારી વિનંતી મુજબ Android આ ઍપના નોટિફિકેશનની કૅટેગરીને આ ડિવાઇસ પર પ્રદર્શિત થતા બ્લૉક કરી રહ્યું છે"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"તમારી વિનંતી મુજબ Android આ ઍપના નોટિફિકેશનના ગ્રૂપને આ ડિવાઇસ પર પ્રદર્શિત થતા બ્લૉક કરી રહ્યું છે"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"કૅટેગરી"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"અન્ય"</string>
     <string name="no_channels" msgid="4716199078612071915">"આ ઍપએ કોઈ નોટિફિકેશન પોસ્ટ કરી નથી"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"બિનવપરાયેલી કૅટેગરી બતાવો"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"ઍપમાંના વધારાના સેટિંગ"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"બિનવપરાયેલી કૅટેગરી બતાવો"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"બિનવપરાયેલી કૅટેગરી છુપાવો"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"વાતચીત"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"બધી વાતચીત"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"બધી વાતચીત"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"પ્રાધાન્ય આપ્યું હોય તેવી વાતચીત"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"પ્રાધાન્યતા ધરાવતી વાતચીતો"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"કોઈ નહીં"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"વિક્ષેપ ઊભો કરી શકે તેવી ઍપ"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"પસંદગીની ઍપ"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"એકપણ નહીં"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"બધી"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{કોઈપણ ઍપ વિક્ષેપ કરી શકશે નહીં}=1{{app_1} વિક્ષેપ કરી શકે છે}=2{{app_1} અને {app_2} વિક્ષેપ કરી શકે છે}=3{{app_1}, {app_2} અને {app_3} વિક્ષેપ કરી શકે છે}one{{app_1}, {app_2} અને વધુ # વિક્ષેપ કરી શકે છે}other{{app_1}, {app_2} અને વધુ # વિક્ષેપ કરી શકે છે}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (ઑફિસ)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"ગણતરી કરી રહ્યાં છીએ…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"અ‍ૅપને ઓવરરાઇડ કરવાની મંજૂરી આપો"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"વિક્ષેપ ઊભો કરી શકે તેવી ઍપ"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"વધુ ઍપ પસંદ કરો"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"કોઈપણ સાઉન્ડ \'ખલેલ પાડશો નહીં\' મોડને વિક્ષેપ કરી શકશે નહીં"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"કોઈપણ વિક્ષેપ કરી શકશે નહીં"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"અમુક લોકો વિક્ષેપ કરી શકે છે"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"રિપીટ કૉલર વિક્ષેપ કરી શકે છે"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"બધા લોકો વિક્ષેપ કરી શકે છે"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"પુનરાવર્તિત કૉલર્સ"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"રિપીટ કૉલરને મંજૂરી આપો"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} સુધી ફક્ત એક કલાક માટે અલાર્મમાં બદલો}one{{time} સુધી ફક્ત # કલાક માટે અલાર્મમાં બદલો}other{{time} સુધી ફક્ત # કલાક માટે અલાર્મમાં બદલો}}"</string>
     <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_action_change_name" msgid="766639614789907016">"નામ બદલો"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"આઇકન બદલો"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"આઇકન બદલો"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"ફેરફાર કરવાનો મોડ"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"કોઈ મોડ બનાવો"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"કસ્ટમ મોડ"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"મોડનું નામ"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"કૅલેન્ડર ઇવેન્ટ"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"બેડટાઇમ રૂટિન"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"ડ્રાઇવિંગ કરતી વખતે"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"ઍપના સેટિંગ"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"<xliff:g id="APP_NAME">%1$s</xliff:g>માંની માહિતી અને સેટિંગ"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"<xliff:g id="APP_NAME">%1$s</xliff:g> દ્વારા મેનેજ કરવામાં આવે છે"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"શું <xliff:g id="MODE_NAME">%1$s</xliff:g> બંધ કરીએ?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"જ્યારે બંધ હોય, ત્યારે આ મોડ ક્યારેય ચાલુ થશે નહીં"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"બંધ કરો"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"શું <xliff:g id="MODE_NAME">%1$s</xliff:g> ચાલુ કરીએ?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"આ મોડ તેના સેટિંગના આધારે ઑટોમૅટિક રીતે ચાલુ થઈ શકે છે"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"ચાલુ કરો"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"નિયમિત શેડ્યૂલ અનુસરે એવો કોઈ મોડ સેટ કરો"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"કૅલેન્ડર ઇવેન્ટ અને આમંત્રણના જવાબો સાથે સિંક કરવા માટે, કોઈ મોડ સેટ કરો"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"નિરાંતે ઊંઘવાનું રૂટિન ડિઝાઇન કરો. અલાર્મ સેટ કરો, સ્ક્રીનની લાઇટ ઓછી કરો અને નોટિફિકેશન બ્લૉક કરો."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"ફોકસ કરીને અને કોઈપણ વિક્ષેપ વિના ડ્રાઇવ કરવા માટે રસ્તા પર સલામતીને પ્રાધાન્યતા આપો"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"ફોકસ વધારવા માટે તમારા ડિવાઇસમાંથી ધ્યાન ભટકાવનારા અવરોધો કે વિક્ષેપો બ્લૉક કરો"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"શાંત વાતાવરણ માટે ધ્યાન ભટકાવનારા અવરોધો દૂર કરો"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"અલગ-અલગ વપરાશકર્તાઓ અનુસાર ડિવાઇસના અનુભવ અને સેટિંગ મનગમતા બનાવો"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"માત્ર મહત્ત્વના હોય એવા લોકો અને ઍપને જ તમારી સુધી પહોંચવાની મંજૂરી આપીને ધ્યાન ભટકાવનારા અવરોધો ઓછા કરો"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"નિયમિત શેડ્યૂલ અનુસરે એવો કોઈ મોડ સેટ કરો"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"દિવસભરની તમારી ઇવેન્ટને તમારા ડિવાઇસ સાથે સિંક કરેલી રાખો"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"જાગો ત્યારે 100% તાજગી અનુભવો"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"ડ્રાઇવ કરતી વખતે સૌપ્રથમ સલામતીને મહત્ત્વ આપો"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"પોતાના કામ પર ફોકસ કરો"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"એવી પળો માટે કે જ્યારે શિષ્ટાચાર મહત્ત્વ ધરાવતો હોય છે"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"પોતાને સલામત રાખવા માટે, સેવાનો માર્ગદર્શિત વપરાશ"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"તમારા ધ્યાનને નિયંત્રણમાં રાખો"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"ચેતવણી"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"બંધ કરો"</string>
     <string name="device_feedback" msgid="5351614458411688608">"આ ડિવાઇસ વિશે પ્રતિસાદ મોકલો"</string>
@@ -4006,6 +4102,10 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"<xliff:g id="APP">%1$s</xliff:g> માટે મોડના ઍક્સેસની મંજૂરી આપીએ?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"આ ઍપ \'ખલેલ પાડશો નહીં\' ચાલુ/બંધ કરી શકશે, મોડ મેનેજ કરી શકશે અને તેને સક્રિય કરી શકશે તેમજ સંબંધિત સેટિંગમાં ફેરફારો કરી શકશે."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"<xliff:g id="APP">%1$s</xliff:g> માટે મોડનો ઍક્સેસ રદબાતલ કરીએ?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"આ ઍપ દ્વારા બનાવવામાં આવેલા બધા મોડ કાઢી નાખવામાં આવશે."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"ઓપ્ટિમાઇઝ કરશો નહીં"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"ઑપ્ટિમાઇઝ કરો"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"તમારી બૅટરી વધુ ઝડપથી ખાલી થઈ શકે છે. ઍપ હવે બૅકગ્રાઉન્ડ બૅટરીનો ઉપયોગ કરવાથી પ્રતિબંધિત રહેશે નહીં."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"કેસ"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"બૅટરી"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"સેટિંગ પૅનલ"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"ફરજિયાત ડેસ્કટૉપ મોડ ચાલુ કરો"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"સેકન્ડરી ડિસ્પ્લે પર ફરજિયાત પ્રયોગાત્મક ડેસ્કટૉપ મોડ ચાલુ કરો"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"ફ્રીફોર્મ વિન્ડો ચાલુ કરો"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"સેકન્ડરી ડિસ્પ્લે પર ફ્રીફોર્મ વિન્ડો ચાલુ કરો"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"એકથી વધુ વિન્ડોમાં ફરીથી કદ ન બદલી શકવાનો વિકલ્પ ચાલુ કરો"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"ફરીથી કદ ન બદલી શકે તેવી ઍપને એકથી વધુ વિન્ડોમાં દેખાવાની મંજૂરી આપે છે"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"ફરજિયાત ઘેરા મોડની સુવિધાને ઓવરરાઇડ કરો"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"મોબાઇલ ડેટા"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"ડિવાઇસના અનુભવને બહેતર બનાવવા માટે, વાઇ-ફાઇ બંધ હોય ત્યારે પણ ઍપ અને સેવાઓ કોઈપણ સમયે વાઇ-ફાઇ નેટવર્ક સ્કૅન કરી શકે છે. ઉદાહરણ તરીકે, આનો ઉપયોગ લોકેશન આધારિત સુવિધાઓ અને સેવાઓને બહેતર બનાવવા માટે કરી શકાય છે. તમે વાઇ-ફાઇ સ્કૅનિંગના સેટિંગમાં જઈને આને બદલી શકો છો."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"બદલો"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"કનેક્ટ કરેલું"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"હંગામી રીતે કનેક્ટ કર્યું"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"હંગામી રીતે <xliff:g id="SUBNAME">%1$s</xliff:g>નો ઉપયોગ કરી રહ્યું છે"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ઍપ પિનિંગનો ઉપયોગ કરો"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"ડેવલપરના વિકલ્પોનો ઉપયોગ કરો"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"પ્રિન્ટ સેવાનો ઉપયોગ કરો"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"એકથી વધુ વપરાશકર્તાઓને મંજૂરી આપો"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"વપરાશકર્તા સ્વિચ કરવાની મંજૂરી આપો"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"મંજૂરી આપો, એકથી વધુ, વપરાશકર્તા, પરવાનગી આપો, અનેક"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"એકથી વધુ, વપરાશકર્તાઓ, પ્રોફાઇલ, લોકો, એકાઉન્ટ, સ્વિચ કરો, ઘણા"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"વાયરલેસ ડિબગીંગનો ઉપયોગ કરો"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> આ ફોન સાથે કનેક્ટ થવા માગે છે.\n\nતમે પહેલાં ક્યારેય <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> સાથે કનેક્ટ થયા નથી."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"કનેક્ટ કરશો નહીં"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"કનેક્ટ કરો"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE સેટિંગ"</string>
-    <string name="tare_on" msgid="2386073225978684535">"ચાલુ છે"</string>
-    <string name="tare_off" msgid="6305694402929756726">"બંધ છે"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"ડિફૉલ્ટ સેટિંગ પર પાછા ફરો"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"ફરીથી ડિફૉલ્ટ સેટિંગ પર."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"સંપૂર્ણ ચાર્જ ડિવાઇસમાંનો મહત્તમ પાવર"</string>
-    <string name="tare_balances" msgid="731881382594747961">"બૅલેન્સ"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"વપરાશની સીમા"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"પ્રારંભિક વપરાશની સીમા"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"વપરાશની ન્યૂનતમ મર્યાદા"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"વપરાશની મહત્તમ મર્યાદા"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"મૉડિફાયર"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"ક્રિયાઓ (ઉત્પાદન ખર્ચ)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"ક્રિયાઓ (મૂળ કિંમત)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"પ્રત્યેક ઇવેન્ટ દીઠ રિવૉર્ડ"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"ઇવેન્ટની અવધિના સેકન્ડ દીઠ રિવૉર્ડ"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"દિવસ દીઠ મહત્તમ રિવૉર્ડ"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"ઍપ ઇન્સ્ટૉલ"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"વપરાશકર્તાઓને સૌથી વધુ દેખાતી ઍપ"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"નોટિફિકેશન જોવાયું"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"15 મિનિટની અંદર નોટિફિકેશન જોવાયું"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"નોટિફિકેશન પરની ક્રિયાપ્રતિક્રિયા"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"વિજેટ સાથે ક્રિયાપ્રતિક્રિયા"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"અન્ય વપરાશકર્તા દ્વારા ક્રિયાપ્રતિક્રિયા"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"ડિફૉલ્ટ તરીકે મહત્તમ પ્રાધાન્યતાવાળું કાર્ય શરૂ"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"ડિફૉલ્ટ તરીકે મહત્તમ પ્રાધાન્યતાવાળું કાર્ય પ્રક્રિયામાં"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"ડિફૉલ્ટ તરીકે વધુ પ્રાધાન્યતાવાળું કાર્ય શરૂ"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"ડિફૉલ્ટ તરીકે વધુ પ્રાધાન્યતાવાળું કાર્ય પ્રક્રિયામાં"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"ડિફૉલ્ટ તરીકે પ્રાધાન્યતાવાળું કાર્ય શરૂ"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"ડિફૉલ્ટ તરીકે પ્રાધાન્યતાવાળું કાર્ય પ્રક્રિયામાં"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"ડિફૉલ્ટ તરીકે ઓછી પ્રાધાન્યતાવાળું કાર્ય શરૂ"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"ડિફૉલ્ટ તરીકે ઓછી પ્રાધાન્યતાવાળું કાર્ય પ્રક્રિયામાં"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"ડિફૉલ્ટ તરીકે ન્યૂનતમ પ્રાધાન્યતાવાળું કાર્ય શરૂ"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"ડિફૉલ્ટ તરીકે ન્યૂનતમ પ્રાધાન્યતાવાળું કાર્ય પ્રક્રિયામાં"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"કાર્યની સમયસમાપ્તિ થવા પર લેવાતો દંડ"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"બૅટરી પૂરી ચાર્જ થયેલી હોય ત્યારનું લઘુતમ બૅલેન્સ (બાકાત રાખેલી ઍપ)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"બૅટરી પૂરી ચાર્જ થયેલી હોય ત્યારનું લઘુતમ બૅલેન્સ (હેડલેસ સિસ્ટમ ઍપ)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"બૅટરી પૂરી ચાર્જ થયેલી હોય ત્યારનું લઘુતમ બૅલેન્સ (બાકી ઍપ)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"બૅલેન્સ ઉમેરવા માટે ઓછામાં ઓછી સંતૃપ્તા (ઍપ અપડેટર)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"ચાર્જ થઈ રહ્યું છે"</item>
-    <item msgid="658627268149681677">"ડોઝ"</item>
-    <item msgid="1599558140284643834">"પાવર બચત મોડ"</item>
-    <item msgid="588427840913221601">"પ્રક્રિયાનું સ્ટેટસ"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"કન્ફર્મ કરો"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"પ્રીવ્યૂ કરો"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"કોઈ સ્ક્રીન સેવર પસંદ કરો"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"વધારાની માહિતી બતાવો"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"જ્યારે તમારું ટૅબ્લેટ ડૉક કરેલું હોય, ત્યારે તમે તમારી સ્ક્રીન પર શું જોશો તે પસંદ કરો. જ્યારે સ્ક્રીનસેવરનો ઉપયોગ કરવામાં આવે, ત્યારે તમારું ડિવાઇસ વધુ ઊર્જાનો ઉપયોગ કરી શકે છે."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"કસ્ટમાઇઝ કરો"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>ને કસ્ટમાઇઝ કરો"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"ફ્રીફોર્મ સપોર્ટ ચાલુ કરવા માટે રીબૂટ કરવું જરૂરી છે."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"ગૌણ ડિસ્પ્લે પર ડેસ્કટૉપ મોડ લાગુ થવાની ફરજ પાડવા માટે રીબૂટ કરવું જરૂરી છે."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"ફ્રીફોર્મ વિન્ડો સપોર્ટ ચાલુ કરવા માટે રીબૂટ કરવું જરૂરી છે."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"ફ્રીફોર્મ વિન્ડોની ઉપલબ્ધતાને અપડેટ કરવા માટે રીબૂટ કરવું જરૂરી છે."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"સેકન્ડરી ડિસ્પ્લે પર ફ્રીફોર્મ વિન્ડો ચાલુ કરવા માટે રીબૂટ કરવું જરૂરી છે."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"હમણાં રીબૂટ કરો"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"પછીથી રીબૂટ કરો"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"સ્પેશલ ઑડિયો"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"રૉઝ"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"મજેન્ટા"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"જાંબુડિયો"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"થઈ ગયું"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"સાચવો"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"રદ કરો"</string>
     <string name="contrast_default" msgid="8918545965525226966">"ડિફૉલ્ટ"</string>
     <string name="contrast_medium" msgid="384414510709285811">"મધ્યમ"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"ચાલુ"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"બંધ"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"ચાલુ"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"ઑડિયો %1$d%% ડાબી બાજુ, %2$d%% જમણી બાજુ"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"ઑડિયો %1$d%% જમણી બાજુ, %2$d%% ડાબી બાજુ"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"તમે ઇન્સ્ટૉલ કરેલી ઍપ તમારા ડિવાઇસનું નામ જોઈ શકે છે. જ્યારે તમે બ્લૂટૂથ ડિવાઇસથી કનેક્ટ કરો, કોઈ વાઇ-ફાઇ નેટવર્કથી કનેક્ટ કરો અથવા કોઈ વાઇ-ફાઇ હૉટસ્પૉટ સેટઅપ કરો ત્યારે અન્ય લોકો પણ તે જોઈ શકે છે."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"વ્યાકરણ અનુસારનું લિંગ"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"વ્યાકરણ અનુસારનું લિંગ પસંદ કરો"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"ઑડિયો શેરિંગ રોકવામાં આવ્યું"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"સુસંગત ડિવાઇસ કનેક્ટ કરો"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"ઑડિયો શેર કરવાનું શરૂ કરવા માટે, પહેલા તમારા ફોન સાથે LE ઑડિયો હૅડફોન કનેક્ટ કરો"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> પર સ્વિચ કરો"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"LE ઑડિયો સ્ટ્રીમ સાથે કનેક્ટ કરો"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"શેરિંગ ઑડિયો સ્ટ્રીમ"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"ઑડિયો સ્ટ્રીમ"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"સ્ટ્રીમ સાંભળો"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> વડે સાંભળવા માટે, ઑડિયો સ્ટ્રીમનો QR કોડ સ્કૅન કરો"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"શેર કરતી વખતે પાસવર્ડમાં ફેરફાર કરી શકાતો નથી. પાસવર્ડ બદલવા માટે, પહેલાં ઑડિયો શેરિંગ બંધ કરો."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR કોડ સ્કૅનર"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"શું સહાયની જરૂર છે?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"સેટિંગમાં શોધો"</string>
 </resources>
diff --git a/res/values-hi/arrays.xml b/res/values-hi/arrays.xml
index d55164f..0ff7011 100644
--- a/res/values-hi/arrays.xml
+++ b/res/values-hi/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"बेडटाइम"</item>
-    <item msgid="4152450357280759894">"ड्राइविंग"</item>
-    <item msgid="7096549258219399423">"इमर्सिव"</item>
-    <item msgid="2760716776980432977">"मैनेज किया गया"</item>
-    <item msgid="601734478369121764">"स्टार"</item>
-    <item msgid="6243809315432780521">"कैलेंडर"</item>
-    <item msgid="4913577903148415331">"समय"</item>
-    <item msgid="3653377604690057780">"थिएटर"</item>
-    <item msgid="3843711267408385410">"फूल"</item>
+    <item msgid="1216815120972438676">"ब्रीफ़केस"</item>
+    <item msgid="184985872234062767">"क्लासिकल बिल्डिंग"</item>
+    <item msgid="9189550412466785530">"अपार्टमेंट बिल्डिंग"</item>
+    <item msgid="2142527562511049422">"स्पीच बबल"</item>
+    <item msgid="2548100558260478605">"लोगों का ग्रुप"</item>
+    <item msgid="2270003903304578284">"बल्ब"</item>
+    <item msgid="4793496619091161864">"कैलेंडर"</item>
+    <item msgid="5673625795644364100">"परेशान न करें"</item>
+    <item msgid="1423820834865831361">"दौड़ता हुआ व्यक्ति"</item>
+    <item msgid="2037298830718732608">"गॉल्फ़"</item>
+    <item msgid="2197835014443491074">"जिम डंबल"</item>
+    <item msgid="2730180105015616518">"तैराकी"</item>
+    <item msgid="2666922823253345958">"पैदल चलता हुआ व्यक्ति"</item>
+    <item msgid="8234880356472211396">"बॉल फेंकता हुआ व्यक्ति"</item>
+    <item msgid="4642980625253001443">"किक मारता हुआ व्यक्ति"</item>
+    <item msgid="4324795269518833500">"गेम कंट्रोलर"</item>
+    <item msgid="7789966425125441125">"कलाकार के लिए रंग पटल"</item>
+    <item msgid="663512680597461570">"स्नोफ़्लेक"</item>
+    <item msgid="7952183800501346803">"बीच अंब्रेला"</item>
+    <item msgid="799139025758265891">"वर्कशॉप टूल"</item>
+    <item msgid="1330084588359129896">"टेंट"</item>
+    <item msgid="3861584909935022342">"फ़िल्म रील"</item>
+    <item msgid="5827426100157335512">"किताब"</item>
+    <item msgid="8585828346253128384">"कमल का फूल"</item>
+    <item msgid="8788370542815300188">"व्यक्ति का दिमाग"</item>
+    <item msgid="7287354964767553293">"हेडफ़ोन"</item>
+    <item msgid="2530059623783800987">"टीवी"</item>
+    <item msgid="5307182323469376758">"ट्रेन"</item>
+    <item msgid="4903790544026923026">"कार"</item>
+    <item msgid="5010405583912314582">"कांटा और चाकू"</item>
+    <item msgid="8939998598599064900">"शॉपिंग कार्ट"</item>
+    <item msgid="3379605903308731893">"बच्चा"</item>
+    <item msgid="7808668968550293112">"जानवर का पंजा"</item>
+    <item msgid="1000692647524056504">"स्टार बैज"</item>
+    <item msgid="8270261073421676502">"दो लोग"</item>
+    <item msgid="5767782819651505460">"स्टार"</item>
+    <item msgid="4368451291862729334">"दिल"</item>
+    <item msgid="2613199102208419986">"घर"</item>
+    <item msgid="3022279986430275040">"हाफ़-मून"</item>
+    <item msgid="5421089790869483206">"घड़ी"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index f5656e1..eeb23e8 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"निलंबित"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"अज्ञात"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"झलक"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"क्यूआर कोड"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"छोटा करें"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"बड़ा करें"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"हमेशा"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"कान की मशीन की सेटिंग"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"शॉर्टकट, कान की मशीन के साथ काम करने की सुविधा"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"प्रीसेट"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"आपके ऑडियोलॉजिस्ट ने कोई प्रीसेट सेट नहीं किया है"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"प्रीसेट अपडेट नहीं किया जा सका"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"ऑडियो डिवाइस"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ऑडियो आउटपुट की जानकारी"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"सेटिंग में, इस ऐप्लिकेशन की भाषा चुनने का विकल्प मौजूद नहीं है."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"भाषा, ऐप्लिकेशन में उपलब्ध भाषाओं से अलग हो सकती है. हो सकता है कि कुछ ऐप्लिकेशन के साथ, भाषा की यह सेटिंग काम न करे."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"हर ऐप्लिकेशन के लिए भाषा सेट करें."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"आपके डिवाइस का सिस्टम, उस पर मौजूद ऐप्लिकेशन, और उस पर चलाई जाने वाली वेबसाइटें उस भाषा का इस्तेमाल करती हैं जिसे आपने अपनी पहली पसंदीदा भाषा के तौर पर सेट किया हो. इसके लिए ज़रूरी है कि चुनी गई भाषा उस डिवाइस पर काम करती हो."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"आपका डिवाइस और ऐप्लिकेशन उस भाषा का इस्तेमाल करते हैं जिसे आपने पसंदीदा भाषा की अपनी सूची में पहली भाषा के तौर पर सेट किया है.\n\nकई ऐप्लिकेशन तारीखों, संख्याओं, और इकाइयों को उस देश या इलाके के हिसाब से भी फ़ॉर्मैट करेंगे जहां आपकी पसंदीदा भाषा बोली जाती है. अपने देश या इलाके की जानकारी बदलने के लिए, कोई भाषा जोड़ें और अपना पसंदीदा देश या इलाका चुनें."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"अगर आपको हर ऐप्लिकेशन के लिए अलग भाषा चुननी है, तो ऐप्लिकेशन की भाषा सेटिंग पर जाएं."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"ऐप्लिकेशन की भाषाओं के बारे में ज़्यादा जानें"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"क्या सिस्टम की भाषा बदलकर %s करनी है ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"बंद है"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{चालू है / # ऐप्लिकेशन के पास जगह की जानकारी का ऐक्सेस है}one{चालू है / # ऐप्लिकेशन के पास जगह की जानकारी का ऐक्सेस है}other{चालू है / # ऐप्लिकेशन के पास जगह की जानकारी का ऐक्सेस है}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"लोड हो रहा है…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"ऐसे ऐप्लिकेशन, जिन्हें आस-पास मौजूद डिवाइसों के साथ इंटरैक्ट करने की अनुमति मिली है वे कनेक्ट किए गए डिवाइसों की जगह की जानकारी का पता लगा सकते हैं."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"जिन ऐप्लिकेशन को आस-पास मौजूद डिवाइसों के साथ इंटरैक्ट करने की अनुमति मिली है वे कनेक्ट किए गए डिवाइसों की जगह की जानकारी का पता लगा सकते हैं."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"ऐप्लिकेशन और सेवाओं के लिए, जगह की जानकारी का ऐक्सेस बंद है. आपके डिवाइस की जगह की जानकारी, आपातकालीन स्थिति में मदद करने वाले लोगों को अब भी दी जा सकती है. ऐसा आपके किसी आपातकालीन नंबर पर कॉल करने या मैसेज भेजने पर किया जाएगा."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"जगह की जानकारी की सेटिंग के बारे में ज़्यादा जानें"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"इसे बदलने के लिए, ChromeOS की सेटिंग &gt; निजता और सुरक्षा &gt; निजता सेटिंग &gt; जगह की जानकारी के ऐक्सेस पर जाएं"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"चेहरा और <xliff:g id="WATCH">%s</xliff:g> सेट अप की गई"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"चेहरा, फ़िंगरप्रिंट, और <xliff:g id="WATCH">%s</xliff:g> सेट अप की गई"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"चेहरा, फ़िंगरप्रिंट, और <xliff:g id="WATCH">%s</xliff:g> सेट अप की गई"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"पहचान की पुष्टि करने की सुविधा चालू है और इसके लिए बायोमेट्रिक डेटा की ज़रूरत है"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator अनलॉक करें"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"स्मार्टवॉच जोड़ दी गई"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"अपनी स्मार्ट वॉच सेट अप करें"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"स्मार्टवॉच से फ़ोन अनलॉक करने की सुविधा के बारे में ज़्यादा जानें"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"स्मार्टवॉच कनेक्ट करें"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"स्मार्टवॉच डिसकनेक्ट करें"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"फ़िंगरप्रिंट और फ़ेस अनलॉक"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"फ़िंगरप्रिंट और फ़ेस अनलॉक"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"वर्क प्रोफ़ाइल के लिए, फ़ेस और फ़िंगरप्रिंट अनलॉक की सुविधा"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"सेटअप करना होगा"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"चेहरे का मॉडल और फ़िंगरप्रिंट जोड़े गए"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"प्राइवेट स्पेस सेट अप किया जा रहा है…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"प्राइवेट स्पेस को सेट अप नहीं किया जा सका"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"फिर से कोशिश करें"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"बाहर निकलें"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"प्राइवेट स्पेस उपलब्ध नहीं है.\nसंभावित वजहें देखें"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"संभावित वजहें देखें"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"प्राइवेट स्पेस के लिए नया लॉक चुनना है?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"प्राइवेट स्पेस के लिए, एक नया लॉक सेट किया जा सकता है या डिवाइस के लॉक का इस्तेमाल किया जा सकता है"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"स्क्रीन लॉक का इस्तेमाल करें"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ब्लूटूथ चालू हाेने पर, आपका डिवाइस आस-पास के ब्लूटूथ डिवाइसों से कनेक्ट हो सकता है. \n\nडिवाइस इस्तेमाल करने के अनुभव काे बेहतर बनाने के लिए, ऐप्लिकेशन और सेवाएं किसी भी समय आस-पास के डिवाइसों काे स्कैन कर सकती हैं. ऐसा ब्लूटूथ बंद होने पर भी किया जा सकता है. उदाहरण के लिए, इसका इस्तेमाल जगह से जुड़ी सुविधाओं और सेवाओं को बेहतर बनाने के लिए किया जा सकता है. ब्लूटूथ डिवाइस का पता लगाने की सुविधा की सेटिंग में जाकर, इसे बदला जा सकता है."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"ब्लूटूथ चालू होने पर, आपका डिवाइस आस-पास मौजूद अन्य ब्लूटूथ डिवाइसों से कनेक्ट हो सकता है. क्विक शेयर और Find My Device जैसी सुविधाएं ब्लूटूथ का इस्तेमाल करती हैं.\n\nऐप्लिकेशन और सेवाएं, ब्लूटूथ बंद होने पर भी आपके आस-पास मौजूद डिवाइसों का पता लगा सकती हैं. उदाहरण के लिए, इसका इस्तेमाल जगह की जानकारी से जुड़ी सुविधाओं और सेवाओं को बेहतर बनाने के लिए किया जा सकता है. ब्लूटूथ डिवाइस का पता लगाने की सुविधा की सेटिंग में जाकर, इसे बदला जा सकता है."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"बदलें"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> कनेक्ट नहीं है"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"बेहतर सुरक्षा के लिए, इस डिवाइस को हटाएं. इसके बाद, फिर से कनेक्ट करें"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"डिवाइस को हटाएं"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"रद्द करें"</string>
     <string name="device_details_title" msgid="1155622417516195481">"डिवाइस की जानकारी"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"कीबोर्ड की सेटिंग"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"अन्य सेटिंग"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"फ़र्मवेयर अपडेट, इसकी जानकारी, और अन्य सेटिंग"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"सलाह और सहायता"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"डिवाइस का ब्लूटूथ पता: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"डिवाइस के ब्लूटूथ का पता:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"डिवाइस को हटाना है?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"प्रयोग. इससे ऑडियो क्वालिटी बेहतर होगी."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"डिवाइस हटाएं"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"ऐप्लिकेशन डिसकनेक्ट करें"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"अन्य सेटिंग"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"ब्लूटूथ के ज़रिए ज़्यादा से ज़्यादा कितने ऑडियो डिवाइस जुड़ सकते हैं"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"यह चुनें कि ब्लूटूथ के ज़रिए ज़्यादा से ज़्यादा कितने ऑडियो डिवाइस जुड़ सकते हैं"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"एनएफ़सी वर्बोस वेंडर डीबग लॉग"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"क्या आपको डिवाइस रीस्टार्ट करना है?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"एनएफ़सी का लाॅग सिर्फ़ डेवलपमेंट के मकसद से बनाया गया है. गड़बड़ी की रिपोर्ट में एनएफ़सी का अतिरिक्त डेटा शामिल होता है. इसमें निजी जानकारी भी शामिल हो सकती है. इस सेटिंग को बदलने के लिए, डिवाइस को रीस्टार्ट करें."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"रीस्टार्ट करें"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"चालू है"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"बंद है"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"बाहरी डिसप्ले"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"बाहरी डिसप्ले का इस्तेमाल करें"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"डिसप्ले का रिज़ॉल्यूशन"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"बाहरी डिसप्ले डिसकनेक्ट कर दिया गया है"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"रोटेशन"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"स्टैंडर्ड रोटेशन"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"रोटेशन या रिज़ॉल्यूशन बदलने की वजह से, बैकग्राउंड में चल रहे ऐप्लिकेशन बंद हो सकते हैं"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"डिवाइस की स्क्रीन को किसी बाहरी डिसप्ले पर दिखाने के लिए, इनका आपस में कनेक्ट होना ज़रूरी है"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"ज़्यादा विकल्प"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"कास्ट करने की सेटिंग"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"स्क्रीन शेयर करें"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"बिना वायर के स्क्रीन दिखाना (वायरलेस डिसप्ले) चालू करें"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"आस-पास की रोशनी के हिसाब से रंग बदल जाता है"</string>
     <string name="brightness" msgid="6216871641021779698">"स्क्रीन की रोशनी का लेवल"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"आस-पास की लाइट के हिसाब से स्क्रीन की रोशनी"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"आस-पास की लाइट के हिसाब से स्क्रीन की रोशनी से जुड़ी जानकारी"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"आपकी गतिविधियों और आस-पास मौजूद लाइट के हिसाब से, डिवाइस की स्क्रीन की रोशनी अपने-आप अडजस्ट हो जाएगी. स्लाइडर को मैन्युअल तरीके से अडजस्ट करें. ऐसा करने से इस सुविधा को आपकी पसंद का पता चलेगा और अगली बार स्क्रीन की रोशनी आपके हिसाब से अडजस्ट करने में मदद मिलेगी."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"चालू है"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"बंद"</string>
@@ -1311,8 +1340,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="8850185380445309835">"पसंदीदा सिम बदलना है?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"आपके डिवाइस में सिर्फ़ <xliff:g id="NEW_SIM">%1$s</xliff:g> सिम है. क्या आपको मोबाइल डेटा, कॉल, और मैसेज (एसएमएस) के लिए इस सिम का इस्तेमाल करना है?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> अब आपका मुख्य सिम है"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"मोबाइल डेटा कवरेज बढ़ाना है?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"बेहतर नेटवर्क उपलब्ध होने पर, डिवाइस को मोबाइल डेटा के लिए <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> पर अपने-आप स्विच होने की अनुमति दें."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"कॉल, मैसेज, और नेटवर्क ट्रैफ़िक की जानकारी आपके संगठन को दिख सकती है."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"अन्य विकल्प"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"सुलभता सुविधा"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"सामान्य कीबोर्ड"</string>
-    <string name="show_ime" msgid="4334255501724746849">"ऑन-स्क्रीन कीबोर्ड का इस्तेमाल करें"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"इसे सामान्य कीबोर्ड चालू रहने के दौरान भी स्‍क्रीन पर दिखाएं"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"बाउंस बटन"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"एक ही कुंजी को <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> मि॰से॰ के अंदर बार-बार दबाने पर, कीबोर्ड उसे अनदेखा कर देता है"</string>
     <string name="slow_keys" msgid="2891452895499690837">"स्लो बटन"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"किसी कुंजी को दबाने पर, स्क्रीन पर होने वाली प्रतिक्रिया का समय <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> मि॰से॰ तक अडजस्ट किया जा सकता है"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"स्टिकी बटन"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"शॉर्टकट के लिए, कई कुंजियों को एक साथ दबाकर रखने के बजाय एक बार में एक कुंजी दबाएं"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"माउस का काम करने वाले बटन"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"माउस पॉइंटर को कंट्रोल करने के लिए, फ़िज़िकल कीबोर्ड का इस्तेमाल करें."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"कीबोर्ड शॉर्टकट"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"शॉर्टकट की सूची दिखाएं"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"काम के प्रोफ़ाइल से जुड़े कीबोर्ड और टूल"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"टचपैड पर नेविगेशन के लिए हाथ के जेस्चर पसंद के मुताबिक बनाएं"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"रिवर्स स्क्रोलिंग"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"नीचे की ओर स्क्रोल करने पर, कॉन्टेंट ऊपर की ओर जाता है"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"सबसे नीचे दाईं ओर टैप करें"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"ज़्यादा विकल्पों के लिए टचपैड के सबसे नीचे दाएं कोने पर टैप करें"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"सबसे नीचे दाईं ओर क्लिक करें"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"टचपैड के सबसे नीचे दाएं कोने पर क्लिक करके अन्य विकल्प पाएं"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"पॉइंटर की स्पीड"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"पॉइंटर का फ़िल स्टाइल"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"पॉइंटर फ़िल स्टाइल, ब्लैक में बदलें"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"पॉइंटर फ़िल स्टाइल, येलो में बदलें"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"पॉइंटर फ़िल स्टाइल, पिंक में बदलें"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"पॉइंटर फ़िल स्टाइल, ब्लू में बदलें"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"पॉइंटर स्ट्रोक स्टाइल"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"सफ़ेद"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"काला"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"कोई नहीं"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"टचपैड पर हाथ के जेस्चर जानें"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"ट्रैकपैड, ट्रैक पैड, माउस, कर्सर, स्क्रोल, स्वाइप, राइट क्लिक, क्लिक, पॉइंटर"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"राइट क्लिक, टैप"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"रीसेट करें"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"कार्रवाई बदलने वाली कुंजी चुनें"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> के लिए, कोई नई कुंजी चुनें:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"फ़िज़िकल कीबोर्ड की सुलभता सेटिंग"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"स्टिकी बटन, बाउंस बटन, माउस बटन"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> का लेआउट"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"डिफ़ॉल्ट"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"अपने-आप चुना गया: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"उपयोगकर्ता का चुना गया: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"बोली"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"पॉइंटर स्पीड"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"माउस पॉइंटर का साइज़"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"माउस पॉइंटर का साइज़ कम करें"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"माउस पॉइंटर का साइज़ बढ़ाएं"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"गेमनियंत्रक"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"वाइब्रेशन रिडायरेक्ट करें"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"कनेक्ट होने पर, गेम कंट्रोलर पर वाइब्रेशन हो"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"जारी रखें"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"अभी नहीं"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"ज़ूम करने की सुविधा की सेटिंग"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"ज़ूम वाले हिस्से को एक उंगली से ड्रैग करने की सुविधा"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"ज़ूम वाले हिस्से को एक उंगली से ड्रैग करके इधर-उधर ले जाएं"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"स्क्रीन पर मूव करने के लिए उसे एक उंगली से खींचें और छोड़ें"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"ज़ूम वाला हिस्सा एक उंगली से ड्रैग करके इधर-उधर ले जाएं."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"ज़ूम वाला हिस्सा दो उंगलियों से ड्रैग करके इधर-उधर ले जाएं."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"स्क्रीन का एक हिस्सा ज़ूम करने के दौरान, यह सुविधा उपलब्ध नहीं होगी"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ज़ूम करने के लिए किसी बटन पर टैप करें"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"कॉन्टेंट को बड़े साइज़ में देखने के लिए, स्क्रीन पर तेज़ी से ज़ूम इन करें"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;ज़ूम इन करने के लिए:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ज़ूम करने की सुविधा को शुरू करने के लिए, शॉर्टकट का इस्तेमाल करें&lt;br/&gt; {1,number,integer}. स्क्रीन पर टैप करें&lt;br/&gt; {2,number,integer}. स्क्रीन पर इधर-उधर जाने के लिए, दो उंगलियों से खींचें और छोड़ें&lt;br/&gt; {3,number,integer}. ज़ूम को कम या ज़्यादा करने के लिए, दो उंगलियों से पिंच करें&lt;br/&gt; {4,number,integer}. ज़ूम करने की सुविधा को बंद करने के लिए, शॉर्टकट का इस्तेमाल करें&lt;br/&gt;&lt;br/&gt; &lt;b&gt;कुछ समय तक ज़ूम इन करने के लिए:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. पक्का करें कि आपके डिवाइस पर, पूरी स्क्रीन को ज़ूम करने का विकल्प चुना गया हो&lt;br/&gt; {1,number,integer}. ज़ूम करने की सुविधा को शुरू करने के लिए, शॉर्टकट का इस्तेमाल करें&lt;br/&gt; {2,number,integer}. स्क्रीन पर कहीं भी उंगली से दबाकर रखें&lt;br/&gt; {3,number,integer}. स्क्रीन पर इधर-उधर जाने के लिए, उंगली से खींचें और छोड़ें&lt;br/&gt; {4,number,integer}. ज़ूम करने की सुविधा बंद करने के लिए, स्क्रीन से अपनी उंगली हटाएं"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;ज़ूम इन करने के लिए:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ज़ूम करने की सुविधा को शुरू करने के लिए, शॉर्टकट का इस्तेमाल करें&lt;br/&gt; {1,number,integer}. स्क्रीन पर टैप करें&lt;br/&gt; {2,number,integer}. स्क्रीन पर इधर-उधर जाने के लिए, उसे दो उंगलियों से खींचें और छोड़ें&lt;br/&gt; {3,number,integer}. ज़ूम को कम या ज़्यादा करने के लिए, दो उंगलियों से पिंच करें&lt;br/&gt; {4,number,integer}. ज़ूम करने की सुविधा को रोकने के लिए, शॉर्टकट का इस्तेमाल करें&lt;br/&gt;&lt;br/&gt; आपके पास कुछ समय के लिए ज़ूम इन करने और अन्य काम करने का भी विकल्प है."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;ज़ूम इन करने के लिए:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ज़ूम करने की सुविधा को शुरू करने के लिए, शॉर्टकट का इस्तेमाल करें&lt;br/&gt; {1,number,integer}. स्क्रीन पर टैप करें&lt;br/&gt; {2,number,integer}. स्क्रीन पर इधर-उधर जाने के लिए, उसे एक या दो उंगली से खींचें और छोड़ें&lt;br/&gt; {3,number,integer}. ज़ूम को कम या ज़्यादा करने के लिए, दो उंगलियों से पिंच करें&lt;br/&gt; {4,number,integer}. ज़ूम करने की सुविधा को रोकने के लिए, शॉर्टकट का इस्तेमाल करें&lt;br/&gt;&lt;br/&gt; आपके पास कुछ समय के लिए ज़ूम इन करने और अन्य काम करने का भी विकल्प है."</string>
     <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"बड़ा करके देखने की सुविधा चालू होने पर, आप स्क्रीन को ज़ूम इन कर सकते हैं.\n\n"<b>"ज़ूम करने के लिए"</b>", बड़ा करके देखने की सुविधा चालू करें और फिर स्क्रीन पर कहीं भी टैप करें.\n"<ul><li>"स्क्रोल करने के लिए दो या ज़्यादा उंगलियों से खींचें और छोड़ें"</li>\n<li>"ज़ूम नियंत्रित करने के लिए दो या ज़्यादा उंगलियों से पिंच करें"</li></ul>\n\n<b>"थोड़ी देर तक ज़ूम करने के लिए"</b>", बड़ा करके देखने की सुविधा चालू करें, फिर स्क्रीन पर कहीं भी दबाकर रखें.\n"<ul><li>"स्क्रीन के दूसरे हिस्सों पर जाने के लिए, उंगलियों से खींचें और छोड़ें"</li>\n<li>"ज़ूम घटाने के लिए उंगलियों को स्क्रीन से हटाएं"</li></ul>\n\n"आप कीबोर्ड या नेविगेशन बार को ज़ूम इन नहीं कर सकते."</string>
     <string name="accessibility_tutorial_pager" msgid="8461939455728454061">"पेज <xliff:g id="NUM_PAGES">%2$d</xliff:g> में से <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"सुलभता बटन का शॉर्टकट"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"फ़्लोटिंग बटन पर टैप करें"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"सुलभता से जुड़े हाथ के जेस्चर"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"स्क्रीन पर सबसे नीचे मौजूद, सुलभता बटन <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> पर टैप करें. सुविधाओं के बीच स्विच करने के लिए, सुलभता बटन को दबाकर रखें."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"स्क्रीन पर नीचे से ऊपर की ओर दो उंगलियों से स्वाइप करें.\n\nएक सुविधा से दूसरी सुविधा पर जाने के लिए, दो उंगलियों से ऊपर की ओर स्वाइप करें और स्क्रीन को थोड़ी देर दबाकर रखें."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"स्क्रीन पर नीचे से ऊपर की ओर तीन उंगलियों से स्वाइप करें.\n\nएक सुविधा से दूसरी सुविधा पर जाने के लिए, तीन उंगलियों से ऊपर की ओर स्वाइप करें और स्क्रीन को थोड़ी देर दबाकर रखें."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{स्क्रीन पर नीचे से ऊपर की ओर स्वाइप करें. सुविधाओं के बीच स्विच करने के लिए, ऊपर की ओर स्वाइप करें और दबाकर रखें.}one{स्क्रीन पर # उंगली से नीचे से ऊपर की ओर स्वाइप करें. सुविधाओं के बीच स्विच करने के लिए, स्क्रीन पर # उंगली से ऊपर की ओर स्वाइप करें और दबाकर रखें.}other{स्क्रीन पर # उंगलियों से नीचे से ऊपर की ओर स्वाइप करें. सुविधाओं के बीच स्विच करने के लिए, स्क्रीन पर # उंगलियों से ऊपर की ओर स्वाइप करें और दबाकर रखें.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"और विकल्प"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"<xliff:g id="SERVICE">%1$s</xliff:g> के बारे में ज़्यादा जानें"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"आवाज़ बटन"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"आवाज़ बटन"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"आवाज़ वाले दोनों बटन दबाकर रखें"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"दो उंगलियों से दो बार टैप करें"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d-उंगलियों से दो बार टैप करें"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"स्क्रीन पर %1$d उंगलियों से फटाफट दो बार टैप करें"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"तीन बार टैप करें"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"स्क्रीन पर फटाफट %1$d बार टैप करें. ऐसा करने से, हो सकता है कि आपका डिवाइस थोड़ा धीरे काम करे."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d-उंगलियों से दो बार टैप करें"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"स्क्रीन पर तुरंत दो उंगलियों से {0,number,integer} बार टैप करें"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"स्क्रीन पर तीन बार टैप करें"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"तीन बार टैप करें"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"स्क्रीन पर जल्दी-जल्दी {0,number,integer} बार टैप करें. इस शॉर्टकट के इस्तेमाल से आपके डिवाइस की रफ़्तार धीमी हो सकती है"</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_global_gesture_preference_title" msgid="8866765674372344850">"आवाज़ बटनों का शॉर्टकट"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"शॉर्टकट की सेटिंग"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"लॉक स्क्रीन पर दिखने वाले शॉर्टकट"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"लॉक स्क्रीन से आवाज़ बटनों का शॉर्टकट इस्तेमाल करें"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"सुविधा के शॉर्टकट को लॉक स्क्रीन से चालू करने की अनुमति दें. आवाज़ कम और ज़्यादा करने वाले दोनों बटन को कुछ सेकंड तक दबाकर रखें."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"सुलभता बटन"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"सुलभता बटन और हाथ के जेस्चर"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"यह सेवा ठीक से काम नहीं कर रही है."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"सुलभता सुविधाओं के शॉर्टकट की सेटिंग"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"त्वरित सेटिंग में दिखाएं"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"हरा रंग लाल दिखना"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"लाल रंग हरा दिखना"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"ऐसी समस्या जिसमें लाल रंग हरा दिखता है"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"ऐसी समस्या जिसमें हरा रंग लाल दिखता है"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"नीला-हरा रंग पहचान न पाना"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"डिसप्ले को ग्रेस्केल में करने की सुविधा"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"इंटेंसिटी"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"ऐसी समस्या जिसमें हरा रंग लाल दिखता है"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"ऐसी समस्या जिसमें लाल रंग हरा दिखता है"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"ग्रेस्केल मोड या रंग में सुधार करने की सुविधा के बंद होने पर उपलब्ध नहीं है"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"स्क्रीन की रोशनी को सामान्य लेवल से और कम करने की सुविधा"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"स्क्रीन की रोशनी को सामान्य लेवल से और कम करें"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"नीला-हरा"</string>
     <string name="color_yellow" msgid="5957551912912679058">"पीला"</string>
     <string name="color_magenta" msgid="8943538189219528423">"मैजेंटा"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"<xliff:g id="SERVICE">%1$s</xliff:g> को, अपना डिवाइस पूरी तरह कंट्रोल करने की अनुमति देनी है?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> के लिए यह ज़रूरी है:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"क्यूंकि ऐप की वजह से अनुमति के अनुरोध को समझने में दिक्कत हो रही है, इसलिए सेटिंग से आपके जवाब की पुष्टि नहीं हो पा रही हैं."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> इस डिवाइस पर पूरा नियंत्रण मांग रहा है. यह सेवा, स्क्रीन पर दिख रही जानकारी पढ़ सकती है और सुलभता से जुड़ी ज़रूरतों वाले उपयोगकर्ताओं की तरफ़ से काम कर सकती है. नियंत्रण का यह लेवल ज़्यादातर ऐप्लिकेशन के लिए सही नहीं है."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"पूरी तरह कंट्रोल करने की अनुमति उन ऐप्लिकेशन के लिए ठीक है जो सुलभता से जुड़ी ज़रूरतों के लिए बने हैं, लेकिन ज़्यादातर ऐप्लिकेशन के लिए यह ठीक नहीं है."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"स्क्रीन को देखें और कंट्रोल करें"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"यह स्क्रीन पर दिखने वाले कॉन्टेंट को पढ़ सकता है और उसे दूसरे ऐप्लिकेशन के ऊपर दिखा सकता है."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"देखें और कार्रवाई करें"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"यह आपके और किसी ऐप्लिकेशन या हार्डवेयर सेंसर के बीच होने वाले इंटरैक्शन को ट्रैक कर सकता है और आपकी तरफ़ से ऐप्लिकेशन के साथ इंटरैक्ट कर सकता है."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"अनुमति दें"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"अनुमति न दें"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"बंद करें"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"चालू है / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> और <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"स्पेशल ऑडियो की सुविधा को ब्लूटूथ डिवाइसों के लिए भी चालू किया जा सकता है."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"कनेक्ट किए गए डिवाइसों की सेटिंग"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"स्पेशल ऑडियो"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"बंद है"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"बंद है"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"बंद है"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{कोई शेड्यूल सेट नहीं है}=1{1 शेड्यूल सेट है}one{# शेड्यूल सेट है}other{# शेड्यूल सेट हैं}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"परेशान न करें"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"अहम मोड"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"कोई मोड जोड़ें"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"मोड"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"ध्यान भटकाने वाले कम से कम ऐप्लिकेशन चालू रखें. इस दौरान सोने, काम करने, गाड़ी चलाने वाले मोड कंट्रोल करें."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"अपना मोड बनाएं"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"सिर्फ़ ज़रूरी लोगों और ऐप्लिकेशन की सूचनाएं पाएं"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"शेड्यूल सेट करें"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"मोड के हिसाब से शेड्यूल करें"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"दिन और तारीख"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"सोमवार से शुक्रवार, सुबह 9 से 5 बजे तक\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"कैलेंडर इवेंट"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} चालू है}=2{{mode_1} और {mode_2} चालू हैं}=3{{mode_1}, {mode_2}, और {mode_3} चालू हैं}one{{mode_1}, {mode_2}, और # अन्य मोड चालू है}other{{mode_1}, {mode_2}, और # अन्य मोड चालू हैं}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 मोड अपने-आप चालू हो सकता है}one{# मोड अपने-आप चालू हो सकता है}other{# मोड अपने-आप चालू हो सकते हैं}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"चालू है"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"सेट नहीं है"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"बंद है"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"कोई मोड बनाएं"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"कस्टम मोड"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"अभी चालू करें"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"बंद करें"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"मोड नहीं मिला"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"रुकावटों को कम करें"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"रुकावट डालने और ध्यान भटकाने वाली चीज़ों को ब्लॉक करें"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g> सेट अप करें"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\'परेशान न करें\' चालू करें"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"अलार्म और मीडिया की आवाज़ें \'परेशान न करें\' मोड को बायपास कर सकती हैं"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"शेड्यूल"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"शेड्यूल मिटाएं"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"मिटाएं"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"नाम बदलें"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"मिटाएं"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"क्या आपको \"<xliff:g id="MODE">%1$s</xliff:g>\" मोड मिटाना है?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"बदलाव करें"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"शेड्यूल"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"शेड्यूल"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"अपने-आप चालू होना"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"कैलेंडर जोड़ें"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"कैलेंडर का इस्तेमाल करें"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"शेड्यूल"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"शेड्यूल सेट करें"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"अपने-आप चालू होने की सुविधा"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"इवेंट का शेड्यूल"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"इवेंट के दौरान मोड चालू करें"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"जब न्योते का यह जवाब आए"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"समय के हिसाब से शेड्यूल करें"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"शेड्यूल"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> घंटे <xliff:g id="MINUTES">%2$d</xliff:g> मिनट"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"शेड्यूल"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"उन सूचनाओं की अनुमति दें जिनके लिए आवाज़ होती है"</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="mode_interruption_filter_title" msgid="6657431939996264417">"वे सूचनाएं जो आपको मिल सकती हैं"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"अन्य कार्रवाइयां"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"सूचना से जुड़े फ़िल्टर"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"अन्य सेटिंग"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{बंद है}=1{बंद है / 1 मोड अपने-आप चालू हो सकता है}one{बंद है / # मोड अपने-आप चालू हो सकता है}other{बंद है / # मोड अपने-आप चालू हो सकते हैं}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"डिसप्ले की सेटिंग"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"डिसप्ले के विकल्प"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"ग्रेस्केल"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"इससे गहरे रंग वाली थीम चालू होती है"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"गहरे रंग के बैकग्राउंड पर हल्के रंग के टेक्स्ट को प्राथमिकता देने के लिए, ओएस और ऐप्लिकेशन पर स्विच करें. ऐसा करके, टेक्स्ट को देख पाना आसान हो जाता है. साथ ही, कुछ डिवाइसों पर बैटरी की काफ़ी बचत होती है"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{डिसप्ले में कोई बदलाव नहीं किया गया}=1{{effect_1}}=2{{effect_1} और {effect_2}}=3{{effect_1}, {effect_2}, और {effect_3}}one{{effect_1}, {effect_2}, और # अन्य}other{{effect_1}, {effect_2}, और # अन्य}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"सभी सूचनाओं को अनुमति दें"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"लोग, ऐप्लिकेशन, और आवाज़ें, प्राथमिकता मोड को बायपास कर सकती हैं"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"फ़िल्टर की गई सूचनाओं के लिए विकल्प"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"\'परेशान न करें\' मोड चालू होने पर"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"सूचनाएं आने पर कोई आवाज़ सुनाई न दे"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"सूचना खोलें"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"सूचनाएं स्नूज़ करने की अनुमति दें"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"ऐप्लिकेशन आइकॉन पर सूचनाएं बताने वाला डॉट"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"सूचनाओं के बंडल"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"बबल्स"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"बबल्स"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"इस बातचीत को बबल के रूप में दिखाएं"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"यह ऐप्लिकेशन मैसेज के जवाब दे सकता है. साथ ही, सूचनाओं में दिखने वाले बटन से कार्रवाइयां भी कर सकता है, जैसे- सूचनाओं को स्नूज़ (थोड़ी देर के लिए बंद) या खारिज करना. यह फ़ोन कॉल के जवाब भी दे सकता है."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"सेटिंग में बदलाव करना"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"यह ऐप्लिकेशन \'परेशान न करें\' मोड को चालू या बंद कर सकता है और इससे जुड़ी सेटिंग में बदलाव कर सकता है."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"इससे मोड को मैनेज और चालू किया जा सकता है. साथ ही, इससे जुड़ी सेटिंग में बदलाव किया जा सकता है."</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_modes_warning_summary" msgid="7528432011433844158">"<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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"रीयल-टाइम"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"यह ऐप्लिकेशन, बेहतर सेटिंग के साथ काम नहीं करता है"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"अन्य सेटिंग"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"इस ऐप्लिकेशन में ज़्यादा सेटिंग उपलब्ध हैं"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"ज़रूरत के हिसाब से सूचनाएं पाने की सुविधा"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"ज़रूरत के हिसाब से सूचनाएं पाने की सुविधा इस्तेमाल करें"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"कम समय में काफ़ी सूचनाएं मिलने पर, दो मिनट के लिए आपका फ़ोन इन सूचनाओं से होने वाली आवाज़ों को कम करेगा और स्क्रीन पर कम पॉप-अप दिखाएगा. कॉल, अलार्म, और अहम बातचीत से जुड़ी सूचनाएं अब भी पहले की तरह ही मिलेंगी या स्क्रीन पर दिखेंगी. साथ ही, आपको मिली सभी सूचनाएं, स्क्रीन पर सबसे ऊपर से नीचे की ओर स्वाइप करके आसानी से मिल जाएंगी."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"लगातार सूचनाएं आने पर आवाज़ कम करने की सेटिंग"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"एक ही ऐप से लगातार सूचनाएं आने पर आवाज़ कम करने वाली सेटिंग का इस्त्माल करें"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"कम समय में कई सूचनाएं मिलने पर, दो मिनट के लिए आपका डिवाइस इन सूचनाओं से होने वाली आवाज़ों को कम करेगा और स्क्रीन पर कम सूचनाएं दिखाएगा. हालांकि, कॉल, अलार्म, और अहम बातचीत से जुड़ी सूचनाएं अब भी पहले की तरह ही मिलती रहेंगी. \n\nआवाज़ और सूचनाएं कम होने के दौरान मिली सभी सूचनाएं, आपको आसानी से मिल जाएंगी. इसके लिए, स्क्रीन पर सबसे ऊपर से नीचे की ओर स्वाइप करें."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"वर्क प्रोफ़ाइल पर लागू करें"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"वर्क प्रोफ़ाइल ऐप्लिकेशन पर लागू करें"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"वीआर के साथ काम करने वाली सेवाएं"</string>
@@ -3650,6 +3709,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"मोड का ऐक्सेस"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"मोड का ऐक्सेस दें"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"इंस्टॉल किए गए किसी भी ऐप्लिकेशन ने मोड के ऐक्सेस का अनुरोध नहीं किया है"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"आपने इस ऐप्लिकेशन को सूचनाएं भेजने की अनुमति नहीं दी है"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"आपके अनुरोध पर, Android इस कैटगरी की सूचनाओं को इस डिवाइस पर ब्लॉक कर रहा है"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"आपके अनुरोध पर, Android इस तरह की सूचनाओं को इस डिवाइस पर आने से रोक रहा है"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"कैटगरी"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"अन्य"</string>
     <string name="no_channels" msgid="4716199078612071915">"इस ऐप्लिकेशन ने कोई भी सूचना पोस्ट नहीं की है"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"इस्तेमाल नहीं की गई कैटगरी दिखाएं"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"ऐप्लिकेशन की दूसरी सेटिंग"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"इस्तेमाल न हुई कैटगरी दिखाएं"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"इस्तेमाल न हुई कैटगरी छिपाएं"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"बातचीत"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"सभी बातचीत"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"हर बातचीत"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"अहम बातचीत"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"अहम बातचीत"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"कोई भी नहीं"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"वे ऐप्लिकेशन जो परेशान न करने की सुविधा लागू कर सकते हैं"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"चुने गए ऐप्लिकेशन"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"कोई नहीं"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"सभी"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{कोई भी ऐप्लिकेशन \'परेशान न करें\' मोड को बायपास नहीं कर सकता}=1{{app_1} \'परेशान न करें\' मोड को बायपास कर सकता है}=2{{app_1} और {app_2} \'परेशान न करें\' मोड को बायपास कर सकते हैं}=3{{app_1}, {app_2}, और {app_3} \'परेशान न करें\' मोड को बायपास कर सकते हैं}one{{app_1}, {app_2}, और # अन्य ऐप्लिकेशन \'परेशान न करें\' मोड को बायपास कर सकते हैं}other{{app_1}, {app_2}, और # अन्य ऐप्लिकेशन \'परेशान न करें\' मोड को बायपास कर सकते हैं}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (काम के लिए)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"डेटा फ़ेच किया जा रहा है…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ऐप्लिकेशन को ओवरराइड करने की मंज़ूरी दें"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"ऐप्लिकेशन जो \'परेशान न करें\' मोड को बायपास कर सकते हैं"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"और ऐप्लिकेशन चुनें"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"कोई भी आवाज़ \'परेशान न करें\' मोड को बायपास नहीं कर सकती"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"कोई भी व्यक्ति \'परेशान न करें\' मोड को बायपास नहीं कर सकता"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"कुछ चुने हुए लोग \'परेशान न करें\' मोड को बायपास कर सकते हैं"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"बार-बार कॉल करने वालों (कॉलर) से परेशानी हो सकती है"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"कोई भी व्यक्ति \'परेशान न करें\' मोड को बायपास कर सकता है"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"बार-बार कॉल करने वाले (कॉलर)"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"दोबारा काॅल करने वालों को बायपास करने की अनुमति दें"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} तक, सिर्फ़ एक घंटे के लिए अलार्म मोड पर स्विच करें}one{{time} तक, सिर्फ़ # घंटे के लिए अलार्म मोड पर स्विच करें}other{{time} तक, सिर्फ़ # घंटों के लिए अलार्म मोड पर स्विच करें}}"</string>
     <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_action_change_name" msgid="766639614789907016">"नाम बदलें"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"आइकॉन बदलें"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"आइकॉन बदलें"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"मोड में बदलाव करें"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"कोई मोड बनाएं"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"कस्टम मोड"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"मोड का नाम"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"कैलेंडर इवेंट"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"सोने के समय का रूटीन"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"ड्राइव करते समय"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"ऐप्लिकेशन की सेटिंग"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"जानकारी और सेटिंग <xliff:g id="APP_NAME">%1$s</xliff:g> में दिखेंगी"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"इन्हें <xliff:g id="APP_NAME">%1$s</xliff:g> मैनेज कर रहा है"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g> को बंद करना है?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"सुविधा बंद होने पर यह मोड चालू नहीं होगा"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"बंद करें"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g> को चालू करना है?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"यह मोड सेटिंग के हिसाब से अपने-आप चालू हो सकता है"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"चालू करें"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"एक रेगुलर शेड्यूल के मुताबिक काम करने वाला कोई मोड सेट करें"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"कैलेंडर इवेंट और न्योतों के जवाबों के साथ सिंक करने के लिए, कोई मोड सेट करें"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"सुकून भरी नींद के लिए रूटीन डिज़ाइन करें. अलार्म सेट करें, स्क्रीन की रोशनी कम करें, और सूचनाएं ब्लॉक करें."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"ध्यान भटकाए बिना और फ़ोकस के साथ गाड़ी चलाने के लिए, सड़क पर सुरक्षा को प्राथमिकता दें"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"फ़ोकस बढ़ाने के लिए, ऐसी सूचनाओं वगैरह को ब्लॉक करें जिनसे आपका ध्यान भटकता है या आपके काम में रुकावटें आती हैं"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"शांत माहौल पाने के लिए, ध्यान भटकाने वाली सभी सूचनाओं वगैरह को बंद करें"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"अलग-अलग उपयोगकर्ताओं के हिसाब से, डिवाइस का अनुभव और सेटिंग तय करें"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"रुकावटों को कम करने के लिए, सिर्फ़ ज़रूरी लोगों और ऐप्लिकेशन को ही सूचना वगैरह भेजने की अनुमति दें"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"एक रेगुलर शेड्यूल के मुताबिक काम करने वाला कोई मोड सेट करें"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"अपने डिवाइस को, दिन भर के इवेंट के साथ सिंक करके रखें"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"ताज़गी के साथ दिन की शुरुआत करें"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"गाड़ी चलाते समय सबसे पहले सुरक्षा को अहमियत दें"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"अपने काम पर फ़ोकस बनाए रखें"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"उन पलों के लिए जब कर्टसी मायने रखती है"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"आपको सुरक्षित रखने के लिए, सेवा का इस्तेमाल करने से जुड़े निर्देश"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"अपना ध्यान बनाए रखें"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"चेतावनी"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"बंद करें"</string>
     <string name="device_feedback" msgid="5351614458411688608">"इस डिवाइस के बारे में सुझाव भेजें"</string>
@@ -4006,6 +4102,10 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"क्या आपको <xliff:g id="APP">%1$s</xliff:g> के लिए मोड का ऐक्सेस देना है?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"यह ऐप्लिकेशन इन सेटिंग को ऐक्सेस कर सकेगा: \'परेशान न करें\' मोड को चालू/बंद करना, मोड को मैनेज और चालू करना, और इससे जुड़ी सेटिंग में बदलाव करना."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"क्या आपको <xliff:g id="APP">%1$s</xliff:g> के लिए, मोड का ऐक्सेस वापस लेना है?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"इस ऐप्लिकेशन के बनाए गए सभी मोड हटा दिए जाएंगे."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"ऑप्‍टिमाइज़ ना करें"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"ऑप्‍टिमाइज़ करें"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"इससे आपके डिवाइस की बैटरी तेज़ी से खर्च हो सकती है. यह सेटिंग चालू करने के बाद, ऐप्लिकेशन को बैकग्राउंड में बैटरी इस्तेमाल करने से नहीं रोका जाएगा."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"चार्ज करने वाला डिब्बा"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"बैटरी"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"सेटिंग पैनल"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"डेस्कटॉप मोड चालू करें"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"दूसरी स्क्रीन पर डेस्कटॉप मोड आज़माने की सुविधा चालू करें"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"फ़्रीफ़ॉर्म विंडो मोड चालू करें"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"सेकंडरी डिसप्ले पर फ़्रीफ़ॉर्म विंडो मोड चालू करें"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"मल्टी-विंडो में, साइज़ न बदलने वाले ऐप्लिकेशन दिखाने दें"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"साइज़ न बदलने वाले ऐप्लिकेशन को मल्टी-विंडो (एक से ज़्यादा ऐप्लिकेशन, एक साथ) में दिखाने की अनुमति दें"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"गहरे रंग वाली थीम को तुरंत लागू करने की सुविधा ओवरराइड करें"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"मोबाइल डेटा"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"डिवाइस इस्तेमाल करने के अनुभव को बेहतर बनाने के लिए, ऐप्लिकेशन और सेवाएं किसी भी समय वाई-फ़ाई नेटवर्क स्कैन कर सकती हैं. ऐसा वाई-फ़ाई बंद होने पर भी किया जा सकता है. उदाहरण के लिए, इसका इस्तेमाल जगह से जुड़ी सुविधाओं और सेवाओं को बेहतर बनाने के लिए किया जा सकता है. वाई-फ़ाई स्कैनिंग की सेटिंग में जाकर, इसे बदला जा सकता है."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"बदलें"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"कनेक्ट हो गया"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"इंटरनेट कनेक्शन कुछ समय के लिए है"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"कुछ समय के लिए <xliff:g id="SUBNAME">%1$s</xliff:g> का इंटरनेट इस्तेमाल किया जा रहा है"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ऐप्लिकेशन पिन करने की सुविधा का इस्तेमाल करें"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"डेवलपर के लिए सेटिंग और टूल का इस्तेमाल करें"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"प्रिंट करने की सेवा का इस्तेमाल करें"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"एक से ज़्यादा उपयोगकर्ताओं को अनुमति दें"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"उपयोगकर्ता जोड़ने की अनुमति दें"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"अनुमति दें, कई, इस्तेमाल करने वाले, मंज़ूरी दें, कई सारे"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"कई, उपयोगकर्ता, प्रोफ़ाइलें, लोग, खाते, स्विच, बहुत"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"वॉयरलेस डीबगिंग का इस्तेमाल करें"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"ब्लूटूथ डिवाइस, <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> इस फ़ोन से कनेक्ट होना चाहता है.\n\nआपने पहले कभी <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> से कनेक्ट नहीं किया है."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"कनेक्ट न करें"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"कनेक्ट करें"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE सेटिंग"</string>
-    <string name="tare_on" msgid="2386073225978684535">"चालू है"</string>
-    <string name="tare_off" msgid="6305694402929756726">"बंद है"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"डिफ़ॉल्ट सेटिंग पर वापस जाएं"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"सेटिंग को डिफ़ॉल्ट पर सेट कर दिया गया है."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"बैटरी पूरी चार्ज होने पर, ज़्यादा से ज़्यादा बैलेंस"</string>
-    <string name="tare_balances" msgid="731881382594747961">"बैलेंस"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"इस्तेमाल करने की सीमा"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"इस्तेमाल करने की शुरुआती सीमा"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"इस्तेमाल करने की मिनिमम लिमिट"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"इस्तेमाल करने की मैक्सिमम लिमिट"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"मॉडिफ़ायर"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"कार्रवाइयां (हर कार्रवाई के लिए खर्च होने वाले क्रेडिट)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"कार्रवाइयां (मूल कीमत)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"हर इवेंट के लिए मिलने वाले इनाम"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"इवेंट अवधि में हर सेकंड मिलने वाले इनाम"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"हर दिन के लिए ज़्यादा से ज़्यादा इनाम"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"ऐप्लिकेशन इंस्टॉल करें"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"स्क्रीन पर चल रहे ऐप्लिकेशन की गतिविधि"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"सूचना देखी गई"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"सूचना 15 मिनट के अंदर देखी गई"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"सूचना के साथ इंटरैक्शन किया गया"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"विजेट के साथ इंटरैक्शन किया गया"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"उपयोगकर्ता ने किसी और तरह से इंटरैक्ट किया"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"सबसे ज़्यादा प्राथमिकता वाला काम शुरू करना"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"सबसे ज़्यादा प्राथमिकता वाला काम करना"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"ज़्यादा प्राथमिकता वाला काम शुरू"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"ज़्यादा प्राथमिकता वाला काम"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"डिफ़ॉल्ट रूप से प्राथमिकता वाला काम शुरू"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"डिफ़ॉल्ट रूप से प्राथमिकता वाला काम"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"कम प्राथमिकता वाला काम शुरू करना"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"कम प्राथमिकता वाला काम करना"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"सबसे कम प्राथमिकता वाला काम शुरू"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"सबसे कम प्राथमिकता वाला काम करना"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"काम का टाइम आउट होने पर मिलने वाली पेनल्टी"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"बैटरी पूरी चार्ज होने पर, कम से कम बैलेंस (जिन ऐप्लिकेशन को छूट दी गई है)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"बैटरी पूरी चार्ज होने पर, कम से कम बैलेंस (बिना यूज़र इंटरफ़ेस वाला सिस्टम ऐप)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"बैटरी पूरी चार्ज होने पर, कम से कम बैलेंस (बाकी ऐप्लिकेशन)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"बैटरी पूरी चार्ज होने पर, कम से कम बैलेंस (ऐप्लिकेशन की जानकारी देने वाले)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"बैटरी चार्ज हो रही है"</item>
-    <item msgid="658627268149681677">"बैटरी बचाएं (डोज़)"</item>
-    <item msgid="1599558140284643834">"बैटरी सेव करने वाला मोड"</item>
-    <item msgid="588427840913221601">"ऐप्लिकेशन की प्रोसेसिंग की स्थिति"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"जारी रखें"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"झलक देखें"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"स्क्रीन सेवर चुनें"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"ज़्यादा जानकारी दिखाएं"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"चुनें कि डॉक से टैबलेट के जुड़े होने के दौरान, आपको स्क्रीन पर क्या दिखे. स्क्रीन सेवर का इस्तेमाल करने पर, आपके डिवाइस की बैटरी ज़्यादा खर्च हो सकती है."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"मनमुताबिक बनाएं"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> को पसंद के मुताबिक बनाएं"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"फ़्रीफ़ॉर्म सहायता मोड को चालू करने के लिए, डिवाइस को फिर से चालू करना होगा."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"दूसरे डिसप्ले पर डेस्कटॉप मोड को ज़बरदस्ती चलाने के लिए, डिवाइस को फिर से चालू करना होगा."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"फ़्रीफ़ॉर्म विंडो सहायता मोड को चालू करने के लिए, डिवाइस को फिर से चालू करना होगा."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"फ़्रीफ़ॉर्म विंडो मोड की उपलब्धता को अपडेट करने के लिए, डिवाइस को फिर से चालू करना होगा."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"सेकंडरी डिसप्ले पर फ़्रीफ़ॉर्म विंडो मोड चालू करने के लिए, डिवाइस को फिर से चालू करना होगा."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"अभी रीबूट (फिर से चालू) करें"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"बाद में रीबूट (फिर से चालू) करें"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"स्पेशल ऑडियो"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"गुलाबी"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"मजेंटा"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"बैंगनी"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"हो गया"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"सेव करें"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"रहने दें"</string>
     <string name="contrast_default" msgid="8918545965525226966">"डिफ़ॉल्ट"</string>
     <string name="contrast_medium" msgid="384414510709285811">"सामान्य"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"चालू है"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"बंद है"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"चालू है"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"ऑडियो, बाएं कान का %1$d%%, दाएं कान का %2$d%%"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"ऑडियो, दाएं कान का %1$d%%, बाएं कान का %2$d%%"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"आपके इंस्टॉल किए गए ऐप्लिकेशन, आपके डिवाइस के नाम की जानकारी ऐक्सेस कर सकते हैं. इसके अलावा, ब्लूटूथ डिवाइसों या वाई-फ़ाई नेटवर्क से कनेक्ट करने पर या वाई-फ़ाई हॉटस्पॉट सेट अप करने पर, अन्य लोग भी इसे देख सकते हैं."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"व्याकरण के हिसाब से लिंग"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"व्याकरण के हिसाब से लिंग चुनें"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"ऑडियो शेयर करना बंद किया गया"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"इस फ़ोन के साथ काम करने वाला डिवाइस कनेक्ट करें"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"ऑडियो शेयर करने के लिए, सबसे पहले फ़ोन से LE Audio हेडफ़ोन कनेक्ट करें"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> पर स्विच करें"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"LE Audio स्ट्रीम से कनेक्ट करें"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"आस-पास होने वाली ऑडियो स्ट्रीम"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"ऑडियो स्ट्रीम"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"स्ट्रीम सुनें"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> पर सुनने के लिए, ऑडियो स्ट्रीम का क्यूआर कोड स्कैन करें"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"शेयर करने के दौरान पासवर्ड में बदलाव नहीं किया जा सकता. पासवर्ड बदलने के लिए, पहले ऑडियो शेयर करने की सुविधा बंद करें."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"क्यूआर कोड स्कैनर"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"मदद चाहिए?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"सेटिंग खोजें"</string>
 </resources>
diff --git a/res/values-hr/arrays.xml b/res/values-hr/arrays.xml
index bf8ac30..3af0878 100644
--- a/res/values-hr/arrays.xml
+++ b/res/values-hr/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Vrijeme za spavanje"</item>
-    <item msgid="4152450357280759894">"Vožnja"</item>
-    <item msgid="7096549258219399423">"Angažirajuće"</item>
-    <item msgid="2760716776980432977">"Upravljano"</item>
-    <item msgid="601734478369121764">"Zvijezda"</item>
-    <item msgid="6243809315432780521">"Kalendar"</item>
-    <item msgid="4913577903148415331">"Vrijeme"</item>
-    <item msgid="3653377604690057780">"Kazalište"</item>
-    <item msgid="3843711267408385410">"Cvijet"</item>
+    <item msgid="1216815120972438676">"Aktovka"</item>
+    <item msgid="184985872234062767">"Klasična zgrada"</item>
+    <item msgid="9189550412466785530">"Stambena zgrada"</item>
+    <item msgid="2142527562511049422">"Govorni oblačić"</item>
+    <item msgid="2548100558260478605">"Grupa ljudi"</item>
+    <item msgid="2270003903304578284">"Žarulja"</item>
+    <item msgid="4793496619091161864">"Kalendar"</item>
+    <item msgid="5673625795644364100">"Ne uznemiravaj"</item>
+    <item msgid="1423820834865831361">"Osoba trči"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Bučica za teretanu"</item>
+    <item msgid="2730180105015616518">"Plivanje"</item>
+    <item msgid="2666922823253345958">"Osoba pješači"</item>
+    <item msgid="8234880356472211396">"Osoba baca loptu"</item>
+    <item msgid="4642980625253001443">"Osoba udara"</item>
+    <item msgid="4324795269518833500">"Kontroler za videoigre"</item>
+    <item msgid="7789966425125441125">"Umjetnička paleta boja"</item>
+    <item msgid="663512680597461570">"Snježna pahuljica"</item>
+    <item msgid="7952183800501346803">"Suncobran za plažu"</item>
+    <item msgid="799139025758265891">"Radionički alati"</item>
+    <item msgid="1330084588359129896">"Šator"</item>
+    <item msgid="3861584909935022342">"Filmska vrpca"</item>
+    <item msgid="5827426100157335512">"Knjiga"</item>
+    <item msgid="8585828346253128384">"Lotosov cvijet"</item>
+    <item msgid="8788370542815300188">"Um osobe"</item>
+    <item msgid="7287354964767553293">"Slušalice"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Vlak"</item>
+    <item msgid="4903790544026923026">"Automobil"</item>
+    <item msgid="5010405583912314582">"Vilica i nož"</item>
+    <item msgid="8939998598599064900">"Košarica"</item>
+    <item msgid="3379605903308731893">"Dijete"</item>
+    <item msgid="7808668968550293112">"Životinjska šapa"</item>
+    <item msgid="1000692647524056504">"Značka sa zvjezdicom"</item>
+    <item msgid="8270261073421676502">"Dvije osobe"</item>
+    <item msgid="5767782819651505460">"Zvijezda"</item>
+    <item msgid="4368451291862729334">"Srce"</item>
+    <item msgid="2613199102208419986">"Kuća"</item>
+    <item msgid="3022279986430275040">"Polumjesec"</item>
+    <item msgid="5421089790869483206">"Sat"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 0104443..ca0ab02 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Obustavljeno"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Nepoznato"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Pregled"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR kôd"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Uvijek"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Postavke slušnih pomagala"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Prečac, kompatibilnost sa slušnim pomagalima"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Unaprijed definirana postavka"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Nema zadanih postavki koje je definirao vaš audiolog"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Ažuriranje unaprijed definiranih postavki nije uspjelo"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audioizlaz"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"O audioizlazu"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Odabir jezika za ovu aplikaciju nije dostupan u postavkama."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Jezik se može razlikovati od jezika dostupnih u aplikaciji. Neke aplikacije možda ne podržavaju tu postavku."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Postavite jezik za svaku aplikaciju."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Vaš sustav, aplikacije i web-lokacije upotrebljavaju prvi podržani jezik s popisa željenih jezika."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Vaš uređaj, aplikacije i web-lokacije upotrebljavaju prvi podržani jezik s popisa preferiranih jezika.\n\nMnoge aplikacije upotrebljavat će i regiju preferiranog jezika za odabir formata datuma, brojeva i mjernih jedinica. Da biste promijenili regiju, dodajte jezik, a zatim odaberite preferiranu regiju."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Da biste odabrali jezik za svaku aplikaciju, otvorite postavke jezika aplikacija."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Saznajte više o jezicima aplikacija"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Želite li jezik sustava promijeniti na %s?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Isključeno"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Uključeno / # aplikacija ima pristup lokaciji}one{Uključeno / # aplikacija ima pristup lokaciji}few{Uključeno / # aplikacije imaju pristup lokaciji}other{Uključeno / # aplikacija ima pristup lokaciji}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Učitavanje…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Aplikacije s dopuštenjem za uređaje u blizini mogu odrediti približni položaj povezanih uređaja."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Aplikacije s dopuštenjem za uređaje u blizini mogu odrediti približni položaj povezanih uređaja."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Pristup lokaciji isključen je za aplikacije i usluge. Lokacija vašeg uređaja i dalje se može poslati djelatnicima hitnih službi kada nazovete broj hitne službe ili na njega pošaljete SMS."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Saznajte više o postavkama lokacije"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Da biste promijenili, otvorite Postavke ChromeOS-a &gt; Privatnost i sigurnost &gt; Kontrole privatnosti &gt; Pristup lokaciji"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Dodano je lice i sat <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Dodani su lice, otisak prsta i sat <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Dodani su lice, otisci prstiju i sat <xliff:g id="WATCH">%s</xliff:g>"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Provjera identiteta je uključena i zahtijeva biometrijske podatke"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Otključavanje apl. Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Sat je dodan"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Postavite telefon"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Saznajte više o otključavanju satom"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Dodaj sat"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Uklonite sat"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Otisak prsta i otključavanje licem"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Otključavanje licem i otiskom prsta"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Otključavanje licem i otiskom prsta za posao"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Potrebno je postavljanje"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Dodano je lice i otisci prsta"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"U tijeku je postavljanje privatnog prostora…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Postavljanje privatnog prostora nije uspjelo"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Pokušajte ponovo"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Izlaz"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Privatni prostor nije dostupan.\nPrikaz mogućih uzroka"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Prikaz mogućih uzroka"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Želite li odabrati novo zaključavanje za privatni prostor?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Možete postaviti novo zaključavanje samo za privatni prostor ili koristiti postojeće zaključavanje za otključavanje uređaja"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Koristi zaključavanje zaslona"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Kada je Bluetooth uključen, uređaj može komunicirati s ostalim Bluetooth uređajima u blizini.\n\nRadi boljeg doživljaja na uređaju, aplikacije i usluge i dalje mogu tražiti uređaje u blizini u bilo kojem trenutku, čak i kada je Bluetooth isključen. Time se primjerice mogu poboljšati značajke i usluge koje se temelje na lokaciji. To možete promijeniti u postavkama traženja Bluetootha."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Kada je Bluetooth uključen, uređaj može komunicirati s drugim Bluetooth uređajima u blizini. Značajke kao što su brzo dijeljenje i Pronađi moj uređaj koriste Bluetooth.\n\nAplikacije i usluge uvijek mogu nastaviti tražiti uređaje u blizini, čak i ako je Bluetooth isključen. To se primjerice može koristiti radi poboljšanja značajki i usluga temeljenih na lokaciji. To možete promijeniti u postavkama traženja Bluetooth uređaja."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Promijenite"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Pojedinosti o uređaju"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Postavke tipkovnice"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Više postavki"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Ažuriranja firmwarea, informacije i više"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Savjeti i podrška"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Bluetooth adresa uređaja: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Bluetooth adresa uređaja:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Želite li zaboraviti uređaj?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Eksperimentalno. Poboljšava kvalitetu zvuka."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Zaboravi uređaj"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Prekini vezu s aplikacijom"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Više postavki"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Maksimalan broj povezanih Bluetooth audiouređaja"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Odaberite maksimalan broj povezanih Bluetooth audiouređaja"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Opširni zapisnik dobavljača o otklanjanju pogrešaka za NFC"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Ponovo pokrenuti?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Detaljno zapisivanje za NFC namijenjeno je samo u razvojne svrhe. Dodatni podaci NFC-a uključeni su u izvješća o programskim pogreškama koja mogu sadržavati privatne podatke. Ponovo pokrenite uređaj da biste promijenili tu postavku."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Ponovno pokreni"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Uključeno"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Isključeno"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Vanjski zaslon"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Koristi vanjski zaslon"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Razlučivost zaslona"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Prekinuta je veza vanjskog zaslona"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Rotacija"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standardno"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Promjenom rotacije ili razlučivosti mogu se zaustaviti sve aplikacije koje su trenutačno pokrenute"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Da biste zrcalili svoj zaslon, vaš uređaj mora biti povezan s vanjskim zaslonom"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Više opcija"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Emitiranje"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"zrcalo"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Omogući bežični prikaz"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Prilagodljivo"</string>
     <string name="brightness" msgid="6216871641021779698">"Svjetlina zaslona"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Prilagodljiva svjetlina"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"O prilagodljivoj svjetlini"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Svjetlina zaslona automatski će se prilagoditi vašoj okolini i aktivnostima. Klizač možete pomicati ručno kako bi prilagodljiva svjetlina dobila podatke o tome što vam odgovara."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Uključeno"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Isključeno"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Želite li koristiti <xliff:g id="CARRIER">%1$s</xliff:g> za mobilne podatke?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Koristite usluge mobilnog operatera <xliff:g id="CARRIER2_0">%2$s</xliff:g> za mobilne podatke. Ako prijeđete na mobilnog operatera <xliff:g id="CARRIER1">%1$s</xliff:g>, operater<xliff:g id="CARRIER2_1">%2$s</xliff:g> više se neće koristiti za mobilne podatke."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Koristi operatera <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Želite li ažurirati željeni SIM?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> je jedini SIM u vašem uređaju. Želite li upotrebljavati taj SIM za mobilne podatke, pozive i SMS poruke?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> sada je vaš primarni SIM"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Poboljšati pokrivenost mob. podacima?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Omogućite uređaju da se automatski prebaci na mobilnog operatera <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> za mobilne podatke u slučaju bolje dostupnosti."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Vašoj organizaciji mogu biti vidljivi pozivi, poruke i mrežni promet."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Opcije"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Pristupačnost"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fizička tipkovnica"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Koristi tipkovnicu na zaslonu"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Zadržava se na zaslonu dok je fizička tipkovnica aktivna"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Slučajni pritisci tipki"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Tipkovnica zanemaruje brzo ponovljene pritiske iste tipke unutar <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Spore tipke"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Vrijeme potrebno za aktivaciju pritiska tipke prilagođava se na <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Ljepljive tipke"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Pritisnite jednu po jednu tipku za prečace umjesto da ih pritisnete zajedno"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Tipke miša"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Upotrijebite fizičku tipkovnicu za upravljanje mišem."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Tipkovni prečaci"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Prikaži popis prečaca"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tipkovnice i alati radnog profila"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Prilagodba pojedinih pokreta za kretanje dodirnom podlogom"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Obrnuto pomicanje"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Sadržaj se pomiče prema gore kad se vi pomičete prema dolje"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Dodir u desnom donjem kutu"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Za više opcija dodirnite desni donji kut dodirne podloge"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Klik dolje desno"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Kliknite donji desni kut dodirne podloge za više opcija"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Brzina pokazivača"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Stil ispunjavanja pokazivača"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Promjena ispunj. pokaz. na crno"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Promjena ispunj. pokaz. na žuto"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Promjena ispunj. pokaz. na ružič."</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Promjena ispunj. pokaz. na plavo"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Stil poteza pokazivačem"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Bijelo"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Crno"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Ništa"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Učenje pokreta za dodirnu podlogu"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"dodirna površina, miš, pokazivač, pomicanje, prijeći prstom, kliknuti desnom tipkom, kliknuti, pokazivači"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"kliknuti desnom tipkom, dodirnuti"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Poništi"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Odaberi modifikatorsku tipku"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Odaberite novu tipku za <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Izgled: <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Zadano"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatski: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Izgled koji je odabrao korisnik: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Govor"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Brzina pokazivača"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Veličina pokazivača"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Smanjivanje veličine pokazivača"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Povećavanje veličine pokazivača"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Upravljač igrama"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Preusmjeri vibraciju"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Pošalji vibraciju igraćem kontroleru kada su povezani"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Ipak nastavi"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Odustani"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Postavke povećavanja"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Pomicanje jednim prstom"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Premjestite povećalo jednim prstom"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Povlačite prstom da biste se kretali zaslonom"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Pomičite područje povećanja jednim prstom."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Pomičite područje povećanja dvama prstima."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Nije dostupno kad se povećava samo dio zaslona"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Dodirnite gumb za zumiranje"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Brzo povećajte zaslon da bi se povećao prikaz sadržaja"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Da biste povećali prikaz:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Upotrijebite prečac da biste pokrenuli povećavanje.&lt;br/&gt; {1,number,integer}. Dodirnite zaslon.&lt;br/&gt; {2,number,integer}. Povlačite dva prsta da biste se pomicali po zaslonu.&lt;br/&gt; {3,number,integer}. Spojite dva prsta da biste prilagodili povećanje.&lt;br/&gt; {4,number,integer}. 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; {0,number,integer}. Provjerite je li odabrano povećavanje cijelog zaslona.&lt;br/&gt; {1,number,integer}. Upotrijebite prečac da biste pokrenuli povećavanje.&lt;br/&gt; {2,number,integer}. Dodirnite i zadržite bilo gdje na zaslonu.&lt;br/&gt; {3,number,integer}. Povlačite prst da biste se pomicali po zaslonu.&lt;br/&gt; {4,number,integer}. Podignite prst da biste zaustavili povećavanje."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Da biste povećali prikaz:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Upotrijebite prečac da biste pokrenuli povećavanje.&lt;br/&gt; {1,number,integer}. Dodirnite zaslon.&lt;br/&gt; {2,number,integer}. Povlačite dva prsta da biste se pomicali po zaslonu.&lt;br/&gt; {3,number,integer}. Spojite dva prsta da biste prilagodili povećanje.&lt;br/&gt; {4,number,integer}. Uz pomoć prečaca zaustavite povećavanje&lt;br/&gt;&lt;br/&gt; Možete privremeno povećati itd."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Da biste povećali prikaz:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Upotrijebite prečac da biste pokrenuli povećavanje.&lt;br/&gt; {1,number,integer}. Dodirnite zaslon.&lt;br/&gt; {2,number,integer}. Povucite jednim prstom ili dvama prstima oko zaslona&lt;br/&gt; {3,number,integer}. Spojite dva prsta da biste prilagodili povećanje.&lt;br/&gt; {4,number,integer}. Uz pomoć prečaca zaustavite povećavanje&lt;br/&gt;&lt;br/&gt; Možete privremeno povećati itd."</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_pager" msgid="8461939455728454061">"Stranica <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> od <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Prečac gumba za pristupačnost"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Dodirnite plutajući gumb"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Pokret za pristupačnost"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Dodirnite gumb za pristupačnost <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> pri dnu zaslona. Da biste prešli na neku drugu značajku, dodirnite i zadržite gumb za pristupačnost."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Prijeđite s dva prsta prema gore od dna zaslona.\n\nDa biste prešli na neku drugu značajku, prijeđite s dva prsta prema gore i zadržite."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Prijeđite s tri prsta prema gore od dna zaslona.\n\nDa biste prešli na neku drugu značajku, prijeđite s tri prsta prema gore i zadržite."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Prijeđite prstom od dna zaslona prema gore. Da biste prešli na neku drugu značajku, prijeđite prstom prema gore i zadržite.}one{Prijeđite # prstom prema gore s dna zaslona. Da biste prešli na neku drugu značajku, prijeđite # prstom prema gore i zadržite.}few{Prijeđite s # prsta prema gore s dna zaslona. Da biste prešli na neku drugu značajku, prijeđite s # prsta prema gore i zadržite.}other{Prijeđite s # prstiju prema gore s dna zaslona. Da biste prešli na neku drugu značajku, prijeđite s # prstiju prema gore i zadržite.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Više opcija"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Saznajte više o usluzi <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Tipke za glasnoću"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"tipke za glasnoću"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Pritisnite i zadržite obje tipke za glasnoću"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Dvaput dodirnite zaslon dvama prstima"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Dodirnite dvaput s %1$d prsta"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Brzo dodirnite zaslon dvaput s %1$d prsta"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Dodirnite triput"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Brzo dodirnite zaslon %1$d puta. To bi moglo usporiti uređaj."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Dodirnite dvaput s %1$d prsta"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Brzo dodirnite zaslon dvama prstima ovoliko puta: {0,number,integer}"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Triput dodirnite zaslon"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"dodirnite triput"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Brzo dodirnite zaslon {0,number,integer} 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Postavke prečaca"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Prečac sa zaključanog zaslona"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Dopusti prečacu značajke da se uključi sa zaključanog zaslona. Pritisnite obje tipke za glasnoću na nekoliko sekundi."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Gumb za pristupačnost"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Gumb i pokret za pristupačnost"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Usluga ne radi ispravno."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Prečaci za pristupačnost"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Prikaži u Brzim postavkama"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Crveno – zeleno"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Crveno – zeleno"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Crveno-zelena, poteškoća prepoznavanja zelene"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Crveno-zelena, poteškoća prepoznavanja crvene"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Plavo – žuto"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Nijanse sive"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intenzitet"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Oslabljen osjet zelene boje, deuteranomalija"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Oslabljen osjet crvene boje, protanomalija"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Nedostupno za način nijansi sive ili kad je korekcija boja onemogućena"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Još tamnije"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Još zatamni"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Cijan"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Žuta"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Grimizna"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Želite li aplikaciji <xliff:g id="SERVICE">%1$s</xliff:g> dopustiti potpunu kontrolu nad uređajem?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> treba sljedeće:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Budući da aplikacija prekriva zahtjev za dopuštenje, Postavke ne mogu potvrditi vaš odgovor."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"Usluga <xliff:g id="SERVICE">%1$s</xliff:g> zahtijeva punu kontrolu nad ovim uređajem. Ta usluga može čitati zaslon i postupati u ime korisnika kojima je potrebna prilagođena pristupačnost. Ta razina kontrole nije primjerena za većinu aplikacija."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Potpuna kontrola prikladna je za aplikacije koje vam pomažu s potrebama pristupačnosti, ali ne i za većinu aplikacija."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Pregled zaslona i upravljanje njime"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Može čitati sav sadržaj na zaslonu i prikazati sadržaj povrh drugih aplikacija."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Pregled i izvršavanje radnji"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Može pratiti vaše interakcije s aplikacijama ili senzorom uređaja i stupati u interakciju s aplikacijama u vaše ime."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Dopusti"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Odbij"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Isključi"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Uključeno / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> i <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Prostorni zvuk možete uključiti i za Bluetooth uređaje."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Postavke povezanih uređaja"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Prostorni zvuk"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Isključeno"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Isključeno"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Isključeno"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Nijedan}=1{Postavljen je jedan raspored}one{Postavljen je # raspored}few{Postavljena su # rasporeda}other{Postavljeno je # rasporeda}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Ne uznemiravaj"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Prioritetni načini"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Dodajte način"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Načini"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Smanjite ometanja i preuzmite kontrolu nad svojom pozornošću pomoću načina za spavanje, rad, vožnju i sve između toga."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Izradite vlastiti način"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Primajte obavijesti samo od važnih osoba i aplikacija"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Postavite raspored"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Raspored se temelji na"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Dan i vrijeme"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"9:00 – 17:00, radnim danom\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Događaji iz kalendara"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{Aktivno: {mode_1}}=2{Aktivno: {mode_1} i {mode_2}}=3{Aktivno: {mode_1}, {mode_2} i {mode_3}}one{Aktivno: {mode_1}, {mode_2} i još #}few{Aktivno: {mode_1}, {mode_2} i još #}other{Aktivno: {mode_1}, {mode_2} i još #}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{Jedan način može se automatski uključiti}one{# način može se automatski uključiti}few{# načina mogu se automatski uključiti}other{# načina može se automatski uključiti}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"UKLJUČENO"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Nije postavljeno"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Onemogućeno"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Izrada načina"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Prilagođeno"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Uključi sad"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Isključi"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Način nije pronađen"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ograničavanje prekida"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Blokiraj prekide i ometanja"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Postavljanje aplikacije <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Uključite opciju Ne uznemiravaj."</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Zvukovi alarma i medija mogu prekidati"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Rasporedi"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Brisanje rasporeda"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Brisanje"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Preimenuj"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Izbriši"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Želite li izbrisati način <xliff:g id="MODE">%1$s</xliff:g>?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Uredi"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Rasporedi"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Raspored"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Uključi automatski"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Dodajte kalendar"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Upotreba kalendara"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Raspored"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Postavite raspored"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Kada uključiti automatski"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Raspored događaja"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Uključivanje tijekom događaja:"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Kada je odgovor na pozivnicu"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Raspored vremena"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Raspored"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Raspored"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Dopusti ometanja koja proizvode zvuk"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Obavijesti koje možete dobiti"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Dodatne radnje"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Filtri obavijesti"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Više postavki"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Isključeno}=1{Isključeno/jedan način može se automatski uključiti}one{Isključeno/# način može se automatski uključiti}few{Isključeno/# načina mogu se automatski uključiti}other{Isključeno/# načina može se automatski uključiti}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Postavke zaslona"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Opcije zaslona"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Nijanse sive"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"omogući tamnu temu"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Prebacuje OS i aplikacije da koriste svijetli tekst na tamnoj pozadini, što omogućuje manje naprezanje očiju i značajnu uštedu baterije na nekim uređajima"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Bez promjena na zaslonu}=1{{effect_1}}=2{{effect_1} i {effect_2}}=3{{effect_1}, {effect_2} i {effect_3}}one{{effect_1}, {effect_2} i još #}few{{effect_1}, {effect_2} i još #}other{{effect_1}, {effect_2} i još #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Dopusti sve obavijesti"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Osobe, aplikacije i zvukovi mogu prekidati"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opcije prikaza za filtrirane obavijesti"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Kad je uključena značajka Ne uznemiravaj"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Bez zvuka obavijesti"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"otvaranje obavijesti"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Dopusti odgodu obavijesti"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Točka obavijesti na ikoni aplikacije"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Paketi obavijesti"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Oblačići"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Oblačići"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Prikaži ovaj razgovor u oblačiću"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Može odgovarati na poruke i poduzimati radnje povezane s gumbima u obavijestima, uključujući odgađanje alarma, odbacivanje obavijesti i odgovaranje na pozive."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Promjena postavki"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Može uključiti ili isključiti značajku Ne uznemiravaj i promijeniti povezane postavke."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Može upravljati načinima, aktivirati ih i izmijeniti povezane postavke."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Ako isključite pristup obavijestima za <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, možda će se isključiti i pristup značajci Ne uznemiravaj."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Ako isključite pristup obavijestima za aplikaciju <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, možda će se isključiti i pristup načinima."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Isključi"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Odustani"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"U stvarnom vremenu"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Ta aplikacija ne podržava napredne postavke"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Više postavki"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Više postavki dostupno je unutar aplikacije"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Prilagodljive obavijesti"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Koristi prilagodljive obavijesti"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Kad u kratkom vremenskom razdoblju primite velik broj obavijesti, telefon će smanjiti glasnoću i minimizirati skočne prozore na zaslonu u trajanju do dvije minute. Pozivi, alarmi i prioritetni razgovori i dalje će vibrirati, zvučno se oglašavati ili prikazivati na zaslonu, a sve obavijesti jednostavno ćete pronaći tako da povučete prstom od vrha zaslona prema dolje."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Postupno stišavanje obavijesti"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Upotreba stišavanja obavijesti"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Ako u kratkom vremenskom razdoblju primite velik broj obavijesti, uređaj će smanjiti glasnoću i minimizirati upozorenja u trajanju do dvije minute. To ne utječe na pozive, alarme i prioritetne razgovore. \n\nObavijesti primljene tijekom stišavanja mogu se pronaći tako da povučete prstom prema dolje s vrha zaslona."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Primijeni na poslovne profile"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Primijeni na aplikacije poslovnog profila"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Pomoćne usluge za virtualnu stvarnost"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Pristup značajci Ne uznemiravaj"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Dopusti značajku Ne uznemiravaj"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Nijedna instalirana aplikacija nije zatražila pristup opciji Ne uznemiravaj"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Pristup načinima"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Dopusti pristup načinima"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Nijedna instalirana aplikacija nije zatražila pristup načinima"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Niste dopustili obavijesti te aplikacije"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Android na vaš zahtjev blokira prikazivanje te kategorije obavijesti na ovom uređaju"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Android na vaš zahtjev blokira prikazivanje te grupe obavijesti na ovom uređaju"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Kategorije"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Drugo"</string>
     <string name="no_channels" msgid="4716199078612071915">"Ova aplikacija nije objavila nijednu obavijest"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Prikaži nekorištene kategorije"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Dodatne postavke u aplikaciji"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Prikaži nekorištene kategorije"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Sakrij nekorištene kategorije"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Razgovori"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Svi razgovori"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"svi razgovori"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Prioritetni razgovori"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"prioritetni razgovori"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Ništa"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Aplikacije koje mogu prekidati"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Odabrane aplikacije"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Nijedna"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Sve"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Nijedna aplikacija ne može prekidati}=1{{app_1} može prekidati}=2{{app_1} i {app_2} mogu prekidati}=3{{app_1}, {app_2} i {app_3} mogu prekidati}one{{app_1}, {app_2} i još # aplikacija mogu prekidati}few{{app_1}, {app_2} i još # aplikacije mogu prekidati}other{{app_1}, {app_2} i još # aplikacija mogu prekidati}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (posao)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Izračun u tijeku…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+ <xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Dopusti aplikacijama da nadjačaju"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikacije koje mogu prekidati"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Odaberite više aplikacija"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Ništa ne može prekidati"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Nitko ne može prekidati"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Neke osobe mogu prekidati"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Ponovni pozivatelji mogu ometati"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Sve osobe mogu prekidati"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Uzastopni pozivi"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Dopusti ponovne pozivatelje"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Promijeni na opciju Samo alarmi na jedan sat do {time}}one{Promijeni na opciju Samo alarmi na # sat do {time}}few{Promijeni na opciju Samo alarmi na # sata do {time}}other{Promijeni na opciju Samo alarmi na # sati do {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Promijeni na \"Samo alarmi\" do <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Promijeni na \"Uvijek prekidaj\""</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Promijeni naziv"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Promijeni ikonu"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Promijenite ikonu"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Uređivanje načina"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Izrada načina"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Prilagođeni način"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Naziv načina"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Događaji iz kalendara"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Rutina prije spavanja"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Tijekom vožnje"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Postavke aplikacija"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Podaci i postavke u aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Upravlja <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Onemogućiti način <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Ovaj se način nikad neće uključiti kada je onemogućen"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Onemogući"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Omogućiti način <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Ovaj se način može automatski uključiti na temelju njegovih postavki"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Omogući"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Postavite način koji prati uobičajeni raspored"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Postavite način za sinkronizaciju s događajima iz kalendara i odgovorima na pozivnice"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Izradite opuštajuću rutinu za spavanje. Postavite alarme, zatamnite zaslon i blokirajte obavijesti."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Dajte prednost sigurnosti na cesti za usredotočenu vožnju bez ometanja"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Blokirajte smetnje ili prekide koji dolaze s vašeg uređaja kako biste se usredotočili"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Uklonite sva ometanja za tiho okruženje"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Personalizirajte doživljaje i postavke uređaja za različite korisnike"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Smanjite ometanja dopuštanjem da vam se prikažu samo obavijesti važnih kontakata i aplikacija"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Postavite način koji prati uobičajeni raspored"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Sinkronizirajte uređaj s dnevnim događajima"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Probudite se s osjećajem da ste potpuno spremni za novi dan"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Neka sigurnost bude na prvom mjestu dok ste na cesti"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Usredotočite se da biste se usmjerili na uspjeh"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Za trenutke u kojima je ljubaznost važna"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Vođeni način upotrebe koji će vam pomoći da ostanete u dobrim rukama"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Preuzmite kontrolu nad svojom pažnjom"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Upozorenje"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Zatvori"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Pošalji povr. informacije o uređaju"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Mora ostati uključeno jer je uključen pristup obavijestima"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Želite li opozvati pristup značajci Ne uznemiravaj za aplikaciju <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Uklonit će se sva pravila Ne uznemiravaj koja je postavila ova aplikacija."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Želite li dopustiti pristup načinima za aplikaciju <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Aplikacija će moći uključiti/isključiti opciju Ne uznemiravaj, upravljati načinima i aktivirati ih te izmijeniti povezane postavke."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Uklonit će se svi načini rada koje je izradila ova aplikacija."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Ne optimiziraj"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimizacija"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Baterija se može brže isprazniti. Aplikacijama više neće biti ograničeno korištenje pozadinske baterije."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Futrola"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Baterija"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Ploča postavki"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"Nametni način rada na računalu"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Nameće eksperimentalni stolni način rada na sekundarnim zaslonima"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"Omogući prozore slobodnog oblika"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Omogući prozore slobodnog oblika na sek. zaslonu"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Omogući aplikacije nepromjenjive veličine u više prozora"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Omogućuje prikaz aplikacija nepromjenjive veličine u više prozora"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Nadjačaj nametanje tamne teme"</string>
@@ -4968,7 +5077,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobilne podatke"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Radi boljeg doživljaja na uređaju, aplikacije i usluge i dalje mogu tražiti Wi‑Fi mreže u bilo kojem trenutku, čak i kada je Wi‑Fi isključen. Time se primjerice mogu poboljšati značajke i usluge koje se temelje na lokaciji. To možete promijeniti u postavkama traženja Wi-Fija."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Promijenite"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Povezano"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Privremeno povezano"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Privremeno koristite <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -5000,7 +5108,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Koristi prikvačivanje aplikacije"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Koristi opcije za razvojne programere"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Koristi uslugu ispisa"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Dopusti više korisnika"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Dopusti prebacivanje između korisnika"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"dopustiti, više, korisnik, dopuštenje, mnogo"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"više, korisnici, profili, osobe, računi, prebaci, mnogi"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Upotreba bežičnog otklanjanja pogrešaka"</string>
@@ -5057,52 +5165,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> se želi povezati s ovim telefonom.\n\nDosad se niste povezivali s uređajem <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Nemoj povezati"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Poveži"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Postavke TARE-a"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Uključeno"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Isključeno"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Vraćanje na zadane postavke"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Postavke su vraćene na zadano."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Maksimalan zasićeni balans"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Salda"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Ograničenja potrošnje"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Početno ograničenje potrošnje"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Minimalno ograničenje potrošnje"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Maksimalno ograničenje potrošnje"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modifikatori"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Radnje (trošak proizvodnje)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Radnje (osnovna cijena)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Nagrade po pojedinačnom događaju"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Nagrade po sekundi trajanja događaja"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Maksimalan broj nagrada po danu"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Instalacija aplikacije"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Glavna aktivnost"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Obavijest je viđena"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Obavijest je viđena u roku od 15 minuta"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interakcija s obavijestima"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Interakcija s widgetima"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Ostale korisničke interakcije"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Pokretanje zadatka najvišeg prioriteta"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Izvodi se zadatak najvišeg prioriteta"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Pokretanje zadatka visokog prioriteta"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Izvodi se zadatak visokog prioriteta"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Pokretanje zadatka zadanog prioriteta"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Izvodi se zadatak zadanog prioriteta"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Pokretanje zadatka niskog prioriteta"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Izvodi se zadatak niskog prioriteta"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Pokretanje zadatka najnižeg prioriteta"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Izvodi se zadatak najnižeg prioriteta"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Sankcija za istek vremena za zadatak"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Minimalni saldo pri punoj bateriji (izuzeto)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Minimalni saldo pri punoj bateriji (apl. sustava bez korisničkog sučelja)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Minimalni saldo pri punoj bateriji (preostale aplikacije)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Dodatak za minimalni saldo pri punoj bateriji (alati za ažuriranje aplikacija)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Punjenje"</item>
-    <item msgid="658627268149681677">"Drijemanje"</item>
-    <item msgid="1599558140284643834">"Način rada za uštedu energije"</item>
-    <item msgid="588427840913221601">"Stanje procesa"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Potvrdi"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Isprobaj"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Odaberite čuvar zaslona"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Prikaži dodatne informacije"</string>
@@ -5114,8 +5176,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Odaberite što će se prikazivati na zaslonu kad se tablet nalazi na priključnoj stanici. Uređaj može trošiti više energije kad se koristi čuvar zaslona."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Prilagodite"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Prilagodite <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Za omogućivanje podrške slobodnom obliku potrebno je ponovno pokretanje."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Za prisilno uključivanje načina radne površine na sekundarnim zaslonima potrebno je ponovno pokretanje."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Za omogućivanje podrške za prozore slobodnog oblika potrebno je ponovno pokretanje."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Za ažuriranje dostupnosti prikaza u prozorima slobodnog oblika potrebno je ponovno pokretanje."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Za omogućivanje prikaza u prozorima slobodnog oblika na sekundarnim zaslonima potrebno je ponovno pokretanje."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Ponovno pokreni sada"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Ponovno pokreni kasnije"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Prostorni zvuk"</string>
@@ -5212,7 +5275,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Ruža"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Grimizna"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Ljubičasta"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Gotovo"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Spremi"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Odustani"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Zadano"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Srednji"</string>
@@ -5233,6 +5296,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Uključeno"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Isključeno"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Uključeno"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Zvuk %1$d%% lijevo, %2$d%% desno"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Zvuk %1$d%% desno, %2$d%% lijevo"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Naziv vašeg uređaja vidljiv je aplikacijama koje ste instalirali. Mogu ga vidjeti i druge osobe kada se povežete s Bluetooth uređajima ili Wi-Fi mrežom ili kada postavite Wi-Fi žarišnu točku."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Gramatički rod"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Odaberite gramatički rod"</string>
@@ -5301,6 +5366,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Zajedničko slušanje je zaustavljeno"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Povežite kompatibilan uređaj"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Da biste započeli s dijeljenjem zvuka, prvo povežite LE Audio slušalice sa svojim telefonom"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Prijeđi na uređaj <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Povežite se s audiostreamom LE Audio"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Audiostreamovi u blizini"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Audiostreamovi"</string>
@@ -5344,4 +5410,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Slušajte stream"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Skenirajte QR kôd audiostreama da biste slušali s uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Nije moguće urediti zaporku dok je zajedničko slušanje u tijeku. Da biste promijenili zaporku, prvo isključite zajedničko slušanje."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Čitač QR koda"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Trebate li pomoć?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Pretražite postavke"</string>
 </resources>
diff --git a/res/values-hu/arrays.xml b/res/values-hu/arrays.xml
index 109259a..d6002b8 100644
--- a/res/values-hu/arrays.xml
+++ b/res/values-hu/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Alvásidő"</item>
-    <item msgid="4152450357280759894">"Vezetés"</item>
-    <item msgid="7096549258219399423">"Magával ragadó"</item>
-    <item msgid="2760716776980432977">"Kezelt"</item>
-    <item msgid="601734478369121764">"Csillag"</item>
-    <item msgid="6243809315432780521">"Naptár"</item>
-    <item msgid="4913577903148415331">"Idő"</item>
-    <item msgid="3653377604690057780">"Színház"</item>
-    <item msgid="3843711267408385410">"Virág"</item>
+    <item msgid="1216815120972438676">"Aktatáska"</item>
+    <item msgid="184985872234062767">"Klasszikus épület"</item>
+    <item msgid="9189550412466785530">"Társasház"</item>
+    <item msgid="2142527562511049422">"Szövegbuborék"</item>
+    <item msgid="2548100558260478605">"Emberek csoportja"</item>
+    <item msgid="2270003903304578284">"Izzó"</item>
+    <item msgid="4793496619091161864">"Naptár"</item>
+    <item msgid="5673625795644364100">"Ne zavarjanak"</item>
+    <item msgid="1423820834865831361">"Futó ember"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Edzőtermi súlyzó"</item>
+    <item msgid="2730180105015616518">"Úszás"</item>
+    <item msgid="2666922823253345958">"Túrázó ember"</item>
+    <item msgid="8234880356472211396">"Labdát dobó ember"</item>
+    <item msgid="4642980625253001443">"Rúgó ember"</item>
+    <item msgid="4324795269518833500">"Kontroller"</item>
+    <item msgid="7789966425125441125">"Festő színpalettája"</item>
+    <item msgid="663512680597461570">"Hópehely"</item>
+    <item msgid="7952183800501346803">"Strandernyő"</item>
+    <item msgid="799139025758265891">"Workshop-eszközök"</item>
+    <item msgid="1330084588359129896">"Sátor"</item>
+    <item msgid="3861584909935022342">"Filmtekercs"</item>
+    <item msgid="5827426100157335512">"Könyv"</item>
+    <item msgid="8585828346253128384">"Lótuszvirág"</item>
+    <item msgid="8788370542815300188">"Emberi elme"</item>
+    <item msgid="7287354964767553293">"Fejhallgató"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Vonat"</item>
+    <item msgid="4903790544026923026">"Autó"</item>
+    <item msgid="5010405583912314582">"Kés és villa"</item>
+    <item msgid="8939998598599064900">"Bevásárlókosár"</item>
+    <item msgid="3379605903308731893">"Gyermek"</item>
+    <item msgid="7808668968550293112">"Állati mancs"</item>
+    <item msgid="1000692647524056504">"Csillag jelvény"</item>
+    <item msgid="8270261073421676502">"Két ember"</item>
+    <item msgid="5767782819651505460">"Csillag"</item>
+    <item msgid="4368451291862729334">"Szív"</item>
+    <item msgid="2613199102208419986">"Ház"</item>
+    <item msgid="3022279986430275040">"Félhold"</item>
+    <item msgid="5421089790869483206">"Óra"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 1bd1a32..5e0c635 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Felfüggesztve"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Ismeretlen"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Előnézet"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR-kód"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Mindig"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Hallókészülék-beállítások"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Gyorsparancs, hallókészülék-kompatibilitás"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Beállításkészlet"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Audiológusa nem programozott be beállításkészleteket"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Nem sikerült frissíteni a beállításkészletet"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Hangkimenet"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"A hangkimenetről"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"A Nyelvválasztás nem áll rendelkezésre ehhez az alkalmazáshoz a Beállításokban."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"A nyelv eltérhet az alkalmazásban rendelkezésre álló nyelvektől. Előfordulhat, hogy egyes alkalmazások nem támogatják ezt a beállítást."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Az egyes alkalmazások nyelvének beállítása."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"A rendszer, az alkalmazások és a webhelyek a preferált nyelvek közül az első támogatottat fogják használni."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Az eszköz, az alkalmazások és a webhelyek a preferált nyelvek közül az első támogatottat fogják használni.\n\nA dátumok, a számok és a mértékegységek formázása érdekében több alkalmazás használja majd a preferált nyelvhez tartozó régiót is. A régió módosításához adjon hozzá nyelvet, majd módosítsa a preferált régiót."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Ha minden alkalmazásnál Ön szeretné kiválasztani a nyelvet, lépjen az egyes alkalmazások nyelvi beállításaihoz."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"További információ az alkalmazások nyelveiről"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Módosítja a rendszer nyelvét a következőre: %s?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Ki"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Be / # alkalmazás hozzáfér a helyadatokhoz}other{Be / # alkalmazás hozzáfér a helyadatokhoz}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Betöltés…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"A közeli eszközökre vonatkozó engedéllyel rendelkező alkalmazások meghatározhatják a csatlakoztatott eszközök relatív pozícióját."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"A közeli eszközökre vonatkozó engedéllyel rendelkező alkalmazások meghatározhatják a csatlakoztatott eszközök relatív pozícióját."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"A helyhozzáférés ki van kapcsolva az alkalmazásoknál és a szolgáltatásoknál. A rendszer azonban így is elküldheti az eszköz helyét a segélyszolgálatoknak, ha Ön segélyhívó számot hív, vagy SMS-t küld rá."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"További információ a helybeállításokról"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"A módosításához lépjen a következő menübe ChromeOS-eszközén: Beállítások &gt; Adatvédelem és biztonság &gt; Adatvédelmi beállítások &gt; Helyhozzáférés"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Arc és <xliff:g id="WATCH">%s</xliff:g> hozzáadva"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Arc, ujjlenyomat és <xliff:g id="WATCH">%s</xliff:g> hozzáadva"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Arc, ujjlenyomatok és <xliff:g id="WATCH">%s</xliff:g> hozzáadva"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"A személyazonosság-ellenőrzés be van kapcsolva, és biometrikus azonosítást igényel"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Távoli hitelesítő alapú feloldás"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Óra hozzáadva"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Az óra beállítása"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"További információ a Feloldás órával funkcióról"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Óra hozzáadása"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Óra eltávolítása"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Feloldás ujjlenyomattal és Arcalapú feloldás"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Arc- és ujjlenyomat-alapú feloldás"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Arc- és ujjlenyomat-alapú feloldás a munkaprofilban"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Beállítás szükséges"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Arc és ujjlenyomatok hozzáadva"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"A privát terület beállítása…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Nem sikerült a privát terület beállítása"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Újra"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Kilépés"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"A privát terület nem áll rendelkezésre.\nTekintse meg a lehetséges okokat."</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"A lehetséges okok megtekintése"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Új zárolást választ a privát területhez?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Beállíthat egy új zárolást csak a privát terület számára, vagy használhatja ugyanazt a zárolást, amelyet a készülék feloldásához használ."</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Képernyőzár használata"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Ha a Bluetooth aktív, az eszköz képes kommunikálni a közelben lévő Bluetooth-eszközökkel.\n\nAz eszközhasználati élmény javítása érdekében az alkalmazások és a szolgáltatások bármikor kereshetnek közeli eszközöket, még akkor is, ha ki van kapcsolva a Bluetooth. Ez például a helyalapú funkciók és szolgáltatások javítására használható. A funkciót a Bluetooth-keresési beállításoknál módosíthatja."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Ha a Bluetooth be van kapcsolva, az eszköz képes kommunikálni a közelben lévő Bluetooth-eszközökkel. Egyes funkciók (például a Quick Share és a Készülékkereső) Bluetootht használnak.\n\nAz alkalmazások és a szolgáltatások még akkor is kereshetnek közeli eszközöket, ha a Bluetooth ki van kapcsolva. Ennek célja például az lehet, hogy javítsák a helyalapú funkciók és szolgáltatások pontosságát. Ezt a viselkedést a Bluetooth-keresés beállításai között módosíthatja."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Módosítás"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Eszközadatok"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Billentyűzetbeállítások"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"További beállítások"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Firmware-frissítések, névjegy és egyebek"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Tippek és támogatás"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Az eszköz Bluetooth-címe: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Az eszköz Bluetooth-címe:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Elfelejti az eszközt?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Kísérlet. Javítja a hangminőséget."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Eszköz elfelejtése"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Alkalmazás leválasztása"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"További beállítások"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Csatlakoztatott Bluetooth-audioeszközök maximális száma"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Válassza ki a csatlakoztatott Bluetooth-audioeszközök maximális számát"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC részletes szolgáltatói hibakeresési napló"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Újraindítja az eszközt?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"A részletes NFC-naplózás csak fejlesztési célokra szolgál. A hibajelentésekben további NFC-adatok is szerepelnek, amelyek között privát információk is lehetnek. A beállítás módosításához indítsa újra eszközét."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Újraindítás"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Be"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Ki"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Külső kijelző"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Külső kijelző használata"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Kijelző felbontása"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Nem csatlakozik külső kijelző"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Elforgatás"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Normál"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Az elforgatás vagy a felbontás módosítása leállíthatja az aktuálisan futó alkalmazásokat"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"A képernyő tükrözéséhez az eszköznek csatlakoznia kell egy külső kijelzőhöz"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"További lehetőségek"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Tartalomátküldés"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"tükrözés"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Vezeték nélküli kijelző engedélyezése"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptív"</string>
     <string name="brightness" msgid="6216871641021779698">"Fényerőszint"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Alkalmazkodó fényerő"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Az alkalmazkodó fényerőről"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"A képernyő fényerőssége automatikusan alkalmazkodik a környezethez és az adott tevékenységhez. A csúszka mozgatásával segíthet az alkalmazkodó fényerő funkciónak, hogy megtanulja az Ön személyes preferenciáit."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Bekapcsolva"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Kikapcsolva"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"A(z) <xliff:g id="CARRIER">%1$s</xliff:g> szolgáltatót használja?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"A(z) <xliff:g id="CARRIER2_0">%2$s</xliff:g> szolgáltatót használja a mobiladat-kapcsolathoz. Ha a(z) <xliff:g id="CARRIER1">%1$s</xliff:g> szolgáltatóra vált, az eszköz többé nem használja a(z) <xliff:g id="CARRIER2_1">%2$s</xliff:g> szolgáltatót a mobiladat-kapcsolathoz."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"<xliff:g id="CARRIER">%1$s</xliff:g> használata"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Frissíti a preferált SIM-et?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"Az eszközben található egyetlen SIM-kártya a következő: <xliff:g id="NEW_SIM">%1$s</xliff:g>. Ezt a SIM-kártyát szeretné használni mobiladat-kapcsolathoz, hívásokhoz és SMS-üzenetekhez?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"Mostantól a(z) <xliff:g id="NEW_SIM">%1$s</xliff:g> az elsődleges SIM-kártyája"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Javít a mobiladat-lefedettségen?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Engedélyezze, hogy eszköze automatikusan a(z) <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> szolgáltatóra váltson mobiladat-kapcsolat használatához, amikor annak jobb a rendelkezésre állása."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"A hívások, az üzenetek és a hálózati forgalom láthatók lehetnek a szervezete számára."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Opciók"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Kisegítő lehetőségek"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fizikai billentyűzet"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Képernyő-billentyűzet használata"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Maradjon a képernyőn, amíg a fizikai billentyűzet aktív"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Billentyűblokkolás"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"A billentyűzet nem veszi figyelembe, ha ugyanazt a billentyűt többször is lenyomják <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms-on belül"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Lassú billentyűk"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Átállítja a billentyű lenyomásától az aktiválásig eltelő időtartamot <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms-ra"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Beragadó billentyűk"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Egyszerre egy billentyű lenyomásával használhat billentyűparancsokat több billentyű egyszeri lenyomva tartása helyett"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Egérgombok"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"A fizikai billentyűzettel irányíthatja az egeret."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Billentyűparancsok"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Billentyűparancsok listájának megjelenítése"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Munkaprofil billentyűzetei és eszközei"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Érintőpad navigációs kézmozdulatainak személyre szabása"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Fordított görgetés"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Lefelé görgetéskor a tartalom felfelé halad"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Koppintás a jobb alsó sarokban"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Több beállítás: koppintson az érintőpad jobb alsó sarkában"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Kattintás a jobb alsó sarokban"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Több beállítás: kattintson az érintőpad jobb alsó sarkában"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Mutató sebessége"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Mutatókitöltés stílusa"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Mutatókitöltés-stílus módosítása: fekete"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Mutatókitöltés-stílus módosítása: sárga"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Mutatókitöltés-stílus módosítása: rózsaszín"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Mutatókitöltés-stílus módosítása: kék"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Mutató húzásának stílusa"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Fehér"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Fekete"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Nincs"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Érintőpad-kézmozdulatok megismerése"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"érintőpad, érintő pad, egér, kurzor, görgetés, csúsztatás, kattintás jobb egérgombbal, kattintás, mutató"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"kattintás jobb egérgombbal, koppintás"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Alaphelyzet"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Módosító billentyű választása"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Válasszon új billentyűt a(z) <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> számára:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> elrendezés"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Alapértelmezett"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatikus: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Felhasználó által kiválasztva: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Beszéd"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Mutató sebessége"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Mutató mérete"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Mutató méretének csökkentése"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Mutató méretének növelése"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Játékvezérlő"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Rezgés átirányítása"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Rezgés küldése a játékvezérlőre kapcsolódáskor"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Folytatás mégis"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Mégse"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Nagyítási beállítások"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Egyujjas pásztázás"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"A nagyító mozgatása egy ujjal"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Egy ujjal húzva mozgathatja a képernyő tartalmát"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"A nagyítási terület mozgatása egy ujj húzásával."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"A nagyítási terület mozgatása két ujj húzásával."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Nem áll rendelkezésre, ha a nagyítás csak a képernyő egy részére terjed ki"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Nagyításhoz koppintson a gombra"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Gyorsan nagyíthat a képernyőn a tartalom felnagyítása érdekében"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;A nagyításhoz:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Használja a gyorsparancsot a nagyítás megkezdéséhez.&lt;br/&gt; {1,number,integer}. Koppintson a képernyőre.&lt;br/&gt; {2,number,integer}. Két ujjának húzásával mozoghat a képernyőn.&lt;br/&gt; {3,number,integer}. Két ujjának összehúzásával módosíthatja a nagyítási szintet.&lt;br/&gt; {4,number,integer}. A gyorsparancs segítségével leállíthatja 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; {0,number,integer}. Ellenőrizze, hogy a nagyítás típusa teljes képernyőre van-e beállítva.&lt;br/&gt; {1,number,integer}. Használja a gyorsparancsot a nagyítás megkezdéséhez.&lt;br/&gt; {2,number,integer}. Tartsa lenyomva egyik ujját bárhol a képernyőn.&lt;br/&gt; {3,number,integer}. Ujjának húzásával mozoghat a képernyőn.&lt;br/&gt; {4,number,integer}. Emelje fel ujját a nagyítás befejezéséhez."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;A nagyításhoz:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Használja a gyorsparancsot a nagyítás megkezdéséhez.&lt;br/&gt; {1,number,integer}. Koppintson a képernyőre.&lt;br/&gt; {2,number,integer}. Két ujjal húzva mozgathatja a képernyő tartalmát.&lt;br/&gt; {3,number,integer}. Két ujjának összehúzásával módosíthatja a nagyítási szintet.&lt;br/&gt; {4,number,integer}. A gyorsparancs használatával leállíthatja a nagyítást&lt;br/&gt;&lt;br/&gt; Egyebek mellett ideiglenesen is nagyíthat."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;A nagyításhoz:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Használja a gyorsparancsot a nagyítás megkezdéséhez.&lt;br/&gt; {1,number,integer}. Koppintson a képernyőre.&lt;br/&gt; {2,number,integer}. Egy vagy két ujjal húzva mozgathatja a képernyő tartalmát&lt;br/&gt; {3,number,integer}. Két ujjának összehúzásával módosíthatja a nagyítási szintet.&lt;br/&gt; {4,number,integer}. A gyorsparancs használatával leállíthatja a nagyítást&lt;br/&gt;&lt;br/&gt; Egyebek mellett ideiglenesen is nagyíthat."</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_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g>/<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>. oldal"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Gyorsparancs a Kisegítő lehetőségek gombhoz"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Koppintson a lebegő gombra"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Kisegítő kézmozdulat"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Koppintson a Kisegítő lehetőségek gombra (<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>) a képernyő alján. A funkciók közötti váltáshoz érintse meg és tartsa lenyomva a Kisegítő lehetőségek gombot."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Csúsztasson két ujjával felfelé a képernyő aljáról.\n\nA funkciók közötti váltáshoz csúsztasson felfelé két ujjával, és ne emelje fel őket a képernyőről."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Csúsztasson három ujjával felfelé a képernyő aljáról.\n\nA funkciók közötti váltáshoz csúsztasson felfelé három ujjával, és ne emelje fel őket a képernyőről."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Csúsztassa felfelé az ujját a képernyő aljától. A funkciók közötti váltáshoz húzza az ujját felfelé és tartsa a képernyőn.}other{Csúsztassa felfelé # ujját a képernyő aljától. A funkciók közötti váltáshoz csúsztassa felfelé # ujját, és tartsa lenyomva őket a képernyőn.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"További lehetőségek"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"További információ erről: <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Hangerőszabályzó gombok"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"hangerőszabályzó gombok"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Tartsa lenyomva mindkét hangerőgombot"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Dupla koppintás a képernyőn két ujjal"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d-ujjas dupla koppintás"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Koppintson gyorsan egymás után kétszer %1$d ujjal"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Három koppintás"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Koppintson a képernyőre %1$d-szor gyorsan egymás után. Ez lelassíthatja az eszközét."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d-ujjas dupla koppintás"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Gyors koppintás a képernyőre két ujjal {0,number,integer} alkalommal"</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_triple_tap_keyword" msgid="5359347130888464334">"három koppintás"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Koppintson a képernyőre gyorsan, {0,number,integer} alkalommal. 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Gyorsparancs beállításai"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Gyorsparancs a lezárási képernyőn"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"A gyorsparancs lehetővé teszi a funkció bekapcsolását a lezárási képernyőről. Néhány másodpercig tartsa lenyomva mindkét hangerőgombot."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Kisegítő lehetőségek gomb"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Kisegítő lehetőségek és kézmozdulat"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Ez a szolgáltatás nem működik megfelelően."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Kisegítő lehetőségek gyorsparancsai"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Megjelenítés a Gyorsbeállítások között"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Vörös-zöld"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Vörös-zöld"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Piros-zöld, a zöld gyenge"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Piros-zöld, a piros gyenge"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Kék-sárga"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Szürkeárnyalatos"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intenzitás"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Zöldszín-tévesztés (deuteranomália)"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Vörösszín-tévesztés (protanomália)"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Nem áll rendelkezésre szürkeárnyalatos módban, és amikor le van tiltva a színjavítás"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Extrasötét"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"A képernyő legyen extrasötét"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Zöldeskék"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Sárga"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Teljes körű vezérlést biztosít eszköze felett a(z) <xliff:g id="SERVICE">%1$s</xliff:g> szolgáltatás számára?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"A(z) <xliff:g id="SERVICE">%1$s</xliff:g> szolgáltatásnak a következőkre van szüksége:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Mivel az egyik alkalmazás zavar egy engedélykérelmet, a Beállítások funkció nem tudja ellenőrizni az Ön válaszát."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"A(z) <xliff:g id="SERVICE">%1$s</xliff:g> teljes irányítást kér az eszköz felett. Az alkalmazás felolvashatja a képernyőn lévő tartalmat, és cselekedhet a kisegítő lehetőségekre szoruló felhasználók helyett. Az irányítás ilyen szintje nem megfelelő a legtöbb alkalmazás számára."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"A teljes vezérlés indokolt olyan alkalmazásoknál, amelyek kisegítő lehetőségeket nyújtanak, a legtöbb alkalmazásnál azonban nem."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Képernyő megtekintése és kezelése"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Elolvashatja a képernyő tartalmát, és tartalmakat jeleníthet meg más alkalmazások felett."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Műveletek megtekintése és elvégzése"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Követheti az alkalmazásokkal és hardveres érzékelőkkel való interakcióit, és műveleteket végezhet az alkalmazásokkal az Ön nevében."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Engedélyezés"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Tiltás"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Igen"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Bekapcsolva / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> és <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"A Bluetooth-eszközök esetében is bekapcsolhatja a térbeli hangzást."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Csatlakoztatott eszközök beállításai"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Térbeli hangzás"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Ki"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Ki"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Ki"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Nincs}=1{1 ütemezés beállítva}other{# ütemezés beállítva}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Ne zavarjanak"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Prioritási módok"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Mód hozzáadása"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Módok"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Minimalizálja a zavaró tényezőket, és vegye kezébe a figyelem irányítását különböző módokkal, legyen szó alvásról, munkáról, vezetésről vagy bármiről ezek mellett."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Hozza létre a saját módját"</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_select_schedule" msgid="663163931596092952">"Állítson be ütemezést"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Ütemezés alapja:"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Nap és időpont"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"„Reggel kilenctől délután ötig, hétköznapokon”"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Naptáresemények"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{A(z) {mode_1} aktív}=2{{mode_1} és {mode_2} aktív}=3{{mode_1}, {mode_2} és {mode_3} aktív}other{{mode_1}, {mode_2} és # egyéb aktív}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 mód automatikusan bekapcsolódhat}other{# mód automatikusan bekapcsolódhat}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"BE"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Nincs beállítva"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Kikapcsolva"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Mód létrehozása"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Egyéni"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Bekapcsolás most"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Kikapcsolás"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Mód nem található"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"A megszakítások korlátozása"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Megszakító vagy zavaró tényezők kizárása"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"A(z) <xliff:g id="MODE">%1$s</xliff:g> beállítá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_alarms_only" msgid="2956938533859578315">"Az ébresztések és médiahangok megszakíthatják a „Ne zavarjanak” módot"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Ütemezések"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Ütemezések törlése"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Törlés"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Átnevezés"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Törlés"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Törli a(z) „<xliff:g id="MODE">%1$s</xliff:g>” módot?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Szerkesztés"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Ütemezések"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Ütemezés"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Automatikus bekapcsolás"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Naptár hozzáadása"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Naptár használata"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Ütemezés"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Állítson be ütemezést"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Automatikus bekapcsolás esete"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Eseménynaptár"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Bekapcsol a következő esetben:"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Amikor a meghívó válasza:"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Időbeosztás"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Ütemezés"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ó, <xliff:g id="MINUTES">%2$d</xliff:g> p"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Ütemezés"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Hanggal járó jelzések engedélyezése"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Értesítések, amelyek eljuthatnak Önhöz"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"További műveletek"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Értesítési szűrők"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"További beállítások"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Ki}=1{Ki / 1 mód automatikusan bekapcsolhat}other{Ki/ # mód automatikusan bekapcsolhat}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Megjelenítési beállítások"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Megjelenítési beállítások"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Szürkeárnyalatos"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"sötét téma engedélyezése"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Módosíthatja az operációs rendszer és az alkalmazások beállításait úgy, hogy a sötét háttér előtti világos szöveget részesítsék előnyben, ami kevésbé megterhelő a szemnek, valamint jóval energiatakarékosabb használatot eredményez egyes eszközökön."</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Nincs megjelenítésmódosítás}=1{{effect_1}}=2{{effect_1} és {effect_2}}=3{{effect_1}, {effect_2} és {effect_3}}other{{effect_1}, {effect_2}, és # további}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Összes értesítés engedélyezése"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"A személyek, az alkalmazások és a hangok megszakíthatják"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"A szűrt értesítések megjelenítési beállításai"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Ha a „Ne zavarjanak” mód aktív"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Nincs hang az értesítéseknél"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"értesítés megnyitása"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Értesítés halasztásának engedélyezése"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Értesítési pötty az alkalmazásikonon"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Értesítéscsomagok"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Buborékok"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Buborékok"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Beszélgetés buborékba helyezése"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Válaszolhat az üzenetekre, és az értesítésekben található gombokra is reagálhat, beleértve a szundi üzemmód aktiválását, az értesítések elutasítását és a hívások fogadását."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Beállítások módosítása"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Be- és kikapcsolhatja a Ne zavarjanak módot, illetve módosíthatja a kapcsolódó beállításokat."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Kezelheti és aktiválhatja a módokat, és módosíthatja a kapcsolódó beállításokat."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Ha kikapcsolja a(z) <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> hozzáférését az értesítésekhez, azzal lehet, hogy kikapcsolja a „Ne zavarjanak” módhoz való hozzáférést is."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Ha kikapcsolja a(z) <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> hozzáférését az értesítésekhez, azzal lehet, hogy kikapcsolja a módokhoz való hozzáférést is."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Kikapcsolás"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Mégse"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Valós idejű"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Az alkalmazás nem támogatja a speciális beállításokat"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"További beállítások"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Ebben az alkalmazásban további beállítások állnak rendelkezésre"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Alkalmazkodó értesítések"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Alkalmazkodó értesítések használata"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Ha rövid időn belül sok értesítést kap, telefonja két percig csökkenti a hangerőt, és kis méretre állítja az előugró ablakokat a képernyőn. A hívásoknál, az ébresztéseknél és a fontos beszélgetéseknél továbbra is rezeg és hangjelzést ad a telefon, valamint megjeleníti őket a képernyőn. Az összes értesítést könnyen megtalálhatja az ujjának a képernyő tetejéről való lehúzásával."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Értesítések befagyasztása"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Az értesítések befagyasztásának használata"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Ha rövid időn belül sok értesítést kap, telefonja két percig csökkenti a hangerőt, és kis méretűre állítja a figyelmeztetéseket. A hívásokat, az ébresztéseket és a fontos beszélgetéseket nem érinti ez a beállítás. \n\nA befagyasztás ideje alatt kapott értesítések megtekintéséhez húzza lefelé az ujját a képernyő tetejéről."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Alkalmazás munkaprofilokra"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Alkalmazás a munkaprofil alkalmazásaira"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Virtuálisvalóság-segédszolgáltatás"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"„Ne zavarjanak” elérés"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"A Ne zavarjanak mód engedélyezése"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Egy telepített alkalmazás sem kért „Ne zavarjanak” elérést"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Hozzáférés a módokhoz"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"A módokhoz való hozzáférés engedélyezése"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Egyik telepített alkalmazás sem kért hozzáférést a módokhoz"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Nem engedélyezte az ettől az apptól származó értesítéseket"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Kérésére az Android letiltotta a jelen értesítési kategória megjelenését ezen az eszközön"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Kérésére az Android letiltotta az értesítések jelen csoportjának megjelenését ezen az eszközön"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Kategóriák"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Egyéb"</string>
     <string name="no_channels" msgid="4716199078612071915">"Ez az alkalmazás nem küldött semmilyen értesítést"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Nem használt kategóriák mutatása"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Az alkalmazás további beállításai"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Nem használt kategóriák mutatása"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Nem használt kategóriák elrejtése"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g>–<xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Beszélgetések"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Az összes beszélgetés"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"az összes beszélgetés"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Fontos beszélgetések"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"fontos beszélgetések"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Nincs"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Azok az alkalmazások, amelyeknél engedélyezve van a megszakítás"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Kiválasztott alkalmazások"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Nincs"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Összes"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Egy alkalmazás sem szakíthatja meg a „Ne zavarjanak” módot}=1{A következő megszakíthatja a „Ne zavarjanak” módot: {app_1}}=2{A következők megszakíthatják a „Ne zavarjanak” módot: {app_1} és {app_2}}=3{A következők megszakíthatják a „Ne zavarjanak” módot: {app_1}, {app_2} és {app_3}}other{A következők megszakíthatják a „Ne zavarjanak” módot: {app_1}, {app_2} és # egyéb}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (munkahely)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Számítás…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</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_header" msgid="60083006963906906">"Azok az alkalmazások, amelyeknél engedélyezve van a megszakítás"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"További alkalmazások kiválasztása"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Semmi sem szakíthatja meg a „Ne zavarjanak” módot"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Senki sem szakíthatja meg a „Ne zavarjanak” módot"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Néhány személy megszakíthatja a „Ne zavarjanak” módot"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"A többször hívó személyek számára engedélyezett a megzavarás"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Minden személy megszakíthatja a „Ne zavarjanak” módot"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Többször hívó személyek"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Többször hívó személyek engedélyezése"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Módosítás csak ébresztésekre egy órára, eddig: {time}}other{Módosítás csak ébresztésekre # órára, eddig: {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Váltás „Csak ébresztésekre” eddig: <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Módosítás a bármikor történő megszakításra"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Átnevezés"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Ikon megváltoztatása"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Ikon megváltoztatása"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Szerkesztési mód"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Mód létrehozása"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Egyéni mód"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Mód neve"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Naptáresemények"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Alvásidő rutin"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Vezetés közben"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Alkalmazásbeállítások"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Információk és beállítások a(z) <xliff:g id="APP_NAME">%1$s</xliff:g> appban"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Kezelő: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Tiltja a(z) <xliff:g id="MODE_NAME">%1$s</xliff:g> módot?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Ez a mód soha nem kapcsol be, ha tiltva van"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Kikapcsolás"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Engedélyezi ezt: <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Ez a mód automatikusan is bekapcsolhat a beállítások függvényében"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Bekapcsolás"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Állítson be olyan módot, amely rendszeres időbeosztást követ"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Állítson be egy módot a naptári eseményekkel való szinkronizáláshoz és a meghívók megválaszolásához"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Tervezzen nyugtató alvásrutint. Állítson be ébresztőket, vegye vissza a képernyő fényerejét, és kapcsolja ki az értesítéseket."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Helyezze előtérbe a biztonságot az úton, hogy a zavartalan vezetésre koncentrálhasson"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Zárja ki a zavaró vagy megszakító tényezőket az eszközről, hogy nyugodtan koncentrálhasson"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Szüntessen meg minden zavaró tényezőt a nyugodt környezet érdekében"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Szabja személyre az eszközélményt a különböző felhasználók számára"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Minimalizálja a megzavarás lehetőségét azáltal, hogy csak a fontos emberek és alkalmazások érhetik el Önt"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Állítson be olyan módot, amely rendszeres időbeosztást követ"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Tartsa szinkronban eszközét a napi eseményekkel"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Ébredjen fel 100%-os állapotban"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Legyen a biztonság az első vezetés közben"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Összpontosítson, hogy a teljes fókuszáltság állapotába kerüljön"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Olyan pillanatokra, amikor az udvariasság számít"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Irányított használat, hogy jó kezekben legyen"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Döntse el Ön, mire fordítja a figyelmét"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Figyelmeztetés"</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>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Bekapcsolva kell hagyni, mert az értesítési hozzáférés be van kapcsolva"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Visszavonja a(z) <xliff:g id="APP">%1$s</xliff:g> hozzáférését a „Ne zavarjanak” szabályhoz?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Az alkalmazás által létrehozott összes „Ne zavarjanak” szabály eltávolításra kerül."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Engedélyezi a(z) <xliff:g id="APP">%1$s</xliff:g> számára a módokhoz való hozzáférést?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Az alkalmazás be- és kikapcsolhatja a „Ne zavarjanak” funkciót, kezelheti és aktiválhatja a módokat, és módosíthatja a vonatkozó beállításokat."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"A jelen alkalmazás által létrehozott összes mód eltávolításra kerül."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Ne legyen optimalizálva"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimalizálás"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Az akkumulátor gyorsabban lemerülhet. Az alkalmazás számára többé nem lesz korlátozva a háttérben történő akkuhasználat."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Tok"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Akkumulátor"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Beállítások panel"</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_desktop_mode" msgid="5644818402534562302">"Szabad formájú ablakok engedélyezése"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Szabad formájú ablakok a másodlagos kijelzőn"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Nem átméretezhető appok engedélyezése többablakos nézetben"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Engedélyezi a nem átméretezhető alkalmazásokat a többablakos nézetben"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"A kényszerített sötétítés felülírása"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobiladatok"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Az eszközhasználati élmény javítása érdekében az alkalmazások és a szolgáltatások továbbra is bármikor kereshetnek Wi-Fi-hálózatokat, még akkor is, ha a Wi-Fi ki van kapcsolva. Ez például a helyalapú funkciók és szolgáltatások javítására használható. A funkciót a Wi-Fi-keresési beállítások között módosíthatja."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Módosítás"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> (<xliff:g id="NETWORKMODE">%2$s</xliff:g>)"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Csatlakozva"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Ideiglenesen csatlakoztatva"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Ideiglenes használatban: <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Alkalmazáskitűzés használata"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Fejlesztői beállítások használata"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Nyomtatási szolgáltatás használata"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Több felhasználó engedélyezése"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Felhasználóváltás engedélyezése"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"engedélyezés, több, felhasználó, engedély, sok"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"több, felhasználók, profilok, személyek, fiókok, kapcsoló, sok"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Vezeték nélküli hibakeresés használata"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"A következő csatlakozni szeretne ehhez a telefonhoz: <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>.\n\nÖn eddig még nem csatlakozott a(z) <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> eszközhöz."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Ne csatlakozzon"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Csatlakozás"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE-beállítások"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Be"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Ki"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Az alapértelmezett beállítások visszaállítása"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Alapbeállítások visszaállítva."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Maximális telítettségi egyenleg"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Egyenlegek"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Fogyasztásra vonatkozó korlátozások"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Kezdeti fogyasztásra vonatkozó korlátozás"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Minimális fogyasztásra vonatkozó korlátozás"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Maximális fogyasztásra vonatkozó korlátozás"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Módosítók"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Műveletek (gyártási ár)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Műveletek (alapár)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Egyetlen esemény után járó jutalmak"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Eseménymásodpercenkénti jutalom"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Jutalmak maximális száma naponta"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Alkalmazástelepítés"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Leggyakoribb tevékenység"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Megtekintett értesítés"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"15 percen belül megtekintett értesítés"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Értesítési interakció"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Modullal kapcsolatos interakció"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Egyéb felhasználói interakció"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Munka maximális prioritású indítása"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Munka maximális prioritású futtatása"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Munka kiemelt indítása"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Munka kiemelt futtatása"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Munka alapértelmezett indítása"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Munka alapértelmezett futtatása"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Munka alacsony prioritású indítása"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Munka alacsony prioritású futtatása"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Munka minimális prioritású indítása"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Munka minimális prioritású futtatása"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Munka időtúllépéséért járó büntetés"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Minimális telítettségi egyenleg (mentesítve)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Minimális telítettségi egyenleg (Headless rendszerű alkalmazás)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Minimális telítettségi egyenleg (többi alkalmazás)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Minimális töltöttségi egyenleghez hozzáadott érték (alkalmazásfrissítők)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Töltés"</item>
-    <item msgid="658627268149681677">"Kímélés"</item>
-    <item msgid="1599558140284643834">"Energiatakarékos mód"</item>
-    <item msgid="588427840913221601">"Folyamatállapot"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Megerősítés"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Előnézet"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Képernyőkímélő kiválasztása"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"További információk megjelenítése"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Kiválaszthatja, hogy mi legyen látható a képernyőn, amikor a táblagép dokkolt állapotban van. Előfordulhat, hogy az eszköz több energiát használ, ha a képernyőkímélő be van kapcsolva."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Szerkesztés"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> személyre szabása"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"A szabad formátumú támogatás engedélyezéséhez újraindításra van szükség."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Az asztali mód másodlagos kijelzőkön való kényszerítéséhez újraindításra van szükség."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"A szabad formátumú ablak támogatásának engedélyezéséhez újraindításra van szükség."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"A szabad formájú ablakok rendelkezésre állásának frissítéséhez újraindításra van szükség."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"A szabad formájú ablakok másodlagos kijelzőkön való engedélyezéséhez újraindításra van szükség."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Újraindítás most"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Újraindítás később"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Térbeli hangzás"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Rózsaszín"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Ibolyaszín"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Kész"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Mentés"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Mégse"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Alapértelmezett"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Közepes"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Be"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Ki"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Be"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Hang: %1$d%% a bal oldalon, %2$d%% a jobb oldalon"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Hang: %1$d%% a jobb oldalon, %2$d%% a bal oldalon"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Eszköze neve látható a telepített alkalmazások számára. Mások is láthatják, ha csatlakoztatja telefonját más Bluetooth-eszközökhöz, Wi-Fi-hálózathoz, vagy ha Wi-Fi-hotspotot állít be."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Nyelvtani nem"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Nyelvtani nem kiválasztása"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Hangmegosztás leállítva"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Kompatibilis eszköz csatlakoztatása"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"A hang megosztásának megkezdéséhez először csatlakoztasson egy Alacsony energiaszintű hangátvitelt támogató fejhallgatót a telefonjához"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Váltás erre: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Csatlakozás alacsony energiaszintű hangátvitelt használó streamhez"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Közeli audiostreamek"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Audiostreamek"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Stream hallgatása"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Olvassa be az audiostream QR-kódját a(z) <xliff:g id="DEVICE_NAME">%1$s</xliff:g> eszközön való hallgatáshoz"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Megosztás közben a jelszó nem módosítható. Ha módosítani kívánja a jelszót, először kapcsolja ki a hang megosztását."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR-kód-szkennelő"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Segítségre van szüksége?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Keresési beállítások"</string>
 </resources>
diff --git a/res/values-hy/arrays.xml b/res/values-hy/arrays.xml
index 13aa275..b64125d 100644
--- a/res/values-hy/arrays.xml
+++ b/res/values-hy/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Քնելու ժամը"</item>
-    <item msgid="4152450357280759894">"Մեքենայով"</item>
-    <item msgid="7096549258219399423">"Ներկայության էֆեկտով"</item>
-    <item msgid="2760716776980432977">"Կառավարվող"</item>
-    <item msgid="601734478369121764">"Աստղ"</item>
-    <item msgid="6243809315432780521">"Օրացույց"</item>
-    <item msgid="4913577903148415331">"Ժամ"</item>
-    <item msgid="3653377604690057780">"Թատրոն"</item>
-    <item msgid="3843711267408385410">"Ծաղիկ"</item>
+    <item msgid="1216815120972438676">"Թղթապանակ"</item>
+    <item msgid="184985872234062767">"Դասական շենք"</item>
+    <item msgid="9189550412466785530">"Բազմաբնակարան շենք"</item>
+    <item msgid="2142527562511049422">"Խոսքի պղպջակ"</item>
+    <item msgid="2548100558260478605">"Մարդկանց խումբ"</item>
+    <item msgid="2270003903304578284">"էլեկտրական լամպ"</item>
+    <item msgid="4793496619091161864">"Օրացույց"</item>
+    <item msgid="5673625795644364100">"Չանհանգստացնել"</item>
+    <item msgid="1423820834865831361">"Վազող մարդ"</item>
+    <item msgid="2037298830718732608">"Գոլֆ"</item>
+    <item msgid="2197835014443491074">"Հանտել"</item>
+    <item msgid="2730180105015616518">"Լող"</item>
+    <item msgid="2666922823253345958">"Քայլարշավի մասնակցող մարդ"</item>
+    <item msgid="8234880356472211396">"Գնդակ նետող մարդ"</item>
+    <item msgid="4642980625253001443">"Ոտքով հարվածող մարդ"</item>
+    <item msgid="4324795269518833500">"Խաղային բարձակ"</item>
+    <item msgid="7789966425125441125">"Նկարչական գունապնակ"</item>
+    <item msgid="663512680597461570">"Ձյան փաթիլ"</item>
+    <item msgid="7952183800501346803">"Լողափի հովանոց"</item>
+    <item msgid="799139025758265891">"Արհեստանոցի գործիքներ"</item>
+    <item msgid="1330084588359129896">"Վրան"</item>
+    <item msgid="3861584909935022342">"Ֆիլմի սյուժե"</item>
+    <item msgid="5827426100157335512">"Գիրք"</item>
+    <item msgid="8585828346253128384">"Լոտոսի ծաղիկ"</item>
+    <item msgid="8788370542815300188">"Մարդու միտքը"</item>
+    <item msgid="7287354964767553293">"Ականջակալներ"</item>
+    <item msgid="2530059623783800987">"Հեռուստացույց"</item>
+    <item msgid="5307182323469376758">"Գնացք"</item>
+    <item msgid="4903790544026923026">"Ավտոմեքենա"</item>
+    <item msgid="5010405583912314582">"Դանակ և պատառաքաղ"</item>
+    <item msgid="8939998598599064900">"Գնումների զամբյուղ"</item>
+    <item msgid="3379605903308731893">"Երեխա"</item>
+    <item msgid="7808668968550293112">"Կենդանու թաթ"</item>
+    <item msgid="1000692647524056504">"Աստղանիշի նշանակ"</item>
+    <item msgid="8270261073421676502">"Երկու մարդ"</item>
+    <item msgid="5767782819651505460">"Աստղ"</item>
+    <item msgid="4368451291862729334">"Սիրտ"</item>
+    <item msgid="2613199102208419986">"Տուն"</item>
+    <item msgid="3022279986430275040">"Կիսալուսին"</item>
+    <item msgid="5421089790869483206">"Ժամացույց"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 0637d3f..a446039 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Անջատված"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Անհայտ"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Նախադիտում"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR կոդ"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Փոքրացնել"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Մեծացնել"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"Միշտ"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Լսողական սարքի կարգավորումներ"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Դյուրանցում, լսողական սարքի համատեղելիություն"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Կարգավորումների հավաքածու"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Մասնագետի կողմից կազմված կարգավորումների հավաքածուներ չկան"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Չհաջողվեց թարմացնել կարգավորումների հավաքածուն"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Աուդիո ելք"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Աուդիո ելքի մասին"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Լեզվի ընտրությունն այս հավելվածի համար հասանելի չէ Կարգավորումներում։"</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Լեզուն կարող է հավելվածում հասանելի լեզուների ցանկում չլինել։ Որոշ հավելվածներ կարող են չաջակցել այս կարգավորումը։"</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Լեզու ընտրեք յուրաքանչյուր հավելվածի համար։"</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Ձեր համակարգը, հավելվածները և կայքերն օգտագործում են ձեր նախընտրած լեզուներից առաջին աջակցվող լեզուն։"</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Ձեր սարքը, հավելվածները և կայքերն օգտագործում են ձեր նախընտրած լեզուների ցանկից առաջին աջակցվող լեզուն։\n\nՇատ հավելվածներ նաև կօգտագործեն ձեր նախընտրած լեզվի տարածաշրջանը՝ ամսաթվերի և թվերի համապատասխան ձևաչափը, ինչպես նաև չափման միավորներն ընտրելու համար։ Ձեր տարածաշրջանը փոխելու համար ավելացրեք լեզուն, ապա ընտրեք ձեր նախընտրած տարածաշրջանը։"</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Անցեք հավելվածի լեզուների կարգավորումներ՝ ընտրելու լեզու յուրաքանչյուր հավելվածի համար։"</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Իմանալ ավելին հավելվածների լեզուների մասին"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Դարձնե՞լ համակարգի լեզուն %s"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Անջատված է"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Միացված է / Տեղադրության տվյալները հասանելի են # հավելվածի}one{Միացված է / Տեղադրության տվյալները հասանելի են # հավելվածի}other{Միացված է / Տեղադրության տվյալները հասանելի են # հավելվածի}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Բեռնում…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Հավելվածները, որոնց հասանելի են մոտակա սարքերը, կարող են որոշել միացված սարքերի հարաբերական դիրքավորումը։"</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Հավելվածները, որոնց հասանելի են մոտակա սարքերը, կարող են որոշել միացված սարքերի հարաբերական դիրքավորումը։"</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Տեղադրության տվյալների օգտագործման թույլտվությունն անջատված է հավելվածների և ծառայությունների համար։ Ձեր սարքի տեղադրության տվյալները կարող են ուղարկվել փրկարար ծառայություններին, եթե դուք զանգեք կամ հաղորդագրություն գրեք արտակարգ իրավիճակների հեռախոսահամարով։"</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Իմանալ ավելին տեղադրության կարգավորումների մասին"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Փոխելու համար անցեք ChromeOS-ի կարգավորումներ &gt; Գաղտնիություն և անվտանգություն &gt; Գաղտնիության կարգավորումներ &gt; Տեղորոշման թույլտվություն"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Դեմքով և ժամացույցով (<xliff:g id="WATCH">%s</xliff:g>) ապակողպումը կարգավորված է"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Դեմքով, մատնահետքով և ժամացույցով (<xliff:g id="WATCH">%s</xliff:g>) ապակողպումը կարգավորված է"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Դեմքով, մատնահետքերով և ժամացույցով (<xliff:g id="WATCH">%s</xliff:g>) ապակողպումը կարգավորված է"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Ինքնության ստուգումը միացված է։ Դրա համար պահանջվում են կենսաչափական տվյալներ։"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Authenticator-ով հեռակա ապակողպում"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Ժամացույցն ավելացված է"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Կարգավորեք ձեր ժամացույցը"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Իմանալ ավելին ժամացույցով ապակողպման մասին"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Ավելացնել ժամացույց"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Հեռացնել ժամացույցը"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Մատնահետքով և դեմքով ապակողպում"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Դեմքով և մատնահետքով ապա­կողպում"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Դեմքով և մատնահետքով ապակողպում աշխատանքի համար"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Պահանջվում է կարգավորում"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Դեմքի և մատնահետքի նմուշներն ավելացվեցին"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Մասնավոր տարածքի կարգավորում…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Չհաջողվեց մասնավոր տարածք կարգավորել"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Նորից փորձել"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Ելք"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Մասնավոր տարածքն անհասանելի է։\nԴիտեք հնարավոր հետևանքները"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Դիտեք հնարավոր հետևանքները"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Ընտրե՞լ նոր կողպում մասնավոր տարածքի համար"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Դուք կարող եք կողպման նոր եղանակ սահմանել անմիջապես ձեր մասնավոր տարածքի համար կամ օգտագործել կողպման նույն եղանակը, որով ապակողպում եք ձեր սարքը"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Օգտագործել էկրանի կողպումը"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Երբ Bluetooth-ը միացված է, ձեր սարքը կարող է հաղորդակցվել մոտակայքում գտնվող Bluetooth սարքերի հետ։\n\nՍարքի աշխատանքը բարելավելու նպատակով հավելվածներն ու ծառայությունները կորոնեն մոտակայքում գտնվող սարքեր, նույնիսկ երբ Bluetooth-ն անջատված է։ Դա կարելի է օգտագործել, օրինակ, տեղադրության տվյալների վրա հիմնված գործառույթների և ծառայությունների աշխատանքը բարելավելու համար։ Այս պարամետրը կարող եք փոխել Bluetooth-ի որոնման կարգավորումներում։"</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Երբ Bluetooth-ը միացված է, ձեր սարքը կարող է հաղորդակցվել մոտակայքում գտնվող Bluetooth սարքերի հետ: Bluetooth-ն օգտագործում են, օրինակ, Quick Share և «Գտնել իմ սարքը» գործառույթները։\n\nՀավելվածներն ու ծառայությունները կարող են մոտակայքում սարքեր որոնել, նույնիսկ երբ Bluetooth-ն անջատված է։ Դա կարող է օգտագործվել, օրինակ, տեղադրության տվյալների վրա հիմնված գործառույթների և ծառայությունների աշխատանքը բարելավելու համար։ Այս պարամետրը ցանկացած ժամանակ կարող եք փոխել Bluetooth սարքերի որոնման կարգավորումներում։"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Փոխել"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Սարքի տվյալներ"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Ստեղնաշարի կարգավորումներ"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Այլ կարգավորումներ"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Ներկառուցված ծրագրի թարմացումներ, տվյալներ և այլն"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Խորհուրդներ և օգնություն"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Սարքի Bluetooth հասցեն՝ <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Սարքի Bluetooth հասցեն՝\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Մոռանա՞լ սարքը"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Փորձնական։ Բարելավում է ձայնի որակը։"</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Մոռանալ սարքը"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Անջատել"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Այլ կարգավորումներ"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Թույլատրելի առավելագույն թվով միացված Bluetooth աուդիո սարքեր"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Նշեք միացված Bluetooth աուդիո սարքերի թույլատրելի առավելագույն թիվը"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC-ի վրիպազերծման մանրամասն մատյան"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Վերագործարկե՞լ սարքը"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"NFC-ի միջոցով մանրամասն մատյանի վարումը նախատեսված է ոչ միայն ծրագրավորման նպատակներով։ NFC-ի լրացուցիչ տվյալները ավելացվում են նաև վրիպակների մասին զեկույցներում, որոնք կարող են անձնական տեղեկություններ պարունակել։ Այս կարգավորումը փոխելու համար վերագործարկեք ձեր սարքը։"</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Վերագործարկել"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Միացված է"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Անջատված է"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Արտաքին էկրան"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Արտաքին էկրանի օգտագործում"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Էկրանի լուծաչափ"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Արտաքին էկրանն անջատված է"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Պտտում"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Ստանդարտ"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Եթե փոխեք էկրանի դիրքը կամ լուծաչափը, գործարկված հավելվածները կարող են փակվել"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Էկրանը հայելապատճենելու համար ձեր սարքը պետք է միացված լինի արտաքին էկրանի"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Այլ ընտրանքներ"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Հեռարձակում"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"հայելապատճենում"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Միացնել անլար էկրանը"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Հարմարվող"</string>
     <string name="brightness" msgid="6216871641021779698">"Պայծառության մակարդակ"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Հարմարվող պայծառություն"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Հարմարվող պայծառության մասին"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Էկրանի պայծառությունն ավտոմատ կկարգավորվի՝ կախված միջավայրի պայմաններից և ձեր գործողություններից։ Դուք կարող եք տեղաշարժել սահիչը՝ թույլ տալով հարմարվող պայծառությանը հիշել ձեր կարգավորումները։"</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Միացված է"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Անջատված է"</string>
@@ -1311,8 +1344,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="8850185380445309835">"Թարմացնե՞լ նախընտրած SIM քարտը"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"Ձեր սարքում միակ SIM քարտը <xliff:g id="NEW_SIM">%1$s</xliff:g> է: Ցանկանո՞ւմ եք օգտագործել այս SIM-ը բջջային ինտերնետի, զանգերի և SMS հաղորդագրությունների համար:"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> քարտն այժմ ձեր հիմնական SIM քարտն է"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Բարելավե՞լ բջջային կապը"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Թույլատրեք սարքին ավտոմատ կերպով միանալ <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g>-ի բջջային ինտերնետին, երբ դրա կապն ավելի ուժեղ է։"</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Զանգերի, հաղորդագրությունների և ցանցի թրաֆիկի մասին տեղեկությունները կարող են հասանելի լինել ձեր կազմակերպությանը։"</string>
@@ -1382,9 +1414,9 @@
     <string name="storage_menu_migrate" msgid="2196088149560070193">"Տեղափոխել տվյալները"</string>
     <string name="storage_menu_forget" msgid="5154017890033638936">"Հեռացնել"</string>
     <string name="storage_menu_set_up" msgid="4401074025612064744">"Կարգավորել"</string>
-    <string name="storage_menu_free" msgid="616100170298501673">"Տարածք ազատել"</string>
+    <string name="storage_menu_free" msgid="616100170298501673">"Ազատել տարածք"</string>
     <string name="storage_menu_manage" msgid="7465522758801346408">"Կառավարել հիշողությունը"</string>
-    <string name="storage_free_up_space_title" msgid="281047807372131975">"Տարածք ազատել"</string>
+    <string name="storage_free_up_space_title" msgid="281047807372131975">"Ազատել տարածք"</string>
     <string name="storage_free_up_space_summary" msgid="6650027929735481350">"Անցեք Files հավելված՝ տեղ ազատելու և տարածքը կառավարելու համար"</string>
     <string name="storage_other_users" msgid="7017206190449510992">"Այլ օգտատերեր"</string>
     <string name="storage_size_large" msgid="1155308277890194878">"<xliff:g id="NUMBER">^1</xliff:g>"<small><small>" <xliff:g id="UNIT">^2</xliff:g>"</small></small>""</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Տարբերակներ"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Հատուկ գործառույթներ"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Ֆիզիկական ստեղնաշար"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Օգտագործել էկրանի ստեղնաշարը"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Պահել էկրանին, երբ ֆիզիկական ստեղնաշարն ակտիվ է"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Կրկնակի սեղմման անտեսում"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Ստեղնաշարը անտեսում է միևնույն ստեղնի արագ սեղմումները, որոնք կրկնվում են <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> մվ-ի ընթացքում"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Դանդաղ ստեղներ"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Կարգավորում է ժամանակի տևողությունը, որից հետո ստեղնը արձագանքում է սեղմմանը՝ <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> մվ"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Կպչուն ստեղներ"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Դյուրանցումների համար միաժամանակ սեղմեք մեկ ստեղն, այլ ոչ թե միասին սեղմած պահեք մի քանիսը"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Մկնիկի ստեղներ"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Կառավարեք մկնիկը ֆիզիկական ստեղնաշարի միջոցով։"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Ստեղնային դյուրանցումներ"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Ցույց տալ ստեղնաշարի դյուրանցումների ցանկը"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Աշխատանքային պրոֆիլի ստեղնաշարեր և գործիքներ"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Կարգավորեք հպահարթակի նավիգացիայի ձեր սեփական ժեստերը"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Հետադարձ ոլորում"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Ներքև ոլորելու դեպքում բովանդակությունը տեղափոխվում է վերև"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Հպում ներքևի աջ անկյունին"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Այլ տարբերակների համար հպեք հպահարթակի ներքևի աջ անկյունին"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Սեղմում ներքևի անկյունին"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Այլ տարբերակների համար սեղմեք հպահարթակի ներքևի աջ անկյունին"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Նշորդի արագությունը"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Ցուցիչի լցման ոճը"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Ցուցիչի լցման ոճը դարձնել սև"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Ցուցիչի լցման ոճը դարձնել դեղին"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Ցուցիչի լցման ոճը դարձնել վարդագույն"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Ցուցիչի լցման ոճը դարձնել կապույտ"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Նշորդի ոճը"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Սպիտակ"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Սև"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Ընտրված չէ"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Սովորել հպահարթակի ժեստերը"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"հպահարթակ, մկնիկ, նշորդ, ոլորել, թերթել, աջ սեղմել, սեղմում, ցուցիչ"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"սեղմել մկնիկի աջ կոճակը, հպել"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Վերականգնել"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Ընտրեք կերպափոխիչ ստեղնը"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Ընտրել նոր ստեղն <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> ստեղնի փոխարեն՝"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> դասավորություն"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Կանխադրված"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Ավտոմատ՝ <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Օգտատիրոջ ընտրած՝ <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Խոսք"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Նշորդի արագությունը"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Մկնիկի ցուցիչի չափսը"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Փոքրացնել մկնիկի ցուցիչի չափսը"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Մեծացնել մկնիկի ցուցիչի չափսը"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Խաղերի կարգավորիչ"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Թրթռոցի վերաուղղորդում"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Ուղարկել թրթռոցը խաղի կարգավորիչին, եթե վերջինս միացված է"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Շարունակել"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Չեղարկել"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Խոշորացման կարգավորումներ"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Մեկ մատով տեղաշարժ"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Տեղաշարժեք խոշորացույցը 1 մատով"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Քաշեք մեկ մատով՝ էկրանին տեղաշարժվելու համար"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Տեղափոխեք խոշորացման ընդգրկույթը՝ մեկ մատով քաշելով։"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Տեղափոխեք խոշորացման ընդգրկույթը՝ երկու մատով քաշելով։"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Հասանելի չէ, երբ միայն էկրանի մի մասն է խոշորացվում"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Հպել որևէ կոճակի՝ մեծացնելու համար"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Արագ խոշորացրեք էկրանը՝ բովանդակությունն ավելի պարզ տեսնելու համար"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Խոշորացնելու համար՝&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Օգտագործեք դյուրանցումը&lt;br/&gt; {1,number,integer}. Հպեք էկրանին&lt;br/&gt; {2,number,integer}. Քաշեք երկու մատով՝ էկրանի վրա տեղաշարժվելու համար&lt;br/&gt; {3,number,integer}. Շարժեք երկու մատը՝ խոշորացումը կարգավորելու համար&lt;br/&gt; {4,number,integer}. Դյուրանցման միջոցով դադարեցրեք խոշորացումը&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Ժամանակավորապես խոշորացնելու համար՝&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Համոզվեք, որ խոշորացման համար նշված է լիաէկրան ռեժիմը&lt;br/&gt; {1,number,integer}. Օգտագործեք դյուրանցումը&lt;br/&gt; {2,number,integer}. Հպեք էկրանի որևէ մասի և պահեք&lt;br/&gt; {3,number,integer}. Քաշեք մատով՝ էկրանի վրա տեղաշարժվելու համար&lt;br/&gt; {4,number,integer}. Հեռացրեք մատը էկրանից՝ խոշորացումը դադարեցնելու համար"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Մեծացնելու համար՝&lt;/b&gt;&lt;br/&gt; {0,number,integer}․ Օգտագործեք դյուրանցումը՝ խոշորացումը սկսելու համար&lt;br/&gt; {1,number,integer}. Հպեք էկրանին&lt;br/&gt; {2,number,integer}. Քաշեք երկու մատով՝ էկրանի վրա տեղաշարժվելու համար&lt;br/&gt; {3,number,integer}. Շարժեք երկու մատը՝ խոշորացումը կարգավորելու համար&lt;br/&gt; {4,number,integer}. Օգտագործեք դյուրանցումը՝ խոշորացումը կանգնեցնելու համար&lt;br/&gt;&lt;br/&gt; Կարող եք նաև ժամանակավորապես մեծացնել և այլ գործողություններ կատարել։"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Մեծացնելու համար՝&lt;/b&gt;&lt;br/&gt; {0,number,integer}․ Օգտագործեք դյուրանցումը՝ խոշորացումը սկսելու համար&lt;br/&gt; {1,number,integer}. Հպեք էկրանին&lt;br/&gt; {2,number,integer}. Քաշեք մեկ կամ երկու մատով՝ էկրանի վրա տեղաշարժվելու համար&lt;br/&gt; {3,number,integer}. Շարժեք երկու մատը՝ խոշորացումը կարգավորելու համար&lt;br/&gt; {4,number,integer}. Օգտագործեք դյուրանցումը՝ խոշորացումը կանգնեցնելու համար&lt;br/&gt;&lt;br/&gt; Կարող եք նաև ժամանակավորապես մեծացնել և այլ գործողություններ կատարել։"</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_pager" msgid="8461939455728454061">"Էջ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"«Հատուկ գործառույթներ» կոճակի դյուրանցում"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Հպեք լողացող կոճակին"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Հատուկ գործառույթների ժեստ"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Էկրանի ներքևում հպեք «Հատուկ գործառույթներ» <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> կոճակին։ Մի գործառույթից մյուսին անցնելու համար հպեք «Հատուկ գործառույթներ» կոճակին և պահեք։"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Երկու մատով սահեցրեք էկրանի ներքևից վերև։\n\nՄի գործառույթից մյուսին անցնելու համար երկու մատը սահեցրեք վերև և պահեք։"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Երեք մատով սահեցրեք էկրանի ներքևից վերև։\n\nՄի գործառույթից մյուսին անցնելու համար երեք մատը սահեցրեք վերև և պահեք։"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Մատը սահեցրեք էկրանի ներքևից վերև։ Մեկ գործառույթից մյուսին անցնելու համար սահեցրեք վերև և պահեք։}one{Էկրանի ներքևից # մատը սահեցրեք վերև։ Մեկ գործառույթից մյուսին անցնելու համար # մատը սահեցրեք վերև և պահեք։}other{Էկրանի ներքևից # մատը սահեցրեք վերև։ Մեկ գործառույթից մյուսին անցնելու համար # մատը սահեցրեք վերև և պահեք։}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Այլ ընտրանքներ"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Իմանալ ավելին «<xliff:g id="SERVICE">%1$s</xliff:g>» ծառայության մասին"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Ձայնի ուժգնության կոճակներ"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"ձայնի ուժգնության կոճակներ"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Սեղմեք և պահեք ձայնի ուժգնության երկու կոճակները"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Երկու մատով կրկնակի հպում էկրանին"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d մատով կրկնակի հպում"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Երկու անգամ %1$d մատով արագ հպեք էկրանին"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Եռակի հպում"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"%1$d անգամ արագ հպեք էկրանին։ Սա կարող է դանդաղեցնել սարքի աշխատանքը։"</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d մատով կրկնակի հպում"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Երկու մատով {0,number,integer} անգամ արագ հպեք էկրանին"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Եռակի հպեք էկրանին"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"եռակի հպում"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Արագ հպեք էկրանին {0,number,integer} անգամ։ Այս դյուրանցումը կարող է դանդաղեցնել սարքի աշխատանքը։"</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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Դյուրանցման կարգավորումներ"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Դյուրանցում կողպէկրանից"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Թույլ է տալիս միացնել գործառույթը կողպէկրանից։ Մի քանի վայրկյան սեղմած պահեք ձայնի ուժգնության երկու կոճակները։"</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"«Հատուկ գործառույթներ» կոճակ"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"«Հատուկ գործառույթներ» կոճակ և ժեստ"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Այս ծառայությունը նորմալ չի աշխատում:"</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Հատուկ գործառույթների դյուրանցումներ"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Ցույց տալ Արագ կարգավորումներում"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Կարմիր-կանաչ"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Կարմիր-կանաչ"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Կարմիր և կանաչ, կանաչի թույլ ընկալում"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Կարմիր և կանաչ, կարմիրի թույլ ընկալում"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Կապույտ-դեղին"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Մոխրագույնի երանգներ"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Ինտենսիվություն"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Դեյտերանոմալիա"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Պրոտանոմալիա"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Հասանելի չէ մոխրագույնի երանգների ռեժիմի համար, կամ երբ գունաշտկումն անջատված է"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Հավելյալ խամրեցում"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Էկրանի հավելյալ խամրեցում"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Երկնագույն"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Դեղին"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Մանուշակագույն"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Թույլատրե՞լ «<xliff:g id="SERVICE">%1$s</xliff:g>» ծառայությանը կառավարել ձեր սարքը"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g>-ին անհրաժեշտ է`"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Քանի որ ներածումն արգելափակված է ինչ-որ հավելվածի կողմից, Կարգավորումները չեն կարող հաստատել ձեր պատասխանը:"</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> ծառայությունը այս սարքն ամբողջությամբ վերահսկելու թույլտվություն է ուզում: Ծառայությունը կարող է կարդալ էկրանի տվյալները և գործել այն օգտատերերի անունից, որոնց հատուկ գործառույթներ են անհրաժեշտ: Հասանելիության այս մակարդակը նախատեսված չէ հավելվածների մեծամասնության համար:"</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Ամբողջական վերահսկումն անհրաժեշտ է միայն այն հավելվածներին, որոնք օգնում են ձեզ հատուկ գործառույթներից օգտվելիս։"</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Դիտել և կառավարել էկրանը"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Կարող է կարդալ էկրանի ողջ բովանդակությունը և ցուցադրել բովանդակություն այլ հավելվածների վրայից։"</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Դիտել և կատարել գործողությունները"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Կարող է հետագծել ձեր գործողությունները հավելվածներում և սարքակազմի սենսորների վրա, ինչպես նաև հավելվածներում կատարել գործողություններ ձեր անունից։"</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Թույլատրել"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Մերժել"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Անջատել"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Միացված է/<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> և <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Դուք կարող եք նաև միացնել տարածական հնչողությունը Bluetooth սարքերի համար։"</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Կապված սարքերի կարգավորումներ"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Տարածական հնչողութ․"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Անջատված է"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Անջատված է"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Անջատված է"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Ոչ մի ժամանակացույց}=1{Սահմանված է 1 ժամանակացույց}one{Սահմանված է # ժամանակացույց}other{Սահմանված է # ժամանակացույց}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Չանհանգստացնել"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Կարևոր ռեժիմներ"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Ավելացնել ռեժիմ"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Ռեժիմներ"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Կարգավորեք քնի, աշխատանքի, մեքենա վարելու և այլ հատուկ ռեժիմներ, որպեսզի հեռախոսը հնարավորինս քիչ խանգարի ձեզ սահմանված ժամերին"</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Ստեղծեք ձեր սեփական ռեժիմը"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Ծանուցում ստանալ միայն կարևոր մարդկանցից և հավելվածներից"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Ստեղծել ժամանակացույց"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Ժամանակացույցի հիմքը"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Օրը և ժամը"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"«9:00 – 17:00, աշխատանքային օրեր»"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Օրացույցի միջոցառումներ"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{«{mode_1}» ռեժիմն ակտիվ է}=2{«{mode_1}» և «{mode_2}» ռեժիմներն ակտիվ են}=3{«{mode_1}», «{mode_2}» և «{mode_3}» ռեժիմներն ակտիվ են}one{«{mode_1}» և «{mode_2}» ռեժիմներն ու ևս #-ը ակտիվ են}other{«{mode_1}» և «{mode_2}» ռեժիմներն ու ևս #-ը ակտիվ են}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 ռեժիմ կարող է ավտոմատ միանալ}one{# ռեժիմ կարող է ավտոմատ միանալ}other{# ռեժիմ կարող է ավտոմատ միանալ}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ՄԻԱՑՎԱԾ Է"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Կարգավորված չէ"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Անջատված է"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Ստեղծեք ռեժիմ"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Հատուկ"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Միացնել"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Անջատել"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Ռեժիմը չի գտնվել"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ընդհատումների սահմանափակում"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Արգելափակել ընդհատումներն ու շեղումները"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Կարգավորել «<xliff:g id="MODE">%1$s</xliff:g>» ռեժիմը"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Միացրեք «Չանհանգստացնել» ռեժիմը"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Զարթուցիչներն ու մեդիայի ձայները"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Ժամանակացույցներ"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Ժամանակացույցների ջնջում"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Ջնջել"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Վերանվանել"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Ջնջել"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Ջնջե՞լ «<xliff:g id="MODE">%1$s</xliff:g>» ռեժիմը"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Փոփոխել"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Ժամանակա­ցույցներ"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Ժամանակացույց"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Ավտոմատ միացնել"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Ավելացնել օրացույց"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Օգտագործել իմ օրացույցը"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Ժամանակացույց"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Սահմանեք ժամանակացույց"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Երբ ավտոմատ միացնել"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Միջոցառման ժամանակացույց"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Միացնել միջոցառումների ժամանակ"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Որտեղ հրավերի պատասխանն է"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Ժամանակացույցն ըստ ժամանակի"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Ժամանակացույց"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ժ <xliff:g id="MINUTES">%2$d</xliff:g> ր"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Ժամանակացույց"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Թույլատրել ձայնային ազդանշանները"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Ծանուցումներ, որոնք միևնույն է կստանաք"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Լրացուցիչ գործողություններ"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Ծանուցումների զտիչներ"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Այլ կարգավորումներ"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Անջատված է}=1{Անջատված է / 1 ռեժիմ կարող է ավտոմատ միանալ}one{Անջատված է / # ռեժիմ կարող է ավտոմատ միանալ}other{Անջատված է / # ռեժիմ կարող է ավտոմատ միանալ}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Ցուցադրման կարգավորումներ"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Ցուցադրման տարբերակներ"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Մոխրագույնի երանգներ"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"միացնել մուգ թեման"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Օպերացիոն համակարգն ու հավելվածները դարձրեք բաց տեքստով՝ մուգ ֆոնի վրա։ Դա կարող է աչքերին ավելի հաճելի լինել և նշանակալի կերպով տնտեսել մարտկոցի լիցքը որոշ սարքերում"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Առանց փոփոխությունների}=1{{effect_1}}=2{{effect_1} և {effect_2}}=3{{effect_1}, {effect_2} և {effect_3}}one{{effect_1}, {effect_2} ու ևս #-ը}other{{effect_1}, {effect_2} ու ևս #-ը}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Թույլատրել բոլոր ծանուցումները"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Մարդիկ, հավելվածներն ու ձայները կարող են ընդհատել"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Զտվող ծանուցումների ցուցադրման տարբերակներ"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Երբ «Չանհանգստացնել» ռեժիմը միացված է"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Անջատել ծանուցումների ձայնը"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"բացել ծանուցումը"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Թույլատրել ծանուցումների հետաձգումը"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Ծանուցման կետիկ հավելվածի պատկերակի վրա"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Ծանուցումների փաթեթներ"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Ամպիկներ"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Ամպիկներ"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Ցույց տալ այս զրույցն ամպիկներում"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Այն կարող է պատասխանել հաղորդագրություններին և ակտիվացնել ծանուցումներում առկա կոճակները, այդ թվում՝ հետաձգել կամ փակել ծանուցումները և պատասխանել հեռախոսազանգերին։"</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Փոխել կարգավորումները"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Այն կարող է միացնել կամ անջատել «Չանհանգստացնել» ռեժիմը և փոփոխել առնչվող կարգավորումները։"</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Այն կարող է կառավարել և ակտիվացնել ռեժիմները և փոփոխել առնչվող կարգավորումները։"</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_modes_warning_summary" msgid="7528432011433844158">"Եթե անջատեք ծանուցումները <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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Իրական ժամանակում"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Այս հավելվածում ընդլայնված կարգավորումները չեն աջակցվում"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Լրացուցիչ կարգավորումներ"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Լրացուցիչ կարգավորումները հասանելի են հավելվածում"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Հարմարվող ծանուցումներ"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Օգտագործել հարմարվող ծանուցումները"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Եթե կարճ ժամանակահատվածում շատ ծանուցումներ ստանաք, ձեր հեռախոսը երկու րոպեով կիջեցնի ձայնը և կնվազեցնի ելնող ծանուցումների քանակը։ Սա չի վերաբերում զանգերին, զարթուցիչներին և կարևոր զրույցներին։ Բոլոր ծանուցումները տեսնելու համար պարզապես սահեցրեք մատը էկրանի վերևից ներքև։"</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Ծանուցումների ձայնի նվազեցում"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Օգտագործել ծանուցումների ձայնի իջեցումը"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Եթե կարճ ժամանակահատվածում շատ ծանուցումներ ստանաք, ձեր սարքը երկու րոպեով կիջեցնի ձայնը և կնվազեցնի ծանուցումների քանակը։ Դա չի ազդի զանգերի, զարթուցիչների և կարևոր զրույցների վրա։ \n\nԾանուցումների ձայնի իջեցման ռեժիմում ստացված ծանուցումները կարելի է գտնել՝ էկրանի վերևի եզրից սահեցնելով ներքև։"</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Կիրառել աշխատանքային պրոֆիլների համար"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Կիրառել աշխատանքային պրոֆիլի հավելվածների նկատմամբ"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR օգնության ծառայություններ"</string>
@@ -3650,6 +3717,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Ռեժիմների հասանելիություն"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Հասանելի դարձնել ռեժիմները"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Տեղադրված հավելվածներից ոչ մեկը ռեժիմների հասանելիություն չի հայցել"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Դուք չեք թույլատրել ծանուցումներ այս հավելվածից"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Դուք անջատել եք ծանուցումների այս կատեգորիան"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Դուք անջատել եք ծանուցումների այս խումբը"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Կատեգորիաներ"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Այլ"</string>
     <string name="no_channels" msgid="4716199078612071915">"Այս հավելվածը ծանուցումներ չի փակցրել"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Ցույց տալ չկիրառվող կատեգորիաները"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Հավելվածի լրացուցիչ կարգավորումները"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Ցույց տալ չկիրառվող կատեգորիաները"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Թաքցնել չկիրառվող կատեգորիաները"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Զրույցներ"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Բոլոր զրույցները"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"բոլոր զրույցները"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Կարևոր զրույցները"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"կարևոր զրույցներ"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Ոչ մեկը"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Հավելվածներ, որոնք կարող են ընդհատել"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Ընտրված հավելվածները"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Ոչ մեկը"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Բոլորը"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Ոչ մի հավելված չի կարող ընդհատել}=1{{app_1} հավելվածը կարող է ընդհատել}=2{{app_1} և {app_2} հավելվածները կարող են ընդհատել}=3{{app_1}, {app_2} և {app_3} հավելվածները կարող են ընդհատել}one{{app_1} և {app_2} հավելվածներն ու ևս # հավելված կարող են ընդհատել}other{{app_1} և {app_2} հավելվածներն ու ևս # հավելված կարող են ընդհատել}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (աշխատանքային)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Հաշվարկում…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Թույլատրել հավելվածներին փոխել «Չանհանգստացնել» ռեժիմի կարգավորումները"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Հավելվածներ, որոնք կարող են ընդհատել"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Ընտրեք այլ հավելվածներ"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Ոչինչ չի կարող ընդհատել"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Ոչ ոք չի կարող ընդհատել"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Որոշ մարդիկ"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Կրկնվող զանգերի գործառույթը կարող է ընդհատվել"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Բոլոր մարդիկ"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Կրկնվող զանգեր"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Թույլատրել կրկնվող զանգեր"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Ակտիվացնել «Միայն զարթուցիչը» ռեժիմը մեկ ժամով մինչև {time}}one{Ակտիվացնել «Միայն զարթուցիչը» ռեժիմը # ժամով մինչև {time}}other{Ակտիվացնել «Միայն զարթուցիչը» ռեժիմը # ժամով մինչև {time}}}"</string>
     <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_action_change_name" msgid="766639614789907016">"Վերանվանել"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Փոխել պատկերակը"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Փոխել պատկերակը"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Խմբագրման ռեժիմ"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Ստեղծեք ռեժիմ"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Հատուկ ռեժիմ"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Ռեժիմի անվանումը"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Օրացույցի միջոցառումներ"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"«Քնի ժամ» ծրագիր"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Մեքենա վարելիս"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Հավելվածի կարգավորումներ"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Տեղեկություններ և կարգավորումներ <xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածում"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Կառավարվում է <xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածի կողմից"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Անջատե՞լ <xliff:g id="MODE_NAME">%1$s</xliff:g>ը"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Այս ռեժիմը երբեք չի միանա անջատված ժամանակ"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Անջատել"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Միացնե՞լ <xliff:g id="MODE_NAME">%1$s</xliff:g>ը"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Այս ռեժիմը կարող է ավտոմատ միանալ կարգավորումների հիման վրա"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Միացնել"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Սահմանեք ռեժիմ, որը հետևում է սովորական ժամանակացույցի կարգավորումներին"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Սահմանեք ռեժիմ՝ օրացույցի միջոցառումներն ու հրավերների պատասխանները համաժամացնելու համար"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Մշակեք հանգիստ քնի ծրագիր։ Սահմանեք զարթուցիչներ, խամրեցրեք էկրանը և արգելափակեք ծանուցումները։"</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Առաջնահերթ ուշադրություն դարձրեք ուղևորության անվտանգությանը, որպեսզի ոչինչ չշեղի ճանապարհից"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Կենտրոնանալու համար արգելափակեք ծանուցումներն ու շեղող ձայները"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Չեզոքացրեք բոլոր շեղող գործոնները հանգիստ միջավայրի համար"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Անհատականացրեք սարքի գործառույթներն ու կարգավորումները տարբեր օգտատերերի համար"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Թույլ տվեք, որ միայն կարևոր մարդիկ կապվեն ձեզ հետ և հավելվածներն ուղարկեն ծանուցումներ, որպեսզի քիչ շեղվեք"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Սահմանեք ռեժիմ, որը հետևում է սովորական ժամանակացույցի կարգավորումներին"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Կարգավորեք սարքի աշխատանքը՝ օրացույցի միջոցառումների հիման վրա"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Արթնացեք՝ զգալով հարյուր տոկոսով լավ"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Հնարավորինս զգույշ եղեք մեքենա վարելիս"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Կենտրոնացեք, որպեսզի ձեզ ոչինչ չշեղի"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Պահպանեք լռություն՝ հետևելով քաղաքավարության կանոններին"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Սարքի կառավարումը հուսալի ձեռքերի փոխանցեք"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Վերահսկեք ձեր ուշադրությունը"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Նախազգուշացում"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Փակել"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Կարծիք հայտնել սարքի մասին"</string>
@@ -4006,6 +4110,11 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Հասանելի դարձնե՞լ ռեժիմները <xliff:g id="APP">%1$s</xliff:g> հավելվածին"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Հավելվածը կարող է միացնել/անջատել «Չանհանգստացնել» գործառույթը, կառավարել և ակտիվացնել ռեժիմները և փոփոխել առնչվող կարգավորումները։"</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Այս հավելվածի կողմից ստեղծված բոլոր ռեժիմները կհեռացվեն:"</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Չօպտիմալացնել"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Օպտիմալացնել"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Մարտկոցը կարող է ավելի արագ նստել: Մարտկոցը ֆոնային ռեժիմում օգտագործելու սահմանափակումը կհանվի:"</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Պատյան"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Մարտկոց"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Կարգավորումների վահանակ"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"Աշխատասեղանի ռեժիմի հարկադրված միացում"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Աշխատասեղանի փորձնական ռեժիմի հարկադրված միացում լրացուցիչ էկրանների վրա"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"Միացնել կամայական ձևի պատուհանները"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Միացնել կամայական ձևի պատուհանները լրացուցիչ էկրանին"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Միացնել չփոփոխվող մասշտաբը բազմապատուհան ռեժիմում"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Թույլ է տալիս հավելվածները բացել չփոփոխվող մասշտաբով բազմապատուհան ռեժիմում"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Չեղարկել մուգ ռեժիմի պարտադիր միացումը"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"բջջային ինտերնետ"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Սարքի աշխատանքը բարելավելու համար հավելվածներն ու ծառայությունները նախկինի պես կարող են ցանկացած ժամանակ որոնել Wi‑Fi ցանցեր, նույնիսկ երբ Wi‑Fi-ն անջատված է։ Այս կարգավորումը կարելի է օգտագործել, օրինակ, տեղորոշում օգտագործող գործառույթներն ու ծառայությունները բարելավելու համար։ Սա կարող եք փոխել Wi‑Fi ցանցերի որոնման կարգավորումներում։"</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Փոխել"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Միացած է"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Ժամանակավոր կապ"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Ժամանակավորապես օգտագործվում է <xliff:g id="SUBNAME">%1$s</xliff:g> ցանցը"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Օգտագործել հավելվածների ամրացումը"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Օգտագործել մշակողի ընտրանքները"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Օգտագործել տպման ծառայությունը"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Թույլատրել մեկից ավելի օգտատերեր"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Թույլ տալ փոխել օգտատիրոջը"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"թույլ տալ, մի քանի, օգտատեր, թույլատրել, շատ"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"մի քանի, օգտատերեր, պրոֆիլներ, մարդիկ, հաշիվներ, փոխել հաշիվը, շատ"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Օգտագործել անլար վրիպազերծումը"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"«<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>» սարքն ուզում է միանալ այս հեռախոսին։\n\nԴուք նախկինում չեք միացել «<xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>» սարքին։"</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Չմիանալ"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Միանալ"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE կարգավորումներ"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Միացված է"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Անջատված է"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Վերականգնել կանխադրված կարգավորումները"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Կանխադրված կարգավորումները վերականգնվեցին։"</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Առավելագույն հաշվեկշիռը սարքի լրիվ լիցքավորված ժամանակ"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Մնացորդ"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Սպառման սահմանաչափ"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Սպառման նախնական սահմանաչափ"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Սպառման նվազագույն սահմանաչափ"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Սպառման առավելագույն սահմանաչափ"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Կերպափոխիչներ"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Գործողություններ (արտադրման արժեքը)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Գործողություններ (բազային գին)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Պարգևներ մեկ իրադարձության համար"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Պարգևները՝ միջոցառման մեկ վայրկյանում"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Պարգևների առավելագույն քանակը մեկ օրում"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Տեղադրել հավելվածը"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Առավել հաճախակի կատարվող գործողությունը"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Ծանուցումը դիտվել է"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Ծանուցումը դիտվել է վերջին 15 ր․ ընթացքում"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Ծանուցման հետ գործողություն"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Վիջեթի հետ գործողություն"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Օգտատիրոջ հետ այլ գործողություն"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Առավելագույն առաջնահերթությամբ առաջադրանքի մեկնարկ"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Առավելագույն առաջնահերթությամբ առաջադրանքը կատարվում է"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Բարձր առաջնահերթությամբ առաջադրանքի մեկնարկ"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Բարձր առաջնահերթությամբ առաջադրանքը կատարվում է"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Կանխադրված առաջնահերթությամբ առաջադրանքի մեկնարկ"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Կանխադրված առաջնահերթությամբ առաջադրանքը կատարվում է"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Ցածր առաջնահերթությամբ առաջադրանքի մեկնարկ"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Ցածր առաջնահերթությամբ առաջադրանքը կատարվում է"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Նվազագույն առաջնահերթությամբ առաջադրանքի մեկնարկ"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Նվազագույն առաջնահերթությամբ առաջադրանքը կատարվում է"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Տուգանք առաջադրանքի կատարման ժամկետը խախտելու համար"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Նվազագույն մնացորդը լրիվ լիցքի դեպքում (բացառված հավելվածներ)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Նվազագույն մնացորդը լրիվ լիցքի դեպքում (առանց միջերեսի համակարգային հավելվածներ)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Նվազագույն մնացորդը լրիվ լիցքի դեպքում (մնացած հավելվածներ)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Ավելացում նվազ․ մնացորդին լրիվ լիցքի դեպքում (հավելվածների թարմացման գործիքներ)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Լիցքավորում"</item>
-    <item msgid="658627268149681677">"Նինջ"</item>
-    <item msgid="1599558140284643834">"Էներգախնայման ռեժիմ"</item>
-    <item msgid="588427840913221601">"Գործընթացի կարգավիճակը"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Հաստատել"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Նախադիտում"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Ընտրեք էկրանապահ"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Ցույց տալ լրացուցիչ տեղեկություններ"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Ընտրեք, թե ինչ եք ուզում տեսնել ձեր սարքի էկրանին, երբ ձեր պլանշետը դոկ-կայանում է։ Ձեր սարքը կարող է ավելի շատ էներգիա ծախսել, երբ էկրանապահ է օգտագործվում։"</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Հարմարեցնել"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Անհատականացնել «<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>» էկրանապահը"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Կամայական ձևի պատուհանների ստեղծման աջակցումը միացնելու համար պահանջվում է վերաբեռնում։"</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Լրացուցիչ էկրաններին համակարգչի ռեժիմը հարկադրաբար միացնելու համար պահանջվում է վերաբեռնում։"</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Կամայական ձևի պատուհանների աջակցումը միացնելու համար պահանջվում է վերաբեռնում։"</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Կամայական ձևի պատուհանների հասանելիությունը փոփոխելու համար պահանջվում է վերաբեռնում։"</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Կամայական ձևի պատուհանները լրացուցիչ էկրանին միացնելու համար պահանջվում է վերաբեռնում։"</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Վերաբեռնել հիմա"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Վերաբեռնել ավելի ուշ"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Տարածական հնչողություն"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Վարդագույն"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Ծիրանեգույն"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Մանուշակագույն"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Պատրաստ է"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Պահել"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Չեղարկել"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Կանխադրված"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Միջին"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Միացված է"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Անջատված է"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Միացված է"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Աուդիո %1$d%% ձախ, %2$d%% աջ"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Աուդիո %1$d%% աջ, %2$d%% ձախ"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Ձեր սարքի անունը տեսանելի է ձեր տեղադրած հավելվածներին։ Այն կարող են տեսնել օգտատերերը, երբ միանում եք Bluetooth սարքերի, Wi-Fi ցանցի, կամ կարգավորում եք Wi-Fi թեժ կետ։"</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Քերականական սեռ"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Ընտրեք քերականական սեռը"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Աուդիոյի փոխանցումը կանգնեցվել է"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Միացրեք համատեղելի սարք"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Աուդիոյի փոխանցումը սկսելու համար նախ LE Audio ականջակալ միացրեք ձեր հեռախոսին"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Անցնել <xliff:g id="DEVICE_NAME">%1$s</xliff:g> սարքին"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Միացեք LE Audio հոսքի"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Մոտակա սարքերի աուդիո հոսքերը"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Աուդիո հոսքեր"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Լսել հոսքը"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Սկանավորեք աուդիո հոսքի QR կոդը՝ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> սարքով լսելու համար"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Փոխանցման ժամանակ հնարավոր չէ փոխել գաղտնաբառը։ Գաղտնաբառը փոխելու համար նախ անջատեք աուդիոյի փոխանցումը։"</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR կոդերի սկաներ"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Օգնության կարի՞ք ունեք"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Որոնեք կարգավորումներում"</string>
 </resources>
diff --git a/res/values-in/arrays.xml b/res/values-in/arrays.xml
index c5d73ab..55f7adf 100644
--- a/res/values-in/arrays.xml
+++ b/res/values-in/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Waktu Tidur"</item>
-    <item msgid="4152450357280759894">"Mengemudi"</item>
-    <item msgid="7096549258219399423">"Imersif"</item>
-    <item msgid="2760716776980432977">"Dikelola"</item>
-    <item msgid="601734478369121764">"Bintang"</item>
-    <item msgid="6243809315432780521">"Kalender"</item>
-    <item msgid="4913577903148415331">"Waktu"</item>
-    <item msgid="3653377604690057780">"Teater"</item>
-    <item msgid="3843711267408385410">"Bunga"</item>
+    <item msgid="1216815120972438676">"Tas kantor"</item>
+    <item msgid="184985872234062767">"Bangunan klasik"</item>
+    <item msgid="9189550412466785530">"Gedung apartemen"</item>
+    <item msgid="2142527562511049422">"Balon kata-kata"</item>
+    <item msgid="2548100558260478605">"Sekelompok orang"</item>
+    <item msgid="2270003903304578284">"Bohlam"</item>
+    <item msgid="4793496619091161864">"Kalender"</item>
+    <item msgid="5673625795644364100">"Jangan Ganggu"</item>
+    <item msgid="1423820834865831361">"Orang berlari"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Barbel gym"</item>
+    <item msgid="2730180105015616518">"Renang"</item>
+    <item msgid="2666922823253345958">"Seseorang mendaki"</item>
+    <item msgid="8234880356472211396">"Seseorang melempar bola"</item>
+    <item msgid="4642980625253001443">"Seseorang menendang"</item>
+    <item msgid="4324795269518833500">"Controller game"</item>
+    <item msgid="7789966425125441125">"Palet warna seniman"</item>
+    <item msgid="663512680597461570">"Kepingan salju"</item>
+    <item msgid="7952183800501346803">"Payung pantai"</item>
+    <item msgid="799139025758265891">"Alat workshop"</item>
+    <item msgid="1330084588359129896">"Tenda"</item>
+    <item msgid="3861584909935022342">"Rol film"</item>
+    <item msgid="5827426100157335512">"Buku"</item>
+    <item msgid="8585828346253128384">"Bunga teratai"</item>
+    <item msgid="8788370542815300188">"Pikiran seseorang"</item>
+    <item msgid="7287354964767553293">"Headphone"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Kereta"</item>
+    <item msgid="4903790544026923026">"Mobil"</item>
+    <item msgid="5010405583912314582">"Garpu dan pisau"</item>
+    <item msgid="8939998598599064900">"Keranjang belanja"</item>
+    <item msgid="3379605903308731893">"Anak"</item>
+    <item msgid="7808668968550293112">"Cakar hewan"</item>
+    <item msgid="1000692647524056504">"Badge bintang"</item>
+    <item msgid="8270261073421676502">"Dua orang"</item>
+    <item msgid="5767782819651505460">"Bintang"</item>
+    <item msgid="4368451291862729334">"Hati"</item>
+    <item msgid="2613199102208419986">"Rumah"</item>
+    <item msgid="3022279986430275040">"Bulan sabit"</item>
+    <item msgid="5421089790869483206">"Jam"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index ec1cc73..0f20c0b 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Ditangguhkan"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Tidak diketahui"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Pratinjau"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"Kode QR"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Selalu"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Setelan alat bantu dengar"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Pintasan, kompatibilitas alat bantu dengar (HAC)"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Preset"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Tidak ada preset yang diprogram oleh ahli audiologi Anda"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Tidak dapat memperbarui preset"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Output audio"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Tentang output audio"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Pemilihan bahasa untuk aplikasi ini tidak tersedia dari Setelan."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Bahasa mungkin berbeda dari bahasa yang tersedia di aplikasi. Beberapa aplikasi mungkin tidak mendukung setelan ini."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Setel bahasa untuk setiap aplikasi."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Sistem, aplikasi, dan situs menggunakan bahasa pertama yang didukung dalam daftar bahasa pilihan Anda."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Perangkat, aplikasi, dan situs menggunakan bahasa pertama yang didukung dalam daftar bahasa pilihan Anda.\n\nBanyak aplikasi juga akan menggunakan wilayah dari bahasa pilihan Anda untuk memformat tanggal, nomor, dan unit. Untuk mengubah wilayah Anda, tambahkan bahasa, lalu pilih wilayah pilihan Anda."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Untuk memilih bahasa bagi setiap aplikasi, buka setelan bahasa aplikasi."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Pelajari bahasa aplikasi lebih lanjut"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Ubah bahasa sistem menjadi %s?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Nonaktif"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Aktif / # aplikasi memiliki akses ke lokasi}other{Aktif / # aplikasi memiliki akses ke lokasi}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Memuat…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Aplikasi dengan izin Perangkat di sekitar dapat menentukan posisi relatif perangkat terhubung."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Aplikasi dengan izin perangkat di sekitar dapat menentukan posisi relatif perangkat terhubung."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Akses lokasi dinonaktifkan untuk aplikasi dan layanan. Lokasi perangkat Anda tetap dapat dikirimkan ke petugas tanggap darurat saat Anda menelepon atau mengirim SMS ke nomor darurat."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Pelajari lebih lanjut Setelan lokasi"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Untuk mengubahnya, buka Setelan ChromeOS &gt; Privasi dan keamanan &gt; Kontrol privasi &gt; Akses lokasi"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Wajah dan <xliff:g id="WATCH">%s</xliff:g> ditambahkan"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Wajah, sidik jari, dan <xliff:g id="WATCH">%s</xliff:g> ditambahkan"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Wajah, sidik jari, dan <xliff:g id="WATCH">%s</xliff:g> ditambahkan"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Pemeriksaan Identitas aktif dan memerlukan biometrik"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Buka Kunci Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Smartwatch ditambahkan"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Menyiapkan smartwatch"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Pelajari lebih lanjut Buka dengan Smartwatch"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Tambahkan smartwatch"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Hapus smartwatch"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Buka dengan Sidik Jari &amp; Wajah"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Buka dengan Wajah &amp; Sidik Jari"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Buka dengan Wajah &amp; Sidik Jari untuk profil kerja"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Penyiapan diperlukan"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Wajah dan sidik jari ditambahkan"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Menyiapkan ruang privasi…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Tidak dapat menyiapkan ruang privasi"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Coba Lagi"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Keluar"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Ruang privasi tidak tersedia.\nLihat kemungkinan penyebab"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Lihat kemungkinan penyebab"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Pilih kunci baru untuk ruang privasi?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Anda dapat menyetel kunci baru hanya untuk ruang privasi, atau menggunakan kunci yang sama untuk membuka kunci perangkat"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Gunakan kunci layar"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Jika Bluetooth diaktifkan, perangkat Anda dapat berkomunikasi dengan perangkat Bluetooth di sekitar.\n\nUntuk meningkatkan fungsi perangkat, aplikasi dan layanan tetap dapat memindai perangkat di sekitar kapan saja, bahkan saat Bluetooth nonaktif. Pemindaian ini dapat digunakan, misalnya, untuk meningkatkan kualitas fitur dan layanan berbasis lokasi. Anda dapat mengubahnya di setelan pemindaian Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Jika Bluetooth diaktifkan, perangkat Anda dapat berkomunikasi dengan perangkat Bluetooth di sekitar. Fitur seperti Quick Share dan Temukan Perangkat Saya menggunakan Bluetooth.\n\nAplikasi dan layanan tetap dapat memindai perangkat di sekitar kapan saja, bahkan saat Bluetooth nonaktif. Pemindaian ini dapat digunakan, misalnya, untuk meningkatkan kualitas fitur dan layanan berbasis lokasi. Anda dapat mengubahnya di setelan pemindaian Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Ubah"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Detail perangkat"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Setelan keyboard"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Setelan lainnya"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Update firmware, tentang, dan lainnya"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Tips &amp; dukungan"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Alamat Bluetooth perangkat: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Alamat Bluetooth perangkat:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Lupakan perangkat?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Eksperimental. Meningkatkan kualitas audio."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Lupakan perangkat"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Putuskan koneksi aplikasi"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Setelan lainnya"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Jumlah maksimum perangkat audio Bluetooth yang terhubung"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Pilih jumlah maksimum perangkat audio Bluetooth yang terhubung"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Log debug vendor panjang NFC"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Mulai Ulang Perangkat?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Pencatatan log NFC detail dimaksudkan hanya untuk tujuan pengembangan. Data NFC tambahan disertakan dalam laporan bug, yang mungkin berisi informasi pribadi. Mulai ulang perangkat untuk mengubah setelan ini."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Mulai ulang"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Aktif"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Nonaktif"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Layar Eksternal"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Gunakan layar eksternal"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Resolusi layar"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Layar eksternal tidak terhubung"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Rotasi"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standar"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Mengubah rotasi atau resolusi dapat menghentikan aplikasi yang sedang berjalan"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Perangkat harus terhubung ke layar eksternal untuk mencerminkan layar Anda"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Opsi lainnya"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Transmisi"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"cermin"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Aktifkan layar nirkabel"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptif"</string>
     <string name="brightness" msgid="6216871641021779698">"Tingkat kecerahan"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Kecerahan adaptif"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Tentang kecerahan adaptif"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Kecerahan layar akan otomatis disesuaikan dengan lingkungan dan aktivitas Anda. Anda dapat menggeser tombol kecerahan secara manual untuk membantu fitur ini mempelajari preferensi Anda."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Aktif"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Nonaktif"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Gunakan <xliff:g id="CARRIER">%1$s</xliff:g> untuk data seluler?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Anda menggunakan <xliff:g id="CARRIER2_0">%2$s</xliff:g> untuk data seluler. Jika Anda beralih ke <xliff:g id="CARRIER1">%1$s</xliff:g>, <xliff:g id="CARRIER2_1">%2$s</xliff:g> tidak akan digunakan lagi untuk data seluler."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Gunakan <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Perbarui SIM pilihan?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> satu-satunya SIM di perangkat. Ingin menggunakan SIM ini untuk data seluler, panggilan telepon, dan SMS?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> sekarang menjadi SIM utama Anda"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Perbaiki sinyal data seluler?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Izinkan perangkat beralih secara otomatis ke <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> untuk data seluler saat memiliki ketersediaan yang lebih baik."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Panggilan, pesan, dan traffic jaringan dapat dilihat oleh organisasi Anda."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Opsi"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Aksesibilitas"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Keyboard fisik"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Gunakan keyboard virtual"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Biarkan di layar meski keyboard fisik aktif"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Tombol pantul"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Keyboard mengabaikan penekanan tombol yang sama secara berulang dan cepat dalam <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> md"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Tombol lambat"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Menyesuaikan waktu yang diperlukan agar penekanan tombol aktif ke <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> md"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Tombol lekat"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Tekan satu tombol pada satu waktu untuk mengaktifkan pintasan, bukan menekan tombol secara bersamaan"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Tombol mouse"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Gunakan keyboard fisik untuk mengontrol mouse."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Pintasan keyboard"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Tampilkan daftar pintasan"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Keyboard &amp; fitur profil kerja"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Sesuaikan setiap gestur navigasi touchpad"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Scroll terbalik"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Konten akan bergerak ke atas saat Anda men-scroll ke bawah"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Ketuk kanan bawah"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Ketuk pojok kanan bawah touchpad untuk melihat opsi lainnya"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Klik kanan bawah"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Klik pojok kanan bawah touchpad untuk melihat opsi lainnya"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Kecepatan kursor"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Gaya isian pointer"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Ubah gaya isian pointer ke warna hitam"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Ubah gaya isian pointer ke warna kuning"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Ubah gaya isian pointer ke warna merah muda"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Ubah gaya isian pointer ke warna biru"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Gaya goresan kursor"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Putih"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Hitam"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Tidak ada"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Pelajari gestur touchpad"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"trackpad, track pad, mouse, kursor, scroll, geser, klik kanan, klik, pointer"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"klik kanan, ketuk"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Reset"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Pilih tombol pengubah"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Pilih tombol baru untuk <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Tata letak <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Default"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Otomatis: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Dipilih pengguna: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Ucapan"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Kecepatan kursor"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Skala kursor"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Turunkan skala kursor"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Tingkatkan skala kursor"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Pengendali Game"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Mengalihkan getaran"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Kirim getaran ke pengontrol game saat terhubung"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Tetap lanjutkan"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Batal"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Setelan pembesaran"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Penggeseran satu jari"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Gerakkan pembesar dengan 1 jari"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Tarik 1 jari untuk berpindah pada layar"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Pindahkan area pembesaran dengan menarik satu jari."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Pindahkan area pembesaran dengan menarik dua jari."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Tidak tersedia ketika hanya memperbesar sebagian layar"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Ketuk tombol untuk zoom"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Perbesar layar dengan cepat untuk membuat konten terlihat lebih besar"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Untuk memperbesar:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Gunakan pintasan untuk memulai pembesaran&lt;br/&gt; {1,number,integer}. Ketuk layar&lt;br/&gt; {2,number,integer}. Tarik dengan 2 jari untuk berpindah pada layar&lt;br/&gt; {3,number,integer}. Cubit dengan 2 jari untuk menyesuaikan zoom&lt;br/&gt; {4,number,integer}. Gunakan pintasan untuk menghentikan pembesaran&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Untuk memperbesar sementara:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Pastikan jenis pembesaran disetel ke layar penuh&lt;br/&gt; {1,number,integer}. Gunakan pintasan untuk memulai pembesaran&lt;br/&gt; {2,number,integer}. Sentuh lama di mana pun pada layar&lt;br/&gt; {3,number,integer}. Tarik dengan jari untuk berpindah pada layar&lt;br/&gt; {4,number,integer}. Angkat jari untuk menghentikan pembesaran"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Untuk memperbesar:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Gunakan pintasan untuk memulai pembesaran&lt;br/&gt; {1,number,integer}. Ketuk layar&lt;br/&gt; {2,number,integer}. Tarik 2 jari untuk berpindah pada layar&lt;br/&gt; {3,number,integer}. Cubit dengan 2 jari untuk menyesuaikan zoom&lt;br/&gt; {4,number,integer}. Gunakan pintasan untuk menghentikan pembesaran&lt;br/&gt;&lt;br/&gt; Anda juga dapat memperbesar sementara dan lainnya."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Untuk memperbesar:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Gunakan pintasan untuk memulai pembesaran&lt;br/&gt; {1,number,integer}. Ketuk layar&lt;br/&gt; {2,number,integer}. Tarik 1 atau 2 jari untuk berpindah pada layar&lt;br/&gt; {3,number,integer}. Cubit dengan 2 jari untuk menyesuaikan zoom&lt;br/&gt; {4,number,integer}. Gunakan pintasan untuk menghentikan pembesaran&lt;br/&gt;&lt;br/&gt; Anda juga dapat memperbesar sementara dan lainnya."</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 dengan 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_pager" msgid="8461939455728454061">"Halaman <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> dari <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Pintasan tombol aksesibilitas"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Ketuk tombol mengambang"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Gestur aksesibilitas"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Ketuk tombol aksesibilitas <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> di bagian bawah layar Anda. Sentuh lama tombol aksesibilitas untuk beralih ke fitur lain."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Geser ke atas dari bawah layar dengan 2 jari.\n\nUntuk beralih ke fitur lain, geser ke atas dengan 2 jari dan tahan."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Geser ke atas dari bawah layar dengan 3 jari.\n\nUntuk beralih ke fitur lain, geser ke atas dengan 3 jari dan tahan."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Geser ke atas dari bagian bawah layar. Untuk beralih ke fitur lain, geser ke atas dan tahan.}other{Geser ke atas dengan # jari dari bagian bawah layar. Geser ke atas dengan # jari dan tahan untuk beralih ke fitur lain.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Opsi lainnya"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Pelajari lebih lanjut <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Tombol volume"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"tombol volume"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Tekan dan tahan kedua tombol volume"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Ketuk dua kali layar dengan dua jari"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Ketuk dua kali dengan %1$d jari"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Ketuk layar dua kali dengan cepat menggunakan %1$d jari"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Ketuk tiga kali"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Ketuk layar %1$d kali dengan cepat (mungkin memperlambat perangkat Anda)"</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Ketuk dua kali dengan %1$d jari"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Ketuk cepat layar sebanyak {0,number,integer} kali dengan dua jari"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Ketuk layar tiga kali"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"ketuk tiga kali"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Ketuk layar dengan cepat {0,number,integer} 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Setelan pintasan"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Pintasan dari layar kunci"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Izinkan pintasan fitur diaktifkan dari layar kunci. Tahan kedua tombol volume selama beberapa detik."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Tombol aksesibilitas"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Tombol &amp; gestur aksesibilitas"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Layanan ini tidak berfungsi."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Pintasan aksesibilitas"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Tampilkan di Setelan Cepat"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Merah-hijau"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Merah-hijau"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Merah-hijau, hijau lemah"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Merah-hijau, merah lemah"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Biru-kuning"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Hitam putih"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensitas"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Lemah hijau, deuteranomali"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Lemah merah, protanomali"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Tidak tersedia untuk mode hitam putih atau saat koreksi warna dinonaktifkan"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Ekstra redup"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Buat layar ekstra redup"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Sian"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Kuning"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Izinkan <xliff:g id="SERVICE">%1$s</xliff:g> mengontrol perangkat Anda secara penuh?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> perlu:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Karena sebuah aplikasi menghalangi permintaan izin, Setelan tidak dapat memverifikasi tanggapan Anda."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> meminta kontrol penuh atas perangkat ini. Layanan dapat membaca layar dan bertindak atas nama pengguna yang memiliki kebutuhan aksesibilitas. Kontrol tingkat ini tidak sesuai untuk kebanyakan aplikasi."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Kontrol penuh sesuai untuk aplikasi yang mendukung kebutuhan aksesibilitas Anda, tetapi tidak untuk sebagian besar aplikasi."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Melihat dan mengontrol layar"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Membaca semua konten di layar dan menampilkan konten di atas aplikasi lain."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Menampilkan dan melakukan tindakan"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Melacak interaksi Anda dengan aplikasi atau sensor hardware, dan berinteraksi dengan aplikasi untuk Anda."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Izinkan"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Tolak"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Nonaktifkan"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Aktif / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> dan <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Anda juga dapat mengaktifkan Audio Spasial untuk perangkat Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Setelan perangkat terhubung"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Audio Spasial"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Nonaktif"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Nonaktif"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Nonaktif"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Tidak ada}=1{1 jadwal disetel}other{# jadwal disetel}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Jangan Ganggu"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Mode Prioritas"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Tambahkan mode"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Mode"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Minimalkan gangguan dan pegang kendali perhatian Anda dengan mode untuk tidur, kerja, mengemudi, dan berbagai aktivitas lainnya."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Buat mode Anda sendiri"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Hanya dapatkan notifikasi dari aplikasi dan orang yang penting"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Setel jadwal"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Jadwal berdasarkan"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Hari dan waktu"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"09.00 - 17.00 hari kerja\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Acara kalender"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} aktif}=2{{mode_1} dan {mode_2} aktif}=3{{mode_1}, {mode_2}, dan {mode_3} aktif}other{{mode_1}, {mode_2}, dan # lainnya aktif}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 mode dapat otomatis diaktifkan}other{# mode dapat otomatis diaktifkan}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"AKTIF"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Tidak disetel"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Dinonaktifkan"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Buat mode"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Kustom"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Aktifkan sekarang"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Nonaktifkan"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Mode tidak ditemukan"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Batasi gangguan"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Blokir gangguan dan distraksi"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Siapkan <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Aktifkan mode Jangan Ganggu"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarm dan media boleh menginterupsi"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Jadwal"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Hapus jadwal"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Hapus"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Ganti nama"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Hapus"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Hapus mode \"<xliff:g id="MODE">%1$s</xliff:g>\"?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Edit"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Jadwal"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Jadwal"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Mengaktifkan secara otomatis"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Tambahkan kalender"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Gunakan kalender Anda"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Jadwal"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Setel jadwal"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Waktu aturan otomatis diaktifkan"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Jadwal acara"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Aktifkan selama acara untuk"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Lokasi balasan undangan"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Jadwal waktu"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Jadwal"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> jam, <xliff:g id="MINUTES">%2$d</xliff:g> mnt"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Jadwal"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Izinkan gangguan yang mengeluarkan suara"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Notifikasi yang dapat menjangkau Anda"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Tindakan tambahan"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Filter notifikasi"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Setelan lainnya"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Nonaktif}=1{Nonaktif/1 mode dapat aktif otomatis}other{Nonaktif/ # mode dapat aktif otomatis}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Setelan layar"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Opsi tampilan"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Hitam putih"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"aktifkan tema gelap"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Gunakan pilihan teks terang dengan latar belakang gelap di OS dan aplikasi, yang mungkin akan lebih nyaman di mata dan menghemat baterai secara signifikan di beberapa perangkat"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Tidak ada perubahan tampilan}=1{{effect_1}}=2{{effect_1} dan {effect_2}}=3{{effect_1}, {effect_2}, dan {effect_3}}other{{effect_1}, {effect_2}, dan # lainnya}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Izinkan semua notifikasi"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Orang, aplikasi, dan suara dapat mengganggu"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opsi tampilan untuk notifikasi yang difilter"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Saat mode Jangan Ganggu diaktifkan"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Tidak ada suara dari notifikasi"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"membuka notifikasi"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Izinkan penundaan notifikasi"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Titik notifikasi di ikon aplikasi"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Paket notifikasi"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Balon"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Balon"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Tampilkan percakapan ini dalam balon"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Aplikasi dapat membalas pesan dan melakukan tindakan pada tombol di notifikasi, termasuk menunda atau menutup notifikasi dan menjawab panggilan."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Mengubah setelan"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Aplikasi dapat mengaktifkan atau menonaktifkan fitur Jangan Ganggu dan mengubah setelan terkait."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Setelan ini dapat mengelola dan mengaktifkan Mode, serta mengubah setelan terkait."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Jika Anda menonaktifkan akses notifikasi untuk <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, akses ke mode Jangan Ganggu mungkin juga akan dinonaktifkan."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Jika Anda menonaktifkan akses notifikasi untuk <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, akses Mode mungkin juga akan dinonaktifkan."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Nonaktifkan"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Batalkan"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Real-time"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Aplikasi ini tidak mendukung setelan yang ditingkatkan"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Setelan lainnya"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Setelan lainnya tersedia di dalam aplikasi ini"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Notifikasi Adaptif"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Gunakan notifikasi adaptif"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Saat Anda mendapatkan banyak notifikasi dalam waktu singkat, ponsel akan menurunkan volume dan meminimalkan jendela pop-up di layar hingga selama dua menit. Panggilan, alarm, dan percakapan prioritas akan tetap bergetar, mengeluarkan suara, atau ditampilkan di layar, serta semua notifikasi akan mudah ditemukan saat Anda menarik turun dari bagian atas layar."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Periode tunggu notifikasi"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Gunakan pengurangan suara dan getaran notifikasi"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Saat Anda menerima banyak notifikasi dalam waktu singkat, perangkat akan menurunkan volumenya dan meminimalkan notifikasi hingga selama 2 menit. Panggilan, alarm, dan percakapan prioritas tidak akan terpengaruh. \n\nNotifikasi yang diterima saat pengurangan suara dan getaran diaktifkan dapat ditemukan dengan menarik layar ke bawah dari bagian atas layar."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Terapkan pada profil kerja"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Diterapkan untuk aplikasi profil kerja"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Layanan bantuan VR"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Akses Jangan Ganggu"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Izinkan Mode Jangan Ganggu"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Tidak ada aplikasi terpasang yang meminta akses Jangan Ganggu"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Akses mode"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Izinkan akses Mode"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Tidak ada aplikasi terinstal yang meminta akses Mode"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Anda belum mengizinkan notifikasi dari aplikasi ini"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Sesuai permintaan, Android memblokir kategori notifikasi ini agar tidak muncul di perangkat ini"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Sesuai permintaan, Android memblokir grup notifikasi ini agar tidak muncul di perangkat ini"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Kategori"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Lainnya"</string>
     <string name="no_channels" msgid="4716199078612071915">"Aplikasi ini belum memposting notifikasi"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Tampilkan kategori yang tidak digunakan"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Setelan tambahan di aplikasi"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Tampilkan kategori yang tidak digunakan"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Sembunyikan kategori yang tidak digunakan"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Percakapan"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Semua percakapan"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"semua percakapan"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Percakapan prioritas"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"percakapan prioritas"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Tidak ada"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Aplikasi yang dapat mengganggu"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Aplikasi terpilih"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Tidak ada"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Semua"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Tidak ada aplikasi yang dapat mengganggu}=1{{app_1} dapat mengganggu}=2{{app_1} dan {app_2} dapat mengganggu}=3{{app_1}, {app_2}, dan {app_3} dapat mengganggu}other{{app_1}, {app_2}, dan # lainnya dapat mengganggu}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (Kerja)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Menghitung…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Izinkan aplikasi mengganti"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikasi yang boleh menginterupsi"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Pilih aplikasi lain"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Tidak ada yang boleh menginterupsi"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Tidak ada orang yang boleh menginterupsi"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Sebagian orang boleh menginterupsi"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Penelepon berulang dapat mengganggu"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Semua orang boleh menginterupsi"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Penelepon berulang"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Izinkan penelepon berulang"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Ubah ke mode hanya alarm selama satu jam hingga {time}}other{Ubah ke mode hanya alarm selama # jam hingga {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Ubah ke mode hanya alarm hingga <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Ubah ke mode selalu ganggu"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Ganti nama"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Ubah ikon"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Ubah ikon"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Edit mode"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Buat mode"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Mode kustom"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Nama mode"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Acara kalender"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Rutinitas waktu tidur"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Saat mengemudi"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Setelan aplikasi"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Info dan setelan di <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Dikelola oleh <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Nonaktifkan <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Mode ini tidak akan diaktifkan saat dinonaktifkan"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Nonaktifkan"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Aktifkan <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Mode ini mungkin diaktifkan otomatis berdasarkan setelan ini"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Aktifkan"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Menyetel mode yang mengikuti jadwal rutin"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Menyetel mode untuk menyinkronkan dengan acara kalender dan mengundang respons"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Merancang rutinitas tidur yang menenangkan. Menyetel alarm, meredupkan layar, dan memblokir notifikasi."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Memprioritaskan keamanan di jalan untuk mengemudi dengan fokus dan bebas distraksi"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Memblokir distraksi dan gangguan dari perangkat agar dapat fokus"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Menghilangkan semua distraksi untuk mendapatkan lingkungan yang tenang"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Mempersonalisasi pengalaman dan setelan perangkat untuk setiap pengguna"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Meminimalkan gangguan dengan hanya mengizinkan orang dan aplikasi penting yang dapat menghubungi Anda"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Setel mode yang mengikuti jadwal rutin"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Sinkronkan perangkat Anda dengan acara hari ini"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Bangun tidur merasa 100% penuh energi"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Utamakan keselamatan saat di jalan"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Lebih fokus dalam beraktivitas"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Untuk momen yang formal"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Penggunaan yang dipandu untuk membantu Anda tetap aman"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Kontrol perhatian Anda"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Peringatan"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Tutup"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Kirim masukan tentang perangkat ini"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Harus tetap aktif karena akses notifikasi juga aktif"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Cabut akses ke status Jangan Ganggu untuk <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Semua aturan Jangan Ganggu yang dibuat oleh aplikasi ini akan dihapus."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Izinkan akses ke Mode untuk <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Aplikasi akan dapat mengaktifkan/menonaktifkan mode Jangan Ganggu, mengelola dan mengaktifkan Mode, serta mengubah setelan terkait."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Semua mode yang dibuat oleh aplikasi ini akan dihapus."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Jangan optimalkan"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimalkan"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Dapat menghabiskan baterai lebih cepat. Aplikasi tidak lagi dibatasi untuk menggunakan baterai di latar belakang."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Casing"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Baterai"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Panel Setelan"</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 layar sekunder"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"Aktifkan jendela berbentuk bebas"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Aktifkan jendela berbentuk bebas di layar sekunder"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Aktifkan ukuran tidak dapat diubah di multi-jendela"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Izinkan aplikasi yang ukurannya tidak dapat diubah di multi-jendela"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Aktifkan Gelap Otomatis"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"data seluler"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Untuk meningkatkan fungsi perangkat, aplikasi dan layanan tetap dapat memindai jaringan Wi-Fi kapan saja, bahkan saat Wi-Fi nonaktif. Ini dapat digunakan, misalnya, untuk meningkatkan kualitas fitur dan layanan berbasis lokasi. Anda dapat mengubahnya di setelan pemindaian Wi‑Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Ubah"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Terhubung"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Terhubung sementara"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Menggunakan <xliff:g id="SUBNAME">%1$s</xliff:g> untuk sementara"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Gunakan penyematan aplikasi"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Gunakan opsi developer"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Gunakan layanan cetak"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Izinkan multi-pengguna"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Izinkan peralihan pengguna"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"izinkan, beberapa, pengguna, izin, banyak"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"beberapa, pengguna, profil, orang, akun, tombol akses, banyak"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Gunakan proses debug nirkabel"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> ingin terhubung ke ponsel ini.\n\nAnda belum pernah terhubung ke <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> sebelumnya."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Jangan hubungkan"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Hubungkan"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Setelan TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Aktif"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Nonaktif"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Kembalikan ke Setelan Default"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Setelan dikembalikan ke default."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Saldo Maksimum Saat Baterai Terisi Penuh"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Saldo"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Batas Penggunaan"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Batas Penggunaan Awal"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Batas Penggunaan Minimum"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Batas Penggunaan Maksimum"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Pengubah"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Tindakan (Biaya Produksi)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Tindakan (Harga Dasar)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Reward per satu acara"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Reward per detik durasi peristiwa"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Reward Maksimum Per Hari"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Penginstalan Aplikasi"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Aktivitas Teratas"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Notifikasi Sudah Dilihat"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Notifikasi Sudah Dilihat dalam 15 Menit"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interaksi Notifikasi"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Interaksi Widget"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Interaksi Pengguna Lainnya"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Tugas Prioritas Maksimum Dimulai"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Tugas Prioritas Maksimum Berjalan"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Tugas Prioritas Tinggi Dimulai"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Tugas Prioritas Tinggi Berjalan"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Tugas Prioritas Default Dimulai"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Tugas Prioritas Default Berjalan"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Tugas Prioritas Rendah Dimulai"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Tugas Prioritas Rendah Berjalan"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Tugas Prioritas Minimum Dimulai"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Tugas Prioritas Minimum Berjalan"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Penalti Waktu Tunggu Tugas"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Saldo Minimum saat Penuh (Dikecualikan)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Saldo Minimum saat Penuh (Aplikasi Sistem Headless)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Saldo Minimum saat Penuh (Aplikasi yang Tersisa)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Penambahan Saldo Minimum saat Penuh (Alat Update Aplikasi)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Mengisi daya"</item>
-    <item msgid="658627268149681677">"Istirahatkan"</item>
-    <item msgid="1599558140284643834">"Mode Hemat Daya"</item>
-    <item msgid="588427840913221601">"Status Proses"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Konfirmasi"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Pratinjau"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Pilih screensaver"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Tampilkan informasi tambahan"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Pilih screensaver yang akan ditampilkan di layar saat tablet dipasang ke dok. Perangkat Anda mungkin menggunakan lebih banyak daya saat screensaver digunakan."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Sesuaikan"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Sesuaikan <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Perlu memulai ulang untuk mengaktifkan dukungan bentuk bebas."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Perlu memulai ulang untuk memaksa mode desktop di layar sekunder."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Perlu memulai ulang untuk mengaktifkan dukungan jendela bentuk bebas."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Perlu memulai ulang untuk memperbarui ketersediaan jendela freeform."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Perlu memulai ulang untuk mengaktifkan jendela freeform di layar sekunder."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Mulai ulang sekarang"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Mulai ulang nanti"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Audio Spasial"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Merah mawar"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Violet"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Selesai"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Simpan"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Batal"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Default"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Sedang"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Aktif"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Nonaktif"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Aktif"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Audio %1$d%% kiri, %2$d%% kanan"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Audio %1$d%% kanan, %2$d%% kiri"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Nama perangkat Anda dapat dilihat oleh aplikasi yang diinstal dan mungkin juga oleh orang lain saat Anda terhubung ke perangkat Bluetooth atau jaringan Wi-Fi, atau saat menyiapkan hotspot Wi-Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Gender gramatikal"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Pilih Gender gramatikal"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Berbagi audio dihentikan"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Hubungkan perangkat yang kompatibel"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Untuk mulai berbagi audio, hubungkan headphone LE Audio ke ponsel Anda terlebih dahulu"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Alihkan ke <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Hubungkan ke streaming LE audio"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Streaming audio di sekitar"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Streaming audio"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Dengarkan streaming"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Pindai kode QR streaming audio agar dapat mendengarkan dengan <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Tidak dapat mengedit sandi saat sedang membagikan audio. Untuk mengubah sandi, nonaktifkan berbagi audio terlebih dahulu."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Pemindai kode QR"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Perlu bantuan?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Telusuri Setelan"</string>
 </resources>
diff --git a/res/values-is/arrays.xml b/res/values-is/arrays.xml
index c791ae1..eacf406 100644
--- a/res/values-is/arrays.xml
+++ b/res/values-is/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Svefntími"</item>
-    <item msgid="4152450357280759894">"Akstur"</item>
-    <item msgid="7096549258219399423">"Umlykjandi"</item>
-    <item msgid="2760716776980432977">"Í umsjón"</item>
-    <item msgid="601734478369121764">"Stjarna"</item>
-    <item msgid="6243809315432780521">"Dagatal"</item>
-    <item msgid="4913577903148415331">"Tími"</item>
-    <item msgid="3653377604690057780">"Leikhús"</item>
-    <item msgid="3843711267408385410">"Blóm"</item>
+    <item msgid="1216815120972438676">"Skjalataska"</item>
+    <item msgid="184985872234062767">"Klassísk bygging"</item>
+    <item msgid="9189550412466785530">"Íbúðarhús"</item>
+    <item msgid="2142527562511049422">"Talblaðra"</item>
+    <item msgid="2548100558260478605">"Hópur fólks"</item>
+    <item msgid="2270003903304578284">"Ljósapera"</item>
+    <item msgid="4793496619091161864">"Dagatal"</item>
+    <item msgid="5673625795644364100">"Ónáðið ekki"</item>
+    <item msgid="1423820834865831361">"Manneskja að hlaupa"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Líkamsræktarlóð"</item>
+    <item msgid="2730180105015616518">"Sund"</item>
+    <item msgid="2666922823253345958">"Manneskja í fjallgöngu"</item>
+    <item msgid="8234880356472211396">"Manneskja hendir bolta"</item>
+    <item msgid="4642980625253001443">"Manneskja sparkar"</item>
+    <item msgid="4324795269518833500">"Leikjafjarstýring"</item>
+    <item msgid="7789966425125441125">"Litaspjald listamanns"</item>
+    <item msgid="663512680597461570">"Snjókorn"</item>
+    <item msgid="7952183800501346803">"Sólhlíf"</item>
+    <item msgid="799139025758265891">"Verkfæri"</item>
+    <item msgid="1330084588359129896">"Tjald"</item>
+    <item msgid="3861584909935022342">"Gamaldags filma"</item>
+    <item msgid="5827426100157335512">"Bók"</item>
+    <item msgid="8585828346253128384">"Lótusblóm"</item>
+    <item msgid="8788370542815300188">"Hugur manneskju"</item>
+    <item msgid="7287354964767553293">"Heyrnartól"</item>
+    <item msgid="2530059623783800987">"Sjónvarp"</item>
+    <item msgid="5307182323469376758">"Lest"</item>
+    <item msgid="4903790544026923026">"Bíll"</item>
+    <item msgid="5010405583912314582">"Hnífur og gaffall"</item>
+    <item msgid="8939998598599064900">"Innkaupakarfa"</item>
+    <item msgid="3379605903308731893">"Barn"</item>
+    <item msgid="7808668968550293112">"Þófi"</item>
+    <item msgid="1000692647524056504">"Stjörnumerking"</item>
+    <item msgid="8270261073421676502">"Tvær manneskjur"</item>
+    <item msgid="5767782819651505460">"Stjarna"</item>
+    <item msgid="4368451291862729334">"Hjarta"</item>
+    <item msgid="2613199102208419986">"Hús"</item>
+    <item msgid="3022279986430275040">"Hálfmáni"</item>
+    <item msgid="5421089790869483206">"Klukka"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 4db50f7..a1adc33 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Í bið"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Óþekkt"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Forskoðun"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR-kóði"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Alltaf"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Stillingar heyrnartækis"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Flýtileið, samhæfi við heyrnartæki"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Forstilling"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Heyrnarsérfræðingurinn þinn hefur ekki valið neinar forstillingar"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Tókst ekki að uppfæra forstillingu"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Hljóðúttak"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Um hljóðúttak"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Ekki er hægt að velja tungumál fyrir þetta forrit í stillingum."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Tungumál kann að vera frábrugðið tiltækum tungumálum í forritinu. Tiltekin forrit styðja hugsanlega ekki þessa stillingu."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Velja tungumál fyrir hvert forrit."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Kerfi, forrit og vefsvæði nota fyrsta studda tungumálið af lista kjörtungumála."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Tækið, forrit og vefsvæði nota fyrsta studda tungumálið af lista kjörtungumála.\n\nMörg forrit munu einnig nota landsvæði tungumálsins sem þú velur til að sníða dagsetningar, tölur og mælieiningar. Ef þú vilt skipta um landsvæði skaltu velja tungumál og velja síðan þitt svæði."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Til að velja tungumál fyrir hvert forrit skaltu fara í tungumálastillingar forrita."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Nánar um tungumál forrita"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Breyta kerfistungumáli í %s ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Slökkt"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Kveikt / # forrit hefur aðgang að staðsetningu}one{Kveikt / # forrit hefur aðgang að staðsetningu}other{Kveikt / # forrit hafa aðgang að staðsetningu}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Hleður…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Forrit með heimildir nálægra tækja geta ákvarðað afstæða staðsetningu tengdra tækja."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Forrit með heimildir nálægra tækja geta ákvarðað hlutfallslega stöðu tengdra tækja."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Slökkt er á aðgangi að staðsetningu fyrir forrit og þjónustur. Staðsetning tækisins kann samt að verða send til viðbragðsaðila þegar þú hringir eða sendir skilaboð í neyðarnúmer."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Nánar um staðsetningarstillingar"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Til að skipta skaltu opna „Stillingar ChromeOS &gt; Persónuvernd og öryggi &gt; Persónuverndarstillingar &gt; Aðgangur að staðsetningu“"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Andliti og <xliff:g id="WATCH">%s</xliff:g> bætt við"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Andliti, fingrafari og <xliff:g id="WATCH">%s</xliff:g> bætt við"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Andliti, fingraförum og <xliff:g id="WATCH">%s</xliff:g> bætt við"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Kveikt er á auðkennisathugun sem krefst lífkenna"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Taka úr lás með Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Úri bætt við"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Setja upp úr"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Nánar um opnun með úri"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Bæta við úri"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Fjarlægja úr"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Fingrafar og andlitskenni"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Andlits- og fingrafarskenni"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Andlits- og fingrafarskenni fyrir vinnu"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Þörf er á uppsetningu"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Andliti og fingraförum bætt við"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Setur upp leynirými…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Ekki tókst að setja upp leynirými"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Reyna aftur"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Hætta"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Leynirými er ekki í boði.\nSkoða hugsanlegar ástæður"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Skoða hugsanlegar ástæður"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Velja nýjan lás fyrir leynirými?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Þú getur stillt nýjan lás bara fyrir leynirými, eða notað sama lás og þú notar til að opna tækið þitt"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Nota skjálás"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Þegar kveikt er á Bluetooth getur tækið átt samskipti við önnur nálæg Bluetooth-tæki.\n\nTil að bæta notkun tækisins geta forrit og þjónustur áfram leitað að nálægum tækjum hvenær sem er, jafnvel þegar slökkt er á Bluetooth. Sem dæmi er hægt að nota þetta til að bæta eiginleika og þjónustur sem byggjast á staðsetningu. Hægt er að breyta þessu í stillingum Bluetooth-leitar."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Þegar kveikt er á Bluetooth getur tækið átt í samskiptum við önnur nálæg Bluetooth-tæki. Eiginleikar eins og Flýtideiling og Finna tækið mitt nota Bluetooth.\n\nForrit og þjónustur geta samt sem áður leitað að nálægum tækjum hvenær sem er, jafnvel þótt slökkt sé á Bluetooth. Þetta má til dæmis nota til að bæta eiginleika og þjónustur sem byggjast á staðsetningu. Þú getur breytt þessu í stillingum Bluetooth-skönnunar."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Breyta"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ekki tengt"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"Í öryggisskyni skaltu gleyma þessu tæki og para það síðan aftur"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"Gleyma tæki"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"Hætta við"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Upplýsingar um tæki"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Stillingar lyklaborðs"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Fleiri stillingar"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Fastbúnaðaruppfærslur, upplýsingar og fleira"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Ábendingar og aðstoð"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Bluetooth-vistfang tækis: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Bluetooth-vistfang tækis:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Gleyma tæki?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Á tilraunastigi. Bætir hljóðgæði."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Gleyma tæki"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Aftengja forrit"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Fleiri stillingar"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Hámarksfjöldi tengdra Bluetooth-hljómtækja"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Velja hámarksfjölda tengdra Bluetooth-hljómtækja"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC ítarleg villuleitarskrá söluaðila"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Endurræsa tæki?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Ítarleg NFC-skráning er aðeins ætluð í þróunartilgangi. Viðbótargögn um NFC fylgja villutilkynningum sem kunna að innihalda lokaðar upplýsingar. Endurræstu tækið til að breyta þessari stillingu."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Endurræsa"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Kveikt"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Slökkt"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Ytri skjár"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Nota ytri skjá"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Skjáupplausn"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Ytri skjár er ekki tengdur"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Snúningur"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Staðlað"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Breytingar á snúningi eða upplausn geta stöðvað forrit sem verið er að keyra"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Til að spegla skjá þarf tækið þitt að vera tengt við ytri skjá"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Fleiri valkostir"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Útsending"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"spegla"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Leyfa þráðlausan skjá"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Breytilegir"</string>
     <string name="brightness" msgid="6216871641021779698">"Birtustig"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Aðlögun birtustigs"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Um aðlögun birtustigs"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Birtustigi skjásins verður breytt sjálfkrafa í samræmi við umhverfið og hvað þú ert að gera. Þú getur fært sleðann til að hjálpa aðlögun birtustigs að læra inn á hvernig þú vilt hafa birtuna."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Kveikt"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Slökkt"</string>
@@ -1311,8 +1340,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Nota <xliff:g id="CARRIER">%1$s</xliff:g> fyrir farsímagögn?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Þú ert að nota <xliff:g id="CARRIER2_0">%2$s</xliff:g> fyrir farsímagögn. Ef þú skiptir yfir í <xliff:g id="CARRIER1">%1$s</xliff:g> verður <xliff:g id="CARRIER2_1">%2$s</xliff:g> ekki lengur notað fyrir farsímagögn."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Nota „<xliff:g id="CARRIER">%1$s</xliff:g>“"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Uppfæra valið SIM?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> er eina SIM-kortið í tækinu þínu. Viltu nota þetta SIM-kort fyrir farsímagögn, símtöl og SMS-skilaboð?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> er nú valda SIM-kortið þitt"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Bæta tengingu farsímagagna?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Leyfa tækinu að skipta sjálfkrafa yfir í <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> fyrir farsímagögn þegar tiltækileiki þeirra er betri."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Fyrirtækið þitt getur hugsanlega séð símtölin þín, skilaboðin og netumferðina."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Valkostir"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Aðgengi"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Vélbúnaðarlyklaborð"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Nota skjályklaborð"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Haltu því á skjánum meðan vélbúnaðarlyklaborðið er virkt"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Endurkastslyklar"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Lyklaborðið hunsar snöggan endurtekinn innslátt á sama lykilinn innan <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Hægir lyklar"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Stillir tímann sem það tekur lyklainnslátt að virka í <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Festilyklar"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Ýttu á einn lykil í einu fyrir flýtilykla í staðinn fyrir að halda lyklum saman niðri"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Músarhnappar"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Notaðu sjálft lyklaborðið til að stjórna músinni."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Flýtilyklar"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Sýna lista yfir flýtileiðir"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Lyklaborð og verkfæri vinnusniðs"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Sérsníða einstaka bendingar fyrir flettingu á snertifleti"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Öfug fletting"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Efnið færist upp þegar þú flettir niður"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Ýttu neðst til hægri"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Ýttu á hægra hornið neðst á snertifletinum til að sjá fleiri valkosti"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Smellur neðst til hægri"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Smelltu neðst í hægra hornið á snertifletinum til að sjá fleiri valkosti"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Hraði bendils"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Stíll bendilfyllingar"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Breyta stíl bendilfyllingar í svartan"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Breyta stíl bendilfyllingar í gulan"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Breyta stíl bendilfyllingar í bleikan"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Breyta stíl bendilfyllingar í bláan"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Strokustíll bendils"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Hvítur"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Svartur"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Ekkert"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Nánar um bendingar á snertifleti"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"snertiflötur, hljóðrásarhnappur, mús, bendill, fletta, strjúka, hægrismella, smella, bendill"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"hægrismella, ýta"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Endurstilla"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Velja breytilykil"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Veldu nýjan lykil fyrir <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Aðgengi vélbúnaðarlyklaborðs"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Festilyklar, endurkastslyklar, músarhnappar"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Útlit: <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Sjálfgefið"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Sjálfvirkt: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Valið af notanda: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Tal"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Hraði bendils"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Stærð bendils"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Minnka bendil"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Stækka bendil"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Leikjafjarstýring"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Endurbeina titringi"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Senda titring í leikjafjarstýringu þegar hún er tengd"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Halda samt áfram"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Hætta við"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Stillingar stækkunar"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Hliðrun með einum fingri"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Færðu stækkunarglerið með 1 fingri"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Dragðu með 1 fingri til að fara um skjáinn"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Færðu stækkaða svæðið með því að draga einn fingur."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Færðu stækkaða svæðið með því að draga tvo fingur."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Ótiltækt þegar aðeins hluti skjásins er stækkaður"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Ýttu á hnapp til að stækka"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Auktu aðdráttinn á skjánum til að stækka efnið"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Gerðu eftirfarandi til að auka aðdrátt:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Notaðu flýtileið til að hefja stækkun&lt;br/&gt; {1,number,integer}. Ýttu á skjáinn&lt;br/&gt; {2,number,integer}. Dragðu 2 fingur til að ferðast um skjáinn&lt;br/&gt; {3,number,integer}. Færðu tvo fingur saman til að stilla aðdráttinn&lt;br/&gt; {4,number,integer}. 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; {0,number,integer}. Gakktu úr skugga um að stækkunaraðferðin sé stillt til að birtast á öllum skjánum&lt;br/&gt; {1,number,integer}. Notaðu flýtileið til að hefja stækkun&lt;br/&gt; {2,number,integer}. Haltu fingri hvar sem er á skjánum&lt;br/&gt; {3,number,integer}. Dragðu fingurinn til að ferðast um skjáinn&lt;br/&gt; {4,number,integer}. Lyftu fingri til að hætta stækkun"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Gerðu eftirfarandi til að auka aðdrátt:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Notaðu flýtileið til að hefja stækkun&lt;br/&gt; {1,number,integer}. Ýttu á skjáinn&lt;br/&gt; {2,number,integer}. Dragðu 2 fingur til að fara um skjáinn&lt;br/&gt; {3,number,integer}. Færðu 2 fingur saman til að stilla aðdráttinn&lt;br/&gt; {4,number,integer}. Notaðu flýtileið til að stöðva stækkun&lt;br/&gt;&lt;br/&gt; Þú getur líka aukið aðdrátt tímabundið og fleira."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Gerðu eftirfarandi til að auka aðdrátt:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Notaðu flýtileið til að hefja stækkun&lt;br/&gt; {1,number,integer}. Ýttu á skjáinn&lt;br/&gt; {2,number,integer}. Dragðu 1 eða 2 fingur til að fara um skjáinn&lt;br/&gt; {3,number,integer}. Færðu 2 fingur saman til að stilla aðdráttinn&lt;br/&gt; {4,number,integer}. Notaðu flýtileið til að stöðva stækkun&lt;br/&gt;&lt;br/&gt; Þú getur líka aukið aðdrátt tímabundið og fleira."</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_pager" msgid="8461939455728454061">"Síða <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> af <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Flýtileið fyrir aðgengishnapp"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Ýttu á fljótandi hnappinn"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Aðgengisbending"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Ýttu á aðgengishnappinn <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> neðst á skjánum. Til að skipta á milli eiginleika skaltu halda aðgengishnappinum inni."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Strjúktu upp frá neðri hluta skjásins með tveimur fingrum.\n\nTil að skipta á milli eiginleika skaltu strjúka upp með tveimur fingrum og halda inni."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Strjúktu upp frá neðri hluta skjásins með þremur fingrum.\n\nTil að skipta á milli eiginleika skaltu strjúka upp með þremur fingrum og halda inni."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Strjúktu upp frá neðri hluta skjásins. Til að skipta á milli eiginleika skaltu strjúka upp og halda inni.}one{Strjúktu upp með # fingri frá neðri hluta skjásins. Til að skipta á milli eiginleika skaltu strjúka upp með # fingri og halda inni.}other{Strjúktu upp með # fingrum frá neðri hluta skjásins. Til að skipta á milli eiginleika skaltu strjúka upp með # fingrum og halda inni.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Fleiri valkostir"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Nánar um <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Hljóðstyrkstakkar"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"hljóðstyrkstakkar"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Haltu báðum hljóðstyrkstökkunum inni"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Ýtt tvisvar á skjáinn með tveimur fingrum"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Ýtt tvisvar með %1$d-fingrum"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Ýttu hratt á skjáinn tvisvar með %1$d fingrum."</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Ýttu þrisvar"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Ýttu hratt á skjáinn %1$d sinnum. Þetta kann að hægja á tækinu þínu."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Ýtt tvisvar með %1$d-fingrum"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Ýtt hratt á skjáinn {0,number,integer} sinnum með tveimur fingrum"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Ýta þrisvar á skjá"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"ýttu þrisvar"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Ýttu snögglega á skjáinn {0,number,integer} sinnum. Þ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_global_gesture_preference_title" msgid="8866765674372344850">"Flýtileið fyrir hljóðstyrkstakka"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Stillingar flýtileiðar"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Flýtileið af lásskjá"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"Flýtileið fyrir hljóðstyrkstakka frá lásskjá"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Leyfa flýtileið að kveikja á eiginleika af lásskjá. Haltu báðum hljóðstyrkstökkunum inni í nokkrar sekúndur."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Aðgengishnappur"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Aðgengishnappur og bending"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Þessi þjónusta hætti að virka."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Aðgengisflýtileiðir"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Sýna í flýtistillingum"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rauðgræn"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Rauðgræn"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Rautt-grænt, grænt veikt"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Rautt-grænt, rautt veikt"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blágul"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Grátónar"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Styrkur"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Græn litblinda"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Rauð litblinda"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Ekki í boði í grátónastillingu eða þegar slökkt er á litaleiðréttingu"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Mjög dökkt"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Gera skjáinn mjög dökkan"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Blágrænn"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Gulur"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Blárauður"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Viltu leyfa „<xliff:g id="SERVICE">%1$s</xliff:g>“ að hafa fulla stjórn yfir tækinu þínu?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> þarf að:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Stillingar geta ekki staðfest svarið þitt vegna þess að forrit er að fela heimildarbeiðni."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> biður um fulla stjórn yfir þessu tæki. Þjónustan getur lesið af skjánum og gripið til aðgerða fyrir hönd notenda sem hafa ekki aðgang. Þess konar stjórnun er óviðeigandi fyrir flest forrit."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Full stjórn er viðeigandi fyrir forrit sem hjálpa þér ef þú hefur ekki aðgang, en ekki fyrir flest forrit."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Skoða og stjórna skjá"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Getur lesið allt efni á skjánum og birt efni yfir öðrum forritum."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Skoða og framkvæma aðgerðir"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Það getur fylgst með samskiptum þínum við forrit eða skynjara vélbúnaðar og haft samskipti við forrit fyrir þína hönd."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Leyfa"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Hafna"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Slökkva"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Kveikt / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> og <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Þú getur einnig kveikt á rýmishljóði fyrir Bluetooth-tæki."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Stillingar tengdra tækja"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Rýmishljóð"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Slökkt"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Slökkt"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Slökkt"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Engin}=1{1 áætlun stillt}one{# áætlun stillt}other{# áætlanir stilltar}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Ónáðið ekki"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Forgangsstillingar"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Bæta stillingu við"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Stillingar"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Lágmarkaðu truflanir og stjórnaðu því sem vekur athygli þína með stillingum fyrir svefn, vinnu, akstur og allt þar á milli."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Búðu til þína eigin stillingu"</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_select_schedule" msgid="663163931596092952">"Stilla áætlun"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Áætlun byggist á"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Dagur og tími"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"„9 f.h. - 5 e.h. á virkum dögum“"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Dagatalsviðburðir"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} er virk}=2{{mode_1} og {mode_2} eru virkar}=3{{mode_1}, {mode_2} og {mode_3} eru virkar}one{{mode_1}, {mode_2} og # í viðbót eru virkar}other{{mode_1}, {mode_2} og # í viðbót eru virkar}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{Ein stilling getur kveikt sjálfkrafa á sér}one{# stilling getur kveikt sjálfkrafa á sér}other{# stillingar geta kveikt sjálfkrafa á sér}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"KVEIKT"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Ekki stillt"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Slökkt"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Búðu til stillingu"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Sérsniðin"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Kveikja núna"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Slökkva"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Stilling fannst ekki"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Takmarka truflanir"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Loka fyrir truflanir og áreiti"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Setja upp <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Kveikja á „Ónáðið ekki“"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Vekjarar og hljóð efnis mega trufla"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Tímaáætlanir"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Eyða áætlunum"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Eyða"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Endurnefna"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Eyða"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Eyða stillingunni „<xliff:g id="MODE">%1$s</xliff:g>“?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Breyta"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Áætlanir"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Áætlun"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Kveikja sjálfkrafa"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Bæta við dagatali"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Nota dagatalið þitt"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Áætlun"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Stilla áætlun"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Þegar á að kveikja sjálfvirkt"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Viðburðadagskrá"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Kveikja á viðburðum fyrir"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Þegar boðssvar er"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Tímaáætlun"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Áætlun"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> klst. og <xliff:g id="MINUTES">%2$d</xliff:g> mín."</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Áætlun"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Leyfa truflanir sem gefa frá sér hljóð"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Tilkynningar sem geta náð til þín"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Fleiri aðgerðir"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Tilkynningasíur"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Fleiri stillingar"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Slökkt}=1{Slökkt / Ein stilling getur kveikt sjálfkrafa á sér}one{Slökkt / # stilling getur kveikt sjálfkrafa á sér}other{Slökkt / # stillingar geta kveikt sjálfkrafa á sér}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Skjástillingar"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Birtingarvalkostir"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Grátónar"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"kveikja á dökku þema"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Stilltu stýrikerfið og forrit á að hafa ljósan texta á dökkum bakgrunni, sem getur verið þægilegra fyrir augun og hefur í för með sér umtalsverðan rafhlöðusparnað í sumum tækjum"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Engar skjábreytingar}=1{{effect_1}}=2{{effect_1} og {effect_2}}=3{{effect_1}, {effect_2} og {effect_3}}one{{effect_1}, {effect_2} og # í viðbót}other{{effect_1}, {effect_2} og # í viðbót}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Leyfa allar tilkynningar"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Fólk, forrit og hljóð geta valdið truflun"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Skjávalkostir fyrir síaðar tilkynningar"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Þegar kveikt er á „Ónáðið ekki“"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Ekkert hljóð frá tilkynningum"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"opna tilkynningu"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Leyfa þöggun tilkynninga"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Tilkynningapunktur á forritstákni"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Tilkynningapakkar"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Blöðrur"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Blöðrur"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Setja þetta samtal í blöðru"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Það getur svarað skilaboðum og framkvæmt aðgerðir á hnöppum tilkynninga, þar á meðal að blunda eða hunsa tilkynningar og svara símtölum."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Breytt stillingum"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Það getur kveikt eða slökkt á „Ónáðið ekki“ og breytt tengdum stillingum."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Getur stjórnað og virkjað stillingar og breytt tengdum stillingum."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Ef þú slekkur á tilkynningaaðgangi fyrir <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> kann einnig að verða slökkt á Ónáðið ekki."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Ef þú slekkur á tilkynningaaðgangi fyrir <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> verður hugsanlega ekki slökkt á aðgangi að stillingum."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Slökkva"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Hætta við"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Rauntími"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Þetta forrit styður ekki endurbættar stillingar"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Fleiri stillingar"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Fleiri stillingar eru í boði í forritinu"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Breytilegar tilkynningar"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Nota breytilegar tilkynningar"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Þegar þú færð margar tilkynningar á skömmum tíma mun síminn þinn lækka hljóðstyrk og fækka sprettigluggum á skjánum í allt að tvær mínútur. Símtöl, vekjarar og forgangssamtöl halda áfram að titra, spila hljóð eða birtast á skjánum og þú getur auðveldlega séð allar tilkynningar með því að strjúka niður frá efsta hluta skjásins."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Fækkun tilkynninga"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Nota tilkynningadempun"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Þegar þú færð margar tilkynningar á skömmum tíma mun tækið þitt lækka hljóðstyrk og fækka viðvörunum í allt að tvær mínútur. Þetta hefur ekki áhrif á símtöl, vekjara og forgangssamtöl. \n\nÞú getur fundið mótteknar tilkynningar meðan á dempun stendur með því að draga niður efst á skjánum."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Nota fyrir vinnusnið"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Nota fyrir forrit á vinnusniði"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Hjálparþjónusta sýndarveruleika"</string>
@@ -3650,6 +3709,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"„Ónáðið ekki“ aðgangur"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Leyfa aðgang að „Ónáðið ekki“"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Engin uppsett forrit hafa óskað eftir „Ónáðið ekki“ aðgangi"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Aðgangur að stillingum"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Leyfa aðgang að stillingum"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Engin uppsett forrit hafa óskað eftir aðgangi að stillingum"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Þú hefur ekki leyft tilkynningar frá þessu forriti"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Android kemur í veg fyrir að þessi tilkynningaflokkur birtist í þessu tæki, samkvæmt beiðni frá þér"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Android kemur í veg fyrir að þessi tilkynningahópur birtist í þessu tæki, samkvæmt beiðni frá þér"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Flokkar"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Annað"</string>
     <string name="no_channels" msgid="4716199078612071915">"Þetta forrit hefur ekki birt neinar tilkynningar"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Sýna ónotaða flokka"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Fleiri stillingar í forritinu"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Sýna ónotaða flokka"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Fela ónotaða flokka"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Samtöl"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Öll samtöl"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"öll samtöl"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Forgangssamtöl"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"forgangssamtöl"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Engin"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Forrit sem mega trufla"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Valin forrit"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Engin"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Öll"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Engin forrit mega trufla}=1{{app_1} má trufla}=2{{app_1} og {app_2} mega trufla}=3{{app_1}, {app_2} og {app_3} mega trufla}one{{app_1}, {app_2} og # til viðbótar mega trufla}other{{app_1}, {app_2} og # til viðbótar mega trufla}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (vinnusnið)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Reiknar út…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Leyfa forritum að hnekkja"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Forrit sem mega trufla"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Veldu fleiri forrit"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Ekkert má trufla"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Enginn má trufla"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Sumt fólk má trufla"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Endurteknar símhringingar geta valdið truflun"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Allt fólk má trufla"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Hringt endurtekið"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Leyfa endurtekin símtöl"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Skipta yfir í vekjara í aðeins eina klukkustund til kl. {time}}one{Skipta yfir í vekjara í aðeins # klukkustund til kl. {time}}other{Skipta yfir í vekjara í aðeins # klukkustundir til kl. {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Breyta í vekjara eingöngu til <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Breyta í truflanir alltaf"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Gefa nýtt heiti"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Breyta tákni"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Breyta tákni"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Breyta stillingu"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Búðu til stillingu"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Sérsniðin stilling"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Heiti stillingar"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Dagatalsviðburðir"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Háttatímarútína"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Meðan á akstri stendur"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Forritastillingar"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Upplýsingar og stillingar í <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Stýrt af <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Slökkva á <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Það kviknar aldrei á þessari stillingu þegar slökkt er á henni"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Slökkva"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Virkja <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Kviknað gæti sjálfvirkt á þessari stillingu miðað við hvernig hún er stillt"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Kveikja"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Veldu stillingu sem fylgir reglulegri áætlun"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Veldu stillingu í samræmi við dagatalsviðburði og svör við boðum"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Búðu þér til róandi svefnvenjur. Stilltu vekjara, lækkaðu birtustig skjásins og lokaðu fyrir tilkynningar."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Settu öryggið í forgang við akstur án truflana"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Lokaðu fyrir áreiti og truflanir úr tækinu til að halda einbeitingu"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Útilokaðu allar truflanir og tryggðu þér rólegt umhverfi"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Sérsníddu upplifanir og stillingar tækisins fyrir ólíka notendur"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Dragðu úr truflunum með því að leyfa aðeins mikilvægu fólki og forritum að ná í þig"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Veldu stillingu sem fylgir reglulegri áætlun"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Samstilltu tækið við viðburði dagsins"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Vaknaðu í þínu besta formi"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Settu öryggið í forgang við akstur"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Auktu einbeitinguna og komdu þér í gírinn"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Fyrir þær stundir sem kurteisi skiptir máli"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Notkun með leiðsögn veitir þér öryggi"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Náðu tökum á athyglinni"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Viðvörun"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Loka"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Senda ábendingar um þetta tæki"</string>
@@ -4006,6 +4102,10 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Verður að vera kveikt vegna þess að kveikt er á tilkynningaaðgangi"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Afturkalla aðgang að „Ónáðið ekki“ fyrir <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Allar reglur um „Ónáðið ekki“ sem búnar voru til af þessu forriti verða fjarlægðar."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Veita <xliff:g id="APP">%1$s</xliff:g> aðgang að stillingum?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Forritið getur kveikt/slökkt á „Ónáðið ekki“, stjórnað og virkjað stillingar og breytt tengdum stillingum."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"Afturkalla aðgang að Stillingum fyrir <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Allar stillingar sem þetta forrit hefur búið til verða fjarlægðar."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Ekki spara"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Spara"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Getur gengið hraðar á hleðslu rafhlöðunnar. Rafhlöðunotkun forrits í bakgrunni verður ekki lengur takmörkuð."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Hulstur"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Rafhlaða"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Stillingasvæði"</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_desktop_mode" msgid="5644818402534562302">"Virkja glugga á frjálsu sniði"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Virkja glugga á frjálsu sniði á aukaskjá"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Kveikja á „Ekki hægt að breyta stærð“ í mörgum gluggum"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Leyfir forritum sem ekki er hægt að breyta stærðinni á að opnast í mörgum gluggum"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Hnekkja dökku"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"farsímagögn"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Til að bæta tækjaupplifun geta forrit og þjónustur áfram leitað að WiFi-netum hvenær sem er, jafnvel þótt slökkt sé á WiFi. Þetta getur til dæmis nýst til að bæta eiginleika og þjónustur sem byggja á staðsetningu. Hægt er að breyta þessu í stillingum WiFi-leitar."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Breyta"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Tengt"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Tímabundin tenging"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Notar <xliff:g id="SUBNAME">%1$s</xliff:g> tímabundið"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Nota forritsfestingu"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Nota forritunarkosti"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Nota prentþjónustu"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Leyfa marga notendur"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Leyfa skipti á notanda"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"leyfa, margir, notandi, leyfi, margir"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"margir, notendur, prófílar, fólk, reikningar, skipta, margt"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Nota þráðlausa villuleit"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> vill tengjast þessum síma.\n\nÞú hefur ekki tengst <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> áður."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Ekki tengjast"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Tengjast"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE stillingar"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Kveikt"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Slökkt"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Skipta aftur í sjálfgefnar stillingar"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Skipt var yfir í sjálfgefnar stillingar."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Hámarksjafnvægi við fulla hleðslu"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Stöður"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Notkunartakmarkanir"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Upprunalegar notkunartakmarkanir"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Lágmarksnotkun"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Hámarksnotkun"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Breytilyklar"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Aðgerðir (framleiðslukostnaður)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Aðgerðir (grunnverð)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Verðlaun fyrir einn viðburð"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Fríðindi á sekúndu í viðburði"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Hámarksfjöldi verðlauna á dag"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Uppsetning forrits"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Mesta virkni"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Tilkynning skoðuð"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Tilkynning skoðuð innan 15 mínútna"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Viðbrögð við tilkynningu"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Viðbrögð við græju"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Önnur viðbrögð notanda"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Ræsing á mjög mikilvægu verki"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Keyrsla á mjög mikilvægu verki"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Ræsing á mikilvægu verki"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Keyrsla á mikilvægu verki"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Sjálfvirk ræsing verks"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Sjálfvirk keyrsla verks"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Ræsing verks í litlum forgangi"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Keyrsla verks í litlum forgangi"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Ræsing verks í lágmarksforgangi"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Keyrsla verks í lágmarksforgangi"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Refsing fyrir verk sem rann út á tíma"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Lágmarksstaða við fulla hleðslu (undanþegin)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Lágmarksstaða við fulla hleðslu (kerfisforrit án notendaviðmóts)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Lágmarksstaða við fulla hleðslu (önnur forrit)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Viðbót lágmarksstöðu við fulla hleðslu (uppfærslur forrits)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Í hleðslu"</item>
-    <item msgid="658627268149681677">"Blunda"</item>
-    <item msgid="1599558140284643834">"Orkusparnaðarstilling"</item>
-    <item msgid="588427840913221601">"Vinnslustaða"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Staðfesta"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Forskoða"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Velja skjávara"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Sýna viðbótarupplýsingar"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Veldu það sem á að birta á skjánum á meðan spjaldtölvan er í dokkunni. Tækið kann að nota meiri orku þegar skjávarinn er notaður."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Sérsníða"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Sérsníða <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Endurræsingar er krafist til að kveikja á stuðningi við Freeform."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Endurræsingar er krafist til að þvinga skjáborðsstillingu á öðrum skjáum."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Endurræsingar er krafist til að kveikja á stuðningi við glugga á frjálsu sniði."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Endurræsingar er krafist til að uppfæra tiltækileika glugga á frjálsu sniði."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Endurræsingar er krafist til að virkja glugga á frjálsu sniði á aukaskjáum."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Endurræsa núna"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Endurræsa seinna"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Rýmishljóð"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Rós"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Blárauður"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Fjólublár"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Lokið"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Vista"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Hætta við"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Sjálfgefið"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Miðlungs"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Kveikt"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Slökkt"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Kveikt"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Hljóð: %1$d%% vinstri, %2$d%% hægri"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Hljóð: %1$d%% hægri, %2$d%% vinstri"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Heiti tækisins er sýnilegt uppsettum forritum. Heiti þess er hugsanlega einnig sýnilegt öðru fólki þegar þú tengist Bluetooth-tækjum, WiFi-neti eða setur upp heitan WiFi-reit."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Kyn"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Veldu kyn"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Hljóðdeiling stöðvuð"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Tengdu samhæft tæki"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Til að byrja að deila hljóði skaltu fyrst tengja heyrnartól fyrir LE-hljóð við símann"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Skipta yfir í <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Tengjast LE-hljóðstreymi"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Nálæg hljóðstreymi"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Hljóðstreymi"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Hlusta á streymi"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Skannaðu QR-kóða hljóðstreymis til að hlusta með <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Ekki hægt að breyta aðgangsorði á meðan deilt er. Til að breyta aðgangsorðinu skaltu fyrst slökkva á hljóðdeilingu."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR-kóðaskanni"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Þarftu aðstoð?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Leitarstillingar"</string>
 </resources>
diff --git a/res/values-it-feminine/strings.xml b/res/values-it-feminine/strings.xml
new file mode 100644
index 0000000..e316721
--- /dev/null
+++ b/res/values-it-feminine/strings.xml
@@ -0,0 +1,32 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="show_dev_countdown" msgid="2936506773086395069">"{count,plural, =1{Ti manca # passaggio per diventare sviluppatrice.}other{Ti mancano # passaggi per diventare sviluppatrice.}}"</string>
+    <string name="show_dev_on" msgid="2840850085134853754">"Ora sei una sviluppatrice."</string>
+    <string name="show_dev_already" msgid="7041756429707644630">"Non è necessario, sei già una sviluppatrice."</string>
+    <string name="language_empty_list_user_restricted" msgid="8050367405839231863">"Non sei autorizzata a modificare la lingua del dispositivo."</string>
+    <string name="credentials_settings_not_available" msgid="7433088409177429600">"Le credenziali non sono disponibili per questa utente"</string>
+    <string name="vpn_replace_always_on_vpn_disable_message" msgid="4299175336198481106">"Sei già connessa a una rete VPN sempre attiva. Se ti connetti a un\'altra rete, la rete VPN attuale verrà sostituita e la modalità sempre attiva verrà disattivata."</string>
+    <string name="vpn_replace_vpn_message" msgid="1094297700371463386">"Sei già connessa a una rete VPN. Se ti connetti a un\'altra rete, la VPN attuale verrà sostituita."</string>
+    <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Seleziona un profilo VPN a cui rimanere sempre connessa. Il traffico di rete sarà consentito solo quando sei connessa a questa VPN."</string>
+    <string name="user_owner" msgid="2079206733011361994">"Proprietaria"</string>
+    <string name="user_admin" msgid="4024553191395768119">"Amministratrice"</string>
+    <string name="user_confirm_remove_self_title" msgid="926265330805361832">"Eliminare te stessa?"</string>
+    <string name="user_adding_new_user" msgid="7439602720177181412">"Aggiunta nuova utente…"</string>
+    <string name="user_revoke_admin_confirm_message" msgid="9207187319308572958">"Se rimuovi i privilegi amministrativi per questa utente, tu o un altro amministratore potrete concederglieli di nuovo in un secondo momento."</string>
+</resources>
diff --git a/res/values-it-masculine/strings.xml b/res/values-it-masculine/strings.xml
new file mode 100644
index 0000000..774dd5e
--- /dev/null
+++ b/res/values-it-masculine/strings.xml
@@ -0,0 +1,32 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="show_dev_countdown" msgid="2936506773086395069">"{count,plural, =1{Ti manca # passaggio per diventare sviluppatore.}other{Ti mancano # passaggi per diventare sviluppatore.}}"</string>
+    <string name="show_dev_on" msgid="2840850085134853754">"Ora sei uno sviluppatore."</string>
+    <string name="show_dev_already" msgid="7041756429707644630">"Non è necessario, sei già uno sviluppatore."</string>
+    <string name="language_empty_list_user_restricted" msgid="8050367405839231863">"Non sei autorizzato a modificare la lingua del dispositivo."</string>
+    <string name="credentials_settings_not_available" msgid="7433088409177429600">"Le credenziali non sono disponibili per questo utente"</string>
+    <string name="vpn_replace_always_on_vpn_disable_message" msgid="4299175336198481106">"Sei già connesso a una rete VPN sempre attiva. Se ti connetti a un\'altra rete, la rete VPN attuale verrà sostituita e la modalità sempre attiva verrà disattivata."</string>
+    <string name="vpn_replace_vpn_message" msgid="1094297700371463386">"Sei già connesso a una rete VPN. Se ti connetti a un\'altra rete, la VPN attuale verrà sostituita."</string>
+    <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Seleziona un profilo VPN a cui rimanere sempre connesso. Il traffico di rete sarà consentito solo quando sei connesso a questa VPN."</string>
+    <string name="user_owner" msgid="2079206733011361994">"Proprietario"</string>
+    <string name="user_admin" msgid="4024553191395768119">"Amministratore"</string>
+    <string name="user_confirm_remove_self_title" msgid="926265330805361832">"Eliminare te stesso?"</string>
+    <string name="user_adding_new_user" msgid="7439602720177181412">"Aggiunta nuovo utente…"</string>
+    <string name="user_revoke_admin_confirm_message" msgid="9207187319308572958">"Se rimuovi i privilegi amministrativi per questo utente, tu o un altro amministratore potrete concederglieli di nuovo in un secondo momento."</string>
+</resources>
diff --git a/res/values-it-neuter/strings.xml b/res/values-it-neuter/strings.xml
new file mode 100644
index 0000000..dd0f103
--- /dev/null
+++ b/res/values-it-neuter/strings.xml
@@ -0,0 +1,32 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="show_dev_countdown" msgid="2936506773086395069">"{count,plural, =1{Ti manca # passaggio per diventare sviluppatorə.}other{Ti mancano # passaggi per diventare sviluppatorə.}}"</string>
+    <string name="show_dev_on" msgid="2840850085134853754">"Ora sei unə sviluppatorə."</string>
+    <string name="show_dev_already" msgid="7041756429707644630">"Non è necessario, sei già unə sviluppatorə."</string>
+    <string name="language_empty_list_user_restricted" msgid="8050367405839231863">"Non sei autorizzatə a modificare la lingua del dispositivo."</string>
+    <string name="credentials_settings_not_available" msgid="7433088409177429600">"Le credenziali non sono disponibili per questə utente"</string>
+    <string name="vpn_replace_always_on_vpn_disable_message" msgid="4299175336198481106">"Sei già connessə a una rete VPN sempre attiva. Se ti connetti a un\'altra rete, la rete VPN attuale verrà sostituita e la modalità sempre attiva verrà disattivata."</string>
+    <string name="vpn_replace_vpn_message" msgid="1094297700371463386">"Sei già connessə a una rete VPN. Se ti connetti a un\'altra rete, la VPN attuale verrà sostituita."</string>
+    <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Seleziona un profilo VPN a cui rimanere sempre connessə. Il traffico di rete sarà consentito solo quando sei connessə a questa VPN."</string>
+    <string name="user_owner" msgid="2079206733011361994">"Proprietariə"</string>
+    <string name="user_admin" msgid="4024553191395768119">"Amministratorə"</string>
+    <string name="user_confirm_remove_self_title" msgid="926265330805361832">"Eliminare te stessə?"</string>
+    <string name="user_adding_new_user" msgid="7439602720177181412">"Aggiunta nuovə utente…"</string>
+    <string name="user_revoke_admin_confirm_message" msgid="9207187319308572958">"Se rimuovi i privilegi amministrativi per questə utente, tu o un altro amministratore potrete concederglieli di nuovo in un secondo momento."</string>
+</resources>
diff --git a/res/values-it/arrays.xml b/res/values-it/arrays.xml
index b2cabe8..7c6fdf1 100644
--- a/res/values-it/arrays.xml
+++ b/res/values-it/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Riposo"</item>
-    <item msgid="4152450357280759894">"Alla guida"</item>
-    <item msgid="7096549258219399423">"Immersiva"</item>
-    <item msgid="2760716776980432977">"Gestita"</item>
-    <item msgid="601734478369121764">"Stella"</item>
-    <item msgid="6243809315432780521">"Calendario"</item>
-    <item msgid="4913577903148415331">"Tempo"</item>
-    <item msgid="3653377604690057780">"Teatro"</item>
-    <item msgid="3843711267408385410">"Fiore"</item>
+    <item msgid="1216815120972438676">"Valigetta"</item>
+    <item msgid="184985872234062767">"Edificio classico"</item>
+    <item msgid="9189550412466785530">"Condominio"</item>
+    <item msgid="2142527562511049422">"Fumetto"</item>
+    <item msgid="2548100558260478605">"Gruppo di persone"</item>
+    <item msgid="2270003903304578284">"Lampadina"</item>
+    <item msgid="4793496619091161864">"Calendario"</item>
+    <item msgid="5673625795644364100">"Non disturbare"</item>
+    <item msgid="1423820834865831361">"Persona che corre"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Manubrio da palestra"</item>
+    <item msgid="2730180105015616518">"Nuoto"</item>
+    <item msgid="2666922823253345958">"Persona che fa un\'escursione"</item>
+    <item msgid="8234880356472211396">"Persona che lancia una palla"</item>
+    <item msgid="4642980625253001443">"Persona che tira un calcio"</item>
+    <item msgid="4324795269518833500">"Controller di gioco"</item>
+    <item msgid="7789966425125441125">"Tavolozza dei colori da artista"</item>
+    <item msgid="663512680597461570">"Fiocco di neve"</item>
+    <item msgid="7952183800501346803">"Ombrellone da spiaggia"</item>
+    <item msgid="799139025758265891">"Strumenti per il workshop"</item>
+    <item msgid="1330084588359129896">"Tenda"</item>
+    <item msgid="3861584909935022342">"Pellicola"</item>
+    <item msgid="5827426100157335512">"Libro"</item>
+    <item msgid="8585828346253128384">"Fiore di loto"</item>
+    <item msgid="8788370542815300188">"Mente di una persona"</item>
+    <item msgid="7287354964767553293">"Cuffie"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Treno"</item>
+    <item msgid="4903790544026923026">"Auto"</item>
+    <item msgid="5010405583912314582">"Forchetta e coltello"</item>
+    <item msgid="8939998598599064900">"Carrello"</item>
+    <item msgid="3379605903308731893">"Figlio"</item>
+    <item msgid="7808668968550293112">"Zampa di animale"</item>
+    <item msgid="1000692647524056504">"Badge a forma di stella"</item>
+    <item msgid="8270261073421676502">"Due persone"</item>
+    <item msgid="5767782819651505460">"Stella"</item>
+    <item msgid="4368451291862729334">"Cuore"</item>
+    <item msgid="2613199102208419986">"Casa"</item>
+    <item msgid="3022279986430275040">"Mezza luna"</item>
+    <item msgid="5421089790869483206">"Orologio"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index d998da0..903f9b5 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Sospeso"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Sconosciuto"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Anteprima"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"Codice QR"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Sempre"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Impostazioni protesi uditive"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Scorciatoia, compatibilità con apparecchi acustici"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Preset"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Non sono presenti preset programmati dal tuo audiologo"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Impossibile aggiornare preset"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Uscita audio"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Informazioni su uscita audio"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"La selezione della lingua per questa app non è disponibile nelle Impostazioni."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"La lingua potrebbe essere diversa dalle lingue disponibili nell\'app. Alcune app potrebbero non supportare questa impostazione."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Imposta la lingua di ogni app."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Per il sistema, le app e i siti web viene usata la prima lingua supportata delle tue lingue preferite."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Per il dispositivo, le app e i siti web viene usata la prima lingua supportata dell\'elenco delle tue lingue preferite.\n\nPer molte app verrà usata anche la regione della tua lingua preferita per inserire il formato corretto di date, numeri e unità. Per modificare la regione, aggiungi una lingua e scegli la regione che preferisci."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Per selezionare una lingua per ogni app, vai alle impostazioni della lingua delle app."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Scopri di più sulle lingue delle app"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Impostare la lingua di sistema in %s?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Off"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{On / # app ha accesso alla posizione}other{On / # app hanno accesso alla posizione}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Caricamento…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Le app con l\'autorizzazione Dispositivi nelle vicinanze possono stabilire la posizione relativa dei dispositivi connessi."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Le app con autorizzazione di accesso ai dispositivi nelle vicinanze possono stabilire la posizione relativa dei dispositivi connessi."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"L\'accesso alla posizione è disattivato per app e servizi. La posizione del dispositivo potrebbe essere comunque inviata ai servizi di emergenza se chiami o invii un SMS a un numero di emergenza."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Scopri di più sulle impostazioni di geolocalizzazione"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Per apportare modifiche, vai alle Impostazioni di ChromeOS &gt; Privacy e sicurezza &gt; Controlli per la privacy &gt; Accesso alla posizione"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Volto e <xliff:g id="WATCH">%s</xliff:g> aggiunti"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Volto, impronta e <xliff:g id="WATCH">%s</xliff:g> aggiunti"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Volto, impronte e <xliff:g id="WATCH">%s</xliff:g> aggiunti"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"La verifica dell\'identità è attiva e richiede un metodo di verifica biometrico"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Sblocco Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Smartwatch aggiunto"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Configura l\'orologio"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Scopri di più su Sblocco dall\'orologio"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Aggiungi smartwatch"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Rimuovi smartwatch"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Sblocco con il Volto e l\'Impronta"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Sblocco con il Volto e con l\'Impronta"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Sblocco con il Volto e l\'Impronta per lavoro"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Configurazione richiesta"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Impronte e volto aggiunti"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Configurazione dello spazio privato in corso…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Impossibile configurare uno spazio privato"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Riprova"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Esci"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Lo spazio privato non è disponibile.\nVisualizza le possibili cause"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Visualizza le possibili cause"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Scegliere un nuovo blocco per lo spazio privato?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Puoi impostare un nuovo blocco solo per lo spazio privato o mantenere lo stesso che usi per sbloccare il dispositivo"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Usa il blocco schermo"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Quando il Bluetooth è attivo, il dispositivo può comunicare con altri dispositivi Bluetooth nelle vicinanze.\n\nPer migliorare l\'esperienza sul dispositivo, app e servizi possono comunque cercare dispositivi nelle vicinanze in qualsiasi momento, anche quando il Bluetooth non è attivo. Questo può essere utile, ad esempio, per migliorare funzionalità e servizi basati sulla posizione. Puoi modificare questa opzione nelle impostazioni relative alla scansione Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Quando il Bluetooth è attivato, il tuo dispositivo può comunicare con altri dispositivi Bluetooth che si trovano nelle vicinanze. Funzionalità come Quick Share e Trova il mio dispositivo usano il Bluetooth.\n\nApp e servizi possono comunque cercare dispositivi nelle vicinanze in qualsiasi momento, anche quando il Bluetooth non è attivo. Questo può essere utile, ad esempio, per migliorare funzionalità e servizi basati sulla posizione. Puoi modificare questa opzione nelle impostazioni di ricerca di dispositivi Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Modifica"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Dettagli dispositivo"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Impostazioni tastiera"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Altre impostazioni"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Aggiornamenti firmware, informazioni e altro"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Suggerimenti e assistenza"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Indirizzo Bluetooth del dispositivo: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Indirizzo Bluetooth del dispositivo:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Eliminare il dispositivo?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Sperimentale. Migliora la qualità audio."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Elimina dispositivo"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Scollega app"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Altre impostazioni"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Numero max dispositivi audio Bluetooth connessi"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Seleziona il numero massimo di dispositivi audio Bluetooth connessi"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Log di debug di fornitori dettagliato NFC"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Vuoi riavviare il dispositivo?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Il logging NFC dettagliato è a solo scopo di sviluppo. Vengono inclusi dati NFC aggiuntivi nelle segnalazioni di bug, che potrebbero contenere informazioni private. Riavvia il dispositivo per cambiare questa impostazione."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Riavvia"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"On"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Off"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Display esterno"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Usa display esterno"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Risoluzione del display"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Display esterno disconnesso"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Rotazione"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standard"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Se modifichi la rotazione o la risoluzione, le eventuali app in esecuzione potrebbero interrompersi"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Il dispositivo deve essere connesso a un display esterno per eseguire il mirroring dello schermo"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Altre opzioni"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Trasmissione"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"mirroring"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Attiva display wireless"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adattivi"</string>
     <string name="brightness" msgid="6216871641021779698">"Livello di luminosità"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Luminosità adattiva"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Informazioni sulla luminosità adattiva"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"La luminosità dello schermo verrà regolata automaticamente in base all\'ambiente e alle attività. Puoi spostare manualmente il cursore per far sì che la luminosità adattiva memorizzi le tue preferenze."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"On"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Off"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Utilizzare <xliff:g id="CARRIER">%1$s</xliff:g> per i dati mobili?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Al momento utilizzi <xliff:g id="CARRIER2_0">%2$s</xliff:g> per i dati mobili. Se passi a <xliff:g id="CARRIER1">%1$s</xliff:g>, <xliff:g id="CARRIER2_1">%2$s</xliff:g> non verrà più utilizzato per i dati mobili."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Usa <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Vuoi aggiornare SIM preferita?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> è l\'unica SIM del tuo dispositivo. Vuoi utilizzarla per dati mobili, chiamate e SMS?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> è ora la tua SIM principale"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Migliorare i dati mobili?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Consenti al dispositivo di passare automaticamente a <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> per i dati mobili quando ha una migliore disponibilità."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Chiamate, messaggi e traffico di rete potrebbero essere visibili alla tua organizzazione."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Opzioni"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibilità"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Tastiera fisica"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Usa tastiera sullo schermo"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Tienila sullo schermo quando è attiva la tastiera fisica"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Tasti rimbalzati"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"La tastiera ignora pressioni ripetute velocemente dello stesso tasto entro <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Tasti lenti"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Regola il tempo di risposta per la pressione di un tasto su <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Tasti permanenti"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Premi un tasto alla volta per le scorciatoie invece di tenere premuti più tasti contemporaneamente"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Tasti del mouse"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Usa la tastiera fisica per controllare il mouse"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Scorciatoie da tastiera"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Mostra l\'elenco di scorciatoie"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tastiere e strumenti del profilo di lavoro"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Personalizza singoli gesti di navigazione con il touchpad"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Scorrimento invertito"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"I contenuti si spostano in alto quando scorri verso il basso"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Tocco in basso a destra"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Per più opzioni tocca l\'angolo destro in basso del touchpad"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Clic in basso a destra"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Per altre opzioni, fai clic sull\'angolo inferiore destro touchpad"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Velocità del puntatore"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Stile riempimento puntatore"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Cambia riempim. puntatore in nero"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Cambia riempim. puntatore in giallo"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Cambia riempim. puntatore in rosa"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Cambia riempim. puntatore in blu"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Stile tratto puntatore"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Bianco"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Nero"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Nessuno"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Impara i gesti con il touchpad"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"trackpad, track pad, mouse, cursore, scorrimento, scorrere, clic con il tasto destro del mouse, clic, puntatore"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"clic con il tasto destro del mouse, tocco"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Reimposta"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Scegli un tasto di modifica"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Scegli un nuovo tasto per <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Layout <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Predefinito"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatico: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Selezionato dall\'utente: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Voce"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Velocità del puntatore"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Scala puntatore"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Diminuisci scala puntatore"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Aumenta scala puntatore"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Controller di gioco"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Reindirizza vibrazione"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Invia la vibrazione al controller di gioco quando è collegato"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continua comunque"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Annulla"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Impostazioni ingrandimento"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Panning con un dito"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Muovi Lente d\'ingrandimento con 1 dito"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Trascina 1 dito per spostarti nella schermata"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Sposta l\'area di ingrandimento trascinando un dito."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Sposta l\'area di ingrandimento trascinando due dita."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Non disponibile quando viene ingrandita solo una parte dello schermo"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tocca un pulsante per eseguire lo zoom"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Aumenta velocemente lo zoom sullo schermo per ingrandire i contenuti"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Per aumentare lo zoom:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Usa la scorciatoia per avviare l\'ingrandimento&lt;br/&gt; {1,number,integer}. Tocca lo schermo&lt;br/&gt; {2,number,integer}. Trascina 2 dita per spostarti sullo schermo&lt;br/&gt; {3,number,integer}. Pizzica con 2 dita per regolare lo zoom&lt;br/&gt; {4,number,integer}. Usa la scorciatoia per interrompere l\'ingrandimento&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Per aumentare lo zoom temporaneamente:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Assicurati che sia impostato il tipo di ingrandimento a schermo intero&lt;br/&gt; {1,number,integer}. Usa la scorciatoia per avviare l\'ingrandimento&lt;br/&gt; {2,number,integer}. Tocca e tieni premuto un punto qualsiasi dello schermo&lt;br/&gt; {3,number,integer}. Trascina il dito per spostarti sullo schermo&lt;br/&gt; {4,number,integer}. Solleva il dito per interrompere l\'ingrandimento"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Per aumentare lo zoom:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Usa la scorciatoia per avviare l\'ingrandimento.&lt;br/&gt; {1,number,integer}. Tocca lo schermo.&lt;br/&gt; {2,number,integer}. Trascina 2 dita per spostarti sullo schermo.&lt;br/&gt; {3,number,integer}. Pizzica con 2 dita per regolare lo zoom.&lt;br/&gt; {4,number,integer}. Utilizza la scorciatoia per interrompere l\'ingrandimento&lt;br/&gt;&lt;br/&gt; Puoi anche aumentare lo zoom temporaneamente e altro ancora."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Per aumentare lo zoom:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Usa la scorciatoia per avviare l\'ingrandimento.&lt;br/&gt; {1,number,integer}. Tocca lo schermo.&lt;br/&gt; {2,number,integer}. Trascina 1 o 2 dita per spostarti sullo schermo&lt;br/&gt; {3,number,integer}. Pizzica con 2 dita per regolare lo zoom.&lt;br/&gt; {4,number,integer}. Utilizza la scorciatoia per interrompere l\'ingrandimento&lt;br/&gt;&lt;br/&gt; Puoi anche aumentare lo zoom temporaneamente e altro ancora."</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_pager" msgid="8461939455728454061">"Pagina <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> di <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Scorciatoia pulsante Accessibilità"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Tocca il pulsante mobile"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Gesto di accessibilità"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Tocca il pulsante Accessibilità <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> nella parte inferiore dello schermo. Per spostarti tra le funzionalità, tocca e tieni premuto il pulsante Accessibilità."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Scorri verso l\'alto dalla parte inferiore dello schermo con due dita.\n\nPer spostarti tra le funzionalità, scorri verso l\'alto con due dita e tieni premuto."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Scorri verso l\'alto dalla parte inferiore dello schermo con tre dita.\n\nPer spostarti tra le funzionalità, scorri verso l\'alto con tre dita e tieni premuto."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Scorri verso l\'alto dalla parte inferiore dello schermo. Per spostarti tra le funzionalità, scorri verso l\'alto e tieni premuto.}other{Scorri verso l\'alto con # dita dalla parte inferiore dello schermo. Per spostarti tra le funzionalità, scorri verso l\'alto con # dita e tieni premuto.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Altre opzioni"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Scopri di più su <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Tasti del volume"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"tasti del volume"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Tieni premuti entrambi i tasti del volume"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Tocca due volte lo schermo con due dita"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Tocca due volte con %1$d dita"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Tocca rapidamente lo schermo due volte con %1$d dita"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Tocca tre volte"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Tocca rapidamente lo schermo %1$d volte. L\'operazione potrebbe rallentare il dispositivo."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Tocca due volte con %1$d dita"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Tocca rapidamente lo schermo {0,number,integer} volte con due dita"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Tocca 3 volte lo schermo"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"tocca tre volte"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Tocca lo schermo {0,number,integer} volte in rapida successione. 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Impostazioni scorciatoie"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Scorciatoia da schermata di blocco"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Consenti di attivare la scorciatoia alla funzionalità dalla schermata di blocco. Tieni premuti entrambi i tasti del volume per qualche secondo."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Pulsante Accessibilità"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Gesto e pulsante Accessibilità"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Questo servizio non funziona correttamente."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Scorciatoie di accessibilità"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Mostra in Impostazioni rapide"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rosso-verde"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Rosso-verde"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Rosso-verde, ridotta percezione del verde"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Rosso-verde, ridotta percezione del rosso"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blu-giallo"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Scala di grigi"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensità"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Ridotta percezione del verde, deuteranomalia"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Ridotta percezione del rosso, protanomalia"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Non disponibile per la modalità Scala di grigi o quando la correzione del colore è disattivata"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Attenuazione extra"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Usa l\'attenuazione extra per lo schermo"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Ciano"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Giallo"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Vuoi consentire a <xliff:g id="SERVICE">%1$s</xliff:g> di avere il controllo totale del tuo dispositivo?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> deve:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Un\'app sta oscurando una richiesta di autorizzazione, pertanto Impostazioni non può verificare la tua risposta."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> richiede il totale controllo di questo dispositivo. Il servizio può leggere i contenuti sullo schermo e agire per conto di utenti con esigenze di accessibilità. Questo livello di controllo non è appropriato per la maggior parte delle app."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Il controllo totale è appropriato per le app che rispondono alle tue esigenze di accessibilità, ma non per gran parte delle app."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Visualizzare e controllare lo schermo"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Può leggere tutti i contenuti presenti sullo schermo e mostrare i contenuti sopra altre app."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Visualizzare ed eseguire azioni"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Può tenere traccia delle tue interazioni con un\'app o un sensore hardware e interagire con app per tuo conto."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Consenti"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Rifiuta"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Disattiva"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"On/<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> e <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Puoi anche attivare l\'audio spaziale per i dispositivi Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Impostazioni dispositivi connessi"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Audio spaziale"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Off"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Off"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Off"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Nessuna}=1{1 pianificazione impostata}other{# pianificazioni impostate}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Non disturbare"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Modalità priorità"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Aggiungi una modalità"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Modalità"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Riduci al minimo le distrazioni e tieni sotto controllo il livello della tua attenzione con le modalità per dormire, lavorare, guidare e qualsiasi altra cosa."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Crea la tua modalità"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Ricevi soltanto le notifiche di app e persone importanti"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Imposta una programmazione"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Programmazione basata su"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Giorno e ora"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"9:00-17:00, giorni feriali\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Eventi nel calendario"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} è attiva}=2{{mode_1} e {mode_2} sono attive}=3{{mode_1}, {mode_2} e {mode_3} sono attive}other{{mode_1}, {mode_2} e altre # sono attive}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{Può essere attivata automaticamente 1 modalità}other{Possono essere attivate automaticamente # modalità}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ON"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Non impostata"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Disattivata"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Crea una modalità"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Personalizzato"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Attiva ora"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Disattiva"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Modalità non trovata"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitare le interruzioni"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Blocca le interruzioni e le distrazioni"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Configura <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Attiva Non disturbare"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Sveglie e suoni multimediali possono interrompere"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Pianificazioni"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Elimina pianificazioni"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Elimina"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Rinomina"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Elimina"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Vuoi eliminare la modalità \"<xliff:g id="MODE">%1$s</xliff:g>\"?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Modifica"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Pianificazioni"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Pianificazione"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Attiva automaticamente"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Aggiungi un calendario"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Utilizza il calendario"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Programma"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Imposta una programmazione"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Quando l\'attivazione deve essere automatica"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Programmazione dell\'evento"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Attiva durante gli eventi per"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Dov\'è la risposta dell\'invito"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Programmazione dell\'orario"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Programmazione"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h, <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Pianificazione"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Consenti le interruzioni sonore"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Notifiche che possono arrivarti"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Azioni aggiuntive"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Filtri per le notifiche"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Altre impostazioni"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Off}=1{Off/Può essere attivata automaticamente 1 modalità}other{Off/Possono essere attivate automaticamente # modalità}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Impostazioni di visualizzazione"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Opzioni di visualizzazione"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Scala di grigi"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"attiva tema scuro"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Scegli l\'opzione Testo chiaro su sfondo scuro per il sistema operativo e le app per non stancare gli occhi e consentire un notevole risparmio della batteria su alcuni dispositivi"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Nessuna modifica del display}=1{{effect_1}}=2{{effect_1} e {effect_2}}=3{{effect_1}, {effect_2} e {effect_3}}other{{effect_1}, {effect_2} e altri #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Consenti tutte le notifiche"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Persone, app e suoni possono interrompere"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Mostra opzioni per le notifiche filtrate"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Quando è attiva la modalità Non disturbare"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Notifiche senza audio"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"viene aperta la notifica"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Consenti posticipazione delle notifiche"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Indicatore di notifica su icona app"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Bundle di notifiche"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bolle"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bolle"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Mostra conversazione sotto forma di bolla"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Può rispondere ai messaggi e agire sui pulsanti nelle notifiche, ad esempio posticipare o ignorare le notifiche e rispondere alle chiamate."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Modificare le impostazioni"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Può attivare o disattivare la funzionalità Non disturbare e modificare le relative impostazioni."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Può gestire e attivare le modalità e modificare le relative impostazioni."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Se disattivi l\'accesso alle notifiche per <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, potrebbe essere disattivato anche l\'accesso alla funzione Non disturbare."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Se disattivi l\'accesso alle notifiche per <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, potrebbe essere disattivato anche l\'accesso alle modalità."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Disattiva"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Annulla"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"In tempo reale"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Questa app non supporta le impostazioni avanzate"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Altre impostazioni"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Altre impostazioni sono disponibili all\'interno di quest\'app"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Notifiche adattive"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Usa le notifiche adattive"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Quando ricevi molte notifiche in un breve periodo di tempo, lo smartphone abbasserà il volume e ridurrà al minimo i popup sullo schermo per un massimo di due minuti. Chiamate, sveglie e conversazioni prioritarie continueranno a essere segnalate con vibrazione, suoneria o verranno mostrate sullo schermo. Tutte le notifiche possono essere trovate facilmente scorrendo verso il basso dalla parte superiore dello schermo."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Attenuazione delle notifiche"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Usa attenuazione delle notifiche"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Quando ricevi molte notifiche in un breve periodo di tempo, il dispositivo abbasserà il volume e ridurrà al minimo gli avvisi per un massimo di 2 minuti. Non ci sono ripercussioni su chiamate, sveglie e conversazioni prioritarie. \n\nLe notifiche ricevute durante l\'attenuazione possono essere trovare facendo scorrere lo schermo dall\'alto verso il basso."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Applica ai profili di lavoro"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Applica alle app del profilo di lavoro"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Servizi di supporto VR"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Accesso Non disturbare"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Consenti \"Non disturbare\""</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Nessuna delle app installate ha richiesto l\'accesso Non disturbare"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Accesso alle modalità"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Consenti l\'accesso alle modalità"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Nessuna delle app installate ha richiesto l\'accesso alle modalità"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Non hai consentito le notifiche da questa app"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Come richiesto, Android sta bloccando la visualizzazione di questa categoria di notifiche su questo dispositivo"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Come richiesto, Android sta bloccando la visualizzazione di questo gruppo di notifiche su questo dispositivo"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Categorie"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Altro"</string>
     <string name="no_channels" msgid="4716199078612071915">"L\'app non ha pubblicato alcuna notifica"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Mostra le categorie inutilizzate"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Altre impostazioni nell\'app"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Mostra le categorie inutilizzate"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Nascondi le categorie inutilizzate"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversazioni"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Tutte le conversazioni"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"tutte le conversazioni"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Conversazioni prioritarie"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"Conversazioni prioritarie"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Nessuna"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"App che possono interrompere"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"App selezionate"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Nessuna"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Tutte"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Nessuna app può interrompere}=1{{app_1} può interrompere}=2{{app_1} e {app_2} possono interrompere}=3{{app_1}, {app_2} e {app_3} possono interrompere}other{{app_1}, {app_2} e altre # possono interrompere}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (lavoro)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Calcolo in corso…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Consenti alle app di ignorarla"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"App che possono interrompere"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Seleziona altre app"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Niente può interrompere"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Nessuno può interrompere"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Alcune persone possono interrompere"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"I chiamanti ricorrenti possono interrompere"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Tutte le persone possono interrompere"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Chiamate ripetute"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Consenti chiamate ripetute"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Passa alla modalità Solo sveglie per un\'ora, fino alle ore {time}}other{Passa alla modalità Solo sveglie per # ore, fino alle ore {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Cambia su Solo sveglie fino alle <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Cambia su Interrompi sempre"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Rinomina"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Modifica icona"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Modifica icona"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Modalità di modifica"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Crea una modalità"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Modalità personalizzata"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Nome della modalità"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Eventi nel calendario"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Routine Buonanotte"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Durante la guida"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Impostazioni app"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Informazioni e impostazioni in <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Funzionalità gestita dall\'app <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Disattivare <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Questa modalità non si attiverà mai se disattivata"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Disattiva"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Attivare <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Questa modalità potrebbe attivarsi automaticamente in base alle relative impostazioni"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Attiva"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Imposta una modalità che segua una programmazione regolare"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Imposta una modalità per sincronizzare gli eventi nel calendario e le risposte agli inviti"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Progetta una routine del sonno rilassante. Imposta sveglie, diminuisci la luminosità dello schermo e blocca le notifiche."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Dai la priorità alla sicurezza sulla strada per una guida concentrata e priva di distrazioni"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Elimina le distrazioni e le interruzioni dal tuo dispositivo per ottenere la concentrazione"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Elimina tutte le distrazioni per un ambiente tranquillo"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Personalizza le esperienze e le impostazioni sui dispositivi per i vari utenti"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Riduci al minimo le interruzioni consentendo solo alle app e alle persone importanti di raggiungerti"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Imposta una modalità che segua una programmazione regolare"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Mantieni il dispositivo sincronizzato con gli eventi della giornata"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Svegliarsi al 100%"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Metti la sicurezza al primo posto quando sei in strada"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Concentrati per entrare nella zona"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Per i momenti in cui la cortesia è importante"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Utilizzo guidato per aiutarti a rimanere in buone mani"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Assumi il controllo della tua attenzione"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Avviso"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Chiudi"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Invia feedback sul dispositivo"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Deve rimanere attivo perché è attivo l\'accesso alle notifiche"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Revocare l\'accesso alla regola Non disturbare per l\'app <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Tutte le regole Non disturbare create da questa app saranno rimosse."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Vuoi consentire l\'accesso alle modalità per <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"L\'app potrà attivare/disattivare Non disturbare, gestire e attivare le modalità e apportare modifiche alle impostazioni correlate."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Tutte le modalità create da questa app verranno rimosse."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Non ottimizzare"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Ottimizza"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"La batteria potrebbe scaricarsi più rapidamente. L\'uso della batteria in background non sarà più impedito all\'app."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Custodia"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Batteria"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Riquadro delle impostazioni"</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_desktop_mode" msgid="5644818402534562302">"Attiva finestre a forma libera"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Attiva finestre forma libera su display secondario"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Attiva app non ridimensionabili in multi-finestra"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Consente la presenza di app non ridimensionabili in modalità multi-finestra"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Esegui override modalità Buio forzata"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"dati mobili"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Per migliorare l\'esperienza con il dispositivo, le app e i servizi possono continuare a cercare reti Wi-Fi in qualsiasi momento, anche quando la connessione Wi-Fi non è attiva. Questo può essere utile, ad esempio, per migliorare funzionalità e servizi basati sulla posizione geografica. Puoi modificare questa preferenza nelle impostazioni relative alla ricerca di reti Wi-Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Modifica"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Connessa"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Connessa temporaneamente"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Utilizza temporaneamente <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Usa Blocco app su schermo"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Usa Opzioni sviluppatore"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Usa servizio di stampa"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Consenti utenti multipli"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Consenti cambio utente"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"consentire, multiplo, utente, autorizzare, molti"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"più, utenti, profili, persone, account, sensore, molti"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Usa debug wireless"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> vorrebbe connettersi a questo telefono.\n\nNon hai mai effettuato la connessione al dispositivo <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Non connettere"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Connetti"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Impostazioni TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"On"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Off"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Ripristina le impostazioni predefinite"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Impostazioni predefinite ripristinate."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Saldo massimo con batteria carica"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Saldi"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Limiti di consumo"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Limite di consumo iniziale"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Limite di consumo minimo"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Limite di consumo massimo"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modificatori"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Azioni (Costo di produzione)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Azioni (Prezzo base)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Premi per singolo evento"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Premi per secondo di durata dell\'evento"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Numero massimo di premi al giorno"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Installazione di app"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Prima attività"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Notifica visualizzata"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Notifica visualizzata entro 15 minuti"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interazione con una notifica"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Interazione con un widget"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Un\'altra interazione dell\'utente"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Inizio processo massima priorità"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Esecuzione processo massima priorità"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Inizio processo priorità elevata"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Esecuzione processo priorità elevata"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Inizio processo priorità predefinita"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Esecuzione processo priorità predefinita"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Inizio processo bassa priorità"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Esecuzione processo bassa priorità"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Inizio processo priorità minima"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Esecuzione processo priorità minima"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Penalità per timeout processo"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Saldo minimo con dispositivo completamente carico (app esenti)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Saldo minimo con dispositivo completamente carico (app di sistema headless)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Saldo minimo con dispositivo completamente carico (app rimanenti)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Aggiunta di saldo minimo se completamente carico (aggiornatori di app)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"In carica"</item>
-    <item msgid="658627268149681677">"Sospensione"</item>
-    <item msgid="1599558140284643834">"Modalità di risparmio energetico"</item>
-    <item msgid="588427840913221601">"Stato processo"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Conferma"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Anteprima"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Scegli un salvaschermo"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Mostra informazioni aggiuntive"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Scegli cosa visualizzare sullo schermo quando il tablet è agganciato alla base. Il dispositivo potrebbe consumare più energia quando viene usato un salvaschermo."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Personalizza"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Personalizza <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"È necessario riavviare per attivare il supporto del formato libero."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"È necessario riavviare per forzare la modalità desktop su display secondari."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"È necessario il riavvio per attivare il supporto delle finestre senza un formato."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"È richiesto il riavvio per aggiornare la disponibilità delle finestre a forma libera."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"È richiesto il riavvio per attivare le finestre a forma libera sui display secondari."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Riavvia ora"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Riavvia più tardi"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Audio spaziale"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Rosa"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Viola"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Fine"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Salva"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Annulla"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Predefinito"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Medio"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"On"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Off"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"On"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Audio %1$d%% a sinistra, %2$d%% a destra"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Audio %1$d%% a destra, %2$d%% a sinistra"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Il nome del tuo dispositivo è visibile alle app installate. Potrebbe essere visibile anche ad altre persone quando ti connetti a dispositivi Bluetooth, a una rete Wi-Fi o configuri un hotspot Wi-Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Genere grammaticale"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Seleziona genere grammaticale"</string>
@@ -5300,6 +5365,8 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Condivisione audio interrotta"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Connetti a un dispositivo compatibile"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Per iniziare a condividere audio, prima devi connettere le cuffie LE audio allo smartphone"</string>
+    <!-- no translation found for audio_sharing_switch_active_button_label (3065600513067122124) -->
+    <skip />
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Collegati a uno stream LE audio"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Stream audio nelle vicinanze"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Stream audio"</string>
@@ -5343,4 +5410,8 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Ascolta lo stream"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Scansiona il codice QR di uno stream audio da ascoltare con <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Impossibile modificare la password durante la condivisione. Per modificarla, devi prima disattivare la condivisione audio."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Scanner codici QR"</string>
+    <!-- no translation found for audio_streams_qr_code_help_with_link (5542328067190486479) -->
+    <skip />
+    <string name="homepage_search" msgid="6759334912284663559">"Cerca in Impostazioni"</string>
 </resources>
diff --git a/res/values-iw/arrays.xml b/res/values-iw/arrays.xml
index 0c90335..6d19195 100644
--- a/res/values-iw/arrays.xml
+++ b/res/values-iw/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"מנוחה"</item>
-    <item msgid="4152450357280759894">"נהיגה"</item>
-    <item msgid="7096549258219399423">"ריכוז"</item>
-    <item msgid="2760716776980432977">"בשליטה"</item>
-    <item msgid="601734478369121764">"כוכב"</item>
-    <item msgid="6243809315432780521">"יומן"</item>
-    <item msgid="4913577903148415331">"שעה"</item>
-    <item msgid="3653377604690057780">"תיאטרון"</item>
-    <item msgid="3843711267408385410">"פרח"</item>
+    <item msgid="1216815120972438676">"תיק נשיאה"</item>
+    <item msgid="184985872234062767">"בניין קלאסי"</item>
+    <item msgid="9189550412466785530">"בניין מגורים"</item>
+    <item msgid="2142527562511049422">"בועת דיבור"</item>
+    <item msgid="2548100558260478605">"קבוצה של אנשים"</item>
+    <item msgid="2270003903304578284">"נורה"</item>
+    <item msgid="4793496619091161864">"יומן"</item>
+    <item msgid="5673625795644364100">"נא לא להפריע"</item>
+    <item msgid="1423820834865831361">"אדם רץ"</item>
+    <item msgid="2037298830718732608">"גולף"</item>
+    <item msgid="2197835014443491074">"משקולת יד דאמבל"</item>
+    <item msgid="2730180105015616518">"שחייה"</item>
+    <item msgid="2666922823253345958">"אדם בטיול רגלי"</item>
+    <item msgid="8234880356472211396">"אדם זורק כדור"</item>
+    <item msgid="4642980625253001443">"אדם בועט"</item>
+    <item msgid="4324795269518833500">"בקר משחקים"</item>
+    <item msgid="7789966425125441125">"לוח צבעים של אומן"</item>
+    <item msgid="663512680597461570">"פתית שלג"</item>
+    <item msgid="7952183800501346803">"שמשייה"</item>
+    <item msgid="799139025758265891">"כלי עבודה"</item>
+    <item msgid="1330084588359129896">"אוהל"</item>
+    <item msgid="3861584909935022342">"סרט צילום (פילם)"</item>
+    <item msgid="5827426100157335512">"ספר"</item>
+    <item msgid="8585828346253128384">"פרח לוטוס"</item>
+    <item msgid="8788370542815300188">"תודעה של אדם"</item>
+    <item msgid="7287354964767553293">"אוזניות"</item>
+    <item msgid="2530059623783800987">"טלוויזיה"</item>
+    <item msgid="5307182323469376758">"רכבת"</item>
+    <item msgid="4903790544026923026">"רכב"</item>
+    <item msgid="5010405583912314582">"סכין ומזלג"</item>
+    <item msgid="8939998598599064900">"עגלת קניות"</item>
+    <item msgid="3379605903308731893">"ילד/ה"</item>
+    <item msgid="7808668968550293112">"כפות של בעל חיים"</item>
+    <item msgid="1000692647524056504">"תג כוכב"</item>
+    <item msgid="8270261073421676502">"שני אנשים"</item>
+    <item msgid="5767782819651505460">"כוכב"</item>
+    <item msgid="4368451291862729334">"לב"</item>
+    <item msgid="2613199102208419986">"בית"</item>
+    <item msgid="3022279986430275040">"חצי ירח"</item>
+    <item msgid="5421089790869483206">"שעון"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 4670e54..9060614 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"בהשעיה"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"לא ידוע"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"תצוגה מקדימה"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"‏קוד QR"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"הקטנה"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"הגדלה"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"תמיד"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"ההגדרות של מכשיר השמיעה"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"קיצור דרך, תאימות למכשירי שמיעה"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"הגדרה קבועה מראש"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"לא תוכנתו הגדרות קבועות מראש על ידי האודיולוג שלך"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"לא ניתן לעדכן את ההגדרה הקבועה מראש"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"פלט אודיו"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"מידע על פלט האודיו"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"בחירות השפה לאפליקציה הזו לא זמינה בהגדרות."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"השפה עשויה להיות שונה מהשפות הזמינות באפליקציה. יכול להיות שחלק מהאפליקציות לא תומכות בהגדרה הזו."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"כאן מגדירים את השפה של כל אפליקציה."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"מערכת ההפעלה, אפליקציות ואתרים יוגדרו לשפה הנתמכת הראשונה מתוך השפות שציינת כמועדפות."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"המכשיר שלך, האפליקציות והאתרים יוגדרו לשפה הנתמכת הראשונה מתוך רשימת השפות שציינת כמועדפות.\n\nאפליקציות רבות גם יפעלו לפי האזור של השפה שציינת כמועדפת בפורמט של תאריכים, מספרים ויחידות. כדי לשנות את האזור, צריך להוסיף שפה ואז לבחור את האזור המועדף."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"כדי להגדיר ידנית את השפה של אפליקציות מסוימות, אפשר לעבור לדף \'שפות של אפליקציות\'."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"מידע נוסף על שפות של אפליקציות"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"‏לשנות את שפת המערכת ל-%s?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"כבוי"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{ההגדרה פועלת / לאפליקציה אחת (#) יש גישה למיקום}one{ההגדרה פועלת / ל-# אפליקציות יש גישה למיקום}two{ההגדרה פועלת / ל-# אפליקציות יש גישה למיקום}other{ההגדרה פועלת / ל-# אפליקציות יש גישה למיקום}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"בטעינה…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"אפליקציות עם ההרשאה \'מכשירים בקרבת מקום\' יכולות להעריך את המיקום היחסי של המכשירים המחוברים."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"אפליקציות עם ההרשאה \'מכשירים בקרבת מקום\' יכולות להקבוע את המיקום היחסי של המכשירים המחוברים."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"הגישה למיקום מושבתת עבור אפליקציות ושירותים. אם מתקשרים למספר חירום או שולחים אליו הודעת טקסט, ייתכן שפרטי מיקום המכשיר יישלחו לכוחות ההצלה."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"מידע נוסף על הגדרות המיקום"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"‏כדי להחליף עוברים אל ההגדרות של ChromeOS‏ &gt; \'פרטיות ואבטחה\' &gt; \'אמצעי בקרה על פרטיות\' &gt; \'גישה למיקום\'"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"הפנים וה-<xliff:g id="WATCH">%s</xliff:g> נוספו"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"הפנים, טביעת האצבע וה-<xliff:g id="WATCH">%s</xliff:g> נוספו"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"הפנים, טביעות האצבע וה-<xliff:g id="WATCH">%s</xliff:g> נוספו"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"בדיקת הזהות מופעלת ודורשת אימות ביומטרי"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"‏ביטול הנעילה של Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"נוסף שעון"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"הגדרת השעון"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"מידע נוסף על ביטול נעילה עם השעון"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"הוספת השעון"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"הסרת השעון"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ביטול הנעילה בטביעת אצבע ופתיחה ע\"י זיהוי הפנים"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"פתיחה ע\"י זיהוי הפנים וביטול הנעילה בטביעת אצבע"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"פתיחה ע\"י זיהוי הפנים וביטול הנעילה בטביעת אצבע בפרופיל העבודה"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"צריך להגדיר ביטול נעילה בעזרת מידע ביומטרי"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"נוספו טביעות אצבע וזיהוי פנים"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"הגדרת המרחב הפרטי מתבצעת…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"לא ניתן להגדיר מרחב פרטי"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"ניסיון נוסף"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"יציאה"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"המרחב הפרטי לא זמין.\nלהצגת סיבות אפשריות"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"הצגת הגורמים האפשריים"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"רוצה לבחור שיטת נעילה חדשה למרחב הפרטי?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"אפשר להגדיר שיטת נעילה חדשה למרחב הפרטי בלבד, או להשתמש באותה שיטה שמשמשת לביטול נעילת המכשיר"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"שימוש בביטול נעילת המסך"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"‏כשה-Bluetooth מופעל, המכשיר יכול לתקשר עם מכשירי Bluetooth אחרים שנמצאים בקרבת מקום.\n\nכדי לשפר את חוויית השימוש במכשיר, אפליקציות ושירותים יכולים לסרוק אחר מכשירים בקרבת מקום בכל שלב, גם כשה-Bluetooth כבוי. אפשר להשתמש בכך, למשל, כדי לשפר תכונות ושירותים שמבוססים על מיקום. ניתן לשנות זאת בהגדרות הסריקה של Bluetooth‏."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"‏כשה-Bluetooth מופעל, המכשיר יכול לתקשר עם מכשירי Bluetooth אחרים בקרבת מקום. תכונות כמו \'שיתוף מהיר\' ו\'איפה המכשיר שלי\' מתבססות על Bluetooth.\n\nאפליקציות ושירותים עדיין יכולים לסרוק כדי למצוא מכשירים קרובים בכל שלב, גם כשה-Bluetooth מושבת. זה יכול לשמש, למשל, כדי לשפר תכונות ושירותים מבוססי מיקום. אפשר לשנות את זה בהגדרות של סריקת Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"שינוי"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"פרטי המכשיר"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"הגדרות מקלדת"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"הגדרות נוספות"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"עדכוני קושחה, מידע כללי ועוד"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"טיפים ותמיכה"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"‏כתובת המכשיר לחיבור דרך Bluetooth‏: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"‏כתובת המכשיר לחיבור דרך Bluetooth:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"לשכוח את המכשיר?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"ניסיוני. משפר את איכות האודיו."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"אני רוצה לשכוח את המכשיר"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"ניתוק האפליקציה"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"הגדרות נוספות"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"‏מקסימום התקני אודיו המחוברים באמצעות Bluetooth"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"‏בחירת מספר מקסימלי של התקני אודיו המחוברים באמצעות Bluetooth"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"‏יומן ניפוי באגים מפורט של ספקי NFC"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"להפעיל את המכשיר מחדש?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"‏הרישום ביומן של פרטי NFC מיועד למטרות פיתוח בלבד. נתוני NFC נוספים נכללים בדוחות על באגים, שעשויים להכיל מידע פרטי. צריך להפעיל מחדש את המכשיר כדי לשנות את ההגדרה."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"הפעלה מחדש"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"מצב מופעל"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"מצב מושבת"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"מסך חיצוני"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"שימוש במסך החיצוני"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"רזולוציית המסך"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"המסך החיצוני לא מחובר"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"סיבוב"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"רגיל"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"שינוי של מידת הסיבוב או של הרזולוציה עלול להפסיק את כל האפליקציות שפועלות כרגע"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"כדי לשקף את המסך, המכשיר חייב להיות מחובר למסך חיצוני"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"אפשרויות נוספות"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"‏הפעלת Cast"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"‏העברה (csat)"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"‏הפעלת תצוגת WiFi"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"גוון ניתן להתאמה"</string>
     <string name="brightness" msgid="6216871641021779698">"רמת בהירות"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"בהירות אוטומטית"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"מידע על התאמה אוטומטית של הבהירות"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"בהירות המסך תותאם באופן אוטומטי לסביבה ולפעילויות שלך. עדיין אפשר לכוונן את הבהירות באופן ידני מפס ההזזה, ועם הזמן הבהירות האוטומטית תתבסס על ההעדפות שלך."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"פועל"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"כבויה"</string>
@@ -1311,8 +1344,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="8850185380445309835">"‏לעדכן את כרטיס ה-SIM המועדף?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"‏<xliff:g id="NEW_SIM">%1$s</xliff:g> הוא ה-SIM היחיד במכשיר. האם להשתמש ב-SIM זה לחיבור לאינטרנט באמצעות חבילת גלישה, לשיחות ולהודעות SMS?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"‏כרטיס ה-SIM הראשי שלך הוא עכשיו <xliff:g id="NEW_SIM">%1$s</xliff:g>"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"לשפר את כיסוי חבילת הגלישה?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"מתן הרשאה למכשיר לעבור אוטומטית לשימוש בחבילת הגלישה של <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> כשהזמינות של הספק טובה יותר."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"ייתכן שהשיחות, ההודעות והתנועה שלך ברשת יהיו גלויות לארגון."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"אפשרויות"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"נגישות"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"מקלדת פיזית"</string>
-    <string name="show_ime" msgid="4334255501724746849">"שימוש במקלדת שמופיעה במסך"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"תישאר במסך בזמן שהמקלדת הפיזית פעילה"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"מקשים חוזרים"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"המקלדת מתעלמת מלחיצות מהירות חוזרות על אותו המקש שנעשות תוך <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> אלפיות השנייה"</string>
     <string name="slow_keys" msgid="2891452895499690837">"מקשים איטיים"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"הזמן שעובר מהקשה על מקש ועד להפעלה שלו ישתנה ל-<xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> אלפיות השנייה"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"מקשים \"דביקים\""</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"מקישים אחד-אחד על רצף של מקשי קיצור, ולא צריך ללחוץ עליהם בו-זמנית."</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"מקשי העכבר"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"אפשר להשתמש במקלדת הפיזית כדי לשלוט בעכבר."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"מקשי קיצור"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"הצגת רשימה של מקשי הקיצור"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"מקלדות וכלים בפרופיל העבודה"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"התאמה אישית של תנועות ניווט נפרדות בלוח המגע"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"גלילה הפוכה"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"התוכן זז למעלה כשגוללים למטה"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"מקישים על הפינה הימנית התחתונה"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"מקישים על הפינה הימנית התחתונה של לוח המגע לאפשרויות נוספות"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"לחיצה ימנית למטה"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"לוחצים על הפינה הימנית התחתונה של לוח המגע לאפשרויות נוספות"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"מהירות המצביע"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"סגנון המילוי של המצביע"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"שינוי סגנון המילוי של המצביע לשחור"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"שינוי סגנון המילוי של המצביע לצהוב"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"שינוי סגנון המילוי של המצביע לוורוד"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"שינוי סגנון המילוי של המצביע לכחול"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"סגנון קו המצביע"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"לבן"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"שחור"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"ללא"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"מידע על התנועות בלוח המגע"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"משטח-מגע, משטח מגע, עכבר, סמן, גלילה, החלקה, לחיצה ימנית, לחיצה, מצביע"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"לחיצה ימנית, הקשה"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"איפוס"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"בחירת מקש צירוף"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"יש לבחור מפתח חדש עבור <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"פריסה של <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ברירת מחדל"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"אוטומטי: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"המשתמש שנבחר: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"דיבור"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"מהירות המצביע"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"גודל המצביע"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"הקטנת גודל המצביע"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"הגדלת גודל המצביע"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"בקר משחק"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"הפניה אוטומטית של רטט"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"שליחת רטט אל בקר משחק כשמחובר"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"אני רוצה להמשיך בכל זאת"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"ביטול"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"הגדרות ההגדלה"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"הזזה עם אצבע אחת"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"מזיזים את זכוכית המגדלת עם אצבע אחת"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"גוררים אצבע אחת כדי לנוע על פני המסך"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"גוררים אצבע אחת כדי להזיז את אזור ההגדלה."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"גוררים שתי אצבעות כדי להזיז את אזור ההגדלה."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"לא זמין בזמן הגדלה של רק חלק מהמסך"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"הקשה על לחצן כדי לשנות את מרחק התצוגה"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"כדי לראות טוב יותר את התוכן, אפשר להגדיל את התצוגה"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"‏&lt;b&gt;כדי להגדיל את התצוגה:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. משתמשים בקיצור הדרך כדי להתחיל בהגדלה&lt;br/&gt; {1,number,integer}. מקישים על המסך&lt;br/&gt; {2,number,integer}. גוררים 2 אצבעות על המסך כדי לזוז בו&lt;br/&gt; {3,number,integer}. עושים תנועת צביטה באמצעות 2 אצבעות כדי לשנות את מרחק התצוגה&lt;br/&gt; {4,number,integer}. משתמשים בקיצור הדרך כדי להפסיק את ההגדלה&lt;br/&gt;&lt;br/&gt; &lt;b&gt;כדי להגדיל את התצוגה באופן זמני:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. מוודאים שסוג ההגדלה הוא \'מסך מלא\'&lt;br/&gt; {1,number,integer}. משתמשים בקיצור הדרך כדי להתחיל בהגדלה&lt;br/&gt; {2,number,integer}. לוחצים לחיצה ארוכה במקום כלשהו במסך&lt;br/&gt; {3,number,integer}. גוררים את האצבע על המסך כדי לזוז בו&lt;br/&gt; {4,number,integer}. כדי להפסיק את ההגדלה, מרימים את האצבע"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"‏&lt;b&gt;כדי להגדיל את התצוגה:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. משתמשים במקש קיצור כדי להתחיל בהגדלה&lt;br/&gt; {1,number,integer}. מקישים על המסך&lt;br/&gt; {2,number,integer}. גוררים 2 אצבעות על המסך כדי לזוז בו&lt;br/&gt; {3,number,integer}. עושים תנועת צביטה עם 2 אצבעות כדי לשנות את מרחק התצוגה&lt;br/&gt; {4,number,integer}. אפשר להשתמש במקש קיצור כדי לעצור את ההגדלה&lt;br/&gt;&lt;br/&gt; ניתן גם להגדיל את התצוגה באופן זמני ועוד."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"‏&lt;b&gt;כדי להגדיל את התצוגה:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. משתמשים במקש קיצור כדי להתחיל בהגדלה&lt;br/&gt; {1,number,integer}. מקישים על המסך&lt;br/&gt; {2,number,integer}. גוררים אצבע אחת או שתיים על המסך כדי לזוז בו&lt;br/&gt; {3,number,integer}. עושים תנועת צביטה עם 2 אצבעות כדי לשנות את מרחק התצוגה&lt;br/&gt; {4,number,integer}. אפשר להשתמש במקש קיצור כדי לעצור את ההגדלה&lt;br/&gt;&lt;br/&gt; ניתן גם להגדיל את התצוגה באופן זמני ועוד."</string>
     <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"כשההגדלה מופעלת, ניתן להתקרב למסך.\n\n"<b>"כדי להתקרב,"</b>", מתחילים בהגדלה ולאחר מכן מקישים במקום כלשהו במסך.\n"<ul><li>"גוררים שתי אצבעות או יותר כדי לגלול"</li>\n<li>"עושים תנועת צביטה עם שתי אצבעות או יותר כדי לשנות את מרחק התצוגה"</li></ul>\n\n<b>"כדי להתקרב באופן זמני"</b>", מתחילים בהגדלה ולאחר מכן, לוחצים לחיצה ארוכה במקום כלשהו במסך.\n"<ul><li>"גוררים כדי לנוע במסך"</li>\n<li>"מרימים את האצבע כדי להתרחק"</li></ul>\n\n"לא ניתן להתקרב באמצעות המקלדת או סרגל הניווט."</string>
     <string name="accessibility_tutorial_pager" msgid="8461939455728454061">"דף <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> מתוך <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"קיצור דרך באמצעות לחצן הנגישות"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"צריך להקיש על הלחצן הצף"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"תנועה להפעלת תכונות הנגישות"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"צריך להקיש על לחצן הנגישות <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> בחלק התחתון של המסך. כדי לעבור בין תכונות, צריך ללחוץ לחיצה ארוכה על לחצן הנגישות."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"יש להחליק כלפי מעלה מתחתית המסך באמצעות שתי אצבעות.\n\nכדי לעבור בין תכונות, יש להחליק כלפי מעלה באמצעות שתי אצבעות ולהחזיק."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"יש להחליק כלפי מעלה מתחתית המסך באמצעות שלוש אצבעות.\n\nכדי לעבור בין תכונות, יש להחליק כלפי מעלה באמצעות שלוש אצבעות ולהחזיק."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{מחליקים למעלה מהחלק התחתון של המסך. כדי לעבור בין תכונות, מחליקים למעלה ומחזיקים.}one{מחליקים למעלה עם # אצבעות מהחלק התחתון של המסך. כדי לעבור בין תכונות, מחליקים למעלה עם # אצבעות ומחזיקים.}two{מחליקים למעלה עם # אצבעות מהחלק התחתון של המסך. כדי לעבור בין תכונות, מחליקים למעלה עם # אצבעות ומחזיקים.}other{מחליקים למעלה עם # אצבעות מהחלק התחתון של המסך. כדי לעבור בין תכונות, מחליקים למעלה עם # אצבעות ומחזיקים.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"אפשרויות נוספות"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"מידע נוסף על <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"לחצני עוצמת הקול"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"לחצני עוצמת הקול"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"יש ללחוץ לחיצה ארוכה על שני הלחצנים של עוצמת הקול"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"מקישים הקשה כפולה על המסך עם שתי אצבעות"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"‏הקשה כפולה עם %1$d אצבעות"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"‏מקישים הקשה כפולה במהירות על המסך עם %1$d אצבעות"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"הקשה משולשת"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"‏מקישים %1$d פעמים במהירות על המסך. זה עלול להאט את פעולת המכשיר."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"‏הקשה כפולה עם %1$d אצבעות"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"‏מקישים במהירות על המסך {0,number,integer} פעמים עם שתי אצבעות"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"הקשה על המסך 3 פעמים"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"הקשה משולשת"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"‏מקישים במהירות על המסך {0,number,integer} פעמים. קיצור הדרך הזה עלול להאט את פעולת המכשיר"</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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"הגדרות של קיצורי דרך"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"מקש קיצור ממסך הנעילה"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"מקש הקיצור של תכונות הנגישות יפעל ממסך הנעילה. לוחצים על שני הלחצנים של עוצמת הקול למשך מספר שניות."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"לחצן הנגישות"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"לחצן הנגישות ותנועות"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"יש תקלה בשירות הזה."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"קיצורי דרך לנגישות"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"הצגה בהגדרות מהירות"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"אדום-ירוק"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"אדום-ירוק"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"אדום-ירוק, ירוק חלש"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"אדום-ירוק, אדום חלש"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"כחול-צהוב"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"גווני אפור"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"עוצמה"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"ירוק חלש, דוטרנומליה"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"אדום חלש, פרוטנומליה"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"לא זמין במצב גווני אפור או כשתיקון הצבע מושבת"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"מעומעם במיוחד"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"הגדרת המסך כמעומעם במיוחד"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"ציאן"</string>
     <string name="color_yellow" msgid="5957551912912679058">"צהוב"</string>
     <string name="color_magenta" msgid="8943538189219528423">"מגנטה"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"להעניק לשירות \'<xliff:g id="SERVICE">%1$s</xliff:g>\' שליטה מלאה במכשיר?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"‏<xliff:g id="SERVICE">%1$s</xliff:g> צריך אפשרות לבצע:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"יש אפליקציה שמסתירה את בקשת ההרשאה, ולכן להגדרות אין אפשרות לאמת את התשובה."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"השירות <xliff:g id="SERVICE">%1$s</xliff:g> מבקש שליטה מלאה במכשיר זה. השירות יכול לקרוא את המסך ולפעול בשמם של משתמשים בעלי צרכים של נגישות. רמה כזו של שליטה אינה מתאימה לרוב האפליקציות."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"האפשרות לשליטה מלאה במכשיר לא מתאימה לרוב האפליקציות, אלא רק לאפליקציות שעוזרות עם צורכי הנגישות שלך."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"הצגת המסך ושליטה בו"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"אפשרות לקריאת כל התוכן במסך ולהצגת תוכן מעל אפליקציות אחרות."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"הצגה וביצוע של פעולות"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"אפשרות למעקב אחר האינטראקציה שלך עם אפליקציות או חיישני חומרה, וביצוע אינטראקציה בשמך."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"אישור"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"עדיף שלא"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"השבתה"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"התכונה פועלת / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> ו<xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"‏אפשר להפעיל \'אודיו מרחבי\' גם עבור מכשירי Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"הגדרות של מכשירים מחוברים"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"אודיו מרחבי"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"כבוי"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"כבוי"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"כבוי"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{אין}=1{הוגדר לוח זמנים אחד}one{הוגדרו # לוחות זמנים}two{הוגדרו # לוחות זמנים}other{הוגדרו # לוחות זמנים}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"נא לא להפריע"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"מצבי עדיפות"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"הוספת מצב"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"מצבים"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"התכונה מאפשרת לך לצמצם הסחות דעת ולהתמקד עם מצבים לשינה, לעבודה, לנהיגה וכל מה שביניהם."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"יצירה של מצב"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"קבלת התראות רק מאפליקציות ומאנשים חשובים"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"הגדרת לוח זמנים"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"לוח הזמנים מבוסס על"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"יום ושעה"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"9:00 - 17:00 ימי חול\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"אירועים ביומן"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{מצב פעיל אחד ({mode_1})}=2{‫{mode_1} ו{mode_2} פעילים}=3{‫{mode_1}, {mode_2}, ו{mode_3} פעילים}one{‫{mode_1}, {mode_2} ועוד # פעילים}other{‫{mode_1}, {mode_2} ועוד # פעילים}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{מצב אחד יכול לפעול באופן אוטומטי}one{‫# מצבים יכולים לפעול באופן אוטומטי}two{‫# מצבים יכולים לפעול באופן אוטומטי}other{‫# מצבים יכולים לפעול באופן אוטומטי}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"מצב מופעל"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"לא הוגדר"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"מצב מושבת"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"יצירה של מצב"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"בהתאמה אישית"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"הפעלה"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"השבתה"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"לא נמצא מצב"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"הגבלת הפרעות"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"חסימה של הפרעות והסחות דעת"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"להגדרת <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"הפעלת מצב \'נא לא להפריע\'"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"שעונים מעוררים וצלילי מדיה יכולים להפריע"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"לוחות זמנים"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"מחיקת לוחות זמנים"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"מחיקה"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"שינוי השם"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"מחיקה"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"למחוק את מצב \'<xliff:g id="MODE">%1$s</xliff:g>\'?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"עריכה"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"לוחות זמנים"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"לוח זמנים"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"הפעלה אוטומטית"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"הוספת יומן"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"שימוש ביומן"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"לוח זמנים"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"הגדרת לוח זמנים"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"הגדרה של הפעלה אוטומטית"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"לוח הזמנים לאירוע"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"הפעלה במהלך אירועים כדי"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"במקום שבו נמצאת התשובה להזמנה"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"תזמון של לוח זמנים"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"לוח זמנים"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"‫<xliff:g id="HOURS">%1$d</xliff:g> שע\', <xliff:g id="MINUTES">%2$d</xliff:g> דק\'"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"לוח זמנים"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"אישור להפרעות עם צלילים"</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="mode_interruption_filter_title" msgid="6657431939996264417">"התראות שיכולות להגיע אליך"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"פעולות נוספות"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"מסנני התראות"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"הגדרות נוספות"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{מושבת}=1{מושבת/יכולה להתבצע הפעלה אוטומטית בעקבות מצב אחד}one{מושבת/יכולה להתבצע הפעלה אוטומטית בעקבות # מצבים}two{מושבת/יכולה להתבצע הפעלה אוטומטית בעקבות # מצבים}other{מושבת/יכולה להתבצע הפעלה אוטומטית בעקבות # מצבים}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"הגדרות תצוגה"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"אפשרויות תצוגה"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"גווני אפור"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"הפעלת העיצוב הכהה"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"במערכת ההפעלה ובאפליקציות, כדאי להחליף להעדפה של טקסט בהיר על רקע כהה. העיצוב הזה פחות מאמץ את העיניים ומוביל לחיסכון משמעותי בסוללה במכשירים מסוימים"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{לא בוצעו שינויים באפשרויות התצוגה}=1{‏{effect_1}}=2{‫{effect_1} וגם {effect_2}}=3{‫{effect_1}, {effect_2} וגם {effect_3}}one{‫{effect_1}, {effect_2} ועוד #}other{‫{effect_1}, {effect_2} ועוד #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"יש הרשאה לכל ההתראות"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"אנשים, אפליקציות וצלילים יכולים להפריע"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"אפשרויות תצוגה להתראות מסוננות"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"כשמצב \'נא לא להפריע\' פועל"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"התראות ללא צליל"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"פתיחת ההתראה"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"הפעלת האפשרות להעביר התראות למצב \'נודניק\'"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"סימן ההתראות בסמל האפליקציה"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"חבילות התראות"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"בועות"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"בועות"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"הוספת בועה לשיחה"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"התכונה תוכל לענות להודעות ולהפעיל לחצנים שמופיעים בהתראות, כולל העברה למצב נודניק או ביטול של התראות ומענה לשיחות."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"לשנות הגדרות"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"התכונה יכולה להפעיל או להשבית את מצב \'נא לא להפריע\' ולשנות הגדרות קשורות."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"יש אפשרות לנהל ולהפעיל מצבים וגם לשנות הגדרות קשורות."</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_modes_warning_summary" msgid="7528432011433844158">"אם משביתים את הרשאת הגישה של <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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"זמן אמת"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"האפליקציה הזו לא תומכת בהגדרות המשופרות"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"הגדרות נוספות"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"הגדרות נוספות זמינות בתוך האפליקציה הזו"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"התראות מותאמות"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"שימוש בהתראות מותאמות"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"כשמתקבלות הרבה התראות בפרק זמן קצר, הטלפון ינמיך את עוצמת הקול ויצמצם את כמות החלונות הקופצים על המסך למשך עד שתי דקות. התראות על שיחות, שעונים מעוררים ושיחות בעדיפות גבוהה ימשיכו להפעיל רטט, להשמיע צליל או להופיע על המסך ואפשר יהיה למצוא בקלות את כל ההתראות כשמושכים למטה מהחלק העליון של המסך."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"הפוגת התראות"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"שימוש בהפוגת התראות"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"כשמתקבלות הרבה התראות בפרק זמן קצר, המכשיר ינמיך את עוצמת הקול ויצמצם את כמות ההתראות למשך עד שתי דקות. שיחות, התראות ושיחות בעדיפות גבוהה לא מושפעות. \n\nניתן למצוא התראות שהתקבלו במהלך ההפוגה על ידי משיכה למטה מהחלק העליון של המסך."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"הפעלה בפרופילי העבודה"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"הפעלה באפליקציות של פרופיל העבודה"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"‏שירותי סיוע של VR"</string>
@@ -3650,6 +3717,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"גישה למצבים"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"להרשאת גישה למצבים"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"לא התקבלה בקשת גישה למצבים מאף אפליקציה מותקנת"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"לא הפעלת קבלת התראות מהאפליקציה הזו"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"‏לבקשתך, מערכת Android לא מאפשרת להציג במכשיר הזה התראות ששייכות לקטגוריה הזו"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"‏לבקשתך, מערכת Android לא מאפשרת להציג במכשיר הזה התראות מקבוצה זו"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"קטגוריות"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"אחר"</string>
     <string name="no_channels" msgid="4716199078612071915">"האפליקציה הזו לא שלחה התראות"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"הצגת קטגוריות שלא בשימוש"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"הגדרות נוספות באפליקציה"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"הצגת קטגוריות שלא בשימוש"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"הסתרת קטגוריות שלא בשימוש"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"שיחות"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"כל השיחות"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"כל השיחות"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"שיחות בעדיפות גבוהה"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"שיחות בעדיפות גבוהה"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"ללא"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"אפליקציות שיכולות להפריע"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"אפליקציות שנבחרו"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"אף אחת מהאפשרויות"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"הכול"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{אף אפליקציה לא יכולה להפריע}=1{האפליקציה {app_1} יכולה להפריע}=2{האפליקציות {app_1} וגם {app_2} יכולות להפריע}=3{האפליקציות {app_1}, {app_2} וגם {app_3} יכולות להפריע}one{האפליקציות {app_1}, {app_2} ועוד # יכולות להפריע}other{האפליקציות {app_1}, {app_2} ועוד # יכולות להפריע}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"‫<xliff:g id="APP_LABEL">%s</xliff:g> (עבודה)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"מתבצע חישוב…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"‎+‫<xliff:g id="NUMBER">%d</xliff:g>‎"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ניתן לאפשר לאפליקציות לבטל הגדרה זו"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"אפליקציות שיכולות להפריע"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"בחירת אפליקציות נוספות"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"שום דבר לא יכול להפריע"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"אף אחד לא יכול להפריע"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"אנשים מסוימים יכולים להפריע"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"מתקשרים חוזרים יכולים להפריע"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"כל אחד יכול להפריע"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"מתקשרים חוזרים"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"שיחות חוזרות מאותו מספר"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{החלפה למצב \'התראות בלבד\' למשך שעה אחת עד {time}}one{החלפה למצב \'התראות בלבד\' למשך # שעות עד {time}}two{החלפה למצב \'התראות בלבד\' למשך שעתיים (#) עד {time}}other{החלפה למצב \'התראות בלבד\' למשך # שעות עד {time}}}"</string>
     <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_action_change_name" msgid="766639614789907016">"שינוי השם"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"שינוי הסמל"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"שינוי הסמל"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"מצב עריכה"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"יצירה של מצב"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"מצב מותאם אישית"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"שם המצב"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"אירועים ביומן"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"תרחיש לפני השינה"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"בזמן נהיגה"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"הגדרות של אפליקציות"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"המידע וההגדרות של <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"בניהול של <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"להשבית את <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"המצב הזה אף פעם לא יופעל כשהוא מושבת"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"השבתה"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"להפעיל את <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"יכול להיות שהמצב הזה יופעל באופן אוטומטי על סמך ההגדרות שלו"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"הפעלה"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"הגדרת מצב עם לוח זמנים קבוע"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"הגדרת מצב לסנכרון של אירועים ביומן ושליחת תגובות להזמנות"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"תכנון שגרת שינה רגועה. הגדרת שעונים מעוררים, עמעום המסך וחסימת התראות."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"מתעדפים את הבטיחות בדרכים ונמנעים מהסחות דעת בזמן נהיגה"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"חוסמים הסחות דעת והפרעות במכשיר ומתרכזים טוב יותר"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"מסירים את כל הסחות דעת ונהנים מסביבה שקטה"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"התאמה אישית של חווית המשתמש ושל ההגדרות במכשיר למשתמשים שונים"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"מצמצמים הפרעות: אפשר לקבל התראות רק מאפליקציות מסוימות ומאנשים חשובים"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"הגדרת מצב עם לוח זמנים קבוע"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"שמירה על סנכרון המכשיר עם האירועים של היום"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"מתעוררים עם תחושה שהכול מושלם"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"בטיחות לפני הכול בזמן הנהיגה"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"מתרכזים ונכנסים לשוונג"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"לרגעים שבהם חשוב הנימוס"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"שימוש מודרך עוזר להישאר בידיים טובות"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"שולטים על הקשב והריכוז שלכם"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"אזהרה"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"סגירה"</string>
     <string name="device_feedback" msgid="5351614458411688608">"שליחת משוב על המכשיר הזה"</string>
@@ -4006,6 +4110,11 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"לתת לאפליקציה <xliff:g id="APP">%1$s</xliff:g> הרשאת גישה למצבים?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"האפליקציה תוכל להפעיל או להשבית את מצב \'נא לא להפריע\', לנהל ולהפעיל מצבים ולבצע שינויים בהגדרות קשורות."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"כל המצבים שנוצרו על ידי האפליקציה הזו יוסרו."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"אין לבצע אופטימיזציה"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"ביצוע אופטימיזציה"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"הסוללה עלולה להתרוקן מהר יותר. האפליקציה תוכל להשתמש בסוללה ברקע."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"נרתיק"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"סוללה"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"חלונית ההגדרות"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"אילוץ מצב שולחן עבודה"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"אילוץ מצב שולחן עבודה ניסיוני במסכים משניים"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"הפעלת מצב חופשי (חלונות צפים)"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"הפעלת מצב חופשי (חלונות צפים) במסך המשני"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"הפעלת אפליקציות שלא ניתן לשנות את גודלן בריבוי חלונות"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"ההגדרה מאפשרת להפעיל בריבוי חלונות אפליקציות שלא ניתן לשנות את גודלן"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"‏שינוי התכונה SmartDark"</string>
@@ -4968,7 +5077,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"חבילת גלישה"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"‏כדי לשפר את חוויית השימוש במכשיר, אפליקציות ושירותים יוכלו לחפש רשתות Wi-Fi בכל שלב, גם כאשר ה-Wi-Fi כבוי. ניתן להשתמש בכך, למשל, כדי לשפר תכונות ושירותים מבוססי מיקום. אפשר לשנות את זה בהגדרות של חיפוש נקודות Wi-Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"שינוי"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"מחובר"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"מחובר באופן זמני"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"עושה שימוש זמני ב<xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -5000,7 +5108,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"שימוש בהצמדת אפליקציה"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"שימוש באפשרויות למפתחים"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"שימוש בשירות הדפסה"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"הרשאה למשתמשים מרובים"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"אישור למעבר בין משתמשים"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"אפשר, משתמשים, מרובים, אישור, רבים"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"ריבוי, רבים, משתמשים, משתמשות, פרופילים, אנשים, אנשי קשר, חשבונות, חשבונות אישיים, החלפה, מעבר, שינוי, הרבה"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ניפוי באגים אלחוטי"</string>
@@ -5057,52 +5165,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> מבקש להתחבר לטלפון הזה.\n\nלא התחברת אל <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> בעבר."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"אין להתחבר"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"התחברות"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"‏הגדרות TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"התכונה מופעלת"</string>
-    <string name="tare_off" msgid="6305694402929756726">"התכונה כבויה"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"חזרה להגדרות ברירת המחדל"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"ההגדרות חזרו לברירת המחדל."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"יתרה מקסימלית במצב מלא"</string>
-    <string name="tare_balances" msgid="731881382594747961">"יתרות"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"מגבלות צריכה"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"מגבלת צריכה התחלתית"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"מגבלת צריכה מינימלית"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"מגבלת צריכה מקסימלית"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"גורמי שינוי"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"פעולות (עלות ייצור)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"פעולות (מחיר בסיסי)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"תגמולים לאירוע יחיד"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"פרסים לכל שנייה של משך האירוע"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"מגבלת תגמולים יומית"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"התקנת האפליקציה"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"הפעילות המובילה"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"התראה שנראתה"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"התראה שנראתה בתוך 15 דקות"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"אינטראקציה עם התראה"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"אינטראקציה עם ווידג\'ט"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"אינטראקציה אחרת שביצע המשתמש"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"התחלת משימה בעדיפות הגבוהה ביותר"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"הרצת משימה בעדיפות הגבוהה ביותר"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"התחלת משימה בעדיפות גבוהה"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"הרצת משימה בעדיפות גבוהה"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"התחלת משימה בברירת מחדל"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"הרצת משימה בברירת מחדל"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"התחלת משימה בעדיפות נמוכה"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"הרצת משימה בעדיפות נמוכה"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"התחלת משימה בעדיפות הנמוכה ביותר"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"הרצת משימה בעדיפות הנמוכה ביותר"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"קנס על תפוגת הזמן הקצוב למשימה"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"יתרה מינימלית במצב מלא (אפליקציות מוחרגות מחיסכון בסוללה)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"‏יתרה מינימלית במצב מלא (אפליקציות מערכת ללא GUI)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"יתרה מינימלית במצב מלא (שאר האפליקציות)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"הוספת יתרה מינימלית במצב מלא (מעדכני אפליקציות)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"טעינה"</item>
-    <item msgid="658627268149681677">"נמנום"</item>
-    <item msgid="1599558140284643834">"מצב חיסכון בסוללה"</item>
-    <item msgid="588427840913221601">"מצב עיבוד"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"אישור"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"תצוגה מקדימה"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"בחירה של שומר מסך"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"הצגת מידע נוסף"</string>
@@ -5114,8 +5176,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"אפשר לבחור מה יוצג במסך כשהטאבלט בעגינה. יכול להיות שהמכשיר ינצל יותר אנרגיה בזמן השימוש בשומר מסך."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"התאמה אישית"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"התאמה אישית של <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"צריך להפעיל מחדש כדי להפעיל את התמיכה במצב החופשי."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"צריך להפעיל מחדש כדי לאלץ את הצגת הגרסה למחשב במסכים המשניים."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"צריך להפעיל מחדש כדי להפעיל את התמיכה בשינוי הגודל והמיקום של החלונות."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"צריך להפעיל מחדש את המכשיר כדי להשתמש בתכונה \'מצב חופשי\' שמאפשרת להזיז, להקטין ולהגדיל חלונות צפים."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"צריך להפעיל מחדש את המכשיר כדי לאפשר לחלונות לצוף במצב חופשי במסכים המשניים."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"להפעיל מחדש עכשיו"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"להפעיל מחדש מאוחר יותר"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"אודיו מרחבי"</string>
@@ -5212,7 +5275,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"ורוד"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"מג\'נטה"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"סגול"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"סיום"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"שמירה"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"ביטול"</string>
     <string name="contrast_default" msgid="8918545965525226966">"ברירת המחדל"</string>
     <string name="contrast_medium" msgid="384414510709285811">"בינונית"</string>
@@ -5233,6 +5296,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"מופעלת"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"מושבתות"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"מופעלות"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"‏אודיו %1$d%% משמאל, %2$d%% מימין"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"‏אודיו %1$d%% מימין, %2$d%% משמאל"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"‏המכשיר שלך גלוי לאפליקציות שהתקנת. כמו כן, ייתכן שאנשים אחרים יראו אותו בהתחברות למכשירי Bluetooth, לרשת Wi-Fi, או בהגדרת נקודת Wi-Fi לשיתוף אינטרנט."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"לשון הפנייה"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"בחירת לשון הפנייה"</string>
@@ -5301,6 +5366,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"שיתוף האודיו נפסק"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"חיבור של מכשיר תואם"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"‏כדי להתחיל לשתף אודיו, צריך לחבר את אוזניות LE Audio לטלפון"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"מעבר אל <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"‏חיבור לשידור אודיו LE"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"שידורי אודיו בקרבת מקום"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"שידורי אודיו"</string>
@@ -5344,4 +5410,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"האזנה לשידור"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"‏צריך לסרוק קוד QR של שידור אודיו כדי להאזין עם <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"אי אפשר לערוך את הסיסמה בזמן השיתוף. כדי לשנות את הסיסמה, קודם צריך להשבית את שיתוף האודיו."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"‏סורק קודי QR"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"רוצה עזרה?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"חיפוש בהגדרות"</string>
 </resources>
diff --git a/res/values-ja/arrays.xml b/res/values-ja/arrays.xml
index 118104f..e5ac9e5 100644
--- a/res/values-ja/arrays.xml
+++ b/res/values-ja/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"就寝"</item>
-    <item msgid="4152450357280759894">"運転中"</item>
-    <item msgid="7096549258219399423">"臨場感"</item>
-    <item msgid="2760716776980432977">"管理対象"</item>
-    <item msgid="601734478369121764">"スター"</item>
-    <item msgid="6243809315432780521">"カレンダー"</item>
-    <item msgid="4913577903148415331">"時刻"</item>
-    <item msgid="3653377604690057780">"劇場"</item>
-    <item msgid="3843711267408385410">"花"</item>
+    <item msgid="1216815120972438676">"書類カバン"</item>
+    <item msgid="184985872234062767">"古典的な建物"</item>
+    <item msgid="9189550412466785530">"アパート"</item>
+    <item msgid="2142527562511049422">"吹き出し"</item>
+    <item msgid="2548100558260478605">"人々のグループ写真"</item>
+    <item msgid="2270003903304578284">"電球"</item>
+    <item msgid="4793496619091161864">"カレンダー"</item>
+    <item msgid="5673625795644364100">"サイレント モード"</item>
+    <item msgid="1423820834865831361">"ランニングしている人"</item>
+    <item msgid="2037298830718732608">"ゴルフ"</item>
+    <item msgid="2197835014443491074">"ジムのダンベル"</item>
+    <item msgid="2730180105015616518">"水泳"</item>
+    <item msgid="2666922823253345958">"ハイキングをしている人"</item>
+    <item msgid="8234880356472211396">"ボールを投げている人"</item>
+    <item msgid="4642980625253001443">"蹴っている人"</item>
+    <item msgid="4324795269518833500">"ゲーム コントローラ"</item>
+    <item msgid="7789966425125441125">"アーティストのカラーパレット"</item>
+    <item msgid="663512680597461570">"雪の結晶"</item>
+    <item msgid="7952183800501346803">"ビーチパラソル"</item>
+    <item msgid="799139025758265891">"工具セット"</item>
+    <item msgid="1330084588359129896">"テント"</item>
+    <item msgid="3861584909935022342">"フィルムリール"</item>
+    <item msgid="5827426100157335512">"書籍"</item>
+    <item msgid="8585828346253128384">"ハスの花"</item>
+    <item msgid="8788370542815300188">"人の心"</item>
+    <item msgid="7287354964767553293">"ヘッドフォン"</item>
+    <item msgid="2530059623783800987">"テレビ"</item>
+    <item msgid="5307182323469376758">"電車"</item>
+    <item msgid="4903790544026923026">"車"</item>
+    <item msgid="5010405583912314582">"ナイフとフォーク"</item>
+    <item msgid="8939998598599064900">"ショッピング カート"</item>
+    <item msgid="3379605903308731893">"子ども"</item>
+    <item msgid="7808668968550293112">"動物の足"</item>
+    <item msgid="1000692647524056504">"スターバッジ"</item>
+    <item msgid="8270261073421676502">"2 人"</item>
+    <item msgid="5767782819651505460">"スター"</item>
+    <item msgid="4368451291862729334">"ハート"</item>
+    <item msgid="2613199102208419986">"家"</item>
+    <item msgid="3022279986430275040">"半月"</item>
+    <item msgid="5421089790869483206">"時計"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 5772888..0ab2f26 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"強制停止"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"不明"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"プレビュー"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR コード"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"縮小"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"拡大"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"常時"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"補聴器の設定"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"ショートカット、補聴器両立性"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"プリセット"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"言語聴覚士によってプログラムされたプリセットはありません"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"プリセットを更新できませんでした"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"音声出力"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"音声出力について"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"このアプリの言語は [設定] から選択できません。"</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"アプリで利用できない言語の可能性があります。一部のアプリはこの設定に対応していない可能性があります。"</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"アプリごとに言語を設定できます。"</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"システム、アプリ、ウェブサイトでは、ご指定の使用言語のうちサポートされている最初の言語が使用されます。"</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"デバイス、アプリ、ウェブサイトでは、優先言語の一覧の中からサポートされている最初の言語が使用されます。\n\nその他の多くのアプリでも優先言語の地域を使用して、日付、数値、単位の形式を設定します。地域を変更するには、言語を追加してから、優先する地域を選択してください。"</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"アプリごとに言語を選択するには、アプリの言語設定に移動してください。"</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"アプリの言語の詳細"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"システムの言語を%sに変更しますか?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"OFF"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{ON / # 個のアプリに位置情報へのアクセスを許可}other{ON / # 個のアプリに位置情報へのアクセスを許可}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"読み込んでいます…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"付近のデバイスへのアクセス許可を持つアプリは、接続されたデバイスの相対位置を確認できます。"</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"付近のデバイスへのアクセス許可を持つアプリは、接続されたデバイスの相対位置を確認できます。"</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"アプリとサービスの位置情報へのアクセスは OFF になっています。緊急通報番号に電話をかけたりテキスト メッセージを送信したりした場合は、デバイスの位置情報が緊急サービスに送信されることがあります。"</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"位置情報の設定の詳細"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"変更するには ChromeOS の [設定] &gt; [プライバシーとセキュリティ] &gt; [プライバシー管理] &gt; [位置情報へのアクセス] に移動します"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"顔、<xliff:g id="WATCH">%s</xliff:g>を登録しました"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"顔、指紋、<xliff:g id="WATCH">%s</xliff:g>を登録しました"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"顔、指紋、<xliff:g id="WATCH">%s</xliff:g>を登録しました"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"本人確認が ON になっているため、生体認証が必要です"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"リモート認証のロック解除"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"スマートウォッチを追加しました"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"スマートウォッチのセットアップ"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"ウォッチ認証の詳細"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"スマートウォッチを追加"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"スマートウォッチを削除"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"指紋認証と顔認証"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"顔認証と指紋認証"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"仕事用の顔認証と指紋認証"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"セットアップが必要です"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"顔と指紋を登録しました"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"プライベート スペースを設定しています…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"プライベート スペースを設定できませんでした"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"再試行"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"終了"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"プライベート スペースを利用できません。\n考えられる原因を表示する"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"考えられる原因を表示する"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"プライベート スペースのロックを新しく設定しますか?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"プライベート スペース専用のロックを新しく設定するか、デバイスのロック解除と同じロックを使用することができます"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"画面ロックを使用"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Bluetooth を ON にすると、付近の他の Bluetooth デバイスと通信できます。\n\nBluetooth が OFF の場合でもアプリやサービスは付近のデバイスをいつでもスキャンできます。位置情報を使用する機能やサービスで利便性が向上するなどの効果があります。この設定は Bluetooth スキャンの設定で変更できます。"</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Bluetooth を ON にすると、近くにある他の Bluetooth デバイスと通信できます。Quick Share や「デバイスを探す」などの機能は Bluetooth を使用します。\n\nBluetooth が OFF でも、アプリやサービスはいつでも付近のデバイスをスキャンできます。位置情報を使用する機能やサービスで利便性が向上するなどの効果があります。この設定は Bluetooth スキャンの設定で変更できます。"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"変更"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>、未接続"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"セキュリティ上の理由から、このデバイスとのペア設定を解除してからもう一度ペア設定してください"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"このデバイスとのペア設定を解除"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"キャンセル"</string>
     <string name="device_details_title" msgid="1155622417516195481">"デバイスの詳細"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"キーボードの設定"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"その他の設定"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"ファームウェアのアップデート、情報など"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"ヒントとサポート"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"デバイスの Bluetooth アドレス: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"デバイスの Bluetooth アドレス:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"このデバイスとのペア設定を解除しますか?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"試験運用中。音声の品質が向上します。"</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"このデバイスとのペア設定を解除"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"アプリの接続を解除する"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"その他の設定"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"接続できる Bluetooth オーディオ デバイスの上限"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"接続できる Bluetooth オーディオ デバイス数の上限の選択"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC ベンダーの詳細なデバッグログ"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"デバイスを再起動しますか?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"NFC 詳細ログは開発専用に設計されています。バグレポートには、追加の NFC データが含まれます。これには、非公開の情報が含まれることがあります。この設定を変更するには、デバイスを再起動してください。"</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"再起動"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"ON"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"OFF"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"外部ディスプレイ"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"外部ディスプレイを使用する"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"ディスプレイ解像度"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"外部ディスプレイに接続されていません"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"回転"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"標準"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"回転や解像度を変更すると、現在実行中のアプリが停止する可能性があります"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"画面をミラーリングするには、デバイスを外部ディスプレイに接続する必要があります"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"その他のオプション"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"キャスト"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"ミラー"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"ワイヤレス ディスプレイの有効化"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"自動調整"</string>
     <string name="brightness" msgid="6216871641021779698">"明るさのレベル"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"明るさの自動調節"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"明るさの自動調節について"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"環境やアクティビティに応じて画面の明るさが自動的に調整されます。スライダーを手動で動かして、明るさの自動調節機能に設定を学習させることもできます。"</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"ON"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"OFF"</string>
@@ -1311,8 +1340,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="8850185380445309835">"優先 SIM を変更しますか?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"デバイス内の SIM は <xliff:g id="NEW_SIM">%1$s</xliff:g> のみです。この SIM をモバイルデータ、通話、SMS メッセージ用に使用しますか?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> がプライマリ SIM になりました"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"モバイルデータの接続性を改善しますか?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"<xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> のモバイルデータの方が安定している場合に、デバイスの接続を自動的に切り替えることができます。"</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"通話、メッセージ、ネットワーク トラフィックが組織に公開される可能性があります。"</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"オプション"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"ユーザー補助"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"物理キーボード"</string>
-    <string name="show_ime" msgid="4334255501724746849">"画面キーボードを使用"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"物理キーボードが有効になっていても画面に表示させます"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"バウンスキー"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ミリ秒以内にキーボードの同じキーが連続で押された場合は、その操作を無視します"</string>
     <string name="slow_keys" msgid="2891452895499690837">"スローキー"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"押されたキーが有効になるまでの時間を <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ミリ秒に設定します"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"固定キー"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"ショートカットで複数のキーを同時に押すのではなく 1 つずつ押します"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"マウスキー"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"物理キーボードを使用してマウスを操作します"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"キーボード ショートカット"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"ショートカットのリストを表示"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"仕事用プロファイルのキーボードとツール"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"個々のタッチパッド移動操作をカスタマイズします"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"逆スクロール"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"下にスクロールするとコンテンツが上に移動します"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"右下をタップ"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"タッチパッドの右下をタップすると他のオプションが表示されます"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"右下をクリック"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"タッチパッドの右下をクリックするとオプションが表示されます"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"ポインタの速度"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"ポインターの塗りつぶしスタイル"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"ポインターの塗りつぶしを黒色に変更"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"ポインターの塗りつぶしを黄色に変更"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"ポインターの塗りつぶしを桃色に変更"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"ポインターの塗りつぶしを青色に変更"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"ポインターのストローク スタイル"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"白"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"黒"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"なし"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"タッチパッド操作を見る"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"トラックパッド, マウス, カーソル, スクロール, スワイプ, 右クリック, クリック, ポインタ"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"右クリック, タップ"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"リセット"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"修飾キーを選択"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> の新しいキーを選択してください"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"物理キーボードのユーザー補助"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"固定キー、バウンスキー、マウスキー"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"レイアウト: <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"デフォルト"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"自動: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"ユーザーによる選択: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"読み上げ"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"ポインタの速度"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"ポインタのスケール"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"ポインタのスケールを小さくする"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"ポインタのスケールを大きくする"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"ゲーム用コントローラ"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"リダイレクトのバイブレーション"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"接続時にバイブレーションをゲーム用コントローラに送信"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"無視して続行"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"キャンセル"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"画面の拡大設定"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"指 1 本でのパン操作"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"1 本の指で拡大鏡を移動"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"1 本の指でドラッグして画面上を移動"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"1 本の指でドラッグして拡大領域を移動します。"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"2 本の指でドラッグして拡大領域を移動します。"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"画面の一部のみを拡大している間は利用できません"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ボタンをタップしてズームします"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"画面をすばやくズームインして、コンテンツを拡大できます"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;ズームインするには:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ショートカットを使って拡大を開始します&lt;br/&gt; {1,number,integer}. 画面をタップします&lt;br/&gt; {2,number,integer}. 2 本の指でドラッグして画面上を移動します&lt;br/&gt; {3,number,integer}. 2 本の指でピンチ操作してズームを調整します&lt;br/&gt; {4,number,integer}. ショートカットを使って拡大を停止します&lt;br/&gt;&lt;br/&gt; &lt;b&gt;一時的にズームインするには:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. 拡大の種類が全画面に設定されていることを確認します&lt;br/&gt; {1,number,integer}. ショートカットを使って拡大を開始します&lt;br/&gt; {2,number,integer}. 画面を長押しします&lt;br/&gt; {3,number,integer}. 指をドラッグして画面上を移動します&lt;br/&gt; {4,number,integer}. 指を離して拡大を停止します"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;ズームインするには:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ショートカットを使って拡大を開始します&lt;br/&gt; {1,number,integer}. 画面をタップします&lt;br/&gt; {2,number,integer}. 2 本の指でドラッグして画面上を移動します&lt;br/&gt; {3,number,integer}. 2 本の指でピンチ操作してズームを調整します&lt;br/&gt; {4,number,integer}. ショートカットを使って拡大を停止します&lt;br/&gt;&lt;br/&gt; 一時的にズームインするなどの操作もできます。"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;ズームインするには:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ショートカットを使って拡大を開始します&lt;br/&gt; {1,number,integer}. 画面をタップします&lt;br/&gt; {2,number,integer}. 1 本または 2 本の指でドラッグして画面上を移動します&lt;br/&gt; {3,number,integer}. 2 本の指でピンチ操作してズームを調整します&lt;br/&gt; {4,number,integer}. ショートカットを使って拡大を停止します&lt;br/&gt;&lt;br/&gt; 一時的にズームインするなどの操作もできます。"</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_pager" msgid="8461939455728454061">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="NUM_PAGES">%2$d</xliff:g> ページ目"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"ユーザー補助機能ボタンのショートカット"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"フローティング ボタンをタップします"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"ユーザー補助操作"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"画面下部にあるユーザー補助機能ボタン <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> をタップします。機能を切り替えるには、ユーザー補助機能ボタンを長押しします。"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"2 本の指で画面の下から上にスワイプします。\n\n機能を切り替えるには、2 本指で上にスワイプしたまま長押しします。"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"3 本の指で画面の下から上にスワイプします。\n\n機能を切り替えるには、3 本指で上にスワイプしたまま長押しします。"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{画面の下部から上にスワイプします。機能を切り替えるには、上にスワイプしたまま長押しします。}other{# 本の指で画面の下部から上にスワイプします。機能を切り替えるには、# 本の指で上にスワイプしたまま長押しします。}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"その他のオプション"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"「<xliff:g id="SERVICE">%1$s</xliff:g>」の詳細"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"音量ボタン"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"音量ボタン"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"音量大と音量小の両方のボタンを長押しします"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"2 本の指で画面をダブルタップする"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d 本の指でダブルタップ"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"%1$d 本の指で画面をすばやく 2 回タップします"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"トリプルタップ"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"画面をすばやく %1$d 回タップします。デバイスの反応が遅くなる場合があります。"</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d 本の指でダブルタップ"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"2 本の指で画面を {0,number,integer} 回すばやくタップします"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"画面をトリプルタップ"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"トリプルタップ"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"画面をすばやく {0,number,integer} 回タップします。このショートカットを使うと、デバイスの動作が遅くなる場合があります"</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_global_gesture_preference_title" msgid="8866765674372344850">"音量ボタンのショートカット"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"ショートカットの設定"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"ロック画面からのショートカット"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"ロック画面での音量ボタンのショートカット"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"有効にすると、音量大と音量小の両方のボタンを数秒ほど長押しすることで、ロック画面でもショートカットを ON にできます。"</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"ユーザー補助機能ボタン"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"ユーザー補助機能ボタンと操作"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"このサービスは機能していません。"</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"ユーザー補助機能のショートカット"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"クイック設定に表示"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"赤 / 緑"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"赤緑"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"赤 - 緑、緑色弱"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"赤 - 緑、赤色弱"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"青 / 黄"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"グレースケール"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"強さ"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"緑色弱、第二色弱"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"赤色弱、第一色弱"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"グレースケール モード選択時、または色補正が無効に設定されているときは使用できません"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"さらに輝度を下げる"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"画面の輝度をさらに下げる"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"水色"</string>
     <string name="color_yellow" msgid="5957551912912679058">"黄"</string>
     <string name="color_magenta" msgid="8943538189219528423">"マゼンタ"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"<xliff:g id="SERVICE">%1$s</xliff:g> にデバイスのフル コントロールを許可しますか?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g>では以下が必要です。"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"アプリが許可リクエストを隠しているため、設定側でユーザーの応答を確認できません。"</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> はこのデバイスのフル コントロールをリクエストしています。これは、ユーザー補助を必要とするユーザーに代わって画面を読み上げたり操作したりするサービスです。大半のアプリに、このレベルのコントロールは適していません。"</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"フル コントロールは、ユーザー補助機能に対応しているアプリに最適です。多くのアプリではこの機能に対応していません。"</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"画面の表示と操作"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"画面上のすべてのコンテンツを読み取り、他のアプリの上にコンテンツを重ねて表示することができます。"</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"操作の表示と実行"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"アプリやハードウェア センサーの操作を記録したり、自動的にアプリを操作したりできます。"</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"許可"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"許可しない"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"OFF にする"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"ON / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g>、<xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Bluetooth デバイスで空間オーディオを ON にすることもできます。"</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"接続済みのデバイスの設定"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"空間オーディオ"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"OFF"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"OFF"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"OFF"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{なし}=1{1 件のスケジュールが有効}other{# 件のスケジュールが有効}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"サイレント モード"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"優先モード"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"モードを追加する"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"モード"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"睡眠、作業、運転など、さまざまな状況において妨げとなるものを防いで集中できるようにします。"</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"独自のモードを作成する"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"大切な人やアプリからの通知のみ受け取ります"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"スケジュールの設定"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"以下に基づくスケジュール"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"曜日と時刻"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"「平日の午前 9 時から午後 5 時」"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"カレンダーの予定"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} がアクティブです}=2{{mode_1} と {mode_2} がアクティブです}=3{{mode_1}、{mode_2}、{mode_3} がアクティブです}other{{mode_1}、{mode_2}、他 # 個がアクティブです}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 個のモードを自動的に ON にできます}other{# 個のモードを自動的に ON にできます}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ON"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"未設定"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"無効"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"モードの作成"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"カスタム"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"今すぐ ON にする"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"OFF にする"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"モードが見つかりません"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"割り込みを制限する"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"集中の妨げになるものをブロックします"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g> を設定"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"サイレント モードを ON にする"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"アラームとメディア サウンドが割り込み可能"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"スケジュール"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"スケジュールを削除"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"削除"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"名前を変更"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"削除"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"「<xliff:g id="MODE">%1$s</xliff:g>」を削除しますか?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"編集"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"スケジュール"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"スケジュール"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"自動的に ON"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"カレンダーの追加"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"カレンダーを使用する"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"スケジュール"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"スケジュールを設定してください"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"自動的に ON にするタイミング"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"イベントのスケジュール"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"以下の予定のときに ON にする"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"招待の返信が以下のとき"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"時間のスケジュール"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"スケジュールを設定"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> 時間 <xliff:g id="MINUTES">%2$d</xliff:g> 分"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"スケジュール"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"音が出る割り込みの許可"</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="mode_interruption_filter_title" msgid="6657431939996264417">"確認できる通知"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"その他の操作"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"通知フィルタ"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"その他の設定"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{OFF}=1{OFF / 1 件のモードを自動的に ON にできます}other{OFF / # 件のモードを自動的に ON にできます}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"表示の設定"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"表示オプション"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"グレースケール"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ダークモードを有効にする"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"暗い背景に明るいテキストを表示するよう OS やアプリを切り替えると、見やすくなることがあり、デバイスによってはバッテリーの大幅な節約につながります"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{表示の変更なし}=1{{effect_1}}=2{{effect_1}、{effect_2}}=3{{effect_1}、{effect_2}、{effect_3}}other{{effect_1}、{effect_2}、他 # 件}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"すべての通知を許可"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"ユーザー、アプリ、サウンドが割り込み可能"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"フィルタした通知の表示オプション"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"サイレント モードが ON のとき"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"通知音なし"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"通知を開く"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"通知のスヌーズを許可する"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"アプリアイコン上の通知ドット"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"通知バンドル"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"バブル"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"バブル"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"この会話をバブルで表示"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"メッセージに返信できるほか、通知をスヌーズ、非表示にしたり、電話に出たりするなど、通知内のボタン操作を実行することもできます。"</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"設定の変更"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"サイレント モード設定を切り替えたり、関連する設定を変更したりできます。"</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"モードの管理や有効化、関連する設定の変更を行えます。"</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> の通知アクセスを OFF にすると、サイレント モードの利用権限も OFF になります。"</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> の通知へのアクセスを OFF にすると、モードへのアクセスも OFF になります。"</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"OFF にする"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"キャンセル"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"リアルタイム"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"このアプリは拡張設定に対応していません"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"その他の設定"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"このアプリ内でその他の設定を利用できます"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"通知の自動調整"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"通知の自動調整を使用する"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"短時間に多くの通知が届いた場合に、通知と音の頻度を最小限に抑えます。通話、アラーム、優先度の高い会話については、通常どおり通知が届きます。受け取った通知はすべて、画面を上から下にスワイプして簡単に確認できます。"</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"通知のクールダウン"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"通知のクールダウンの使用"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"短時間の間に通知が多く届いた場合に、最大 2 分間、デバイスが音量を下げて通知を最小限に抑えます。通話、アラーム、優先度の高い会話には影響しません。\n\nクールダウンの間に受信した通知は、画面上部から下にスワイプすると確認できます。"</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"仕事用プロファイルに適用する"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"仕事用プロファイルのアプリに適用する"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR ヘルパー サービス"</string>
@@ -3650,6 +3709,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"モードへのアクセス"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"モードへのアクセスを許可"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"モードへのアクセスをリクエストしたインストール済みアプリはありません"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"このアプリからの通知を許可していません"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"選択された設定に基づき、このカテゴリの通知はこのデバイスには表示されません"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"リクエストに従い、このグループの通知はこのデバイスには表示されません"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"カテゴリ"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"その他"</string>
     <string name="no_channels" msgid="4716199078612071915">"このアプリの通知はありません"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"使用していないカテゴリを表示"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"アプリ内のその他の設定"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"使用していないカテゴリを表示"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"使用していないカテゴリを非表示"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g>~<xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"会話"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"すべての会話"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"すべての会話"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"優先度の高い会話"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"優先度の高い会話"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"なし"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"割り込み可能なアプリ"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"選択したアプリ"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"なし"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"すべて"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{アプリは割り込み不可}=1{{app_1} が割り込み可能}=2{{app_1} と {app_2} が割り込み可能}=3{{app_1}、{app_2}、{app_3} が割り込み可能}other{{app_1}、{app_2}、他 # 個が割り込み可能}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g>(仕事用)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"計算中…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"アプリのオーバーライドを許可"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"割り込み可能なアプリ"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"他のアプリを選択"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"割り込み可能なアラームなどはありません"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"割り込み可能なユーザーはいません"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"一部のユーザーが割り込み可能"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"同一発信者による再着信は割り込み可能"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"すべてのユーザーが割り込み可能"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"同一番号からの再着信"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"同一番号からの再着信に割り込みを許可"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time}まで1時間、アラームのみに変更します}other{{time}まで#時間、アラームのみに変更します}}"</string>
     <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_action_change_name" msgid="766639614789907016">"名前を変更"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"アイコンを変更"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"アイコンの変更"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"モードの編集"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"モードの作成"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"カスタムモード"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"モード名"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"カレンダーの予定"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"「おやすみ」のルーティン"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"車の運転中"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"アプリの設定"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"<xliff:g id="APP_NAME">%1$s</xliff:g>の情報と設定"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"<xliff:g id="APP_NAME">%1$s</xliff:g>によって管理されています"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g> を無効にしますか?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"このモードは無効になっていると有効になることはありません"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"無効にする"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g>を有効にしますか?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"このモードは設定に応じて自動的に有効になることがあります。"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"有効にする"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"通常のスケジュールに沿うモードを設定します"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"カレンダーの予定や招待の返答を同期するモードを設定します"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"心地よい眠りを習慣にできるよう、アラームを設定し、画面を暗くして、通知をブロックします。"</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"運転中の安全を向上させて、運転に集中できるようにします。"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"集中の妨げになるものをデバイスからブロックします"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"気を散らすものを排除して、静かな環境を作ります"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"デバイスの環境や設定をユーザーごとにカスタマイズします"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"大切な人やアプリからの通知のみ届くよう設定することで、割り込みを最小限に抑えます"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"定期的なスケジュールに沿うモードを設定"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"一日の予定をデバイスで常に把握"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"最高の気分で目覚めましょう"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"運転中は安全第一"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"集中して力を最大限に発揮"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"礼儀を尽くす必要があるとき"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"使いこなせるようにサポート"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"集中力をコントロール"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"警告"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"閉じる"</string>
     <string name="device_feedback" msgid="5351614458411688608">"このデバイスについてフィードバックを送信"</string>
@@ -4006,6 +4102,10 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"通知アクセスが ON になっているため ON のままにしておく必要があります"</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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"<xliff:g id="APP">%1$s</xliff:g> によるモードへのアクセスを許可しますか?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"アプリはサイレント モードの ON / OFF を切り替えたり、モードの管理や有効化を行ったり、関連する設定を変更したりできるようになります。"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"<xliff:g id="APP">%1$s</xliff:g> に対するモードのアクセス権限を取り消しますか?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"このアプリで作成したすべてのモードが削除されます。"</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"最適化しない"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"最適化する"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"電池の消耗が速くなる可能性があります。アプリによるバックグランドでの電池使用は制限されなくなります。"</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"ケース"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"バッテリー"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"設定パネル"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"デスクトップ モードに強制的に切り替え"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"セカンダリ ディスプレイで試験運用版デスクトップ モードに強制的に切り替えます"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"フリーフォーム ウィンドウを有効にする"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"2 つ目のディスプレイでフリーフォーム ウィンドウを有効にする"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"マルチウィンドウでのサイズ変更不可を有効にする"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"サイズ変更できないアプリをマルチウィンドウでも使用可能にします"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"フォースダークのオーバーライド"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"モバイルデータ"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"デバイスの利便性向上のため、アプリやサービスは、Wi-Fi が OFF の場合でもいつでも Wi-Fi ネットワークをスキャンすることができます。これは位置情報を使用する機能やサービスに特に役立ちます。この動作は Wi-Fi スキャンの設定で変更できます。"</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"変更"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"接続済み"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"一時的に接続されています"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"一時的に <xliff:g id="SUBNAME">%1$s</xliff:g> を使用しています"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"アプリ固定機能を使用"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"開発者向けオプションを使用"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"印刷サービスを使用"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"複数のユーザーを許可する"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"ユーザーの切り替えを許可する"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"許可, 複数, ユーザー, 認可, 大勢"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"複数、ユーザー、プロフィール、複数のユーザー、アカウント、切り替え、多数"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ワイヤレス デバッグの使用"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> がこのスマートフォンに接続しようとしています。\n\nこれまでに <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> に接続したことはありません。"</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"接続しない"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"接続"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE 設定"</string>
-    <string name="tare_on" msgid="2386073225978684535">"ON"</string>
-    <string name="tare_off" msgid="6305694402929756726">"OFF"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"デフォルトの設定に戻す"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"設定をデフォルトに戻しました。"</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"充電完了時の最大上限"</string>
-    <string name="tare_balances" msgid="731881382594747961">"残高"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"消費制限"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"初期消費の上限"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"消費の下限"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"消費の上限"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"修飾子"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"アクション(実施費用)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"アクション(基本価格)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"1 つのイベントあたりの特典"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"イベント期間 1 秒あたりの特典"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"1 日あたりの特典数の上限"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"アプリのインストール"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"上位のアクティビティ"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"表示された通知"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"15 分以内に表示された通知"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"通知の操作"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"ウィジェットの操作"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"その他のユーザーの操作"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"最高優先度ジョブの起動"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"最高優先度ジョブの実行"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"高優先度ジョブの起動"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"高優先度ジョブの実行"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"デフォルト ジョブの起動"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"デフォルト ジョブの実行"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"低優先度ジョブの起動"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"低優先度ジョブの実行"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"最低優先度ジョブの起動"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"最低優先度ジョブの実行"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"ジョブ タイムアウトのペナルティ"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"充電完了時の最低残高(除外アプリ)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"充電完了時の最低残高(ヘッドレス システム アプリ)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"充電完了時の最低残高(その他のアプリ)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"充電完了時の最低残高の追加(アプリ アップデータ)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"充電"</item>
-    <item msgid="658627268149681677">"Doze"</item>
-    <item msgid="1599558140284643834">"省電力モード"</item>
-    <item msgid="588427840913221601">"プロセスの状態"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"確認"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"プレビュー"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"スクリーン セーバーを選択"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"その他の情報の表示"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"タブレットが装着されているときに画面に表示するものを選択してください。スクリーン セーバーを使用すると、デバイスの電力使用量が増えることがあります。"</string>
     <string name="customize_button_title" msgid="1110284655990203359">"カスタマイズ"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> をカスタマイズ"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"フリーフォームのサポートを有効にするには、再起動が必要です。"</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"セカンダリ ディスプレイをデスクトップ モードに強制的に切り替えるには、再起動が必要です。"</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"フリーフォーム ウィンドウ サポートを有効にするには、再起動が必要です。"</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"フリーフォーム ウィンドウの設定を更新するには、再起動が必要です。"</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"2 つ目のディスプレイでフリーフォーム ウィンドウを有効にするには、再起動が必要です。"</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"今すぐ再起動する"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"後で再起動する"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"空間オーディオ"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"ローズ"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"マゼンタ"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"バイオレット"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"完了"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"保存"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"キャンセル"</string>
     <string name="contrast_default" msgid="8918545965525226966">"デフォルト"</string>
     <string name="contrast_medium" msgid="384414510709285811">"中"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"ON"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"OFF"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"ON"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"音声: 左 %1$d%%、右 %2$d%%"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"音声: 右 %1$d%%、左 %2$d%%"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"インストールしたアプリにデバイス名が表示されます。また、Bluetooth デバイスや Wi-Fi ネットワークに接続したり、Wi-Fi アクセス ポイントを設定したりすると、他のユーザーにもデバイス名が表示されます。"</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"文法性"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"文法性の選択"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"音声の共有を停止済み"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"対応デバイスの接続"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"音声の共有を開始するには、まず LE Audio 対応のヘッドフォンをスマートフォンに接続します"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>に切り替える"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"LE Audio ストリームへの接続"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"付近の音声ストリーム"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"音声ストリーム"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ストリームを聴く"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>で聴くには、音声ストリームの QR コードをスキャンします"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"共有中はパスワードを編集できません。パスワードを変更するには、まず音声の共有を OFF にしてください。"</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR コードスキャナ"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"ご不明な点がある場合"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"検索設定"</string>
 </resources>
diff --git a/res/values-ka/arrays.xml b/res/values-ka/arrays.xml
index a7e6438..cd428c1 100644
--- a/res/values-ka/arrays.xml
+++ b/res/values-ka/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"ძილის დრო"</item>
-    <item msgid="4152450357280759894">"ავტომობილის მართვა"</item>
-    <item msgid="7096549258219399423">"იმერსიული"</item>
-    <item msgid="2760716776980432977">"მართული"</item>
-    <item msgid="601734478369121764">"ვარსკვლავი"</item>
-    <item msgid="6243809315432780521">"კალენდარი"</item>
-    <item msgid="4913577903148415331">"დრო"</item>
-    <item msgid="3653377604690057780">"თეატრი"</item>
-    <item msgid="3843711267408385410">"ყვავილი"</item>
+    <item msgid="1216815120972438676">"ქეისი"</item>
+    <item msgid="184985872234062767">"კლასიკური შენობა"</item>
+    <item msgid="9189550412466785530">"აპარტამენტების შენობა"</item>
+    <item msgid="2142527562511049422">"საუბრის ბუშტი"</item>
+    <item msgid="2548100558260478605">"ადამიანების ჯგუფი"</item>
+    <item msgid="2270003903304578284">"ნათურა"</item>
+    <item msgid="4793496619091161864">"კალენდარი"</item>
+    <item msgid="5673625795644364100">"არ შემაწუხოთ"</item>
+    <item msgid="1423820834865831361">"მორბენალი ადამიანი"</item>
+    <item msgid="2037298830718732608">"გოლფი"</item>
+    <item msgid="2197835014443491074">"სპორტული დარბაზის ჰანტელი"</item>
+    <item msgid="2730180105015616518">"ცურვა"</item>
+    <item msgid="2666922823253345958">"მოლაშქრე"</item>
+    <item msgid="8234880356472211396">"ადამიანი, რომელიც ბურთს ისვრის"</item>
+    <item msgid="4642980625253001443">"ადამიანი, რომელიც არტყამს"</item>
+    <item msgid="4324795269518833500">"თამაშის კონტროლერი"</item>
+    <item msgid="7789966425125441125">"მხატვრის ფერთა პალიტრა"</item>
+    <item msgid="663512680597461570">"ფიფქი"</item>
+    <item msgid="7952183800501346803">"სანაპიროს ქოლგა"</item>
+    <item msgid="799139025758265891">"სახელოსნოს ხელსაწყოები"</item>
+    <item msgid="1330084588359129896">"კარავი"</item>
+    <item msgid="3861584909935022342">"კინოკადრი"</item>
+    <item msgid="5827426100157335512">"დაჯავშნა"</item>
+    <item msgid="8585828346253128384">"ლოტოსის ყვავილი"</item>
+    <item msgid="8788370542815300188">"ადამიანის გონება"</item>
+    <item msgid="7287354964767553293">"ყურსასმენები"</item>
+    <item msgid="2530059623783800987">"ტელევიზორი"</item>
+    <item msgid="5307182323469376758">"მატარებელი"</item>
+    <item msgid="4903790544026923026">"მანქანა"</item>
+    <item msgid="5010405583912314582">"დანა-ჩანგალი"</item>
+    <item msgid="8939998598599064900">"საყიდლების კალათა"</item>
+    <item msgid="3379605903308731893">"ბავშვი"</item>
+    <item msgid="7808668968550293112">"ცხოველის თათი"</item>
+    <item msgid="1000692647524056504">"ვარსკვლავის ბეჯი"</item>
+    <item msgid="8270261073421676502">"ორი ადამიანი"</item>
+    <item msgid="5767782819651505460">"ვარსკვლავი"</item>
+    <item msgid="4368451291862729334">"გული"</item>
+    <item msgid="2613199102208419986">"სახლი"</item>
+    <item msgid="3022279986430275040">"ნახევარმთვარე"</item>
+    <item msgid="5421089790869483206">"საათი"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 802688c..304d4a8 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"შეჩერებული"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"უცნობია"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"გადახედვა"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR კოდი"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"დაპატარავება"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"გადიდება"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"ყოველთვის"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"სმენის აპარატის პარამეტრები"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"მალსახმობი, სმენის აპარატებთან თავსებადობა"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"წინასწარ დაყენებული"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"აუდიოლოგისტს არ დაუპროგრამებია წინასწარ დაყენებული პარამეტრები."</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"წინასწარ დაყენებულის განახლება ვერ მოხერხდა"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"გამომავალი აუდიო"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"აუდიოს გამოსატანის შესახებ"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"ამ აპისთვის ენის არჩევა პარამეტრებიდან მიუწვდომელია."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"ენა, შესაძლოა, განსხვავდებოდეს აპში ხელმისაწვდომი ენებისგან. ზოგიერთ აპს, შესაძლოა, არ ჰქონდეს ამ პარამეტრის მხარდაჭერა."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"დააყენეთ ენა თითოეული აპისთვის."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"თქვენი სისტემა, აპები და ვებსაიტები იყენებს პირველ მხარდაჭერილ ენას თქვენი უპირატესი ენებიდან."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"თქვენი მოწყობილობა, აპები და ვებსაიტები იყენებს პირველ მხარდაჭერილ ენას თქვენი უპირატესი ენებიდან.\n\nმრავალი აპი ასევე გამოიყენებს რეგიონს თქვენი უპირატესი ენიდან თარიღების, რიცხვებისა და ერთეულების დასაფორმატებლად. თქვენი რეგიონის შესაცვლელად დაამატეთ ენა, შემდეგ აირჩიეთ სასურველი რეგიონი."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"თითოეული აპისთვის ენის ასარჩევად, გადადით აპის ენების პარამეტრებში."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"შეიტყვეთ მეტი აპის ენების შესახებ"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"გსურთ სისტემური ენის შეცვლა %s-ით?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"გამორთული"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{ჩართულია — # აპს აქვს მდებარეობაზე წვდომა}other{ჩართულია — # აპს აქვს მდებარეობაზე წვდომა}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"მიმდინარეობს ჩატვირთვა…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"ახლომდებარე მოწყობილობების ნებართვების მქონე აპებს შეუძლია დაკავშირებული მოწყობილობების პოზიციის განსაზღვრა."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"ახლომდებარე მოწყობილობების ნებართვების მქონე აპებს შეუძლია დაკავშირებული მოწყობილობების პოზიციის განსაზღვრა."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"აპებისა და სერვისების მდებარეობაზე წვდომა გამორთულია. თქვენი მოწყობილობის მდებარეობა მაინც გაიგზავნება გადაუდებელი დახმარების სამსახურში, როცა გადაუდებელი დახმარების სამსახურის ნომერზე დარეკავთ ან ტექსტურ შეტყობინებას გაგზავნით."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"შეიტყვეთ მეტი მდებარეობის პარამეტრების შესახებ"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"შესაცვლელად გადადით ChromeOS-ის პარამეტრებში &amp;gt კონფიდენციალურობა და უსაფრთხოება &gt; კონფიდენციალურობის მართვის პარამეტრები &gt; მდებარეობაზე წვდომა"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"დაემატა სახე და <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"დაემატა სახე, თითის ანაბეჭდი და <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"დაემატა სახე, თითის ანაბეჭდები და <xliff:g id="WATCH">%s</xliff:g>"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"ვინაობის დადასტურება ჩართულია და საჭიროებს ბიომეტრიულ მონაცემებს"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Authenticator-ით დისტანციურად განბლოკვა"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"დაემატა საათი"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"თქვენი საათის დაყენება"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"შეიტყვეთ მეტი საათის განბლოკვის შესახებ"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"საათის დამატება"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"საათის ამოშლა"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"თითის ანაბეჭდით და სახით განბლოკვა"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"სახით და ანაბეჭდით განბლოკვა"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"სახით და თითის ანაბეჭდით განბლოკვა სამსახურისთვის"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"საჭიროა დაყენება"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"სახე და თითის ანაბეჭდები დამატებულია"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"მიმდინარეობს პირადი სივრცის დაყენება…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"კერძო სივრცის დაყენება ვერ მოხერხდა"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"ხელახლა ცდა"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"გასვლა"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"კერძო სივრცე მიუწვდომელია.\nშესაძლო გამომწვევი მიზეზების ნახვა"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"შესაძლო გამომწვევი მიზეზების ნახვა"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"გსურთ კერძო სივრცისთვის ახალი ჩაკეტვის არჩევა?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"შეგიძლიათ დააყენოთ ახალი ჩაკეტვა მხოლოდ კერძო სივრცისთვის, ან გამოიყენოთ იგივე ჩაკეტვა, რომელსაც იყენებთ თქვენი მოწყობილობის განბლოკვისთვის"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"გამოიყენეთ ეკრანის დაბლოკვა"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"როცა Bluetooth ჩართულია, თქვენს მოწყობილობას შეუძლია სხვა ახლომდებარე Bluetooth მოწყობილობებთან კომუნიკაცია.\n\nმოწყობილობის საუკეთესოდ მოხმარებისთვის, აპები და სერვისები მაშინაც კი შეძლებს ახლომდებარე მოწყობილობათა აღმოსაჩენად სკანირებას, როცა Bluetooth გამორთულია. ამის გამოყენება შესაძლებელია, მაგალითად, მდებარეობაზე დაფუძნებული ფუნქციების და სერვისების გასაუმჯობესებლად. ამის შეცვლა Bluetooth-ით სკანირების პარამეტრებში შეგიძლიათ."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"როდესაც Bluetooth ჩართულია, თქვენს მოწყობილობას შეუძლია ახლომდებარე Bluetooth მოწყობილობებთან დაკავშირება. ისეთი ფუნქციები, როგორიცაა სწრაფი გაზიარება და ჩემი მოწყობილობის პოვნა, იყენებს Bluetooth-ს.\n\nაპებსა და სერვისებს ნებისმიერ დროს შეუძლიათ ახლომდებარე მოწყობილობების სკანირება, მაშინაც კი, როცა Bluetooth გამორთულია. ეს შეიძლება გამოყენებულ იქნას, მაგალითად, მდებარეობაზე დაფუძნებული ფუნქციებისა და სერვისების გასაუმჯობესებლად. ამის შეცვლა Bluetooth სკანირების პარამეტრებიდან შეგიძლიათ."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"შეცვლა"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> არ არის დაკავშირებული"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"თქვენივე უსაფრთხოებისთვის დაივიწყეთ და შემდეგ ხელახლა დააწყვილეთ ეს მოწყობილობა"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"მოწყობილობის დავიწყება"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"გაუქმება"</string>
     <string name="device_details_title" msgid="1155622417516195481">"მოწყობილობის დეტალები"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"კლავიატურის პარამეტრები"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"დამატებითი პარამეტრები"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"ჩაშენებული პროგრამული უზრუნველყოფის განახლებები, ინფორმაცია და სხვა"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"მინიშნებები და მხარდაჭერა"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"მოწყობილობის Bluetooth მისამართი: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"მოწყობილობის Bluetooth მისამართი:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"გსურთ მოწყობილობის დავიწყება?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"ექსპერიმენტული. აუმჯობეს. ხმის ხარისხს."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"მოწყობილობის დავიწყება"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"აპთან კავშირის გაწყვეტა"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"დამატებითი პარამეტრები"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"დაკავშირებულ Bluetooth აუდიო-მოწყობილობათა მაქსიმალური რიცხვი"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"აირჩიეთ დაკავშირებულ Bluetooth აუდიო-მოწყობილობათა მაქსიმალური რიცხვი"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC მწარმოებლის შეცდომების გამართვის დეტალური ჟურნალი"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"გსურთ მოწყობილობის გადატვირთვა?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"დეტალური NFC აღრიცხვა გათვალისწინებულია მხოლოდ დეველოპერული მიზნებისთვის. დამატებითი NFC მონაცემები მოყვანილია სისტემის ხარვეზის ანგარიშებში, რომლებიც შეიძლება მოიცავდეს პირად ინფორმაციას. გადატვირთეთ თქვენი მოწყობილობა ამ პარამეტრის შესაცვლელად."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"გადატვირთვა"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"ჩართული"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"გამორთული"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"გარე ეკრანი"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"გარე ეკრანის გამოყენება"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"ეკრანის გარჩევადობა"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"გარე ეკრანთან კავშირი გაწყვეტილია"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"შეტრიალება"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"სტანდარტული"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"შეტრიალების ან გარჩევადობის შეცვლამ შეიძლება შეწყვიტოს მიმდინარე აპების მუშაობა"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"თქვენი მოწყობილობა დაკავშირებული უნდა იყოს გარე ეკრანთან, რათა თქვენი ეკრანის გამოსახულების ასლი შეიქმნას"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"სხვა ვარიანტები"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"ტრანსლირება"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"გამოსახულების ასლი"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"უსადენო ეკრანის ჩართვა"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"ადაპტაციური"</string>
     <string name="brightness" msgid="6216871641021779698">"სიკაშკაშის დონე"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"მორგებადი სიკაშკაშე"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"მორგებადი სიკაშკაშის შესახებ"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"თქვენი ეკრანის სიკაშკაშე ავტომატურად დარეგულირდება თქვენი გარემოსა და აქტივობების გათვალისწინებით. ამ სლაიდერის ამოძრავებას ხელითაც შეძლებთ, რითაც დაეხმარებით მორგებადი სიკაშკაშის პარამეტრს, შეიტყოს, თუ რას ანიჭებთ უპირატესობას."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"ჩართული"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"გამორთული"</string>
@@ -1311,8 +1340,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="8850185380445309835">"გსურთ სასურვ. SIM-ის განახლ.?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> ერთადერთი SIM ბარათია თქვენს მოწყობილობაში. გსურთ, გამოიყენოთ ეს SIM ბარათი მობილური ინტერნეტის, ზარებისა და SMS შეტყობინებებისათვის?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> ახლა არის თქვენი მთავარი SIM"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"გსურთ მობილური ინტერნეტის დაფარვის ზონის გაუმჯობესება?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"ნება დართეთ თქვენს მოწყობილობას, რომ ავტომატურად გადაერთოს <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g>-ის მობილურ ინტერნეტზე, როცა ის უფრო ხელმისაწვდომია."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"ზარები, შეტყობინებები და ქსელის ტრაფიკი შეიძლება ხილული იყოს თქვენი ორგანიზაციისთვის."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"ვარიანტები"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"წვდომა"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"ფიზიკური კლავიატურა"</string>
-    <string name="show_ime" msgid="4334255501724746849">"ეკრანული კლავიატურის გამოყენება"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"აქტიური ფიზიკური კლავიატურისას ეკრანზე შენარჩუნება"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"კლავიშების ასხლეტა"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"კლავიატურა აიგნორებს <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> მილიწამის განმავლობაში ერთსა და იმავე კლავიშზე სწრაფ, განმეორებით დაჭერებს"</string>
     <string name="slow_keys" msgid="2891452895499690837">"ნელი კლავიშები"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"არეგულირებს დროს, რომელიც სჭირდება კლავიშის დაჭერას <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> მილიწამამდე აქტივაციისთვის"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"კლავიშების ფიქსაცია"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"მალსახმობებისთვის დააჭირეთ კლავიშებს ცალ-ცალკე და არა ერთდროულად"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"მაუსის კლავიშები"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"მაუსის სამართავად გამოიყენეთ ფიზიკური კლავიატურა"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"კლავიატურის მალსახმობები"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"მალსახმობების სიის ჩვენება"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"სამსახურის პროფილის კლავიატურა და ხელსაწყოები"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"დააყენეთ სენსორული პანელით ნავიგაციის ინდივიდუალური ჟესტები"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"უკუგადაადგილება"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"კონტენტი მოძრაობს ზემოთ, როცა ქვემოთ გადაადგილდებით"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"ქვედა მარჯვენა მხარეს შეხება"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"სხვა ვარიანტ. შეეხეთ სენს. პანელის ქვედა მარჯვენა მხარეს"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"ქვედა მარჯვენა დაწკაპუნება"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"დამატებითი ვარიანტებისთვის დააწკაპუნეთ სენსორული პანელის ქვედა მარჯვენა კუთხეში"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"მანიშნებლის სიჩქარე"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"კურსორის სტილი"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"კურსორის სტილის შეცვლა შავად"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"კურსორის სტილის შეცვლა ყვითლად"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"კურსორის სტილის შეცვლა ვარდისფრად"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"კურსორის სტილის შეცვლა ლურჯად"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"კურსორის ხაზების სტილი"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"თეთრი"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"შავი"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"არცერთი"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"გაეცანით სენსორული ეკრანის ჟესტებს"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"ტრეკპედი, ტრეკ პედი, მაუსი, კურსორი, გადაადგილება, გადაფურცვლა, მარჯვენა დაწკაპუნება, დაწკაპუნება, მანიშნებელი"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"მარჯვენა დაწკაპუნება, შეხება"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"გადაყენება"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"აირჩიეთ მოდიფიკატორი კლავიში"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"აირჩიეთ ახალი კლავიში <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>-ისთვის:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"ფიზიკური კლავიატურის მისაწვდომობა"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"კლავიშების ფიქსაცია, მრავალჯერადი დაჭერის შეზღუდვა კლავიშებზე, მაუსის კლავიშები"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> განლაგება"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ნაგულისხმევი"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"ავტომატური: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"მომხმარებლის მიერ არჩეული: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"მეტყველება"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"მანიშნებლის სიჩქარე"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"კურსორის ზომა"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"კურსორის ზომის შემცირება"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"კურსორის ზომის გაზრდა"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"თამაშის მეთვალყურე"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"ვიბრაციის გადამისამართება"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"დაკავშირებისას ვიბრაციის სათამაშო კონტოლერზე გადამისამართება"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"მაინც გაგრძელება"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"გაუქმება"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"გადიდების პარამეტრები"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"ერთი თითით პანირება"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"გადაადგილეთ გამადიდებელი 1 თითით"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"ეკრანზე გადასაადგილებლად ჩაავლეთ 1 თითით"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"გაამოძრავეთ გადიდების ზონა ერთი თითის ჩავლებით."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"გაამოძრავეთ გადიდების ზონა ორი თითის ჩავლებით."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"მიუწვდომელია ეკრანის მხოლოდ ნაწილის გადიდებისას"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"მასშტაბირება ღილაკზე შეხებით"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"კონტენტის გასადიდებლად სწრაფად გაადიდეთ მასშტაბი ეკრანზე"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;მასშტაბის გასადიდებლად:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. გადიდების დასაწყებად გამოიყენეთ მალსახმობი&lt;br/&gt; {1,number,integer}. შეეხეთ ეკრანს&lt;br/&gt; {2,number,integer}. ჩაავლეთ 2 თითი ეკრანზე გადასაადგილებლად&lt;br/&gt; {3,number,integer}. მასშტაბის კორექტირებისთვის გამოიყენეთ თითებით მასშტაბირება 2 თითით&lt;br/&gt; {4,number,integer}. გადიდების შესაწყვეტად გამოიყენეთ მალსახმობი&lt;br/&gt;&lt;br/&gt;&lt;b&gt;მასშტაბის დროებით გასადიდებლად:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. გადიდების მასშტაბი სრულ ეკრანზე უნდა იყოს დაყენებული&lt;br/&gt; {1,number,integer}. გადიდების დასაწყებად გამოიყენეთ მალსახმობი&lt;br/&gt; {2,number,integer}. ხანგრძლივად შეეხეთ ეკრანს ნებისმიერ ადგილას&lt;br/&gt; {3,number,integer}. ჩაავლეთ თითი ეკრანზე გადასაადგილებლად&lt;br/&gt; {4,number,integer}. გადიდების შესაწყვეტად მოაშორეთ თითი"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;მასშტაბის გასადიდებლად:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. გადიდების დასაწყებად გამოიყენეთ მალსახმობი&lt;br/&gt; {1,number,integer}. შეეხეთ ეკრანს&lt;br/&gt; {2,number,integer}. ეკრანზე გადასაადგილებლად ჩაავლეთ 2 თითით&lt;br/&gt; {3,number,integer}. მასშტაბის კორექტირებისთვის გამოიყენეთ თითებით მასშტაბირება 2 თითით&lt;br/&gt; {4,number,integer}. გადიდების შეწყვეტისთვის გამოიყენეთ მალსახმობი&lt;br/&gt;&lt;br/&gt; თქვენ ასევე შეგიძლიათ დროებით გაადიდოთ მასშტაბი და შეასრულოთ სხვა მოქმედებები."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;მასშტაბის გასადიდებლად:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. გადიდების დასაწყებად გამოიყენეთ მალსახმობი&lt;br/&gt; {1,number,integer}. შეეხეთ ეკრანს&lt;br/&gt; {2,number,integer}. ეკრანზე გადასაადგილებლად ჩაავლეთ 1 ან 2 თითით&lt;br/&gt; {3,number,integer}. მასშტაბის კორექტირებისთვის გამოიყენეთ თითებით მასშტაბირება 2 თითით&lt;br/&gt; {4,number,integer}. გადიდების შეწყვეტისთვის გამოიყენეთ მალსახმობი&lt;br/&gt;&lt;br/&gt; თქვენ ასევე შეგიძლიათ დროებით გაადიდოთ მასშტაბი და შეასრულოთ სხვა მოქმედებები."</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_pager" msgid="8461939455728454061">"გვერდი <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> / <xliff:g id="NUM_PAGES">%2$d</xliff:g>-დან"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"მარტივი წვდომის ღილაკის მალსახმობი"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"შეეხეთ მოლივლივე ღილაკს"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"მარტივი წვდომის ჟესტი"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"თქვენი ეკრანის ქვედა ნაწილში შეეხეთ მარტივი წვდომის ღილაკს: <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>. ფუნქციების გადასართავად ხანგრძლივად შეეხეთ მარტივი წვდომის ღილაკს."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"ორი თითით გადაფურცლეთ ეკრანის ქვედა კიდიდან ზემოთ.\n\nფუნქციების გადასართავად, ორი თითით გადაფურცლეთ ზემოთ და დააყოვნეთ."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"სამი თითით გადაფურცლეთ ეკრანის ქვედა კიდიდან ზემოთ.\n\nფუნქციების გადასართავად, სამი თითით გადაფურცლეთ ზემოთ და დააყოვნეთ."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{გადაფურცლეთ ზემოთ თქვენი ეკრანის ქვედა ნაწილიდან. ფუნქციებს შორის გადასართავად გადაფურცლეთ ზემოთ და დააყოვნეთ.}other{გადაფურცლეთ # თითით ზემოთ თქვენი ეკრანის ქვედა ნაწილიდან. ფუნქციებს შორის გადასართავად # თითით გადაფურცლეთ ზემოთ და დააყოვნეთ.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"სხვა ვარიანტები"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"შეიტყვეთ მეტი <xliff:g id="SERVICE">%1$s</xliff:g>-ის შესახებ"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"ხმის ღილაკები"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"ხმის ღილაკები"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"ხანგრძლივად დააჭირეთ ხმის ორივე ღილაკს"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"ეკრანზე ორი თითით ორმაგი შეხება"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d თითით ორმაგად შეხება"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"ორჯერ სწრაფად შეეხეთ ეკრანს %1$d თითით"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"სამმაგი შეხება"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"სწრაფად შეეხეთ ეკრანს %1$d-ჯერ. ამან შესაძლოა თქვენი მოწყობილობა შეანელოს."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d თითით ორმაგად შეხება"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"სწრაფად შეეხეთ ეკრანს {0,number,integer}-ჯერ ორი თითით"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"სამმაგად შეეხეთ ეკრანს"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"სამმაგი შეხება"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"სწრაფად შეეხეთ ეკრანს {0,number,integer}-ჯერ. ამ მალსახმობმა შეიძლება მოწყობილობა შეანელოს"</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_global_gesture_preference_title" msgid="8866765674372344850">"ხმის ღილაკების მალსახმობები"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"მალსახმობის პარამეტრები"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"მალსახმობი ჩაკეტილი ეკრანიდან"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"ჩაკეტილი ეკრანის ხმის ღილაკების მალსახმობები"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"ნება დართეთ ფუნქციის მალსახმობს, ჩაირთოს ჩაკეტილი ეკრანიდან. ხანგრძლივად დააჭირეთ ხმის ორივე ღილაკს რამდენიმე წამის განმავლობაში."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"მარტივი წვდომის ღილაკი"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"მარტივი წვდომის ღილაკი და ჟესტი"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"ეს სერვისი გაუმართავად მუშაობს."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"მარტივი წვდომის მალსახმობები"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"სწრაფ პარამეტრებში ჩვენება"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"წითელი-მწვანე"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"მოწითალო-მომწვანო"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"წითელ-მწვანე, მწვანე სუსტი"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"წითელ-მწვანე, წითელი სუსტი"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"ლურჯი-ყვითელი"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"ნაცრისფერი ტონები"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"ინტენსივობა"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"მკრთალი მწვანე, დეიტერანომალია"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"მკრთალი წითელი, პროტანომალია"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"მიუწვდომელია ნაცრისფერი ტონების რეჟიმისთვის ან ფერთა კორექციის გათიშვისას"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"დამატებითი დაბინდვა"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"ეკრანის დამატებით დაბინდვა"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"ცისფერი"</string>
     <string name="color_yellow" msgid="5957551912912679058">"ყვითელი"</string>
     <string name="color_magenta" msgid="8943538189219528423">"მეწამული"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"დართავთ ნებას <xliff:g id="SERVICE">%1$s</xliff:g>-ს, სრულად მართოს თქვენი მოწყობილობა?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g>-ს ესაჭიროება:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"აპის მიერ ნებართვის მოთხოვნის დაფარვის გამო, ვერ ხერხდება თქვენი პასუხის დადასტურება პარამეტრებით."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> ითხოვს სრულ კონტროლს ამ მოწყობილობაზე. სერვისს შეუძლია ეკრანზე არსებული კონტენტის წაკითხვა და განსაკუთრებული საჭიროების მქონე მომხმარებლების სახელით მოქმედება. ამ დონის კონტროლი არ არის საჭირო აპების უმეტესობისთვის."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"სრული კონტროლი გამოსადეგია აპებისთვის, რომლებიც მარტივი წვდომის საჭიროებისას გეხმარებათ, მაგრამ არა აპების უმრავლესობისთვის."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"ეკრანის ნახვა და მართვა"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"მას შეუძლია წაიკითხოს ეკრანზე არსებული მთელი კონტენტი და აჩვენოს კონტენტი სხვა აპებში."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"მოქმედებების ნახვა და შესრულება"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"მას შეუძლია თვალი მიადევნოს თქვენს ინტერაქციებს აპის ან აპარატურის სენსორის საშუალებით, ასევე, თქვენი სახელით აწარმოოს აპებთან ინტერაქცია."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"დაშვება"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"უარყოფა"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"გამორთვა"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"ჩართულია / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> და <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"ასევე, შეგიძლიათ, ჩაურთოთ Bluetooth მოწყობილობებს სივრცითი აუდიო."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"დაკავშირებული მოწყობილობების პარამეტრები"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"სივრცითი აუდიო"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"გამორთული"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"გამორთული"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"გამორთული"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{არცერთი}=1{დაყენებულია 1 განრიგი}other{დაყენებულია # განრიგი}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"არ შემაწუხოთ"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"პრიორიტეტული რეჟიმები"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"რეჟიმის დამატება"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"რეჟიმები"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"მინიმუმამდე შეამცირეთ ხელშემშლელი ფაქტორები და მართეთ თქვენი ყურადღება ძილის, სამუშაო, საავტომობილო და სხვა რეჟიმების მეშვეობით."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"საკუთარი რეჟიმის შექმნა"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"შეტყობინებების მიღება მხოლოდ მნიშვნელოვანი ხალხისგან და აპებიდან"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"განრიგის დაყენება"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"განრიგის საფუძველი:"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"თარიღი და დრო"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"„09:00 —17:00, კვირის დღეები“"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"კალენდრის მოვლენები"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} აქტიურია}=2{{mode_1} და {mode_2} აქტიურია}=3{{mode_1}, {mode_2} და {mode_3} აქტიურია}other{{mode_1}, {mode_2} და # სხვა აქტიურია}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 რეჟიმი შესაძლოა ჩაირთოს ავტომატურად}other{# რეჟიმი შესაძლოა ჩაირთოს ავტომატურად}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ჩართული"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"არ არის დაყენებული"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"გათიშულია"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"რეჟიმის შექმნა"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"მორგებული"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"ახლავე ჩართვა"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"გამორთვა"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"რჟიმი ვერ მოიძებნა"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"წყვეტების შეზღუდვა"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"წყვეტებისა და ხელისშემშლელი ფაქტორების დაბლოკვა"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g>-ის დაყენება"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"„არ შემაწუხოთ“ რეჟიმის ჩართვა"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"შეწყვეტა შეუძლია მაღვიძარებს და მედიის ხმებს"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"განრიგები"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"განრიგების წაშლა"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"წაშლა"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"გადარქმევა"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"წაშლა"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"გსურთ „<xliff:g id="MODE">%1$s</xliff:g>“ რეჟიმის წაშლა?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"რედაქტირება"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"განრიგები"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"განრიგი"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"ავტომატურად ჩართვა"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"კალენდრის დამატება"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"თქვენი კალენდრის გამოყენება"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"განრიგი"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"განრიგის დაყენება"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"ავტომატურად ჩართვის დრო"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"ღონისძიების განრიგი"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"ჩართვა ღონისძიებებისას"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"სადაც მოწვევის პასუხია:"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"დროის განრიგი"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"განრიგი"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> სთ, <xliff:g id="MINUTES">%2$d</xliff:g> წთ"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"განრიგი"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"ხმის გამომცემი წყვეტების დაშვება"</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="mode_interruption_filter_title" msgid="6657431939996264417">"შეტყობინებები, რომლებსაც თქვენთან დაკავშირება შეუძლიათ"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"დამატებითი მოქმედებები"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"შეტყობინების ფილტრები"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"დამატებითი პარამეტრები"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{გამორთულია}=1{გამორთულია / 1 რეჟიმი შეიძლება ავტომატურად ჩაირთოს}other{გამორთულია / # რეჟიმი შეიძლება ავტომატურად ჩაირთოს}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"ეკრანის პარამეტრები"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"ეკრანის ვარიანტები"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"ნაცრისფერი ტონები"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"მუქი თემის ჩართვა"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"შეცვალეთ ოპერაციული სისტემა და აპები და უპირატესობა მიანიჭეთ ნათელ ტექსტს მუქ ფონზე, რაც თვალისთვის უფრო ადვილი აღსაქმელია და მნიშვნელოვნად ზოგავს ბატარეას ზოგიერთ მოწყობილობაზე"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{ეკრანის ცვლილებები არ დაფიქსირებულა}=1{{effect_1}}=2{{effect_1} და {effect_2}}=3{{effect_1}, {effect_2} და {effect_3}}other{{effect_1}, {effect_2} და # სხვა}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"ყველა შეტყობინების დაშვება"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"შეწყვეტა შეუძლიათ ადამიანებს, აპებსა და ხმებს"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"გაფილტრული შეტყობინებების ეკრანის ვარიანტები"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"როცა ჩართულია „არ შემაწუხოთ“ რეჟიმი"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"შეტყობინებები ხმის გარეშე"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"შეტყობინების გახსნა"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"შეტყობინებების ჩაჩუმების დაშვება"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"შეტყობ. ნიშნული აპის ხატულაზე"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"შეტყობინების ნაკრებები"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"ბუშტები"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"ბუშტები"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"ამ მიმოწერის ბუშტად ჩვენება"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"მას შეუძლია შეტყობინებებზე პასუხი და შეტყობინებებში ღილაკების გამოყენება, მაგალითად, შეტყობინებებისა და ზარების ჩაჩუმება ან უარყოფა და მათზე პასუხი."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"პარამეტრების შეცვლა"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"მას შეუძლია „არ შემაწუხოთ“ რეჟიმის ჩართვა ან გამორთვა და დაკავშირებული პარამეტრების შეცვლა."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"მას შეუძლია რეჟიმების მართვა, გააქტიურება და დაკავშირებული პარამეტრების შეცვლა."</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_modes_warning_summary" msgid="7528432011433844158">"თუ <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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"რეალურ დროში"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"ამ აპს არ აქვს გაძლიერებული პარამეტრების მხარდაჭერა"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"დამატებითი პარამეტრები"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"მეტი პარამეტრი ხელმისაწვდომია ამ აპში"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"მორგებადი შეტყობინებები"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"მორგებადი შეტყობინებების გამოყენება"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"როცა მცირე დროის განმავლობაში ბევრ შეტყობინებას იღებთ, თქვენი ტელეფონი ხმას დაუწევს და მინიმალურამდე შეამცირებს ეკრანზე ამომხტარ ფანჯრებს ორი წუთის განმავლობაში. ზარები, მაღვიძარები და პრიორიტეტული საუბრები ისევ გამოსცემენ ვიბრაციას, ხმას ან გამოჩნდებიან ეკრანზე და ყველა შეტყობინება მარტივი საპოვნელი იქნება, როცა ჩამოწევთ ეკრანის ზემოდან."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"შეტყობინების განტვირთვის პერიოდი"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"შეტყობინების განტვირთვის პერიოდის გამოყენება"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"როცა მცირე დროის განმავლობაში ბევრ შეტყობინებას იღებთ, თქვენი მოწყობილობა ხმას დაუწევს და მინიმალურამდე შეამცირებს ეკრანზე ამომხტარ გაფრთხილებებს ორ წუთამდე დროის განმავლობაში. თქვენი მოწყობილობის ხმა და გაფრთხილებები ავტომატურად მცირდება 2 წუთამდე, როცა ძალიან ბევრ შეტყობინებას მიიღებთ ერთდროულად. ზარებზე, მაღვიძარებსა და პრიორიტეტულ საუბრებზე ეს გავლენას არ ახდენს. \n\nგანტვირთვის პერიოდის განმავლობაში მიღებული შეტყობინებების ნახვა შესაძლებელია ეკრანის ზემოდან ქვემოთ ჩამოწევით."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"გამოიყენეთ სამსახურის პროფილზე"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"სამსახურის პროფილის აპებზე გავრცელება"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"ვირტ. რეალობის დამხმარე სერვისები"</string>
@@ -3650,6 +3709,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"რეჟიმებზე წვდომა"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"რეჟიმებზე წვდომის დაშვება"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"რეჟიმებზე წვდომა არცერთ ინსტალირებულ აპს არ მოუთხოვია"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"თქვენ არ დაუშვით შეტყობინებები ამ აპიდან"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"თქვენი მოთხოვნის მიხედვით, Android ბლოკავს შეტყობინებების ამ კატეგორიის მოწყობილობაზე გამოჩენას"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"თქვენი მოთხოვნის მიხედვით, Android ბლოკავს შეტყობინებების ამ ჯგუფის გამოჩენას მოწყობილობაზე"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"კატეგორიები"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"სხვა"</string>
     <string name="no_channels" msgid="4716199078612071915">"ამ აპს შეტყობინებები არ გამოუქვეყნებია"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"გამოუყენებელი კატეგორიების ჩვენება"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"დამატებითი პარამეტრები აპში"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"გამოუყენებელი კატეგორიების ჩვენება"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"გამოუყენებელი კატეგორიების დამალვა"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"საუბრები"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"ყველა საუბარი"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"ყველა საუბარი"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"პრიორიტეტული საუბრები"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"პრიორიტეტული საუბრები"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"არცერთი"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"აპები, რომლებსაც შეწყვეტა შეუძლიათ"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"არჩეული აპები"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"არცერთი"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"ყველა"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{არცერთ აპს არ შეუძლია შეწყვეტა}=1{{app_1}-ს შეუძლია შეწყვეტა}=2{{app_1}-ს და {app_2}-ს შეუძლია შეწყვეტა}=3{{app_1}-ს, {app_2}-ს და {app_3}-ს შეუძლია შეწყვეტა}other{{app_1}-ს, {app_2}-ს და # სხვას შეუძლია შეწყვეტა}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (სამუშაო)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"მიმდინარეობს გამოთვლა…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"აპებისთვის უგულებელყოფის დაშვება"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"აპები, რომლებსაც შეწყვეტა შეუძლია"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"მეტი აპის არჩევა"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"შეწყვეტა არაფერს შეუძლია"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"შეწყვეტა არავის შეუძლია"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"შეწყვეტა შეუძლია ზოგიერთ ადამიანს"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"განმეორებით აბონენტებს შეუძლიათ შეწყვეტა"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"შეწყვეტა შეუძლია ყველას"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"აბონენტების გამეორება"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"განმეორებითი აბონენტების დაშვება"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{შეცვალეთ სიგნალიზაცია მხოლოდ ერთი საათის განმავლობაში {time}-მდე}other{მაღვიძარების შეცვლა მხოლოდ # საათის განმავლობაში {time}-მდე}}"</string>
     <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_action_change_name" msgid="766639614789907016">"გადარქმევა"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"ხატულის შეცვლა"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"ხატულის შეცვლა"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"რეჟიმის რედაქტირება"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"რეჟიმის შექმნა"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"მორგებული რეჟიმი"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"რეჟიმის სახელი"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"კალენდრის მოვლენები"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"ძილისწინა რუტინა"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"მანქანის მართვისას"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"აპის პარამეტრები"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"ინფორმაცია და პარამეტრები <xliff:g id="APP_NAME">%1$s</xliff:g>-ში"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"მართავს <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"გსურთ <xliff:g id="MODE_NAME">%1$s</xliff:g>-ის გათიშვა?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"რეჟიმის გათიშვის შემთხვევაში, ის არასდროს ჩაირთვება"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"გათიშვა"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"გსურთ <xliff:g id="MODE_NAME">%1$s</xliff:g>-ის ჩართვა?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"რეჟიმი შესაძლოა ავტომატურად ჩაირთოს თავისი პარამეტრების საფუძველზე"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"ჩართვა"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"დააყენეთ რეჟიმი, რომელიც მიყვება რეგულარულ განრიგს"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"დააყენეთ რეჟიმი, რათა სინქრონიზდეთ კალენდრის მოვლენებთან და მოწვევის პასუხებთან"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"შექმენით ძილის დამამშვიდებელი რუტინა დააყენეთ მაღვიძარები, ჩააბნელეთ ეკრანი და დაბლოკეთ შეტყობინებები."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"მიანიჭეთ პრიორიტეტი უსაფრთხოებას ყურადღების გაფანტვის გარეშე მზავრობისათვის"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"დაბლოკეთ ყურადღების გამფანტავი ფაქტორები თქვენი მოწყობილობიდან, რათა შეინარჩუნოთ კონცენტრაცია"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"გააქრეთ ყველა ყურადღების გამფანტავი ფაქტორი ჩუმი გარემოსათვის"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"მოახდინეთ მოწყობილობის პარამეტრების და გამოცდილებების პერსონალიზება სხვადასხვა მომხმარებლისთვის"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"მეცით უფლება მხოლოდ მნიშვნელოვან ადამიანებს და აპებს, რომ დაგიკავშირდნენ, რითაც მინიმუმადე შეამცირებთ შეფერხებებს"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"დააყენეთ რეჟიმი, რომელიც მიყვება რეგულარულ განრიგს"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"შეინარჩუნეთ სინქრონიზაცია თქვენს მოწყობილობასა და ყოველდღიურ მოვლენებს შორის"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"გაიღვიძეთ ენერგიით სავსემ"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"მგზავრობისას პრიორიტეტი მიანიჭეთ უსაფრთხოებას"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"კონცენტრირდით, რათა მაქსიმალურად გაზარდოთ თქვენი შესაძლებლობები"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"ისეთი მომენტებისთვის, როცა მნიშვნელოვანია თავაზიანობა"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"გამოყენება ინსტრუქციების თანხლებით, რათა თავი უსაფრთხოდ და კომფორტულად იგრძნოთ"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"აკონტროლეთ თქვენი ყურადღება"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"შენიშვნა"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"დახურვა"</string>
     <string name="device_feedback" msgid="5351614458411688608">"გამოხმაურება ამ მოწყობილობის შესახებ"</string>
@@ -4006,6 +4102,10 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"გსურთ <xliff:g id="APP">%1$s</xliff:g>-ისთვის რეჟიმებზე წვდომის დაშვება?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"აპი შეძლებს ჩართოს/გამორთოს „არ შემაწუხოთ“ ფუნქცია, მართოს და გაააქტიუროს რეჟიმები და შეცვალოს დაკავშირებული პარამეტრები."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"გსურთ <xliff:g id="APP">%1$s</xliff:g>-ისთვის მოდელებზე წვდომის გაუქმება?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"ამოიშლება ამ აპის მიერ შექმნილი ნებისმიერი რეჟიმი."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"არ გააკეთო ოპტიმიზაცია"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"ოპტიმიზაცია"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"თქვენი ბატარეა შეიძლება უფრო სწრაფად დაცალოს. აპი აღარ იქნება შეზღუდული ფონურ რეჟიმში ბატარეის მოხმარებისგან."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"ფუტლარი"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"ბატარეა"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"პარამეტრების პანელი"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"დესკტოპის რეჟიმის იძულებით გააქტიურება"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"დესკტოპის ექსპერიმენტული რეჟიმის იძულებით გააქტიურება მეორეულ ეკრანებზე"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"თავისუფალი ფორმის ფანჯრების ჩართვა"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"თავისუფალი ფორმის ფანჯრის ჩართვა დამატებით ეკრანზე"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"ფიქსირებული ზომის აპის ჩართვა მრავალი ფანჯრის რეჟიმში"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"ეს პარამეტრი საშუალებას იძლევა, აპი ზომის შეუცვლელად გამოჩნდეს მრავალი ფანჯრის რეჟიმში"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"გამუქების იძულების უგულებელყოფა"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"მობილური ინტერნეტი"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"მოწყობილობისგან მიღებული გამოცდილების გასაუმჯობესებლად, აპებსა და სერვისებს მაინც შეუძლია სკანირება Wi‑Fi ქსელების აღმოსაჩენად, ნებისმიერ დროს, მაშინაც კი, როცა Wi‑Fi გამორთულია. მაგალითისთვის, ეს შეიძლება გამოიყენებოდეს მდებარეობაზე დაფუძნებული ფუნქციების და სერვისების გასაუმჯობესებლად. ამის შეცვლა Wi-Fi სკანირების პარამეტრებში შეგიძლიათ."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"შეცვლა"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"დაკავშირებული"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"დროებით დაკავშირებული"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"დროებით იყენებს <xliff:g id="SUBNAME">%1$s</xliff:g>-ს"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"აპის ჩამაგრების გამოყენება"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"დეველოპერთა პარამეტრების გამოყენება"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"ბეჭდვის სერვისის გამოყენება"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"მრავალი მომხმარებლის დაშვება"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"მომხმარებლის გადართვაზე ნების დართვა"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"დაშვება, მრავალჯერადი, მომხმარებელი, ნებართვა, ბევრი"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"რამდენიმე მომხმარებელი, პროფილი, ადამიანები, ანგარიშები, გადართვა, ბევრი"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"უსადენო გამართვის გამოყენება"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>-ს ამ ტელეფონთან დაკავშირება სურს.\n\nაქამდე <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>-ს არ დაკავშირებიხართ."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"არ დაუკავშირდეს"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"დაკავშირება"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE პარამეტრები"</string>
-    <string name="tare_on" msgid="2386073225978684535">"ჩართვა"</string>
-    <string name="tare_off" msgid="6305694402929756726">"გამორთვა"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"დაბრუნება ნაგულისხმევ პარამეტრებზე"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"პარამეტრები ნაგულისხმევზე დაბრუნდა."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"მაქსიმალური ბალანსი სრული დატენვისას"</string>
-    <string name="tare_balances" msgid="731881382594747961">"ბალანსი"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"მოხმარების ლიმიტები"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"მოხმარების საწყისი ლიმიტი"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"მინიმალური მოხმარების ლიმიტი"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"მოხმარების მაქსიმალური ლიმიტი"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"მოდიფიკატორები"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"მოქმედებები (წარმოების ღირებულება)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"მოქმედებები (საბაზისო ფასი)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"ჯილდო თითოეული ღონისძიებისთვის"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"ჯილდოები ღონისძიების თითოეულ წამზე"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"ჯილდოს მაქსიმალური რაოდენობა დღეში"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"აპის ინსტალაცია"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"ტოპ აქტივობა"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"შეტყობინება ნანახია"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"შეტყობინება ნანახია 15 წუთის ფარგლებში"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"შეტყობინებასთან ინტერაქცია"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"ვიჯეტთან ინტერაქცია"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"მომხმარებლის სხვა ინტერაქცია"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"მაქს. პრიორიტეტის დავალების დაწყება"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"მაქს. პრიორიტეტის დავალება გაშვებულია"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"მაღალი პრიორიტეტის დავალების დაწყება"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"მაღალი პრიორიტეტის დავალება გაშვებულია"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"ნაგულისხმევი დავალების დაწყება"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"ნაგულისხმევი დავალება გაშვებულია"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"დაბალი პრიორიტეტის დავალების დაწყება"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"დაბალი პრიორიტეტის დავალება გაშვებულია"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"მინ. პრიორიტეტის დავალების დაწყება"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"მინ. პრიორიტეტის დავალება გაშვებულია"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"ჯარიმა დავალების ლოდინის დროისთვის"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"მინიმალური ბალანსი სრული დატენვისას (გათავისუფლებულია)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"მინიმალური ბალანსი სრული დატენვისას (სისტემური აპი)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"მინიმალური ბალანსი სრული დატენვისას (დარჩენილი აპები)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"მინიმალური ბალანსის დამატება სრული დატენვისას (აპის განმაახლებლები)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"იტენება"</item>
-    <item msgid="658627268149681677">"თვლემა"</item>
-    <item msgid="1599558140284643834">"ბატარეის დაზოგვის რეჟიმი"</item>
-    <item msgid="588427840913221601">"პროცესის რეჟიმი"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"დადასტურება"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"გადახედვა"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"აირჩიეთ ეკრანმზოგი"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"დამატებითი ინფორმაციის ჩვენება"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"აირჩიეთ, რას იხილავთ თქვენს ეკრანზე, როცა თქვენი ტაბლეტი დოკ-სადგურთან იქნება მიერთებული. ეკრანმზოგის გამოყენების შემთხვევაში თქვენმა მოწყობილობამ შეიძლება მეტი ენერგია გამოიყენოს."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"მორგება"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>-ის მორგება"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"თავისუფალი ფორმის მხარდაჭერის ჩასართავად საჭიროა გადატვირთვა."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"მეორეულ ეკრანზე დესკტოპ რეჟიმის იძულებით გასააქტიურებლად საჭიროა გადატვირთვა."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"თავისუფალი ფორმის ფანჯრის მხარდაჭერის ჩასართავად საჭიროა გადატვირთვა."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"თავისუფალი ფანჯრების მხარდაჭერის ხელმისაწვდომობის განახლებისთვის საჭიროა გადატივრთვა."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"თავისუფალი ფანჯრების მხარდაჭერის ჩართვისთვის საჭიროა მეორადი ეკრანების გადატვირთვა."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"ახლავე გადატვირთვა"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"გადატვირთვა მოგვიანებით"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"სივრცითი აუდიო"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"ვარდისფერი"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"მეწამული"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"იისფერი"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"მზადაა"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"შენახვა"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"გაუქმება"</string>
     <string name="contrast_default" msgid="8918545965525226966">"ნაგულისხმევი"</string>
     <string name="contrast_medium" msgid="384414510709285811">"საშუალო"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"ჩართული"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"გამორთული"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"ჩართული"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"აუდიო %1$d%% მარცხენა, %2$d%% მარჯვენა"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"აუდიო %1$d%% მარჯვენა, %2$d%% მარცხენა"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"თქვენი მოწყობილობის სახელი ხილულია დაინსტალირებული აპებისთვის. მის დანახვას შეძლებენ სხვა პირებიც, როცა Bluetooth მოწყობილობებს ან Wi-Fi ქსელს დაუკავშირდებით, ან Wi-Fi უსადენო ქსელს დააყენებთ."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"გრამატიკული სქესი"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"აირჩიეთ გრამატიკული სქესი"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"აუდიოს გაზიარება შეჩერდა"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"თავსებადი მოწყობილობის დაკავშირება"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"აუდიოს გასაზიარებლად, ჯერ დააკავშირეთ LE-აუდიო ყურსასმენები თქვენს ტელეფონთან"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>-ზე გადართვა"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"დაუკავშირდით LE-აუდიო ნაკადს"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"ახლომახლო აუდიო ნაკადები"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"აუდიო ნაკადები"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ნაკადის მოსმენა"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"დაასკანირეთ აუდიო ნაკადის QR კოდი<xliff:g id="DEVICE_NAME">%1$s</xliff:g> მოწყობილობასთან ერთად მოსასმენად"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"გაზიარების დროს შეუძლებელია პაროლის რედაქტირება. პაროლის შესაცვლელად, პირველ რიგში, გამორთეთ აუდიოს გაზიარება."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR კოდის სკანერი"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"დახმარება გჭირდებათ?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"ძიების პარამეტრები"</string>
 </resources>
diff --git a/res/values-kk/arrays.xml b/res/values-kk/arrays.xml
index 7c17892..4e7f4d0 100644
--- a/res/values-kk/arrays.xml
+++ b/res/values-kk/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Ұйқы режимі"</item>
-    <item msgid="4152450357280759894">"Көлік жүргізу"</item>
-    <item msgid="7096549258219399423">"Әсерлі"</item>
-    <item msgid="2760716776980432977">"Басқару"</item>
-    <item msgid="601734478369121764">"Жұлдыз"</item>
-    <item msgid="6243809315432780521">"Күнтізбе"</item>
-    <item msgid="4913577903148415331">"Уақыт"</item>
-    <item msgid="3653377604690057780">"Театр"</item>
-    <item msgid="3843711267408385410">"Гүл"</item>
+    <item msgid="1216815120972438676">"Портфель"</item>
+    <item msgid="184985872234062767">"Классикалық ғимарат"</item>
+    <item msgid="9189550412466785530">"Тұрғын үй ғимараты"</item>
+    <item msgid="2142527562511049422">"Мәтінді бұлтшалар"</item>
+    <item msgid="2548100558260478605">"Адамдар тобы"</item>
+    <item msgid="2270003903304578284">"Шам"</item>
+    <item msgid="4793496619091161864">"Күнтізбе"</item>
+    <item msgid="5673625795644364100">"Мазаламау"</item>
+    <item msgid="1423820834865831361">"Жүгіріп бара жатқан адам"</item>
+    <item msgid="2037298830718732608">"Гольф"</item>
+    <item msgid="2197835014443491074">"Спортзалдағы гантель"</item>
+    <item msgid="2730180105015616518">"Жүзу"</item>
+    <item msgid="2666922823253345958">"Жаяу жүріп бара жатқан адам"</item>
+    <item msgid="8234880356472211396">"Доп лақтырып жатқан адам"</item>
+    <item msgid="4642980625253001443">"Теуіп жатқан адам"</item>
+    <item msgid="4324795269518833500">"Ойын контроллері"</item>
+    <item msgid="7789966425125441125">"Суретшінің түстер палитрасы"</item>
+    <item msgid="663512680597461570">"Ұлпа қар"</item>
+    <item msgid="7952183800501346803">"Жағажай қолшатыры"</item>
+    <item msgid="799139025758265891">"Шеберхана құралдары"</item>
+    <item msgid="1330084588359129896">"Шатыр"</item>
+    <item msgid="3861584909935022342">"Кинопленка"</item>
+    <item msgid="5827426100157335512">"Кітап"</item>
+    <item msgid="8585828346253128384">"Лотос гүлі"</item>
+    <item msgid="8788370542815300188">"Адам санасы"</item>
+    <item msgid="7287354964767553293">"Құлақаспап"</item>
+    <item msgid="2530059623783800987">"Теледидар"</item>
+    <item msgid="5307182323469376758">"Пойыз"</item>
+    <item msgid="4903790544026923026">"Автокөлік"</item>
+    <item msgid="5010405583912314582">"Шанышқы мен пышақ"</item>
+    <item msgid="8939998598599064900">"Себет"</item>
+    <item msgid="3379605903308731893">"Бала"</item>
+    <item msgid="7808668968550293112">"Жануардың табаны"</item>
+    <item msgid="1000692647524056504">"Жұлдызша танымбелгісі"</item>
+    <item msgid="8270261073421676502">"Екі адам"</item>
+    <item msgid="5767782819651505460">"Жұлдыз"</item>
+    <item msgid="4368451291862729334">"Жүрек"</item>
+    <item msgid="2613199102208419986">"Үй"</item>
+    <item msgid="3022279986430275040">"Жарты ай"</item>
+    <item msgid="5421089790869483206">"Сағат"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 16c545e..4a23db4 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Тоқтатылған"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Белгісіз"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Алдын ала көру"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR коды"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Кішірек ету"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Үлкенірек ету"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"Әрдайым"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Есту құрылғысының параметрлері"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Жылдам пәрмен, есту аппаратының үйлесімділігі"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Параметрлер жинағы"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Аудиолог бағдарламалаған параметрлер жинағы жоқ."</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Параметрлер жинағы жаңартылмады."</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Аудио шығысы"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Аудио шығысы туралы"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Бұл қолданба үшін \"Параметрлер\" бөлімінен тіл таңдау мүмкіндігі қолжетімсіз."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Тілдер қолданбадағы тілдерден өзгеше болуы мүмкін. Кейбір қолданба бұл параметрді қолдамауы мүмкін."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Әр қолданбаға бөлек тіл орнатыңыз."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Құрылғыңыздың жүйесі, ондағы қолданбалар мен веб-сайттар өзіңіз қолданатын тілдердің ішіндегі қолдау көрсетілетін алғашқы тілді пайдаланады."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Құрылғыңызда, қолданбаларыңызда және веб-сайттарыңызда таңдаулы тіл тізіміндегі бірінші қолдау көрсетілетін тіл пайдаланылады.\n\nСондай-ақ көптеген қолданба күндерді, сандарды және бірліктерді форматтау үшін таңдаулы тілге сәйкес аймақты пайдаланады. Аймағыңызды өзгерту үшін тіл қосыңыз, содан кейін қажетті аймақты таңдаңыз."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Әр қолданбаның өз тілін таңдау үшін сол қолданбаның тіл параметрлеріне өтіңіз."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Қолданба тілдері туралы толық ақпарат"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Жүйе тілін %s тіліне ауыстыру керек пе?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Өшірулі"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Қосулы / # қолданба локацияны пайдалана алады.}other{Қосулы / # қолданба локацияны пайдалана алады.}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Жүктелуде…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Маңайдағы құрылғыларды пайдалану рұқсаты бар қолданбалар телефонға жалғанған құрылғылардың тиісті орнын анықтай алады."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"\"Маңайдағы құрылғылар\" рұқсаты бар қолданбалар жалғанған құрылғылардың тиісті орнын анықтай алады."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Қолданбалар мен қызметтер үшін локацияны пайдалану рұқсаты өшірулі. Бірақ құтқару қызметіне қоңырау шалатын немесе хабар жіберетін болсаңыз, құрылғыңыздың локациясы беріледі."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Локация параметрлері туралы толық ақпарат"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Өзгерту үшін ChromeOS жүйесінің \"Параметрлер &gt; Құпиялық және қауіпсіздік &gt; Құпиялық параметрлері &gt; Локацияны пайдалану рұқсаты\" бөліміне өтіңіз."</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Бет тану функциясы және <xliff:g id="WATCH">%s</xliff:g> қосылды."</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Бет тану функциясы, саусақ ізі және <xliff:g id="WATCH">%s</xliff:g> қосылды."</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Бет тану функциясы, саусақ іздері және <xliff:g id="WATCH">%s</xliff:g> қосылды."</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Identity Check функциясы қосулы және оған биометрия қажет."</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator құлпын ашу"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Сағат қосылды."</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Сағат параметрлерін реттеу"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Құлыпты сағат арқылы ашу туралы толық ақпарат"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Сағатты қосу"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Сағатты өшіру"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Бет және саусақ ізі арқылы құлыпты ашу"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Бет тану, саусақ ізімен ашу"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Жұмысқа арналған бет тану және саусақ ізімен ашу функциялары"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Реттеу қажет."</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Бет және саусақ іздері енгізілді."</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Құпия кеңістік реттеліп жатыр…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Құпия кеңістікті реттеу мүмкін болмады"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Қайталау"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Шығу"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Құпия кеңістік істемейді.\nЫқтимал себептерді көріңіз."</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Ықтимал себептерді көру"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Құпия кеңістікке жаңа құлып таңдау керек пе?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Құпия кеңістіктің өзіне жаңа құлып орната аласыз немесе құрылғыңыздың құлпын ашу үшін пайдаланатын құлыпты пайдалана аласыз."</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Экран құлпын пайдалану"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Bluetooth қосулы кезде, құрылғыңыз маңайдағы басқа Bluetooth құрылғыларымен байланыс орната алады.\n\nҚұрылғының жұмысын жақсарту үшін қолданбалар мен қызметтер маңайдағы құрылғыларды кез келген уақытта (Bluetooth өшірулі кезде де) іздеуі мүмкін. Бұл, мысалы, локацияға негізделген функциялар мен қызметтерді жақсартуға пайдаланыла алады. Оны Bluetooth іздеу параметрлерінен өзгерте аласыз."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Bluetooth қосулы кезде, құрылғыңыз маңайдағы басқа Bluetooth құрылғыларымен байланыса алады. Quick Share және Find My Device сияқты функциялар Bluetooth-ты пайдаланады.\n\nҚолданбалар мен қызметтер маңайдағы құрылғыларды Bluetooth өшірулі кезде де сканерлей береді. Бұл мысал ретінде локацияға негізделген функциялар мен қызметтерді жақсарту үшін пайдаланылуы мүмкін. Бұл мүмкіндікті Bluetooth іздеу функциясының параметрлерінде өзгерте аласыз."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Өзгерту"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Құрылғы мәліметтері"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Пернетақта параметрлері"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Қосымша параметрлер"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Микробағдарлама жаңартулары, ақпарат және т.б."</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Кеңестер және қолдау"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Құрылғының Bluetooth мекенжайы: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Құрылғының Bluetooth мекенжайы:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Құрылғы ұмытылсын ба?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Эксперименттік. Аудио сапасын жақсартады."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Құрылғыны ұмыту"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Қолданбаны ажырату"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Қосымша параметрлер"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Байланыстырылған Bluetooth аудиоқұрылғылардың максималды саны"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Байланыстырылған Bluetooth аудиоқұрылғылардың максималды санын таңдау"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC жеткізушісі туралы толық мәліметті тіркеу"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Құрылғыны өшіріп қосасыз ба?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Толық NFC журналы әзірлеу мақсаттарына ғана арналған. Қосымша NFC деректері қате туралы есептерге қосылған, ал онда құпия ақпарат болуы мүмкін. Бұл параметрді өзгерту үшін құрылғыны өшіріп қосыңыз."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Өшіріп қосу"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Қосулы"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Өшірулі"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Сыртқы дисплей"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Сыртқы дисплейді пайдалану"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Дисплей ажыратымдылығы"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Сыртқы дисплей ажыратылған."</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Бұру"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Стандартты"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Бұру шамасын немесе ажыратымдылықты өзгертсе, қазір жұмыс істеп тұрған қолданбалар тоқтауы мүмкін"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Экран көшірмесін көрсету үшін құрылғы сыртқы дисплейге қосылуы керек."</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Басқа опциялар"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Трансляция"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"айна"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Сымсыз дисплейді қосу"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Бейімделеді"</string>
     <string name="brightness" msgid="6216871641021779698">"Жарықтық деңгейі"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Жарықтықты бейімдеу"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Жарықтықты бейімдеу туралы"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Экран жарықтығы қоршаған ортаға және әрекеттерге автоматты түрде бейімделеді. Жүгірткіні қолмен жылжытсаңыз, функция қалауыңызды ескеретін болады."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Қосулы"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Өшірулі"</string>
@@ -1311,8 +1344,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="8850185380445309835">"Таңдалған SIM жаңартылсын ба?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> – құрылғыңыздағы жалғыз SIM картасы. Бұл SIM картасын мобильдік деректер, қоңыраулар және SMS хабарлары үшін пайдаланғыңыз келе ме?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> – бұдан былай негізгі SIM картаңыз."</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Қолжетімді мобильдік интернетке қосылу керек пе?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"<xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> мобильдік интернеті жақсырақ болған кезде, құрылғыңызға автоматты түрде ауысуға рұқсат беріңіз."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Қоңырауларды, хабарлар мен желі трафигін ұйымыңыз көруі мүмкін."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Опциялар"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Арнайы мүмкіндіктер"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Физикалық пернетақта"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Экрандағы пернетақтаны пайдалану"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Физикалық пернетақта қосулы кезде оны экранға шығару"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Қайтару пернелері"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Пернетақта перненің <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> мс ішінде жылдам қайталап басылғанын елемейді."</string>
     <string name="slow_keys" msgid="2891452895499690837">"Баяу пернелер"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Перненің <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> мс ішінде іске қосылуына қажетті уақытты реттейді."</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Бекітілген пернелер"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Жылдам пәрмендерді пайдалану үшін пернелерді бірге баспай-ақ, бір пернені бір рет бассаңыз болады."</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Тінтуір пернелері"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Тінтуірді басқару үшін физикалық пернетақтаны пайдаланыңыз."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Перне тіркесімдері"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Перне тіркесімдерінің тізімін көрсету"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Жұмыс профилі пернетақталары және құралдары"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Сенсорлық тақтаның жеке навигациялық қимылдарын реттеңіз."</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Кері айналдыру"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Төмен қарай айналдырғанда, контент жоғары жылжиды."</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Төменгі оң жақты түрту"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Қосымша опцияларды көру үшін сенсорлық тақтаның төменгі оң жақ бұрышын түртіңіз."</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Төменгі оң жақты басу"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Қосымша опцияларды көру үшін сенсорлық тақтаның төменгі оң жақ бұрышын басыңыз."</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Меңзер жылдамдығы"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Меңзердің бояу стилі"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Меңзердің бояу стилін қара түске өзгертеді."</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Меңзердің бояу стилін сары түске өзгертеді."</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Меңзердің бояу стилін қызғылт түске өзгертеді."</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Меңзердің бояу стилін көк түске өзгертеді."</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Меңзер сызығының стилі"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Ақ"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Қара"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Жоқ"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Сенсорлық тақта қимылдарын үйрену"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"сенсорлық тақта, тінтуір, курсор, айналдыру, сырғыту, тінтуірдің оң жақ түймесін басу, басу, клик, меңзер"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"тінтуірдің оң жақ түймесін басу, түрту"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Қайта орнату"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Өзгерткіш перне таңдау"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> жаңа пернесін таңдау:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> форматы"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Әдепкі"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Автоматты: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Пайдаланушы таңдаған: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Сөз"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Меңзер жылдамдығы"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Меңзер өлшемі"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Меңзер өлшемін кішірейту"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Меңзер өлшемін ұлғайту"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Ойын бақылаушы"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Дірілді бағыттау"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Жалғанған кезде дірілді ойын контроллеріне бағыттау"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Бәрібір жалғастыру"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Бас тарту"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Ұлғайту параметрлері"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Бір саусақпен панорамалау"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Ұлғайтқышты 1 саусақпен жылжытыңыз"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Экранда жылжу үшін 1 саусақпен сүйреңіз."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Ұлғайту аймағын бір саусақпен сүйреп жылжытыңыз."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Ұлғайту аймағын екі саусақпен сүйреп жылжытыңыз."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Экранның тек бір бөлігін ұлғайту кезінде қолданылмайды."</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Масштабтау үшін түймені түртіңіз"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Экранның масштабын тез өзгертіп, контентті үлғайта аласыз."</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Ұлғайту үшін:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Жылдам пәрмен көмегімен ұлғайта бастаңыз.&lt;br/&gt; {1,number,integer}. Экранды түртіңіз.&lt;br/&gt; {2,number,integer}. Экранның басқа жеріне жылжу үшін 2 саусақпен сүйреңіз.&lt;br/&gt; {3,number,integer}. Ыңғайлы масштабты таңдау үшін 2 саусақ арасын ашыңыз немесе қосыңыз.&lt;br/&gt; {4,number,integer}. Жылдам пәрмен көмегімен ұлғайту режимінен шығыңыз.&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Уақытша ұлғайту үшін:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Ұлғайту түріне \"толық экран\" мәні тағайындалғанына көз жеткізіңіз.&lt;br/&gt; {1,number,integer}. Жылдам пәрмен көмегімен ұлғайта бастаңыз.&lt;br/&gt; {2,number,integer}. Экранның кез келген жерін түртіп ұстап тұрыңыз.&lt;br/&gt; {3,number,integer}. Экранның басқа жеріне жылжу үшін саусақпен сүйреңіз.&lt;br/&gt; {4,number,integer}. Ұлғайту режимінен шығу үшін саусағыңызды көтеріңіз."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Ұлғайту үшін:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Жылдам пәрмен көмегімен ұлғайта бастаңыз.&lt;br/&gt; {1,number,integer}. Экранды түртіңіз.&lt;br/&gt; {2,number,integer}. Экранның басқа жеріне жылжу үшін 2 саусақпен сүйреңіз.&lt;br/&gt; {3,number,integer}. Масштабтаудты реттеу үшін 2 саусақ арасын ашыңыз.&lt;br/&gt; {4,number,integer}. Жылдам пәрмен көмегімен ұлғайтуды тоқтатыңыз.&lt;br/&gt;&lt;br/&gt; Сондай-ақ уақытша ұлғайта аласыз және басқа әрекеттерді орындауыңызға болады."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Ұлғайту үшін:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Жылдам пәрмен көмегімен ұлғайта бастаңыз.&lt;br/&gt; {1,number,integer}. Экранды түртіңіз.&lt;br/&gt; {2,number,integer}. Экранның басқа жеріне жылжу үшін 1 не 2 саусақпен сүйреңіз.&lt;br/&gt; {3,number,integer}. Масштабтаудты реттеу үшін 2 саусақ арасын ашыңыз.&lt;br/&gt; {4,number,integer}. Жылдам пәрмен көмегімен ұлғайтуды тоқтатыңыз.&lt;br/&gt;&lt;br/&gt; Сондай-ақ уақытша ұлғайта аласыз және басқа әрекеттерді орындауыңызға болады."</string>
     <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Ұлғайту функциясы қосулы тұрғанда, экраныңызды ұлғайта аласыз.\n\n"<b>"Масштабтау үшін"</b>" ұлғайту функциясын іске қосып, экранның кез келген жерін түртіңіз.\n"<ul><li>"Айналдыру үшін екі немесе бірнеше саусақпен сүйреңіз."</li>\n<li>"Масштабтауды реттеу үшін екі немесе бірнеше саусақты жақындатыңыз."</li></ul>\n\n<b>"Уақытша масштабтау үшін"</b>" ұлғайту функциясын іске қосыңыз, содан кейін экранның кез келген жерін басып тұрыңыз.\n"<ul><li>"Жылжыту үшін саусағыңызды экранның бір жерінен екінші жеріне сүйреңіз."</li>\n<li>"Кішірейту үшін саусағыңызды көтеріңіз."</li></ul>\n\n"Пернетақтада және навигация жолағында ұлғайту мүмкін емес."</string>
     <string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="NUM_PAGES">%2$d</xliff:g> бет"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Арнайы мүмкіндіктер түймесінің жылдам пәрмені"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Қалқымалы түймені түртіңіз."</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Арнайы мүмкіндік қимылы"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Экранның төменгі жағындағы арнайы мүмкіндіктер түймесін (<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>) түртіңіз. Бір функциядан екінші функцияға ауысу үшін арнайы мүмкіндіктер түймесін басып тұрыңыз."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Экранның төменгі жағынан 2 саусағыңызбен жоғары сырғытыңыз.\n\nБір функциядан екіншісіне ауысу үшін 2 саусақпен жоғары қарай сырғытып, ұстап тұрыңыз."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Экранның төменгі жағынан 3 саусағыңызбен жоғарыға сырғытыңыз.\n\nБір функциядан екіншісіне ауысу үшін 3 саусақпен жоғары қарай сырғытып, ұстап тұрыңыз."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Экранның төменгі жағынан жоғары қарай сырғытыңыз. Бір функциядан екінші функцияға ауысу үшін жоғары қарай сырғытып, ұстап тұрыңыз.}other{Экранның төменгі жағынан # саусақпен жоғары қарай сырғытыңыз. Бір функциядан екінші функцияға ауысу үшін # саусақпен жоғары қарай сырғытып, ұстап тұрыңыз.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Басқа опциялар"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"<xliff:g id="SERVICE">%1$s</xliff:g> туралы толығырақ ақпарат"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Дыбыс деңгейі пернелері"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"дыбыс деңгейі пернелері"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Дыбыс деңгейінің екі пернесін бірге басып тұрасыз."</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Экранды екі саусақпен екі рет түрту"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d саусақпен екі рет түрту"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Экранды %1$d саусақпен екі рет жылдам түртіңіз."</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Үш рет түрту"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Экранды %1$d рет жылдам түртіңіз. Бұдан құрылғы жұмысы баяулауы мүмкін."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d саусақпен екі рет түрту"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Экранды екі саусағыңызбен {0,number,integer} рет жылдам түртіңіз."</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Экранды үш рет түрту"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"үш рет түрту"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Экранды {0,number,integer} рет жылдам түртіңіз. Бұл жылдам пәрмен құрылғы жұмысын баяулатуы мүмкін."</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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Таңбаша параметрлері"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Құлыптаулы экраннан орындалатын жылдам пәрмен"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Функцияның құлыптаулы экраннан жылдам пәрмен арқылы іске қосылуына мүмкіндік береді. Дыбыс деңгейі пернелерін бірнеше секунд ұстап тұрыңыз."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Арнайы мүмкіндіктер түймесі"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Арнайы мүмкіндіктер түймесі мен қимылы"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Бұл қызмет жұмыс істемейді."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Арнайы мүмкіндіктердің жылдам пәрмендері"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Жылдам параметрлер арқылы көрсету"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Қызыл – жасыл"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Қызыл – жасыл"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Қызыл-жасыл, жасыл жеңіл"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Қызыл-жасыл, қызыл жеңіл"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Көк – сары"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Сұр түстер"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Қанықтығы"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Жасылды көру қабілеті нашар, дейтераномалия"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Қызылды көру қабілеті нашар, протаномалия"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Сұр түстер режимінде не түсті түзету функциясы өшірілгенде қолданылмайды."</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Экранды қарайту"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Экранды қарайту"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Көгілдір"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Сары"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Қызылкүрең"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"<xliff:g id="SERVICE">%1$s</xliff:g> қызметіне құрылғыны толық басқаруға рұқсат етілсін бе?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> қызметіне қажет:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Бағдарлама рұқсат сұрауын жасырып тұрғандықтан, Параметрлер жауабыңызды тексере алмайды."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> қызметі құрылғыға толық кіру мүмкіндігін сұрауда. Ол экрандағы мәліметтерді оқып, арнайы мүмкіндіктерді талап ететін пайдаланушылар атынан әрекет ете алады. Мұндай басқару деңгейі қолданбалардың көбісіне сәйкес келмейді."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Арнайы мүмкіндіктер бойынша көмектесетін қолданбаларға ғана құрылғыны толық басқару рұқсатын берген дұрыс."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Экранды көру және басқару"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Ол экрандағы контентті толық оқиды және контентті басқа қолданбалардың үстінен көрсете алады."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Әрекеттерді көру және орындау"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Ол қолданбамен немесе жабдық датчигімен істеген тапсырмаларыңызды бақылайды және қолданбаларды сіздің атыңыздан пайдаланады."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Рұқсат ету"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Тыйым салу"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Өшіру"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Қосулы/<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> және <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Кеңістіктік дыбыс функциясын Bluetooth құрылғылары үшін де қосуға болады."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Жалғанған құрылғы параметрлері"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Кеңістіктік дыбыс"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Өшірулі"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Өшірулі"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Өшірулі"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Жоқ}=1{1 кесте қойылған}other{# кесте қойылған}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Мазаламау"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Басымдылық режимдері"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Режим қосу"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Режимдер"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Алаңдататын факторларды азайтып, ұйқыға, жұмысқа, көлік жүргізуге және басқа да әрекеттерге арналған режимдер көмегімен зейініңізді қадағалаңыз."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Өз режиміңізді жасаңыз."</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Хабарландыруды маңызды адамдардан және қолданбалардан ғана алу"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Кесте құру"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Режим негізіндегі кесте"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Күн және уақыт"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"9:00–17:00 жұмыс күндері\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Күнтізбедегі іс-шаралар"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} қосулы}=2{{mode_1} және {mode_2} қосулы}=3{{mode_1}, {mode_2} және {mode_3} қосулы}other{{mode_1}, {mode_2} және тағы # режим қосулы}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 режимді автоматты түрде қосуға болады.}other{# режимді автоматты түрде қосуға болады.}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ҚОСУЛЫ"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Орнатылмаған"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Өшірілді"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Режим жасау"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Арнаулы"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Қазір қосу"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Өшіру"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Режим табылмады."</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Хабарландыруларды шектеу"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Кедергілер мен алаңдататын нәрселерді блоктау"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g> режимін реттеу"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Мазаламау режимін қосу"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Оятқыштар мен мультимедиа дыбыстары тоқтата алады."</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Кестелер"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Кестелерді жою"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Жою"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Атын өзгерту"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Жою"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"\"<xliff:g id="MODE">%1$s</xliff:g>\" режимі өшірілсін бе?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Өзгерту"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Кестелер"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Кесте"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Автоматты түрде қосу"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Күнтізбе қосыңыз"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Өз күнтізбеңізді пайдаланыңыз"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Жоспарлау"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Кесте құру"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Автоматты түрде қосу уақыты"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Іс-шаралар кестесі"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Іс-шаралар кезінде қосу"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Шақыруға берілген жауап орны"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Уақыт кестесі"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Кесте"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> сағ <xliff:g id="MINUTES">%2$d</xliff:g> мин"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Кесте"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Дыбыстарға рұқсат ету"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Сізге жіберілуі мүмкін хабарландырулар"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Қосымша әрекеттер"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Хабарландыру сүзгілері"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Қосымша параметрлер"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Өшірулі}=1{Өшірулі / 1 режимді автоматты түрде қосуға болады.}other{Өшірулі / # режимді автоматты түрде қосуға болады.}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Дисплей параметрлері"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Дисплей опциялары"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Сұр түстер"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"қараңғы режимді қосу"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Ашық түсті мәтін қараңғы фонда көрсетілу үшін операциялық жүйе мен қолданба режимін ауыстырыңыз. Сонда көзге жеңіл болады әрі кейбір құрылғылардың батареясын барынша үнемдейді."</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Дисплей өзгерістері жоқ}=1{{effect_1}}=2{{effect_1} және {effect_2}}=3{{effect_1}, {effect_2} және {effect_3}}other{{effect_1}, {effect_2} және тағы # әсер}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Барлық хабарландыруға рұқсат ету"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Адамдар, қолданбалар және дыбыстар кедергі болуы мүмкін."</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Іріктелген хабарландыруларды көрсету опциялары"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Мазаламау режимі қосулы кезде"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Хабарландырулар дыбыссыз беріледі"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"хабарландыруды ашу"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Хабарландыруларды кейінге қалдыруға рұқсат беру"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Қолданба белгішесіндегі хабарландыру белгісі"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Хабарландыру топтары"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Қалқыма хабарлар"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Қалқыма хабарлар"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Осы әңгімені қалқыма хабар түрінде шығару"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Ол хабарларға жауап беріп, хабарландырулардағы түймелер арқылы әрекет ете алады, мысалы, хабарландыруларды кейінге қалдырады, жабады, қоңырауларға жауап береді."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Параметрлерді өзгерту"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Ол мазаламау режимін өшіріп-қосадыды және тиісті параметрлерді өзгерте алады."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Режимдерді басқаруға, іске қосуға және сәйкес параметрлерді өзгертуге болады."</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_modes_warning_summary" msgid="7528432011433844158">"Егер <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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Нақты уақыт"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Бұл қолданбада жақсартылған параметрлерге қолдау көрсетілмейді."</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Қосымша параметрлер"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Қолданбада қосымша параметрлер қолжетімді."</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Бейімделетін хабарландырулар"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Бейімделетін хабарландыруларды пайдалану"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Қысқа уақыт ішінде көп хабарландыру алған кезде, телефоныңыз дыбыс деңгейін азайтып, екі минутқа дейін экран бетіндегі қалқымалы терезелерді қысқартады. Қоңыраулар, оятқыштар және маңызды әңгімелер әдеттегідей дірілмен беріледі, дыбыс шығарады немесе экран бетінде көрсетіледі. Барлық хабарландыруды экранның жоғарғы жағынан төменге қарай сырғыту арқылы таба аласыз."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Хабарландыру дыбысын бәсеңдету"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Хабарландыру дыбысын азайту"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Қысқа уақыт ішінде көп хабарландыру алған кезде, құрылғының дыбыс деңгейі азайтылып, хабарландырулар 2 минутқа дейін кідіртіледі. Бұл параметр қоңырауларға, оятқыштарға және маңызды әңгімелерге әсер етпейді. \n\nДыбысын азайту кезінде алынған хабарландыруларды экранның жоғарғы жағынан төмен тарту арқылы табуға болады."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Жұмыс профильдеріне қолдану"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Жұмыс профиліндегі қолданбаларға қолдану"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Көмекші VR қызметтері"</string>
@@ -3650,6 +3717,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Режимдерді пайдалану рұқсаты"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Режимдерді пайдалану рұқсатын беру"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Орнатылған қолданбалардың ешқайсысы режимдерді пайдалануға рұқсат сұрамады."</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Осы қолданба хабарландыруларына рұқсат бермедіңіз."</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Сұрауыңыз бойынша Android мұндай хабарландыруларды көрсетпейді"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Сұрауыңыз бойынша Android бұл құрылғыда мұндай хабарландырулар тобын бөгейді"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Санаттар"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Басқа"</string>
     <string name="no_channels" msgid="4716199078612071915">"Бұл қолданба ешқандай хабарландыру жіберген жоқ."</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Пайдаланылмайтын санаттарды көрсету"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Қолданбадағы қосымша параметрлер"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Пайдаланылмайтын санаттарды көрсету"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Пайдаланылмайтын санаттарды жасыру"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Әңгімелер"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Барлық әңгіме"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"барлық әңгіме"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Маңызды әңгімелер"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"маңызды әңгімелер"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Жоқ"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Тоқтата алатын қолданбалар"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Таңдалған қолданбалар"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Жоқ"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Барлығы"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Ешқандай қолданба кедергі келтіре алмайды}=1{{app_1} кедергі келтіре алады}=2{{app_1} және {app_2} кедергі келтіре алады}=3{{app_1}, {app_2} және {app_3} кедергі келтіре алады}other{{app_1}, {app_2} және тағы # қолданба кедергі келтіре алады}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (жұмыс)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Есептеліп жатыр…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Қолданбаларға қайта анықтауға рұқсат беру"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Тоқтата алатын қолданбалар"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Басқа да қолданбаларды таңдаңыз"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Ештеңе тоқтата алмайды"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Ешкім тоқтата алмайды"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Кейбір адамдар тоқтата алады."</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Адамдар қайта қоңырау шалғанда, олардың қоңырауы тоқтатылуы мүмкін."</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Барлығы тоқтата алады."</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Қайта қоңырау шалушылар"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Қайта қоңырау шалушыларға рұқсат ету"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Мына уақытқа дейін оятқышқа бір сағатқа өзгерту: {time}}other{Мына уақытқа дейін оятқышқа # сағатқа өзгерту: {time}}}"</string>
     <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_action_change_name" msgid="766639614789907016">"Атын өзгерту"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Белгішені өзгерту"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Белгішені өзгерту"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Өзгерту режимі"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Режим жасау"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Пайдаланушы режимі"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Режим аты"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Күнтізбедегі іс-шаралар"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"\"Ұйқы\" режимі"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Көлік жүргізгенде"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Қолданба параметрлері"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Ақпарат пен параметрлерді қолданбада (<xliff:g id="APP_NAME">%1$s</xliff:g>) көруге болады."</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"<xliff:g id="APP_NAME">%1$s</xliff:g> басқарады"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g> өшірілсін бе?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Өшірулі кезде бұл режим ешқашан қосылмайды."</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Өшіру"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g> қосылсын ба?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Параметрлеріне қарай бұл режим автоматты түрде қосылуы мүмкін."</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Қосу"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Кәдімгі кесте бойынша істейтін режим орнатыңыз."</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Күнтізбедегі іс-шаралармен және шақыруға берілген жауаптармен синхрондау режимін орнатыңыз."</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Тыныштандыратын ұйқы режимін жасай аласыз. Оятқыш орнатыңыз, экранды қарайтыңыз және хабарландыруларды өшіріп қойыңыз."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Көлікті мұқият жүргізу үшін жол қауіпсіздігіне бірінші кезекте көңіл бөліңіз."</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Зейін қою үшін құрылғыдағы алаңдататын не мазалайтын хабарландыруларды өшіріп қойыңыз."</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Айналада тыныш болуы үшін, алаңдататын нәрселердің барлығын өшіріп тастаңыз."</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Әр пайдаланушы үшін құрылғы мүмкіндіктері мен параметрлерін жекелендіріңіз."</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Тек маңызды адамдар мен қолданбалардан хабарландыру алуға рұқсат беріп, мазалайтын нәрселерді азайтыңыз."</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Кәдімгі кесте бойынша істейтін режим орнатыңыз."</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Құрылғыңызды күн іс-шараларымен синхрондаңыз."</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"100% сергек болып ояну"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Жолға шыққанда қауіпсіздікті бірінші орынға қою"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Зонаға өту үшін зейін қою"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Сыпайылық маңызды болатын сәттер үшін"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Қауіпсіздікті қамтамасыз етуге көмектесетін пайдалану нұсқаулығы"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Назарын бақылау"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Ескерту"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Жабу"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Осы құрылғы туралы пікір жіберу"</string>
@@ -4006,6 +4110,11 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"<xliff:g id="APP">%1$s</xliff:g> үшін режимдерді пайдалану рұқсаты берілсін бе?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Қолданба \"Мазаламау\" режимін қосып, өшіре алады, режимдерді іске қосып, басқара алады және қатысты параметрлерге өзгерістер енгізе алады."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Осы қолданба арқылы жасалған барлық режим өшіріледі."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Оңтайландырмау"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Оңтайландыру"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Батарея тезірек отыруы мүмкін: қолданбаларға енді фондық режимде батареяны пайдалануға шектеу қойылмайды"</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Корпус"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Батарея"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Параметрлер панелі"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"Жұмыс үстелінің режимін мәжбүрлеп қосу"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Қосымша дисплейлерде эксперименттік жұмыс үстелі режимін мәжбүрлеп қосу"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"Еркін пішінді терезелерге рұқсат беру"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Қосымша дисплейде еркін пішінді терезені қосу"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Өлшемі өзгермейтін қолданба мен көп терезелі режим"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Өлшемі өзгермейтін қолданбаларды көп терезелі режимде пайдалануға мүмкіндік береді."</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Қараңғылауға жол бермеу"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"мобильдік интернет"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Құрылғы жұмысын жақсарту үшін қолданбалар мен қызметтер Wi-Fi байланысы өшірулі кезде де Wi-Fi желілерін іздейді. Бұл, мысалы, локацияға негізделген функциялар мен қызметтерді жақсарту үшін пайдаланылуы мүмкін. Оны Wi-Fi іздеу параметрлерінен өзгерте аласыз."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Өзгерту"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Жалғанды"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Уақытша байланыс орнатылды."</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Уақытша <xliff:g id="SUBNAME">%1$s</xliff:g> операторы пайдаланылып жатыр."</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Қолданбаны бекіту функциясын пайдалану"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Әзірлеуші опцияларын пайдалану"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Баспа қызметін пайдалану"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Бірнеше пайдаланушыға рұқсат беру"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Пайдаланушыны ауыстыруға рұқсат беру"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"рұқсат беру, бірнеше, пайдаланушы, көп"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"бірнеше, пайдаланушылар, профильдер, адамдар, аккаунттар, ауыстыру, көп"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Сымсыз түзетуді пайдалану"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> құрылғысы осы телефонға қосылуға рұқсат сұрайды.\n\nБұған дейін <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> құрылғысына қосылмағансыз."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Қосылмау"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Қосылу"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE параметрлері"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Қосулы"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Өшірулі"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Әдепкі параметрлерге қайтару"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Әдепкі параметрлерге қайтарылды."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Толық зарядталғандағы максималды баланс"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Баланстар"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Тұтыну лимиттері"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Бастапқы тұтыну лимиті"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Минималды тұтыну шегі"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Максималды тұтыну шегі"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Өзгерткіштер"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Әрекеттер (өндіріс бағасы)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Әрекеттер (негізгі баға)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Бір іс-шараға берілетін бонустар"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Секундтық іс-шараға берілетін бонустар"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Бір күнге берілетін ең көп бонустар"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Қолданбаны орнату"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Ең жоғары белсенділік"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Хабарландыру қаралды"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Хабарландыру 15 минут ішінде қаралды"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Хабарландыру бойынша әрекеттестік"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Виджет әрекеттестігі"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Басқа пайдаланушымен әрекеттестік"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Басымдығы ең жоғары тапсырма қосылуда"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Басымдығы ең жоғары тапсырма орындалуда"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Басымдығы жоғары тапсырма қосылуда"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Басымдығы жоғары тапсырма орындалуда"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Басымдығы әдепкі тапсырма қосылуда"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Басымдығы әдепкі тапсырма орындалуда"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Басымдығы төмен тапсырма қосылуда"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Басымдығы төмен тапсырма орындалуда"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Басымдығы ең төмен тапсырма қосылуда"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Басымдығы ең төмен тапсырма орындалуда"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Тапсырманы кешіктіру айыппұлы"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Толық заряд жағдайындағы минималды баланс (босатылған қолданбалар)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Толық заряд жағдайындағы минималды баланс (консольсыз жүйе қолданбалары)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Толық заряд жағдайындағы минималды баланс (қалған қолданбалар)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Толық заряд жағдайындағы минималды балансты қосу (қолданбаны жаңартушылар)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Зарядталуда"</item>
-    <item msgid="658627268149681677">"Қалғу режимі"</item>
-    <item msgid="1599558140284643834">"Қуат үнемдеу режимі"</item>
-    <item msgid="588427840913221601">"Процесс күйі"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Растау"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Алдын ала көру"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Скринсейвер таңдау"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Қосымша ақпаратты көрсету"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Планшет қондыру станциясына қойылған кезде, экраныңызда ненің көрсетілетінін таңдаңыз. Скринсейвер пайдаланылған кезде құрылғы көбірек қуат тұтынуы мүмкін."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Реттеу"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> скринсейверін бейімдеу"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Еркін түрде қолдау параметрін белсендіру үшін құрылғыны өшіріп қосу қажет."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Қосымша дисплейлерде жұмыс үстелі режимін мәжбүрлеп белсендіру үшін құрылғыны өшіріп қосу қажет."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Еркін пішінді терезелер мүмкіндігін қосу үшін құрылғыны өшіріп қосу қажет."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Еркін пішімді терезелерді қолдану мүмкіндігін жаңарту үшін құрылғыны өшіріп қосу керек."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Қосымша дисплейлерде еркін пішімді терезелерді қосу үшін құрылғыны өшіріп қосу керек."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Қазір өшіріп қосу"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Кейінірек өшіріп қосу"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Кеңістіктік дыбыс"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Раушан"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Қызғылт күлгін"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Күлгін"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Дайын"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Сақтау"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Бас тарту"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Әдепкі"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Орташа"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Қосулы"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Өшірулі"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Қосулы"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Аудио: сол жақ %1$d%%, оң жақ %2$d%%"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Аудио: сол жақ %1$d%%, оң жақ %2$d%%"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Құрылғыңыздың аты орнатылған қолданбаларға көрінеді. Bluetooth құрылғыларына, Wi-Fi желісіне қосылғанда немесе Wi-Fi хотспотын орнатқанда, басқа адамдарға да көрінуі мүмкін."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Грамматикалық тек"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Грамматикалық текті таңдаңыз"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Аудио бөлісу тоқтатылды."</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Үйлесімді құрылғыны жалғау"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Аудио бөлісе бастау үшін алдымен LE Audio құлақаспаптарын телефонға жалғаңыз."</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> құрылғысына ауысу"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"LE аудио трансляциясына қосылу"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Маңайдағы аудио трансляциялар"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Аудио трансляциялар"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Трансляцияны тыңдау"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Аудио трансляцияның QR кодын сканерлеп, құрылғымен (<xliff:g id="DEVICE_NAME">%1$s</xliff:g>) тыңдаңыз."</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Бөлісу кезінде құпия сөзді өзгертуге болмайды. Өзгерту үшін алдымен аудио бөлісу функциясын өшіріңіз."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR кодының сканері"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Көмек керек пе?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Іздеу параметрлері"</string>
 </resources>
diff --git a/res/values-km/arrays.xml b/res/values-km/arrays.xml
index 10fdbab..5d97701 100644
--- a/res/values-km/arrays.xml
+++ b/res/values-km/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"ម៉ោង​គេង"</item>
-    <item msgid="4152450357280759894">"កំពុងបើកបរ"</item>
-    <item msgid="7096549258219399423">"ជក់ចិត្ត"</item>
-    <item msgid="2760716776980432977">"បាន​គ្រប់គ្រង"</item>
-    <item msgid="601734478369121764">"ផ្កាយ"</item>
-    <item msgid="6243809315432780521">"ប្រតិទិន"</item>
-    <item msgid="4913577903148415331">"ពេលវេលា"</item>
-    <item msgid="3653377604690057780">"រោង​ល្ខោន"</item>
-    <item msgid="3843711267408385410">"ផ្កា"</item>
+    <item msgid="1216815120972438676">"កាបូបធ្វើការ"</item>
+    <item msgid="184985872234062767">"អគារបុរាណ"</item>
+    <item msgid="9189550412466785530">"អគារអាផាតមិន"</item>
+    <item msgid="2142527562511049422">"ផ្ទាំងវាចា"</item>
+    <item msgid="2548100558260478605">"ក្រុមមនុស្ស"</item>
+    <item msgid="2270003903304578284">"អំពូលភ្លើង"</item>
+    <item msgid="4793496619091161864">"ប្រតិទិន"</item>
+    <item msgid="5673625795644364100">"កុំ​រំខាន"</item>
+    <item msgid="1423820834865831361">"មនុស្សរត់"</item>
+    <item msgid="2037298830718732608">"កូនហ្គោល"</item>
+    <item msgid="2197835014443491074">"ដុំដែកនៅកន្លែងហាត់ប្រាណ"</item>
+    <item msgid="2730180105015616518">"ការហែលទឹក"</item>
+    <item msgid="2666922823253345958">"មនុស្សកំពុងដើរកាត់​ព្រៃភ្នំ"</item>
+    <item msgid="8234880356472211396">"មនុស្សកំពុងគប់បាល់"</item>
+    <item msgid="4642980625253001443">"មនុស្សកំពុងធាក់"</item>
+    <item msgid="4324795269518833500">"ឧបករណ៍បញ្ជាហ្គេម"</item>
+    <item msgid="7789966425125441125">"ក្ដារ​លាយ​ពណ៌វិចិត្រករ"</item>
+    <item msgid="663512680597461570">"ផ្កាព្រិល"</item>
+    <item msgid="7952183800501346803">"ឆត្រនៅតាមឆ្នេរ"</item>
+    <item msgid="799139025758265891">"ឧបករណ៍រោងជាង"</item>
+    <item msgid="1330084588359129896">"តង់"</item>
+    <item msgid="3861584909935022342">"ដុំហ្វីលភាពយន្ត"</item>
+    <item msgid="5827426100157335512">"សៀវភៅ"</item>
+    <item msgid="8585828346253128384">"ផ្កា​ឈូក"</item>
+    <item msgid="8788370542815300188">"ចិត្តរបស់មនុស្ស"</item>
+    <item msgid="7287354964767553293">"កាស"</item>
+    <item msgid="2530059623783800987">"ទូរទស្សន៍"</item>
+    <item msgid="5307182323469376758">"រថភ្លើង"</item>
+    <item msgid="4903790544026923026">"រថយន្ត"</item>
+    <item msgid="5010405583912314582">"សម ​និង​កាំបិត"</item>
+    <item msgid="8939998598599064900">"រទេះទិញទំនិញ"</item>
+    <item msgid="3379605903308731893">"កុមារ"</item>
+    <item msgid="7808668968550293112">"ក្រញាំសត្វ"</item>
+    <item msgid="1000692647524056504">"សញ្ញាផ្កាយ"</item>
+    <item msgid="8270261073421676502">"មនុស្សពីរនាក់"</item>
+    <item msgid="5767782819651505460">"ផ្កាយ"</item>
+    <item msgid="4368451291862729334">"បេះដូង"</item>
+    <item msgid="2613199102208419986">"ផ្ទះ"</item>
+    <item msgid="3022279986430275040">"ព្រះ​ចន្ទមួយចំហៀង"</item>
+    <item msgid="5421089790869483206">"នាឡិកា"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index 4073f11..229bcae 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"បានផ្អាក"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"មិនស្គាល់"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"មើលសាកល្បង"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"កូដ QR"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"កំណត់ឲ្យតូចជាងមុន"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"កំណត់ឲ្យធំជាងមុន"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"ជានិច្ច"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"ការកំណត់ឧបករណ៍ជំនួយការស្ដាប់"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"ផ្លូវកាត់ ភាពត្រូវគ្នាជាមួយនឹង​ឧបករណ៍​ជំនួយការស្ដាប់"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"កំណត់ជាមុន"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"មិនមានការកំណត់ជាមុនដែលរៀបចំដោយអ្នកជំនាញផ្នែកសោតវិញ្ញាណរបស់អ្នកទេ"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"មិនអាច​ប្ដូរ​ការកំណត់ជាមុន​បានទេ"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"ឧបករណ៍បញ្ចេញសំឡេង"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"អំពីឧបករណ៍បញ្ចេញសំឡេង"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"មិនអាចជ្រើសរើសភាសាសម្រាប់កម្មវិធីនេះពីការកំណត់បានទេ។"</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"ភាសាអាចមាន​ភាពខុសគ្នាពី​ភាសាដែលមាននៅក្នុង​កម្មវិធី។ កម្មវិធីមួយចំនួន​ប្រហែលជាមិនអាចប្រើ​ការកំណត់នេះបានទេ។"</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"កំណត់ភាសាសម្រាប់កម្មវិធីនីមួយៗ។"</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"ប្រព័ន្ធ កម្មវិធី និងគេហទំព័រ​របស់អ្នក​ប្រើភាសាដែលស្គាល់ដំបូងគេពី​ភាសាដែលអ្នកចង់ប្រើ។"</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"ឧបករណ៍ កម្មវិធី និងគេហទំព័រ​របស់អ្នក​ប្រើភាសាដែលស្គាល់ដំបូងគេពី​បញ្ជីភាសាដែលអ្នកចង់ប្រើ។\n\nកម្មវិធីជាច្រើនក៏នឹងប្រើតំបន់ពីភាសាដែលអ្នកចង់ប្រើដើម្បីកំណត់ទម្រង់កាលបរិច្ឆេទ លេខ និងឯកតាផងដែរ។ ដើម្បីផ្លាស់ប្ដូរតំបន់របស់អ្នក សូមបញ្ចូលភាសាមួយ បន្ទាប់មកជ្រើសរើសតំបន់ដែលអ្នកចង់ប្រើ។"</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"ដើម្បីជ្រើសរើស​ភាសាសម្រាប់​កម្មវិធីនីមួយៗ សូមចូលទៅកាន់​ការកំណត់ភាសាកម្មវិធី។"</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"ស្វែងយល់បន្ថែម​អំពីភាសាកម្មវិធី"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"ផ្លាស់ប្ដូរ​ភាសាប្រព័ន្ធ​ទៅជាភាសា %s ឬ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"បិទ"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{បើក / កម្មវិធី # មានសិទ្ធិ​ចូលប្រើ​ទីតាំង}other{បើក / កម្មវិធី # មានសិទ្ធិ​ចូលប្រើ​ទីតាំង}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"កំពុងផ្ទុក…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"កម្មវិធីដែលមានការអនុញ្ញាត​ឱ្យប្រើឧបករណ៍នៅជិត​អាចកំណត់​ចម្ងាយពាក់ព័ន្ធ​នៃឧបករណ៍​ដែលបានភ្ជាប់។"</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"កម្មវិធីដែលមានការអនុញ្ញាត​ឧបករណ៍នៅជិត​អាចកំណត់ទីតាំង​ដែលពាក់ព័ន្ធនៃឧបករណ៍​ដែលបានភ្ជាប់។"</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"ការចូលប្រើ​ទីតាំងត្រូវបានបិទ​សម្រាប់​កម្មវិធី និងសេវាកម្ម។ ទីតាំងឧបករណ៍របស់អ្នកនៅតែអាចត្រូវបានផ្ញើទៅអ្នកសង្គ្រោះបន្ទាន់ដដែល នៅពេលដែលអ្នកហៅទូរសព្ទ ឬផ្ញើសារជាអក្សរទៅលេខសង្គ្រោះបន្ទាន់។"</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"ស្វែងយល់បន្ថែម​អំពី​ការកំណត់​ទីតាំង"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"ដើម្បីផ្លាស់ប្ដូរ សូមចូលទៅកាន់ការកំណត់ ChromeOS &gt; ឯកជនភាព និងសុវត្ថិភាព &gt; ការគ្រប់គ្រង​ឯកជនភាព &gt; ការចូលប្រើទីតាំង"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"បានបញ្ចូលមុខ និង <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"បានបញ្ចូលមុខ ស្នាមម្រាមដៃ និង <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"បានបញ្ចូលមុខ ស្នាមម្រាមដៃ និង <xliff:g id="WATCH">%s</xliff:g>"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"ការត្រួតពិនិត្យអត្តសញ្ញាណត្រូវបានបើក និងតម្រូវឱ្យមានជីវមាត្រ"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"ការដោះសោពីចម្ងាយតាមកម្មវិធីផ្ទៀងផ្ទាត់"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"បានបញ្ចូលនាឡិកាហើយ"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"រៀបចំនាឡិការបស់អ្នក"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"ស្វែងយល់បន្ថែមអំពីការដោះសោដោយប្រើនាឡិកា"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"បញ្ចូលនាឡិកា"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"ដកនាឡិកាចេញ"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ការដោះ​សោ​ដោយស្កេន​មុខ និងស្នាមម្រាមដៃ"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ការដោះសោ​ដោយស្កេនមុខ និង​ស្នាមម្រាមដៃ"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"ការដោះសោដោយស្កេន​ស្នាមម្រាមដៃ និងមុខ​សម្រាប់ការងារ"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ត្រូវការរៀបចំ"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"បានបញ្ចូលស្នាមម្រាមដៃ និងមុខ"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"កំពុងរៀបចំលំហឯកជន…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"មិនអាចរៀបចំលំហឯកជនបានទេ"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"ព្យាយាមម្ដងទៀត"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"ចាកចេញ"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"មិនមានលំហឯកជនទេ។ \nសូមមើលមូលហេតុដែលអាចកើតមាន"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"មើលមូលហេតុដែលអាចកើតមាន"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"ជ្រើសរើសការចាក់សោថ្មីសម្រាប់លំហឯកជនឬ?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"អ្នកអាចកំណត់សោថ្មីសម្រាប់លំហឯកជន ឬប្រើសោដូចគ្នាដែលអ្នកប្រើដើម្បីដោះសោឧបករណ៍របស់អ្នក"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"ប្រើ​ការ​ចាក់​សោ​អេក្រង់"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"នៅពេល​ប៊្លូធូស​បើក ឧបករណ៍​របស់អ្នក​អាចធ្វើទំនាក់ទំនងជាមួយ​ឧបករណ៍​ប៊្លូធូស​ដែល​នៅជិត​ផ្សេងទៀត។\n\nដើម្បី​កែលម្អ​បទពិសោធ​ប្រើប្រាស់​ឧបករណ៍ កម្មវិធី និង​សេវាកម្ម​នៅតែ​អាច​ស្កេនរកឧបករណ៍​ដែល​នៅជិត​បាន​គ្រប់ពេល ទោះបីជា​នៅពេលបិទ​ប៊្លូធូស​ក៏ដោយ។ ឧទាហរណ៍ វាអាច​ត្រូវ​បានប្រើ ដើម្បី​កែលម្អ​មុខងារ និង​សេវាកម្ម​ដែល​ផ្អែក​លើ​ទីតាំង​ជាដើម។ អ្នកអាច​ប្ដូរវា​បាននៅក្នុងការកំណត់​ការស្កេនប៊្លូធូស។"</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"នៅពេលបើកប៊្លូធូស ឧបករណ៍របស់អ្នកអាចទាក់ទងជាមួយ​ឧបករណ៍ប៊្លូធូសនៅជិត​ផ្សេងទៀតបាន។ មុខងារដូចជា Quick Share និង \"រកឧបករណ៍របស់ខ្ញុំ\" ប្រើប៊្លូធូស។ \n\nកម្មវិធី និងសេវាកម្មនៅតែអាចស្កេនរកឧបករណ៍នៅជិតបានគ្រប់ពេល ទោះបីជាប៊្លូធូសបិទក៏ដោយ។ ឧទាហរណ៍ វាអាចប្រើដើម្បីកែលម្អមុខងារ និងសេវាកម្មដែលផ្អែកលើទីតាំង។ អ្នកអាចផ្លាស់ប្ដូរលក្ខណៈនេះនៅក្នុងការ​កំណត់ការស្កេនរកប៊្លូធូស។"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"ផ្លាស់ប្ដូរ"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> មិនត្រូវ​បាន​ភ្ជាប់ទេ"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"ដើម្បីសុវត្ថិភាពរបស់អ្នក សូមបំភ្លេចឧបករណ៍នេះ រួចផ្គូផ្គងវាម្ដងទៀត"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"បំភ្លេច​ឧបករណ៍"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"បោះបង់"</string>
     <string name="device_details_title" msgid="1155622417516195481">"ព័ត៌មានលម្អិត​អំពី​ឧបករណ៍"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"ការកំណត់​ក្ដារ​ចុច"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"ការកំណត់ច្រើនទៀត"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"ការដំឡើងកំណែកម្មវិធី​បង្កប់ អំពី និង​ច្រើនទៀត"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"គន្លឹះ និង​ជំនួយ"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"អាសយដ្ឋាន​ប៊្លូធូស​របស់ឧបករណ៍៖ <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"អាសយដ្ឋាន​ប៊្លូធូស​របស់ឧបករណ៍៖\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"បំភ្លេច​ឧបករណ៍?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"ពិសោធន៍។ កែលម្អគុណភាពសំឡេង។"</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"បំភ្លេច​ឧបករណ៍"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"ផ្ដាច់​កម្មវិធី"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"ការកំណត់ច្រើនទៀត"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"ចំនួនអតិបរមា​នៃ​ឧបករណ៍​សំឡេង​ដែលភ្ជាប់​ប៊្លូធូស​"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"ជ្រើសរើស​ចំនួនអតិបរមា​នៃ​ឧបករណ៍​សំឡេង​ដែលភ្ជាប់​ប៊្លូធូស"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"កំណត់ហេតុជួសជុល​លម្អិតរបស់អ្នកផ្គត់ផ្គង់​អំពី NFC"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"ចាប់ផ្តើម​ឧបករណ៍​ឡើង​វិញ​ឬ?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"ការកត់ត្រា NFC លម្អិត​គឺសម្រាប់តែការអភិវឌ្ឍប៉ុណ្ណោះ។ ទិន្នន័យ NFC បន្ថែម​ត្រូវបានរួមបញ្ចូល​ក្នុងរបាយការណ៍អំពីបញ្ហា​ដែលអាចមានព័ត៌មានឯកជន។ ចាប់ផ្ដើមឧបករណ៍​របស់អ្នក​ឡើងវិញ ដើម្បីប្ដូរ​ការកំណត់នេះ។"</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"ចាប់ផ្ដើមឡើងវិញ"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"បើក"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"បិទ"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"ផ្ទាំង​អេក្រង់​ខាង​ក្រៅ"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"ប្រើផ្ទាំងអេក្រង់ខាងក្រៅ"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"កម្រិតគុណភាពផ្ទាំងអេក្រង់"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"ផ្ទាំងអេក្រង់ខាងក្រៅត្រូវបានផ្ដាច់"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"ការ​បង្វិល"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"ស្តង់ដារ"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"ការប្ដូរការ​បង្វិល ឬកម្រិតគុណភាពអាចបញ្ឈប់កម្មវិធីទាំងឡាយដែលកំពុងដំណើរការនាពេលបច្ចុប្បន្ន"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"ត្រូវតែភ្ជាប់ឧបករណ៍របស់អ្នកជាមួយផ្ទាំងអេក្រង់ខាងក្រៅ ដើម្បីបញ្ចាំងអេក្រង់របស់អ្នក"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"ជម្រើស​ច្រើនទៀត"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"ភ្ជាប់"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"កញ្ចក់"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"បើក​ការ​បង្ហាញ​ឥត​ខ្សែ"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"បត់បែន"</string>
     <string name="brightness" msgid="6216871641021779698">"កម្រិត​ពន្លឺ"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"ពន្លឺ​មានភាពបត់បែន"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"អំពីពន្លឺ​មានភាពបត់បែន"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"កម្រិតពន្លឺ​នៅ​លើ​អេក្រង់​របស់អ្នក​នឹង​​កែតម្រូវ​ដោយស្វ័យប្រវត្តិ​ឱ្យ​ស្រប​នឹង​បរិយាកាសជុំវិញ និង​សកម្មភាព​របស់អ្នក។ អ្នក​អាច​ផ្លាស់ទី​របាររំកិល​ដោយដៃ ដើម្បី​ជួយ​ឱ្យ​កម្រិតពន្លឺ​​ដែល​មាន​ភាពបត់បែន​ស្គាល់​ចំណង់ចំណូលចិត្ត​របស់អ្នក។"</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"បើក"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"បិទ"</string>
@@ -1311,8 +1340,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="8850185380445309835">"ធ្វើបច្ចុប្បន្នភាពស៊ីមដែលពេញចិត្តឬ?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> គឺជា​ស៊ីមតែមួយគត់ដែលមាននៅក្នុងឧបករណ៍​របស់អ្នក។ តើអ្នក​ចង់ប្រើ​ស៊ីមនេះដើម្បីប្រើទិន្ន័យចល័ត ហៅទូរសព្ទ និងផ្ញើសារ SMS ដែរទេ?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"ឥឡូវនេះ <xliff:g id="NEW_SIM">%1$s</xliff:g> គឺជាស៊ីមចម្បងរបស់អ្នក"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"កែលម្អការគ្របដណ្ដប់ទិន្នន័យទូរសព្ទចល័តឬ?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"អនុញ្ញាតឱ្យឧបករណ៍​របស់អ្នកប្ដូរទៅ <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> ដោយស្វ័យប្រវត្តិ​សម្រាប់ទិន្នន័យទូរសព្ទចល័ត នៅពេលវាមានលទ្ធភាពផ្តល់ជូនប្រសើរជាងមុន។"</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"ការហៅទូរសព្ទ សារ និងចរាចរណ៍បណ្តាញអាចបង្ហាញឱ្យស្ថាប័នរបស់អ្នកឃើញ។"</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"ជម្រើស"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"ភាពងាយស្រួល"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"ក្ដារចុច​រូបវ័ន្ត"</string>
-    <string name="show_ime" msgid="4334255501724746849">"ប្រើក្ដារចុច​លើអេក្រង់"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"រក្សា​នៅលើអេក្រង់ ពេលក្តារចុចរូបវ័ន្តកំពុងធ្វើ​​ប្រតិបត្តិការ"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"គ្រាប់ចុចឡង"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"ក្ដារចុចមិនអើពើនឹងការចុចដដែលៗយ៉ាងរហ័សនៃគ្រាប់ចុចដដែលក្នុងរយៈពេល <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> មិល្លីវិនាទី"</string>
     <string name="slow_keys" msgid="2891452895499690837">"គ្រាប់ចុចយឺត"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"កែតម្រូវរយៈពេលនៃការចុចគ្រាប់ចុចដើម្បីបើកដំណើរការទៅ <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> មិល្លីវិនាទី"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"គ្រាប់ចុចស្អិត"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"ចុចគ្រាប់ចុចមួយក្នុងមួយលើកសម្រាប់ផ្លូវកាត់ជំនួសឱ្យការចុចគ្រាប់ចុចឱ្យជាប់រួមគ្នា"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"គ្រាប់ចុច​ម៉ៅស៍"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"ប្រើក្ដារចុចរូបវន្ត ដើម្បីគ្រប់គ្រងម៉ៅស៍។"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"ផ្លូវកាត់ក្តារចុច"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"បង្ហាញបញ្ជីផ្លូវកាត់"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"ឧបករណ៍ និងក្ដារចុច​កម្រងព័ត៌មាន​ការងារ"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"ប្ដូរចលនារុករកផ្ទាំងប៉ះនីមួយៗតាមបំណង"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"ការរំកិលបញ្រ្ចាស"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"ខ្លឹមសារផ្លាស់ទី​ឡើងលើ នៅពេលអ្នករំកិល​ចុះក្រោម"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"ការចុចខាងស្ដាំផ្នែកខាងក្រោម"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"ចុចជ្រុងខាងស្ដាំផ្នែកខាងក្រោមនៃផ្ទាំងប៉ះសម្រាប់ជម្រើសបន្ថែម"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"ចុចខាងក្រោមផ្នែកខាងស្ដាំ"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"ចុចជ្រុងខាងស្ដាំផ្នែកខាងក្រោមនៃផ្ទាំងប៉ះសម្រាប់ជម្រើសបន្ថែម"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"ល្បឿន​ទស្សន៍ទ្រនិច"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"ស្តាយល៍បំពេញរបស់ព្រួញ"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"ប្ដូរស្តាយល៍បំពេញរបស់ព្រួញទៅខ្មៅ"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"ប្ដូរស្តាយល៍បំពេញរបស់ព្រួញទៅលឿង"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"ប្ដូរស្តាយល៍បំពេញរបស់ព្រួញទៅផ្កាឈូក"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"ប្ដូរស្តាយល៍បំពេញរបស់ព្រួញទៅខៀវ"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"រចនាប័ទ្មគំនូសសញ្ញាព្រួញ"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"ស"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"ខ្មៅ"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"គ្មាន"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"ស្វែងយល់អំពីចលនាផ្ទាំងប៉ះ"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"ផ្ទាំងប៉ះ, ផ្ទាំងសម្រាប់ប៉ះ, ម៉ៅស៍, ទស្សន៍ទ្រនិច, រំកិល, អូស, ចុចម៉ៅស៍ខាងស្ដាំ, ចុច, ទ្រនិចរំកិល"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"ចុចម៉ៅស៍ខាងស្ដាំ, ចុច"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"កំណត់​ឡើងវិញ"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"ជ្រើសរើស​ប៊ូតុងឧបករណ៍កែសម្រួល"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"ជ្រើសរើសប៊ូតុងថ្មីសម្រាប់ <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>៖"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"ភាពងាយស្រួលប្រើប្រាស់ក្ដារចុចរូបវន្ត"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"គ្រាប់ចុចស្អិត គ្រាប់ចុចលោត គ្រាប់ចុចម៉ៅស៍"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"ប្លង់ <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"លំនាំដើម"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"ស្វ័យប្រវត្តិ៖ <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"បានជ្រើសរើសដោយអ្នកប្រើប្រាស់៖ <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"ការ​និយាយ"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"ល្បឿន​ព្រួញ"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"សមាមាត្រសញ្ញាព្រួញ"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"បន្ថយសមាមាត្រសញ្ញាព្រួញ"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"បង្កើនសមាមាត្រសញ្ញាព្រួញ"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"កម្មវិធី​ពិនិត្យ​ល្បែង"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"ការ​ញ័រ​ពេល​បញ្ជូន​បន្ត"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"បញ្ជូន​រំញ័រ​ទៅ​ឧបករណ៍​បញ្ជា​ហ្គេម​នៅ​ពេល​ភ្ជាប់"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"មិនអីទេ បន្តចុះ"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"បោះបង់"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"ការកំណត់​ការពង្រីក"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"ការចាប់អូសដោយម្រាមដៃមួយ"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"ផ្លាស់ទីកែវពង្រីកដោយប្រើម្រាមដៃ 1"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"អូសម្រាមដៃ 1 ដើម្បីផ្លាស់ទីជុំវិញអេក្រង់"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"ផ្លាស់ទីផ្ទៃពង្រីកដោយអូសម្រាមដៃមួយ។"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"ផ្លាស់ទីផ្ទៃពង្រីកដោយអូសម្រាមដៃពីរ។"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"មិនអាចប្រើបានទេ ពេលពង្រីកតែផ្នែកនៃអេក្រង់"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ចុចប៊ូតុងដើម្បីពង្រីក ឬបង្រួម"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"ពង្រីកនៅលើអេក្រង់យ៉ាងរហ័ស ដើម្បីបង្ហាញខ្លឹមសារធំជាងមុន"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;ដើម្បីពង្រីក៖&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ប្រើ​ផ្លូវកាត់ ដើម្បីចាប់ផ្ដើម​ការពង្រីក&lt;br/&gt; {1,number,integer}. ចុច​អេក្រង់&lt;br/&gt; {2,number,integer}. អូស​ម្រាមដៃ 2 ដើម្បីផ្លាស់ទីនៅជុំវិញអេក្រង់&lt;br/&gt;{3,number,integer}. ច្បិច​ដោយប្រើ​ម្រាមដៃ 2 ដើម្បី​កែតម្រូវ​ការពង្រីកបង្រួម&lt;br/&gt; {4,number,integer}. ប្រើ​ផ្លូវកាត់ ដើម្បី​បញ្ឈប់​ការពង្រីក&lt;br/&gt;&lt;br/&gt; &lt;b&gt;ដើម្បីពង្រីក​ជាបណ្ដោះអាសន្ន៖&lt;/b&gt;&lt;br/&gt; {0,number,integer}. សូមប្រាកដថា ប្រភេទនៃការ​ពង្រីករបស់អ្នកត្រូវបានកំណត់ទៅពេញអេក្រង់&lt;br/&gt; {1,number,integer}. ប្រើ​ផ្លូវកាត់ ដើម្បី​ចាប់ផ្ដើម​ការពង្រីក&lt;br/&gt; {2,number,integer}. ចុចកន្លែងណាមួយ​នៅលើ​អេក្រង់ឱ្យជាប់&lt;br/&gt; {3,number,integer}. អូស​ម្រាមដៃ ដើម្បីផ្លាស់ទី​នៅជុំវិញ​អេក្រង់&lt;br/&gt; {4,number,integer}. ដកម្រាមដៃចេញ ដើម្បី​បញ្ឈប់​ការ​ពង្រីក"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;ដើម្បីពង្រីក៖&lt;/b&gt;&lt;br/&gt; {0,number,integer}។ ប្រើ​ផ្លូវកាត់ ដើម្បីចាប់ផ្ដើម​ការពង្រីក&lt;br/&gt; {1,number,integer}។ ចុច​អេក្រង់&lt;br/&gt; {2,number,integer}។ អូស​ម្រាមដៃ 2 ដើម្បីផ្លាស់ទីលើអេក្រង់&lt;br/&gt;{3,number,integer}។ ច្បិច​ដោយប្រើ​ម្រាមដៃ 2 ដើម្បី​កែតម្រូវ​ការពង្រីកបង្រួម&lt;br/&gt; {4,number,integer}។ ប្រើផ្លូវកាត់ ដើម្បីបញ្ឈប់ការ​ពង្រីក&lt;br/&gt;&lt;br/&gt; អ្នកក៏អាចពង្រីកជាបណ្ដោះអាសន្ន និងធ្វើអ្វីៗជាច្រើនទៀតបានផងដែរ។"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;ដើម្បីពង្រីក៖&lt;/b&gt;&lt;br/&gt; {0,number,integer}។ ប្រើ​ផ្លូវកាត់ ដើម្បីចាប់ផ្ដើម​ការពង្រីក&lt;br/&gt; {1,number,integer}។ ចុច​អេក្រង់&lt;br/&gt; {2,number,integer}។ អូសម្រាមដៃ 1 ឬ 2 ដើម្បីផ្លាស់ទីលើអេក្រង់&lt;br/&gt; {3,number,integer}។ ច្បិច​ដោយប្រើ​ម្រាមដៃ 2 ដើម្បី​កែតម្រូវ​ការពង្រីកបង្រួម&lt;br/&gt; {4,number,integer}។ ប្រើផ្លូវកាត់ ដើម្បីបញ្ឈប់ការ​ពង្រីក&lt;br/&gt;&lt;br/&gt; អ្នកក៏អាចពង្រីកជាបណ្ដោះអាសន្ន និងធ្វើអ្វីៗជាច្រើនទៀតបានផងដែរ។"</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_pager" msgid="8461939455728454061">"ទំព័រទី <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> នៃ <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"ផ្លូវកាត់ប៊ូតុង​ភាពងាយស្រួល"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"ចុចប៊ូតុងអណ្ដែត"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"ចលនាភាពងាយស្រួល"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"ចុច​ប៊ូតុង​ភាពងាយស្រួល <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> នៅផ្នែក​ខាងក្រោមនៃ​អេក្រង់​របស់អ្នក។ ដើម្បី​ប្ដូររវាង​មុខងារផ្សេងៗ សូមចុច​ប៊ូតុង​ភាពងាយស្រួល​ឱ្យជាប់។"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"អូស​ឡើងលើ​ពីផ្នែកខាងក្រោម​នៃអេក្រង់ ដោយប្រើ​ម្រាមដៃ 2។\n\nដើម្បី​ប្ដូរ​រវាង​មុខងារ​ផ្សេងៗ សូមអូស​ឡើងលើ ដោយប្រើ​ម្រាមដៃ 2 រួច​សង្កត់ឱ្យជាប់។"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"អូស​ឡើងលើ​ពីផ្នែកខាងក្រោម​នៃអេក្រង់ ដោយប្រើ​ម្រាមដៃ 3។\n\nដើម្បី​ប្ដូរ​រវាង​មុខងារ​ផ្សេងៗ សូមអូស​ឡើងលើ ដោយប្រើ​ម្រាមដៃ 3 រួច​សង្កត់ឱ្យជាប់។"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{អូសពី​ផ្នែកខាងក្រោមនៃ​អេក្រង់របស់អ្នកឡើងលើ។ ដើម្បីប្ដូររវាងមុខងារផ្សេងៗ សូមអូសឡើងលើ ហើយសង្កត់ឱ្យជាប់។}other{អូសពីផ្នែកខាងក្រោមនៃអេក្រង់របស់អ្នកឡើងលើដោយប្រើម្រាមដៃ #។ ដើម្បី​ប្ដូររវាង​មុខងារផ្សេងៗ សូមអូស​ឡើងលើ​ដោយប្រើ​ម្រាមដៃ # ហើយ​សង្កត់ឱ្យជាប់។}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"ជម្រើស​ច្រើនទៀត"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"ស្វែងយល់បន្ថែមអំពី \"<xliff:g id="SERVICE">%1$s</xliff:g>\""</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"គ្រាប់ចុច​កម្រិតសំឡេង"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"គ្រាប់ចុច​កម្រិតសំឡេង"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"ចុច​គ្រាប់ចុច​កម្រិតសំឡេង​ទាំងពីរ​ឱ្យជាប់"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"ចុចអេក្រង់ពីរដងដោយប្រើម្រាមដៃពីរ"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"ចុចពីរដងដោយប្រើម្រាមដៃ %1$d"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"ចុចឱ្យលឿនលើអេក្រង់ពីរដងដោយប្រើម្រាមដៃ %1$d"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"ចុចបីដង"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"ចុចឱ្យលឿនលើអេក្រង់ %1$d ដង។ ការធ្វើបែបនេះអាចបន្ថយល្បឿនឧបករណ៍របស់អ្នក។"</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"ចុចពីរដងដោយប្រើម្រាមដៃ %1$d"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"ចុចអេក្រង់ {0,number,integer} ដងឱ្យរហ័សដោយប្រើម្រាមដៃពីរ"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"ចុច​អេក្រង់​បីដង"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"ចុចបីដង"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"ចុចអេក្រង់ {0,number,integer} ដងឱ្យរហ័ស។ ផ្លូវកាត់​នេះ​អាច​ធ្វើឱ្យ​ឧបករណ៍​របស់អ្នក​ដើរយឺត"</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_global_gesture_preference_title" msgid="8866765674372344850">"ផ្លូវកាត់គ្រាប់ចុចកម្រិតសំឡេង"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"ការកំណត់​ផ្លូវកាត់"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"ផ្លូវកាត់​ពី​អេក្រង់ចាក់សោ"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"ផ្លូវ​កាត់គ្រាប់ចុច​កម្រិតសំឡេងពីអេក្រង់ចាក់សោ"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"អនុញ្ញាត​ឱ្យផ្លូវកាត់​មុខងារបើក​ពី​អេក្រង់​ចាក់សោ។ សង្កត់​គ្រាប់ចុច​កម្រិតសំឡេង​ទាំងពីរ​ឱ្យជាប់​រយៈពេល​ពីរបី​វិនាទី។"</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"ប៊ូតុង​ភាពងាយស្រួល"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"ចលនា និងប៊ូតុង​ភាពងាយស្រួល"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"សេវាកម្ម​នេះ​កំពុង​ដំណើរការ​ខុសប្រក្រតី។"</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"ផ្លូវកាត់​ភាពងាយស្រួល"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"បង្ហាញ​នៅ​ក្នុង​ការ​កំណត់​​រហ័ស"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"ក្រហម-បៃតង"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"ក្រហម-បៃតង"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"ខ្សោយពណ៌បៃតង ក្រហម-បៃតង"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"ខ្សោយពណ៌ក្រហម ក្រហម-បៃតង"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"ខៀវ-លឿង"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"មាត្រដ្ឋានពណ៌​ប្រផេះ"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"កម្រិត"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"ខ្សោយពណ៌បៃតង (ខ្វាក់ពណ៌បៃតង)"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"ខ្សោយពណ៌ក្រហម (ខ្វាក់ពណ៌ក្រហម)"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"មិនមានសម្រាប់មុខងារមាត្រដ្ឋាន​ពណ៌ប្រផេះ ឬនៅពេលការ​កែតម្រូវ​ពណ៌ត្រូវបានបិទ"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"ងងឹតខ្លាំង"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"ធ្វើឱ្យ​អេក្រង់ងងឹតខ្លាំង"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"ពណ៌កាប់ស្តាំង"</string>
     <string name="color_yellow" msgid="5957551912912679058">"ពណ៌លឿង"</string>
     <string name="color_magenta" msgid="8943538189219528423">"ពណ៌ក្រហម​ស្វាយ"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"អនុញ្ញាតឱ្យ <xliff:g id="SERVICE">%1$s</xliff:g> គ្រប់គ្រងឧបករណ៍​របស់អ្នក​ទាំងស្រុង?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> ត្រូវ​ការ៖"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"ដោយសារកម្មវិធីមួយកំពុងធ្វើឲ្យសំណើរអនុញ្ញាតមានភាពមិនច្បាស់ ការកំណត់នេះមិនអាចផ្ទៀងផ្ទាត់ការឆ្លើយតបរបស់អ្នកបានទេ។"</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> កំពុង​ស្នើ​សុំគ្រប់គ្រង​ឧបករណ៍​នេះ​ទាំងស្រុង។ សេវាកម្ម​នេះអាច​អាន​អេក្រង់ និងធ្វើសកម្មភាពជំនួស​ឱ្យអ្នកប្រើប្រាស់​ដែលត្រូវការ​មុខងារ​ភាពងាយស្រួល។ កម្រិត​នៃការគ្រប់គ្រង​នេះ​មិនស័ក្តិសម​សម្រាប់​កម្មវិធី​ភាគច្រើនទេ។"</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"ការគ្រប់គ្រង​ទាំងស្រុងមានលក្ខណៈ​សមស្របសម្រាប់​កម្មវិធី ដែលជួយអ្នក​ទាក់ទងនឹងការប្រើមុខងារភាពងាយស្រួល ប៉ុន្តែមិនសមស្របសម្រាប់​កម្មវិធីភាគច្រើនទេ។"</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"មើល និង​គ្រប់គ្រងអេក្រង់"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"វា​អាចអានខ្លឹមសារទាំងអស់​នៅលើអេក្រង់ និងបង្ហាញខ្លឹមសារ​លើកម្មវិធីផ្សេងទៀត។"</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"មើល និង​ធ្វើសកម្មភាព"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"វា​អាចតាមដានអន្តរកម្មរបស់អ្នកជាមួយនឹងកម្មវិធី ឬសេនស័រហាតវែរ និងធ្វើអន្តរកម្ម​ជាមួយកម្មវិធីនានា​ជំនួសឱ្យអ្នក។"</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"អនុញ្ញាត"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"បដិសេធ"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"បិទ"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"បើក / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> និង <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"អ្នកក៏​អាច​បើក​សំឡេងលំហ​សម្រាប់ឧបករណ៍​ប៊្លូធូសបាន​ដែរ។"</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"ការកំណត់​ឧបករណ៍ដែល​បានភ្ជាប់"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"សំឡេងលំហ"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"បិទ"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"បិទ"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"បិទ"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{គ្មាន}=1{បានកំណត់​កាលវិភាគ 1}other{បានកំណត់​កាលវិភាគ #}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"កុំ​រំខាន"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"ម៉ូដអាទិភាព"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"បញ្ចូលមុខងារ"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"មុខងារ"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"កាត់បន្ថយការរំខានឱ្យនៅតិចបំផុត និងគ្រប់គ្រងលើការយកចិត្តទុកដាក់របស់អ្នកដោយប្រើមុខងារសម្រាប់ការគេង ធ្វើការ បើកបរ និងគ្រប់យ៉ាងពាក់ព័ន្ធនឹងអ្វីៗទាំងនេះ។"</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"បង្កើតមុខងាររបស់អ្នកផ្ទាល់"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"ទទួលការជូនដំណឹង​ពីកម្មវិធី និងមនុស្សសំខាន់ៗ​តែប៉ុណ្ណោះ"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"កំណត់​កាលវិភាគ"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"កំណត់កាលវិភាគដោយផ្អែកលើ"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"ថ្ងៃ និងម៉ោង"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"9 ព្រឹក - 5 ល្ងាចនៃថ្ងៃធ្វើការ\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"ព្រឹត្តិការណ៍ក្នុង​ប្រតិទិន"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} កំពុង​ដំណើរការ}=2{{mode_1} និង {mode_2} កំពុង​ដំណើរការ}=3{{mode_1}, {mode_2} និង {mode_3} កំពុង​ដំណើរការ}other{{mode_1}, {mode_2}​និង # ទៀតកំពុង​ដំណើរការ}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{មុខងារ 1 អាច​បើកដោយស្វ័យប្រវត្តិ}other{មុខងារ # អាច​បើកដោយស្វ័យប្រវត្តិ}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"បើក"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"មិនបានកំណត់"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"បាន​បិទ"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"បង្កើតមុខងារ"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"ផ្ទាល់ខ្លួន"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"បើក​ឥឡូវនេះ"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"បិទ"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"រកមិនឃើញមុខងារនេះទេ"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"កាត់បន្ថយ​ការរំខាន"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"​ទប់ស្កាត់កត្តារំខាន ឬការរំខាន"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"រៀបចំ <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"បើកមុខងារកុំរំខាន"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"សំឡេង​មេឌៀ និង​ម៉ោងរោទ៍​អាច​ផ្អាកបាន"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"កាលវិភាគ"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"លុបកាលវិភាគ"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"លុប"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"ប្ដូរ​ឈ្មោះ"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"លុប"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"លុបមុខងារ \"<xliff:g id="MODE">%1$s</xliff:g>\" ឬ?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"កែ"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"កាលវិភាគ"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"កាលវិភាគ"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"បើកដោយស្វ័យប្រវត្តិ"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"បញ្ចូលប្រតិទិន"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"ប្រើប្រតិទិនរបស់អ្នក"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"កាលវិភាគ"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"កំណត់​កាលវិភាគ"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"ពេលដែលត្រូវបើកដោយស្វ័យប្រវត្តិ"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"កាលវិភាគព្រឹត្តិការណ៍"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"បើកក្នុងអំឡុងព្រឹត្តិការណ៍សម្រាប់"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"កន្លែងឆ្លើយតបការអញ្ជើញ"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"កាលវិភាគតាមម៉ោង"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"កាលវិភាគ"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ម៉ <xliff:g id="MINUTES">%2$d</xliff:g> ន"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"កាលវិភាគ"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"អនុញ្ញាត​ការរំខានដែលបញ្ចេញសំឡេង"</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="mode_interruption_filter_title" msgid="6657431939996264417">"ការ​ជូនដំណឹងដែលអាចផ្សាយទៅដល់អ្នក"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"សកម្មភាព​បន្ថែម"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"តម្រងការជូនដំណឹង"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"ការកំណត់ច្រើនទៀត"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{បិទ}=1{បិទ / មុខងារ 1 អាច​បើកដោយស្វ័យប្រវត្តិ}other{បិទ / មុខងារ # អាច​បើកដោយស្វ័យប្រវត្តិ}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"ការកំណត់​ផ្ទាំងអេក្រង់"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"ជម្រើស​ផ្ទាំងអេក្រង់"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"មាត្រដ្ឋានពណ៌​ប្រផេះ"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"បើក​ទម្រង់រចនាងងឹត"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"ប្ដូរប្រព័ន្ធ​ប្រតិបត្តិការ និងកម្មវិធីទៅអក្សរពណ៌ស្រាលដែលចង់ប្រើនៅលើផ្ទៃខាងក្រោយងងឹត ដែលអាចមានភាពងាយស្រួលជាងមុនសម្រាប់ភ្នែក និងជួយសន្សំ​ថ្មបានច្រើននៅលើឧបករណ៍មួយចំនួន"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{មិនមានការផ្លាស់ប្ដូរចំពោះផ្ទាំងអេក្រង់ទេ}=1{{effect_1}}=2{{effect_1} និង {effect_2}}=3{{effect_1}, {effect_2} និង {effect_3}}other{{effect_1}, {effect_2} និង # ទៀត}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"អនុញ្ញាត​ការជូនដំណឹង​ទាំងអស់"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"មនុស្ស កម្មវិធី និងសំឡេងអាច​ផ្អាកបាន"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ជម្រើសបង្ហាញសម្រាប់ការ​ជូនដំណឹងដែលបានត្រង"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"នៅ​ពេល​បើក​មុខងារ​កុំ​រំខាន"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"គ្មានសំឡេង​ពីការជូន​ដំណឹង"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"បើក​ការជូនដំណឹង"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"អនុញ្ញាត​ការផ្អាក​ការជូនដំណឹង"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"ស្លាក​ជូនដំណឹង​នៅលើ​រូបកម្មវិធី"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"កញ្ចប់នៃការ​ជូនដំណឹង"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"ពពុះ"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"ពពុះ"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"បង្ហាញ​ការសន្ទនានេះ​ជាពពុះ"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"វាអាចឆ្លើយតបសារ និងធ្វើសកម្មភាពលើប៊ូតុងនៅក្នុងការជូនដំណឹង រួមទាំងផ្អាក ឬច្រានចោលការជូនដំណឹង និងទទួល​ទូរសព្ទផងដែរ។"</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"ប្ដូរ​ការកំណត់"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"វាអាចបើក ឬបិទមុខងារកុំ​រំខាន និងប្ដូរការកំណត់​ដែលពាក់ព័ន្ធ។"</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"វាអាចគ្រប់គ្រង និងដំណើរការមុខងារ និងផ្លាស់ប្ដូរការកំណត់ដែលពាក់ព័ន្ធ។"</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_modes_warning_summary" msgid="7528432011433844158">"ប្រសិនបើអ្នកបិទការចូលប្រើការជូនដំណឹងសម្រាប់ <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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"ក្នុងពេលជាក់​ស្ដែង"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"កម្មវិធីនេះមិនស្គាល់ការកំណត់ដែលប្រសើរឡើងទេ"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"ការកំណត់ច្រើនទៀត"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"អាចប្រើការកំណត់បានច្រើនទៀតនៅក្នុងកម្មវិធីនេះ"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"ការជូនដំណឹងបត់បែន"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"ប្រើការជូនដំណឹងបត់បែន"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"នៅពេលអ្នកទទួលបានការជូនដំណឹងច្រើនក្នុងរយៈពេលខ្លីមួយ ទូរសព្ទរបស់អ្នកនឹងបន្ថយកម្រិតសំឡេង និងបង្រួមផ្ទាំងលោតឡើងលើអេក្រង់រយៈពេលរហូតដល់ពីរនាទី។ ការហៅទូរសព្ទ ម៉ោងរោទ៍ និងការសន្ទនាអាទិភាពនៅតែញ័រ បន្លឺសំឡេង ឬបង្ហាញឡើងលើអេក្រង់ ហើយងាយស្រួលរកឃើញការជូនដំណឹងទាំងអស់ ពេលអ្នកទាញចុះពីផ្នែកខាងលើនៃអេក្រង់។"</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"ការបន្ថយសំឡេងការជូនដំណឹង"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"ប្រើការបន្ថយសំឡេងការជូនដំណឹង"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"នៅពេលអ្នកទទួលបានការជូនដំណឹងច្រើនក្នុងរយៈពេលខ្លីមួយ ឧបករណ៍របស់អ្នកនឹងបន្ថយកម្រិតសំឡេង និងការជូនដំណឹងរហូតដល់ 2 នាទី។ ការហៅទូរសព្ទ សំឡេងរោទិ៍ និងការសន្ទនាអាទិភាពមិនរងប៉ះពាល់ទេ។ \n\nអ្នកអាចស្វែងរកការជូនដំណឹងដែលបានទទួលក្នុងអំឡុងពេលបន្ថយសំឡេង ដោយទាញពីផ្នែកខាងលើនៃអេក្រង់ចុះក្រោម។"</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"ដាក់ប្រើលើកម្រងព័ត៌មានការងារ"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"ដាក់ប្រើលើកម្មវិធីកម្រងព័ត៌មានការងារ"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"សេវាកម្មជំនួយ VR"</string>
@@ -3650,6 +3709,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"ការចូលប្រើមុខងារ"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"អនុញ្ញាតឱ្យចូលប្រើមុខងារ"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"គ្មានកម្មវិធីដែលបានដំឡើងណាបានស្នើសុំចូលប្រើមុខងារឡើយ"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"អ្នកមិនបានអនុញ្ញាត​ការជូនដំណឹង​ពីកម្មវិធីនេះទេ"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"តាមសំណើ​របស់អ្នក ប្រព័ន្ធ​ប្រតិបត្តិការ Android កំពុង​ទប់ស្កាត់​ប្រភេទនៃការជូនដំណឹង​​នេះ​មិន​ឱ្យ​បង្ហាញ​នៅលើ​ឧបករណ៍​នេះទេ"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"តាមសំណើ​របស់អ្នក ប្រព័ន្ធ​ប្រតិបត្តិការ Android កំពុង​ទប់ស្កាត់​ក្រុមនៃ​ការជូនដំណឹង​នេះ​មិន​ឱ្យ​បង្ហាញ​នៅលើ​ឧបករណ៍​នេះទេ"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"ប្រភេទ"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"ផ្សេងៗ"</string>
     <string name="no_channels" msgid="4716199078612071915">"កម្មវិធី​នេះ​មិន​បាន​បង្ហោះ​ការជូនដំណឹង​ណាមួយ​ឡើយ"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"បង្ហាញប្រភេទដែលមិនប្រើ"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"ការកំណត់បន្ថែមនៅក្នុងកម្មវិធីនេះ"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"បង្ហាញប្រភេទដែលមិនប្រើ"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"លាក់ប្រភេទដែលមិនប្រើ"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"ការសន្ទនា"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"ការសន្ទនា​ទាំងអស់"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"ការសន្ទនា​ទាំងអស់"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"ការសន្ទនា​អាទិភាព"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"ការសន្ទនា​អាទិភាព"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"គ្មាន"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"កម្មវិធី​ដែលអាច​ផ្អាកបាន"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"កម្មវិធីដែលបានជ្រើសរើស"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"គ្មាន"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"ទាំងអស់"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{គ្មាន​កម្មវិធី​ដែលអាចផ្អាក​បានទេ}=1{{app_1} អាច​ផ្អាកបាន}=2{{app_1} និង {app_2} អាចផ្អាកបាន}=3{{app_1}, {app_2} និង {app_3} អាចផ្អាកបាន}other{{app_1}, {app_2} និង # ទៀតអាចផ្អាកបាន}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (ការងារ)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"កំពុងគណនា…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"អនុញ្ញាតឱ្យកម្មវិធី​លុបពីលើ"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"កម្មវិធី​ដែលអាច​ផ្អាកបាន"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"ជ្រើសរើស​កម្មវិធី​ច្រើនទៀត"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"គ្មានអ្វីមួយ​អាចផ្អាក​បានទេ"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"គ្មាន​នរណា​អាចផ្អាក​បានទេ"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"មនុស្ស​មួយចំនួន​អាចផ្អាក​បាន"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"អ្នកហៅទូរសព្ទ​ដដែលៗអាចផ្អាកបាន"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"នរណា​ក៏អាច​ផ្អាក​បានដែរ"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"អ្នកហៅចូលសាជាថ្មី"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"អនុញ្ញាតអ្នក​ហៅ​ដដែលៗ"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{ប្ដូរទៅម៉ោងរោទ៍រយៈពេលតែមួយម៉ោងប៉ុណ្ណោះរហូតដល់ {time}}other{ប្ដូរទៅម៉ោងរោទ៍រយៈពេលតែ # ម៉ោងប៉ុណ្ណោះរហូតដល់ {time}}}"</string>
     <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_action_change_name" msgid="766639614789907016">"ប្ដូរ​ឈ្មោះ"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"ប្ដូរ​រូបតំណាង"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"ប្ដូរ​រូបតំណាង"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"មុខងារកែ"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"បង្កើតមុខងារ"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"មុខងារផ្ទាល់ខ្លួន"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"ឈ្មោះមុខងារ"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"ព្រឹត្តិការណ៍ក្នុង​ប្រតិទិន"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"ទម្លាប់​នៅម៉ោងគេង"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"ពេលកំពុងបើកបរ"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"ការកំណត់កម្មវិធី"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"ព័ត៌មាន និងការកំណត់នៅក្នុង <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"គ្រប់គ្រងដោយ <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"បិទ <xliff:g id="MODE_NAME">%1$s</xliff:g> ឬ?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"មុខងារនេះនឹងមិនបើកឡើយ នៅពេលត្រូវបានបិទ"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"បិទ"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"បើក <xliff:g id="MODE_NAME">%1$s</xliff:g> ឬ?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"មុខងារនេះអាចបើកដោយស្វ័យប្រវត្តិ ដោយផ្អែកលើការកំណត់របស់វា"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"បើក"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"កំណត់មុខងារដែលគោរពតាមកាលវិភាគទៀងទាត់"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"កំណត់មុខងារសម្រាប់ធ្វើសមកាលកម្មជាមួយព្រឹត្តិការណ៍ក្នុងប្រតិទិន និងការឆ្លើយតបចំពោះការអញ្ជើញ"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"រៀបចំទម្លាប់គេងដែលស្ងប់ស្ងាត់។ កំណត់ម៉ោងរោទ៍ បន្ថយពន្លឺអេក្រង់ និងទប់ស្កាត់ការជូនដំណឹង។"</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"ផ្ដល់អាទិភាពដល់សុវត្ថិភាពនៅលើផ្លូវសម្រាប់ការបើកបរដែលផ្ចង់អារម្មណ៍ និងគ្មានការរំខាន"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"ទប់ស្កាត់កត្តារំខាន ឬការរំខានពីឧបករណ៍របស់អ្នក ដើម្បីផ្ចង់អារម្មណ៍"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"បំបាត់គ្រប់កត្តារំខានដើម្បីទទួលបានកន្លែងស្ងប់ស្ងាត់"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"កំណត់បទពិសោធប្រើប្រាស់ និងការកំណត់ឧបករណ៍ឱ្យមានលក្ខណៈផ្ទាល់ខ្លួនសម្រាប់អ្នកប្រើប្រាស់"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"បន្ថយការរំខានឱ្យនៅតិចបំផុត ដោយអនុញ្ញាតឱ្យតែមនុស្ស និងកម្មវិធីសំខាន់ៗទាក់ទងទៅអ្នក"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"កំណត់មុខងារដែលគោរពតាមកាលវិភាគទៀងទាត់"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"រក្សាការធ្វើសកមកាលកម្មឧបករណ៍របស់អ្នកជាមួយព្រឹត្តិការណ៍ប្រចាំថ្ងៃរបស់អ្នក"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"ភ្ញាក់​ពី​គេងមានអារម្មណ៍ល្អបំផុត"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"គិតពី​សុវត្ថិភាព​ជា​ចម្បងពេល​ធ្វើដំណើរ​តាមផ្លូវ"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"ផ្ចង់អារម្មណ៍ឱ្យបានល្អ"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"សម្រាប់ពេលដែលការគោរពត្រូវបានពិចារណា"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"ការប្រើប្រាស់ដោយមានការណែនាំក្នុងការជួយអ្នកឱ្យទទួលបានការមើលថែល្អ"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"គ្រប់គ្រងការយកចិត្តទុកដាក់របស់អ្នក"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"ការព្រមាន"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"បិទ"</string>
     <string name="device_feedback" msgid="5351614458411688608">"ផ្ដល់​មតិ​កែលម្អ​អំពី​ឧបករណ៍​នេះ"</string>
@@ -4006,6 +4102,10 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"អនុញ្ញាតឱ្យចូលប្រើមុខងារសម្រាប់ <xliff:g id="APP">%1$s</xliff:g> ឬ?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"កម្មវិធីនឹងអាចបើក/បិទមុខងារ កុំ​រំខាន គ្រប់គ្រង និងដំណើរការមុខងារ និងធ្វើការផ្លាស់ប្ដូរការកំណត់ដែលពាក់ព័ន្ធ។"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"ដកសិទ្ធិចូលប្រើមុខងារសម្រាប់ <xliff:g id="APP">%1$s</xliff:g> ឬ?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"មុខងារទាំងអស់ដែលបង្កើតឡើងដោយកម្មវិធីនេះនឹងត្រូវបានដកចេញ។"</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"កុំបង្កើនប្រសិទ្ធភាព"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"បង្កើនប្រសិទ្ធភាព"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"អាចស៊ីថ្មលឿនជាងមុន។ កម្មវិធី​នឹងមិន​មានការ​​​ដាក់​កំហិតចំពោះ​ការ​ប្រើប្រាស់​ថ្ម​ផ្ទៃ​ខាងក្រោយ​ទៀតទេ។"</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"ស្រោម"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"ថ្ម"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"ផ្ទាំងការកំណត់"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"បង្ខំ​មុខងារ​អេក្រង់ដើម"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"បង្ខំ​មុខងារ​អេក្រង់​ដើម​សាកល្បង​នៅលើ​អេក្រង់​ទី​ពីរ"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"បើកវិនដូទម្រង់សេរី"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"បើកវិនដូទម្រង់សេរីនៅលើផ្ទាំងអេក្រង់ទីពីរ"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"បើក​កម្មវិធីដែលមិនអាចប្ដូរទំហំបាន​នៅក្នុង​ពហុវិនដូ"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"អនុញ្ញាតឱ្យ​កម្មវិធីដែលមិនអាចប្ដូរទំហំបាន​ស្ថិតនៅក្នុង​ពហុវិនដូ"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"លុបពីលើ​មុខងារបង្ខំ​ឱ្យងងឹត"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"ទិន្នន័យ​ទូរសព្ទចល័ត"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"ដើម្បីកែលម្អបទពិសោធប្រើប្រាស់ឧបករណ៍ កម្មវិធី និង​សេវាកម្ម​នៅតែ​អាច​ស្កេនរក​បណ្តាញ Wi-Fi បានគ្រប់ពេល ទោះបីជានៅពេលបិទ Wi-Fi ក៏ដោយ។ សកម្មភាពនេះអាចត្រូវបានប្រើដើម្បីកែលម្អមុខងារ និងសេវាកម្មដែលផ្អែកលើទីតាំងជាដើម។ អ្នកអាចប្ដូរវាបាននៅក្នុងការកំណត់ការស្កេន Wi‑Fi។"</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"ផ្លាស់ប្ដូរ"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"បានភ្ជាប់"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"បានភ្ជាប់ជាបណ្ដោះអាសន្ន"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"ប្រើ <xliff:g id="SUBNAME">%1$s</xliff:g> ជាបណ្ដោះអាសន្ន"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ប្រើការខ្ទាស់កម្មវិធី"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"ប្រើ​ជម្រើសសម្រាប់អ្នកអភិវឌ្ឍន៍"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"ប្រើសេវាកម្ម​បោះពុម្ព"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"អនុញ្ញាតអ្នកប្រើប្រាស់ច្រើន"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"អនុញ្ញាតឱ្យប្ដូរអ្នកប្រើប្រាស់"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"អនុញ្ញាត, ពហុ, អ្នកប្រើប្រាស់, ផ្ដល់សិទ្ធិ, ច្រើន"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"ពហុ, អ្នកប្រើប្រាស់, កម្រងព័ត៌មាន, មនុស្ស, គណនី, ប្ដូរ, ច្រើន"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ប្រើ​ការជួសជុលដោយឥតខ្សែ"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> ចង់ភ្ជាប់​ជាមួយ​ទូរសព្ទនេះ។\n\nអ្នក​មិនបានភ្ជាប់​ជាមួយ <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> ពីមុនទេ។"</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"កុំភ្ជាប់"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"ភ្ជាប់"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"ការកំណត់ TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"បើក"</string>
-    <string name="tare_off" msgid="6305694402929756726">"បិទ"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"ត្រឡប់ទៅ​ការកំណត់​លំនាំដើមវិញ"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"ការកំណត់​ត្រូវបានត្រឡប់​ទៅលំនាំដើម​វិញ។"</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"សមតុល្យខ្ពស់បំផុតពេលសាកថ្មពេញ"</string>
-    <string name="tare_balances" msgid="731881382594747961">"សមតុល្យ"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"ដែនកំណត់​ការប្រើប្រាស់"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"ដែនកំណត់​ការប្រើប្រាស់​លើកដំបូង"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"ដែនកំណត់នៃការប្រើប្រាស់អប្បបរមា"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"ដែនកំណត់នៃការប្រើប្រាស់អតិបរមា"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"ឧបករណ៍កែសម្រួល"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"សកម្មភាព (ថ្លៃផលិត)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"សកម្មភាព (តម្លៃគោល)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"រង្វាន់សម្រាប់ព្រឹត្តិការណ៍តែមួយ"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"រង្វាន់ក្នុងមួយវិនាទីនៃរយៈពេលព្រឹត្តការណ៍"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"រង្វាន់ជាអតិបរមាក្នុងមួយថ្ងៃ"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"ការដំឡើងកម្មវិធី"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"សកម្មភាព​​លើ​គេ"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"បានឃើញការ​ជូនដំណឹង"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"បានឃើញការ​ជូនដំណឹងក្នុងរយៈពេល 15 នាទី"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"អន្តរកម្មនៃការជូនដំណឹង"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"អន្តរកម្មធាតុក្រាហ្វិក"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"អន្តរកម្មផ្សេងទៀតរបស់អ្នកប្រើប្រាស់"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"ការចាប់ផ្ដើមកិច្ចការអាទិភាពខ្ពស់បំផុត"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"ការដំណើរការកិច្ចការអាទិភាពខ្ពស់បំផុត"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"ការចាប់ផ្ដើមកិច្ចការអាទិភាពខ្ពស់"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"ការដំណើរការកិច្ចការអាទិភាពខ្ពស់"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"ការចាប់ផ្ដើមកិច្ចការលំនាំដើម"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"ការដំណើរការកិច្ចការលំនាំដើម"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"ការចាប់ផ្ដើមកិច្ចការអាទិភាពទាប"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"ការដំណើរការកិច្ចការអាទិភាពទាប"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"ការចាប់ផ្ដើមកិច្ចការអាទិភាពទាបបំផុត"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"ការដំណើរការកិច្ចការអាទិភាពទាបបំផុត"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"ការពិន័យលើកិច្ចការដែលអស់ម៉ោង"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"សមតុល្យទាបបំផុត​ពេលសាកថ្មពេញ (កម្មវិធី​ដែលបាន​លើកលែង)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"សមតុល្យទាបបំផុត​ពេលសាកថ្មពេញ (កម្មវិធី​ប្រព័ន្ធដែល​គ្មានផ្ទៃប៉ះ)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"សមតុល្យទាបបំផុត​ពេលសាកថ្មពេញ (កម្មវិធី​ដែលនៅសល់)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"ការបន្ថែមសមតុល្យទាបបំផុត​ពេលសាកថ្មពេញ (កម្មវិធីដំឡើងកំណែកម្មវិធី)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"កំពុងសាកថ្ម"</item>
-    <item msgid="658627268149681677">"ដូស"</item>
-    <item msgid="1599558140284643834">"មុខងារ​សន្សំថាមពល"</item>
-    <item msgid="588427840913221601">"ស្ថានភាពនៃដំណើរការ"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"បញ្ជាក់"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"មើល​សាកល្បង"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"ជ្រើសរើសធាតុរក្សាអេក្រង់"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"បង្ហាញព័ត៌មានបន្ថែម"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"ជ្រើសរើសអ្វីដែលអ្នកនឹងមើលឃើញនៅលើអេក្រង់របស់អ្នក នៅពេលភ្ជាប់ថេប្លេតរបស់អ្នក។ ឧបករណ៍របស់អ្នកអាចប្រើថាមពលកាន់តែច្រើន នៅពេលប្រើធាតុរក្សាអេក្រង់។"</string>
     <string name="customize_button_title" msgid="1110284655990203359">"ប្ដូរតាមបំណង"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"ប្ដូរ <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> តាម​បំណង"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"តម្រូវឱ្យចាប់ផ្ដើមឡើងវិញ ដើម្បីបើកជំនួយទម្រង់សេរី។"</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"តម្រូវឱ្យចាប់ផ្ដើមឡើងវិញ ដើម្បីបង្ខំមុខងារកុំព្យូទ័រនៅលើផ្ទាំងអេក្រង់បន្ទាប់បន្សំ។"</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"តម្រូវឱ្យចាប់ផ្ដើមឡើងវិញ ដើម្បីបើកជំនួយវិនដូទម្រង់សេរី។"</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"តម្រូវឱ្យ​ចាប់ផ្ដើមឡើងវិញ ដើម្បីធ្វើបច្ចុប្បន្នភាពលទ្ធភាពមានប្រើវិនដូទម្រង់សេរី។"</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"តម្រូវឱ្យ​ចាប់ផ្ដើមឡើងវិញ ដើម្បីបើកវិនដូទម្រង់សេរីនៅលើផ្ទាំងអេក្រង់ទីពីរ។"</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"ចាប់ផ្ដើមឡើងវិញ​ឥឡូវនេះ"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"ចាប់​ផ្ដើម​ឡើង​វិញ​ពេល​ក្រោយ"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"សំឡេងលំហ"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"ក្រហមចាស់"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"ក្រហមស្វាយ"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"ត្របែក​ព្រៃ"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"រួចរាល់"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"រក្សាទុក"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"បោះបង់"</string>
     <string name="contrast_default" msgid="8918545965525226966">"លំនាំដើម"</string>
     <string name="contrast_medium" msgid="384414510709285811">"មធ្យម"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"បើក"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"បិទ"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"បើក"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"សំឡេងខាងឆ្វេង %1$d%% ខាងស្ដាំ %2$d%%"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"សំឡេងខាងស្ដាំ %1$d%% ខាងឆ្វេង %2$d%%"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"កម្មវិធីដែលអ្នកបានដំឡើងអាចមើលឃើញឈ្មោះឧបករណ៍របស់អ្នក។ មនុស្សផ្សេងទៀតក៏អាចមើលឃើញឈ្មោះឧបករណ៍នេះផងដែរ នៅពេលអ្នកភ្ជាប់ទៅឧបករណ៍​ប៊្លូធូស ភ្ជាប់ទៅបណ្ដាញ Wi-Fi ឬរៀបចំហតស្ប៉ត Wi-Fi។"</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"យេនឌ័រតាមវេយ្យាករណ៍"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ជ្រើសរើសយេនឌ័រតាមវេយ្យាករណ៍"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"បានបញ្ឈប់ការស្ដាប់សំឡេងរួមគ្នា"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"ភ្ជាប់ឧបករណ៍ដែលត្រូវគ្នា"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"ដើម្បីចាប់ផ្ដើមចែករំលែកសំឡេង សូមភ្ជាប់កាស LE Audio ទៅកាន់ទូរសព្ទរបស់អ្នក"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"ប្ដូរទៅ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"ភ្ជាប់ទៅកាន់ការចាក់សំឡេងលើអ៊ីនធឺណិត LE"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"ការចាក់សំឡេងលើអ៊ីនធឺណិតដែលនៅជិត"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"ការចាក់សំឡេងលើអ៊ីនធឺណិត"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ស្ដាប់ការចាក់"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"ស្កេនកូដ QR ការចាក់សំឡេងលើអ៊ីនធឺណិត ដើម្បីស្ដាប់ជាមួយ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"មិន​អាច​កែ​ពាក្យ​សម្ងាត់​ពេល​កំពុងស្ដាប់រួមគ្នាបានទេ។ ដើម្បីផ្លាស់ប្ដូរពាក្យសម្ងាត់ សូមបិទការស្ដាប់សំឡេងរួមគ្នាជាមុនសិន។"</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"កម្មវិធី​ស្កេនកូដ QR"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"ត្រូវការ​ជំនួយ​ឬ?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"ស្វែងរកការកំណត់"</string>
 </resources>
diff --git a/res/values-kn/arrays.xml b/res/values-kn/arrays.xml
index c126a92..3487549 100644
--- a/res/values-kn/arrays.xml
+++ b/res/values-kn/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"ಬೆಡ್‌ಟೈಮ್"</item>
-    <item msgid="4152450357280759894">"ಡ್ರೈವಿಂಗ್"</item>
-    <item msgid="7096549258219399423">"ತಲ್ಲೀನಗೊಳಿಸುವ"</item>
-    <item msgid="2760716776980432977">"ನಿರ್ವಹಿಸಿರುವುದು"</item>
-    <item msgid="601734478369121764">"ಸ್ಟಾರ್"</item>
-    <item msgid="6243809315432780521">"ಕ್ಯಾಲೆಂಡರ್"</item>
-    <item msgid="4913577903148415331">"ಸಮಯ"</item>
-    <item msgid="3653377604690057780">"ಥಿಯೇಟರ್"</item>
-    <item msgid="3843711267408385410">"ಹೂವು"</item>
+    <item msgid="1216815120972438676">"ಬ್ರೀಫ್‌ಕೇಸ್"</item>
+    <item msgid="184985872234062767">"ಶಾಸ್ತ್ರೀಯ ಶೈಲಿಯ ಕಟ್ಟಡ"</item>
+    <item msgid="9189550412466785530">"ಅಪಾರ್ಟ್‌ಮೆಂಟ್ ಕಟ್ಟಡ"</item>
+    <item msgid="2142527562511049422">"ಸ್ಪೀಚ್ ಬಬಲ್"</item>
+    <item msgid="2548100558260478605">"ಜನರ ಗುಂಪು"</item>
+    <item msgid="2270003903304578284">"ಲೈಟ್‌ಬಲ್ಬ್"</item>
+    <item msgid="4793496619091161864">"ಕ್ಯಾಲೆಂಡರ್"</item>
+    <item msgid="5673625795644364100">"ಅಡಚಣೆ ಮಾಡಬೇಡಿ"</item>
+    <item msgid="1423820834865831361">"ವ್ಯಕ್ತಿಯೊಬ್ಬರು ಓಡುತ್ತಿರುವುದು"</item>
+    <item msgid="2037298830718732608">"ಗಾಲ್ಫ್"</item>
+    <item msgid="2197835014443491074">"ಜಿಮ್ ಡಂಬೆಲ್"</item>
+    <item msgid="2730180105015616518">"ಈಜು"</item>
+    <item msgid="2666922823253345958">"ವ್ಯಕ್ತಿಯೊಬ್ಬರು ಹೈಕಿಂಗ್ ಮಾಡುತ್ತಿರುವುದು"</item>
+    <item msgid="8234880356472211396">"ವ್ಯಕ್ತಿಯೊಬ್ಬರು ಚೆಂಡನ್ನು ಎಸೆಯುತ್ತಿರುವುದು"</item>
+    <item msgid="4642980625253001443">"ವ್ಯಕ್ತಿಯೊಬ್ಬರು ಒದೆಯುತ್ತಿರುವುದು"</item>
+    <item msgid="4324795269518833500">"ಗೇಮ್ ಕಂಟ್ರೋಲರ್"</item>
+    <item msgid="7789966425125441125">"ಕಲಾವಿದರ ಬಣ್ಣದ ಫಲಕ"</item>
+    <item msgid="663512680597461570">"ಸ್ನೋಫ್ಲೇಕ್"</item>
+    <item msgid="7952183800501346803">"ಬೀಚ್ ಛತ್ರಿಗಳು"</item>
+    <item msgid="799139025758265891">"ಕಾರ್ಯಾಗಾರದ ಟೂಲ್‌ಗಳು"</item>
+    <item msgid="1330084588359129896">"ಟೆಂಟ್"</item>
+    <item msgid="3861584909935022342">"ಫಿಲಂ ರೀಲ್"</item>
+    <item msgid="5827426100157335512">"ಕಾಯ್ದಿರಿಸಿ"</item>
+    <item msgid="8585828346253128384">"ಕಮಲದ ಹೂವು"</item>
+    <item msgid="8788370542815300188">"ವ್ಯಕ್ತಿಯ ಮನಸ್ಸು"</item>
+    <item msgid="7287354964767553293">"ಹೆಡ್‌ಫೋನ್‌ಗಳು"</item>
+    <item msgid="2530059623783800987">"ಟಿವಿ"</item>
+    <item msgid="5307182323469376758">"ರೈಲು"</item>
+    <item msgid="4903790544026923026">"ಕಾರ್"</item>
+    <item msgid="5010405583912314582">"ಫೋರ್ಕ್ ಮತ್ತು ಚಾಕು"</item>
+    <item msgid="8939998598599064900">"ಶಾಪಿಂಗ್ ಕಾರ್ಟ್"</item>
+    <item msgid="3379605903308731893">"ಮಗು"</item>
+    <item msgid="7808668968550293112">"ಪ್ರಾಣಿಯ ಪಂಜ"</item>
+    <item msgid="1000692647524056504">"ಸ್ಟಾರ್ ಬ್ಯಾಡ್ಜ್"</item>
+    <item msgid="8270261073421676502">"ಇಬ್ಬರು ವ್ಯಕ್ತಿಗಳು"</item>
+    <item msgid="5767782819651505460">"ನಕ್ಷತ್ರ"</item>
+    <item msgid="4368451291862729334">"ಹೃದಯ"</item>
+    <item msgid="2613199102208419986">"ಮನೆ"</item>
+    <item msgid="3022279986430275040">"ಅರ್ಧಚಂದ್ರ"</item>
+    <item msgid="5421089790869483206">"ಗಡಿಯಾರ"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 3397fdc..bec8a77 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"ತಡೆಹಿಡಿಯಲಾಗಿದೆ"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"ಅಪರಿಚಿತ"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"ಪೂರ್ವವೀಕ್ಷಣೆ"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR ಕೋಡ್"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"ಚಿಕ್ಕದಾಗಿಸು"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"ದೊಡ್ಡದಾಗಿಸು"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"ಯಾವಾಗಲೂ"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"ಶ್ರವಣ ಸಾಧನದ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"ಶಾರ್ಟ್‌ಕಟ್, ಶ್ರವಣ ಸಾಧನ ಹೊಂದಾಣಿಕೆ"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"ಪ್ರಿಸೆಟ್"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"ನಿಮ್ಮ ಆಡಿಯಾಲಜಿಸ್ಟ್‌ರಿಂದ ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಲಾದ ಯಾವುದೇ ಪ್ರಿಸೆಟ್‌ಗಳಿಲ್ಲ"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"ಪ್ರಿಸೆಟ್ ಅನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"ಆಡಿಯೋ ಔಟ್‌ಪುಟ್"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ಆಡಿಯೋ ಔಟ್‌ಪುಟ್ ಕುರಿತು"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಮೂಲಕ ಈ ಆ್ಯಪ್‌ಗಾಗಿ ಭಾಷೆಯ ಆಯ್ಕೆಯು ಲಭ್ಯವಿಲ್ಲ."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"ಆ್ಯಪ್‌ನಲ್ಲಿ ಲಭ್ಯವಿರುವ ಭಾಷೆಗಳಿಗಿಂತ ಭಾಷೆ ಭಿನ್ನವಾಗಿರಬಹುದು. ಕೆಲವು ಆ್ಯಪ್‌ಗಳು ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಬೆಂಬಲಿಸದಿರಬಹುದು."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"ಪ್ರತಿ ಆ್ಯಪ್‌ಗಾಗಿ ಭಾಷೆಯನ್ನು ಸೆಟ್ ಮಾಡಿ."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"ನಿಮ್ಮ ಸಿಸ್ಟಂ, ಆ್ಯಪ್‌ಗಳು ಮತ್ತು ವೆಬ್‌ಸೈಟ್‌ಗಳು ನಿಮ್ಮ ಆದ್ಯತೆಯ ಭಾಷೆಗಳಿಂದ ಮೊದಲ ಬೆಂಬಲಿತ ಭಾಷೆಯನ್ನು ಬಳಸುತ್ತವೆ."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"ನಿಮ್ಮ ಸಾಧನ, ಆ್ಯಪ್‌ಗಳು ಮತ್ತು ವೆಬ್‌ಸೈಟ್‌ಗಳು ನಿಮ್ಮ ಆದ್ಯತೆಯ ಭಾಷಾ ಪಟ್ಟಿಯಿಂದ ಮೊದಲ ಬೆಂಬಲಿತ ಭಾಷೆಯನ್ನು ಬಳಸುತ್ತವೆ.\n\nಅನೇಕ ಆ್ಯಪ್‌ಗಳು ದಿನಾಂಕಗಳು, ಸಂಖ್ಯೆಗಳು ಮತ್ತು ಘಟಕಗಳನ್ನು ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಲು ನಿಮ್ಮ ಆದ್ಯತೆಯ ಭಾಷೆಯಿಂದ ಪ್ರದೇಶವನ್ನು ಸಹ ಬಳಸುತ್ತವೆ. ನಿಮ್ಮ ಪ್ರದೇಶವನ್ನು ಬದಲಾಯಿಸಲು, ಭಾಷೆಯನ್ನು ಸೇರಿಸಿ, ನಂತರ ನಿಮ್ಮ ಆದ್ಯತೆಯ ಪ್ರದೇಶವನ್ನು ಆಯ್ಕೆಮಾಡಿ."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"ಪ್ರತಿ ಆ್ಯಪ್‌ಗೆ ಭಾಷೆಯನ್ನು ಆಯ್ಕೆಮಾಡಲು, ಆ್ಯಪ್ ಭಾಷೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಹೋಗಿ."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"ಆ್ಯಪ್ ಭಾಷೆಗಳ ಕುರಿತು ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"ಸಿಸ್ಟಂ ಭಾಷೆಯನ್ನು %s ಗೆ ಬದಲಿಸಬೇಕೇ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"ಆಫ್"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{ಆನ್ ಆಗಿದೆ / # ಆ್ಯಪ್ ಸ್ಥಳಕ್ಕೆ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ಹೊಂದಿದೆ}one{ಆನ್ ಆಗಿದೆ / # ಆ್ಯಪ್‌ಗಳು ಸ್ಥಳಕ್ಕೆ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ಹೊಂದಿವೆ}other{ಆನ್ ಆಗಿದೆ / # ಆ್ಯಪ್‌ಗಳು ಸ್ಥಳಕ್ಕೆ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ಹೊಂದಿವೆ}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"ಲೋಡ್ ಆಗುತ್ತಿದೆ…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"ಸಮೀಪದಲ್ಲಿರುವ ಸಾಧನಗಳ ಅನುಮತಿ ಹೊಂದಿರುವ ಆ್ಯಪ್‌ಗಳು ಕನೆಕ್ಟ್ ಮಾಡಿರುವ ಸಾಧನಗಳ ಸಂಬಂಧಿತ ಸ್ಥಾನವನ್ನು ನಿರ್ಧರಿಸಬಹುದು."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"ಸಮೀಪದ ಸಾಧನಗಳ ಅನುಮತಿ ಹೊಂದಿರುವ ಆ್ಯಪ್‌ಗಳು ಕನೆಕ್ಟ್ ಮಾಡಿರುವ ಸಾಧನಗಳ ಸಂಬಂಧಿತ ಸ್ಥಾನವನ್ನು ನಿರ್ಧರಿಸಬಹುದು."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"ಆ್ಯಪ್‌ಗಳು ಮತ್ತು ಸೇವೆಗಳಿಗೆ ಸ್ಥಳ ಪ್ರವೇಶಪಡೆಯುವಿಕೆ ಆಫ್ ಆಗಿದೆ. ನೀವು ತುರ್ತು ಸಂಖ್ಯೆಗೆ ಕರೆ ಮಾಡಿದಾಗ ಅಥವಾ ಪಠ್ಯ ಕಳುಹಿಸಿದಾಗ ನಿಮ್ಮ ಸಾಧನದ ಸ್ಥಳವನ್ನು ತುರ್ತಾಗಿ ಪ್ರತಿಕ್ರಿಯಿಸುವವರಿಗೆ ಕಳುಹಿಸಬಹುದು."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"ಸ್ಥಳ ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಕುರಿತು ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"ಬದಲಾಯಿಸಲು, ChromeOS ಸೆಟ್ಟಿಂಗ್‌ಗಳು &gt; ಗೌಪ್ಯತೆ ಮತ್ತು ಭದ್ರತೆ &gt; ಗೌಪ್ಯತೆ ನಿಯಂತ್ರಣಗಳು &gt; ಸ್ಥಳ ಆ್ಯಕ್ಸೆಸ್ ಎಂಬಲ್ಲಿಗೆ ಹೋಗಿ"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"ಮುಖ ಮತ್ತು <xliff:g id="WATCH">%s</xliff:g> ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"ಮುಖ, ಫಿಂಗರ್‌‍‍‍ಪ್ರಿಂಟ್‌ ಮತ್ತು <xliff:g id="WATCH">%s</xliff:g> ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"ಮುಖ ಮತ್ತು ಫಿಂಗರ್‌‍‍‍ಪ್ರಿಂಟ್‌ಗಳನ್ನು, ಮತ್ತು <xliff:g id="WATCH">%s</xliff:g> ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"ಗುರುತಿನ ಪರಿಶೀಲನೆ ಆನ್ ಆಗಿದೆ ಮತ್ತು ಬಯೋಮೆಟ್ರಿಕ್ ಅಗತ್ಯವಿದೆ"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"ರಿಮೋಟ್ Authenticator ಅನ್‌ಲಾಕ್"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"ವಾಚ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"ನಿಮ್ಮ ವಾಚ್ ಸೆಟಪ್ ಮಾಡಿ"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"ವಾಚ್ ಅನ್‌ಲಾಕ್ ಕುರಿತು ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"ವಾಚ್ ಅನ್ನು ಸೇರಿಸಿ"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"ವಾಚ್ ಅನ್ನು ತೆಗೆದುಹಾಕಿ"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಮತ್ತು ಫೇಸ್ ಅನ್‌ಲಾಕ್"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ಫೇಸ್ ಮತ್ತು ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"ಕೆಲಸಕ್ಕಾಗಿ ಫೇಸ್ ಮತ್ತು ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ಸೆಟಪ್ ಅಗತ್ಯವಿದೆ"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"ಫೇಸ್ ಮತ್ತು ಫಿಂಗರ್‌‍‍‍ಪ್ರಿಂಟ್‌ಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"ಪುನಃ ಪ್ರಯತ್ನಿಸಿ"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"ನಿರ್ಗಮಿಸಿ"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಲಭ್ಯವಿಲ್ಲ.\nಸಂಭವನೀಯ ಕಾರಣಗಳನ್ನು ವೀಕ್ಷಿಸಿ"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"ಸಂಭವನೀಯ ಕಾರಣಗಳನ್ನು ವೀಕ್ಷಿಸಿ"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್‌ಗಾಗಿ ಹೊಸ ಲಾಕ್ ಆಯ್ಕೆಮಾಡಬೇಕೇ?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"ನೀವು ಕೇವಲ ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್‌ಗಾಗಿ ಹೊಸ ಲಾಕ್ ಅನ್ನು ಸೆಟ್ ಮಾಡಬಹುದು ಅಥವಾ ನಿಮ್ಮ ಸಾಧನವನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಲು ನೀವು ಬಳಸುವ ಅದೇ ಲಾಕ್ ಅನ್ನು ಬಳಸಬಹುದು"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"ಸ್ಕ್ರೀನ್ ಲಾಕ್ ಅನ್ನು ಬಳಸಿ"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ಬ್ಲೂಟೂತ್ ಆನ್‌ ಮಾಡಿದ ನಂತರ, ನಿಮ್ಮ ಬ್ಲೂಟೂತ್ ಸಾಧನವು ಸಮೀಪದ ಸಾಧನಗಳ ಜೊತೆ ಸಂವಹನ ಮಾಡಬಹುದು. \n\nಸಾಧನದ ಅನುಭವವನ್ನು ಸುಧಾರಿಸಲು, ಬ್ಲೂಟೂತ್‌ ಆಫ್‌ ಆಗಿದ್ದರೂ ಸಹ, ಯಾವ ಸಮಯದಲ್ಲಾದರೂ ಸಮೀಪದ ಸಾಧನಗಳಿಗೆ ಸ್ಕ್ಯಾನ್‌ ಮಾಡಲು ಆ್ಯಪ್‌ಗಳು ಮತ್ತು ಸೇವೆಗಳಿಗೆ ಅನುಮತಿ ನೀಡಿ. ಉದಾಹರಣೆಗೆ, ಸ್ಥಳ ಆಧಾರಿತ ಫೀಚರ್‌ಗಳು ಮತ್ತು ಸೇವೆಗಳನ್ನು ಸುಧಾರಿಸಲು ಇದನ್ನು ಬಳಸಬಹುದಾಗಿದೆ. ನೀವು ಇದನ್ನು ಸ್ಕ್ಯಾನಿಂಗ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಬದಲಾಯಿಸಬಹುದು."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"ಬ್ಲೂಟೂತ್ ಆನ್ ಆಗಿರುವಾಗ, ನಿಮ್ಮ ಸಾಧನವು ಸಮೀಪದ ಇತರ ಬ್ಲೂಟೂತ್ ಸಾಧನಗಳ ಜೊತೆಗೆ ಸಂವಹನ ಮಾಡಬಹುದು. ಕ್ವಿಕ್ ಶೇರ್ ಮತ್ತು Find My Device ನಂತಹ ಫೀಚರ್‌ಗಳು ಬ್ಲೂಟೂತ್ ಅನ್ನು ಬಳಸುತ್ತವೆ.\n\nಬ್ಲೂಟೂತ್ ಆಫ್ ಆಗಿರುವಾಗಲೂ ಸಹ ಆ್ಯಪ್‌ಗಳು ಮತ್ತು ಸೇವೆಗಳು ಹತ್ತಿರದ ಸಾಧನಗಳನ್ನು ಯಾವಾಗ ಬೇಕಾದರೂ ಸ್ಕ್ಯಾನ್ ಮಾಡಬಹುದು. ಉದಾಹರಣೆಗೆ, ಸ್ಥಳ-ಆಧಾರಿತ ಫೀಚರ್‌ಗಳು ಮತ್ತು ಸೇವೆಗಳನ್ನು ಸುಧಾರಿಸಲು ಇದನ್ನು ಬಳಸಬಹುದು. ನೀವು ಇದನ್ನು ಬ್ಲೂಟೂತ್ ಸ್ಕ್ಯಾನಿಂಗ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಬದಲಾಯಿಸಬಹುದು."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"ಬದಲಾಯಿಸಿ"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ಕನೆಕ್ಟ್ ಆಗಿಲ್ಲ"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"ನಿಮ್ಮ ಭದ್ರತೆಗಾಗಿ, ಈ ಸಾಧನವನ್ನು ಮರೆತುಬಿಡಿ, ನಂತರ ಅದನ್ನು ಮತ್ತೆ ಪೇರ್ ಮಾಡಿ"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"ಸಾಧನವನ್ನು ಮರೆತುಬಿಡಿ"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"ರದ್ದುಮಾಡಿ"</string>
     <string name="device_details_title" msgid="1155622417516195481">"ಸಾಧನದ ವಿವರಗಳು"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"ಕೀಬೋರ್ಡ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"ಇನ್ನಷ್ಟು ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"ಫರ್ಮ್‌‌ವೇರ್‌‌ ಅಪ್‌ಡೇಟ್, ಕುರಿತಾದವುಗಳು ಹಾಗೂ ಇನ್ನಷ್ಟು"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"ಸಲಹೆಗಳು &amp; ಬೆಂಬಲ"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"ಸಾಧನದ ಬ್ಲೂಟೂತ್ ವಿಳಾಸ: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"ಸಾಧನದ ಬ್ಲೂಟೂತ್ ವಿಳಾಸ:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"ಸಾಧನವನ್ನು ಮರೆತಿದ್ದೀರಾ?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"ಪ್ರಾಯೋಗಿಕ. ಆಡಿಯೋ ಗುಣಮಟ್ಟ ಸುಧಾರಿಸುತ್ತದೆ."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"ಸಾಧನವನ್ನು ಮರೆತುಬಿಡಿ"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"ಆ್ಯಪ್ ಅನ್ನು ಡಿಸ್‌ಕನೆಕ್ಟ್ ಮಾಡಿ"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"ಇನ್ನಷ್ಟು ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"ಗರಿಷ್ಠ ಸಂಪರ್ಕಿತ ಬ್ಲೂಟೂತ್ ಆಡಿಯೋ ಸಾಧನಗಳು"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"ಸಂಪರ್ಕಿತ ಬ್ಲೂಟೂತ್ ಆಡಿಯೋ ಸಾಧನಗಳ ಗರಿಷ್ಠ ಸಂಖ್ಯೆಯನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC ವರ್ಬೋಸ್ ವೆಂಡರ್ ಡೀಬಗ್ ಲಾಗ್"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"ಸಾಧನವನ್ನು ಮರುಪ್ರಾರಂಭಿಸಬೇಕೆ?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"ವಿವರವಾದ NFC ಲಾಗಿಂಗ್ ಅನ್ನು ಅಭಿವೃದ್ಧಿ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಮಾತ್ರ ಉದ್ದೇಶಿಸಲಾಗಿದೆ. ದೋಷ ವರದಿಗಳು ಹೆಚ್ಚುವರಿ NFC ಡೇಟಾವನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ, ಅದು ಖಾಸಗಿ ಮಾಹಿತಿಯನ್ನು ಹೊಂದಿರಬಹುದು. ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಬದಲಾಯಿಸಲು, ನಿಮ್ಮ ಸಾಧನವನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"ಮರುಪ್ರಾರಂಭಿಸಿ"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"ಆನ್ ಆಗಿದೆ"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"ಆಫ್ ಆಗಿದೆ"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"ಬಾಹ್ಯ ಡಿಸ್‌ಪ್ಲೇ"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"ಬಾಹ್ಯ ಡಿಸ್‌ಪ್ಲೇ ಬಳಸಿ"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"ಡಿಸ್‌ಪ್ಲೇ ರೆಸಲ್ಯೂಷನ್"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"ಬಾಹ್ಯ ಡಿಸ್‌ಪ್ಲೇ ಕನೆಕ್ಷನ್ ಕಡಿತಗೊಂಡಿದೆ"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"ತಿರುಗುವಿಕೆ"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"ಪ್ರಮಾಣಿತ"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"ತಿರುಗುವಿಕೆ ಅಥವಾ ರೆಸಲ್ಯೂಶನ್ ಅನ್ನು ಬದಲಾಯಿಸುವುದರಿಂದ ಪ್ರಸ್ತುತ ಚಾಲನೆಯಲ್ಲಿರುವ ಯಾವುದೇ ಆ್ಯಪ್‌ಗಳನ್ನು ನಿಲ್ಲಿಸಬಹುದು"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"ನಿಮ್ಮ ಸ್ಕ್ರೀನ್ ಅನ್ನು ಪ್ರತಿಬಿಂಬಿಸಲು ನಿಮ್ಮ ಸಾಧನವನ್ನು ಬಾಹ್ಯ ಡಿಸ್‌ಪ್ಲೇಗೆ ಕನೆಕ್ಟ್ ಮಾಡಬೇಕು"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"ಇನ್ನಷ್ಟು ಆಯ್ಕೆಗಳು"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"ಕ್ಯಾಸ್ಟ್ ಮಾಡುವಿಕೆ"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"ಕನ್ನಡಿ"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"ವೈರ್‌ಲೆಸ್ ಪ್ರದರ್ಶನ ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"ಅಡಾಪ್ಟಿವ್"</string>
     <string name="brightness" msgid="6216871641021779698">"ಪ್ರಖರತೆಯ ಮಟ್ಟ"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"ಅಡಾಪ್ಟಿವ್‌ ಪ್ರಖರತೆ"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"ಅಡಾಪ್ಟಿವ್ ಬ್ರೈಟ್‌ನೆಸ್ ಕುರಿತು"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"ನಿಮ್ಮ ಸ್ಕ್ರೀನ್‌ನ ಪ್ರಖರತೆಯು ನಿಮ್ಮ ಪರಿಸರ ಮತ್ತು ಚಟುವಟಿಕೆಗಳಿಗೆ ಅನುಗುಣವಾಗಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅಡ್ಜಸ್ಟ್ ಆಗುತ್ತದೆ. ನಿಮ್ಮ ಆದ್ಯತೆಗಳನ್ನು ತಿಳಿದುಕೊಳ್ಳಲು ಅಡಾಪ್ಟಿವ್ ಪ್ರಖರತೆಗೆ ಸಹಾಯ ಮಾಡಲು ನೀವು ಹಸ್ತಚಾಲಿತವಾಗಿ ಸ್ಲೈಡರ್ ಅನ್ನು ಸರಿಸಬಹುದು."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"ಆನ್"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"ಆಫ್"</string>
@@ -1311,8 +1340,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="8850185380445309835">"ಆದ್ಯತೆಯ SIM ಅನ್ನು ಅಪ್‌ಡೇಟ್‌ ಮಾಡಬೇಕೆ?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ <xliff:g id="NEW_SIM">%1$s</xliff:g> ಸಿಮ್‌ ಮಾತ್ರ ಇದೆ. ಮೊಬೈಲ್ ಡೇಟಾ, ಕರೆಗಳು ಮತ್ತು ಎಸ್‌ಎಂಎಸ್ ಸಂದೇಶಗಳಿಗೆ ನೀವು ಈ ಸಿಮ್‌‌ ಬಳಸಲು ಬಯಸುತ್ತೀರಾ?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> ಈಗ ನಿಮ್ಮ ಪ್ರಾಥಮಿಕ SIM ಆಗಿದೆ"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"ಮೊಬೈಲ್ ಡೇಟಾ ಕವರೇಜ್ ಸುಧಾರಿಸಬೇಕೆ?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"ನಿಮ್ಮ ಸಾಧನವು ಉತ್ತಮ ಲಭ್ಯತೆಯನ್ನು ಹೊಂದಿರುವಾಗ ಮೊಬೈಲ್ ಡೇಟಾಗಾಗಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> ಗೆ ಬದಲಾಯಿಸಲು ಅನುಮತಿಸಿ."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"ಕರೆಗಳು, ಸಂದೇಶಗಳು ಮತ್ತು ನೆಟ್‌ವರ್ಕ್ ಟ್ರಾಫಿಕ್ ನಿಮ್ಮ ಸಂಸ್ಥೆಗೆ ಗೋಚರಿಸಬಹುದು."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"ಆಯ್ಕೆಗಳು"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"ಭೌತಿಕ ಕೀಬೋರ್ಡ್‌"</string>
-    <string name="show_ime" msgid="4334255501724746849">"ಆನ್-ಸ್ಕ್ರೀನ್ ಕೀಬೋರ್ಡ್ ಬಳಸಿ"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"ಭೌತಿಕ ಕೀಬೋರ್ಡ್ ಸಕ್ರಿಯವಾಗಿರುವಾಗ ಅದನ್ನು ಪರದೆಯ ಮೇಲೆ ಇರಿಸಿಕೊಳ್ಳಿ"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"ಬೌನ್ಸ್ ಕೀಗಳು"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ಮಿ.ಸೆ. ಒಳಗೆ ಒಂದೇ ಕೀಯ ಪುನರಾವರ್ತಿತ ಒತ್ತುವಿಕೆಗಳನ್ನು ಕೀಬೋರ್ಡ್ ತ್ವರಿತವಾಗಿ ನಿರ್ಲಕ್ಷಿಸುತ್ತದೆ"</string>
     <string name="slow_keys" msgid="2891452895499690837">"ಸ್ಲೋ ಕೀಗಳು"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"<xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ಮಿ.ಸೆ. ಗೆ ಸಕ್ರಿಯಗೊಳಿಸಲು ಕೀ ಒತ್ತುವಿಕೆಗೆ ಇದು ತೆಗೆದುಕೊಳ್ಳುವ ಸಮಯವನ್ನು ಹೊಂದಿಸುತ್ತದೆ"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"ಸ್ಟಿಕಿ ಕೀಗಳು"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"ಕೀಗಳನ್ನು ಜೊತೆಯಾಗಿ ಕೆಳಗೆ ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುವ ಬದಲಾಗಿ ಶಾರ್ಟ್‌ಕಟ್‌ಗಳಿಗಾಗಿ ಒಂದು ಬಾರಿ ಒಂದು ಕೀ ಅನ್ನು ಒತ್ತಿ"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"ಮೌಸ್ ಕೀಗಳು"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"ಮೌಸ್ ಅನ್ನು ನಿಯಂತ್ರಿಸಲು ಭೌತಿಕ ಕೀಬೋರ್ಡ್ ಬಳಸಿ."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"ಕೀಬೋರ್ಡ್ ಶಾರ್ಟ್‌ಕಟ್‌ಗಳು"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"ಶಾರ್ಟ್‌ಕಟ್‌ಗಳ ಪಟ್ಟಿಯನ್ನು ತೋರಿಸಿ"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್ ಕೀಬೋರ್ಡ್‌ಗಳು ಮತ್ತು ಉಪಕರಣಗಳು"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"ವೈಯಕ್ತಿಕ ಟಚ್‌ಪ್ಯಾಡ್ ನ್ಯಾವಿಗೇಷನ್ ಗೆಸ್ಚರ್‌ಗಳನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಿ"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"ಹಿಮ್ಮುಖ ಸ್ಕ್ರಾಲ್ ಮಾಡುವಿಕೆ"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"ನೀವು ಕೆಳಗೆ ಸ್ಕ್ರಾಲ್ ಮಾಡಿದಾಗ ವಿಷಯವು ಮೇಲಕ್ಕೆ ಸರಿಯುತ್ತದೆ"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"ಕೆಳಗಿನ ಬಲಕ್ಕೆ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"ಇನ್ನಷ್ಟು ಆಯ್ಕೆಗೆ ಟಚ್‌ಪ್ಯಾಡ್‌ನ ಕೆಳ ಬಲ ಮೂಲೆಯನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"ಕೆಳಗಿನ-ಬಲಭಾಗದ ಕ್ಲಿಕ್"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"ಇನ್ನಷ್ಟು ಆಯ್ಕೆಗೆ ಟಚ್‌ಪ್ಯಾಡ್‌ನ ಕೆಳ ಬಲ ಮೂಲೆಯನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"ಪಾಯಿಂಟರ್ ವೇಗ"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"ಪಾಯಿಂಟರ್ ಫಿಲ್ ಶೈಲಿ"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"ಬ್ಲಾಕ್‌ಗೆ ಪಾಯಿಂಟರ್ ಫಿಲ್ ಶೈಲಿ ಬದಲಿಸಿ"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"ಹಳದಿಗೆ ಪಾಯಿಂಟರ್ ಫಿಲ್ ಶೈಲಿ ಬದಲಿಸಿ"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"ಪಿಂಕ್‌ಗೆ ಪಾಯಿಂಟರ್ ಫಿಲ್ ಶೈಲಿ ಬದಲಿಸಿ"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"ನೀಲಿಗೆ ಪಾಯಿಂಟರ್ ಫಿಲ್ ಶೈಲಿ ಬದಲಿಸಿ"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"ಪಾಯಿಂಟರ್ ಸ್ಟ್ರೋಕ್ ಶೈಲಿ"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"ಬಿಳಿ"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"ಕಪ್ಪು"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"ಯಾವುದೂ ಇಲ್ಲ"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"ಟಚ್‌ಪ್ಯಾಡ್ ಗೆಸ್ಚರ್‌ಗಳನ್ನು ಕಲಿಯಿರಿ"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"ಟ್ರ್ಯಾಕ್‌ಪ್ಯಾಡ್, ಟ್ರ್ಯಾಕ್ ಪ್ಯಾಡ್, ಮೌಸ್, ಕರ್ಸರ್, ಸ್ಕ್ರಾಲ್, ಸ್ವೈಪ್, ಬಲ-ಕ್ಲಿಕ್, ಕ್ಲಿಕ್, ಪಾಯಿಂಟರ್"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"ಬಲ ಕ್ಲಿಕ್, ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"ರೀಸೆಟ್ ಮಾಡಿ"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"ಮಾರ್ಪಡಿಸುವ ಕೀ ಆಯ್ಕೆಮಾಡಿ"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> ಗಾಗಿ ಹೊಸ ಕೀ ಆಯ್ಕೆಮಾಡಿ:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"ಭೌತಿಕ ಕೀಬೋರ್ಡ್ ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"ಸ್ಟಿಕಿ ಕೀಗಳು, ಬೌನ್ಸ್ ಕೀಗಳು, ಮೌಸ್ ಕೀಗಳು"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> ಲೇಔಟ್"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ಡಿಫಾಲ್ಟ್"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"ಆಟೋಮೆಟಿಕ್: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"ಬಳಕೆದಾರರು ಆಯ್ಕೆಮಾಡಿರುವುದು: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"ಧ್ವನಿ"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"ಪಾಯಿಂಟರ್ ವೇಗ"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"ಪಾಯಿಂಟರ್ ಸ್ಕೇಲ್"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"ಪಾಯಿಂಟರ್ ಸ್ಕೇಲ್ ಕಡಿಮೆ ಮಾಡಿ"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"ಪಾಯಿಂಟರ್ ಸ್ಕೇಲ್ ಹೆಚ್ಚಿಸಿ"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"ಆಟ ನಿಯಂತ್ರಕ"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"ಕಂಪನವನ್ನು ಮರುನಿರ್ದೇಶಿಸಿ"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"ಸಂಪರ್ಕಗೊಂಡಾಗ ಆಟ ನಿಯಂತ್ರಕಕ್ಕೆ ಕಂಪನವನ್ನು ಕಳುಹಿಸಿ"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"ಹೇಗಾದರೂ ಮುಂದುವರಿಸಿ"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"ರದ್ದುಮಾಡಿ"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"ಹಿಗ್ಗಿಸುವಿಕೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"ಒಂದು ಬೆರಳಿನ ಪ್ಯಾನಿಂಗ್"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"1 ಬೆರಳಿನಿಂದ ಮ್ಯಾಗ್ನಿಫೈಯರ್ ಅನ್ನು ಸರಿಸಿ"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"ಸ್ಕ್ರೀನ್‌ನ ಮೇಲೆ ಸರಿಸಲು 1 ಬೆರಳನ್ನು ಡ್ರ್ಯಾಗ್ ಮಾಡಿ"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"ಒಂದು ಬೆರಳಿನಿಂದ ಡ್ರ್ಯಾಗ್ ಮಾಡುವ ಮೂಲಕ ಹಿಗ್ಗಿಸುವಿಕೆಯ ಪ್ರದೇಶವನ್ನು ಸರಿಸಿ."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"ಎರಡು ಬೆರಳುಗಳಿಂದ ಡ್ರ್ಯಾಗ್ ಮಾಡುವ ಮೂಲಕ ಹಿಗ್ಗಿಸುವಿಕೆಯ ಪ್ರದೇಶವನ್ನು ಸರಿಸಿ."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"ಸ್ಕ್ರೀನ್‌ನ ಭಾಗವನ್ನು ಹಿಗ್ಗಿಸುವಾಗ ಮಾತ್ರ ಲಭ್ಯವಿರುವುದಿಲ್ಲ"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ಝೂಮ್ ಮಾಡಲು ಒಂದು ಬಟನ್ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"ವಿಷಯವು ದೊಡ್ಡದಾಗಿ ಕಾಣಿಸಲು ಸ್ಕ್ರೀನ್ ಮೇಲೆ ತ್ವರಿತವಾಗಿ ಝೂಮ್ ಇನ್ ಮಾಡಿ"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;ಝೂಮ್ ಇನ್ ಮಾಡಲು:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ಹಿಗ್ಗಿಸುವಿಕೆಯನ್ನು ಪ್ರಾರಂಭಿಸಲು ಶಾರ್ಟ್‌ಕಟ್ ಬಳಸಿ&lt;br/&gt; {1,number,integer}. ಸ್ಕ್ರೀನ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ&lt;br/&gt; {2,number,integer}. ಸ್ಕ್ರೀನ್‌ನ ಮೇಲೆ ಸರಿಸಲು 2 ಬೆರಳುಗಳಿಂದ ಡ್ರ್ಯಾಗ್ ಮಾಡಿ&lt;br/&gt; {3,number,integer}. ಝೂಮ್ ಹೊಂದಿಸಲು 2 ಬೆರಳುಗಳಿಂದ ಪಿಂಚ್ ಮಾಡಿ&lt;br/&gt; {4,number,integer}. ಹಿಗ್ಗಿಸುವಿಕೆಯನ್ನು ನಿಲ್ಲಿಸಲು ಶಾರ್ಟ್‌ಕಟ್ ಬಳಸಿ&lt;br/&gt;&lt;br/&gt; &lt;b&gt;ತಾತ್ಕಾಲಿಕವಾಗಿ ಝೂಮ್ ಇನ್ ಮಾಡಲು:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ನಿಮ್ಮ ಹಿಗ್ಗಿಸುವಿಕೆಯ ವಿಧಾನವು ಫುಲ್‌ಸ್ಕ್ರೀನ್‌ಗೆ ಸೆಟ್ ಆಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ&lt;br/&gt; {1,number,integer}. ಹಿಗ್ಗಿಸುವಿಕೆಯನ್ನು ಪ್ರಾರಂಭಿಸಲು ಶಾರ್ಟ್‌ಕಟ್ ಬಳಸಿ&lt;br/&gt; {2,number,integer}. ಸ್ಕ್ರೀನ್‌ನ ಯಾವುದೇ ಭಾಗದಲ್ಲಿ ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಒತ್ತಿಹಿಡಿಯಿರಿ&lt;br/&gt; {3,number,integer}. ಸ್ಕ್ರೀನ್‌ನ ಮೇಲೆ ಸರಿಸಲು ಬೆರಳನ್ನು ಡ್ರ್ಯಾಗ್ ಮಾಡಿ&lt;br/&gt; {4,number,integer}. ಹಿಗ್ಗಿಸುವಿಕೆಯನ್ನು ನಿಲ್ಲಿಸಲು ಬೆರಳನ್ನು ಮೇಲಕ್ಕೆತ್ತಿ"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;ಝೂಮ್ ಇನ್ ಮಾಡಲು:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ಹಿಗ್ಗಿಸುವಿಕೆಯನ್ನು ಪ್ರಾರಂಭಿಸಲು ಶಾರ್ಟ್‌ಕಟ್ ಬಳಸಿ&lt;br/&gt; {1,number,integer}. ಸ್ಕ್ರೀನ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ&lt;br/&gt; {2,number,integer}. ಸ್ಕ್ರೀನ್‌ನ ಮೇಲೆ ಸರಿಸಲು 2 ಬೆರಳುಗಳಿಂದ ಡ್ರ್ಯಾಗ್ ಮಾಡಿ&lt;br/&gt; {3,number,integer}. ಝೂಮ್ ಹೊಂದಿಸಲು 2 ಬೆರಳುಗಳಿಂದ ಪಿಂಚ್ ಮಾಡಿ&lt;br/&gt; {4,number,integer}. ಹಿಗ್ಗಿಸುವಿಕೆಯನ್ನು ನಿಲ್ಲಿಸಲು ಶಾರ್ಟ್‌ಕಟ್ ಬಳಸಿ&lt;br/&gt;&lt;br/&gt; ನೀವು ತಾತ್ಕಾಲಿಕವಾಗಿ ಝೂಮ್‌ ಇನ್‌ ಹಾಗೂ ಇನ್ನಷ್ಟು ಮಾಡಬಹುದು."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;ಝೂಮ್ ಇನ್ ಮಾಡಲು:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ಹಿಗ್ಗಿಸುವಿಕೆಯನ್ನು ಪ್ರಾರಂಭಿಸಲು ಶಾರ್ಟ್‌ಕಟ್ ಬಳಸಿ&lt;br/&gt; {1,number,integer}. ಸ್ಕ್ರೀನ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ&lt;br/&gt; {2,number,integer}. ಸ್ಕ್ರೀನ್‌ನ ಮೇಲೆ ಸರಿಸಲು 1 ಅಥವಾ 2 ಬೆರಳುಗಳಿಂದ ಡ್ರ್ಯಾಗ್ ಮಾಡಿ&lt;br/&gt; {3,number,integer}. ಝೂಮ್ ಹೊಂದಿಸಲು 2 ಬೆರಳುಗಳಿಂದ ಪಿಂಚ್ ಮಾಡಿ&lt;br/&gt; {4,number,integer}. ಹಿಗ್ಗಿಸುವಿಕೆಯನ್ನು ನಿಲ್ಲಿಸಲು ಶಾರ್ಟ್‌ಕಟ್ ಬಳಸಿ&lt;br/&gt;&lt;br/&gt; ನೀವು ತಾತ್ಕಾಲಿಕವಾಗಿ ಝೂಮ್‌ ಇನ್‌ ಹಾಗೂ ಇನ್ನಷ್ಟು ಮಾಡಬಹುದು."</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_pager" msgid="8461939455728454061">"ಪುಟ <xliff:g id="NUM_PAGES">%2$d</xliff:g> ರಲ್ಲಿ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಬಟನ್ ಶಾರ್ಟ್‌ಕಟ್"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"ಫ್ಲೋಟಿಂಗ್ ಬಟನ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಗೆಸ್ಚರ್"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"ನಿಮ್ಮ ಸ್ಕ್ರೀನ್‌ನ ಕೆಳಭಾಗದಲ್ಲಿರುವ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಬಟನ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ. ಫೀಚರ್‌ಗಳ ನಡುವೆ ಬದಲಿಸಲು, ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಬಟನ್ ಅನ್ನು ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಹೋಲ್ಡ್‌ ಮಾಡಿ."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"2 ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಸ್ಕ್ರೀನ್‌ನ ಕೆಳಭಾಗದಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ.\n\nಒಂದು ಫೀಚರ್‌ನಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ಹೋಗಲು, 2 ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಮತ್ತು ಹೋಲ್ಡ್‌ ಮಾಡಿ."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"3 ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಸ್ಕ್ರೀನ್ ಕೆಳಭಾಗದಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ.\n\nವೈಶಿಷ್ಟ್ಯಗಳ ನಡುವೆ ಬದಲಿಸಲು, 3 ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಮತ್ತು ಹೋಲ್ಡ್‌ ಮಾಡಿ."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{ನಿಮ್ಮ ಸ್ಕ್ರೀನ್‌ನ ಕೆಳಗಿನಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ. ಫೀಚರ್‌ಗಳ ನಡುವೆ ಬದಲಿಸಲು, ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಮತ್ತು ಹೋಲ್ಡ್ ಮಾಡಿ.}one{ನಿಮ್ಮ ಸ್ಕ್ರೀನ್‌ನ ಕೆಳಗಿನಿಂದ # ಬೆರಳುಗಳಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ. ಫೀಚರ್‌ಗಳ ನಡುವೆ ಬದಲಿಸಲು, # ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಮತ್ತು ಹೋಲ್ಡ್ ಮಾಡಿ.}other{ನಿಮ್ಮ ಸ್ಕ್ರೀನ್‌ನ ಕೆಳಗಿನಿಂದ # ಬೆರಳುಗಳಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ. ಫೀಚರ್‌ಗಳ ನಡುವೆ ಬದಲಿಸಲು, # ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಮತ್ತು ಹೋಲ್ಡ್ ಮಾಡಿ.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"ಇನ್ನಷ್ಟು ಆಯ್ಕೆಗಳು"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"<xliff:g id="SERVICE">%1$s</xliff:g> ಕುರಿತು ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"ವಾಲ್ಯೂಮ್ ಕೀಗಳು"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"ವಾಲ್ಯೂಮ್ ಕೀಗಳು"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"ಎರಡೂ ವಾಲ್ಯೂಮ್ ಕೀಗಳನ್ನು ಒತ್ತಿ ಹಿಡಿದುಕೊಳ್ಳಿ"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"ಎರಡು ಬೆರಳಿನ ಡಬಲ್-ಟ್ಯಾಪ್ ಸ್ಕ್ರೀನ್"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d-ಬೆರಳಿನ ಡಬಲ್ ಟ್ಯಾಪ್"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"%1$d ಬೆರಳುಗಳಿಂದ ಪರದೆಯನ್ನು ಎರಡು ಬಾರಿ ತ್ವರಿತವಾಗಿ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"ಟ್ರಿಪಲ್ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"ಪರದೆಯನ್ನು %1$d ಬಾರಿ ತ್ವರಿತವಾಗಿ ಟ್ಯಾಪ್ ಮಾಡಿ. ಇದು ನಿಮ್ಮ ಸಾಧನವನ್ನು ನಿಧಾನಗೊಳಿಸಬಹುದು."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d-ಬೆರಳಿನ ಡಬಲ್ ಟ್ಯಾಪ್"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"ಎರಡು ಬೆರಳುಗಳಿಂದ ಸ್ಕ್ರೀನ್ ಅನ್ನು {0,number,integer} ಬಾರಿ ತ್ವರಿತವಾಗಿ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"ಸ್ಕ್ರೀನ್ ಮೇಲೆ ಮೂರು ಬಾರಿ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"ಟ್ರಿಪಲ್ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"ಸ್ಕ್ರೀನ್‌ನ ಮೇಲೆ {0,number,integer} ಸಲ ತ್ವರಿತವಾಗಿ ಟ್ಯಾಪ್ ಮಾಡಿ. ಈ ಶಾರ್ಟ್‌ಕಟ್, ನಿಮ್ಮ ಸಾಧನವನ್ನು ನಿಧಾನಗೊಳಿಸಬಹುದು"</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_global_gesture_preference_title" msgid="8866765674372344850">"ವಾಲ್ಯೂಮ್ ಕೀಗಳ ಶಾರ್ಟ್‌ಕಟ್"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"ಶಾರ್ಟ್‌ಕಟ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"ಲಾಕ್‌ಸ್ಕ್ರೀನ್‌ನ ಶಾರ್ಟ್‌ಕಟ್"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"ಲಾಕ್ ಸ್ಕ್ರೀನ್‌ನಿಂದ ವಾಲ್ಯೂಮ್ ಕೀಗಳ ಶಾರ್ಟ್‌ಕಟ್"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"ಲಾಕ್ ಸ್ಕ್ರೀನ್‌ನಿಂದ ಆನ್ ಮಾಡಲು, ಫೀಚರ್ ಶಾರ್ಟ್‌ಕಟ್ ಅನ್ನು ಅನುಮತಿಸಿ. ಎರಡೂ ವಾಲ್ಯೂಮ್ ಕೀಗಳನ್ನು ಕೆಲವು ಸೆಕೆಂಡುಗಳ ಕಾಲ ಹಿಡಿದುಕೊಳ್ಳಿ."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಬಟನ್"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಬಟನ್ ಮತ್ತು ಗೆಸ್ಚರ್"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"ಈ ಸೇವೆಯು ಅಸಮರ್ಪಕವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದೆ."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಶಾರ್ಟ್‌ಕಟ್‌ಗಳು"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"ತ್ವರಿತ ಸೆಟ್ಟಿಂಗ್‌‌ಗಳಲ್ಲಿ ತೋರಿಸು"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"ಕೆಂಪು-ಹಸಿರು"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"ಕೆಂಪು-ಹಸಿರು"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"ಕೆಂಪು-ಹಸಿರು, ಹಸಿರು ದುರ್ಬಲವಾಗಿದೆ"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"ಕೆಂಪು-ಹಸಿರು, ಕೆಂಪು ದುರ್ಬಲವಾಗಿದೆ"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"ನೀಲಿ-ಹಳದಿ"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"ಗ್ರೇಸ್ಕೇಲ್"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"ತೀವ್ರತೆ"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"ಹಸಿರು ಬಣ್ಣದ ದೃಷ್ಟಿಹೀನತೆ, ಡ್ಯುಟೆರೊನೊಮಲಿ"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"ಕೆಂಪು ಬಣ್ಣದ ದೃಷ್ಟಿಹೀನತೆ, ಪ್ರೊಟಾನಾಮಲಿ"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"ಗ್ರೇಸ್ಕೇಲ್ ಮೋಡ್‌ಗೆ ಅಥವಾ ಬಣ್ಣದ ತಿದ್ದುಪಡಿಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿರುವಾಗ ಲಭ್ಯವಿರುವುದಿಲ್ಲ"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"ಇನ್ನಷ್ಟು ಮಬ್ಬು"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"ಸ್ಕ್ರೀನ್ ಅನ್ನು ಇನ್ನಷ್ಟು ಮಬ್ಬಾಗಿಸಿ"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"ಹಸಿರುನೀಲಿ"</string>
     <string name="color_yellow" msgid="5957551912912679058">"ಹಳದಿ"</string>
     <string name="color_magenta" msgid="8943538189219528423">"ಕೆನ್ನೇರಿಳೆ"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"ನಿಮ್ಮ ಸಾಧನದ ಸಂಪೂರ್ಣ ನಿಯಂತ್ರಣವನ್ನು ಹೊಂದಲು <xliff:g id="SERVICE">%1$s</xliff:g> ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಮಾಡುತ್ತದೆ:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"ಅನುಮತಿ ವಿನಂತಿಯನ್ನು ಅಪ್ಲಿಕೇಶನ್ ಮರೆಮಾಚುತ್ತಿರುವ ಕಾರಣ, ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ನಿಮ್ಮ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಪರಿಶೀಲಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"ಈ ಸಾಧನದ ಪೂರ್ಣ ನಿಯಂತ್ರಣವನ್ನು <xliff:g id="SERVICE">%1$s</xliff:g> ವಿನಂತಿಸುತ್ತಿದೆ. ಸೇವೆಯು ಸ್ಕ್ರೀನ್ ಅನ್ನು ಓದಬಹುದು ಮತ್ತು ಆ್ಯಕ್ಸೆಸ್ಸಿಬಿಲಿಟಿ ಅಗತ್ಯಗಳೊಂದಿಗೆ ಬಳಕೆದಾರರ ಪರವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಹೆಚ್ಚಿನ ಆ್ಯಪ್‌ಗಳಿಗೆ ಈ ಮಟ್ಟದ ನಿಯಂತ್ರಣ ಸೂಕ್ತವಲ್ಲ."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಅವಶ್ಯಕತೆಗಳ ಕುರಿತು ನಿಮಗೆ ಸಹಾಯ ಮಾಡುವ ಆ್ಯಪ್‌ಗಳಿಗೆ ಸಂಪೂರ್ಣ ನಿಯಂತ್ರಣ ನೀಡುವುದು ಸೂಕ್ತವಾಗಿರುತ್ತದೆ, ಆದರೆ ಬಹುತೇಕ ಆ್ಯಪ್‌ಗಳಿಗೆ ಇದು ಸೂಕ್ತವಲ್ಲ."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"ಸ್ಕ್ರೀನ್ ವೀಕ್ಷಿಸಿ ಮತ್ತು ನಿಯಂತ್ರಿಸಿ"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"ಇದು ಪರದೆಯ ಮೇಲಿನ ಎಲ್ಲಾ ಕಂಟೆಂಟ್‌ ಅನ್ನು ಓದಬಹುದು ಮತ್ತು ಇತರ ಆ್ಯಪ್‌ಗಳ ಮೇಲೆ ಕಂಟೆಂಟ್‌ ಅನ್ನು ಪ್ರದರ್ಶಿಸಬಹುದು."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"ಕ್ರಿಯೆಗಳನ್ನು ವೀಕ್ಷಿಸಿ ಮತ್ತು ನಿರ್ವಹಿಸಿ"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"ಇದು ಆ್ಯಪ್ ಅಥವಾ ಹಾರ್ಡ್‌ವೇರ್ ಸೆನ್ಸರ್‌ನ ಜೊತೆಗಿನ ನಿಮ್ಮ ಸಂವಹನಗಳನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಬಹುದು, ಮತ್ತು ನಿಮ್ಮ ಪರವಾಗಿ ಆ್ಯಪ್‌ಗಳ ಜೊತೆ ಸಂವಹನ ನಡೆಸಬಹುದು."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"ಅನುಮತಿಸಿ"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"ನಿರಾಕರಿಸಿ"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"ಆಫ್ ಮಾಡಿ"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"ಆನ್ ಆಗಿವೆ / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> ಮತ್ತು <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"ನೀವು ಬ್ಲೂಟೂತ್ ಸಾಧನಗಳಿಗಾಗಿ ಸ್ಪೇಶಿಯಲ್ ಆಡಿಯೋವನ್ನು ಸಹ ಆನ್ ಮಾಡಬಹುದು."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"ಕನೆಕ್ಟ್ ಮಾಡಿದ ಸಾಧನಗಳ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"ಸ್ಪೇಷಿಯಲ್ ಆಡಿಯೋ"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"ಆಫ್ ಆಗಿದೆ"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"ಆಫ್ ಆಗಿದೆ"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"ಆಫ್ ಆಗಿದೆ"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{ಯಾವುದೂ ಇಲ್ಲ}=1{1 ವೇಳಾಪಟ್ಟಿಯನ್ನು ಸೆಟ್ ಮಾಡಲಾಗಿದೆ}one{# ವೇಳಾಪಟ್ಟಿಗಳನ್ನು ಸೆಟ್ ಮಾಡಲಾಗಿದೆ}other{# ವೇಳಾಪಟ್ಟಿಗಳನ್ನು ಸೆಟ್ ಮಾಡಲಾಗಿದೆ}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"ಅಡಚಣೆ ಮಾಡಬೇಡಿ"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"ಆದ್ಯತೆಯ ಮೋಡ್‌ಗಳು"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"ಮೋಡ್ ಸೇರಿಸಿ"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"ಮೋಡ್‌ಗಳು"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"ಅಡಚಣೆಗಳನ್ನು ಕಡಿಮೆ ಮಾಡಿ ಮತ್ತು ನಿದ್ರೆ, ಕೆಲಸ, ಡ್ರೈವಿಂಗ್ ಹಾಗೂ ಇವುಗಳ ನಡುವೆ ಮಾಡುವ ಎಲ್ಲಾ ಕಾರ್ಯಗಳ ಮೇಲೆ ಮೋಡ್‌ಗಳ ಮೂಲಕ ನಿಮ್ಮ ಗಮನವನ್ನು ನಿಯಂತ್ರಿಸಿ."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"ನಿಮ್ಮದೇ ಆದ ಮೋಡ್ ಅನ್ನು ರಚಿಸಿ"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"ಪ್ರಮುಖ ಜನರು ಮತ್ತು ಆ್ಯಪ್‌ಗಳಿಂದ ಮಾತ್ರ ನೋಟಿಫಿಕೇಶನ್‌ ಪಡೆಯಿರಿ"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"ವೇಳಾಪಟ್ಟಿಯನ್ನು ಸೆಟ್ ಮಾಡಿ"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"ಇದನ್ನು ಆಧರಿಸಿ ವೇಳಾಪಟ್ಟಿ"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"ದಿನ ಮತ್ತು ಸಮಯ"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"ವಾರದ ದಿನಗಳಲ್ಲಿ 9 AM - 5 PM\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"ಕ್ಯಾಲೆಂಡರ್ ಈವೆಂಟ್‌ಗಳು"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} ಸಕ್ರಿಯವಾಗಿದೆ}=2{{mode_1} ಮತ್ತು {mode_2} ಸಕ್ರಿಯವಾಗಿವೆ}=3{{mode_1}, {mode_2}, ಮತ್ತು {mode_3} ಸಕ್ರಿಯವಾಗಿವೆ}one{{mode_1}, {mode_2}, ಮತ್ತು # ಇತ್ಯಾದಿಗಳು ಸಕ್ರಿಯವಾಗಿವೆ}other{{mode_1}, {mode_2}, ಮತ್ತು # ಇತ್ಯಾದಿಗಳು ಸಕ್ರಿಯವಾಗಿವೆ}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 ಮೋಡ್ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆನ್ ಆಗಬಹುದು}one{# ಮೋಡ್‌ಗಳು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆನ್ ಆಗಬಹುದು}other{# ಮೋಡ್‌ಗಳು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆನ್ ಆಗಬಹುದು}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ಆನ್ ಆಗಿದೆ"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"ಸೆಟ್ ಮಾಡಿಲ್ಲ"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"ಮೋಡ್ ಅನ್ನು ರಚಿಸಿ"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"ಕಸ್ಟಮ್"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"ಈಗ ಆನ್ ಮಾಡಿ"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"ಆಫ್ ಮಾಡಿ"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"ಮೋಡ್ ಕಂಡುಬಂದಿಲ್ಲ"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"ಅಡಚಣೆಗಳನ್ನು ಮಿತಿಗೊಳಿಸಿ"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"ಅಡಚಣೆಗಳು ಮತ್ತು ಗೊಂದಲಗಳನ್ನು ನಿರ್ಬಂಧಿಸಿ"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g> ಅನ್ನು ಸೆಟಪ್ ಮಾಡಿ"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"ಅಡಚಣೆ ಮಾಡಬೇಡಿ ಅನ್ನು ಆನ್ ಮಾಡಿ"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"ಅಲಾರಾಂಗಳು ಮತ್ತು ಮೀಡಿಯಾ ಧ್ವನಿಗಳು ಅಡಚಣೆಯಾಗಬಹುದು"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"ವೇಳಾಪಟ್ಟಿಗಳು"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"ವೇಳಾಪಟ್ಟಿಗಳನ್ನು ಅಳಿಸಿ"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"ಅಳಿಸಿ"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"ಮರುಹೆಸರಿಸಿ"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"ಅಳಿಸಿ"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"\"<xliff:g id="MODE">%1$s</xliff:g>\" ಮೋಡ್ ಅನ್ನು ಅಳಿಸಬೇಕೆ?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"ಎಡಿಟ್"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"ವೇಳಾಪಟ್ಟಿಗಳು"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"ವೇಳಾಪಟ್ಟಿ"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆನ್ ಮಾಡಿ"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"ಕ್ಯಾಲೆಂಡರ್‌ ಅನ್ನು ಸೇರಿಸಿ"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"ನಿಮ್ಮ ಕ್ಯಾಲೆಂಡರ್‌ ಅನ್ನು ಬಳಸಿ"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"ವೇಳಾಪಟ್ಟಿ"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"ವೇಳಾಪಟ್ಟಿಯನ್ನು ಸೆಟ್ ಮಾಡಿ"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"ಯಾವಾಗ ಸ್ವಯಂಚಾಲಿತ ಆನ್ ಆಗಬೇಕು"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"ಈವೆಂಟ್ ವೇಳಾಪಟ್ಟಿ"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"ಇದರ ಈವೆಂಟ್‌ ಸಮಯದಲ್ಲಿ ಆನ್ ಮಾಡಿ"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"ಆಹ್ವಾನ ಪ್ರತ್ಯುತ್ತರ ಇರುವಲ್ಲಿ"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"ಸಮಯದ ವೇಳಾಪಟ್ಟಿ"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"ವೇಳಾಪಟ್ಟಿ"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ಗಂ, <xliff:g id="MINUTES">%2$d</xliff:g> ನಿಮಿ"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"ಅವಧಿ"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"ಅಡಚಣೆಗಳ ಧ್ವನಿಯನ್ನು ಅನುಮತಿಸಿ"</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="mode_interruption_filter_title" msgid="6657431939996264417">"ನಿಮ್ಮನ್ನು ತಲುಪಬಹುದಾದ ನೋಟಿಫಿಕೇಶನ್‌ಗಳು"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"ಹೆಚ್ಚುವರಿ ಆ್ಯಕ್ಷನ್‌ಗಳು"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"ನೋಟಿಫಿಕೇಶನ್ ಫಿಲ್ಟರ್‌ಗಳು"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"ಇನ್ನಷ್ಟು ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{ಆಫ್ ಆಗಿದೆ}=1{ಆಫ್ ಆಗಿದೆ / 1 ಮೋಡ್ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆನ್ ಆಗಬಹುದು}one{ಆಫ್ ಆಗಿದೆ / # ಮೋಡ್‌ಗಳು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆನ್ ಆಗಬಹುದು}other{ಆಫ್ ಆಗಿದೆ / # ಮೋಡ್‌ಗಳು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆನ್ ಆಗಬಹುದು}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"ಡಿಸ್‌ಪ್ಲೇ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"ಡಿಸ್‌ಪ್ಲೇ ಆಯ್ಕೆಗಳು"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"ಗ್ರೇಸ್ಕೇಲ್"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ಡಾರ್ಕ್ ಥೀಮ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"ಡಾರ್ಕ್ ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಲೈಟ್ ಟೆಕ್ಸ್ಟ್‌ಗೆ ಆದ್ಯತೆ ನೀಡಲು OS ಮತ್ತು ಆ್ಯಪ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಿ, ಇದರಿಂದ ಕಣ್ಣಿಗೆ ಆಯಾಸವಾಗುವುದಿಲ್ಲ ಮತ್ತು ಇದು ಕೆಲವು ಸಾಧನಗಳಲ್ಲಿ ಗಮನಾರ್ಹವಾಗಿ ಬ್ಯಾಟರಿ ಹೆಚ್ಚುಕಾಲ ಉಳಿಯುವಂತೆ ಮಾಡುತ್ತದೆ."</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{ಯಾವುದೇ ಡಿಸ್‌ಪ್ಲೇ ಬದಲಾವಣೆಗಳಿಲ್ಲ}=1{{effect_1}}=2{{effect_1} ಮತ್ತು {effect_2}}=3{{effect_1}, {effect_2} ಮತ್ತು {effect_3}}one{{effect_1}, {effect_2} ಮತ್ತು ಇನ್ನೂ #}other{{effect_1}, {effect_2} ಮತ್ತು ಇನ್ನೂ #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"ಎಲ್ಲಾ ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ಅನುಮತಿಸಿ"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"ಜನರು, ಆ್ಯಪ್‌ಗಳು ಮತ್ತು ಧ್ವನಿಗಳು ಅಡಚಣೆ ಉಂಟುಮಾಡಬಹುದು"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ಫಿಲ್ಟರ್ ಮಾಡಲಾದ ನೋಟಿಫಿಕೇಶನ್‌ಗಳಿಗಾಗಿ ಡಿಸ್‌ಪ್ಲೇ ಆಯ್ಕೆಗಳು"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"ಅಡಚಣೆ ಮಾಡಬೇಡ ಆನ್‌ ಇರುವಾಗ"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"ಅಧಿಸೂಚನೆಗಳಿಂದ ಯಾವುದೇ ಧ್ವನಿ ಇಲ್ಲ"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"ಅಧಿಸೂಚನೆಯನ್ನು ತೆರೆಯಿರಿ"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ಸ್ನೂಜ್ ಮಾಡಲು ಅನುಮತಿಸಿ"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"ಆ್ಯಪ್ ಐಕಾನ್‌ ಮೇಲೆ ನೋಟಿಫಿಕೇಶನ್‌ ಡಾಟ್"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"ನೋಟಿಫಿಕೇಶನ್ ಬಂಡಲ್‌ಗಳು"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"ಬಬಲ್ಸ್"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"ಬಬಲ್ಸ್"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"ಈ ಸಂಭಾಷಣೆಗೆ ಬಬಲ್ ಗುರುತು ಮಾಡಿ"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"ಇದು ಸಂದೇಶಗಳಿಗೆ ಪ್ರತ್ಯುತ್ತರ ನೀಡಬಹುದು ಮತ್ತು ಅಧಿಸೂಚನೆಗಳನ್ನು ಸ್ನೂಜ್ ಮಾಡುವುದು ಅಥವಾ ವಜಾಗೊಳಿಸುವುದು ಮತ್ತು ಕರೆಗಳಿಗೆ ಉತ್ತರಿಸುವುದು ಸೇರಿದಂತೆ ಅಧಿಸೂಚನೆಗಳಲ್ಲಿನ ಬಟನ್‌ಗಳ ಮೇಲೆ ಕ್ರಮ ತೆಗೆದುಕೊಳ್ಳಬಹುದು."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಿ"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"ಇದು, ಅಡಚಣೆ ಮಾಡಬೇಡಿ ಫೀಚರ್ ಅನ್ನು ಆನ್ ಅಥವಾ ಆಫ್ ಮಾಡುವ ಮತ್ತು ಸಂಬಂಧಿತ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬದಲಾಯಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿದೆ."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"ಇದು ಮೋಡ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಬಹುದು ಮತ್ತು ಸಕ್ರಿಯಗೊಳಿಸಬಹುದು ಹಾಗೂ ಸಂಬಂಧಿತ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಬಹುದು."</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_modes_warning_summary" msgid="7528432011433844158">"<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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"ನೈಜ ಸಮಯ"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"ವರ್ಧಿತ ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಈ ಆ್ಯಪ್ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"ಇನ್ನಷ್ಟು ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"ಇನ್ನಷ್ಟು ಸೆಟ್ಟಿಂಗ್‌ಗಳು ಈ ಆ್ಯಪ್‌ನ ಒಳಗೆ ಲಭ್ಯವಿವೆ"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"ಅಡಾಪ್ಟಿವ್ ನೋಟಿಫಿಕೇಶನ್‌ಗಳು"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"ಅಡಾಪ್ಟಿವ್ ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ಬಳಸಿ"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"ನೀವು ಕಡಿಮೆ ಸಮಯದಲ್ಲಿ ಹೆಚ್ಚಿನ ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ಸ್ವೀಕರಿಸಿದಾಗ, ನಿಮ್ಮ ಫೋನ್ ವಾಲ್ಯೂಮ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಎರಡು ನಿಮಿಷಗಳವರೆಗೆ ಸ್ಕ್ರೀನ್ ಮೇಲಿನ ಪಾಪ್-ಅಪ್‌ಗಳನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಕರೆಗಳು, ಅಲಾರಂಗಳು ಮತ್ತು ಆದ್ಯತೆಯ ಸಂಭಾಷಣೆಗಳು ಇನ್ನೂ ವೈಬ್ರೇಟ್ ಆಗುತ್ತವೆ, ಶಬ್ದ ಮಾಡುತ್ತವೆ ಅಥವಾ ಸ್ಕ್ರೀನ್ ಮೇಲೆ ಕಾಣಿಸುತ್ತವೆ ಮತ್ತು ನೀವು ಸ್ಕ್ರೀನ್ ಅನ್ನು ಮೇಲಿನಿಂದ ಕೆಳಕ್ಕೆ ಎಳೆದಾಗ ಎಲ್ಲಾ ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ಹುಡುಕುವುದು ಸುಲಭ."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"ನೋಟಿಫಿಕೇಶನ್ ಕೂಲ್‌ಡೌನ್"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"ನೋಟಿಫಿಕೇಶನ್ ಕೂಲ್‌ಡೌನ್ ಅನ್ನು ಬಳಸಿ"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"ನೀವು ಕಡಿಮೆ ಸಮಯದಲ್ಲಿ ಹೆಚ್ಚು ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ಸ್ವೀಕರಿಸಿದಾಗ, ನಿಮ್ಮ ಸಾಧನವು 2 ನಿಮಿಷಗಳವರೆಗೆ ತನ್ನ ವಾಲ್ಯೂಮ್ ಅನ್ನು ತಗ್ಗಿಸುತ್ತದೆ ಮತ್ತು ಅಲರ್ಟ್‌ಗಳನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಕರೆಗಳು, ಅಲಾರಂಗಳು ಮತ್ತು ಆದ್ಯತೆಯ ಸಂಭಾಷಣೆಗಳು ಪ್ರಭಾವಿತವಾಗುವುದಿಲ್ಲ. \n\nಕೂಲ್‌ಡೌನ್ ಸಮಯದಲ್ಲಿ ಸ್ವೀಕರಿಸಿದ ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ಸ್ಕ್ರೀನ್‌ನ ಮೇಲಿನಿಂದ ಕೆಳಕ್ಕೆ ಎಳೆಯುವ ಮೂಲಕ ಕಾಣಬಹುದಾಗಿದೆ."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"ಉದ್ಯೋಗದ ಪ್ರೊಫೈಲ್‌ಗಳಿಗೆ ಅನ್ವಯಿಸಿ"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್‌ ಆ್ಯಪ್‌ಗಳಿಗೆ ಅನ್ವಯಿಸಿ"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR ಸಹಾಯ ಸೇವೆಗಳು"</string>
@@ -3650,6 +3709,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"ಮೋಡ್‌ಗಳ ಆ್ಯಕ್ಸೆಸ್"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"ಮೋಡ್‌ಗಳ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ಅನುಮತಿಸಿ"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"ಯಾವುದೇ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿದ ಆ್ಯಪ್‌ಗಳು ಎಚ್ಚರಿಕೆ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ವಿನಂತಿಸಿಲ್ಲ"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"ಈ ಆ್ಯಪ್‌ನಿಂದ ಬರುವ ಅಧಿಸೂಚನೆಗಳನ್ನು ನೀವು ಅನುಮತಿಸಿಲ್ಲ"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"ನಿಮ್ಮ ವಿನಂತಿಯ ಮೇರೆಗೆ, ಈ ಸಾಧನದಲ್ಲಿ ಈ ಪ್ರಕಾರದ ಅಧಿಸೂಚನೆಗಳು ಕಾಣಿಸದಂತೆ Android ನಿರ್ಬಂಧಿಸುತ್ತದೆ"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"ನಿಮ್ಮ ವಿನಂತಿಯ ಮೇರೆಗೆ, ಈ ಸಾಧನದಲ್ಲಿ ಗೋಚರವಾಗುವ ಈ ಅಧಿಸೂಚನೆಗಳ ಗುಂಪನ್ನು Android ನಿರ್ಬಂಧಿಸುತ್ತದೆ"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"ವಿಭಾಗಗಳು"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"ಇತರೆ"</string>
     <string name="no_channels" msgid="4716199078612071915">"ಯಾವುದೇ ಅಧಿಸೂಚನೆಗಳನ್ನು ಈ ಅಪ್ಲಿಕೇಶನ್‌ ಪೋಸ್ಟ್‌ ಮಾಡಿಲ್ಲ"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"ಬಳಕೆಯಾಗದ ವರ್ಗಗಳನ್ನು ತೋರಿಸಿ"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"ಆ್ಯಪ್‍‍ನಲ್ಲಿ ಹೆಚ್ಚುವರಿ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"ಬಳಕೆಯಾಗದ ವರ್ಗಗಳನ್ನು ತೋರಿಸಿ"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"ಬಳಕೆಯಾಗದ ವರ್ಗಗಳನ್ನು ಮರೆಮಾಡಿ"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"ಸಂಭಾಷಣೆಗಳು"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"ಎಲ್ಲಾ ಸಂಭಾಷಣೆಗಳು"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"ಎಲ್ಲಾ ಸಂಭಾಷಣೆಗಳು"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"ಆದ್ಯತೆಯ ಸಂಭಾಷಣೆಗಳು"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"ಆದ್ಯತೆಯ ಸಂಭಾಷಣೆಗಳು"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"ಯಾವುದೂ ಇಲ್ಲ"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"ಅಡಚಣೆ ಉಂಟುಮಾಡಬಹುದಾದ ಆ್ಯಪ್‌ಗಳು"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"ಆಯ್ಕೆ ಮಾಡಿದ ಆ್ಯಪ್‌ಗಳು"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"ಯಾವುದೂ ಅಲ್ಲ"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"ಎಲ್ಲಾ"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{ಯಾವುದೇ ಆ್ಯಪ್‌ಗಳು ಅಡಚಣೆ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ}=1{{app_1} ಅಡಚಣೆ ಮಾಡಬಹುದು}=2{{app_1} ಮತ್ತು {app_2} ಅಡಚಣೆ ಮಾಡಬಹುದು}=3{{app_1}, {app_2} ಮತ್ತು {app_3} ಅಡಚಣೆ ಮಾಡಬಹುದು}one{{app_1}, {app_2} ಮತ್ತು # ಇನ್ನಷ್ಟು ಅಡಚಣೆ ಮಾಡಬಹುದು}other{{app_1}, {app_2} ಮತ್ತು # ಇನ್ನಷ್ಟು ಅಡಚಣೆ ಮಾಡಬಹುದು}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (ಕೆಲಸ)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"ಲೆಕ್ಕ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ಅತಿಕ್ರಮಿಸಲು ಆ್ಯಪ್‌ಗಳಿಗೆ ಅನುಮತಿಸಿ"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"ಅಡಚಣೆ ಉಂಟುಮಾಡಬಹುದಾದ ಆ್ಯಪ್‌ಗಳು"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"ಇನ್ನಷ್ಟು ಆ್ಯಪ್‌ಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"ಯಾವುದೂ ಅಡಚಣೆ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"ಯಾರೂ ಅಡಚಣೆ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"ಕೆಲವು ಜನರು ಅಡಚಣೆ ಮಾಡಬಹುದು"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"ಪುನರಾವರ್ತಿತ ಕರೆ ಮಾಡುವವರು ಅಡಚಣೆ ಮಾಡಬಹುದು"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"ಎಲ್ಲಾ ಜನರು ಅಡಚಣೆ ಮಾಡಬಹುದು"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"ಪುನರಾವರ್ತಿತ ಕರೆದಾರರು"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"ಪುನರಾವರ್ತಿತ ಕರೆದಾರರಿಗೆ ಅನುಮತಿಸಿ"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} ವರೆಗೆ, ಒಂದು ಗಂಟೆಯವರೆಗೆ ಮಾತ್ರ ಅಲಾರಾಂಗಳನ್ನು ಬದಲಾಯಿಸಿ}one{{time} ವರೆಗೆ, # ಗಂಟೆಗಳವರೆಗೆ ಮಾತ್ರ ಅಲಾರಾಂಗಳನ್ನು ಬದಲಾಯಿಸಿ}other{{time} ವರೆಗೆ, # ಗಂಟೆಗಳವರೆಗೆ ಮಾತ್ರ ಅಲಾರಾಂಗಳನ್ನು ಬದಲಾಯಿಸಿ}}"</string>
     <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_action_change_name" msgid="766639614789907016">"ಮರುಹೆಸರಿಸಿ"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"ಐಕಾನ್ ಬದಲಾಯಿಸಿ"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"ಐಕಾನ್ ಬದಲಾಯಿಸಿ"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"ಎಡಿಟ್ ಮೋಡ್"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"ಮೋಡ್ ಅನ್ನು ರಚಿಸಿ"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"ಕಸ್ಟಮ್ ಮೋಡ್"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"ಮೋಡ್ ಹೆಸರು"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"ಕ್ಯಾಲೆಂಡರ್ ಈವೆಂಟ್‌ಗಳು"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"ಬೆಡ್‌ಟೈಮ್ ದಿನಚರಿ"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"ಡ್ರೈವಿಂಗ್ ಮಾಡುವಾಗ"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"ಆ್ಯಪ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"<xliff:g id="APP_NAME">%1$s</xliff:g> ನಲ್ಲಿನ ಮಾಹಿತಿ ಮತ್ತು ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"<xliff:g id="APP_NAME">%1$s</xliff:g> ಮೂಲಕ ನಿರ್ವಹಿಸಲಾಗಿದೆ"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g> ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬೇಕೆ?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದಾಗ ಈ ಮೋಡ್ ಎಂದಿಗೂ ಆನ್ ಆಗುವುದಿಲ್ಲ"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g> ಸಕ್ರಿಯಗೊಳಿಸಬೇಕೆ?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"ಈ ಮೋಡ್ ಅದರ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಆಧರಿಸಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆನ್ ಆಗಬಹುದು"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"ನಿಯಮಿತ ವೇಳಾಪಟ್ಟಿಯನ್ನು ಅನುಸರಿಸುವ ಮೋಡ್ ಅನ್ನು ಸೆಟ್ ಮಾಡಿ"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"ಕ್ಯಾಲೆಂಡರ್ ಈವೆಂಟ್‌ಗಳೊಂದಿಗೆ ಸಿಂಕ್ ಮಾಡಲು ಮೋಡ್ ಅನ್ನು ಸೆಟ್ ಮಾಡಿ ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ಆಹ್ವಾನಿಸಿ"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"ಶಾಂತ ನಿದ್ರೆಯ ದಿನಚರಿಯನ್ನು ರಚಿಸಿ. ಅಲಾರಂಗಳನ್ನು ಸೆಟ್ ಮಾಡಿ, ಸ್ಕ್ರೀನ್ ಅನ್ನು ಮಬ್ಬುಗೊಳಿಸಿ ಮತ್ತು ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ಬಂಧಿಸಿ."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"ಗಮನಹರಿಸುವ ಮತ್ತು ಯಾವುದೇ ಗೊಂದಲವಿಲ್ಲದೆ ಚಾಲನೆ ಮಾಡುವ ಮೂಲಕ ರಸ್ತೆಯ ಸುರಕ್ಷತೆಗೆ ಆದ್ಯತೆ ನೀಡಿ"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"ಗಮನವನ್ನು ಹೆಚ್ಚಿಸಲು ನಿಮ್ಮ ಸಾಧನದಿಂದ ಅಡಚಣೆಗಳನ್ನು ಮತ್ತು ಗೊಂದಲವನ್ನು ನಿರ್ಬಂಧಿಸಿ"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"ಶಾಂತ ವಾತಾವರಣಕ್ಕಾಗಿ ಎಲ್ಲಾ ಗೊಂದಲಗಳನ್ನು ನಿವಾರಿಸಿ"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"ವಿಭಿನ್ನ ಬಳಕೆದಾರರಿಗೆ ಅನುಗುಣವಾಗಿ ಸಾಧನದ ಅನುಭವ ಮತ್ತು ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ವೈಯಕ್ತಿಕಗೊಳಿಸಿ"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"ನಿಮಗೆ ಮುಖ್ಯವಾದ ಜನರು ಮತ್ತು ಆ್ಯಪ್‌ಗಳನ್ನು ಮಾತ್ರ ಅನುಮತಿಸುವ ಮೂಲಕ ಗೊಂದಲವನ್ನು ಕಡಿಮೆ ಮಾಡಿ"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"ನಿಯಮಿತ ವೇಳಾಪಟ್ಟಿಯನ್ನು ಅನುಸರಿಸುವ ಮೋಡ್ ಅನ್ನು ಸೆಟ್ ಮಾಡಿ"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"ನಿಮ್ಮ ಸಾಧನವನ್ನು ನಿಮ್ಮ ದಿನದ ಈವೆಂಟ್‌ಗಳೊಂದಿಗೆ ಸಿಂಕ್ ಆಗಿರಿಸಿ"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"100% ಎಚ್ಚರಗೊಳ್ಳಬೇಕೆಂದು ಅನಿಸುತ್ತಿದೆ"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"ರಸ್ತೆಯಲ್ಲಿರುವಾಗ ಸುರಕ್ಷತೆಗೆ ಮೊದಲ ಆದ್ಯತೆ ನೀಡಿ"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"ಒಂದೆಡೆ ಕೇಂದ್ರೀಕರಿಸಲು ಮನಸ್ಸನ್ನು ಜಾಗೃತಗೊಳಿಸಿ"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"ಸೌಜನ್ಯತೆ ಅಗತ್ಯವಿರುವ ಸಂದರ್ಭಗಳಲ್ಲಿ"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"ನಿಮ್ಮನ್ನು ಸುರಕ್ಷಿತವಾಗಿರಿಸಲು ಸಹಾಯ ಮಾಡುವ ಸೂಚನೆಗಳನ್ನು ಅನುಸರಿಸಿ"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"ನಿಮ್ಮ ಮನಸ್ಸನ್ನು ಹಿಡಿತದಲ್ಲಿಟ್ಟುಕೊಳ್ಳಿ"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"ಎಚ್ಚರಿಕೆ"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"ಮುಚ್ಚಿರಿ"</string>
     <string name="device_feedback" msgid="5351614458411688608">"ಈ ಸಾಧನದ ಕುರಿತು ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಕಳುಹಿಸಿ"</string>
@@ -4006,6 +4102,10 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"<xliff:g id="APP">%1$s</xliff:g> ಗಾಗಿ ಮೋಡ್‌ಗಳಿಗೆ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ಅನುಮತಿಸಬೇಕೇ?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"ಅಡಚಣೆ ಮಾಡಬೇಡಿ ಅನ್ನು ಆನ್/ಆಫ್ ಮಾಡಲು, ಮೋಡ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಮತ್ತು ಸಕ್ರಿಯಗೊಳಿಸಲು ಹಾಗೂ ಸಂಬಂಧಿತ ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಲು ಆ್ಯಪ್‌ಗೆ ಸಾಧ್ಯವಾಗುತ್ತದೆ."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"<xliff:g id="APP">%1$s</xliff:g> ಗಾಗಿ ಮೋಡ್‌ಗಳಿಗೆ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ಹಿಂಪಡೆಯಬೇಕೇ?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"ಈ ಆ್ಯಪ್‌ನಿಂದ ರಚಿಸಲಾದ ಎಲ್ಲಾ ಮೋಡ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"ಆಪ್ಟಿಮೈಸ್ ಮಾಡಬೇಡಿ"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimize"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"ನಿಮ್ಮ ಬ್ಯಾಟರಿಯನ್ನು ತ್ವರಿತವಾಗಿ ಬರಿದಾಗಿಸಬಹುದು. ಹಿನ್ನೆಲೆ ಬ್ಯಾಟರಿ ಬಳಸದಂತೆ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಇನ್ನು ಮುಂದೆ ನಿರ್ಬಂಧಿಸಲಾಗುವುದಿಲ್ಲ."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"ಕೇಸ್"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"ಬ್ಯಾಟರಿ"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಪ್ಯಾನಲ್"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"ಡೆಸ್ಕ್‌ಟಾಪ್ ಮೋಡ್ ಅನ್ನು ಒತ್ತಾಯ ಮಾಡಿ"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ಸೆಕೆಂಡರಿ ಡಿಸ್‌ಪ್ಲೇಗಳಲ್ಲಿ ಪ್ರಾಯೋಗಿಕ ಡೆಸ್ಕ್‌ಟಾಪ್ ಮೋಡ್ ಅನ್ನು ಒತ್ತಾಯ ಮಾಡಿ"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"ಫ್ರೀಫಾರ್ಮ್ ವಿಂಡೋಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"ಎರಡನೇ ಡಿಸ್‌ಪ್ಲೇಯಲ್ಲಿ ಫ್ರೀಫಾರ್ಮ್ ವಿಂಡೋ ಸಕ್ರಿಯ ಮಾಡಿ."</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"ಬಹು-ವಿಂಡೋದಲ್ಲಿ ಮರುಗಾತ್ರಗೊಳಿಸಲು ಆಗದಿರುವುದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"ಮರುಗಾತ್ರಗೊಳಿಸಲು ಆಗದ ಆ್ಯಪ್‌ಗಳನ್ನು ಬಹು-ವಿಂಡೋದಲ್ಲಿ ಇರಲು ಅನುಮತಿಸುತ್ತದೆ"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"ಫೋರ್ಸ್-ಡಾರ್ಕ್ ಅನ್ನು ಓವರ್‌ರೈಡ್ ಮಾಡಿ"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"ಮೊಬೈಲ್ ಡೇಟಾ"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"ವೈ-ಫೈ ಆಫ್ ಇದ್ದಾಗಲೂ ಸಹ, ಸಾಧನದ ಅನುಭವವನ್ನು ಸುಧಾರಿಸಲು, ಆ್ಯಪ್‌ಗಳು ಮತ್ತು ಸೇವೆಗಳು ಯಾವಾಗ ಬೇಕಾದರೂ ಸಹ ವೈ-ಫೈ ನೆಟ್‌ವರ್ಕ್‌ಗಳಿಗಾಗಿ ಸ್ಕ್ಯಾನ್ ಮಾಡಬಹುದು. ಉದಾಹರಣೆಗೆ, ಸ್ಥಳ ಆಧಾರಿತ ವೈಶಿಷ್ಟ್ಯಗಳು ಮತ್ತು ಸೇವೆಗಳನ್ನು ಸುಧಾರಿಸಲು ಇದನ್ನು ಬಳಸಬಹುದು. ನೀವು ಇದನ್ನು ವೈ-ಫೈ ಸ್ಕ್ಯಾನಿಂಗ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಬದಲಾಯಿಸಬಹುದು."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"ಬದಲಿಸಿ"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"ಕನೆಕ್ಟ್ ಆಗಿದೆ"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"ತಾತ್ಕಾಲಿಕವಾಗಿ ಕನೆಕ್ಟ್ ಮಾಡಲಾಗಿದೆ"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"<xliff:g id="SUBNAME">%1$s</xliff:g> ಅನ್ನು ತಾತ್ಕಾಲಿಕವಾಗಿ ಬಳಸಲಾಗುತ್ತಿದೆ"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ಆ್ಯಪ್ ಪಿನ್ನಿಂಗ್ ಬಳಸಿ"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"ಡೆವಲಪರ್ ಆಯ್ಕೆಗಳನ್ನು ಬಳಸಿ"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"ಪ್ರಿಂಟ್ ಸೇವೆಯನ್ನು ಬಳಸಿ"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"ಬಹು ಬಳಕೆದಾರರನ್ನು ಅನುಮತಿಸಿ"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"ಬಳಕೆದಾರರ ಬದಲಾಯಿಸುವಿಕೆಯನ್ನು ಅನುಮತಿಸಿ"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"ಅನುಮತಿಸಿ, ಬಹು, ಬಳಕೆದಾರರು, ಪರವಾನಗಿ, ಹಲವು"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"ಅನೇಕ, ಬಳಕೆದಾರರು, ಪ್ರೊಫೈಲ್‌ಗಳು, ಜನರು, ಖಾತೆಗಳು, ಸ್ವಿಚ್, ಹಲವು"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ವೈರ್‌ಲೆಸ್ ಡೀಬಗಿಂಗ್ ಅನ್ನು ಬಳಸಿ"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"ಈ ಫೋನ್ ಅನ್ನು ಸಂಪರ್ಕಿಸಲು <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> ಬಯಸುತ್ತದೆ.\n\nನೀವು ಈ ಮೊದಲು <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> ಗೆ ಕನೆಕ್ಟ್ ಆಗಿರಲಿಲ್ಲ."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"ಕನೆಕ್ಟ್ ಮಾಡಬೇಡಿ"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"ಕನೆಕ್ಟ್ ಮಾಡಿ"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
-    <string name="tare_on" msgid="2386073225978684535">"ಆನ್"</string>
-    <string name="tare_off" msgid="6305694402929756726">"ಆಫ್"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"ಡೀಫಾಲ್ಟ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಹಿಂತಿರುಗಿ"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"ಸೆಟ್ಟಿಂಗ್ ಡೀಫಾಲ್ಟ್‌ಗೆ ಹಿಂತಿರುಗಿಸಲಾಗಿದೆ."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"ಗರಿಷ್ಠ ಬ್ಯಾಟರಿ ಬ್ಯಾಲೆನ್ಸ್"</string>
-    <string name="tare_balances" msgid="731881382594747961">"ಬ್ಯಾಲೆನ್ಸ್‌ಗಳು"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"ಬಳಕೆಯ ಮಿತಿಗಳು"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"ಆರಂಭಿಕ ಬಳಕೆಯ ಮಿತಿ"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"ಕನಿಷ್ಠ ಬಳಕೆಯ ಮಿತಿ"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"ಗರಿಷ್ಠ ಬಳಕೆಯ ಮಿತಿ"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"ಮಾರ್ಪಡಿಸುವಿಕೆಗಳು"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"ಕ್ರಿಯೆಗಳು (ಉತ್ಪಾದನಾ ವೆಚ್ಚ)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"ಕ್ರಿಯೆಗಳು (ಮೂಲ ದರ)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"ಪ್ರತಿಯೊಂದು ಈವೆಂಟ್‌ನ ಬಹುಮಾನಗಳು"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"ಈವೆಂಟ್ ಅವಧಿಯ ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ ಬಹುಮಾನಗಳು"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"ಪ್ರತಿ ದಿನದ ಗರಿಷ್ಠ ಬಹುಮಾನಗಳು"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"ಆ್ಯಪ್ ಇನ್‌ಸ್ಟಾಲ್"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"ಉನ್ನತ ಚಟುವಟಿಕೆ"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"ಅಧಿಸೂಚನೆಯನ್ನು ನೋಡಲಾಗಿದೆ"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"ಅಧಿಸೂಚನೆಯನ್ನು 15 ನಿಮಿಷಗಳಲ್ಲಿ ನೋಡಲಾಗಿದೆ"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"ನೋಟಿಫಿಕೇಶನ್ ಸಂವಹನ"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"ವಿಜೆಟ್ ಸಂವಹನ"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"ಇತರ ಬಳಕೆದಾರರ ಸಂವಹನ"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"ಗರಿಷ್ಠ ಆದ್ಯತೆ ಕೆಲಸವನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"ಗರಿಷ್ಠ ಆದ್ಯತೆಯ ಕೆಲಸ ನಡೆಯುತ್ತಿದೆ"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"ಆದ್ಯತೆಯ ಕೆಲಸವನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"ಆದ್ಯತೆಯ ಕೆಲಸ ಚಾಲನೆಯಲ್ಲಿದೆ"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"ಡೀಫಾಲ್ಟ್ ಕೆಲಸವನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"ಡೀಫಾಲ್ಟ್ ಕೆಲಸ ಚಾಲನೆಯಲ್ಲಿದೆ"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"ಕಡಿಮೆ ಆದ್ಯತೆಯ ಕೆಲಸವನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"ಕಡಿಮೆ ಆದ್ಯತೆಯ ಕೆಲಸ ನಡೆಯುತ್ತಿದೆ"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"ಕನಿಷ್ಠ ಆದ್ಯತೆಯ ಕೆಲಸವನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"ಕನಿಷ್ಠ ಆದ್ಯತೆಯ ಕೆಲಸ ನಡೆಯುತ್ತಿದೆ"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"ಉದ್ಯೋಗದ ಅವಧಿ ಮೀರಿದ ದಂಡ"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"ಕನಿಷ್ಠ ಬ್ಯಾಟರಿ ಬ್ಯಾಲೆನ್ಸ್ (ವಿನಾಯಿತಿ ನೀಡಿರುವುದು)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"ಕನಿಷ್ಠ ಬ್ಯಾಟರಿ ಬ್ಯಾಲೆನ್ಸ್ (ಹೆಡ್‌ಲೆಸ್ ಸಿಸ್ಟಂ ಆ್ಯಪ್)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"ಕನಿಷ್ಠ ಬ್ಯಾಟರಿ ಬ್ಯಾಲೆನ್ಸ್ (ಉಳಿದಿರುವ ಆ್ಯಪ್‌ಗಳು)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"ಕನಿಷ್ಠ ಬ್ಯಾಟರಿ ಬ್ಯಾಲೆನ್ಸ್ ಸೇರಿಸುವಿಕೆ (ಆ್ಯಪ್ ಅಪ್‌ಡೇಟರ್‌ಗಳು)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"ಚಾರ್ಜಿಂಗ್ ಆಗುತ್ತಿದೆ"</item>
-    <item msgid="658627268149681677">"ಡೋಸ್"</item>
-    <item msgid="1599558140284643834">"ಪವರ್ ಸೇವ್ ಮೋಡ್"</item>
-    <item msgid="588427840913221601">"ಪ್ರಕ್ರಿಯೆ ಸ್ಥಿತಿ"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"ದೃಢೀಕರಿಸಿ"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"ಪೂರ್ವವೀಕ್ಷಣೆ"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"ಸ್ಕ್ರೀನ್‌ ಸೇವರ್ ಆಯ್ಕೆಮಾಡಿ"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"ಹೆಚ್ಚುವರಿ ಮಾಹಿತಿಯನ್ನು ತೋರಿಸಿ"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ಅನ್ನು ಡಾಕ್ ಮಾಡಿದಾಗ ನಿಮ್ಮ ಸ್ಕ್ರೀನ್‌ನ ಮೇಲೆ ನಿಮಗೇನು ಕಾಣಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಆಯ್ಕೆಮಾಡಿ. ಸ್ಕ್ರೀನ್ ಸೇವರ್ ಬಳಸಿದಾಗ ನಿಮ್ಮ ಸಾಧನ ಹೆಚ್ಚಿನ ಶಕ್ತಿಯನ್ನು ಬಳಸಬಹುದು."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"ಕಸ್ಟಮೈಸ್ ಮಾಡಿ"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> ಕಸ್ಟಮೈಸ್ ಮಾಡಿ"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"ಫ್ರೀಫಾರ್ಮ್ ಬೆಂಬಲವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ರೀಬೂಟ್ ಮಾಡುವ ಅಗತ್ಯವಿದೆ."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"ಸೆಕೆಂಡರಿ ಡಿಸ್‌ಪ್ಲೇಗಳಲ್ಲಿ ಡೆಸ್ಕ್‌ಟಾಪ್ ಮೋಡ್ ಅನ್ನು ಬಲವಂತವಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸಲು ರೀಬೂಟ್ ಮಾಡುವ ಅಗತ್ಯವಿದೆ."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"ಫ್ರೀಫಾರ್ಮ್ ವಿಂಡೋ ಬೆಂಬಲವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ರೀಬೂಟ್ ಮಾಡುವ ಅಗತ್ಯವಿದೆ."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"ಫ್ರೀಫಾರ್ಮ್ ವಿಂಡೋಗಳ ಲಭ್ಯತೆಯನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಲು ರೀಬೂಟ್ ಅಗತ್ಯವಿದೆ."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"ಎರಡನೇ ಡಿಸ್‌ಪ್ಲೇಗಳಲ್ಲಿ ಫ್ರೀಫಾರ್ಮ್ ವಿಂಡೋಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ರೀಬೂಟ್ ಅಗತ್ಯವಿದೆ."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"ಈಗಲೇ ರೀಬೂಟ್ ಮಾಡಿ"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"ನಂತರ ರೀಬೂಟ್ ಮಾಡಿ"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"ಸ್ಪೇಷಿಯಲ್ ಆಡಿಯೋ"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"ಗುಲಾಬಿ"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"ಮೆಜೆಂತಾ"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"ನೇರಳೆ"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"ಆಯಿತು"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"ಸೇವ್ ಮಾಡಿ"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"ರದ್ದುಮಾಡಿ"</string>
     <string name="contrast_default" msgid="8918545965525226966">"ಡೀಫಾಲ್ಟ್"</string>
     <string name="contrast_medium" msgid="384414510709285811">"ಮಧ್ಯಮ"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"ಆನ್"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"ಆಫ್"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"ಆನ್"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"ಆಡಿಯೊ %1$d%% ಎಡ, %2$d%% ಬಲ"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"ಆಡಿಯೊ %1$d%% ಬಲ, %2$d%% ಎಡ"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"ನೀವು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿದ ಆ್ಯಪ್‌ಗಳಿಗೆ ನಿಮ್ಮ ಸಾಧನದ ಹೆಸರು ಗೋಚರಿಸುತ್ತದೆ. ನೀವು ಬ್ಲೂಟೂತ್ ಸಾಧನಗಳಿಗೆ ಕನೆಕ್ಟ್ ಮಾಡಿದಾಗ, ವೈ-ಫೈ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಕನೆಕ್ಟ್ ಮಾಡಿದಾಗ ಅಥವಾ ವೈ-ಫೈ ಹಾಟ್‌ಸ್ಪಾಟ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಿದಾಗ ಇತರ ಜನರು ಸಹ ಅದನ್ನು ನೋಡಬಹುದು."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"ವ್ಯಾಕರಣ ಲಿಂಗ"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ವ್ಯಾಕರಣದ ಲಿಂಗವನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"ಆಡಿಯೋ ಹಂಚಿಕೊಳ್ಳುವಿಕೆಯನ್ನು ನಿಲ್ಲಿಸಲಾಗಿದೆ"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"ಹೊಂದಾಣಿಕೆಯಾಗುವ ಸಾಧನವನ್ನು ಕನೆಕ್ಟ್‌ ಮಾಡಿ"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"ಆಡಿಯೋವನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಪ್ರಾರಂಭಿಸುವುದಕ್ಕೆ ಮೊದಲು ನಿಮ್ಮ ಫೋನ್‌ಗೆ LE ಆಡಿಯೋ ಹೆಡ್‌ಫೋನ್‌ಗಳನ್ನು ಕನೆಕ್ಟ್‌ ಮಾಡಿ"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ಗೆ ಬದಲಿಸಿ"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"LE ಆಡಿಯೋ ಸ್ಟ್ರೀಮ್‌ಗೆ ಕನೆಕ್ಟ್ ಮಾಡಿ"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"ಸಮೀಪದ ಆಡಿಯೋ ಸ್ಟ್ರೀಮ್‌ಗಳು"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"ಆಡಿಯೋ ಸ್ಟ್ರೀಮ್‌ಗಳು"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಆಲಿಸಿ"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ಜೊತೆ ಕೇಳಲು ಆಡಿಯೋ ಸ್ಟ್ರೀಮ್ QR ಕೋಡ್ ಅನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಿ"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"ಹಂಚಿಕೊಳ್ಳುವಾಗ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಎಡಿಟ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ. ಪಾಸ್‌ವರ್ಡ್ ಬದಲಾಯಿಸಲು, ಮೊದಲು ಆಡಿಯೋ ಹಂಚಿಕೊಳ್ಳುವಿಕೆಯನ್ನು ಆಫ್ ಮಾಡಿ."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR ಕೋಡ್ ಸ್ಕ್ಯಾನರ್"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"ಸಹಾಯ ಬೇಕೇ?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"ಹುಡುಕಾಟ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
 </resources>
diff --git a/res/values-ko/arrays.xml b/res/values-ko/arrays.xml
index 08db70c..babd76d 100644
--- a/res/values-ko/arrays.xml
+++ b/res/values-ko/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"취침 시간"</item>
-    <item msgid="4152450357280759894">"운전"</item>
-    <item msgid="7096549258219399423">"몰입형"</item>
-    <item msgid="2760716776980432977">"관리형"</item>
-    <item msgid="601734478369121764">"별표"</item>
-    <item msgid="6243809315432780521">"캘린더"</item>
-    <item msgid="4913577903148415331">"시간"</item>
-    <item msgid="3653377604690057780">"영화관"</item>
-    <item msgid="3843711267408385410">"꽃"</item>
+    <item msgid="1216815120972438676">"서류 가방"</item>
+    <item msgid="184985872234062767">"고전 건물"</item>
+    <item msgid="9189550412466785530">"아파트"</item>
+    <item msgid="2142527562511049422">"말풍선"</item>
+    <item msgid="2548100558260478605">"한 무리의 사람들"</item>
+    <item msgid="2270003903304578284">"전구"</item>
+    <item msgid="4793496619091161864">"캘린더"</item>
+    <item msgid="5673625795644364100">"방해 금지 모드"</item>
+    <item msgid="1423820834865831361">"달리는 사람"</item>
+    <item msgid="2037298830718732608">"골프"</item>
+    <item msgid="2197835014443491074">"헬스장 덤벨"</item>
+    <item msgid="2730180105015616518">"수영"</item>
+    <item msgid="2666922823253345958">"하이킹 중인 사람"</item>
+    <item msgid="8234880356472211396">"공을 던지는 사람"</item>
+    <item msgid="4642980625253001443">"발차기를 하는 사람"</item>
+    <item msgid="4324795269518833500">"게임 컨트롤러"</item>
+    <item msgid="7789966425125441125">"아티스트 색상 팔레트"</item>
+    <item msgid="663512680597461570">"눈송이"</item>
+    <item msgid="7952183800501346803">"비치 파라솔"</item>
+    <item msgid="799139025758265891">"워크숍 도구"</item>
+    <item msgid="1330084588359129896">"텐트"</item>
+    <item msgid="3861584909935022342">"필름 릴"</item>
+    <item msgid="5827426100157335512">"책"</item>
+    <item msgid="8585828346253128384">"연꽃"</item>
+    <item msgid="8788370542815300188">"사람의 마음"</item>
+    <item msgid="7287354964767553293">"헤드폰"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"기차"</item>
+    <item msgid="4903790544026923026">"자동차"</item>
+    <item msgid="5010405583912314582">"포크와 나이프"</item>
+    <item msgid="8939998598599064900">"장바구니"</item>
+    <item msgid="3379605903308731893">"아이"</item>
+    <item msgid="7808668968550293112">"동물 발"</item>
+    <item msgid="1000692647524056504">"별표 배지"</item>
+    <item msgid="8270261073421676502">"두 사람"</item>
+    <item msgid="5767782819651505460">"별"</item>
+    <item msgid="4368451291862729334">"하트"</item>
+    <item msgid="2613199102208419986">"집"</item>
+    <item msgid="3022279986430275040">"반달"</item>
+    <item msgid="5421089790869483206">"시계"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index bbd7a80..6023a41 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"일시 정지됨"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"알 수 없음"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"미리보기"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR 코드"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"축소"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"확대"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"항상"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"청각 보조 기기 설정"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"단축키, 보청기 호환성"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"미리 설정"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"청능사가 사전 설정한 프로그램이 없습니다."</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"사전 설정을 업데이트할 수 없음"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"오디오 출력"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"오디오 출력 정보"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"설정에서 이 앱의 언어를 선택할 수 없습니다."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"언어가 앱에서 사용 가능한 언어와 다를 수 있습니다. 일부 앱에서는 이 설정을 지원하지 않을 수도 있습니다."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"각 앱에 사용할 언어를 설정하세요."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"시스템, 앱, 웹사이트는 기본 언어 중 최우선 지원 언어를 사용합니다."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"기기, 앱, 웹사이트는 사용자의 선호 언어 목록 중 최우선 지원 언어를 사용합니다.\n\n많은 앱에서도 사용자의 선호 언어 지역을 사용해 날짜, 숫자, 단위의 형식을 지정합니다. 지역을 변경하려면 언어를 추가한 후 원하는 지역을 선택하세요."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"앱별로 언어를 선택하려면 앱 언어 설정으로 이동하세요."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"앱 언어 자세히 알아보기"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"시스템 언어를 %s 언어로 변경하시겠습니까?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"사용 안함"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{사용 - 앱 #개가 위치 정보에 액세스할 수 있음}other{사용 - 앱 #개가 위치 정보에 액세스할 수 있음}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"로드 중…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"근처 기기 액세스 권한이 있는 앱은 연결된 기기 간의 상대적인 위치를 파악할 수 있습니다."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"근처 기기 권한이 있는 앱이 연결된 기기의 상대적인 위치를 파악할 수 있습니다."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"앱 및 서비스에 대한 위치 정보 액세스가 사용 중지되어 있습니다. 그래도 긴급 전화번호로 전화를 걸거나 문자 메시지를 보내면 기기의 위치 정보가 긴급 구조원에게 전달될 수 있습니다."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"위치 설정에 대해 자세히 알아보기"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"변경하려면 ChromeOS 설정 &gt; 개인 정보 보호 및 보안 &gt; 개인 정보 보호 설정 &gt; 위치 액세스로 이동하세요."</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"얼굴 및 <xliff:g id="WATCH">%s</xliff:g> 추가됨"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"얼굴, 지문, <xliff:g id="WATCH">%s</xliff:g> 추가됨"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"얼굴, 지문, <xliff:g id="WATCH">%s</xliff:g> 추가됨"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"신원 확인이 사용 설정되어 있으며 생체 인식 인증이 필요합니다."</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator 잠금 해제"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"시계 추가됨"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"시계 설정하기"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"스마트시계 잠금 해제 자세히 알아보기"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"시계 추가"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"시계 삭제"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"지문 및 얼굴 인식 잠금 해제"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"얼굴 인식/지문 잠금 해제"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"직장용 얼굴 인식/지문 잠금 해제"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"설정 필요"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"얼굴 및 지문 추가됨"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"비공개 스페이스 설정 중…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"비공개 스페이스를 설정할 수 없음"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"다시 시도"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"종료"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"비공개 스페이스를 사용할 수 없습니다.\n가능한 원인 보기"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"가능한 원인 보기"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"새로운 비공개 스페이스용 잠금 방식을 선택하시겠습니까?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"비공개 스페이스에만 새 잠금 방식을 설정하거나 기기 잠금 해제에 사용하는 것과 동일한 잠금 방식을 사용할 수 있습니다."</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"화면 잠금 사용"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"블루투스가 켜져 있으면 기기가 근처의 다른 블루투스 기기와 통신할 수 있습니다.\n\n기기 사용 환경을 개선하기 위해 블루투스가 꺼져 있을 때도 앱 및 서비스에서 언제든지 근처에 기기가 있는지 검색할 수 있습니다. 예를 들면 위치 기반 기능 및 서비스를 개선하는 데 이 기능이 사용되기도 합니다. 설정을 변경하려면 블루투스 검색 설정으로 이동하세요."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"기기에서 블루투스가 켜져 있으면 근처의 다른 블루투스 기기와 통신할 수 있습니다. Quick Share 및 내 기기 찾기 등의 기능에서 블루투스를 사용합니다.\n\n블루투스가 꺼져 있어도 앱 및 서비스에서 언제든지 근처 기기를 검색할 수 있습니다. 예를 들어 위치 기반 기능 및 서비스를 향상하기 위한 용도로 블루투스를 사용합니다. 이 설정은 블루투스 검색 설정에서 변경할 수 있습니다."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"변경"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"기기 세부정보"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"키보드 설정"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"설정 더보기"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"펌웨어 업데이트, 정보 등"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"도움말 및 지원"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"기기 블루투스 주소: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"기기 블루투스 주소: \n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"기기를 지우시겠습니까?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"실험 단계이며 오디오 음질을 개선합니다."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"기기 지우기"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"앱 연결 해제"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"설정 더보기"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"연결된 블루투스 오디오 기기의 최대 개수"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"연결된 블루투스 오디오 기기의 최대 개수 선택"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC 상세 공급업체 디버그 로그"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"기기를 다시 시작하시겠습니까?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"세부 NFC 로깅은 개발용으로만 사용됩니다. 추가 NFC 데이터는 버그 신고에 포함되며, 여기에는 개인 정보가 포함될 수 있습니다. 이 설정을 변경하려면 기기를 다시 시작하세요."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"다시 시작"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"사용"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"사용 안함"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"외부 디스플레이"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"외부 디스플레이 사용"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"디스플레이 해상도"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"외부 디스플레이가 연결되지 않았습니다"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"회전"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"표준"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"회전 또는 해상도를 변경하면 현재 실행 중인 앱이 중지될 수 있습니다"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"화면을 미러링하려면 기기가 외부 디스플레이에 연결되어 있어야 합니다"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"옵션 더보기"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"전송"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"미러링"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"무선 디스플레이 사용"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"색상 자동 조절"</string>
     <string name="brightness" msgid="6216871641021779698">"밝기 수준"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"밝기 자동 조절"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"밝기 자동 조절 정보"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"화면 밝기가 환경 및 활동에 맞게 자동으로 조정됩니다. 슬라이더를 수동으로 이동하여 밝기 자동 조절 기능이 사용자의 환경설정을 학습하도록 할 수 있습니다."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"사용"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"사용 안함"</string>
@@ -1311,8 +1344,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="8850185380445309835">"기본 SIM을 업데이트하시겠습니까?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g>이(가) 기기에 있는 유일한 SIM입니다. 모바일 데이터, 전화 및 SMS 메시지에 이 SIM을 사용하시겠습니까?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"이제 <xliff:g id="NEW_SIM">%1$s</xliff:g> SIM이 기본 SIM으로 설정됩니다"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"모바일 데이터 사용 지역을 확장할까요?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"더 우수한 가용성이 제공될 때 기기가 자동으로 <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> 모바일 데이터로 전환하도록 허용합니다."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"조직에서 통화, 메시지, 네트워크 트래픽을 볼 수도 있습니다."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"옵션"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"접근성"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"물리적 키보드"</string>
-    <string name="show_ime" msgid="4334255501724746849">"터치 키보드 사용"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"물리적 키보드가 활성 상태인 경우 화면에 켜 둠"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"바운스 키"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g>밀리초 이내에 동일한 키를 빠르게 반복해서 누를 시 키보드에서 이를 무시합니다."</string>
     <string name="slow_keys" msgid="2891452895499690837">"느린 키"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"키를 누를 때 활성화하기까지 걸리는 시간을 <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g>밀리초로 조정합니다."</string>
     <string name="sticky_keys" msgid="7317317044898161747">"고정키"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"단축키를 사용할 때 키를 함께 누르지 않고 한 번에 하나씩 누릅니다"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"마우스 키"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"실제 키보드를 사용해서 마우스를 제어합니다."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"단축키"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"단축키 목록 표시"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"직장 프로필 키보드 및 도구"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"개별 터치패드 탐색 동작 맞춤설정"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"역방향 스크롤"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"아래로 스크롤하면 콘텐츠가 위로 이동합니다."</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"오른쪽 하단 탭하기"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"더 많은 옵션을 확인하려면 터치패드 오른쪽 하단을 탭합니다"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"오른쪽 하단 클릭"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"더 많은 옵션을 확인하려면 터치패드 오른쪽 하단을 클릭합니다"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"포인터 속도"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"포인터 채움 스타일"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"포인터 채움 스타일을 검은색으로 변경"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"포인터 채움 스타일을 노란색으로 변경"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"포인터 채움 스타일을 분홍색으로 변경"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"포인터 채움 스타일을 파란색으로 변경"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"포인터 획 스타일"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"흰색"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"검은색"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"없음"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"터치패드 동작 알아보기"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"트랙패드, 트랙 패드, 마우스, 커서, 스크롤, 스와이프, 마우스 오른쪽 버튼으로 클릭, 클릭, 포인터"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"마우스 오른쪽 버튼으로 클릭, 탭"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"초기화"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"특수키 선택"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>의 새 키 선택:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> 레이아웃"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"기본"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"자동: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"사용자 선택: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"음성"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"포인터 속도"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"포인터 크기"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"포인터 크기 줄이기"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"포인터 크기 늘리기"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"게임 컨트롤러"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"진동 리디렉션"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"게임 컨트롤러가 연결되어 있으면 진동을 컨트롤러로 전송합니다."</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"무시하고 계속하기"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"취소"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"확대 설정"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"한 손가락으로 패닝"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"한 손가락으로 돋보기 이동"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"한 손가락으로 드래그하여 화면을 움직입니다"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"한 손가락으로 드래그하여 확대 영역을 이동하세요."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"두 손가락으로 드래그하여 확대 영역을 이동하세요."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"화면의 일부만 확대하는 동안에는 사용할 수 없음"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"버튼을 탭하여 확대/축소"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"화면을 빠르게 확대하여 콘텐츠를 더 크게 표시합니다."</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;확대하는 방법:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. 바로가기를 사용하여 확대를 시작합니다.&lt;br/&gt; {1,number,integer}. 화면을 탭합니다.&lt;br/&gt; {2,number,integer}. 두 손가락으로 드래그하여 화면을 움직입니다.&lt;br/&gt; {3,number,integer}. 두 손가락을 모아서 배율을 조정합니다.&lt;br/&gt; {4,number,integer}. 바로가기를 사용하여 확대를 멈춥니다.&lt;br/&gt;&lt;br/&gt; &lt;b&gt;일시적으로 확대하는 방법:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. 확대 유형이 전체 화면으로 설정되어 있어야 합니다.&lt;br/&gt; {1,number,integer}. 바로가기를 사용하여 확대를 시작합니다.&lt;br/&gt; {2,number,integer}. 화면 아무 곳이나 길게 터치합니다.&lt;br/&gt; {3,number,integer}. 손가락으로 드래그하여 화면을 움직입니다.&lt;br/&gt; {4,number,integer}. 손가락을 떼어 확대를 멈춥니다."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;확대하는 방법:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. 단축키를 사용하여 확대를 시작합니다.&lt;br/&gt; {1,number,integer}. 화면을 탭합니다.&lt;br/&gt; {2,number,integer}. 두 손가락으로 드래그하여 화면을 움직입니다.&lt;br/&gt; {3,number,integer}. 두 손가락을 모으거나 벌려서 확대/축소 배율을 조정합니다.&lt;br/&gt; {4,number,integer}. 단축키를 사용해 확대를 멈춥니다.&lt;br/&gt;&lt;br/&gt; 일시적으로 확대하는 등의 작업을 수행할 수도 있습니다."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;확대하는 방법:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. 단축키를 사용하여 확대를 시작합니다.&lt;br/&gt; {1,number,integer}. 화면을 탭합니다.&lt;br/&gt; {2,number,integer}. 한 손가락 또는 두 손가락으로 드래그하여 화면을 움직입니다.&lt;br/&gt; {3,number,integer}. 두 손가락을 모으거나 벌려서 확대/축소 배율을 조정합니다.&lt;br/&gt; {4,number,integer}. 단축키를 사용해 확대를 멈춥니다.&lt;br/&gt;&lt;br/&gt; 일시적으로 확대하는 등의 작업을 수행할 수도 있습니다."</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_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g>페이지 중 <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>페이지"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"접근성 버튼 바로가기"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"플로팅 버튼을 탭합니다."</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"접근성 동작"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"화면 하단의 접근성 버튼 <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>을 탭합니다. 기능 간에 전환하려면 접근성 버튼을 길게 터치합니다."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"두 손가락을 사용하여 화면 하단에서 위로 스와이프하세요.\n\n기능 간에 전환하려면 두 손가락을 사용하여 위로 스와이프한 후 잠시 기다립니다."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"세 손가락을 사용하여 화면 하단에서 위로 스와이프하세요.\n\n기능 간에 전환하려면 세 손가락을 사용하여 위로 스와이프한 후 잠시 기다립니다."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{화면 하단에서 위로 스와이프합니다. 기능 간에 전환하려면 위로 스와이프한 후 잠시 기다립니다.}other{화면 하단에서 손가락 #개를 사용하여 위로 스와이프합니다. 기능 간에 전환하려면 손가락 #개를 사용하여 위로 스와이프한 다음 잠시 기다립니다.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"옵션 더보기"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"<xliff:g id="SERVICE">%1$s</xliff:g> 자세히 알아보기"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"볼륨 키"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"볼륨 키"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"볼륨 키 2개를 길게 누릅니다."</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"두 손가락으로 화면을 두 번 탭하기"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"손가락 %1$d개를 사용하여 두 번 탭"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"손가락 %1$d개를 사용하여 화면을 빠르게 두 번 탭합니다."</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"세 번 탭"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"화면을 빠르게 %1$d번 탭합니다. 이렇게 하면 기기가 느려질 수 있습니다."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"손가락 %1$d개를 사용하여 두 번 탭"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"두 손가락으로 화면을 {0, 숫자, 정수}번 빠르게 탭하세요."</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"세 번 탭하기"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"세 번 탭"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"화면을 {0,number,integer}번 빠르게 탭합니다. 이 바로가기를 사용하면 기기가 느려질 수 있습니다."</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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"단축키 설정"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"잠금 화면에서 단축키 사용"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"잠금 화면에서 기능 단축키 사용을 허용합니다. 볼륨 키 2개를 몇 초 동안 동시에 길게 누릅니다."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"접근성 버튼"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"접근성 버튼 및 동작"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"이 서비스가 제대로 작동하지 않습니다."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"접근성 단축키"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"빠른 설정에 표시"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"빨간색과 초록색"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"빨간색과 초록색"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"적녹색약, 녹색약"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"적녹색약, 적색약"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"파란색과 노란색"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"그레이 스케일"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"강도"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"녹색약"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"적색약"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"그레이 스케일 모드에서나 색상 보정이 사용 중지된 경우 사용할 수 없습니다"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"더 어둡게"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"화면 더 어둡게 하기"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"청록색"</string>
     <string name="color_yellow" msgid="5957551912912679058">"노란색"</string>
     <string name="color_magenta" msgid="8943538189219528423">"자홍색"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"<xliff:g id="SERVICE">%1$s</xliff:g>에서 기기를 완전히 제어하도록 허용하시겠습니까?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g>에 필요한 기능:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"권한 요청을 보이지 않게 하는 앱이 있어서 설정에서 내 응답을 확인할 수 없습니다."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g>이(가) 기기의 전체 제어 권한을 요청합니다. 서비스가 화면을 읽고 거동이 불편한 사용자를 대신하여 작업을 실행할 수 있습니다. 대부분의 앱에는 이러한 제어 수준이 적절하지 않습니다."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"접근성 관련 지원을 제공하는 앱에는 완벽한 제어권을 부여하는 것이 좋으나, 대부분의 앱에는 적합하지 않습니다."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"화면 확인 및 제어"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"화면에 표시된 모든 콘텐츠를 읽고 다른 앱 위에 콘텐츠를 표시할 수 있습니다."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"작업 확인 및 실행"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"앱 또는 하드웨어 센서와의 상호작용을 추적할 수 있으며 나를 대신해 앱과 상호작용할 수 있습니다."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"허용"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"거부"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"사용 중지"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"사용 중/<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> 및 <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"블루투스 기기의 공간 음향도 사용 설정할 수 있습니다."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"연결된 기기 설정"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"공간 음향"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"사용 안함"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"사용 안함"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"사용 안함"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{없음}=1{예약 1개 설정됨}other{예약 #개 설정됨}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"방해 금지 모드"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"우선순위 모드"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"모드 추가"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"모드"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"수면, 업무, 운전 등 모든 상황에 맞는 모드로 방해 요소를 최소화하고 중요한 사항에 집중하세요."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"나만의 모드 만들기"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"중요한 사람과 앱의 알림만 받기"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"일정 설정"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"다음 자동 일정"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"요일 및 시간"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\'평일 오전 9시~오후 5시\'"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"캘린더 일정"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} 모드가 활성화됨}=2{{mode_1} 및 {mode_2} 모드가 활성화됨}=3{{mode_1}, {mode_2}, {mode_3} 모드가 활성화됨}other{{mode_1}, {mode_2} 외 #개 모드가 활성화됨}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{모드 1개가 자동으로 사용 설정될 수 있음}other{모드 #개가 자동으로 사용 설정될 수 있음}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"사용"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"설정되지 않음"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"사용 중지됨"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"모드 만들기"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"커스텀"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"지금 사용 설정"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"사용 중지"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"모드를 찾을 수 없음"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"방해 요소 제한"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"방해 요소 차단"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g> 설정"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"방해 금지 모드 사용 설정"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"알람 및 미디어 소리 예외"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"예약"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"예약 삭제"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"삭제"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"이름 변경"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"삭제"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"\'<xliff:g id="MODE">%1$s</xliff:g>\' 모드를 삭제하시겠습니까?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"수정"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"예약"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"예약"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"자동으로 사용 설정"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"캘린더 추가"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"내 캘린더 사용"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"일정"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"일정 설정"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"자동으로 사용 설정되는 시기"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"이벤트 일정"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"다음 이벤트 중에 사용 설정"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"초대 답장 위치"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"시간 일정"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"일정"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g>시간 <xliff:g id="MINUTES">%2$d</xliff:g>분"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"예약"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"소리를 내는 방해 요소 허용"</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="mode_interruption_filter_title" msgid="6657431939996264417">"알림 허용 항목"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"추가 작업"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"알림 필터"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"설정 더보기"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{꺼짐}=1{꺼짐/모드 1개가 자동으로 사용 설정될 수 있음}other{꺼짐/모드 #개가 자동으로 사용 설정될 수 있음}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"디스플레이 설정"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"디스플레이 옵션"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"그레이 스케일"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"어두운 테마 사용"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"어두운 배경에 밝은 텍스트를 표시하도록 OS와 앱을 전환합니다. 이렇게 하면 눈의 피로도를 낮출 수 있고, 일부 기기에서는 배터리를 크게 절약할 수 있습니다."</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{디스플레이 변경사항 없음}=1{{effect_1}}=2{{effect_1} 및 {effect_2}}=3{{effect_1}, {effect_2}, {effect_3}}other{{effect_1}, {effect_2} 외 #개}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"모든 알림 허용"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"사람, 앱, 소리 예외"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"필터링한 알림에 대한 표시 옵션"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"방해 금지 모드 사용 시"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"알림 소리 차단"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"알림 열기"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"다시 알림 허용"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"앱 아이콘에 알림 표시 점 사용"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"알림 번들"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"대화창"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"대화창"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"이 대화를 대화창으로 표시"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"알림 닫기 또는 일시중지, 전화 받기 등 알림에 대해 버튼에 표시된 조치를 취하거나 메시지에 답장할 수 있습니다."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"설정 변경"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"방해 금지 모드를 켜거나 끄고 관련 설정을 변경할 수 있습니다."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"모드를 관리하고 활성화하며 관련 설정을 변경할 수 있습니다."</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_modes_warning_summary" msgid="7528432011433844158">"<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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"실시간"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"이 앱은 향상된 설정을 지원하지 않습니다."</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"기타 설정"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"앱 안에서 추가 설정을 볼 수 있음"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"적응형 알림"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"적응형 알림 사용"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"짧은 시간 내에 많은 알림을 받으면 휴대전화에서 볼륨을 낮추고 최대 2분간 화면에 표시되는 팝업을 최소화합니다. 통화, 알람, 우선순위 대화의 경우 여전히 진동 또는 소리가 울리거나 화면에 표시되며 화면 상단을 아래로 당기면 모든 알림을 간편하게 확인할 수 있습니다."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"알림 쿨다운"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"알림 쿨다운 사용하기"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"짧은 시간 내에 많은 알림을 받으면 최대 2분간 기기에서 볼륨을 낮추고 알림을 최소화합니다. 통화, 알람, 우선순위 대화는 영향을 받지 않습니다. \n\n쿨다운 중에 받은 알림은 화면 상단에서 아래로 당겨서 확인할 수 있습니다."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"직장 프로필에 적용"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"직장 프로필 앱에 적용"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR 도우미 서비스"</string>
@@ -3650,6 +3717,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"모드 액세스"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"모드 액세스 허용"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"설치된 앱 중에서 모드 액세스를 요청한 앱이 없습니다."</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"이 앱의 알림을 허용하지 않았습니다."</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"사용자의 요청에 따라 Android에서 기기에 이 카테고리의 알림이 표시되지 않도록 차단하고 있습니다"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"사용자의 요청에 따라 Android에서 기기에 이 그룹의 알림이 표시되지 않도록 차단하고 있습니다"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"카테고리"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"기타"</string>
     <string name="no_channels" msgid="4716199078612071915">"이 앱에서 게시한 알림이 없음"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"사용하지 않는 카테고리 표시"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"앱 내 추가 설정"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"사용하지 않는 카테고리 표시"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"사용하지 않는 카테고리 숨기기"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g>~<xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"대화"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"모든 대화"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"모든 대화"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"우선순위 대화"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"우선순위 대화"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"없음"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"예외 앱"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"선택한 앱"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"없음"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"모두"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{예외 앱 없음}=1{{app_1} 예외}=2{{app_1} 및 {app_2} 예외}=3{{app_1}, {app_2}, {app_3} 예외}other{{app_1}, {app_2} 외 #가지 예외}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g>(직장용)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"계산 중…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"앱에서 무시하도록 허용"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"예외 앱"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"앱 추가 선택"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"예외 소리 없음"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"예외 사용자 없음"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"일부 사람만 예외"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"반복 발신자의 방해 허용"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"모든 사람 예외"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"반복 발신자"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"반복 발신자 허용"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time}까지 1시간 동안 알람만 허용으로 변경}other{{time}까지 #시간 동안 알람만 허용으로 변경}}"</string>
     <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_action_change_name" msgid="766639614789907016">"이름 변경"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"아이콘 변경"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"아이콘 변경"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"수정 모드"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"모드 만들기"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"커스텀 모드"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"모드 이름"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"캘린더 일정"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"취침 시간 루틴"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"운전 중"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"앱 설정"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"<xliff:g id="APP_NAME">%1$s</xliff:g>의 정보 및 설정"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"관리자: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g> 모드를 사용 중지하시겠습니까?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"이 모드를 사용 중지하면 다시 사용 설정할 수 없습니다."</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"사용 중지"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g> 모드를 사용 설정하시겠습니까?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"이 모드는 해당 설정에 따라 자동으로 사용 설정될 수 있습니다."</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"사용"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"규칙적인 일정을 따르는 모드를 설정합니다."</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"캘린더 일정 및 초대 응답을 동기화하는 모드를 설정합니다."</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"마음이 차분해지는 수면 루틴을 설계합니다. 알람을 설정하고, 화면을 어둡게 하고, 알림을 차단합니다."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"방해받지 않으며 집중되는 운전을 위해 도로에서의 안전을 최우선으로 고려합니다."</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"기기의 방해 요소를 차단하여 집중력을 높입니다."</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"조용한 환경을 위해 모든 방해 요소를 제거합니다."</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"다양한 사용자에 맞게 기기 환경 및 설정을 맞춤설정합니다."</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"중요한 사람 및 앱만 연락할 수 있도록 허용하여 방해를 최소화합니다."</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"규칙적인 일정을 따르는 모드를 설정하세요"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"기기를 일정에 맞게 동기화하세요"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"하루를 상쾌하게 시작하세요"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"운전 중에는 안전을 우선시하세요"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"집중력을 높여 흠뻑 몰입하세요"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"매너 모드가 필요할 때 설정하세요"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"사용 안내를 통해 자신 있게 관리하세요"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"주의력을 관리하세요"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"주의"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"닫기"</string>
     <string name="device_feedback" msgid="5351614458411688608">"이 기기에 대한 의견 보내기"</string>
@@ -4006,6 +4110,11 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"<xliff:g id="APP">%1$s</xliff:g>에 대해 모드 액세스 권한을 허용하시겠습니까?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"앱에서 방해 금지 모드를 사용 또는 사용 중지하고, 모드를 관리 및 활성화하고, 관련 설정을 변경할 수 있습니다."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"이 앱에서 생성된 모든 모드가 삭제됩니다."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"최적화하지 않음"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"최적화"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"배터리가 더 빨리 소진될 수 있습니다. 앱의 백그라운드 배터리 사용이 더 이상 제한되지 않습니다."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"케이스"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"배터리"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"설정 패널"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"데스크톱 모드 강제 사용"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"보조 디스플레이에서 실험적 데스크톱 모드 강제 사용"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"자유 형식 창 사용"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"보조 디스플레이에서 자유 형식 창을 사용하도록 설정"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"멀티 윈도우에서 크기 조정 불가 앱 사용"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"멀티 윈도우에서 크기 조정 불가 앱 허용"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"강제로 어둡게 재정의"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"모바일 데이터"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"기기 환경을 개선하기 위해 Wi‑Fi가 꺼져 있을 때도 앱과 서비스에서 Wi‑Fi 네트워크를 검색할 수 있습니다. 예를 들면 위치 기반 기능 및 서비스를 개선하는 데 이 기능이 사용되기도 합니다. 이 설정은 Wi‑Fi 검색 설정에서 변경할 수 있습니다."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"변경"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"연결됨"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"일시적으로 연결됨"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"일시적으로 <xliff:g id="SUBNAME">%1$s</xliff:g> 사용"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"앱 고정 사용"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"개발자 옵션 사용"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"인쇄 서비스 사용"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"여러 사용자 허용"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"사용자 전환 허용"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"허용, 멀티, 사용자, 허가, 다수"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"다중, 사용자, 프로필, 사람, 계정, 전환, 다수"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"무선 디버깅 사용"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>에서 이 휴대전화에 연결하려고 합니다.\n\n전에는 <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>에 연결한 적이 없습니다."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"연결 안함"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"연결"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE 설정"</string>
-    <string name="tare_on" msgid="2386073225978684535">"켜짐"</string>
-    <string name="tare_off" msgid="6305694402929756726">"꺼짐"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"기본 설정으로 복원"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"설정이 기본값으로 복원되었습니다."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"완충 시 최대 잔량"</string>
-    <string name="tare_balances" msgid="731881382594747961">"잔액"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"소비 제한"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"초기 소비 제한"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"최소 소비 제한"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"최대 소비 제한"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"수정자"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"작업(제작 비용)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"작업(기본 가격)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"단일 이벤트별 리워드"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"이벤트 동안(초당) 받을 수 있는 리워드"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"일일 최대 리워드"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"앱 설치"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"상위 활동"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"알림 확인됨"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"15분 이내 알림 확인됨"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"알림 상호작용"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"위젯 상호작용"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"기타 사용자 상호작용"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"가장 높은 우선순위 작업 시작"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"가장 높은 우선순위 작업 실행 중"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"높은 우선순위 작업 시작"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"높은 우선순위 작업 실행 중"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"기본 우선순위 작업 시작"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"기본 우선순위 작업 실행 중"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"낮은 우선순위 작업 시작"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"낮은 우선순위 작업 실행 중"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"가장 낮은 우선순위 작업 시작"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"가장 낮은 우선순위 작업 실행 중"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"작업 시간 초과 페널티"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"완충 시 최소 잔량(예외)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"완충 시 최소 잔량(헤드리스 시스템 앱)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"완충 시 최소 잔량(나머지 앱)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"완충 시 최소 잔량 추가(앱 업데이터)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"충전 중"</item>
-    <item msgid="658627268149681677">"잠자기"</item>
-    <item msgid="1599558140284643834">"절전 모드"</item>
-    <item msgid="588427840913221601">"프로세스 상태"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"확인"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"미리보기"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"화면 보호기 선택"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"추가 정보 표시"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"태블릿이 도킹되었을 때 화면에 표시할 항목을 선택하세요. 화면 보호기를 사용하면 기기에서 더 많은 에너지를 사용할 수 있습니다."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"맞춤설정"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> 맞춤설정"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"자유 형식 지원을 사용 설정하려면 재부팅해야 합니다."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"보조 디스플레이에서 데스크톱 모드를 강제 실행하려면 재부팅해야 합니다."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"자유 형식 창 지원을 사용 설정하려면 재부팅해야 합니다."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"자유 형식 창의 사용 가능 여부를 업데이트하려면 재부팅해야 합니다."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"보조 디스플레이에서 자유 형식 창을 사용하려면 재부팅해야 합니다."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"지금 재부팅"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"나중에 재부팅"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"공간 음향"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"장미색"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"자홍색"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"보라색"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"완료"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"저장"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"취소"</string>
     <string name="contrast_default" msgid="8918545965525226966">"기본값"</string>
     <string name="contrast_medium" msgid="384414510709285811">"보통"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"사용"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"사용 안함"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"사용"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"오디오 %1$d%% 왼쪽, %2$d%% 오른쪽"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"오디오 %1$d%% 오른쪽, %2$d%% 왼쪽"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"기기 이름이 설치한 앱에 표시됩니다. 블루투스 기기 및 Wi-Fi 네트워크에 연결하거나 Wi-Fi 핫스팟을 설정할 때도 기기 이름이 다른 사용자에게 표시될 수 있습니다."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"문법적 성별"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"문법적 성별 선택"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"오디오 공유 중지됨"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"호환되는 기기를 연결하세요"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"오디오 공유를 시작하려면 먼저 LE 오디오 헤드폰을 휴대전화에 연결하세요."</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> 기기로 전환"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"LE 오디오 스트림에 연결"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"주변 오디오 스트림"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"오디오 스트림"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"스트림 듣기"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"오디오 스트림 QR 코드를 스캔하여 <xliff:g id="DEVICE_NAME">%1$s</xliff:g> 기기로 들으세요."</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"공유 중에는 비밀번호를 수정할 수 없습니다. 비밀번호를 변경하려면 먼저 오디오 공유를 사용 중지하세요."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR 코드 스캐너"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"도움이 필요하신가요?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"설정 검색"</string>
 </resources>
diff --git a/res/values-ky/arrays.xml b/res/values-ky/arrays.xml
index 69d64d0..ecd3a22 100644
--- a/res/values-ky/arrays.xml
+++ b/res/values-ky/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Уйку режими"</item>
-    <item msgid="4152450357280759894">"Унаа айдоо"</item>
-    <item msgid="7096549258219399423">"Сүңгүтүүчү"</item>
-    <item msgid="2760716776980432977">"Башкарылган"</item>
-    <item msgid="601734478369121764">"Жылдыз"</item>
-    <item msgid="6243809315432780521">"Жылнаама"</item>
-    <item msgid="4913577903148415331">"Убакыт"</item>
-    <item msgid="3653377604690057780">"Театр"</item>
-    <item msgid="3843711267408385410">"Гүл"</item>
+    <item msgid="1216815120972438676">"Портфель"</item>
+    <item msgid="184985872234062767">"Классикалык имарат"</item>
+    <item msgid="9189550412466785530">"Көп кабаттуу үй"</item>
+    <item msgid="2142527562511049422">"Кеп булутчасы"</item>
+    <item msgid="2548100558260478605">"Адамдардын тобу"</item>
+    <item msgid="2270003903304578284">"Электр лампасы"</item>
+    <item msgid="4793496619091161864">"Жылнаама"</item>
+    <item msgid="5673625795644364100">"Тынчымды алба"</item>
+    <item msgid="1423820834865831361">"Чуркап бараткан киши"</item>
+    <item msgid="2037298830718732608">"Гольф"</item>
+    <item msgid="2197835014443491074">"Спортзалдагы гантель"</item>
+    <item msgid="2730180105015616518">"Сууда сүзүү"</item>
+    <item msgid="2666922823253345958">"Сейилдеп бараткан киши"</item>
+    <item msgid="8234880356472211396">"Топ ыргытып жаткан киши"</item>
+    <item msgid="4642980625253001443">"Тээп жаткан киши"</item>
+    <item msgid="4324795269518833500">"Оюн көзөмөлдөгүчү"</item>
+    <item msgid="7789966425125441125">"Сүрөтчүнүн түстөр топтому"</item>
+    <item msgid="663512680597461570">"Кар бүртүгү"</item>
+    <item msgid="7952183800501346803">"Кумдуу жээктеги чатыр"</item>
+    <item msgid="799139025758265891">"Устаканадагы аспаптар"</item>
+    <item msgid="1330084588359129896">"Чатыр"</item>
+    <item msgid="3861584909935022342">"Тасма түрмөгү"</item>
+    <item msgid="5827426100157335512">"Аудиокитеп"</item>
+    <item msgid="8585828346253128384">"Лотос гүлү"</item>
+    <item msgid="8788370542815300188">"Адамдын акылы"</item>
+    <item msgid="7287354964767553293">"Гарнитура"</item>
+    <item msgid="2530059623783800987">"Сыналгы"</item>
+    <item msgid="5307182323469376758">"Поезд"</item>
+    <item msgid="4903790544026923026">"Унаа"</item>
+    <item msgid="5010405583912314582">"Вилка жана бычак"</item>
+    <item msgid="8939998598599064900">"Себет"</item>
+    <item msgid="3379605903308731893">"Бала"</item>
+    <item msgid="7808668968550293112">"Жаныбардын таманы"</item>
+    <item msgid="1000692647524056504">"Жылдызча бейджиги"</item>
+    <item msgid="8270261073421676502">"Эки киши"</item>
+    <item msgid="5767782819651505460">"Жылдыз"</item>
+    <item msgid="4368451291862729334">"Жүрөк"</item>
+    <item msgid="2613199102208419986">"Башкы бет"</item>
+    <item msgid="3022279986430275040">"Жарым ай"</item>
+    <item msgid="5421089790869483206">"Саат"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index f7ccdd8..39604cb 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Убактылуу токтотулду"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Белгисиз"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Алдын ала көрүү"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR коду"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Кичирээк кылуу"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Чоңураак кылуу"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"Ар дайым"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Угуу аппаратынын параметрлери"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Ыкчам баскыч, угуу аппаратынын шайкештиги"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Алдын ала коюлган параметрлер"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Булар аудиолог тарабынан алдын ала коюлган параметрлер эмес"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Алдын ала коюлган параметрлер жаңыртылган жок"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Аудио түзмөк"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Аудио түзмөк жөнүндө"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Бул колдонмонун тилин Параметрлерден тандоого болбойт."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Тил колдонмодо жеткиликтүү тилдерден айырмаланышы мүмкүн. Бул параметр айрым колдонмолор тарабынан колдоого алынбайт болушу мүмкүн."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Ар бир колдонмого өзүнчө тил тандаңыз."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Керектүү тилдердин тизмесиндеги биринчи колдоого алынган тил системанын, колдонмолордун жана вебсайттардын тили болуп калат."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Керектүү тилдердин тизмесиндеги биринчи колдоого алынган тил түзмөктүн, колдонмолордун жана вебсайттардын тили болуп калат.\n\nКөпчүлүк колдонмолор күндөрдү, сандарды жана бирдиктерди форматтоо үчүн тандалган тилдин регионун да колдонушат. Регионду өзгөртүү үчүн тил кошуп, андан соң каалаган регионду тандаңыз."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Ар бир колдонмого өзүнчө тил тандоо үчүн анын тилдер параметрлерине өтүңүз."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Колдонмонун тилдери жөнүндө кеңири маалымат"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Системанын тилин %s тилине өзгөртөсүзбү?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Өчүк"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Күйүк / # колдонмо жайгашкан жерди көрө алат}other{Күйүк / # колдонмо жайгашкан жерди көрө алат}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Жүктөлүүдө…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Жакын жердеги түзмөктөрдү көрө алган колдонмолор туташкан түзмөктөрдүн абалын аныкташы мүмкүн."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Жакын жердеги түзмөктөрдү көрүүгө уруксаты бар колдонмолор туташкан түзмөктөрдүн абалын көрө алышат."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Колдонмолор менен кызматтар түзмөктүн жайгашкан жерин көрө алышпайт. Кырсыктаганда жардамга келчү кызматка чалып же билдирүү жөнөтүп жатканыңызда, ага түзмөгүңүздүн жайгашкан жери көрүнөт."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Жайгашкан жерди аныктоо параметрлери жөнүндө кеңири маалымат"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Өзгөртүү үчүн ChromeOS параметрлери &gt; Купуялык жана коопсуздук &gt; Купуялыкты көзөмөлдөө параметрлери &gt; Жайгашкан жерди аныктоо бөлүмүнө өтүңүз"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Жүз жана <xliff:g id="WATCH">%s</xliff:g> кошулду"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Жүз, манжа издери жана <xliff:g id="WATCH">%s</xliff:g> кошулду"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Жүз, манжа издери жана <xliff:g id="WATCH">%s</xliff:g> кошулду"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Өздүгүн текшерүү функциясы күйүк. Ал биометрикалык маалыматты талап кылат"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator менен кулпусун ачуу"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Саат кошулду"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Саатыңызды тууралап алыңыз"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Кулпуну саат менен ачуу тууралуу кеңири маалымат"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Саат кошуу"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Саатты өчүрүү"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Манжа изи жана Жүзүнөн таанып ачуу"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Түзмөктү жүз жана манжа изи менен ачуу"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Жумуш профилинде жүз жана манжа изи менен ачуу функциясы"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Коюу керек"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Жүз жана манжа изи кошулду"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Жеке мейкиндик туураланууда…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Жеке мейкиндик туураланган жок"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Кайталоо"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Чыгуу"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Жеке мейкиндик жеткиликсиз.\nМүмкүн болгон себептерди көрүү"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Мүмкүн болгон себептерди көрүү"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Жеке мейкиндикти башкача жол менен кулпулайсызбы?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Жеке мейкиндик үчүн жаңы кулпу коюп же түзмөгүңүздүн кулпусун ачкан ыкманы пайдалана аласыз"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Экран кулпусун колдонуу"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Башка түзмөктөргө туташуу үчүн Bluetooth\'ду күйгүзүңүз.\n\nЖерлерди тагыраак аныктап, түзмөктүн иштешин жакшыртуу үчүн Bluetooth өчүп турганда да колдонмолор менен кызматтар жакын жердеги түзмөктөрдү издей беришет. Издебесин десеңиз, Bluetooth түзмөктөрүн издөө параметрин өчүрүп коюңуз."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Bluetooth күйгүзүлгөндө, жакын арадагы башка Bluetooth түзмөктөрүнө байланыша аласыз. Бул технология Тез бөлүшүү жана Түзмөгүм кайда? сыяктуу функцияларда колдонулат.\n\nЖерлерди тагыраак аныктап, түзмөктүн иштешин жакшыртуу үчүн Bluetooth өчүп турганда да колдонмолор менен кызматтар жакын жердеги түзмөктөрдү издей беришет. Муну Bluetooth түзмөктөрүн издөө параметрлеринен өзгөртө аласыз."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Өзгөртүү"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> туташкан жок"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"Коопсуздугуңуз үчүн бул түзмөктү ажыратып, кайра туташтырыңыз"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"Түзмөк унутулсун"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"Жокко чыгаруу"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Түзмөктүн чоо-жайы"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Баскычтоп параметрлери"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Дагы параметрлер"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Орнотулган программаларды жаңыртуу, кеңири маалымат ж.б."</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Кеңештер жана колдоо"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Түзмөктүн Bluetooth дареги: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Түзмөктүн Bluetooth дареги:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Түзмөк унутулсунбу?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Сынамык. Аудионун сапатын жакшыртат."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Түзмөк унутулсун"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Колдонмону ажыратуу"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Дагы параметрлер"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Туташып турган Bluetooth аудио түзмөктөрүнүн уруксат берилген эң жогорку саны"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Туташып турган Bluetooth аудио түзмөктөрүнүн эң жогорку санын тандоо"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Мүчүлүштүктөрдү оңдоо үчүн NFC\'деги кепти дааналатууну жайгаштыруу"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Түзмөк өчүп күйсүнбү?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"NFC\'нин толук таржымалы иштеп чыгуу максатында гана колдонулат. NFC тууралуу кошумча маалыматта мүчүлүштүктөр тууралуу кабарлар жана купуя маалымат камтылышы мүмкүн. Бул параметрди өзгөртүү үчүн түзмөгүңүздү өчүрүп күйгүзүңүз."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Өчүрүп күйгүзүү"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Күйүк"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Өчүк"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Тышкы экран"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Тышкы экранды колдонуу"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Экрандын дааналыгы"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Тышкы экран ажыратылды"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Буруу"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Кадимки"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Буруу же дааналыгын өзгөртүү учурда иштеп жаткан колдонмолорду токтотушу мүмкүн"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Башка экранга чыгаруу үчүн түзмөгүңүз тышкы экранга туташтырылышы керек"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Башка варианттар"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Тышкы экранга чыгаруу"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"күзгү"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Зымсыз мониторду иштетүү"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Ыңгайлаштырылуучу"</string>
     <string name="brightness" msgid="6216871641021779698">"Жарык деңгээли"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Ыңгайлашуучу жарык"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Ыңгайлаштырылуучу жарык жөнүндө"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Экрандын жарыктыгы жүргөн жериңизге жана аткарган ишиңизге жараша автоматтык түрдө өзгөрөт. Сыдырманы колуңуз менен сыдырып, жарыкты өзүңүз каалагандай ыңгайлаштырып алыңыз."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Күйүк"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Өчүк"</string>
@@ -1311,8 +1340,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="8850185380445309835">"Негизги SIM картаны өзгөртөсүзбү?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> түзмөгүңүздөгү жалгыз SIM карта. Аны чалуулар, SMS билдирүүлөрүн жөнөтүү жана мобилдик Интернет үчүн колдоносузбу?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> – негизги SIM картаңыз болуп калды"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Жеткиликтүү тармакка которуласызбы?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Негизги тармак жеткиликсиз болгондо, телефонуңузга <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> байланыш операторунун мобилдик Интернетине автоматтык түрдө которулууга уруксат бериңиз."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Чалуулар, билдирүүлөр жана тармак трафиги уюмуңузга көрүнүшү мүмкүн."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Параметрлер"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Атайын мүмкүнчүлүктөр"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Аппараттык баскычтоп"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Экрандагы баскычтопту колдонуу"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Баскычтоп иштетилгенде экранда көрүнүп турат"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Кайтаруу баскычтары"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> мсек. ичинде баскычтын удаа басылганы этибарга алынбайт"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Жай баскычтар"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"<xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> мсек. өткөндөн кийин басылган баскыч эске алынат"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Жабышма баскычтар"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Ыкчам баскычтарды чогуу басып туруунун ордуна бирден басасыз"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Чычкандын баскычтары"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Чычканды аппараттык баскычтоп аркылуу башкарасыз"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Ыкчам баскычтар"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Ыкчам баскычтардын тизмеси көрүнөт"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Жумуш профилинин баскычтоптору жана куралдары"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Сенсордук тактада жеке өтүү жаңсоолорун ыңгайлаштырыңыз"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Тескери сыдыруу"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Ылдый сыдырганыңызда экрандагы нерсе өйдө жылат"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Ылдыйкы оң бурчту таптаңыз"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Дагы параметрлерди көрүү үчүн сенсордук тактанын ылдыйкы оң бурчун таптаңыз"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Ылдыйкы оң бурчун чыкылдатуу"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Дагы параметрлерди көрүү үчүн сенсордук тактанын ылдыйкы оң бурчун басыңыз"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Көрсөткүчтүн ылдамдыгы"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Көрсөткүчтү толтуруу стили"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Толтуруу стилин карага өзгөртүү"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Толтуруу стилин сарыга өзгөртүү"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Толтуруу стилин күлгүнгө өзгөртүү"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Толтуруу стилин көккө өзгөртүү"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Көрсөткүчтүн стили"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Ак"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Кара"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Жок"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Сенсордук тактанын жаңсоолорун үйрөнүү"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"трекпад, трекпад, чычкан, курсор, сыдыруу, сүрүү, оң баскычын чыкылдатуу, чыкылдатуу, көрсөткүч"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"оң баскычын чыкылдатуу, таптап коюу"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Кайра коюу"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Өзгөртүүчү баскычты тандаңыз"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> үчүн жаңы ачкыч тандаңыз:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Аппараттык баскычтоптогу атайын мүмкүнчүлүктөр"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Жабышма баскычтар, Кайтаруу баскычтары, Чычкандын баскычтары"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> калыбы"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Демейки"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Автоматтык: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Колдонуучу тандаган: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Кеп"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Көрсөткүчтүн ылдамдыгы"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Көрсөткүчтүн өлчөмү"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Көрсөткүчтүн өлчөмүн кичирейтүү"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Көрсөткүчтүн өлчөмүн чоңойтуу"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Оюн контроллери"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Дирилдөөнү багыттоо"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Туташкан учурларда, дирилдөөнү оюн көзөмөлдөгүчүнө жөнөтүү"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Баары бир улантуу"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Жок"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Чоңойтуу параметрлери"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Бир манжа менен жылдыруу"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Лупаны 1 манжаңыз менен жылдырыңыз"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Экрандын башка бөлүгүнө 1 манжаңыз менен жылыңыз"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Чоңойтуу аймагын бир манжаңыз менен сүйрөп жылдырыңыз."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Чоңойтуу аймагын эки манжаңыз менен сүйрөп жылдырыңыз."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Экрандын бир бөлүгүн гана чоңойткондо жеткиликсиз"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Чоңойтуп/кичирейтүү үчүн баскычты басыңыз"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Экранды оңой чоңойто аласыз"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Жакындатуу үчүн:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Чоңойтуу режимин иштетүү үчүн ыкчам баскычты басыңыз&lt;br/&gt; {1,number,integer}. Экранды басыңыз&lt;br/&gt; {2,number,integer}. Экрандын башка бөлүгүнө 2 манжаңыз менен жылыңыз&lt;br/&gt; {3,number,integer}. Чоңойтуп/кичирейтүү үчүн 2 манжаңызды бириктириңиз&lt;br/&gt; {4,number,integer}. Чоңойтуу режиминен чыгуу үчүн ыкчам баскычты басыңыз&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Убактылуу жакындатуу үчүн:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Чоңойтуу режими толук экранга орнотулганын текшериңиз&lt;br/&gt; {1,number,integer}. Чоңойтуу режимин иштетүү үчүн ыкчам баскычты басыңыз&lt;br/&gt; {2,number,integer}. Экрандын бир жерин коё бербей басып туруңуз&lt;br/&gt; {3,number,integer}. Экрандын башка бөлүгүнө манжаңыз менен жылыңыз&lt;br/&gt; {4,number,integer}. Чоңойтуу режиминен чыгуу үчүн манжаңызды көтөрүп коюңуз"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Жакындатуу үчүн:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Чоңойтуу режимин иштетүү үчүн ыкчам баскычты басыңыз&lt;br/&gt; {1,number,integer}. Экранды басыңыз&lt;br/&gt; {2,number,integer}. Экрандын башка бөлүгүнө 2 манжаңыз менен жылыңыз&lt;br/&gt; {3,number,integer}. Чоңойтуп/кичирейтүү үчүн 2 манжаңызды бириктириңиз&lt;br/&gt; {4,number,integer}. Чоңойтуу режиминен чыгуу үчүн ыкчам баскычты басыңыз&lt;br/&gt;&lt;br/&gt; Ошондой эле, убактылуу жакындатып жана башка аракеттерди аткара аласыз."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Жакындатуу үчүн:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Чоңойтуу режимин иштетүү үчүн ыкчам баскычты басыңыз&lt;br/&gt; {1,number,integer}. Экранды басыңыз&lt;br/&gt; {2,number,integer}. Экрандын башка бөлүгүнө 1 же 2 манжаңыз менен жылыңыз&lt;br/&gt; {3,number,integer}. Чоңойтуп/кичирейтүү үчүн 2 манжаңызды бириктириңиз&lt;br/&gt; {4,number,integer}. Чоңойтуу режиминен чыгуу үчүн ыкчам баскычты басыңыз&lt;br/&gt;&lt;br/&gt; Ошондой эле, убактылуу жакындатып жана башка аракеттерди аткара аласыз."</string>
     <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Бул функциянын жардамы менен, экрандагы нерсени чоңойтуп, кичирейте аласыз.\n\n"<b>"Чоңойткуңуз келсе"</b>", кызматты иштетип туруп, экрандын бир жерин басыңыз.\n"<ul><li>"Чоңойгон жерди ары-бери жылдырып көргүңүз келсе, экранды эки же үч манжаңыз менен сүрүңүз."</li>\n<li>"Чоңойтуп/кичирейтүү үчүн эки же үч манжаңызды бириктирип/ажыратыңыз."</li></ul>\n\n<b>"Убактылуу чоңойтуп/кичирейтүү үчүн"</b>" кызматты иштетип, экрандын бир жерин коё бербей басып туруңуз.\n"<ul><li>"Экранды жылдырып көрүү үчүн аны манжаңыз менен сүрүңүз."</li>\n<li>"Кызматты өчүрүү үчүн манжаңызды көтөрүңүз."</li></ul>\n\n"Баскычтопто же чабыттоо тилкесинде көрүнүш чоңойбойт."</string>
     <string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g> ичинен <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>-барак"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Атайын мүмкүнчүлүктөр ыкчам баскычы"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Калкыма баскычты таптап коюңуз"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Атайын мүмкүнчүлүктөр жаңсоосу"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Экрандын төмөн жагында жайгашкан <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> атайын мүмкүнчүлүктөр баскычын басыңыз. Функцияларды которуштуруу үчүн Атайын мүмкүнчүлүктөр баскычын басып, кармап туруңуз."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Экранды 2 манжаңыз менен ылдый жагынан өйдө сүрүңүз.\n\nБашка функцияга өтүү үчүн 2 манжаңыз менен өйдө сүрүп, кармап туруңуз."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Экранды 3 манжаңыз менен ылдый жагынан өйдө сүрүңүз.\n\nБашка функцияга өтүү үчүн 3 манжаңыз менен өйдө сүрүп, кармап туруңуз."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Экранды төмөндөн жогору карай сүрүңүз. Функцияларды которуштуруу үчүн өйдө сүрүп, кармап туруңуз.}other{Экранды # манжаңыз менен төмөндөн жогору карай сүрүңүз. Функцияларды которуштуруу үчүн # манжаңыз менен өйдө сүрүп, кармап туруңуз.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Дагы параметрлер"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"<xliff:g id="SERVICE">%1$s</xliff:g> жөнүндө кеңири маалымат"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Үн баскычтары"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"үн баскычтары"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Үндү катуулатуу/акырындатуу баскычтарын коё бербей басып туруңуз"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Экранды эки манжа менен эки жолу таптоо"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d манжа менен эки жолу таптоо"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Экранды %1$d манжаңыз менен эки жолу тез таптаңыз"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Үч жолу таптап коюу"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Экранды %1$d жолу тез таптаңыз. Түзмөгүңүз жайыраак иштеп калышы мүмкүн."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d манжа менен эки жолу таптоо"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Экранды эки манжаңыз менен {0,number,integer} жолу тез таптаңыз"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Экранды үч жолу басуу"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"үч жолу таптап коюу"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Экранды {0,number,integer} жолу тез басыңыз. Бул ыкчам баскыч түзмөгүңүздү жайлатышы мүмкүн"</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_global_gesture_preference_title" msgid="8866765674372344850">"Үн баскычтарынын ыкчам баскычы"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Ыкчам баскычтардын параметрлери"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Кулпуланган экрандагы ыкчам баскыч"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"Үн баскычтарын кулпуланган экранда колдонуу"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Үндү катуулатуу/акырындатуу баскычтарын бир нече секундга чейин кое бербей басып туруп, кулпуланган экранда белгилүү бир функцияны иштетесиз."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Атайын мүмкүнчүлүктөр баскычы"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Атайын мүмкүнчүлүктөр баскычы жана жаңсоо"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Бул кызмат туура эмес иштеп жатат."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Атайын мүмкүнчүлүктөрдүн ыкчам баскычтары"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Ылдам тууралоолор абалында көргөзүү"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Кызыл-жашыл"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Кызыл-жашыл"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Кызыл-жашыл, жашыл түстү көрө албайт"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Кызыл-жашыл, кызыл түстү көрө албайт"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Көк-сары"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Боз"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Интенсивдүүлүк"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Дейтераномалия (жашыл түстү көрө албайт)"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Протаномалия (кызыл түстү көрө албайт)"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Боз режимде же түстөрдү тууралоо өчүрүлгөндө жеткиликсиз"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Кошумча караңгылатуу"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Экранды кошумча караңгылатуу"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Көгүш"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Сары"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Кочкул"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"<xliff:g id="SERVICE">%1$s</xliff:g> кызматына түзмөгүңүздү толугу менен көзөмөлдөөгө уруксат бересизби?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g>:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Колдонмо уруксат суроо-талабын түшүнбөй жаткандыктан, Параметрлер жообуңузду текшере албайт."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> бул түзмөктү толук көзөмөлдөөнү талап кылууда. Бул кызмат экранды окуп, атайын мүмкүнчүлүктөрдү пайдаланган колдонуучулардын атынан аракеттерди жасай алат. Көзөмөлдүн деңгээли колдонмолордун көбүнө ылайыксыз."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Толук көзөмөл атайын мүмкүнчүлүктөрдү иштеткен колдонмолорго керек болуп, калган көптөгөн колдонмолорго кереги деле жок."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Экранды көрүп, көзөмөлдөө"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Кызмат экрандагы нерселерди окуп, аларды башка колдонмолордун үстүнөн көрсөтөт."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Аракеттерди көрүп, аткаруу"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Кызмат колдонмодо жасаган аракеттериңизге же түзмөктүн сенсорлоруна көз салып, сиздин атыңыздан буйруктарды берет."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Ооба"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Жок"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Өчүрүү"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Күйүк/<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> жана <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Мейкиндиктүү үндү Bluetooth түзмөктөрү үчүн да күйгүзө аласыз."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Туташкан түзмөктөрдүн параметрлери"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Мейкиндиктүү үн"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Өчүк"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Өчүк"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Өчүк"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Жок}=1{1 график коюлду}other{# график коюлду}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Тынчымды алба"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Маанилүүлүк режимдери"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Режим кошуу"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Режимдер"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Алаксытуучу нерселерди азайтып, уйку, жумуш, айдоо жана башка режимдердин жардамы менен көңүлүңүздү керектүү нерселерге буруңуз."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Өзүңүздүн режимиңизди түзүңүз"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Маанилүү байланыштар менен колдонмолордон гана билдирмелерди алып турасыз"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"График түзүү"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Графикти автоматтык түрдө түзүү"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Күн жана убакыт"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"Иш күндөрү саат 09:00 баштап 17:00 чейин\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Жылнаамадагы иш-чаралар"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} иштеп жатат}=2{{mode_1} жана {mode_2} иштеп жатат}=3{{mode_1}, {mode_2} жана {mode_3} иштеп жатат}other{{mode_1}, {mode_2} жана дагы # иштеп жатат}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 режимди автоматтык түрдө күйгүзүүгө болот}other{# режимди автоматтык түрдө күйгүзүүгө болот}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"КҮЙҮК"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Туураланган эмес"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Өчүк"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Режим түзүү"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Жеке"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Күйгүзүү"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Өчүрүү"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Режим табылган жок"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Билдирмелерди чектөө"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Алаксытууларды же үзгүлтүккө учуратуучу нерселерди бөгөттөө"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g> режимин тууралоо"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\"Тынчымды алба\" режимин күйгүзүү"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Ойготкучтар менен медиа добуштар үзгүлтүккө учуратышы мүмкүн"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Ырааттамалар"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Ырааттамаларды өчүрүү"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Өчүрүү"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Аталышын өзгөртүү"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Өчүрүү"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"\"<xliff:g id="MODE">%1$s</xliff:g>\" режими өчүрүлсүнбү?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Түзөтүү"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Ырааттамалар"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Ырааттама"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Автоматтык түрдө күйөт"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Жылнаама кошуу"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Жылнааманы колдонуу"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"График"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"График түзүү"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Качан автоматтык түрдө күйсүн"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Иш-чаранын графиги"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Иш-чараларда күйгүзүү"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Чакырууга жооп берүү"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Убакыт графиги"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"График"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> с. <xliff:g id="MINUTES">%2$d</xliff:g> мүн."</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Ырааттама"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Үнү чыккан билдирмелерге уруксат берүү"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Сиз ала турган билдирмелер"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Кошумча аракеттер"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Билдирме чыпкалары"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Дагы параметрлер"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Өчүк}=1{Өчүк / 1 режим автоматтык түрдө иштетилет}other{Өчүк / # режим автоматтык түрдө иштетилет}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Көрүнүш параметрлери"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Көрүнүш параметрлери"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Боз"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"караңгы теманы иштетүү"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Текстти күңүрт фондо ачык түстө көрүү үчүн OS менен колдонмолорду которуңуз. Бул көзүңүзгө доо кетирбей, айрым түзмөктөрдө батареяны олуттуу үнөмдөөгө жардам бериши мүмкүн"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Көрүнүш өзгөргөн жок}=1{{effect_1}}=2{{effect_1} жана {effect_2}}=3{{effect_1}, {effect_2} жана {effect_3}}other{{effect_1}, {effect_2} жана дагы #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Бардык билдирмелерге уруксат берүү"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Байланыштар, колдонмолор жана добуштар үзгүлтүккө учурашы мүмкүн"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Чыпкаланган билдирмелерди көрсөтүү параметрлери"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"\"Тынчымды алба\" режими күйүп турганда"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Билдирмелердин үнү чыкпайт"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"билдирмени ачуу"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Билдирмени тындырууга уруксат берүү"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Колдонмонун сүрөтчөсүндөгү билдирменин белгиси"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Билдирмелердин топтомдору"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Калкып чыкма билдирмелер"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Калкып чыкма билдирмелер"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Калкып чыкма билдирмелерди көрсөтүү"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Чалууларга жана билдирүүлөргө жооп берип, билдирмелерди убактылуу өчүрүп же жаап, алардагы баскычтарды баса алат."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Параметрлерди өзгөртөт"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"\"Тынчымды алба\" режимин күйгүзүп же өчүрүп, анын параметрлерин өзгөртө алат."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Ал Режимдерди тескеп жана иштетип, тиешелүү параметрлерди өзгөртө алат."</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_modes_warning_summary" msgid="7528432011433844158">"Эгер <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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Анык убакыт"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Бул колдонмодо кеңири жөндөөлөр колдоого алынбайт"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Дагы параметрлер"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Бул колдонмодо кошумча параметрлер бар"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Ыңгайлаштырылуучу билдирмелер"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Ыңгайлаштырылуучу билдирмелерди колдонуу"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Кыска убакыттын ичинде көп сандагы билдирмелерди алганыңызда, телефонуңуз үнүн акырындатып, экрандагы калкыма терезелерди эки мүнөткө чейин азайтат. Чалуулар, ойготкучтар жана маанилүү жазышуулар дирилдеп, үн чыгарып же экранда көрүнө берет. Бардык билдирмелерди экранды өйдө жагынан ылдый сүрүп, оңой таап алууга болот."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Билдирмелердин үнүн басаңдатуу"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Билдирмелердин үнүн басаңдатуу"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Кыска убакыттын ичинде көп сандагы билдирмелер келгенде, түзмөгүңүз үнүн акырындатып, эскертүүлөрдү 2 мүнөткө чейин азайтат. Мунун чалууларга, ойготкучтарга жана маанилүү жазышууларга таасири тийбейт. \n\nБилдирмелердин үнүн басаңдатуу учурунда келген билдирмелерди экранды өйдө жагынан ылдый сүрүп көрүүгө болот."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Жумуш профилдерине колдонуу"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Жумуш профилинин колдонмолоруна карата пайдаланыңыз"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR көмөкчү кызматтары"</string>
@@ -3650,6 +3709,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Режимдерди колдонуу"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Режимдерди колдонууга уруксат берүү"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Бир да орнотулган колдонмо Режимдерди колдонууга уруксат сураган жок"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Бул колдонмонун билдирмелерине тыюу салдыңыз"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Суранычыңыз боюнча Android ушул категориядагы билдирмелерди бул түзмөктөн көрсөтпөй, бөгөттөп жатат"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Суранычыңыз боюнча Android ушул категориядагы билдирмелерди бул түзмөктөн көрсөтпөй, бөгөттөп жатат"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Категориялар"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Башка"</string>
     <string name="no_channels" msgid="4716199078612071915">"Бул колдонмодон эч кандай билдирме келген жок"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Колдонулбаган категорияларды көрсөтүү"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Колдонмонун кошумча параметрлери"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Колдонулбаган категорияларды көрсөтүү"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Колдонулбаган категорияларды жашыруу"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Сүйлөшүүлөр"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Бардык жазышуулар"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"бардык сүйлөшүүлөр"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Маанилүү сүйлөшүүлөр"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"маанилүү жазышуулар"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Эч бири"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"\"Тынчымды алба\" режими таасир этпеген колдонмолор"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Тандалган колдонмолор"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Жок"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Баары"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Бир да колдонмо үзгүлтүккө учурата албайт}=1{{app_1} үзгүлтүккө учурата алат}=2{{app_1} жана {app_2} үзгүлтүккө учурата алат}=3{{app_1}, {app_2} жана {app_3} үзгүлтүккө учурата алат}other{{app_1}, {app_2} жана дагы # үзгүлтүккө учурата алат}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (жумуш)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Эсептелүүдө…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Колдонмолорго өзгөртүп коюуга уруксат берүү"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"\"Тынчымды алба\" режими таасир этпеген колдонмолор"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Дагы колдонмолорду тандаңыз"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Эч нерсе үзгүлтүккө учурата албайт"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Эч ким үзгүлтүккө учурата албайт"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Айрым байланыштар үзгүлтүккө учуратышы мүмкүн"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Кайра чалуучулар үзгүлтүккө учурайт"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Бардык байланыштар үзгүлтүккө учуратышы мүмкүн"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Кайра чалуучулар"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Кайра чалып жаткан абоненттерге уруксат берүү"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} чейин бир саатка \"Ойготкучтар гана\" режимине өзгөртүү}other{{time} чейин # саатка \"Ойготкучтар гана\" режимине өзгөртүү}}"</string>
     <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_action_change_name" msgid="766639614789907016">"Аталышын өзгөртүү"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Сүрөтчөнү өзгөртүү"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Сүрөтчөнү өзгөртүү"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Режимди түзөтүү"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Режим түзүү"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Жеке режим"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Режимдин аталышы"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Жылнаамадагы иш-чаралар"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Уктоо жана ойгонуу убакыты"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Айдап бара жатканда"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Колдонмонун параметрлери"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"<xliff:g id="APP_NAME">%1$s</xliff:g> колдонмосундагы маалымат жана параметрлер"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"<xliff:g id="APP_NAME">%1$s</xliff:g> башкарат"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g> режимин өчүрөсүзбү?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Өчүп турганда бул режим эч качан күйбөйт"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Өчүрүү"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g> иштетилсинби?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Бул режим параметрлерине жараша автоматтык түрдө күйүшү мүмкүн"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Иштетүү"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Кадимки графикке ылайык режимди тууралаңыз"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Жылнаамадагы иш-чаралар жана чакыруу жооптору менен шайкештештирүү үчүн режимди тууралаңыз"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Тынчтандыруучу уйку тартибин түзүңүз. Ойготкучтарды тууралап экранды күңүрт кылып, билдирмелерди бөгөттөңүз."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Көңүл буруп, алаксыбай айдоо үчүн жолдогу коопсуздукка артыкчылык бериңиз"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Ынтаа коюу үчүн түзмөгүңүздөн алаксытууларды же үзгүлтүккө учуратуучу нерселерди бөгөттөңүз"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Тынч чөйрө үчүн бардык алаксыткан нерселерди жоюңуз"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Ар кандай колдонуучулар үчүн түзмөктү колдонууну жана параметрлерди жекелештирүү"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Маанилүү адамдарга жана колдонмолорго гана сиз менен байланышууга уруксат берип, үзгүлтүккө учуроо деңгээлин азайтыңыз"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Кадимки графикке ылайык режимди тууралаңыз"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Түзмөгүңүздү күндөгү иш-чаралар менен шайкештириңиз"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Өзүңүздү 100% сезип ойгонуңуз"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Жолдо баратканда коопсуздукту биринчи орунга койуңуз"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Көңүл топтоңуз"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Сыпайылык маанилүү болгон учурлар үчүн"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Ишенимдүү колдо болушуңуз үчүн жетекетеме"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Жакшылап көңүл буруңуз"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Эскертүү"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Жабуу"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Түзмөк тууралуу пикир билдирүү"</string>
@@ -4006,6 +4102,10 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"<xliff:g id="APP">%1$s</xliff:g> колдонмосуна Режимдерди колдонууга уруксат бересизби?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Бул колдонмо \"Тынчымды алба\" режимин күйгүзүп/өчүрүп, Режимдерди тескеп жана иштетип, тийиштүү параметрлерди өзгөртө алат."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"<xliff:g id="APP">%1$s</xliff:g> үчүн Режимдерге өтүү мүмкүнчүлүгү жоюлсунбу?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Бул колдонмо түзгөн бардык режимдер өчүрүлөт."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Үнөмдөлбөсүн"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Үнөмдөө"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Батареяңыз тез эле отуруп калышы мүмкүн. Мындан ары колдонмонун батареяны фондо сарптоосу чектелбейт."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Кутуча"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Батарея"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Параметрлер панели"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"Иш такта режимин күйгүзүү"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Иш тактанын сынамык режими көмөкчү экрандарда мажбурлап иштетилет"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"Эркин формадагы терезелерди түзүүнү иштетүү"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Эркин формадагы терезелерди кошумча экранда түзүүнү иштетүү"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Өлчөмү өзгөрбөгөн колдонмолорду бир нече терезеде иштетүү"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Өлчөмү өзгөрбөгөн колдонмолор бир нече терезеде көрүнөт"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Түнкү режимди мажбурлап иштетүү функциясын өзгөртүп коюу"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"мобилдик трафик"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Түзмөктүн иштешин жакшыртуу (мисалы, турган жериңизди тагыраак аныктоо) үчүн  колдонмолор менен кызматтар Wi‑Fi өчүп турса да зымсыз тармактарды издей беришет. Издебесин десеңиз, Wi-Fi тармактарын издөө дегенди өчүрүп коюңуз."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Өзгөртүү"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Туташты"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Убактылуу туташып турат"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"<xliff:g id="SUBNAME">%1$s</xliff:g> убактылуу колдонулууда"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Колдонмону кадап коюу функциясын иштетүү"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Иштеп чыгуучулардын параметрлерин колдонуу"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Басып чыгаруу кызматын колдонуу"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Бир нече колдонуучуга уруксат берүү"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Башка колдонуучуга которулууга уруксат берүү"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"уруксат берүү, бир нече, колдонуучу, уруксат, көп"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"бир нече, колдонуучулар, профилдер, адамдар, аккаунттар, которуштуруу, көп"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Мүчүлүштүктөрдү Wi-Fi аркылуу оңдоону колдонуу"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> бул телефонго туташкысы келет.\n\nБуга чейин <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> түзмөгүнө туташкан эмессиз."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Туташпасын"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Туташтыруу"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE параметрлери"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Күйүк"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Өчүк"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Демейки параметрлерге кайтаруу"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Параметрлер демейкиге кайтарылды."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Толук кубатталгандагы максималдуу баланс"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Баланстар"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Керектөөгө коюлган чектөөлөр"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Керектөөгө коюлган баштапкы чектөө"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Керектөөгө коюлган минималдуу чектөө"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Керектөөгө коюлган максималдуу чектөө"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Өзгөрткүчтөр"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Аракеттер (Өндүрүү наркы)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Аракеттер (Негизги баа)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Ар бир иш-чарага берилген сыйлыктар"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Иш-чаранын ар бир секундунда сыйлык бар"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Бир күндө берилүүчү сыйлыктардын саны"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Колдонмону орнотуу"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Көп аткарылган иш"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Билдирме көрүлдү"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Билдирме 15 мүнөттүн ичинде көрүлдү"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Билдирме менен иштөө"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Виджет менен иштөө"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Башка колдонуучу менен иштешүү"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Эң маанилүү ишти баштоо"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Эң маанилүү иш аткарылууда"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Өтө маанилүү ишти баштоо"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Өтө маанилүү иш аткарылууда"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Демейки ишти баштоо"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Демейки иш аткарылууда"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Анча маанилүү эмес ишти баштоо"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Анча маанилүү эмес иш аткарылууда"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Мааниси эң аз ишти баштоо"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Мааниси эң аз иш аткарылууда"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Иштин таймауту үчүн жаза"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Минималдуу баланс (Чыгарылган)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Минималдуу баланс (Headless System App)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Минималдуу баланс (Башка колдонмолор)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Минималдуу баланска толуктоо (Колдонмолорду жаңырткычтар)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Кубатталууда"</item>
-    <item msgid="658627268149681677">"Көшүү режими"</item>
-    <item msgid="1599558140284643834">"Кубатты үнөмдөө режими"</item>
-    <item msgid="588427840913221601">"Иштетүү абалы"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Ырастоо"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Алдын-ала көрүү"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Көшөгөнү тандаңыз"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Кошумча маалыматты көрсөтүү"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Планшет док бекетке туташып турганда экранда эмне көрүнөрүн тандаңыз. Көшөгө иштетилгенде, түзмөк көбүрөөк кубат керектеши мүмкүн."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Ыңгайлаштыруу"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> ыңгайлаштыруу"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Эркин форма режиминде колдоону иштетүү үчүн өчүрүп-күйгүзүү керек."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Кошумча экрандарда иш такта режимин мажбурлап иштетүү үчүн өчүрүп-күйгүзүү керек."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Эркин формадагы терезелерди түзүү үчүн өчүрүп-күйгүзүү керек."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Эркин формадагы терезелердин түзүлүшүн жаңыртуу үчүн өчүрүп-күйгүзүү талап кылынат."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Эркин формадагы терезелерди кошумча экрандарда түзүүнү иштетүү үчүн өчүрүп-күйгүзүү талап кылынат."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Азыр өчүрүп-күйгүзүү"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Кийинчерээк өчүрүп-күйгүзүү"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Мейкиндиктүү үн"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Кызгылтым"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Маджента"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Кызгылт көк"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Бүттү"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Сактоо"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Жок"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Демейки"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Орточо"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Күйүк"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Өчүк"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Күйүк"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Аудио: %1$d%% (сол), %2$d%% (оң)"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Аудио: %1$d%% (оң), %2$d%% (сол)"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Түзмөгүңүздүн аталышы орнотулган колдонмолорго көрүнүп турат. Ошондой эле, Bluetooth түзмөктөрүнө, Wi‑Fi тармагына туташып же Wi‑Fi байланыш түйүнүн тууралаганыңызда башка адамдарга көрүнүшү мүмкүн."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Грамматикалык жак"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Грамматикалык жакты тандаңыз"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Чогуу угуу токтотулду"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Шайкеш түзмөктү туташтыруу"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Чогуу угуу үчүн, адегенде, LE Audio гарнитурасын телефонуңузга туташтырыңыз"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> түзмөгүнө которулуу"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"LE аудио агымына туташтыруу"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Жакын жердеги аудио агымдар"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Аудио агымдар"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Агымды угуу"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> түзмөгүндө угуу үчүн аудио агымдын QR кодун скандаңыз"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Чогуу угуп жатканда сырсөздү өзгөртө албайсыз. Адегенде чогуу угууну өчүрүңүз."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR кодунун сканери"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Жардам керекпи?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Издөө параметрлери"</string>
 </resources>
diff --git a/res/values-ldrtl/dimens.xml b/res/values-ldrtl/dimens.xml
index cbe7eb5..f11b2f4 100755
--- a/res/values-ldrtl/dimens.xml
+++ b/res/values-ldrtl/dimens.xml
@@ -23,4 +23,8 @@
     <dimen name="rotation_90_enroll_padding_start">20dp</dimen>
     <dimen name="rotation_90_enroll_padding_end">0dp</dimen>
     <dimen name="rotation_90_enroll_margin_end">20dp</dimen>
+
+    <!-- SFPS Fingerprint -->
+    <dimen name="fingerprint_progress_bar_max_size">242dp</dimen>
+    <dimen name="sfps_lottie_translate_x">10dp</dimen>
 </resources>
diff --git a/res/values-lo/arrays.xml b/res/values-lo/arrays.xml
index 8c5f677..6dcbd8d 100644
--- a/res/values-lo/arrays.xml
+++ b/res/values-lo/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"ເວລານອນ"</item>
-    <item msgid="4152450357280759894">"ການຂັບຂີ່"</item>
-    <item msgid="7096549258219399423">"ສົມຈິງ"</item>
-    <item msgid="2760716776980432977">"ທີ່ມີການຈັດການ"</item>
-    <item msgid="601734478369121764">"ດາວ"</item>
-    <item msgid="6243809315432780521">"ປະຕິທິນ"</item>
-    <item msgid="4913577903148415331">"ເວລາ"</item>
-    <item msgid="3653377604690057780">"ໂຮງລະຄອນ"</item>
-    <item msgid="3843711267408385410">"ດອກໄມ້"</item>
+    <item msgid="1216815120972438676">"ກະເປົາເອກະສານ"</item>
+    <item msgid="184985872234062767">"ອາຄານຄລາດສິກ"</item>
+    <item msgid="9189550412466785530">"ຕຶກອະພາດເມັນ"</item>
+    <item msgid="2142527562511049422">"ຟອງຄຳເວົ້າ"</item>
+    <item msgid="2548100558260478605">"ກຸ່ມຄົນ"</item>
+    <item msgid="2270003903304578284">"ຫຼອດໄຟ"</item>
+    <item msgid="4793496619091161864">"ປະຕິທິນ"</item>
+    <item msgid="5673625795644364100">"ຫ້າມລົບກວນ"</item>
+    <item msgid="1423820834865831361">"ຄົນແລ່ນ"</item>
+    <item msgid="2037298830718732608">"ກັອບ"</item>
+    <item msgid="2197835014443491074">"ດຳເບວສຳລັບຢີມ"</item>
+    <item msgid="2730180105015616518">"ການລອຍນ້ຳ"</item>
+    <item msgid="2666922823253345958">"ຄົນຍ່າງປ່າ"</item>
+    <item msgid="8234880356472211396">"ຄົນໂຍນບານ"</item>
+    <item msgid="4642980625253001443">"ຄົນເຮັດທ່າເຕະ"</item>
+    <item msgid="4324795269518833500">"ມືເກມ"</item>
+    <item msgid="7789966425125441125">"ຖາດສີຂອງສິນລະປິນ"</item>
+    <item msgid="663512680597461570">"ເກັດຫິມະ"</item>
+    <item msgid="7952183800501346803">"ຄັນຮົ່ມຫາດຊາຍ"</item>
+    <item msgid="799139025758265891">"ເຄື່ອງມືເວີກຊັອບ"</item>
+    <item msgid="1330084588359129896">"ເຕັ້ນ"</item>
+    <item msgid="3861584909935022342">"ມ້ວນຟີມ"</item>
+    <item msgid="5827426100157335512">"ປຶ້ມ"</item>
+    <item msgid="8585828346253128384">"ດອກບົວ"</item>
+    <item msgid="8788370542815300188">"ຈິດໃຈຄົນ"</item>
+    <item msgid="7287354964767553293">"ຫູຟັງ"</item>
+    <item msgid="2530059623783800987">"ໂທລະທັດ"</item>
+    <item msgid="5307182323469376758">"ລົດໄຟ"</item>
+    <item msgid="4903790544026923026">"ລົດ"</item>
+    <item msgid="5010405583912314582">"ສ້ອມ ແລະ ມີດ"</item>
+    <item msgid="8939998598599064900">"ກະຕ່າຊື້ເຄື່ອງ"</item>
+    <item msgid="3379605903308731893">"ເດັກນ້ອຍ"</item>
+    <item msgid="7808668968550293112">"ຕີນສັດ"</item>
+    <item msgid="1000692647524056504">"ປ້າຍດາວ"</item>
+    <item msgid="8270261073421676502">"ຄົນ 2 ຄົນ"</item>
+    <item msgid="5767782819651505460">"ດາວ"</item>
+    <item msgid="4368451291862729334">"ຫົວໃຈ"</item>
+    <item msgid="2613199102208419986">"ເຮືອນ"</item>
+    <item msgid="3022279986430275040">"ເດືອນເຄິ່ງດວງ"</item>
+    <item msgid="5421089790869483206">"ໂມງ"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 5a38182..8d4f2f3 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"ຖືກລະງັບແລ້ວ"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"ບໍ່ຮູ້ຈັກ"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"ສະແດງຕົວຢ່າງ"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"ລະຫັດ QR"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"ເຮັດໃຫ້ນ້ອຍລົງ"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"ເຮັດໃຫ້ໃຫຍ່ຂຶ້ນ"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"ທຸກເທື່ອ"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"ການຕັ້ງຄ່າອຸປະກອນຊ່ວຍຟັງ"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"ທາງລັດ, ການໃຊ້ຮ່ວມກັນໄດ້ຂອງເຄື່ອງຊ່ວຍຟັງ"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"ຄ່າທີ່ກຳນົດລ່ວງໜ້າ"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"ບໍ່ມີພຣີເຊັດທີ່ນັກສຳຜັດວິທະຍາຂອງທ່ານຕັ້ງໂປຣແກຣມໄວ້"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"ບໍ່ສາມາດອັບເດດການຕັ້ງຄ່າລ່ວງໜ້າໄດ້"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"ເອົ້າພຸດສຽງ"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ກ່ຽວກັບເອົ້າພຸດສຽງ"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"ບໍ່ສາມາດເລືອກພາສາສຳລັບແອັບນີ້ຈາກການຕັ້ງຄ່າໄດ້."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"ພາສາອາດແຕກຕ່າງໄປຈາກພາສາທີ່ສາມາດໃຊ້ໄດ້ໃນແອັບ. ບາງແອັບອາດບໍ່ຮອງຮັບການຕັ້ງຄ່ານີ້."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"ຕັ້ງພາສາສຳລັບແຕ່ລະແອັບ."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"ລະບົບ, ແອັບ ແລະ ເວັບໄຊຂອງທ່ານຈະໃຊ້ພາສາທີ່ຮອງຮັບກ່ອນຈາກພາສາທີ່ທ່ານຕ້ອງການ."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"ອຸປະກອນ, ແອັບ ແລະ ເວັບໄຊຂອງທ່ານຈະໃຊ້ພາສາທີ່ຮອງຮັບຈາກລາຍຊື່ພາສາທີ່ທ່ານຕ້ອງການກ່ອນ.\n\nຫຼາຍແອັບຈະໃຊ້ພາກພື້ນຈາກພາສາທີ່ທ່ານຕ້ອງການເພື່ອຈັດຮູບແບບວັນທີ, ຕົວເລກ ແລະ ຫົວໜ່ວຍຕ່າງໆນຳ. ເພື່ອປ່ຽນພາກພື້ນຂອງທ່ານ, ໃຫ້ເພີ່ມພາສາໃດໜຶ່ງ, ຈາກນັ້ນເລືອກພາກພື້ນທີ່ທ່ານຕ້ອງການ."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"ເພື່ອເລືອກພາສາໃດໜຶ່ງສຳລັບແຕ່ລະແອັບ, ໃຫ້ເຂົ້າໄປການຕັ້ງຄ່າພາສາແອັບ."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"ສຶກສາເພີ່ມເຕີມກ່ຽວກັບພາສາແອັບ"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"ປ່ຽນພາສາຂອງລະບົບໄປເປັນ %s ບໍ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"ປິດ"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{ເປີດຢູ່ / # ແອັບມີສິດເຂົ້າເຖິງສະຖານທີ່}other{ເປີດຢູ່ / # ແອັບມີສິດເຂົ້າເຖິງສະຖານທີ່}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"ກຳລັງໂຫລດ…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"ແອັບທີ່ມີການອະນຸຍາດອຸປະກອນທີ່ຢູ່ໃກ້ຄຽງສາມາດລະບຸສະຖານທີ່ທີ່ກ່ຽວຂ້ອງກັນຂອງອຸປະກອນທີ່ເຊື່ອມຕໍ່ໄດ້."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"ແອັບທີ່ມີການອະນຸຍາດອຸປະກອນທີ່ຢູ່ໃກ້ຄຽງສາມາດລະບຸຕຳແໜ່ງທີ່ສຳພັນກັນຂອງອຸປະກອນທີ່ເຊື່ອມຕໍ່ແລ້ວໄດ້."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"ການເຂົ້າເຖິງສະຖານທີ່ຖືກປິດໄວ້ສຳລັບແອັບ ແລະ ບໍລິການຕ່າງໆ. ສະຖານທີ່ອຸປະກອນອາດຍັງຄົງຖືກສົ່ງໄປຫາທີມກູ້ໄພເມື່ອທ່ານໂທ ຫຼື ສົ່ງຂໍ້ຄວາມຫາເບີໂທສຸກເສີນ."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"ສຶກສາເພີ່ມເຕີມກ່ຽວກັບການຕັ້ງຄ່າສະຖານທີ່"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"ເພື່ອປ່ຽນ ໃຫ້ເຂົ້າໄປການຕັ້ງຄ່າ ChromeOS &gt; ຄວາມເປັນສ່ວນຕົວ ແລະ ຄວາມປອດໄພ &gt; ການຄວບຄຸມຄວາມເປັນສ່ວນຕົວ &gt; ສິດເຂົ້າເຖິງສະຖານທີ່"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"ເພີ່ມໃບໜ້າ ແລະ <xliff:g id="WATCH">%s</xliff:g> ແລ້ວ"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"ເພີ່ມໃບໜ້າ, ລາຍນິ້ວມື ແລະ <xliff:g id="WATCH">%s</xliff:g> ແລ້ວ"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"ເພີ່ມໃບໜ້າ, ລາຍນິ້ວມື ແລະ <xliff:g id="WATCH">%s</xliff:g> ແລ້ວ"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"ການກວດສອບຕົວຕົນເປີດຢູ່ ແລະ ຕ້ອງໃຊ້ຂໍ້ມູນລະບົບຊີວະມິຕິ"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"ການປົດລັອກ Authenticator ຈາກທາງໄກ"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"ເພີ່ມໂມງແລ້ວ"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"ຕັ້ງຄ່າໂມງຂອງທ່ານ"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"ສຶກສາເພີ່ມເຕີມກ່ຽວກັບການປົດລັອກດ້ວຍໂມງ"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"ເພີ່ມໂມງ"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"ລຶບໂມງອອກ"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ປົດລັອກດ້ວຍລາຍນິ້ວມື ແລະ ໜ້າ"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ປົດລັອກດ້ວຍໜ້າ ແລະ ລາຍນິ້ວມື"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"ການປົດລັອກດ້ວຍໜ້າ ແລະ ລາຍນິ້ວມືສຳລັບການເຮັດວຽກ"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ຕ້ອງຕັ້ງຄ່າ"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"ເພີ່ມໜ້າ ແລະ ລາຍນິ້ວມືແລ້ວ"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"ກຳລັງຕັ້ງຄ່າພື້ນທີ່ສ່ວນຕົວ…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"ບໍ່ສາມາດຕັ້ງຄ່າພື້ນທີ່ສ່ວນບຸກຄົນໄດ້"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"ລອງໃໝ່"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"ອອກ"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"ພື້ນທີ່ສ່ວນບຸກຄົນບໍ່ພ້ອມໃຫ້ນຳໃຊ້.\nເບິ່ງສາເຫດທີ່ເປັນໄປໄດ້"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"ເບິ່ງສາເຫດທີ່ເປັນໄປໄດ້"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"ເລືອກການລັອກໃໝ່ສຳລັບພື້ນທີ່ສ່ວນບຸກຄົນບໍ?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"ທ່ານສາມາດຕັ້ງຄ່າການລັອກໃໝ່ສຳລັບພື້ນທີ່ສ່ວນບຸກຄົນໄດ້ເທົ່ານັ້ນ ຫຼື ຈະໃຊ້ການລັອກດຽວກັນທີ່ທ່ານໃຊ້ປົດລັອກອຸປະກອນຂອງທ່ານກໍໄດ້"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"ໃຊ້ການລັອກໜ້າຈໍ"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ເມື່ອເປີດໃຊ້ Bluetooth ແລ້ວ, ອຸປະກອນຂອງທ່ານຈະສາມາດສື່ສານກັບອຸປະກອນ Bluetooth ອື່ນທີ່ຢູ່ໃກ້ຄຽງໄດ້.\n\nເພື່ອປັບປຸງປະສົບການການນຳໃຊ້ອຸປະກອນ, ແອັບ ແລະ ບໍລິການຕ່າງໆຈະຍັງສາມາດສະແກນຫາອຸປະກອນທີ່ຢູ່ໃກ້ຄຽງໄດ້ທຸກເວລາ, ເຖິງແມ່ນວ່າຈະປິດ Bluetooth ໄວ້ກໍຕາມ. ການຕັ້ງຄ່ານີ້ໃຊ້ເພື່ອເຮັດສິ່ງຕ່າງໆ ຕົວຢ່າງ: ໃຊ້ເພື່ອປັບປຸງຄຸນສົມບັດ ແລະ ບໍລິການທີ່ອ້າງອີງສະຖານທີ່ໄດ້. ທ່ານສາມາດປ່ຽນຕົວເລືອກນີ້ໄດ້ໃນການຕັ້ງຄ່າການສະແກນ Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"ເມື່ອເປີດ Bluetooth, ອຸປະກອນຂອງທ່ານຈະສາມາດສື່ສານກັບອຸປະກອນ Bluetooth ເຄື່ອງອື່ນໆທີ່ຢູ່ໃກ້ຄຽງໄດ້. ຄຸນສົມບັດຕ່າງໆໃຊ້ Bluetooth ເຊັ່ນ: ການແຊຣ໌ດ່ວນ ແລະ ຊອກຫາອຸປະກອນຂອງຂ້ອຍ.\n\nແອັບ ແລະ ບໍລິການຕ່າງໆຈະຍັງສາມາດສະແກນຫາອຸປະກອນທີ່ຢູ່ໃກ້ຄຽງໄດ້ທຸກເວລາເຖິງແມ່ນວ່າ Bluetooth ຈະປິດຢູ່ກໍຕາມ. ການຕັ້ງຄ່ານີ້ສາມາດໃຊ້ເພື່ອເຮັດສິ່ງຕ່າງໆ ເຊັ່ນ: ເພື່ອປັບປຸງຄຸນສົມບັດ ແລະ ບໍລິການທີ່ອີງຕາມສະຖານທີ່. ທ່ານສາມາດປ່ຽນຕົວເລືອກນີ້ໄດ້ໃນການຕັ້ງຄ່າການສະແກນ Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"ປ່ຽນ"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"ບໍ່ໄດ້ເຊື່ອມຕໍ່ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"ເພື່ອຄວາມປອດໄພຂອງທ່ານ, ໃຫ້ລືມອຸປະກອນນີ້ແລ້ວຈັບຄູ່ອີກຄັ້ງ"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"ລືມອຸປະກອນ"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"ຍົກເລີກ"</string>
     <string name="device_details_title" msgid="1155622417516195481">"ລາຍລະອຽດອຸປະກອນ"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"ການຕັ້ງຄ່າແປ້ນພິມ"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"ການຕັ້ງຄ່າເພີ່ມເຕີມ"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"ການອັບເດດເຟີມແວ, ກ່ຽວກັບ ແລະ ອື່ນໆ"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"ເຄັດລັບ ແລະ ການຊ່ວຍເຫຼືອ"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"ທີ່ຢູ່ Bluetooth ຂອງອຸປະກອນ: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"ທີ່ຢູ່ Bluetooth ຂອງອຸປະກອນ:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"ລືມອຸປະກອນບໍ?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"ທົດລອງ. ປັບປຸງຄຸນນະພາບສຽງ."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"ລືມອຸປະກອນ"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"ຕັດການເຊື່ອມຕໍ່ແອັບ"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"ການຕັ້ງຄ່າເພີ່ມເຕີມ"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"ອຸປະກອນສຽງ Bluetooth ທີ່ເຊື່ອມຕໍ່ສູງສຸດ"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"ເລືອກຈຳນວນອຸປະກອນສຽງ Bluetooth ທີ່ເຊື່ອມຕໍ່ສູງສຸດ"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"ບັນທຶກດີບັກເວັນເດີແບບລະອຽດຂອງ NFC"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"ຣີສະຕາດອຸປະກອນບໍ?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"ການບັນທຶກລາຍລະອຽດຂອງ NFC ແມ່ນສຳລັບຈຸດປະສົງການພັດທະນາເທົ່ານັ້ນ. ຂໍ້ມູນເພີ່ມເຕີມຂອງ NFC ຈະຮວມຢູ່ໃນລາຍງານຂໍ້ຜິດພາດ, ເຊິ່ງອາດມີຂໍ້ມູນສ່ວນຕົວ. ຣີສະຕາດອປະກອນເພື່ອປ່ຽນການຕັ້ງຄ່ານີ້."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"ຣີສະຕາດ"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"ເປີດ"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"ປິດ"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"ຈໍສະແດງຜົນພາຍນອກ"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"ໃຊ້ຈໍສະແດງຜົນພາຍນອກ"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"ຄວາມລະອຽດຂອງຈໍສະແດງຜົນ"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"ຍົກເລີກການເຊື່ອມຕໍ່ຈໍສະແດງຜົນພາຍນອກແລ້ວ"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"ການໝຸນ"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"ມາດຕະຖານ"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"ການປ່ຽນການໝຸນ ຫຼື ຄວາມລະອຽດອາດຢຸດແອັບໃດກໍຕາມທີ່ກຳລັງເຮັດວຽກຢູ່ໃນປັດຈຸບັນ"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"ອຸປະກອນຂອງທ່ານຕ້ອງເຊື່ອມຕໍ່ກັບຈໍສະແດງຜົນພາຍນອກເພື່ອສະທ້ອນໜ້າຈໍຂອງທ່ານ"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"ຕົວເລືອກເພີ່ມເຕີມ"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"ການສົ່ງສັນຍານ"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"ແວ່ນສະທ້ອນ"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"ເປີດໃຊ້ງານການສະແດງພາບໄຮ້ສາຍ"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"ປັບປ່ຽນໄດ້"</string>
     <string name="brightness" msgid="6216871641021779698">"ລະດັບ​ຄວາມແຈ້ງ"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"ປັບ​ຄວາມ​ແຈ້ງ​ອັດຕະໂນມັດ"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"ກ່ຽວກັບຄຸນສົມບັດປັບຄວາມແຈ້ງອັດຕະໂນມັດ"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"ຄວາມແຈ້ງໜ້າຈໍຂອງທ່ານຈະຖືກປັບໂດຍອັດຕະໂນມັດໂດຍອ້າງອີງຈາກສະພາບແວດລ້ອມ ແລະ ກິດຈະກຳທີ່ທ່ານເຮັດ. ທ່ານສາມາດຍ້າຍຕົວເລື່ອນດ້ວຍຕົນເອງເພື່ອຊ່ວຍໃຫ້ລະບົບຮຽນຮູ້ການຕັ້ງຄ່າຂອງທ່ານໄດ້."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"ເປີດ"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"ປິດ"</string>
@@ -1311,8 +1340,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="8850185380445309835">"ອັບເດດຊິມທີ່ຕ້ອງການບໍ?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> ເປັນຊິມດຽວໃນອຸປະກອນຂອງທ່ານ. ທ່ານຕ້ອງການໃຊ້ຊິມນີ້ສຳລັບໃຊ້ອິນເຕີເນັດມືຖື, ການໂທ ແລະ ສົ່ງຂໍ້ຄວາມ SMS ບໍ່?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> ເປັນຊິມຫຼັກຂອງທ່ານແລ້ວຕອນນີ້"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"ປັບປຸງຄວາມຄອບຄຸມຂອງອິນເຕີເນັດມືຖືບໍ?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"ອະນຸຍາດໃຫ້ອຸປະກອນຂອງທ່ານສະຫຼັບໄປຫາ <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> ເພື່ອໃຊ້ອິນເຕີເນັດມືຖືໂດຍອັດຕະໂນມັດເມື່ອສະຖານະຂອງມັນດີກວ່າ."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"ການໂທ, ຂໍ້ຄວາມ ແລະ ທຣາບຟິກເຄືອຂ່າຍອາດສະແດງໃຫ້ອົງກອນຂອງທ່ານເຫັນໄດ້."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"ຕົວເລືອກ"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"ການຊ່ວຍເຂົ້າເຖິງ"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"ແປ້ນພິມພາຍນອກ"</string>
-    <string name="show_ime" msgid="4334255501724746849">"ໃຊ້ແປ້ນພິມຢູ່ໜ້າຈໍ"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"ປະມັນໄວ້ໃນໜ້າຈໍເມື່ອໃຊ້ແປ້ນພິມພາຍນອກ"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"ປຸ່ມດີດກັບ"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"ແປ້ນພິມຈະລະເວັ້ນການກົດປຸ່ມດຽວຊ້ຳໆຢ່າງວ່ອງໄວພາຍໃນ <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"ເພີ່ມໄລຍະເວລາໃນການກົດປຸ່ມ"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"ປັບເວລາທີ່ມັນໃຊ້ສໍາລັບການກົດປຸ່ມເພື່ອເປີດໃຊ້ເປັນ <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"ປຸ່ມກົດຄ້າງ"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"ກົດເທື່ອລະປຸ່ມເພື່ອໃຊ້ທາງລັດແທນການກົດປຸ່ມຄ້າງໄວ້ຮ່ວມກັນ"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"ແປ້ນເມົ້າ"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"ໃຊ້ແປ້ນພິມພາຍນອກເພື່ອຄວບຄຸມເມົ້າ."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"ປຸ່ມລັດແປ້ນພິມ"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"ສະແດງລາຍຊື່ຂອງທາງລັດ"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"ແປ້ນພິມໂປຣໄຟລ໌ວຽກ ແລະ ເຄື່ອງມື"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"ປັບແຕ່ງທ່າທາງການນຳທາງແຕ່ລະແບບຂອງແຜ່ນສຳຜັດ"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"ການເລື່ອນຍ້ອນກັບ"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"ເນື້ອຫາຈະເລື່ອນຂຶ້ນເມື່ອທ່ານເລື່ອນລົງ"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"ແຕະລຸ່ມສຸດເບື້ອງຂວາ"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"ແຕະຢູ່ແຈຂວາລຸ່ມສຸດຂອງແຜ່ນສຳຜັດເພື່ອເບິ່ງຕົວເລືອກເພີ່ມເຕີມ"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"ຄລິກຂວາລຸ່ມສຸດ"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"ຄລິກຢູ່ແຈຂວາລຸ່ມສຸດຂອງແຜ່ນສຳຜັດເພື່ອເບິ່ງຕົວເລືອກເພີ່ມເຕີມ"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"ຄວາມໄວຂອງຕົວຊີ້"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"ຮູບແບບການຕື່ມຕົວຊີ້"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"ປ່ຽນຮູບແບບການຕື່ມຕົວຊີ້ເປັນສີດຳ"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"ຮູບແບບການຕື່ມຕົວຊີ້ເປັນສີເຫຼືອງ"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"ຮູບແບບການຕື່ມຕົວຊີ້ເປັນສີບົວ"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"ຮູບແບບການຕື່ມຕົວຊີ້ເປັນສີຟ້າ"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"ຮູບແບບລາຍເສັ້ນຂອງຕົວຊີ້"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"ສີຂາວ"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"ສີດຳ"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"ບໍ່ມີ"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"ສຶກສາທ່າທາງຂອງແຜ່ນສຳຜັດ"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"ແທຣັກແຜດ, ແທຣັກ ແຜດ, ເມົ້າ, ເຄີເຊີ, ເລື່ອນ, ປັດ, ຄລິກຂວາ, ຄລິກ, ຕົວຊີ້"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"ຄລິກຂວາ, ແຕະ"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"ຣີເຊັດ"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"ເລືອກປຸ່ມຕົວດັດແປງ"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"ເລືອກປຸ່ມໃໝ່ສຳລັບ <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"ການຊ່ວຍເຂົ້າເຖິງແປ້ນພິມພາຍນອກ"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"ປຸ່ມກົດຄ້າງ, ປຸ່ມຕີກັບ, ແປ້ນເມົ້າ"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"ໂຄງຮ່າງ <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ຄ່າເລີ່ມຕົ້ນ"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"ອັດຕະໂນມັດ: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"ຜູ້ໃຊ້ໄດ້ເລືອກ: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"ສຽງເວົ້າ"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"ຄວາມໄວລູກສອນ"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"ຂະໜາດຂອງຕົວຊີ້"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"ຫຼຸດຂະໜາດຂອງຕົວຊີ້"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"ເພີ່ມຂະໜາດຂອງຕົວຊີ້"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"ມືເກມ"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"ປ່ຽນເສັ້ນທາງການສັ່ນເຕືອນ"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Send vibration to game controller when connected"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"ຢືນຢັນດຳເນີນການຕໍ່"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"ຍົກເລີກ"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"ການຕັ້ງຄ່າການຂະຫຍາຍ"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"ການເລື່ອນດ້ວຍນິ້ວດຽວ"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"ໃຊ້ 1 ນິ້ວຍ້າຍແວ່ນຂະຫຍາຍ"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"ໃຊ້ 1 ນິ້ວລາກເພື່ອຍ້າຍໄປອ້ອມຮອບໜ້າຈໍ"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"ຍ້າຍພື້ນທີ່ການຂະຫຍາຍໂດຍການລາກໜຶ່ງນິ້ວ."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"ຍ້າຍພື້ນທີ່ການຂະຫຍາຍໂດຍການລາກສອງນິ້ວ."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"ບໍ່ສາມາດໃຊ້ໄດ້ໃນລະຫວ່າງທີ່ກຳລັງຂະຫຍາຍພາກສ່ວນຂອງໜ້າຈໍ"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ແຕະປຸ່ມເພື່ອຊູມ"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"ຊູມເຂົ້າໄວໆຢູ່ໜ້າຈໍເພື່ອເຮັດໃຫ້ເນື້ອຫາໃຫຍ່ຂຶ້ນ"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;ເພື່ອຊູມເຂົ້າ:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ໃຊ້ທາງລັດເພື່ອເລີ່ມການຂະຫຍາຍ&lt;br/&gt; {1,number,integer}. ແຕະໃສ່ໜ້າຈໍ&lt;br/&gt; {2,number,integer}. ລາກ 2 ນິ້ວເພື່ອເລື່ອນໄປມາຢູ່ໜ້າຈໍ&lt;br/&gt; {3,number,integer}. ບີບດ້ວຍ 2 ນິ້ວເພື່ອປັບແກ້ການຊູມ&lt;br/&gt; {4,number,integer}. ໃຊ້ທາງລັດເພື່ອຢຸດການຂະຫຍາຍ&lt;br/&gt;&lt;br/&gt;&lt;b&gt;ເພື່ອຊູມເຂົ້າຊົ່ວຄາວ:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ກວດສອບວ່າປະເພດການຂະຫຍາຍຂອງທ່ານແມ່ນຕັ້ງເປັນເຕັມຈໍແລ້ວ&lt;br/&gt; {1,number,integer}. ໃຊ້ທາງລັດເພື່ອເລີ່ມການຂະຫຍາຍ&lt;br/&gt; {2,number,integer}. ແຕະຢູ່ບ່ອນໃດກໍໄດ້ຢູ່ໜ້າຈໍຄ້າງໄວ້&lt;br/&gt; {3,number,integer}. ລາກນິ້ວເພື່ອເລື່ອນໄປມາຢູ່ໜ້າຈໍ&lt;br/&gt; {4,number,integer}. ຍົກນິ້ວຂຶ້ນເພື່ອຢຸດການຂະຫຍາຍ"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;ເພື່ອຊູມເຂົ້າ:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ໃຊ້ທາງລັດເພື່ອເລີ່ມການຂະຫຍາຍ&lt;br/&gt; {1,number,integer}. ແຕະໜ້າຈໍ&lt;br/&gt; {2,number,integer}. ໃຊ້ 2 ນິ້ວລາກເພື່ອຍ້າຍໄປອ້ອມຮອບໜ້າຈໍ&lt;br/&gt; {3,number,integer}. ໃຊ້ 2 ນິ້ວບີບເພື່ອປັບການຊູມ&lt;br/&gt; {4,number,integer}. ໃຊ້ທາງລັດເພື່ອຢຸດການຂະຫຍາຍ&lt;br/&gt;&lt;br/&gt; ທ່ານຍັງສາມາດຊູມເຂົ້າຊົ່ວຄາວ ແລະ ເຮັດສິ່ງອື່ນໆໄດ້ນຳ."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;ເພື່ອຊູມເຂົ້າ:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ໃຊ້ທາງລັດເພື່ອເລີ່ມການຂະຫຍາຍ&lt;br/&gt; {1,number,integer}. ແຕະໜ້າຈໍ&lt;br/&gt; {2,number,integer}. ໃຊ້ 1 ຫຼື 2 ນິ້ວລາກເພື່ອຍ້າຍໄປອ້ອມຮອບໜ້າຈໍ&lt;br/&gt; {3,number,integer}. ໃຊ້ 2 ນິ້ວບີບເພື່ອປັບການຊູມ&lt;br/&gt; {4,number,integer}. ໃຊ້ທາງລັດເພື່ອຢຸດການຂະຫຍາຍ&lt;br/&gt;&lt;br/&gt; ທ່ານຍັງສາມາດຊູມເຂົ້າຊົ່ວຄາວ ແລະ ເຮັດສິ່ງອື່ນໆໄດ້ນຳ."</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_pager" msgid="8461939455728454061">"ໜ້າທີ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> ຈາກທັງໝົດ <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"ທາງລັດຂອງປຸ່ມການຊ່ວຍເຂົ້າເຖິງ"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"ແຕະປຸ່ມແບບລອຍ"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"ທ່າທາງການຊ່ວຍເຂົ້າເຖິງ"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"ແຕະປຸ່ມການຊ່ວຍເຂົ້າເຖິງ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ຢູ່ລຸ່ມສຸດຂອງໜ້າຈໍຂອງທ່ານ. ເພື່ອສະຫຼັບໄປມາລະຫວ່າງຄຸນສົມບັດຕ່າງໆ, ໃຫ້ແຕະປຸ່ມການຊ່ວຍເຂົ້າເຖິງຄ້າງໄວ້."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"ປັດຂຶ້ນຈາກລຸ່ມສຸດຂອງໜ້າຈໍດ້ວຍ 2 ນິ້ວ.\n\nເພື່ອສະຫຼັບລະຫວ່າງຄຸນສົມບັດຕ່າງໆ, ໃຫ້ປັດຂຶ້ນດ້ວຍ 2 ນິ້ວແລ້ວຄ້າງໄວ້."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"ປັດຂຶ້ນຈາກລຸ່ມສຸດຂອງໜ້າຈໍດ້ວຍ 3 ນິ້ວ.\n\nເພື່ອສະຫຼັບລະຫວ່າງຄຸນສົມບັດຕ່າງໆ, ໃຫ້ປັດຂຶ້ນດ້ວຍ 3 ນິ້ວແລ້ວຄ້າງໄວ້."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{ປັດຂຶ້ນຈາກລຸ່ມສຸດຂອງໜ້າຈໍຂອງທ່ານ. ເພື່ອສະຫຼັບໄປມາລະຫວ່າງຄຸນສົມບັດຕ່າງໆ, ໃຫ້ປັດຂຶ້ນ ແລ້ວກົດຄ້າງໄວ້.}other{ໃຊ້ # ນິ້ວປັດຂຶ້ນຈາກລຸ່ມສຸດຂອງໜ້າຈໍຂອງທ່ານ. ເພື່ອສະຫຼັບໄປມາລະຫວ່າງຄຸນສົມບັດຕ່າງໆ, ໃຫ້ໃຊ້ # ນິ້ວປັດຂຶ້ນ ແລ້ວກົດຄ້າງໄວ້.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"ຕົວເລືອກເພີ່ມເຕີມ"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"ສຶກສາເພີ່ມເຕີມກ່ຽວກັບ <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"ປຸ່ມລະດັບສຽງ"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"ປຸ່ມລະດັບສຽງ"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"ກົດປຸ່ມລະດັບສຽງທັງສອງຄ້າງໄວ້"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"ໃຊ້ສອງນິ້ວແຕະໜ້າຈໍສອງເທື່ອ"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"ໃຊ້ %1$d ນິ້ວແຕະສອງເທື່ອ"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"ໃຊ້ %1$d ນິ້ວແຕະໜ້າຈໍສອງເທື່ອຢ່າງວ່ອງໄວ"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"ແຕະສາມເທື່ອ"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"ແຕະໜ້າຈໍ %1$d ເທື່ອຢ່າງວ່ອງໄວ. ການດຳເນີນການນີ້ອາດເຮັດໃຫ້ອຸປະກອນຂອງທ່ານຊ້າລົງ."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"ໃຊ້ %1$d ນິ້ວແຕະສອງເທື່ອ"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"ໃຊ້ສອງນິ້ວແຕະໜ້າຈໍ {0,number,integer} ເທື່ອແບບໄວໆ"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"ແຕະໃສ່ໜ້າຈໍສາມເທື່ອ"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"ແຕະສາມເທື່ອ"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"ແຕະໜ້າຈໍໄວໆ {0,number,integer} ເທື່ອ. ທາງລັດນີ້ອາດເຮັດໃຫ້ອຸປະກອນຂອງທ່ານຊ້າລົງ"</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_global_gesture_preference_title" msgid="8866765674372344850">"ທາງລັດຂອງປຸ່ມລະດັບສຽງ"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"ການຕັ້ງຄ່າທາງລັດ"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"ທາງລັດຈາກໜ້າຈໍລັອກ"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"ທາງລັດຂອງປຸ່ມລະດັບສຽງຈາກໜ້າຈໍລັອກ"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"ອະນຸຍາດໃຫ້ເປີດໃຊ້ທາງລັດຄຸນສົມບັດໄດ້ຈາກໜ້າຈໍລັອກ. ກົດປຸ່ມລະດັບສຽງຄ້າງໄວ້ສອງສາມວິນາທີ."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"ປຸ່ມການຊ່ວຍເຂົ້າເຖິງ"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"ປຸ່ມການຊ່ວຍເຂົ້າເຖິງ ແລະ ທ່າທາງ"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"ບໍລິການນີ້ເຮັດວຽກຜິດປົກກະຕິ."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"ທາງລັດການຊ່ວຍເຂົ້າເຖິງ"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"ສະ​ແດງໃນການຕັ້ງຄ່າດ່ວນ"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"ສີແດງ-ຂຽວ"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"ສີແດງ-ຂຽວ"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"ສີແດງ-ຂຽວ, ເຫັນສີຂຽວໄດ້ໜ້ອຍ"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"ສີແດງ-ສີຂຽວ, ເຫັນສີແດງໄດ້ໜ້ອຍ"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"ສີຟ້າ-ເຫຼືອງ"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"ຂາວດຳ"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"ຄວາມເຂັ້ມ"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"ເຫັນສີຂຽວໄດ້ໜ້ອຍ, ຕາບອດສີຂຽວ"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"ເຫັນສີແດງໄດ້ໜ້ອຍ, ຕາບອດສີແດງ"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"ບໍ່ສາມາດໃຊ້ໄດ້ສຳລັບໂໝດຂາວດຳ ຫຼື ເມື່ອການແກ້ໄຂສີຖືກປິດການນຳໃຊ້"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"ຫຼຸດແສງເປັນພິເສດ"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"ຫຼຸດແສງໜ້າຈໍລົງເປັນພິເສດ"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"ຟ້າຂຽວ"</string>
     <string name="color_yellow" msgid="5957551912912679058">"ເຫຼືອງ"</string>
     <string name="color_magenta" msgid="8943538189219528423">"ແດງມ່ວງ"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"ອະນຸຍາດໃຫ້ <xliff:g id="SERVICE">%1$s</xliff:g> ຄວບຄຸມອຸປະກອນທ່ານໄດ້ເຕັມຮູບແບບບໍ?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> ຕ້ອງການ:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"ເພາະ​ວ່າ​ແອັບຯ​ກຳ​ລັງ​ຂັດ​ຂວາງ​ການ​ຂໍ​ອະ​ນຸ​ຍາດ, ການ​ຕັ້ງ​ຄ່າ​ບໍ່​ສາ​ມາດກວດ​ສອບ​ການ​ຕອບ​ຮັບ​ຂອງ​ທ່ານ​ໄດ້."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> ກຳລັງຮ້ອງຂໍການຄວບຄຸມອຸປະກອນນີ້ຢ່າງເຕັມຮູບແບບ. ບໍລິການຈະສາມາດອ່ານໜ້າຈໍ ແລະ ດຳເນີນການໃນນາມຜູ້ໃຊ້ທີ່ມີຄວາມຕ້ອງການຊ່ວຍເຂົ້າເຖິງໄດ້. ການຄວບຄຸມລະດັບນີ້ບໍ່ເໝາະສົມສຳລັບແອັບສ່ວນໃຫຍ່."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"ການຄວບຄຸມແບບເຕັມຮູບແບບແມ່ນເໝາະສົມສຳລັບແອັບທີ່ຊ່ວຍທ່ານໃນດ້ານການຊ່ວຍເຂົ້າເຖິງ, ແຕ່ບໍ່ເໝາະສຳລັບທຸກແອັບ."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"ເບິ່ງ ແລະ ຄວບຄຸມໜ້າຈໍ"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"ມັນສາມາດອ່ານເນື້ອຫາທັງໝົດຢູ່ໜ້າຈໍ ແລະ ສະແດງເນື້ອຫາບັງແອັບອື່ນໄດ້."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"ເບິ່ງ ແລະ ດຳເນີນການ"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"ມັນສາມາດຕິດຕາມການໂຕ້ຕອບຂອງທ່ານກັບແອັບ ຫຼື ເຊັນເຊີຮາດແວໃດໜຶ່ງ ແລະ ໂຕ້ຕອບກັບແອັບໃນນາມຂອງທ່ານໄດ້."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"ອະນຸຍາດ"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"ປະຕິເສດ"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"ປິດ"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"ເປີດ / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> ແລະ <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"ທ່ານສາມາດເປີດໃຊ້ສຽງຮອບທິດທາງສຳລັບອຸປະກອນ Bluetooth ໄດ້ນຳ."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"ການຕັ້ງຄ່າອຸປະກອນທີ່ເຊື່ອມຕໍ່ແລ້ວ"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"ສຽງຮອບທິດທາງ"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"ປິດ"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"ປິດ"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"ປິດ"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{ບໍ່ມີ}=1{ຕັ້ງກຳນົດເວລາ 1 ລາຍການແລ້ວ}other{ຕັ້ງກຳນົດເວລາ # ລາຍການແລ້ວ}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"ຫ້າມລົບກວນ"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"ໂໝດຄວາມສຳຄັນ"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"ເພີ່ມໂໝດ"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"ໂໝດ"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"ຫຼຸດສິ່ງລົບກວນ ແລະ ມີສະມາທິຢູ່ກັບສິ່ງທີ່ທ່ານສົນໃຈດ້ວຍໂໝດສຳລັບການນອນຫຼັບ, ການເຮັດວຽກ, ການຂັບຂີ່ ແລະ ອື່ນໆອີກຫຼາກຫຼາຍ."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"ສ້າງໂໝດຂອງທ່ານເອງ"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"ຮັບການແຈ້ງເຕືອນສະເພາະຄົນ ແລະ ແອັບສຳຄັນເທົ່ານັ້ນ"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"ຕັ້ງກຳນົດເວລາ"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"ກຳນົດເວລາຕາມ"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"ມື້ ແລະ ເວລາ"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"09:00 - 17:00 ໂມງ ຈັນຫາສຸກ\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"ນັດໝາຍປະຕິທິນ"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} ເຮັດວຽກຢູ່}=2{{mode_1} ແລະ {mode_2} ເຮັດວຽກຢູ່}=3{{mode_1}, {mode_2} ແລະ {mode_3} ເຮັດວຽກຢູ່}other{{mode_1}, {mode_2} ແລະ ອີກ # ໂໝດເຮັດວຽກຢູ່}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{ສາມາດເປີດໃຊ້ 1 ໂໝດໂດຍອັດຕະໂນມັດ}other{ສາມາດເປີດໃຊ້ # ໂໝດໂດຍອັດຕະໂນມັດ}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ເປີດ"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"ບໍ່ໄດ້ຕັ້ງຄ່າ"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"ປິດການນຳໃຊ້ຢູ່"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"ສ້າງໂໝດ"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"ກຳນົດເອງ"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"ເປີດຕອນນີ້ເລີຍ"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"ປິດ"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"ບໍ່ພົບໂໝດ"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"ຈຳກັດການລົບກວນ"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"ບລັອກສິ່ງລົບກວນ ແລະ ສິ່ງທີ່ເຮັດໃຫ້ເສຍສະມາທິ"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"ຕັ້ງຄ່າ <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"ເປີດໂໝດຫ້າມລົບກວນ"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"ສຽງໂມງປຸກ ແລະ ມີເດຍສາມາດລົບກວນໄດ້"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"ກຳນົດເວລາ"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"ລຶບກຳນົດເວ​ລາ"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"ລຶບ"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"ປ່ຽນຊື່"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"ລຶບ"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"ລຶບໂໝດ \"<xliff:g id="MODE">%1$s</xliff:g>\" ບໍ?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"ແກ້ໄຂ"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"ການກຳນົດເວລາ"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"ກຳນົດເວລາ"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"ເປີດອັດຕະໂນມັດ"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"ເພີ່ມປະຕິທິນ"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"ໃຊ້ປະຕິທິນຂອງທ່ານ"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"ກຳນົດເວລາ"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"ຕັ້ງກຳນົດເວລາ"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"ເມື່ອໃດຄວນເປີດໂດຍອັດຕະໂນມັດ"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"ກຳນົດການຂອງນັດໝາຍ"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"ເປີດໃນລະຫວ່າງນັດໝາຍສຳລັບ"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"ເມື່ອການຕອບກັບຄຳເຊີນເປັນ"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"ກຳນົດເວລາ"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"ກຳນົດເວລາ"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ຊມ, <xliff:g id="MINUTES">%2$d</xliff:g> ນທ"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"ກຳນົດເວລາ"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"ອະນຸຍາດການລົບກວນທີ່ມີສຽງ"</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="mode_interruption_filter_title" msgid="6657431939996264417">"ການແຈ້ງເຕືອນທີ່ທ່ານອາດໄດ້ຮັບ"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"ຄຳສັ່ງເພີ່ມເຕີມ"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"ຕົວກັ່ນຕອງການແຈ້ງເຕືອນ"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"ການຕັ້ງຄ່າເພີ່ມເຕີມ"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{ປິດ}=1{ປິດ / 1 ໂໝດຈະສາມາດເປີດໄດ້ໂດຍອັດຕະໂນມັດ}other{ປິດ / # ໂໝດຈະສາມາດເປີດໄດ້ໂດຍອັດຕະໂນມັດ}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"ການຕັ້ງຄ່າການສະແດງຜົນ"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"ຕົວເລືອກການສະແດງຜົນ"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"ຂາວດຳ"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ເປີດການນຳໃຊ້ຮູບແບບສີສັນມືດ"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"ສະຫຼັບລະບົບປະຕິບັດການ ແລະ ແອັບເພື່ອໃຊ້ຂໍ້ຄວາມສີອ່ອນເທິງພື້ນຫຼັງສີເຂັ້ມ, ເຊິ່ງອາດສະບາຍຕາຫຼາຍຂຶ້ນ ແລະ ຊ່ວຍປະຢັດແບັດເຕີຣີໄດ້ຫຼາຍໃນອຸປະກອນບາງປະເພດ"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{ບໍ່ມີການປ່ຽນແປງການສະແດງຜົນ}=1{{effect_1}}=2{{effect_1} ແລະ {effect_2}}=3{{effect_1}, {effect_2} ແລະ {effect_3}}other{{effect_1}, {effect_2} ແລະ ອີກ # ລາຍການ}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"ອະນຸຍາດການແຈ້ງເຕືອນທັງໝົດ"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"ໃຫ້ຜູ້ຄົນ, ແອັບ ແລະ ສຽງລົບກວນໄດ້"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ຕົວເລືອກການສະແດງຜົນສຳລັບການແຈ້ງເຕືອນທີ່ຖືກກັ່ນຕອງ"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"ເມື່ອເປີດໃຊ້ໂໝດຫ້າມລົບກວນ"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"ບໍ່ມີສຽງຈາກການແຈ້ງເຕືອນ"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"ເປີດການແຈ້ງເຕືອນ"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"ອະນຸຍາດໃຫ້ເລື່ອນການແຈ້ງເຕືອນ"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"ໄອຄອນຈຸດການແຈ້ງເຕືອນຢູ່ແອັບ"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"ກຸ່ມການແຈ້ງເຕືອນ"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bubbles"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubbles"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"ສະແດງການສົນທະນານີ້ເປັນຟອງ"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"ມັນສາມາດຕອບກັບຫາຂໍ້ຄວາມ ແລະ ໃຊ້ຄຳສັ່ງຢູ່ປຸ່ມຕ່າງໆໃນການແຈ້ງເຕືອນໄດ້, ຮວມທັງການເລື່ອນໄປກ່ອນ ຫຼື ການປິດການແຈ້ງເຕືອນ ແລະ ການຮັບສາຍໂທລະສັບ."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"ປ່ຽນການຕັ້ງຄ່າ"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"ມັນສາມາດເປີດ ຫຼື ປິດໂໝດຫ້າມລົບກວນ ແລະ ປ່ຽນການຕັ້ງຄ່າທີ່ກ່ຽວຂ້ອງໄດ້."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"ໂດຍສາມາດຈັດການ ແລະ ເປີດນຳໃຊ້ໂໝດ, ຮວມທັງປ່ຽນແປງການຕັ້ງຄ່າທີ່ກ່ຽວຂ້ອງໄດ້."</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_modes_warning_summary" msgid="7528432011433844158">"ຫາກທ່ານປິດການເຂົ້າເຖິງການແຈ້ງເຕືອນສຳລັບ <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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"ແບບສົດໆ"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"ແອັບນີ້ບໍ່ຮອງຮັບການຕັ້ງຄ່າທີ່ປັບປຸງໃຫ້ດີຂຶ້ນ"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"ການຕັ້ງຄ່າເພີ່ມເຕີມ"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"ການຕັ້ງຄ່າເພີ່ມເຕີມແມ່ນມີໃຫ້ຢູ່ພາຍໃນແອັບ"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"ການແຈ້ງເຕືອນແບບປັບອັດຕະໂນມັດ"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"ໃຊ້ການແຈ້ງເຕືອນແບບປັບອັດຕະໂນມັດ"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"ເມື່ອທ່ານໄດ້ຮັບການແຈ້ງເຕືອນຈຳນວນຫຼາຍພາຍໃນເວລາສັ້ນໆ, ໂທລະສັບຂອງທ່ານຈະຫຼຸດສຽງລົບກວນ ແລະ ຫຼຸດຈຳນວນປັອບອັບຢູ່ໜ້າຈໍເປັນເວລາສູງສຸດ 2 ນາທີ. ໂດຍການໂທ, ການປຸກ ແລະ ການສົນທະນາສຳຄັນຈະຍັງຄົງສັ່ນເຕືອນ, ເປີດສຽງ ຫຼື ສະແດງຢູ່ໜ້າຈໍ ແລະ ຍັງສາມາດຊອກຫາການແຈ້ງເຕືອນທັງໝົດໄດ້ຢ່າງງ່າຍດາຍເມື່ອທ່ານເລື່ອນລົງຈາກເທິງສຸດຂອງໜ້າຈໍ."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"ຄູດາວການແຈ້ງເຕືອນ"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"ໃຊ້ການຄູດາວການແຈ້ງເຕືອນ"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"ເມື່ອທ່ານໄດ້ຮັບການແຈ້ງເຕືອນຈຳນວນຫຼາຍພາຍໃນໄລຍະເວລາສັ້ນໆ, ອຸປະກອນຂອງທ່ານຈະຫຼຸດລະດັບສຽງ ແລະ ຫຼຸດຈຳນວນແຈ້ງເຕືອນລົງເປັນເວລາສູງສຸດ 2 ນາທີ. ໂດຍທີ່ການໂທ, ໂມງປຸກ ແລະ ການສົນທະນາສຳຄັນຈະບໍ່ໄດ້ຮັບຜົນກະທົບ. \n\nການແຈ້ງເຕືອນທີ່ໄດ້ຮັບໃນລະຫວ່າງຄູດາວສາມາດເບິ່ງໄດ້ໂດຍການດຶງລົງຈາກທາງເທິງຂອງໜ້າຈໍ."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"ນຳໃຊ້ກັບໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"ໃຊ້ກັບແອັບໃນໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"ບໍລິການຕົວຊ່ວຍ VR"</string>
@@ -3650,6 +3709,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"ການເຂົ້າເຖິງໂໝດ"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"ອະນຸຍາດການເຂົ້າເຖິງໂໝດ"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"ບໍ່ມີແອັບໃດທີ່ຕິດຕັ້ງໄວ້ຂໍເຂົ້າເຖິງໂໝດ"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"ທ່ານບໍ່ໄດ້ອະນຸຍາດການແຈ້ງເຕືອນຈາກແອັບນີ້"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"ຕາມຄຳຂໍຂອງທ່ານ, Android ຈະບລັອກໝວດໝູ່ການແຈ້ງເຕືອນນີ້ບໍ່ໃຫ້ປາກົດຢູ່ອຸປະກອນນີ້"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"ຕາມຄຳຂໍຂອງທ່ານ, Android ຈະບລັອກກຸ່ມການແຈ້ງເຕືອນນີ້ບໍ່ໃຫ້ປາກົດຢູ່ອຸປະກອນນີ້"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"ໝວດໝູ່"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"ອື່ນໆ"</string>
     <string name="no_channels" msgid="4716199078612071915">"ແອັບນີ້ຍັງບໍ່ໄດ້ໂພສການແຈ້ງເຕືອນໃດເທື່ອ"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"ສະແດງໝວດໝູ່ທີ່ບໍ່ໄດ້ໃຊ້"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"ການຕັ້ງຄ່າເພີ່ມເຕີມໃນແອັບ"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"ສະແດງໝວດໝູ່ທີ່ບໍ່ໄດ້ໃຊ້"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"ເຊື່ອງໝວດໝູ່ທີ່ບໍ່ໄດ້ໃຊ້"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"ການສົນທະນາ"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"ການສົນທະນາທັງໝົດ"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"ການສົນທະນາທັງໝົດ"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"ການສົນທະນາສຳຄັນ"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"ການສົນທະນາສຳຄັນ"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"ບໍ່ມີ"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"ແອັບທີ່ສາມາດລົບກວນໄດ້"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"ແອັບທີ່ເລືອກແລ້ວ"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"ບໍ່ມີ"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"ທັງໝົດ"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{ບໍ່ໃຫ້ແອັບໃດລົບກວນໄດ້ເລີຍ}=1{{app_1} ສາມາດລົບກວນໄດ້}=2{{app_1} ແລະ {app_2} ສາມາດລົບກວນໄດ້}=3{{app_1}, {app_2} ແລະ {app_3} ສາມາດລົບກວນໄດ້}other{{app_1}, {app_2} ແລະ ອີກ # ແອັບສາມາດລົບກວນໄດ້}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (ວຽກ)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"ກຳລັງຄຳນວນ…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ອະນຸຍາດໃຫ້ແອັບຍົກເລີກໄດ້"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"ແອັບທີ່ສາມາດລົບກວນໄດ້"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"ເລືອກແອັບເພີ່ມເຕີມ"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"ບໍ່ມີຫຍັງທີ່ສາມາດລົບກວນໄດ້"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"ບໍ່ມີໃຜສາມາດລົບກວນໄດ້"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"ບາງຄົນສາມາດລົບກວນໄດ້"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"ຜູ້ໂທຊ້ຳສາມາດລົບກວນໄດ້"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"ທຸກຄົນສາມາດລົບກວນໄດ້"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"ຜູ້ໂທຊ້ຳໆ"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"ອະນຸຍາດຜູ້ໂທທີ່ໂທຊ້ຳ"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{ປ່ຽນເປັນໂມງປຸກພຽງແຕ່ໜຶ່ງຊົ່ວໂມງຈົນຮອດ {time} ເທົ່ານັ້ນ}other{ປ່ຽນເປັນໂມງປຸກພຽງແຕ່ # ຊົ່ວໂມງຈົນຮອດ {time} ເທົ່ານັ້ນ}}"</string>
     <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_action_change_name" msgid="766639614789907016">"ປ່ຽນຊື່"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"ປ່ຽນໄອຄອນ"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"ປ່ຽນໄອຄອນ"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"ໂໝດແກ້ໄຂ"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"ສ້າງໂໝດ"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"ໂໝດທີ່ກຳນົດເອງ"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"ຊື່ໂໝດ"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"ນັດໝາຍປະຕິທິນ"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"ສິ່ງທີ່ເຮັດປະຈຳໃນເວລານອນ"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"ໃນຂະນະຂັບລົດ"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"ການຕັ້ງຄ່າແອັບ"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"ຂໍ້ມູນ ແລະ ການຕັ້ງຄ່າໃນ <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"ຈັດການໂດຍ <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"ປິດການນຳໃຊ້ <xliff:g id="MODE_NAME">%1$s</xliff:g> ບໍ?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"ໂໝດນີ້ຈະບໍ່ເປີດເມື່ອປິດການນຳໃຊ້ຢູ່"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"ປິດການນຳໃຊ້"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"ເປີດການນຳໃຊ້ <xliff:g id="MODE_NAME">%1$s</xliff:g> ບໍ?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"ໂໝດນີ້ອາດເປີດໂດຍອັດຕະໂນມັດຕາມການຕັ້ງຄ່າ"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"ເປີດການນຳໃຊ້"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"ຕັ້ງຄ່າໂໝດທີ່ເປັນໄປຕາມກຳນົດເວລາປົກກະຕິ"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"ຕັ້ງຄ່າໂໝດການຊິ້ງກັບນັດໝາຍປະຕິທິນ ແລະ ການຕອບກັບຄຳເຊີນ"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"ອອກແບບກິດຈະວັດການນອນທີ່ຜ່ອນຄາຍ. ຕັ້ງໂມງປຸກ, ຫຼຸດແສງໜ້າຈໍ ແລະ ບລັອກການແຈ້ງເຕືອນ."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"ໃຫ້ຄວາມສຳຄັນກັບຄວາມປອດໄພເທິງຖະໜົນເພື່ອການຂັບລົດທີ່ມີສະມາທິ ແລະ ບໍ່ມີສິ່ງລົບກວນ"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"ບລັອກສິ່ງລົບກວນ ຫຼື ສິ່ງຂັດຈັງຫວະຈາກອຸປະກອນຂອງທ່ານເພື່ອໃຫ້ມີສະມາທິຫຼາຍຂຶ້ນ"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"ກຳຈັດສິ່ງລົບກວນທັງໝົດເພື່ອສະພາບແວດລ້ອມທີ່ງຽບສະຫງົບ"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"ປັບແຕ່ງປະສົບການໃນການໃຊ້ອຸປະກອນ ແລະ ການຕັ້ງຄ່າສຳລັບຜູ້ໃຊ້ທີ່ແຕກຕ່າງກັນໃຫ້ເປັນແບບສ່ວນຕົວ"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"ຫຼຸດການລົບກວນໂດຍການອະນຸຍາດສະເພາະບຸກຄົນ ແລະ ແອັບທີ່ສຳຄັນເທົ່ານັ້ນໃນການຕິດຕໍ່ຫາທ່ານ"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"ຕັ້ງຄ່າໂໝດທີ່ເປັນໄປຕາມກຳນົດເວລາປົກກະຕິ"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"ຊິ້ງອຸປະກອນຂອງທ່ານກັບນັດໝາຍປະຈຳວັນຂອງທ່ານ"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"ຕື່ນຂຶ້ນມາດ້ວຍຄວາມຮູ້ສຶກດີຄືເຕັມ 100%"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"ຄວາມປອດໄພຕ້ອງມາກ່ອນສະເໝີເມື່ອຢູ່ເທິງຖະໜົນ"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"ເພີ່ມສະມາທິເພື່ອຕັ້ງໃຈກັບສິ່ງທີ່ຕ້ອງເຮັດ"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"ສຳລັບເວລາທີ່ມາລະຍາດເປັນເລື່ອງສຳຄັນ"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"ການນຳໃຊ້ແບບມີຄຳແນະນຳເພື່ອຊ່ວຍທ່ານໄດ້ຮັບການເບິ່ງແຍງຢ່າງດີ"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"ຄວບຄຸມຄວາມສົນໃຈຂອງທ່ານ"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"ຄໍາເຕືອນ"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"ປິດ"</string>
     <string name="device_feedback" msgid="5351614458411688608">"ສົ່ງ​ຄຳ​ຕິ​ຊົມ​ກ່ຽວ​ກັບ​ອຸ​ປະ​ກອນ​ນີ້"</string>
@@ -4006,6 +4102,10 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"ອະນຸຍາດການເຂົ້າເຖິງໂໝດສຳລັບ <xliff:g id="APP">%1$s</xliff:g> ບໍ?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"ແອັບຈະສາມາດເປີດ/ປິດໂໝດຫ້າມລົບກວນ, ຈັດການ ແລະ ເປີດນຳໃຊ້ໂໝດ, ຮວມທັງປ່ຽນແປງການຕັ້ງຄ່າທີ່ກ່ຽວຂ້ອງໄດ້."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"ຖອດຖອນການເຂົ້າເຖິງໂໝດສຳລັບ <xliff:g id="APP">%1$s</xliff:g> ບໍ?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"ລະບົບຈະລຶບໂໝດທັງໝົດທີ່ແອັບນີ້ສ້າງອອກ."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"ບໍ່ປັບໃຫ້ເໝາະສົມ"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"ປັບໃຫ້ເໝາະສົມ"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"ອາດໃຊ້ແບັດເຕີຣີຂອງທ່ານໝົດໄວຂຶ້ນ. ຈະບໍ່ມີການຈຳກັດການນຳໃຊ້ແບັດເຕີຣີໃນພື້ນຫຼັງອີກຕໍ່ໄປ."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"ເຄສ"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"ແບັດເຕີຣີ"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"ແຜງການຕັ້ງຄ່າ"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"ບັງຄັບໂໝດເດັສທັອບ"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ບັງຄັບໂໝດເດັສທັອບແບບທົດລອງໃຊ້ຢູ່ໜ້າຈໍທີສອງ"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"ເປີດການນຳໃຊ້ໜ້າຈໍຮູບແບບອິດສະຫຼະ"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"ເປີດການນຳໃຊ້ໜ້າຈໍຮູບແບບອິດສະຫຼະຢູ່ຈໍສະແດງຜົນສຳຮອງ"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"ເປີດການນຳໃຊ້ແບບບໍ່ສາມາດປັບຂະໜາດໃນການໃຊ້ຫຼາຍໜ້າຈໍ"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"ອະນຸຍາດໃຫ້ມີແອັບແບບບໍ່ສາມາດປັບຂະໜາດໄດ້ໃນການໃຊ້ຫຼາຍໜ້າຈໍ"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"ຍົກເລີກການບັງຄັບໃຫ້ໃຊ້ແບບມືດ"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"ອິນເຕີເນັດມືຖື"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"ເພື່ອປັບປຸງປະສົບການອຸປະກອນ, ແອັບ ແລະ ບໍລິການຍັງຄົງສາມາດສະແກນຫາເຄືອຂ່າຍ Wi‑Fi ຕອນໃດກໍໄດ້, ເຖິງແມ່ນວ່າຈະປິດ Wi‑Fi ໄວ້ກໍຕາມ. ສິ່ງນີ້ສາມາດໃຊ້ເພື່ອປັບປຸງຄຸນສົມບັດ ແລະ ບໍລິການທີ່ອ້າງອີງສະຖານທີ່ໄດ້. ທ່ານສາມາດປ່ຽນສິ່ງນີ້ໄດ້ໃນການຕັ້ງຄ່າການສະແກນ Wi‑Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"ປ່ຽນ"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"ເຊື່ອມຕໍ່ແລ້ວ"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"ເຊື່ອມຕໍ່ແລ້ວຊົ່ວຄາວ"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"ກຳລັງໃຊ້ <xliff:g id="SUBNAME">%1$s</xliff:g> ຊົ່ວຄາວ"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ໃຊ້ການປັກໝຸດແອັບ"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"ໃຊ້ຕົວເລືອກນັກພັດທະນາ"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"ໃຊ້ບໍລິການພິມ"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"ອະນຸຍາດຜູ້ໃຊ້ຫຼາຍຄົນ"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"ອະນຸຍາດໃຫ້ຜູ້ໃຊ້ປ່ຽນໄດ້"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"ອະນຸຍາດ, ຫຼາຍຄົນ, ຜູ້ໃຊ້, ອະນຸຍາດ, ຫຼາຍ"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"ຫຼາຍ, ຜູ້ໃຊ້, ໂປຣໄຟລ໌, ຄົນ, ບັນຊີ, ສະຫຼັບ, ຫຼາຍ"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ໃຊ້ການດີບັກໄຮ້ສາຍ"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> ຕ້ອງການເຊື່ອມຕໍ່ຫາໂທລະສັບນີ້.\n\nທ່ານບໍ່ເຄີຍເຊື່ອມຕໍ່ຫາ <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> ມາກ່ອນ."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"ຢ່າເຊື່ອມຕໍ່"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"ເຊື່ອມຕໍ່"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"ການຕັ້ງຄ່າ TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"ເປີດ"</string>
-    <string name="tare_off" msgid="6305694402929756726">"ປິດ"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"ແປງກັບຄືນໄປເປັນການຕັ້ງຄ່າເລີ່ມຕົ້ນ"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"ແປງກັບຄືນໄປເປັນການຕັ້ງຄ່າເລີ່ມຕົ້ນແລ້ວ."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"ສົມດຸນທີ່ອິ່ມຕົວສູງສຸດ"</string>
-    <string name="tare_balances" msgid="731881382594747961">"ສົມດຸນ"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"ຂີດຈຳກັດການນຳໃຊ້"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"ຂີດຈຳກັດການນຳໃຊ້ເລີ່ມຕົ້ນ"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"ຂີດຈຳກັດການນຳໃຊ້ຂັ້ນຕ່ຳ"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"ຂີດຈຳກັດການນຳໃຊ້ສູງສຸດ"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"ຕົວປັບແຕ່ງ"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"ການດຳເນີນການ (ລາຄາເພື່ອຜະລິດ)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"ການດຳເນີນການ (ລາຄາຖານ)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"ຮາງວັນຕໍ່ກິດຈະກຳດຽວ"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"ຮາງວັນຕໍ່ວິນາທີຂອງໄລຍະເວລາກິດຈະກຳ"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"ຮາງວັນສູງສຸດຕໍ່ມື້"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"ການຕິດຕັ້ງແອັບ"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"​ການເຄື່ອນ​ໄຫວ​ສູງ​ສຸດ"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"ເຫັນການແຈ້ງເຕືອນແລ້ວ"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"ເຫັນການແຈ້ງເຕືອນແລ້ວພາຍໃນ 15 ນາທີ"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"ການໂຕ້ຕອບການແຈ້ງເຕືອນ"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"ການໂຕ້ຕອບວິດເຈັດ"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"ການໂຕ້ຕອບຜູ້ໃຊ້ອື່ນໆ"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"ເລີ່ມວຽກສຳຄັນສູງສຸດ"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"ກຳລັງເຮັດວຽກສຳຄັນສູງສຸດ"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"ເລີ່ມວຽກສຳຄັນ"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"ກຳລັງເຮັດວຽກສຳຄັນ"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"ເລີ່ມວຽກຕາມຄ່າເລີ່ມຕົ້ນ"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"ກຳລັງເຮັດວຽກຕາມຄ່າເລີ່ມຕົ້ນ"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"ເລີ່ມວຽກບໍ່ສຳຄັນ"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"ກຳລັງເຮັດວຽກບໍ່ສຳຄັນ"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"ເລີ່ມວຽກສຳຄັນໜ້ອຍສຸດ"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"ກຳລັງເຮັດວຽກສຳຄັນໜ້ອຍສຸດ"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"ໂທດເນື່ອງຈາກໝົດເວລາວຽກ"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"ຍອດຄົງເຫຼືອຂັ້ນຕ່ຳເມື່ອສາກເຕັມ (ໄດ້ຮັບການຍົກເວັ້ນ)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"ຍອດຄົງເຫຼືອຂັ້ນຕ່ຳເມື່ອສາກເຕັມ (ແອັບລະບົບແບບບໍ່ມີສ່ວນຫົວ)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"ຍອດຄົງເຫຼືອຂັ້ນຕ່ຳເມື່ອສາກເຕັມ (ແອັບທີ່ຍັງເຫຼືອ)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"ການເພີ່ມຍອດຄົງເຫຼືອຂັ້ນຕ່ຳເມື່ອສາກເຕັມ (ຕົວອັບເດດແອັບ)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"ກຳລັງສາກໄຟ"</item>
-    <item msgid="658627268149681677">"Doze"</item>
-    <item msgid="1599558140284643834">"ໂໝດປະຢັດພະລັງງານ"</item>
-    <item msgid="588427840913221601">"ສະຖານະການປະມວນຜົນ"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"ຢືນຢັນ"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"ຕົວຢ່າງ"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"ເລືອກພາບພັກໜ້າຈໍ"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"ສະແດງຂໍ້ມູນເພີ່ມເຕີມ"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"ເລືອກວ່າທ່ານຈະເຫັນຫຍັງຢູ່ໜ້າຈໍຂອງທ່ານເມື່ອແທັບເລັດຂອງທ່ານຕັ້ງຢູ່ດັອກ. ອຸປະກອນຂອງທ່ານອາດໃຊ້ພະລັງງານຫຼາຍຂຶ້ນເມື່ອໃຊ້ສະກຣີນເຊບເວີ."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"ປັບແຕ່ງ"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"ປັບແຕ່ງ <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"ຕ້ອງປິດ​ເປີດ​ໃໝ່ເພື່ອເປີດການນຳໃຊ້ການຊ່ວຍເຫຼືອຮູບແບບອິດສະລະ."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"ຕ້ອງປິດ​ເປີດ​ໃໝ່ເພື່ອບັງຄັບໂໝດເດັສທັອບຢູ່ໜ້າຈໍທີສອງ."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"ຕ້ອງປິດ​ເປີດ​ໃໝ່ເພື່ອເປີດການນຳໃຊ້ການຊ່ວຍເຫຼືອໜ້າຈໍຮູບແບບອິດສະລະ."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"ຕ້ອງປິດເປີດໃໝ່ເພື່ອອັບເດດຄວາມພ້ອມໃນການນຳໃຊ້ໜ້າຈໍແບບອິດສະຫຼະ."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"ຕ້ອງປິດເປີດໃໝ່ເພື່ອເປີດການນຳໃຊ້ໜ້າຈໍຮູບແບບອິດສະຫຼະຢູ່ຈໍສະແດງຜົນສຳຮອງ."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"ປິດ​ເປີດ​ໃໝ່ໃນຕອນນີ້"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"ປິດ​ເປີດ​ໃໝ່ໃນພາຍຫຼັງ"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"ສຽງຮອບທິດທາງ"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"ສີດອກກຸຫຼາບ"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"ສີແດງມ່ວງ"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"ສີມ່ວງ"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"ແລ້ວໆ"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"ບັນທຶກ"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"ຍົກເລີກ"</string>
     <string name="contrast_default" msgid="8918545965525226966">"ຄ່າເລີ່ມຕົ້ນ"</string>
     <string name="contrast_medium" msgid="384414510709285811">"ປານກາງ"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"ເປີດ"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"ປິດ"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"ເປີດ"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"ສຽງ %1$d%% ຊ້າຍ, %2$d%% ຂວາ"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"ສຽງ %1$d%% ຂວາ, %2$d%% ຊ້າຍ"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"ຊື່ອຸປະກອນຂອງທ່ານຈະສະແດງໃຫ້ແອັບທີ່ທ່ານຕິດຕັ້ງໄວ້ເຫັນ. ມັນອາດຖືກສະແດງໃຫ້ຄົນອື່ນເຫັນໃນເວລາທີ່ທ່ານເຊື່ອມຕໍ່ຫາອຸປະກອນ Bluetooth, ເຊື່ອມຕໍ່ຫາເຄືອຂ່າຍ Wi-Fi ຫຼື ຕັ້ງຄ່າຮັອດສະປອດ Wi-Fi ນຳ."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"ເພດທາງໄວຍາກອນ"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ເລືອກເພດທາງໄວຍາກອນ"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"ຢຸດການແບ່ງປັນສຽງແລ້ວ"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"ເຊື່ອມຕໍ່ອຸປະກອນທີ່ເຂົ້າກັນໄດ້"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"ເພື່ອເລີ່ມການແບ່ງປັນສຽງ, ທຳອິດໃຫ້ເຊື່ອມຕໍ່ຫູຟັງສຽງ LE ໄປຫາໂທລະສັບຂອງທ່ານກ່ອນ"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"ສະຫຼັບໄປໃຊ້ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"ເຊື່ອມຕໍ່ກັບການສະຕຣີມສຽງ LE"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"ການສະຕຣີມສຽງທີ່ຢູ່ໃກ້ຄຽງ"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"ການສະຕຣີມສຽງ"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ຟັງສະຕຣີມ"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"ສະແກນລະຫັດ QR ການສະຕຣີມສຽງເພື່ອຟັງກັບ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"ບໍ່ສາມາດແກ້ໄຂລະຫັດຜ່ານໃນລະຫວ່າງທີ່ແບ່ງປັນໄດ້. ເພື່ອປ່ຽນລະຫັດຜ່ານ, ທຳອິດໃຫ້ປິດການແບ່ງປັນສຽງ."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"ຕົວສະແກນລະຫັດ QR"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"ຕ້ອງການຄວາມຊ່ວຍເຫຼືອບໍ?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"ຊອກຫາໃນການຕັ້ງຄ່າ"</string>
 </resources>
diff --git a/res/values-lt/arrays.xml b/res/values-lt/arrays.xml
index 004822f..af16799 100644
--- a/res/values-lt/arrays.xml
+++ b/res/values-lt/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Laikas miegoti"</item>
-    <item msgid="4152450357280759894">"Vairavimas"</item>
-    <item msgid="7096549258219399423">"Įtraukiantis"</item>
-    <item msgid="2760716776980432977">"Tvarkoma"</item>
-    <item msgid="601734478369121764">"Žvaigždė"</item>
-    <item msgid="6243809315432780521">"Kalendorius"</item>
-    <item msgid="4913577903148415331">"Laikas"</item>
-    <item msgid="3653377604690057780">"Teatras"</item>
-    <item msgid="3843711267408385410">"Gėlė"</item>
+    <item msgid="1216815120972438676">"Portfelis"</item>
+    <item msgid="184985872234062767">"Klasikinis pastatas"</item>
+    <item msgid="9189550412466785530">"Daugiabutis namas"</item>
+    <item msgid="2142527562511049422">"Kalbos debesėlis"</item>
+    <item msgid="2548100558260478605">"Žmonių grupė"</item>
+    <item msgid="2270003903304578284">"Lemputė"</item>
+    <item msgid="4793496619091161864">"Kalendorius"</item>
+    <item msgid="5673625795644364100">"Netrukdymo režimas"</item>
+    <item msgid="1423820834865831361">"Bėgantis asmuo"</item>
+    <item msgid="2037298830718732608">"Golfas"</item>
+    <item msgid="2197835014443491074">"Sporto hanteliai"</item>
+    <item msgid="2730180105015616518">"Plaukimas"</item>
+    <item msgid="2666922823253345958">"Žygiuojantis asmuo"</item>
+    <item msgid="8234880356472211396">"Kamuolį metantis asmuo"</item>
+    <item msgid="4642980625253001443">"Spiriantis asmuo"</item>
+    <item msgid="4324795269518833500">"Žaidimų valdiklis"</item>
+    <item msgid="7789966425125441125">"Atlikėjo spalvų gama"</item>
+    <item msgid="663512680597461570">"Snaigė"</item>
+    <item msgid="7952183800501346803">"Paplūdimio skėtis"</item>
+    <item msgid="799139025758265891">"Darbo įrankiai"</item>
+    <item msgid="1330084588359129896">"Palapinė"</item>
+    <item msgid="3861584909935022342">"Kino juosta"</item>
+    <item msgid="5827426100157335512">"Knyga"</item>
+    <item msgid="8585828346253128384">"Lotoso žiedas"</item>
+    <item msgid="8788370542815300188">"Asmens mintis"</item>
+    <item msgid="7287354964767553293">"Ausinės"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Traukinys"</item>
+    <item msgid="4903790544026923026">"Automobilis"</item>
+    <item msgid="5010405583912314582">"Šakutė ir peilis"</item>
+    <item msgid="8939998598599064900">"Pirkinių krepšelis"</item>
+    <item msgid="3379605903308731893">"Vaikas"</item>
+    <item msgid="7808668968550293112">"Gyvūno letena"</item>
+    <item msgid="1000692647524056504">"Žvaigždutės ženklelis"</item>
+    <item msgid="8270261073421676502">"Du žmonės"</item>
+    <item msgid="5767782819651505460">"Žvaigždė"</item>
+    <item msgid="4368451291862729334">"Širdis"</item>
+    <item msgid="2613199102208419986">"Namas"</item>
+    <item msgid="3022279986430275040">"Pusmėnulis"</item>
+    <item msgid="5421089790869483206">"Laikrodis"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index b3a53b5..91b2d17 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Pristabdyta"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Nežinoma"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Peržiūra"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR kodas"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Visada"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Klausos įrenginio nustatymai"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Spartusis klavišas, klausos aparato suderinamumas"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Išankstiniai nustatymai"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Nėra jūsų audiologo suprogramuotų išankstinių nustatymų"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Išankstinių nustatymų atnaujinti nepavyko"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Garso išvestis"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Apie garso išvestį"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Šios programos kalbos pasirinkimas nepasiekiamas iš skilties „Nustatymai“."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Kalba gali skirtis nuo programoje pasiekiamų kalbų. Kai kuriose programose šis nustatymas gali būti nepalaikomas."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Nustatykite kiekvienos programos kalbą."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Jūsų sistema, programos ir svetainės naudoja pirmąją palaikomą kalbą iš pageidaujamų sąrašo."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Jūsų įrenginys, programos ir svetainės naudoja pirmąją palaikomą kalbą iš pageidaujamų kalbų sąrašo.\n\nDaug programų taip pat naudos regioną pagal pageidaujamą kalbą, kad nustatytų datų, skaičių ir matavimo vienetų formatą. Jei norite pakeisti regioną, pridėkite kalbą, tada pasirinkite pageidaujamą regioną."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Norėdami pasirinkti kalbą kiekvienai programai, eikite į programų kalbų nustatymus."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Sužinokite daugiau apie programos kalbas"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Pakeisti sistemos kalbą į %s ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Išjungti"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Įjungta / # programa gali pasiekti vietovę}one{Įjungta / # programa gali pasiekti vietovę}few{Įjungta / # programos gali pasiekti vietovę}many{Įjungta / # programos gali pasiekti vietovę}other{Įjungta / # programų gali pasiekti vietovę}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Įkeliama…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Programos, turinčios netoliese esančių įrenginių leidimą, gali nustatyti apytikslį atstumą iki prijungtų įrenginių."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Programos, turinčios netoliese esančių įrenginių leidimą, gali nustatyti apytikslę prijungtų įrenginių poziciją."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Programų ir paslaugų prieiga prie vietovės išjungta. Įrenginio vietovės informacija vis tiek gali būti siunčiama pagalbos tarnyboms skambinant ar siunčiant teksto pranešimą pagalbos numeriu."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Sužinokite daugiau apie vietovės nustatymus."</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Jei norite pakeisti, eikite į „ChromeOS“ nustatymus &gt; „Privatumas ir sauga“ &gt; „Privatumo valdikliai“ &gt; „Prieiga prie vietovės“"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Pridėti veido ir <xliff:g id="WATCH">%s</xliff:g> duomenys"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Pridėti veido, piršto atspaudo ir <xliff:g id="WATCH">%s</xliff:g> duomenys"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Pridėti veido, piršto atspaudų ir <xliff:g id="WATCH">%s</xliff:g> duomenys"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Tapatybės patikra įjungta ir reikia biometrinių duomenų"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Nuotolinės Autentifikavimo priemonės atrakinimas"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Laikrodis pridėtas"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Nustatykite laikrodį"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Sužinokite daugiau apie funkciją „Laikrodžio atrakinimas“"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Pridėti laikrodį"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Pašalinti laikrodį"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Atrakinimas piršto atspaudu ir pagal veidą"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Atrakinimas pagal veidą ir piršto atspaudu"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Atrakinimas pagal veidą ir piršto atspaudu darbe"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Reikia nustatyti"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Pridėtas veidas ir kontroliniai kodai"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Nustatoma privati erdvė…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Nepavyko nustatyti privačios erdvės"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Bandyti dar kartą"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Išeiti"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Privati erdvė nepasiekiama.\nPeržiūrėkite galimas priežastis."</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Peržiūrėti galimas priežastis"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Pasirinkti naują privačios erdvės užraktą?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Galite nustatyti naują užraktą tik privačiai erdvei arba naudoti tą patį užraktą, kurį naudojate įrenginiui užrakinti"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Naudoti ekrano užraktą"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Kai „Bluetooth“ įjungtas, įrenginys gali užmegzti ryšį su kitais netoliese esančiais „Bluetooth“ įrenginiais.\n\nKad pagerintų įrenginio funkcijas, programos ir paslaugos vis tiek gali bet kada nuskaityti ieškodamos netoliese esančių įrenginių, net kai „Bluetooth“ išjungtas. Tai galima naudoti norint, pvz., tobulinti pagal vietovę teikiamas funkcijas ir paslaugas. Tai galite pakeisti „Bluetooth“ nuskaitymo nustatymuose."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Kai „Bluetooth“ įjungtas, įrenginys gali užmegzti ryšį su kitais netoliese esančiais „Bluetooth“ įrenginiais. Tokioms funkcijoms kaip „Spartusis bendrinimas“ ir „Rasti įrenginį“ naudojamas „Bluetooth“ ryšys.\n\nProgramos ir paslaugos vis tiek gali bet kada nuskaityti ieškodamos netoliese esančių įrenginių, net kai „Bluetooth“ išjungtas. Tai galima naudoti norint, pvz., tobulinti pagal vietovę teikiamas funkcijas ir paslaugas. Tai galite pakeisti „Bluetooth“ nuskaitymo nustatymuose."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Keisti"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Išsami įrenginio info."</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Klaviatūros nustatymai"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Daugiau nustatymų"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Programinės aparatinės įrangos naujiniai, informacija ir kt."</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Patarimai ir palaikymas"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Įrenginio „Bluetooth“ adresas: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Įrenginio „Bluetooth“ adresas:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Pamiršti įrenginį?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Eksperiment. funkc. Gerina garso kokybę."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Pamiršti įrenginį"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Atjungti programą"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Daugiau nustatymų"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Maksimalus prijungtų „Bluetooth“ garso įrenginių skaičius"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Pasirinkite maksimalų prijungtų „Bluetooth“ garso įrenginių skaičių"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC daugiažodžių paslaugų teikėjo derinimo žurnalas"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Paleisti įrenginį iš naujo?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Išsamių NFC duomenų įrašymas gali būti naudojamas tik kuriant produktą. Į pranešimus apie riktus įtraukiama papildomų NFC duomenų, kuriuose gali būti privačios informacijos. Jei norite pakeisti šį nustatymą, paleiskite įrenginį iš naujo."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Paleisti iš naujo"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Įjungta"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Išjungta"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Išorinis vaizdo įrenginys"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Išorinio vaizdo įrenginio naudojimas"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Ekrano skyra"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Išorinis vaizdo įrenginys atjungtas"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Pasukimas"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Įprastas"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Pakeitus pasukimą arba skyrą, gali būti sustabdytos šiuo metu veikiančios programos"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Įrenginys turi būti prijungtas prie išorinio vaizdo įrenginio, kad būtų galima bendrinti ekrano vaizdą"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Daugiau parinkčių"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Perdavimas"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"ekrano vaizdo bendrinimas"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Įgalinti belaidį rodymą"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Prisitaikanti"</string>
     <string name="brightness" msgid="6216871641021779698">"Šviesumo lygis"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Prisitaikantis šviesumas"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Apie prisitaikantį šviesumą"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Ekrano šviesumas automatiškai prisitaikys prie jūsų aplinkos ir veiklos. Galite šliaužiklį perkelti patys, kad prisitaikantis šviesumas įsimintų jūsų nuostatas."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Įjungta"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Išjungta"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Naudoti „<xliff:g id="CARRIER">%1$s</xliff:g>“ mob. ryšio duomen.?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Naudojate „<xliff:g id="CARRIER2_0">%2$s</xliff:g>“ mobiliojo ryšio duomenims. Jei perjungsite į „<xliff:g id="CARRIER1">%1$s</xliff:g>“, „<xliff:g id="CARRIER2_1">%2$s</xliff:g>“ paslaugos nebebus naudojamos mobiliojo ryšio duomenims."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Naudoti „<xliff:g id="CARRIER">%1$s</xliff:g>“"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Atnaujinti pageid. SIM kort.?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"„<xliff:g id="NEW_SIM">%1$s</xliff:g>“ yra vienintelė SIM kortelė įrenginyje. Ar norite naudoti šią SIM kortelę mobiliojo ryšio duomenims, skambučiams ir SMS pranešimams?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"„<xliff:g id="NEW_SIM">%1$s</xliff:g>“ dabar yra pagrindinė SIM kortelė"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Tobulinti mob. ryšio aprėptį?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Leiskite įrenginyje automatiškai perjungti į „<xliff:g id="BACKUP_CARRIER">%1$s</xliff:g>“ mobiliojo ryšio duomenis, kai jų pasiekiamumas geresnis."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Skambučiai, pranešimai ir tinklo srautas gali būti rodomi jūsų organizacijai."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Parinktys"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Pritaikomumas"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fizinė klaviatūra"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Ekrano klaviatūros naudojimas"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Palikti ekrane, kol fizinė klaviatūra aktyvi"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Peradresavimo klavišai"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Klaviatūra nepaiso greitai kartojamų to paties klavišo paspaudimų <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> milisek."</string>
     <string name="slow_keys" msgid="2891452895499690837">"Lėtieji klavišai"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Laikas, per kurį aktyvinamas klavišo paspaudimas, koreguojamas į <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> milisek."</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Atmenieji klavišai"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Norėdami naudoti spartųjį klavišą, vienu metu paspauskite vieną klavišą, užuot laikę nuspaudę kelis klavišus"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Pelės klavišai"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Naudokite fizinę klaviatūrą, kad galėtumėte valdyti pelę."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Spartieji klavišai"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Rodyti sparčiųjų klavišų sąrašą"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Darbo profilio klaviatūros ir įrankiai"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Tinkinti individualūs jutiklinės dalies naršymo gestai"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Atvirkštinis slinkimas"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Slenkant turinys juda į viršų"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Palietus apačioje dešinėje"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Daugiau – palietus jutiklinės dalies apačioje dešinėje"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Spustelėti apačioje dešinėje"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Daugiau parinkčių – jutiklinės dalies apačioje dešinėje"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Žymiklio greitis"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Rodyklės užpildymo stilius"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Keisti rodyklės užpildymo stilių į juodą"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Keisti rodyklės užpildymo stilių į geltoną"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Keisti rodyklės užpildymo stilių į rožinį"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Keisti rodyklės užpildymo stilių į mėlyną"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Rodyklės brūkšnio stilius"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Balta"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Juoda"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Nėra"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Sužinokite jutiklinės dalies gestus"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"jutiklinė dalis, pelė, žymeklis, slinkti, perbraukti, spustelėti dešiniuoju klavišu, spustelėti"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"spustelėti dešiniuoju klavišu, paliesti"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Nust. iš naujo"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Pasirinkite modifikavimo klavišą"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Pasirinkite naują „<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>“ slaptažodį:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"„<xliff:g id="IME_LABEL">%s</xliff:g>“ išdėstymas"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Numatytasis"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatinis: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Pasirinktas naudotojo: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Kalba"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Žymiklio greitis"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Žymeklio dydis"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Sumažinti žymeklį"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Padidinti žymeklį"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Žaidimų valdiklis"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Nukreipti vibravimą"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Siųsti vibraciją į žaidimų valdiklį, kai jis prijungtas"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Vis tiek tęsti"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Atšaukti"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Didinimo nustatymai"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Stumdymas vienu pirštu"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Perkelkite didintuvą vienu pirštu"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Judėkite ekrane vilkdami pirštu."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Perkelkite didinimo sritį vilkdami vienu pirštu."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Perkelkite didinimo sritį vilkdami dviem pirštais."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Nepasiekiama, kol didinama tik dalis ekrano"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Palieskite mygtuką, kad keistumėte mastelį"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Sparčiai artinkite ekrane, kad turinys būtų didesnis"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Kad priartintumėte, atlikite toliau nurodytus veiksmus.&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Paleiskite didinimo funkciją sparčiuoju klavišu.&lt;br/&gt; {1,number,integer}. Palieskite ekraną.&lt;br/&gt; {2,number,integer}. Pereikite nuo vieno ekrano elemento prie kito vilkdami dviem pirštais.&lt;br/&gt; {3,number,integer}. Koreguokite mastelį suėmę dviem pirštais.&lt;br/&gt; {4,number,integer}. Sustabdykite didinimo funkciją sparčiuoju klavišu.&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Kad laikinai priartintumėte, atlikite toliau nurodytus veiksmus.&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Įsitikinkite, kad didinimo tipas nustatytas į viso ekrano.&lt;br/&gt; {1,number,integer}. Paleiskite didinimo funkciją sparčiuoju klavišu.&lt;br/&gt; {2,number,integer}. Palieskite ir palaikykite bet kurią ekrano vietą.&lt;br/&gt; {3,number,integer}. Pereikite nuo vieno ekrano elemento prie kito vilkdami pirštu.&lt;br/&gt; {4,number,integer}. Sustabdykite didinimo funkciją pakeldami pirštą."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Kad priartintumėte, atlikite toliau nurodytus veiksmus.:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Paleiskite didinimo funkciją sparčiuoju klavišu.&lt;br/&gt; {1,number,integer}. Palieskite ekraną.&lt;br/&gt; {2,number,integer}. Judėkite ekrane vilkdami dviem pirštais.&lt;br/&gt; {3,number,integer}. Koreguokite mastelį suėmę dviem pirštais.&lt;br/&gt; {4,number,integer}. Sustabdykite didinimo funkciją sparčiuoju klavišu.&lt;br/&gt;&lt;br/&gt; Taip pat galite laikinai priartinti ir atlikti kitus veiksmus."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Kad priartintumėte, atlikite toliau nurodytus veiksmus.:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Paleiskite didinimo funkciją sparčiuoju klavišu.&lt;br/&gt; {1,number,integer}. Palieskite ekraną.&lt;br/&gt; {2,number,integer}. Judėkite ekrane vilkdami vienu arba dviem pirštais.&lt;br/&gt; {3,number,integer}. Koreguokite mastelį suėmę dviem pirštais.&lt;br/&gt; {4,number,integer}. Sustabdykite didinimo funkciją sparčiuoju klavišu.&lt;br/&gt;&lt;br/&gt; Taip pat galite laikinai priartinti ir atlikti kitus veiksmus."</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_pager" msgid="8461939455728454061">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> psl. iš <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Pritaikomumo mygtuko spartusis klavišas"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Palieskite dengiamąjį mygtuką"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Pritaikomumo gestas"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Palieskite pritaikomumo mygtuką <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ekrano apačioje. Norėdami perjungti funkcijas, palieskite ir palaikykite pritaikomumo mygtuką."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Perbraukite aukštyn dviem pirštais nuo ekrano apačios.\n\nJei norite perjungti funkcijas, perbraukite aukštyn dviem pirštais ir palaikykite."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Perbraukite aukštyn trimis pirštais nuo ekrano apačios.\n\nJei norite perjungti funkcijas, perbraukite aukštyn trimis pirštais ir palaikykite."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Perbraukite aukštyn nuo ekrano apačios. Norėdami perjungti funkcijas, perbraukite aukštyn ir palaikykite.}one{Perbraukite # pirštu aukštyn nuo ekrano apačios. Norėdami perjungti funkcijas, perbraukite # pirštu aukštyn ir palaikykite.}few{Perbraukite # pirštais aukštyn nuo ekrano apačios. Norėdami perjungti funkcijas, perbraukite # pirštais aukštyn ir palaikykite.}many{Perbraukite # piršto aukštyn nuo ekrano apačios. Norėdami perjungti funkcijas, perbraukite # piršto aukštyn ir palaikykite.}other{Perbraukite # pirštų aukštyn nuo ekrano apačios. Norėdami perjungti funkcijas, perbraukite # pirštų aukštyn ir palaikykite.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Daugiau parinkčių"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Sužinokite daugiau apie paslaugą „<xliff:g id="SERVICE">%1$s</xliff:g>“"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Garsumo klavišai"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"garsumo klavišai"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Paspauskite ir palaikykite abu garsumo klavišus"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Dukart palieskite ekraną dviem pirštais"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Palietimas du kartus tiek pirštų: %1$d"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Greitai du kartus palieskite ekraną tiek pirštų: %1$d"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Palietimas tris kartus"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Greitai palieskite ekraną %1$d k. Įrenginys gali veikti lėčiau."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Palietimas du kartus tiek pirštų: %1$d"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Greitai palieskite ekraną {0,number,integer} k. dviem pirštais"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Ekrano palietimas tris kartus"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"palietimas tris kartus"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Sparčiai palieskite ekraną {0,number,integer} k. 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Sparčiųjų klavišų nustatymai"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Spart. klavišas užrakinimo ekrane"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Leidžiama įjungti funkcijos spartųjį klavišą užrakinimo ekrane. Paspauskite abu garsumo klavišus ir palaikykite kelias sekundes."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Pritaikomumo mygtukas"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Pritaikomumo mygtukas ir gestas"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Ši paslauga veikia netinkamai."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Pritaikomumo spartieji klavišai"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Rodyti sparčiuosiuose nustatymuose"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Raudona, žalia"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Raudona, žalia"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Raudona-žalia, silpna žalia"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Raudona-žalia, silpna raudona"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Mėlyna, geltona"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Pilkumo tonas"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensyvumas"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Silpna žalia (deuteranomalija)"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Silpna raudona (protanomalija)"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Nepasiekiama naudojant pilkumo tono režimą arba kai spalvų taisymas yra išjungtas"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Itin blanku"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Padaryti ekraną itin blankų"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Žalsvai mėlyna"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Geltona"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Purpurinė"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Leisti „<xliff:g id="SERVICE">%1$s</xliff:g>“ valdyti visas įrenginio funkcijas?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"„<xliff:g id="SERVICE">%1$s</xliff:g>“ reikia:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Kadangi programa užstoja leidimo užklausą, nustatymuose negalima patvirtinti jūsų atsakymo."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"„<xliff:g id="SERVICE">%1$s</xliff:g>“ nori valdyti visas šio įrenginio funkcijas. Paslauga gali skaityti ekraną ir veikti specialiųjų poreikių turinčių naudotojų vardu. Šis valdymo lygis nėra tinkamas daugumai programų."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Galimybę valdyti visas funkcijas patariama suteikti programoms, kurios padeda specialiųjų poreikių turintiems asmenims, bet ne daugumai programų."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Ekrano peržiūra ir valdymas"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Naudojant šį ekrano valdiklį galima skaityti visą ekrane rodomą turinį ir rodyti turinį virš kitų programų."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Veiksmų peržiūra ir atlikimas"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Naudojant šią funkciją galima stebėti jūsų sąveiką su programa ar aparatinės įrangos jutikliu ir sąveikauti su programomis jūsų vardu."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Leisti"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Atmesti"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Išjungti"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Įjungta / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> ir <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Taip pat galite įjungti Erdvinio garso funkciją „Bluetooth“ įrenginiams."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Prijungtų įrenginių nustatymai"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Erdvinis garsas"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Išjungta"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Išjungta"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Išjungta"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Nė vieno}=1{Nustatytas 1 tvarkaraštis}one{Nustatytas # tvarkaraštis}few{Nustatyti # tvarkaraščiai}many{Nustatyta # tvarkaraščio}other{Nustatyta # tvarkaraščių}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Netrukdymo režimas"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Prioriteto režimai"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Pridėti režimą"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Režimai"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Sumažinkite blaškančių veiksnių ir valdykite savo dėmesį naudodami miego, darbo, vairavimo ir įvairius kitus režimus."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Sukurkite savo režimą"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Gauti pranešimus tik iš svarbių žmonių ar programų"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Nustatyti tvarkaraštį"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Tvarkaraštis pagal"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Diena ir laikas"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"„9.00–17.00 darbo dienomis“"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Kalendoriaus įvykiai"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{Aktyvus režimas „{mode_1}“}=2{Aktyvūs režimai „{mode_1}“ ir „{mode_2}“}=3{Aktyvūs režimai „{mode_1}“, „{mode_2}“ ir „{mode_3}“}one{Aktyvūs režimai „{mode_1}“ ir „{mode_2}“ ir dar #}few{Aktyvūs režimai „{mode_1}“ ir „{mode_2}“ ir dar #}many{Aktyvūs režimai „{mode_1}“ ir „{mode_2}“ ir dar #}other{Aktyvūs režimai „{mode_1}“ ir „{mode_2}“ ir dar #}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{Vieną režimą galima įjungti automatiškai}one{# režimą galima įjungti automatiškai}few{# režimus galima įjungti automatiškai}many{# režimo galima įjungti automatiškai}other{# režimų galima įjungti automatiškai}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ĮJUNGTA"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Nenustatyta"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Išjungta"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Režimo kūrimas"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Tinkinta"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Įjungti dabar"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Išjungti"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Režimas nerastas"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Pertraukčių apribojimas"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Blokuoti pertrauktis ir trukdžius"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Nustatyti „<xliff:g id="MODE">%1$s</xliff:g>“"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Netrukdymo režimo įjungimas"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Signalai ir medijos garsai gali trikdyti"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Tvarkaraščiai"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Tvarkaraščių trynimas"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Ištrinti"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Pervardyti"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Ištrinti"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Ištrinti režimą „<xliff:g id="MODE">%1$s</xliff:g>“?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Redaguoti"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Tvarkaraščiai"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Tvarkaraštis"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Įjungti automatiškai"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Pridėti kalendorių"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Naudoti kalendorių"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Tvarkaraštis"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Nustatykite tvarkaraštį"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Kada įjungti automatiškai"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Įvykio tvarkaraštis"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Įjungti per įvykius, skirtus"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Kur yra atsakymas į kvietimą"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Tvarkaraštis pagal laiką"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Tvarkaraštis"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> val. <xliff:g id="MINUTES">%2$d</xliff:g> min."</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Tvarkaraštis"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Leisti pertrauktis, skleidžiančias garsą"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Leidžiami pranešimai"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Papildomi veiksmai"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Pranešimų filtrai"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Daugiau nustatymų"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Išjungta}=1{Išjungta / vienas režimas gali įsijungti automatiškai}one{Išjungta / # režimas gali įsijungti automatiškai}few{Išjungta / # režimai gali įsijungti automatiškai}many{Išjungta / # režimo gali įsijungti automatiškai}other{Išjungta / # režimų gali įsijungti automatiškai}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Vaizdo nustatymai"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Pateikties parinktys"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Pilkumo tonas"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"įgalinti tamsiąją temą"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Perjunkite, kad OS ir programos teiktų pirmenybę šviesiam tekstui tamsiame fone, nes taip mažiau pavargsta akys ir labai tausojamas akumuliatorius kai kuriuose įrenginiuose"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Nėra vaizdo pakeitimų}=1{{effect_1}}=2{{effect_1} ir {effect_2}}=3{{effect_1}, {effect_2} ir {effect_3}}one{{effect_1}, {effect_2} ir dar #}few{{effect_1}, {effect_2} ir dar #}many{{effect_1}, {effect_2} ir dar #}other{{effect_1}, {effect_2} ir dar #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Leisti visus pranešimus"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Žmonės, programos ir garsai gali trikdyti"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Išfiltruotų pranešimų rodymo parinktys"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Kai įjungtas netrukdymo režimas"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Neskambėti gavus pranešimų"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"atidaromas pranešimas"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Leisti nustatyti pranešimus snausti"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Pranešimo taškas programos piktogramoje"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Pranešimų rinkiniai"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Burbulai"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Burbulai"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Rodyti šio pokalbio burbulą"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Leidžiama atsakyti į pranešimus ir imtis veiksmų su pranešimuose esančiais mygtukais, įskaitant pranešimų atidėjimą ar atsisakymą bei atsakymą į skambučius."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Nustatymų keitimas"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Leidžiama įjungti ar išjungti netrukdymo režimą ir keisti susijusius nustatymus."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Leidžiama tvarkyti ir aktyvinti režimus bei keisti susijusius nustatymus."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Jei išjungsite „<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>“ prieigą prie pranešimų, prieiga prie režimo „Netrukdyti“ taip pat gali būti išjungta."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Jei išjungsite „<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>“ prieigą prie pranešimų, prieiga prie režimų taip pat gali būti išjungta."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Išjungti"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Atšaukti"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Realusis laikas"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Ši programa nepalaiko išplėstinių nustatymų"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Daugiau nustatymų"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Daugiau nustatymų pasiekiama šioje programoje"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Adaptyvieji pranešimai"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Naudokite adaptyviuosius pranešimus"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Kai per trumpą laiką gaunate daug pranešimų, telefonas sumažina garsumą ir iššokančiųjų langų skaičių ekrane ne daugiau nei dviem minutėms. Apie skambučius, signalus ir prioritetinius pokalbius bus pranešama vibravimu, garso signalu arba jie bus pateikiami ekrane, o visus pranešimus lengva rasti perbraukus žemyn nuo ekrano viršaus."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Pranešimų neaktyvumo laikotarpis"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Naudoti pranešimų neaktyvumo laikotarpį"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Kai per trumpą laiką gaunate daug pranešimų, įrenginys sumažina garsumą ir įspėjimų skaičių ekrane ne daugiau nei dviem minutėms. Skambučiai, signalai ir prioritetiniai pokalbiai nepaveikiami. \n\nNeaktyvumo laikotarpiu gautus pranešimus galima rasti perbraukus žemyn iš ekrano viršaus."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Taikyti darbo profiliams"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Taikyti darbo profilio programoms"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Pagalbinės virtualiosios realybės paslaugos"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Prieiga „Netrukdyti“"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Leisti netrukdymo režimą"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Jokios įdiegtos programos nepateikė prieigos „Netrukdyti“ užklausos"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Režimų prieiga"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Leisti režimų prieigą"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Jokios įdiegtos programos nepateikė prieigos užklausos."</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Neleidote šios programos pranešimų"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"„Android“ jūsų prašymu blokuoja šios kategorijos pranešimus, kad jie nebūtų rodomi šiame įrenginyje"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"„Android“ jūsų prašymu blokuoja šios grupės pranešimus, kad jie nebūtų rodomi šiame įrenginyje"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Kategorijos"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Kita"</string>
     <string name="no_channels" msgid="4716199078612071915">"Ši programa nepaskelbė jokių pranešimų"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Rodyti nenaudojamas kategorijas"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Papildomi programos nustatymai"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Rodyti nenaudojamas kategorijas"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Slėpti nenaudojamas kategorijas"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g>–<xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Pokalbiai"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Visi pokalbiai"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"visi pokalbiai"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Svarbiausi pokalbiai"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"prioritetiniai pokalbiai"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Nėra"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Programos, kurios gali trikdyti"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Pasirinktos programos"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Netaikoma"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Viskas"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Jokios programos negali trukdyti}=1{„{app_1}“ gali trukdyti}=2{„{app_1}“ ir „{app_2}“ gali trukdyti}=3{„{app_1}“, „{app_2}“ ir „{app_3}“ gali trukdyti}one{„{app_1}“, „{app_2}“ ir dar # programa gali trukdyti}few{„{app_1}“, „{app_2}“ ir dar # programos gali trukdyti}many{„{app_1}“, „{app_2}“ ir dar # programos gali trukdyti}other{„{app_1}“, „{app_2}“ ir dar # programų gali trukdyti}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"„<xliff:g id="APP_LABEL">%s</xliff:g>“ (darbas)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Skaičiuojama…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"Dar <xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Leisti programoms nepaisyti"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Programos, kurios gali trikdyti"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Pasirinkti daugiau programų"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Niekas negali trikdyti"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Niekas negali trikdyti"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Kai kurie žmonės gali trikdyti"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Pakartotinai skambinantys žmonės gali trukdyti"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Visi žmonės gali trikdyti"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Pakartotinai skambinantys"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Leisti pakartotinai skambinančius žm."</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Pakeisti į signalus tik vienai valandai iki {time}}one{Pakeisti į signalus tik # valandai iki {time}}few{Pakeisti į signalus tik # valandoms iki {time}}many{Pakeisti į signalus tik # valandos iki {time}}other{Pakeisti į signalus tik # valandų iki {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Pakeisti tik į signalus iki <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Pakeisti į pertraukimo nustatymą visam laikui"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Pervardyti"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Keisti piktogramą"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Piktogramos keitimas"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Redagavimo režimas"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Režimo kūrimas"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Tinkintas režimas"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Režimo pavadinimas"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Kalendoriaus įvykiai"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Laiko miegoti veiksmų seka"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Vairuojant"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Programos nustatymai"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Informacija ir nustatymai programoje „<xliff:g id="APP_NAME">%1$s</xliff:g>“"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Tvarko „<xliff:g id="APP_NAME">%1$s</xliff:g>“"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Išjungti režimą: <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Šis režimas niekada neįsijungs, kai yra išjungtas"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Išjungti"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Įgalinti režimą: <xliff:g id="MODE_NAME">%1$s</xliff:g>“?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Šis režimas gali būti įjungtas automatiškai, atsižvelgiant į jo nustatymus"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Įgalinti"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Nustatykite režimą, atitinkantį įprastą tvarkaraštį"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Nustatykite režimą, kad būtų sinchronizuojama su kalendoriaus įvykiais ir atsakymais į kvietimus"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Sukurkite raminančią miego veiksmų seką. Nustatykite signalus, pritemdykite ekraną ir užblokuokite pranešimus."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Teikite pirmenybę saugumui kelyje, kad užtikrintumėte dėmesingą vairavimą be dėmesį blaškančių elementų"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Blokuokite dėmesį blaškančius ar trikdančius elementus įrenginyje, kad sutelktumėte dėmesį"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Pašalinkite visus dėmesį blaškančius elementus, kad užtikrintumėte tylią aplinką"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Suasmeninkite įrenginio funkcijas ir nustatymus skirtingiems naudotojams"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Sumažinkite trikdžius leisdami tik svarbiems žmonėms ir programoms jus pasiekti"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Nustatykite režimą, atitinkantį įprastą tvarkaraštį"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Sinchronizuokite įrenginį su dienos įvykiais"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Pabuskite visiškai pailsėję"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Kelyje pirmiausia rūpinkitės saugumu"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Susikaupkite ir nesiblaškykite"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Tiems momentams, kai svarbus mandagumas"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Naudojimas su nurodymais, kad išlaikytumėte gerą būseną"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Valdykite dėmesį"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Perspėjimas"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Uždaryti"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Siųsti atsiliepimą apie šį įrenginį"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Turi būti įjungta, nes įjungta prieiga prie pranešimų"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Anuliuoti programos „<xliff:g id="APP">%1$s</xliff:g>“ galimybę pasiekti netrukdymo režimą?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Visos šios programos sukurtos netrukdymo režimo taisyklės bus pašalintos."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Leisti „<xliff:g id="APP">%1$s</xliff:g>“ prieigą prie režimų?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Programa galės įjungti ir (arba) išjungti netrukdymo režimą, tvarkyti ir suaktyvinti režimus bei keisti susijusius nustatymus."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Visi šios programos sukurti režimai bus pašalinti."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Neoptimizuoti"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimizuoti"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Akumuliatorius gali būti išeikvotas greičiau. Fone veikiančiai programai bus leidžiama naudoti akumuliatoriaus energiją."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Dėklas"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Akumuliatorius"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Nustatymų skydelis"</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_desktop_mode" msgid="5644818402534562302">"Įgalinti laisvos formos langus"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Įgalinti laisvos formos langus papildomame ekrane"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Įgalinti nekeičiamo dydžio progr. naud. kelių langų funkciją"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Leidžiama naudoti nekeičiamo dydžio programas su kelių langų funkcija"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Nepaisyti priverst. tamsaus rež. įgalin."</string>
@@ -4969,7 +5078,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobiliojo ryšio duomenims"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Kad pagerintų įrenginio funkcijas, programos ir paslaugos vis tiek gali bet kada nuskaityti ieškodamos „Wi‑Fi“ tinklų, net jei „Wi‑Fi“ išjungtas. Tai gali būti naudojama siekiant pagerinti pagal vietovę teikiamas funkcijas ir paslaugas. Tai galite pakeisti „Wi-Fi“ nuskaitymo nustatymuose."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Pakeisti"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Prisijungta"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Laikinai prijungta"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Laikinai naudojama „<xliff:g id="SUBNAME">%1$s</xliff:g>“"</string>
@@ -5001,7 +5109,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Programos prisegimo naudojimas"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Kūrėjo parinkčių naudojimas"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Naudoti spausdinimo paslaugą"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Kelių naudotojų leidimas"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Leisti perjungti naudotoją"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"leisti, keli, naudotojas, leidimas, daug"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"keli, naudotojai, profiliai, žmonės, paskyros, perjungti, daug"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Belaidžio ryšio derinimo naudojimas"</string>
@@ -5058,52 +5166,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> nori prisijungti prie šio telefono.\n\nAnksčiau nebuvote prisijungę prie <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Neprisijungti"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Susieti"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE nustatymai"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Įjungta"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Išjungta"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Grąžinti numatytuosius nustatymus"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Nustatymai grąžinti į numatytuosius."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Didžiausias visiško įkrovimo balansas"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Balansas"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Vartojimo apribojimai"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Padinis vartojimo apribojimas"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Mažiausias vartojimo apribojimas"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Didžiausias vartojimo apribojimas"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modifikatoriai"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Veiksmai (gamybos mokestis)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Veiksmai (bazinė kaina)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Premijos per vieną įvykį"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Premijos už įvykio trukmę sekundėmis"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Didžiausias premijų skaičius per dieną"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Programos diegimas"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Populiariausia veikla"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Pranešimas peržiūrėtas"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Pranešimas peržiūrėtas per 15 minučių"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Sąveika su pranešimu"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Sąveika su valdikliu"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Kita naudotojo sąveika"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Didž. prioriteto užduoties pradėjimas"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Vykdoma didžiausio prioriteto užduotis"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Didelio prioriteto užduoties pradėjimas"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Vykdoma didelio prioriteto užduotis"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Numatytosios užduoties pradėjimas"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Vykdoma numatytoji užduotis"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Mažo prioriteto užduoties pradėjimas"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Vykdoma mažo prioriteto užduotis"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Mažiaus. prioriteto užduoties pradėjimas"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Vykdoma mažiausio prioriteto užduotis"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Užduoties skirtojo laiko bauda"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Mažiausias visiško įkrovimo balansas (pritaikyta išimtis)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Mažiausias visiško įkrovimo balansas (sist. programa be grafinės naud. sąsajos)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Mažiausias visiško įkrovimo balansas (likusios programos)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Mažiausio visiško įkrovimo balans pridėjimas (programų atnaujinimo priemonės)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Įkrovimas"</item>
-    <item msgid="658627268149681677">"Snustelėjimas"</item>
-    <item msgid="1599558140284643834">"Energijos tausojimo režimas"</item>
-    <item msgid="588427840913221601">"Apdorojimo būsena"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Patvirtinti"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Peržiūrėti"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Ekrano užsklandos pasirinkimas"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Papildomos informacijos rodymas"</string>
@@ -5115,8 +5177,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Pasirinkite, kas bus rodoma ekrane, kai planšetinis kompiuteris bus prijungtas prie doko. Naudojant ekrano užsklandą gali būti eikvojama daugiau įrenginio energijos."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Tinkinti"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Tinkinti skiltį „<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>“"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Norint įgalinti laisvos formos palaikymą, būtina paleisti iš naujo."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Norint priverstinai įjungti darbalaukio režimą antriniuose ekranuose, būtina paleisti iš naujo."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Norint įgalinti laisvos formos langų palaikymą, būtina paleisti iš naujo."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Norint atnaujinti laisvos formos langų pasiekiamumą, būtina paleisti iš naujo."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Norint įgalinti laisvos formos langus papildomuose ekranuose, būtina paleisti iš naujo."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Paleisti iš naujo dabar"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Paleisti iš naujo vėliau"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Erdvinis garsas"</string>
@@ -5213,7 +5276,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Rožinė"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Purpurinė"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Violetinė"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Atlikta"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Išsaugoti"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Atšaukti"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Numatytasis"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Vidutinis"</string>
@@ -5234,6 +5297,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Įjungta"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Išjungta"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Įjungta"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Garsas %1$d%% kairėje, %2$d%% dešinėje"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Garsas %1$d%% dešinėje, %2$d%% kairėje"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Įrenginio pavadinimas matomas jūsų įdiegtoms programoms. Kai prisijungiate prie „Bluetooth“ įrenginių ar „Wi-FI“ tinklo arba nustatote „Wi-Fi“ viešosios interneto prieigos tašką, jį taip pat gali matyti kiti žmonės."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Gramatinė giminė"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Pasirinkite gramatinę giminę"</string>
@@ -5302,6 +5367,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Garso įrašo bendrinimas sustabdytas"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Suderinamo įrenginio prijungimas"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Jei norite pradėti bendrinti garso įrašą, pirmiausia prijunkite „LE Audio“ ausines prie telefono"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Perjungti į „<xliff:g id="DEVICE_NAME">%1$s</xliff:g>“"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Prisijungimas prie „LE Audio“ srauto"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Garso srautai netoliese"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Garso srautai"</string>
@@ -5345,4 +5411,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Klausyti srauto"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Nuskaitykite garso srauto QR kodą, kad galėtumėte klausyti naudodami „<xliff:g id="DEVICE_NAME">%1$s</xliff:g>“"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Bendrinant negalima redaguoti slaptažodžio. Jei norite pakeisti slaptažodį, pirmiausia išjunkite garso įrašų bendrinimą."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR kodų skaitytuvas"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Reikia pagalbos?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Nustatymų paieška"</string>
 </resources>
diff --git a/res/values-lv/arrays.xml b/res/values-lv/arrays.xml
index b537f09..4412a86 100644
--- a/res/values-lv/arrays.xml
+++ b/res/values-lv/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Naktsmiers"</item>
-    <item msgid="4152450357280759894">"Braukšana pie stūres"</item>
-    <item msgid="7096549258219399423">"Iekļaujošs"</item>
-    <item msgid="2760716776980432977">"Pārvaldīts"</item>
-    <item msgid="601734478369121764">"Zvaigzne"</item>
-    <item msgid="6243809315432780521">"Kalendārs"</item>
-    <item msgid="4913577903148415331">"Laiks"</item>
-    <item msgid="3653377604690057780">"Kinoteātris"</item>
-    <item msgid="3843711267408385410">"Zieds"</item>
+    <item msgid="1216815120972438676">"Portfelis"</item>
+    <item msgid="184985872234062767">"Klasiska ēka"</item>
+    <item msgid="9189550412466785530">"Daudzdzīvokļu māja"</item>
+    <item msgid="2142527562511049422">"Runas burbulis"</item>
+    <item msgid="2548100558260478605">"Personu grupa"</item>
+    <item msgid="2270003903304578284">"Spuldze"</item>
+    <item msgid="4793496619091161864">"Kalendārs"</item>
+    <item msgid="5673625795644364100">"Netraucēt"</item>
+    <item msgid="1423820834865831361">"Cilvēks skrien"</item>
+    <item msgid="2037298830718732608">"Golfs"</item>
+    <item msgid="2197835014443491074">"Sporta zāles hantele"</item>
+    <item msgid="2730180105015616518">"Peldēšana"</item>
+    <item msgid="2666922823253345958">"Cilvēks pārgājienā"</item>
+    <item msgid="8234880356472211396">"Cilvēks met bumbu"</item>
+    <item msgid="4642980625253001443">"Cilvēks sper"</item>
+    <item msgid="4324795269518833500">"Spēles vadāmierīce"</item>
+    <item msgid="7789966425125441125">"Mākslinieka krāsu palete"</item>
+    <item msgid="663512680597461570">"Sniegpārsliņa"</item>
+    <item msgid="7952183800501346803">"Saulessargs"</item>
+    <item msgid="799139025758265891">"Darbnīcas rīki"</item>
+    <item msgid="1330084588359129896">"Telts"</item>
+    <item msgid="3861584909935022342">"Filmas rullītis"</item>
+    <item msgid="5827426100157335512">"Grāmata"</item>
+    <item msgid="8585828346253128384">"Lotosa zieds"</item>
+    <item msgid="8788370542815300188">"Cilvēka prāts"</item>
+    <item msgid="7287354964767553293">"Austiņas"</item>
+    <item msgid="2530059623783800987">"Televizors"</item>
+    <item msgid="5307182323469376758">"Vilciens"</item>
+    <item msgid="4903790544026923026">"Automašīna"</item>
+    <item msgid="5010405583912314582">"Nazis un dakšiņa"</item>
+    <item msgid="8939998598599064900">"Iepirkumu grozs"</item>
+    <item msgid="3379605903308731893">"Bērns"</item>
+    <item msgid="7808668968550293112">"Dzīvnieka ķepa"</item>
+    <item msgid="1000692647524056504">"Zvaigznītes emblēma"</item>
+    <item msgid="8270261073421676502">"Divi cilvēki"</item>
+    <item msgid="5767782819651505460">"Zvaigzne"</item>
+    <item msgid="4368451291862729334">"Sirds"</item>
+    <item msgid="2613199102208419986">"Māja"</item>
+    <item msgid="3022279986430275040">"Pusmēness"</item>
+    <item msgid="5421089790869483206">"Pulkstenis"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 4475843..b50f7a1 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Atlikts"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Nezināms"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Priekšskatījums"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"Kvadrātkods"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Vienmēr"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Dzirdes aparāta iestatījumi"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Saīsne, saderība ar dzirdes aparātiem."</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Pirmsiestatījums"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Jūsu audiologs nav ieprogrammējis nekādus pirmsiestatījumus."</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Nebija iespējams atjaunināt pirmsiestatījumu."</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audio izeja"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Par audio izvadi"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Iestatījumos nav pieejama valodas atlase šai lietotnei."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Valoda var atšķirties no lietotnē pieejamās valodas. Dažās lietotnēs šis iestatījums var netikt atbalstīts."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Iestatiet valodu katrai lietotnei."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Sistēmā, lietotnēs un tīmekļa vietnēs tiek izmantota pirmā atbalstītā valoda no jūsu vēlamajām valodām."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Jūsu ierīcē, lietotnēs un vietnēs tiek izmantota pirmā atbalstītā valoda no vēlamo valodu saraksta.\n\nDaudzās lietotnēs datumu, ciparu un mērvienību formātam tiks izmantots arī reģions no jūsu iestatītās vēlamās valodas. Lai mainītu reģionu, pievienojiet valodu un pēc tam izvēlēties vēlamo reģionu."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Lai atlasītu valodu katrai lietotnei, pārejiet uz lietotnes valodas iestatījumiem."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Plašāka informācija par lietotņu valodām"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Vai mainīt sistēmas valodu uz šādu: %s?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Izslēgta"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Ieslēgta/# lietotnei ir piekļuve atrašanās vietai.}zero{Ieslēgta/# lietotnēm ir piekļuve atrašanās vietai.}one{Ieslēgta/# lietotnei ir piekļuve atrašanās vietai.}other{Ieslēgta/# lietotnēm ir piekļuve atrašanās vietai.}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Notiek ielāde…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Lietotnes, kurām ir atļauja noteikt tuvumā esošās ierīces, var noteikt pievienoto ierīču relatīvo pozīciju."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Lietotnes, kurām ir atļauja noteikt tuvumā esošās ierīces, var noteikt pievienoto ierīču relatīvo pozīciju."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Lietotnēm un pakalpojumiem nav atļaujas piekļūt atrašanās vietai. Jūsu ierīces atrašanās vietas datus joprojām var nosūtīt ārkārtas dienestiem, ja zvanīsiet vai sūtīsiet īsziņu uz ārkārtas numuru."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Uzzināt vairāk par atrašanās vietas iestatījumiem"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Lai to mainītu, dodieties uz ChromeOS sadaļu Iestatījumi &gt; Drošība un konfidencialitāte &gt; Konfidencialitātes vadīklas &gt; Piekļuve atrašanās vietai"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Pievienota seja un pulkstenis <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Pievienota seja, pirksta nospiedums un pulkstenis <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Pievienota seja, pirkstu nospiedumi un pulkstenis <xliff:g id="WATCH">%s</xliff:g>"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Identitātes pārbaude ir ieslēgta, un ir nepieciešami biometriskie dati."</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Atbloķēšana ar Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Pulkstenis pievienots"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Pulksteņa iestatīšana"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Uzzināt vairāk par funkciju “Atbloķēšana ar pulksteni”"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Pievienot pulksteni"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Noņemt pulksteni"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Autorizācija ar pirksta nospiedumu un pēc sejas"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Autorizācija pēc sejas un pirksta nospieduma"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Autorizācija pēc sejas un pirksta nospieduma darba profilam"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Nepieciešama iestatīšana"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Seja un pirksta nospiedumi ir pievienoti"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Notiek privātās telpas iestatīšana…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Nevarēja izveidot privāto telpu"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Mēģināt vēlreiz"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Iziet"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Privātā telpa nav pieejama.\nSkatīt iespējamos cēloņus"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Skatīt iespējamos cēloņus"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Vai bloķēt privāto telpu ar jaunu metodi?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Privātajai telpai varat izmantot jaunu bloķēšanas metodi vai izmantot to pašu metodi, ko lietojat ierīces atbloķēšanai."</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Izmantot ekrāna bloķēšanu"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Kad ir ieslēgts Bluetooth savienojums, jūsu ierīce var sazināties ar tuvumā esošām Bluetooth ierīcēm.\n\nLai uzlabotu ierīču izmantošanas iespējas, lietotnes un pakalpojumi var meklēt tuvumā esošas ierīces jebkurā laikā, pat ja Bluetooth savienojums ir izslēgts. Šo iestatījumu var izmantot, piemēram, lai uzlabotu ar atrašanās vietu saistītas funkcijas un pakalpojumus, un to var mainīt Bluetooth meklēšanas iestatījumos."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Kad tehnoloģija Bluetooth ir ieslēgta, ierīce var sazināties ar citām tuvumā esošām Bluetooth ierīcēm. Tādas funkcijas kā “Ātrā kopīgošana” un “Atrast ierīci” izmanto Bluetooth savienojumu.\n\nPat ja tehnoloģija Bluetooth ir izslēgta, lietotnēs un pakalpojumos jebkurā laikā tik un tā var meklēt tuvumā esošas ierīces. Šādu meklēšanu var izmantot, piemēram, lai uzlabotu ar atrašanās vietu saistītas funkcijas un pakalpojumus. Varat to mainīt Bluetooth meklēšanas iestatījumos."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Mainīt"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Ierīces dati"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Tastatūras iestatījumi"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Citi iestatījumi"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Aparātprogrammatūras atjauninājumi, par u. c."</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Padomi un atbalsts"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Ierīces Bluetooth adrese: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Ierīces Bluetooth adrese:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Vai aizmirst ierīci?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Eksperimentāla. Uzlabo audio kvalitāti."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Aizmirst ierīci"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Lietotnes atvienošana"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Citi iestatījumi"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Pievienoto Bluetooth audioierīču maksimālais skaits"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Pievienoto Bluetooth audioierīču maksimālā skaita atlase"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Detalizēti NFC nodrošinātāju atkļūdošanas žurnāli"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Vai restartēt ierīci?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Detalizētu NFC datu reģistrēšana ir paredzēta tikai ar izstrādi saistītiem nolūkiem. Papildu NFC dati tiek iekļauti kļūdu pārskatos, un tajos var būt ietverta privāta informācija. Lai mainītu šo iestatījumu, restartējiet ierīci."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Restartēt"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Ieslēgts"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Izslēgts"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Ārējais displejs"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Izmantot ārējo displeju"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Displeja izšķirtspēja"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Ārējais displejs ir atvienots"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Virziens"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standarta"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Mainot virzienu vai izšķirtspēju, var tikt apturētas lietotnes, kas pašlaik darbojas"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Lai varētu spoguļot ekrānu, ierīcei jābūt savienotai ar ārēju displeju"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Citas iespējas"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Apraide"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"spogulis"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Bezvadu attēlošanas iespējošana"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptīva krāsa"</string>
     <string name="brightness" msgid="6216871641021779698">"Spilgtuma līmenis"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Adaptīvs spilgtums"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Par adaptīvo spilgtumu"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Ekrāna spilgtums automātiski tiks pielāgots apkārtējai videi un veiktajām darbībām. Lai adaptīvajam spilgtumam iestatītu savas preferences, pārvietojiet slīdni."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Ieslēgt"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Izslēgts"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Vai lietot <xliff:g id="CARRIER">%1$s</xliff:g> mobilajiem datiem?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Jūs izmantojat mobilajiem datiem <xliff:g id="CARRIER2_0">%2$s</xliff:g>. Pārslēdzoties uz <xliff:g id="CARRIER1">%1$s</xliff:g>, <xliff:g id="CARRIER2_1">%2$s</xliff:g> SIM vairs netiks izmantota mobilajiem datiem."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Izmantot operatoru <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Atjaunināt vēlamo SIM karti?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> ir vienīgā SIM karte jūsu ierīcē. Vai vēlaties izmantot šo SIM karti mobilajiem datiem, zvaniem un īsziņām?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> tagad ir jūsu galvenā SIM karte."</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Uzlabot mob. datu savienojumu?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Ļaujiet ierīcē automātiski pārslēgt mobilo sakaru operatoru uz <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> mobilajiem datiem, ja tas nodrošina labāku savienojumu."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Iespējams, jūsu organizācija varēs redzēt jūsu zvanus, ziņojumus un tīkla datplūsmu."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Opcijas"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Pieejamība"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fiziskā tastatūra"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Izmantot ekrāna tastatūru"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Paturēt ekrānā, kamēr ir aktīva fiziskā tastatūra"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Atlēcienu taustiņi"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Tastatūra ignorē ātru taustiņa nospiešanu vairākas reizes, ja tas tiek atkārtoti nospiests <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms laikā."</string>
     <string name="slow_keys" msgid="2891452895499690837">"Lēnie taustiņi"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Laiks, kas nepieciešams, lai aktivizētu nospiestu taustiņu, tiek pielāgots uz <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms."</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Taustiņu ķēde"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Izmantojot īsinājumtaustiņus, vienlaikus nospiediet tikai vienu taustiņu, nevis turiet nospiestus vairākus taustiņus."</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Peles taustiņi"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Izmantojiet fizisko tastatūru, lai kontrolētu peli."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Īsinājumtaustiņi"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Rādīt īsinājumtaustiņu sarakstu"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tastatūras un rīki darba profilā"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Varat pielāgot atsevišķus skārienpaliktņa navigācijas žestus"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Ritināšana atpakaļgaitā"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Ritinot lejup, saturs pārvietosies augšup"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Pieskaršanās apakšā pa labi"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Citas iespējas: skārienpaliktņa labais apakšējais stūris"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Noklikšķināt apakšējā labajā stūrī"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Citas iespējas: skārienpaliktņa labais apakšējais stūris"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Rādītāja ātrums"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Rādītāja aizpildījuma stils"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Mainīt aizpildījuma stilu uz melnu"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Mainīt aizpildījumu uz dzeltenu"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Mainīt aizpildījuma stilu uz rozā"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Mainīt aizpildījuma stilu uz zilu"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Rādītāja vilkuma stils"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Balts"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Melns"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Nav"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Apgūt skārienpaliktņa žestus"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"skārienpaliktnis, pele, kursors, ritināt, vilkt, noklikšķināt ar peles labo pogu, noklikšķināt, rādītājs"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"noklikšķināt ar peles labo pogu, pieskarties"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Atiestatīt"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Modificētājtaustiņa izvēle"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Izvēlieties jaunu taustiņu — <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Izkārtojums: <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Noklusējums"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automātiski: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Lietotāja atlasītais izkārtojums: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Runa"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Rādītāja ātrums"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Rādītāja mērogs"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Samazināt rādītāja mērogu"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Palielināt rādītāja mērogu"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Spēļu vadība"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Vibrācijas novirzīšana"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Novirzīt vibrāciju uz spēles vadāmierīci, kad ir izveidots savienojums"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Tomēr turpināt"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Atcelt"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Palielināšanas iestatījumi"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Pārvietošana ar vienu pirkstu"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Pārvietot lupu ar vienu pirkstu"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Velciet ar pirkstu, lai pārvietotos ekrānā."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Palielinājuma apgabala pārvietošanai velciet vienu pirkstu."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Palielinājuma apgabala pārvietošanai velciet divus pirkstus."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Nav pieejama, kad tiek palielināta tikai daļa ekrāna"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Pieskarieties pogai, lai palielinātu"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Ātri tuviniet ekrānu, lai palielinātu saturu"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Tuvināšana&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Izmantojiet īsinājumtaustiņu, lai sāktu palielināšanu.&lt;br/&gt; {1,number,integer}. Pieskarieties ekrānam.&lt;br/&gt; {2,number,integer}. Lai pārvietotos ekrānā, velciet ar diviem pirkstiem.&lt;br/&gt; {3,number,integer}. Lai regulētu tālummaiņu, savelciet ar diviem pirkstiem.&lt;br/&gt; {4,number,integer}. Izmantojiet īsinājumtaustiņu, lai pārtrauktu palielināšanu.&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Īslaicīga tuvināšana&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Pārliecinieties, vai iestatītais palielinājuma veids ir “Pilnekrāna režīms”.&lt;br/&gt; {1,number,integer}. Izmantojiet īsinājumtaustiņu, lai sāktu palielināšanu.&lt;br/&gt; {2,number,integer}. Pieskarieties un turiet jebkurā ekrāna vietā.&lt;br/&gt; {3,number,integer}. Lai pārvietotos ekrānā, velciet ar pirkstu.&lt;br/&gt; {4,number,integer}. Paceliet pirkstu, lai pārtrauktu palielināšanu."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Tuvināšana&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Izmantojiet saīsni, lai sāktu palielināšanu.&lt;br/&gt; {1,number,integer}. Pieskarieties ekrānam.&lt;br/&gt; {2,number,integer}. Lai pārvietotos ekrānā, velciet ar diviem pirkstiem.&lt;br/&gt; {3,number,integer}. Lai regulētu tālummaiņu, savelciet ar diviem pirkstiem.&lt;br/&gt; {4,number,integer}. Lai atceltu palielinājumu, izmantojiet saīsni.&lt;br/&gt;&lt;br/&gt; Varat arī tuvināt īslaicīgi un veikt vēl citas darbības."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Tuvināšana&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Izmantojiet saīsni, lai sāktu palielināšanu.&lt;br/&gt; {1,number,integer}. Pieskarieties ekrānam.&lt;br/&gt; {2,number,integer}. Lai pārvietotos ekrānā, velciet ar vienu vai diviem pirkstiem.&lt;br/&gt; {3,number,integer}. Lai regulētu tālummaiņu, savelciet ar diviem pirkstiem.&lt;br/&gt; {4,number,integer}. Lai atceltu palielinājumu, izmantojiet saīsni.&lt;br/&gt;&lt;br/&gt; Varat arī tuvināt īslaicīgi un veikt vēl citas darbības."</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_pager" msgid="8461939455728454061">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>. lapa no <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Saīsne: pieejamības poga"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Pieskarieties peldošajai pogai"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Pieejamības žests"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Ekrāna apakšdaļā pieskarieties pieejamības pogai <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>. Lai pārslēgtu funkcijas, pieskarieties pieejamības pogai un turiet to."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Velciet ar 2 pirkstiem augšup no ekrāna apakšdaļas.\n\nLai pārslēgtu funkcijas, velciet ar 2 pirkstiem augšup un turiet."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Velciet ar 3 pirkstiem augšup no ekrāna apakšdaļas.\n\nLai pārslēgtu funkcijas, velciet ar 3 pirkstiem augšup un turiet."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Velciet augšup no ekrāna apakšdaļas. Lai pārslēgtu funkcijas, velciet augšup un turiet.}zero{Velciet augšup ar # pirkstiem no ekrāna apakšdaļas. Lai pārslēgtu funkcijas, velciet augšup ar # pirkstiem un turiet.}one{Velciet augšup ar # pirkstu no ekrāna apakšdaļas. Lai pārslēgtu funkcijas, velciet augšup ar # pirkstu un turiet.}other{Velciet augšup ar # pirkstiem no ekrāna apakšdaļas. Lai pārslēgtu funkcijas, velciet augšup ar # pirkstiem un turiet.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Citas opcijas"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Plašāka informācija par: <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Skaļuma pogas"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"skaļuma pogas"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Nospiediet un turiet abas skaļuma pogas"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Dubultskāriens ekrānam ar diviem pirkstiem"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Dubultskāriens ar %1$d pirkstiem"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Ātri pieskarieties ekrānam divas reizes ar %1$d pirkstiem."</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Trīskāršais skāriens"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Ātri pieskarieties ekrānam %1$d reizes. Var tikt palēnināta ierīces darbība."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Dubultskāriens ar %1$d pirkstiem"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Ar diviem pirkstiem {0,number,integer} reizes ātri pieskarieties ekrānam."</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Pieskaršanās ekrānam 3 reizes"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"trīskāršais skāriens"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Ātri pieskarieties ekrānam {0,number,integer} 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 saīsne"</string>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Saīšņu iestatījumi"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Saīsne no bloķēšanas ekrāna"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Atļaujiet funkcijas saīsni ieslēgt no bloķēšanas ekrāna. Turiet abas skaļuma pogas dažas sekundes."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Pieejamības poga"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Pieejamības poga un žests"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Šis pakalpojums nedarbojas pareizi."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Pieejamības saīsnes"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Rādīt ātrajos iestatījumos"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Sarkana/zaļa krāsa"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Sarkana/zaļa krāsa"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Sarkanā/zaļā krāsa, vāja jutība pret zaļo"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Sarkanā/zaļā krāsa, vāja jutība pret sarkano"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Zila/dzeltena krāsa"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Pelēktoņu iestatījums"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensitāte"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Vāja jutība pret zaļo krāsu, deiteranomālija"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Vāja jutība pret sarkano krāsu, protanomālija"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Nav pieejams pelēktoņu režīmā vai tad, ja ir atspējota krāsu korekcija."</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Papildu aptumšošana"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Izmantot ekrāna papildu aptumšošanu"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Ciānzila"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Dzeltena"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Fuksīnsarkana"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Vai atļaut pakalpojumam <xliff:g id="SERVICE">%1$s</xliff:g> pilnībā kontrolēt jūsu ierīci?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"Pakalpojumam <xliff:g id="SERVICE">%1$s</xliff:g> nepieciešams:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Lietotne Iestatījumi nevar verificēt jūsu atbildi, jo cita lietotne aizsedz atļaujas pieprasījumu."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"Pakalpojums <xliff:g id="SERVICE">%1$s</xliff:g> pieprasa pilnīgu šīs ierīces kontroli. Pakalpojums var piekļūt ekrānā redzamajai informācijai un veikt darbības to lietotāju vārdā, kuriem ir īpašas vajadzības. Šāda līmeņa kontrole vairākumam lietotņu nav nepieciešama."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Pilnīga kontrole ir piemērota lietotnēm, kas nepieciešamas lietotājiem ar īpašām vajadzībām, taču ne lielākajai daļai lietotņu."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Ekrāna skatīšana un pārvaldīšana"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Tā var nolasīt visu ekrānā esošo saturu un attēlot saturu citām lietotnēm."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Darbību skatīšana un veikšana"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Tā var izsekot jūsu mijiedarbību ar lietotni vai aparatūras sensoru un mijiedarboties ar lietotnēm jūsu vārdā."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Atļaut"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Neatļaut"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Izslēgt"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Ieslēgts (<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> un <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>)"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Varat arī ieslēgt funkciju “Telpiskais audio” Bluetooth ierīcēm."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Saistītie ierīces iestatījumi"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Telpiskais audio"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Izslēgts"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Izslēgts"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Izslēgta"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Nav}=1{Iestatīts viens grafiks}zero{Iestatīti # grafiki}one{Iestatīts # grafiks}other{Iestatīti # grafiki}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Netraucēt"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Prioritātes režīmi"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Pievienot režīmu"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Režīmi"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Samaziniet traucēkļus un pārņemiet kontroli pār savu uzmanību, izmantojot režīmus miegam, darbam, automašīnas vadīšanai un visam pārējam."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Izveidot savu režīmu"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Saņemiet paziņojumus tikai no svarīgām personām un lietotnēm."</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Iestatīt grafiku"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Informācija grafika pamatā"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Diena un laiks"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"“Darbdienās plkst. 9:00–17:00”"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Kalendāra pasākumi"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{Režīms {mode_1} ir aktīvs}=2{Režīmi {mode_1} un {mode_2} ir aktīvi}=3{Režīmi {mode_1}, {mode_2} un {mode_3} ir aktīvi}zero{Režīmi {mode_1}, {mode_2} un vēl # ir aktīvi}one{Režīmi {mode_1}, {mode_2} un vēl # ir aktīvi}other{Režīmi {mode_1}, {mode_2} un vēl # ir aktīvi}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 režīmu var ieslēgt automātiski}zero{# režīmus var ieslēgt automātiski}one{# režīmu var ieslēgt automātiski}other{# režīmus var ieslēgt automātiski}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"IESLĒGTS"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Nav iestatīts"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Atspējots"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Režīma izveide"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Pielāgots"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Ieslēgt tūlīt"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Izslēgt"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Režīms nav atrasts"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Traucējumu ierobežošana"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Bloķējiet pārtraukumus un traucējumus"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Iestatiet: <xliff:g id="MODE">%1$s</xliff:g>"</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_alarms_only" msgid="2956938533859578315">"Modinātāji un multivides skaņas, kam atļauts pārtraukt"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Grafiki"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Grafiku dzēšana"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Dzēst"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Pārdēvēt"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Dzēst"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Vai dzēst režīmu “<xliff:g id="MODE">%1$s</xliff:g>”?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Rediģēt"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Grafiki"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Grafiks"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Automātiska ieslēgšana"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Pievienot kalendāru"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Izmantot kalendāru"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Grafiks"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Iestatiet grafiku"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Kad automātiski ieslēgt"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Pasākuma grafiks"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Kura kalendāra pasākumu laikā?"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Ja atbilde uz uzaicinājumu ir"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Laika grafiks"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Grafiks"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Grafiks"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Atļaut pārtraukumus ar skaņas signālu"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Paziņojumi, kas var jūs sasniegt"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Papildu darbības"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Paziņojumu filtri"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Citi iestatījumi"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Izslēgts}=1{Izslēgts; viens režīms var tikt ieslēgts automātiski}zero{Izslēgts; # režīmi var tikt ieslēgti automātiski}one{Izslēgts; # režīms var tikt ieslēgts automātiski}other{Izslēgts; # režīmi var tikt ieslēgti automātiski}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Attēlojuma iestatījumi"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Attēlojuma iespējas"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Pelēktoņu iestatījums"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"iespējot tumšo motīvu"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Iestatiet, lai operētājsistēmā un lietotnēs priekšroka tiktu dota gaišam tekstam uz tumša fona. Tas var mazāk nogurdināt acis un ievērojami ietaupīt akumulatora jaudu dažās ierīcēs."</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Nav attēlojuma izmaiņu}=1{{effect_1}}=2{{effect_1} un {effect_2}}=3{{effect_1}, {effect_2} un {effect_3}}zero{{effect_1}, {effect_2} un vēl #}one{{effect_1}, {effect_2} un vēl #}other{{effect_1}, {effect_2} un vēl #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Atļaut visus paziņojumus"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Personas, lietotnes un skaņas var pārtraukt"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Filtrētu paziņojumu attēlojuma iespējas"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Kad ir ieslēgts režīms “Netraucēt”"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Nav skaņas signālu no paziņojumiem"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"atvērt paziņojumu"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Atļaut paziņojumu atlikšanu"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Paziņojuma punkts lietotnes ikonā"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Paziņojumu komplekti"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Burbuļi"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Burbuļi"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Sarunas rādīšana burbulī"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Tā var atbildēt uz ziņojumiem un izmantot paziņojumos esošās pogas darbību veikšanai, tostarp atlikt vai noraidīt paziņojumus un atbildēt uz zvaniem."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Iestatījumu maiņa"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Tā var ieslēgt vai izslēgt režīmu “Netraucēt” un mainīt saistītos iestatījumus."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Var pārvaldīt un aktivizēt režīmus un mainīt saistītos iestatījumus."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Izslēdzot paziņojumu piekļuvi lietotnei <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, iespējams, tiks izslēgta arī piekļuve režīmam “Netraucēt”."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Izslēdzot paziņojumu piekļuvi lietotnei <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, var tikt izslēgta arī piekļuve režīmiem."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Izslēgt"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Atcelt"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Reāllaika paziņojumi"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Šajā lietotnē netiek atbalstīti izvērsti iestatījumi."</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Citi iestatījumi"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Lietotnē ir pieejami citi iestatījumi"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Adaptīvie paziņojumi"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Izmantot adaptīvos paziņojumus"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Ja īsā laika posmā saņemsiet daudz paziņojumu, tālrunis samazinās skaļumu un uznirstošo elementu rādīšanu ekrānā līdz pat divām minūtēm. Saņemot zvanus, signālus un prioritārās sarunas, tālrunī joprojām tiks aktivizēta vibrācija, atskaņots signāls vai ekrānā parādīts paziņojums. Visus paziņojumus ir viegli atrast, pavelkot lejup no ekrāna augšdaļas."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Nogaidīšanas periods paziņojumiem"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Izmantot nogaidīšanas periodu paziņojumiem"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Ja īsā laika posmā saņemsiet daudz paziņojumu, ierīce samazinās skaļumu un brīdinājumu rādīšanu līdz pat divām minūtēm. Tas neattiecas uz zvaniem, signāliem un prioritārām sarunām. \n\nNogaidīšanas perioda laikā saņemtos paziņojumus var atrast, pavelkot lejup no ekrāna augšdaļas."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Lietot darba profiliem"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Lietot darba profila lietotnēm"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR palīga pakalpojumi"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Piekļuve režīmam “Netraucēt”"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Atļaut režīmu “Netraucēt”"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Nevienā instalētajā lietotnē nav pieprasīta piekļuve režīmam “Netraucēt”."</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Piekļuve režīmiem"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Atļaut piekļuvi režīmiem"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Nevienā instalētajā lietotnē nav pieprasīta piekļuve režīmiem."</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Jūs neesat atļāvis paziņojumus no šīs lietotnes"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Pēc jūsu pieprasījuma Android neatļauj šīs kategorijas paziņojumu rādīšanu šajā ierīcē."</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Pēc jūsu pieprasījuma Android neatļauj šīs grupas paziņojumu rādīšanu šajā ierīcē."</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Kategorijas"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Cits"</string>
     <string name="no_channels" msgid="4716199078612071915">"Šai lietotnei nav neviena paziņojuma."</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Rādīt neizmantotās kategorijas"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Lietotnes papildu iestatījumi"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Rādīt neizmantotās kategorijas"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Paslēpt neizmantotās kategorijas"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g>–<xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Sarunas"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Visas sarunas"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"visas sarunas"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Prioritāras sarunas"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"prioritārās sarunas"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Nav"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Lietotnes, kas var pārtraukt"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Atlasītās lietotnes"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Neviena"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Visas"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Nevienai lietotnei nav atļauts pārtraukt}=1{Lietotnei {app_1} ir atļauts pārtraukt}=2{Lietotnēm {app_1} un {app_2} ir atļauts pārtraukt}=3{Lietotnēm {app_1}, {app_2} un {app_3} ir atļauts pārtraukt}zero{Lietotnēm {app_1} un {app_2}, kā arī vēl # lietotnēm ir atļauts pārtraukt}one{Lietotnēm {app_1} un {app_2}, kā arī vēl # lietotnei ir atļauts pārtraukt}other{Lietotnēm {app_1} un {app_2}, kā arī vēl # lietotnēm ir atļauts pārtraukt}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (darbam)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Notiek aprēķināšana…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</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_header" msgid="60083006963906906">"Lietotnes, kas var pārtraukt"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Citu lietotņu atlase"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Nekam nav atļauts pārtraukt"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Nevienai personai nav atļauts pārtraukt"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Dažām personām ir atļauts pārtraukt"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Atkārtotiem zvanītājiem ir atļauts pārtraukt"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Visām personām ir atļauts pārtraukt"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Atkārtoti zvani"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Atkārtotu zvanu atļaušana"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Vienu stundu pāriet uz režīmu “Tikai signāli” (līdz: {time})}zero{# stundas pāriet uz režīmu “Tikai signāli” (līdz: {time})}one{# stundu pāriet uz režīmu “Tikai signāli” (līdz: {time})}other{# stundas pāriet uz režīmu “Tikai signāli” (līdz: {time})}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Pāriet uz režīmu “Tikai signāli” līdz plkst. <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Pāriet uz “Vienmēr pārtraukt”"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Pārdēvēt"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Mainīt ikonu"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Mainīt ikonu"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Režīma rediģēšana"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Režīma izveide"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Pielāgots režīms"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Režīma nosaukums"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Kalendāra pasākumi"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Gulēšanas laiks"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Braukšanas laikā"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Lietotnes iestatījumi"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Informācija un iestatījumi lietotnē <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Pārvalda <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Vai jāatspējo <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Ja šis režīms būs atspējots, tas nekad netiks ieslēgts."</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Atspējot"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Vai jāiespējo <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Šis režīms var tikt ieslēgts automātiski, ņemot vērā tā iestatījumus."</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Iespējot"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Iestatiet režīmu, kas ņem vērā parasto grafiku."</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Iestatiet režīmu sinhronizēšanai ar kalendāra pasākumiem un atbildēm uz uzaicinājumiem."</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Izveidojiet nomierinošu miega režīma darbību secību. Iestatiet modinātāja signālus, aptumšojiet ekrānu un bloķējiet paziņojumus."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Koncentrējieties uz braukšanu bez traucēkļiem, lai gādātu par drošību uz ceļa."</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Bloķējiet traucējumus no ierīces, lai varētu koncentrēties."</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Novērsiet visus traucēkļus, lai radītu klusu vidi."</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Personalizējiet ierīces lietošanas iespējas un iestatījumus dažādiem lietotājiem."</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Samaziniet traucēkļus, atļaujot paziņojumus tikai no svarīgām kontaktpersonām un lietotnēm."</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Iestatiet režīmu, kas ņem vērā parasto grafiku"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Pielāgojiet ierīces darbību atbilstoši dienā plānotajiem pasākumiem"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Pamostieties pilnīgi atpūties"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Auto vadīšanas laikā drošība ir pirmajā vietā"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Noskaņojieties produktīvam darbam"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Netraucētai mirkļu baudīšanai"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Pārvaldīts lietojums jūsu drošībai"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Parūpējieties, lai nekas nenovērš jūsu uzmanību"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Brīdinājums"</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>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Jābūt ieslēgtam, jo ir ieslēgta piekļuve paziņojumiem"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Vai atsaukt piekļuvi kārtulām “Netraucēt” no lietotnes <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Visas šajā lietotnē izveidotās kārtulas “Netraucēt” tiks noņemtas."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Vai atļaut lietotnei <xliff:g id="APP">%1$s</xliff:g> piekļūt režīmiem?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Lietotne varēs ieslēgt/izslēgt režīmu “Netraucēt”, pārvaldīt un aktivizēt režīmus, kā arī mainīt saistītos iestatījumus."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Tiks noņemti visi šajā lietotnē izveidotie režīmi."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Neoptimizēt"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimizēt"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Iespējams, akumulators tiks ātrāk izlādēts. Turpmāk lietotne varēs patērēta akumulatora enerģiju fonā."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Futrālis"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Akumulators"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Iestatījumu panelis"</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_desktop_mode" msgid="5644818402534562302">"Iespējot brīvās formas logus"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Iespējot brīvās formas logus sekundārajā displejā"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Vairāku logu režīmā iespējot nemainīga lieluma lietotnes"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Šis iestatījums ļauj vairāku logu režīmā rādīt lietotnes, kuru lielums nav maināms"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Tumšā režīma piespiedu ieslēgšanas ignorēšana"</string>
@@ -4968,7 +5077,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobilie dati"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Lai uzlabotu ierīces lietošanas iespējas, lietotnes un pakalpojumi joprojām varēs meklēt Wi-Fi tīklus jebkurā laikā, pat ja Wi-Fi būs izslēgts. Šo iestatījumu var izmantot, piemēram, lai uzlabotu ar atrašanās vietu saistītas funkcijas un pakalpojumus. Varat to mainīt Wi-Fi meklēšanas iestatījumos."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Mainīt"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Ir izveidots savienojums"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Īslaicīgi izveidots savienojums"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Īslaicīgi tiek izmantots pakalpojums <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -5000,7 +5108,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Izmantot lietotņu piespraušanu"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Izmantot izstrādātāju opcijas"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Izmantot drukāšanas pakalpojumu"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Atļaut vairākus lietotājus"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Atļaut lietotāju pārslēgšanu"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"ļaut, vairāki, lietotājs, atļaut, daudz"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"vairāki, lietotāji, profili, personas, konti, pārslēgties, daudzi"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Izmantot bezvadu atkļūdošanu"</string>
@@ -5057,52 +5165,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"Ierīce “<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>” pieprasa atļauju izveidot savienojumu ar šo tālruni.\n\nIepriekš neesat veidojis savienojumu ar ierīci <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Neizveidot savienojumu"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Izveidot savienojumu"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE iestatījumi"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Ieslēgta"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Izslēgta"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Atjaunot noklusējuma iestatījumus"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Atjaunoti noklusējuma iestatījumi."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Maksimālais atlikums ar uzlādētu ierīci"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Atlikumi"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Patēriņa ierobežojumi"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Sākotnējais patēriņa ierobežojums"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Minimālais patēriņa ierobežojums"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Maksimālais patēriņa ierobežojums"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Pārveidotāji"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Darbības (izveides cena)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Darbības (pamatcena)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Atlīdzības par vienu notikumu"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Atlīdzības par vienu notikuma sekundi"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Maksimālais atlīdzību skaits dienā"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Lietotnes instalēšana"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Biežākā darbība"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Paziņojums redzēts"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Paziņojums redzēts 15 minūšu laikā"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Mijiedarbība ar paziņojumu"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Mijiedarbība ar logrīku"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Cita lietotāja mijiedarbība"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Uzdevums sākts (maksimālā prioritāte)"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Uzdevums aktīvs (maksimālā prioritāte)"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Uzdevums sākts (augsta prioritāte)"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Uzdevums aktīvs (augsta prioritāte)"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Uzdevums sākts (noklusējuma prioritāte)"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Uzdevums aktīvs (noklusējuma prioritāte)"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Uzdevums sākts (zema prioritāte)"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Uzdevums aktīvs (zema prioritāte)"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Uzdevums sākts (minimālā prioritāte)"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Uzdevums aktīvs (minimālā prioritāte)"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Sods par uzdevuma noildzi"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Minimālais atlikums ar uzlādētu ierīci (izslēgtas lietotnes)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Minimālais atlikums ar uzlādētu ierīci (bezgalvas sistēmas lietotne)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Minimālais atlikums ar uzlādētu ierīci (atlikušās lietotnes)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Minimālā atlikuma ar uzlādētu ierīci papildināšana (lietotņu atjauninātāji)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Uzlāde"</item>
-    <item msgid="658627268149681677">"Snauda"</item>
-    <item msgid="1599558140284643834">"Enerģijas taupīšanas režīms"</item>
-    <item msgid="588427840913221601">"Apstrādes statuss"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Apstiprināt"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Priekšskatīt"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Izvēlieties ekrānsaudzētāju"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Rādīt papildu informāciju"</string>
@@ -5114,8 +5176,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Izvēlieties, kas būs redzams ekrānā, kad planšetdators būs dokots. Ja izmantosiet ekrānsaudzētāju, ierīce var patērēt vairāk enerģijas."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Pielāgot"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Pielāgot ekrānsaudzētāju “<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>”"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Lai iespējotu brīvās formas atbalstu, nepieciešama atkārtota palaišana."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Lai piespiedu kārtā aktivizētu darbvirsmas režīmu sekundārajos displejos, nepieciešama atkārtota palaišana."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Lai iespējotu brīvās formas logu atbalstu, nepieciešama atkārtota palaišana."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Lai atjauninātu brīvās formas logu pieejamību, nepieciešama atkārtota palaišana."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Lai iespējotu brīvās formas logus sekundāros displejos, nepieciešama atkārtota palaišana."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Atkārtoti palaist tūlīt"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Atkārtoti palaist vēlāk"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Telpiskais audio"</string>
@@ -5212,7 +5275,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Sārta"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Fuksīnsarkana"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Violeta"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Gatavs"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Saglabāt"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Atcelt"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Noklusējums"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Vidējs"</string>
@@ -5233,6 +5296,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Ieslēgti"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Izslēgti"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Ieslēgti"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Audio: %1$d%% — pa kreisi, %2$d%% — pa labi"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Audio: %1$d%% — pa labi, %2$d%% — pa kreisi"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Jūsu ierīces nosaukums ir redzams jūsu instalētajām lietotnēm. Tas var būt redzams arī citām personām, ja izveidosiet savienojumu ar Bluetooth ierīcēm, Wi-Fi tīklu vai iestatīsiet Wi-Fi tīklāju."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Gramatiskā dzimte"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Atlasiet gramatisko dzimti"</string>
@@ -5301,6 +5366,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Audio kopīgošana apturēta"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Savienošana ar saderīgu ierīci"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Lai sāktu audio kopīgošanu, vispirms savienojiet LE Audio austiņas ar savu tālruni."</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Pārslēgties uz ierīci “<xliff:g id="DEVICE_NAME">%1$s</xliff:g>”"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Pievienošanās LE audio straumei"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Audio straumes tuvumā"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Audio straumes"</string>
@@ -5344,4 +5410,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Klausīties straumi"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Skenējiet audio straumes kvadrātkodu, lai to klausītos ierīcē <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Kopīgošanas laikā paroli nevar rediģēt. Lai mainītu paroli, vispirms izslēdziet audio kopīgošanu."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Kvadrātkoda skeneris"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Vai nepieciešama palīdzība?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Meklēšanas iestatījumi"</string>
 </resources>
diff --git a/res/values-mcc262-mnc02-b+sr+Latn/strings.xml b/res/values-mcc262-mnc02-b+sr+Latn/strings.xml
index 6aaa944..246589e 100644
--- a/res/values-mcc262-mnc02-b+sr+Latn/strings.xml
+++ b/res/values-mcc262-mnc02-b+sr+Latn/strings.xml
@@ -16,5 +16,5 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wifi_calling_off_explanation_2" msgid="5645212744935818562">\n\n"Ne možete da upućujete hitne pozive pomoću pozivanja preko WiFi-a. Ako probate da uputite hitan poziv, uređaj će automatski koristiti mobilnu mrežu. Hitni pozivi mogu da se upućuju samo u oblastima pokrivenim mobilnom mrežom."</string>
+    <string name="wifi_calling_off_explanation_2" msgid="5645212744935818562">\n\n"Ne možete da upućujete hitne pozive pomoću pozivanja preko Wi-Fi-ja. Ako probate da uputite hitan poziv, uređaj će automatski koristiti mobilnu mrežu. Hitni pozivi mogu da se upućuju samo u oblastima pokrivenim mobilnom mrežom."</string>
 </resources>
diff --git a/res/values-mcc262-mnc02-mn/strings.xml b/res/values-mcc262-mnc02-mn/strings.xml
index 9a96f74..ac2a7a4 100644
--- a/res/values-mcc262-mnc02-mn/strings.xml
+++ b/res/values-mcc262-mnc02-mn/strings.xml
@@ -16,5 +16,5 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wifi_calling_off_explanation_2" msgid="5645212744935818562">\n\n"Та Wi-Fi дуудлагаар яаралтай дуудлага хийх боломжгүй. Хэрэв та яаралтай дуудлага хийвэл таны төхөөрөмж хөдөлгөөнт холбооны сүлжээг автоматаар ашиглана. Яаралтай дуудлагыг зөвхөн хөдөлгөөнт холбооны сүлжээтэй газар хийх боломжтой."</string>
+    <string name="wifi_calling_off_explanation_2" msgid="5645212744935818562">\n\n"Та Wi-Fi дуудлагаар яаралтай дуудлага хийх боломжгүй. Хэрэв та яаралтай дуудлага хийвэл таны төхөөрөмж мобайл сүлжээг автоматаар ашиглана. Яаралтай дуудлагыг зөвхөн мобайл сүлжээтэй газар хийх боломжтой."</string>
 </resources>
diff --git a/res/values-mcc262-mnc02-nb/strings.xml b/res/values-mcc262-mnc02-nb/strings.xml
index 68999e8..f77da80 100644
--- a/res/values-mcc262-mnc02-nb/strings.xml
+++ b/res/values-mcc262-mnc02-nb/strings.xml
@@ -16,5 +16,5 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wifi_calling_off_explanation_2" msgid="5645212744935818562">\n\n"Du kan ikke ringe nødnumre via wifi-anrop. Hvis du prøver å ringe et nødnummer, bruker enheten automatisk mobilnettverket. Du kan bare ringe nødnumre i områder med mobildekning."</string>
+    <string name="wifi_calling_off_explanation_2" msgid="5645212744935818562">\n\n"Du kan ikke ringe nødnumre via Wi-Fi-anrop. Hvis du prøver å ringe et nødnummer, bruker enheten automatisk mobilnettverket. Du kan bare ringe nødnumre i områder med mobildekning."</string>
 </resources>
diff --git a/res/values-mcc262-mnc02-ne/strings.xml b/res/values-mcc262-mnc02-ne/strings.xml
index c7da875..a850fff 100644
--- a/res/values-mcc262-mnc02-ne/strings.xml
+++ b/res/values-mcc262-mnc02-ne/strings.xml
@@ -16,5 +16,5 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wifi_calling_off_explanation_2" msgid="5645212744935818562">\n\n"तपाईं Wi-Fi को कल गर्ने सुविधामार्फत आपत्‌कालीन कलहरू गर्न सक्नुहुन्न। तपाईंले आपत्‌कालीन कल गर्न खोज्नुभयो भने तपाईंको यन्त्रले स्वतः मोबाइल नेटवर्कको प्रयोग गर्ने छ। मोबाइल नेटवर्क उपलब्ध भएका क्षेत्रहरूबाट मात्र आपत्‌कालीन कलहरू गर्न सकिन्छ।"</string>
+    <string name="wifi_calling_off_explanation_2" msgid="5645212744935818562">\n\n"तपाईं Wi-Fi को कल गर्ने सुविधामार्फत आपतकालीन कलहरू गर्न सक्नुहुन्न। तपाईंले आपतकालीन कल गर्न खोज्नुभयो भने तपाईंको यन्त्रले स्वतः मोबाइल नेटवर्कको प्रयोग गर्ने छ। मोबाइल नेटवर्क उपलब्ध भएका क्षेत्रहरूबाट मात्र आपतकालीन कलहरू गर्न सकिन्छ।"</string>
 </resources>
diff --git a/res/values-mcc262-mnc02-sr/strings.xml b/res/values-mcc262-mnc02-sr/strings.xml
index f20f3f4..abb56b6 100644
--- a/res/values-mcc262-mnc02-sr/strings.xml
+++ b/res/values-mcc262-mnc02-sr/strings.xml
@@ -16,5 +16,5 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wifi_calling_off_explanation_2" msgid="5645212744935818562">\n\n"Не можете да упућујете хитне позиве помоћу позивања преко WiFi-а. Ако пробате да упутите хитан позив, уређај ће аутоматски користити мобилну мрежу. Хитни позиви могу да се упућују само у областима покривеним мобилном мрежом."</string>
+    <string name="wifi_calling_off_explanation_2" msgid="5645212744935818562">\n\n"Не можете да упућујете хитне позиве помоћу позивања преко Wi-Fi-ја. Ако пробате да упутите хитан позив, уређај ће аутоматски користити мобилну мрежу. Хитни позиви могу да се упућују само у областима покривеним мобилном мрежом."</string>
 </resources>
diff --git a/res/values-mcc262-mnc02-sv/strings.xml b/res/values-mcc262-mnc02-sv/strings.xml
index b37dbb8..fea75e9 100644
--- a/res/values-mcc262-mnc02-sv/strings.xml
+++ b/res/values-mcc262-mnc02-sv/strings.xml
@@ -16,5 +16,5 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wifi_calling_off_explanation_2" msgid="5645212744935818562">\n\n"Det går inte att ringa nödsamtal via wifi. Om du ringer ett nödnummer på enheten används mobilnätverket automatiskt. Det går bara att ringa nödsamtal där mobilnätet har täckning."</string>
+    <string name="wifi_calling_off_explanation_2" msgid="5645212744935818562">\n\n"Det går inte att ringa nödsamtal via Wi-Fi. Om du ringer ett nödnummer på enheten används mobilnätverket automatiskt. Det går bara att ringa nödsamtal där mobilnätet har täckning."</string>
 </resources>
diff --git a/res/values-mcc262-mnc02-te/strings.xml b/res/values-mcc262-mnc02-te/strings.xml
index e230bc5..9d9a240 100644
--- a/res/values-mcc262-mnc02-te/strings.xml
+++ b/res/values-mcc262-mnc02-te/strings.xml
@@ -16,5 +16,5 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wifi_calling_off_explanation_2" msgid="5645212744935818562">\n\n"మీరు Wi-Fi కాలింగ్ ద్వారా అత్యవసర కాల్స్‌ను చేయలేరు. అత్యవసర కాల్ చేయడానికి ప్రయత్నిస్తే, మీ పరికరం ఆటోమేటిక్‌గా మొబైల్ నెట్‌వర్క్‌ని ఉపయోగిస్తుంది. మొబైల్ నెట్‌వర్క్‌ కవరేజ్ ఉన్న ప్రాంతాల్లో మాత్రమే అత్యవసర కాల్స్‌ చేయబడతాయి."</string>
+    <string name="wifi_calling_off_explanation_2" msgid="5645212744935818562">\n\n"మీరు Wi-Fi కాలింగ్ ద్వారా అత్యవసర కాల్‌లను చేయలేరు. అత్యవసర కాల్ చేయడానికి ప్రయత్నిస్తే, మీ పరికరం స్వయంచాలకంగా మొబైల్ నెట్‌వర్క్‌ని ఉపయోగిస్తుంది. మొబైల్ నెట్‌వర్క్‌ కవరేజ్ ఉన్న ప్రాంతాల్లో మాత్రమే అత్యవసర కాల్‌లు చేయబడతాయి."</string>
 </resources>
diff --git a/res/values-mcc262-mnc02-zh-rHK/strings.xml b/res/values-mcc262-mnc02-zh-rHK/strings.xml
index c04326a..b713374 100644
--- a/res/values-mcc262-mnc02-zh-rHK/strings.xml
+++ b/res/values-mcc262-mnc02-zh-rHK/strings.xml
@@ -16,5 +16,5 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wifi_calling_off_explanation_2" msgid="5645212744935818562">\n\n"你不可透過 Wi-Fi 通話撥打緊急電話。如果你嘗試撥打緊急電話,裝置會自動使用流動網絡。你只可在有流動網絡覆蓋的地方撥打緊急電話。"</string>
+    <string name="wifi_calling_off_explanation_2" msgid="5645212744935818562">\n\n"您不可透過 Wi-Fi 通話撥打緊急電話。如果您嘗試撥打緊急電話,裝置會自動使用流動網絡。您只可在有流動網絡覆蓋的地方撥打緊急電話。"</string>
 </resources>
diff --git a/res/values-mk/arrays.xml b/res/values-mk/arrays.xml
index 2daa309..916f2a3 100644
--- a/res/values-mk/arrays.xml
+++ b/res/values-mk/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Време за спиење"</item>
-    <item msgid="4152450357280759894">"Возење"</item>
-    <item msgid="7096549258219399423">"Реалистично"</item>
-    <item msgid="2760716776980432977">"Управувано"</item>
-    <item msgid="601734478369121764">"Ѕвезда"</item>
-    <item msgid="6243809315432780521">"Календар"</item>
-    <item msgid="4913577903148415331">"Време"</item>
-    <item msgid="3653377604690057780">"Театар"</item>
-    <item msgid="3843711267408385410">"Цвет"</item>
+    <item msgid="1216815120972438676">"Актовка"</item>
+    <item msgid="184985872234062767">"Класична зграда"</item>
+    <item msgid="9189550412466785530">"Станбена зграда"</item>
+    <item msgid="2142527562511049422">"Балонче за говор"</item>
+    <item msgid="2548100558260478605">"Група луѓе"</item>
+    <item msgid="2270003903304578284">"Светилка"</item>
+    <item msgid="4793496619091161864">"Календар"</item>
+    <item msgid="5673625795644364100">"Не вознемирувај"</item>
+    <item msgid="1423820834865831361">"Лице кое трча"</item>
+    <item msgid="2037298830718732608">"Голф"</item>
+    <item msgid="2197835014443491074">"Тег за теретана"</item>
+    <item msgid="2730180105015616518">"Пливање"</item>
+    <item msgid="2666922823253345958">"Лице кое планинари"</item>
+    <item msgid="8234880356472211396">"Лице кое фрла топка"</item>
+    <item msgid="4642980625253001443">"Лице кое клоца"</item>
+    <item msgid="4324795269518833500">"Контролер за игри"</item>
+    <item msgid="7789966425125441125">"Палета на бои за изведувачи"</item>
+    <item msgid="663512680597461570">"Снегулка"</item>
+    <item msgid="7952183800501346803">"Чадор за плажа"</item>
+    <item msgid="799139025758265891">"Алати во работилница"</item>
+    <item msgid="1330084588359129896">"Шатор"</item>
+    <item msgid="3861584909935022342">"Филмска лента"</item>
+    <item msgid="5827426100157335512">"Книга"</item>
+    <item msgid="8585828346253128384">"Цвет на лотос"</item>
+    <item msgid="8788370542815300188">"Умот на лицето"</item>
+    <item msgid="7287354964767553293">"Слушалки"</item>
+    <item msgid="2530059623783800987">"ТВ"</item>
+    <item msgid="5307182323469376758">"Воз"</item>
+    <item msgid="4903790544026923026">"Автомобил"</item>
+    <item msgid="5010405583912314582">"Вилушка и нож"</item>
+    <item msgid="8939998598599064900">"Кошничка"</item>
+    <item msgid="3379605903308731893">"Дете"</item>
+    <item msgid="7808668968550293112">"Животинска шепа"</item>
+    <item msgid="1000692647524056504">"Значка со ѕвезда"</item>
+    <item msgid="8270261073421676502">"Две лица"</item>
+    <item msgid="5767782819651505460">"Ѕвезда"</item>
+    <item msgid="4368451291862729334">"Срце"</item>
+    <item msgid="2613199102208419986">"Куќа"</item>
+    <item msgid="3022279986430275040">"Полумесечина"</item>
+    <item msgid="5421089790869483206">"Часовник"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 95d66e8..d52b708 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Суспендирани"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Непознато"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Преглед"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR-код"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Намали"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Зголеми"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"Секогаш"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Поставки за слушни апарати"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Кратенка, компатибилност со слушни помагала"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Зададена вредност"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Нема зададени вредности што ги програмирал вашиот аудиолог"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Не можеше да се ажурира зададената вредност"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Аудиоизлез"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"За аудио-излезот"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Не може да се бира јазик за апликацијава од „Поставките“."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Јазикот може да се разликува од јазиците достапни во апликацијата. Некои апликации може да не ја поддржуваат оваа поставка."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Поставете го јазикот за секоја апликација."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Системот, апликациите и веб-сајтовите го користат првиот поддржан јазик од вашите претпочитани јазици."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Уредот, апликациите и веб-сајтовите го користат првиот поддржан јазик од списокот со претпочитани јазици.\n\nМногу апликации ќе го користат и регионот од вашиот претпочитан јазик за форматирање на датумите, броевите и единиците. За да го промените регионот, додајте јазик, а потоа изберете го претпочитаниот регион."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"За да изберете јазик за поединечна апликација, одете во поставките за јазик на апликацијата."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Дознајте повеќе за јазиците за апликации"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Да се промени системскиот јазик во %s ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Исклучено"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Вклучено/# апликација има пристап до локацијата}one{Вклучено/# апликација имаат пристап до локацијата}other{Вклучено/# апликации имаат пристап до локацијата}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Се вчитува…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Апликациите со дозвола за пристап до уредите во близина може да ја утврдуваат релативната положба на поврзаните уреди."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Апликациите со дозволата „Уреди во близина“ може да ја утврдуваат релативната положба на поврзаните уреди."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Пристапот до локацијата е исклучен за апликации и услуги. Сепак, можно е локацијата на уредот да се испрати до службите за спасување во итни случаи кога ќе ги повикате или кога ќе испратите порака на број за итни случаи."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Дознајте повеќе за „Поставките за локација“"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"За да промените, одете во „Поставките за ChromeOS &gt; Приватност и безбедност &gt; Контроли на приватноста &gt; Пристап до локацијата“"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Додадени се лик и <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Додадени се лик, отпечаток и <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Додадени се лик, отпечатоци и <xliff:g id="WATCH">%s</xliff:g>"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"„Проверката на идентитетот“ е вклучена и бара биометрика"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Отклучување со далечински автентикатор"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Часовникот е додаден"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Поставете го часовникот"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Дознајте повеќе за „Отклучување со часовник“"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Додај часовник"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Отстрани часовник"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Отклучување со отпечаток и лик"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Отклучување со лик и отпечаток"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Отклучување со лик и отпечаток за работа"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Потребно е поставување"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Ликот и отпечатоците се додадени"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Се поставува „Приватен простор“…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Не можеше да се постави „Приватен простор“"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Обиди се пак"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Излези"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"„Приватен простор“ не е достапна.\nПогледнете ги можните причини"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Погледнете ги можните причини"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Да се избере ново заклучување за „Приватен простор“?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Може да поставите ново заклучување само за „Приватен простор“ или да го користите истото заклучување што го користите за отклучување на уредот"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Користете заклучување екран"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Кога Bluetooth е вклучен, вашиот уред може да комуницира со другите уреди со Bluetooth во близина.\n\nЗа да се подобри доживувањето со уредот, апликациите и услугите сепак може да скенираат уреди во близина во секое време, дури и кога Bluetooth е исклучен. Ова може да се користи, на пример, за да се подобрат функциите и локациските услуги. Може да го промените во поставките за „Скенирање за Bluetooth“."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Кога е вклучен Bluetooth, уредот може да комуницира со други уреди со Bluetooth во близина. Функциите како „Брзо споделување“ и „Најди го мојот уред“ користат Bluetooth.\n\nАпликациите и услугите може да скенираат за уреди во близина во секое време, дури и кога е исклучен Bluetooth. Ова може да се користи, на пример, за да се подобрат функциите и локациските услуги. Ова може да го промените во поставките за скенирање за Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Промени"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Детали за уредот"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Поставки за тастатурата"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Повеќе поставки"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Ажурирања за фирмверот, информации и друго"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Совети и поддршка"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Адреса на Bluetooth на уредот: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Адреса на Bluetooth на уредот:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Да се заборави уредот?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Експериментално. Го подобрува аудиото."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Заборави го уредот"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Прекини врска со апликацијата"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Повеќе поставки"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Максимален број аудиоуреди поврзани преку Bluetooth"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Изберете го максималниот број аудиоуреди поврзани преку Bluetooth"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Опширна евиденција за отстранување грешки за продавач на NFC"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Да се рестартира уредот?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Деталното евидентирање на NFC е наменето само за развојни цели. Дополнителни податоци од NFC се вклучени во извештаите за грешки, коишто може да содржат приватни податоци. Рестартирајте го уредов за да ја промените оваа поставка."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Рестартирај"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Вклучено"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Исклучено"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Надворешен екран"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Користи надворешен екран"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Резолуција на екранот"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Надворешниот екран е исклучен"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Ротација"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Стандардно"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Промената на ротацијата или резолуцијата може да ги сопре сите апликации што се извршуваат во моментов"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Вашиот уред мора да биде поврзан со надворешен екран за да го отсликува вашиот екран"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Повеќе опции"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Емитување"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"огледало"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Овозможи приказ на безжични мрежи"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Адаптивни"</string>
     <string name="brightness" msgid="6216871641021779698">"Ниво на осветленост"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Адаптивна осветленост"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"За „Адаптивна осветленост“"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Осветленоста на екранот ќе се приспособува автоматски на вашата околина и активности. Може да го поместите лизгачот рачно за да ѝ помогнете на адаптивната осветленост да научи што ви одговара."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Вклучено"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Исклучена"</string>
@@ -1311,8 +1344,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="8850185380445309835">"Да се смени претпочитана SIM?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> е единственaта SIM-картичка во вашиот уред. Дали сакате да ја користите за мобилен интернет, повици и SMS-пораки?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> отсега е вашата примарна SIM-картичка"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Да се подобри покриеноста со мобилен интернет?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Дозволете уредот автоматски да се префрла на <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> за мобилен интернет кога има подобра достапност."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Повиците, пораките и мрежниот сообраќај може да се видливи за вашата организација."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Опции"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Пристапност"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Физичка тастатура"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Користете тастатура на екран"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Прикажувај ја на екранот додека е активна физичката тастатура"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Игнорирај повторени притискања"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Тастатурата игнорира брзи притискања на истото копче што се повторуваат во <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Бавни копчиња"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Времето за активирање по притискање копче го приспособува на <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Лепливи копчиња"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Притискајте ги копчињата за кратенки едно по едно наместо да ги држите копчињата притиснати заедно"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Копчиња на глувчето"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Користете ја физичката тастатура за да го контролирате глувчето."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Кратенки на тастатурата"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Прикажи список со кратенки"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Тастатури и алатки за работниот профил"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Приспособете поединечни движења на подлогата за допир"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Обратно лизгање"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Содржините се поместуваат нагоре кога лизгате надолу"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Допир долу десно"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Допрете го долниот десен агол од подлогата за допир за опции"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Кликнете го долниот десен агол"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Кликнете го долниот десен агол од допирната подлога за опции"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Брзина на покажувачот"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Стил на полнење на покажувачот"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Промена на стил. на покаж. во црн"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Промена на стил. на покаж. во жолт"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Промена на стил. на покаж. во розов"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Промена на стил. на покаж. во син"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Стил на потег со покажувачот"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Бела"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Црна"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Нема"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Научете движења за подлога за допир"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"подлога на допир, допирна подлога, глувче, курсор, лизгање, повлекување, кликнување со десното копче, клик, покажувач"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"кликнување со десното копче, допир"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Ресетирај"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Изберете го копчето модификатор"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Изберете ново копче за <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Распоред на <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Стандардно"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Автоматски: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Корисникот избрал: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Говор"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Брзина на покажувачот"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Големина на покажувачот"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Намали го покажувачот"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Зголеми го покажувачот"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Контролор на игра"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Пренасочување вибрации"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Испрати вибрации кон контролорот на игра кога е поврзан"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Сепак продолжи"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Откажи"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Поставки за зголемување"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Повлекување со еден прст"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Движете ја лупата со 1 прст"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Повлечете со 1 прст за движење низ екранот"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Преместете го зголемување со повлекување со еден прст."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Преместете го зголемување со повлекување со два прста."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Недостапно кога се зголемува само дел од екранот"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Допрете копче за зумирање"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Брзо зумирајте на екранот за да ги направите содржините поголеми"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;За да зумирате:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Употребете кратенка за почеток на зголемувањето&lt;br/&gt; {1,number,integer}. Допрете го екранот&lt;br/&gt; {2,number,integer}. Повлечете со два прста за да се движите низ екранот&lt;br/&gt; {3,number,integer}. Штипнете со два прста за да го приспособите зумот&lt;br/&gt; {4,number,integer}. Употребете кратенка за крај на зголемувањето&lt;br/&gt;&lt;br/&gt;&lt;b&gt;За да зумирате привремено:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Погрижете се типот на зголемувањето да биде поставен на цел екран&lt;br/&gt; {1,number,integer}. Употребете кратенка за почеток на зголемувањето&lt;br/&gt; {2,number,integer}. Допрете и задржете каде било на екранот&lt;br/&gt; {3,number,integer}. Повлечете со прст за да се движите низ екранот&lt;br/&gt; {4,number,integer}. Подигнете го прстот за крај на зголемувањето"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;За да зумирате:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Употребете кратенка за почеток на зголемувањето&lt;br/&gt; {1,number,integer}. Допрете го екранот&lt;br/&gt; {2,number,integer}. Повлечете со 2 прста за да се движите низ екранот&lt;br/&gt; {3,number,integer}. Штипнете со 2 прста за да го приспособите зумот&lt;br/&gt; {4,number,integer}. Употребете кратенка за сопирање на зголемувањето&lt;br/&gt;&lt;br/&gt; Може и да зумирате привремено и друго."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;За да зумирате:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Употребете кратенка за почеток на зголемувањето&lt;br/&gt; {1,number,integer}. Допрете го екранот&lt;br/&gt; {2,number,integer}. Повлечете со 1 или 2 прста за да се движите низ екранот&lt;br/&gt; {3,number,integer}. Штипнете со 2 прста за да го приспособите зумот&lt;br/&gt; {4,number,integer}. Употребете кратенка за сопирање на зголемувањето&lt;br/&gt;&lt;br/&gt; Може и да зумирате привремено и друго."</string>
     <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Кога е вклучено зумирањето, може да зумирате на екранот.\n\n"<b>"За да зумирате"</b>", стартувајте го зголемувањето, па допрете каде било на екранот.\n"<ul><li>"Повлечете со два или повеќе прсти за да лизгате"</li>\n<li>"Штипнете со два или повеќе прсти за да го приспособите зумот"</li></ul>\n\n<b>"За да зумирате привремено"</b>", стартувајте го зголемувањето, а потоа допрете и задржете каде било на екранот.\n"<ul><li>"Повлечете за да се движите околу екранот"</li>\n<li>"Подигнете го прстот за да одзумирате"</li></ul>\n\n"Не може да зумирате на тастатурата или на лентата за навигација."</string>
     <string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Страница <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> од <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Кратенка за копчето за пристапност"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Допрете го лебдечкото копче"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Движење за пристапност"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Допрете го копчето за пристапност <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> во долниот дел на екранот. За префрлање меѓу функциите, допрете и задржете го копчето за пристапност."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Повлечете нагоре од дното на екранот со два прста.\n\nЗа да се префрлите на друга функција, повлечете нагоре со два прста и задржете."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Повлечете нагоре од дното на екранот со три прста.\n\nЗа префрлање помеѓу функциите, повлечете нагоре со три прста и задржете."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Повлечете нагоре од долниот дел на екранот. За префрлање меѓу функциите, повлечете нагоре и задржете.}one{Повлечете нагоре со # прст од долниот дел на екранот. За префрлање меѓу функциите, повлечете нагоре со # прст и задржете.}other{Повлечете нагоре со # прста од долниот дел на екранот. За префрлање меѓу функциите, повлечете нагоре со # прста и задржете.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Повеќе опции"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Дознајте повеќе за <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Копчиња за јачина на звук"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"копчиња за јачина на звук"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Притиснете и задржете ги двете копчиња за јачина на звук"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Допрете го екранот двапати со два прста"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Двоен допир со %1$d прста"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Брзо допрете го екранот двапати со %1$d прста"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Троен допир"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Брзо допрете го екранот %1$d пати. Со ова може да се забави уредот."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Двоен допир со %1$d прста"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Брзо допрете го екранот {0,number,integer} пати со два прста"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Троен допир на екранот"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"троен допир"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Брзо допрете го екранот {0,number,integer} пати Оваа кратенка може да го забави уредот"</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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Поставки за кратенки"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Кратенка од заклучен екран"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Дозволете кратенката за функцијата да се вклучува од заклучениот екран. Задржете ги двете копчиња за јачина на звук неколку секунди."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Копче за пристапност"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Копче и движење за пристапност"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Услугава е дефектна."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Кратенки за пристапност"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Прикажи во „Брзи поставки“"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Црвена и зелена"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Црвена и зелена"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Црвена и зелена, слаба зелена"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Црвена и зелена, слаба црвена"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Сина и жолта"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Сиви тонови"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Интензитет"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Слаба зелена, девтераномалија"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Слаба црвена, протаномалија"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Недостапно за режимот на „Сиви тонови“ или кога е оневозможена „Корекција на боите“"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Дополнително затемнување"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Дополнително затемнување на екранот"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Тиркизна"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Жолта"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Магента"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Да се дозволи <xliff:g id="SERVICE">%1$s</xliff:g> да има целосна контрола врз вашиот уред?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> треба да:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Бидејќи апликацијата го прикрива барањето за дозвола, Поставките не може да го потврдат вашиот одговор."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> бара целосна контрола на уредов. Услугава може да го чита екранот и да делува во име на корисниците со потреба за пристапност. Ова ниво на контрола не е соодветно за повеќето апликации."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Целосната контрола е соодветна за апликации што ви помагаат со потребите за пристапност, но не и за повеќето апликации."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Преглед и контрола на екранот"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Може да ги чита сите содржини на екранот и да прикажува содржини врз другите апликации."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Преглед и вршење дејства"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Може да ја следи вашата интеракција со апликациите или со хардверските сензори и да врши интеракција со апликациите во ваше име."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Дозволи"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Одбиј"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Исклучи"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Вклучено/<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> и <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Може да вклучите „Просторен звук“ и за уреди со Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Поставки за поврзани уреди"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Просторен звук"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Исклучено"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Исклучено"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Исклучено"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Ниеден}=1{Поставен е 1 распоред}one{Поставен е # распоред}other{Поставени се # распореди}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Не вознемирувај"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Приоритетни режими"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Додајте режим"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Режими"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Минимизирајте ги работите што го одвлекуваат вниманието и контролирајте го вашето внимание со режимите за спиење, работа, возење и многу други."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Создајте свој режим"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Добивајте известувања само од важни луѓе и апликации"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Поставете распоред"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Распоред според"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Ден и време"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"„работни денови, 9:00 – 17:00“"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Настани во календарот"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{Активен е {mode_1}}=2{Активни се {mode_1} и {mode_2}}=3{Активни се {mode_1}, {mode_2} и {mode_3}}one{Активни се {mode_1}, {mode_2} и уште #}other{Активни се {mode_1}, {mode_2} и уште #}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 режим може да се вклучи автоматски}one{# режим може да се вклучат автоматски}other{# режими може да се вклучат автоматски}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ВКЛУЧЕНО"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Не е поставено"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Оневозможено"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Создајте режим"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Приспособено"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Вклучи сега"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Исклучи"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Режимот не е најден"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ограничете ги прекините"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Блокирајте ги прекините и одвлекувањата на внимание"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Поставете <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Исклучување на „Не вознемирувај“"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Алармите и звуците од аудиовизуелните содржини може да го прекинуваат"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Распореди"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Избришете ги распоредите"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Избриши"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Преименувај"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Избриши"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Да се избрише режимот „<xliff:g id="MODE">%1$s</xliff:g>“?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Измени"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Распореди"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Распоред"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Автоматско вклучување"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Додајте календар"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Користете го календарот"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Распоред"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Поставете распоред"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Кога да се вклучи автоматски"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Распоред на настани"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Вклучи во текот на настани за"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Каде одговорот на поканата е"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Распоред според време"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Распоред"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ч. <xliff:g id="MINUTES">%2$d</xliff:g> мин."</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Распоред"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Дозволете прекинувања што произведуваат звук"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Известувања што може да стигнат до вас"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Дополнителни дејства"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Филтри за известувања"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Повеќе поставки"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Исклучено}=1{Исклучено/1 режим може да се вклучи автоматски}one{Исклучено/# режим може да се вклучат автоматски}other{Исклучено/# режими може да се вклучат автоматски}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Поставки за екранот"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Опции за екранот"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Сиви тонови"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"овозможете темна тема"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Префрлете ги OS и апликациите за да претпочитаат светол текст на темна заднина, што може да биде полесно за очите и овозможува значителна заштеда на батеријата на некои уреди"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Нема промени на екранот}=1{{effect_1}}=2{{effect_1} и {effect_2}}=3{{effect_1}, {effect_2} и {effect_3}}one{{effect_1}, {effect_2} и уште #}other{{effect_1}, {effect_2} и уште #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Дозволи ги сите известувања"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Луѓето, апликациите и звуците може да прекинуваат"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Опции за прикажување филтрирани известувања"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Кога е вклучен режимот „Не вознемирувај“"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Без звук од известувањата"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"отворете го известувањето"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Дозволи одложување на известувањата"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Точка за известување на икона за апликацијата"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Пакети известувања"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Балончиња"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Балончиња"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Стави го разговорот во балонче"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Може да одговара на пораки и да ги користи копчињата во известувањата, вклучително и да одложува или отфрла известувања и да одговара на повици."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Да ги менува поставките"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Може да го вклучува и исклучува „Не вознемирувај“ и да ги менува поврзаните поставки."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Може да ги активира и да управува со „Режимите“, а и да ги променува поврзаните поставки."</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_modes_warning_summary" msgid="7528432011433844158">"Ако го исклучите пристапот до известувањата за <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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Реално време"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Апликацијава не поддржува подобрени поставки"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Повеќе поставки"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Повеќе поставки се достапни во апликацијава"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Адаптивни известувања"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Користи „Адаптивни известувања“"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Кога ќе добиете многу известувања во краток временски период, вашиот телефон ќе го намали звукот и ќе ги минимизира скокачките прозорци на екранот во период до две минути. Известувањата за повиците, алармите и приоритетните разговори сè уште вибрираат, испуштаат звук или се појавуваат на екранот, а сите известувања може да се најдат лесно кога ќе повлечете одозгора надолу на екранот."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Намалување на известувањата"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Користете „Подискретни известувања“"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Кога ќе добиете многу известувања во краток временски период, уредот ќе го намали звукот и ќе ги минимизира известувањата до 2 минути. Ова не влијае на повиците, алармите и приоритетните разговори. \n\nИзвестувањата добиени додека била вклучена „Подискретни известувања“ може да се најдат со повлекување надолу од горниот дел на екранот."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Примени на работни профили"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Применете на апликациите во работниот профил"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Помошни услуги за VR"</string>
@@ -3650,6 +3717,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Пристап до „Режими“"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Дозволи пристап до „Режими“"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Ниедна од инсталираните апликации не побара пристап до „Режими“"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Немате дозволено известувања од оваа апликација"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"На ваше барање, Android го блокира појавувањето на оваа категорија известувања на уредов"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"На ваше барање, Android го блокира појавувањето на оваа група известувања на уредов"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Категории"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Друго"</string>
     <string name="no_channels" msgid="4716199078612071915">"Апликацијава не објави ниедно известување"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Прикажи ги некористените категории"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Дополнителни поставки во апликацијата"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Прикажи ги некористените категории"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Скриј ги некористените категории"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Разговори"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Сите разговори"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"сите разговори"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Приоритетни разговори"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"приоритетни разговори"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Ниеден"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Апликации што може да прекинуваат"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Избрани апликации"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Нема"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Сите"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Ниедна апликација не може да го прекинува}=1{{app_1} може да го прекинува}=2{{app_1} и {app_2} може да го прекинуваат}=3{{app_1}, {app_2} и{app_3} може да го прекинуваат}one{{app_1}, {app_2} и уште # може да го прекинуваат}other{{app_1}, {app_2} и уште # може да го прекинуваат}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (работа)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Се пресметува…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+ <xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Дозволете апликациите да занемаруваат"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Апликации што може да го прекинуваат режимот"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Изберете уште апликации"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Ништо не може да го прекинува"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Никој не може да го прекинува"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Некои луѓе може да го прекинуваат"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Повторните повикувачи може да го прекинат"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Сите луѓе може да го прекинуваат"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Редовни повикувачи"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Дозволи повторни повикувачи"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Смени само на аларми во траење од еден час до {time}}one{Смени само на аларми во траење од # час до {time}}other{Смени само на аларми во траење од # часа до {time}}}"</string>
     <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_action_change_name" msgid="766639614789907016">"Преименувајте"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Променете ја иконата"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Променете ја иконата"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Изменете режим"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Создајте режим"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Приспособете го режимот"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Име на режимот"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Настани во календарот"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Рутина за времето за спиење"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"При возење"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Поставки за апликации"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Податоци и поставки во <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Управувано од <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Да се оневозможи <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Овој режим никогаш нема да се вклучи кога е оневозможен"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Оневозможи"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Да се овозможи <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Овој режим може да се вклучи автоматски според неговите поставки"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Овозможи"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Поставете режим што следи редовен распоред"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Поставете режим за синхронизација со настани во календарот и одговори на поканите"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Создајте смирувачка рутина за спиење. Поставете аларми, затемнете го екранот и блокирајте ги известувањата."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"За фокусирано возење без одвлекување на вниманието, безбедноста на патот нека ви биде приоритет"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Блокирајте ги одвлекувањата на вниманието или прекините од вашиот уред за да се фокусирате"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Елиминирајте ги сите одвлекувања на вниманието за тивка средина"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Персонализирајте ги доживувањата и поставките на уредот за различни корисници"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Минимизирајте ги прекините така што ќе дозволите само важни луѓе и апликации да контактираат со вас"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Поставете режим што следи редовен распоред"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Одржувајте го вашиот уред синхронизиран со настаните во денот"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Разбудете се со 100 % енергија"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Ставете ја безбедноста на прво место кога сте на пат"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Фокусирајте се за да влезете во зоната"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"За моменти кога учтивоста е важна"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Воден начин на употреба што ќе ви помогне да останете во добри раце"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Преземете контрола врз вашето внимание"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Опомена"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Затвори"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Повратни информации за уредов"</string>
@@ -4006,6 +4110,11 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Да се дозволи пристап до „Режими“ за <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Апликацијата ќе може да ја вклучува/исклучува „Не вознемирувај“, да ги активира и да управува со „Режимите“, а и да ги променува поврзаните поставки."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Сите режими што ги создала апликацијава ќе се отстранат."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Не оптимизирај"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Оптимизирај"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Може побрзо да ја истроши вашата батерија. Веќе нема да има ограничување за користење на батеријата во заднина за апликацијата."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Футрола за полнење"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Батерија"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Табла за поставки"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"Наметни режим на работна површина"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Наметнете го експерименталниот режим на работна површина на секундарните екрани"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"Овозможете прозорци со менлива големина"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Овоз. прозорци со менлива големина на секун. екран"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Овозможи фиксна големина во режим со повеќе прозорци"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Овозможува апликации со фиксна големина да бидат во режим со повеќе прозорци"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Отфрли го наметнувањето темен режим"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"мобилен интернет"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"За да се подобри доживувањето на уредот, апликациите и услугите може сѐ уште да скенираат за Wi‑Fi мрежи во секое време, дури и кога Wi‑Fi е исклучено. Ова може да се користи, на пример, за подобрување на функциите и услугите според локацијата. Може да го промените ова во поставките за „Скенирање за Wi-Fi“."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Измени"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Поврзано"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Привремено поврзано"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Привремено преку <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Користи „Закачување апликации“"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Користи „Програмерски опции“"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Користи ја услугата за печатење"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Дозволи повеќе корисници"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Дозволете менување корисници"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"дозволи, повеќекратно, корисник, дозвола, многу"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"повеќе, корисници, профили, лица, сметки, смени, многу"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Користи „Безжично отстранување грешки“"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> сака да се поврзе на телефонов.\n\nДосега не сте се поврзале со <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Не поврзувај"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Поврзи"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Поставки за TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Вклучена"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Исклучена"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Вратете на стандардните поставки"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Поставките се вратени на стандардни."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Максимално салдо на исполнетост"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Салда"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Ограничувања за користењето"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Почетно ограничување за користењето"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Минимално ограничување за користењето"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Максимално ограничување за користењето"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Модификатори"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Дејства (цена за производство)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Дејства (основна цена)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Награди по еден настан"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Награди по секунда траење на настанот"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Максимум награди по ден"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Инсталирај апликација"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Врвна активност"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Видено известување"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Видено известување во период од 15 мин."</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Интеракција со известување"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Интеракција со виџет"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Друга интеракција на учесник"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Почеток на задача со макс. приоритет"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Во тек е задача со максимален приоритет"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Почеток на задача со висок приоритет"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Во тек е задача со висок приоритет"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Почеток на стандардна задача"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Во тек е стандардна задача"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Почеток на задача со низок приоритет"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Во тек е задача со низок приоритет"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Почеток на задача со минимален приоритет"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Во тек е задача со минимален приоритет"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Казна за истек на време на задача"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Минимално салдо при полна батерија (изземени апликации)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Минимално салдо при полна батерија (апликации без кориснички интерфејс)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Минимално салдо при полна батерија (останати апликации)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Минимално салдо при полна батерија (ажурирачи на апликации)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Се полни"</item>
-    <item msgid="658627268149681677">"Дремка"</item>
-    <item msgid="1599558140284643834">"Режим за заштеда на енергија"</item>
-    <item msgid="588427840913221601">"Состојба на процес"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Потврдете"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Преглед"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Изберете штедач на екран"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Прикажувај дополнителни информации"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Изберете што да се прикажува на екранот кога таблетот е приклучен на док. Уредот може да користи повеќе енергија кога се користи штедач на екранот."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Приспособете"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Приспособете го <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Потребно е рестартирање за да се овозможи поддршка со слободна форма."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Потребно е рестартирање за да се присили режимот на компјутер на секундарни екрани."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Потребно е рестартирање за да се овозможи поддршка за прозорци со менлива големина."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Потребно е рестартирање за да се ажурира достапноста на прозорци со менлива големина."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Потребно е рестартирање за да се овозможат прозорци со менлива големина на секундарни екрани."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Рестартирај сега"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Рестартирај подоцна"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Просторен звук"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Ружа"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Магента"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Виолетова"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Готово"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Зачувај"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Откажи"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Стандардно"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Средно"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Вклучено"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Исклучено"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Вклучено"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Аудио: %1$d%% одлево, %2$d%% оддесно"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Аудио: %1$d%% оддесно, %2$d%% одлево"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Името на уредот е видливо за апликациите што сте ги инсталирале. Може да го видат и други луѓе кога ќе се поврзете со уреди со Bluetooth, на Wi-Fi мрежа или кога ќе поставите точка на пристап за Wi-Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Граматички род"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Изберете граматички род"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Споделувањето аудио сопре"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Поврзете компатибилен уред"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"За да започнете да споделувате аудио, прво поврзете ги слушалките со LE Audio на вашиот телефон"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Префрли на <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Поврзете се со стрим на LE Audio"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Аудиостримови во близина"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Аудиостримови"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Слушнете го стримот"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Скенирајте го QR-кодот на аудиостримот за да слушате со <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Лозинката не може да се измени додека се споделува. За промена на лозинката, прво исклучете го споделувањето аудио."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Скенер на QR-кодови"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Ви треба помош?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Пребарувајте низ поставките"</string>
 </resources>
diff --git a/res/values-ml/arrays.xml b/res/values-ml/arrays.xml
index a9cfcb7..bd20789 100644
--- a/res/values-ml/arrays.xml
+++ b/res/values-ml/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"ബെഡ്‌ടൈം"</item>
-    <item msgid="4152450357280759894">"ഡ്രൈവിംഗ്"</item>
-    <item msgid="7096549258219399423">"ഇമേഴ്‌സീവ്"</item>
-    <item msgid="2760716776980432977">"മാനേജ് ചെയ്യുന്നത്"</item>
-    <item msgid="601734478369121764">"നക്ഷത്രം"</item>
-    <item msgid="6243809315432780521">"കലണ്ടർ"</item>
-    <item msgid="4913577903148415331">"സമയം"</item>
-    <item msgid="3653377604690057780">"തിയേറ്റർ"</item>
-    <item msgid="3843711267408385410">"പൂവ്"</item>
+    <item msgid="1216815120972438676">"ബ്രീഫ്കെയ്‌സ്"</item>
+    <item msgid="184985872234062767">"ക്ലാസിക്കൽ ബില്‍ഡിംഗ്"</item>
+    <item msgid="9189550412466785530">"അപ്പാർട്ട്മെന്റ് ബിൽഡിംഗ്"</item>
+    <item msgid="2142527562511049422">"സ്പീച്ച് ബബിൾ"</item>
+    <item msgid="2548100558260478605">"ആളുകളുടെ കൂട്ടം"</item>
+    <item msgid="2270003903304578284">"ലൈറ്റ്ബൾബ്"</item>
+    <item msgid="4793496619091161864">"കലണ്ടർ"</item>
+    <item msgid="5673625795644364100">"ശല്യപ്പെടുത്തരുത്"</item>
+    <item msgid="1423820834865831361">"ഓടുന്ന വ്യക്തി"</item>
+    <item msgid="2037298830718732608">"ഗോൾഫ്"</item>
+    <item msgid="2197835014443491074">"ജിം ഡംബെൽ"</item>
+    <item msgid="2730180105015616518">"നീന്തൽ"</item>
+    <item msgid="2666922823253345958">"ഹൈക്ക് ചെയ്യുന്ന വ്യക്തി"</item>
+    <item msgid="8234880356472211396">"പന്ത് എറിയുന്ന വ്യക്തി"</item>
+    <item msgid="4642980625253001443">"കിക്ക് ചെയ്യുന്ന വ്യക്തി"</item>
+    <item msgid="4324795269518833500">"ഗെയിം കൺട്രോളർ"</item>
+    <item msgid="7789966425125441125">"ആർട്ടിസ്റ്റിന്റെ വർണ്ണ പാലെറ്റ്"</item>
+    <item msgid="663512680597461570">"മഞ്ഞുകട്ട"</item>
+    <item msgid="7952183800501346803">"ബീച്ച് കുട"</item>
+    <item msgid="799139025758265891">"വർക്ക്‌ഷോപ്പ് ടൂളുകൾ"</item>
+    <item msgid="1330084588359129896">"ടെന്റ്"</item>
+    <item msgid="3861584909935022342">"ഫിലിം റീൽ"</item>
+    <item msgid="5827426100157335512">"പുസ്‌തകം"</item>
+    <item msgid="8585828346253128384">"താമരപ്പൂവ്"</item>
+    <item msgid="8788370542815300188">"മനസ്സ്"</item>
+    <item msgid="7287354964767553293">"ഹെഡ്‌ഫോണുകൾ"</item>
+    <item msgid="2530059623783800987">"ടിവി"</item>
+    <item msgid="5307182323469376758">"ട്രെയിൻ"</item>
+    <item msgid="4903790544026923026">"കാർ"</item>
+    <item msgid="5010405583912314582">"ഫോർക്കും കത്തിയും"</item>
+    <item msgid="8939998598599064900">"ഷോപ്പിംഗ് കാർട്ട്"</item>
+    <item msgid="3379605903308731893">"കുട്ടി"</item>
+    <item msgid="7808668968550293112">"മൃഗത്തിന്റെ കാൽപ്പാദം"</item>
+    <item msgid="1000692647524056504">"സ്റ്റാർ ബാഡ്‌ജ്"</item>
+    <item msgid="8270261073421676502">"രണ്ട് പേർ"</item>
+    <item msgid="5767782819651505460">"നക്ഷത്രം"</item>
+    <item msgid="4368451291862729334">"ഹൃദയം"</item>
+    <item msgid="2613199102208419986">"വീട്"</item>
+    <item msgid="3022279986430275040">"അർദ്ധ ചന്ദ്രൻ"</item>
+    <item msgid="5421089790869483206">"ക്ലോക്ക്"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 91dabd2..ae5a12a 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"താൽക്കാലികമായി നിർത്തി"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"അജ്ഞാതം"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"പ്രിവ്യൂ ചെയ്യുക"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR കോഡ്"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"ചെറുതാക്കുക"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"വലുതാക്കുക"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"എപ്പോഴും"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"ശ്രവണ സഹായിയുടെ ക്രമീകരണം"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"കുറുക്കുവഴി, ശ്രവണ സഹായ അനുയോജ്യത"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"പ്രീസെറ്റ്"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"ഓഡിയോളജിസ്റ്റ് പ്രോഗ്രാം ചെയ്ത പ്രീസെറ്റുകളൊന്നുമില്ല"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"പ്രീസെറ്റ് അപ്ഡേറ്റ് ചെയ്യാനായില്ല"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"ഓഡിയോ ഔട്ട്പുട്ട്"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ഓഡിയോ ഔട്ട്‌പുട്ടിനെ കുറിച്ച്"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"ക്രമീകരണത്തിൽ നിന്ന് ഈ ആപ്പിനുള്ള ഭാഷ തിരഞ്ഞെടുക്കാനുള്ള ഓപ്‌ഷൻ ലഭ്യമല്ല."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"ആപ്പിൽ ലഭ്യമായ ഭാഷകളിൽ നിന്ന് ഭാഷ വ്യത്യാസപ്പെട്ടേക്കാം. ചില ആപ്പുകൾ ഈ ക്രമീകരണത്തെ പിന്തുണച്ചേക്കില്ല."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"ഓരോ ആപ്പിനുമുള്ള ഭാഷ സജ്ജീകരിക്കുക."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"നിങ്ങളുടെ സിസ്റ്റം, ആപ്പുകൾ, വെബ്സൈറ്റുകൾ എന്നിവ നിങ്ങൾ മുൻഗണന നൽകിയിരിക്കുന്ന പിന്തുണയുള്ള ഭാഷകളിൽ ആദ്യത്തെ ഭാഷ ഉപയോഗിക്കുന്നു."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"നിങ്ങളുടെ ഉപകരണം, ആപ്പുകൾ, വെബ്സൈറ്റുകൾ എന്നിവ നിങ്ങൾ തിരഞ്ഞെടുത്ത ഭാഷാ ലിസ്റ്റിലെ പിന്തുണയുള്ള ഭാഷകളിൽ ആദ്യത്തെ ഭാഷ ഉപയോഗിക്കുന്നു.\n\nതീയതികൾ, നമ്പറുകൾ, യൂണിറ്റുകൾ എന്നിവ ഫോർമാറ്റ് ചെയ്യാൻ പല ആപ്പുകളും നിങ്ങൾ തിരഞ്ഞെടുത്ത ഭാഷയുടെ പ്രദേശം ഉപയോഗിക്കും. നിങ്ങളുടെ മേഖല മാറ്റാൻ, ഭാഷ ചേർക്കുക, തുടർന്ന് നിങ്ങൾ മുൻഗണന നൽകുന്ന മേഖല തിരഞ്ഞെടുക്കുക."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"ഓരോ ആപ്പിനുമുള്ള ഭാഷ തിരഞ്ഞെടുക്കാൻ, ആപ്പ് ഭാഷാ ക്രമീകരണത്തിലേക്ക് പോകുക."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"ആപ്പ് ഭാഷകളെ കുറിച്ച് കൂടുതലറിയൂ"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"സിസ്റ്റം ഭാഷ %s എന്നതിലേക്ക് മാറ്റണോ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"ഓഫാക്കുക"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{ഓണാണ് / # ആപ്പിന് ലൊക്കേഷനിലേക്ക് ആക്‌സസ് ഉണ്ട്}other{ഓണാണ് / # ആപ്പുകൾക്ക് ലൊക്കേഷനിലേക്ക് ആക്‌സസ് ഉണ്ട്}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"ലോഡ് ചെയ്യുന്നു…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"സമീപമുള്ള ഉപകരണങ്ങളുടെ അനുമതിയുള്ള ആപ്പുകൾക്ക്, കണക്‌റ്റ് ചെയ്‌തിരിക്കുന്ന ഉപകരണങ്ങളുടെ ആപേക്ഷിക സ്ഥാനം നിർണ്ണയിക്കാനാകും."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"സമീപമുള്ള ഉപകരണങ്ങളുടെ അനുമതിയുള്ള ആപ്പുകൾക്ക്, കണക്‌റ്റ് ചെയ്‌തിരിക്കുന്ന ഉപകരണങ്ങളുടെ ഏകദേശ സ്ഥാനം നിർണ്ണയിക്കാനാകും."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"ആപ്പുകൾക്കും സേവനങ്ങൾക്കും ലൊക്കേഷൻ ആക്‌സസ് ഓഫാണ്. നിങ്ങൾ അടിയന്തര നമ്പറിലേക്ക് കോൾ ചെയ്യുമ്പോഴോ ടെക്‌സ്‌റ്റ് ചെയ്യുമ്പോഴോ നിങ്ങളുടെ ഉപകരണ ലൊക്കേഷൻ, അടിയന്തര സാഹചര്യത്തിൽ പ്രതികരിക്കുന്നവർക്ക് തുടർന്നും അയച്ചേക്കാം."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"ലൊക്കേഷൻ ക്രമീകരണത്തെക്കുറിച്ച് കൂടുതലറിയുക"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"മാറ്റാൻ, ChromeOS ക്രമീകരണം &gt; സ്വകാര്യതയും സുരക്ഷയും &gt; സ്വകാര്യതാ നിയന്ത്രണങ്ങൾ &gt; ലൊക്കേഷൻ ആക്സസ് എന്നിങ്ങനെ പോകുക"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"മുഖവും <xliff:g id="WATCH">%s</xliff:g> എന്നതും ചേർത്തു"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"മുഖവും ഫിംഗർപ്രിന്റും <xliff:g id="WATCH">%s</xliff:g> എന്നതും ചേർത്തു"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"മുഖവും ഫിംഗർപ്രിന്റുകളും <xliff:g id="WATCH">%s</xliff:g> എന്നതും ചേർത്തു"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"ഐഡന്റിറ്റി പരിശോധന ഓണാണ്, ബയോമെട്രിക് ആവശ്യമാണ്"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"വിദൂര Authenticator അൺലോക്ക്"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"വാച്ച് ചേർത്തു"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"നിങ്ങളുടെ വാച്ച് സജ്ജീകരിക്കൂ"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"വാച്ച് അൺലോക്കിനെ കുറിച്ച് കൂടുതലറിയുക"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"വാച്ച് ചേർക്കുക"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"വാച്ച് നീക്കം ചെയ്യുക"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ഫിംഗർപ്രിന്റ് &amp; ഫേസ് അൺലോക്ക്"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ഫെയ്‌സ്, ഫിംഗർപ്രിന്റ് അൺലോക്ക്"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"ഔദ്യോഗികാവശ്യത്തിനുള്ള ഫെയ്‌സ്, ഫിംഗർപ്രിന്റ് അൺലോക്ക്"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"സജ്ജീകരിക്കേണ്ടതുണ്ട്"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"മുഖവും ഫിംഗർപ്രിന്റുകളും ചേർത്തു"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"സ്വകാര്യ സ്പേസ് സജ്ജീകരിക്കുന്നു…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"സ്വകാര്യ സ്‌പേസ് സജ്ജീകരിക്കാനായില്ല"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"വീണ്ടും ശ്രമിക്കുക"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"പുറത്തുകടക്കുക"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"സ്വകാര്യ സ്പേസ് ലഭ്യമല്ല.\nസാധ്യതയുള്ള കാരണങ്ങൾ കാണുക"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"സാധ്യതയുള്ള കാരണങ്ങൾ കാണുക"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"സ്വകാര്യ സ്‌പേസിന് പുതിയ ലോക്ക് തിരഞ്ഞെടുക്കണോ?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"സ്വകാര്യ സ്പേസിന് മാത്രമായി നിങ്ങൾക്ക് പുതിയൊരു ലോക്ക് സജ്ജീകരിക്കാം അല്ലെങ്കിൽ നിങ്ങളുടെ ഉപകരണം അൺലോക്ക് ചെയ്യാനുപയോഗിക്കുന്ന അതേ ലോക്ക് തന്നെ ഉപയോഗിക്കാം"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"സ്ക്രീൻ ലോക്ക് ഉപയോഗിക്കുക"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Bluetooth ഓണാക്കിയിരിക്കുമ്പോൾ, സമീപമുള്ള മറ്റ് Bluetooth ഉപകരണങ്ങളുമായി ആശയവിനിമയം നടത്താൻ നിങ്ങളുടെ ഉപകരണത്തിന് കഴിയും.\n\nഉപകരണ അനുഭവം മെച്ചപ്പെടുത്താൻ, Bluetooth ഓഫാക്കിയിരിക്കുമ്പോൾ പോലും സമീപമുള്ള ഉപകരണങ്ങൾ കണ്ടെത്താൻ ആപ്പുകൾക്കും സേവനങ്ങൾക്കും ഏത് സമയത്തും സ്‌കാൻ ചെയ്യാനാകും. ഉദാഹരണത്തിന്, ലൊക്കേഷൻ അധിഷ്‌ഠിത ഫീച്ചറുകളും സേവനങ്ങളും മെച്ചപ്പെടുത്താൻ ഇത് ഉപയോഗിക്കാം. Bluetooth സ്കാനിംഗ് ക്രമീകരണത്തിൽ നിങ്ങൾക്ക് ഇത് മാറ്റാനാകും."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Bluetooth ഓണാണെങ്കിൽ, സമീപമുള്ള മറ്റ് Bluetooth ഉപകരണങ്ങളുമായി നിങ്ങളുടെ ഉപകരണത്തിന് ആശയവിനിമയം നടത്താം. ക്വിക്ക് ഷെയർ, Find My Device പോലുള്ള ഫീച്ചറുകൾ Bluetooth ഉപയോഗിക്കുന്നു.\n\n Bluetooth ഓഫാണെങ്കിൽ പോലും ആപ്പുകൾക്കും സേവനങ്ങൾക്കും എപ്പോൾ വേണമെങ്കിലും സമീപമുള്ള ഉപകരണങ്ങൾക്കായി തുടർന്നും സ്കാൻ ചെയ്യാം. ഉദാഹരണത്തിന്, ലൊക്കേഷൻ അടിസ്ഥാനമാക്കിയുള്ള ഫീച്ചറുകളും സേവനങ്ങളും മെച്ചപ്പെടുത്താൻ ഇത് ഉപയോഗിക്കാം. Bluetooth സ്‌കാനിംഗ് ക്രമീകരണത്തിൽ നിങ്ങൾക്ക് ഇത് മാറ്റാവുന്നതാണ്."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"മാറ്റുക"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> കണക്റ്റ് ചെയ്തിട്ടില്ല"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"നിങ്ങളുടെ സുരക്ഷയ്‌ക്ക് ഈ ഉപകരണം മറക്കുക, തുടർന്ന് അത് വീണ്ടും ജോടിയാക്കുക"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"ഉപകരണം മറക്കുക"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"റദ്ദാക്കുക"</string>
     <string name="device_details_title" msgid="1155622417516195481">"ഉപകരണ വിശദാംശങ്ങൾ"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"കീബോർഡ് ക്രമീകരണം"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"കൂടുതൽ ക്രമീകരണം"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"ഫേംവെയർ അപ്‌ഡേറ്റുകൾ, ആമുഖം എന്നിവയും മറ്റും"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"നുറുങ്ങുകളും പിന്തുണയും"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"ഉപകരണത്തിന്റെ Bluetooth വിലാസം: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"ഉപകരണത്തിന്റെ Bluetooth വിലാസം:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"ഉപകരണം മറക്കണോ?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"പരീക്ഷണം. ഓഡിയോ മെച്ചപ്പെടുത്തുന്നു."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"ഉപകരണം മറക്കുക"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"ആപ്പ് വിച്‌ഛേദിക്കുക"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"കൂടുതൽ ക്രമീകരണം"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"കണക്റ്റ് ചെയ്‌ത പരമാവധി Bluetooth ഓഡിയോ ഉപകരണങ്ങൾ"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"കണക്റ്റ് ചെയ്‌ത പരമാവധി Bluetooth ഓഡിയോ ഉപകരണങ്ങളുടെ എണ്ണം തിരഞ്ഞെടുക്കുക"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC വെർബോസ് വെണ്ടർ ഡീബഗ് ലോഗ്"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"ഉപകരണം റീസ്റ്റാർട്ട് ചെയ്യണോ?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"ഡെവലപ്പ്മെന്റ് ആവശ്യങ്ങൾക്ക് മാത്രം ഉദ്ദേശിച്ചുള്ളതാണ് വിശദമായ NFC ലോഗ് ചെയ്യൽ. ബഗ് റിപ്പോർട്ടുകളിൽ അധിക NFC ഡാറ്റ ഉൾപ്പെടുത്തിയിരിക്കുന്നു, അവയിൽ സ്വകാര്യ വിവരങ്ങൾ അടങ്ങിയിരിക്കാം. ഈ ക്രമീകരണം മാറ്റാൻ നിങ്ങളുടെ ഉപകരണം റീസ്റ്റാർട്ട് ചെയ്യുക."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"റീസ്റ്റാർട്ട് ചെയ്യൂ"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"ഓണാണ്"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"ഓഫാണ്"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"ബാഹ്യ ഡിസ്പ്ലേ"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"ബാഹ്യ ഡിസ്പ്ലേ ഉപയോഗിക്കുക"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"ഡിസ്‌പ്ലേ റെസല്യൂഷൻ"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"ബാഹ്യ ഡിസ്പ്ലേ വിച്ഛേദിച്ചിരിക്കുന്നു"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"റൊട്ടേഷൻ"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"സ്‌റ്റാൻഡേർഡ്"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"റൊട്ടേഷൻ അല്ലെങ്കിൽ റെസല്യൂഷൻ മാറ്റുന്നത് നിലവിൽ റൺ ചെയ്യുന്ന ഏത് ആപ്പിന്റെയും പ്രവർത്തനം അവസാനിപ്പിക്കും"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"സ്‌ക്രീൻ മിറർ ചെയ്യാൻ നിങ്ങളുടെ ഉപകരണം ഒരു ബാഹ്യ ഡിസ്‌പ്ലേയിലേക്ക് കണക്റ്റ് ചെയ്യേണ്ടതുണ്ട്"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"കൂടുതൽ ഓപ്ഷനുകൾ"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"കാസ്‌റ്റ് ചെയ്യുക"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"മിറർ"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"വയർലസ്‌ഡിസ്പ്ലേ സജീവമാക്കൂ"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"അനുയോജ്യമായത്"</string>
     <string name="brightness" msgid="6216871641021779698">"തെളിച്ചനില"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"അനുയോജ്യമായ തെളിച്ചം"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"അനുയോജ്യമായ തെളിച്ചത്തെ കുറിച്ച്"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"നിങ്ങളുടെ ചുറ്റുപാട്, പ്രവർത്തനം എന്നിവ അനുസരിച്ച് സ്‌ക്രീൻ തെളിച്ചം സ്വയമേവ ക്രമീകരിക്കും. നിങ്ങളുടെ താൽപര്യം മനസ്സിലാക്കാൻ അനുയോജ്യമായ തെളിച്ചത്തിനെ സഹായിക്കുന്നതിന് സ്ലൈഡർ നേരിട്ട് നീക്കാം."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"ഓണാണ്"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"ഓഫ്"</string>
@@ -1311,8 +1340,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="8850185380445309835">"തിരഞ്ഞെടുത്ത സിം അപ്ഡേറ്റുചെയ്യണോ?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"നിങ്ങളുടെ ഉപകരണത്തിൽ ഉള്ള ഒരേയൊരു സിം <xliff:g id="NEW_SIM">%1$s</xliff:g> ആണ്. മൊബൈൽ ഡാറ്റ, കോളുകൾ, SMS സന്ദേശങ്ങൾ എന്നിവയ്ക്ക് ഈ സിം ഉപയോഗിക്കാൻ ആഗ്രഹിക്കുന്നുണ്ടോ?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> ആണ് ഇപ്പോൾ നിങ്ങളുടെ പ്രാഥമിക സിം"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"മൊബൈൽ ഡാറ്റ മെച്ചപ്പെടുത്തണോ?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"<xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> SIM-ൽ മെച്ചപ്പെട്ട നെറ്റ്‍വര്‍ക്ക് ഉള്ളപ്പോൾ മൊബൈൽ ഡാറ്റയ്ക്കായി അതിലേക്ക് സ്വയമേവ മാറാൻ നിങ്ങളുടെ ഉപകരണത്തെ അനുവദിക്കുക."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"കോളുകളും സന്ദേശങ്ങളും നെറ്റ്‍വര്‍ക്ക് ട്രാഫിക്കും നിങ്ങളുടെ സ്ഥാപനത്തിന് ദൃശ്യമായേക്കാം."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"ഓപ്‌ഷനുകൾ"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"ഉപയോഗസഹായി"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"ഫിസിക്കൽ കീബോർഡ്"</string>
-    <string name="show_ime" msgid="4334255501724746849">"ഓൺ-സ്‌ക്രീൻ കീബോർഡ് ഉപയോഗിക്കുക"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"ഫിസിക്കൽ കീബോർഡ് സജീവമായിരിക്കുമ്പോൾ സ്ക്രീനിൽ നിലനിർത്തുക"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"ബൗൺസ് കീകൾ"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> മില്ലിസെക്കൻഡിനുള്ളിൽ ഒരേ കീ അതിവേഗം ആവർത്തിച്ച് അമർത്തുന്നത് കീബോർഡ് അവഗണിക്കും"</string>
     <string name="slow_keys" msgid="2891452895499690837">"സ്ലോ കീകൾ"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"കീ പ്രസ്സ് പ്രവർത്തിക്കാൻ എടുക്കുന്ന സമയം <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> മില്ലിസെക്കൻഡ് ആയി ക്രമീകരിക്കും"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"സ്‌റ്റിക്കി കീകൾ"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"കുറുക്കുവഴികൾക്കായി, കീകൾ ഒരുമിച്ച് അമർത്തിപ്പിടിക്കുന്നതിന് പകരം ഒരു സമയം ഒരു കീ അമർത്തുക"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"മൗസ് കീകൾ"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"മൗസ് നിയന്ത്രിക്കാൻ, ഫിസിക്കൽ കീബോർഡ് ഉപയോഗിക്കുക."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"കീബോഡ് കുറുക്കുവഴികൾ"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"കുറുക്കുവഴികളുടെ ലിസ്റ്റ് കാണിക്കുക"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"ഔദ്യോഗിക പ്രൊഫൈൽ കീബോർഡുകളും ടൂളുകളും"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"വ്യക്തിഗത ടച്ച്പാഡ് നാവിഗേഷൻ ജെസ്ച്ചറുകൾ ഇഷ്ടാനുസൃതമാക്കുക"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"വിപരീതക്രമത്തിൽ സ്‌ക്രോൾ ചെയ്യൽ"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"താഴേക്ക് സ്‌ക്രോൾ ചെയ്യുമ്പോൾ ഉള്ളടക്കം മുകളിലേക്ക് നീങ്ങും"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"താഴെ വലതുഭാഗം ടാപ്പ് ചെയ്യൂ"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"കൂടുതൽ ഓപ്‌ഷനുകൾക്ക് ടച്ച്പാഡിന് താഴെ വലതുമൂല ടാപ്പ് ചെയ്യൂ"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"താഴെ വലതുവശത്ത് ക്ലിക്ക് ചെയ്യൽ"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"കൂടുതൽ ഓപ്ഷനുകൾക്ക് ടച്ച്പാഡിന് താഴെ വലതുമൂല ക്ലിക്ക് ചെയ്യൂ"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"പോയിന്റർ വേഗത"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"പോയിന്റർ ഫിൽ സ്റ്റൈൽ"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"പോയിന്റർ ഫിൽ സ്റ്റൈൽ കറുപ്പാക്കൂ"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"പോയിന്റർ ഫിൽ സ്റ്റൈൽ മഞ്ഞയാക്കൂ"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"പോയിന്റർ ഫിൽ സ്റ്റൈൽ പിങ്ക് ആക്കൂ"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"പോയിന്റർ ഫിൽ സ്റ്റൈൽ നീലയാക്കൂ"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"പോയിന്റർ സ്‌ട്രോക്ക് സ്‌റ്റൈൽ"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"വെള്ള"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"കറുപ്പ്"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"ഒന്നുമില്ല"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"ടച്ച്പാഡ് ജെസ്ച്ചറുകൾ മനസ്സിലാക്കുക"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"ട്രാക്ക്പാഡ്, ട്രാക്ക് പാഡ്, മൗസ്, കഴ്‌സർ, സ്ക്രോൾ, സ്വൈപ്പ്, വലത് ക്ലിക്ക്, ക്ലിക്ക്, പോയിന്റർ"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"വലത് ക്ലിക്ക്, ടാപ്പ്"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"റീസെറ്റ് ചെയ്യൂ"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"മോഡിഫയർ കീ തിരഞ്ഞെടുക്കുക"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> എന്നതിനായി പുതിയ കീ തിരഞ്ഞെടുക്കൂ:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"ഫിസിക്കൽ കീബോർഡ് ഉപയോഗസഹായി"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"സ്റ്റിക്കി കീകൾ, ബൗൺസ് കീകൾ, മൗസ് കീകൾ"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> ലേഔട്ട്"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ഡിഫോൾട്ട്"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"സ്വയമേവ: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"തിരഞ്ഞെടുത്ത ഉപയോക്താവ്: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"സംഭാഷണം"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"പോയിന്റർ വേഗത"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"പോയിന്റർ സ്‌കെയിൽ"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"പോയിന്റർ സ്‌കെയിൽ കുറയ്ക്കുക"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"പോയിന്റർ സ്‌കെയിൽ വർദ്ധിപ്പിക്കുക"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"ഗെയിം കൺട്രോളർ"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"വൈബ്രേഷൻ റീഡയറക്റ്റ് ചെയ്യുക"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"കണക്‌റ്റ് ചെയ്‌തിരിക്കുമ്പോൾ, ഗെയിം കൺട്രോളറിലേക്ക് വൈബ്രേഷൻ അയയ്‌ക്കുക"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"എന്തായാലും തുടരുക"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"റദ്ദാക്കുക"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"മാഗ്നിഫിക്കേഷൻ ക്രമീകരണം"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"ഒരു വിരൽ കൊണ്ടുള്ള പാനിംഗ്"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"ഒരു വിരൽ ഉപയോഗിച്ച് മാഗ്നിഫയർ നീക്കുക"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"സ്ക്രീനിലുടനീളം നീങ്ങാൻ ഒരു വിരൽ ഉപയോഗിച്ച് വലിച്ചിടുക"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"ഒരു വിരൽ കൊണ്ട് വലിച്ച് മാഗ്നിഫിക്കേഷൻ ഏരിയ നീക്കുക."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"രണ്ട് വിരലുകൾ കൊണ്ട് വലിച്ച് മാഗ്നിഫിക്കേഷൻ ഏരിയ നീക്കുക."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"സ്ക്രീനിന്റെ ഒരു ഭാഗം മാത്രം വലുതാക്കിയിരിക്കുമ്പോൾ ലഭ്യമല്ല"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"സൂം ചെയ്യുന്നതിന് ബട്ടണിൽ ടാപ്പ് ചെയ്യുക"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"ഉള്ളടക്കം വലുതാക്കാൻ സ്ക്രീനിൽ വേഗത്തിൽ സൂം ഇൻ ചെയ്യുക"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;സൂം ഇൻ ചെയ്യാൻ:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. മാഗ്നിഫിക്കേഷൻ ആരംഭിക്കാൻ കുറുക്കുവഴി ഉപയോഗിക്കുക&lt;br/&gt; {1,number,integer}. സ്ക്രീനിൽ ടാപ്പ് ചെയ്യുക&lt;br/&gt; {2,number,integer}. സ്ക്രീനിലുടനീളം നീക്കാൻ 2 വിരലുകൾ ഉപയോഗിച്ച് വലിച്ചിടുക&lt;br/&gt; {3,number,integer}. സൂം ക്രമീകരിക്കാൻ 2 വിരലുകൾ ഉപയോഗിച്ച് പിഞ്ച് ചെയ്യുക&lt;br/&gt; {4,number,integer}. മാഗ്നിഫിക്കേഷൻ നിർത്താൻ കുറുക്കുവഴി ഉപയോഗിക്കുക&lt;br/&gt;&lt;br/&gt; &lt;b&gt;താൽക്കാലികമായി സൂം ഇൻ ചെയ്യാൻ:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. നിങ്ങളുടെ മാഗ്‌നിഫിക്കേഷൻ തരം പൂർണ്ണ സ്‌ക്രീനിലേക്ക് സജ്ജീകരിച്ചിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക&lt;br/&gt; {1,number,integer}. മാഗ്നിഫിക്കേഷൻ ആരംഭിക്കാൻ കുറുക്കുവഴി ഉപയോഗിക്കുക&lt;br/&gt; {2,number,integer}. സ്ക്രീനിൽ എവിടെയെങ്കിലും സ്‌പർശിച്ച് പിടിക്കുക&lt;br/&gt; {3,number,integer}. സ്ക്രീനിലുടനീളം നീക്കാൻ വിരൽ ഉപയോഗിച്ച് വലിച്ചിടുക&lt;br/&gt; {4,number,integer}. മാഗ്നിഫിക്കേഷൻ നിർത്താൻ വിരൽ സ്ക്രീനിൽ നിന്ന് എടുക്കുക"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;സൂം ഇൻ ചെയ്യാൻ:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. മാഗ്നിഫിക്കേഷൻ ആരംഭിക്കാൻ കുറുക്കുവഴി ഉപയോഗിക്കുക&lt;br/&gt; {1,number,integer}. സ്ക്രീനിൽ ടാപ്പ് ചെയ്യുക&lt;br/&gt; {2,number,integer}. സ്ക്രീനിലുടനീളം നീക്കാൻ 2 വിരലുകൾ ഉപയോഗിച്ച് വലിച്ചിടുക&lt;br/&gt; {3,number,integer}. സൂം ക്രമീകരിക്കാൻ 2 വിരലുകൾ ഉപയോഗിച്ച് പിഞ്ച് ചെയ്യുക&lt;br/&gt; {4,number,integer}. മാഗ്നിഫിക്കേഷൻ നിർത്താൻ കുറുക്കുവഴി ഉപയോഗിക്കുക&lt;br/&gt;&lt;br/&gt; നിങ്ങൾക്ക് താൽകാലികമായും മറ്റും സൂം ഇൻ ചെയ്യാനും കഴിയും."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;സൂം ഇൻ ചെയ്യാൻ:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. മാഗ്നിഫിക്കേഷൻ ആരംഭിക്കാൻ കുറുക്കുവഴി ഉപയോഗിക്കുക&lt;br/&gt; {1,number,integer}. സ്ക്രീനിൽ ടാപ്പ് ചെയ്യുക&lt;br/&gt; {2,number,integer}. സ്ക്രീനിലുടനീളം നീക്കാൻ 1 അല്ലെങ്കിൽ 2 വിരലുകൾ ഉപയോഗിച്ച് വലിച്ചിടുക&lt;br/&gt; {3,number,integer}. സൂം ക്രമീകരിക്കാൻ 2 വിരലുകൾ ഉപയോഗിച്ച് പിഞ്ച് ചെയ്യുക&lt;br/&gt; {4,number,integer}. മാഗ്നിഫിക്കേഷൻ നിർത്താൻ കുറുക്കുവഴി ഉപയോഗിക്കുക&lt;br/&gt;&lt;br/&gt; നിങ്ങൾക്ക് താൽകാലികമായും മറ്റും സൂം ഇൻ ചെയ്യാനും കഴിയും."</string>
     <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"മാഗ്നിഫിക്കേഷൻ ഓണാക്കിയിരിക്കുമ്പോൾ, നിങ്ങളുടെ സ്‌ക്രീനിൽ സൂം ഇൻ ചെയ്യാവുന്നതാണ്.\n\n"<b>"സൂം ചെയ്യാൻ"</b>", മാഗ്നിഫിക്കേഷൻ ആരംഭിച്ച ശേഷം നിങ്ങളുടെ സ്‌ക്രീനിൽ എവിടെയെങ്കിലും ടാപ്പ് ചെയ്യുക.\n"<ul><li>"സ്‌ക്രോൾ ചെയ്യാൻ രണ്ടോ അതിലധികമോ വിരലുകൾ ഇഴയ്‌ക്കുക"</li>\n<li>"സൂം ക്രമീകരിക്കാൻ രണ്ടോ അതിലധികമോ വിരലുകൾ പിഞ്ച് ചെയ്യുക"</li></ul>\n\n<b>"താൽക്കാലികമായി സൂം ചെയ്യാൻ"</b>", മാഗ്നിഫിക്കേഷൻ ആരംഭിച്ച ശേഷം സ്‌ക്രീനിൽ എവിടെയെങ്കിലും സ്‌പർശിച്ചുപിടിക്കുക.\n"<ul><li>"സ്‌ക്രീനിന് ചുറ്റും നീക്കാൻ വലിച്ചിടുക"</li>\n<li>"സൂം ഔട്ട് ചെയ്യാൻ വിരൽ എടുക്കുക"</li></ul>\n\n"കീബോർഡിലും നാവിഗേഷൻ ബാറിലും നിങ്ങൾക്ക് സൂം ഇൻ ചെയ്യാനാവില്ല."</string>
     <string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g> പേജുകളിൽ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>-ാമത്തെ പേജ്"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"ഉപയോഗസഹായി ബട്ടണിന്റെ കുറുക്കുവഴി"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"ഫ്ലോട്ടിംഗ് ബട്ടൺ ടാപ്പ് ചെയ്യുക"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"ഉപയോഗസഹായി ജെസ്ച്ചർ"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"നിങ്ങളുടെ സ്ക്രീനിന്റെ ചുവടെയുള്ള ഉപയോഗസഹായി ബട്ടൺ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ടാപ്പ് ചെയ്യുക. ഫീച്ചറുകൾക്കിടയിൽ മാറാൻ, ഉപയോഗസഹായി ബട്ടൺ സ്‌പർശിച്ച് പിടിക്കുക."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"നിങ്ങളുടെ സ്‌ക്രീനിന്റെ താഴെ നിന്ന് രണ്ട് വിരലുകൾ കൊണ്ട് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക.\n\nഫീച്ചറുകൾക്കിടയിൽ മാറാൻ രണ്ട് വിരലുകൾ കൊണ്ട് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്‌ത് പിടിക്കുക."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"നിങ്ങളുടെ സ്‌ക്രീനിന്റെ ചുവട്ടിൽ നിന്ന് മൂന്ന് വിരലുകൾ കൊണ്ട് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക.\n\nഫീച്ചറുകൾക്കിടയിൽ മാറാൻ മൂന്ന് വിരലുകൾ കൊണ്ട് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്‌ത് പിടിക്കുക."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{സ്ക്രീനിന്റെ താഴെ നിന്ന് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക. ഫീച്ചറുകൾക്കിടയിൽ മാറാൻ, മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്ത് പിടിക്കുക.}other{നിങ്ങളുടെ സ്ക്രീനിന്റെ താഴെ നിന്ന് മുകളിലേക്ക് # വിരലുകൾ ഉപയോഗിച്ച് സ്വൈപ്പ് ചെയ്യുക. ഫീച്ചറുകൾക്കിടയിൽ മാറാൻ, # വിരലുകൾ ഉപയോഗിച്ച് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്‌ത് പിടിക്കുക.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"കൂടുതൽ ഓപ്ഷനുകൾ"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"<xliff:g id="SERVICE">%1$s</xliff:g> എന്നതിനെക്കുറിച്ച് കൂടുതലറിയുക"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"വോളിയം കീകൾ"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"വോളിയം കീകൾ"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"രണ്ട് വോളിയം കീകളും അമർത്തിപ്പിടിക്കുക"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"രണ്ട് വിരലുകൾ ഉപയോഗിച്ച് സ്‌ക്രീനിൽ ഡബിൾ ടാപ്പ് ചെയ്യുക"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d-വിരൽ ഉപയോഗിച്ചുള്ള ഡബിൾ ടാപ്പ്"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"%1$d വിരലുകൾ ഉപയോഗിച്ച് സ്ക്രീൻ രണ്ട് തവണ അതിവേഗം ടാപ്പ് ചെയ്യുക"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"ട്രിപ്പിൾ ടാപ്പ്"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"%1$d തവണ അതിവേഗം സ്ക്രീൻ ടാപ്പ് ചെയ്യുക. ഇത് നിങ്ങളുടെ ഉപകരണത്തിന്റെ വേഗത കുറച്ചേക്കാം."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d-വിരൽ ഉപയോഗിച്ചുള്ള ഡബിൾ ടാപ്പ്"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"രണ്ട് വിരലുകൾ ഉപയോഗിച്ച് സ്ക്രീനിൽ {0,number,integer} തവണ വേഗത്തിൽ ടാപ്പ് ചെയ്യുക"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"സ്ക്രീൻ മൂന്ന് തവണ ടാപ്പ് ചെയ്യുക"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"ട്രിപ്പിൾ ടാപ്പ്"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"സ്ക്രീനിൽ {0,number,integer} തവണ വേഗത്തിൽ ടാപ്പ് ചെയ്യുക. ഈ കുറുക്കുവഴി നിങ്ങളുടെ ഉപകരണത്തിന്റെ വേഗത കുറച്ചേക്കാം"</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_global_gesture_preference_title" msgid="8866765674372344850">"വോളിയം കീകളുടെ കുറുക്കുവഴി"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"കുറുക്കുവഴി ക്രമീകരണം"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"ലോക്ക് സ്‌ക്രീനിൽ നിന്നുള്ള കുറുക്കുവഴി"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"ലോക്ക് സ്ക്രീനിൽ നിന്നുള്ള വോളിയം കീ കുറുക്കുവഴി"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"ലോക്ക് സ്‌ക്രീനിൽ നിന്ന് ഓണാക്കാൻ \'ഫീച്ചർ കുറുക്കുവഴി\'യെ അനുവദിക്കുക. രണ്ട് വോളിയം കീകളും അൽപ്പ നേരത്തേക്ക് അമർത്തിപിടിക്കുക."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"ഉപയോഗസഹായി ബട്ടൺ"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"ഉപയോഗസഹായി ബട്ടണും ജെസ്ച്ചറും"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"ഈ സേവനം ശരിയായി പ്രവർത്തിക്കുന്നില്ല."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"ഉപയോഗസഹായി കുറുക്കുവഴികൾ"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"ദ്രുത്ര ക്രമീകരണങ്ങളിൽ ദൃശ്യമാക്കുക"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"ചുവപ്പ്-പച്ച"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"ചുവപ്പ്-പച്ച"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"ചുവപ്പ്-പച്ച, പച്ച കാണാനാകില്ല"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"ചുവപ്പ്-പച്ച, ചുവപ്പ് കാണാനാകില്ല"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"നീല-മഞ്ഞ"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"ഗ്രേസ്‌കെയിൽ"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"തീവ്രത"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"പച്ച നിറം കാണാനാകില്ല, വർണ്ണാന്ധത"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"ചുവപ്പ് നിറം കാണാനാകില്ല, വർണ്ണാന്ധത"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"ഗ്രേസ്‌കെയിൽ മോഡിലോ \'നിറം ശരിയാക്കൽ\' പ്രവർത്തനരഹിതമായിരിക്കുമ്പോഴോ ലഭ്യമല്ല"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"കൂടുതൽ ഡിം ചെയ്യൽ"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"സ്‌ക്രീൻ കൂടുതൽ ഡിം ചെയ്യിക്കുക"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"സിയാൻ"</string>
     <string name="color_yellow" msgid="5957551912912679058">"മഞ്ഞ"</string>
     <string name="color_magenta" msgid="8943538189219528423">"മജന്ത"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"<xliff:g id="SERVICE">%1$s</xliff:g> എന്നതിന് നിങ്ങളുടെ ഉപകരണത്തിൻ്റെ പൂർണ്ണ നിയന്ത്രണം അനുവദിക്കണോ?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> എന്നതിന് ഇവ ആവശ്യമാണ്:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"അനുമതി അഭ്യർത്ഥനയെ ഒരു അപ്ലിക്കേഷൻ മറയ്‌ക്കുന്നതിനാൽ, ക്രമീകരണത്തിന് നിങ്ങളുടെ പ്രതികരണം പരിശോധിച്ചുറപ്പിക്കാനാകില്ല."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g>, ഈ ഉപകരണത്തിന്റെ പൂർണ്ണ നിയന്ത്രണം അഭ്യർത്ഥിക്കുന്നു. ഉപയോഗസഹായം ആവശ്യമുള്ള ഉപയോക്താക്കൾക്ക് വേണ്ടി, സ്ക്രീനിലുള്ളത് വായിക്കാനും അവർക്ക് വേണ്ടി പ്രവർത്തിക്കാനും സേവനത്തിന് കഴിയും. മിക്ക ആപ്പുകളിലും ഈ തലത്തിലുള്ള നിയന്ത്രണം ഉചിതമല്ല."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"ഉപയോഗസഹായി ആവശ്യങ്ങൾക്കായി നിങ്ങളെ സഹായിക്കുന്ന ആപ്പുകൾക്ക് പൂർണ്ണ നിയന്ത്രണം അനുയോജ്യമാണെങ്കിലും മിക്ക ആപ്പുകൾക്കും അതിന്റെ ആവശ്യമില്ല."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"സ്‌ക്രീൻ കാണുക, നിയന്ത്രിക്കുക"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"ഇതിന് സ്‌ക്രീനിലെ എല്ലാ ഉള്ളടക്കവും വായിക്കാനും മറ്റ് ആപ്പുകൾക്ക് മുകളിൽ ഉള്ളടക്കം പ്രദർശിപ്പിക്കാനുമാകും."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"കാണുക, പ്രവർത്തനങ്ങൾ നിർവഹിക്കുക"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"ഇതിന് ഒരു ആപ്പുമായോ ഹാർഡ്‌വെയർ സെൻസറുമായോ ഉള്ള നിങ്ങളുടെ ആശയവിനിമയങ്ങൾ ട്രാക്ക് ചെയ്യാനും നിങ്ങളുടെ പേരിൽ ആശയവിനിമയം നടത്താനും കഴിയും."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"അനുവദിക്കൂ"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"നിരസിക്കുക"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"ഓഫാക്കുക"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"ഓണാണ് / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g>, <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"നിങ്ങൾക്ക് Bluetooth ഉപകരണങ്ങൾക്കുള്ള സ്പേഷ്യൽ ഓഡിയോയും ഓണാക്കാം."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"കണക്റ്റ് ചെയ്തിരിക്കുന്ന ഉപകരണങ്ങൾക്കുള്ള ക്രമീകരണം"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"സ്പേഷ്യൽ ഓഡിയോ"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"ഓഫാണ്"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"ഓഫാണ്"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"ഓഫാണ്"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{ഒന്നുമില്ല}=1{ഒരു ഷെഡ്യൂൾ സജ്ജീകരിച്ചു}other{# ഷെഡ്യൂളുകൾ സജ്ജീകരിച്ചു}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"ശല്യപ്പെടുത്തരുത്"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"മുൻഗണനാ മോഡുകൾ"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"ഒരു മോഡ് ചേർക്കുക"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"മോഡുകൾ"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"ശ്രദ്ധ തിരിക്കുന്ന ഘടകങ്ങൾ കുറയ്‌ക്കുകയും ഉറക്കം, ജോലി, ഡ്രൈവിംഗ് എന്നിവയ്ക്കും ഇവയ്ക്കിടയിലുള്ള മറ്റെല്ലാത്തിനും മോഡുകൾ സജ്ജീകരിച്ചുകൊണ്ട് ശ്രദ്ധ കേന്ദ്രീകരിക്കാൻ സഹായിക്കുകയും ചെയ്യുന്നു."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"നിങ്ങളുടെ സ്വന്തം മോഡ് സൃഷ്‌ടിക്കൂ"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"പ്രധാനപ്പെട്ട ആളുകളിൽ നിന്നും ആപ്പുകളിൽ നിന്നുമുള്ള അറിയിപ്പ് മാത്രം നേടുക"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"ഷെഡ്യൂൾ സജ്ജീകരിക്കുക"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"ഇതിന്റെ അടിസ്ഥാനത്തിൽ ഷെഡ്യൂൾ ചെയ്യൂ"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"ദിവസവും സമയവും"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"പ്രവൃത്തിദിവസങ്ങളിൽ 9 AM - 5 PM\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"കലണ്ടർ ഇവന്റുകൾ"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} സജീവമാണ്}=2{{mode_1}, {mode_2} എന്നിവ സജീവമാണ്}=3{{mode_1}, {mode_2}, {mode_3} എന്നിവ സജീവമാണ്}other{{mode_1}, {mode_2} എന്നിവയും മറ്റ് # എണ്ണവും സജീവമാണ്}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{ഒരു മോഡിന് സ്വയമേവ ഓണാകാനാകും}other{# മോഡുകൾക്ക് സ്വയമേവ ഓണാകാനാകും}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ഓണാണ്"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"സജ്ജീകരിച്ചിട്ടില്ല"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"പ്രവർത്തനരഹിതമാക്കി"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"മോഡ് സൃഷ്ടിക്കുക"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"ഇഷ്‌ടാനുസൃതം"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"ഇപ്പോൾ ഓണാക്കുക"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"ഓഫാക്കുക"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"മോഡ് കണ്ടെത്തിയില്ല"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"തടസ്സങ്ങൾ പരിമിതപ്പെടുത്തുക"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"തടസ്സങ്ങളും ശ്രദ്ധ തിരിക്കുന്ന കാര്യങ്ങളും ബ്ലോക്ക് ചെയ്യുക"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g> സജ്ജീകരിക്കുക"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\'ശല്യപ്പെടുത്തരുത്\' ഓണാക്കുക"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"അലാറങ്ങൾക്കും മീഡിയ ശബ്‌ദങ്ങൾക്കും തടസ്സപ്പെടുത്താൻ കഴിയും"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"ഷെഡ്യൂളുകൾ"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"ഷെഡ്യൂളുകൾ ഇല്ലാതാക്കുക"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"ഇല്ലാതാക്കുക"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"പേരുമാറ്റുക"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"ഇല്ലാതാക്കുക"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"\"<xliff:g id="MODE">%1$s</xliff:g>\" മോഡ് ഇല്ലാതാക്കണോ?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"എഡിറ്റ് ചെയുക"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"ഷെഡ്യൂളുകൾ"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"ഷെഡ്യൂള്‍‌"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"സ്വയമേവ ഓണാക്കുക"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"കലണ്ടർ ചേർക്കുക"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"നിങ്ങളുടെ കലണ്ടർ ഉപയോഗിക്കുക"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"ഷെഡ്യൂൾ"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"ഷെഡ്യൂൾ സജ്ജീകരിക്കുക"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"എപ്പോൾ സ്വയമേവ ഓണാകണം"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"ഇവന്റ് ഷെഡ്യൂൾ"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"ഇതിനായി ഇവന്റിനിടയിൽ ഓണാക്കൂ"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"ക്ഷണത്തിന് ഈ മറുപടി ലഭിക്കുമ്പോൾ"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"സമയ ഷെഡ്യൂൾ"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"ഷെഡ്യൂൾ"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> മണിക്കൂർ, <xliff:g id="MINUTES">%2$d</xliff:g> മിനിറ്റ്"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"ഷെഡ്യൂള്‍‌ ചെയ്യുക"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"ശബ്‌ദമുണ്ടാക്കുന്ന തടസ്സങ്ങൾ അനുവദിക്കുക"</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="mode_interruption_filter_title" msgid="6657431939996264417">"നിങ്ങൾക്ക് ലഭിക്കുന്ന അറിയിപ്പുകൾ"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"കൂടുതൽ പ്രവർത്തനങ്ങൾ"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"അറിയിപ്പ് ഫിൽട്ടറുകൾ"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"കൂടുതൽ ക്രമീകരണം"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{ഓഫാണ്}=1{ഓഫാണ് / ഒരു മോഡിന് സ്വയമേവ ഓണാകാനാകും}other{ഓഫാണ് / # മോഡുകൾക്ക് സ്വയമേവ ഓണാകാനാകും}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"ഡിസ്പ്ലേ ക്രമീകരണം"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"ഡിസ്പ്ലേ ഓപ്ഷനുകൾ"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"ഗ്രേസ്കെയിൽ"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ഡാർക്ക് തീം പ്രവർത്തനക്ഷമമാക്കുക"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"ഇരുണ്ട പശ്ചാത്തലത്തിലെ ലൈറ്റ് ടെക്‌സ്റ്റിന് മുൻഗണന നൽകാൻ OS-ഉം ആപ്പുകളും തമ്മിൽ മാറുക, ഇത് കണ്ണുകൾക്ക് അനുയോജ്യമായേക്കാം, ചില ഉപകരണങ്ങളിൽ കാര്യമായ തോതിൽ ബാറ്ററി ലാഭിക്കാനും സഹായിച്ചേക്കാം"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{ഡിസ്പ്ലേ മാറ്റങ്ങളൊന്നുമില്ല}=1{{effect_1}}=2{{effect_1}, {effect_2} എന്നിവ}=3{{effect_1}, {effect_2}, {effect_3} എന്നിവ}other{{effect_1}, {effect_2} എന്നിവയും മറ്റ് # എണ്ണവും}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"എല്ലാ അറിയിപ്പുകളും അനുവദിക്കുക"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"ആളുകൾക്കും ആപ്പുകൾക്കും ശബ്‌ദങ്ങൾക്കും തടസ്സപ്പെടുത്താൻ കഴിയും"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ഫിൽട്ടർ ചെയ്ത അറിയിപ്പുകൾക്കുള്ള ഡിസ്പ്ലേ ഓപ്ഷനുകൾ"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"ശല്യപ്പെടുത്തരുത് എന്നത് ഓണാക്കുമ്പോൾ"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"അറിയിപ്പുകൾക്ക് ശബ്‍ദം വേണ്ട"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"അറിയിപ്പ് തുറക്കുക"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"അറിയിപ്പ് സ്‌നൂസ് ചെയ്യൽ അനുവദിക്കുക"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"ആപ്പ് ഐക്കണിലെ അറിയിപ്പ് ഡോട്ട്"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"അറിയിപ്പ് ബണ്ടിലുകൾ"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"ബബിളുകൾ"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"ബബിളുകൾ"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"ഈ സംഭാഷണം ബബിൾ ചെയ്യുക"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"സ്‌നൂസ് ചെയ്യൽ അല്ലെങ്കിൽ അറിയിപ്പുകൾ ഡിസ്‌മിസ് ചെയ്യൽ എന്നതും കോളുകൾക്ക് മറുപടി നൽകലും ഉൾപ്പെടെയുള്ള, അറിയിപ്പുകളിലെ ബട്ടണുകളിൽ നടപടിയെടുക്കാനും സന്ദേശങ്ങൾക്ക് മറുപടി നൽകാനും ഇതിന് കഴിയും."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"ക്രമീകരണം മാറ്റാം"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"ഇതിന് \'ശല്യപ്പെടുത്തരുത്\' ഓൺ അല്ലെങ്കിൽ ഓഫ് ആക്കാനും ബന്ധപ്പെട്ട ക്രമീകരണം മാറ്റാനും കഴിയും."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"ഇതിന് മോഡുകൾ മാനേജ് ചെയ്യാനും സജീവമാക്കാനും അനുബന്ധ ക്രമീകരണം മാറ്റാനും കഴിയും."</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_modes_warning_summary" msgid="7528432011433844158">"<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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"തത്സമയം"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"മെച്ചപ്പെടുത്തിയ ക്രമീകരണത്തെ ഈ ആപ്പ് പിന്തുണയ്ക്കുന്നില്ല"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"കൂടുതൽ ക്രമീകരണം"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"ഈ ആപ്പിനുള്ളിൽ കൂടുതൽ ക്രമീകരണം ലഭ്യമാണ്"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"അഡാപ്‌റ്റീവ് അറിയിപ്പുകൾ"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"അഡാപ്‌റ്റീവ് അറിയിപ്പുകൾ ഉപയോഗിക്കുക"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"ചെറിയൊരു കാലയളവിൽ നിങ്ങൾക്ക് ധാരാളം അറിയിപ്പുകൾ ലഭിച്ചാൽ രണ്ട് മിനിറ്റോളം നിങ്ങളുടെ ഫോൺ, ശബ്ദം കുറയ്ക്കുകയും സ്‌ക്രീനിലെ പോപ്പ്-അപ്പുകൾ ചെറുതാക്കുകയും ചെയ്യും. കോളുകളും അലാറങ്ങളും മുൻഗണനയുള്ള സംഭാഷണങ്ങളും തുടർന്നും വൈബ്രേറ്റ് ചെയ്യുകയും ശബ്ദമുണ്ടാക്കുകയും സ്‌ക്രീനിൽ ദൃശ്യമാകുകയും ചെയ്യും, സ്‌ക്രീനിന് മുകളിൽ നിന്ന് താഴോട്ട് വലിക്കുകയാണെങ്കിൽ നിങ്ങൾക്ക് എല്ലാ അറിയിപ്പുകളും എളുപ്പത്തിൽ കണ്ടെത്തുകയും ചെയ്യാം."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"അറിയിപ്പിന്റെ കൂൾഡൗൺ"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"അറിയിപ്പിന്റെ ശബ്‌ദം കുറയ്ക്കൽ ഉപയോഗിക്കുക"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"ചെറിയൊരു കാലയളവിൽ നിങ്ങൾക്ക് നിരവധി അറിയിപ്പുകൾ ലഭിച്ചാൽ, നിങ്ങളുടെ ഉപകരണം 2 മിനിറ്റ് വരെ അതിന്റെ ശബ്‌ദം കുറയ്ക്കുകയും മുന്നറിയിപ്പുകൾ ചെറുതാക്കുകയും ചെയ്യും. കോളുകളെയും അലാറങ്ങളെയും മുൻ‌ഗണനയുള്ള സംഭാഷണങ്ങളെയും ബാധിക്കില്ല. \n\nകൂൾഡൗൺ സമയത്ത് ലഭിച്ച അറിയിപ്പുകൾ സ്‌ക്രീനിന്റെ മുകളിൽ നിന്ന് താഴേയ്ക്ക് വലിച്ച് കണ്ടെത്താം."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"ഔദ്യോഗിക പ്രൊഫൈലുകളിൽ ബാധകമാക്കുക"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"ഔദ്യോഗിക പ്രൊഫൈൽ ആപ്പുകൾക്ക് ബാധകമാക്കുക"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR സഹായി സേവനങ്ങൾ"</string>
@@ -3650,6 +3709,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"മോഡുകളിലേക്കുള്ള ആക്സസ്"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"മോഡുകളിലേക്കുള്ള ആക്‌സസ് അനുവദിക്കുക"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"ഇൻസ്‌റ്റാൾ ചെയ്‌തിട്ടുള്ള ആപ്പുകളൊന്നും മോഡുകളിലേക്കുള്ള ആക്‌സസ് അഭ്യർത്ഥിച്ചിട്ടില്ല"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"ഈ ആപ്പിൽ നിന്നുള്ള അറിയിപ്പുകൾ നിങ്ങൾ അനുവദിച്ചിട്ടില്ല"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"നിങ്ങളുടെ അഭ്യർത്ഥനപ്രകാരം, ഈ ഉപകരണത്തിൽ ഈ വിഭാഗത്തിൽപ്പെട്ട അറിയിപ്പുകൾ ദൃശ്യമാകുന്നത് Android ബ്ലോക്ക് ചെയ്യുന്നു"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"നിങ്ങളുടെ അഭ്യർത്ഥനപ്രകാരം, ഈ ഗ്രൂപ്പിൽപ്പെട്ട അറിയിപ്പുകൾ ഈ ഉപകരണത്തിൽ ദൃശ്യമാകുന്നത് Android ബ്ലോക്ക് ചെയ്യുന്നു"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"വിഭാഗങ്ങള്‍"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"മറ്റുള്ളവ"</string>
     <string name="no_channels" msgid="4716199078612071915">"ഈ ആപ്പ് അറിയിപ്പുകളൊന്നും പോസ്‌റ്റ് ചെയ്‌തിട്ടില്ല"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"ഉപയോഗിക്കാത്ത വിഭാഗങ്ങൾ കാണിക്കൂ"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"ആപ്പിലെ അധിക ക്രമീകരണം"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"ഉപയോഗിക്കാത്ത വിഭാഗങ്ങൾ കാണിക്കൂ"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"ഉപയോഗിക്കാത്ത വിഭാഗങ്ങൾ മറയ്ക്കൂ"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"സംഭാഷണങ്ങൾ"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"എല്ലാ സംഭാഷണങ്ങളും"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"എല്ലാ സംഭാഷണങ്ങളും"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"മുൻഗണനാ സംഭാഷണം"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"മുൻഗണനയുള്ള സംഭാഷണങ്ങൾ"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"ഒന്നും വേണ്ട"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"തടസ്സപ്പെടുത്താൻ കഴിയുന്ന ആപ്പുകൾ"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"തിരഞ്ഞെടുത്ത ആപ്പുകൾ"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"ഒന്നുമില്ല"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"എല്ലാം"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{ഒരു ആപ്പിനും തടസ്സപ്പെടുത്താൻ കഴിയില്ല}=1{{app_1} എന്നതിന് തടസ്സപ്പെടുത്താൻ കഴിയും}=2{{app_1}, {app_2} എന്നിവയ്ക്ക് തടസ്സപ്പെടുത്താൻ കഴിയും}=3{{app_1}, {app_2}, {app_3} എന്നിവയ്ക്ക് തടസ്സപ്പെടുത്താൻ കഴിയും}other{{app_1}, {app_2} എന്നിവയ്ക്കും മറ്റ് # എണ്ണത്തിനും തടസ്സപ്പെടുത്താൻ കഴിയും}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (ഔദ്യോഗികം)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"കണക്കാക്കുന്നു…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"അസാധുവാക്കാൻ ആപ്പുകളെ അനുവദിക്കുക"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"തടസ്സപ്പെടുത്താൻ കഴിയുന്ന ആപ്പുകൾ"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"കൂടുതൽ ആപ്പുകൾ തിരഞ്ഞെടുക്കുക"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"ഒന്നിനും തടസ്സപ്പെടുത്താൻ കഴിയില്ല"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"ഒരാൾക്കും തടസ്സപ്പെടുത്താൻ കഴിയില്ല"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"ചില ആളുകൾക്ക് തടസ്സപ്പെടുത്താൻ കഴിയും"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"ആവർത്തിച്ച് വിളിക്കുന്നവർ തടസ്സം സൃഷ്ടിക്കാം"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"എല്ലാ ആളുകൾക്കും തടസ്സപ്പെടുത്താൻ കഴിയും"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"ആവർത്തിച്ച് വിളിക്കുന്നവർ"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"ആവർത്തിച്ച് വിളിക്കുന്നവരെ അനുവദിക്കുക"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} വരെ ഒരു മണിക്കൂർ നേരത്തേക്ക് \'അലാറങ്ങൾ മാത്രം\' എന്നതിലേക്ക് മാറ്റുക}other{{time} വരെ # മണിക്കൂർ നേരത്തേക്ക് \'അലാറങ്ങൾ മാത്രം\' എന്നതിലേക്ക് മാറ്റുക}}"</string>
     <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_action_change_name" msgid="766639614789907016">"പേര് മാറ്റുക"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"ഐക്കൺ മാറ്റുക"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"ഐക്കൺ മാറ്റുക"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"എഡിറ്റ് മോഡ്"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"മോഡ് സൃഷ്ടിക്കുക"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"ഇഷ്‍ടാനുസൃത മോഡ്"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"മോഡിന്റെ പേര്"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"കലണ്ടർ ഇവന്റുകൾ"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"ഉറക്ക സമയ ദിനചര്യ"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"ഡ്രൈവ് ചെയ്യുമ്പോൾ"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"ആപ്പ് ക്രമീകരണം"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"<xliff:g id="APP_NAME">%1$s</xliff:g> ആപ്പിലെ വിവരങ്ങളും ക്രമീകരണവും"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"<xliff:g id="APP_NAME">%1$s</xliff:g> മാനേജ് ചെയ്യുന്നത്"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g> പ്രവർത്തനരഹിതമാക്കണോ?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"പ്രവർത്തനരഹിതമാക്കിയിരിക്കുമ്പോൾ ഒരിക്കലും ഈ മോഡ് ഓണാകില്ല"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"പ്രവർത്തനരഹിതമാക്കുക"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g> പ്രവർത്തനക്ഷമമാക്കണോ?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"ഈ മോഡ് ഇതിന്റെ ക്രമീകരണത്തിന്റെ അടിസ്ഥാനത്തിൽ സ്വയമേവ ഓണായേക്കാം"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"പ്രവർത്തനക്ഷമമാക്കുക"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"പതിവ് ഷെഡ്യൂൾ പിന്തുടരുന്ന ഒരു മോഡ് സജ്ജീകരിക്കുക"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"കലണ്ടർ ഇവന്റുകൾ സമന്വയിപ്പിക്കുന്നതിനും പ്രതികരണങ്ങൾ ക്ഷണിക്കുന്നതിനും ഒരു മോഡ് സജ്ജീകരിക്കുക"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"ശാന്തമായ ഉറക്ക ദിനചര്യ ഡിസൈൻ ചെയ്യുക. അലാറങ്ങൾ സജ്ജീകരിക്കുക, സ്ക്രീൻ മങ്ങിക്കുക, അറിയിപ്പുകൾ ബ്ലോക്ക് ചെയ്യുക."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"ശ്രദ്ധ കേന്ദ്രീകരിച്ച് സുരക്ഷിതമായി വാഹനമോടിക്കാൻ റോഡിലെ സുരക്ഷയ്ക്ക് മുൻഗണന നൽകുക"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"ശ്രദ്ധ കേന്ദ്രീകരിക്കാൻ നിങ്ങളുടെ ഉപകരണത്തിൽ നിന്നുള്ള ശ്രദ്ധ തിരിക്കലുകളോ തടസ്സങ്ങളോ ബ്ലോക്ക് ചെയ്യുക"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"ശാന്തമായ ഒരു അന്തരീക്ഷത്തിനായി എല്ലാ തടസ്സങ്ങളും ഇല്ലാതാക്കുക"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"വ്യത്യസ്ത ഉപയോക്താക്കൾക്കായി ഉപകരണ അനുഭവങ്ങളും ക്രമീകരണവും വ്യക്തിപരമാക്കുക"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"പ്രധാനപ്പെട്ട ആളുകളേയും ആപ്പുകളേയും മാത്രം നിങ്ങളുമായി ബന്ധപ്പെടാൻ അനുവദിക്കുന്നതിലൂടെ തടസ്സങ്ങൾ കുറയ്ക്കുക"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"പതിവ് ഷെഡ്യൂൾ പിന്തുടരുന്ന ഒരു മോഡ് സജ്ജീകരിക്കുക"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"നിങ്ങളുടെ ഉപകരണത്തെ നിങ്ങളുടെ ദിവസത്തെ ഇവന്റുകളുമായി സമന്വയിപ്പിച്ച് നിലനിർത്തുക"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"നല്ല ഊർജ്ജസ്വലതയോടെ ഉണരുക"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"റോഡിലായിരിക്കുമ്പോൾ, സുരക്ഷയ്ക്ക് മുൻഗണന നൽകുക"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"നിങ്ങളുടെ ജോലിയിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുക"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"മര്യാദ വിലമതിക്കപ്പെടുന്ന സന്ദർഭങ്ങൾ"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"നിങ്ങളെ സുരക്ഷിതമായി നിലനിർത്താൻ സഹായിക്കുന്ന നിർദ്ദേശങ്ങൾ പാലിക്കുക"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"നിങ്ങളുടെ ശ്രദ്ധയുടെ നിയന്ത്രണം ഏറ്റെടുക്കുക"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"മുന്നറിയിപ്പ്"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"അടയ്‌ക്കുക"</string>
     <string name="device_feedback" msgid="5351614458411688608">"ഇതേക്കുറിച്ചുള്ള ഫീഡ്‌ബാക്ക് അയയ്‌ക്കൂ"</string>
@@ -4006,6 +4102,10 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"<xliff:g id="APP">%1$s</xliff:g> എന്നതിനുള്ള മോഡുകളിലേക്ക് ആക്സസ് അനുവദിക്കണോ?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"\'ശല്യപ്പെടുത്തരുത്\' ഓൺ/ഓഫ് ആക്കാനും മോഡുകൾ മാനേജ് ചെയ്ത് സജീവമാക്കാനും ബന്ധപ്പെട്ട ക്രമീകരണത്തിൽ മാറ്റങ്ങൾ വരുത്താനും ആപ്പിന് കഴിയും."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"<xliff:g id="APP">%1$s</xliff:g> ആപ്പിനുള്ള മോഡുകളിലേക്കുള്ള ആക്‌സസ് റദ്ദാക്കണോ?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"ഈ ആപ്പ് സൃഷ്ടിച്ച എല്ലാ മോഡുകളും നീക്കം ചെയ്യും."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"ഓപ്റ്റിമൈസ് ചെയ്യരുത്"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimize"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"നിങ്ങളുടെ ബാറ്ററി ചാർജ് കൂടുതൽ വേഗത്തിൽ തീർന്നേക്കാം. പശ്ചാത്തലത്തിൽ ബാറ്ററി ഉപയോഗിക്കുന്നതിൽ നിന്ന് ആപ്പ് ഇനി നിയന്ത്രിക്കപ്പെടില്ല."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"കെയ്‌സ്"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"ബാറ്ററി"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"ക്രമീകരണ പാനൽ"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"ഡെസ്ക്ടോപ്പ് മോഡിലേക്ക് നിർബന്ധിച്ച് വരുത്തുക"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ദ്വിതീയ ഡിസ്‌പ്ലേകളിൽ, പരീക്ഷണാത്മക ഡെസ്ക്ടോപ്പ് മോഡിലേക്ക് നിർബന്ധിച്ച് വരുത്തുക"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"ഫ്രീഫോം വിൻഡോകൾ പ്രവർത്തനക്ഷമമാക്കുക"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"സെക്കൻഡറി ഡിസ്പ്ലേയിൽ ഫ്രീഫോം വിൻഡോകൾ പ്രവർത്തനക്ഷമമാക്കൂ"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"വലുപ്പം മാറ്റാനാകാത്തവ മൾട്ടി വിൻഡോയിൽ പ്രവർത്തനക്ഷമമാക്കൂ"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"വലുപ്പം മാറ്റാൻ കഴിയാത്ത ആപ്പുകൾ മൾട്ടി വിൻഡോയിൽ അനുവദിക്കുന്നു"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"നിർബന്ധിത ഡാർക്ക് മോഡ് അസാധുവാക്കുക"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"മൊബൈൽ ഡാറ്റ"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"ഉപകരണ അനുഭവം മെച്ചപ്പെടുത്താൻ, വൈഫൈ ഓഫാക്കിയിരിക്കുമ്പോൾ പോലും ആപ്പുകൾക്കും സേവനങ്ങൾക്കും വൈഫൈ നെറ്റ്‌വർക്കുകൾ കണ്ടെത്താൻ ഏത് സമയത്തും സ്‌കാൻ ചെയ്യാനാകും. ഉദാഹരണത്തിന്, ലൊക്കേഷൻ അധിഷ്‌ഠിത ഫീച്ചറുകളും സേവനങ്ങളും മെച്ചപ്പെടുത്താൻ ഇത് ഉപയോഗിക്കാം. നിങ്ങൾക്ക് ഇത് വൈഫൈ സ്‌കാനിംഗ് ക്രമീകരണത്തിൽ മാറ്റാം."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"മാറ്റുക"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"കണക്റ്റ് ചെയ്തു"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"താൽക്കാലികമായി കണക്റ്റ് ചെയ്തിരിക്കുന്നു"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"താൽക്കാലികമായി <xliff:g id="SUBNAME">%1$s</xliff:g> ഉപയോഗിക്കുന്നു"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ആപ്പ് പിൻ ചെയ്യൽ ഉപയോഗിക്കുക"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"ഡെവലപ്പർ ഓ‌പ്ഷനുകൾ ഉപയോഗിക്കുക"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"പ്രിന്റ് സേവനം ഉപയോഗിക്കുക"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"ഒന്നിലധികം ഉപയോക്താക്കളെ അനുവദിക്കുക"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"ഉപയോക്താവിനെ മാറാൻ അനുവദിക്കുക"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"അനുവദിക്കുക, ഒന്നിലധികം, ഉപയോക്താവ്, അനുവാദം, നിരവധി"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"ഒന്നിലധികം, ഉപയോക്താക്കൾ, പ്രൊഫൈലുകൾ, ആളുകൾ, അക്കൗണ്ടുകൾ, മാറുക, നിരവധി"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"വയർലസ് ഡീബഗ്ഗിംഗ് ഉപയോഗിക്കുക"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> എന്നതിന് ഈ ഫോണിലേക്ക് കണക്റ്റ് ചെയ്യണമെന്നുണ്ട്.\n\nനിങ്ങൾ <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> എന്നതിലേക്ക് മുമ്പ് കണക്റ്റ് ചെയ്തിട്ടില്ല."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"കണക്റ്റ് ചെയ്യരുത്"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"കണക്റ്റ് ചെയ്യൂ"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE ക്രമീകരണം"</string>
-    <string name="tare_on" msgid="2386073225978684535">"ഓണാണ്"</string>
-    <string name="tare_off" msgid="6305694402929756726">"ഓഫാണ്"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"ഡിഫോൾട്ട് ക്രമീകരണത്തിലേക്ക് പുനഃസ്ഥാപിക്കൂ"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"ക്രമീകരണം ഡിഫോൾട്ടായി പുനഃസ്ഥാപിച്ചു."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"ഉപകരണം ചാർജായാലുള്ള പരമാവധി ബാലൻസ്"</string>
-    <string name="tare_balances" msgid="731881382594747961">"ബാലൻസ്"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"ഉപഭോഗ പരിധി"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"പ്രാഥമിക ഉപഭോഗ പരിധി"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"ഏറ്റവും കുറഞ്ഞ ഉപയോഗ പരിധി"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"പരമാവധി ഉപഭോഗ പരിധി"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"മോഡിഫയറുകൾ"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"പ്രവർത്തനങ്ങൾ (നിർമ്മാണ ചെലവ്)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"പ്രവർത്തനങ്ങൾ (അടിസ്ഥാന നിരക്ക്)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"ഓരോ ഇവന്റിനുമുള്ള റിവാർഡുകൾ"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"ഇവന്റ് കാലയളവിലെ ഒരു സെക്കൻഡിലെ റിവാർഡ്"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"ഓരോ ദിവസത്തെയും പരമാവധി റിവാർഡുകൾ"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"ആപ്പ് ഇൻസ്റ്റാൾ"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"മികച്ച പ്രവർത്തനം"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"അറിയിപ്പ് കണ്ടു"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"15 മിനിറ്റിനുള്ളിൽ അറിയിപ്പ് കണ്ടു"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"അറിയിപ്പുമായുള്ള ഇടപഴകൽ"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"വിജറ്റുമായുള്ള ഇടപഴകൽ"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"മറ്റ് ഉപയോക്തൃ ഇടപഴകൽ"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"മുൻഗണന പരമാവധിയുള്ള ജോബ് ആരംഭിക്കൽ"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"മുൻഗണന പരമാവധിയുള്ള ജോബ് റൺ ചെയ്യൽ"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"മുൻഗണന കൂടിയ ജോബ് ആരംഭിക്കൽ"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"മുൻഗണന കൂടിയ ജോബ് റൺ ചെയ്യൽ"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"ഡിഫോൾട്ട് ജോബ് ആരംഭിക്കൽ"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"ഡിഫോൾട്ട് ജോബ് റൺ ചെയ്യൽ"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"മുൻഗണന കുറവുള്ള ജോബ് ആരംഭിക്കൽ"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"മുൻഗണന കുറവുള്ള ജോബ് റൺ ചെയ്യൽ"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"മുൻഗണന കുറഞ്ഞ ജോബ് ആരംഭിക്കൽ"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"മുൻഗണന കുറഞ്ഞ ജോബ് റൺ ചെയ്യൽ"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"ജോബ് ടൈംഔട്ട് ആയതിന് പിഴ"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"ഉപകരണം ചാർജായാലുള്ള കുറഞ്ഞ ബാലൻസ് (ഒഴിവാക്കിയത്)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"ഉപകരണം ചാർജായാലുള്ള കുറഞ്ഞ ബാലൻസ് (ഹെഡ്‌ലെസ് സിസ്‌റ്റം ആപ്പ്)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"ഉപകരണം ചാർജായാലുള്ള കുറഞ്ഞ ബാലൻസ് (ശേഷിക്കുന്ന ആപ്പുകൾ)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"ഉപകരണം ചാർജായാലുള്ള കുറഞ്ഞ ബാലൻസ് കൂട്ടിച്ചേർക്കൽ (ആപ്പ് അപ്‌ഡേറ്റേഴ്‌സ്)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"ചാർജ് ചെയ്യുന്നു"</item>
-    <item msgid="658627268149681677">"ഡോസ്"</item>
-    <item msgid="1599558140284643834">"ഊർജ്ജം ലാഭിക്കൽ മോഡ്"</item>
-    <item msgid="588427840913221601">"പ്രോസസിന്റെ നില"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"സ്ഥിരീകരിക്കുക"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"പ്രിവ്യൂ ചെയ്യുക"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"ഒരു സ്ക്രീൻ സേവർ തിരഞ്ഞെടുക്കുക"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"അധിക വിവരങ്ങൾ കാണിക്കുക"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"നിങ്ങളുടെ ടാബ്‌ലെറ്റ് ഡോക്ക് ചെയ്തിരിക്കുമ്പോൾ സ്ക്രീനിൽ എന്ത് കാണണമെന്ന് തിരഞ്ഞെടുക്കുക. സ്ക്രീൻ സേവർ ഉപയോഗിക്കുമ്പോൾ ഉപകരണം കൂടുതൽ ഊർജ്ജം ഉപയോഗിച്ചേക്കാം."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"ഇഷ്‌ടാനുസൃതമാക്കുക"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> ഇഷ്‌ടാനുസൃതമാക്കുക"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"ഫ്രീംഫോം പിന്തുണ പ്രവർത്തനക്ഷമമാക്കാൻ റീബൂട്ട് ചെയ്യേണ്ടതുണ്ട്."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"ദ്വിതീയ ഡിസ്പ്ലേകളെ നിർബന്ധിതമായി ഡെസ്ക്ക്ടോപ്പ് മോഡിലാക്കാൻ റീബൂട്ട് ചെയ്യേണ്ടതുണ്ട്."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"ഫ്രീംഫോം വിൻഡോയ്ക്കുള്ള പിന്തുണ പ്രവർത്തനക്ഷമമാക്കാൻ റീബൂട്ട് ചെയ്യേണ്ടതുണ്ട്."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"ഫ്രീഫോം വിൻഡോകളുടെ ലഭ്യത അപ്ഡേറ്റ് ചെയ്യാൻ റീബൂട്ട് ചെയ്യേണ്ടതുണ്ട്."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"സെക്കൻഡറി ഡിസ്പ്ലേകളിൽ ഫ്രീഫോം വിൻഡോകൾ പ്രവർത്തനക്ഷമമാക്കാൻ റീബൂട്ട് ചെയ്യേണ്ടതുണ്ട്."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"ഇപ്പോൾ റീബൂട്ട് ചെയ്യുക"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"പിന്നീട് റീബൂട്ട് ചെയ്യുക"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"സ്പേഷ്യൽ ഓഡിയോ"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"റോസ്"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"മജന്ത"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"വയലറ്റ്"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"പൂർത്തിയായി"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"സംരക്ഷിക്കുക"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"റദ്ദാക്കുക"</string>
     <string name="contrast_default" msgid="8918545965525226966">"ഡിഫോൾട്ട്"</string>
     <string name="contrast_medium" msgid="384414510709285811">"ഇടത്തരം"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"ഓണാണ്"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"ഓഫാണ്"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"ഓണാണ്"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"ഇടതുവശത്തെ ഓഡിയോ %1$d%%, വലതുവശം %2$d%%"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"വലതുവശത്തെ ഓഡിയോ %1$d%%, ഇടതുവശം %2$d%%"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"നിങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്‌ത ആപ്പുകൾക്ക് നിങ്ങളുടെ ഉപകരണത്തിന്റെ പേര് ദൃശ്യമാണ്. Bluetooth ഉപകരണങ്ങളിലേക്കോ വൈഫൈ നെറ്റ്‌വർക്കിലേക്കോ കണക്റ്റ് ചെയ്യുമ്പോഴോ ഒരു വൈഫൈ ഹോട്ട്സ്പോട്ട് സജ്ജീകരിക്കുമ്പോഴോ ഇത് മറ്റ് ആളുകൾക്കും കാണാനായേക്കും."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"വ്യാകരണ ലിംഗഭേദം"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"വ്യാകരണ ലിംഗഭേദം തിരഞ്ഞെടുക്കുക"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"ഓഡിയോ പങ്കിടൽ നിർത്തി"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"അനുയോജ്യമായ ഉപകരണം കണക്റ്റ് ചെയ്യുക"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"ഓഡിയോ പങ്കിടുന്നത് ആരംഭിക്കാൻ, ആദ്യം നിങ്ങളുടെ ഫോണിലേക്ക് LE ഓഡിയോ ഹെഡ്‌ഫോണുകൾ കണക്റ്റ് ചെയ്യുക"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> എന്നതിലേക്ക് മാറുക"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"LE ഓഡിയോ സ്ട്രീമിലേക്ക് കണക്റ്റ് ചെയ്യുക"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"സമീപത്തെ ഓഡിയോ സ്ട്രീമുകൾ"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"ഓഡിയോ സ്ട്രീമുകൾ"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"സ്ട്രീം ചെയ്യുന്നത് കേൾക്കുക"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ഉപയോഗിച്ച് കേൾക്കാൻ ഓഡിയോ സ്ട്രീം QR കോഡ് സ്കാൻ ചെയ്യുക"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"പങ്കിടുമ്പോൾ പാസ്‌വേഡ് എഡിറ്റ് ചെയ്യാനാകില്ല. പാസ്‌വേഡ് മാറ്റാൻ, ആദ്യം ഓഡിയോ പങ്കിടൽ ഓഫാക്കുക."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR കോഡ് സ്കാനർ"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"സഹായം ആവശ്യമാണോ?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"തിരയൽ ക്രമീകരണം"</string>
 </resources>
diff --git a/res/values-mn/arrays.xml b/res/values-mn/arrays.xml
index c436c5a..d7083c8 100644
--- a/res/values-mn/arrays.xml
+++ b/res/values-mn/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Унтлагын цаг"</item>
-    <item msgid="4152450357280759894">"Жолоо барих"</item>
-    <item msgid="7096549258219399423">"Бодит мэт"</item>
-    <item msgid="2760716776980432977">"Удирддаг"</item>
-    <item msgid="601734478369121764">"Од"</item>
-    <item msgid="6243809315432780521">"Календарь"</item>
-    <item msgid="4913577903148415331">"Хугацаа"</item>
-    <item msgid="3653377604690057780">"Театр"</item>
-    <item msgid="3843711267408385410">"Цэцэг"</item>
+    <item msgid="1216815120972438676">"Чемодан"</item>
+    <item msgid="184985872234062767">"Сонгодог барилга"</item>
+    <item msgid="9189550412466785530">"Орон сууцын барилга"</item>
+    <item msgid="2142527562511049422">"Ярианы тэмдэглэгээ"</item>
+    <item msgid="2548100558260478605">"Бүлэг хүмүүс"</item>
+    <item msgid="2270003903304578284">"Чийдэн"</item>
+    <item msgid="4793496619091161864">"Календарь"</item>
+    <item msgid="5673625795644364100">"Бүү саад бол"</item>
+    <item msgid="1423820834865831361">"Гүйж буй хүн"</item>
+    <item msgid="2037298830718732608">"Гольф"</item>
+    <item msgid="2197835014443491074">"Биеийн тамирын заалны гантель"</item>
+    <item msgid="2730180105015616518">"Усанд сэлэлт"</item>
+    <item msgid="2666922823253345958">"Явган аялж буй хүн"</item>
+    <item msgid="8234880356472211396">"Бөмбөг шидэж буй хүн"</item>
+    <item msgid="4642980625253001443">"Өшиглөж буй хүн"</item>
+    <item msgid="4324795269518833500">"Тоглоомын удирдлага"</item>
+    <item msgid="7789966425125441125">"Уран бүтээлчийн өнгөний нийлүүр"</item>
+    <item msgid="663512680597461570">"Цасан ширхэг"</item>
+    <item msgid="7952183800501346803">"Далайн эргийн шүхэр"</item>
+    <item msgid="799139025758265891">"Урлангийн багаж хэрэгсэл"</item>
+    <item msgid="1330084588359129896">"Майхан"</item>
+    <item msgid="3861584909935022342">"Зургийн хальс"</item>
+    <item msgid="5827426100157335512">"Ном"</item>
+    <item msgid="8585828346253128384">"Бадамлянхуа цэцэг"</item>
+    <item msgid="8788370542815300188">"Хүний оюун ухаан"</item>
+    <item msgid="7287354964767553293">"Чихэвч"</item>
+    <item msgid="2530059623783800987">"ТВ"</item>
+    <item msgid="5307182323469376758">"Галт тэрэг"</item>
+    <item msgid="4903790544026923026">"Машин"</item>
+    <item msgid="5010405583912314582">"Хутга, сэрээ"</item>
+    <item msgid="8939998598599064900">"Худалдан авалтын сагс"</item>
+    <item msgid="3379605903308731893">"Хүүхэд"</item>
+    <item msgid="7808668968550293112">"Амьтны сарвуу"</item>
+    <item msgid="1000692647524056504">"Одтой тэмдэг"</item>
+    <item msgid="8270261073421676502">"Хоёр хүн"</item>
+    <item msgid="5767782819651505460">"Од"</item>
+    <item msgid="4368451291862729334">"Зүрх"</item>
+    <item msgid="2613199102208419986">"Байшин"</item>
+    <item msgid="3022279986430275040">"Тал сар"</item>
+    <item msgid="5421089790869483206">"Цаг"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index fd3a989..cf9f488 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Түр хаасан"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Тодорхойгүй"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Урьдчилан үзэх"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR код"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Жижигрүүлэх"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Томруулах"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"Үргэлж"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Сонсголын төхөөрөмжийн тохиргоо"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Товчлол, сонсголын төхөөрөмжийн зохицол"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Урьдчилсан тохируулга"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Сонсгол судлаачийн программчилсан урьдчилсан тохируулга алга"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Урьдчилсан тохируулгыг шинэчилж чадсангүй"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Аудио гаралт"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Аудио оролтын тухай"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Энэ аппын хэлийг Тохиргоо хэсгээс сонгох боломжгүй байна."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Хэл нь аппад боломжтой хэлээс шалтгаалан харилцан адилгүй байж болно. Зарим апп энэ тохиргоог дэмждэггүй байж магадгүй."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Апп тус бүрд хэл тохируулна уу."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Таны систем, аппууд болон вебсайтууд таны сонгосон хэлээс эхний дэмжигдсэн хэлийг ашигладаг."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Таны төхөөрөмж, апп, вебсайтууд илүүд үзсэн хэлний жагсаалтаас тань эхний дэмжигдсэн хэлийг ашигладаг.\n\nОлон апп мөн огноо, тоо, нэгжийг форматлахдаа таны сонгосон хэлний бүс нутгийг ашиглана. Бүс нутгаа өөрчлөхийн тулд хэл нэмээд, дараа нь илүүд үзсэн бүс нутгаа сонгоно уу."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Апп тус бүрд хэл сонгохын тулд аппын хэлний тохиргоо руу очно уу."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Аппын хэлний талаар нэмэлт мэдээлэл авах"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Системийн хэлийг %s болгож өөрчлөх үү?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Унтраалттай"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Асаалттай / # апп байршилд хандах эрхтэй}other{Асаалттай / # апп байршилд хандах эрхтэй}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Ачаалж байна…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Ойролцоох төхөөрөмжүүдийн зөвшөөрөлтэй аппууд холбогдсон төхөөрөмжүүдийн харгалзах байрлалыг тодорхойлох боломжтой."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Ойролцоох төхөөрөмжийн зөвшөөрөлтэй аппууд холбогдсон төхөөрөмжийн харгалзах байрлалыг тодорхойлох боломжтой."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Аппууд болон үйлчилгээнүүдэд байршлын хандалт унтраалттай байна. Таныг яаралтай тусламжийн утасны дугаар луу залгах эсвэл мессеж бичих үед таны төхөөрөмжийн байршлыг яаралтай тусламжийн үйлчилгээ үзүүлэгчид рүү илгээсэн хэвээр байж магадгүй."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Байршлын тохиргооны талаар нэмэлт мэдээлэл авах"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Өөрчлөхийн тулд ChromeOS-н Тохиргоо &gt; Нууцлал, аюулгүй байдал &gt; Нууцлалын тохиргоо &gt; Байршлын хандалт руу очно уу"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Царай болон <xliff:g id="WATCH">%s</xliff:g>-г нэмсэн"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Царай, хурууны хээ болон <xliff:g id="WATCH">%s</xliff:g>-г нэмсэн"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Царай, хурууны хээ болон <xliff:g id="WATCH">%s</xliff:g>-г нэмсэн"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Хувийн мэдээлэл шалгагч асаалттай бөгөөд биометр шаардлагатай байна"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator-н түгжээг тайлах"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Цаг нэмсэн"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Цагаа тохируулна уу"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Утасны түгжээг цагаараа тайлах онцлогийн талаар нэмэлт мэдээлэл авах"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Цаг нэмэх"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Цагийг хасах"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Хурууны хээ болон Царайгаар түгжээ тайлах"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Царай, хурууны хээгээр түгжээ тайлах"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Ажилд зориулсан Царай, хурууны хээгээр түгжээ тайлах"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Тохируулга шаардлагатай"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Царай болон хурууны хээнүүд нэмсэн"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Хаалттай орон зайг тохируулж байна…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Хаалттай орон зайг тохируулж чадсангүй"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Дахин оролдох"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Гарах"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Хаалттай орон зай боломжгүй байна.\nБолзошгүй шалтгаануудыг харах"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Болзошгүй шалтгаануудыг харах"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Хаалттай орон зайд шинэ түгжээ сонгох уу?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Та зөвхөн хаалттай орон зайд шинэ түгжээ тохируулах эсвэл төхөөрөмжийнхөө түгжээг тайлахад ашигладаг ижил түгжээг ашиглах боломжтой"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Дэлгэцийн түгжээг ашиглах"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Bluetooth-г асаасан үед таны төхөөрөмж ойролцоох бусад Bluetooth төхөөрөмжтэй холбогдох боломжтой.\n\nТөхөөрөмжийн хэрэглээг сайжруулахын тулд аппууд болон үйлчилгээнүүд нь хүссэн үед буюу Bluetooth-г унтраалттай байсан ч ойролцоох төхөөрөмжүүдийг скан хийх боломжтой хэвээр байна. Үүнийг байршилд суурилсан онцлогууд болон үйлчилгээнүүдийг сайжруулах зэргээр ашиглаж болно. Та үүнийг Bluetooth-н скан хийх тохиргоонд өөрчлөх боломжтой."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Bluetooth асаалттай үед таны төхөөрөмж ойролцоох бусад Bluetooth төхөөрөмжтэй холбогдох боломжтой. Түргэн хуваалцах, Миний төхөөрөмжийг олох зэрэг онцлогууд Bluetooth-г ашигладаг.\n\nАпп, үйлчилгээнүүд Bluetooth унтраалттай үед ч ойролцоох төхөөрөмжүүдийг хүссэн үедээ скан хийх боломжтой хэвээр байна. Үүнийг байршилд тулгуурласан онцлог болон үйлчилгээнүүдийг сайжруулах зэргээр ашиглаж болно. Та үүнийг Bluetooth скан хийх тохиргоонд өөрчлөх боломжтой."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Өөрчлөх"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Төхөөрөмжийн дэлгэрэнгүй"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Гарын тохиргоо"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Бусад тохиргоо"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Жижиг программын шинэчлэлт, үүний тухай ба бусад"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Зөвлөгөө, тусламж"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Төхөөрөмжийн Bluetooth хаяг: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Төхөөрөмжийн Bluetooth хаяг:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Төхөөрөмжийг мартах уу?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Туршилтын. Аудио чанарыг сайжруулна."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Төхөөрөмжийг мартах"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Аппыг салгах"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Бусад тохиргоо"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Холбогдсон Bluetooth аудио төхөөрөмжийн дээд тоо"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Холбогдсон Bluetooth аудио төхөөрөмжийн дээд тоог сонгох"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC нуршсан дэлгэрэнгүй байдлын нийлүүлэгчийн дебагийн лог"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Төхөөрөмжийг дахин эхлүүлэх үү?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Нарийвчилсан NFC лог нь зөвхөн хөгжүүлэлтийн зориулалттай. Нэмэлт NFC өгөгдлийг алдааны мэдээнд багтаасан бөгөөд энэ нь хувийн мэдээлэл агуулж байж магадгүй. Энэ тохиргоог өөрчлөхийн тулд төхөөрөмжөө дахин эхлүүлнэ үү."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Дахин эхлүүлэх"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Асаалттай"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Унтраалттай"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Гаднын дэлгэц"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Гаднын дэлгэц ашиглах"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Дэлгэцийн нягтрал"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Гаднын дэлгэц салсан"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Эргүүлэлт"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Стандарт"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Эргүүлэлт эсвэл нягтралыг өөрчлөх нь одоо ажиллаж буй аливаа аппыг зогсоож магадгүй"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Таны дэлгэцийн тусгалыг үүсгэхийн тулд таны төхөөрөмж гаднын дэлгэцэд холбогдсон байх ёстой"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Бусад сонголт"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Дамжуулах"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"тусгал"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Утасгүй дэлгэцийг идэвхжүүлэх"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Дасан зохицох"</string>
     <string name="brightness" msgid="6216871641021779698">"Гэрэлтүүлгийн түвшин"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Орчинтой зохицох гэрэлтүүлэг"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Орчинтой зохицох гэрэлтүүлгийн тухай"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Дэлгэцийн гэрэлтүүлэг таны хүрээлэн буй орчин болон үйл ажиллагаанд автоматаар тохирно. Орчинтой зохицох гэрэлтүүлэгт таны тохиргоог мэдэхэд нь туслахын тулд гулсуулагчийг гараараа хөдөлгөх боломжтой."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Асаасан"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Идэвхгүй"</string>
@@ -1311,8 +1344,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="8850185380445309835">"Сонгосон SIM-г шинэчлэх үү?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"Таны төхөөрөмжид зөвхөн <xliff:g id="NEW_SIM">%1$s</xliff:g> SIM байна. Та мобайл дата ашиглах, дуудлага хийх, SMS мессежийн үйлчилгээ авахын тулд энэ SIM-г ашиглах уу?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> одоо таны үндсэн SIM болсон"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Мобайл датаны хамрах хүрээг сайжруулах уу?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"<xliff:g id="BACKUP_CARRIER">%1$s</xliff:g>-г илүү сайн сүлжээтэй үед төхөөрөмжөө түүн рүү автоматаар сэлгэж, мобайл дата ашиглахыг зөвшөөрнө үү."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Дуудлага, мессеж болон сүлжээний ачаалал нь танай байгууллагад харагдаж магадгүй."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Сонголт"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Хандалт"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Биет гар"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Дэлгэц дээрх гарыг ашиглах"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Биет гар идэвхтэй үед үүнийг дэлгэцэд харуулна уу"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Ойх түлхүүрүүд"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Гар нь <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> мс доторх нэг товчлуурын шуурхай давтагдсан даралтыг үл хэрэгсэнэ"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Удаан товчнууд"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Товчлуур даралт идэвхжихэд зарцуулах хугацааг <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> мс болгож тохируулна"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Бэхэлсэн түлхүүрүүд"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Товчлолд товчлууруудыг хамтад нь удаан дарахын оронд нэг удаад нэг товчлуур дарна уу"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Хулганын товч"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Хулганыг хянахад биет гарыг ашиглана уу."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Гарын товчлол"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Товчлолын жагсаалтыг харуулах"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Ажлын профайлын гар &amp; хэрэгсэл"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Мэдрэгч самбарын навигацын бие даасан зангааг өөрчлөх"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Урвуу гүйлгэх"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Таныг доош гүйлгэх үед контентыг дээш зөөх"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Баруун доод буланг товших"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Бусад сонголтыг авах бол мэдрэгч самбарын баруун доод буланг товших"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Баруун доор товших"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Бусад сонголтыг харах бол мэдрэгч самбарын баруун доор товш"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Заагчийн хурд"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Заагчийг дүүргэх загвар"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Заагчийг дүүргэх загварыг хар болго"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Заагчийг дүүргэх загварыг шар болго"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Заагчийг дүүргэх загварыг ягаан болго"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Заагчийг дүүргэх загварыг цэнхэр болго"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Заагчийн зурлагын загвар"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Цагаан"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Хар"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Байхгүй"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Мэдрэгч самбарын зангааг мэдэж авах"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"мэдрэгч самбар, мэдрэгч самбар, хулгана, курсор, гүйлгэх, шудрах, баруун талыг товших, товших, заагч"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"баруун талыг товших, товших"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Шинэчлэх"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Тохируулагч товч сонгох"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>-н шинэ товч сонгоно уу:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> бүдүүвч"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Өгөгдмөл"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Автомат: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Хэрэглэгчийн сонгосон: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Яриа"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Заагчийн хурд"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Заагчийн хэмжээ"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Заагчийн хэмжээг багасгах"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Заагчийн хэмжээг өсгөх"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Тоглоом Контроллер"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Чичиргээг дахин чиглүүлэх"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Холбогдсон үедээ тоглоомын хянагчид чичиргээ илгээнэ үү"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Ямартай ч үргэлжлүүлэх"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Цуцлах"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Томруулах тохиргоо"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Нэг хуруугаар чиглүүлэх"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Томруулагчийг 1 хуруугаараа зөөх"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Дэлгэцийн эргэн тойронд шилжихийн тулд 1 хуруугаараа чир"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Нэг хуруугаар чирч, томруулах хэсгийг зөөнө үү."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Хоёр хуруугаар чирч, томруулах хэсгийг зөөнө үү."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Дэлгэцийн зөвхөн нэг хэсгийг томруулж байхад боломжгүй"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Томруулахын тулд товчлуурыг товшино уу"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Контентыг илүү том болгохын тулд дэлгэц дээр шуурхай томруулна уу"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Томруулахын тулд:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Томруулах онцлогийг эхлүүлэхийн тулд товчлол ашиглана уу&lt;br/&gt; {1,number,integer}. Дэлгэцийг товшино уу&lt;br/&gt; {2,number,integer}. Дэлгэцийн эргэн тойронд шилжихийн тулд 2 хуруугаа чирнэ үү&lt;br/&gt; {3,number,integer}. Томруулалтыг тохируулахын тулд 2 хуруугаараа чимхэнэ үү&lt;br/&gt; {4,number,integer}. Томруулах онцлогийг зогсоохын тулд товчлол ашиглана уу&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Түр хугацаанд томруулахын тулд:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Таны томруулах төрлийг бүтэн дэлгэц болгож тохируулсан эсэхийг шалгана уу&lt;br/&gt; {1,number,integer}. Томруулах онцлогийг эхлүүлэхийн тулд товчлол ашиглана уу&lt;br/&gt; {2,number,integer}. Дэлгэцийн аль нэг хэсгийг удаан дарна уу&lt;br/&gt; {3,number,integer}. Дэлгэцийн эргэн тойронд шилжихийн тулд хуруугаа чирнэ үү&lt;br/&gt; {4,number,integer}. Томруулах онцлогийг зогсоохын тулд хуруугаа хөндийрүүлнэ үү"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Томруулахын тулд:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Томруулж эхлэхийн тулд товчлол ашиглана уу&lt;br/&gt; {1,number,integer}. Дэлгэц дээр товшино уу&lt;br/&gt; {2,number,integer}. Дэлгэцийн эргэн тойронд шилжихийн тулд 2 хуруугаараа чирнэ үү&lt;br/&gt; {3,number,integer}. Томруулах хэмжээг тохируулахын тулд 2 хуруугаараа чимхэнэ үү&lt;br/&gt; {4,number,integer}. Томруулахыг зогсоохын тулд товчлолыг ашиглана уу&lt;br/&gt;&lt;br/&gt; Та мөн түр зуур томруулах болон бусад зүйлийг хийх боломжтой."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Томруулахын тулд:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Томруулж эхлэхийн тулд товчлол ашиглана уу&lt;br/&gt; {1,number,integer}. Дэлгэц дээр товшино уу&lt;br/&gt; {2,number,integer}. Дэлгэцийн эргэн тойронд шилжихийн тулд 1 эсвэл 2 хуруугаараа чирнэ үү&lt;br/&gt; {3,number,integer}. Томруулах хэмжээг тохируулахын тулд 2 хуруугаараа чимхэнэ үү&lt;br/&gt; {4,number,integer}. Томруулахыг зогсоохын тулд товчлолыг ашиглана уу&lt;br/&gt;&lt;br/&gt; Та мөн түр зуур томруулах болон бусад зүйлийг хийх боломжтой."</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_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g>-н <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>-р хуудас"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Хандалтын товчлуурын товчлол"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Хөвөгч товчлуурыг товшино уу"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Хандалтын зангаа"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Дэлгэцийнхээ доод талд байх <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> хандалтын товчлуурыг товшино уу. Онцлогуудын хооронд сэлгэхийн тулд хандалтын товчлуурыг удаан дарна уу."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Дэлгэцийн доороос дээш 2 хуруугаар шударна уу.\n\nОнцлогуудын хооронд сэлгэхийн тулд 2 хуруугаар дээш шудраад удаан дарна уу."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Дэлгэцийн доороос дээш 3 хуруугаар шударна уу.\n\nОнцлогуудын хооронд сэлгэхийн тулд 3 хуруугаар дээш шудраад удаан дарна уу."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Дэлгэцийнхээ доод талаас дээш шударна уу. Онцлогуудын хооронд сэлгэхийн тулд дээш шудраад, удаан дарна уу.}other{Дэлгэцийнхээ доод талаас # хуруугаараа дээш шударна уу. Онцлогуудын хооронд сэлгэхийн тулд # хуруугаараа дээш шудраад, удаан дарна уу.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Бусад сонголт"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"<xliff:g id="SERVICE">%1$s</xliff:g>-н талаар нэмэлт мэдээлэл авах"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Дууны түвшний товчнууд"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"дууны түвшний товчнууд"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Дууны түвшний хоёр товчийг зэрэг удаан дарна уу"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Дэлгэцийг хоёр хуруугаараа хоёр товшино уу"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d хуруугаар хоёр товших"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Дэлгэц дээр хоёр удаа %1$d хуруугаараа хурдан товшино уу"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Гурав товших"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Дэлгэц дээр %1$d удаа хурдан товшино уу. Энэ нь таны төхөөрөмжийг удаашруулж магадгүй."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d хуруугаар хоёр товших"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Дэлгэцийг хоёр хуруугаараа {0,number,integer} удаа шуурхай товшино уу"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Дэлгэцийг гурав товших"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"гурав товших"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Дэлгэцийг {0,number,integer} удаа хурдан товшино уу. Энэ товчлол таны төхөөрөмжийг удаашруулж магадгүй."</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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Товчлолын тохиргоо"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Түгжээтэй дэлгэцэд ажиллах товчлол"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Онцлогийн товчлолд түгжээтэй дэлгэцээс асахыг зөвшөөрнө үү. Дууны түвшний хоёр товчийг хэдэн секундийн турш дарна уу."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Хандалтын товчлуур"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Хандалтын товчлуур болон зангаа"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Энэ үйлчилгээ буруу ажиллаж байна."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Хандалтын товчлол"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Шуурхай Тохиргоонд харуулах"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Улаан-ногоон"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Улаан-ногоон"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Улаан-ногоон, ногоон нь сул"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Улаан-ногоон, улаан нь сул"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Цэнхэр-шар"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Саарал өнгө"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Нэвчилт"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Ногоон сул, дьютераномаль"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Улаан сул, протаномаль"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Саарал өнгөний горимын хувьд эсвэл өнгө засахыг идэвхгүй болгосон байхад боломжгүй"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Хэт бүүдгэр"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Дэлгэцийг хэт бүүдгэр болгох"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Шар хөх"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Шар"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Улаан"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"<xliff:g id="SERVICE">%1$s</xliff:g>-д таны төхөөрөмжийг бүрэн хянахыг зөвшөөрөх үү?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> шаардлага:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Апп нь зөвшөөрөл авах хүсэлтийг танихгүй байгаа тул Тохиргооноос таны хариултыг баталгаажуулж чадахгүй байна."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> энэ төхөөрөмжийг бүрэн хянах хүсэлтэй байна. Энэ үйлчилгээ дэлгэцийг уншиж, хүртээмжийн үйлчилгээ шаардлагатай хэрэглэгчдийн өмнөөс үйлдэл хийх боломжтой. Энэ түвшний хяналт нь ихэнх аппад тохиромжгүй."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Бүрэн хянах нь таны хандалтын үйлчилгээний шаардлагад тусалдаг аппуудад тохиромжтой боловч ихэнх аппад тохиромжгүй байдаг."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Дэлгэцийг харах ба хянах"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Энэ нь дэлгэц дээрх бүх контентыг унших болон контентыг бусад аппад харуулах боломжтой."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Үйлдлийг харах болон гүйцэтгэх"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Энэ нь таны апп болон техник хангамжийн мэдрэгчтэй хийх харилцан үйлдлийг хянах болон таны өмнөөс апптай харилцан үйлдэл хийх боломжтой."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Зөвшөөрөх"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Татгалзах"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Унтраах"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Асаалттай / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> болон <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Мөн та Bluetooth төхөөрөмжид зориулсан орчны аудиог асааж болно."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Холбогдсон төхөөрөмжүүдийн тохиргоо"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Орчны аудио"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Унтраалттай"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Унтраалттай"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Унтраалттай"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Байхгүй}=1{1 хуваарийг тохируулсан}other{# хуваарийг тохируулсан}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Бүү саад бол"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Чухал байдлаар нь ангилах горим"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Горим нэмэх"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Горим"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Унтах, ажиллах, жолоо барих болон эдгээрийн хоорондох бүх зүйлд зориулсан горимоор саад болох зүйлийг багасгаж, анхаарал төвлөрөлтийнхөө хяналтыг гартаа аваарай."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Өөрийн горимыг үүсгэх"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Зөвхөн чухал хүмүүс болон аппуудаас мэдэгдэл авах"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Хуваарь тохируулах"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Дараахад тулгуурлан хуваарь гаргах"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Өдөр ба цаг"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"Ажлын өдрүүдэд 09:00 - 17:00\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Календарийн үйл явдал"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} идэвхтэй байна}=2{{mode_1} болон {mode_2} идэвхтэй байна}=3{{mode_1}, {mode_2}, {mode_3} идэвхтэй байна}other{{mode_1}, {mode_2} болон өөр # горим идэвхтэй байна}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 горим автоматаар асах боломжтой}other{# горим автоматаар асах боломжтой}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"АСААЛТТАЙ"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Тохируулаагүй"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Идэвхгүй болгосон"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Горим үүсгэх"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Захиалгат"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Одоо асаах"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Унтраах"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Горим олдсонгүй"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Саад болох зүйлсийг хязгаарлах"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Саад болох, анхаарал сарниулах зүйлсийг блоклоно уу"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g>-г тохируулна уу"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Бүү саад бол горимыг асаах"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Сэрүүлэг болон медиагийн ая нь тасалдуулах боломжтой"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Хуваарь"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Хуваарийг устгах"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Устгах"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Нэр өөрчлөх"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Устгах"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"\"<xliff:g id="MODE">%1$s</xliff:g>\" горимыг устгах уу?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Засах"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Хуваарь"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Хуваарь"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Автоматаар асаах"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Календарь нэмээрэй"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Календариа ашиглаарай"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Хуваарь"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Хуваарь тохируулах"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Хэзээ автоматаар асаах вэ?"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Үйл явдлын хуваарь"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Дараахын үйл явдлын үеэр асаах"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Урилгын хариу байгаа газар"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Цагийн хуваарь"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Хуваарь"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> цаг, <xliff:g id="MINUTES">%2$d</xliff:g> мин"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Хуваарь"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Дуу гаргадаг саад болох зүйлсийг зөвшөөрөх"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Танд хүрэх боломжтой мэдэгдэл"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Нэмэлт үйлдлүүд"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Мэдэгдлийн шүүлтүүр"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Бусад тохиргоо"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Унтраалттай}=1{Унтраалттай / 1 горимыг автоматаар асааж болно}other{Унтраалттай / # горимыг автоматаар асааж болно}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Дэлгэцийн тохиргоо"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Дэлгэцийн сонголтууд"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Саарал өнгө"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"бараан загварыг идэвхжүүлэх"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"OS, аппуудыг бараан дэвсгэр дээрх цайвар текстийг илүүд үзэх болгож сэлгэнэ үү. Энэ нь нүдэнд амар байж болох бөгөөд зарим төхөөрөмж дээр батарей ихээр хэмнэдэг"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Дэлгэцийн ямар ч өөрчлөлт байхгүй}=1{{effect_1}}=2{{effect_1}, {effect_2}}=3{{effect_1}, {effect_2}, {effect_3}}other{{effect_1}, {effect_2}, өөр #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Бүх мэдэгдлийг зөвшөөрөх"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Хүн, апп, дуу чимээ тасалдуулах боломжтой"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Шүүсэн мэдэгдэлд зориулсан дэлгэцийн сонголтууд"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Бүү саад бол горим асаалттай үед"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Мэдэгдлийн дууг хаах"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"мэдэгдлийг нээх"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Мэдэгдлийг түр хойшлуулахыг зөвшөөрөх"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Аппын дүрс тэмдэг дэх мэдэгдлийн цэг"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Мэдэгдлийн багц"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Бөмбөлгүүд"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Бөмбөлгүүд"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Энэ харилцан яриаг бөмбөлөг болгох"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Энэ нь мэдэгдлийг түр хойшлуулах, хаах болон дуудлагад хариулах зэргийг оруулаад мессежид хариу бичих, мэдэгдэл дэх товчлуурууд дээр үйлдэл хийх боломжтой."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Тохиргоог өөрчлөх"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Энэ нь Бүү саад бол горимыг асаах, унтраах болон холбоотой тохиргоог өөрчлөх боломжтой."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Энэ нь Горимыг удирдах, идэвхжүүлэх, холбоотой тохиргоог өөрчлөх боломжтой."</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_modes_warning_summary" msgid="7528432011433844158">"Хэрэв та <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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Тухайн агшин"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Энэ апп нь сайжруулсан тохиргоог дэмждэггүй"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Бусад тохиргоо"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Энэ аппад бусад тохиргоо боломжтой"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Дасан зохицох мэдэгдэл"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Дасан зохицох мэдэгдлийг ашиглах"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Та богино хугацаанд олон мэдэгдэл авсан үед таны утас хоёр хүртэлх минутын турш дууны түвшнийг сулруулж, дэлгэц дээрх попапыг багасгана. Дуудлага, сэрүүлэг, чухал харилцан яриа өмнөхтэй адилаар чичрэх, дуу гаргах, дэлгэц дээр харагдах бөгөөд таныг дэлгэцийн дээд талаас доош татах үед бүх мэдэгдэл олоход хялбар байна."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Мэдэгдлийн хөргөлт"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Мэдэгдлийн хөргөлтийг ашиглах"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Та богино хугацаанд олон мэдэгдэл хүлээн авсан үед таны төхөөрөмж 2 хүртэлх минутын турш дууны түвшнээ сулруулж, дохиог багасгана. Дуудлага, сэрүүлэг, чухал харилцан ярианд нөлөөлөхгүй. \n\nХөргөлтийн үеэр хүлээн авсан мэдэгдлийг дэлгэцийн дээд талаас доош татаж олох боломжтой."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Ажлын профайлуудад хэрэгжүүлэх"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Ажлын профайлын аппуудад ашиглах"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR туслагч үйлчилгээ"</string>
@@ -3650,6 +3717,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Горимын хандалт"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Горимын хандалтыг зөвшөөрөх"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Суулгасан ямар ч апп Горимд хандах хүсэлт гаргаагүй"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Та энэ аппаас мэдэгдэл хүлээн авахыг зөвшөөрөөгүй"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Андройд таны хүсэлтээр энэ ангиллын мэдэгдлийг тус төхөөрөмжид харуулахыг хориглож байна"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Андройд таны хүсэлтээр энэ бүлэг мэдэгдлийг энэ төхөөрөмжид харуулахыг хориглож байна"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Ангилал"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Бусад"</string>
     <string name="no_channels" msgid="4716199078612071915">"Энэ апп ямар ч мэдэгдэл нийтлээгүй"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Ашиглаагүй ангиллуудыг харуулах"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Аппын нэмэлт тохиргоо"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Ашиглаагүй ангиллуудыг харуулах"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Ашиглаагүй ангиллуудыг нуух"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Харилцан яриа"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Бүх харилцан яриа"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"бүх харилцан яриа"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Чухал харилцан яриа"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"чухал харилцан яриа"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Байхгүй"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Тасалдуулах боломжтой аппууд"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Сонгосон аппууд"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Байхгүй"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Бүгд"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Ямар ч апп тасалдуулах боломжгүй}=1{{app_1} тасалдуулах боломжтой}=2{{app_1} болон {app_2} тасалдуулах боломжтой}=3{{app_1}, {app_2}, {app_3} тасалдуулах боломжтой}other{{app_1}, {app_2} болон өөр # апп тасалдуулах боломжтой}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (ажил)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Тооцоолж байна…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Аппуудад дарахыг нь зөвшөөрөх"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Тасалдуулах боломжтой аппууд"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Бусад аппыг сонгох"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Юу ч тасалдуулах боломжгүй"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Хэн ч тасалдуулах боломжгүй"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Зарим хүн тасалдуулах боломжтой"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Давтан дуудлага хийгчид тасалдуулах боломжтой"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Бүх хүн тасалдуулах боломжтой"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Давтан дуудлага хийгч"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Давтан дуудлага хийгчийг зөвшөөрөх"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} хүртэл зөвхөн нэг цагийн турш сэрүүлэг болгож өөрчилнө}other{{time} хүртэл зөвхөн # цагийн турш сэрүүлэг болгож өөрчилнө}}"</string>
     <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_action_change_name" msgid="766639614789907016">"Нэр өөрчлөх"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Дүрс тэмдэг өөрчлөх"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Дүрс тэмдэг өөрчлөх"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Засах горим"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Горим үүсгэх"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Захиалгат горим"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Горимын нэр"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Календарийн үйл явдал"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Унтах цагийн хэвшил"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Жолоо барьж байхад"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Aппын тохиргоо"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"<xliff:g id="APP_NAME">%1$s</xliff:g> дахь мэдээлэл ба тохиргоо"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"<xliff:g id="APP_NAME">%1$s</xliff:g>-н удирддаг"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g>-г унтраах уу?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Идэвхгүй болгосон байхад энэ горим хэзээ ч асахгүй"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Идэвхгүй болгох"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g>-г идэвхжүүлэх үү?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Энэ горим тохиргооноосоо хамааран автоматаар асаж магадгүй"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Идэвхжүүлэх"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Тогтмол хуваарийг дагадаг горим тохируулаарай"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Календарийн үйл явдал болон урилгын хариуг синк хийхийн тулд горим тохируулаарай"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Унтахдаа хэрэгжүүлэх тайвшруулах хэвшлийг загварчлаарай. Сэрүүлэг тавьж, дэлгэцийг бүдгэрүүлж, мэдэгдлийг блоклоорой."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Төвлөрч, саадгүй жолоо барихын тулд зам дээр аюулгүй байдлыг чухалчлаарай"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Төвлөрөхийн тулд төхөөрөмжийнхөө анхаарал сарниулах эсвэл саад болох зүйлсийг блоклоорой"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Чимээгүй орчин бүрдүүлэхийн тулд бүх саад болох зүйлийг арилгаарай"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Өөр өөр хэрэглэгчид зориулж төхөөрөмжийн хэрэглээ болон тохиргоог хувийн болгоорой"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Зөвхөн чухал хүмүүс болон аппуудад тантай холбогдохыг зөвшөөрч, саад болох зүйлсийг багасгаарай"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Тогтмол хуваарийг дагадаг горим тохируулаарай"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Төхөөрөмжөө өдрийнхөө үйл явдлуудтай синк хийсэн хэвээр байлгаарай"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"100% эрч хүчтэй мэт сэрээрэй"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Замд явж байхдаа аюулгүй байдлыг нэгт тавиарай"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Бүрэн төвлөрөхийн тулд төвлөрлийг нэмэгдүүлээрэй"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Эелдэг байдал хэрэгтэй мөчүүдэд зориулсан"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Таныг санаа зовох зүйлгүй байхад туслах хөтөчтэй ашиглалт"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Анхаарал төвлөрлөө хяналтдаа аваарай"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Сануулга"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Хаах"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Энэ төхөөрөмжийн талаар санал илгээх"</string>
@@ -4006,6 +4110,11 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"<xliff:g id="APP">%1$s</xliff:g>-д Горимд хандахыг зөвшөөрөх үү?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Энэ апп Бүү саад бол онцлогийг асаах/унтраах, Горимыг удирдах, идэвхжүүлэх, холбоотой тохиргоонд өөрчлөлт хийх боломжтой болно."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Энэ аппын үүсгэсэн бүх горимыг хасна."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Оновчлохгүй"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Оновчлох"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Таны батарейг хурдан дуусгаж болзошгүй. Цаашид аппыг батарейг дэвсгэрт ашиглахаас сэргийлэхгүй."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Гэр"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Батарей"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Тохиргооны самбар"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"Дэлгэцийн горимыг хүчлэх"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Дэлгэцийн туршилтын горимыг хоёрдогч дэлгэцэд хүчлэх"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"Чөлөөт хэлбэрийн цонхыг идэвхжүүлэх"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Хоёрдогч дэлгэцэд чөлөөт хэлбэрийн цонх идэвхжүүл"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Хэмжээг өөрчлөх боломжгүй аппуудыг олон цонхонд идэвхжүүлэх"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Хэмжээг нь өөрчлөх боломжгүй аппуудыг олон цонхонд байхыг нь зөвшөөрнө"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Хүчээр бүдгэрүүлэхийг дарах"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"мобайл дата"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Төхөөрөмжийн хэрэглээг сайжруулахын тулд аппууд болон үйлчилгээнүүд нь Wi-Fi сүлжээг хүссэн үедээ буюу Wi-Fi-г унтраалттай байсан ч скан хийх боломжтой хэвээр байна. Үүнийг байршилд тулгуурласан онцлогууд болон үйлчилгээнүүдийг сайжруулах зэргээр ашиглаж болно. Та үүнийг Wi-Fi скан хийх тохиргоонд өөрчлөх боломжтой."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Өөрчлөх"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Холбогдсон"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Түр зуур холбогдсон"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"<xliff:g id="SUBNAME">%1$s</xliff:g>-г түр зуур ашиглаж байна"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Апп бэхлэхийг ашиглах"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Хөгжүүлэгчийн тохиргоог ашиглах"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Хэвлэгчийн үйлчилгээ ашиглах"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Олон хэрэглэгчийг зөвшөөрөх"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Хэрэглэгч сэлгэхийг зөвшөөрөх"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"зөвшөөрөх, хэд хэдэн, хэрэглэгч, зөвшөөрөл олгох, олон"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"олон, хэрэглэгч, профайл, хүмүүс, бүртгэл, сэлгүүр, хэд хэдэн"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Wireless debugging-г ашиглах"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> энэ утастай холбогдохыг хүсэж байна.\n\nТа өмнө нь <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>-тай холбогдож байгаагүй."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Бүү холбогд"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Холбогдох"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE-н тохиргоо"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Асаах"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Унтраах"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Өгөгдмөл тохиргоо руу буцаах"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Тохиргоог өгөгдмөл рүү буцаасан."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Бүрэн цэнэглэгдсэн үеийн дээд үлдэгдэл"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Үлдэгдэл"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Зарцуулалтын хязгаар"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Зарцуулалтын анхны хязгаар"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Зарцуулалтын доод хязгаар"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Зарцуулалтын дээд хязгаар"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Засварлагчид"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Үйлдэл (Үйлдвэрлэх зардал)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Үйлдэл (Үндсэн үнэ)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Нэг үйл явдал тутамд урамшуулал"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Үйл явдал үргэлжлэх секунд тутамд урамшуулалтай"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Урамшууллын өдрийн дээд хэмжээ"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Апп суулгах"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Шилдэг үйл ажиллагаа"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Мэдэгдлийг харсан"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Мэдэгдлийг 15 минутын дотор харсан"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Мэдэгдлийн харилцан үйлдэл"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Виджетийн харилцан үйлдэл"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Хэрэглэгчийн бусад харилцан үйлдэл"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Хамгийн чухал ажлыг эхлүүлэх"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Хамгийн чухал ажлыг ажиллуулж байна"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Маш чухал ажлыг эхлүүлэх"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Маш чухал ажлыг ажиллуулж байна"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Өгөгдмөл ажлыг эхлүүлэх"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Өгөгдмөл ажлыг ажиллуулж байна"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Чухал биш ажлыг эхлүүлэх"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Чухал биш ажлыг ажиллуулж байна"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Хамгийн чухал биш ажлыг эхлүүлэх"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Хамгийн чухал биш ажлыг ажиллуулж байна"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Ажлын хугацааны шийтгэл"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Бүрэн цэнэглэгдсэн үеийн доод үлдэгдэл (Чөлөөлсөн)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Бүрэн цэнэглэгдсэн үеийн доод үлдэгдэл (Хэрэглэгчийн интерфэйсгүй системийн апп)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Бүрэн цэнэглэгдсэн үеийн доод үлдэгдэл (Үлдсэн аппууд)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Бүрэн цэнэглэгдсэн үлдэгдлийн хамгийн бага нэмэгдэл (Апп шинэчлэгч)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Цэнэглэж байна"</item>
-    <item msgid="658627268149681677">"Зүүрмэглэх"</item>
-    <item msgid="1599558140284643834">"Батарей хэмнэх горим"</item>
-    <item msgid="588427840913221601">"Боловсруулах төлөв"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Баталгаажуулах"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Урьдчилан үзэх"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Дэлгэц амраагчийг сонгох"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Нэмэлт мэдээллийг харуул"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Таблетаа холбох үед дэлгэцэн дээр юу харагдахыг сонгоно уу. Дэлгэц амраагч ашиглах үед таны төхөөрөмж илүү их эрчим хүч зарцуулж болзошгүй."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Өөрчлөх"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>-г өөрчлөх"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Чөлөөт хэлбэрийн дэмжлэгийг идэвхжүүлэхийн тулд дахин асаах шаардлагатай."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Хоёрдогч дэлгэц дээр дэлгэцийн горимыг хүчлэхийн тулд дахин асаах шаардлагатай."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Чөлөөт хэлбэрийн цонхны дэмжлэгийг идэвхжүүлэхэд дахин асаах шаардлагатай."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Чөлөөт хэлбэрийн цонхны боломжтой байдлыг шинэчлэхэд дахин асаах шаардлагатай."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Хоёрдогч дэлгэцэд чөлөөт хэлбэрийн цонхыг идэвхжүүлэхэд дахин асаах шаардлагатай."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Одоо дахин асаах"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Дараа дахин асаах"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Орчны аудио"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Сарнай"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Гүн нил ягаан"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Хөх ягаан"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Болсон"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Хадгалах"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Цуцлах"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Өгөгдмөл"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Дунд зэрэг"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Асаалттай"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Унтраалттай"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Асаалттай"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Аудио %1$d%% зүүн, %2$d%% баруун"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Аудио %1$d%% баруун, %2$d%% зүүн"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Таны төхөөрөмжийн нэр суулгасан аппуудад тань харагдана. Таныг Bluetooth төхөөрөмжүүд, Wi-Fi сүлжээнд холбогдох эсвэл Wi-Fi сүлжээний цэг тохируулах үед үүнийг мөн бусад хүн харж магадгүй."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Хэл зүйн хүйс"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Хэл зүйн хүйс сонгох"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Аудио хуваалцахыг зогсоосон"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Тохирох төхөөрөмжийг холбох"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Аудио хуваалцаж эхлэхийн тулд эхлээд LE Аудио чихэвчийг утастайгаа холбоно уу"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> руу сэлгэх"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"LE аудио дамжуулалтад холбогдох"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Ойролцоох аудио дамжуулалтууд"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Аудио дамжуулалтууд"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Дамжуулалтыг сонсох"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>-р сонсохын тулд аудио дамжуулалтын QR кодыг скан хийнэ үү"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Хуваалцаж байхад нууц үгийг засах боломжгүй. Нууц үгийг өөрчлөхийн тулд эхлээд аудио хуваалцахыг унтраана уу."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR код сканнер"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Тусламж хэрэгтэй юү?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Хайлтын тохиргоо"</string>
 </resources>
diff --git a/res/values-mr/arrays.xml b/res/values-mr/arrays.xml
index 08c070a..a6ff624 100644
--- a/res/values-mr/arrays.xml
+++ b/res/values-mr/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"बेडटाइम"</item>
-    <item msgid="4152450357280759894">"ड्रायव्हिंग"</item>
-    <item msgid="7096549258219399423">"इमर्सिव्ह"</item>
-    <item msgid="2760716776980432977">"व्यवस्थापित"</item>
-    <item msgid="601734478369121764">"तारा"</item>
-    <item msgid="6243809315432780521">"कॅलेंडर"</item>
-    <item msgid="4913577903148415331">"वेळ"</item>
-    <item msgid="3653377604690057780">"थिएटर"</item>
-    <item msgid="3843711267408385410">"फूल"</item>
+    <item msgid="1216815120972438676">"ब्रीफकेस"</item>
+    <item msgid="184985872234062767">"क्लासिकल इमारत"</item>
+    <item msgid="9189550412466785530">"अपार्टमेंट इमारत"</item>
+    <item msgid="2142527562511049422">"स्पीच बबल"</item>
+    <item msgid="2548100558260478605">"लोकांचा गट"</item>
+    <item msgid="2270003903304578284">"लाइटबल्ब"</item>
+    <item msgid="4793496619091161864">"कॅलेंडर"</item>
+    <item msgid="5673625795644364100">"व्यत्यय आणू नका"</item>
+    <item msgid="1423820834865831361">"धावणारी व्यक्ती"</item>
+    <item msgid="2037298830718732608">"गोल्फ"</item>
+    <item msgid="2197835014443491074">"व्यायामशाळेतील डंबेल"</item>
+    <item msgid="2730180105015616518">"पोहणे"</item>
+    <item msgid="2666922823253345958">"हायकिंग करत असलेली व्यक्ती"</item>
+    <item msgid="8234880356472211396">"बॉल फेकत असलेली व्यक्ती"</item>
+    <item msgid="4642980625253001443">"किक मारत असलेली व्यक्ती"</item>
+    <item msgid="4324795269518833500">"गेम कंट्रोलर"</item>
+    <item msgid="7789966425125441125">"कलाकाराकडील कलर पॅलेट"</item>
+    <item msgid="663512680597461570">"स्नोफ्लेक"</item>
+    <item msgid="7952183800501346803">"समुद्रकिनाऱ्यावर वापरली जाणारी छत्री"</item>
+    <item msgid="799139025758265891">"कारखान्यातील अवजारे"</item>
+    <item msgid="1330084588359129896">"तंबू"</item>
+    <item msgid="3861584909935022342">"फिल्म रील"</item>
+    <item msgid="5827426100157335512">"पुस्तक"</item>
+    <item msgid="8585828346253128384">"कमळाचे फूल"</item>
+    <item msgid="8788370542815300188">"व्यक्तीचे मन"</item>
+    <item msgid="7287354964767553293">"हेडफोन"</item>
+    <item msgid="2530059623783800987">"टीव्ही"</item>
+    <item msgid="5307182323469376758">"ट्रेन"</item>
+    <item msgid="4903790544026923026">"कार"</item>
+    <item msgid="5010405583912314582">"काटा आणि सुरी"</item>
+    <item msgid="8939998598599064900">"शॉपिंग कार्ट"</item>
+    <item msgid="3379605903308731893">"लहान मूल"</item>
+    <item msgid="7808668968550293112">"प्राण्याचा पंजा"</item>
+    <item msgid="1000692647524056504">"स्टार बॅज"</item>
+    <item msgid="8270261073421676502">"दोन लोक"</item>
+    <item msgid="5767782819651505460">"तारा"</item>
+    <item msgid="4368451291862729334">"हार्ट"</item>
+    <item msgid="2613199102208419986">"हाउस"</item>
+    <item msgid="3022279986430275040">"अर्धचंद्र"</item>
+    <item msgid="5421089790869483206">"घड्याळ"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index ddc0f0f..8b0bb78 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"निलंबित"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"अज्ञात"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"पूर्वावलोकन"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR कोड"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"आणखी लहान करा"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"आणखी मोठे करा"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"नेहमी"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"श्रवणयंत्राची सेटिंग्ज"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"शॉर्टकट, श्रवणयंत्राची कंपॅटिबिलिटी"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"प्रीसेट"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"तुमच्या ऑडिओलॉजिस्टने प्रोग्राम केलेले प्रीसेट नाहीत"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"प्रीसेट अपडेट करता आले नाही"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"ऑडिओ आउटपुट"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ऑडिओ आउटपुटबद्दल"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"या अ‍ॅपसाठीची भाषा निवडणे हे सेटिंग्ज मध्ये उपलब्ध नाही."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"अ‍ॅपमध्ये उपलब्ध असलेल्या भाषांपेक्षा भाषा वेगळी असू शकते. काही अ‍ॅप्स कदाचित या सेटिंगला सपोर्ट करत नाहीत."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"प्रत्येक ॲपसाठी भाषा सेट करा."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"तुमची सिस्टीम, अ‍ॅप्स आणि वेबसाइट या तुमच्या प्राधान्य दिलेल्या भाषांमधील पहिली सपोर्ट असलेली भाषा वापरतात."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"तुमचे डिव्हाइस, अ‍ॅप्स आणि वेबसाइट या तुमच्या प्राधान्य दिलेल्या भाषा सूचीमधील पहिली सपोर्ट असलेली भाषा वापरतात.\n\nअनेक ॲप्स तुमच्या प्राध्यान्य दिलेल्या भाषेतील प्रदेशाचा वापर तारखा, संख्या आणि युनिट फॉरमॅट करण्यासाठी करतील. तुमचा प्रदेश बदलण्यासाठी भाषा जोडा त्यानंतर तुम्ही प्राधान्‍य दिलेली भाषा निवडा."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"प्रत्येक अ‍ॅपसाठी भाषा निवडण्यासाठी, अ‍ॅप भाषा सेटिंग्जवर जा."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"ॲपच्या भाषांविषयी अधिक जाणून घ्या"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"सिस्टीमची भाषा %s वर बदलायची आहे का ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"बंद"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{सुरू आहे / # अ‍ॅपला स्थानाचा अ‍ॅक्सेस आहे}other{सुरू आहे / # अ‍ॅप्सना स्थानाचा अ‍ॅक्सेस आहे}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"लोड करत आहे…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"जवळपासच्या डिव्हाइसची परवानगी असणारी ॲप्स कनेक्ट केलेल्या डिव्हाइसचे संबंधित स्थान निर्धारित करू शकतात."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"जवळपासच्या डिव्हाइसची परवानगी असणारी ॲप्स कनेक्ट केलेल्या डिव्हाइसचे संबंधित स्थान निर्धारित करू शकतात."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"ॲप्स आणि सेवांसाठी स्थान अ‍ॅक्सेस बंद आहे. तुम्ही आणीबाणी नंबरवर कॉल केल्यास किंवा एसएमएस पाठवल्यास तुमच्या डिव्हाइसचे स्थान आणीबाणी प्रतिसादकर्त्यांना अद्याप पाठवले जाऊ शकते."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"स्थान सेटिंग्जबद्दल अधिक जाणून घ्या"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"बदलण्यासाठी ChromeOS सेटिंग्ज &gt; गोपनीयता आणि सुरक्षा &gt; गोपनीयता नियंत्रणे &gt; स्थान अ‍ॅक्सेस वर जा"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"चेहरा आणि <xliff:g id="WATCH">%s</xliff:g> जोडले"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"चेहरा, फिंगरप्रिंट आणि <xliff:g id="WATCH">%s</xliff:g> जोडले"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"चेहरा, फिंगरप्रिंट आणि <xliff:g id="WATCH">%s</xliff:g> जोडले"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"ओळख तपासणी सुरू आहे आणि बायोमेट्रिक आवश्यक आहे"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator अनलॉक करा"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"वॉच जोडले आहे"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"तुमचे वॉच सेट करा"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"वॉच अनलॉक बद्दल अधिक जाणून घ्या"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"वॉच जोडा"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"वॉच काढून टाका"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"फिंगरप्रिंट आणि फेस अनलॉक"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"फेस आणि फिंगरप्रिंट अनलॉक"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"कार्य प्रोफाइलसाठी फेस आणि फिंगरप्रिंट अनलॉक"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"सेटअप आवश्यक आहे"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"चेहरा आणि फिंगरप्रिंट जोडल्या"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"खाजगी स्पेस सेट करत आहे…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"खाजगी स्पेस सेट करता आली नाही"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"पुन्हा प्रयत्न करा"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"बाहेर पडा"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"खाजगी स्पेस उपलब्ध नाही.\nसंभाव्य कारणे पहा"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"संभाव्य कारणे पहा"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"खाजगी स्पेससाठी नवीन लॉक निवडायचे आहे का?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"तुम्ही फक्त खाजगी स्पेससाठी नवीन लॉक सेट करू शकता किंवा तुम्ही तुमचे डिव्हाइस अनलॉक करण्यासाठी वापरता तेच लॉक वापरू शकता"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"स्क्रीन लॉक वापरा"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ब्‍लूटूथ सुरू असते, तेव्हा तुमचे डिव्‍हाइस इतर जवळपासच्‍या ब्‍लूटूथ डिव्‍हाइसशी संवाद साधू शकते.\n\nडिव्‍हाइसच्या अनुभवामध्ये सुधारणा करण्‍यासाठी, ब्‍लूटूथ बंद असतानादेखील, अ‍ॅप्स आणि सेवा जवळपासची डिव्‍हाइस कधीही स्‍कॅन करू शकतात. उदाहरणार्थ, हे स्थानावर आधारित वैशिष्ट्ये आणि सेवांमध्ये सुधारणा करण्यासाठी वापरले जाऊ शकते. तुम्‍ही हे ब्लूटूथ स्‍कॅनिंग सेटिंग्‍जमध्‍ये जाऊन बदलू शकता."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"ब्लूटूथ सुरू असताना, तुमचे डिव्हाइस जवळपासच्या इतर ब्लूटूथ डिव्हाइसशी संवाद साधू शकते. क्विक शेअर आणि Find My Device यांसारखी वैशिष्‍ट्ये ब्लूटूथ वापरतात.\n\nब्लूटूथ बंद असतानादेखील ॲप्स आणि सेवा या कधीही जवळपासच्या डिव्हाइससाठी तरीही स्कॅन करू शकतात. उदाहरणार्थ, स्थानावर आधारित वैशिष्ट्ये व सेवा यांमध्ये सुधारणा करण्यासाठी याचा वापर केला जाऊ शकतो. तुम्ही ब्लूटूथ स्कॅन करण्याशी संबंधित सेटिंग्जमध्ये हे बदलू शकता."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"बदला"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> कनेक्ट केलेले नाही"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"तुमच्या सुरक्षेसाठी, हे डिव्हाइस विसरा, नंतर ते पुन्हा पेअर करा"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"डिव्हाइस विसरा"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"रद्द करा"</string>
     <string name="device_details_title" msgid="1155622417516195481">"डिव्हाइस तपशील"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"कीबोर्ड सेटिंग्ज"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"आणखी सेटिंग्ज"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"फर्मवेअर अपडेट, याविषयी आणि आणखी बरेच काही"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"टिपा आणि सपोर्ट"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"डिव्हाइसचा ब्लूटूथ अ‍ॅड्रेस: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"डिव्हाइसचा ब्लूटूथ अ‍ॅड्रेस:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"डिव्हाइस विसरायचे का?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"प्रायोगिक. ऑडिओची गुणवत्ता सुधारते."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"डिव्हाइस विसरा"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"अ‍ॅप डिस्कनेक्‍ट करा"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"आणखी सेटिंग्ज"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"जास्तीत जास्त कनेक्ट होऊ शकणारी ऑडिओ डिव्हाइस"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"जास्तीत जास्त कनेक्ट होऊ शकणार्‍या ऑडिओ डिव्हाइसची संख्या निवडा"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC व्हर्बोझ विक्रेता डीबग लॉग"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"डिव्हाइस रीस्टार्ट करायचे आहे का?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"तपशीलवार NFC लॉगिंग हे फक्त विकासाच्या उद्देशाने आहे. बग रिपोर्टमध्ये अतिरिक्त NFC डेटाचा समावेश केला आहे, ज्यामध्ये खाजगी माहितीचा समावेश असू शकतो. हे सेटिंग बदलण्यासाठी तुमचे डिव्हाइस रीस्टार्ट करा."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"रीस्टार्ट करा"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"सुरू आहे"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"बंद आहे"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"बाह्य डिस्प्ले"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"बाह्य डिस्प्ले वापरा"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"डिस्प्ले रेझोल्यूशन"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"बाह्य डिस्प्ले डिस्कनेक्ट केला आहे"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"रोटेशन"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"साधारण"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"९०°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"१८०°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"२७०°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"रोटेशन किंवा रेझोल्यूशन बदलल्याने सध्या सुरू असलेली कोणतीही अ‍ॅप्स थांबू शकतात"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"तुमची स्क्रीन मिरर करण्यासाठी तुमचे डिव्हाइस बाह्य डिस्प्लेशी कनेक्ट केलेले असणे आवश्यक आहे"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"आणखी पर्याय"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"कास्‍ट करा"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"मिरर करा"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"वायरलेस डिस्प्ले सुरू करा"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"अडॅप्टिव्ह"</string>
     <string name="brightness" msgid="6216871641021779698">"ब्राइटनेस पातळी"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"अडॅप्टिव्ह ब्राइटनेस"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"अडॅप्टिव्ह ब्राइटनेसबद्दल"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"तुमच्या स्क्रीनचा ब्राइटनेस तुमच्या वातावरण आणि अ‍ॅक्टिव्हिटीशी आपोआप अ‍ॅडजस्ट होईल. अडॅप्टिव्ह ब्राइटनेसला तुमची प्राधान्ये जाणून घेण्यात मदत करण्यासाठी तुम्ही स्लाइडर मॅन्युअली हलवू शकता."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"सुरू"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"बंद"</string>
@@ -1311,8 +1340,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="8850185380445309835">"प्राधान्यकृत सिम अपडेट करायचे?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"तुमच्या मोबाइल डिव्‍हाइसमध्‍ये केवळ <xliff:g id="NEW_SIM">%1$s</xliff:g> सिम आहे. तुम्ही मोबाइल डेटा, कॉल आणि एसएमएस मेसेजसाठी हे सिम वापरू इच्छिता का?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> हे आता तुमचे प्राथमिक सिम आहे"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"मोबाइल डेटा कव्हरेज सुधारायचे का?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"अधिक चांगली उपलब्धता असताना तुमच्या डिव्हाइसला मोबाइल डेटासाठी आपोआप <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> वर स्विच करण्याची अनुमती द्या."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"कॉल, Messages आणि नेटवर्क ट्रॅफिक तुमच्या संस्थेला दृश्यमान असू शकते."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"पर्याय"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"अ‍ॅक्सेसिबिलिटी"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"वास्तविक कीबोर्ड"</string>
-    <string name="show_ime" msgid="4334255501724746849">"ऑन-स्क्रीन कीबोर्ड वापरा"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"वास्तविक कीबोर्ड अ‍ॅक्टिव्ह असताना त्यास स्क्रीनवर ठेवा"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"बाउन्स की"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"कीबोर्ड <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> मिसेमध्ये एकच की वारंवार प्रेस करण्याकडे दुर्लक्ष करतो"</string>
     <string name="slow_keys" msgid="2891452895499690837">"स्लो की"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"<xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> मिसेपर्यंत अ‍ॅक्टिव्हेट होण्यासाठी की प्रेस करण्याकरिता लागणारा वेळ अ‍ॅडजस्ट करा"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"स्टिकी की"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"की एकत्र धरून ठेवण्याऐवजी शॉर्टकटसाठी एकावेळी एक की प्रेस करा"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"माउस की"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"माउस नियंत्रणासाठी वास्तविक कीबोर्ड वापरा."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"कीबोर्ड शॉर्टकट"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"शॉर्टकटची सूची दाखवा"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"कार्य प्रोफाइल कीबोर्ड आणि टूल"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"वैयक्तिक टचपॅड नेव्हिगेट जेश्चर कस्टमाइझ करा"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"स्क्रोलिंग उलट करा"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"तुम्ही खालती स्क्रोल करता तेव्हा आशय वरती हलतो"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"तळाशी उजवीकडे टॅप करा"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"अधिक पर्यायांसाठी टचपॅडच्या तळाशी उजव्या कोपऱ्यावर टॅप करा"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"तळाशी उजवीकडे क्लिक करा"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"अधिक पर्यायांसाठी टचपॅडच्या तळाशी उजव्या कोपऱ्यावर क्लिक करा"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"पॉइंटर वेग"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"पॉइंटर फिलची शैली"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"पॉइंटर फिलची शैली बदलून काळी करा"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"पॉइंटर फिलची शैली बदलून पिवळी करा"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"पॉइंटर फिलची शैली बदलून गुलाबी करा"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"पॉइंटर फिलची शैली बदलून निळी करा"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"पॉइंटरच्या स्‍ट्रोकची शैली"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"पांढरा"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"काळा"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"कोणताही नाही"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"टचपॅड जेश्चर जाणून घ्या"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"ट्रॅकपॅड, ट्रॅक पॅड, माउस, कर्सर, स्क्रोल करा, स्‍वाइप करा, राइट-क्लिक करा, क्लिक करा, पॉइंटर"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"राइट-क्लिक करा, टॅप करा"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"रीसेट करा"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"मॉडिफायर की निवडा"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> साठी नवीन की निवडा:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"वास्तविक कीबोर्ड अ‍ॅक्सेसिबिलिटी"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"स्टिकी की, बाउन्स की, माउस की"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> लेआउट"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"डीफॉल्ट"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"ऑटोमॅटिक: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"वापरकर्त्याने निवडले आहे: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"भाषण"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"पॉइंटर वेग"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"पॉइंटर स्केल"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"पॉइंटर स्केल कमी करा"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"पॉइंटर स्केल वाढवा"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"गेम नियंत्रक"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"व्हायब्रेट पुनर्निर्देशित करा"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"कनेक्ट केले असताना गेम नियंत्रकाला व्हायब्रेशन पाठवा"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"तरीही पुढे सुरू ठेवा"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"रद्द करा"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"मॅग्निफिकेशन सेटिंग्ज"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"एका बोटाने पॅन करणे"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"मॅग्निफायर एका बोटाने हलवा"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"स्क्रीनभोवती हलवण्यासाठी १ बोट ड्रॅग करा"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"एका बोटाने ड्रॅग करून मॅग्निफिकेशनचा भाग हलवा."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"दोन बोटांनी ड्रॅग करून मॅग्निफिकेशनचा भाग हलवा."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"फक्त स्क्रीनचा भाग मॅग्निफाय करताना उपलब्ध नसेल"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"झूम करण्यासाठी बटणावर टॅप करा"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"आशय आणखी मोठा करून पाहण्यासाठी स्क्रीनवर झटपट झूम इन करा"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;झूम इन करण्यासाठी:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. मॅग्निफिकेशन सुरू करण्यासाठी शॉर्टकट वापरा&lt;br/&gt; {1,number,integer}. स्क्रीनवर टॅप करा&lt;br/&gt; {2,number,integer}. स्क्रीनवर हलवण्यासाठी दोन बोटांनी ड्रॅग करा&lt;br/&gt; {3,number,integer}. झूम अ‍ॅडजस्ट करण्यासाठी दोन बोटांनी पिंच करा&lt;br/&gt; {4,number,integer}. मॅग्निफिकेशन थांबवण्यासाठी शॉर्टकट वापरा&lt;br/&gt;&lt;br/&gt; &lt;b&gt;तात्पुरते झूम इन करण्यासाठी:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. तुमचा मॅग्निफिकेशनचा प्रकार फुल स्क्रीनवर सेट केला असल्याची खात्री करा&lt;br/&gt; {1,number,integer}. मॅग्निफिकेशन सुरू करण्यासाठी शॉर्टकट वापरा&lt;br/&gt; {2,number,integer}. स्क्रीनवर कुठेही स्पर्श कऱून धरून ठेवा&lt;br/&gt; {3,number,integer}. स्क्रीनवर हलवण्यासाठी बोटाने ड्रॅग करा&lt;br/&gt; {4,number,integer}. मॅग्निफिकेशन थांबवण्यासाठी बोट उचला"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;झूम इन करण्यासाठी:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. मॅग्निफिकेशन सुरू करण्यासाठी शॉर्टकट वापरा&lt;br/&gt; {1,number,integer}. स्क्रीनवर टॅप करा&lt;br/&gt; {2,number,integer}. स्क्रीनवर हलवण्यासाठी २ बोटे ड्रॅग करा&lt;br/&gt; {3,number,integer}. झूम अ‍ॅडजस्ट करण्यासाठी २ बोटांनी पिंच करा&lt;br/&gt; {4,number,integer}. मॅग्निफिकेशन थांबवण्यासाठी शॉर्टकट वापरा&lt;br/&gt;&lt;br/&gt; तुम्ही तात्पुरते झूम इन करू शकता आणि आणखी बरेच काही करू शकता."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;झूम इन करण्यासाठी:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. मॅग्निफिकेशन सुरू करण्यासाठी शॉर्टकट वापरा&lt;br/&gt; {1,number,integer}. स्क्रीनवर टॅप करा&lt;br/&gt; {2,number,integer}. स्क्रीनवर हलवण्यासाठी १ किंवा २ बोटे ड्रॅग करा&lt;br/&gt; {3,number,integer}. झूम अ‍ॅडजस्ट करण्यासाठी २ बोटांनी पिंच करा&lt;br/&gt; {4,number,integer}. मॅग्निफिकेशन थांबवण्यासाठी शॉर्टकट वापरा&lt;br/&gt;&lt;br/&gt; तुम्ही तात्पुरते झूम इन करू शकता आणि आणखी बरेच काही करू शकता."</string>
     <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"मॅग्निफिकेशन सुरू असल्यास, तुम्ही तुमची स्क्रीन झूम इन करू शकता.\n\n"<b>"झूम करण्यासाठी"</b>", मॅग्निफिकेशन सुरू करा आणि त्यानंतर स्क्रीनवर कुठेही टॅप करा.\n"<ul><li>"स्क्रोल करण्यासाठी दोन किंवा अधिक बोटांनी ड्रॅग करा."</li>\n<li>"झूम अ‍ॅडजस्ट करण्यासाठी दोन किंवा अधिक बोटांनी पिंच करा"</li></ul>\n\n<b>"तात्पुरते झूम करण्यासाठी "</b>", मॅग्निफिकेशन सुरू करा आणि स्क्रीनवर कुठेही धरून ठेवा.\n"<ul><li>"स्क्रीनवर कुठेही जाण्यासाठी ड्रॅग करा "</li>\n<li>"झूम आउट करण्यासाठी बोट उचला"</li></ul>\n\n"तुम्ही कीबोर्ड किंवा नेव्हिगेशन बार वर झूम इन करू शकत नाही."</string>
     <string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g> पैकी <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> पेज"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"अ‍ॅक्सेसिबिलिटी बटणासाठी शॉर्टकट"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"फ्लोटिंग बटणावर टॅप करा"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"ॲक्सेसिबिलिटी जेश्चर"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"तुमच्या स्क्रीनच्या तळाशी असलेले अ‍ॅक्सेसिबिलिटी बटण <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> यावर टॅप करा. वैशिष्ट्यांदरम्यान स्विच करण्यासाठी अ‍ॅक्सेसिबिलिटी बटणाला स्पर्श करून धरून ठेवा."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"दोन बोटांनी स्क्रीनच्या तळापासून वर स्वाइप करा.\n\nवैशिष्ट्यांदरम्यान स्विच करण्यासाठी दोन बोटांनी वर स्वाइप करा आणि धरून ठेवा."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"तीन बोटांनी स्क्रीनच्या तळापासून वर स्वाइप करा.\n\nवैशिष्ट्यांदरम्यान स्विच करण्यासाठी तीन बोटांनी वर स्वाइप करा आणि धरून ठेवा."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{तुमच्या स्क्रीनच्या तळापासून वर स्‍वाइप करा. वैशिष्ट्यांदरम्यान स्विच करण्यासाठी, वर स्वाइप करून धरून ठेवा.}other{# बोटांनी तुमच्या स्क्रीनच्या तळापासून वर स्वाइप करा. वैशिष्ट्यांदरम्यान स्विच करण्यासाठी, # बोटांनी वर स्वाइप करून धरून ठेवा.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"आणखी पर्याय"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"<xliff:g id="SERVICE">%1$s</xliff:g> बद्दल अधिक जाणून घ्या"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"व्हॉल्यूम की"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"व्हॉल्यूम की"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"दोन्ही व्हॉल्यूम की प्रेस करून धरून ठेवा"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"दोन बोटांनी स्क्रीनवर दोनदा टॅप करा"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d बोटांनी दोनदा टॅप करा"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"स्क्रीनवर %1$d बोटांनी दोन वेळा झटपट टॅप करा"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"तीनदा टॅप करा"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"स्क्रीनवर %1$d वेळा झटपट टॅप करा. यामुळे तुमच्या डिव्हाइसचा वेग कमी होऊ शकतो."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d बोटांनी दोन वेळा टॅप करा"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"दोन बोटांनी स्क्रीनवर {0,number,integer} वेळा झटपट टॅप करा"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"स्क्रीनवर तीन वेळा टॅप करा"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"तीन वेळा टॅप करा"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"स्क्रीनवर झटपट {0,number,integer} वेळा टॅप करा. हा शॉर्टकट तुमच्या डिव्हाइसचा वेग कमी करू शकताे"</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_global_gesture_preference_title" msgid="8866765674372344850">"व्हॉल्यूम की शॉर्टकट"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"शॉर्टकट सेटिंग्ज"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"लॉक स्‍क्रीनवरील शॉर्टकट"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"लॉक स्‍क्रीनवरील व्हॉल्यूम की शॉर्टकट"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"लॉक स्क्रीनवरून सुरू होण्यासाठी वैशिष्ट्य शॉर्टकटला अनुमती द्या. दोन्ही व्हॉल्यूम की काही सेकंदांसाठी धरून ठेवा."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"अ‍ॅक्सेसिबिलिटी बटण"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"ॲक्सेसिबिलिटी बटण आणि जेश्चर"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"या सेवेमध्ये बिघाड आहे."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"अ‍ॅक्सेसिबिलिटी शॉर्टकट"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"द्रुत सेटिंग्जमध्ये दर्शवा"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"लाल-हिरवा"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"लाल-हिरवा"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"लाल-हिरवा, हिरवा रंग न दिसणे"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"लाल-हिरवा, लाल रंग न दिसणे"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"निळा-पिवळा"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"ग्रेस्केल"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"तीव्रता"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"हिरवा रंग न दिसणे, द्वितीयवर्ण दृष्टिक्षीणता"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"लाल रंग न दिसणे, प्रथमवर्ण दृष्टिक्षीणता"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"ग्रेस्केल मोडसाठी किंवा रंग सुधारणा बंद असताना उपलब्ध नाही"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"आणखी डिम"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"स्क्रीन आणखी डिम करा"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"हिरवट निळा"</string>
     <string name="color_yellow" msgid="5957551912912679058">"पिवळा"</string>
     <string name="color_magenta" msgid="8943538189219528423">"किरमिजी तांबडा"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"<xliff:g id="SERVICE">%1$s</xliff:g> ला तुमच्या डिव्हाइसचे संपूर्ण नियंत्रण देण्यासाठी अनुमती द्यायची आहे का?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"यासाठी <xliff:g id="SERVICE">%1$s</xliff:g> आवश्यक आहे:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"अ‍ॅप परवानगी विनंती अस्पष्‍ट करीत असल्‍याने, सेटिंग्ज आपल्या प्रतिसादाची पडताळणी करू शकत नाहीत."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g>या डिव्हाइसच्या पूर्ण नियंत्रणासाठी विनंती करत आहे. सेवा स्क्रीन रीड करू शकते आणि अ‍ॅक्सेसिबिलिटीच्या गरजा असलेल्या वापरकर्त्यांच्या वतीने कृती करू शकते. नियंत्रणाची ही पातळी बहुतांश अ‍ॅप्ससाठी योग्य नाही."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"जी ॲप्स तुमच्या ॲक्सेसिबिलिटी गरजा पूर्ण करतात अशा ॲप्ससाठी संपूर्ण नियंत्रण योग्य आहे. पण ते सर्व ॲप्सना लागू होईल असे नाही."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"स्क्रीन पहा आणि नियंत्रित करा"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"ते स्क्रीनवरील सर्व आशय वाचू शकते आणि इतर ॲप्सवर आशय प्रदर्शित करू शकते."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"पहा आणि क्रिया करा"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"हे तुमचा ॲप किंवा हार्डवेअर सेन्सरसोबतचा परस्‍परसंवाद ट्रॅक करू शकते आणि इतर ॲप्ससोबत तुमच्या वतीने संवाद साधू शकते."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"अनुमती द्या"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"नकार द्या"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"बंद करा"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"सुरू आहे / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> आणि <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"तुम्ही ब्लूटूथ डिव्‍हाइससाठी स्पेशियल ऑडियो देखील सुरू करू शकता."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"कनेक्‍ट केलेली डिव्हाइस सेटिंग्ज"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"स्पेशियल ऑडिओ"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"बंद आहे"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"बंद आहे"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"बंद आहे"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{None}=1{एक शेड्युल सेट केले}other{# शेड्युल सेट केली}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"व्यत्यय आणू नका"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"प्राधान्य मोड"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"मोड जोडा"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"मोड"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"व्यत्यय कमी करा आणि झोप, काम, ड्रायव्हिंग आणि आणखी बऱ्याच मोडसह तुमचे लक्ष नियंत्रित करा."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"तुमचा स्वतःचा मोड तयार करा"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"फक्त महत्त्वाच्या लोकांच्या आणि अ‍ॅप्सच्या सूचना मिळवा"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"शेड्यूल सेट करा"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"यावर आधारित शेड्यूल"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"तारीख आणि वेळ"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"आठवड्यातील दिवस सकाळी ९ - संध्याकाळी ५\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"कॅलेंडर इव्हेंट"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} अ‍ॅक्टिव्ह आहे}=2{{mode_1} आणि {mode_2} अ‍ॅक्टिव्ह आहेत}=3{{mode_1}, {mode_2} आणि{mode_3} अ‍ॅक्टिव्ह आहेत}other{{mode_1}, {mode_2} आणि आणखी # अ‍ॅक्टिव्ह आहेत}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{१ मोड आपोआप सुरू होऊ शकतो}other{# मोड आपोआप सुरू होऊ शकतात}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"सुरू आहे"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"सेट केलेला नाही"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"बंद केला आहे"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"मोड तयार करा"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"कस्टम"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"आता सुरू करा"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"बंद करा"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"मोड आढळला नाही"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"व्यत्यय मर्यादित करा"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"व्यत्यय ब्लॉक करा"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g> सेट करा"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"व्यत्यय आणू नका सुरू करा"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"अलार्म आणि मीडियाचे आवाज व्यत्यय आणू शकतात"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"शेड्युल"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"शेड्युल हटवा"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"हटवा"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"नाव बदला"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"हटवा"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"\"<xliff:g id="MODE">%1$s</xliff:g>\" मोड हटवायचा आहे का?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"संपादित करा"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"शेड्युल"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"शेड्युल"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"आपोआप सुरू करा"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"कॅलेंडर जोडा"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"तुमचे कॅलेंडर वापरा"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"शेड्यूल"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"शेड्यूल सेट करा"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"आपोआप सुरू कधी करायचे"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"इव्‍हेंटचे शेड्यूल"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"साठी इव्‍हेंटदरम्यान सुरू करा"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"आमंत्रणाला उत्तर आले की"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"वेळेचे शेड्यूल"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"शेड्यूल"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> तास <xliff:g id="MINUTES">%2$d</xliff:g> मिनिटे"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"शेड्युल"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"आवाज करतात त्या सर्व व्यत्ययांना अनुमती द्या"</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="mode_interruption_filter_title" msgid="6657431939996264417">"तुमच्यापर्यंत पोहोचू शकणारी नोटिफिकेशन"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"अतिरिक्त कृती"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"नोटिफिकेशन फिल्टर"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"आणखी सेटिंग्ज"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{बंद आहे}=1{बंद आहे / १ मोड आपोआप सुरू होऊ शकतो}other{बंद आहे / # मोड आपोआप सुरू होऊ शकतात}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"डिस्प्ले सेटिंग्ज"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"डिस्प्ले पर्याय"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"ग्रेस्केल"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"गडद थीम सुरू करा"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"गडद बॅकग्राउंडवर फिकट मजकुराला प्राधान्य देण्यासाठी OS आणि ॲप्स स्विच करा, ज्यामुळे डोळ्यांवर ताण येत नाही व काही डिव्हाइसवर लक्षणीय प्रमाणात बॅटरीची बचत होते"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{No display changes}=1{{effect_1}}=2{{effect_1} आणि {effect_2}}=3{{effect_1}, {effect_2} आणि {effect_3}}other{{effect_1}, {effect_2} आणि आणखी #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"सर्व नोटिफिकेशनना अनुमती द्या"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"लोक, ॲप्स आणि आवाज व्यत्यय आणू शकतात"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"फिल्टर केलेल्या नोटिफिकेशनसाठी डिस्प्ले पर्याय"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"व्यत्यय आणू नका सुरू असते तेव्हा"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"सूचना आल्यावर आवाज नाही"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"सूचना उघडा"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"सूचना स्नूझ करण्याची अनुमती द्या"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"ॲप आयकनवर सूचना बिंदू"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"नोटिफिकेशन बंडल"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"बबल"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"बबल"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"हे संभाषण बबल करा"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"ते मेसेजना उत्तर देऊ शकते आणि सूचना स्नूझ करणे किंवा डिसमिस करणे व कॉलना उत्तर देणे यांच्या समावेशसह सूचनांमधील बटणांवर कृती करू शकते."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"सेटिंग्ज बदला"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"ते व्यत्यय आणू नका हे सुरू किंवा बंद करू शकते आणि संबंधित सेटिंग्ज बदलू शकते."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"हे ॲक्टिव्हेट मोड व्यवस्थापित आणि ॲक्टिव्हेट करू शकते व संबंधित सेटिंग्जदेखील बदलू शकते."</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_modes_warning_summary" msgid="7528432011433844158">"तुम्ही <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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"रीअल-टाइम"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"हे ॲप वर्धित सेटिंग्जना सपोर्ट करत नाही"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"अधिक सेटिंग्ज"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"या अ‍ॅपमध्ये अधिक सेटिंग्ज उपलब्ध आहेत"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"अ‍डॅप्टिव्ह नोटिफिकेशन"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"अ‍डॅप्टिव्ह नोटिफिकेशन वापरा"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"तुम्हाला थोड्या कालावधीमध्ये बरीच नोटिफिकेशन मिळतात, तेव्हा तुमचा फोन व्हॉल्यूम कमी करेल आणि दोन मिनिटांपर्यंत स्क्रीनवर पॉप-अप कमी करेल. कॉल, अलार्म आणि प्राधान्य दिलेल्या संभाषणांसाठी नोटिफिकेशन व्हायब्रेट करतात, आवाज करतात किंवा स्क्रीनवर दिसतात आणि तुम्ही स्क्रीनच्या वरून खाली खेचता, तेव्हा सर्व नोटिफिकेशन शोधणे सोपे आहे."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"सूचना कूलडाउन"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"नोटिफिकेशन कूलडाउन वापरा"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"तुम्हाला थोड्या कालावधीमध्ये बरीच नोटिफिकेशन मिळतात, तेव्हा तुमचे डिव्हाइस त्याचा व्हॉल्यूम कमी करेल आणि स्क्रीनवरील सूचनांना २ मिनिटांपर्यंत कमी करेल. कॉल, अलार्म आणि प्राधान्य दिलेल्या संभाषणांवर परिणाम होत नाहीत. \n\nकूलडाउनदरम्यान मिळालेल्या सूचना स्क्रीनच्या वरून खालपर्यंत स्वाइप करून शोधल्या जाऊ शकतात."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"कार्य प्रोफाइलला लागू करा"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"कार्य प्रोफाइलच्या अ‍ॅप्सना लागू करा"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR मदतनीस सेवा"</string>
@@ -3650,6 +3709,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"मोड अ‍ॅक्सेस"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"मोड अ‍ॅक्सेस करण्याची अनुमती द्या"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"इंस्टॉल केलेल्या कोणत्याही अ‍ॅप्सनी मोड अ‍ॅक्सेसची विनंती केलेली नाही"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"तुम्ही या अ‍ॅपमधील नोटिफिकेशनना अनुमती दिलेली नाही"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"तुमच्या विनंतीनुसार Android, सूचनांच्या या वर्गवारीचे या डिव्हाइसवर दिसणे ब्लॉक करत आहे"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"तुमच्या विनंतीनुसार Android, सूचनांच्या या समूहाचे या डिव्हाइसवर दिसणे ब्लॉक करत आहे"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"वर्गवाऱ्या"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"अन्य"</string>
     <string name="no_channels" msgid="4716199078612071915">"या ॲपने कोणत्याही सूचना पोस्ट केल्या नाहीत"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"न वापरलेल्या वर्गवाऱ्या दाखवा"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"अ‍ॅपमधील अतिरिक्त सेटिंग्ज"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"न वापरलेल्या वर्गवाऱ्या दाखवा"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"न वापरलेल्या वर्गवाऱ्या लपवा"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"संभाषणे"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"सर्व संभाषणे"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"सर्व संभाषणे"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"प्राधान्य दिलेली संभाषणे"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"प्राधान्य दिलेली संभाषणे"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"कोणतीही नाहीत"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"व्यत्यय आणू शकणारी ॲप्स"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"निवडलेली अ‍ॅप्स"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"कोणतेही नाही"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"सर्व"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{No apps can interrupt}=1{{app_1} व्यत्यय आणू शकते}=2{{app_1} आणि {app_2} व्यत्यय आणू शकतात}=3{{app_1}, {app_2} आणि {app_3} व्यत्यय आणू शकतात}other{{app_1}, {app_2} आणि आणखी # व्यत्यय आणू शकतात}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (ऑफिस)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"मोजत आहे…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ॲप्सना ओव्हरराइड करण्याची अनुमती द्या"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"व्यत्यय आणू शकणारी ॲप्स"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"आणखी ॲप्स निवडा"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"काहीही व्यत्यय आणू शकत नाही"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"कोणीही व्यत्यय आणू शकत नाही"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"काही लोक व्यत्यय आणू शकतात"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"पुन्हा कॉल करणारे कॉलर व्यत्यय आणू शकतात"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"सर्व लोक व्यत्यय आणू शकतात"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"नियमित कॉलर"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"पुन्हा कॉल करणाऱ्यांना अनुमती द्या"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} पर्यंत फक्त एका तासासाठी अलार्मवर बदला}other{{time} पर्यंत फक्त # तासांसाठी अलार्मवर बदला}}"</string>
     <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_action_change_name" msgid="766639614789907016">"नाव बदला"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"आयकन बदला"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"आयकन बदला"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"संपादन मोड"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"मोड तयार करा"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"कस्टम मोड"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"मोडचे नाव"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"कॅलेंडर इव्हेंट"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"झोपतानाचे वेळापत्रक"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"ड्राइव्ह करत असताना"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"अ‍ॅप सेटिंग्ज"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"<xliff:g id="APP_NAME">%1$s</xliff:g> ची माहिती आणि त्यातील सेटिंग्ज"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"<xliff:g id="APP_NAME">%1$s</xliff:g> द्वारे व्यवस्थापित"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g> बंद करायचा आहे का?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"हा मोड बंद असताना कधीही सुरू होणार नाही"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"बंद करा"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g> सुरू करायचे?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"हा मोड त्याच्या सेटिंग्जवर आधारित आपोआप सुरू होऊ शकतो"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"सुरू करा"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"नियमित शेड्यूल फॉलो करणारा मोड सेट करा"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"कॅलेंडर इव्हेंट आणि आमंत्रणांच्या प्रतिसादांसह सिंक करणारा मोड सेट करा"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"शांत झोपेसाठी दिनक्रम तयार करा. अलार्म सेट करा, स्क्रीन डिम करा आणि नोटिफिकेशन ब्लॉक करा."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"लक्ष विचलित न होता ते केंद्रित करून ड्राइव्ह करण्यासाठी रस्त्यावरील सुरक्षिततेला प्राधान्य द्या"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"लक्ष केंद्रित करण्यासाठी तुमच्या डिव्हाइसमधील व्यत्यय ब्लॉक करा"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"शांत वातावरणासाठी सर्व व्यत्यय दूर करा"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"वेगवेगळ्या वापरकर्त्यांसाठी डिव्हाइस अनुभव आणि सेटिंग्ज पर्सनलाइझ करा"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"फक्त महत्त्वाच्या व्यक्ती आणि ॲप्सना तुमच्याशी संपर्क साधण्याची अनुमती देऊन व्यत्यय कमी करा"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"नियमित शेड्यूल फॉलो करणारा मोड सेट करा"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"तुमचे डिव्हाइस हे तुमच्या दिवसाच्या इव्हेंटसोबत सिंकमध्ये ठेवा"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"पूर्णपणे जाग आल्याचा अनुभव घ्या"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"रस्त्यावरून प्रवास करताना सुरक्षिततेला प्राधान्य द्या"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"तल्लीन होऊन काम करण्यासाठी लक्ष केंद्रित करा"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"सौजन्य महत्त्वाचे असते अशा क्षणांसाठी"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"तुमची काळजी घेतली जाण्यात मदत व्हावी यासाठी मार्गदर्शित वापर"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"तुमचे लक्ष नियंत्रित करा"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"चेतावणी"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"बंद करा"</string>
     <string name="device_feedback" msgid="5351614458411688608">"या डिव्हाइसबद्दल फीडबॅक पाठवा"</string>
@@ -4006,6 +4102,10 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"<xliff:g id="APP">%1$s</xliff:g> साठी मोड अ‍ॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"ॲप हे व्यत्यय आणू नका सुरू/बंद करण्‍यास, ॲक्टिव्हेट मोड व्यवस्थापित आणि ॲक्टिव्हेट करण्यास व संबंधित सेटिंग्जमध्ये बदल करण्यास सक्षम असेल."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"<xliff:g id="APP">%1$s</xliff:g> साठी मोड याचा अ‍ॅक्सेस मागे घ्यायचा आहे का?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"या अ‍ॅपद्वारे तयार केलेले सर्व मोड काढून टाकले जातील."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"ऑप्टिमाइझ करू नका"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimize"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"तुमची बॅटरी खूप लवकर संपवू शकते. यापुढे अ‍ॅप बॅकग्राउंड बॅटरी वापरण्यापासून प्रतिबंधित नसेल."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"केस"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"बॅटरी"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"सेटिंग्ज पॅनल"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"डेस्कटॉप मोडची सक्ती करा"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"दुसऱ्या डिस्प्लेवर प्रायोगिक डेस्कटॉप मोडला सक्ती करा"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"फ्रीफॉर्म विंडो सुरू करा"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"दुय्यम डिस्प्लेवर फ्रीफॉर्म विंडो सुरू करा"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"मल्टी विंडोमध्ये आकार बदलू न शकणारे ॲप सुरू करा"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"आकार बदलू न शकणाऱ्या ॲप्सना मल्टी विंडोमध्ये राहण्याची परवानगी देते"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"फोर्स-डार्क ओव्हरराइड करते"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"मोबाइल डेटा"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"वाय-फाय बंद असतानादेखील, डिव्हाइससंबंधी अनुभवामध्ये सुधारणा करण्यासाठी अ‍ॅप्स आणि सेवा वाय-फाय नेटवर्क कधीही स्कॅन करू शकतात. उदाहरणार्थ, हे स्थानावर आधारित वैशिष्ट्ये आणि सेवांमध्ये सुधारणा करण्यासाठी वापरले जाऊ शकते. तुम्ही हे वाय-फाय स्कॅनिंग सेटिंग्जमध्ये बदलू शकता."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"बदला"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"कनेक्ट केले आहे"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"तात्पुरते कनेक्ट केलेले"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"<xliff:g id="SUBNAME">%1$s</xliff:g> तात्पुरता वापरत आहे"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ॲप पिनिंग वापरणे"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"डेव्हलपर पर्याय वापरणे"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"प्रिंट सेवा वापरा"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"एकाहून अधिक वापरकर्त्यांना अनुमती द्या"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"वापरकर्ता स्विच करण्याची अनुमती द्या"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"अनुमती द्या, एकाहून अधिक, वापरकर्ता, परवानगी द्या, बरेच"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"एकाहून अधिक, वापरकर्ते, प्रोफाइल, लोक, खाती, स्विच करा, अनेक"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"वायरलेस डीबगिंग वापरणे"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> ला या फोनशी कनेक्ट करायचे आहे.\n\nतुम्ही <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> शी आधी कनेक्ट केलेले नाही."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"कनेक्ट करू नका"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"कनेक्ट करा"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE सेटिंग्ज"</string>
-    <string name="tare_on" msgid="2386073225978684535">"सुरू आहे"</string>
-    <string name="tare_off" msgid="6305694402929756726">"बंद आहे"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"डीफॉल्ट सेटिंग्जवर परत बदला"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"सेटिंग्ज डीफॉल्टवर परत बदलली."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"डिव्हाइस पूर्ण चार्ज झाले असताना कमाल शिल्लक"</string>
-    <string name="tare_balances" msgid="731881382594747961">"शिलकी"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"वापराच्या मर्यादा"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"सुरुवातीच्या वापराची मर्यादा"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"वापरण्याची किमान मर्यादा"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"वापराची कमाल मर्यादा"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"मॉडिफायर"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"कृती (उत्पादनाचे शुल्क)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"कृती (मूळ किंमत)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"प्रति एका इव्हेंटसाठीची रिवॉर्ड"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"इव्हेंटच्या कालावधीच्या प्रति सेकंद रिवॉर्ड"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"प्रति दिवसासाठीची कमाल रिवॉर्ड"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"अ‍ॅप इंस्टॉल करा"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"टॉप अ‍ॅक्टिव्हिटी"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"सूचना पाहिली"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"१५ मिनिटांमध्ये सूचना पाहिली"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"सूचनेशी संवाद साधला"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"विजेटशी संवाद साधला"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"वापरकर्त्याचा इतर संवाद"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"कमाल प्राधान्य असलेला जॉब सुरू करणे"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"कमाल प्राधान्य असलेला जॉब रन करणे"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"उच्च प्राधान्य असलेला जॉब सुरू करणे"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"उच्च प्राधान्य असलेला जॉब रन करणे"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"डीफॉल्ट प्राधान्य असलेला जॉब सुरू करणे"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"डीफॉल्ट प्राधान्य असलेला जॉब रन करणे"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"कमी प्राधान्य असलेला जॉब सुरू करणे"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"कमी प्राधान्य असलेला जॉब रन करणे"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"किमान प्राधान्य असलेला जॉब सुरू करणे"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"किमान प्राधान्य असलेला जॉब रन करणे"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"जॉब टाइमआउट झाल्याचा दंड"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"पूर्ण चार्जिंगवर किमान शिल्लक बॅटरी (वगळलेली)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"पूर्ण चार्जिंगवर किमान शिल्लक बॅटरी (हेडलेस सिस्टीम ॲप)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"पूर्ण चार्जिंगवर किमान शिल्लक बॅटरी (उरलेली ॲप्स)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"पूर्ण चार्जिंगवर किमान अतिरिक्त शिल्लक (ॲप अपडेटर)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"चार्ज होत आहे"</item>
-    <item msgid="658627268149681677">"डोझ"</item>
-    <item msgid="1599558140284643834">"पॉवर सेव्ह मोड"</item>
-    <item msgid="588427840913221601">"प्रक्रियेची स्थिती"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"कन्फर्म करा"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"पूर्वावलोकन"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"स्क्रीन सेव्हर निवडा"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"अतिरिक्त माहिती दाखवा"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"तुमचा टॅबलेट डॉक केलेला असतो, तेव्हा तुम्ही तुमच्या स्क्रीनवर काय पाहाल ते निवडा. स्क्रीन सेव्हर वापरला जातो, तेव्हा तुमचे डिव्हाइस आणखी ऊर्जा वापरू शकते."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"कस्टमाइझ करा"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> कस्टमाइझ करा"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"फ्रीफॉर्म सपोर्ट सुरू करण्यासाठी, रीबूट करणे आवश्यक आहे."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"दुय्यम डिस्प्लेवर डेस्कटॉप मोडची सक्ती करण्यासाठी, रीबूट करणे आवश्यक आहे."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"फ्रीफॉर्म विंडो सपोर्ट सुरू करण्यासाठी रीबूट करणे आवश्यक आहे."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"फ्रीफॉर्म विंडोची उपलब्धता अपडेट करण्यासाठी रीबूट करणे आवश्यक आहे."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"दुय्यम डिस्प्लेवर फ्रीफॉर्म विंडो सुरू करण्यासाठी रीबूट करणे आवश्यक आहे."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"आता रीबूट करा"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"नंतर रीबूट करा"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"स्पेशियल ऑडिओ"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"गुलाब"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"मजेंटा"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"जांभळा"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"पूर्ण झाले"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"सेव्ह करा"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"रद्द करा"</string>
     <string name="contrast_default" msgid="8918545965525226966">"डीफॉल्ट"</string>
     <string name="contrast_medium" msgid="384414510709285811">"मध्यम"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"सुरू आहे"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"बंद आहे"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"सुरू आहे"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"ऑडिओ %1$d%% डावीकडे, %2$d%% उजवीकडे"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"ऑडिओ %1$d%% उजवीकडे, %2$d%% डावीकडे"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"तुम्ही इंस्टॉल केलेल्या ॲप्सना तुमच्या डिव्हाइसचे नाव दृश्यमान आहे. तुम्ही ब्लूटूथ डिव्हाइसशी कनेक्ट करता, वाय-फाय नेटवर्कशी कनेक्ट करता किंवा वाय-फाय हॉटस्पॉट सेट करता, तेव्हा हे इतर लोकदेखील पाहू शकतात."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"व्याकरणानुसार लिंगासंबंधी माहिती"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"व्याकरणानुसार लिंगासंबंधी माहिती निवडा"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"ऑडिओ शेअर करणे थांबवले आहे"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"कंपॅटिबल डिव्हाइस कनेक्ट करा"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"ऑडिओ शेअर करण्यास सुरुवात करण्यासाठी, सर्वप्रथम तुमच्या फोनशी LE ऑडिओ हेडफोन कनेक्ट करा"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> वर स्विच करा"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"LE ऑडिओ स्ट्रीमशी कनेक्ट करा"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"जवळपासची ऑडिओ स्ट्रीम"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"ऑडिओ स्ट्रीम"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"स्ट्रीम ऐका"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> वापरून ऐकण्यासाठी ऑडिओ स्ट्रीमचा QR कोड स्कॅन करा"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"शेअर करताना पासवर्ड संपादित करू शकत नाही. पासवर्ड बदलण्यासाठी सर्वप्रथम ऑडिओ शेअरिंग बंद करा."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR कोड स्कॅनर"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"मदत हवी आहे का?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"शोध सेटिंग्ज"</string>
 </resources>
diff --git a/res/values-ms/arrays.xml b/res/values-ms/arrays.xml
index 9b5af35..11c4761 100644
--- a/res/values-ms/arrays.xml
+++ b/res/values-ms/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Waktu tidur"</item>
-    <item msgid="4152450357280759894">"Memandu"</item>
-    <item msgid="7096549258219399423">"Mengasyikkan"</item>
-    <item msgid="2760716776980432977">"Terurus"</item>
-    <item msgid="601734478369121764">"Bintang"</item>
-    <item msgid="6243809315432780521">"Kalendar"</item>
-    <item msgid="4913577903148415331">"Masa"</item>
-    <item msgid="3653377604690057780">"Teater"</item>
-    <item msgid="3843711267408385410">"Bunga"</item>
+    <item msgid="1216815120972438676">"Beg bimbit"</item>
+    <item msgid="184985872234062767">"Bangunan klasik"</item>
+    <item msgid="9189550412466785530">"Bangunan pangsapuri"</item>
+    <item msgid="2142527562511049422">"Gelembung pertuturan"</item>
+    <item msgid="2548100558260478605">"Kumpulan orang"</item>
+    <item msgid="2270003903304578284">"Mentol lampu"</item>
+    <item msgid="4793496619091161864">"Kalendar"</item>
+    <item msgid="5673625795644364100">"Jangan Ganggu"</item>
+    <item msgid="1423820834865831361">"Orang sedang berlari"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Dumbel gim"</item>
+    <item msgid="2730180105015616518">"Berenang"</item>
+    <item msgid="2666922823253345958">"Orang mengembara berjalan kaki"</item>
+    <item msgid="8234880356472211396">"Orang membaling bola"</item>
+    <item msgid="4642980625253001443">"Orang menendang"</item>
+    <item msgid="4324795269518833500">"Pengawal permainan"</item>
+    <item msgid="7789966425125441125">"Palet warna pelukis"</item>
+    <item msgid="663512680597461570">"Emping salji"</item>
+    <item msgid="7952183800501346803">"Payung pantai"</item>
+    <item msgid="799139025758265891">"Alatan bengkel"</item>
+    <item msgid="1330084588359129896">"Khemah"</item>
+    <item msgid="3861584909935022342">"Gelendong filem"</item>
+    <item msgid="5827426100157335512">"Buku"</item>
+    <item msgid="8585828346253128384">"Bunga teratai"</item>
+    <item msgid="8788370542815300188">"Minda seseorang"</item>
+    <item msgid="7287354964767553293">"Fon kepala"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Kereta api"</item>
+    <item msgid="4903790544026923026">"Kereta"</item>
+    <item msgid="5010405583912314582">"Garpu dan pisau"</item>
+    <item msgid="8939998598599064900">"Troli beli-belah"</item>
+    <item msgid="3379605903308731893">"Anak"</item>
+    <item msgid="7808668968550293112">"Tapak kaki haiwan"</item>
+    <item msgid="1000692647524056504">"Lencana bintang"</item>
+    <item msgid="8270261073421676502">"Dua orang"</item>
+    <item msgid="5767782819651505460">"Bintang"</item>
+    <item msgid="4368451291862729334">"Hati"</item>
+    <item msgid="2613199102208419986">"Rumah"</item>
+    <item msgid="3022279986430275040">"Bulan separa"</item>
+    <item msgid="5421089790869483206">"Jam"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index ad07894..0f64d98 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Digantung"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Tidak diketahui"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Pratonton"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"Kod QR"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Sentiasa"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Tetapan peranti pendengaran"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Pintasan, keserasian alat bantu pendengaran"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Pratetapan"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Tiada pratetapan yang diaturkan oleh ahli audiologi anda"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Tidak dapat mengemaskinikan pratetapan"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Output audio"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Perihal output audio"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Pemilihan bahasa untuk apl ini tidak tersedia daripada Tetapan."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Bahasa mungkin berbeza daripada bahasa yang tersedia dalam apl. Sesetengah apl mungkin tidak menyokong tetapan ini."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Tetapkan bahasa untuk setiap apl."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Sistem, apl dan laman web anda menggunakan bahasa pertama yang disokong daripada bahasa pilihan anda."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Peranti, apl dan laman web anda menggunakan bahasa pertama yang disokong daripada senarai bahasa pilihan anda.\n\nPelbagai apl juga akan menggunakan rantau daripada bahasa pilihan anda untuk memformatkan tarikh, nombor dan unit. Untuk menukar rantau anda, tambahkan bahasa, kemudian pilih rantau pilihan anda."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Untuk memilih bahasa bagi setiap apl, pergi ke tetapan bahasa apl."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Ketahui lebih lanjut tentang bahasa apl"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Tukar bahasa sistem kepada %s ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Mati"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Hidup / # apl memiliki akses kepada lokasi}other{Hidup / # apl memiliki akses kepada lokasi}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Memuatkan…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Apl dengan kebenaran peranti Berdekatan boleh menentukan kedudukan relatif peranti tersambung."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Apl dengan kebenaran peranti berdekatan boleh menentukan kedudukan relatif peranti tersambung."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Akses lokasi dimatikan untuk apl dan perkhidmatan. Lokasi peranti anda mungkin tetap dihantar kepada pasukan bantuan kecemasan apabila anda menghubungi atau menghantar teks kepada nombor kecemasan."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Ketahui lebih lanjut tentang tetapan Lokasi"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Untuk membuat perubahan, lawati Tetapan ChromeOS &gt; Privasi dan keselamatan &gt; Kawalan privasi &gt; Akses lokasi"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Wajah dan <xliff:g id="WATCH">%s</xliff:g> ditambah"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Wajah, cap jari dan <xliff:g id="WATCH">%s</xliff:g> ditambah"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Wajah, cap jari dan <xliff:g id="WATCH">%s</xliff:g> ditambah"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Semakan Identiti dihidupkan dan memerlukan biometrik"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Buka Kunci Authenticator Jauh"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Jam tangan ditambahkan"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Sediakan jam tangan anda"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Ketahui lebih lanjut tentang Buka Kunci Jam Tangan"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Tambahkan jam tangan"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Alih keluar jam tangan"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Buka Kunci Cap Jari &amp; Wajah"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Buka Kunci Wajah &amp; Cap Jari"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Buka Kunci Wajah &amp; Cap Jari untuk kerja"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Persediaan diperlukan"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Wajah dan cap jari ditambahkan"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Menyediakan ruang privasi…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Tidak dapat menyediakan ruang peribadi"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Cuba Lagi"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Keluar"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Ruang persendirian tidak tersedia.\nLihat sebab yang berkemungkinan"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Lihat sebab yang berkemungkinan"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Pilih kunci baharu untuk ruang privasi?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Anda boleh menetapkan kunci baharu hanya untuk ruang privasi atau menggunakan kunci sama yang anda gunakan untuk membuka kunci peranti"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Gunakan kunci skrin"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Apabila Bluetooth dihidupkan, peranti anda dapat berkomunikasi dengan peranti Bluetooth lain yang berada berdekatan.\n\nUntuk meningkatkan pengalaman peranti, apl dan perkhidmatan masih dapat melakukan pengimbasan untuk mengesan peranti berdekatan pada bila-bila masa, meskipun apabila Bluetooth dimatikan. Tetapan ini boleh digunakan, contohnya, untuk meningkatkan ciri dan perkhidmatan berasaskan lokasi. Anda boleh menukar tetapan ini dalam tetapan pengimbasan Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Apabila Bluetooth dihidupkan, peranti anda boleh berkomunikasi dengan peranti Bluetooth lain yang berdekatan. Ciri seperti Quick Share dan Find My Device menggunakan Bluetooth.\n\nApl dan perkhidmatan masih boleh mengimbas peranti berdekatan pada bila-bila masa walaupun semasa Bluetooth dimatikan. Ciri ini boleh digunakan, sebagai contoh, untuk meningkatkan ciri dan perkhidmatan berasaskan lokasi. Anda boleh menukar ciri ini dalam tetapan pengimbasan Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Tukar"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> tidak disambungkan"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"Untuk keselamatan anda, lupakan peranti ini dan buat penggandingan sekali lagi"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"Lupakan peranti"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"Batal"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Butiran peranti"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Tetapan papan kekunci"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Lagi tetapan"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Kemaskinian perisian tegar, perihal dll"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Petua &amp; sokongan"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Alamat Bluetooth peranti: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Alamat Bluetooth peranti:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Lupakan peranti?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Eksperimen. Tingkatkan kualiti audio."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Lupakan peranti"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Putuskan sambungan apl"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Lagi tetapan"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Bilangan maksimum peranti audio Bluetooth yang disambungkan"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Pilih bilangan maksimum peranti audio Bluetooth yang disambungkan"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Log nyahpepijat vendor berjela NFC"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Mulakan Semula Peranti?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Pengelogan butiran NFC adalah khusus untuk tujuan pembangunan sahaja. Data tambahan NFC disertakan dalam laporan pepijat yang mungkin mengandungi maklumat peribadi. Mulakan semula peranti anda untuk menukar tetapan ini."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Mulakan semula"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Hidup"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Mati"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Paparan Luaran"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Gunakan paparan luaran"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Peleraian paparan"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Paparan luaran diputuskan sambungan"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Putaran"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standard"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Penukaran putaran atau peleraian boleh menghentikan mana-mana apl yang sedang dijalankan"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Peranti anda mestilah disambungkan kepada paparan luaran untuk mencerminkan skrin anda"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Lagi pilihan"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Cast"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"cermin"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Dayakan paparan wayarles"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Boleh suai"</string>
     <string name="brightness" msgid="6216871641021779698">"Tahap kecerahan"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Kecerahan boleh suai"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Perihal kecerahan boleh suai"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Kecerahan skrin akan dilaraskan secara automatik dengan persekitaran dan aktiviti anda. Anda boleh mengalihkan peluncur secara manual untuk membantu kecerahan boleh suai mempelajari pilihan anda."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Hidup"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Mati"</string>
@@ -1311,8 +1340,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Gunakan <xliff:g id="CARRIER">%1$s</xliff:g> utk data mudah alih?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Anda menggunakan <xliff:g id="CARRIER2_0">%2$s</xliff:g> untuk data mudah alih. Jika anda bertukar kepada <xliff:g id="CARRIER1">%1$s</xliff:g>, <xliff:g id="CARRIER2_1">%2$s</xliff:g> tidak lagi digunakan untuk data mudah alih."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Gunakan <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Kemas kinikan SIM pilihan?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> merupakan satu-satunya SIM dalam peranti anda. Adakah anda mahu menggunakan SIM ini untuk data mudah alih, panggilan dan mesej SMS?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> kini merupakan SIM utama anda"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Tingkatkan liputan data mudah alih?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Benarkan peranti anda menukar kepada <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> secara automatik untuk mendapatkan data mudah alih apabila data pembawa itu mempunyai ketersediaan yang lebih baik."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Panggilan, mesej dan trafik rangkaian mungkin kelihatan kepada organisasi anda."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Pilihan"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Kebolehaksesan"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Papan kekunci fizikal"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Gunakan papan kekunci pada skrin"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Pastikan papan kekunci itu pada skrin semasa papan kekunci fizikal aktif"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Kekunci lantun"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Papan kekunci mengabaikan penekanan kekunci yang sama secara berulang dan cepat dalam masa <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Kekunci perlahan"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Melaraskan masa yang diambil untuk mengaktifkan tekanan kekunci kepada <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Kekunci Lekit"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Tekan satu kekunci pada satu-satu masa untuk pintasan, bukan menahan beberapa kekunci secara serentak"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Kekunci tetikus"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Gunakan papan kekunci fizikal untuk mengawal tetikus."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Pintasan papan kekunci"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Tunjukkan senarai pintasan"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Papan kekunci &amp; alatan profil kerja"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Sesuaikan gerak isyarat navigasi pad sentuh individu"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Penatalan songsang"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Kandungan bergerak ke atas apabila anda menatal ke bawah"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Ketik bawah kanan"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Ketik penjuru kanan sebelah bawah pad sentuh untuk pilihan lain"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Klik bahagian bawah sebelah kanan"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Klik penjuru bawah sebelah kanan pad sentuh untuk lagi pilihan"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Kelajuan penuding"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Gaya isian penunjuk"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Tukar gaya isian penunjuk kepada warna hitam"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Tukar gaya isian penunjuk kepada warna kuning"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Tukar gaya isian penunjuk kepada warna merah jambu"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Tukar gaya isian penunjuk kepada warna biru"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Gaya lejang penuding"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Putih"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Hitam"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Tiada"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Ketahui gerak isyarat pad sentuh"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"pad jejak, pad jejak, tetikus, kursor, tatal, leret, klik kanan, klik, penuding"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"klik kanan, ketik"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Tetapkan semula"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Pilih kunci pengubah suai"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Pilih kunci baharu untuk <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Kebolehaksesan papan kekunci fizikal"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Kekunci lekit, Kekunci lantun, Kekunci tetikus"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Reka letak <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Lalai"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatik: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Pengguna dipilih: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Pertuturan"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Kelajuan penuding"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Skala penuding"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Kurangkan skala penuding"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Tingkatkan skala penuding"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Pengawal Permainan"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Ubah hala getaran"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Hantar getaran ke pengawal permainan apabila disambungkan"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Teruskan juga"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Batal"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Tetapan pembesaran"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Penyorotan satu jari"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Gerakkan kanta pembesar menggunakan 1 jari"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Seret 1 jari untuk menerokai skrin"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Alihkan kawasan pembesaran dengan menyeret satu jari."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Alihkan kawasan pembesaran dengan menyeret dua jari."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Tidak tersedia semasa hanya membesarkan sebahagian daripada skrin"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Ketik butang untuk mengezum"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Zum masuk dengan pantas pada skrin untuk menjadikan kandungan lebih besar"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Untuk mengezum masuk:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Gunakan pintasan untuk memulakan pembesaran&lt;br/&gt; {1,number,integer}. Ketik skrin&lt;br/&gt; {2,number,integer}. Seret 2 jari untuk menerokai skrin&lt;br/&gt; {3,number,integer}. Jepit dengan 2 jari untuk melaraskan zum&lt;br/&gt; {4,number,integer}. Gunakan pintasan untuk menghentikan pembesaran&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Untuk mengezum masuk sementara:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Pastikan jenis pembesaran ditetapkan kepada skrin penuh&lt;br/&gt; {1,number,integer}. Gunakan pintasan untuk memulakan pembesaran&lt;br/&gt; {2,number,integer}. Sentuh &amp; tahan di mana-mana pada skrin&lt;br/&gt; {3,number,integer}. Seret jari untuk menerokai skrin&lt;br/&gt; {4,number,integer}. Angkat jari untuk menghentikan pembesaran"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Untuk mengezum masuk:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Gunakan pintasan untuk memulakan pembesaran&lt;br/&gt; {1,number,integer}. Ketik skrin&lt;br/&gt; {2,number,integer}. Seret 2 jari untuk menerokai skrin&lt;br/&gt; {3,number,integer}. Cubit dengan 2 jari untuk melaraskan zum&lt;br/&gt; {4,number,integer}. Gunakan pintasan untuk menghentikan pembesaran&lt;br/&gt;&lt;br/&gt; Anda juga boleh mengezum masuk untuk sementara waktu dan banyak lagi."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Untuk mengezum masuk:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Gunakan pintasan untuk memulakan pembesaran&lt;br/&gt; {1,number,integer}. Ketik skrin&lt;br/&gt; {2,number,integer}. Seret 1 atau 2 jari untuk menerokai skrin&lt;br/&gt; {3,number,integer}. Cubit dengan 2 jari untuk melaraskan zum&lt;br/&gt; {4,number,integer}. Gunakan pintasan untuk menghentikan pembesaran&lt;br/&gt;&lt;br/&gt; Anda juga boleh mengezum masuk untuk sementara waktu dan banyak lagi."</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_pager" msgid="8461939455728454061">"Halaman <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> daripada <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Pintasan butang kebolehaksesan"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Ketik butang terapung"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Gerak isyarat kebolehaksesan"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Ketik butang kebolehaksesan <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> pada bahagian bawah skrin. Untuk beralih antara ciri, sentuh &amp; tahan butang kebolehaksesan."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Leret ke atas dari bahagian bawah skrin menggunakan 2 jari.\n\nUntuk beralih antara ciri, leret ke atas menggunakan 2 jari dan tahan."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Leret ke atas dari bahagian bawah skrin menggunakan 3 jari.\n\nUntuk beralih antara ciri, leret ke atas menggunakan 3 jari dan tahan."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Leret ke atas daripada bahagian bawah skrin. Untuk beralih antara ciri, leret ke atas dan tahan.}other{Leret ke atas menggunakan # jari daripada bahagian bawah skrin. Untuk beralih antara ciri, leret ke atas menggunakan # jari dan tahan.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Lagi pilihan"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Ketahui lebih lanjut tentang <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Kekunci kelantangan"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"kekunci kelantangan"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Tekan &amp; tahan kedua-dua kekunci kelantangan"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Ketik skrin dua kali menggunakan dua jari"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Ketik dua kali menggunakan %1$d jari"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Ketik skrin dua kali dengan pantas menggunakan %1$d jari"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Ketik tiga kali"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Ketik skrin %1$d kali dengan pantas. Tindakan ini mungkin akan memperlahan peranti anda."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Ketik dua kali menggunakan %1$d jari"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Ketik skrin {0,number,integer} kali dengan cepat menggunakan dua jari"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Ketik tiga kali pada skrin"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"ketik tiga kali"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Ketik skrin {0,number,integer} kali dengan pantas. 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_global_gesture_preference_title" msgid="8866765674372344850">"Pintasan kekunci kelantangan"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Tetapan pintasan"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Pintasan daripada skrin kunci"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"Pintasan kekunci kelantangan daripada skrin kunci"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Benarkan pintasan ciri dihidupkan daripada skrin kunci. Tekan kedua-dua kekunci kelantangan selama beberapa saat."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Butang kebolehaksesan"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Butang kebolehaksesan &amp; gerak isyarat"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Perkhidmatan ini tidak berfungsi."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Pintasan kebolehaksesan"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Tunjukkan dalam Tetapan Pantas"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Merah-hijau"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Merah-hijau"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Merah-hijau, hijau lemah"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Merah-hijau, merah lemah"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Biru-kuning"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Skala kelabu"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Keamatan"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Hijau lemah, deuteranomali"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Merah lemah, protanomali"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Tidak tersedia untuk mod skala kelabu atau apabila pembetulan warna dilumpuhkan"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Amat malap"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Jadikan skrin amat malap"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Biru kehijauan"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Kuning"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Benarkan <xliff:g id="SERVICE">%1$s</xliff:g> mengawal peranti anda sepenuhnya?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> perlu:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Oleh sebab apl melindungi permintaan kebenaran, Tetapan tidak dapat mengesahkan jawapan anda."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> meminta kawalan sepenuhnya ke atas peranti ini. Perkhidmatan dapat membaca skrin dan bertindak bagi pihak pengguna dengan keperluan kebolehaksesan. Tahap kawalan ini tidak sesuai untuk kebanyakan apl."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Kawalan penuh sesuai untuk apl yang membantu anda dengan keperluan kebolehaksesan tetapi bukan untuk kebanyakan apl."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Melihat dan mengawal skrin"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Ciri ini boleh membaca semua kandungan pada skrin dan memaparkan kandungan di atas apl lain."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Melihat dan melaksanakan tindakan"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Ciri ini boleh menjejaki interaksi anda dengan apl atau penderia perkakasan dan berinteraksi dengan apl bagi pihak anda."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Benarkan"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Tolak"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Matikan"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Hidup / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> dan <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Anda juga boleh menghidupkan Audio Ruang untuk peranti Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Tetapan peranti tersambung"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Audio Ruang"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Mati"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Mati"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Mati"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Tiada}=1{1 jadual ditetapkan}other{# jadual ditetapkan}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Jangan Ganggu"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Mod Keutamaan"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Tambahkan mod"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Mod"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Minimumkan gangguan dan kawal perhatian anda dengan mod untuk tidur, bekerja, memandu dan semua perkara yang lain."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Buat mod anda sendiri"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Dapatkan pemberitahuan daripada orang dan apl penting sahaja"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Tetapkan jadual"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Jadual berdasarkan"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Hari dan masa"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"9 PG - 5 PTG hari biasa\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Acara kalendar"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} aktif}=2{{mode_1} dan {mode_2} aktif}=3{{mode_1}, {mode_2} dan {mode_3} aktif}other{{mode_1}, {mode_2} dan # lagi aktif}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 mod boleh dihidupkan secara automatik}other{# mod boleh dihidupkan secara automatik}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"HIDUP"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Tidak ditetapkan"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Dilumpuhkan"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Buat mod"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Tersuai"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Hidupkan sekarang"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Matikan"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Mod tidak ditemukan"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Hadkan gangguan"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Sekat gangguan"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Sediakan <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Hidupkan Jangan Ganggu"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Bunyi penggera dan media boleh ganggu"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Jadual"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Padamkan jadual"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Padam"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Namakan semula"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Padam"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Padamkan mod \"<xliff:g id="MODE">%1$s</xliff:g>\"?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Edit"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Jadual"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Jadual"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Hidupkan secara automatik"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Tambahkan kalendar"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Gunakan kalendar anda"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Jadual"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Tetapkan jadual"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Masa dihidupkan secara automatik"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Jadual acara"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Hidupkan semasa acara untuk"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Apabila balasan undangan ialah"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Jadual masa"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Jadual"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> jam, <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Jadual"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Benarkan gangguan yang berbunyi"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Pemberitahuan yang boleh anda terima"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Tindakan tambahan"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Penapis pemberitahuan"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Lagi tetapan"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Mati}=1{Mati / 1 mod boleh dihidupkan secara automatik}other{Mati / # mod boleh dihidupkan secara automatik}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Tetapan paparan"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Pilihan paparan"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Skala kelabu"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"dayakan tema gelap"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Tukar OS dan apl untuk mengutamakan teks terang pada latar gelap, yang mungkin lebih mudah dilihat dan memperoleh penjimatan bateri yang ketara pada sesetengah peranti"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Tiada perubahan paparan}=1{{effect_1}}=2{{effect_1} dan {effect_2}}=3{{effect_1}, {effect_2} dan {effect_3}}other{{effect_1}, {effect_2} dan # lagi}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Benarkan semua pemberitahuan"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Orang, apl dan bunyi mungkin mengganggu"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Pilihan paparan untuk pemberitahuan yang ditapis"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Apabila Jangan Ganggu dihidupkan"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Tiada bunyi daripada pemberitahuan"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"buka pemberitahuan"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Benarkan penundaan pemberitahuan"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Titik pemberitahuan pada ikon apl"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Himpunan pemberitahuan"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Gelembung"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Gelembung"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Gelembungkan perbualan ini"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Apl ini dapat membalas mesej dan mengambil tindakan pada butang dalam pemberitahuan, termasuk menunda atau mengetepikan pemberitahuan dan menjawab panggilan."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Menukar tetapan"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Apl ini dapat menghidupkan atau mematikan ciri Jangan Ganggu dan menukar tetapan yang berkaitan."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Ciri ini boleh mengurus dan mengaktifkan Mod serta menukar tetapan yang berkaitan."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Jika anda mematikan akses pemberitahuan untuk <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, akses Jangan Ganggu mungkin turut dimatikan."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Jika anda mematikan akses pemberitahuan untuk <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, akses Mod juga mungkin dimatikan."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Matikan"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Batal"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Masa nyata"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Apl ini tidak menyokong tetapan dipertingkatkan"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Lagi tetapan"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Lagi tetapan tersedia dalam apl ini"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Pemberitahuan Boleh Suai"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Gunakan pemberitahuan boleh suai"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Apabila anda menerima banyak pemberitahuan dalam tempoh masa yang singkat, telefon anda akan mengurangkan kelantangan dan meminimumkan tetingkap timbul pada skrin hingga dua minit. Panggilan, penggera dan perbualan keutamaan masih bergetar, mengeluarkan bunyi atau dipaparkan pada skrin dan semua pemberitahuan mudah ditemukan apabila anda menarik bahagian atas skrin ke bawah."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Tempoh bertenang pemberitahuan"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Gunakan tempoh bertenang pemberitahuan"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Apabila anda menerima banyak pemberitahuan dalam tempoh masa yang singkat, peranti anda akan mengurangkan kelantangan dan meminimumkan makluman hingga 2 minit. Panggilan, penggera dan perbualan keutamaan tidak terjejas. \n\nPemberitahuan yang diterima semasa tempoh bertenang boleh ditemukan dengan menarik ke bawah daripada bahagian atas skrin."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Gunakan pada profil kerja"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Gunakan pada apl profil kerja"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Perkhidmatan pembantu VR"</string>
@@ -3650,6 +3709,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Akses Jangan Ganggu"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Benarkan Jangan Ganggu"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Tiada sebarang apl yang terpasang meminta akses Jangan Ganggu"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Akses mod"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Benarkan akses Mod"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Apl yang dipasang tidak meminta akses Mod"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Anda belum membenarkan pemberitahuan daripada apl ini"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Atas permintaan anda, Android menyekat kategori pemberitahuan ini daripada muncul pada peranti ini"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Atas permintaan anda, Android menyekat kumpulan pemberitahuan ini daripada muncul pada peranti ini"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Kategori"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Lain-lain"</string>
     <string name="no_channels" msgid="4716199078612071915">"Apl ini belum menyiarkan sebarang pemberitahuan"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Tunjukkan kategori tidak digunakan"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Tetapan tambahan dalam apl"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Tunjukkan kategori tidak digunakan"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Sembunyikan kategori tidak digunakan"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Perbualan"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Semua perbualan"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"semua perbualan"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Perbualan keutamaan"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"perbualan keutamaan"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Tiada"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Apl yang boleh ganggu"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Apl yang dipilih"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Tiada"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Semua"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Tiada apl yang boleh ganggu}=1{{app_1} boleh ganggu}=2{{app_1} dan {app_2} boleh ganggu}=3{{app_1}, {app_2} dan {app_3} boleh ganggu}other{{app_1}, {app_2} dan # lagi boleh ganggu}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (Kerja)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Mengira…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Benarkan apl membatalkan Jangan Ganggu"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apl yang boleh ganggu"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Pilih lagi apl"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Tiada apa-apa yang boleh ganggu"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Tiada seorang pun boleh ganggu"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Sesetengah orang boleh ganggu"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Pemanggil berulang boleh mengganggu"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Semua orang boleh ganggu"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Pemanggil berulang"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Benarkan pemanggil berulang"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Tukar kepada penggera sahaja selama satu jam hingga {time}}other{Tukar kepada penggera sahaja selama # jam hingga {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Tukar kepada penggera sahaja hingga <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Tukar kepada sentiasa ganggu"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Namakan semula"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Tukar ikon"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Tukar ikon"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Mod edit"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Buat mod"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Mod tersuai"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Nama mod"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Acara kalendar"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Rutin waktu tidur"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Semasa memandu"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Tetapan apl"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Maklumat dan tetapan dalam <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Diurus oleh <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Lumpuhkan <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Mod ini tidak akan dihidupkan apabila dilumpuhkan"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Lumpuhkan"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Dayakan <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Mod ini boleh dihidupkan secara automatik berdasarkan tetapan mod tersebut"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Dayakan"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Tetapkan mod yang mengikut jadual yang tetap"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Tetapkan mod untuk disegerakkan dengan acara kalendar dan maklum balas undangan"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Rancang rutin tidur yang menenangkan. Tetapkan penggera, malapkan skrin dan sekat pemberitahuan."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Utamakan keselamatan di atas jalan untuk mendapatkan pemanduan yang fokus dan bebas gangguan"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Sekat gangguan daripada peranti anda untuk menambahkan fokus"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Singkirkan semua gangguan untuk persekitaran yang senyap"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Peribadikan pengalaman dan tetapan peranti untuk pengguna yang berlainan"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Minimumkan gangguan dengan membenarkan orang dan apl yang penting sahaja menghubungi anda"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Tetapkan mod yang mengikut jadual yang tetap"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Pastikan peranti anda disegerakkan dengan acara harian anda"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Bangkit dengan perasaan penuh semangat"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Utamakan keselamatan semasa berada di atas jalan"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Tambahkan fokus untuk menumpukan perhatian"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Untuk detik apabila budi bahasa itu penting"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Penggunaan berpandu untuk membantu anda sentiasa berada dalam keadaan yang baik"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Kawal perhatian anda"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Amaran"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Tutup"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Hantar maklum balas peranti ini"</string>
@@ -4006,6 +4102,10 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Mesti sentiasa hidup kerana akses pemberitahuan dihidupkan"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Batalkan akses kepada Jangan Ganggu untuk <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Semua peraturan Jangan Ganggu yang dibuat oleh apl ini akan dialih keluar."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Benarkan akses kepada Mod untuk <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Apl ini akan dapat menghidupkan/mematikan Jangan Ganggu, mengurus dan mengaktifkan Mod dan membuat perubahan pada tetapan yang berkaitan."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"Batalkan akses kepada Mod untuk <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Semua mod yang dibuat oleh apl ini akan dialih keluar."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Jangan optimumkan"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimumkan"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Mungkin menyusutkan bateri anda dengan lebih cepat. Apl tidak lagi dihadkan daripada menggunakan bateri latar belakang."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Sarung"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Bateri"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Panel Tetapan"</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_desktop_mode" msgid="5644818402534562302">"Dayakan tetingkap bentuk bebas"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Dayakan tetingkap bentuk bebas pada paparan kedua"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Dayakan tidak boleh diubah saiz dalam berbilang tetingkap"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Benarkan apl tidak boleh diubah saiz dalam berbilang tetingkap"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Batalkan paksa gelap"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"data mudah alih"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Untuk meningkatkan pengalaman peranti, apl dan perkhidmatan masih dapat melakukan imbasan untuk mengesan rangkaian Wi-Fi pada bila-bila masa, meskipun apabila Wi-Fi dimatikan. Ini dapat digunakan, contohnya, untuk meningkatkan ciri dan perkhidmatan berasaskan lokasi. Anda boleh menukar pilihan ini dalam tetapan pengimbasan Wi-Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Tukar"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Disambungkan"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Disambungkan buat sementara waktu"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Menggunakan <xliff:g id="SUBNAME">%1$s</xliff:g> buat sementara waktu"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Gunakan penyematan apl"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Gunakan pilihan pembangun"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Gunakan perkhidmatan cetakan"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Benarkan berbilang pengguna"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Benarkan penukaran pengguna"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"izinkan, beberapa, pengguna, benarkan, banyak"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"berbilang, pengguna, profil, pengguna, akaun, tukar, pelbagai"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Gunakan nyahpepijat wayarles"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> ingin menyambung kepada telefon ini.\n\nAnda belum menyambung kepada <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> sebelum ini."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Jangan sambung"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Sambung"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Tetapan TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Hidup"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Mati"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Berbalik kepada Tetapan Lalai"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Tetapan berbalik kepada lalai."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Baki Maksimum Semasa Peranti Dicas Penuh"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Baki"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Had Penggunaan"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Had Penggunaan Awal"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Had Penggunaan Minimum"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Had Penggunaan Maksimum"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Pengubah suai"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Tindakan (Kos Penghasilan)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Tindakan (Harga Asas)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Ganjaran setiap satu peristiwa"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Ganjaran setiap saat tempoh peristiwa"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Ganjaran Maksimum Setiap Hari"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Pemasangan Apl"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Aktiviti Popular"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Pemberitahuan Dilihat"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Pemberitahuan Dilihat Dalam 15 Minit"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interaksi Pemberitahuan"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Interaksi Widget"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Interaksi Pengguna Lain"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Kerja Keutamaan Maksimum Bermula"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Kerja Keutamaan Maksimum Sedang Berjalan"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Kerja Keutamaan Tinggi Bermula"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Kerja Keutamaan Tinggi Sedang Berjalan"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Kerja Keutamaan Lalai Bermula"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Kerja Keutamaan Lalai Sedang Berjalan"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Kerja Keutamaan Rendah Bermula"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Kerja Keutamaan Rendah Sedang Berjalan"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Kerja Keutamaan Minimum Bermula"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Kerja Keutamaan Minimum Sedang Berjalan"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Penalti Tamat Masa Kerja"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Baki Penuh Minimum (Dikecualikan)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Baki Penuh Minimum (Apl Sistem Tanpa Kepala)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Baki Penuh Minimum (Apl yang Tinggal)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Tambahan Baki Penuh Minimum (Pengemas Kini Apl)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Mengecas"</item>
-    <item msgid="658627268149681677">"Lelap"</item>
-    <item msgid="1599558140284643834">"Mod Penjimatan Kuasa"</item>
-    <item msgid="588427840913221601">"Keadaan Proses"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Sahkan"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Pratonton"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Pilih penyelamat skrin"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Tunjukkan maklumat tambahan"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Pilih paparan yang ditampilkan pada skrin apabila tablet didok. Peranti mungkin menggunakan lebih banyak tenaga apabila penyelamat skrin digunakan."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Sesuaikan"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Sesuaikan <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"But semula diperlukan untuk mendayakan sokongan bentuk bebas."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"But semula diperlukan untuk memaksa mod desktop pada paparan sekunder."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"But semula diperlukan untuk mendayakan sokongan tetingkap bentuk bebas."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"But semula diperlukan untuk mengemaskinikan ketersediaan tetingkap bentuk bebas."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"But semula diperlukan untuk mendayakan tetingkap bentuk bebas pada paparan kedua."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"But semula sekarang"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"But semula kemudian"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Audio Ruang"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Ros"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Lembayung"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Selesai"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Simpan"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Batal"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Lalai"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Sederhana"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Hidup"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Mati"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Hidup"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Audio %1$d%% kiri, %2$d%% kanan"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Audio %1$d%% kanan, %2$d%% kiri"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Nama peranti anda boleh dilihat oleh apl yang anda pasang. Nama peranti anda juga boleh dilihat oleh orang lain apabila anda menyambung kepada peranti Bluetooth, menyambung kepada rangkaian Wi-Fi atau menyediakan tempat liputan Wi-Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Jantina tatabahasa"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Pilih Jantina tatabahasa"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Perkongsian audio dihentikan"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Sambungkan peranti yang serasi"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Untuk mula berkongsi audio, sambungkan fon kepala LE Audio pada telefon anda dahulu"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Beralih kepada <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Sambung kepada strim LE Audio"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Strim audio berdekatan"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Strim audio"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Dengar strim"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Imbas kod QR strim audio untuk mendengar dengan <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Tidak dapat mengedit kata laluan semasa perkongsian. Untuk mengubah kata laluan, matikan perkongsian audio dahulu."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Pengimbas kod QR"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Perlukan bantuan?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Tetapan Carian"</string>
 </resources>
diff --git a/res/values-my/arrays.xml b/res/values-my/arrays.xml
index d754ebb..e7aeef7 100644
--- a/res/values-my/arrays.xml
+++ b/res/values-my/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"အိပ်ရာဝင်ချိန်"</item>
-    <item msgid="4152450357280759894">"ကားမောင်းခြင်း"</item>
-    <item msgid="7096549258219399423">"စီးမျောခြင်း"</item>
-    <item msgid="2760716776980432977">"စီမံပြီးဖြစ်သည်"</item>
-    <item msgid="601734478369121764">"ကြယ်"</item>
-    <item msgid="6243809315432780521">"ပြက္ခဒိန်"</item>
-    <item msgid="4913577903148415331">"အချိန်"</item>
-    <item msgid="3653377604690057780">"ပြဇာတ်ရုံ"</item>
-    <item msgid="3843711267408385410">"ပန်းပွင့်"</item>
+    <item msgid="1216815120972438676">"ရုံးသုံးလက်ဆွဲအိတ်"</item>
+    <item msgid="184985872234062767">"ရှေးဟောင်း အဆောက်အအုံ"</item>
+    <item msgid="9189550412466785530">"တိုက်ခန်း"</item>
+    <item msgid="2142527562511049422">"စကားပြော ပူဖောင်းကွက်"</item>
+    <item msgid="2548100558260478605">"လူအုပ်စု"</item>
+    <item msgid="2270003903304578284">"မီးလုံး"</item>
+    <item msgid="4793496619091161864">"ပြက္ခဒိန်"</item>
+    <item msgid="5673625795644364100">"မနှောင့်ယှက်ရ"</item>
+    <item msgid="1423820834865831361">"ပြေးနေသူ"</item>
+    <item msgid="2037298830718732608">"ဂေါက်ရိုက်ခြင်း"</item>
+    <item msgid="2197835014443491074">"အားကစားရုံ ဝိတ်တုံး"</item>
+    <item msgid="2730180105015616518">"ရေကူးခြင်း"</item>
+    <item msgid="2666922823253345958">"တောင်တက်နေသူ"</item>
+    <item msgid="8234880356472211396">"ဘောလုံးပစ်နေသူ"</item>
+    <item msgid="4642980625253001443">"ကန်နေသူ"</item>
+    <item msgid="4324795269518833500">"ဂိမ်းထိန်းချုပ်ကိရိယာ"</item>
+    <item msgid="7789966425125441125">"ပန်းချီပညာရှင် အရောင်အစုအဖွဲ့"</item>
+    <item msgid="663512680597461570">"နှင်းပွင့်"</item>
+    <item msgid="7952183800501346803">"ကမ်းခြေထီး"</item>
+    <item msgid="799139025758265891">"အလုပ်ရုံတူးလ်များ"</item>
+    <item msgid="1330084588359129896">"တဲ"</item>
+    <item msgid="3861584909935022342">"ဖလင်လိပ်"</item>
+    <item msgid="5827426100157335512">"စာအုပ်"</item>
+    <item msgid="8585828346253128384">"ကြာပန်း"</item>
+    <item msgid="8788370542815300188">"လူ့စိတ်"</item>
+    <item msgid="7287354964767553293">"နားကြပ်"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"ရထား"</item>
+    <item msgid="4903790544026923026">"ကား"</item>
+    <item msgid="5010405583912314582">"ဓား၊ ခက်ရင်း"</item>
+    <item msgid="8939998598599064900">"ဈေးခြင်းတောင်း"</item>
+    <item msgid="3379605903308731893">"ကလေး"</item>
+    <item msgid="7808668968550293112">"တိရစ္ဆာန်ဖဝါး"</item>
+    <item msgid="1000692647524056504">"ကြယ်ပွင့်တံဆိပ်"</item>
+    <item msgid="8270261073421676502">"လူနှစ်ဦး"</item>
+    <item msgid="5767782819651505460">"ကြယ်"</item>
+    <item msgid="4368451291862729334">"အသည်းပုံ"</item>
+    <item msgid="2613199102208419986">"အိမ်"</item>
+    <item msgid="3022279986430275040">"လခြမ်းတစ်ဝက်"</item>
+    <item msgid="5421089790869483206">"နာရီ"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index ea7fbcd..522348f 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"ဆိုင်းငံ့ထားသည်"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"မသိ"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"အစမ်းကြည့်ပါ"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR ကုဒ်"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"ပိုသေးအောင် ပြုလုပ်ပါ"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"ပိုကြီးအောင် ပြုလုပ်ပါ"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"အမြဲတမ်း"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"နားကြားကိရိယာ ဆက်တင်များ"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"ဖြတ်လမ်းလင့်ခ်၊ နားကြားကိရိယာ တွဲဖက်အသုံးပြုနိုင်မှု"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"ကြိုတင်သတ်မှတ်ချက်"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"သင့်နားအထူးကုဆရာဝန်က စီမံပေးထားသည့် အသင့်သုံးများ မရှိပါ"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"အသင့်သုံးကို အပ်ဒိတ်လုပ်၍မရပါ"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"အသံထွက်မည့် ကိရိယာ"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"အသံထွက်မည့် ကိရိယာအကြောင်း"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"ဤအက်ပ်အတွက် ‘ဆက်တင်များ’ မှ ဘာသာစကား ရွေးချယ်မှု မရရှိနိုင်ပါ။"</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"ဘာသာစကားသည် အက်ပ်တွင် ရရှိနိုင်သော ဘာသာစကားများမှ ကွဲပြားနိုင်သည်။ အချို့အက်ပ်များက ဤဆက်တင်ကို မပံ့ပိုးနိုင်ပါ။"</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"အက်ပ်တစ်ခုစီအတွက် ဘာသာစကား သတ်မှတ်သည်။"</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"သင့်စနစ်၊ အက်ပ်နှင့် ဝဘ်ဆိုက်များက သင့်စိတ်ကြိုက်ဘာသာစကားများမှ ပထမဆုံး ပံ့ပိုးပေးသည့် ဘာသာစကားကို သုံးသည်။"</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"သင်၏ စက်၊ အက်ပ်နှင့် ဝဘ်ဆိုက်များသည် သင့်ဦးစားပေးဘာသာစကားစာရင်းမှ ပထမဆုံးပံ့ပိုးပေးသော ဘာသာစကားကို အသုံးပြုသည်။\n\nအက်ပ်အများအပြားသည် ရက်စွဲ၊ နံပါတ်နှင့် ယူနစ်များကို ပုံစံချရန်အတွက် သင့်ဦးစားပေးဘာသာစကားမှ ဒေသကိုလည်း သုံးပါမည်။ သင့်ဒေသကို ပြောင်းရန်အတွက် ဘာသာစကားထည့်ပြီးနောက် ဦးစားပေးဒေသကို ရွေးပါ။"</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"အက်ပ်တစ်ခုချင်းစီအတွက် ဘာသာစကားရွေးရန် အက်ပ်ဘာသာစကား ဆက်တင်များသို့ သွားပါ။"</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"အက်ပ်ဘာသာစကားများအကြောင်း ပိုမိုလေ့လာခြင်း"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"စနစ်ဘာသာစကားကို %s သို့ပြောင်းမလား။"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"ပိတ်"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{ဖွင့် / အက်ပ် # ခုက တည်နေရာသုံးခွင့် ရှိသည်}other{ဖွင့် / အက်ပ် # ခုက တည်နေရာသုံးခွင့် ရှိသည်}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"ဖွင့်နေသည်…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"အနီးတစ်ဝိုက်ရှိ စက်များ၏ ခွင့်ပြုချက်ကိုရထားသော အက်ပ်များက ချိတ်ဆက်ထားသောစက်များ၏ ဆက်စပ်နေရာကို တွက်ချက်နိုင်သည်။"</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"အနီးတစ်ဝိုက်ရှိ စက်များ၏ ခွင့်ပြုချက်ကိုရထားသော အက်ပ်များက ချိတ်ဆက်ထားသောစက်များ၏ ဆက်စပ်နေရာကို တွက်ချက်နိုင်သည်။"</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"အက်ပ်နှင့် ဝန်ဆောင်မှုများအတွက် တည်နေရာသုံးခွင့်ကို ပိတ်ထားသည်။ သင် အရေးပေါ် နံပါတ်ကို ဖုန်းဆက်သောအခါ (သို့) စာတိုပို့သောအခါ သင့်စက်၏တည်နေရာကို အရေးပေါ်ဆောင်ရွက်ပေးသူများထံ ပို့နိုင်ပါသည်။"</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"တည်နေရာပြ ဆက်တင်များအကြောင်း ပိုမိုလေ့လာရန်"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"ပြောင်းရန် ChromeOS ဆက်တင်များ &gt; ကိုယ်ရေးအချက်အလက် လုံခြုံမှုနှင့် လုံခြုံရေး &gt; ကိုယ်ရေးအချက်အလက်လုံခြုံမှု ဆက်တင်များ &gt; တည်နေရာ အသုံးပြုခွင့်သို့ သွားပါ"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"မျက်နှာနှင့် <xliff:g id="WATCH">%s</xliff:g> ကို ထည့်လိုက်ပါပြီ"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"မျက်နှာ၊ လက်ဗွေနှင့် <xliff:g id="WATCH">%s</xliff:g> ကို ထည့်လိုက်ပါပြီ"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"မျက်နှာ၊ လက်ဗွေများနှင့် <xliff:g id="WATCH">%s</xliff:g> ကို ထည့်လိုက်ပါပြီ"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"‘အထောက်အထား စစ်ဆေးခြင်း’ ဖွင့်ထားပြီး ဇီဝမက်ထရစ် လိုအပ်သည်"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"အဝေးထိန်း Authenticator ဖွင့်ခြင်း"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"နာရီထည့်လိုက်ပြီ"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"လက်ပတ်နာရီ စနစ်ထည့်သွင်းခြင်း"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"‘နာရီဖြင့်ဖွင့်ခြင်း’ အကြောင်း ပိုမိုလေ့လာရန်"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"နာရီထည့်ရန်"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"နာရီ ဖယ်ရှားရန်"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"လက်ဗွေနှင့် မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"မျက်နှာ၊ လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"အလုပ်အတွက် ‘မျက်နှာပြနှင့် လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"စနစ်ထည့်သွင်းရန် လိုအပ်သည်"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"မျက်နှာနှင့် လက်ဗွေများ ထည့်ပြီးပါပြီ"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"သီးသန့်နေရာကို စနစ်ထည့်သွင်းနေသည်…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"သီးသန့်နေရာကို စနစ်ထည့်သွင်း၍မရပါ"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"ထပ်စမ်းရန်"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"ထွက်ရန်"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"သီးသန့်နေရာ မရနိုင်ပါ။\nဖြစ်နိုင်သော အကြောင်းရင်းများကို ကြည့်ပါ"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"ဖြစ်နိုင်သော အကြောင်းရင်းများကို ကြည့်ပါ"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"သီးသန့်နေရာအတွက် လော့ခ်အသစ် ရွေးမလား။"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"သီးသန့်နေရာအတွက် လော့ခ်အသစ် သတ်မှတ်နိုင်သည် (သို့) သင့်စက်ဖွင့်ရန်သုံးသည့် တူညီသော လော့ခ်ကို အသုံးပြုနိုင်သည်"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"ဖန်သားပြင်လော့ခ် သုံးရန်"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ဘလူးတုသ်ဖွင့်ထားသည့်အခါ သင့်စက်သည် အနီးတစ်ဝိုက်ရှိ အခြား ဘလူးတုသ်သုံးစက်များနှင့် ချိတ်ဆက်နိုင်သည်။\n\nစက်ကို ပိုမိုကောင်းမွန်စွာ သုံးနိုင်ရန် ဘလူးတုသ်ပိတ်ထားသည့်အခါတွင်ပင် အက်ပ်နှင့် ဝန်ဆောင်မှုများသည် အနီးတစ်ဝိုက်ရှိစက်များကို အချိန်မရွေးရှာနိုင်သည်။ ဥပမာ- တည်နေရာအခြေခံသည့် တူးလ်နှင့် ဝန်ဆောင်မှုများအတွက် ၎င်းကို သုံးနိုင်သည်။ ၎င်းကို ဘလူးတုသ်ရှာသည့် ဆက်တင်များတွင် ပြောင်းနိုင်သည်။"</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"ဘလူးတုသ်ဖွင့်ထားလျှင် သင့်စက်သည် အနီးရှိ အခြားဘလူးတုသ်သုံးစက်များနှင့် ဆက်သွယ်နိုင်သည်။ ‘အမြန် မျှဝေပါ’ နှင့် Find My Device ကဲ့သို့ တူးလ်များသည် ဘလူးတုသ်သုံးသည်။\n\nဘလူးတုသ်ပိတ်ထားချိန်တွင်ပင် အက်ပ်နှင့် ဝန်ဆောင်မှုများသည် အနီးတစ်ဝိုက်ရှိ စက်များကို အချိန်မရွေး ရှာနိုင်သေးသည်။ ဥပမာ တည်နေရာအခြေပြု တူးလ်နှင့် ဝန်ဆောင်မှုများ ပိုကောင်းအောင်လုပ်ရန် ၎င်းကိုသုံးနိုင်သည်။ ၎င်းကို ဘလူးတုသ် ရှာဖွေခြင်း ဆက်တင်များတွင် ပြောင်းနိုင်သည်။"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"ပြောင်းရန်"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ကို ချိတ်ဆက်မထားပါ"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"သင့်လုံခြုံရေးအတွက် ဤစက်ကို မေ့ပစ်ပြီးနောက် ပြန်လည်တွဲချိတ်ပါ"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"စက်ကို မေ့ပစ်ရန်"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"မလုပ်တော့"</string>
     <string name="device_details_title" msgid="1155622417516195481">"စက်အသေးစိတ်များ"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"ကီးဘုတ် ဆက်တင်များ"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"နောက်ထပ်ဆက်တင်များ"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"ဖားမ်ဝဲအပ်ဒိတ်များ၊ အကြောင်းနှင့် အခြား"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"အကြံပြုချက်များ၊ အကူအညီ"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"စက်ပစ္စည်း၏ ဘလူးတုသ်လိပ်စာ- <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"စက်၏ ဘလူးတုသ်လိပ်စာ-\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"စက်ပစ္စည်းကို မေ့ပစ်လိုက်မလား။"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"စမ်းသပ်ဆဲ။ အသံအရည်အသွေး ပိုကောင်းသည်။"</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"စက်ပစ္စည်းကို မေ့ပစ်ရန်"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"အက်ပ် ချိတ်ဆက်မှုဖြုတ်ရန်"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"နောက်ထပ်ဆက်တင်များ"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"ဘလူးတုသ်က အများဆုံးချိတ်ဆက်ထားနိုင်သည့် စက်အရေအတွက်"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"ချိတ်ဆက်ထားနိုင်သည့် ဘလူးတုသ် ချိတ်ဆက်နိုင်သည့် အများဆုံးအရေအတွက်ကို ရွေးပါ"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC အကျယ်ရှင်းလင်းချက်ပံ့ပိုးသူ အမှားရှာပြင်ခြင်း မှတ်တမ်း"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"စက်ကို ပြန်စမလား။"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"အသေးစိတ် NFC မှတ်တမ်းတင်ခြင်းကို ဆော့ဖ်ဝဲရေးရန်အတွက်သာ ရည်ရွယ်ထားသည်။ ကိုယ်ရေးကိုယ်တာ အချက်အလက်များ ပါရှိနိုင်သော ချွတ်ယွင်းမှု အစီရင်ခံချက်များတွင် ထပ်ဆောင်း NFC ဒေတာ ပါဝင်သည်။ ဤဆက်တင်ပြောင်းရန် သင့်စက်ကို ပြန်စပါ။"</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"ပြန်စရန်"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"ဖွင့်"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"ပိတ်"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"ပြင်ပဖန်သားပြင်"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"ပြင်ပဖန်သားပြင် သုံးရန်"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"ဖန်သားပြင် ပုံရိပ်ပြတ်သားကိန်း"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"ပြင်ပဖန်သားပြင်နှင့် ချိတ်ဆက်မှုမရှိပါ"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"လှည့်ခြင်း"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"ပုံမှန်"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"ပုံရိပ်ပြတ်သားကိန်း (သို့) လှည့်ခြင်းကို ပြောင်းလိုက်ပါက လက်ရှိဖွင့်ထားသော အက်ပ်များ ရပ်သွားနိုင်သည်"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"သင့်ဖန်သားပြင်ကို စကရင်ပွားရန် သင့်စက်ကို ပြင်ပဖန်သားပြင်နှင့် ချိတ်ဆက်ထားရမည်"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"နောက်ထပ် ရွေးစရာများ"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"ကာစ်"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"စကရင်ပွားရန်"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"ကြိုးမဲ့ ပြသမှုကို ဖွင့်ရန်"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"အလိုက်အထိုက်"</string>
     <string name="brightness" msgid="6216871641021779698">"တောက်ပမှု အဆင့်"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"အလိုက်သင့် တောက်ပမှု"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"အလိုက်သင့် တောက်ပမှုအကြောင်း"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"သင်၏ ဖန်သားပြင်တောက်ပမှုသည် ပတ်ဝန်းကျင်နှင့် လုပ်ဆောင်ချက်များကိုလိုက်၍ အလိုအလျောက် ချိန်ညှိသွားပါမည်။ သင့်ရွေးချယ်မှုများကို အလိုက်သင့် တောက်ပမှုပြောင်းလဲခြင်းစနစ်က ပိုမိုလေ့လာနိုင်စေရန် ရွှေ့တုန်းကို သင်ကိုယ်တိုင် ရွှေ့နိုင်ပါသည်။"</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"ဖွင့်"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"ပိတ်"</string>
@@ -1311,8 +1340,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="8850185380445309835">"ဦးစားပေးဆင်းမ်ကတ် သတ်မှတ်မလား။"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> သည် သင့်ဖုန်းထဲရှိ တစ်ခုတည်းသော ဆင်းမ်ကဒ်ဖြစ်သည်။ ဤဆင်းမ်ကဒ်ကို မိုဘိုင်းဒေတာ အသုံးပြုရန်၊ ဖုန်းခေါ်ရန်နှင့် SMS မက်ဆေ့ဂျ်ပို့ရန် အတွက် အသုံးပြုလိုပါသလား။"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> သည် သင့်ပင်မဆင်းမ်ကတ် ဖြစ်နေပါပြီ"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"မိုဘိုင်းဒေတာ ပိုကောင်းအောင် လုပ်မလား။"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"<xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> ကွန်ရက်ပိုကောင်းသည့်အခါ ၎င်း၏မိုဘိုင်းဒေတာသို့ သင့်စက်ကို အော်တိုပြောင်းခွင့်ပြုပါ။"</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"ခေါ်ဆိုမှုများ၊ မက်ဆေ့ဂျ်များနှင့် ကွန်ရက်ဒေတာ စီးဆင်းမှုကို သင်၏အဖွဲ့အစည်းက မြင်နိုင်သည်။"</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"ရွေးစရာများ"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"အများသုံးနိုင်မှု"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"စက်၏ ကီးဘုတ်"</string>
-    <string name="show_ime" msgid="4334255501724746849">"မျက်နှာပြင်လက်ကွက်ကို သုံးခြင်း"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"စက်၏ကီးဘုတ် ဖွင့်ထားစဉ်တွင် ၎င်းကို ဖန်သားပြင်ပေါ်တွင် ဆက်ထားပါ"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"ပြန်ကန်ကီးများ"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"ကီးဘုတ်သည် <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms အတွင်း ကီးတစ်ခုတည်း အကြိမ်ကြိမ် အမြန်နှိပ်ခြင်းကို လျစ်လျူရှုသည်"</string>
     <string name="slow_keys" msgid="2891452895499690837">"အနှေးကီးများ"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"<xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms ဖွင့်ရန် ခလုတ်နှိပ်ခြင်းအတွက် ကြာချိန်ကို ပြင်နိုင်သည်"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"ကပ်ခွာကီးများ"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"ဖြတ်လမ်းလင့်ခ်များအတွက် ခလုတ်များကို တစ်ပြိုင်တည်းဖိထားမည့်အစား တစ်ကြိမ်လျှင် ခလုတ်တစ်ခု နှိပ်နိုင်သည်"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"မောက်စ်ကီးများ"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"မောက်စ်ကို ထိန်းချုပ်ရန် ပကတိကီးဘုတ်ကိုသုံးပါ။"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"လက်ကွက်ဖြတ်လမ်းများ"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"ဖြတ်လမ်းလင့်ခ်များစာရင်း ပြပါ"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"အလုပ်ပရိုဖိုင် လက်ကွက်နှင့် တူးလ်များ"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"တစ်ဦးသုံး တာ့ချ်ပက်လမ်းညွှန် လက်ဟန်များကို စိတ်ကြိုက်လုပ်ပါ"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"ပြောင်းပြန်လှိမ့်ခြင်း"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"အောက်သို့လှိမ့်လျှင် အကြောင်းအရာ အပေါ်သို့တက်လာမည်"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"အောက်ခြေညာကို တို့ခြင်း"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"နောက်ထပ်ရွေးစရာအတွက် တာ့ချ်ပက်၏ အောက်ခြေညာထောင့်ကို တို့ပါ"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"အောက်ခြေညာဘက်ခလုတ်ကို နှိပ်ခြင်း"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"နောက်ထပ်ရွေးစရာအတွက် တာ့ချ်ပက်၏ အောက်ခြေညာထောင့်ကို နှိပ်နိုင်သည်"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"မြားရွေ့နှုန်း"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"မြား ဖြည့်စွက်ပုံစံ"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"မြား ဖြည့်စွက်ပုံစံကို အမည်း ပြောင်းရန်"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"မြား ဖြည့်စွက်ပုံစံကို အဝါ ပြောင်းရန်"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"မြား ဖြည့်စွက်ပုံစံကို ပန်းရောင် ပြောင်းရန်"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"မြား ဖြည့်စွက်ပုံစံကို အပြာ ပြောင်းရန်"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"မြားစုတ်ချက် ပုံစံ"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"အဖြူ"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"အမည်း"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"မရှိ"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"တာ့ချ်ပက်လက်ဟန်များကို လေ့လာရန်"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"တာ့ချ်ပက်၊ တာ့ချ်ပက်၊ မောက်စ်၊ ကာဆာ၊ လှိမ့်၊ ပွတ်ဆွဲ၊ ညာဘက်ခလုတ်ကို နှိပ်၊ နှိပ်၊ မြား"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"ညာဘက်ခလုတ်ကို နှိပ်၊ တို့"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"ပြန်သတ်မှတ်ရန်"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"မွမ်းမံပေးရေးကီးကို ရွေးပါ"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> အတွက် ကီးအသစ်ရွေးပါ-"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"ပကတိကီးဘုတ် အများသုံးနိုင်မှု"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"ကပ်ခွာကီး၊ တစ်ကြိမ်နှိပ်ကီး၊ မောက်စ်ကီး"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> အပြင်အဆင်"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"မူရင်း"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"အလိုအလျောက်- <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"အသုံးပြုသူ၏ ရွေးချယ်မှု- <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"စကားသံ"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"မြားရွေ့နှုန်း"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"မြားအရွယ်အစား"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"မြားအရွယ်အစား သေးရန်"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"မြားအရွယ်အစား ကြီးရန်"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"ဂိမ်းထိန်းချုပ်ခြင်း"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"တစ်ဆင့်ပြန်ညွှန်ပြခြင်း တုန်ခါမှု"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"ချိတ်ဆက်ထားသည့်အခါ တုန်ခါမှုကို ဂိမ်းခလုတ်ဆီသို့ ပို့ရန်"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"မည်သို့ပင်ဖြစ်စေ ရှေ့ဆက်ရန်"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"မလုပ်တော့"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"ပုံကြီးချဲ့ခြင်း ဆက်တင်များ"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"လက်တစ်ချောင်းသုံး ရွှေ့ကြည့်ခြင်း"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"မှန်ဘီလူးကို လက် ၁ ချောင်းဖြင့် ရွှေ့ပါ"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"ဖန်သားပြင်ပေါ်တွင် ရွှေ့ကြည့်ရန် လက် ၁ ချောင်းဖြင့် ဖိဆွဲပါ"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"လက်တစ်ချောင်းဖြင့် ဖိဆွဲ၍ ချဲ့ပြသည့်အကွက်ကို ရွှေ့နိုင်သည်။"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"လက်နှစ်ချောင်းဖြင့် ဖိဆွဲ၍ ချဲ့ပြသည့်အကွက်ကို ရွှေ့နိုင်သည်။"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"ဖန်သားပြင်၏တစ်စိတ်တစ်ပိုင်းကိုသာ ချဲ့နေစဉ် မရနိုင်ပါ"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ဇူးမ်အသုံးပြုရန် ခလုတ်ကို တို့ပါ"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"အကြောင်းအရာပိုကြီးလာစေရန် ဖန်သားပြင်တွင် အမြန်ဇူးမ်ဆွဲနိုင်သည်"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;ဇူးမ်ဆွဲရန်အတွက်-&lt;/b&gt;&lt;br/&gt; {0,number,integer}။ စတင်ချဲ့ရန် ဖြတ်လမ်းလင့်ခ်ကို သုံးပါ&lt;br/&gt; {1,number,integer}။ ဖန်သားပြင်ကို တို့ပါ&lt;br/&gt; {2,number,integer}။ ဖန်သားပြင်ပေါ်တွင် ရွှေ့ကြည့်ရန် လက် ၂ ချောင်းဖြင့် ဖိဆွဲပါ&lt;br/&gt; {3,number,integer}။ ဇူးမ်ချိန်ညှိရန် လက် ၂ ချောင်းဖြင့် ချဲ့ချုံ့ပါ&lt;br/&gt; {4,number,integer}။ ချဲ့ခြင်းကို ရပ်ရန် ဖြတ်လမ်းလင့်ခ်ကို သုံးပါ&lt;br/&gt;&lt;br/&gt; &lt;b&gt;ယာယီ ဇူးမ်ဆွဲရန်-&lt;/b&gt;&lt;br/&gt; {0,number,integer}။ ချဲ့သည့်ပုံစံကို ဖန်သားပြင်အပြည့် သတ်မှတ်ထားကြောင်း သေချာပါစေ&lt;br/&gt; {1,number,integer}။ စတင်ချဲ့ရန် ဖြတ်လမ်းလင့်ခ်ကို သုံးပါ&lt;br/&gt; {2,number,integer}။ ဖန်သားပြင်တစ်နေရာတွင် ထိပြီး ဖိထားပါ&lt;br/&gt; {3,number,integer}။ ဖန်သားပြင်ပေါ်တွင် ရွှေ့ကြည့်ရန် လက်ချောင်းကို ဖိဆွဲပါ&lt;br/&gt; {4,number,integer}။ ချဲ့ခြင်း ရပ်ရန် လက်ချောင်းကို ကြွပါ"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;ဇူးမ်ဆွဲရန်အတွက်-&lt;/b&gt;&lt;br/&gt; {0,number,integer}။ စတင်ချဲ့ရန် ဖြတ်လမ်းလင့်ခ်ကို သုံးပါ&lt;br/&gt; {1,number,integer}။ ဖန်သားပြင်ကို တို့ပါ&lt;br/&gt; {2,number,integer}။ ဖန်သားပြင်ပေါ်တွင် ရွှေ့ကြည့်ရန် လက် ၂ ချောင်းဖြင့် ဖိဆွဲပါ&lt;br/&gt; {3,number,integer}။ ဇူးမ်ချိန်ညှိရန် လက် ၂ ချောင်းဖြင့် ချဲ့ချုံ့ပါ&lt;br/&gt; {4,number,integer}။ ချဲ့ခြင်းကိုရပ်ရန် ဖြတ်လမ်းအသုံးပြုပါ&lt;br/&gt;&lt;br/&gt; ယာယီဇူးမ်ဆွဲခြင်းနှင့် အခြားအရာများလည်း လုပ်နိုင်သည်။"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;ဇူးမ်ဆွဲရန်အတွက်-&lt;/b&gt;&lt;br/&gt; {0,number,integer}။ စတင်ချဲ့ရန် ဖြတ်လမ်းလင့်ခ်ကို သုံးပါ&lt;br/&gt; {1,number,integer}။ ဖန်သားပြင်ကို တို့ပါ&lt;br/&gt; {2,number,integer}။ ဖန်သားပြင်ပေါ်တွင် ရွှေ့ကြည့်ရန် လက် ၁ ချောင်း သို့မဟုတ် ၂ ချောင်းဖြင့် ဖိဆွဲပါ&lt;br/&gt; {3,number,integer}. ဇူးမ်ချိန်ညှိရန် လက် ၂ ချောင်းဖြင့် ချဲ့ချုံ့ပါ&lt;br/&gt; {4,number,integer}။ ချဲ့ခြင်းကိုရပ်ရန် ဖြတ်လမ်းအသုံးပြုပါ&lt;br/&gt;&lt;br/&gt; ယာယီဇူးမ်ဆွဲခြင်းနှင့် အခြားအရာများလည်း လုပ်နိုင်သည်။"</string>
     <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"မှန်ဘီလူးကို ဖွင့်ထားသည့်အခါ သင့်ဖန်သားပြင်ပေါ်တွင် ဇူးမ်ဆွဲနိုင်ပါသည်။\n\n"<b>"ဇူးမ်ဆွဲရန်"</b>" မှန်ဘီလူးကို ဖွင့်ပြီး ဖန်သားပြင်ပေါ်ရှိ နေရာတစ်ခုတွင် တို့ပါ။\n"<ul><li>"လှိမ့်ရွှေ့ရန် အနည်းဆုံး လက်ချောင်း ၂ ချောင်းဖြင့် ဖိဆွဲပါ"</li>\n<li>"ဇူးမ်ကို ချိန်ညှိရန် အနည်းဆုံး လက်ချောင်း ၂ ချောင်းဖြင့် ဆွဲကပ်ပါ"</li></ul>\n\n<b>"ယာယီဇူးမ်ဆွဲရန်"</b>" မှန်ဘီလူးကို ဖွင့်ပြီး ဖန်သားပြင်ပေါ်ရှိ တစ်နေနေရာတွင် ဖိထားပါ။\n"<ul><li>"ဖန်သားပြင်တစ်လျှောက် ရွှေ့ကြည့်ရန် ဖိဆွဲပါ"</li>\n<li>"ဇူးမ်ဖြုတ်ရန် လက်ချောင်းကို မ လိုက်ပါ"</li></ul>\n\n"ကီးဘုတ် သို့မဟုတ် လမ်းညွှန်ဘားကို ဇူးမ်ဆွဲ၍ မရပါ။"</string>
     <string name="accessibility_tutorial_pager" msgid="8461939455728454061">"စာမျက်နှာ <xliff:g id="NUM_PAGES">%2$d</xliff:g> မျက်နှာအနက် <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> မျက်နှာ"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"သုံးနိုင်မှုခလုတ် ဖြတ်လမ်းလင့်ခ်"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"လွင့်မျောခလုတ်ကို တို့ပါ"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"သုံးနိုင်မှု လက်ဟန်"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"သင့်ဖန်သားပြင်အောက်ခြေရှိ သုံးနိုင်မှုခလုတ် <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ကို တို့ပါ။ ဝန်ဆောင်မှုများအကြား ပြောင်းရန် သုံးနိုင်မှုခလုတ်ကို တို့ထိ၍ ဖိထားပါ။"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"လက် ၂ ချောင်းဖြင့် ဖန်သားပြင်အောက်ခြေမှ အပေါ်သို့ပွတ်ဆွဲပါ။\n\nဝန်ဆောင်မှုများအကြား ပြောင်းရန် လက် ၂ ချောင်းဖြင့် အပေါ်သို့ပွတ်ဆွဲပြီး ဖိထားပါ။"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"လက် ၃ ချောင်းဖြင့် ဖန်သားပြင်အောက်ခြေမှ အပေါ်သို့ပွတ်ဆွဲပါ။\n\nဝန်ဆောင်မှုများအကြား ပြောင်းရန် လက် ၃ ချောင်းဖြင့် အပေါ်သို့ပွတ်ဆွဲပြီး ဖိထားပါ။"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{သင့်ဖန်သားပြင် အောက်ခြေမှ အပေါ်သို့ ပွတ်ဆွဲပါ။ ဝန်ဆောင်မှုများအကြား ပြောင်းရန် အပေါ်သို့ ပွတ်ဆွဲပြီး ဖိထားပါ။}other{သင့်ဖန်သားပြင် အောက်ခြေမှ အပေါ်သို့ လက် # ချောင်းဖြင့် ပွတ်ဆွဲပါ။ ဝန်ဆောင်မှုများအကြား ပြောင်းရန် လက် # ချောင်းဖြင့် အပေါ်သို့ ပွတ်ဆွဲပြီး ဖိထားပါ။}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"နောက်ထပ် ရွေးချယ်စရာများ"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"<xliff:g id="SERVICE">%1$s</xliff:g> အကြောင်း ပိုမိုလေ့လာရန်"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"အသံထိန်းခလုတ်"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"အသံထိန်းခလုတ်"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"အသံခလုတ်နှစ်ခုလုံးကို နှိပ်ထားပါ"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"စခရင်ကို လက်နှစ်ချောင်းဖြင့် နှစ်ချက်တို့ခြင်း"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"လက် %1$d ချောင်းဖြင့် နှစ်ချက်တို့ခြင်း"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"ဖန်သားပြင်ကို လက် %1$d ချောင်းဖြင့် နှစ်ကြိမ် အမြန်တို့ပါ"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"သုံးချက်တို့ခြင်း"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"ဖန်သားပြင်ကို %1$d ကြိမ် အမြန်တို့ပါ။ ၎င်းသည် သင့်စက်ကို နှေးသွားစေနိုင်သည်။"</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"လက် %1$d ချောင်းဖြင့် နှစ်ချက်တို့ခြင်း"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"စခရင်ကို {0,number,integer} ကြိမ် လက်နှစ်ချောင်းဖြင့် အမြန်တို့ပါ"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"မျက်နှာပြင်ကို သုံးချက်တို့ပါ"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"သုံးချက်တို့ခြင်း"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"ဖန်သားပြင်ကို {0,number,integer} ကြိမ် အမြန်တို့ပါ။ ဤဖြတ်လမ်းလင့်ခ်သည် သင့်စက်ကို နှေးသွားစေနိုင်သည်"</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_global_gesture_preference_title" msgid="8866765674372344850">"အသံထိန်းခလုတ်ဖြတ်လမ်း"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"ဖြတ်လမ်းလင့်ခ် ဆက်တင်များ"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"လော့ခ်မျက်နှာပြင်မှ ဖြတ်လမ်းလင့်ခ်"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"လော့ခ်မျက်နှာပြင်မှ အသံထိန်းခလုတ်ဖြတ်လမ်း"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"ဝန်ဆောင်မှု ဖြတ်လမ်းလင့်ခ်အား လော့ခ်ချထားစဉ် ဖန်သားပြင်တွင် ဖွင့်ခွင့်ပြုသည်။ အသံခလုတ်နှစ်ခုလုံးကို စက္ကန့်အနည်းငယ် ဖိထားပါ။"</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"အများသုံးနိုင်မှု ခလုတ်"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"အများသုံးနိုင်မှု ခလုတ်နှင့် လက်ဟန်"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"ဤဝန်ဆောင်မှု ချွတ်ယွင်းနေသည်။"</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"အများသုံးနိုင်မှု ဖြတ်လမ်းလင့်ခ်များ"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"အမြန်ဆက်တင်များတွင်ပြပါ"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"အနီ-အစိမ်း"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"အနီ-အစိမ်း"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"အနီ-အစိမ်း၊ အစိမ်း အားနည်း"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"အနီ-အစိမ်း၊ အနီ အားနည်း"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"အပြာ-အဝါ"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"အဖြူအမည်း"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"တောက်ပမှု"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"အစိမ်းရောင်အားနည်းခြင်း၊ အစိမ်းမမြင်ရခြင်း"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"အနီရောင်အားနည်းခြင်း၊ အနီမမြင်ရခြင်း"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"အဖြူအမည်းမုဒ်အတွက် (သို့) အရောင်အမှန်ပြင်ခြင်းကို ပိတ်ထားချိန်တွင် မရနိုင်ပါ"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"ပိုမှိန်ခြင်း"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"ဖန်သားပြင်ကို ပိုမှိန်အောင်လုပ်ခြင်း"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"စိမ်းပြာ"</string>
     <string name="color_yellow" msgid="5957551912912679058">"အဝါ"</string>
     <string name="color_magenta" msgid="8943538189219528423">"ပန်းခရမ်း"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"<xliff:g id="SERVICE">%1$s</xliff:g> အား သင့်စက်ပစ္စည်းကို အပြည့်အဝ ထိန်းချုပ်ခွင့်ပေးလိုပါသလား။"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> ကလုပ်ဆောင်ရန်များ-"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"အပလီကေးရှင်းသည် ခွင့်ပြုချက်တောင်းခံမှုကို ပိတ်လိုက်ခြင်းကြောင့်၊ သင့်တုန့်ပြန်မှုကို အချိန်ညှိချက်များ အတည်မပြုနိုင်ပါ။"</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> က ဤကိရိယာကို အပြည့်အဝ ထိန်းချုပ်ခွင့် တောင်းဆိုနေသည်။ ဤဝန်ဆောင်မှုက ဖန်သားပြင်ရှိအရာများကို ဖတ်နိုင်ပြီး အများသုံးနိုင်မှု လိုအပ်ချက်များသုံး၍ အသုံးပြုသူများကိုယ်စား လုပ်ဆောင်နိုင်သည်။ ဤထိန်းချုပ်မှု အဆင့်သည် အက်ပ်အများစုအတွက် မသင့်လျော်ပါ။"</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"အများသုံးနိုင်မှု လိုအပ်ချက်များအတွက် အထောက်အကူပြုသည့် အက်ပ်များကို အပြည့်အဝထိန်းချုပ်ခြင်းသည် သင့်လျော်သော်လည်း အက်ပ်အများစုအတွက် မသင့်လျော်ပါ။"</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"ဖန်သားပြင်ကို ကြည့်ရှုထိန်းချုပ်ခြင်း"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"၎င်းသည် မျက်နှာပြင်ပေါ်ရှိ အကြောင်းအရာအားလုံးကို ဖတ်နိုင်ပြီး အခြားအက်ပ်များအပေါ်တွင် အကြောင်းအရာကို ဖော်ပြနိုင်သည်။"</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"လုပ်ဆောင်ချက်များကို ကြည့်ရှုဆောင်ရွက်ခြင်း"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"၎င်းသည် သင်နှင့် အက်ပ်တစ်ခု (သို့) အာရုံခံကိရိယာအကြား ပြန်လှန်တုံ့ပြန်မှုများကို မှတ်သားနိုင်ပြီး သင့်ကိုယ်စား အက်ပ်များနှင့် ပြန်လှန်တုံ့ပြန်နိုင်သည်။"</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"ခွင့်ပြု"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"ပယ်ရန်"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"ပိတ်ရန်"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"ဖွင့် / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> နှင့် <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"ဘလူးတုသ်သုံးစက်များအတွက် ‘ထောင့်စုံအော်ဒီယို’ ကိုလည်း ဖွင့်နိုင်သည်။"</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"ချိတ်ဆက်ထားသည့် စက်ဆက်တင်များ"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"ထောင့်စုံအော်ဒီယို"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"ပိတ်"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"ပိတ်"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"ပိတ်"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{မရှိ}=1{အချိန်ဇယား ၁ ခု သတ်မှတ်ထားသည်}other{အချိန်ဇယား # ခု သတ်မှတ်ထားသည်}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"မနှောင့်ယှက်ရ"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"ဦးစားပေးမုဒ်"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"မုဒ်ထည့်ရန်"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"မုဒ်များ"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"အိပ်ခြင်း၊ အလုပ်လုပ်ခြင်း၊ ကားမောင်းခြင်းနှင့် ၎င်းတို့ကြားရှိ အရာရာအတွက် မုဒ်များဖြင့် အနှောင့်အယှက်များကို လျှော့ချပြီး သင့်အာရုံစိုက်မှုကို ထိန်းချုပ်နိုင်သည်။"</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"ကိုယ်ပိုင်မုဒ် ပြုလုပ်ရန်"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"အရေးကြီးပုဂ္ဂိုလ်များနှင့် အက်ပ်များထံမှသာ အကြောင်းကြားချက် ရယူပါ"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"အချိန်ဇယား သတ်မှတ်ရန်"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"အောက်ပါကို အခြေခံထားသော အချိန်ဇယား"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"ရက်စွဲနှင့် အချိန်"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"“ကြားရက်များ နံနက် ၉ နာရီ - ညနေ ၅ နာရီ”"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"ပြက္ခဒိန်အစီအစဉ်များ"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} ကို အသုံးပြုနေသည်}=2{{mode_1} နှင့် {mode_2} တို့ကို အသုံးပြုနေသည်}=3{{mode_1}၊ {mode_2} နှင့် {mode_3} တို့ကို အသုံးပြုနေသည်}other{{mode_1}၊ {mode_2} နှင့် နောက်ထပ် # ခုတို့ကို အသုံးပြုနေသည်}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{မုဒ် ၁ ခု အလိုအလျောက်ပွင့်နိုင်သည်}other{မုဒ် # ခု အလိုအလျောက်ပွင့်နိုင်သည်}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ဖွင့်"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"သတ်မှတ်မထားပါ"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"ပိတ်ထားသည်"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"မုဒ် ပြုလုပ်ခြင်း"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"စိတ်ကြိုက်"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"ယခုဖွင့်ရန်"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"ပိတ်ရန်"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"မုဒ် မတွေ့ပါ"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"အနှောင့်အယှက်များကို တားဆီးသည်"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"အာရုံပျံ့စရာ (သို့) အနှောင့်အယှက်များကို ပိတ်ထားနိုင်သည်"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g> ကို စနစ်ထည့်သွင်းရန်"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\'မနှောင့်ယှက်ရ\' ဖွင့်ခြင်း"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"နိုးစက်နှင့် မီဒီယာအသံများ ကြားဖြတ်နိုင်သည်"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"အချိန်ဇယားများ"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"အချိန်ဇယားများ ဖျက်ရန်"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"ဖျက်ရန်"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"အမည်ပြောင်းရန်"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"ဖျက်ရန်"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"“<xliff:g id="MODE">%1$s</xliff:g>” ကို ဖျက်မလား။"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"တည်းဖြတ်ရန်"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"အချိန်ဇယားများ"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"အချိန်ဇယား"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"အလိုအလျောက်ဖွင့်ရန်"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"ပြက္ခဒိန်ထည့်ရန်"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"သင့်ပြက္ခဒိန်သုံးရန်"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"စီစဉ်ရန်"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"အချိန်ဇယား သတ်မှတ်ပါ"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"အလိုအလျောက်ဖွင့်မည့်အချိန်"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"အစီအစဉ် အချိန်ဇယား"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"၎င်းအတွက် အစီအစဉ်အတွင်းဖွင့်ပါ"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"ဖိတ်ကြားမှုပြန်စာ ရှိသည့်နေရာ"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"အချိန်ဇယား"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"အချိန်ဇယားဆွဲရန်"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> နာရီ၊ <xliff:g id="MINUTES">%2$d</xliff:g> မိနစ်"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"အချိန်ဇယား"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"အသံပေးသည့် ကြားဖြတ်မှုများ ခွင့်ပြုပါ"</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="mode_interruption_filter_title" msgid="6657431939996264417">"သင့်ထံ ဆက်သွယ်နိုင်သော အကြောင်းကြားချက်များ"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"နောက်ထပ် လုပ်ဆောင်ချက်များ"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"အကြောင်းကြားချက် စစ်ထုတ်မှုများ"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"နောက်ထပ်ဆက်တင်များ"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{ပိတ်ရန်}=1{ပိတ်ရန် / မုဒ် ၁ ခု အလိုအလျောက်ပွင့်နိုင်သည်}other{ပိတ်ရန် / မုဒ် # ခု အလိုအလျောက်ပွင့်နိုင်သည်}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"ဖန်သားပြင် ဆက်တင်များ"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"ဖန်သားပြင်တွင် ပြသမှုရွေးစရာများ"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"အဖြူအမည်း"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"အမှောင်နောက်ခံ သုံးရန်"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"အမှောင်နောက်ခံတွင် လင်းသောစာသားကို ပိုမိုနှစ်သက်ပါက OS နှင့် အက်ပ်များကို ပြောင်းနိုင်သည်။ ၎င်းသည် မျက်လုံးအားစိုက်ရမှု ပိုမိုသက်သာစေနိုင်ပြီး စက်ပစ္စည်းအချို့တွင် ဘက်ထရီ သိသာစွာ ချွေတာနိုင်သည်"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{ဖန်သားပြင်တွင် အပြောင်းအလဲ မရှိပါ}=1{{effect_1}}=2{{effect_1} နှင့် {effect_2}}=3{{effect_1}၊ {effect_2} နှင့် {effect_3}}other{{effect_1}၊ {effect_2} နှင့် နောက်ထပ် # ခု}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"အကြောင်းကြားချက်အားလုံးကို ခွင့်ပြုရန်"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"လူ၊ အက်ပ်နှင့် အသံများ ကြားဖြတ်နိုင်သည်"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"စစ်ထုတ်ထားသော အကြောင်းကြားချက်များအတွက် ပြသမှု ရွေးစရာများ"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"\'မနှောင့်ယှက်ရ\' ဖွင့်ထားသည့်အခါ"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"အကြောင်းကြားချက် အသံမဖွင့်ရန်"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"အကြောင်းကြားချက်ကို ဖွင့်ရန်"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"အကြောင်းကြားချက် ဆိုင်းငံ့ခြင်းကို ခွင့်ပြုပါ"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"အက်ပ်သင်္ကေတပေါ်ရှိ အကြောင်းကြားချက် အစက်"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"အတွဲလိုက် အကြောင်းကြားချက်များ"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"ပူဖောင်းကွက်များ"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"ပူဖောင်းကွက်များ"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"ဤစကားဝိုင်းကို ပူဖောင်းကွက်အဖြစ် ပြရန်"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"၎င်းသည် မက်ဆေ့ဂျ်များကို စာပြန်နိုင်ပြီး နှိုးစက်သံ ဆိုင်းငံ့ခြင်း (သို့) ပယ်ခြင်းနှင့် ဖုန်းလက်ခံခြင်းများအပါအဝင် အကြောင်းကြားချက်များရှိ ခလုတ်များကို နှိပ်နိုင်သည်။"</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"ဆက်တင်များ ပြောင်းခြင်း"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"၎င်းသည် ‘မနှောင့်ယှက်ရ’ ဝန်ဆောင်မှုကို ဖွင့်နိုင် (သို့) ပိတ်နိုင်ပြီး သက်ဆိုင်ရာ ဆက်တင်များကို ပြောင်းနိုင်သည်။"</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"‘မုဒ်များ’ ကို စီမံနိုင်၊ စသုံးနိုင်ပြီး သက်ဆိုင်ရာဆက်တင်များကို ပြောင်းနိုင်သည်။"</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_modes_warning_summary" msgid="7528432011433844158">"<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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"အချိန်နှင့် တစ်ပြေးညီ"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"ဤအက်ပ်က အဆင့်မြှင့်ထားသော ဆက်တင်များကို မပံ့ပိုးပါ"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"နောက်ထပ်ဆက်တင်များ"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"ဤအက်ပ်အတွင်း ဆက်တင်များ ရရှိနိုင်သည်"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"အလိုက်သင့် အကြောင်းကြားချက်များ"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"အလိုက်သင့် အကြောင်းကြားချက်များ သုံးခြင်း"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"အချိန်တိုအတွင်း အကြောင်းကြားချက်များစွာ ရရှိပါက သင့်ဖုန်းသည် နှစ်မိနစ်ကြာသည်အထိ အသံတိုးပြီး စခရင်ပေါ်ရှိ ပေါ့ပ်အပ်များကို လျှော့ချပါမည်။ ခေါ်ဆိုမှု၊ နှိုးစက်နှင့် ဦးစားပေးစကားဝိုင်းများအတွက် တုန်ခါခြင်း၊ အသံမြည်ခြင်း၊ ဖန်သားပြင်တွင် ပေါ်လာခြင်းတို့ ဆက်ရှိဦးမည်ဖြစ်ပြီး အကြောင်းကြားချက်အားလုံးကို ဖန်သားပြင်ထိပ်မှ ဆွဲချခြင်းဖြင့် အလွယ်တကူ ရှာတွေ့နိုင်သည်။"</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"အကြောင်းကြားချက် အသံလျော့ချမှု"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"အကြောင်းကြားချက် သတိပေးမှု လျှော့ချခြင်း သုံးရန်"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"အချိန်တိုအတွင်း အကြောင်းကြားချက်များစွာ ရပါက သင့်စက်သည် ၂ မိနစ်ကြာသည်အထိ အသံတိုးပြီး သတိပေးချက်များကို လျှော့ချပါမည်။ ခေါ်ဆိုမှု၊ နှိုးစက်နှင့် ဦးစားပေးစကားဝိုင်းများကို မသက်ရောက်ပါ။ \n\nဆောင်ရွက်မှုအပြီးကာလအတွင်း ရရှိသော အကြောင်းကြားချက်များကို ဖန်သားပြင်ထိပ်ပိုင်းမှ အောက်သို့ဆွဲချခြင်းဖြင့် တွေ့နိုင်သည်။"</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"အလုပ်ပရိုဖိုင်များတွင် သုံးရန်"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"အလုပ်ပရိုဖိုင်အက်ပ်များတွင် သုံးရန်"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR အထောက်အကူပြု ဝန်ဆောင်မှုများ"</string>
@@ -3650,6 +3709,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"‘မုဒ်များ’ သုံးခွင့်"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"‘မုဒ်များ’ ကို သုံးခွင့်ပြုရန်"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"ထည့်သွင်းထားသည့်အက်ပ်များသည် ‘မုဒ်များ’ သုံးခွင့်ကို တောင်းဆိုမထားပါ"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"ဤအက်ပ်မှ အကြောင်းကြားချက်များကို သင်ခွင့်ပြုမထားပါ"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"သင့်တောင်းဆိုချက်အရ Android သည် ဤအကြောင်းကြားချက်အမျိုးအစားများ ဤစက်ပစ္စည်းပေါ်တွင် ပေါ်မလာအောင် ပိတ်ထားပါသည်"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"သင့်တောင်းဆိုချက်အရ Android သည် ဤအကြောင်းကြားချက်အုပ်စုများ ဤစက်ပစ္စည်းပေါ်တွင် ပေါ်မလာအောင် ပိတ်ထားပါသည်"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"အမျိုးအစားများ"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"အခြား"</string>
     <string name="no_channels" msgid="4716199078612071915">"ဤအက်ပ်က မည်သည့် အကြောင်းကြားချက်ကိုမျှ ပို့စ်တင်မထားပါ"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"မသုံးသော အမျိုးအစားများကို ပြပါ"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"အက်ပ်အတွင်း နောက်ထပ်ဆက်တင်များ"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"မသုံးသော အမျိုးအစားများကို ပြရန်"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"မသုံးသော အမျိုးအစားများကို ဝှက်ရန်"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"စကားဝိုင်းများ"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"စကားဝိုင်းအားလုံး"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"စကားဝိုင်းအားလုံး"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"ဦးစားပေး စကားဝိုင်းများ"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"ဦးစားပေးစကားဝိုင်းများ"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"မရှိ"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"ကြားဖြတ်နိုင်သည့် အက်ပ်များ"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"ရွေးချယ်ထားသော အက်ပ်များ"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"မရှိ"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"အားလုံး"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{မည်သည့်အက်ပ်မျှ ကြားမဖြတ်နိုင်ပါ}=1{{app_1} က ကြားဖြတ်နိုင်သည်}=2{{app_1} နှင့် {app_2} က ကြားဖြတ်နိုင်သည်}=3{{app_1}၊ {app_2} နှင့်{app_3} က ကြားဖြတ်နိုင်သည်}other{{app_1}၊ {app_2} နှင့် နောက်ထပ်အက်ပ် # ခုက ကြားဖြတ်နိုင်သည်}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (အလုပ်သုံး)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"တွက်ချက်နေသည်…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"အက်ပ်များကို အစားထိုးခွင့်ပြုပါ"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"ကြားဖြတ်နိုင်သည့် အက်ပ်များ"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"နောက်ထပ်အက်ပ်များကို ရွေးပါ"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"မည်သည့်အရာကမျှ ကြားဖြတ်နိုင်ခြင်းမရှိပါ"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"မည်သူမျှ ကြားဖြတ်နိုင်ခြင်းမရှိပါ"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"အချို့သူများ ကြားဖြတ်နိုင်သည်"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"အကြိမ်ကြိမ်ခေါ်ဆိုသူများသည် ကြားဖြတ်နိုင်သည်"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"လူတိုင်းက ကြားဖြတ်နိုင်သည်"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"အကြိမ်ကြိမ်ခေါ်ဆိုသူများ"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"ထပ်မံခေါ်ဆိုသူများကို ခွင့်ပြုပါ"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} အထိ တစ်နာရီအတွက်သာ နှိုးစက်များတွင် ပြောင်းမည်}other{{time} အထိ # နာရီအတွက်သာ နှိုးစက်များတွင် ပြောင်းမည်}}"</string>
     <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_action_change_name" msgid="766639614789907016">"အမည်ပြောင်းရန်"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"သင်္ကေတပြောင်းရန်"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"သင်္ကေတပြောင်းရန်"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"မုဒ်ပြင်ခြင်း"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"မုဒ် ပြုလုပ်ခြင်း"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"စိတ်ကြိုက်မုဒ်"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"မုဒ်အမည်"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"ပြက္ခဒိန်အစီအစဉ်"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"အိပ်ရာဝင်ချိန် ပုံမှန်အစီအစဉ်"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"ကားမောင်းနေစဉ်"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"အက်ပ်ဆက်တင်များ"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"<xliff:g id="APP_NAME">%1$s</xliff:g> ရှိ အချက်အလက်နှင့် ဆက်တင်များ"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"<xliff:g id="APP_NAME">%1$s</xliff:g> က စီမံခန့်ခွဲခြင်း"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g> ကို ပိတ်မလား။"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"ပိတ်ထားပါက ဤမုဒ်ကို မည်သည့်အခါမှ အလိုအလျောက်ဖွင့်မည် မဟုတ်ပါ"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"ပိတ်ရန်"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g> ကို ဖွင့်မလား။"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"ဤမုဒ်သည် ၎င်း၏ဆက်တင်များပေါ် အခြေခံ၍ အလိုအလျောက်ပွင့်နိုင်သည်"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"ဖွင့်ရန်"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"ပုံမှန်အချိန်ဇယားအတိုင်း လုပ်ဆောင်သည့်မုဒ် သတ်မှတ်ပါ"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"ပြက္ခဒိန်အစီအစဉ်နှင့် ဖိတ်ကြားချက်တုံ့ပြန်မှုများကို စင့်ခ်လုပ်ရန် မုဒ်သတ်မှတ်ပါ"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"စိတ်အေးချမ်းသော အိပ်ချိန်ပုံမှန်အစီအစဉ် ပြုလုပ်ပါ။ နှိုးစက်သတ်မှတ်၍ စခရင်ကိုမှိန်ကာ အကြောင်းကြားချက်များ ပိတ်ပါ။"</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"အနှောင့်အယှက်ကင်းကင်း အာရုံစိုက်ပြီး မောင်းနှင်နိုင်ရန်အတွက် လမ်းပေါ်တွင် ဘေးကင်းရေးကို ဦးစားပေးပါ"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"အာရုံစိုက်နိုင်ရန်အတွက် သင့်စက်မှ အာရုံပျံ့စရာ (သို့) အနှောင့်အယှက်များကို ပိတ်ပါ"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"တိတ်ဆိတ်သောပတ်ဝန်းကျင်အတွက် အာရုံပျံ့စရာအားလုံးကို ဖယ်ရှားပါ"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"မတူညီသော အသုံးပြုသူများအတွက် စက်ပစ္စည်းအသုံးပြုမှုနှင့် ဆက်တင်များကို ပုဂ္ဂိုလ်ရေးသီးသန့်လုပ်ပါ"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"အရေးကြီး ပုဂ္ဂိုလ်နှင့်အက်ပ်များကိုသာ သင့်ထံဆက်သွယ်ခွင့်ပြုခြင်းဖြင့် အနှောင့်အယှက်များ လျှော့ချပါ"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"ပုံမှန်အချိန်ဇယားအတိုင်း လုပ်ဆောင်သည့်မုဒ် သတ်မှတ်ပါ"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"သင့်စက်ပစ္စည်းကို တစ်နေ့တာအစီအစဉ်များနှင့် စင့်ခ်လုပ်ထားပါ"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"အားအင်အပြည့်ဖြင့် နိုးထပါ"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"လမ်းပေါ်တွင် လုံခြုံရေးကို ဦးစားပေးပါ"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"အကောင်းဆုံးစွမ်းဆောင်ရန် သေချာအာရုံစိုက်ပါ"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"ယဉ်ကျေးမှု အရေးပါသည့် အခိုက်အတန့်များအတွက်"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"သင့်အား ကောင်းစွာပံ့ပိုးပေးနိုင်ရန် လမ်းညွှန်ထားသော အသုံးပြုမှု"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"သင့်အာရုံစိုက်မှုကို ထိန်းချုပ်ပါ"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"သတိပေးချက်"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"ပိတ်ရန်"</string>
     <string name="device_feedback" msgid="5351614458411688608">"ဤကိရိယာအတွက် အကြံပြုချက် ပို့ရန်"</string>
@@ -4006,6 +4102,10 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"<xliff:g id="APP">%1$s</xliff:g> အတွက် ‘မုဒ်များ’ ကို သုံးခွင့်ပြုမလား။"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"အက်ပ်သည် ‘မနှောင့်ယှက်ရ’ ကို ဖွင့်/ပိတ် နိုင်ကာ ‘မုဒ်များ’ ကို စီမံနိုင်၊ စသုံးနိုင်ပြီး သက်ဆိုင်ရာဆက်တင်များကို အပြောင်းအလဲများ ပြုလုပ်နိုင်ပါမည်။"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"<xliff:g id="APP">%1$s</xliff:g> အတွက် မုဒ်များသုံးခွင့်ကို ရုပ်သိမ်းမလား။"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"ဤအက်ပ်က ပြုလုပ်ထားသည့် မုဒ်အားလုံးကို ဖယ်ရှားမည်။"</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"သင့်မြတ်အောင် မလုပ်ပါနှင့်"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"သင့်မြတ်အောင် လုပ်ကိုင်ရန်"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"သင့်ဘတ်ထရီကို ပိုမိုလျှင်မြန်စွာ ကုန်စေပါသည်။ အက်ပ်က နောက်ခံတွင် ဘက်ထရီအသုံးပြုနေခြင်းကို ကန့်သတ်တော့မည်မဟုတ်ပါ။"</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"နားကြပ်အိတ်"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"ဘက်ထရီ"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"ဆက်တင်များ အကန့်"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"ဒက်စ်တော့ပုံစံ မဖြစ်မနေ ပြောင်းရန်"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ဒုတိယ မျက်နှာပြင်ပြသမှုများတွင် ဒက်စ်တော့ပုံစံ မဖြစ်မနေ စမ်းသပ်ရန်"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"အလွတ်ပုံစံဝင်းဒိုးများ ဖွင့်ခြင်း"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"အရန်ဖန်သားပြင်များတွင် အလွတ်ပုံစံဝင်းဒိုး ဖွင့်ရန်"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"အရွယ်မပြင်နိုင်သည်များကို ဝင်းဒိုးများစွာတွင် ဖွင့်ရန်"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"အရွယ်မပြင်နိုင်သည့် အက်ပ်များကို ဝင်းဒိုးများစွာတွင် ဖွင့်ခွင့်ပြုသည်"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"မဖြစ်မနေအမှောင်ချခြင်းကို အစားထိုးရန်"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"မိုဘိုင်းဒေတာ"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"စက်ကို ပိုမိုကောင်းမွန်စွာ အသုံးပြုနိုင်ရန် Wi-Fi ပိတ်ထားသည့်တိုင် အက်ပ်နှင့် ဝန်ဆောင်မှုများက Wi-Fi ကွန်ရက်များကို အချိန်မရွေး ရှာကြည့်နိုင်သည်။ ဥပမာအားဖြင့် တည်နေရာကို အခြေခံသည့် လုပ်ဆောင်ချက်နှင့် ဝန်ဆောင်မှုများ ပိုမိုကောင်းမွန်လာစေရန် ၎င်းကို အသုံးပြုနိုင်သည်။ ၎င်းကို Wi-Fi ရှာဖွေခြင်း ဆက်တင်များတွင် ပြောင်းနိုင်သည်။"</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"ပြောင်းရန်"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"ချိတ်ဆက်ထားသည်"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"ယာယီချိတ်ဆက်ထားသည်"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"<xliff:g id="SUBNAME">%1$s</xliff:g> ကို ယာယီသုံးနေသည်"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"အက်ပ်ပင်ထိုးခြင်းကို သုံးရန်"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"ဆော့ဖ်ဝဲရေးသူ ရွေးစရာများကို သုံးရန်"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"ပုံနှိပ်ဝန်ဆောင်မှုကို သုံးရန်"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"အသုံးပြုသူအများအပြား ခွင့်ပြုရန်"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"အသုံးပြုသူ ပြောင်းခွင့်ပြုရန်"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"ခွင့်ပြုရန်၊ အမျိုးစုံ၊ အသုံးပြုသူ၊ ခွင့်ပြုချက်၊ အများအပြား"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"အများအပြား၊ အသုံးပြုသူများ၊ ပရိုဖိုင်များ၊ လူများ၊ အကောင့်များ၊ ပြောင်းရန်၊ များစွာ"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ကြိုးမဲ့ အမှားရှာပြင်ခြင်းကို သုံးပါ"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> က ဤဖုန်းကို ချိတ်ဆက်လိုသည်။\n\nသင်သည် <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> ကို ယခင်က မချိတ်ဆက်ဖူးပါ။"</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"မချိတ်ဆက်ပါနှင့်"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"ချိတ်ဆက်ရန်"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE ဆက်တင်"</string>
-    <string name="tare_on" msgid="2386073225978684535">"ဖွင့်"</string>
-    <string name="tare_off" msgid="6305694402929756726">"ပိတ်"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"‘မူလဆက်တင်များ’ သို့ ပြန်ပြောင်းခြင်း"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"ဆက်တင်ကို မူလအတိုင်း ပြန်ပြောင်းပြီးပြီ။"</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"အားပြည့်နေစဉ် အများဆုံးခရက်ဒစ်လက်ကျန်"</string>
-    <string name="tare_balances" msgid="731881382594747961">"လက်ကျန်ငွေများ"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"သုံးစွဲမှု ကန့်သတ်ချက်များ"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"အစပိုင်းသုံးစွဲမှု ကန့်သတ်ချက်"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"အနည်းဆုံးသုံးစွဲမှု ကန့်သတ်ချက်"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"အများဆုံးသုံးစွဲမှု ကန့်သတ်ချက်"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"မွမ်းမံပစ္စည်းများ"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"လုပ်ဆောင်ချက်များ (ထုတ်လုပ်စရိတ်)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"လုပ်ဆောင်ချက်များ (အခြေခံဈေးနှုန်း)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"ဖြစ်ရပ်တစ်ခုလျှင်ရသော ဆုလာဘ်များ"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"အစီအစဉ်ကြာချိန်၏ တစ်စက္ကန့်အတွက် ဆုလာဘ်"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"တစ်ရက်လျှင်ရသော အများဆုံးဆုလာဘ်"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"အက်ပ်ထည့်သွင်းရန်"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"အသုံးအများဆုံး"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"အကြောင်းကြားချက် တွေ့ပြီး"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"၁၅ မိနစ်အတွင်း အကြောင်းကြားချက် တွေ့ပြီး"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"အကြောင်းကြားချက် ပြန်လှန်တုံ့ပြန်မှု"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"ဝိဂျက် ပြန်လှန်တုံ့ပြန်မှု"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"အခြားအသုံးပြုသူ ပြန်လှန်တုံ့ပြန်မှု"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"အမြင့်ဆုံးဦးစားပေးအလုပ် စတင်ခြင်း"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"အမြင့်ဆုံးဦးစားပေးအလုပ် လုပ်ဆောင်ခြင်း"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"ပိုမိုဦးစားပေးအလုပ် စတင်ခြင်း"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"ပိုမိုဦးစားပေးအလုပ် လုပ်ဆောင်ခြင်း"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"ပုံမှန်ဦးစားပေးအလုပ် စတင်ခြင်း"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"ပုံမှန်ဦးစားပေးအလုပ် လုပ်ဆောင်ခြင်း"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"လျှော့ပေါ့ဦးစားပေးအလုပ် စတင်ခြင်း"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"လျှော့ပေါ့ဦးစားပေးအလုပ် လုပ်ဆောင်ခြင်း"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"အနိမ့်ဆုံးဦးစားပေးအလုပ် စတင်ခြင်း"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"အနိမ့်ဆုံးဦးစားပေးအလုပ် လုပ်ဆောင်ခြင်း"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"အလုပ်အတွက် အချိန်ကုန်သွားခြင်း ပြစ်ဒဏ်"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"အားပြည့်နေစဉ် အနည်းဆုံးလက်ကျန်ငွေ (ကင်းလွတ်ခွင့်ရသည်များ)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"အားပြည့်နေစဉ် အနည်းဆုံးလက်ကျန်ငွေ (ခေါင်းစီးမပါသော စနစ်အက်ပ်)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"အားပြည့်နေစဉ် အနည်းဆုံးလက်ကျန်ငွေ (ကျန်ရှိသည့်အက်ပ်များ)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"အားပြည့်စဉ် အနည်းဆုံးခရက်ဒစ်လက်ကျန် ထပ်ဆောင်းဖြည့်ခြင်း (အက်ပ် အပ်ဒိတ်စနစ်များ)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"အားသွင်းနေသည်"</item>
-    <item msgid="658627268149681677">"မှေးထားခြင်း"</item>
-    <item msgid="1599558140284643834">"ပါဝါချွေတာမုဒ်"</item>
-    <item msgid="588427840913221601">"လုပ်ဆောင်မှု အခြေအနေ"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"အတည်ပြုရန်"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"အစမ်းကြည့်ရန်"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"စခရင်နားချိန်ပုံ ရွေးရန်"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"နောက်ထပ်အချက်အလက်များ ပြရန်"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"တက်ဘလက် တပ်ဆင်ထားချိန် စခရင်တွင် မြင်ရမည့်အရာကို ရွေးနိုင်သည်။ စခရင်နားချိန်ပုံသုံးပါက သင်၏စက်က စွမ်းအင်ပိုသုံးနိုင်သည်။"</string>
     <string name="customize_button_title" msgid="1110284655990203359">"စိတ်ကြိုက်လုပ်ရန်"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> ကို စိတ်ကြိုက်လုပ်ရန်"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"freeform အကူအညီကို ဖွင့်ရန်အတွက် ပြန်လည်စတင်ရန် လိုအပ်သည်။"</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"အရန်ဖန်သားပြင်တွင် ဒက်စ်တော့မုဒ်ကို မဖြစ်မနေ အသုံးပြုရန်အတွက် ပြန်လည်စတင်ရန် လိုအပ်သည်။"</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"အလွတ်ပုံစံ ဝင်းဒိုးပံ့ပိုးမှုကို ဖွင့်ရန်အတွက် ပြန်လည်စတင်ရမည်။"</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"အလွတ်ပုံစံ ဝင်းဒိုးအသုံးပြုမှု ရနိုင်ခြင်းကို အပ်ဒိတ်လုပ်ရန် ပြန်လည်စတင်ရမည်။"</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"အရန်ဖန်သားပြင်များတွင် အလွတ်ပုံစံ ဝင်းဒိုးများကို ဖွင့်ရန် ပြန်လည်စတင်ရမည်။"</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"ယခု ပြန်လည်စတင်ရန်"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"နောက်မှ ပြန်လည်စတင်ရန်"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"ထောင့်စုံအော်ဒီယို"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"နှင်းဆီရောင်"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"ပန်းခရမ်း"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"ခရမ်း"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"ပြီးပြီ"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"သိမ်းရန်"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"မလုပ်တော့"</string>
     <string name="contrast_default" msgid="8918545965525226966">"မူရင်း"</string>
     <string name="contrast_medium" msgid="384414510709285811">"အသင့်အတင့်"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"ဖွင့်"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"ပိတ်"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"ဖွင့်"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"အသံ %1$d%% ဘယ်၊ %2$d%% ညာ"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"အသံ %1$d%% ညာ၊ %2$d%% ဘယ်"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"သင့်စက်အမည်ကို သင်ထည့်သွင်းထားသည့် အက်ပ်များက မြင်ရပါသည်။ ဘလူးတုသ်သုံးစက်များသို့ ချိတ်ဆက်သည့်အခါ၊ Wi-Fi ကွန်ရက်သို့ ချိတ်ဆက်သည့်အခါ (သို့) Wi-Fi ဟော့စပေါ့ ထုတ်လွှင့်သည့်အခါ တို့တွင်လည်း ၎င်းကို အခြားသူများက မြင်နိုင်ပါသည်။"</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"သဒ္ဒါနည်းကျ လိင်အမျိုးအစား"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"သဒ္ဒါနည်းကျ လိင်အမျိုးအစား ရွေးရန်"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"အသံမျှဝေခြင်းကို ရပ်ထားသည်"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"တွဲသုံးနိုင်သောစက်နှင့် ချိတ်ဆက်ပါ"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"အသံစတင်မျှဝေရန် LE Audio နားကြပ်များကို သင့်ဖုန်းနှင့် ဦးစွာ ချိတ်ဆက်ပါ"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> သို့ ပြောင်းရန်"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"LE အသံထုတ်လွှင့်မှုနှင့် ချိတ်ဆက်ခြင်း"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"အနီးအနားရှိ အသံထုတ်လွှင့်ခြင်းများ"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"အသံထုတ်လွှင့်ခြင်းများ"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ထုတ်လွှင့်မှုကို နားထောင်ရန်"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ဖြင့် နားထောင်ရန် အသံ ထုတ်လွှင့်ခြင်း QR ကုဒ်ကို စကင်ဖတ်နိုင်သည်"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"မျှဝေစဉ် စကားဝှက်ကို ပြင်၍မရပါ။ စကားဝှက် ပြောင်းရန် အော်ဒီယို မျှဝေခြင်းကို ဦးစွာပိတ်ပါ။"</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR ကုဒ် စကင်ဖတ်စနစ်"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"အကူအညီလိုသလား။"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"ဆက်တင်များတွင် ရှာရန်"</string>
 </resources>
diff --git a/res/values-nb/arrays.xml b/res/values-nb/arrays.xml
index 5585885..3f45262 100644
--- a/res/values-nb/arrays.xml
+++ b/res/values-nb/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Sengetid"</item>
-    <item msgid="4152450357280759894">"Kjøring"</item>
-    <item msgid="7096549258219399423">"Oppslukende"</item>
-    <item msgid="2760716776980432977">"Administrert"</item>
-    <item msgid="601734478369121764">"Stjerne"</item>
-    <item msgid="6243809315432780521">"Kalender"</item>
-    <item msgid="4913577903148415331">"Tid"</item>
-    <item msgid="3653377604690057780">"Teater"</item>
-    <item msgid="3843711267408385410">"Blomst"</item>
+    <item msgid="1216815120972438676">"Koffert"</item>
+    <item msgid="184985872234062767">"Klassisk bygning"</item>
+    <item msgid="9189550412466785530">"Boligblokk"</item>
+    <item msgid="2142527562511049422">"Snakkeboble"</item>
+    <item msgid="2548100558260478605">"Gruppe mennesker"</item>
+    <item msgid="2270003903304578284">"Lyspære"</item>
+    <item msgid="4793496619091161864">"Kalender"</item>
+    <item msgid="5673625795644364100">"Ikke forstyrr"</item>
+    <item msgid="1423820834865831361">"Person som løper"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Håndvekt"</item>
+    <item msgid="2730180105015616518">"Svømming"</item>
+    <item msgid="2666922823253345958">"Person som går tur"</item>
+    <item msgid="8234880356472211396">"Person som kaster en ball"</item>
+    <item msgid="4642980625253001443">"Person som sparker"</item>
+    <item msgid="4324795269518833500">"Spillkontroller"</item>
+    <item msgid="7789966425125441125">"Kunstnerfargepalett"</item>
+    <item msgid="663512680597461570">"Snøflak"</item>
+    <item msgid="7952183800501346803">"Strandparasoll"</item>
+    <item msgid="799139025758265891">"Verktøy på verksted"</item>
+    <item msgid="1330084588359129896">"Telt"</item>
+    <item msgid="3861584909935022342">"Filmspole"</item>
+    <item msgid="5827426100157335512">"Bok"</item>
+    <item msgid="8585828346253128384">"Lotusblomst"</item>
+    <item msgid="8788370542815300188">"Sinnet til en person"</item>
+    <item msgid="7287354964767553293">"Hodetelefoner"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Tog"</item>
+    <item msgid="4903790544026923026">"Bil"</item>
+    <item msgid="5010405583912314582">"Kniv og gaffel"</item>
+    <item msgid="8939998598599064900">"Handlekurv"</item>
+    <item msgid="3379605903308731893">"Barn"</item>
+    <item msgid="7808668968550293112">"Dyrepote"</item>
+    <item msgid="1000692647524056504">"Stjernemerke"</item>
+    <item msgid="8270261073421676502">"To personer"</item>
+    <item msgid="5767782819651505460">"Stjerne"</item>
+    <item msgid="4368451291862729334">"Hjerte"</item>
+    <item msgid="2613199102208419986">"Hus"</item>
+    <item msgid="3022279986430275040">"Halvmåne"</item>
+    <item msgid="5421089790869483206">"Klokke"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 1601503..9cd072c 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Satt på vent"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Ukjent"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Forhåndsvisning"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR-kode"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Alltid"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Innstillinger for høreapparater"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Snarvei, kompatibilitet med høreapparater"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Forhåndsinnstilling"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Ingen forhåndsinnstillinger er programmert av audiografen"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Kunne ikke oppdatere forhåndsinnstillingen"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Utenhet for lyd"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Om lyd"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Språkvalg for denne appen er ikke tilgjengelig fra innstillingene."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Språket kan være forskjellig fra språkene som er tilgjengelige i appen. Noen apper støtter muligens ikke denne innstillingen."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Velg språk for hver app."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Systemet, apper og nettsteder bruker det første språket som støttes, av de foretrukne språkene dine."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Enheten, appene og nettstedet bruker det første språket som støttes, av språkene på listen over foretrukne språk.\n\nMange apper bruker også regionen fra det foretrukne språket ditt til å formatere datoer, tall og enheter. For å endre regionen, legg til et språk og velg foretrukket region."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"For å velge et språk for hver app, gå til innstillingene for appspråk."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Finn ut mer om appspråk"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Vil du bytte systemspråk til %s?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Av"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{På / # app har tilgang til posisjon}other{På / # apper har tilgang til posisjon}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Laster inn …"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Apper med tillatelsen for enheter i nærheten kan fastslå den relative posisjonen til tilkoblede enheter."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Apper med tillatelsen for enheter i nærheten kan fastslå den relative posisjonen til tilkoblede enheter."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Posisjonstilgang er av for apper og tjenester. Enhetsposisjonen kan fremdeles sendes til utrykningspersonell når du ringer eller sender tekstmelding til et nødnummer."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Finn ut mer om posisjonsinnstillinger"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"For å bytte, gå til ChromeOS-innstillingene &gt; Personvern og sikkerhet &gt; Personverninnstillinger &gt; Posisjonstilgang"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Ansiktet og <xliff:g id="WATCH">%s</xliff:g> er lagt til"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Ansiktet, fingeravtrykket og <xliff:g id="WATCH">%s</xliff:g> er lagt til"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Ansiktet, fingeravtrykkene og <xliff:g id="WATCH">%s</xliff:g> er lagt til"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Identitetssjekk er på og krever biometrisk informasjon"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Opplåsing med Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Klokken er lagt til"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Konfigurer klokken"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Finn ut mer om klokkelåsen"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Legg til en klokke"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Fjern klokken"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Opplåsing med fingeravtrykk og ansiktslås"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Opplåsing med ansikt og fingeravtrykk"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Ansiktslås og opplåsing med fingeravtrykk for jobb"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Konfigurering kreves"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Ansikt og fingeravtrykk er lagt til"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Konfigurerer det private området …"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Kunne ikke konfigurere et privat område"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Prøv på nytt"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Avslutt"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Det private området er ikke tilgjengelig.\nSe mulige årsaker"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Se mulige årsaker"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Vil du velge en ny lås for det private området?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Du kan angi en ny lås for det private området eller bruke den samme låsen som du bruker til å låse opp enheten"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Bruk skjermlåsen"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Når Bluetooth er slått på, kan enheten kommunisere med Bluetooth-enheter i nærheten.\n\nFor å gi deg en bedre enhetsopplevelse kan 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 for å forbedre posisjonsbaserte funksjoner og tjenester. Du kan endre dette i innstillingene for Bluetooth-skanning."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Når Bluetooth er slått på, kan enheten kommunisere med andre Bluetooth-enheter i nærheten. Funksjoner som Quick Share og Finn enheten min bruker Bluetooth.\n\nApper og tjenester kan fremdeles søke etter enheter i nærheten når som helst – selv når Bluetooth er av. Dette kan for eksempel brukes til å forbedre posisjonsbaserte funksjoner og tjenester. Du kan endre dette i innstillingene for Bluetooth-skanning."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Endre"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Enhetsdetaljer"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Tastaturinnstillinger"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Flere innstillinger"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Fastvareoppdateringer, informasjon med mer"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Tips og brukerstøtte"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Enhetens Bluetooth-adresse: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Enhetens Bluetooth-adresse:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Vil du glemme enheten?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"På forsøksstadiet. Bedrer lydkvaliteten."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Glem enheten"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Koble fra appen"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Flere innstillinger"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Maksimalt antall Bluetooth-lydenheter"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Velg maksimalt antall tilkoblede Bluetooth-lydenheter"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Feilsøkingslogg med høyt detaljnivå for leverandører for NFC"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Vil du starte enheten på nytt?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Detaljert NFC-loggføring er bare beregnet på utviklingsformål. Det inkluderes ekstra NFC-data i feilrapporter. Dette kan omfatte privat informasjon. Hvis du vil endre denne innstillingen, må du starte enheten på nytt."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Start på nytt"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"På"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Av"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Ekstern skjerm"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Bruk ekstern skjerm"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Skjermoppløsning"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Ekstern skjerm er frakoblet"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Rotasjon"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standard"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Hvis rotasjon eller oppløsning endres, kan apper som kjører nå, stoppe"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Enheten må være koblet til en ekstern skjerm for å speile skjermen din"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Flere alternativer"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Cast"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"speil"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Slå på trådløs skjermdeling"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Tilpasset"</string>
     <string name="brightness" msgid="6216871641021779698">"Lysstyrkenivå"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Tilpasset lysstyrke"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Om tilpasset lysstyrke"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Lysstyrken på skjermen justeres automatisk etter omgivelser og aktiviteter. Du kan flytte glidebryteren manuelt for lære tilpasset lysstyrke om preferansene dine."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"På"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Av"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Vil du bruke <xliff:g id="CARRIER">%1$s</xliff:g> for mobildata?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Du bruker <xliff:g id="CARRIER2_0">%2$s</xliff:g> for mobildata. Hvis du bytter til <xliff:g id="CARRIER1">%1$s</xliff:g>, brukes ikke <xliff:g id="CARRIER2_1">%2$s</xliff:g> for mobildata lenger."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Bruk <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Oppdater foretrukket SIM-kort?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> er det eneste SIM-kortet i enheten din. Vil du bruke dette SIM-kortet for mobildata, anrop og SMS-meldinger?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"Nå er <xliff:g id="NEW_SIM">%1$s</xliff:g> det primære SIM-kortet"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Vil du forbedre datadekningen?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"La enheten bytte til <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> for mobildata automatisk når det har bedre tilgjengelighet."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Anrop, meldinger og nettverkstrafikk er muligens synlige for organisasjonen din"</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Alternativer"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Tilgjengelighet"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fysisk tastatur"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Bruk skjermtastaturet"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Ha det på skjermen når det fysiske tastaturet er aktivt"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Filtertaster"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Tastaturet ignorerer raskt gjentatte trykk på samme tast innenfor <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Hengende taster"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Justerer aktiveringstiden for tastetrykk til <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Trege taster"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Aktiver hurtigtaster ved å trykke på én tast av gangen i stedet for å holde flere taster inne samtidig"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Museknapper"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Bruk det fysiske tastaturet for å kontrollere musen."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Hurtigtaster"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Vis listen over hurtigtaster"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tastatur og verktøy i jobbprofilen"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Tilpass enkeltbevegelser for styreflatenavigasjon"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Omvendt rulling"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Innholdet flyttes opp når du ruller ned"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Trykk nederst til høyre"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Trykk nederst til høyre på styreflaten for alternativer"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Klikk nederst til høyre"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Klikk nede til høyre på styreflaten for flere alternativer"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Pekerhastighet"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Markørfyllstil"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Endre markørfyllstilen til svart"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Endre markørfyllstilen til gul"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Endre markørfyllstilen til rosa"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Endre markørfyllstilen til blå"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Pekerstrøkstil"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Hvit"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Svart"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Ingen"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Lær styreflatebevegelser"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"styreflate, styre flate, mus, markør, rull, sveip, høyreklikk, klikk, peker"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"høyreklikk, trykk"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Tilbakestill"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Velg modifikatortast"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Velg en ny tast for <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g>-oppsett"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Standard"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatisk: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Brukervalgt: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Tale"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Pekerhastighet"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Skala for pekeren"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Reduser skalaen for pekeren"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Øk skalaen for pekeren"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Spillkontroller"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Viderekoble vibrering"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Send vibrering til spillkontrolleren hvis den er koblet til"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Fortsett likevel"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Avbryt"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Innstillinger for forstørring"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Panorer med én finger"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Flytt lupen med 1 finger"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Dra 1 finger for å bevege deg rundt på skjermen."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Flytt forstørringsområdet ved å dra én finger."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Flytt forstørringsområdet ved å dra to fingre."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Ikke tilgjengelig ved forstørring av bare en del av skjermen"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Trykk på en knapp for å zoome"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Zoom raskt inn på skjermen for å gjøre innhold større"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Slik zoomer du inn:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Bruk snarveien for å starte forstørring.&lt;br/&gt; {1,number,integer}. Trykk på skjermen.&lt;br/&gt; {2,number,integer}. Dra to fingre for å bevege deg rundt på skjermen.&lt;br/&gt; {3,number,integer}. Klyp med to fingre for å justere zoomen.&lt;br/&gt; {4,number,integer}. Bruk snarveien for å stoppe forstørring.&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Slik zoomer du inn midlertidig:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Sørg for at forstørringstype er satt til fullskjerm.&lt;br/&gt; {1,number,integer}. Bruk snarveien for å starte forstørring.&lt;br/&gt; {2,number,integer}. Trykk og hold hvor som helst på skjermen.&lt;br/&gt; {3,number,integer}. Dra en finger for å bevege deg rundt på skjermen.&lt;br/&gt; {4,number,integer}. Løft fingeren for å stoppe forstørring."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Slik zoomer du inn:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Bruk snarveien for å starte forstørring.&lt;br/&gt; {1,number,integer}. Trykk på skjermen.&lt;br/&gt; {2,number,integer}. Dra 2 fingre for å bevege deg rundt på skjermen.&lt;br/&gt; {3,number,integer}. Klyp med 2 fingre for å justere zoomen.&lt;br/&gt; {4,number,integer}. Bruk snarveien for å stoppe forstørringen.&lt;br/&gt;&lt;br/&gt; Du kan også zoome inn midlertidig med mer."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Slik zoomer du inn:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Bruk snarveien for å starte forstørring.&lt;br/&gt; {1,number,integer}. Trykk på skjermen.&lt;br/&gt; {2,number,integer}. Dra 1 eller 2 fingre for å bevege deg rundt på skjermen.&lt;br/&gt; {3,number,integer}. Klyp med 2 fingre for å justere zoomen.&lt;br/&gt; {4,number,integer}. Bruk snarveien for å stoppe forstørringen.&lt;br/&gt;&lt;br/&gt; Du kan også zoome inn midlertidig med mer."</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_pager" msgid="8461939455728454061">"Side <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> av <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Snarvei via Tilgjengelighet-knappen"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Trykk på den svevende knappen"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Tilgjengelighetsbevegelse"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Trykk på Tilgjengelighet-knappen <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> nederst på skjermen. For å bytte mellom funksjoner, trykk og hold på Tilgjengelighet-knappen."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Sveip opp fra bunnen av skjermen med to fingre.\n\nFor å bytte mellom funksjoner, sveip opp med to fingre og hold."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Sveip opp fra bunnen av skjermen med tre fingre.\n\nFor å bytte mellom funksjoner, sveip opp med tre fingre og hold."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Sveip opp fra bunnen av skjermen. For å bytte mellom funksjoner, sveip opp og hold.}other{Sveip opp med # fingre fra bunnen av skjermen. For å bytte mellom funksjoner, sveip opp med # fingre og hold.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Flere alternativer"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Finn ut mer om <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Volumtaster"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"volumtaster"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Trykk og hold inne begge volumtastene"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Dobbelttrykk på skjermen med to fingre"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Dobbelttrykk med %1$d fingre"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Trykk raskt på skjermen to ganger med %1$d fingre"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Trippeltrykk"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Trykk raskt på skjermen %1$d ganger. Dette kan gjøre enheten tregere."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Dobbelttrykk med %1$d fingre"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Trykk raskt på skjermen {0,number,integer} ganger med to fingre"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Trippeltrykk på skjermen"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"trippeltrykk"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Trykk raskt på skjermen {0,number,integer} ganger. Denne snarveien kan gjøre enheten 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Snarvei-innstillinger"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Snarvei fra låseskjermen"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Tillater at funksjonssnarveien slås på fra låseskjermen. Hold inne begge volumtastene i noen sekunder."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Tilgjengelighet-knapp"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Tilgjengelighet-knapp og bevegelse"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Denne tjenesten fungerer ikke som den skal."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Hurtigtaster for tilgjengelighet"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Vis i hurtiginnstillingene"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rød-grønn"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Rød-grønn"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Rød-grønn – grønn er svak"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Rød-grønn – rød er svak"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blå-gul"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Gråtoner"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensitet"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Svak grønn, deuteranomali"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Svak rød, protanomali"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Utilgjengelig for gråtonemodus eller når fargekorrigering er slått av"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Ekstra dimmet"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Ekstra dimmet skjerm"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Cyan"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Gul"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Vil du gi <xliff:g id="SERVICE">%1$s</xliff:g> full kontroll over enheten din?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> må"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Fordi en app skjuler tillatelsesforespørselen, kan ikke Innstillinger bekrefte svaret ditt."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> ber om full kontroll over denne enheten. Tjenesten kan lese skjermen og handle på vegne av brukere med tilgjengelighetsbehov. Dette kontrollnivået er ikke passende for de fleste apper."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Full kontroll er passende for apper som hjelper deg med tilgjengelighetsbehov, men ikke for de fleste apper."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Se og kontroller skjermen"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Den kan lese alt innhold på skjermen og vise innhold over andre apper."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Se og utfør handlinger"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Den kan spore kommunikasjonen din med en app eller maskinvaresensor og kommunisere med apper på dine vegne."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Tillat"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Avvis"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Slå av"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"På / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> og <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Du kan også slå på Romlig lyd for Bluetooth-enheter."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Innstillinger for tilkoblede enheter"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Romlig lyd"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Av"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Av"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Av"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Ingen}=1{1 tidsplan er angitt}other{# tidsplaner er angitt}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Ikke forstyrr"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Prioritetsmoduser"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Legg til en modus"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Moduser"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Reduser distraksjoner til et minimum, og ta kontroll på oppmerksomheten med moduser for søvn, jobb, kjøring og alt mulig annet."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Lag din egen modus"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Bli bare varslet av viktige personer og apper"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Angi en tidsplan"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Tidsplanen er basert på"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Dag og klokkeslett"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"«9:00–17:00 på hverdager»"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Kalenderaktiviteter"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} er aktiv}=2{{mode_1} og {mode_2} er aktive}=3{{mode_1}, {mode_2} og {mode_3} er aktive}other{{mode_1}, {mode_2} og # til er aktive}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 modus kan slås på automatisk}other{# moduser kan slås på automatisk}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"PÅ"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Ikke angitt"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Deaktivert"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Opprett en modus"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Egendefinert"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Slå på nå"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Slå av"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Fant ikke modusen"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Begrens forstyrrelser"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Blokker forstyrrelser og distraksjoner"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Konfigurer <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Slå på Ikke forstyrr"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarmer og medielyder kan forstyrre"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Tidsplaner"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Slett tidsplaner"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Slett"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Gi nytt navn"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Slett"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Vil du slette «<xliff:g id="MODE">%1$s</xliff:g>»-modus?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Endre"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Tidsplaner"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Tidsplan"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Slå på automatisk"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Legg til en kalender"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Bruk kalenderen"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Tidsplan"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Angi en tidsplan"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Tidspunkt for auto-påslåing"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Aktivitetsoversikt"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Slå på under aktiviteter for"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Der invitasjonssvaret er"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Tidsplan"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Tidsplan"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> t, <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Tidsplan"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Tillat forstyrrelser som lager lyd"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Varsler som kan nå deg"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Flere handlinger"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Varselsfiltre"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Flere innstillinger"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Av}=1{Av / 1 modus kan slås på automatisk}other{Av / # moduser kan slås på automatisk}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Visningsinnstillinger"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Visningsalternativer"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Gråtoner"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"slå på mørkt tema"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Bytt til at OS-et og appene foretrekker lys tekst på mørk bakgrunn, som kan være mer behagelig for øynene og gir betydelig batterisparing på noen enheter."</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Ingen visningsendringer}=1{{effect_1}}=2{{effect_1} og {effect_2}}=3{{effect_1}, {effect_2} og {effect_3}}other{{effect_1}, {effect_2} og # andre}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Tillat alle varsler"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Folk, apper og lyder kan forstyrre"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Visningsalternativer for filtrerte varsler"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Når «Ikke forstyrr» er på"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Ingen lydvarsling"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"åpne varsel"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Tillat slumring av varsler"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Varselprikk på appikoner"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Varselspakker"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bobler"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bobler"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Lag boble for denne samtalen"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Den kan svare på meldinger og bruke knapper i varsler, blant annet slumre eller lukke varsler og svare på anrop."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Endre innstillinger"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Den kan slå Ikke forstyrr av eller på samt endre tilknyttede innstillinger."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Den kan administrere og aktivere moduser samt endre relaterte innstillinger."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Hvis du slår av varseltilgang for <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, kan tilgang til Ikke forstyrr også bli slått av."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Hvis du slår av varseltilgangen for <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, kan det også hende at modustilgangen blir slått av."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Slå av"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Avbryt"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Sanntid"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Denne appen støtter ikke utvidete innstillinger"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Flere innstillinger"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Flere innstillinger er tilgjengelige i denne appen"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Tilpassede varsler"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Bruk tilpassede varsler"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Når du får mange varsler på kort tid, reduserer telefonen volumet og minimerer forgrunnsvinduer på skjermen i opptil to minutter. Anrop, alarmer og prioriterte samtaler vibrerer, spiller av en lyd eller vises på skjermen fortsatt, og det er enkelt å finne alle varsler når du drar ned fra toppen av skjermen."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Varseldemping"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Bruk varseldemping"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Når du får mange varsler på kort tid, reduserer enheten volumet og minimerer varsler i opptil to minutter. Anrop, alarmer og prioriterte samtaler berøres ikke. \n\nDu kan se varsler du får mens dempingen er aktiv, ved å dra ned fra toppen av skjermen."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Bruk for jobbprofiler"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Bruk for apper i jobbprofilen"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Hjelpetjenester for VR"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"«Ikke forstyrr»-tilgang"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Kan bruke «Ikke forstyrr»"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Ingen installerte apper har bedt om «Ikke forstyrr»-tilgang"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Modustilgang"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Gi modustilgang"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Ingen installerte apper har bedt om modustilgang"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Du har ikke tillatt varsler fra denne appen"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"I tråd med det du har valgt, blokkerer Android denne varselkategorien fra å vises på denne enheten"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"I tråd med det du har valgt, blokkerer Android denne varselgruppen fra å vises på denne enheten"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Kategorier"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Annet"</string>
     <string name="no_channels" msgid="4716199078612071915">"Denne appen har ikke publisert noen varsler"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Vis kategorier som ikke brukes"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Flere innstillinger i appen"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Vis kategorier som ikke brukes"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Skjul kategorier som ikke brukes"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g>–<xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Samtaler"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Alle samtaler"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"alle samtaler"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Prioriterte samtaler"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"prioriterte samtaler"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Ingen"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Apper som kan forstyrre"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"De valgte appene"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Ingen"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Alle"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Ingen apper kan forstyrre}=1{{app_1} kan forstyrre}=2{{app_1} og {app_2} kan forstyrre}=3{{app_1}, {app_2} og {app_3} kan forstyrre}other{{app_1}, {app_2} og # til kan forstyrre}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (jobb)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Beregner …"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Tillat at apper overstyrer"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apper som kan forstyrre"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Velg flere apper"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Ingenting kan forstyrre"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Ingen kan forstyrre"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Noen personer kan forstyrre"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Gjentatte anrop kan forstyrre"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Alle personer kan forstyrre"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Gjentatte anrop"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Tillat gjentatte anrop"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Endre til bare alarmer i én time frem til {time}}other{Endre til bare alarmer i # timer frem til {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Endre til Bare alarmer frem til <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Bytt til Alltid forstyrr"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Gi nytt navn"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Endre ikonet"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Endre ikonet"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Rediger modusen"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Opprett en modus"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Egendefinert modus"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Modusnavn"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Kalenderaktiviteter"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Sengetidsrutine"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Under kjøring"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Appinnstillinger"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Informasjon og innstillinger i <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Administreres av <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Vil du slå av <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Denne modusen slås aldri på når den er slått av"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Slå av"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Vil du slå på <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Denne modusen kan slås på automatisk basert på innstillingene"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Slå på"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Angi en modus som følger en regelmessig tidsplan"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Angi en modus for å synkronisere med kalenderaktiviteter og svare på invitasjoner"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Lag en avslappende søvnrutine. Angi alarmer, demp skjermen og blokker varsler."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Prioriter sikkerhet på veien for fokusert kjøring uten distraksjoner"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Blokker distraksjoner og forstyrrelser fra enheten for å fokusere"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Fjern alle distraksjoner for å få et stille miljø"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Gi enhetsopplevelser og innstillinger personlig preg for forskjellige brukere"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Minimer distraksjoner ved å bare la viktige personer og apper nå deg"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Angi en modus som følger en regelmessig tidsplan"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Hold enheten synkronisert med dagens aktiviteter"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Føl deg i toppform når du våkner"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Prioriter sikkerhet når du er på veien"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Få fokus for å finne flytsonen"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"For øyeblikk der høflighet er viktig"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Veiledet bruk som hjelper deg med å være i gode hender"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Ta kontroll over oppmerksomheten"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Varsel"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Lukk"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Send tilbakemelding om enheten"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Må være slått på fordi varseltilgang er på"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Vil du trekke tilbake tilgangen til Ikke forstyrr for <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Alle Ikke forstyrr-regler opprettet av denne appen blir fjernet."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Vil du gi <xliff:g id="APP">%1$s</xliff:g> modustilgang?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Appen får muligheten til å slå Ikke forstyrr av og på, administrere og aktivere moduser og endre relaterte innstillinger."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Alle modusene som er opprettet av denne appen, blir fjernet."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Ikke optimaliser"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimaliser"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Dette kan tappe batteriet ditt raskere. Appen blir ikke lenger hindret i å bruke batteri i bakgrunnen."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Etui"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Batteri"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Innstillinger-panel"</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_desktop_mode" msgid="5644818402534562302">"Slå på vinduer i fritt format"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Slå på vinduer i fritt format på sekundærskjermen"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Slå på apper som ikke kan endre størrelse, i flervindusmodus"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Tillater apper som ikke kan endre størrelse, i flervindusmodus"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Overstyr tving mørk"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobildata"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"For å forbedre brukeropplevelsen på enheten kan apper og tjenester søke etter wifi-nettverk når som helst – også når wifi er slått av. Dette kan for eksempel brukes til å forbedre posisjonsbaserte funksjoner og tjenester. Du kan endre dette i innstillingene for wifi-skanning."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Endre"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Tilkoblet"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Koblet til midlertidig"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Bruker <xliff:g id="SUBNAME">%1$s</xliff:g> midlertidig"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Bruk festing av apper"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Bruk utvikleralternativer"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Bruk utskriftstjeneste"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Tillat flere brukere"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Tillat brukerbytte"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"tillat, flere, bruker, tillatelse, mange"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"flere, brukere, profiler, personer, kontoer, bytt, mange"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Bruk trådløs feilsøking"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> vil koble til denne telefonen.\n\nDu har ikke koblet til <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> tidligere."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Ikke koble til"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Koble til"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE-innstillinger"</string>
-    <string name="tare_on" msgid="2386073225978684535">"På"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Av"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Tilbakestill til standardinnstillingene"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Tilbakestilt til standardinnstillingene."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Maksimum saldo når enheten er fulladet"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Saldoer"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Forbruksgrenser"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Grense for første forbruk"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Minimumsgrense for forbruk"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Maksimumsgrense for forbruk"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modifikatorer"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Handlinger (kostnad for å produsere)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Handlinger (grunnpris)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Belønninger per enkelthendelse"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Belønninger per sekund hendelsesvarighet"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Maksimalt antall belønninger per dag"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Appinstallering"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Høyeste aktivitet"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Varsel er sett"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Varsel er sett innen 15 minutter"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interaksjon med varsel"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Modulinteraksjon"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Annen brukerinteraksjon"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Jobb starter med maksimum prioritet"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Jobb kjører med maks prioritet"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Jobb starter med høy prioritet"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Jobb kjører med høy prioritet"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Jobb starter som standard"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Jobb kjører som standard"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Jobb starter med lav prioritet"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Jobb kjører med lav prioritet"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Jobb starter med minimum prioritet"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Jobb kjører med minimum prioritet"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Straff for jobbtidsavbrudd"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Minimum saldo når enheten er fulladet (fritatt)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Minimum saldo når enheten er fulladet (hodeløs systemapp)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Minimum saldo når enheten er fulladet (gjenværende apper)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Tillegg til minimumsaldo når enheten er fulladet (oppdateringsverktøy for apper)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Lading"</item>
-    <item msgid="658627268149681677">"Slumremodus"</item>
-    <item msgid="1599558140284643834">"Strømsparingsmodus"</item>
-    <item msgid="588427840913221601">"Prosesstilstand"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Bekreft"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Forhåndsvis"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Velg en skjermsparer"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Vis tilleggsinformasjon"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Velg hva du ser på skjermen når nettbrettet er i dokken. Enheten kan bruke mer energi når en skjermsparer brukes."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Tilpass"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Tilpass <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"En omstart kreves for å slå på støtte for fritt format."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"En omstart kreves for å tvinge skrivebordmodus på sekundære skjermer."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"En omstart kreves for å slå på støtte for vinduer i fritt format."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"En omstart kreves for å oppdatere tilgjengeligheten for vinduer i fritt format."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"En omstart kreves for å slå på vinduer i fritt format på sekundærskjermer."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Start på nytt nå"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Start på nytt senere"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Romlig lyd"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Rosa"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Fiolett"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Ferdig"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Lagre"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Avbryt"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Standard"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Middels"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"På"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Av"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"På"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Lyd %1$d %% venstre, %2$d %% høyre"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Lyd %1$d %% høyre, %2$d %% venstre"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Enhetsnavnet ditt er synlig for apper du har installert. Det kan også ses av andre personer når du kobler til Bluetooth-enheter, kobler til et wifi-nettverk eller konfigurerer en wifi-sone."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Grammatisk kjønn"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Velg grammatisk kjønn"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Lyddelingen er stoppet"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Koble til en kompatibel enhet"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Før du kan begynne å dele lyd, må du koble hodetelefoner for LE-lyd til telefonen"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Bytt til <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Koble til en LE-lydstrøm"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Lydstrømmer i nærheten"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Lydstrømmer"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Lytt til strømmen"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Skann en QR-kode for en lydstrøm for å lytte med <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Kan ikke redigere passordet under deling. For å bytte passord, slå først av lyddelingen."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR-kodeskanner"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Trenger du hjelp?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Søk i innstillingene"</string>
 </resources>
diff --git a/res/values-ne/arrays.xml b/res/values-ne/arrays.xml
index 21d7ebd..2249545 100644
--- a/res/values-ne/arrays.xml
+++ b/res/values-ne/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"सुत्ने समय"</item>
-    <item msgid="4152450357280759894">"ड्राइभिङ"</item>
-    <item msgid="7096549258219399423">"इमर्सिभ"</item>
-    <item msgid="2760716776980432977">"व्यवस्थापन गरिएका"</item>
-    <item msgid="601734478369121764">"तारा"</item>
-    <item msgid="6243809315432780521">"पात्रो"</item>
-    <item msgid="4913577903148415331">"समय"</item>
-    <item msgid="3653377604690057780">"नाटकघर"</item>
-    <item msgid="3843711267408385410">"फूल"</item>
+    <item msgid="1216815120972438676">"ब्रिफकेस"</item>
+    <item msgid="184985872234062767">"पुरानो शैलीको भवन"</item>
+    <item msgid="9189550412466785530">"अपार्टमेन्ट भवन"</item>
+    <item msgid="2142527562511049422">"स्पिच बबल"</item>
+    <item msgid="2548100558260478605">"मान्छेहरूको समूह"</item>
+    <item msgid="2270003903304578284">"लाइटबल्ब"</item>
+    <item msgid="4793496619091161864">"पात्रो"</item>
+    <item msgid="5673625795644364100">"Do Not Disturb"</item>
+    <item msgid="1423820834865831361">"दौडिरहेको व्यक्ति"</item>
+    <item msgid="2037298830718732608">"गल्फ"</item>
+    <item msgid="2197835014443491074">"व्यायामशालामा प्रयोग गरिने डम्बेल"</item>
+    <item msgid="2730180105015616518">"पौडी"</item>
+    <item msgid="2666922823253345958">"पदयात्रा गरिरहेको व्यक्ति"</item>
+    <item msgid="8234880356472211396">"बल फ्याँकिरहेको व्यक्ति"</item>
+    <item msgid="4642980625253001443">"किक हानिरहेको व्यक्ति"</item>
+    <item msgid="4324795269518833500">"गेम कन्ट्रोलर"</item>
+    <item msgid="7789966425125441125">"आर्टिस्ट कलर प्यालेट"</item>
+    <item msgid="663512680597461570">"हिमकण"</item>
+    <item msgid="7952183800501346803">"समुद्री तटमा प्रयोग गरिने छाता"</item>
+    <item msgid="799139025758265891">"वर्कसप प्रयोग गरिने औजारहरू"</item>
+    <item msgid="1330084588359129896">"पाल"</item>
+    <item msgid="3861584909935022342">"फिल्म रिल"</item>
+    <item msgid="5827426100157335512">"पुस्तक"</item>
+    <item msgid="8585828346253128384">"कमल फूल"</item>
+    <item msgid="8788370542815300188">"व्यक्तिको दिमाग"</item>
+    <item msgid="7287354964767553293">"हेडफोन"</item>
+    <item msgid="2530059623783800987">"टिभी"</item>
+    <item msgid="5307182323469376758">"रेल"</item>
+    <item msgid="4903790544026923026">"कार"</item>
+    <item msgid="5010405583912314582">"काँटा र चक्कु"</item>
+    <item msgid="8939998598599064900">"सपिङ कार्ट"</item>
+    <item msgid="3379605903308731893">"बच्चा"</item>
+    <item msgid="7808668968550293112">"जनावरको पन्जा"</item>
+    <item msgid="1000692647524056504">"स्टार ब्याज"</item>
+    <item msgid="8270261073421676502">"दुई जना मान्छे"</item>
+    <item msgid="5767782819651505460">"तारा"</item>
+    <item msgid="4368451291862729334">"मुटु"</item>
+    <item msgid="2613199102208419986">"घर"</item>
+    <item msgid="3022279986430275040">"अर्धचन्द्र"</item>
+    <item msgid="5421089790869483206">"घडी"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 2c27b90..8f12573 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"निलम्बित"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"अज्ञात"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"प्रिभ्यु"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR कोड"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"अझ सानो बनाउनुहोस्"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"अझ ठुलो बनाउनुहोस्"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"सधैँ"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"श्रवण यन्त्रसम्बन्धी सेटिङ"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"सर्टकट, हियरिङ डिभाइस कम्प्याटिबिलिटी"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"पूर्व निर्धारित"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"तपाईंका अडियोलोजिस्टले कुनै पनि प्रिसेट तय गर्नुभएको छैन"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"प्रिसेट अपडेट गर्न सकिएन"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"अडियो आउटपुट"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"अडियो आउटपुटका बारेमा"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"सेटिङबाट यो एपका लागि भाषा चयन गर्न मिल्दैन।"</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"यो भाषा एपमा उपलब्ध भाषाहरूभन्दा फरक हुन सक्छ। यो सेटिङले केही एपमा काम नगर्न सक्छ।"</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"हरेक एपमा उक्त भाषा सेट गर्नुहोस्।"</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"तपाईंका सिस्टम, एप र वेबसाइटहरूले तपाईंले रुचाएको भाषाको सूचीमा रहेको प्रयोग गर्न सकिने पहिलो भाषा प्रयोग गर्छन्।"</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"तपाईंका डिभाइस, सिस्टम र वेबसाइटहरूले तपाईंले रुचाएको भाषाको सूचीमा रहेको प्रयोग गर्न सकिने पहिलो भाषा प्रयोग गर्छन्।\n\nथुप्रै एपहरूले मिति, सङ्ख्या र एकाइहरूको फर्म्याट निर्धारण गर्न तपाईंले रुचाएको भाषाको क्षेत्र पनि प्रयोग गर्छन्। आफ्नो क्षेत्र बदल्न कुनै भाषा हाल्नुहोस् अनि आफूले रुचाएको क्षेत्र छान्नुहोस्।"</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"हरेक एपका हकमा बेग्लाबेग्लै भाषा चयन गर्न एपको भाषासम्बन्धी सेटिङमा जानुहोस्।"</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"एपका भाषाहरूका बारेमा थप जान्नुहोस्"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"सिस्टमको भाषा परिवर्तन गरी %s बनाउने हो?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"निष्क्रिय"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{अन छ / # वटा एपलाई लोकेसन प्रयोग गर्ने अनुमति दिइएको छ}other{अन छ / # वटा एपहरूलाई लोकेसन प्रयोग गर्ने अनुमति दिइएको छ}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"लोड गर्दै…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"वरपर रहेका ब्लुटुथ चल्ने डिभाइसहरू खोज्ने अनुमति दिइएका एपहरूले कनेक्ट गरिएका डिभाइसहरूको सापेक्ष लोकेसन पत्ता लगाउन सक्छन्।"</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"नजिकैका डिभाइसहरू खोज्ने अनुमति दिइएका एपहरूले कनेक्ट गरिएका डिभाइसहरूको सापेक्षिक लोकेसन पत्ता लगाउन सक्छन्।"</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"एप तथा सेवाहरूलाई लोकेसन प्रयोग गर्ने अनुमति दिइएको छैन। तपाईंले कुनै आपत्‌कालीन नम्बरमा कल गर्दा वा टेक्स्ट म्यासेज पठाउँदा भने आपत्‌कालीन सेवा प्रदान गर्ने निकायलाई तपाईंको डिभाइसको लोकेसन पठाइन सक्छ।"</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"लोकेसन सेटिङका बारेमा थप जान्नुहोस्"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"परिवर्तन गर्न \"ChromeOS का सेटिङ &gt; गोपनीयता र सुरक्षा &gt; गोपनीयतासम्बन्धी सेटिङ &gt; लोकेसन एक्सेस\" मा जानुहोस्"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"अनुहार र <xliff:g id="WATCH">%s</xliff:g> दर्ता गरियो"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"अनुहार, फिंगरप्रिन्ट र <xliff:g id="WATCH">%s</xliff:g> दर्ता गरियो"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"अनुहार, फिंगरप्रिन्टहरू र <xliff:g id="WATCH">%s</xliff:g> दर्ता गरिए"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"पहिचान जाँच्ने सुविधा अन गरिएको छ र यसका लागि बायोमेट्रिक जानकारी चाहिन्छ"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator Unlock"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"स्मार्ट वाच हालिएको छ"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"आफ्नो स्मार्ट वाच सेटअप गर्नुहोस्"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"स्मार्ट वाच अनलक गर्ने सुविधाका बारेमा थप जान्नुहोस्"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"स्मार्ट वाच कनेक्ट गर्नुहोस्"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"स्मार्ट वाच डिस्कनेक्ट गर्नुहोस्"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"फिंगरप्रिन्ट तथा फेस अनलक"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"फेस र फिंगरप्रिन्ट अनलक"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"कार्य प्रोफाइलका लागि फेस र फिंगरप्रिन्ट अनलक"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"सेटअप गर्नु पर्ने हुन्छ"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"फेस तथा फिंगरप्रिन्टहरू थपिए"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"निजी स्पेस सेटअप गरिँदै छ…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"निजी स्पेस सेटअप गर्न सकिएन"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"फेरि प्रयास गर्नुहोस्"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"बाहिरिनुहोस्"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"निजी स्पेस उपलब्ध छैन।\nसम्भावित कारणहरू हेर्नुहोस्"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"सम्भावित कारणहरू हेर्नुहोस्"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"निजी स्पेसका लागि नयाँ लक चयन गर्ने हो?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"तपाईं निजी स्पेसका लागि मात्र नयाँ लक सेट गर्न वा तपाईंले आफ्नो डिभाइस अनलक गर्न प्रयोग गर्ने लक नै प्रयोग गर्न सक्नुहुन्छ"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"स्क्रिन लक प्रयोग गर्नुहोस्"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ब्लुटुथ अन गरिएका बेला तपाईंको डिभाइस नजिकै रहेका ब्लुटुथ चल्ने अन्य डिभाइससँग कनेक्ट हुन सक्छ। \n\nडिभाइसका सुविधाहरूको गुणस्तर सुधार गर्ने प्रयोजनका लागि एप तथा सेवाहरूले ब्लुटुथ अफ भएका बेला र अरू बेला नजिकैका डिभाइसहरू स्क्यान गर्न सक्छन्। यसलाई लोकेसनमा आधारित सुविधा तथा सेवाहरूको गुणस्तर सुधार गर्ने जस्ता कार्यहरू गर्नका लागि प्रयोग गर्न सकिन्छ। तपाईं ब्लुटुथ स्क्यान गर्नेसम्बन्धी सेटिङमा गई यो कुरा परिवर्तन गर्न सक्नुहुन्छ।"</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"ब्लुटुथ अन हुँदा तपाईंको डिभाइस नजिकैका अन्य ब्लुटुथ डिभाइससँग कनेक्ट हुन सक्छ। क्विक सेयर र Find My Device जस्ता सुविधाहरू प्रयोग गर्न ब्लुटुथ चाहिन्छ।\n\nब्लुटुथ अफ गरिएको भए पनि एप तथा सेवाहरूले जुनसुकै बेला नजिकैका डिभाइसहरू स्क्यान गर्न सक्छन्। यसलाई लोकेसनमा आधारित सुविधा तथा सेवाहरूको गुणस्तर सुधार गर्नेलगायतका प्रयोजनहरूका लागि प्रयोग गर्न सकिन्छ। तपाईं ब्लुटुथ स्क्यानिङसम्बन्धी सेटिङमा गई यो सेटिङ बदल्न सक्नुहुन्छ।"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"बदल्नुहोस्"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> कनेक्ट भएको छैन"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"तपाईंको सुरक्षार्थ यो डिभाइस बिर्सनुहोस् अनि फेरि कनेक्ट गर्नुहोस्"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"डिभाइस बिर्सनुहोस्"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"रद्द गर्नुहोस्"</string>
     <string name="device_details_title" msgid="1155622417516195481">"डिभाइसको विवरण"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"किबोर्डसम्बन्धी सेटिङ"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"थप सेटिङ"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"फर्मवेयर अपडेट, जानकारी र थप कुरा"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"सुझाव तथा सहायता"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"डिभाइसको ब्लुटुथ एड्रेस: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"डिभाइसको ब्लुटुथ ठेगाना: \n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"डिभाइस बिर्सने हो?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"प्रयोगात्मक। अडियोको गुणस्तर सुधार्छ।"</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"डिभाइस बिर्सनुहोस्"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"एप डिस्कनेक्ट गर्नुहोस्"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"थप सेटिङ"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"जडान भएका ब्लुटुथ अडियो डिभाइसहरूको अधिकतम सङ्ख्या"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"जडान भएका ब्लुटुथ अडियो डिभाइसहरूको अधिकतम सङ्ख्या चयन गर्नुहोस्"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC भर्बोस विक्रेताको डिबग लग"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"डिभाइस रिस्टार्ट गर्ने हो?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"NFC को विस्तृत लग राख्ने सुविधा सफ्टवेयर विकास गर्ने प्रयोजनका लागि मात्र बनाइएको हो। बग रिपोर्टहरूमा NFC का अतिरिक्त डेटा समावेश हुन्छन्। यी डेटामा निजी जानकारी पनि समावेश हुन सक्छन्। यो सेटिङ बदल्न आफ्नो डिभाइस रिस्टार्ट गर्नुहोस्।"</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"रिस्टार्ट गर्नुहोस्"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"अन छ"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"अफ छ"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"बाह्य डिस्प्ले"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"बाह्य डिस्प्ले प्रयोग गर्नुहोस्"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"डिस्प्लेको रिजोल्युसन"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"बाह्य डिस्प्ले डिस्कनेक्ट गरिएको छ"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"रोटेसन"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"स्ट्यान्डर्ड"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"९०°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"१८०°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"२७०°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"तपाईंले रोटेसन वा रिजोल्युसन बदल्नुभयो भने हाल चलिरहेका एपहरू बन्द हुन सक्छन्"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"तपाईंको डिभाइस बाह्य डिस्प्लेमा कनेक्ट गरिएको छ भने मात्र डिभाइसको स्क्रिन मिरर गर्न सकिन्छ"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"थप विकल्पहरू"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Cast"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"स्क्रिन मिरर गर्नुहोस्"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"वायरलेस प्रदर्शन सक्षम गर्नुहोस्"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"एड्याप्टिभ"</string>
     <string name="brightness" msgid="6216871641021779698">"चमकको स्तर"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"एड्याप्टिभ ब्राइटनेस"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"अनुकूलनयोग्य चमकका बारेमा"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"स्क्रिनको चमक तपाईंको वातावरण र गतिविधिअनुसार स्वतः समायोजन हुन्छ। तपाईं स्लाइडर सारेर एड्याप्टिभ ब्राइटनेसलाई तपाईंको रूची पहिचान गर्न मद्दत गर्न सक्नुहुन्छ।"</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"सक्रिय छ"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"निष्क्रिय छ"</string>
@@ -1311,8 +1340,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="8850185380445309835">"SIM को प्राथमिकता बदल्ने हो?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"तपाईंको डिभाइसमा <xliff:g id="NEW_SIM">%1$s</xliff:g> SIM मात्र छ। तपाईं मोबाइल डेटा, कल र SMS म्यासेजका लागि यो SIM प्रयोग गर्न चाहनुहुन्छ?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> अब तपाईंको प्राथमिक SIM भएको छ"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"मोबाइल डेटाको कभरेज सुधार्ने हो?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"<xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> को नेटवर्कको गुणस्तर तुलनात्मक रूपमा राम्रो हुँदा मोबाइल डेटाका लागि आफ्नो डिभाइसलाई स्वतः उक्त सेवा प्रदायकको SIM कार्ड प्रयोग गर्ने अनुमति दिनुहोस्।"</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"तपाईंको सङ्गठनले कल लग, म्यासेज र नेटवर्क ट्राफिक देख्न सक्छ।"</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"विकल्पहरू"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"एक्सेसिबिलिटी सुविधा"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"फिजिकल किबोर्ड"</string>
-    <string name="show_ime" msgid="4334255501724746849">"अनस्क्रिन किबोर्ड प्रयोग गर्नुहोस्"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"फिजिकल किबोर्ड सक्रिय हुँदा यसलाई स्क्रिनमा राख्नुहोस्"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"बाउन्स की"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"किबोर्डले <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> मिलिसेकेन्डभित्र एउटै कीमा छिटो छिटो दोहोर्‍याएर थिचिएका खण्डमा बेवास्ता गर्छ"</string>
     <string name="slow_keys" msgid="2891452895499690837">"स्लो की"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"<xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> मिलिसेकेन्डमा एक्टिभेट गर्नका लागि कुनै की थिच्न लाग्ने समय समायोजन गर्छ"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"स्टिकी की"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"सर्टकट प्राप्त गर्नका लागि कीहरू सँगै थिचिराख्नुको साटो एक पटकमा एउटा की थिच्नुहोस्"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"माउस की"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"माउस नियन्त्रण गर्न भौतिक किबोर्ड प्रयोग गर्नुहोस्।"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"किबोर्डका सर्टकटहरू"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"सर्टकटहरूको सूची देखाउनुहोस्"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"कार्य प्रोफाइल किबोर्ड र उपकरणहरू"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"टचप्याडमार्फत नेभिगेसन गर्न प्रयोग गरिने प्रत्येक इसारा कस्टमाइज गर्नुहोस्"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"विपरीत दिशामा स्क्रोल गर्ने सुविधा"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"तपाईंले तलतिर स्क्रोल गर्दा सामग्री माथितिर सर्छ"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"पुछारको दायाँतिर ट्याप"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"थप विकल्पहरू हेर्न टचप्याडको पुछारको दायाँ कुनामा ट्याप गर्नुहोस्"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"बटम-राइट क्लिक"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"थप विकल्प हेर्न टचप्याडको पुछारको दायाँ कुनामा क्लिक गर्नुहोस्"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"पोइन्टरको गति"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"पोइन्टर फिलको शैली"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"पोइन्टर फिलको शैली बदलेर कालो बनाउनुहोस्"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"पोइन्टर फिलको शैली बदलेर पहेँलो बनाउनुहोस्"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"पोइन्टर फिलको शैली बदलेर गुलाबी बनाउनुहोस्"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"पोइन्टर फिलको शैली बदलेर निलो बनाउनुहोस्"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"पोइन्टर स्ट्रोकको शैली"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"सेतो"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"कालो"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"कुनै पनि होइन"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"टचप्याड इसाराहरूका बारेमा जानकारी"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"ट्र्याकप्याड, ट्र्याक प्याड, माउस, कर्सर, स्क्रोल, स्वाइप, राइट क्लिक, क्लिक, पोइन्टर"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"राइट क्लिक, ट्याप"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"रिसेट गर्नुहोस्"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"मोडिफायर की छान्नुहोस्"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> को नयाँ की छनौट गर्नुहोस्:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"भौतिक किबोर्डको सर्वसुलभता"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"स्टिकी कीहरू, बाउन्स कीहरू, माउस कीहरू"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> लेआउट"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"डिफल्ट"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"स्वचालित: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"प्रयोगकर्ता चयन गरिएको: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"बोली"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"पोइन्टरको गति"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"पोइन्टरको स्केल"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"पोइन्टरको स्केल घटाउनुहोस्"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"पोइन्टरको स्केल बढाउनुहोस्"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"खेल नियन्त्रक"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"कम्पन रिडिरेक्ट गर्नुहोस्"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"जडान हुँदा खेलको नियन्त्रकमा कम्पन गराउनुहोस्"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"जे भए पनि जारी राख्नुहोस्"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"रद्द गर्नु…"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"म्याग्निफिकेसनसम्बन्धी सेटिङ"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"एउटा औंलाले प्यान गर्ने सुविधा"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"एउटा औँलाले म्याग्निफायर सार्नुहोस्"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"स्क्रिनमा यताउता सार्न एउटा औँलाले ड्र्याग गर्नुहोस्"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"एउटा औंला ड्र्याग गरेर जुम इन गरिएको क्षेत्र यताउता सार्नुहोस्।"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"दुई औंला ड्र्याग गरेर जुम इन गरिएको क्षेत्र यताउता सार्नुहोस्।"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"स्क्रिनको कुनै भाग मात्र जुम इन गरेका बेला यो टगल उपलब्ध हुँदैन"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"जुम गर्न बटनमा ट्याप गर्नुहोस्"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"तपाईं सामग्री अझ ठुलो बनाउन चाहनुहुन्छ भने द्रुत रूपमा स्क्रिनमा जुम इन गर्नुहोस्"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;तपाईं जुम इन गर्न चाहनुहुन्छ भने निम्न कार्य गर्नुहोस्:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. जुम इन गर्ने सुविधा प्रयोग गर्न थाल्न सर्टकट प्रयोग गर्नुहोस्&lt;br/&gt; {1,number,integer}. स्क्रिनमा ट्याप गर्नुहोस्&lt;br/&gt; {2,number,integer}. स्क्रिनमा सामग्री यताउता सार्न २ वटा औँलाले ड्र्याग गर्नुहोस्&lt;br/&gt; {3,number,integer}. जुम इन वा जुम आउट गर्न २ वटा औँलाले पिन्च गर्नुहोस्&lt;br/&gt; {4,number,integer}. जुम इन गर्ने सुविधा बन्द गर्न सर्टकट प्रयोग गर्नुहोस्&lt;br/&gt;&lt;br/&gt; &lt;b&gt;तपाईं केही समयका लागि जुम इन गर्न चाहनुहुन्छ भने निम्न कार्य गर्नुहोस्:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. जुम इनको प्रकार फुल स्क्रिन तय गरिएको छ भन्ने कुरा सुनिश्चित गर्नुहोस्&lt;br/&gt; {1,number,integer}. जुम इन गर्ने सुविधा प्रयोग गर्न थाल्न सर्टकट प्रयोग गर्नुहोस्&lt;br/&gt; {2,number,integer}. स्क्रिनको कुनै भागमा टच एण्ड होल्ड गर्नुहोस्&lt;br/&gt; {3,number,integer}. स्क्रिनमा सामग्री यताउता सार्न औँलाले ड्र्याग गर्नुहोस्&lt;br/&gt; {4,number,integer}. जुम इन गर्ने सुविधा बन्द गर्न औँला उठाउनुहोस्"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;जुम इन गर्न:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. जुम इन गर्न थाल्न सर्टकट प्रयोग गर्नुहोस्&lt;br/&gt; {1,number,integer}. स्क्रिनमा ट्याप गर्नुहोस्&lt;br/&gt; {2,number,integer}. स्क्रिनमा यताउता सार्न २ वटा औँलाले ड्र्याग गर्नुहोस्&lt;br/&gt; {3,number,integer}. जुमको स्तर मिलाउन २ वटा औँलाले पिन्च गर्नुहोस्&lt;br/&gt; {4,number,integer}. जुम इन गर्न छाड्न सर्टकट प्रयोग गर्नुहोस्&lt;br/&gt;&lt;br/&gt; तपाईं केही समयका लागि जुम इन गर्नेलगायतका अन्य कार्यहरू गर्न पनि सक्नुहुन्छ।"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;जुम इन गर्न:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. जुम इन गर्न थाल्न सर्टकट प्रयोग गर्नुहोस्&lt;br/&gt; {1,number,integer}. स्क्रिनमा ट्याप गर्नुहोस्&lt;br/&gt; {2,number,integer}. स्क्रिनमा यताउता सार्न एउटा वा २ वटा औँलाले ड्र्याग गर्नुहोस्&lt;br/&gt; {3,number,integer}. जुमको स्तर मिलाउन २ वटा औँलाले पिन्च गर्नुहोस्&lt;br/&gt; {4,number,integer}. जुम इन गर्न छाड्न सर्टकट प्रयोग गर्नुहोस्&lt;br/&gt;&lt;br/&gt; तपाईं केही समयका लागि जुम इन गर्नेलगायतका अन्य कार्यहरू गर्न पनि सक्नुहुन्छ।"</string>
     <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"म्याग्निफिकेसन सुविधा सक्रिय गरेपछि, तपाईं आफ्नो स्क्रिनमा जुम इन गर्न सक्नुहुन्छ।\n\n"<b>"जुम गर्न"</b>", म्याग्निफिकेसन सुविधा सुरु गर्नुहोस्, त्यसपछि स्क्रिनको कुनै पनि भागमा ट्याप गर्नुहोस्।\n"<ul><li>"स्क्रोल गर्न २ वा सोभन्दा बढी औँलाले ड्र्याग गर्नुहोस्"</li>\n<li>"जुम समायोजन गर्न २ वा सोभन्दा बढी औँलाले पिन्च गर्नुहोस्"</li></ul>\n\n<b>"केहीबेरका लागि जुम गर्न"</b>", म्याग्निफिकेसन सुविधा सुरु गर्नुहोस्, त्यसपछि स्क्रिनको कुनै पनि भागमा केहीबेर छोइरहनुहोस्।\n"<ul><li>"स्क्रिनमा यताउता जान ड्र्याग गर्नुहोस्"</li>\n<li>"जुम आउट गर्न औँला उचाल्नुहोस्"</li></ul>\n\n"तपाईं किबोर्ड वा नेभिगेसन पट्टीमा जुम इन गर्न सक्नुहुन्न।"</string>
     <string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g> मध्ये <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> औँ पृष्ठ"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"एक्सेसिबिलिटी बटनको सर्टकट"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"फ्लोटिङ बटनमा ट्याप गर्नुहोस्"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"एक्सेसिबिलिटी जेस्चर"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"स्क्रिनको फेदमा रहेको एक्सेसिबिलिटी बटन <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> मा ट्याप गर्नुहोस्। एउटा सुविधाबाट अर्को सुविधामा जान एक्सेसिबिलिटी बटनमा टच एन्ड होल्ड गर्नुहोस्।"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"२ वटा औँलाले स्क्रिनको फेदबाट माथितिर स्वाइप गर्नुहोस्।\n\nएउटा सुविधाबाट अर्को सुविधामा जान २ वटा औँलाले माथितिर स्वाइप गरी स्क्रिनमा टच एण्ड होल्ड गर्नुहोस्।"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"३ वटा औँलाले स्क्रिनको फेदबाट माथितिर स्वाइप गर्नुहोस्।\n\nएउटा सुविधाबाट अर्को सुविधामा जान ३ वटा औँलाले माथितिर स्वाइप गरी स्क्रिनमा टच एण्ड होल्ड गर्नुहोस्।"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{स्क्रिनको फेदबाट माथितिर स्वाइप गर्नुहोस्। एउटा सुविधाबाट अर्को सुविधामा जान माथितिर स्वाइप गर्नुहोस् र होल्ड गर्नुहोस्।}other{स्क्रिनको फेदबाट # औँलाले माथितिर स्वाइप गर्नुहोस्। एउटा सुविधाबाट अर्को सुविधामा जान # औँलाले माथितिर स्वाइप गर्नुहोस् र होल्ड गर्नुहोस्।}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"थप विकल्पहरू"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"<xliff:g id="SERVICE">%1$s</xliff:g> का बारेमा थप जान्नुहोस्"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"भोल्युम बटन"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"भोल्युम बटन"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"दुवै भोल्युम की थिचिराख्नुहोस्"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"स्क्रिनमा दुई वटा औँलाले डबल ट्याप गर्नुहोस्"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d-औँलाले डबल ट्याप"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"स्क्रिनमा आफ्नो %1$d औँलाले दुई पटक छिटो छिटो ट्याप गर्नुहोस्"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"ट्रिपल ट्याप"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"स्क्रिनमा %1$d पटक छिटो छिटो ट्याप गर्नुहोस्। तपाईंले यसो गर्नुभयो भने तपाईंको डिभाइस ढिलो चल्न सक्छ।"</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d-औँलाले डबल ट्याप"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"स्क्रिनमा दुई वटा औँलाले {0,number,integer} पटक छिटो छिटो ट्याप गर्नुहोस्"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"स्क्रिनमा तीन पटक ट्याप गर्नुहोस्"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"ट्रिपल ट्याप"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"स्क्रिनमा द्रुत रूपमा {0,number,integer} पटक ट्याप गर्नुहोस्। यो सर्टकट प्रयोग गर्दा तपाईंको डिभाइस ढिलो चल्न सक्छ"</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_global_gesture_preference_title" msgid="8866765674372344850">"भोल्युम बटनको सर्टकट"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"सर्टकटसम्बन्धी सेटिङहरू"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"लक स्क्रिनमा रहेको सर्टकट"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"लक स्क्रिनमार्फत प्रयोग गर्न सकिने भोल्युम बटनको सर्टकट"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"केही सेकेन्डसम्म दुवै भोल्युम की थिचेर लक स्क्रिनबाटै यो सर्टकट प्रयोग गर्न मिल्ने बनाउनुहोस्।"</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"एक्सेसिबिलिटी बटन"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"एक्सेसिबिलिटी बटन तथा जेस्चर"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"यो सेवाले राम्ररी काम गरिरहेको छैन।"</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"एक्सेसिबिलिटी सर्टकट"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"द्रुत सेटिङमा देखाउनुहोस्"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"रातो-हरियो"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"रातो-हरियो"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"रातो-हरियो, हरियो रङ ठम्याउन नसकिने समस्या"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"रातो-हरियो, रातो रङ ठम्याउन नसकिने समस्या"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"निलो-पहेँलो"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"ग्रेस्केल"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"सघनता"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"हरियो रङ ठम्याउन नसक्ने समस्या, ड्युटेरानोमेली"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"रातो रङ ठम्याउन नसक्ने समस्या, प्रोटानोमेली"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"ग्रेस्केल मोड वा रङ सच्याउने सुविधा अफ हुँदा यो प्रयोग गर्न मिल्दैन"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"अझै मधुरो"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"स्क्रिन अझै मधुरो बनाउनुहोस्"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"सायन"</string>
     <string name="color_yellow" msgid="5957551912912679058">"पहेँलो"</string>
     <string name="color_magenta" msgid="8943538189219528423">"म्याजेन्टा"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"<xliff:g id="SERVICE">%1$s</xliff:g> लाई आफ्नो डिभाइस पूर्ण रूपमा नियन्त्रण गर्न दिने हो?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> लाई आवश्यक:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"एपले अनुमति अनुरोधलाई अस्पष्ट मानिरहेको हुनाले, सेटिङहरूलले तपाईंको प्रतिक्रियालाई प्रमाणित गर्न सक्दैनन्।"</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> ले यो डिभाइस पूर्ण रूपमा नियन्त्रण गर्ने अनुमति माग्दै छ। यो सेवाले स्क्रिनमा भएका जानकारी पढ्न तथा पहुँचसम्बन्धी आवश्यकता भएका प्रयोगकर्ताहरूका तर्फबाट कारबाही गर्न सक्छ। धेरैजसो एपका हकमा यो स्तरको नियन्त्रण उपयुक्त हुँदैन।"</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"तपाईंका विशेष आवश्यकतामा सहयोग गर्ने एपमाथि पूर्ण नियन्त्रण गर्न दिनु उपयुक्त हुन्छ तर अधिकांश एपका हकमा यस्तो नियन्त्रण उपयुक्त हुँदैन।"</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"स्क्रिन हेर्नुहोस् र नियन्त्रण गर्नुहोस्"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"यसले स्क्रिनमा देखिने सबै सामग्री पढ्न सक्छ र अन्य एपहरूमा उक्त सामग्री देखाउन सक्छ।"</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"कारबाहीहरू हेर्नुहोस् र तिनमा कार्य गर्नुहोस्"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"यसले कुनै एप वा हार्डवेयर सेन्सरसँग तपाईंले गर्ने अन्तर्क्रिया ट्र्याक गर्न सक्छ र तपाईंका तर्फबाट एपहरूसँग अन्तर्क्रिया गर्न सक्छ।"</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"अनुमति दिनुहोस्"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"नदिनुहोस्"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"अफ गर्नुहोस्"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"अन छ / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> र <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"तपाईं ब्लुटुथ डिभाइसहरूका लागि स्पेशियल अडियो अन गर्न पनि सक्नुहुन्छ।"</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"कनेक्ट गरिएका डिभाइसका सेटिङ"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"स्पेसियल अडियो"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"अफ छ"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"अफ छ"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"अफ छ"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{कुनै पनि समयतालिका बनाइएको छैन}=1{एउटा समयतालिका बनाइएको छ}other{# वटा समयतालिका बनाइएको छ}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"बाधा नपुऱ्याउनुहोस्"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"महत्त्वपूर्ण मोडहरू"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"मोड हाल्नुहोस्"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"मोडहरू"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"सुत्ने, काम गर्ने, सवारी साधन चलाउनेलगायतका कार्यहरू गर्नका निम्ति मोडहरू सेट गरेर अवरोधहरू कम गर्नुहोस् र आफ्नो ध्यानलाई आफ्नो काबुमा राख्नुहोस्।"</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"आफ्नै मोड बनाउनुहोस्"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"महत्त्वपूर्ण मान्छे र एपका सूचना मात्र प्राप्त गर्नुहोस्"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"समयतालिका सेट गर्नुहोस्"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"निम्न कुराका आधारमा समयतालिका सेट गर्नुहोस्"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"दिन र समय"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"सप्ताहान्तबाहेकका दिन बिहान ९ देखि साँझ ५ बजेसम्म\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"पात्रोमा सेट गरिएका कार्यक्रमहरू"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} सक्रिय छ}=2{{mode_1} र {mode_2} सक्रिय छन्}=3{{mode_1}, {mode_2} र {mode_3} सक्रिय छन्}other{{mode_1}, {mode_2} र अरू # वटा मोड सक्रिय छन्}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{एउटा मोड स्वतः अन हुन सक्छ}other{# वटा मोड स्वतः अन हुन सक्छन्}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"अन छ"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"सेट गरिएको छैन"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"अफ गरिएको छ"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"मोड बनाउनुहोस्"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"कस्टम"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"अहिले नै अन गर्नुहोस्"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"अफ गर्नुहोस्"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"मोड भेटिएन"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"अवरोधहरू सीमित पार्नुहोस्"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"अवरोधहरू ब्लक गर्नुहोस्"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g> सेटअप गर्नुहोस्"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"बाधा नपुऱ्याउनुहोस् नामक मोडलाई अन गर्नुहोस्"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"अलार्म तथा मिडियाका आवाजहरूले अवरोध गर्न सक्छन्"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"समयतालिकाहरू"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"समयतालिकाहरू मेट्नुहोस्"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"मेट्नुहोस्"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"नाम बदल्नुहोस्"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"मेटाउनुहोस्"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"\"<xliff:g id="MODE">%1$s</xliff:g>\" मोड मेटाउने हो?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"सम्पादन गर्नुहोस्"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"समयतालिकाहरू"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"समयतालिका"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"स्वतः अन गर्नुहोस्"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"कुनै पात्रो हाल्नुहोस्"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"आफ्नो पात्रो प्रयोग गर्नुहोस्"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"समयतालिका"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"समयतालिका सेट गर्नुहोस्"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"स्वतः अन गरिने समय"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"कार्यक्रमको समयतालिका"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"कार्यक्रम भइरहेका बेला अन गर्नुहोस्"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"निम्तोको जवाफ यस्तो आउँदा"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"समयतालिका सेट गर्नुहोस्"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"समयतालिका"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> घण्टा, <xliff:g id="MINUTES">%2$d</xliff:g> मिनेट"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"समयतालिका"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"साउन्डसहित आउने कुरालाई अनुमति दिनुहोस्"</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="mode_interruption_filter_title" msgid="6657431939996264417">"तपाईंले प्राप्त गर्न सक्ने नोटिफिकेसनहरू"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"अतिरिक्त कारबाहीहरू"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"नोटिफिकेसन फिल्टरहरू"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"थप सेटिङ"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{अफ छ}=1{अफ छ / एउटा मोड स्वतः अन हुन सक्छ}other{अफ छ / # वटा मोड स्वतः अन हुन सक्छन्}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"डिस्प्लेसम्बन्धी सेटिङ"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"डिस्प्लेसम्बन्धी विकल्पहरू"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"ग्रेस्केल"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"\"अँध्यारो थिम\" अन गर्नुहोस्"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"अँध्यारो ब्याकग्राउन्डमा हल्का रङको टेक्स्टलाई प्राथमिकता दिन OS र एपहरू अदलबदल गर्नुहोस्। तपाईंले यसो गर्नुभयो भने तपाईंको आँखामा धेरै असर पर्दैन र यसले केही डिभाइसहरूको ब्याट्री उल्लेख्य रूपमा बचत गर्छ।"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{डिस्प्लेमा कुनै पनि परिवर्तन गरिएको छैन}=1{{effect_1}}=2{{effect_1} र {effect_2}}=3{{effect_1}, {effect_2} र {effect_3}}other{{effect_1}, {effect_2} र थप # वटा}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"सबै नोटिफिकेसन देखाउने अनुमति दिनुहोस्"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"मान्छे, एप र आवाजहरूले अवरोध गर्न सक्छन्"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"फिल्टर गरिएका नोटिफिकेसनसम्बन्धी विकल्पहरू देखाउनुहोस्"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"बाधा नपुऱ्याउनुहोस् मोड अन हुँदा"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"सूचना आउँदा साउन्ड नआओस्"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"सूचना खोल्नुहोस्"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"सूचना स्नुज गर्न दिनुहोस्"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"एपको आइकनमा देखिने नोटिफिकेसन डट"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"नोटिफिकेसन बन्डलहरू"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"बबलहरू"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"बबलहरू"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"यो वार्तालाप बबलमा देखाउनुहोस्"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"यसले म्यासेजहरूको जवाफ पठाउन र सूचनामा रहेका बटनहरू प्रयोग गरी सूचनाहरू स्नुज गर्ने वा हटाउने र फोन उठाउने जस्ता विभिन्न कार्यहरू गर्न सक्छ।"</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"सेटिङ परिवर्तन गर्न"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"यसले \"बाधा नपुऱ्याउनुहोस्\" अन वा अफ गर्न र सम्बन्धित सेटिङ परिवर्तन गर्न पनि सक्छ।"</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"यसले मोडहरू व्यवस्थापन तथा एक्टिभेट गर्न र सम्बन्धित सेटिङ बदल्न सक्छ।"</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_modes_warning_summary" msgid="7528432011433844158">"तपाईंले <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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"वास्तविक समय"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"यो एपमा परिष्कृत सेटिङ प्रयोग गर्न मिल्दैन"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"थप सेटिङ"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"यस एपभित्र थप सेटिङ उपलब्ध छन्"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"एड्याप्टिभ नोटिफिकेसन"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"एड्याप्टिभ नोटिफिकेसन प्रयोग गर्नुहोस्"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"तपाईंले छोटो समयमा धेरै नोटिफिकेसन प्राप्त गर्दा तपाईंको फोनले बढीमा दुई मिनेटसम्म भोल्युम घटाउँछ र स्क्रिनमा कम पप-अप देखाउँछ। तर कल आउँदा, अलार्म बज्दा र महत्त्वपूर्ण वार्तालापसम्बन्धी नोटिफिकेसन प्राप्त हुँदा भने फोन भाइब्रेट हुन्छ, साउन्ड बज्छ वा स्क्रिनमा उक्त नोटिफिकेसन देखिन्छ र तपाईं स्क्रिनको सिरानबाट तलतिर स्वाइप गरेर सजिलैसँग सबै नोटिफिकेसन हेर्न सक्नुहुन्छ।"</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"नोटिफिकेसन कुलडाउन"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"नोटिफिकेसन कुलडाउन प्रयोग गर्नुहोस्"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"तपाईंले छोटो समयमा धेरै नोटिफिकेसन प्राप्त गर्दा तपाईंको डिभाइसले बढीमा २ मिनेटसम्म ती नोटिफिकेसनको साउन्डको भोल्युम घटाउँछ र अलर्टहरू कम देखाउँछ। कल, अलार्म र महत्त्वपूर्ण वार्तालापहरू भने प्रभावित हुँदैनन्। \n\nडिभाइसको स्क्रिनको सिरानबाट तलतिर स्वाइप गरेर कुलडाउनका बेला प्राप्त भएका नोटिफिकेसनहरू हेर्न सकिन्छ।"</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"कार्य प्रोफाइलहरूमा लागू गर्नुहोस्"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"कार्य प्रोफाइलका एपहरूमा लागू गर्नुहोस्"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR का सहायक सेवाहरू"</string>
@@ -3650,6 +3709,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"मोडहरूको एक्सेस"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"मोडहरूको एक्सेस दिनुहोस्"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"इन्स्टल गरिएका कुनै पनि एपले मोडहरूको एक्सेस मागेका छैनन्"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"तपाईंले यो एपलाई सूचना पठाउने अनुमति दिनुभएको छैन"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"तपाईंको अनुरोधबमोजिम Android ले सूचनाहरूको यस कोटिलाई यो डिभाइसमा देखिन दिइरहेको छैन"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"तपाईंको अनुरोधबमोजिम Android ले सूचनाहरूको यस समूहलाई यो डिभाइसमा देखाउन दिइरहेको छैन"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"कोटिहरू"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"अन्य"</string>
     <string name="no_channels" msgid="4716199078612071915">"यो एपले कुनै पनि सूचना पोस्ट गरेको छैन"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"प्रयोग नगरिएका कोटीहरू देखाउनुहोस्"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"एपका अतिरिक्त सेटिङहरू"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"प्रयोग नगरिएका कोटीहरू देखाउनुहोस्"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"प्रयोग नगरिएका कोटीहरू लुकाइयोस्"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"वार्तालापहरू"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"सबै वार्तालापहरू"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"सबै वार्तालापहरू"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"महत्वपूर्ण वार्तालापहरू"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"महत्त्वपूर्ण वार्तालापहरू"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"कुनै पनि होइन"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"बाधा पुऱ्याउने अनुमति दिइएका एपहरू"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"चयन गरिएका एपहरू"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"कुनै पनि होइन"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"सबै"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{कुनै पनि एपले बाधा पुर्‍याउन सक्दैन}=1{{app_1} ले बाधा पुर्‍याउन सक्छ}=2{{app_1} र {app_2} ले बाधा पुर्‍याउन सक्छन्}=3{{app_1}, {app_2} र {app_3} ले बाधा पुर्‍याउन सक्छन्}other{{app_1}, {app_2} र अरू # एपले बाधा पुर्‍याउन सक्छन्}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (काम)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"हिसाब गरिँदै छ…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"एपहरूलाई ओभरराइड गर्ने अनुमति दिनुहोस्"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"अफ गर्न सक्ने एपहरू"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"थप एपहरू चयन गर्नुहोस्"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"कुनै पनि साउन्डले अफ गर्न सक्दैन"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"अफ गर्न सक्दैनन्"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"केही मान्छेहरूले अवरोध गर्न सक्छन्"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"दोहोर्‍याएर कल गर्ने व्यक्तिहरूले बाधा पुर्‍याउन सक्छन्"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"सबै मान्छेहरू अवरोध गर्न सक्छन्"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"कलरहरू दोरोर्‍याउनुहोस्"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"धेरै कल गर्ने व्यक्तिहरू"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} सम्म एक घण्टाका लागि मोड बदलेर \"अलार्महरू मात्र\" बनाउनुहोस्}other{{time} सम्म # घण्टाका लागि मोड बदलेर \"अलार्महरू मात्र\" बनाउनुहोस्}}"</string>
     <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_action_change_name" msgid="766639614789907016">"नाम बदल्नुहोस्"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"आइकन बदल्नुहोस्"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"आइकन बदल्नुहोस्"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"मोड परिवर्तन गर्नुहोस्"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"मोड बनाउनुहोस्"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"कस्टम मोड"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"मोडको नाम"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"पात्रोमा सेट गरिएका कार्यक्रमहरू"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"सुत्ने समयको रुटिन"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"सवारी साधन चलाइरहेका बेला"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"एपका सेटिङ"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"<xliff:g id="APP_NAME">%1$s</xliff:g> मा रहेका जानकारी तथा सेटिङ"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"<xliff:g id="APP_NAME">%1$s</xliff:g> ले व्यवस्थापन गरेको"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g> अफ गर्ने हो?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"यो सुविधा अफ गरिएका बेला यो मोड कहिल्यै पनि अन गरिने छैन"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"अफ गर्नुहोस्"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g> अन गर्ने हो?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"यो मोड यसका सेटिङ आधारमा स्वतः अन हुन सक्छ"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"अन गर्नुहोस्"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"नियमित रुटिन पालना गर्ने मोड सेट गर्नुहोस्"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"पात्रोमा सेट गरिएका कार्यक्रम र निम्तोका जवाफसहित सिंक गर्न कुनै मोड सेट गर्नुहोस्"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"शान्त निद्रासम्बन्धी रुटिन डिजाइन गर्नुहोस्। अलार्महरू सेट गर्नुहोस्, स्क्रिन मधुरो बनाउनुहोस् र नोटिफिकेसनहरू ब्लक गर्नुहोस्।"</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"ध्यान केन्द्रित गरी निर्बाध रूपमा गाडी चलाउन सडकमा सुरक्षालाई प्राथमिकता दिनुहोस्"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"ध्यान केन्द्रित गर्न आफ्नो डिभाइसमा प्राप्त हुने अवरोध पुर्‍याउने खालका नोटिफिकेसनहरू ब्लक गर्नुहोस्"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"शान्त वातावरणका लागि सबै अवरोधहरू हटाउनुहोस्"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"विभिन्न प्रयोगकर्ताहरूका लागि डिभाइसका सुविधा तथा सेटिङ पर्सनलाइज गर्नुहोस्"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"महत्त्वपूर्ण मान्छे तथा एपहरूलाई मात्र आफूलाई सम्पर्क गर्ने अनुमति दिएर अवरोधहरू कम गर्नुहोस्"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"नियमित रुटिन पालना गर्ने मोड सेट गर्नुहोस्"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"आफ्नो डिभाइसमा आफ्ना दिनभरिका गतिविधिहरू सिंक गरिराख्नुहोस्"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"पूर्ण जोसका साथ दिनको सुरुवात गर्नुहोस्"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"सडकमा सवारी साधन चलाइरहेका बेला सर्वप्रथम सुरक्षालाई प्राथमिकतामा राख्नुहोस्"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"आफ्नो काममा ध्यान केन्द्रित गर्नुहोस्"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"शिष्टाचार देखाउनु पर्ने क्षणहरूका लागि"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"तपाईंलाई सुरक्षित रहन मद्दत गर्ने निर्देशनहरूको पालना गर्नुहोस्"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"आफ्नो ध्यान नियन्त्रणमा राख्नुहोस्"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"चेतावनी"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"बन्द गर्नुहोस्"</string>
     <string name="device_feedback" msgid="5351614458411688608">"डिभाइसका बारेमा प्रतिक्रिया पठाउनुहोस्"</string>
@@ -4006,6 +4102,10 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"<xliff:g id="APP">%1$s</xliff:g> लाई मोडहरूको एक्सेस दिने हो?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"यो एपले Do Not Disturb अन वा अफ गर्न, मोडहरू व्यवस्थापन तथा एक्टिभेट गर्न र सम्बन्धित सेटिङ बदल्न सक्ने छ।"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"<xliff:g id="APP">%1$s</xliff:g> लाई दिइएको मोडहरूको एक्सेस रद्द गर्ने हो?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"यो एपले बनाएका सबै मोडहरू हटाइने छन्।"</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"आफू अनुकूल नगर्नुहोस्"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"अनुकुलन गर्नुहोस्"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"यसले तपाईंको ब्याट्रीको चार्ज चाँडै घटाउन सक्छ। एपलाई अब उप्रान्त ब्याकग्राउन्डमा ब्याट्री प्रयोग गर्न प्रतिबन्ध लगाइने छैन।"</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"खोल"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"ब्याट्री"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"सेटिङहरू नामक प्यानल"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"बलपूर्वक डेस्कटप मोड लागू गर्नुहोस्"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"सहायक डिस्प्लेमा प्रयोगात्मक डेस्कटप मोड बलपूर्वक लागू गर्नुहोस्"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"फ्रिफर्म विन्डोहरू अन गर्नुहोस्"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"दोस्रो डिस्प्लेमा फ्रिफर्म विन्डो अन गर्नुहोस्"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"एउटै विन्डोमा नअट्ने एपहरू एकभन्दा बढी विन्डोमा खोल्नुहोस्"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"एउटै विन्डोमा नअट्ने एपहरू एकभन्दा बढी विन्डोमा खोल्न दिनुहोस्"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"\'फोर्स डार्क\' ओभरराइड गर्नुहोस्"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"मोबाइल डेटा"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"डिभाइस प्रयोगको अनुभवमा सुधार गर्न, एप तथा सेवाहरूले अझै पनि जुनसुकै बेला (Wi‑Fi अफ भएका बेलामा पनि) Wi‑Fi नेटवर्क खोज्न सक्छन्। यसलाई लोकेसनमा आधारित सुविधा तथा सेवाहरूमा सुधार गर्ने जस्ता कार्यहरू गर्नका लागि प्रयोग गर्न सकिन्छ। तपाईं यसलाई Wi-Fi स्क्यानिङका सेटिङमा गई परिवर्तन गर्न सक्नुहुन्छ।"</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"बदल्नुहोस्"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"इन्टरनेटमा कनेक्ट गरिएको छ"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"यसमा केही समयका लागि कनेक्ट गरिएको हो"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"केही समयका लागि <xliff:g id="SUBNAME">%1$s</xliff:g> प्रयोग गरिँदै छ"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"\"एप पिनिङ\" प्रयोग गर्नुहोस्"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"\'विकासकर्ता विकल्पहरू\' प्रयोग गर्नुहोस्"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"प्रिन्ट सेवा चलाउनुहोस्"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"एकभन्दा बढी व्यक्तिलाई प्रयोग गर्न दिनुहोस्"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"प्रयोगकर्ता बदल्न दिनुहोस्"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"अनुमति दिनुहोस्, एकभन्दा बढी, प्रयोगकर्ता, अनुमति, धेरै"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"एकभन्दा बढी, प्रयोगकर्ता, प्रोफाइल, मान्छे, खाता, स्विच, धेरै"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"\'वायरलेस डिबगिङ\' सुविधा प्रयोग गर्नुहोस्"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> ले यो फोनसँग कनेक्ट गर्ने अनुमति माग्दै छ।\n\nतपाईंले यसअघि आफ्नो फोन <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> सँग कनेक्ट गर्नुभएको छैन।"</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"कनेक्ट नगर्नुहोस्"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"कनेक्ट गर्नुहोस्"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE सेटिङ"</string>
-    <string name="tare_on" msgid="2386073225978684535">"अन छ"</string>
-    <string name="tare_off" msgid="6305694402929756726">"अफ छ"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"फेरि डिफल्ट सेटिङ प्रयोग गर्न थाल्नुहोस्"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"फेरि डिफल्ट सेटिङ प्रयोग गर्न थालियो"</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"ब्याट्री पूरा चार्ज हुँदाखेरिको अधिकतम ब्यालेन्स"</string>
-    <string name="tare_balances" msgid="731881382594747961">"बैंक मौज्दात"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"उपभोगको सीमा"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"उपभोगको प्रारम्भिक सीमा"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"ऊर्जा खपतको न्यूनतम सीमा"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"ऊर्जा खपतको अधिकतम सीमा"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"परिमार्जकहरू"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"कारबाहीहरू (उत्पादन लागत)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"कारबाहीहरू (आधार मूल्य)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"प्रत्येक कार्यक्रमबाट पाइने रिवार्डहरू"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"कार्यक्रमको अवधिमा प्रति सेकेन्ड दिइने पुरस्कारहरू"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"प्रत्येक दिन पाइने अधिकतम रिवार्डहरू"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"एप इन्स्टल गर्नुहोस्"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"सबैभन्दा उच्च गतिविधि"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"सूचना हेरियो"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"१५ मिनेटभित्रै सूचना हेरियो"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"सूचनासँग अन्तर्क्रिया गरियो"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"विजेट प्रयोग गरियो"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"प्रयोगकर्ताले अन्य तरिकाले अन्तर्क्रिया गर्नुभयो"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"उच्चतम प्राथमिकता दिइएको कार्यको सुरुवात"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"उच्चतम प्राथमिकता दिइएको कार्य गरिँदै छ"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"उच्च प्राथमिकता दिइएको कार्यको सुरुवात"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"उच्च प्राथमिकता दिइएको कार्य गरिँदै छ"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"डिफल्ट प्राथमिकता दिइएको कार्यको सुरुवात"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"डिफल्ट प्राथमिकता दिइएको कार्य गरिँदै छ"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"न्यून प्राथमिकता दिइएको कार्यको सुरुवात"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"न्यून प्राथमिकता दिइएको कार्य गरिँदै छ"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"न्यूनतम प्राथमिकता दिइएको कार्यको सुरुवात"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"न्यूनतम प्राथमिकता दिइएको कार्य गरिँदै छ"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"कार्यका लागि तोकिएको समय समाप्त भएकाले लागेको पेनाल्टी"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"ब्याट्री पूरा चार्ज हुँदाखेरिको न्यूनतम ब्यालेन्स (छुट दिइएका एप)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"ब्याट्री पूरा चार्ज हुँदाखेरिको न्यूनतम ब्यालेन्स (हेडलेस सिस्टम एप)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"ब्याट्री पूरा चार्ज हुँदाखेरिको न्यूनतम ब्यालेन्स (बाँकी एपहरू)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"ब्याट्री पूरा चार्ज हुँदाखेरिको न्यूनतम ब्यालेन्स (एप अपडेटर)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"चार्ज गरिँदै छ"</item>
-    <item msgid="658627268149681677">"डोज"</item>
-    <item msgid="1599558140284643834">"ब्याट्री सेभर मोड"</item>
-    <item msgid="588427840913221601">"प्रोसेस स्थिति"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"पुष्टि गर्नुहोस्"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"प्रिभ्यू"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"स्क्रिन सेभर छनौट गर्नुहोस्"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"अतिरिक्त जानकारी देखाउनुहोस्"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"तपाईंको ट्याब्लेट डक गरिएका बेला तपाईंको डिभाइसमा देखाइनु पर्ने कुराहरू छान्नुहोस्। स्क्रिन सेभर प्रयोग गरिएका बेला तपाईंको डिभाइसले अरू बेलाको तुलनामा बढी ब्याट्री खपत गर्न सक्छ।"</string>
     <string name="customize_button_title" msgid="1110284655990203359">"कस्टमाइज गर्नुहोस्"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> कस्टमाइज गर्नुहोस्"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"फ्रिफर्म मोड अन गर्न रिबुट गर्नु पर्ने हुन्छ।"</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"सहायक डिस्प्लेहरूमा डेस्कटप मोड बलपूर्वक लागू गर्न रिबुट गर्नु पर्ने हुन्छ।"</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"फ्रिफर्म विन्डो प्रयोग गर्ने सुविधा अन गर्न रिबुट गर्नु पर्ने हुन्छ।"</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"फ्रिफर्म विन्डोको उपलब्धता अपडेट गर्न रिबुट गर्नु पर्ने हुन्छ।"</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"सहायक डिस्प्लेहरूमा फ्रिफर्म विन्डो अन गर्न रिबुट गर्नु पर्ने हुन्छ।"</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"अहिले नै रिबुट गर्नुहोस्"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"पछि रिबुट गर्नुहोस्"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"स्पेशियल अडियो"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"गुलाबी रङ"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"मजेन्टा"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"बैजनी रङ"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"सम्पन्न भयो"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"सेभ गर्नुहोस्"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"रद्द गर्नुहोस्"</string>
     <string name="contrast_default" msgid="8918545965525226966">"डिफल्ट"</string>
     <string name="contrast_medium" msgid="384414510709285811">"मध्यम"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"अन छ"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"अफ छ"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"अन छ"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"अडियो %1$d%% बायाँ, %2$d%% दायाँ"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"अडियो %1$d%% दायाँ, %2$d%% बायाँ"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"तपाईंका डिभाइसमा इन्स्टल गरिएका एपहरूले तपाईंको डिभाइसको नाम हेर्न सक्छन्। तपाईंले ब्लुटुथ चल्ने डिभाइसमा कनेक्ट गर्दा, कुनै Wi-Fi नेटवर्कमा कनेक्ट गर्दा वा कुनै Wi-Fi हटस्पट सेटअप गर्दा अरू मान्छेहरूले पनि डिभाइसको नाम देख्न सक्छन्।"</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"ग्रामाटिकल जेन्डर"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ग्रामाटिकल जेन्डर चयन गर्नुहोस्"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"अडियो सेयर गर्न छाडिएको छ"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"कुनै कम्प्याटिबल डिभाइस कनेक्ट गर्नुहोस्"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"अडियो सेयर गर्न थाल्न सर्वप्रथम आफ्नो फोनमा LE अडियो हेडफोन कनेक्ट गर्नुहोस्"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> चलाउनुहोस्"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"LE अडियो स्ट्रिममा कनेक्ट गर्नुहोस्"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"नजिकैका अडियो स्ट्रिमहरू"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"अडियो स्ट्रिमहरू"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"स्ट्रिम सुन्नुहोस्"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> सँग अडियो स्ट्रिम सुन्न उक्त स्ट्रिमको QR कोड स्क्यान गर्नुहोस्"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"अडियो सेयर गरिरहेका बेला पासवर्ड बदल्न मिल्दैन। पासवर्ड बदल्न सर्वप्रथम अडियो सेयरिङ अफ गर्नुहोस्।"</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR कोड स्क्यानर"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"मद्दत चाहिन्छ?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"सेटिङ खोज्नुहोस्"</string>
 </resources>
diff --git a/res/values-nl/arrays.xml b/res/values-nl/arrays.xml
index ef31960..b8e9c78 100644
--- a/res/values-nl/arrays.xml
+++ b/res/values-nl/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Bedtijd"</item>
-    <item msgid="4152450357280759894">"Autorijden"</item>
-    <item msgid="7096549258219399423">"Immersief"</item>
-    <item msgid="2760716776980432977">"Beheerd"</item>
-    <item msgid="601734478369121764">"Ster"</item>
-    <item msgid="6243809315432780521">"Agenda"</item>
-    <item msgid="4913577903148415331">"Tijd"</item>
-    <item msgid="3653377604690057780">"Theater"</item>
-    <item msgid="3843711267408385410">"Bloem"</item>
+    <item msgid="1216815120972438676">"Koffertje"</item>
+    <item msgid="184985872234062767">"Klassiek gebouw"</item>
+    <item msgid="9189550412466785530">"Flat"</item>
+    <item msgid="2142527562511049422">"Tekstballon"</item>
+    <item msgid="2548100558260478605">"Groep mensen"</item>
+    <item msgid="2270003903304578284">"Gloeilamp"</item>
+    <item msgid="4793496619091161864">"Agenda"</item>
+    <item msgid="5673625795644364100">"Niet storen"</item>
+    <item msgid="1423820834865831361">"Persoon die rent"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Dumbbell"</item>
+    <item msgid="2730180105015616518">"Zwemmen"</item>
+    <item msgid="2666922823253345958">"Persoon die wandelt"</item>
+    <item msgid="8234880356472211396">"Persoon die een bal gooit"</item>
+    <item msgid="4642980625253001443">"Persoon die schopt"</item>
+    <item msgid="4324795269518833500">"Gamecontroller"</item>
+    <item msgid="7789966425125441125">"Kleurenpalet van kunstenaar"</item>
+    <item msgid="663512680597461570">"Sneeuwvlok"</item>
+    <item msgid="7952183800501346803">"Parasol"</item>
+    <item msgid="799139025758265891">"Werkplaatsgereedschap"</item>
+    <item msgid="1330084588359129896">"Tent"</item>
+    <item msgid="3861584909935022342">"Filmrol"</item>
+    <item msgid="5827426100157335512">"Boek"</item>
+    <item msgid="8585828346253128384">"Lotusbloem"</item>
+    <item msgid="8788370542815300188">"Iemands gedachten"</item>
+    <item msgid="7287354964767553293">"Koptelefoon"</item>
+    <item msgid="2530059623783800987">"Tv"</item>
+    <item msgid="5307182323469376758">"Trein"</item>
+    <item msgid="4903790544026923026">"Auto"</item>
+    <item msgid="5010405583912314582">"Vork en mes"</item>
+    <item msgid="8939998598599064900">"Winkelwagentje"</item>
+    <item msgid="3379605903308731893">"Kind"</item>
+    <item msgid="7808668968550293112">"Dierenpoot"</item>
+    <item msgid="1000692647524056504">"Sterbadge"</item>
+    <item msgid="8270261073421676502">"2 mensen"</item>
+    <item msgid="5767782819651505460">"Ster"</item>
+    <item msgid="4368451291862729334">"Hartje"</item>
+    <item msgid="2613199102208419986">"Huis"</item>
+    <item msgid="3022279986430275040">"Halvemaan"</item>
+    <item msgid="5421089790869483206">"Klok"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 34f61e3..ae30805 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Opgeschort"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Onbekend"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Voorbeeld"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR-code"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Altijd"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Instellingen voor hoortoestel"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Sneltoets, geschiktheid voor hoortoestellen"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Voorinstelling"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Geen voorinstellingen geprogrammeerd door je audioloog"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Kan voorinstelling niet updaten"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audio-uitvoer"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Over audio-uitvoer"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Taalselectie voor deze app is niet beschikbaar via Instellingen."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"De taal kan verschillen van de beschikbare talen in de app. Sommige apps ondersteunen deze instelling mogelijk niet."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Stel de taal in voor elke app."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Je systeem, apps en websites gebruiken de eerste ondersteunde taal uit je voorkeurstalen."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Je apparaat, apps en websites gebruiken de eerste ondersteunde taal uit je lijst met voorkeurstalen.\n\nVeel apps gebruiken ook de regio van je voorkeurstaal voor de notatie van datums, cijfers en eenheden. Als je de regio wilt wijzigen, voeg je een taal toe en kies je daarna je voorkeursregio."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Als je een taal voor een specifieke app wilt selecteren, ga je naar de taalinstellingen van die app."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Meer informatie over app-talen"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Systeemtaal wijzigen in %s?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Uit"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Aan: # app heeft toegang tot de locatie}other{Aan: # apps hebben toegang tot de locatie}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Laden…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Apps met rechten voor apparaten in de buurt kunnen ongeveer inschatten waar verbonden apparaten zijn."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Apps met rechten voor apparaten in de buurt kunnen de relatieve positie van verbonden apparaten bepalen."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Toegang tot de locatie staat uit voor apps en services. De locatie van je apparaat kan nog steeds worden gestuurd naar nooddiensten als je een alarmnummer belt of sms\'t."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Meer informatie over locatie-instellingen"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Wijzig dit via ChromeOS-instellingen &gt; Privacy en beveiliging &gt; Privacyopties &gt; Locatietoegang"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Gezicht en <xliff:g id="WATCH">%s</xliff:g> toegevoegd"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Gezicht, vingerafdruk en <xliff:g id="WATCH">%s</xliff:g> toegevoegd"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Gezicht, vingerafdrukken en <xliff:g id="WATCH">%s</xliff:g> toegevoegd"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Identiteitscontrole staat aan en vereist biometrische gegevens"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Ontgrendelen via Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Smartwatch toegevoegd"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Je smartwatch instellen"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Meer informatie over Ontgrendelen via smartwatch"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Smartwatch toevoegen"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Smartwatch verwijderen"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Ontgrendelen via vingerafdruk en gezicht"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Ontgrendelen via gezichtsherkenning en met vingerafdruk"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Ontgrendelen via gezichtsherkenning en vingerafdruk voor werk"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Instellen nodig"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Gezicht en vingerafdrukken toegevoegd"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Privégedeelte instellen…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Kan privégedeelte niet instellen"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Opnieuw proberen"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Sluiten"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Privégedeelte is niet beschikbaar.\nBekijk mogelijke oorzaken"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Bekijk mogelijke oorzaken"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Nieuwe vergrendeling voor privégedeelte kiezen?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Je kunt een nieuwe vergrendeling alleen voor het privégedeelte instellen, of dezelfde vergrendeling gebruiken die je gebruikt om je apparaat te ontgrendelen"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Schermvergrendeling gebruiken"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Als bluetooth aanstaat, kan je apparaat communiceren met andere bluetooth-apparaten in de buurt.\n\nVoor een betere apparaatfunctionaliteit kunnen apps en services nog steeds op elk moment zoeken naar apparaten in de buurt, zelfs als bluetooth uitstaat. Dit kan worden gebruikt om bijvoorbeeld locatiegebaseerde functies en services te verbeteren. Je kunt dit wijzigen in de instellingen voor bluetooth-scannen."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Als bluetooth aanstaat, kan je apparaat communiceren met andere bluetooth-apparaten in de buurt. Functies zoals Quick Share en Vind mijn apparaat gebruiken bluetooth.\n\nApps en services kunnen nog steeds op elk moment apparaten in de buurt zoeken, zelfs als bluetooth uitstaat. Dit kan bijvoorbeeld worden gebruikt om functies en services op basis van locatie te verbeteren. Je kunt dit wijzigen in de instellingen voor Bluetooth-scannen."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Wijzigen"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> is niet verbonden"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"Vergeet dit apparaat om veiligheidsredenen en koppel het opnieuw"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"Apparaat vergeten"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"Annuleren"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Apparaatgegevens"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Toetsenbordinstellingen"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Meer instellingen"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Firmware-updates, over en meer"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Tips en support"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Bluetooth-adres van je apparaat: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Bluetooth-adres van apparaat:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Apparaat vergeten?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Experimenteel. Verbetert audiokwaliteit."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Apparaat vergeten"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"App ontkoppelen"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Meer instellingen"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Maximum aantal verbonden bluetooth-audioapparaten"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Selecteer het maximum aantal verbonden Bluetooth-audioapparaten"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Uitgebreid NFC-leverancierslogboek voor foutopsporing"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Apparaat opnieuw opstarten?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Gedetailleerde NFC-logboekregistratie is alleen bedoeld voor ontwikkelings­doeleinden. Aanvullende NFC-gegevens worden opgenomen in bugrapporten. Deze kunnen privé-informatie bevatten. Start je apparaat opnieuw op om deze instelling te wijzigen."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Opnieuw opstarten"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Aan"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Uit"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Extern scherm"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Extern scherm gebruiken"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Schermresolutie"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Extern scherm is losgekoppeld"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Rotatie"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standaard"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Als je de rotatie of resolutie wijzigt, kunnen actieve apps worden gestopt"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Je apparaat moet verbonden zijn met een extern scherm om je scherm te mirroren"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Meer opties"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Casten"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"mirroren"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Draadloze weergave aanzetten"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Aanpasbaar"</string>
     <string name="brightness" msgid="6216871641021779698">"Helderheidsniveau"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Aanpasbare helderheid"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Over aanpasbare helderheid"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Je schermhelderheid wordt automatisch aangepast aan je omgeving en je activiteiten. Je kunt de schuifregelaar handmatig verplaatsen zodat Aanpasbare helderheid je voorkeuren leert kennen."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Aan"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Uit"</string>
@@ -1311,8 +1340,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"<xliff:g id="CARRIER">%1$s</xliff:g> gebruiken voor mobiele data?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Je gebruikt <xliff:g id="CARRIER2_0">%2$s</xliff:g> voor mobiele data. Als je overschakelt naar <xliff:g id="CARRIER1">%1$s</xliff:g>, wordt <xliff:g id="CARRIER2_1">%2$s</xliff:g> niet meer gebruikt voor mobiele data."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"<xliff:g id="CARRIER">%1$s</xliff:g> gebruiken"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Voorkeurssimkaart updaten?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> is de enige simkaart in je apparaat. Wil je deze simkaart gebruiken voor mobiele data, gesprekken en sms-berichten?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> is nu je primaire sim"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Dekking mobiele data verbeteren?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Toestaan dat je apparaat voor mobiele data automatisch overschakelt naar <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> als de beschikbaarheid beter is."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Gesprekken, berichten en netwerkverkeer kunnen zichtbaar zijn voor je organisatie."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Opties"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Toegankelijkheid"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fysiek toetsenbord"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Schermtoetsenbord gebruiken"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Toon op het scherm terwijl het fysieke toetsenbord actief is"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Bouncetoetsen"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Het toetsenbord negeert het binnen <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms snel herhaald indrukken van dezelfde toets"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Langzame toetsen"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Past de tijd voordat een toetsaanslag wordt geactiveerd aan naar <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Plaktoetsen"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Druk toetsen één voor één in voor snelkoppelingen in plaats van meerdere toetsen tegelijkertijd"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Muisknoppen"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Gebruik het fysieke toetsenbord om de muis te bedienen."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Sneltoetsen"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Toon lijst met sneltoetsen"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Toetsenborden en tools van werkprofiel"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Pas afzonderlijke navigatiegebaren voor de touchpad aan"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Omgekeerd scrollen"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Content beweegt omhoog als je omlaag scrollt"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Rechtsonder tikken"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Tik rechtsonder op de touchpad voor meer opties"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Rechtsonder klikken"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Klik rechtsonder op de touchpad voor meer opties"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Snelheid van aanwijzer"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Vulstijl voor aanwijzer"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Vulstijl voor aanwijzer wijzigen in zwart"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Vulstijl voor aanwijzer wijzigen in geel"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Vulstijl voor aanwijzer wijzigen in roze"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Vulstijl voor aanwijzer wijzigen in blauw"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Streekstijl van aanwijzer"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Wit"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Zwart"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Geen"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Touchpadgebaren leren"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"trackpad, track pad, muis, cursor, aanwijzer, scrollen, swipen, vegen, klikken met de rechtermuisknop, rechtsklikken, klikken, klik"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"klikken met de rechtermuisknop, rechtsklikken, tikken"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Resetten"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Functietoets kiezen"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Kies een nieuwe toets voor <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Toegankelijkheid met fysiek toetsenbord"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Plaktoetsen, bouncetoetsen, muisknoppen"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Indeling: <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Standaard"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatisch: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Door de gebruiker geselecteerd: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Spraak"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Snelheid van aanwijzer"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Aanwijzerschaal"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Aanwijzerschaal verkleinen"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Aanwijzerschaal vergroten"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Gamecontroller"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Trilling omleiden"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Trilling verzenden naar gamecontroller wanneer deze is aangesloten"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Toch doorgaan"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Annuleren"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Instellingen voor vergroting"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Pannen met 1 vinger"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Verplaats het vergrootglas met 1 vinger"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Sleep met 1 vinger om te navigeren op het scherm."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Verplaats je vergrotingsgebied door met 1 vinger te slepen."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Verplaats je vergrotingsgebied door met 2 vingers te slepen."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Niet beschikbaar als alleen een deel van het scherm wordt vergroot"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Zoomen door te tikken op een knop"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Zoom snel in op het scherm om content groter te maken"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Zo zoom je in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Gebruik de snelkoppeling om de vergroting te starten.&lt;br/&gt; {1,number,integer}. Tik op het scherm.&lt;br/&gt; {2,number,integer}. Sleep met 2 vingers om te navigeren op het scherm.&lt;br/&gt; {3,number,integer}. Knijp met 2 vingers om het zoomniveau aan te passen.&lt;br/&gt; {4,number,integer}. Gebruik de snelkoppeling om de vergroting te stoppen.&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Zo zoom je tijdelijk in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Zorg dat je vergrotingstype is ingesteld op volledig scherm.&lt;br/&gt; {1,number,integer}. Gebruik de snelkoppeling om de vergroting te starten.&lt;br/&gt; {2,number,integer}. Houd je vinger op het scherm.&lt;br/&gt; {3,number,integer}. Sleep met een vinger om te navigeren op het scherm.&lt;br/&gt; {4,number,integer}. Haal je vinger van het scherm om de vergroting te stoppen."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Zo zoom je in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Gebruik de snelkoppeling om de vergroting te starten.&lt;br/&gt; {1,number,integer}. Tik op het scherm.&lt;br/&gt; {2,number,integer}. Sleep met 2 vingers om te navigeren op het scherm.&lt;br/&gt; {3,number,integer}. Knijp met 2 vingers om het zoomniveau aan te passen.&lt;br/&gt; {4,number,integer}. Gebruik de snelkoppeling om de vergroting te stoppen.&lt;br/&gt;&lt;br/&gt; Je kunt ook tijdelijk inzoomen en meer."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Zo zoom je in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Gebruik de snelkoppeling om de vergroting te starten.&lt;br/&gt; {1,number,integer}. Tik op het scherm.&lt;br/&gt; {2,number,integer}. Sleep 1 of 2 vingers om over het scherm te bewegen.&lt;br/&gt; {3,number,integer}. Knijp met 2 vingers om het zoomniveau aan te passen.&lt;br/&gt; {4,number,integer}. Gebruik de snelkoppeling om de vergroting te stoppen.&lt;br/&gt;&lt;br/&gt; Je kunt ook tijdelijk inzoomen en meer."</string>
     <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Als vergroting aanstaat, 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 2 of meer vingers om te scrollen."</li>\n<li>"Knijp 2 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_pager" msgid="8461939455728454061">"Pagina <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> van <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Snelkoppeling met knop Toegankelijkheid"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Tik op de zwevende knop"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Toegankelijkheidsgebaar"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Tik onderaan het scherm op de knop Toegankelijkheid <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>. Houd je vinger op de knop om tussen functies te wisselen."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Swipe met twee vingers omhoog vanaf de onderkant van het scherm.\n\nSwipe met twee vingers omhoog en houd vast om tussen functies te schakelen."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Swipe met 3 vingers omhoog vanaf de onderkant van het scherm.\n\nSwipe met 3 vingers omhoog en houd vast om tussen functies te schakelen."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Swipe omhoog vanaf de onderkant van het scherm. Swipe omhoog en houd vast om tussen functies te wisselen.}other{Swipe met # vingers omhoog vanaf de onderkant van het scherm. Swipe met # vingers omhoog en houd vast om tussen functies te wisselen.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Meer opties"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Meer informatie over <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Volumeknoppen"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"volumeknoppen"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Houd beide volumeknoppen ingedrukt"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Dubbeltik met 2 vingers op het scherm"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Dubbeltikken met %1$d vingers"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Tik snel 2 keer op het scherm met %1$d vingers"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"3 keer tikken"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Tik snel %1$d keer op het scherm. Hierdoor kan je apparaat vertragen."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Dubbeltikken met %1$d vingers"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Tik snel {0,number,integer} keer op het scherm met 2 vingers"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"3 keer op het scherm tikken"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"3 keer tikken"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Tik snel {0,number,integer} 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, swipe 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_global_gesture_preference_title" msgid="8866765674372344850">"Snelkoppeling met volumeknoppen"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Instellingen voor snelkoppelingen"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Snelkoppeling vanaf vergrendelscherm"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"Snelkoppeling met volumetoetsen vanaf vergrendelscherm"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Sta toe dat de functiesnelkoppeling wordt aangezet vanaf het vergrendelscherm. Houd beide volumeknoppen een paar seconden ingedrukt."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Knop Toegankelijkheid"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Knop en gebaar voor toegankelijkheid"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Deze service werkt niet goed."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Snelkoppelingen voor toegankelijkheid"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Tonen in Snelle instellingen"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rood-groen"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Rood-groen"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Rood-groen, groen zwak"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Rood-groen, rood zwak"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blauw-geel"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Grijstinten"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensiteit"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Groen zwak, deuteranomalie"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Rood zwak, protanomalie"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Niet beschikbaar voor de modus Grijstinten of als kleurcorrectie uitstaat"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Extra dimmen"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Scherm extra dimmen"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Cyaan"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Geel"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Toestaan dat <xliff:g id="SERVICE">%1$s</xliff:g> volledige controle over je apparaat heeft?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"\'<xliff:g id="SERVICE">%1$s</xliff:g>\' moet het volgende kunnen:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Aangezien een app een rechtenverzoek afdekt, kan Instellingen je reactie niet verifiëren."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> vraagt om volledig beheer voor dit apparaat. De service kan het scherm lezen en handelen namens gebruikers met toegankelijkheidsbehoeften. Dit beheerniveau is voor de meeste apps niet gepast."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Volledige controle is gepast voor apps die je helpen met toegankelijkheid, maar niet voor de meeste andere apps."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Scherm bekijken en bedienen"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"De functie kan alle content op het scherm lezen en content bovenop andere apps weergeven."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Acties bekijken en uitvoeren"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"De functie kan je interacties met een app of een hardwaresensor bijhouden en namens jou met apps communiceren."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Toestaan"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Weigeren"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Uitzetten"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Aan: <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> en <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Je kunt ook ruimtelijke audio voor bluetooth-apparaten aanzetten."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Instellingen voor verbonden apparaten"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Ruimtelijke audio"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Uit"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Uit"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Uit"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Geen}=1{1 planning ingesteld}other{# planningen ingesteld}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Niet storen"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Prioriteitsmodi"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Modus toevoegen"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Modi"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Minimaliseer afleidingen en houd de controle over je aandacht met modi voor slapen, werken, autorijden en alles daartussenin."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Je eigen modus maken"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Krijg alleen meldingen van belangrijke mensen en apps"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Schema instellen"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Schema gebaseerd op"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Dag en tijd"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\'9:00 - 17:00 uur werkdagen\'"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Agenda-afspraken"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} is actief}=2{{mode_1} en {mode_2} zijn actief}=3{{mode_1}, {mode_2} en {mode_3} zijn actief}other{{mode_1}, {mode_2} en nog # zijn actief}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 modus kan automatisch worden aangezet}other{# modi kunnen automatisch worden aangezet}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"AAN"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Niet ingesteld"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Uitgezet"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Een modus maken"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Aangepast"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Nu aanzetten"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Uitzetten"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Modus niet gevonden"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Onderbrekingen beperken"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Onderbrekingen en afleidingen blokkeren"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g> instellen"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Zet Niet storen aan."</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Wekkers en mediageluiden mogen onderbreken"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Schema\'s"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Schema\'s verwijderen"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Verwijderen"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Naam wijzigen"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Verwijderen"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Modus <xliff:g id="MODE">%1$s</xliff:g> verwijderen?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Bewerken"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Schema\'s"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Schema"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Automatisch aanzetten"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Agenda toevoegen"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Je agenda gebruiken"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Schema"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Schema instellen"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Wanneer automatisch aanzetten"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Afspraakplanning"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Aanzetten bij afspraken voor"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Als het uitnodigingsantwoord is"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Tijdschema"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Schema"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> u <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Schema"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Onderbrekingen toestaan die een geluid laten horen"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Meldingen die je mogen storen"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Aanvullende acties"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Meldingsfilters"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Meer instellingen"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Uit}=1{Uit / 1 modus kan automatisch aangaan}other{Uit / # modi kunnen automatisch aangaan}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Weergave-instellingen"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Weergaveopties"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Grijstinten"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"donker thema aanzetten"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"OS en apps wijzigen zodat de voorkeur wordt gegeven aan lichte tekst op een donkere achtergrond, wat prettiger voor de ogen kan zijn en op sommige apparaten een aanzienlijke batterijbesparing oplevert"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Geen weergavewijzigingen}=1{{effect_1}}=2{{effect_1} en {effect_2}}=3{{effect_1}, {effect_2} en {effect_3}}other{{effect_1}, {effect_2} en nog #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Alle meldingen toestaan"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Mensen, apps en geluiden mogen je storen"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Weergaveopties voor gefilterde meldingen"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Als Niet storen aanstaat"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Geen geluid van meldingen"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"melding openen"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Snoozen van meldingen toestaan"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Meldingsstipje op app-icoon"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Meldingsbundels"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bubbels"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubbels"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Dit gesprek als bubbel tonen"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"De app kan berichten beantwoorden en acties uitvoeren voor knoppen in meldingen, waaronder meldingen snoozen of sluiten en gesprekken beantwoorden."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Instellingen wijzigen"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"De app kan Niet storen aan- of uitzetten en gerelateerde instellingen wijzigen"</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"De app kan modi beheren en activeren, en gerelateerde instellingen wijzigen."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Als je <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> geen toegang tot meldingen geeft, krijgt Niet storen mogelijk ook geen toegang."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Als je toegang tot meldingen intrekt voor <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, wordt toegang tot modi misschien ook ingetrokken."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Uitzetten"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Annuleren"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Realtime"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Deze app ondersteunt geen uitgebreide instellingen"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Meer instellingen"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Er zijn meer instellingen beschikbaar in deze app"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Aanpasbare meldingen"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Aanpasbare meldingen gebruiken"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Als je in korte tijd veel meldingen krijgt, wordt het volume op je telefoon lager gezet en worden pop-ups op het scherm geminimaliseerd gedurende maximaal 2 minuten. Gesprekken, wekkers en prioriteitsgesprekken trillen nog wel, laten een geluid horen of worden op het scherm getoond. Alle meldingen zijn makkelijk te vinden als je omlaag swipet vanaf de bovenkant van het scherm."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Afkoelperiode voor meldingen"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Afkoelperiode van meldingen gebruiken"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Als je in korte tijd veel meldingen krijgt, wordt het volume op je apparaat lager gezet en worden meldingen geminimaliseerd gedurende maximaal 2 minuten. Dit is niet van invloed op gesprekken, wekkers en prioriteitsgesprekken. \n\nJe kunt meldingen die je tijdens de afkoelperiode krijgt, vinden door omlaag te swipen vanaf de bovenkant van het scherm."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Toepassen op werkprofielen"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Toepassen op apps in werkprofiel"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR-helperservices"</string>
@@ -3650,6 +3709,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Toegang tot Niet storen"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Niet storen toestaan"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Er zijn geen geïnstalleerde apps die toegang tot \'Niet storen\' hebben aangevraagd"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Toegang tot modi"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Toegang tot modi toestaan"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Er zijn geen geïnstalleerde apps die toegang tot modi hebben aangevraagd"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Je hebt meldingen van deze app niet toegestaan"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Op jouw verzoek toont Android geen meldingen van deze categorie op dit apparaat"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Op jouw verzoek toont Android deze groep meldingen niet op dit apparaat"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Categorieën"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Anders"</string>
     <string name="no_channels" msgid="4716199078612071915">"Deze app heeft geen meldingen geplaatst"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Niet-gebruikte categorieën tonen"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Extra instellingen in de app"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Niet-gebruikte categorieën tonen"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Niet-gebruikte categorieën beperken"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Gesprekken"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Alle gesprekken"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"alle gesprekken"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Prioriteitsgesprekken"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"prioriteitsgesprekken"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Geen"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Apps die je mogen storen"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Geselecteerde apps"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Geen"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Alles"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Apps mogen je niet storen}=1{{app_1} mag je storen}=2{{app_1} en {app_2} mogen je storen}=3{{app_1}, {app_2} en {app_3} mogen je storen}other{{app_1}, {app_2} en nog # mogen je storen}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (werk)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Berekenen…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Apps toestaan dit te negeren"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps die je mogen storen"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Meer apps selecteren"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Niets mag onderbreken"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Niemand mag onderbreken"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Bepaalde mensen mogen je storen"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Terugkerende bellers mogen je storen"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Alle mensen mogen onderbreken"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Terugkerende bellers"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Terugkerende bellers toestaan"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Wijzigen in alleen alarmen gedurende 1 uur tot {time}}other{Wijzigen in alleen alarmen gedurende # uur tot {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Wijzigen in \'Alleen wekkers\' tot <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Wijzigen in \'Altijd onderbreken\'"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Naam wijzigen"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Icoon wijzigen"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Icoon wijzigen"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Bewerkingsmodus"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Modus maken"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Aangepaste modus"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Naam van modus"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Agenda-afspraken"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Bedtijdroutine"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Tijdens het autorijden"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"App-instellingen"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Informatie en instellingen in <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Beheerd door <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g> uitzetten?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"De modus wordt nooit aangezet als deze uitstaat"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Uitzetten"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g> aanzetten?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Deze modus kan automatisch worden aangezet op basis van de bijbehorende instellingen"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Aanzetten"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Stel een modus in die een vast schema volgt"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Stel een modus in voor synchronisatie met agenda-afspraken en reacties op uitnodigingen"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Ontwerp een rustgevende slaaproutine. Zet wekkers, dim het scherm en blokkeer meldingen."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Geef prioriteit aan veiligheid op de weg voor een gefocuste rit zonder afleidingen"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Blokkeer afleidingen of onderbrekingen van je apparaat zodat je je beter kunt focussen"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Elimineer afleidingen voor een rustige omgeving"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Personaliseer apparaatfuncties en -instellingen voor verschillende gebruikers"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Minimaliseer onderbrekingen door alleen toe te staan dat belangrijke mensen en apps je mogen storen"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Stel een modus in die een vast schema volgt"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Houd je apparaat gesynchroniseerd met je dagelijkse afspraken"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Wakker worden met het gevoel dat je 100% bent"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Zet veiligheid voorop terwijl je onderweg bent"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Focus je om in de flow te komen"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Voor momenten waarop beleefdheid telt"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Begeleid gebruik om te zorgen dat je in goede handen te blijft"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Houd je aandacht onder controle"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Waarschuwing"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Sluiten"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Feedback sturen over dit apparaat"</string>
@@ -4006,6 +4102,10 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Moet aan blijven omdat toegang tot meldingen is gegeven"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Toegang tot \'Niet storen\' intrekken voor <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Alle \'Niet storen\'-regels die door deze app zijn gemaakt, worden verwijderd."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Toegang tot modi geven voor <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"De app kan de functie Niet storen aan-/uitzetten, modi beheren en activeren, en wijzigingen aanbrengen in gerelateerde instellingen."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"Toegang tot modi intrekken voor <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Alle modi die door deze app zijn gemaakt, worden verwijderd."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Niet optimaliseren"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimaliseren"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Hierdoor kan de batterij sneller leegraken. Batterijverbruik op de achtergrond door de app wordt niet meer beperkt."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Case"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Batterij"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Instellingenvenster"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"Desktopmodus afdwingen"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Dwing experimentele desktopmodus af op secundaire schermen"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"Vensters met vrije vorm aanzetten"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Vensters met vrije vorm aanzetten op secundair scherm"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Apps met niet-aanpasbaar formaat aanzetten in meerdere vensters"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Dit staat apps met een niet-aanpasbaar formaat toe in meerdere vensters"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Gedwongen donker maken negeren"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobiele data"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Voor een betere apparaatfunctionaliteit kunnen apps en services nog steeds op elk moment zoeken naar wifi-netwerken, zelfs als wifi uitstaat. Dit kan worden gebruikt om bijvoorbeeld locatiegebaseerde functies en services te verbeteren. Je kunt dit wijzigen in de instellingen voor wifi-scannen."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Wijzigen"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>: <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Verbonden"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Tijdelijk verbonden"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"<xliff:g id="SUBNAME">%1$s</xliff:g> wordt tijdelijk gebruikt"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"App vastzetten gebruiken"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Ontwikkelaarsopties gebruiken"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Afdrukservice gebruiken"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Meerdere gebruikers toestaan"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Van gebruiker wisselen toestaan"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"toestaan, meerdere, gebruiker, toestemming, veel"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"meerdere, gebruikers, profielen, personen, accounts, wisselen, veel"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Draadloze foutopsporing gebruiken"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> wil verbinding maken met deze telefoon.\n\nJe hebt nog niet eerder verbinding gemaakt met <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Geen verbinding maken"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Verbinding maken"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE-instellingen"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Aan"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Uit"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Standaardinstellingen herstellen"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Standaardinstellingen hersteld."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Maximale balans als volledig opgeladen"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Saldo\'s"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Verbruikslimieten"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Initiële verbruikslimiet"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Minimale verbruikslimiet"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Maximale verbruikslimiet"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modifiers"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Acties (productiekosten)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Acties (basisprijs)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Beloningen per afzonderlijk evenement"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Beloningen per seconde van gebeurtenisduur"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Maximumaantal beloningen per dag"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"App-installatie"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Topactiviteit"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Melding gezien"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Melding gezien binnen 15 minuten"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Meldingsinteractie"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Widgetinteractie"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Andere gebruikersinteractie"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Starten: taak (maximale prioriteit)"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Actief: taak (maximale prioriteit)"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Starten: taak (hoge prioriteit)"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Actief: taak (hoge prioriteit)"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Starten: taak (standaardprioriteit)"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Actief: taak (standaardprioriteit)"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Starten: taak (lage prioriteit)"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Actief: taak (lage prioriteit)"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Starten: taak (minimale prioriteit)"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Actief: taak (minimale prioriteit)"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Time-outpenalty voor taak"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Minimaal verzadigd saldo (vrijgesteld)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Minimaal verzadigd saldo (systeem-app zonder interface)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Minimaal verzadigd saldo (resterende apps)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Aanvulling voor minimaal verzadigd saldo (app-updaters)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Opladen"</item>
-    <item msgid="658627268149681677">"Sluimeren"</item>
-    <item msgid="1599558140284643834">"Energiebesparingsmodus"</item>
-    <item msgid="588427840913221601">"Processtatus"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Bevestigen"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Voorbeeld"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Kies een screensaver"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Extra informatie tonen"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Kies wat je op het scherm wilt zien wanneer de tablet is gedockt. Het apparaat gebruikt misschien meer energie als je een screensaver instelt."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Aanpassen"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> aanpassen"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Je moet opnieuw opstarten om ondersteuning voor vrije vorm aan te zetten."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Je moet opnieuw opstarten om de desktopmodus af te dwingen op secundaire schermen."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Je moet opnieuw opstarten om ondersteuning voor vensters met vrije vorm aan te zetten."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Je moet opnieuw opstarten om de beschikbaarheid van vensters met vrije vorm te updaten."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Je moet opnieuw opstarten om vensters met vrije vorm aan te zetten op secundaire schermen."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Nu opnieuw opstarten"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Later opnieuw opstarten"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Ruimtelijke audio"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Roze"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Violet"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Klaar"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Opslaan"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Annuleren"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Standaard"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Gemiddeld"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Aan"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Uit"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Aan"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Audio %1$d%% links, %2$d%% rechts"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Audio %1$d%% rechts, %2$d%% links"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"De naam van je apparaat is zichtbaar voor de apps die je hebt geïnstalleerd. Ook kunnen anderen die zien als je verbinding maakt met bluetooth-apparaten of een wifi-netwerk, of als je een wifi-hotspot instelt."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Grammaticaal geslacht"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Grammaticaal geslacht selecteren"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Audio delen gestopt"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Een compatibel apparaat verbinden"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Als je audio wilt delen, verbind je eerst een LE Audio-koptelefoon met je telefoon"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Overschakelen naar <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Verbinden met een LE-audiostream"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Audiostreams in de buurt"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Audiostreams"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Luisteren naar stream"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Scan de QR-code van een audiostream om mee te luisteren met <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Kan wachtwoord niet bewerken tijdens het delen. Als je het wachtwoord wilt wijzigen, zet je audio delen eerst uit."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR-codescanner"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Hulp nodig?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Zoeken in Instellingen"</string>
 </resources>
diff --git a/res/values-or/arrays.xml b/res/values-or/arrays.xml
index 9b9955d..133c6cf 100644
--- a/res/values-or/arrays.xml
+++ b/res/values-or/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"ଶୋଇବା ସମୟ"</item>
-    <item msgid="4152450357280759894">"ଡ୍ରାଇଭିଂ"</item>
-    <item msgid="7096549258219399423">"ଇମର୍ସିଭ"</item>
-    <item msgid="2760716776980432977">"ପରିଚାଳିତ ହୋ‍ଇଛି"</item>
-    <item msgid="601734478369121764">"ଷ୍ଟାର"</item>
-    <item msgid="6243809315432780521">"କେଲେଣ୍ଡର"</item>
-    <item msgid="4913577903148415331">"ସମୟ"</item>
-    <item msgid="3653377604690057780">"ଥିଏଟର"</item>
-    <item msgid="3843711267408385410">"ଫୁଲ"</item>
+    <item msgid="1216815120972438676">"ବ୍ରିଫକେସ"</item>
+    <item msgid="184985872234062767">"କ୍ଲାସିକାଲ ବିଲ୍ଡିଂ"</item>
+    <item msgid="9189550412466785530">"ଆପାର୍ଟମେଣ୍ଟ ବିଲ୍ଡିଂ"</item>
+    <item msgid="2142527562511049422">"ସ୍ପିଚ ବବଲ"</item>
+    <item msgid="2548100558260478605">"ଲୋକଙ୍କ ଗୋଷ୍ଠୀ"</item>
+    <item msgid="2270003903304578284">"ଲାଇଟବଲ୍ବ"</item>
+    <item msgid="4793496619091161864">"କେଲେଣ୍ଡର"</item>
+    <item msgid="5673625795644364100">"ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ"</item>
+    <item msgid="1423820834865831361">"ଦୌଡ଼ୁଥିବା ବ୍ୟକ୍ତି"</item>
+    <item msgid="2037298830718732608">"ଗଲ୍ଫ"</item>
+    <item msgid="2197835014443491074">"ଜିମ ଡମ୍ବେଲ"</item>
+    <item msgid="2730180105015616518">"ସୁଇମିଂ"</item>
+    <item msgid="2666922823253345958">"ହାଇକିଂ କରୁଥିବା ବ୍ୟକ୍ତି"</item>
+    <item msgid="8234880356472211396">"ବଲ ଫିଙ୍ଗୁଥିବା ବ୍ୟକ୍ତି"</item>
+    <item msgid="4642980625253001443">"କିକ ମାରୁଥିବା ବ୍ୟକ୍ତି"</item>
+    <item msgid="4324795269518833500">"ଗେମ କଣ୍ଟ୍ରୋଲର"</item>
+    <item msgid="7789966425125441125">"କଳାକାରଙ୍କ ରଙ୍ଗ ପେଲେଟ"</item>
+    <item msgid="663512680597461570">"ସ୍ନୋଫ୍ଲେକ"</item>
+    <item msgid="7952183800501346803">"ବେଳାଭୂମିରେ ଛତା"</item>
+    <item msgid="799139025758265891">"ୱାର୍କସପ ଟୁଲ"</item>
+    <item msgid="1330084588359129896">"ଟେଣ୍ଟ"</item>
+    <item msgid="3861584909935022342">"ଫିଲ୍ମ ରିଲ"</item>
+    <item msgid="5827426100157335512">"ବହି"</item>
+    <item msgid="8585828346253128384">"ପଦ୍ମ ଫୁଲ"</item>
+    <item msgid="8788370542815300188">"ବ୍ୟକ୍ତିଙ୍କ ମନ"</item>
+    <item msgid="7287354964767553293">"ହେଡଫୋନଗୁଡ଼ିକ"</item>
+    <item msgid="2530059623783800987">"ଟିଭି"</item>
+    <item msgid="5307182323469376758">"ଟ୍ରେନ"</item>
+    <item msgid="4903790544026923026">"କାର"</item>
+    <item msgid="5010405583912314582">"କଣ୍ଟା ଓ ଛୁରୀ"</item>
+    <item msgid="8939998598599064900">"ସପିଂ କାର୍ଟ"</item>
+    <item msgid="3379605903308731893">"ପିଲା"</item>
+    <item msgid="7808668968550293112">"ପଶୁର ପଞ୍ଜା"</item>
+    <item msgid="1000692647524056504">"ଷ୍ଟାର ବେଜ"</item>
+    <item msgid="8270261073421676502">"ଦୁଇ ଜଣ ଲୋକ"</item>
+    <item msgid="5767782819651505460">"ଷ୍ଟାର"</item>
+    <item msgid="4368451291862729334">"ହାର୍ଟ"</item>
+    <item msgid="2613199102208419986">"ଘର"</item>
+    <item msgid="3022279986430275040">"ଅର୍ଦ୍ଧ-ଚନ୍ଦ୍ର"</item>
+    <item msgid="5421089790869483206">"ଘଣ୍ଟା"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 9512d1f..d594848 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"ସସ୍ପେଣ୍ଡ ହୋଇଛି"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"ଅଜଣା"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"ପ୍ରିଭ୍ୟୁ"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR କୋଡ"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"ଛୋଟ କରନ୍ତୁ"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"ବହୁତ ବଡ଼ କରନ୍ତୁ"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"ସର୍ବଦା"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"ହିଅରିଂ ଡିଭାଇସ ସେଟିଂସ"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"ସର୍ଟକଟ, ଶ୍ରବଣଯନ୍ତ୍ର ଉପଯୋଗୀ"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"ପ୍ରିସେଟ"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"ଅଡିଓଲୋଜିଷ୍ଟଙ୍କ ଦ୍ଵାରା ପ୍ରୋଗ୍ରାମ ହୋଇଥିବା କୌଣସି ପ୍ରିସେଟ ନାହିଁ"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"ପ୍ରିସେଟକୁ ଅପଡେଟ କରାଯାଇପାରିବ ନାହିଁ"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"ଅଡିଓ ଆଉଟପୁଟ"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ଅଡିଓ ଆଉଟପୁଟ ବିଷୟରେ"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"ସେଟିଂସରୁ ଏହି ଆପ ପାଇଁ ଭାଷା ଚୟନ ଉପଲବ୍ଧ ନାହିଁ।"</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"ଆପରେ ଉପଲବ୍ଧ ଥିବା ଭାଷାଗୁଡ଼ିକଠାରୁ ଏହି ଭାଷା ଭିନ୍ନ ହୋଇପାରେ। କିଛି ଆପ୍ସ ଏହି ସେଟିଂସକୁ ସମର୍ଥନ କରିନପାରେ।"</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"ପ୍ରତ୍ୟେକ ଆପ ପାଇଁ ଭାଷା ସେଟ କରନ୍ତୁ।"</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"ଆପଣଙ୍କ ସିଷ୍ଟମ, ଆପ୍ସ ଏବଂ ୱେବସାଇଟଗୁଡ଼ିକ ଆପଣଙ୍କର ପସନ୍ଦର ଭାଷାଗୁଡ଼ିକରୁ ପ୍ରଥମ ସମର୍ଥିତ ଭାଷାକୁ ବ୍ୟବହାର କରେ।"</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"ଆପଣଙ୍କ ଡିଭାଇସ, ଆପ୍ସ ଏବଂ ୱେବସାଇଟଗୁଡ଼ିକ ଆପଣଙ୍କ ପସନ୍ଦର ଭାଷା ତାଲିକାରୁ ପ୍ରଥମ ସପୋର୍ଟ କରୁଥିବା ଭାଷାକୁ ବ୍ୟବହାର କରେ।\n\nତାରିଖ, ସଂଖ୍ୟା ଏବଂ ୟୁନିଟକୁ ଫର୍ମାଟ କରିବା ପାଇଁ ଅନେକ ଆପ୍ସ ଆପଣଙ୍କ ପସନ୍ଦର ଭାଷାରୁ ଏହି ଅଞ୍ଚଳ ମଧ୍ୟ ବ୍ୟବହାର କରିବ। ଆପଣଙ୍କ ଅଞ୍ଚଳ ପରିବର୍ତ୍ତନ କରିବାକୁ ଏକ ଭାଷା ଯୋଗ କରନ୍ତୁ, ତା\'ପରେ ଆପଣଙ୍କ ପସନ୍ଦର ଅଞ୍ଚଳ ବାଛନ୍ତୁ।"</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"ପ୍ରତ୍ୟେକ ଆପ ପାଇଁ ଏକ ଭାଷା ଚୟନ କରିବାକୁ, ଆପ ଭାଷା ସେଟିଂସକୁ ଯାଆନ୍ତୁ।"</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"ଆପ ଭାଷାଗୁଡ଼ିକ ବିଷୟରେ ଅଧିକ ଜାଣନ୍ତୁ"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"ସିଷ୍ଟମ ଭାଷା %sକୁ ପରିବର୍ତ୍ତନ କରିବେ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"ବନ୍ଦ"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{ଚାଲୁ ଅଛି / # ଆପର ଲୋକେସନକୁ ଆକ୍ସେସ ଅଛି}other{ଚାଲୁ ଅଛି / # ଆପ୍ସର ଲୋକେସନକୁ ଆକ୍ସେସ ଅଛି}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"ଲୋଡ୍ ହେଉଛି…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"ଆଖପାଖର ଡିଭାଇସଗୁଡ଼ିକ ପାଇଁ ଅନୁମତି ଥିବା ଆପ୍ସ କନେକ୍ଟ ହୋଇଥିବା ଡିଭାଇସଗୁଡ଼ିକର ଆପେକ୍ଷିକ ଅବସ୍ଥିତିକୁ ନିର୍ଦ୍ଧାରଣ କରିପାରିବ।"</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"ଆଖପାଖର ଡିଭାଇସଗୁଡ଼ିକ ପାଇଁ ଅନୁମତି ଥିବା ଆପ୍ସ କନେକ୍ଟେଡ ଡିଭାଇସଗୁଡ଼ିକର ଆପେକ୍ଷିକ ଅବସ୍ଥିତିକୁ ନିର୍ଦ୍ଧାରଣ କରିପାରିବ।"</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"ଆପ୍ସ ଓ ସେବାଗୁଡ଼ିକ ପାଇଁ ଲୋକେସନ ଆକ୍ସେସ ବନ୍ଦ ଅଛି। ଆପଣ ଏକ ଜରୁରୀକାଳୀନ ନମ୍ବରକୁ କଲ କରିବା କିମ୍ବା ଟେକ୍ସଟ ମେସେଜ ପଠାଇବା ସମୟରେ ଆପଣଙ୍କ ଡିଭାଇସର ଲୋକେସନ ଏବେ ବି ଜରୁରୀକାଳୀନ ଉତ୍ତରଦାତାମାନଙ୍କୁ ପଠାଯାଇପାରେ।"</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"ଲୋକେସନ ସେଟିଂସ ବିଷୟରେ ଅଧିକ ଜାଣନ୍ତୁ"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"ପରିବର୍ତ୍ତନ କରିବାକୁ ChromeOS ସେଟିଂସ &gt; ଗୋପନୀୟତା ଏବଂ ସୁରକ୍ଷା &gt; ଗୋପନୀୟତା ନିୟନ୍ତ୍ରଣ &gt; ଲୋକେସନ ଆକ୍ସେସକୁ ଯାଆନ୍ତୁ"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"ଫେସ ଏବଂ <xliff:g id="WATCH">%s</xliff:g> ଯୋଗ କରାଯାଇଛି"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"ଫେସ, ଟିପଚିହ୍ନ ଏବଂ <xliff:g id="WATCH">%s</xliff:g> ଯୋଗ କରାଯାଇଛି"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"ଫେସ, ଟିପଚିହ୍ନ ଏବଂ <xliff:g id="WATCH">%s</xliff:g> ଯୋଗ କରାଯାଇଛି"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"ପରିଚୟ ଯାଞ୍ଚ ଚାଲୁ ଅଛି ଏବଂ ଏହା ଏକ ବାୟୋମେଟ୍ରିକ ଆବଶ୍ୟକ କରେ"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"ରିମୋଟ ଅଥେଣ୍ଟିକେଟର ଅନଲକ"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"ୱାଚ ଯୋଗ କରାଯାଇଛି"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"ଆପଣଙ୍କ ୱାଚ ସେଟ ଅପ କରନ୍ତୁ"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"ୱାଚ ଅନଲକ ବିଷୟରେ ଅଧିକ ଜାଣନ୍ତୁ"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"ୱାଚ ଯୋଗ କରନ୍ତୁ"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"ୱାଚକୁ କାଢ଼ି ଦିଅନ୍ତୁ"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଏବଂ ଫେସ ଅନଲକ"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ଫେସ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"ୱାର୍କ ପାଇଁ ଫେସ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ସେଟଅପ ଆବଶ୍ୟକ"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"ଚେହେରା ଏବଂ ଟିପଚିହ୍ନଗୁଡ଼ିକ ଯୋଗ କରାଯାଇଛି"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"ପ୍ରାଇଭେଟ ସ୍ପେସ ସେଟ ଅପ କରାଯାଉଛି…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"ଏକ ପ୍ରାଇଭେଟ ସ୍ପେସ ସେଟ ଅପ କରାଯାଇପାରିଲା ନାହିଁ"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"ବାହାରି ଯାଆନ୍ତୁ"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଉପଲବ୍ଧ ନୁହେଁ।\nସମ୍ଭାବ୍ୟ କାରଣଗୁଡ଼ିକ ଭ୍ୟୁ କରନ୍ତୁ"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"ସମ୍ଭାବ୍ୟ କାରଣଗୁଡ଼ିକ ଭ୍ୟୁ କରନ୍ତୁ"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"ପ୍ରାଇଭେଟ ସ୍ପେସ ପାଇଁ ଏକ ନୂଆ ଲକ ବାଛିବେ?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"ଆପଣ କେବଳ ପ୍ରାଇଭେଟ ସ୍ପେସ ପାଇଁ ଏକ ନୂଆ ଲକ ସେଟ କରିପାରିବେ କିମ୍ବା ଆପଣଙ୍କ ଡିଭାଇସକୁ ଅନଲକ କରିବା ପାଇଁ ଆପଣ ବ୍ୟବହାର କରୁଥିବା ସେହି ସମାନ ଲକ ବ୍ୟବହାର କରିପାରିବେ"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"ସ୍କ୍ରିନ ଲକ ବ୍ୟବହାର କରନ୍ତୁ"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ବ୍ଲୁଟୁଥ ଚାଲୁ ଥିବା ବେଳେ ଆପଣଙ୍କ ଡିଭାଇସ ଆଖପାଖରେ ଥିବା ଅନ୍ୟ ବ୍ଲୁଟୁଥ ଡିଭାଇସଗୁଡ଼ିକ ସହ କମ୍ୟୁନିକେଟ କରିପାରିବ।\n\nଡିଭାଇସ ଅନୁଭୂତିକୁ ଉନ୍ନତ କରିବା ପାଇଁ, ବ୍ଲୁଟୁଥ ବନ୍ଦ ଥିଲେ ମଧ୍ୟ ଆପ୍ସ ଓ ସେବାଗୁଡ଼ିକ ଯେ କୌଣସି ସମୟରେ ଆଖପାଖର ଡିଭାଇସଗୁଡ଼ିକ ପାଇଁ ଏବେ ବି ସ୍କାନ କରିପାରିବ। ଉଦାହରଣ ସ୍ଵରୂପ, ଲୋକେସନ-ଆଧାରିତ ଫିଚର ଓ ସେବାଗୁଡ଼ିକୁ ଉନ୍ନତ କରିବା ପାଇଁ ଏହାକୁ ବ୍ୟବହାର କରାଯାଇପାରିବ। ଆପଣ ଏହାକୁ ବ୍ଲୁଟୁଥ ସ୍କାନିଂ ସେଟିଂସରେ ପରିବର୍ତ୍ତନ କରିପାରିବେ।"</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"ବ୍ଲୁଟୁଥ ଚାଲୁ ଥିବା ସମୟରେ, ଆପଣଙ୍କ ଡିଭାଇସ ଆଖପାଖର ଅନ୍ୟ ବ୍ଲୁଟୁଥ ଡିଭାଇସଗୁଡ଼ିକ ସହିତ କମ୍ୟୁନିକେଟ କରିପାରିବ। Quick Share ଏବଂ Find My Device ପରି ଫିଚରଗୁଡ଼ିକ ବ୍ଲୁଟୁଥ ବ୍ୟବହାର କରେ।\n\nବ୍ଲୁଟୁଥ ବନ୍ଦ ଥିଲେ ମଧ୍ୟ ଯେ କୌଣସି ସମୟରେ ଆଖପାଖର ଡିଭାଇସଗୁଡ଼ିକ ପାଇଁ ଆପ୍ସ ଏବଂ ସେବାଗୁଡ଼ିକ ସ୍କାନ କରିପାରିବ। ଉଦାହରଣ ସ୍ୱରୂପ, ଲୋକେସନ-ଆଧାରିତ ଫିଚର ଏବଂ ସେବାଗୁଡ଼ିକୁ ଉନ୍ନତ କରିବା ପାଇଁ ଏହାକୁ ବ୍ୟବହାର କରାଯାଇପାରେ। ଆପଣ ଏହାକୁ ବ୍ଲୁଟୁଥ ସ୍କାନିଂ ସେଟିଂସରେ ପରିବର୍ତ୍ତନ କରିପାରିବେ।"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"ପରିବର୍ତ୍ତନ କରନ୍ତୁ"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"ଡିଭାଇସର ବିବରଣୀ"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"କୀବୋର୍ଡ ସେଟିଂସ"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"ଅଧିକ ସେଟିଂସ"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"ଫାର୍ମୱେର ଅପଡେଟ, ଏହା ବିଷୟରେ ଏବଂ ଆହୁରି ଅନେକ କିଛି"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"ଟିପ୍ସ ଓ ସପୋର୍ଟ"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"ଡିଭାଇସ୍‌ର ବ୍ଲୁଟୁଥ ଠିକଣା ହେଉଛି: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"ଡିଭାଇସର ବ୍ଲୁଟୁଥ ଠିକଣା:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"ଡିଭାଇସଟି ଭୁଲିଯିବେ?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"ପରୀକ୍ଷାମୂଳକ। ଅଡିଓ ଗୁଣବତ୍ତାକୁ ଉନ୍ନତ କରେ।"</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"ଡିଭାଇସ୍‌କୁ ଭୁଲିଯାଆନ୍ତୁ"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"ଆପକୁ ବିଚ୍ଛିନ୍ନ କରନ୍ତୁ"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"ଅଧିକ ସେଟିଂସ"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"ସର୍ବାଧିକ କନେକ୍ଟ ହୋଇଥିବା ବ୍ଲୁଟୁଥ ଅଡିଓ ଡିଭାଇସଗୁଡ଼ିକ"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"ସଂଯୁକ୍ତ ବ୍ଲୁଟୂଥ୍‍‌ ଅଡିଓ ଡିଭାଇସ୍‌ଗୁଡ଼ିକର ସର୍ବାଧିକ ସଂଖ୍ୟା ବାଛନ୍ତୁ"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC ଭର୍ବୋସ ଭେଣ୍ଡର ଡିବଗ ଲଗ"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"ଡିଭାଇସକୁ ରିଷ୍ଟାର୍ଟ କରିବେ?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"ସବିଶେଷ NFC ଲଗିଂ କେବଳ ଉନ୍ନତି ପାଇଁ ଉଦ୍ଦିଷ୍ଟ। ବଗ ରିପୋର୍ଟରେ ଅତିରିକ୍ତ NFC ଡାଟା ଅନ୍ତର୍ଭୁକ୍ତ କରାଯାଏ, ଯେଉଁଥିରେ ବ୍ୟକ୍ତିଗତ ସୂଚନା ଥାଇପାରେ। ଏହି ସେଟିଂକୁ ପରିବର୍ତ୍ତନ କରିବା ପାଇଁ ଆପଣଙ୍କ ଡିଭାଇସକୁ ରିଷ୍ଟାର୍ଟ କରନ୍ତୁ।"</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"ରିଷ୍ଟାର୍ଟ କରନ୍ତୁ"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"ଚାଲୁ ଅଛି"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"ବନ୍ଦ ଅଛି"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"ଏକ୍ସଟର୍ନଲ ଡିସପ୍ଲେ"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"ଏକ୍ସଟର୍ନଲ ଡିସପ୍ଲେ ବ୍ୟବହାର କରନ୍ତୁ"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"ଡିସପ୍ଲେ ରିଜୋଲ୍ୟୁସନ"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"ଏକ୍ସଟର୍ନଲ ଡିସପ୍ଲେକୁ ଡିସକନେକ୍ଟ କରାଯାଇଛି"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"ରୋଟେସନ"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"ଷ୍ଟାଣ୍ଡାର୍ଡ"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"ରୋଟେସନ କିମ୍ବା ରିଜୋଲ୍ୟୁସନକୁ ପରିବର୍ତ୍ତନ କରିବା ଫଳରେ ଏହା ବର୍ତ୍ତମାନ ଚାଲୁଥିବା ଯେ କୌଣସି ଆପ୍ସକୁ ବନ୍ଦ କରିପାରେ"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"ଆପଣଙ୍କ ସ୍କ୍ରିନକୁ ମିରର କରିବା ପାଇଁ ଆପଣଙ୍କର ଡିଭାଇସକୁ ଏକ ଏକ୍ସଟର୍ନଲ ଡିସପ୍ଲେ ସହ କନେକ୍ଟ କରାଯିବା ଆବଶ୍ୟକ"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"ଅଧିକ ବିକଳ୍ପ"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"କାଷ୍ଟ"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"ମିରର୍"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"ୱେୟାରଲେସ୍‌ ପ୍ରଦର୍ଶନ ସକ୍ଷମ କରନ୍ତୁ"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"ଆଡେପ୍ଟିଭ"</string>
     <string name="brightness" msgid="6216871641021779698">"ଉଜ୍ଜ୍ୱଳତା ସ୍ତର"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"ଆଡେପ୍ଟିଭ ଉଜ୍ଜ୍ୱଳତା"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"ଆଡେପ୍ଟିଭ ଉଜ୍ଜ୍ୱଳତା ବିଷୟରେ"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"ଆପଣଙ୍କ ସ୍କ୍ରିନର ଉଜ୍ଜ୍ଵଳତା ଆପଣଙ୍କ ପରିବେଶ ଓ କାର୍ଯ୍ୟକଳାପ ଅନୁସାରେ ସ୍ୱତଃ ଆଡଜଷ୍ଟ ହେବ। ଆପଣ ସ୍ଲାଇଡରକୁ ମାନୁଆଲି ମୁଭ କରି ଆଡେପ୍ଟିଭ ଉଜ୍ଜ୍ୱଳତାକୁ ଆପଣଙ୍କ ପସନ୍ଦଗୁଡ଼ିକ ଜାଣିବାରେ ସାହାଯ୍ୟ କରିପାରିବେ।"</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"ଚାଲୁ"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"ବନ୍ଦ"</string>
@@ -1311,8 +1344,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="8850185380445309835">"ପସନ୍ଦର SIMକୁ ଅପଡେଟ କରିବେ?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> ହେଉଛି ଆପଣଙ୍କ ଡିଭାଇସ୍‌ରେ ଥିବା ଏକମାତ୍ର SIM। ମୋବାଇଲ୍‌ ଡାଟା, କଲ୍‌ ଓ SMS ପାଇଁ ଏହାକୁ ହିଁ ବ୍ୟବହାର କରିବେ?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> ବର୍ତ୍ତମାନ ଆପଣଙ୍କର ପ୍ରାଥମିକ SIM ଅଟେ"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"ମୋବାଇଲ ଡାଟା କଭରେଜ ଉନ୍ନତ କରିବେ?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"<xliff:g id="BACKUP_CARRIER">%1$s</xliff:g>ର ଉନ୍ନତ ଉପଲବ୍ଧତା ରହିଲେ, ମୋବାଇଲ ଡାଟା ପାଇଁ ସ୍ୱତଃ ଏହି ନେଟୱାର୍କକୁ ସୁଇଚ କରିବା ପାଇଁ ଆପଣଙ୍କ ଡିଭାଇସକୁ ଅନୁମତି ଦିଅନ୍ତୁ।"</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"କଲ, ମେସେଜ ଏବଂ ନେଟୱାର୍କ ଟ୍ରାଫିକ ଆପଣଙ୍କ ସଂସ୍ଥାକୁ ଦେଖାଯାଇପାରେ।"</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"ବିକଳ୍ପଗୁଡ଼ିକ"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"ଆକ୍ସେସିବିଲିଟୀ"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"ଫିଜିକାଲ୍ କୀବୋର୍ଡ"</string>
-    <string name="show_ime" msgid="4334255501724746849">"ଅନ୍-ସ୍କ୍ରିନ୍ କୀବୋର୍ଡ ବ୍ୟବହାର କରନ୍ତୁ"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"ଫିଜିକାଲ୍‌ କୀବୋର୍ଡ ସକ୍ରିୟ ଥିବାବେଳେ ଏହାକୁ ସ୍କ୍ରିନ୍‌ ଉପରେ ରଖନ୍ତୁ"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"ବାଉନ୍ସ କୀଗୁଡ଼ିକ"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"କୀବୋର୍ଡ <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms ମଧ୍ୟରେ ସମାନ କୀ ଶୀଘ୍ର ବାରମ୍ବାର ଦବାଇବାକୁ ଅଣଦେଖା କରେ"</string>
     <string name="slow_keys" msgid="2891452895499690837">"ଶ୍ଲୋ କୀଗୁଡ଼ିକ"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"<xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> msକୁ ସକ୍ରିୟ କରିବାକୁ ଏକ କୀ ଦବାଇବା ପାଇଁ ଲାଗୁଥିବା ସମୟକୁ ଏହା ଆଡଜଷ୍ଟ କରେ"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"ଷ୍ଟିକି କୀଗୁଡ଼ିକ"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"ଏକାଠି କୀଗୁଡ଼ିକୁ ଦବାଇ ଧରିବା ପରିବର୍ତ୍ତେ ସର୍ଟକର୍ଟଗୁଡ଼ିକ ପାଇଁ ଥରକେ ଗୋଟିଏ କୀ ଦବାନ୍ତୁ"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"ମାଉସ କୀଗୁଡ଼ିକ"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"ମାଉସକୁ ନିୟନ୍ତ୍ରଣ କରିବା ପାଇଁ ଫିଜିକାଲ କୀବୋର୍ଡ ବ୍ୟବହାର କରନ୍ତୁ।"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"କୀବୋର୍ଡ଼ ସର୍ଟକଟଗୁଡ଼ିକ"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"ସର୍ଟକଟଗୁଡ଼ିକର ତାଲିକା ଦେଖାନ୍ତୁ"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"ୱର୍କ ପ୍ରୋଫାଇଲ୍ କୀବୋର୍ଡ &amp; ଟୁଲ୍‌ଗୁଡ଼ିକ"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"ସ୍ୱତନ୍ତ୍ର ଟଚପେଡ ନାଭିଗେସନ ଜେଶ୍ଚରଗୁଡ଼ିକୁ କଷ୍ଟମାଇଜ କରନ୍ତୁ"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"ରିଭର୍ସ ସ୍କ୍ରୋଲିଂ"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"ଆପଣ ତଳକୁ ସ୍କ୍ରୋଲ କଲା ବେଳେ ବିଷୟବସ୍ତୁ ଉପରକୁ ମୁଭ ହୁଏ"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"ନିମ୍ନ-ଡାହାଣ କୋଣରେ ଟାପ କରନ୍ତୁ"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"ଅଧିକ ବିକଳ୍ପ ପାଇଁ ଟଚପେଡର ନିମ୍ନ ଡାହାଣ କୋଣରେ ଟାପ କରନ୍ତୁ"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"ନିମ୍ନରେ ଡାହାଣପଟେ କ୍ଲିକ କରନ୍ତୁ"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"ଅଧିକ ବିକଳ୍ପ ପାଇଁ ଟଚପେଡର ନିମ୍ନ ଡାହାଣ କୋଣରେ କ୍ଲିକ କରନ୍ତୁ"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"ପଏଣ୍ଟରର ସ୍ପିଡ"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"ପଏଣ୍ଟର ଫିଲ ଷ୍ଟାଇଲ"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"ପଏଣ୍ଟର ଫିଲ ଷ୍ଟାଇଲକୁ କଳାରେ ବଦଳାନ୍ତୁ"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"ପଏଣ୍ଟର ଫିଲ ଷ୍ଟାଇଲ ହଳଦିଆରେ ବଦଳାନ୍ତୁ"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"ପଏଣ୍ଟର ଫିଲ ଷ୍ଟାଇଲ ଗୋଲାପିରେ ବଦଳାନ୍ତୁ"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"ପଏଣ୍ଟର ଫିଲ ଷ୍ଟାଇଲକୁ ନୀଳରେ ବଦଳାନ୍ତୁ"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"ପଏଣ୍ଟର ଷ୍ଟ୍ରୋକର ଷ୍ଟାଇଲ"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"ଧଳା"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"କଳା"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"କିଛି ନାହିଁ"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"ଟଚପେଡର ଜେଶ୍ଚରଗୁଡ଼ିକ ବିଷୟରେ ଜାଣନ୍ତୁ"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"ଟ୍ରାକପେଡ ଟ୍ରାକ ପେଡ, ମାଉସ, କର୍ସର, ସ୍କ୍ରୋଲ, ସ୍ୱାଇପ, ଡାହାଣ କ୍ଲିକ, କ୍ଲିକ, ପଏଣ୍ଟର"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"ଡାହାଣ କ୍ଲିକ, ଟାପ"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"ରିସେଟ କରନ୍ତୁ"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"ମୋଡିଫାୟର କୀ ବାଛନ୍ତୁ"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> ପାଇଁ ଏକ ନୂଆ କୀ ବାଛନ୍ତୁ:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> ଲେଆଉଟ"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ପୂର୍ବ-ନିର୍ଦ୍ଧାରିତ"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"ସ୍ୱତଃ: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"ୟୁଜର ଚୟନିତ: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"ସ୍ପିଚ"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"ପଏଣ୍ଟର୍‌ର ବେଗ"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"ପଏଣ୍ଟର ସ୍କେଲ"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"ପଏଣ୍ଟର ସ୍କେଲ କମାନ୍ତୁ"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"ପଏଣ୍ଟର ସ୍କେଲ ବଢ଼ାନ୍ତୁ"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"ଗେମ କଣ୍ଟ୍ରୋଲର"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"ଭାଇବ୍ରେଶନ୍‌ ରିଡାଇରେକ୍ଟ କରନ୍ତୁ"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"ସଂଯୋଗ ହୋ‌ଇଥିବା ବେଳେ ଗେମ୍ କଣ୍ଟ୍ରୋଲର୍‌ରେ ଭାଇବ୍ରେଶନ୍ କରନ୍ତୁ"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"ଯେ କୌଣସି ମତେ ଜାରି ରଖନ୍ତୁ"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"ବାତିଲ କର"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"ମାଗ୍ନିଫିକେସନ ସେଟିଂସ"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"ଗୋଟିଏ ଆଙ୍ଗୁଠିରେ ପେନିଂ"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"1 ଆଙ୍ଗୁଠିରେ ମେଗ୍ନିଫାୟାରକୁ ମୁଭ କରନ୍ତୁ"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"ସ୍କ୍ରିନରେ ଚାରିଆଡ଼େ ମୁଭ କରିବାକୁ 1 ଆଙ୍ଗୁଠିରେ ଡ୍ରାଗ କରନ୍ତୁ"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"ଗୋଟିଏ ଆଙ୍ଗୁଠିକୁ ଟାଣି ମ୍ୟାଗ୍ନିଫିକେସନ ଏରିଆକୁ ମୁଭ କରନ୍ତୁ।"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"ଦୁଇ ଆଙ୍ଗୁଠିକୁ ଟାଣି ମ୍ୟାଗ୍ନିଫିକେସନ ଏରିଆକୁ ମୁଭ କରନ୍ତୁ।"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"ସ୍କ୍ରିନର କେବଳ କିଛି ଅଂଶ ମେଗ୍ନିଫାଏ କରାଯିବା ସମୟରେ ଉପଲବ୍ଧ ନାହିଁ"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ଜୁମ୍‌ କରିବା ପାଇଁ ଗୋଟିଏ ବଟନ୍‌ ଉପରେ ଟାପ୍‌ କରନ୍ତୁ"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"ବିଷୟବସ୍ତୁକୁ ଆହୁରି ବଡ଼ କରିବା ପାଇଁ ସ୍କ୍ରିନରେ ଶୀଘ୍ର ଜୁମ ଇନ କରନ୍ତୁ"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;ଜୁମ ଇନ କରିବାକୁ:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ମେଗ୍ନିଫିକେସନ ଆରମ୍ଭ କରିବାକୁ ସର୍ଟକଟ ବ୍ୟବହାର କରନ୍ତୁ&lt;br/&gt; {1,number,integer}. ସ୍କ୍ରିନରେ ଟାପ କରନ୍ତୁ&lt;br/&gt; {2,number,integer}. ସ୍କ୍ରିନର ଚାରିପଟେ ମୁଭ କରିବାକୁ 2 ଆଙ୍ଗୁଠିରେ ଡ୍ରାଗ କରନ୍ତୁ&lt;br/&gt; {3,number,integer}. ଜୁମ ଆଡଜଷ୍ଟ କରିବାକୁ 2 ଆଙ୍ଗୁଠିରେ ପିଞ୍ଚ କରନ୍ତୁ&lt;br/&gt; {4,number,integer}. ମେଗ୍ନିଫିକେସନ ବନ୍ଦ କରିବାକୁ ସର୍ଟକଟ ବ୍ୟବହାର କରନ୍ତୁ&lt;br/&gt;&lt;br/&gt; &lt;b&gt;ଅସ୍ଥାୟୀ ଭାବେ ଜୁମ ଇନ କରିବାକୁ:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ଆପଣଙ୍କ ମେଗ୍ନିଫିକେସନ ପ୍ରକାର ପୂର୍ଣ୍ଣ ସ୍କ୍ରିନରେ ସେଟ ହୋଇଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ&lt;br/&gt; {1,number,integer}. ମେଗ୍ନିଫିକେସନ ଆରମ୍ଭ କରିବାକୁ ସର୍ଟକଟ ବ୍ୟବହାର କରନ୍ତୁ&lt;br/&gt; {2,number,integer}. ସ୍କ୍ରିନରେ ଯେ କୌଣସି ସ୍ଥାନରେ ସ୍ପର୍ଶ କରି ଧରି ରଖନ୍ତୁ&lt;br/&gt; {3,number,integer}. ସ୍କ୍ରିନର ଚାରିପଟେ ମୁଭ କରିବାକୁ ଆଙ୍ଗୁଠିରେ ଡ୍ରାଗ କରନ୍ତୁ&lt;br/&gt; {4,number,integer}. ମେଗ୍ନିଫିକେସନ ବନ୍ଦ କରିବା ପାଇଁ ଆଙ୍ଗୁଠିକୁ ଉଠାନ୍ତୁ"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;ଜୁମ ଇନ କରିବାକୁ:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ମେଗ୍ନିଫିକେସନ ଆରମ୍ଭ କରିବାକୁ ସର୍ଟକଟ ବ୍ୟବହାର କରନ୍ତୁ&lt;br/&gt; {1,number,integer}. ସ୍କ୍ରିନରେ ଟାପ କରନ୍ତୁ&lt;br/&gt; {2,number,integer}. ସ୍କ୍ରିନରେ ଚାରିଆଡ଼େ ମୁଭ କରିବାକୁ 2 ଆଙ୍ଗୁଠିରେ ଡ୍ରାଗ କରନ୍ତୁ&lt;br/&gt; {3,number,integer}. ଜୁମ ଆଡଜଷ୍ଟ କରିବାକୁ 2 ଆଙ୍ଗୁଠିରେ ପିଞ୍ଚ କରନ୍ତୁ&lt;br/&gt; {4,number,integer}. ମେଗ୍ନିଫିକେସନ ବନ୍ଦ କରିବା ପାଇଁ ସର୍ଟକଟକୁ ବ୍ୟବହାର କରନ୍ତୁ&lt;br/&gt;&lt;br/&gt; ଆପଣ ଅସ୍ଥାୟୀ ଭାବେ ଏବଂ ଅଧିକ ଜୁମ ଇନ ମଧ୍ୟ କରିପାରିବେ।"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;ଜୁମ ଇନ କରିବାକୁ:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ମେଗ୍ନିଫିକେସନ ଆରମ୍ଭ କରିବାକୁ ସର୍ଟକଟ ବ୍ୟବହାର କରନ୍ତୁ&lt;br/&gt; {1,number,integer}. ସ୍କ୍ରିନରେ ଟାପ କରନ୍ତୁ&lt;br/&gt; {2,number,integer}. ସ୍କ୍ରିନରେ ଚାରିଆଡ଼େ ମୁଭ କରିବାକୁ 1 କିମ୍ବା 2 ଆଙ୍ଗୁଠିରେ ଡ୍ରାଗ କରନ୍ତୁ&lt;br/&gt; {3,number,integer}. ଜୁମ ଆଡଜଷ୍ଟ କରିବାକୁ 2 ଆଙ୍ଗୁଠିରେ ପିଞ୍ଚ କରନ୍ତୁ&lt;br/&gt; {4,number,integer}. ମେଗ୍ନିଫିକେସନ ବନ୍ଦ କରିବା ପାଇଁ ସର୍ଟକଟକୁ ବ୍ୟବହାର କରନ୍ତୁ&lt;br/&gt;&lt;br/&gt; ଆପଣ ଅସ୍ଥାୟୀ ଭାବେ ଏବଂ ଅଧିକ ଜୁମ ଇନ ମଧ୍ୟ କରିପାରିବେ।"</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_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g> ମଧ୍ୟରୁ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> ପୃଷ୍ଠା"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ ସର୍ଟକଟ"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"ଫ୍ଲୋଟିଂ ବଟନରେ ଟାପ କରନ୍ତୁ"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"ଆକ୍ସେସିବିଲିଟୀ ଜେଶ୍ଚର"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"ଆପଣଙ୍କ ସ୍କ୍ରିନର ନିମ୍ନରେ ଥିବା ଆକ୍ସେସିବିଲିଟୀ ବଟନ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>ରେ ଟାପ କରନ୍ତୁ। ଫିଚରଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ କରିବାକୁ ଆକ୍ସେସିବିଲିଟୀ ବଟନକୁ ସ୍ପର୍ଶ କରି ଧରି ରଖନ୍ତୁ।"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"2ଟି ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ।\n\nଫିଚରଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବାକୁ, 2ଟି ଆଙ୍ଗୁଠିରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରି ଧରି ରଖନ୍ତୁ।"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"3ଟି ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ।\n\nଫିଚରଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବାକୁ, 3ଟି ଆଙ୍ଗୁଠିରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରି ଧରି ରଖନ୍ତୁ।"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{ଆପଣଙ୍କ ସ୍କ୍ରିନର ନିମ୍ନରୁ ଉପରକୁ ସ୍ୱାଇପ କରନ୍ତୁ। ଫିଚରଗୁଡ଼ିକ ମଧ୍ୟରେ ସୁଇଚ କରିବା ପାଇଁ ଉପରକୁ ସ୍ୱାଇପ କରି ଧରି ରଖନ୍ତୁ।}other{# ଆଙ୍ଗୁଠିରେ ଆପଣଙ୍କ ସ୍କ୍ରିନର ନିମ୍ନରୁ ଉପରକୁ ସ୍ୱାଇପ କରନ୍ତୁ। ଫିଚରଗୁଡ଼ିକ ମଧ୍ୟରେ ସୁଇଚ କରିବାକୁ # ଆଙ୍ଗୁଠିରେ ଉପରକୁ ସ୍ୱାଇପ କରି ଧରି ରଖନ୍ତୁ।}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"ଅଧିକ ବିକଳ୍ପ"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"<xliff:g id="SERVICE">%1$s</xliff:g> ବିଷୟରେ ଅଧିକ ଜାଣନ୍ତୁ"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"ଭଲ୍ୟୁମ କୀ"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"ଭଲ୍ୟୁମ କୀ"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"ଉଭୟ ଭଲ୍ୟୁମ କୀ’କୁ ଦବାଇ ଧରି ରଖନ୍ତୁ"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"ସ୍କ୍ରିନକୁ ଦୁଇଟି-ଆଙ୍ଗୁଠିରେ ଦୁଇଥର-ଟାପ କରନ୍ତୁ"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d-ଆଙ୍ଗୁଠିରେ ଦୁଇଥର ଟାପ"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"%1$d ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନରେ ଶୀଘ୍ର ଦୁଇଥର ଟାପ କରନ୍ତୁ"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"ତିନିଥର ଟାପ"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"ସ୍କ୍ରିନରେ ଶୀଘ୍ର %1$d ଥର ଟାପ କରନ୍ତୁ। ଏହା ଆପଣଙ୍କ ଡିଭାଇସକୁ ଧୀର କରିପାରେ।"</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d-ଆଙ୍ଗୁଠିରେ ଦୁଇଥର ଟାପ"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"ଦୁଇଟି ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନକୁ ଶୀଘ୍ର {0,number,integer} ଥର ଟାପ କରନ୍ତୁ"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"ଟ୍ରିପଲ୍ ଟାପ୍ ସ୍କ୍ରିନ୍"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"ତିନିଥର ଟାପ"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"ସ୍କ୍ରିନରେ ଶୀଘ୍ର {0,number,integer} ଥର ଟାପ୍ କରନ୍ତୁ। ଏହି ସର୍ଟକଟ୍ ଆପଣଙ୍କ ଡିଭାଇସକୁ ଧୀର କରିପାରେ"</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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"ସର୍ଟକଟ ସେଟିଂସ"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"ଲକ୍ ସ୍କ୍ରିନରୁ ସର୍ଟକଟ୍"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"ଲକ୍ ସ୍କ୍ରିନରୁ ଫିଚର୍ ସର୍ଟକଟ୍ ଚାଲୁ କରିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ। କିଛି ସେକେଣ୍ଡ ପାଇଁ ଉଭୟ ଭଲ୍ୟୁମ୍ କୀ’କୁ ଧରି ରଖନ୍ତୁ।"</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ ଏବଂ ଜେଶ୍ଚର"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"ଏହି ସେବା ଠିକ୍‌ରୂପେ କାମ କରୁ ନାହିଁ।"</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"ଆକ୍ସେସିବିଲିଟୀ ସର୍ଟକଟଗୁଡ଼ିକ"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"କ୍ୱିକ୍ ସେଟିଂସରେ ଦେଖାନ୍ତୁ"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"ଲାଲ୍-ସବୁଜ"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"ଲାଲ୍-ସବୁଜ"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"ଲାଲ-ସବୁଜ, ସବୁଜ ରଙ୍ଗ ଦେଖିବାରେ ସମସ୍ୟା"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"ଲାଲ-ସବୁଜ, ଲାଲ ରଙ୍ଗ ଦେଖିବାରେ ସମସ୍ୟା"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"ନୀଳ-ହଳଦିଆ"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"ଗ୍ରେସ୍କେଲ୍"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"ତୀବ୍ରତା"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"ସବୁଜ ରଙ୍ଗ ଦେଖିବାରେ ସମସ୍ୟା, ଡ୍ୟୁଟେରାନୋମାଲି"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"ଲାଲ୍ ରଙ୍ଗ ଦେଖିବାରେ ସମସ୍ୟା, ପ୍ରୋଟାନୋମାଲି"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"ଗ୍ରେସ୍କେଲ ମୋଡ କିମ୍ବା ରଙ୍ଗ ସଂଶୋଧନ ଅକ୍ଷମ ଥିବା ସମୟରେ ଅନୁପଲବ୍ଧ ଅଟେ"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"ଅତ୍ୟଧିକ ଡିମ"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"ସ୍କ୍ରିନକୁ ଅତ୍ୟଧିକ ଡିମ କରନ୍ତୁ"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"ସିଆନ୍"</string>
     <string name="color_yellow" msgid="5957551912912679058">"ହଳଦିଆ"</string>
     <string name="color_magenta" msgid="8943538189219528423">"ମାଜେଣ୍ଟା"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"ଆପଣଙ୍କ ଡିଭାଇସର ସମ୍ପୂର୍ଣ୍ଣ ନିୟନ୍ତ୍ରଣ କରିବାକୁ <xliff:g id="SERVICE">%1$s</xliff:g>କୁ ଅନୁମତି ଦେବେ?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> ଆବଶ୍ୟକ କରେ:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"ଗୋଟିଏ ଆପ ଏକ ଅସ୍ପଷ୍ଟ ଅନୁରୋଧକୁ ଅଣଦେଖା କରୁଥିବା ଯୋଗୁଁ, ସେଟିଂସ ଆପଣଙ୍କ ଉତ୍ତରକୁ ଯାଞ୍ଚ କରିପାରିବ ନାହିଁ।"</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g>, ଏହି ଡିଭାଇସର ସମ୍ପୂର୍ଣ୍ଣ ନିୟନ୍ତ୍ରଣ ଅନୁରୋଧ କରୁଛି। ଏହି ସେବା, ସ୍କ୍ରିନ ପଢ଼ିପାରିବ ଏବଂ ଆକ୍ସେସିବିଲିଟି ଆବଶ୍ୟକତା ଅନୁଯାୟୀ ୟୁଜର ତରଫରୁ କାର୍ଯ୍ୟ କରିପାରିବ। ଅଧିକାଂଶ ଆପ ପାଇଁ ଏହି ସ୍ତରର ନିୟନ୍ତ୍ରଣ ସଠିକ୍ ନୁହେଁ।"</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"ଯେଉଁ ଆପ୍ସ ଆପଣଙ୍କୁ ଆକ୍ସେସିବିଲିଟୀ ଆବଶ୍ୟକତାରେ ସହାୟତା କରେ, ସେହି ଆପ୍ସ ପାଇଁ ସମ୍ପୂର୍ଣ୍ଣ ନିୟନ୍ତ୍ରଣ ଉପଯୁକ୍ତ ଅଟେ, କିନ୍ତୁ ଅଧିକାଂଶ ଆପ୍ସ ପାଇଁ ଉପଯୁକ୍ତ ନୁହେଁ।"</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"ସ୍କ୍ରିନକୁ ଦେଖନ୍ତୁ ଏବଂ ନିୟନ୍ତ୍ରଣ କରନ୍ତୁ"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"ଏହା ସ୍କ୍ରିନ୍‍ର ସମସ୍ତ ବିଷୟବସ୍ତୁ ପଢ଼ିପାରେ ଏବଂ ଅନ୍ୟ ଆପ୍ସରେ ବିଷୟବସ୍ତୁ ପ୍ରଦର୍ଶନ କରିପାରେ।"</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"ଦେଖନ୍ତୁ ଏବଂ କାର୍ଯ୍ୟ ସମ୍ପାଦନ କରନ୍ତୁ"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"ଏହା କୌଣସି ଆପ କିମ୍ବା ହାର୍ଡୱେର ସେନ୍ସର ସହ ଆପଣଙ୍କର ଇଣ୍ଟେରାକ୍ସନକୁ ଟ୍ରାକ କରିପାରେ ଏବଂ ଆପଣଙ୍କ ତରଫରୁ ଆପ୍ସ ସହ ଇଣ୍ଟରାକ୍ଟ କରିପାରେ।"</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"ଅନୁମତି"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"ଅଗ୍ରାହ୍ୟ"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"ବନ୍ଦ କରନ୍ତୁ"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"ଚାଲୁ ଅଛି / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> ଏବଂ <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"ଆପଣ ବ୍ଲୁଟୁଥ ଡିଭାଇସଗୁଡ଼ିକ ପାଇଁ ମଧ୍ୟ ସ୍ପେସିଆଲ ଅଡିଓକୁ ଚାଲୁ କରିପାରିବେ।"</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"କନେକ୍ଟ ହୋଇଥିବା ଡିଭାଇସଗୁଡ଼ିକର ସେଟିଂସ"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"ସ୍ପାସିଅଲ ଅଡିଓ"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"ବନ୍ଦ ଅଛି"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"ବନ୍ଦ ଅଛି"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"ବନ୍ଦ ଅଛି"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{କିଛି ନାହିଁ}=1{1ଟି ସିଡୁଲ୍ ସେଟ୍ ହୋଇଛି}other{#ଟି ସିଡୁଲ୍ ସେଟ୍ ହୋଇଛି}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"ପ୍ରାଥମିକତା ମୋଡ"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"ଏକ ମୋଡ ଯୋଗ କରନ୍ତୁ"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"ମୋଡ"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"ବିଭ୍ରାନ୍ତିକୁ କମ କରନ୍ତୁ ଏବଂ ଶୋଇବା, କାମ କରିବା, ଡ୍ରାଇଭିଂ କରିବା ଏବଂ ଏହା ମଧ୍ୟରେ ଥିବା ସବୁକିଛି ପାଇଁ ମୋଡ ସହିତ ଆପଣଙ୍କର ଧ୍ୟାନକୁ ନିୟନ୍ତ୍ରଣ କରନ୍ତୁ।"</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"ଆପଣଙ୍କ ନିଜର ମୋଡ ତିଆରି କରନ୍ତୁ"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"କେବଳ ଗୁରୁତ୍ଵପୂର୍ଣ୍ଣ ଲୋକ ଏବଂ ଆପ୍ସ ଦ୍ୱାରା ସୂଚନା ପାଆନ୍ତୁ"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"ଏକ ସିଡୁଲ ସେଟ କରନ୍ତୁ"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"ସିଡୁଲ ଏହା ଉପରେ ଆଧାରିତ"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"ଦିନ ଏବଂ ସମୟ"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"9 AM - 5 PM କାର୍ଯ୍ୟ ଦିବସଗୁଡ଼ିକ\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"କେଲେଣ୍ଡର ଇଭେଣ୍ଟଗୁଡ଼ିକ"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} ସକ୍ରିୟ ଅଛି}=2{{mode_1} ଏବଂ {mode_2} ସକ୍ରିୟ ଅଛି}=3{{mode_1}, {mode_2} ଏବଂ {mode_3} ସକ୍ରିୟ ଅଛି}other{{mode_1}, {mode_2} ଏବଂ # ଅଧିକ ସକ୍ରିୟ ଅଛି}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 ମୋଡ ସ୍ୱତଃ ଚାଲୁ ହୋଇପାରିବ}other{# ମୋଡ ସ୍ୱତଃ ଚାଲୁ ହୋଇପାରିବ}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ଚାଲୁ ଅଛି"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"ସେଟ କରାଯାଇନାହିଁ"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"ଅକ୍ଷମ କରାଯାଇଛି"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"ଏକ ମୋଡ ତିଆରି କରନ୍ତୁ"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"କଷ୍ଟମ"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"ଏବେ ଚାଲୁ କରନ୍ତୁ"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"ବନ୍ଦ କରନ୍ତୁ"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"ମୋଡ ମିଳିଲା ନାହିଁ"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"ବ୍ୟାଘାତଗୁଡ଼ିକୁ ସୀମିତ କରନ୍ତୁ"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"ବାଧା ଏବଂ ବିଭ୍ରାନ୍ତିକୁ ବ୍ଲକ କରନ୍ତୁ"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g> ସେଟ ଅପ କରନ୍ତୁ"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\"ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ\" ଅନ୍ କରନ୍ତୁ"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"ଆଲାରାମ୍ ଏବଂ ମିଡିଆ ସାଉଣ୍ଡ ବାଧା ଦେଇପାରେ"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"ସିଡୁଲ୍"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"ସିଡୁଲ୍ ଡିଲିଟ୍ କରନ୍ତୁ"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"ଡିଲିଟ୍ କରନ୍ତୁ"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"ରିନେମ କରନ୍ତୁ"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"ଡିଲିଟ କରନ୍ତୁ"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"\"<xliff:g id="MODE">%1$s</xliff:g>\" ମୋଡକୁ ଡିଲିଟ କରିବେ?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"ଏଡିଟ"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"ସିଡୁଲ୍"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"ସିଡୁଲ୍"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"ସ୍ୱଚାଳିତ ଭାବେ ଚାଲୁ ହୋଇଥାଏ"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"ଏକ କେଲେଣ୍ଡର ଯୋଗ କରନ୍ତୁ"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"ଆପଣଙ୍କ କେଲେଣ୍ଡରକୁ ବ୍ୟବହାର କରନ୍ତୁ"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"ସିଡୁଲ"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"ଏକ ସିଡୁଲ ସେଟ କରନ୍ତୁ"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"ସ୍ୱତଃ ଚାଲୁ ହେବାର ସମୟ"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"ଇଭେଣ୍ଟ ସିଡୁଲ"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"ଏଥିପାଇଁ ଇଭେଣ୍ଟ ମଧ୍ୟରେ ଚାଲୁ କର"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"ଯେଉଁଠି ଆମନ୍ତ୍ର‍ଣର ଉତ୍ତର ଥାଏ"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"ସମୟ ସିଡୁଲ"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"ସିଡୁଲ"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ଘଣ୍ଟା, <xliff:g id="MINUTES">%2$d</xliff:g> ମିନିଟ"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"ସିଡୁଲ୍"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"ବାଧାଗୁଡ଼ିକୁ ଅନୁମତି ଦିଅନ୍ତୁ ଯାହା ଶବ୍ଦ କରେ"</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="mode_interruption_filter_title" msgid="6657431939996264417">"ଆପଣଙ୍କ ପାଖରେ ପହଞ୍ଚିପାରିବା ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"ଅତିରିକ୍ତ ପଦକ୍ଷେପ"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"ବିଜ୍ଞପ୍ତି ଫିଲ୍ଟର"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"ଅଧିକ ସେଟିଂସ"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{ବନ୍ଦ ଅଛି}=1{ବନ୍ଦ ଅଛି / 1 ମୋଡ ସ୍ୱତଃ ଚାଲୁ ହୋଇପାରିବ}other{ବନ୍ଦ ଅଛି / # ମୋଡ ସ୍ୱତଃ ଚାଲୁ ହୋଇପାରିବ}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"ଡିସପ୍ଲେ ସେଟିଂସ"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"ଡିସପ୍ଲେ ବିକଳ୍ପଗୁଡ଼ିକ"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"ଗ୍ରେସ୍କେଲ"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ଡାର୍କ ଥିମକୁ ସକ୍ଷମ କରନ୍ତୁ"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"ଆଖି ପାଇଁ ଆରାମଦାୟକ ଏବଂ କିଛି ଡିଭାଇସରେ ଉଲ୍ଲେଖନୀୟ ବେଟେରୀ ସେଭ କରୁଥିବା ଡାର୍କ ବେକଗ୍ରାଉଣ୍ଡରେ ଲାଇଟ ଟେକ୍ସଟ ପସନ୍ଦ କରିବାକୁ OS ଏବଂ ଆପ୍ସ ସୁଇଚ କରନ୍ତୁ"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{ଡିସପ୍ଲେରେ କୌଣସି ପରିବର୍ତ୍ତନ ନାହିଁ}=1{{effect_1}}=2{{effect_1} ଏବଂ {effect_2}}=3{{effect_1}, {effect_2} ଏବଂ {effect_3}}other{{effect_1}, {effect_2} ଏବଂ # ଅଧିକ}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"ସମସ୍ତ ବିଜ୍ଞପ୍ତିକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"ଲୋକ, ଆପ୍ସ ଏବଂ ସାଉଣ୍ଦ ବାଧା ସୃଷ୍ଟି କରିପାରିବ"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ଫିଲ୍ଟର କରାଯାଇଥିବା ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ପାଇଁ ଡିସପ୍ଲେ ବିକଳ୍ପ"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"\'ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ\' ଚାଲୁ ଥିବା ସମୟରେ"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"ବିଜ୍ଞପ୍ତି ଆସିଲେ କୌଣସି ସାଉଣ୍ଡ ନାହିଁ"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"ବିଜ୍ଞପ୍ତି ଖୋଲନ୍ତୁ"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"ବିଜ୍ଞପ୍ତି ସ୍ନୁଜ କରିବା ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"ଆପ ଆଇକନରେ ବିଜ୍ଞପ୍ତି ଡଟ"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"ବିଜ୍ଞପ୍ତିର ବଣ୍ଡଲ"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"ବବଲ୍‌ଗୁଡ଼ିକ"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"ବବଲ୍‌ଗୁଡ଼ିକ"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"ଏହି ବାର୍ତ୍ତାଳାପକୁ ବବଲ କରନ୍ତୁ"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"ଏହା ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ସ୍ନୁଜ କିମ୍ବା ଖାରଜ କରିବା ଏବଂ କଲର ଉତ୍ତର ଦେବା ସହ ମେସେଜର ପ୍ରତ୍ୟୁତ୍ତର ଦେଇପାରିବ ଏବଂ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକରେ ଥିବା ବଟନଗୁଡ଼ିକ ଉପରେ ପଦକ୍ଷେପ ନେଇପାରିବ।"</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"ସେଟିଂସ ପରିବର୍ତ୍ତନ କରିବା"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"ଏହା \"ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ\"କୁ ଚାଲୁ କିମ୍ବା ବନ୍ଦ କରିପାରିବ ଏବଂ ସମ୍ବନ୍ଧିତ ସେଟିଂସକୁ ପରିବର୍ତ୍ତନ କରିପାରିବ।"</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"ଏହା ମୋଡକୁ ପରିଚାଳନା ଓ ସକ୍ରିୟ କରିପାରିବ ଏବଂ ସମ୍ବନ୍ଧିତ ସେଟିସକୁ ପରିବର୍ତ୍ତନ କରିପାରିବ।"</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_modes_warning_summary" msgid="7528432011433844158">"ଯଦି ଆପଣ <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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"ରିଅଲ-ଟାଇମ"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"ଏହି ଆପ ଉନ୍ନତ ସେଟିଂସକୁ ସମର୍ଥନ କରେ ନାହିଁ"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"ଅଧିକ ସେଟିଂସ"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"ଏହି ଆପରେ ଅଧିକ ସେଟିଂସ ଉପଲବ୍ଧ ଅଛି"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"ଆଡେପ୍ଟିଭ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"ଆଡେପ୍ଟିଭ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ବ୍ୟବହାର କରନ୍ତୁ"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"ଆପଣ ଅଳ୍ପ ସମୟ ମଧ୍ୟରେ ଅନେକ ବିଜ୍ଞପ୍ତି ପାଇଲେ, ଆପଣଙ୍କ ଫୋନ ଭଲ୍ୟୁମକୁ କମ କରିବ ଏବଂ ସ୍କ୍ରିନରେ ପପ-ଅପକୁ ଦୁଇ ମିନିଟ ପର୍ଯ୍ୟନ୍ତ ହ୍ରାସ କରିବ। କଲ, ଆଲାରାମ ଏବଂ ପ୍ରାଥମିକତା ବାର୍ତ୍ତାଳାପଗୁଡ଼ିକ ପାଇଁ ଏବେ ବି ଭାଇବ୍ରେଟ କରାଯିବ, ଏକ ସାଉଣ୍ଡ କରାଯିବ କିମ୍ବା ସ୍କ୍ରିନରେ ଦେଖାଯିବ ଏବଂ ଆପଣ ସ୍କ୍ରିନର ଶୀର୍ଷରୁ ତଳକୁ ଟାଣିଲେ ସମସ୍ତ ବିଜ୍ଞପ୍ତି ଖୋଜିବା ସହଜ ଅଟେ।"</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"ବିଜ୍ଞପ୍ତି କୁଲଡାଉନ"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"ବିଜ୍ଞପ୍ତି କୁଲଡାଉନ ବ୍ୟବହାର କରନ୍ତୁ"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"ଆପଣ ଅଳ୍ପ ସମୟ ମଧ୍ୟରେ ଅନେକ ବିଜ୍ଞପ୍ତି ପାଇଲେ, ଆପଣଙ୍କ ଡିଭାଇସ ଏହାର ଭଲ୍ୟୁମକୁ କମ କରି 2 ମିନିଟ ପର୍ଯ୍ୟନ୍ତ ଆଲର୍ଟକୁ ହ୍ରାସ କରିବ। କଲ, ଆଲାରାମ ଏବଂ ପ୍ରାଥମିକତା ଥିବା ବାର୍ତ୍ତାଳାପଗୁଡ଼ିକ ପ୍ରଭାବିତ ହୁଏ ନାହିଁ। \n\nକୁଲଡାଉନ ସମୟରେ ପାଇଥିବା ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ସ୍କ୍ରିନର ଉପରୁ ତଳକୁ ଟାଣି ପାଇପାରିବେ।"</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"ୱାର୍କ ପ୍ରୋଫାଇଲରେ ଲାଗୁ କରନ୍ତୁ"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"ୱାର୍କ ପ୍ରୋଫାଇଲ ଆପ୍ସରେ ଲାଗୁ କରନ୍ତୁ"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR ସାହାଯ୍ୟକାରୀ ସେବାଗୁଡ଼ିକ"</string>
@@ -3650,6 +3717,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"ମୋଡର ଆକ୍ସେସ"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"ମୋଡର ଆକ୍ସେସକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"ଇନଷ୍ଟଲ କରାଯାଇଥିବା କୌଣସି ଆପ୍ସ ମୋଡର ଆକ୍ସେସ ପାଇଁ ଅନୁରୋଧ କରି ନାହିଁ"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"ଆପଣ ଏହି ଆପରୁ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ଅନୁମତି ଦେଇନାହାଁନ୍ତି"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"ଆପଣଙ୍କ ଅନୁରୋଧରେ, ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକର ଏହି ବର୍ଗକୁ ଏହି ଡିଭାଇସରେ ଦେଖାଯିବାରେ Android ବ୍ଲକ କରୁଛି"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"ଆପଣଙ୍କ ଅନୁରୋଧରେ, Android, ବିଜ୍ଞପ୍ତିଗୁଡିର ଏହି ଗୋଷ୍ଠୀକୁ ଏହି ଡିଭାଇସରେ ଦେଖାଦେବାରେ ଅବରୋଧ କରୁଛି"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"ବର୍ଗ"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"ଅନ୍ୟ"</string>
     <string name="no_channels" msgid="4716199078612071915">"ଏହି ଆପଟି କୌଣସି ବିଜ୍ଞପ୍ତି ପୋଷ୍ଟ୍ କରିନାହିଁ"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"ଅବ୍ୟବହୃତ ବର୍ଗଗୁଡ଼ିକ ଦେଖାନ୍ତୁ"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"ଆପର ଅତିରିକ୍ତ ସେଟିଂସ"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"ଅବ୍ୟବହୃତ ବର୍ଗଗୁଡ଼ିକ ଦେଖାନ୍ତୁ"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"ଅବ୍ୟବହୃତ ବର୍ଗଗୁଡ଼ିକ ଲୁଚାନ୍ତୁ"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"ବାର୍ତ୍ତାଳାପଗୁଡ଼ିକ"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"ସମସ୍ତ ବାର୍ତ୍ତାଳାପ"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"ସମସ୍ତ ବାର୍ତ୍ତାଳାପ"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"ପ୍ରାଥମିକତା ଦିଆଯାଇଥିବା ବାର୍ତ୍ତାଳାପଗୁଡ଼ିକ"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"ପ୍ରାଥମିକତା ଥିବା ବାର୍ତ୍ତାଳାପ"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"କିଛି ନାହିଁ"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"ବାଧା ସୃଷ୍ଟି କରିପାରୁଥିବା ଆପଗୁଡ଼ିକ"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"ଚୟନିତ ଆପ୍ସ"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"କିଛି ନାହିଁ"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"ସମସ୍ତ"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{କୌଣସି ଆପ୍ସ ବାଧା ସୃଷ୍ଟି କରିପାରିବ ନାହିଁ}=1{{app_1} ବାଧା ସୃଷ୍ଟି କରିପାରିବ}=2{{app_1} ଏବଂ {app_2} ବାଧା ସୃଷ୍ଟି କରିପାରିବ}=3{{app_1}, {app_2} ଏବଂ {app_3} ବାଧା ସୃଷ୍ଟି କରିପାରିବ}other{{app_1}, {app_2} ଏବଂ # ଅଧିକ ଆପ୍ସ ବାଧା ସୃଷ୍ଟି କରିପାରିବ}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (ୱାର୍କ)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"ଗଣନା କରାଯାଉଛି…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ନିଷ୍କ୍ରିୟ କରିବାକୁ ଆପ୍ସକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"ବାଧା ସୃଷ୍ଟି କରିପାରୁଥିବା ଆପଗୁଡ଼ିକ"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"ଅଧିକ ଆପ୍ ଚୟନ କରନ୍ତୁ"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"କିଛି ବି ବାଧା ସୃଷ୍ଟି କରିପାରିବ ନାହିଁ"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"କେହି ବି ବାଧା ଉପୁଯାଇପାରିବେ ନାହିଁ"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"କିଛି ଲୋକ ବାଧା ଦେଇପାରନ୍ତି"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"ରିପିଟ କଲର ବାଧା ସୃଷ୍ଟି କରିପାରେ"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"ସବୁ ଲୋକ ବାଧା ଉପୁଯାଇପାରିବେ"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"ବାରମ୍ୱାର ଫୋନ୍‌ କରୁଥିବା କଲର୍"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"ବାରମ୍ବାର କଲ କରୁଥିବା ବ୍ୟକ୍ତିଙ୍କ ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} ପର୍ଯ୍ୟନ୍ତ କେବଳ ଏକ ଘଣ୍ଟା ପାଇଁ ଆଲାରାମରେ ପରିବର୍ତ୍ତନ କରନ୍ତୁ}other{{time} ପର୍ଯ୍ୟନ୍ତ କେବଳ # ଘଣ୍ଟା ପାଇଁ ଆଲାରାମରେ ପରିବର୍ତ୍ତନ କରନ୍ତୁ}}"</string>
     <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_action_change_name" msgid="766639614789907016">"ରିନେମ କରନ୍ତୁ"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"ଆଇକନ ବଦଳାନ୍ତୁ"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"ଆଇକନ ବଦଳାନ୍ତୁ"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"ମୋଡ ଏଡିଟ କରନ୍ତୁ"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"ଏକ ମୋଡ ତିଆରି କରନ୍ତୁ"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"କଷ୍ଟମ ମୋଡ"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"ମୋଡର ନାମ"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"କେଲେଣ୍ଡର ଇଭେଣ୍ଟଗୁଡ଼ିକ"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"ଶୋଇବା ସମୟ ରୁଟିନ"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"ଡ୍ରାଇଭିଂ କରିବା ସମୟରେ"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"ଆପ ସେଟିଂସ"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"<xliff:g id="APP_NAME">%1$s</xliff:g>ରେ ସୂଚନା ଏବଂ ସେଟିଂସ"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"<xliff:g id="APP_NAME">%1$s</xliff:g> ଦ୍ୱାରା ପରିଚାଳିତ"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g>କୁ ଅକ୍ଷମ କରିବେ?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"ଅକ୍ଷମ ଥିବା ସମୟରେ ଏହି ମୋଡ କେବେ ବି ଚାଲୁ ହେବ ନାହିଁ"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"ଅକ୍ଷମ କରନ୍ତୁ"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g>କୁ ସକ୍ଷମ କରିବେ?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"ଏହି ମୋଡ ଏହାର ସେଟିଂସ ଆଧାରରେ ସ୍ୱତଃ ଚାଲୁ ହୋଇପାରେ"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"ସକ୍ଷମ କରନ୍ତୁ"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"ଏକ ନିୟମିତ ସିଡୁଲକୁ ଫଲୋ କରୁଥିବା ଏକ ମୋଡ ସେଟ କରନ୍ତୁ"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"କେଲେଣ୍ଡର ଇଭେଣ୍ଟ ଏବଂ ଆମନ୍ତ୍ରଣ ଉତ୍ତରଗୁଡ଼ିକ ସହ ସିଙ୍କ କରିବାକୁ ଏକ ମୋଡ ସେଟ କରନ୍ତୁ"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"ଏକ ଶାନ୍ତ ଶୋଇବା ରୁଟିନ ଡିଜାଇନ କରନ୍ତୁ। ଆଲାରାମ ସେଟ କରନ୍ତୁ, ସ୍କ୍ରିନକୁ ଡିମ କରନ୍ତୁ ଏବଂ ବିଜ୍ଞପ୍ତିକୁ ବ୍ଲକ କରନ୍ତୁ।"</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"ଏକ ଫୋକସ ଏବଂ ବିଭ୍ରାନ୍ତି-ମୁକ୍ତ ଡ୍ରାଇଭ ପାଇଁ ରାସ୍ତାରେ ସୁରକ୍ଷାକୁ ପ୍ରାଥମିକତା ଦିଅନ୍ତୁ"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"ଫୋକସ ହାସଲ କରିବାକୁ ଆପଣଙ୍କ ଡିଭାଇସରୁ ବିଭ୍ରାନ୍ତି କିମ୍ବା ବାଧାକୁ ବ୍ଲକ କରନ୍ତୁ"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"ଏକ ଶାନ୍ତ ପରିବେଶ ପାଇଁ ସମସ୍ତ ବିଭ୍ରାନ୍ତିକୁ ଦୂର କରନ୍ତୁ"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"ବିଭିନ୍ନ ୟୁଜରଙ୍କ ପାଇଁ ଡିଭାଇସ ଅନୁଭୂତି ଏବଂ ସେଟିଂସକୁ ପର୍ସନାଲାଇଜ କରନ୍ତୁ"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"କେବଳ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ଲୋକ ଏବଂ ଆପ୍ସକୁ ଆପଣଙ୍କ ସହ ଯୋଗାଯୋଗ କରିବାକୁ ଅନୁମତି ଦେଇ ବାଧାକୁ କମ କରନ୍ତୁ"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"ଏକ ନିୟମିତ ସିଡୁଲକୁ ଫଲୋ କରୁଥିବା ଏକ ମୋଡ ସେଟ କରନ୍ତୁ"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"ଆପଣଙ୍କ ଡିଭାଇସକୁ ଆପଣଙ୍କ ଦିନର ଇଭେଣ୍ଟଗୁଡ଼ିକ ସହିତ ସିଙ୍କରେ ରଖନ୍ତୁ"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"100% ସୁସ୍ଥ ପରି ଅନୁଭବ କରି ଉଠନ୍ତୁ"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"ରାସ୍ତାରେ ଯିବା ସମୟରେ ସୁରକ୍ଷାକୁ ପ୍ରାଥମିକତା ଦିଅନ୍ତୁ"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"ନିଜ ଜୋନକୁ ଯିବା ପାଇଁ ଫୋକସ କରନ୍ତୁ"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"ମୁହୂର୍ତ୍ତଗୁଡ଼ିକ ପାଇଁ ଯେତେବେଳେ ସୌଜନ୍ୟର ଗୁରୁତ୍ୱ ରହିଥାଏ"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"ଆପଣଙ୍କୁ ଭଲ ସହାୟତା ମିଳିବାରେ ସାହାଯ୍ୟ କରିବା ପାଇଁ ମାର୍ଗଦର୍ଶନର ବ୍ୟବହାର"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"ଆପଣଙ୍କ ଧ୍ୟାନ ଉପରେ ନିୟନ୍ତ୍ରଣ ରଖନ୍ତୁ"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"ଚେତାବନୀ"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"ବନ୍ଦ କରନ୍ତୁ"</string>
     <string name="device_feedback" msgid="5351614458411688608">"ଏହି ଡିଭାଇସ ବିଷୟରେ ମତାମତ ପଠାନ୍ତୁ"</string>
@@ -4006,6 +4110,11 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"<xliff:g id="APP">%1$s</xliff:g> ପାଇଁ ମୋଡର ଆକ୍ସେସକୁ ଅନୁମତି ଦେବେ?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"ଏହି ଆପ \"ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ\"କୁ ଚାଲୁ/ବନ୍ଦ କରିବା, ମୋଡକୁ ପରିଚାଳନା ଓ ସକ୍ରିୟ କରିବା ଏବଂ ସମ୍ବନ୍ଧିତ ସେଟିଂସରେ ପରିବର୍ତ୍ତନ କରିବାକୁ ସକ୍ଷମ ହେବ।"</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"ଏହି ଆପ ଦ୍ୱାରା ତିଆରି କରାଯାଇଥିବା ସମସ୍ତ ମୋଡକୁ କାଢ଼ି ଦିଆଯିବ।"</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"ଅନୁକୁଳ କରନାହିଁ"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"ଅପ୍ଟିମାଇଜ୍ କରନ୍ତୁ"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"ଆପଣଙ୍କ ବ୍ୟାଟେରୀ ଖୁବ୍ ଶୀଘ୍ର ସରିଯାଇପାରେ। ବ୍ୟାକଗ୍ରାଉଣ୍ଡ ବ୍ୟାଟେରୀକୁ ବ୍ୟବହାର କରିବା ପାଇଁ ଆଉ ଆପ୍‍କୁ ବାଧା ଦେଇହେବ ନାହିଁ।"</string>
@@ -4792,8 +4901,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"କେସ୍‍"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"ବେଟେରୀ"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"ସେଟିଂସ ପ୍ୟାନେଲ"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"ଫୋର୍ସ ଡେସ୍କଟପ୍‍ ମୋଡ୍‍"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ଦ୍ବିତୀୟ ପ୍ରଦର୍ଶନରେ ଫୋର୍ସ ପରୀକ୍ଷାମୂଳକ ମୋଡ୍‍"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"ଫ୍ରିଫର୍ମ ୱିଣ୍ଡୋ ସକ୍ଷମ କରନ୍ତୁ"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"ସେକେଣ୍ଡାରୀ ଡିସପ୍ଲେରେ ଫ୍ରିଫର୍ମ ୱିଣ୍ଡୋ ସକ୍ଷମ କରନ୍ତୁ"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"ମଲ୍ଟି ୱିଣ୍ଡୋରେ ରିସାଇଜ୍ କରାଯାଇପାରୁନଥିବାକୁ ସକ୍ଷମ କରନ୍ତୁ"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"ରିସାଇଜ୍ କରାଯାଇପାରୁନଥିବା ଆପଗୁଡ଼ିକୁ ମଲ୍ଟି ୱିଣ୍ଡୋରେ ରହିବା ପାଇଁ ଅନୁମତି ଦିଏ"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"ଫୋର୍ସ୍-ଡାର୍କ୍ ଓଭର୍‍ରାଇଡ୍ କରନ୍ତୁ"</string>
@@ -4968,7 +5077,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"ମୋବାଇଲ ଡାଟା"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"ଡିଭାଇସ ଅନୁଭୂତିକୁ ଉନ୍ନତ କରିବା ପାଇଁ, ୱାଇ-ଫାଇ ବନ୍ଦ ଥିଲେ ମଧ୍ୟ ଆପ୍ସ ଏବଂ ସେବାଗୁଡ଼ିକ ଏବେ ବି ଯେ କୌଣସି ସମୟରେ ୱାଇ-ଫାଇ ନେଟୱାର୍କ ପାଇଁ ସ୍କାନ କରିପାରିବେ। ଉଦାହରଣ ସ୍ଵରୂପ, ଲୋକେସନ-ଆଧାରିତ ଫିଚର ଓ ସେବାଗୁଡ଼ିକୁ ଉନ୍ନତ କରିବା ପାଇଁ ଏହାକୁ ବ୍ୟବହାର କରାଯାଇପାରିବ। ଆପଣ ଏହାକୁ ୱାଇ-ଫାଇ ସ୍କାନିଂ ସେଟିଂସରେ ପରିବର୍ତ୍ତନ କରିପାରିବେ।"</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"ପରିବର୍ତ୍ତନ କରନ୍ତୁ"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"ସଂଯୋଗ କରାଯାଇଛି"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"ଅସ୍ଥାୟୀ ରୂପେ କନେକ୍ଟ କରାଯାଇଛି"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"ଅସ୍ଥାୟୀ ରୂପେ <xliff:g id="SUBNAME">%1$s</xliff:g>କୁ ବ୍ୟବହାର କରୁଛି"</string>
@@ -5000,7 +5108,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ଆପ୍ ପିନିଂ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"ଡେଭଲପରଙ୍କ ପାଇଁ ବିକଳ୍ପଗୁଡ଼ିକୁ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"ପ୍ରିଣ୍ଟ ସେବା ବ୍ୟବହାର କରନ୍ତୁ"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"ଏକାଧିକ ୟୁଜରଙ୍କୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"ୟୁଜର ସୁଇଚକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"ଅନୁମତି, ଏକାଧିକ, ୟୁଜର, ପରମିଟ, ଅନେକ"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"ଏକାଧିକ, ୟୁଜର, ପ୍ରୋଫାଇଲ, ଲୋକମାନେ, ଆକାଉଣ୍ଟ, ସୁଇଚ, ଅନେକ"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ୱାୟାରଲେସ୍ ଡିବଗିଂ ବ୍ୟବହାର କରନ୍ତୁ"</string>
@@ -5057,52 +5165,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> ଆପଣଙ୍କ ଫୋନ୍ ସହ ସଂଯୋଗ କରିବାକୁ ଚାହୁଁଛି।\n\nଆପଣ ପୂର୍ବରୁ <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> ସହ ସଂଯୁକ୍ତ ହୋଇନାହାଁନ୍ତି।"</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"ସଂଯୋଗ କରନ୍ତୁ ନାହିଁ"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"କନେକ୍ଟ କରନ୍ତୁ"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE ସେଟିଂସ"</string>
-    <string name="tare_on" msgid="2386073225978684535">"ଚାଲୁ ଅଛି"</string>
-    <string name="tare_off" msgid="6305694402929756726">"ବନ୍ଦ ଅଛି"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"ଡିଫଲ୍ଟ ସେଟିଂସକୁ ଫେରି ଆସନ୍ତୁ"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"ସେଟିଂସ ଡିଫଲ୍ଟକୁ ଫେରି ଯାଇଛି।"</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"ଡିଭାଇସ ପୂରା ଚାର୍ଜ ବେଳେ ସର୍ବାଧିକ ବାଲାନ୍ସ"</string>
-    <string name="tare_balances" msgid="731881382594747961">"ବାଲାନ୍ସ"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"ବ୍ୟବହାରର ସୀମାଗୁଡ଼ିକ"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"ବ୍ୟବହାରର ପ୍ରାରମ୍ଭିକ ସୀମା"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"ବ୍ୟବହାରର ସର୍ବନିମ୍ନ ସୀମା"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"ବ୍ୟବହାରର ସର୍ବାଧିକ ସୀମା"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"ମୋଡିଫାୟରଗୁଡ଼ିକ"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"କାର୍ଯ୍ୟଗୁଡ଼ିକ (ତିଆରି କରିବା ପାଇଁ ଖର୍ଚ୍ଚ)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"କାର୍ଯ୍ୟଗୁଡ଼ିକ (ବେସ ମୂଲ୍ୟ)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"ଗୋଟିଏ ଇଭେଣ୍ଟ ପ୍ରତି ପୁରସ୍କାର"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"ଇଭେଣ୍ଟ ଅବଧିର ପ୍ରତି ସେକେଣ୍ଡରେ ରିୱାର୍ଡ"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"ଦୈନିକ ସର୍ବାଧିକ ପୁରସ୍କାର"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"ଆପ ଇନଷ୍ଟଲ"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"ଶ୍ରେଷ୍ଠ କାର୍ଯ୍ୟକଳାପ"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"ବିଜ୍ଞପ୍ତି ଦେଖାଯାଇଛି"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"ବିଜ୍ଞପ୍ତି 15 ମିନିଟ୍ ଭିତରେ ଦେଖାଯାଇଛି"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"ବିଜ୍ଞପ୍ତି ଇଣ୍ଟରାକ୍ସନ୍"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"ୱିଜେଟ୍ ସହ ଇଣ୍ଟରାକ୍ସନ୍"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"ଉପଯୋଗକର୍ତ୍ତାଙ୍କ ଦ୍ୱାରା ଅନ୍ୟ ଇଣ୍ଟରାକ୍ସନ୍"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"ସର୍ବାଧିକ ପ୍ରାଥମିକତା କାର୍ଯ୍ୟ ଆରମ୍ଭ ହେଉଛି"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"ସର୍ବାଧିକ ପ୍ରାଥମିକତା କାର୍ଯ୍ୟ ଚାଲୁ ଅଛି"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"ଉଚ୍ଚ ପ୍ରାଥମିକତା କାର୍ଯ୍ୟ ଆରମ୍ଭ ହେଉଛି"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"ଉଚ୍ଚ ପ୍ରାଥମିକତା କାର୍ଯ୍ୟ ଚାଲୁ ଅଛି"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"ଡିଫଲ୍ଟ ପ୍ରାଥମିକତା କାର୍ଯ୍ୟ ଆରମ୍ଭ ହେଉଛି"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"ଡିଫଲ୍ଟ ପ୍ରାଥମିକତା କାର୍ଯ୍ୟ ଚାଲୁ ଅଛି"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"ନିମ୍ନ ପ୍ରାଥମିକତା କାର୍ଯ୍ୟ ଆରମ୍ଭ ହେଉଛି"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"ନିମ୍ନ ପ୍ରାଥମିକତା କାର୍ଯ୍ୟ ଚାଲୁ ଅଛି"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"ସର୍ବନିମ୍ନ ପ୍ରାଥମିକତା କାର୍ଯ୍ୟ ଆରମ୍ଭ ହେଉଛି"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"ସର୍ବନିମ୍ନ ପ୍ରାଥମିକତା କାର୍ଯ୍ୟ ଚାଲୁ ଅଛି"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"କାର୍ଯ୍ୟ ଟାଇମଆଉଟ୍ ପାଇଁ ଦଣ୍ଡ"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"ଡିଭାଇସ ପୂରା ଚାର୍ଜ ଥିବା ବେଳେ ସର୍ବାଧିକ ବାଲାନ୍ସ (ବାଦ୍ ଦିଆଯାଇଛି)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"ଡିଭାଇସ ପୂରା ଚାର୍ଜ ଥିବା ବେଳେ ସର୍ବନିମ୍ନ ବାଲାନ୍ସ (Headless System ଆପ)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"ଡିଭାଇସ ପୂରା ଚାର୍ଜ ଥିବା ବେଳେ ସର୍ବନିମ୍ନ ବାଲାନ୍ସ (ଅବଶିଷ୍ଟ ଆପ୍ସ)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"ସର୍ବନିମ୍ନ ସାଟିଏଟେଡ ବାଲାନ୍ସ ଯୋଗ (ଆପ ଅପଡେଟରଗୁଡ଼ିକ)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"ଚାର୍ଜ ହେଉଛି"</item>
-    <item msgid="658627268149681677">"ଡଜ୍"</item>
-    <item msgid="1599558140284643834">"ପାୱାର ସେଭ୍ ମୋଡ୍"</item>
-    <item msgid="588427840913221601">"ପ୍ରକ୍ରିୟାର ସ୍ଥିତି"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"ସୁନିଶ୍ଚିତ କରନ୍ତୁ"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"ପ୍ରିଭ୍ୟୁ କରନ୍ତୁ"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"ଏକ ସ୍କ୍ରିନ ସେଭର ବାଛନ୍ତୁ"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"ଅତିରିକ୍ତ ସୂଚନା ଦେଖାନ୍ତୁ"</string>
@@ -5114,8 +5176,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"ଆପଣଙ୍କ ଟାବଲେଟକୁ ଡକ କରାଯାଇଥିବା ସମୟରେ ଆପଣ ଆପଣଙ୍କ ସ୍କ୍ରିନରେ କଣ ଦେଖିବେ ତାହା ବାଛନ୍ତୁ। ଏକ ସ୍କ୍ରିନ ସେଭର ବ୍ୟବହାର କରାଯିବା ସମୟରେ ଆପଣଙ୍କ ଡିଭାଇସ ଅଧିକ ଏନର୍ଜି ବ୍ୟବହାର କରିପାରେ।"</string>
     <string name="customize_button_title" msgid="1110284655990203359">"କଷ୍ଟମାଇଜ କରନ୍ତୁ"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>କୁ କଷ୍ଟମାଇଜ କରନ୍ତୁ"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"ଫ୍ରିଫର୍ମ ସହାୟତାକୁ ସକ୍ଷମ କରିବା ପାଇଁ ଏକ ରିବୁଟ ଆବଶ୍ୟକ।"</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"ସେକେଣ୍ଡାରୀ ଡିସପ୍ଲେରେ ଡେସ୍କଟପ ମୋଡକୁ ବାଧ୍ୟତାମୂଳକ ଭାବେ ଚାଲୁ କରିବା ପାଇଁ ରିବୁଟ କରିବା ଆବଶ୍ୟକ।"</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"ଫ୍ରିଫର୍ମ ୱିଣ୍ଡୋ ସପୋର୍ଟକୁ ସକ୍ଷମ କରିବା ପାଇଁ ଏକ ରିବୁଟ ଆବଶ୍ୟକ।"</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"ଫ୍ରିଫର୍ମ ୱିଣ୍ଡୋର ଉପଲବ୍ଧତାକୁ ଅପଡେଟ କରିବା ପାଇଁ ଏକ ରିବୁଟ ଆବଶ୍ୟକ।"</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"ସେକେଣ୍ଡାରୀ ଡିସପ୍ଲେରେ ଫ୍ରିଫର୍ମ ୱିଣ୍ଡୋକୁ ସକ୍ଷମ କରିବା ପାଇଁ ଏକ ରିବୁଟ ଆବଶ୍ୟକ।"</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"ବର୍ତ୍ତମାନ ରିବୁଟ କରନ୍ତୁ"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"ପରେ ରିବୁଟ କରନ୍ତୁ"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"ସ୍ପେସିଆଲ ଅଡିଓ"</string>
@@ -5212,7 +5275,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"ରୋଜ"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"ମାଜେଣ୍ଟା"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"ବାଇଗଣୀ"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"ହୋଇଗଲା"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"ସେଭ କରନ୍ତୁ"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"ବାତିଲ କରନ୍ତୁ"</string>
     <string name="contrast_default" msgid="8918545965525226966">"ଡିଫଲ୍ଟ"</string>
     <string name="contrast_medium" msgid="384414510709285811">"ମଧ୍ୟମ"</string>
@@ -5233,6 +5296,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"ଚାଲୁ ଅଛି"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"ବନ୍ଦ ଅଛି"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"ଚାଲୁ ଅଛି"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"ଅଡିଓ %1$d%% ବାମ, %2$d%% ଡାହାଣ"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"ଅଡିଓ %1$d%% ଡାହାଣ, %2$d%% ବାମ"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"ଆପଣ ଇନଷ୍ଟଲ କରିଥିବା ଆପ୍ସକୁ ଆପଣଙ୍କ ଡିଭାଇସ ନାମ ଦେଖାଯାଇଥାଏ। ଯେତେବେଳେ ଆପଣ ବ୍ଲୁଟୁଥ ଡିଭାଇସଗୁଡ଼ିକ ସହ କନେକ୍ଟ କରନ୍ତି, ଏକ ୱାଇ-ଫାଇ ନେଟୱାର୍କ ସହ କନେକ୍ଟ କରନ୍ତି କିମ୍ବା ଏକ ୱାଇ-ଫାଇ ହଟସ୍ପଟ ସେଟ ଅପ କରନ୍ତି, ସେତେବେଳେ ଏହା ଅନ୍ୟ ଲୋକମାନଙ୍କୁ ମଧ୍ୟ ଦେଖାଯାଇପାରେ।"</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"ବ୍ୟାକରଣଗତ ଲିଙ୍ଗ"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ବ୍ୟାକରଣଗତ ଲିଙ୍ଗ ଚୟନ କରନ୍ତୁ"</string>
@@ -5301,6 +5366,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"ଅଡିଓ ସେୟାରିଂ ବନ୍ଦ ହୋଇଛି"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"ଏକ କମ୍ପାଟିବଲ ଡିଭାଇସ କନେକ୍ଟ କରନ୍ତୁ"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"ଅଡିଓ ସେୟାରିଂ ଆରମ୍ଭ କରିବାକୁ ପ୍ରଥମେ ଆପଣଙ୍କ ଫୋନରେ LE ଅଡିଓ ହେଡଫୋନ କନେକ୍ଟ କରନ୍ତୁ"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>କୁ ସ୍ୱିଚ କରନ୍ତୁ"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"ଏକ LE ଅଡିଓ ଷ୍ଟ୍ରିମ ସହ କନେକ୍ଟ କରନ୍ତୁ"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"ଆଖପାଖର ଅଡିଓ ଷ୍ଟ୍ରିମଗୁଡ଼ିକ"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"ଅଡିଓ ଷ୍ଟ୍ରିମଗୁଡ଼ିକ"</string>
@@ -5344,4 +5410,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ଷ୍ଟ୍ରିମକୁ ଶୁଣନ୍ତୁ"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ସହିତ ଶୁଣିବା ପାଇଁ ଏକ ଅଡିଓ ଷ୍ଟ୍ରିମ QR କୋଡକୁ ସ୍କାନ କରନ୍ତୁ"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"ସେୟାର କରୁଥିବା ସମୟରେ ପାସୱାର୍ଡକୁ ଏଡିଟ କରିପାରିବେ ନାହିଁ। ପାସୱାର୍ଡକୁ ପରିବର୍ତ୍ତନ କରିବା ପାଇଁ, ପ୍ରଥମେ ଅଡିଓ ସେୟାରିଂକୁ ବନ୍ଦ କରନ୍ତୁ।"</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR କୋଡ ସ୍କାନର"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"ସାହାଯ୍ୟ ଆବଶ୍ୟକ?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"ସର୍ଚ୍ଚ ସେଟିଂସ"</string>
 </resources>
diff --git a/res/values-pa/arrays.xml b/res/values-pa/arrays.xml
index 11980c6..3b40ab4 100644
--- a/res/values-pa/arrays.xml
+++ b/res/values-pa/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"ਬੈੱਡਟਾਈਮ"</item>
-    <item msgid="4152450357280759894">"ਡਰਾਈਵਿੰਗ"</item>
-    <item msgid="7096549258219399423">"ਇਮਰਸਿਵ"</item>
-    <item msgid="2760716776980432977">"ਪ੍ਰਬੰਧਿਤ"</item>
-    <item msgid="601734478369121764">"ਤਾਰਾ"</item>
-    <item msgid="6243809315432780521">"ਕੈਲੰਡਰ"</item>
-    <item msgid="4913577903148415331">"ਸਮਾਂ"</item>
-    <item msgid="3653377604690057780">"ਥੀਏਟਰ"</item>
-    <item msgid="3843711267408385410">"ਫੁੱਲ"</item>
+    <item msgid="1216815120972438676">"ਬ੍ਰੀਫ਼ਕੇਸ"</item>
+    <item msgid="184985872234062767">"ਕਲਾਸਿਕਲ ਇਮਾਰਤ"</item>
+    <item msgid="9189550412466785530">"ਅਪਾਰਟਮੈਂਟ ਇਮਾਰਤ"</item>
+    <item msgid="2142527562511049422">"ਵਾਕ ਬੱਬਲ"</item>
+    <item msgid="2548100558260478605">"ਲੋਕਾਂ ਦਾ ਗਰੁੱਪ"</item>
+    <item msgid="2270003903304578284">"ਲਾਈਟ ਬਲਬ"</item>
+    <item msgid="4793496619091161864">"ਕੈਲੰਡਰ"</item>
+    <item msgid="5673625795644364100">"ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ"</item>
+    <item msgid="1423820834865831361">"ਦੌੜਦਾ ਹੋਇਆ ਵਿਅਕਤੀ"</item>
+    <item msgid="2037298830718732608">"ਗੌਲਫ਼"</item>
+    <item msgid="2197835014443491074">"ਜਿਮ ਦਾ ਡੰਬਲ"</item>
+    <item msgid="2730180105015616518">"ਤੈਰਾਕੀ"</item>
+    <item msgid="2666922823253345958">"ਹਾਈਕਿੰਗ ਕਰਦਾ ਵਿਅਕਤੀ"</item>
+    <item msgid="8234880356472211396">"ਗੇਂਦ ਸੁੱਟਦਾ ਵਿਅਕਤੀ"</item>
+    <item msgid="4642980625253001443">"ਕਿੱਕ ਮਾਰਦਾ ਵਿਅਕਤੀ"</item>
+    <item msgid="4324795269518833500">"ਗੇਮ ਕੰਟਰੋਲਰ"</item>
+    <item msgid="7789966425125441125">"ਕਲਾਕਾਰ ਲਈ ਰੰਗ ਪਟਲ"</item>
+    <item msgid="663512680597461570">"ਸਨੋਫਲੇਕ"</item>
+    <item msgid="7952183800501346803">"ਬੀਚ ਵਾਲੀ ਛੱਤਰੀ"</item>
+    <item msgid="799139025758265891">"ਵਰਕਸ਼ਾਪ ਦੇ ਔਜ਼ਾਰ"</item>
+    <item msgid="1330084588359129896">"ਤੰਬੂ"</item>
+    <item msgid="3861584909935022342">"ਫ਼ਿਲਮ ਰੀਲ"</item>
+    <item msgid="5827426100157335512">"ਬੁੱਕ ਕਰੋ"</item>
+    <item msgid="8585828346253128384">"ਕਮਲ ਦਾ ਫੁੱਲ"</item>
+    <item msgid="8788370542815300188">"ਵਿਅਕਤੀ ਦਾ ਮਨ"</item>
+    <item msgid="7287354964767553293">"ਹੈੱਡਫ਼ੋਨ"</item>
+    <item msgid="2530059623783800987">"ਟੀਵੀ"</item>
+    <item msgid="5307182323469376758">"ਰੇਲ ਗੱਡੀ"</item>
+    <item msgid="4903790544026923026">"ਕਾਰ"</item>
+    <item msgid="5010405583912314582">"ਕਾਂਟਾ ਅਤੇ ਛੁਰੀ"</item>
+    <item msgid="8939998598599064900">"ਖ਼ਰੀਦਦਾਰੀ ਕਾਰਟ"</item>
+    <item msgid="3379605903308731893">"ਬੱਚਾ"</item>
+    <item msgid="7808668968550293112">"ਜਾਨਵਰ ਦਾ ਪੰਜਾ"</item>
+    <item msgid="1000692647524056504">"ਸਟਾਰ ਬੈਜ"</item>
+    <item msgid="8270261073421676502">"ਦੋ ਲੋਕ"</item>
+    <item msgid="5767782819651505460">"ਤਾਰਾ"</item>
+    <item msgid="4368451291862729334">"ਦਿਲ"</item>
+    <item msgid="2613199102208419986">"ਘਰ"</item>
+    <item msgid="3022279986430275040">"ਅੱਧਾ-ਚੰਨ"</item>
+    <item msgid="5421089790869483206">"ਘੜੀ"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 81cec11..ab2c396 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"ਮੁਅੱਤਲ ਕੀਤਾ"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"ਅਣਪਛਾਤਾ"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"ਪੂਰਵ-ਝਲਕ"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR ਕੋਡ"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"ਛੋਟਾ ਕਰੋ"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"ਵੱਡਾ ਕਰੋ"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"ਹਮੇਸ਼ਾਂ"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"ਸੁਣਨ ਵਾਲੇ ਡੀਵਾਈਸ ਸੰਬੰਧੀ ਸੈਟਿੰਗਾਂ"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"ਸ਼ਾਰਟਕੱਟ, ਸੁਣਨ ਦੇ ਸਾਧਨ ਦੀ ਅਨੁਰੂਪਤਾ"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"ਪ੍ਰੀਸੈੱਟ"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"ਤੁਹਾਡੇ ਆਡੀਓਲਾਜਿਸਟ ਵੱਲੋਂ ਪ੍ਰੋਗਰਾਮ ਕੀਤਾ ਕੋਈ ਪ੍ਰੀਸੈੱਟ ਨਹੀਂ ਹੈ"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"ਪ੍ਰੀਸੈੱਟ ਨੂੰ ਅੱਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"ਆਡੀਓ ਆਊਟਪੁੱਟ"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ਆਡੀਓ ਆਊਟਪੁੱਟ ਬਾਰੇ"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਇਸ ਐਪ ਲਈ ਭਾਸ਼ਾ ਦੀ ਚੋਣ ਉਪਲਬਧ ਨਹੀਂ ਹੈ।"</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"ਭਾਸ਼ਾ ਐਪ ਵਿਚਲੀਆਂ ਉਪਲਬਧ ਭਾਸ਼ਾਵਾਂ ਨਾਲੋਂ ਵੱਖਰੀ ਹੋ ਸਕਦੀ ਹੈ। ਕੁਝ ਐਪਾਂ ਸ਼ਾਇਦ ਇਸ ਸੈਟਿੰਗਾਂ ਦਾ ਸਮਰਥਨ ਨਾ ਕਰਨ।"</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"ਹਰੇਕ ਐਪ ਲਈ ਭਾਸ਼ਾ ਸੈੱਟ ਕਰੋ।"</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"ਤੁਹਾਡਾ ਸਿਸਟਮ, ਐਪਾਂ ਅਤੇ ਵੈੱਬਸਾਈਟਾਂ ਤੁਹਾਡੀਆਂ ਤਰਜੀਹੀ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚੋਂ ਪਹਿਲੀ ਸਮਰਥਿਤ ਭਾਸ਼ਾ ਦੀ ਵਰਤੋਂ ਕਰਦੀਆਂ ਹਨ।"</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"ਤੁਹਾਡਾ ਡੀਵਾਈਸ, ਐਪਾਂ ਅਤੇ ਵੈੱਬਸਾਈਟਾਂ ਤੁਹਾਡੀ ਤਰਜੀਹੀ ਭਾਸ਼ਾ ਸੂਚੀ ਵਿੱਚੋਂ ਪਹਿਲੀ ਸਮਰਥਿਤ ਭਾਸ਼ਾ ਦੀ ਵਰਤੋਂ ਕਰਦੀਆਂ ਹਨ।\n\nਕਈ ਐਪਾਂ ਵੀ ਤਾਰੀਖਾਂ, ਨੰਬਰਾਂ ਅਤੇ ਇਕਾਈਆਂ ਦੇ ਫਾਰਮੈਟ ਲਈ ਤੁਹਾਡੀ ਤਰਜੀਹੀ ਭਾਸ਼ਾ ਨੂੰ ਵਰਤਣਗੀਆਂ। ਆਪਣੇ ਖੇਤਰ ਨੂੰ ਬਦਲਣ ਲਈ, ਭਾਸ਼ਾ ਸ਼ਾਮਲ ਕਰ ਕੇ, ਆਪਣਾ ਤਰਜੀਹੀ ਖੇਤਰ ਚੁਣੋ।"</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"ਹਰੇਕ ਐਪ ਲਈ ਕੋਈ ਭਾਸ਼ਾ ਚੁਣਨ ਵਾਸਤੇ, ਐਪ ਦੀਆਂ ਭਾਸ਼ਾ ਸੈਟਿੰਗਾਂ \'ਤੇ ਜਾਓ।"</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"ਐਪ ਭਾਸ਼ਾਵਾਂ ਬਾਰੇ ਹੋਰ ਜਾਣੋ"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"ਕੀ ਸਿਸਟਮ ਭਾਸ਼ਾ ਨੂੰ %s ਵਿੱਚ ਬਦਲਣਾ ਹੈ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"ਬੰਦ"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{ਚਾਲੂ / # ਐਪ ਕੋਲ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਹੈ}one{ਚਾਲੂ / # ਐਪ ਕੋਲ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਹੈ}other{ਚਾਲੂ / # ਐਪਾਂ ਕੋਲ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਹੈ}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"ਨਜ਼ਦੀਕੀ ਡੀਵਾਈਸਾਂ ਦੀਆਂ ਇਜਾਜ਼ਤਾਂ ਵਾਲੀਆਂ ਐਪਾਂ ਕਨੈਕਟ ਕੀਤੇ ਡੀਵਾਈਸਾਂ ਦੀ ਸੰਬੰਧਿਤ ਸਥਿਤੀ ਨਿਰਧਾਰਿਤ ਕਰ ਸਕਦੀਆਂ ਹਨ।"</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"ਨਜ਼ਦੀਕੀ ਡੀਵਾਈਸਾਂ ਦੀਆਂ ਇਜਾਜ਼ਤਾਂ ਵਾਲੀਆਂ ਐਪਾਂ ਕਨੈਕਟ ਕੀਤੇ ਡੀਵਾਈਸਾਂ ਦੀ ਸੰਬੰਧਿਤ ਸਥਿਤੀ ਨਿਰਧਾਰਿਤ ਕਰ ਸਕਦੀਆਂ ਹਨ।"</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"ਐਪਾਂ ਅਤੇ ਸੇਵਾਵਾਂ ਲਈ ਟਿਕਾਣਾ ਪਹੁੰਚ ਬੰਦ ਹੈ। ਤੁਹਾਡੇ ਵੱਲੋਂ ਕਿਸੇ ਐਮਰਜੈਂਸੀ ਨੰਬਰ \'ਤੇ ਕਾਲ ਕਰਨ ਜਾਂ ਲਿਖਤ ਸੁਨੇਹਾ ਭੇਜਣ \'ਤੇ ਹਾਲੇ ਵੀ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਦੀ ਟਿਕਾਣਾ ਜਾਣਕਾਰੀ ਐਮਰਜੈਂਸੀ ਮਦਦਗਾਰਾਂ ਨੂੰ ਭੇਜੀ ਜਾ ਸਕਦੀ ਹੈ।"</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"ਟਿਕਾਣਾ ਸੈਟਿੰਗਾਂ ਬਾਰੇ ਹੋਰ ਜਾਣੋ"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"ਬਦਲਣ ਲਈ, ChromeOS ਸੈਟਿੰਗਾਂ &gt; ਪਰਦੇਦਾਰੀ ਅਤੇ ਸੁਰੱਖਿਆ &gt; ਪਰਦੇਦਾਰੀ ਕੰਟਰੋਲ &gt; ਟਿਕਾਣਾ ਪਹੁੰਚ \'ਤੇ ਜਾਓ"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"ਚਿਹਰੇ ਅਤੇ <xliff:g id="WATCH">%s</xliff:g> ਨੂੰ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"ਚਿਹਰੇ, ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਤੇ <xliff:g id="WATCH">%s</xliff:g> ਨੂੰ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"ਚਿਹਰੇ, ਫਿੰਗਰਪ੍ਰਿੰਟਾਂ ਅਤੇ <xliff:g id="WATCH">%s</xliff:g> ਨੂੰ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"ਪਛਾਣ ਦੀ ਜਾਂਚ ਕਰਨ ਦੀ ਸੁਵਿਧਾ ਚਾਲੂ ਹੈ ਅਤੇ ਇਸਦੇ ਲਈ ਬਾਇਓਮੈਟ੍ਰਿਕ ਦੀ ਲੋੜ ਹੈ"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator ਅਣਲਾਕ"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"ਘੜੀ ਨੂੰ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"ਆਪਣੀ ਘੜੀ ਦਾ ਸੈੱਟਅੱਪ ਕਰੋ"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"ਵਾਚ ਅਣਲਾਕ ਬਾਰੇ ਹੋਰ ਜਾਣੋ"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"ਘੜੀ ਸ਼ਾਮਲ ਕਰੋ"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"ਘੜੀ ਨੂੰ ਹਟਾਓ"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਤੇ ਫ਼ੇਸ ਅਣਲਾਕ"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ਫ਼ੇਸ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਲਈ ਫ਼ੇਸ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ਸੈੱਟਅੱਪ ਦੀ ਲੋੜ ਹੈ"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"ਚਿਹਰੇ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਦਾ ਸੈੱਟਅੱਪ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਦਾ ਸੈੱਟਅੱਪ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"ਬਾਹਰ ਜਾਓ"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਉਪਲਬਧ ਨਹੀਂ ਹੈ।\nਸੰਭਾਵੀ ਕਾਰਨ ਦੇਖੋ"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"ਸੰਭਾਵੀ ਕਾਰਨ ਦੇਖੋ"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"ਕੀ ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਲਈ ਨਵਾਂ ਲਾਕ ਚੁਣਨਾ ਹੈ?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"ਤੁਸੀਂ ਬਸ ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਲਈ ਨਵੇਂ ਲਾਕ ਨੂੰ ਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ ਜਾਂ ਬਿਲਕੁਲ ਉਹੀ ਲਾਕ ਵਰਤੋ ਜੋ ਤੁਸੀਂ ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਅਣਲਾਕ ਕਰਨ ਲਈ ਵਰਤਦੇ ਹੋ"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"ਸਕ੍ਰੀਨ ਲਾਕ ਵਰਤੋ"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ਬਲੂਟੁੱਥ ਚਾਲੂ ਹੋਣ \'ਤੇ, ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਹੋਰ ਨਜ਼ਦੀਕੀ ਬਲੂਟੁੱਥ ਡੀਵਾਈਸਾਂ ਨਾਲ ਸੰਚਾਰ ਕਰ ਸਕਦਾ ਹੈ।\n\nਡੀਵਾਈਸ ਦੇ ਅਨੁਭਵ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ, ਐਪਾਂ ਅਤੇ ਸੇਵਾਵਾਂ ਕਿਸੇ ਵੇਲੇ ਵੀ ਨਜ਼ਦੀਕੀ ਡੀਵਾਈਸਾਂ ਲਈ ਸਕੈਨ ਕਰ ਸਕਦੀਆਂ ਹਨ, ਭਾਵੇਂ ਬਲੂਟੁੱਥ ਬੰਦ ਹੀ ਕਿਉਂ ਨਾ ਹੋਵੇ। ਇਸ ਦੀ ਵਰਤੋਂ ਟਿਕਾਣਾ-ਆਧਾਰਿਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਅਤੇ ਸੇਵਾਵਾਂ ਵਰਗੀਆਂ ਚੀਜ਼ਾਂ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ। ਤੁਸੀਂ ਇਸ ਨੂੰ ਬਲੂਟੁੱਥ ਸਕੈਨਿੰਗ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਬਦਲ ਸਕਦੇ ਹੋ।"</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"ਜਦੋਂ ਬਲੂਟੁੱਥ ਚਾਲੂ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਹੋਰਾਂ ਨਜ਼ਦੀਕੀ ਬਲੂਟੁੱਥ ਡੀਵਾਈਸਾਂ ਨਾਲ ਸੰਚਾਰ ਕਰ ਸਕਦਾ ਹੈ। ਕਵਿੱਕ ਸ਼ੇਅਰ ਅਤੇ Find My Device ਵਰਗੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਬਲੂਟੁੱਥ ਵਰਤਦੀਆਂ ਹਨ।\n\nਐਪਾਂ ਅਤੇ ਸੇਵਾਵਾਂ ਹਾਲੇ ਵੀ ਨਜ਼ਦੀਕੀ ਡੀਵਾਈਸਾਂ ਲਈ ਸਕੈਨ ਕਰ ਸਕਦੀਆਂ ਹਨ, ਭਾਵੇਂ ਬਲੂਟੁੱਥ ਬੰਦ ਹੋਵੇ। ਉਦਾਹਰਨ ਲਈ, ਇਸਦੀ ਵਰਤੋਂ, ਟਿਕਾਣਾ-ਆਧਾਰਿਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਅਤੇ ਸੇਵਾਵਾਂ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ। ਤੁਸੀਂ ਇਸਨੂੰ ਬਲੂਟੁੱਥ ਸਕੈਨ ਕਰਨ ਵਾਲੀਆਂ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਬਦਲ ਸਕਦੇ ਹੋ।"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"ਬਦਲੋ"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"ਡੀਵਾਈਸ ਦੇ ਵੇਰਵੇ"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"ਕੀ-ਬੋਰਡ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"ਹੋਰ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"ਫ਼ਰਮਵੇਅਰ ਅੱਪਡੇਟ, ਇਸ ਬਾਰੇ ਅਤੇ ਹੋਰ"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"ਨੁਕਤੇ ਅਤੇ ਸਹਾਇਤਾ"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"ਡੀਵਾਈਸ ਦਾ ਬਲੂਟੁੱਥ ਪਤਾ: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"ਡੀਵਾਈਸ ਦਾ ਬਲੂਟੁੱਥ ਪਤਾ: \n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"ਕੀ ਡੀਵਾਈਸ ਨੂੰ ਭੁੱਲਣਾ ਹੈ?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"ਐਕਸਪੈਰੀਮੈਂਟਲ। ਆਡੀਓ ਕੁਆਲਿਟੀ ਬਿਹਤਰ ਹੋਵੇਗੀ।"</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"ਡੀਵਾਈਸ ਨੂੰ ਭੁੱਲ ਜਾਓ"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"ਐਪ ਡਿਸਕਨੈਕਟ ਕਰੋ"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"ਹੋਰ ਸੈਟਿੰਗਾਂ"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"ਵੱਧ ਤੋਂ ਵੱਧ ਕਨੈਕਟ ਕੀਤੇ ਬਲੂਟੁੱਥ ਆਡੀਓ ਡੀਵਾਈਸ"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"ਵੱਧ ਤੋਂ ਵੱਧ ਕਨੈਕਟ ਕੀਤੇ ਬਲੂਟੁੱਥ ਆਡੀਓ ਡੀਵਾਈਸ ਚੁਣੋ"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC ਵਰਬੋਸ ਵਿਕਰੇਤਾ ਡੀਬੱਗ ਲੌਗ"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"ਕੀ ਡੀਵਾਈਸ ਮੁੜ-ਸ਼ੁਰੂ ਕਰਨਾ ਹੈ?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"ਵੇਰਵੇ ਵਾਲੀ NFC ਲੌਗਿੰਗ ਨੂੰ ਸਿਰਫ਼ ਵਿਕਾਸ ਦੇ ਉਦੇਸ਼ਾਂ ਲਈ ਬਣਾਇਆ ਗਿਆ ਹੈ। ਬੱਗ ਰਿਪੋਰਟਾਂ ਵਿੱਚ ਵਧੀਕ NFC ਡਾਟਾ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ, ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਪ੍ਰਾਈਵੇਟ ਜਾਣਕਾਰੀ ਸ਼ਾਮਲ ਹੋ ਸਕਦੀ ਹੈ। ਇਸ ਸੈਟਿੰਗ ਨੂੰ ਬਦਲਣ ਲਈ ਆਪਣਾ ਡੀਵਾਈਸ ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ।"</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"ਚਾਲੂ"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"ਬੰਦ ਹੈ"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"ਬਾਹਰੀ ਡਿਸਪਲੇ"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"ਬਾਹਰੀ ਡਿਸਪਲੇ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"ਡਿਸਪਲੇ ਰੈਜ਼ੋਲਿਊਸ਼ਨ"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"ਬਾਹਰੀ ਡਿਸਪਲੇ ਡਿਸਕਨੈਕਟ ਹੈ"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"ਘੁਮਾਅ"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"ਮਿਆਰੀ"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"ਘੁਮਾਅ ਜਾਂ ਰੈਜ਼ੋਲਿਊਸ਼ਨ ਨੂੰ ਬਦਲਣ ਨਾਲ ਫ਼ਿਲਹਾਲ ਚੱਲ ਰਹੀਆਂ ਕੁਝ ਐਪਾਂ ਬੰਦ ਹੋ ਸਕਦੀਆਂ ਹਨ"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ ਨੂੰ ਪ੍ਰਤਿਬਿੰਬਿਤ ਕਰਨ ਲਈ, ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਨੂੰ ਇੱਕ ਬਾਹਰੀ ਡਿਸਪਲੇ ਨਾਲ ਕਨੈਕਟ ਕੀਤਾ ਜਾਣਾ ਲਾਜ਼ਮੀ ਹੈ"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"ਹੋਰ ਵਿਕਲਪ"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"ਕਾਸਟ ਕਰੋ"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"ਸ਼ੀਸ਼ਾ"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"ਵਾਇਰਲੈਸ ਡਿਸਪਲੇ ਚਾਲੂ ਕਰੋ"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"ਅਡੈਪਟਿਵ"</string>
     <string name="brightness" msgid="6216871641021779698">"ਚਮਕ ਦਾ ਪੱਧਰ"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"ਅਡੈਪਟਿਵ ਬ੍ਰਾਈਟਨੈੱਸ"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"ਅਡੈਪਟਿਵ ਬ੍ਰਾਈਟਨੈੱਸ ਬਾਰੇ"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ ਦੀ ਚਮਕ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਵਾਤਾਵਰਨ ਅਤੇ ਤੁਹਾਡੇ ਵੱਲੋਂ ਕੀਤੀਆਂ ਜਾਣ ਵਾਲੀਆਂ ਸਰਗਰਮੀਆਂ ਦੇ ਮੁਤਾਬਕ ਵੱਧ-ਘੱਟ ਹੋਵੇਗੀ। ਅਡੈਪਟਿਵ ਬ੍ਰਾਈਟਨੈੱਸ ਨੂੰ ਤੁਹਾਡੀਆਂ ਤਰਜੀਹਾਂ ਬਾਰੇ ਸਿੱਖਣ ਵਿੱਚ ਮਦਦ ਕਰਨ ਲਈ ਤੁਸੀਂ ਸਲਾਈਡਰ ਨੂੰ ਹੱਥੀਂ ਹਿਲਾ ਸਕਦੇ ਹੋ।"</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"ਚਾਲੂ"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"ਬੰਦ"</string>
@@ -1311,8 +1344,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="8850185380445309835">"ਕੀ ਤਰਜੀਹੀ ਸਿਮ ਅੱਪਡੇਟ ਕਰਨਾ ਹੈ?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਵਿੱਚ ਸਿਰਫ਼ <xliff:g id="NEW_SIM">%1$s</xliff:g> ਸਿਮ ਹੀ ਹੈ। ਕੀ ਤੁਸੀਂ ਇਸ ਸਿਮ ਨੂੰ ਮੋਬਾਈਲ ਡਾਟੇ, ਕਾਲਾਂ, ਅਤੇ SMS ਸੁਨੇਹਿਆਂ ਦੇ ਲਈ ਵਰਤਣਾ ਚਾਹੁੰਦੇ ਹੋ?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> ਹੁਣ ਤੁਹਾਡਾ ਮੁੱਖ ਸਿਮ ਹੈ"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"ਮੋਬਾਈਲ ਡਾਟਾ ਕਵਰੇਜ ਵਧਾਉਣੀ ਹੈ?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"ਬਿਹਤਰ ਉਪਲਬਧਤਾ ਹੋਣ \'ਤੇ, ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਮੋਬਾਈਲ ਡਾਟਾ ਦੇ ਲਈ <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> \'ਤੇ ਆਪਣੇ ਆਪ ਸਵਿੱਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿਓ।"</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"ਕਾਲਾਂ, ਸੁਨੇਹੇ ਅਤੇ ਨੈੱਟਵਰਕ ਟਰੈਫ਼ਿਕ ਤੁਹਾਡੀ ਸੰਸਥਾ ਨੂੰ ਦਿਖਣਯੋਗ ਹੋ ਸਕਦੇ ਹਨ।"</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"ਵਿਕਲਪ"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"ਪਹੁੰਚਯੋਗਤਾ"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"ਭੌਤਿਕ ਕੀ-ਬੋਰਡ"</string>
-    <string name="show_ime" msgid="4334255501724746849">"ਆਨ-ਸਕ੍ਰੀਨ ਕੀ-ਬੋਰਡ ਨੂੰ ਵਰਤੋ"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"ਭੌਤਿਕ ਕੀ-ਬੋਰਡ ਕਿਰਿਆਸ਼ੀਲ ਹੋਣ ਦੌਰਾਨ ਇਸ ਨੂੰ ਸਕ੍ਰੀਨ \'ਤੇ ਬਣਾਈ ਰੱਖੋ"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"ਬਾਊਂਸ ਕੁੰਜੀਆਂ"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ਮਿਲੀਸਕਿੰਟਾਂ ਵਿੱਚ ਵਾਰ-ਵਾਰ ਇੱਕੋ ਕੁੰਜੀ ਨੂੰ ਦਬਾਉਂਦੇ ਰਹਿਣ \'ਤੇ ਕੀ-ਬੋਰਡ ਉਸਨੂੰ ਅਣਡਿੱਠ ਕਰ ਦਿੰਦਾ ਹੈ"</string>
     <string name="slow_keys" msgid="2891452895499690837">"ਸਲੋ ਕੁੰਜੀਆਂ"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"ਕਿਸੇ ਕੁੰਜੀ ਨੂੰ ਕਿਰਿਆਸ਼ੀਲ ਕਰਨ ਵਿੱਚ ਲੱਗਣ ਵਾਲੇ ਸਮੇਂ ਨੂੰ <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ਮਿਲੀਸਕਿੰਟਾਂ ਤੱਕ ਵਿਵਸਥਿਤ ਕਰਦਾ ਹੈ"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"ਸਥਿਰ ਕੁੰਜੀਆਂ"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"ਸ਼ਾਰਟਕੱਟਾਂ ਲਈ ਕੁੰਜੀਆਂ ਨੂੰ ਇਕੱਠੇ ਦਬਾਈ ਰੱਖਣ ਦੀ ਬਜਾਏ ਇੱਕ ਵਾਰ ਵਿੱਚ ਇੱਕ ਕੁੰਜੀ ਦਬਾਓ"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"ਮਾਊਸ ਕੁੰਜੀਆਂ"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"ਮਾਊਸ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨ ਲਈ ਭੌਤਿਕ ਕੀ-ਬੋਰਡ ਵਰਤੋ।"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"ਕੀ-ਬੋਰਡ ਸ਼ਾਰਟਕੱਟ"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"ਸ਼ਾਰਟਕੱਟਾਂ ਦੀ ਸੂਚੀ ਦਿਖਾਓ"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਕੀ-ਬੋਰਡ ਅਤੇ ਟੂਲ"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"ਵਿਅਕਤੀਗਤ ਟੱਚਪੈਡ ਨੈਵੀਗੇਸ਼ਨ ਇਸ਼ਾਰਿਆਂ ਨੂੰ ਵਿਉਂਤਬੱਧ ਕਰੋ"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"ਉਲਟ ਸਕ੍ਰੋਲਿੰਗ"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"ਤੁਹਾਡੇ ਵੱਲੋਂ ਹੇਠਾਂ ਵੱਲ ਸਕ੍ਰੋਲ ਕਰਨ \'ਤੇ ਸਮੱਗਰੀ ਉੱਪਰ ਵੱਲ ਜਾਵੇਗੀ"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"ਹੇਠਲਾ-ਸੱਜਾ ਟੈਪ"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"ਹੋਰ ਵਿਕਲਪਾਂ ਲਈ ਟੱਚਪੈਡ ਦੇ ਹੇਠਲੇ ਸੱਜੇ ਕੋਨੇ \'ਤੇ ਟੈਪ ਕਰੋ"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"ਹੇਠਲਾ-ਸੱਜਾ-ਕਲਿੱਕ"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"ਹੋਰ ਵਿਕਲਪਾਂ ਲਈ ਟੱਚਪੈਡ ਦੇ ਹੇਠਲੇ ਸੱਜੇ ਕੋਨੇ \'ਤੇ ਕਲਿੱਕ ਕਰੋ"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"ਪੁਆਇੰਟਰ ਸਪੀਡ"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"ਪੁਆਇੰਟਰ ਭਰਨ ਦਾ ਸਟਾਈਲ"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"ਪੁਆਇੰਟਰ ਭਰਨ ਦਾ ਸਟਾਈਲ ਕਾਲੇ ਵਿੱਚ ਬਦਲੋ"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"ਪੁਆਇੰਟਰ ਭਰਨ ਦਾ ਸਟਾਈਲ ਪੀਲੇ ਵਿੱਚ ਬਦਲੋ"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"ਪੁਆਇੰਟਰ ਭਰਨ ਦਾ ਸਟਾਈਲ ਗੁਲਾਬੀ \'ਚ ਬਦਲੋ"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"ਪੁਆਇੰਟਰ ਭਰਨ ਦਾ ਸਟਾਈਲ ਨੀਲੇ ਵਿੱਚ ਬਦਲੋ"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"ਪੁਆਇੰਟਰ ਸਟ੍ਰੋਕ ਸਟਾਈਲ"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"ਸਫ਼ੈਦ"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"ਕਾਲਾ"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"ਕੋਈ ਨਹੀਂ"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"ਟੱਚਪੈਡ ਇਸ਼ਾਰਿਆਂ ਬਾਰੇ ਜਾਣੋ"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"ਟਰੈਕਪੈਡ, ਟਰੈਕ ਪੈਡ, ਮਾਊਸ, ਕਰਸਰ, ਸਕ੍ਰੋਲ ਕਰੋ, ਸਵਾਈਪ ਕਰੋ, ਸੱਜਾ ਕਲਿੱਕ, ਕਲਿੱਕ ਕਰੋ, ਪੁਆਇੰਟ"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"ਸੱਜਾ ਕਲਿੱਕ, ਟੈਪ ਕਰੋ"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"ਰੀਸੈੱਟ ਕਰੋ"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"ਸੋਧਕ ਕੁੰਜੀ ਚੁਣੋ"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> ਲਈ ਨਵੀਂ ਕੁੰਜੀ ਚੁਣੋ:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> ਖਾਕਾ"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ਪੂਰਵ-ਨਿਰਧਾਰਿਤ"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"ਸਵੈਚਲਿਤ: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"ਵਰਤੋਂ ਦੀ ਚੋਣ: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"ਬੋਲੀ"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"ਪੁਆਇੰਟਰ ਸਪੀਡ"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"ਪੁਆਇੰਟਰ ਦਾ ਸਕੇਲ"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"ਪੁਆਇੰਟਰ ਦੇ ਸਕੇਲ ਨੂੰ ਘਟਾਓ"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"ਪੁਆਇੰਟਰ ਦੇ ਸਕੇਲ ਨੂੰ ਵਧਾਓ"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"ਗੇਮ ਕੰਟ੍ਰੋਲਰ"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"ਥਰਥਰਾਹਟ ਰੀਡਾਇਰੈਕਟ ਕਰੋ"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"ਕਨੈਕਟ ਕੀਤੇ ਜਾਣ \'ਤੇ ਗੇਮ ਕੰਟਰੋਲਰ \'ਤੇ ਥਰਥਰਾਹਟ ਕਰੋ"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"ਫਿਰ ਵੀ ਜਾਰੀ ਰੱਖੋ"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"ਰੱਦ ਕਰੋ"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"ਵੱਡਦਰਸ਼ੀਕਰਨ ਸੈਟਿੰਗਾਂ"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"ਇੱਕ ਉਂਗਲ ਨਾਲ ਪੈਨਿੰਗ"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"1 ਉਂਗਲ ਨਾਲ ਵੱਡਦਰਸ਼ੀ ਨੂੰ ਇੱਧਰ-ਉੱਧਰ ਲਿਜਾਓ"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"ਸਕ੍ਰੀਨ \'ਤੇ ਇੱਧਰ-ਉੱਧਰ ਜਾਣ ਲਈ 1 ਉਂਗਲ ਘਸੀਟੋ"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"ਇੱਕ ਉਂਗਲ ਨਾਲ ਘਸੀਟ ਕੇ ਵੱਡਦਰਸ਼ੀਕਰਨ ਖੇਤਰ ਨੂੰ ਹਿਲਾਓ।"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"ਦੋ ਉਂਗਲਾਂ ਨਾਲ ਘਸੀਟ ਕੇ ਵੱਡਦਰਸ਼ੀਕਰਨ ਖੇਤਰ ਨੂੰ ਹਿਲਾਓ।"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"ਸਿਰਫ਼ ਸਕ੍ਰੀਨ ਦਾ ਇੱਕ ਹਿੱਸਾ ਵੱਡਦਰਸ਼ੀਕਰਨ ਦੌਰਾਨ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ਜ਼ੂਮ ਕਰਨ ਲਈ ਬਟਨ \'ਤੇ ਟੈਪ ਕਰੋ"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"ਸਮੱਗਰੀ ਨੂੰ ਵੱਡਾ ਕਰਨ ਲਈ ਸਕ੍ਰੀਨ \'ਤੇ ਤੇਜ਼ੀ ਨਾਲ ਜ਼ੂਮ ਵਧਾਓ"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;ਜ਼ੂਮ ਵਧਾਉਣ ਲਈ:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ਵੱਡਦਰਸ਼ੀਕਰਨ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸ਼ਾਰਟਕੱਟ ਵਰਤੋ&lt;br/&gt; {1,number,integer}. ਸਕ੍ਰੀਨ \'ਤੇ ਟੈਪ ਕਰੋ&lt;br/&gt; {2,number,integer}. ਸਕ੍ਰੀਨ \'ਤੇ ਇੱਧਰ-ਉੱਧਰ ਜਾਣ ਲਈ 2 ਉਂਗਲਾਂ ਨਾਲ ਘਸੀਟੋ&lt;br/&gt; {3,number,integer}. ਜ਼ੂਮ ਵਿੱਚ ਵਾਧ-ਘਾਟ ਕਰਨ ਲਈ 2 ਉਂਗਲਾਂ ਨਾਲ ਚੂੰਢੀ ਭਰੋ&lt;br/&gt; {4,number,integer}. ਵੱਡਦਰਸ਼ੀਕਰਨ ਨੂੰ ਰੋਕਣ ਲਈ ਸ਼ਾਰਟਕੱਟ ਵਰਤੋ&lt;br/&gt;&lt;br/&gt; &lt;b&gt;ਕੁਝ ਸਮੇਂ ਲਈ ਜ਼ੂਮ ਵਧਾਉਣ ਲਈ:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਹਾਡੀ ਵੱਡਦਰਸ਼ੀਕਰਨ ਕਿਸਮ ਪੂਰੀ ਸਕ੍ਰੀਨ \'ਤੇ ਸੈੱਟ ਹੈ&lt;br/&gt; {1,number,integer}. ਵੱਡਦਰਸ਼ੀਕਰਨ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸ਼ਾਰਟਕੱਟ ਵਰਤੋ&lt;br/&gt; {2,number,integer}. ਸਕ੍ਰੀਨ \'ਤੇ ਕਿਤੇ ਵੀ ਸਪਰਸ਼ ਕਰ ਕੇ ਰੱਖੋ&lt;br/&gt; {3,number,integer}. ਸਕ੍ਰੀਨ \'ਤੇ ਇੱਧਰ-ਉੱਧਰ ਜਾਣ ਲਈ ਉਂਗਲ ਨਾਲ ਘਸੀਟੋ&lt;br/&gt; {4,number,integer}. ਵੱਡਦਰਸ਼ੀਕਰਨ ਨੂੰ ਰੋਕਣ ਲਈ ਉਂਗਲ ਚੁੱਕੋ"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;ਜ਼ੂਮ ਵਧਾਉਣ ਲਈ:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ਵੱਡਦਰਸ਼ੀਕਰਨ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸ਼ਾਰਟਕੱਟ ਵਰਤੋ&lt;br/&gt; {1,number,integer}. ਸਕ੍ਰੀਨ \'ਤੇ ਟੈਪ ਕਰੋ&lt;br/&gt; {2,number,integer}. ਸਕ੍ਰੀਨ \'ਤੇ ਘੁਮਾਉਣ ਲਈ 2 ਉਂਗਲਾਂ ਨਾਲ ਘਸੀਟੋ&lt;br/&gt; {3,number,integer}. ਜ਼ੂਮ ਵਿੱਚ ਵਾਧ-ਘਾਟ ਕਰਨ ਲਈ 2 ਉਂਗਲਾਂ ਨਾਲ ਚੂੰਢੀ ਭਰੋ&lt;br/&gt; {4,number,integer}. ਵੱਡਦਰਸ਼ੀਕਰਨ ਨੂੰ ਰੋਕਣ ਲਈ ਸ਼ਾਰਟਕੱਟ ਦੀ ਵਰਤੋਂ ਕਰੋ&lt;br/&gt;&lt;br/&gt; ਤੁਸੀਂ ਕੁਝ ਸਮੇਂ ਲਈ ਜ਼ੂਮ ਵਧਾ ਅਤੇ ਹੋਰ ਵੀ ਬਹੁਤ ਕੁਝ ਕਰ ਸਕਦੇ ਹੋ।"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;ਜ਼ੂਮ ਵਧਾਉਣ ਲਈ:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ਵੱਡਦਰਸ਼ੀਕਰਨ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸ਼ਾਰਟਕੱਟ ਵਰਤੋ&lt;br/&gt; {1,number,integer}. ਸਕ੍ਰੀਨ \'ਤੇ ਟੈਪ ਕਰੋ&lt;br/&gt; {2,number,integer}. ਸਕ੍ਰੀਨ \'ਤੇ ਘੁਮਾਉਣ ਲਈ 1 ਜਾਂ 2 ਉਂਗਲਾਂ ਨਾਲ ਘਸੀਟੋ&lt;br/&gt; {3,number,integer}. ਜ਼ੂਮ ਵਿੱਚ ਵਾਧ-ਘਾਟ ਕਰਨ ਲਈ 2 ਉਂਗਲਾਂ ਨਾਲ ਚੂੰਢੀ ਭਰੋ&lt;br/&gt; {4,number,integer}. ਵੱਡਦਰਸ਼ੀਕਰਨ ਨੂੰ ਰੋਕਣ ਲਈ ਸ਼ਾਰਟਕੱਟ ਦੀ ਵਰਤੋਂ ਕਰੋ&lt;br/&gt;&lt;br/&gt; ਤੁਸੀਂ ਕੁਝ ਸਮੇਂ ਲਈ ਜ਼ੂਮ ਵਧਾ ਅਤੇ ਹੋਰ ਵੀ ਬਹੁਤ ਕੁਝ ਕਰ ਸਕਦੇ ਹੋ।"</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_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g> ਵਿੱਚੋਂ ਪੰਨਾ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ ਦਾ ਸ਼ਾਰਟਕੱਟ"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"ਫ਼ਲੋਟਿੰਗ ਬਟਨ \'ਤੇ ਟੈਪ ਕਰੋ"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"ਪਹੁੰਚਯੋਗਤਾ ਸੰਬੰਧੀ ਇਸ਼ਾਰਾ"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"ਆਪਣੀ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> \'ਤੇ ਟੈਪ ਕਰੋ। ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿਚਾਲੇ ਸਵਿੱਚ ਕਰਨ ਲਈ, ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ \'ਤੇ ਸਪਰਸ਼ ਕਰ ਕੇ ਰੱਖੋ।"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"2 ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ।\n\nਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ, 2 ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"3 ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ।\n\nਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ, 3 ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{ਆਪਣੀ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ। ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿਚਾਲੇ ਸਵਿੱਚ ਕਰਨ ਲਈ, ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।}one{# ਉਂਗਲ ਨਾਲ ਆਪਣੀ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ। ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿਚਾਲੇ ਸਵਿੱਚ ਕਰਨ ਲਈ, # ਉਂਗਲ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।}other{# ਉਂਗਲਾਂ ਨਾਲ ਆਪਣੀ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ। ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿਚਾਲੇ ਸਵਿੱਚ ਕਰਨ ਲਈ, # ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"ਹੋਰ ਵਿਕਲਪ"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"<xliff:g id="SERVICE">%1$s</xliff:g> ਬਾਰੇ ਹੋਰ ਜਾਣੋ"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"ਅਵਾਜ਼ ਕੁੰਜੀਆਂ"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"ਅਵਾਜ਼ ਕੁੰਜੀਆਂ"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"ਦੋਵੇਂ ਅਵਾਜ਼ ਕੁੰਜੀਆਂ ਨੂੰ ਦਬਾਈ ਰੱਖੋ"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"ਸਕ੍ਰੀਨ \'ਤੇ ਦੋ-ਉਂਗਲਾਂ ਨਾਲ ਡਬਲ ਟੈਪ ਕਰੋ"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d-ਉਂਗਲਾਂ ਨਾਲ ਡਬਲ ਟੈਪ ਕਰੋ"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"%1$d ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ \'ਤੇ ਦੋ ਵਾਰ ਤੇਜ਼ੀ ਨਾਲ ਟੈਪ ਕਰੋ"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"ਤਿੰਨ ਵਾਰ ਟੈਪ ਕਰੋ"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"ਸਕ੍ਰੀਨ \'ਤੇ %1$d ਵਾਰ ਤੇਜ਼ੀ ਨਾਲ ਟੈਪ ਕਰੋ। ਇਸ ਨਾਲ ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਹੌਲੀ ਹੋ ਸਕਦਾ ਹੈ।"</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d-ਉਂਗਲਾਂ ਨਾਲ ਡਬਲ ਟੈਪ ਕਰੋ"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"ਤੇਜ਼ੀ ਨਾਲ ਸਕ੍ਰੀਨ \'ਤੇ ਦੋ ਉਂਗਲਾਂ ਨਾਲ {0,number,integer} ਵਾਰ ਟੈਪ ਕਰੋ"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"ਸਕ੍ਰੀਨ \'ਤੇ ਟ੍ਰਿਪਲ ਟੈਪ ਕਰੋ"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"ਤਿੰਨ ਵਾਰ ਟੈਪ ਕਰੋ"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"ਸਕ੍ਰੀਨ \'ਤੇ ਤੇਜ਼ੀ ਨਾਲ {0,number,integer} ਵਾਰ ਟੈਪ ਕਰੋ। ਇਹ ਸ਼ਾਰਟਕੱਟ ਸ਼ਾਇਦ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਨੂੰ ਹੌਲੀ ਕਰ ਦੇਵੇ"</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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"ਸ਼ਾਰਟਕੱਟ ਸੈਟਿੰਗਾਂ"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"ਲਾਕ ਸਕ੍ਰੀਨ ਤੋਂ ਸ਼ਾਰਟਕੱਟ"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"ਲਾਕ ਸਕ੍ਰੀਨ ਤੋਂ ਵਿਸ਼ੇਸ਼ਤਾ ਸ਼ਾਰਟਕੱਟ ਨੂੰ ਚਾਲੂ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿਓ। ਕੁਝ ਸਕਿੰਟਾਂ ਲਈ ਦੋਵੇਂ ਅਵਾਜ਼ ਕੁੰਜੀਆਂ ਨੂੰ ਦਬਾਈ ਰੱਖੋ।"</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ ਅਤੇ ਇਸ਼ਾਰਾ"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"ਇਹ ਸੇਵਾ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਨਹੀਂ ਕਰ ਰਹੀ ਹੈ।"</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"ਪਹੁੰਚਯੋਗਤਾ ਸ਼ਾਰਟਕੱਟ"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"ਤਤਕਾਲ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਦਿਖਾਓ"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"ਲਾਲ-ਹਰਾ"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"ਲਾਲ-ਹਰਾ"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"ਅਜਿਹੀ ਸਮੱਸਿਆ, ਜਿਸ ਵਿੱਚ ਲਾਲ ਰੰਗ ਹਰਾ ਦਿਸਦਾ ਹੈ"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"ਅਜਿਹੀ ਸਮੱਸਿਆ, ਜਿਸ ਵਿੱਚ ਹਰਾ ਰੰਗ ਲਾਲ ਦਿਸਦਾ ਹੈ"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"ਨੀਲਾ-ਪੀਲਾ"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"ਗ੍ਰੇਸਕੇਲ"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"ਤੀਬਰਤਾ"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"ਉਹ ਸਮੱਸਿਆ ਜਿਸ ਵਿੱਚ ਹਰਾ ਰੰਗ ਲਾਲ ਦਿਸਦਾ ਹੈ"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"ਉਹ ਸਮੱਸਿਆ ਜਿਸ ਵਿੱਚ ਲਾਲ ਰੰਗ ਹਰਾ ਦਿਸਦਾ ਹੈ"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"ਗ੍ਰੇਸਕੇਲ ਮੋਡ ਜਾਂ ਰੰਗ ਸੁਧਾਈ ਵਿਸ਼ੇਸ਼ਤਾ ਬੰਦ ਹੋਣ \'ਤੇ ਇਹ ਸੈਟਿੰਗ ਉਪਲਬਧ ਨਹੀਂ ਹੁੰਦੀ"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"ਜ਼ਿਆਦਾ ਘੱਟ ਚਮਕ"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"ਸਕ੍ਰੀਨ ਦੀ ਚਮਕ ਜ਼ਿਆਦਾ ਘੱਟ ਕਰੋ"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"ਹਰਾ ਨੀਲਾ"</string>
     <string name="color_yellow" msgid="5957551912912679058">"ਪੀਲਾ"</string>
     <string name="color_magenta" msgid="8943538189219528423">"ਮਜੈਂਟਾ"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"ਕੀ <xliff:g id="SERVICE">%1$s</xliff:g> ਨੂੰ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਦਾ ਪੂਰਾ ਕੰਟਰੋਲ ਦੇਣਾ ਹੈ?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> ਨੂੰ ਇਹ ਕਰਨ ਦੀ ਲੋੜ ਹੈ:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"ਕਿਉਂਕਿ ਇੱਕ ਐਪ ਇੱਕ ਇਜਾਜ਼ਤ ਬੇਨਤੀ ਨੂੰ ਅਸਪਸ਼ਟ ਬਣਾ ਰਿਹਾ ਹੈ, ਸੈਟਿੰਗਾਂ ਤੁਹਾਡੇ ਜਵਾਬ ਦੀ ਜਾਂਚ ਨਹੀਂ ਕਰ ਸਕਦੀਆਂ।"</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> ਇਸ ਡੀਵਾਈਸ ਦੇ ਪੂਰੇ ਕੰਟਰੋਲ ਲਈ ਬੇਨਤੀ ਕਰ ਰਹੀ ਹੈ। ਸੇਵਾ ਸਕ੍ਰੀਨ ਨੂੰ ਪੜ੍ਹ ਕੇ ਪਹੁੰਚਯੋਗਤਾ ਜ਼ਰੂਰਤਾਂ ਵਾਲੇ ਵਰਤੋਂਕਾਰਾਂ ਵਜੋਂ ਕੰਮ ਕਰ ਸਕਦੀ ਹੈ। ਜ਼ਿਆਦਾਤਰ ਐਪਾਂ ਲਈ ਕੰਟਰੋਲ ਦਾ ਇਹ ਪੱਧਰ ਢੁਕਵਾਂ ਨਹੀਂ ਹੈ।"</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"ਪੂਰਾ ਕੰਟਰੋਲ ਉਨ੍ਹਾਂ ਐਪਾਂ ਲਈ ਢੁਕਵਾਂ ਹੈ ਜੋ ਪਹੁੰਚਯੋਗਤਾ ਸੰਬੰਧੀ ਲੋੜਾਂ ਵਿੱਚ ਤੁਹਾਡੀ ਮਦਦ ਕਰਦੀਆਂ ਹਨ, ਪਰ ਜ਼ਿਆਦਾਤਰ ਐਪਾਂ ਲਈ ਢੁਕਵਾਂ ਨਹੀਂ ਹੁੰਦਾ।"</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"ਸਕ੍ਰੀਨ ਨੂੰ ਦੇਖਣਾ ਅਤੇ ਕੰਟਰੋਲ ਕਰਨਾ"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"ਇਹ ਸਕ੍ਰੀਨ \'ਤੇ ਸਾਰੀ ਸਮੱਗਰੀ ਪੜ੍ਹ ਸਕਦੀ ਹੈ ਅਤੇ ਸਮੱਗਰੀ ਨੂੰ ਦੂਜੀਆਂ ਐਪਾਂ ਦੇ ਉੱਪਰ ਦਿਖਾ ਸਕਦੀ ਹੈ।"</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"ਕਾਰਵਾਈਆਂ ਦੇਖਣਾ ਅਤੇ ਕਰਨਾ"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"ਇਹ ਕਿਸੇ ਐਪ ਜਾਂ ਹਾਰਡਵੇਅਰ ਸੈਂਸਰ ਦੇ ਨਾਲ ਤੁਹਾਡੀਆਂ ਅੰਤਰਕਿਰਿਆਵਾਂ ਨੂੰ ਟਰੈਕ ਕਰ ਸਕਦੀ ਹੈ ਅਤੇ ਤੁਹਾਡੀ ਤਰਫ਼ੋਂ ਐਪਾਂ ਦੇ ਨਾਲ ਅੰਤਰਕਿਰਿਆ ਕਰ ਸਕਦੀ ਹੈ।"</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"ਕਰਨ ਦਿਓ"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"ਨਾ ਕਰਨ ਦਿਓ"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"ਬੰਦ ਕਰੋ"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"ਚਾਲੂ / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> ਅਤੇ <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"ਤੁਸੀਂ ਸਪੇਸ਼ਿਅਲ ਆਡੀਓ ਨੂੰ ਬਲੂਟੁੱਥ ਡੀਵਾਈਸਾਂ ਲਈ ਵੀ ਚਾਲੂ ਕਰ ਸਕਦੇ ਹੋ।"</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"ਕਨੈਕਟ ਕੀਤੇ ਡੀਵਾਈਸਾਂ ਸੰਬੰਧੀ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"ਸਪੇਸ਼ਿਅਲ ਆਡੀਓ"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"ਬੰਦ"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"ਬੰਦ"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"ਬੰਦ"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{ਕੋਈ ਨਹੀਂ}=1{1 ਸਮਾਂ-ਸੂਚੀ ਸੈੱਟ ਹੈ}other{# ਸਮਾਂ-ਸੂਚੀਆਂ ਸੈੱਟ ਹਨ}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"ਤਰਜੀਹ ਮੋਡ"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"ਕੋਈ ਮੋਡ ਸ਼ਾਮਲ ਕਰੋ"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"ਮੋਡ"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"ਧਿਆਨ ਭਟਕਾਉਣ ਵਾਲੀਆਂ ਚੀਜ਼ਾਂ ਨੂੰ ਘਟਾਓ ਅਤੇ ਸੌਣ, ਕੰਮ ਕਰਨ, ਡਰਾਈਵ ਕਰਨ ਅਤੇ ਇਸ ਦੌਰਾਨ ਕੁਝ ਵੀ ਕਰਨ ਸੰਬੰਧੀ ਮੋਡਾਂ ਨੂੰ ਕੰਟਰੋਲ ਕਰੋ।"</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"ਆਪਣਾ ਖੁਦ ਦਾ ਮੋਡ ਬਣਾਓ"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"ਸਿਰਫ਼ ਮਹੱਤਵਪੂਰਨ ਲੋਕਾਂ ਅਤੇ ਐਪਾਂ ਵੱਲੋਂ ਸੂਚਨਾ ਪ੍ਰਾਪਤ ਕਰੋ"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"ਕੋਈ ਸਮਾਂ-ਸੂਚੀ ਸੈੱਟ ਕਰੋ"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"ਮੋਡ ਦੇ ਆਧਾਰ \'ਤੇ ਸਮਾਂ-ਸੂਚੀ"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"ਦਿਨ ਅਤੇ ਸਮਾਂ"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"ਕੰਮਕਾਜੀ ਦਿਨਾਂ ਨੂੰ ਸਵੇਰ 9 ਵਜੇ - ਸ਼ਾਮ 5 ਵਜੇ\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"ਕੈਲੰਡਰ ਇਵੈਂਟ"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} ਕਿਰਿਆਸ਼ੀਲ ਹੈ}=2{{mode_1} ਅਤੇ {mode_2} ਕਿਰਿਆਸ਼ੀਲ ਹਨ}=3{{mode_1}, {mode_2} ਅਤੇ {mode_3} ਕਿਰਿਆਸ਼ੀਲ ਹਨ}other{{mode_1}, {mode_2}, ਅਤੇ # ਹੋਰ ਕਿਰਿਆਸ਼ੀਲ ਹਨ}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 ਮੋਡ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਚਾਲੂ ਹੋ ਸਕਦਾ ਹੈ}other{# ਮੋਡ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਚਾਲੂ ਹੋ ਸਕਦੇ ਹਨ}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ਚਾਲੂ"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"ਸੈੱਟ ਨਹੀਂ ਹੈ"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"ਬੰਦ ਹੈ"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"ਕੋਈ ਮੋਡ ਬਣਾਓ"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"ਵਿਉਂਤਬੱਧ"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"ਹੁਣੇ ਚਾਲੂ ਕਰੋ"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"ਬੰਦ ਕਰੋ"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"ਮੋਡ ਨਹੀਂ ਮਿਲਿਆ"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"ਰੁਕਾਵਟਾਂ ਸੀਮਤ ਕਰੋ"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"ਰੁਕਾਵਟਾਂ ਅਤੇ ਧਿਆਨ ਭਟਕਾਉਣ ਵਾਲੀਆਂ ਚੀਜ਼ਾਂ ਨੂੰ ਬਲਾਕ ਕਰੋ"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g> ਦਾ ਸੈੱਟਅੱਪ ਕਰੋ"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ\' ਨੂੰ ਚਾਲੂ ਕਰੋ"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"ਅਲਾਰਮ ਅਤੇ ਮੀਡੀਆ ਧੁਨੀਆਂ ਵਿਘਨ ਪਾ ਸਕਦੀਆਂ ਹਨ"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"ਸਮਾਂ-ਸੂਚੀਆਂ"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"ਸਮਾਂ-ਸੂਚੀਆਂ ਮਿਟਾਓ"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"ਮਿਟਾਓ"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"ਨਾਮ ਬਦਲੋ"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"ਮਿਟਾਓ"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"ਕੀ \"<xliff:g id="MODE">%1$s</xliff:g>\" ਮੋਡ ਨੂੰ ਮਿਟਾਉਣਾ ਹੈ?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"ਸੰਪਾਦਨ ਕਰੋ"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"ਸਮਾਂ-ਸੂਚੀਆਂ"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"ਸਮਾਂ-ਸੂਚੀ"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਚਾਲੂ ਕਰੋ"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"ਕੋਈ ਕੈਲੰਡਰ ਸ਼ਾਮਲ ਕਰੋ"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"ਆਪਣਾ ਕੈਲੰਡਰ ਵਰਤੋ"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"ਸਮਾਂ-ਸੂਚੀ"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"ਕੋਈ ਸਮਾਂ-ਸੂਚੀ ਸੈੱਟ ਕਰੋ"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"ਆਪਣੇ ਆਪ ਚਾਲੂ ਕਰਨ ਦੀ ਸੁਵਿਧਾ"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"ਇਵੈਂਟ ਦੀ ਸਮਾਂ-ਸੂਚੀ"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"ਇਨ੍ਹਾਂ ਇਵੈਂਟਾਂ ਦੌਰਾਨ ਚਾਲੂ ਕਰੋ"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"ਜਦੋਂ ਸੱਦੇ ਦਾ ਇਹ ਜਵਾਬ ਮਿਲੇ"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"ਸਮਾਂ-ਸੂਚੀ"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"ਸਮਾਂ-ਸੂਚੀ"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ਘੰ., <xliff:g id="MINUTES">%2$d</xliff:g> ਮਿੰ."</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"ਸਮਾਂ-ਸੂਚੀ"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"ਧੁਨੀ ਵਜਾਉਣ ਵਾਲੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਆਗਿਆ ਦਿਓ"</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="mode_interruption_filter_title" msgid="6657431939996264417">"ਉਹ ਸੂਚਨਾਵਾਂ ਜੋ ਤੁਹਾਡੇ ਤੱਕ ਪਹੁੰਚ ਸਕਦੀਆਂ ਹਨ"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"ਵਧੀਕ ਕਾਰਵਾਈਆਂ"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"ਸੂਚਨਾ ਫਿਲਟਰ"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"ਹੋਰ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{ਬੰਦ}=1{ਬੰਦ / 1 ਮੋਡ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਚਾਲੂ ਹੋ ਸਕਦਾ ਹੈ}other{ਬੰਦ / # ਮੋਡ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਚਾਲੂ ਹੋ ਸਕਦੇ ਹਨ}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"ਡਿਸਪਲੇ ਸੈਟਿੰਗਾਂ"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"ਡਿਸਪਲੇ ਦੇ ਵਿਕਲਪ"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"ਗ੍ਰੇਸਕੇਲ"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ਗੂੜ੍ਹੇ ਥੀਮ ਨੂੰ ਚਾਲੂ ਕਰੋ"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"ਗੂੜ੍ਹੇ ਬੈਕਗ੍ਰਾਊਂਡ \'ਤੇ ਹਲਕੀ ਲਿਖਤ ਨੂੰ ਤਰਜੀਹ ਦੇਣ ਲਈ OS ਅਤੇ ਐਪਾਂ ਨੂੰ ਸਵਿੱਚ ਕਰੋ, ਜਿਸਨੂੰ ਦੇਖਣ ਨਾਲ ਅੱਖਾਂ \'ਤੇ ਕੋਈ ਅਸਰ ਨਾ ਪਵੇ ਅਤੇ ਜਿਸ ਨਾਲ ਕੁਝ ਡੀਵਾਈਸਾਂ \'ਤੇ ਬੈਟਰੀ ਦੀ ਕਾਫ਼ੀ ਬਚਤ ਹੁੰਦੀ ਹੈ"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{ਕੋਈ ਡਿਸਪਲੇ ਤਬਦੀਲੀ ਨਹੀਂ}=1{{effect_1}}=2{{effect_1} ਅਤੇ {effect_2}}=3{{effect_1}, {effect_2}, ਅਤੇ {effect_3}}other{{effect_1}, {effect_2} ਅਤੇ # ਹੋਰ}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"ਸਾਰੀਆਂ ਸੂਚਨਾਵਾਂ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"ਲੋਕ, ਐਪਾਂ ਅਤੇ ਧੁਨੀਆਂ ਵਿਘਨ ਪਾ ਸਕਦੀਆਂ ਹਨ"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ਫਿਲਟਰ ਕੀਤੀਆਂ ਸੂਚਨਾਵਾਂ ਲਈ ਡਿਸਪਲੇ ਵਿਕਲਪ"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"\'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ\' ਦੇ ਚਾਲੂ ਹੋਣ \'ਤੇ"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"ਸੂਚਨਾਵਾਂ ਦੀ ਕੋਈ ਧੁਨੀ ਨਹੀਂ"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"ਸੂਚਨਾ ਖੋਲ੍ਹੋ"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"ਸੂਚਨਾਵਾਂ ਨੂੰ ਸਨੂਜ਼ ਕਰਨ ਦਿਓ"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"ਐਪ ਪ੍ਰਤੀਕ \'ਤੇ ਸੂਚਨਾ ਬਿੰਦੂ"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"ਸੂਚਨਾ ਦੇ ਬੰਡਲ"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"ਬਬਲ"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"ਬਬਲ"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"ਇਸ ਗੱਲਬਾਤ ਨੂੰ ਬਬਲ ਵਜੋਂ ਦਿਖਾਓ"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"ਇਹ ਸੁਨੇਹਿਆਂ ਦਾ ਜਵਾਬ ਦੇ ਸਕਦੀ ਹੈ ਅਤੇ ਸੂਚਨਾਵਾਂ ਨੂੰ ਸਨੂਜ਼ ਕਰਨ ਜਾਂ ਖਾਰਜ ਕਰਨ ਜਾਂ ਫ਼ੋਨ ਕਾਲਾਂ ਦਾ ਜਵਾਬ ਦੇਣ ਸਮੇਤ, ਸੂਚਨਾਵਾਂ ਵਿੱਚ ਬਟਨਾਂ \'ਤੇ ਕਾਰਵਾਈ ਵੀ ਕਰ ਸਕੇਗੀ।"</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"ਸੈਟਿੰਗਾਂ ਬਦਲਣਾ"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"ਇਹ \'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ\' ਨੂੰ ਬੰਦ ਜਾਂ ਚਾਲੂ ਕਰ ਸਕਦੀ ਅਤੇ ਸੰਬੰਧਿਤ ਸੈਟਿੰਗਾਂ ਨੂੰ ਬਦਲ ਸਕਦੀ ਹੈ।"</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"ਇਸ ਨਾਲ ਮੋਡਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਅਤੇ ਉਨ੍ਹਾਂ ਨੂੰ ਕਿਰਿਆਸ਼ੀਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ ਅਤੇ ਸੰਬੰਧਿਤ ਸੈਟਿੰਗਾਂ ਨੂੰ ਬਦਲਿਆ ਜਾ ਸਕਦਾ ਹੈ।"</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_modes_warning_summary" msgid="7528432011433844158">"ਜੇ ਤੁਸੀਂ <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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"ਅਸਲ-ਸਮਾਂ"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"ਇਹ ਐਪ ਵਿਸਤ੍ਰਿਤ ਸੈਟਿੰਗਾਂ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੀ"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"ਹੋਰ ਸੈਟਿੰਗਾਂ"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"ਇਸ ਐਪ ਵਿੱਚ ਹੋਰ ਸੈਟਿੰਗਾਂ ਉਪਲਬਧ ਹਨ"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"ਅਡੈਪਟਿਵ ਸੂਚਨਾਵਾਂ"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"ਅਡੈਪਟਿਵ ਸੂਚਨਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"ਜੇ ਤੁਹਾਨੂੰ ਘੱਟ ਸਮੇਂ ਵਿੱਚ ਕਈ ਸੂਚਨਾਵਾਂ ਪ੍ਰਾਪਤ ਹੁੰਦੀਆਂ ਹਨ, ਤਾਂ ਤੁਹਾਡਾ ਫ਼ੋਨ ਦੋ ਮਿੰਟਾਂ ਤੱਕ ਅਵਾਜ਼ ਨੂੰ ਘਟਾ ਦੇਵੇਗਾ ਅਤੇ ਸਕ੍ਰੀਨ \'ਤੇ ਪੌਪ-ਅੱਪਾਂ ਨੂੰ ਛੋਟਾ ਕਰ ਦੇਵੇਗਾ। ਕਾਲਾਂ, ਅਲਾਰਮਾਂ ਅਤੇ ਤਰਜੀਹੀ ਗੱਲਾਂਬਾਤਾਂ ਸੰਬੰਧੀ ਸੂਚਨਾਵਾਂ ਹਾਲੇ ਵੀ ਥਰਥਰਾਹਟ ਕਰਨਗੀਆਂ, ਧੁਨੀ ਵਜਾਉਣਗੀਆਂ ਜਾਂ ਸਕ੍ਰੀਨ \'ਤੇ ਦਿਖਾਈ ਦੇਣਗੀਆਂ ਅਤੇ ਜਦੋਂ ਤੁਸੀਂ ਸਕ੍ਰੀਨ ਦੇ ਸਿਖਰ ਤੋਂ ਹੇਠਾਂ ਵੱਲ ਖਿੱਚੋਗੇ, ਤਾਂ ਸਾਰੀਆਂ ਸੂਚਨਾਵਾਂ ਆਸਾਨੀ ਨਾਲ ਮਿਲ ਜਾਣਗੀਆਂ।"</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"ਸੂਚਨਾ ਦੀ ਕੂਲਡਾਊਨ ਸੈਟਿੰਗ"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"ਨੋਟੀਫ਼ਿਕੇਸ਼ਨ ਕੂਲਡਾਊਨ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"ਜੇ ਤੁਹਾਨੂੰ ਘੱਟ ਸਮੇਂ ਵਿੱਚ ਕਈ ਸੂਚਨਾਵਾਂ ਪ੍ਰਾਪਤ ਹੁੰਦੀਆਂ ਹਨ, ਤਾਂ ਤੁਹਾਡਾ ਡੀਵਾਈਸ 2 ਮਿੰਟਾਂ ਤੱਕ ਇਸਦੀ ਅਵਾਜ਼ ਨੂੰ ਘਟਾ ਦੇਵੇਗਾ ਅਤੇ ਅਲਰਟਾਂ ਨੂੰ ਛੋਟਾ ਕਰ ਦੇਵੇਗਾ। ਕਾਲਾਂ, ਅਲਾਰਮ ਅਤੇ ਤਰਜੀਹੀ ਗੱਲਾਂਬਾਤਾਂ ਪ੍ਰਭਾਵਿਤ ਨਹੀਂ ਹੁੰਦੀਆਂ। \n\nਕੂਲਡਾਊਨ ਦੌਰਾਨ ਪ੍ਰਾਪਤ ਹੋਈਆਂ ਸੂਚਨਾਵਾਂ ਸਕ੍ਰੀਨ ਦੇ ਸਿਖਰ ਤੋਂ ਹੇਠਾਂ ਵੱਲ ਖਿੱਚ ਕੇ ਲੱਭੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ।"</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲਾਂ ਦੇ ਲਾਗੂ ਕਰੋ"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਐਪਾਂ \'ਤੇ ਲਾਗੂ ਕਰੋ"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR ਮਦਦਗਾਰ ਸੇਵਾਵਾਂ"</string>
@@ -3650,6 +3717,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"ਮੋਡਾਂ ਤੱਕ ਪਹੁੰਚ"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"ਮੋਡਾਂ ਤੱਕ ਪਹੁੰਚ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"ਕਿਸੇ ਵੀ ਸਥਾਪਤ ਕੀਤੀ ਐਪ ਨੇ ਮੋਡਾਂ ਤੱਕ ਪਹੁੰਚ ਦੀ ਬੇਨਤੀ ਨਹੀਂ ਕੀਤੀ ਹੈ"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"ਤੁਸੀਂ ਇਸ ਐਪ ਤੋਂ ਸੂਚਨਾਵਾਂ ਦੀ ਆਗਿਆ ਨਹੀਂ ਦਿੱਤੀ ਹੈ"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"ਤੁਹਾਡੀ ਬੇਨਤੀ ਕਾਰਨ, Android ਵੱਲੋਂ ਸੂਚਨਾਵਾਂ ਦੀ ਇਸ ਸ਼੍ਰੇਣੀ ਨੂੰ ਇਸ ਡੀਵਾਈਸ \'ਤੇ ਦਿਖਾਏ ਜਾਣ ਤੋਂ ਬਲਾਕ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"ਤੁਹਾਡੀ ਬੇਨਤੀ ਕਾਰਨ, Android ਵੱਲੋਂ ਸੂਚਨਾਵਾਂ ਦੇ ਇਸ ਗਰੁੱਪ ਨੂੰ ਇਸ ਡੀਵਾਈਸ \'ਤੇ ਦਿਖਾਏ ਜਾਣ ਤੋਂ ਬਲਾਕ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"ਸ਼੍ਰੇਣੀਆਂ"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"ਹੋਰ"</string>
     <string name="no_channels" msgid="4716199078612071915">"ਇਸ ਐਪ ਨੇ ਕੋਈ ਵੀ ਸੂਚਨਾ ਪੋਸਟ ਨਹੀਂ ਕੀਤੀ ਹੈ"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"ਅਣਵਰਤੀਆਂ ਸ਼੍ਰੇਣੀਆਂ ਦਿਖਾਓ"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"ਐਪ ਵਿੱਚ ਵਧੀਕ ਸੈਟਿੰਗਾਂ"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"ਅਣਵਰਤੀਆਂ ਸ਼੍ਰੇਣੀਆਂ ਦਿਖਾਓ"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"ਅਣਵਰਤੀਆਂ ਸ਼੍ਰੇਣੀਆਂ ਲੁਕਾਓ"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"ਗੱਲਾਂਬਾਤਾਂ"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"ਸਾਰੀਆਂ ਗੱਲਾਂਬਾਤਾਂ"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"ਸਾਰੀਆਂ ਗੱਲਾਂਬਾਤਾਂ"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"ਤਰਜੀਹੀ ਗੱਲਾਂਬਾਤਾਂ"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"ਤਰਜੀਹੀ ਗੱਲਾਂਬਾਤਾਂ"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"ਕੋਈ ਨਹੀਂ"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"ਐਪਾਂ ਜੋ ਵਿਘਨ ਪਾ ਸਕਦੀਆਂ ਹਨ"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"ਚੁਣੀਆਂ ਗਈਆਂ ਐਪਾਂ"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"ਕੋਈ ਨਹੀਂ"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"ਸਭ"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{ਕੋਈ ਵੀ ਐਪ ਰੁਕਾਵਟ ਨਹੀਂ ਪਾ ਸਕਦੀ}=1{{app_1} ਕਰਕੇ ਰੁਕਾਵਟ ਪੈ ਸਕਦੀ ਹੈ}=2{{app_1} ਅਤੇ {app_2} ਕਰਕੇ ਰੁਕਾਵਟ ਪੈ ਸਕਦੀ ਹੈ}=3{{app_1}, {app_2} ਅਤੇ {app_3} ਕਰਕੇ ਰੁਕਾਵਟ ਪੈ ਸਕਦੀ ਹੈ}other{{app_1}, {app_2} ਅਤੇ # ਹੋਰ ਐਪਾਂ ਕਰਕੇ ਰੁਕਾਵਟ ਪੈ ਸਕਦੀ ਹੈ}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (ਕੰਮ ਦੇ ਲਈ)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"ਗਣਨਾ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ਐਪਾਂ ਨੂੰ ਓਵਰਰਾਈਡ ਕਰਨ ਦਿਓ"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"ਐਪਾਂ ਜੋ ਵਿਘਨ ਪਾ ਸਕਦੀਆਂ ਹਨ"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"ਹੋਰ ਐਪਾਂ ਚੁਣੋ"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"ਕੋਈ ਵੀ ਚੀਜ਼ ਵਿਘਨ ਨਹੀਂ ਪਾ ਸਕਦੀ"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"ਕੋਈ ਵੀ ਵਿਘਨ ਨਹੀਂ ਪਾ ਸਕਦਾ"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"ਕੁਝ ਲੋਕ ਵਿਘਨ ਪਾ ਸਕਦੇ ਹਨ"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"ਵਾਰ-ਵਾਰ ਕਾਲ ਕਰਨ ਵਾਲਿਆਂ ਕਰਕੇ ਰੁਕਾਵਟ ਪੈ ਸਕਦੀ ਹੈ"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"ਸਾਰੇ ਲੋਕ ਵਿਘਨ ਪਾ ਸਕਦੇ ਹਨ"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"ਦੁਬਾਰਾ ਕਾਲ ਕਰਨ ਵਾਲੇ"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"ਦੁਬਾਰਾ ਕਾਲ ਕਰਨ ਵਾਲਿਆਂ ਨੂੰ ਆਗਿਆ ਦਿਓ"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} ਤੱਕ ਸਿਰਫ਼ ਇੱਕ ਘੰਟੇ ਲਈ ਅਲਾਰਮਾਂ ਵਿੱਚ ਬਦਲੋ}one{{time} ਤੱਕ ਸਿਰਫ਼ # ਘੰਟੇ ਲਈ ਅਲਾਰਮਾਂ ਵਿੱਚ ਬਦਲੋ}other{{time} ਤੱਕ ਸਿਰਫ਼ # ਘੰਟਿਆਂ ਲਈ ਅਲਾਰਮਾਂ ਵਿੱਚ ਬਦਲੋ}}"</string>
     <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_action_change_name" msgid="766639614789907016">"ਨਾਮ ਬਦਲੋ"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"ਪ੍ਰਤੀਕ ਬਦਲੋ"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"ਪ੍ਰਤੀਕ ਬਦਲੋ"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"ਸੰਪਾਦਨ ਮੋਡ"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"ਕੋਈ ਮੋਡ ਬਣਾਓ"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"ਵਿਉਂਤਬੱਧ ਮੋਡ"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"ਮੋਡ ਦਾ ਨਾਮ"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"ਕੈਲੰਡਰ ਇਵੈਂਟ"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"ਸੌਣ ਦਾ ਨਿਯਮਿਤ ਸਮਾਂ"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"ਗੱਡੀ ਚਲਾਉਣ ਵੇਲੇ"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"ਐਪ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਵਿੱਚ ਜਾਣਕਾਰੀ ਅਤੇ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਵੱਲੋਂ ਪ੍ਰਬੰਧਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"ਕੀ <xliff:g id="MODE_NAME">%1$s</xliff:g> ਨੂੰ ਬੰਦ ਕਰਨਾ ਹੈ?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"ਬੰਦ ਹੋਣ \'ਤੇ ਇਹ ਮੋਡ ਕਦੇ ਵੀ ਚਾਲੂ ਨਹੀਂ ਹੋਵੇਗਾ"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"ਬੰਦ ਕਰੋ"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"ਕੀ <xliff:g id="MODE_NAME">%1$s</xliff:g> ਚਾਲੂ ਕਰਨਾ ਹੈ?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"ਇਹ ਮੋਡ ਇਸਦੀਆਂ ਸੈਟਿੰਗਾਂ ਦੇ ਆਧਾਰ \'ਤੇ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਚਾਲੂ ਹੋ ਸਕਦਾ ਹੈ"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"ਚਾਲੂ ਕਰੋ"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"ਨਿਯਮਿਤ ਸਮਾਂ-ਸੂਚੀ ਦੀ ਪਾਲਣਾ ਕਰਨ ਵਾਲਾ ਮੋਡ ਸੈੱਟ ਕਰੋ"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"ਕੈਲੰਡਰ ਇਵੈਂਟਾਂ ਅਤੇ ਸੱਦੇ ਸੰਬੰਧੀ ਜਵਾਬਾਂ ਨਾਲ ਸਿੰਕ ਕਰਨ ਲਈ ਮੋਡ ਸੈੱਟ ਕਰੋ"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"ਅਨੰਦਮਈ ਧੁਨੀਆਂ ਸੁਣਦੇ ਹੋਏ ਸੌਣ ਦਾ ਨਿਯਮ ਬਣਾਓ। ਅਲਾਰਮ ਸੈੱਟ ਕਰੋ, ਸਕ੍ਰੀਨ ਦੀ ਚਮਕ ਨੂੰ ਮੱਧਮ ਕਰੋ ਅਤੇ ਸੂਚਨਾਵਾਂ ਨੂੰ ਬਲਾਕ ਕਰੋ।"</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"ਧਿਆਨ ਕੇਂਦਰਿਤ ਕਰ ਕੇ ਅਤੇ ਬਿਨਾਂ ਧਿਆਨ ਭਟਕਾਏ ਡਰਾਈਵ ਕਰਨ ਲਈ ਸੜਕ \'ਤੇ ਸੁਰੱਖਿਆ ਨੂੰ ਤਰਜੀਹ ਦਿਓ"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"ਧਿਆਨ ਕੇਂਦਰਿਤ ਕਰਨ ਲਈ ਆਪਣੇ ਡੀਵਾਈਸ ਤੋਂ ਧਿਆਨ ਭਟਕਾਉਣ ਵਾਲੀਆਂ ਜਾਂ ਰੁਕਾਵਟਾਂ ਪੈਦਾ ਕਰਨ ਵਾਲੀਆਂ ਸੂਚਨਾਵਾਂ ਨੂੰ ਬਲਾਕ ਕਰੋ"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"ਸ਼ਾਂਤ ਵਾਤਾਵਰਨ ਲਈ ਸਾਰੀਆਂ ਧਿਆਨ ਭਟਕਾਉਣ ਵਾਲੀਆਂ ਸੂਚਨਾਵਾਂ ਨੂੰ ਹਟਾਓ"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"ਵੱਖ-ਵੱਖ ਵਰਤੋਂਕਾਰਾਂ ਲਈ ਡੀਵਾਈਸ ਸੰਬੰਧੀ ਅਨੁਭਵ ਅਤੇ ਸੈਟਿੰਗਾਂ ਨੂੰ ਵਿਅਕਤੀਗਤ ਬਣਾਓ"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"ਸਿਰਫ਼ ਚੁਣੇ ਹੋਏ ਲੋਕਾਂ ਅਤੇ ਐਪਾਂ ਨੂੰ ਤੁਹਾਡੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਕੇ ਰੁਕਾਵਟਾਂ ਨੂੰ ਘੱਟ ਕਰੋ"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"ਨਿਯਮਿਤ ਸਮਾਂ-ਸੂਚੀ ਦੀ ਪਾਲਣਾ ਕਰਨ ਵਾਲਾ ਮੋਡ ਸੈੱਟ ਕਰੋ"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਆਪਣੇ ਦਿਨ ਦੇ ਇਵੈਂਟਾਂ ਮੁਤਾਬਕ ਸਿੰਕ ਕਰ ਕੇ ਰੱਖੋ"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"ਪੂਰੀ ਤਾਜ਼ਗੀ ਨਾਲ ਦਿਨ ਦੀ ਸ਼ੁਰੂਆਤ ਕਰੋ"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"ਸੜਕ \'ਤੇ ਹੋਣ ਵੇਲੇ ਸਭ ਤੋਂ ਪਹਿਲਾਂ ਸੁਰੱਖਿਆ \'ਤੇ ਧਿਆਨ ਦਿਓ"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"ਆਪਣੇ ਕੰਮ \'ਤੇ ਫੋਕਸ ਬਣਾਈ ਰੱਖੋ"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"ਉਨ੍ਹਾਂ ਪਲਾਂ ਲਈ ਜਦੋਂ ਸਨਮਾਨ ਮਾਅਨੇ ਰੱਖਦਾ ਹੈ"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"ਤੁਹਾਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਣ ਵਿੱਚ ਮਦਦ ਲਈ ਸੇਧਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"ਆਪਣਾ ਧਿਆਨ ਬਰਕਰਾਰ ਰੱਖੋ"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"ਚਿਤਾਵਨੀ"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"ਬੰਦ ਕਰੋ"</string>
     <string name="device_feedback" msgid="5351614458411688608">"ਇਸ ਡੀਵਾਈਸ ਬਾਰੇ ਵਿਚਾਰ ਭੇਜੋ"</string>
@@ -4006,6 +4110,11 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"ਕੀ <xliff:g id="APP">%1$s</xliff:g> ਲਈ ਮੋਡਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"ਐਪ \'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ\' ਨੂੰ ਚਾਲੂ/ਬੰਦ ਕਰ, ਮੋਡਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰ ਅਤੇ ਕਿਰਿਆਸ਼ੀਲ ਕਰ ਅਤੇ ਸੰਬੰਧਿਤ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਤਬਦੀਲੀਆਂ ਕਰ ਸਕੇਗੀ।"</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"ਇਸ ਐਪ ਵੱਲੋਂ ਬਣਾਏ ਗਏ ਸਾਰੇ ਮੋਡ ਹਟਾ ਦਿੱਤੇ ਜਾਣਗੇ।"</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"ਅਨੁਕੂਲਿਤ ਨਾ ਕਰੋ"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"ਸੁਯੋਗ ਬਣਾਓ"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"ਤੁਹਾਡੀ ਬੈਟਰੀ ਨੂੰ ਹੋਰ ਵੀ ਛੇਤੀ ਖਤਮ ਕਰ ਸਕਦਾ ਹੈ। ਬੈਕਗ੍ਰਾਊਂਡ ਬੈਟਰੀ ਦੀ ਵਰਤੋਂ ਤੋਂ ਹੁਣ ਐਪ ਪ੍ਰਤਿਬੰਧਿਤ ਨਹੀਂ ਹੈ।"</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"ਕੇਸ"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"ਬੈਟਰੀ"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"ਸੈਟਿੰਗਾਂ ਪੈਨਲ"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"ਡੈਸਕਟਾਪ ਮੋਡ ਜ਼ਬਰਦਸਤੀ ਲਾਗੂ ਕਰੋ"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ਸੈਕੰਡਰੀ ਡਿਸਪਲੇ \'ਤੇ ਪ੍ਰਯੋਗਮਈ ਡੈਸਕਟਾਪ ਮੋਡ ਜ਼ਬਰਦਸਤੀ ਲਾਗੂ ਕਰੋ"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"ਫ੍ਰੀਫਾਰਮ ਵਿੰਡੋਆਂ ਨੂੰ ਚਾਲੂ ਕਰੋ"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"ਸੈਕੰਡਰੀ ਡਿਸਪਲੇ \'ਤੇ ਫ਼੍ਰੀਫ਼ਾਰਮ ਵਿੰਡੋਆਂ ਨੂੰ ਚਾਲੂ ਕਰੋ"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"ਆਕਾਰ ਨਾ-ਬਦਲਣਯੋਗ ਐਪਾਂ ਨੂੰ ਮਲਟੀ-ਵਿੰਡੋ ਵਿੱਚ ਦਿਖਾਉਣਾ ਚਾਲੂ ਕਰੋ"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਵਿੱਚ ਆਕਾਰ ਨਾ ਬਦਲਣਯੋਗ ਐਪਾਂ ਨੂੰ ਮਲਟੀ-ਵਿੰਡੋ ਵਿੱਚ ਦਿਖਾਉਣ ਦੀ ਆਗਿਆ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"ਜ਼ਬਰਦਸਤੀ ਗੂੜ੍ਹਾ ਮੋਡ ਓਵਰਰਾਈਡ ਕਰੋ"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"ਮੋਬਾਈਲ ਡਾਟਾ"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"ਡੀਵਾਈਸ ਦੇ ਅਨੁਭਵ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ, ਐਪਾਂ ਅਤੇ ਸੇਵਾਵਾਂ ਕਿਸੇ ਵੀ ਸਮੇਂ ਵਾਈ-ਫਾਈ ਨੈੱਟਵਰਕਾਂ ਲਈ ਸਕੈਨ ਕਰ ਸਕਦੀਆਂ ਹਨ, ਭਾਵੇਂ ਵਾਈ-ਫਾਈ ਬੰਦ ਹੀ ਕਿਉਂ ਨਾ ਹੋਵੇ। ਇਸ ਦੀ ਵਰਤੋਂ ਟਿਕਾਣਾ-ਆਧਾਰਿਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਅਤੇ ਸੇਵਾਵਾਂ ਵਰਗੀਆਂ ਚੀਜ਼ਾਂ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ। ਤੁਸੀਂ ਇਸ ਨੂੰ ਵਾਈ‑ਫਾਈ ਸਕੈਨਿੰਗ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਜਾ ਕੇ ਬਦਲ ਸਕਦੇ ਹੋ।"</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"ਬਦਲੋ"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"ਕਨੈਕਟ ਹੈ"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"ਕੁਝ ਸਮੇਂ ਲਈ ਕਨੈਕਟ ਹੈ"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"ਕੁਝ ਸਮੇਂ ਲਈ <xliff:g id="SUBNAME">%1$s</xliff:g> ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ਐਪ ਪਿਨਿੰਗ ਵਰਤੋ"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"ਵਿਕਾਸਕਾਰ ਵਿਕਲਪ ਵਰਤੋ"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"ਪ੍ਰਿੰਟ ਸੇਵਾ ਵਰਤੋ"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"ਇੱਕ ਤੋਂ ਵੱਧ ਵਰਤੋਂਕਾਰਾਂ ਨੂੰ ਆਗਿਆ ਦਿਓ"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"ਵਰਤੋਂਕਾਰ ਸਵਿੱਚ ਕਰਨ ਸੰਬੰਧੀ ਆਗਿਆ ਦਿਓ"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"ਆਗਿਆ ਦਿਓ, ਇੱਕ ਤੋਂ ਵੱਧ, ਵਰਤੋਂਕਾਰ, ਪਰਮਿਟ, ਕਈ"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"ਇੱਕ ਤੋਂ ਵੱਧ, ਵਰਤੋਂਕਾਰ, ਪ੍ਰੋਫਾਈਲ, ਲੋਕ, ਖਾਤੇ, ਸਵਿੱਚ, ਬਹੁਤ ਸਾਰੇ"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ਵਾਇਰਲੈੱਸ ਡੀਬੱਗਿੰਗ ਵਰਤੋ"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> ਇਸ ਫ਼ੋਨ ਨਾਲ ਕਨੈਕਟ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹੈ।\n\nਤੁਸੀਂ ਪਹਿਲਾਂ ਕਦੇ ਵੀ <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ ਹੈ।"</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"ਕਨੈਕਟ ਨਾ ਕਰੋ"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"ਕਨੈਕਟ ਕਰੋ"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE ਸੈਟਿੰਗਾਂ"</string>
-    <string name="tare_on" msgid="2386073225978684535">"ਚਾਲੂ"</string>
-    <string name="tare_off" msgid="6305694402929756726">"ਬੰਦ"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਸੈਟਿੰਗਾਂ \'ਤੇ ਵਾਪਸ ਜਾਓ"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"ਸੈਟਿੰਗਾਂ ਨੂੰ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਸਥਿਤੀ \'ਚ ਕਰੋ।"</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"ਬੈਟਰੀ ਪੂਰੀ ਚਾਰਜ ਹੋਣ \'ਤੇ ਵੱਧੋ-ਵੱਧ ਬਕਾਇਆ"</string>
-    <string name="tare_balances" msgid="731881382594747961">"ਬਕਾਇਆ"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"ਖਪਤ ਸੀਮਾਵਾਂ"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"ਸ਼ੁਰੂਆਤੀ ਖਪਤ ਸੀਮਾਵਾਂ"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"ਘੱਟੋ-ਘੱਟ ਖਪਤ ਸੀਮਾ"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"ਵੱਧੋ-ਵੱਧ ਖਪਤ ਸੀਮਾ"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"ਸੋਧਕ"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"ਕਾਰਵਾਈਆਂ (ਉਤਪਾਦ ਦੀ ਲਾਗਤ)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"ਕਾਰਵਾਈਆਂ (ਮੁੱਢਲੀ ਕੀਮਤ)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"ਹਰ ਇਕਹਿਰੇ ਇਵੈਂਟ ਲਈ ਇਨਾਮ"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"ਇਵੈਂਟ ਦੀ ਮਿਆਦ ਦੇ ਪ੍ਰਤੀ ਸਕਿੰਟ ਇਨਾਮ"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"ਹਰ ਦਿਨ ਲਈ ਵੱਧ ਤੋਂ ਵੱਧ ਇਨਾਮ"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"ਐਪ ਸਥਾਪਨ"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"ਪ੍ਰਮੁੱਖ ਸਰਗਰਮੀ"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"ਸੂਚਨਾ ਦੇਖੀ ਗਈ"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"ਸੂਚਨਾ 15 ਮਿੰਟ ਵਿੱਚ ਦੇਖੀ ਗਈ"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"ਸੂਚਨਾ ਅੰਤਰਕਿਰਿਆ"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"ਵਿਜੇਟ ਅੰਤਰਕਿਰਿਆ"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"ਹੋਰ ਵਰਤੋਂਕਾਰ ਵੱਲੋਂ ਅੰਤਰਕਿਰਿਆ"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"ਵੱਧੋ-ਵੱਧ ਤਰਜੀਹ ਵਾਲਾ ਕੰਮ ਸ਼ੁਰੂ ਕਰਨਾ"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"ਵੱਧੋ-ਵੱਧ ਤਰਜੀਹ ਵਾਲਾ ਕੰਮ ਕਰਨਾ"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"ਵੱਧ ਤਰਜੀਹ ਵਾਲਾ ਕੰਮ ਸ਼ੁਰੂ ਕਰਨਾ"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"ਵੱਧ ਤਰਜੀਹ ਵਾਲਾ ਕੰਮ ਕਰਨਾ"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਤਰਜੀਹ ਵਾਲਾ ਕੰਮ ਸ਼ੁਰੂ ਕਰਨਾ"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਤਰਜੀਹ ਵਾਲਾ ਕੰਮ ਕਰਨਾ"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"ਘੱਟ ਤਰਜੀਹ ਵਾਲਾ ਕੰਮ ਸ਼ੁਰੂ ਕਰਨਾ"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"ਘੱਟ ਤਰਜੀਹ ਵਾਲਾ ਕੰਮ ਕਰਨਾ"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"ਘੱਟੋ-ਘੱਟ ਤਰਜੀਹ ਵਾਲਾ ਕੰਮ ਸ਼ੁਰੂ ਕਰਨਾ"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"ਘੱਟੋ-ਘੱਟ ਤਰਜੀਹ ਵਾਲਾ ਕੰਮ ਕਰਨਾ"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"ਕੰਮ ਦਾ ਸਮਾਂ ਸਮਾਪਤ ਹੋਣ \'ਤੇ ਜੁਰਮਾਨਾ"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"ਬੈਟਰੀ ਪੂਰੀ ਚਾਰਜ ਹੋਣ \'ਤੇ ਘੱਟੋ-ਘੱਟ ਬਕਾਇਆ (ਛੋਟ ਦਿੱਤੀ ਗਈ)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"ਬੈਟਰੀ ਪੂਰੀ ਚਾਰਜ ਹੋਣ \'ਤੇ ਘੱਟੋ-ਘੱਟ ਬਕਾਇਆ (ਹੈੱਡਲੈੱਸ ਸਿਸਟਮ ਐਪ)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"ਬੈਟਰੀ ਪੂਰੀ ਚਾਰਜ ਹੋਣ \'ਤੇ ਘੱਟੋ-ਘੱਟ ਬਕਾਇਆ (ਬਾਕੀ ਐਪਾਂ)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"ਬੈਟਰੀ ਪੂਰੀ ਚਾਰਜ ਹੋਣ \'ਤੇ ਘੱਟੋ-ਘੱਟ ਬਕਾਇਆ (ਐਪ ਅੱਪਡੇਟਰ)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"ਚਾਰਜ ਹੋ ਰਹੀ ਹੈ"</item>
-    <item msgid="658627268149681677">"ਡੋਜ਼"</item>
-    <item msgid="1599558140284643834">"ਪਾਵਰ ਸੇਵ ਮੋਡ"</item>
-    <item msgid="588427840913221601">"ਪ੍ਰਕਿਰਿਆ ਦੀ ਸਥਿਤੀ"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"ਤਸਦੀਕ ਕਰੋ"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"ਪੂਰਵ-ਝਲਕ"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"ਸਕ੍ਰੀਨ ਸੇਵਰ ਚੁਣੋ"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"ਵਧੀਕ ਜਾਣਕਾਰੀ ਦਿਖਾਓ"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"ਚੁਣੋ ਕਿ ਟੈਬਲੈੱਟ ਡੌਕ ਹੋਣ \'ਤੇ ਤੁਸੀਂ ਆਪਣੀ ਸਕ੍ਰੀਨ \'ਤੇ ਕੀ ਦੇਖਣਾ ਚਾਹੁੰਦੇ ਹੋ। ਸਕ੍ਰੀਨ ਸੇਵਰ ਦੀ ਵਰਤੋਂ ਹੋਣ \'ਤੇ ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਜ਼ਿਆਦਾ ਊਰਜਾ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹੈ।"</string>
     <string name="customize_button_title" msgid="1110284655990203359">"ਵਿਉਂਤਬੱਧ ਕਰੋ"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> ਨੂੰ ਵਿਉਂਤਬੱਧ ਕਰੋ"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"ਫ਼੍ਰੀਫ਼ਾਰਮ ਸਹਾਇਤਾ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਰੀਬੂਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।"</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"ਸੈਕੰਡਰੀ ਡਿਸਪਲੇਆਂ \'ਤੇ ਡੈਸਕਟਾਪ ਮੋਡ ਨੂੰ ਜ਼ਬਰਦਸਤੀ ਚਾਲੂ ਕਰਨ ਲਈ ਰੀਬੂਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।"</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"ਫ਼੍ਰੀਫ਼ਾਰਮ ਵਿੰਡੋ ਦੇ ਸਮਰਥਨ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਰੀਬੂਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।"</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"ਫ਼੍ਰੀਫ਼ਾਰਮ ਵਿੰਡੋਆਂ ਦੀ ਉਪਲਬਧਤਾ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਲਈ ਰੀਬੂਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।"</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"ਸੈਕੰਡਰੀ ਡਿਸਪਲੇਆਂ \'ਤੇ ਫ਼੍ਰੀਫ਼ਾਰਮ ਵਿੰਡੋਆਂ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਰੀਬੂਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।"</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"ਹੁਣੇ ਰੀਬੂਟ ਕਰੋ"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"ਬਾਅਦ ਵਿੱਚ ਰੀਬੂਟ ਕਰੋ"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"ਸਪੇਸ਼ਿਅਲ ਆਡੀਓ"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"ਗੁਲਾਬੀ"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"ਮੈਜੰਟਾ"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"ਜਾਮਣੀ"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"ਹੋ ਗਿਆ"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"ਰੱਖਿਅਤ ਕਰੋ"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"ਰੱਦ ਕਰੋ"</string>
     <string name="contrast_default" msgid="8918545965525226966">"ਪੂਰਵ-ਨਿਰਧਾਰਿਤ"</string>
     <string name="contrast_medium" msgid="384414510709285811">"ਦਰਮਿਆਨਾ"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"ਚਾਲੂ"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"ਬੰਦ"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"ਚਾਲੂ"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"ਆਡੀਓ %1$d%% ਖੱਬਾ, %2$d%% ਸੱਜਾ"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"ਆਡੀਓ %1$d%% ਸੱਜਾ, %2$d%% ਖੱਬਾ"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਦਾ ਨਾਮ ਤੁਹਾਡੇ ਵੱਲੋਂ ਸਥਾਪਤ ਕੀਤੀਆਂ ਗਈਆਂ ਐਪਾਂ ਨੂੰ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ। ਤੁਹਾਡੇ ਵੱਲੋਂ ਬਲੂਟੁੱਥ ਡੀਵਾਈਸਾਂ ਨਾਲ ਕਨੈਕਟ ਕਰਨ, ਵਾਈ-ਫਾਈ ਨੈੱਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਜਾਂ ਵਾਈ-ਫਾਈ ਹੌਟਸਪੌਟ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ \'ਤੇ ਇਸਨੂੰ ਹੋਰ ਲੋਕਾਂ ਵੱਲੋਂ ਵੀ ਦੇਖਿਆ ਜਾ ਸਕਦਾ ਹੈ।"</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"ਵਿਆਕਰਨਿਕ ਲਿੰਗ"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ਵਿਆਕਰਨ ਸੰਬੰਧੀ ਲਿੰਗ ਚੁਣੋ"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"ਆਡੀਓ ਸਾਂਝਾਕਰਨ ਬੰਦ ਕੀਤਾ ਗਿਆ"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"ਕਿਸੇ ਅਨੁਰੂਪ ਡੀਵਾਈਸ ਨੂੰ ਕਨੈਕਟ ਕਰੋ"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"ਆਡੀਓ ਨੂੰ ਸਾਂਝਾ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰਨ ਲਈ, ਪਹਿਲਾਂ LE ਆਡੀਓ ਹੈੱਡਫ਼ੋਨਾਂ ਨੂੰ ਆਪਣੇ ਫ਼ੋਨ ਨਾਲ ਕਨੈਕਟ ਕਰੋ"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> \'ਤੇ ਸਵਿੱਚ ਕਰੋ"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"LE ਆਡੀਓ ਸਟ੍ਰੀਮ ਨਾਲ ਕਨੈਕਟ ਕਰੋ"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"ਨਜ਼ਦੀਕੀ ਆਡੀਓ ਸਟ੍ਰੀਮ"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"ਆਡੀਓ ਸਟ੍ਰੀਮ"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ਸਟ੍ਰੀਮ ਸੁਣੋ"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ਨਾਲ ਸੁਣਨ ਲਈ ਆਡੀਓ ਸਟ੍ਰੀਮ ਦਾ QR ਕੋਡ ਸਕੈਨ ਕਰੋ"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"ਸਾਂਝਾਕਰਨ ਦੌਰਾਨ ਪਾਸਵਰਡ ਦਾ ਸੰਪਾਦਨ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ। ਪਾਸਵਰਡ ਬਦਲਣ ਲਈ, ਪਹਿਲਾਂ ਆਡੀਓ ਸਾਂਝਾਕਰਨ ਨੂੰ ਬੰਦ ਕਰੋ।"</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR ਕੋਡ ਸਕੈਨਰ"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"ਕੀ ਮਦਦ ਦੀ ਲੋੜ ਹੈ?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"ਖੋਜ ਸੈਟਿੰਗਾਂ"</string>
 </resources>
diff --git a/res/values-pl/arrays.xml b/res/values-pl/arrays.xml
index 3f7b66a..b2634cd 100644
--- a/res/values-pl/arrays.xml
+++ b/res/values-pl/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Pora snu"</item>
-    <item msgid="4152450357280759894">"Prowadzenie samochodu"</item>
-    <item msgid="7096549258219399423">"Wciągająca rozgrywka"</item>
-    <item msgid="2760716776980432977">"Zarządzane"</item>
-    <item msgid="601734478369121764">"Gwiazdka"</item>
-    <item msgid="6243809315432780521">"Kalendarz"</item>
-    <item msgid="4913577903148415331">"Godzina"</item>
-    <item msgid="3653377604690057780">"Teatr"</item>
-    <item msgid="3843711267408385410">"Kwiat"</item>
+    <item msgid="1216815120972438676">"Teczka"</item>
+    <item msgid="184985872234062767">"Budynek klasycystyczny"</item>
+    <item msgid="9189550412466785530">"Blok mieszkalny"</item>
+    <item msgid="2142527562511049422">"Dymek z tekstem"</item>
+    <item msgid="2548100558260478605">"Grupa ludzi"</item>
+    <item msgid="2270003903304578284">"Żarówka"</item>
+    <item msgid="4793496619091161864">"Kalendarz"</item>
+    <item msgid="5673625795644364100">"Nie przeszkadzać"</item>
+    <item msgid="1423820834865831361">"Biegnąca osoba"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Hantla gimnastyczna"</item>
+    <item msgid="2730180105015616518">"Pływanie"</item>
+    <item msgid="2666922823253345958">"Osoba wędrująca"</item>
+    <item msgid="8234880356472211396">"Osoba rzucająca piłkę"</item>
+    <item msgid="4642980625253001443">"Osoba kopiąca"</item>
+    <item msgid="4324795269518833500">"Kontroler do gier"</item>
+    <item msgid="7789966425125441125">"Paleta kolorów artysty"</item>
+    <item msgid="663512680597461570">"Płatek śniegu"</item>
+    <item msgid="7952183800501346803">"Parasol plażowy"</item>
+    <item msgid="799139025758265891">"Narzędzia warsztatowe"</item>
+    <item msgid="1330084588359129896">"Namiot"</item>
+    <item msgid="3861584909935022342">"Klatka filmowa"</item>
+    <item msgid="5827426100157335512">"Książka"</item>
+    <item msgid="8585828346253128384">"Kwiat lotosu"</item>
+    <item msgid="8788370542815300188">"Umysł osoby"</item>
+    <item msgid="7287354964767553293">"Słuchawki"</item>
+    <item msgid="2530059623783800987">"Telewizor"</item>
+    <item msgid="5307182323469376758">"Pociąg"</item>
+    <item msgid="4903790544026923026">"Samochód"</item>
+    <item msgid="5010405583912314582">"Nóż i widelec"</item>
+    <item msgid="8939998598599064900">"Koszyk na zakupy"</item>
+    <item msgid="3379605903308731893">"Dziecko"</item>
+    <item msgid="7808668968550293112">"Łapa zwierzęcia"</item>
+    <item msgid="1000692647524056504">"Plakietka z gwiazdką"</item>
+    <item msgid="8270261073421676502">"2 osoby"</item>
+    <item msgid="5767782819651505460">"Gwiazdka"</item>
+    <item msgid="4368451291862729334">"Serce"</item>
+    <item msgid="2613199102208419986">"Dom"</item>
+    <item msgid="3022279986430275040">"Półksiężyc"</item>
+    <item msgid="5421089790869483206">"Zegar"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 98bcc94..56e1d58 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Zawieszony"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Nieznane"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Podgląd"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"Kod QR"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Zawsze"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Ustawienia urządzenia słuchowego"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Skrót, zgodność z aparatem słuchowym"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Gotowe ustawienia"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Twój audiolog nie zaprogramował żadnych gotowych ustawień"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Nie udało się zaktualizować gotowego ustawienia"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Wyjście audio"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"O wyjściu audio"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Wybór języka tej aplikacji nie jest dostępny w Ustawieniach."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Język może się różnić od języków dostępnych w aplikacji. NIektóre aplikacje mogą nie obsługiwać tego ustawienia."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Ustaw języki dla poszczególnych aplikacji."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"System, aplikacje i strony internetowe używają pierwszego obsługiwanego języka z listy preferowanych języków."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Urządzenie, aplikacje i strony internetowe używają pierwszego obsługiwanego języka z listy preferowanych języków.\n\nWiele aplikacji będzie też używać regionu z preferowanego języka do formatowania dat, liczb i jednostek. Aby zmienić region, dodaj język, a następnie wybierz preferowany region."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Aby wybrać języki poszczególnych aplikacji, otwórz ustawienia języków w aplikacjach."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Więcej informacji o językach aplikacji"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Zmienić język systemu na %s?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Wyłączono"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Włączona / # aplikacja ma dostęp do lokalizacji}few{Włączona / # aplikacje mają dostęp do lokalizacji}many{Włączona / # aplikacji ma dostęp do lokalizacji}other{Włączona / # aplikacji ma dostęp do lokalizacji}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Wczytuję…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Aplikacje z uprawnieniami dostępu do urządzeń w pobliżu mogą określać położenie połączonych urządzeń względem siebie."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Aplikacje z uprawnieniami dostępu do urządzeń w pobliżu mogą określać położenie połączonych urządzeń względem siebie."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Dostęp aplikacji i usług do lokalizacji jest wyłączony. Informacje o lokalizacji urządzenia mogą jednak zostać przesłane do ratowników, gdy zadzwonisz lub wyślesz SMS-a na numer alarmowy."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Więcej informacji o ustawieniach lokalizacji"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Aby to zmienić, otwórz Ustawienia ChromeOS &gt; Prywatność i bezpieczeństwo &gt; Ustawienia prywatności &gt; Dostęp do lokalizacji"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Dodano skan twarzy i <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Dodano skan twarzy, odcisk palca i <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Dodano skan twarzy, odciski palca i <xliff:g id="WATCH">%s</xliff:g>"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Weryfikacja tożsamości jest włączona i wymaga danych biometrycznych"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Odblokowanie Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Dodano zegarek"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Skonfiguruj zegarek"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Więcej informacji o odblokowywaniu za pomocą zegarka"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Dodaj zegarek"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Usuń zegarek"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Odblokowywanie odciskiem palca i rozpoznawanie twarzy"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Rozpoznawanie twarzy i odblokowywanie odciskiem palca"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Rozpoznawanie twarzy i odcisku palca w profilu służbowym"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Wymagana konfiguracja"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Dodano skany twarzy i odciski palca"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Konfiguruję przestrzeń prywatną…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Nie udało się skonfigurować przestrzeni prywatnej"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Spróbuj ponownie"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Zakończ"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Przestrzeń prywatna nie jest dostępna.\nZobacz możliwe przyczyny"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Zobacz możliwe przyczyny"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Wybrać nową blokadę dla przestrzeni prywatnej?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Możesz ustawić nową blokadę specjalnie na potrzeby przestrzeni prywatnej albo użyć blokady urządzenia"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Używaj blokady ekranu"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Po włączeniu Bluetootha urządzenie może komunikować się z innymi urządzeniami Bluetooth w pobliżu.\n\nAby zwiększyć komfort korzystania z urządzenia, aplikacje i usługi mogą wyszukiwać urządzenia w pobliżu nawet wtedy, gdy Bluetooth jest wyłączony. Może to np. pomóc usprawnić działanie funkcji i usług opartych na lokalizacji. Możesz zmienić tę opcję w ustawieniach skanowania Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Po włączeniu Bluetootha urządzenie może komunikować się z innymi urządzeniami Bluetooth w pobliżu. Z Bluetootha korzystają funkcje takie jak szybkie udostępnianie czy Znajdź moje urządzenie.\n\nNawet gdy Bluetooth jest wyłączony, aplikacje i usługi nadal mogą w każdej chwili wyszukiwać urządzenia w pobliżu. Może to służyć na przykład do ulepszania funkcji i usług opartych na lokalizacji. Możesz to zmienić w ustawieniach skanowania Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Zmień"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Szczegóły urządzenia"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Ustawienia klawiatury"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Więcej ustawień"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Aktualizacje oprogramowania i inne informacje"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Wsparcie i wskazówki"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Adres Bluetooth urządzenia: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Adres Bluetooth urządzenia: \n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Zapomnieć urządzenie?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Funkcja eksperymentalna. Poprawia jakość dźwięku."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Zapomnij urządzenie"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Odłącz aplikację"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Więcej ustawień"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Maksymalna liczba podłączonych urządzeń audio Bluetooth"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Wybierz maksymalną liczbę podłączonych urządzeń audio Bluetooth"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Dziennik debugowania szczegółowości NFC"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Uruchomić urządzenie ponownie?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Szczegółowe logowanie NFC jest przeznaczone tylko dla programistów. Dodatkowe dane NFC są dołączane do raportów o błędach i mogą zawierać informacje prywatne. Uruchom urządzenie ponownie, aby zmienić to ustawienie."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Uruchom ponownie"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Włączony"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Wyłączony"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Wyświetlacz zewnętrzny"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Używaj wyświetlacza zewnętrznego"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Rozdzielczość wyświetlacza"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Wyświetlacz zewnętrzny jest odłączony"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Obrót"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standardowy"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Obrót wyświetlacza lub zmiana rozdzielczości mogą spowodować zatrzymanie uruchomionych aktualnie aplikacji"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Aby można było wyświetlać odbicie lustrzane ekranu, urządzenie musi być podłączone do wyświetlacza zewnętrznego"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Więcej opcji"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Przesyłanie ekranu"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"odbicie lustrzane"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Wyświetlacz bezprzewodowy"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptacyjne"</string>
     <string name="brightness" msgid="6216871641021779698">"Poziom jasności"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Automatyczna jasność"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Informacje o automatycznej jasności"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Jasność ekranu będzie automatycznie dostosowywana do otoczenia i Twojej aktywności. Możesz ręcznie przesunąć suwak, by pomóc automatycznej jasności poznać Twoje preferencje."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Włączona"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Wył."</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Użyć: <xliff:g id="CARRIER">%1$s</xliff:g> do transmisji danych?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Używasz sieci <xliff:g id="CARRIER2_0">%2$s</xliff:g> do transmisji danych. Jeśli przełączysz się na sieć <xliff:g id="CARRIER1">%1$s</xliff:g>, sieć <xliff:g id="CARRIER2_1">%2$s</xliff:g> nie będzie już używana do mobilnej transmisji danych."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Użyj karty operatora <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Zaktualizować preferowaną kartę SIM?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> jest jedyną kartą SIM w Twoim urządzeniu. Czy chcesz jej użyć do mobilnej transmisji danych, nawiązywania połączeń i wysyłania SMS-ów?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> to teraz Twoja główna karta SIM"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Zwiększyć zasięg mobilnej transmisji danych?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Zezwól na automatyczne przełączanie urządzenia na operatora <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> w przypadku mobilnej transmisji danych, jeśli będzie zapewniał lepszą dostępność."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Połączenia, wiadomości i ruch w sieci mogą być widoczne dla organizacji."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Opcje"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Ułatwienia dostępu"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Klawiatura fizyczna"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Używaj klawiatury ekranowej"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Pozostaw na ekranie, gdy aktywna jest klawiatura fizyczna"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Klawisze z filtrem powtórzeń"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Klawiatura ignoruje szybkie naciśnięcia tego samego klawisza powtórzone w ciągu <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Klawisze powolne"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Czas wymagany do aktywacji naciśnięcia klawisza zmienia się na <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Klawisze trwałe"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Naciśnij 1 klawisz, aby zyskać dostęp do skrótów, zamiast przytrzymywać kilka jednocześnie"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Klawisze sterowania myszą"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Używaj fizycznej klawiatury do sterowania myszą"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Skróty klawiszowe"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Lista skrótów"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Klawiatura i narzędzia w profilu służbowym"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Dostosuj indywidualne gesty nawigacyjne na touchpada"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Odwrotne przewijanie"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Treści przesuwają się w górę, kiedy przewijasz w dół"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Kliknięcie w prawym dolnym rogu"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Kliknij prawy dolny róg touchpada, aby wyświetlić więcej opcji"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Kliknięcie w prawym dolnym rogu"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Kliknij prawy dolny róg touchpada, aby zobaczyć więcej opcji"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Szybkość wskaźnika"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Styl wypełnienia wskaźnika"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Zmień styl wypełnienia na czarny"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Zmień styl wypełnienia na żółty"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Zmień styl wypełnienia na różowy"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Zmień styl wypełnienia na niebieski"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Styl ruchu wskaźnika"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Biały"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Czarny"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Brak"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Poznaj gesty na touchpada"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"trackpad, track pad, mysz, myszka, kursor, przewijanie, przesuwanie, kliknięcie prawym przyciskiem, klikanie, wskaźnik"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"kliknięcie prawym przyciskiem, klikanie, dotknięcie, wybranie, naciśnięcie"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Resetuj"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Wybierz klawisz modyfikujący"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Wybierz nowy klawisz jako <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Układ <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Domyślny"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatyczny: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Wybrany przez użytkownika: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Mowa"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Szybkość wskaźnika"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Skala wskaźnika"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Zmniejsz wskaźnik"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Zwiększ wskaźnik"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Kontroler gier"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Przekierowuj wibracje"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Po podłączeniu kontrolera gier przekieruj do niego wibracje"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Kontynuuj mimo to"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Anuluj"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Ustawienia powiększenia"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Przesuwanie jednym palcem"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Przesuń lupę 1 palcem"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Aby przesunąć ekran, przeciągnij po nim palcem."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Przesuń obszar powiększenia, przeciągając jeden palec."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Przesuń obszar powiększenia, przeciągając dwa palce."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Niedostępne podczas powiększania tylko części ekranu"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Kliknij przycisk, by powiększyć"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Szybko powiększaj ekran, aby dokładniej widzieć jego zawartość"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Aby powiększyć:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Włącz powiększenie za pomocą skrótu&lt;br/&gt; {1,number,integer}. Kliknij ekran&lt;br/&gt; {2,number,integer}. Aby przesuwać powiększony ekran, przeciągaj po nim dwoma palcami&lt;br/&gt; {3,number,integer}. Aby regulować powiększenie, ściągaj i rozciągaj ekran dwoma palcami&lt;br/&gt; {4,number,integer}. Wyłącz powiększenie za pomocą skrótu&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Aby powiększyć tymczasowo:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Sprawdź, czy ustawiony typ powiększenia to pełny ekran&lt;br/&gt; {1,number,integer}. Włącz powiększenie za pomocą skrótu&lt;br/&gt; {2,number,integer}. Naciśnij i przytrzymaj dowolne miejsce na ekranie&lt;br/&gt; {3,number,integer}. Aby przesuwać powiększony ekran, przeciągaj po nim palcem&lt;br/&gt; {4,number,integer}. Podnieś palec, aby wyłączyć powiększenie"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Aby powiększyć:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Włącz powiększenie skrótem.&lt;br/&gt; {1,number,integer}. Kliknij ekran&lt;br/&gt; {2,number,integer}. Aby przesuwać powiększony ekran, przeciągaj po nim 2 palcami&lt;br/&gt; {3,number,integer}. Aby regulować powiększenie, ściągaj i rozciągaj ekran 2 palcami&lt;br/&gt; {4,number,integer}. Aby wyłączyć powiększenie, użyj skrótu&lt;br/&gt;&lt;br/&gt; Możesz też między innymi powiększyć ekran tymczasowo."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Aby powiększyć:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Włącz powiększenie skrótem.&lt;br/&gt; {1,number,integer}. Kliknij ekran&lt;br/&gt; {2,number,integer}. Aby przesunąć ekran, przeciągnij po nim 1 lub 2 palcami.&lt;br/&gt; {3,number,integer}. Aby regulować powiększenie, ściągaj i rozciągaj ekran 2 palcami&lt;br/&gt; {4,number,integer}. Aby wyłączyć powiększenie, użyj skrótu&lt;br/&gt;&lt;br/&gt; Możesz też między innymi powiększyć ekran tymczasowo."</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_pager" msgid="8461939455728454061">"Strona <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> z <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Skrót do przycisku ułatwień dostępu"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Kliknij pływający przycisk"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Gest ułatwień dostępu"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Kliknij przycisk ułatwień dostępu <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na dole ekranu. Aby przełączać funkcje, naciśnij i przytrzymaj przycisk ułatwień dostępu."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Przesuń dwoma palcami z dołu ekranu w górę.\n\nAby przełączać funkcje, przesuń 2 palcami w górę i przytrzymaj."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Przesuń 3 palcami z dołu ekranu w górę.\n\nAby przełączyć funkcje, przesuń 3 palcami w górę i przytrzymaj."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Przesuń palcem z dołu ekranu w górę. Aby przełączać funkcje, przesuń w górę i przytrzymaj.}few{Przesuń # palcami z dołu ekranu w górę. Aby przełączać funkcje, przesuń # palcami w górę i przytrzymaj.}many{Przesuń # palcami z dołu ekranu w górę. Aby przełączać funkcje, przesuń # palcami w górę i przytrzymaj.}other{Przesuń # palca z dołu ekranu w górę. Aby przełączać funkcje, przesuń # palca w górę i przytrzymaj.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Więcej opcji"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Więcej informacji: <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Przyciski głośności"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"przyciski głośności"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Naciśnij i przytrzymaj oba przyciski głośności"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Kliknij dwukrotnie ekran dwoma palcami"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Dwukrotnie kliknij %1$d palcami"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Szybko dwukrotnie kliknij ekran %1$d palcami"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Kliknij trzykrotnie"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Szybko %1$d-krotnie kliknij ekran – może to spowolnić Twoje urządzenie"</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Dwukrotnie kliknij %1$d palcami"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Szybko kliknij ekran {0,number,integer} razy dwoma palcami"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Kliknij ekran trzykrotnie"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"kliknij trzykrotnie"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Szybko kliknij ekran {0,number,integer} razy. 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Ustawienia skrótów"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Skróty z ekranu blokady"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Zezwalaj na włączanie skrótów do aplikacji z ekranu blokady. Przytrzymaj oba przyciski głośności przez kilka sekund."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Przycisk ułatwień dostępu"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Przycisk i gest ułatwień dostępu"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Ta usługa działa nieprawidłowo."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Skróty ułatwień dostępu"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Pokaż w szybkich ustawieniach"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Czerwony–zielony"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Czerwony–zielony"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Czerwony – zielony, słaba percepcja zieleni"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Czerwony – zielony, słaba percepcja czerwieni"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Niebieski–żółty"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Tryb szarości"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensywność"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Słaby zielony, deuteranomalia"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Słaby czerwony, protanomalia"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Opcja niedostępna w trybie szarości ani przy wyłączonej korekcji kolorów"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Dodatkowe przyciemnienie"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Dodatkowo przyciemniaj ekran"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Cyjan"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Żółty"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Amarantowy"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Pozwolić usłudze <xliff:g id="SERVICE">%1$s</xliff:g> na pełną kontrolę nad urządzeniem?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"Wymagania <xliff:g id="SERVICE">%1$s</xliff:g>:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Aplikacja Ustawienia nie może zweryfikować Twojej odpowiedzi, ponieważ inna aplikacja zasłania prośbę o udzielenie uprawnień."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"Usługa <xliff:g id="SERVICE">%1$s</xliff:g> prosi o pełną kontrolę nad urządzeniem. Ta usługa może odczytywać zawartość ekranu i wykonywać działania w imieniu użytkownika, który potrzebuje ułatwień dostępu. Taki poziom kontroli nie jest odpowiedni w przypadku większości aplikacji."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Pełna kontrola jest odpowiednia dla aplikacji, które ułatwiają Ci dostęp, ale nie należy jej przyznawać wszystkim aplikacjom."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Wyświetlaj i kontroluj ekran"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Może odczytywać całą zawartość ekranu i wyświetlać treść nad innymi aplikacjami."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Wyświetlaj i wykonuj działania"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Może śledzić Twoje interakcje z aplikacjami lub czujnikiem sprzętowym, a także obsługiwać aplikacje za Ciebie."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Zezwól"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Odmów"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Wyłącz"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Włączony / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> i <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Możesz też włączyć dźwięk przestrzenny na urządzeniach Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Ustawienia połączonych urządzeń"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Dźwięk przestrzenny"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Wył."</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Wył."</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Wył."</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Brak}=1{Ustawiono 1 harmonogram}few{Ustawiono # harmonogramy}many{Ustawiono # harmonogramów}other{Ustawiono # harmonogramu}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Nie przeszkadzać"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Tryby priorytetowe"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Dodaj tryb"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Tryby"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Zmniejsz liczbę czynników rozpraszających uwagę i zwiększ skupienie dzięki trybom dostosowanym do pory snu, pracy, jazdy samochodem czy dowolnego innego czasu."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Utwórz własny tryb"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Otrzymuj powiadomienia tylko od ważnych osób i z kluczowych aplikacji"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Ustaw harmonogram"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Harmonogram oparty na"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Data i godzina"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"„Od 9:00 do 17:00 w ciągu tygodnia”"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Wydarzenia w kalendarzu"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{Tryb {mode_1} jest aktywny}=2{Tryby {mode_1} i {mode_2} są aktywne}=3{Tryby {mode_1}, {mode_2} i {mode_3} są aktywne}few{Tryby {mode_1}, {mode_2} i # inne są aktywne}many{Tryby {mode_1}, {mode_2} i # innych są aktywne}other{Tryby {mode_1}, {mode_2} i # innego są aktywne}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 tryb może włączać się automatycznie}few{# tryby mogą włączać się automatycznie}many{# trybów może włączać się automatycznie}other{# trybu może włączać się automatycznie}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"WŁ."</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Nie ustawiono"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Wyłączony"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Utwórz tryb"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Niestandardowy"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Włącz teraz"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Wyłącz"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Nie znaleziono trybu"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ograniczanie powiadomień"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Blokuj przerwy i czynniki rozpraszające"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Skonfiguruj <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Włącz tryb Nie przeszkadzać"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Dźwięki alarmów i multimediów mogą ignorować tryb Nie przeszkadzać"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Harmonogramy"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Usuń harmonogramy"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Usuń"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Zmień nazwę"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Usuń"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Usunąć tryb „<xliff:g id="MODE">%1$s</xliff:g>”?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Edytuj"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Harmonogramy"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Harmonogram"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Włącz automatycznie"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Dodaj kalendarz"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Korzystaj z kalendarza"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Zaplanuj"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Ustaw harmonogram"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Czas automatycznego włączania"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Harmonogram wydarzenia"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Włącz podczas wydarzeń:"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Gdy odpowiedź to:"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Harmonogram czasowy"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Zaplanuj"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> godz. <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Harmonogram"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Zezwalaj na powiadomienia dźwiękowe"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Powiadomienia, które mogą do Ciebie docierać"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Dodatkowe działania"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Filtry powiadomień"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Więcej ustawień"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Wyłączono}=1{Wyłączono / 1 tryb może włączać się automatycznie}few{Wyłączono / # tryby mogą włączać się automatycznie}many{Wyłączono / # trybów może włączać się automatycznie}other{Wyłączono / # trybu może włączać się automatycznie}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Ustawienia wyświetlania"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Opcje wyświetlania"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Tryb szarości"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"włącz ciemny motyw"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Włącz preferowanie jasnego tekstu na ciemnym tle w systemie operacyjnym i aplikacjach, co mniej obciąża oczy i może zapewnić znacznie większą oszczędność energii na niektórych urządzeniach"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Brak zmian dotyczących wyświetlania}=1{{effect_1}}=2{{effect_1} i {effect_2}}=3{{effect_1}, {effect_2} i {effect_3}}few{{effect_1}, {effect_2} i # więcej}many{{effect_1}, {effect_2} i # więcej}other{{effect_1}, {effect_2} i # więcej}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Zezwalaj na wszystkie powiadomienia"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Osoby, aplikacje i dźwięki mogą ignorować tryb Nie przeszkadzać"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opcje wyświetlania filtrowanych powiadomień"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Po włączeniu trybu Nie przeszkadzać"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Brak dźwięku powiadomień"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"otwórz powiadomienie"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Zezwalaj na odkładanie powiadomień"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Kropka powiadomienia na ikonie aplikacji"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Pakiety powiadomień"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Dymki"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Dymki"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Wyświetlaj tę rozmowę w dymkach"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Może odpowiadać na wiadomości i używać przycisków zawartych w powiadomieniach, w tym odkładać i zamykać powiadomienia oraz odbierać połączenia."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Zmienianie ustawień"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Może włączać i wyłączać tryb Nie przeszkadzać oraz zmieniać powiązane ustawienia."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Może zarządzać trybami i aktywować je oraz zmieniać powiązane ustawienia."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Jeśli wyłączysz aplikacji <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> dostęp do powiadomień, możesz również wyłączyć opcję Nie przeszkadzać."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Jeśli wyłączysz dostęp do powiadomień dla aplikacji <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, możesz również wyłączyć dostęp do trybów."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Wyłącz"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Anuluj"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"W czasie rzeczywistym"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Ta aplikacja nie obsługuje ustawień zaawansowanych"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Więcej ustawień"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Więcej ustawień znajdziesz w tej aplikacji"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Powiadomienia adaptacyjne"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Używaj powiadomień adaptacyjnych"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Gdy w krótkim czasie otrzymasz wiele powiadomień, telefon zmniejszy głośność i ograniczy liczbę wyskakujących okienek na ekranie przez maksymalnie 2 minuty. Połączenia, alarmy i rozmowy priorytetowe nadal będą sygnalizowane wibracjami, dźwiękowo lub wyświetlą się na ekranie, a wszystkie powiadomienia będzie można łatwo znaleźć, przesuwając palcem z góry ekranu w dół."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Wyciszanie powiadomień"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Używaj wyciszenia powiadomień"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Gdy w krótkim czasie otrzymasz wiele powiadomień, urządzenie zmniejszy głośność i ograniczy liczbę alertów przez maksymalnie 2 minuty. Nie wpłynie to na połączenia, alarmy ani rozmowy priorytetowe. \n\nPowiadomienia otrzymane podczas okresu wyciszenia można zobaczyć po przesunięciu palcem z góry ekranu w dół."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Zastosuj do profili służbowych"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Zastosuj w aplikacjach profilu służbowego"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Usługi pomocnicze rzeczywistości wirtualnej"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Dostęp do „Nie przeszkadzać”"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Zezwalaj na dostęp do trybu Nie przeszkadzać"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Żadne zainstalowane aplikacje nie prosiły o dostęp do funkcji „Nie przeszkadzać”."</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Dostęp do trybów"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Zezwalaj na dostęp do trybów"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Żadna z zainstalowanych aplikacji nie prosiła o dostęp do trybów."</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Nie zezwalasz na powiadomienia z tej aplikacji"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Na Twoje życzenie Android blokuje tę kategorię powiadomień na urządzeniu."</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Android na żądanie blokuje tę grupę powiadomień na urządzeniu"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Kategorie"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Inne"</string>
     <string name="no_channels" msgid="4716199078612071915">"Ta aplikacja nie opublikowała żadnych powiadomień"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Pokaż nieużywane kategorie"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Dodatkowe ustawienia w aplikacji"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Pokaż nieużywane kategorie"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Ukryj nieużywane kategorie"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Rozmowy"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Wszystkie rozmowy"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"wszystkie rozmowy"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Rozmowy priorytetowe"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"rozmowy priorytetowe"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Brak"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Aplikacje, które mogą ignorować tryb Nie przeszkadzać"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Wybrane aplikacje"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Brak"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Wszystkie"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Żadna aplikacja nie może ignorować trybu Nie przeszkadzać}=1{Aplikacja {app_1} może ignorować tryb Nie przeszkadzać}=2{Aplikacje {app_1} i {app_2} mogą ignorować tryb Nie przeszkadzać}=3{Aplikacje {app_1}, {app_2} i {app_3} mogą ignorować tryb Nie przeszkadzać}few{Aplikacje {app_1}, {app_2} i jeszcze # inne mogą ignorować tryb Nie przeszkadzać}many{Aplikacje {app_1}, {app_2} i jeszcze # innych mogą ignorować tryb Nie przeszkadzać}other{Aplikacje {app_1}, {app_2} i jeszcze inne (#) mogą ignorować tryb Nie przeszkadzać}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (służbowa)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Obliczam…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Zezwól na zastępowanie przez aplikacje"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikacje, które mogą ignorować tryb Nie przeszkadzać"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Wybierz więcej aplikacji"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Nic nie może ignorować trybu Nie przeszkadzać"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Nikt nie może ignorować trybu Nie przeszkadzać"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Niektóre osoby mogą ignorować tryb Nie przeszkadzać"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Powtórnie dzwoniący będą sygnalizowani"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Wszyscy mogą ignorować tryb Nie przeszkadzać"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Dzwoniący powtórnie"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Zezwalaj na połączenia od dzwoniących powtórnie"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Zmień na alarmy tylko na 1 godzinę do {time}}few{Zmień na alarmy tylko na # godziny do {time}}many{Zmień na alarmy tylko na # godzin do {time}}other{Zmień na alarmy tylko na # godziny do {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Zmień na same alarmy do <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Zmień na ciągle powiadamianie"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Zmień nazwę"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Zmień ikonę"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Zmień ikonę"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Edytuj tryb"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Utwórz tryb"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Tryb niestandardowy"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Nazwa trybu"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Wydarzenia w kalendarzu"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Rutyna wieczorna"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Podczas jazdy"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Ustawienia aplikacji"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Informacje i ustawienia w aplikacji <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Zarządzane przez aplikację <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Wyłączyć tryb <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Wyłączony tryb nigdy nie włączy się automatycznie"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Wyłącz"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Włączyć tryb <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Zależnie od ustawień ten tryb może się włączać automatycznie"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Włącz"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Ustaw tryb działający według zwyczajowego harmonogramu"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Ustaw tryb synchronizacji z wydarzeniami w kalendarzu i odpowiedziami na zaproszenia"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Opracuj wyciszającą rutynę przed snem. Ustaw alarmy, przyciemnij ekran i wyłącz powiadomienia."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Zadbaj o bezpieczeństwo na drodze i odpowiednie skupienie podczas jazdy"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Ogranicz rozpraszające uwagę powiadomienia z urządzenia, aby lepiej się skupić"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Zadbaj o odpowiednie warunki, wyciszając rozpraszające uwagę powiadomienia"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Spersonalizuj ustawienia i działanie urządzenia dla różnych użytkowników"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Ogranicz rozpraszające uwagę powiadomienia, zezwalając tylko na te od najważniejszych osób i z niezbędnych aplikacji"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Ustaw tryb działający według zwyczajowego harmonogramu"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Synchronizuj urządzenie z wydarzeniami dnia"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Obudź się z uczuciem pełnego wypoczęcia"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Zadbaj o bezpieczeństwo na drodze"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Skoncentruj się, aby osiągnąć sukces"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Na czas, gdy ważna jest uprzejmość"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Pomoc przy korzystaniu, aby zapewnić Ci bezpieczeństwo"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Kontroluj swoją uwagę"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Ostrzeżenie"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Zamknij"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Prześlij opinię o tym urządzeniu"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Musi pozostać włączone, ponieważ włączony jest dostęp do powiadomień"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Unieważnić dostęp aplikacji <xliff:g id="APP">%1$s</xliff:g> do trybu Nie przeszkadzać?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Wszystkie zasady Nie przeszkadzać utworzone przez tę aplikację zostaną usunięte."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Zezwolić aplikacji <xliff:g id="APP">%1$s</xliff:g> na dostęp do trybów?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Aplikacja będzie mogła włączać i wyłączać tryb Nie przeszkadzać, zarządzać trybami i je aktywować oraz zmieniać powiązane ustawienia."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Wszystkie tryby utworzone przez tę aplikację zostaną usunięte."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Nie optymalizuj"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optymalizuj"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Może powodować szybsze wyczerpywanie się baterii. Aplikacja nie będzie już miała ograniczenia dotyczącego zużywania baterii w tle."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Etui"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Bateria"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Panel ustawień"</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_desktop_mode" msgid="5644818402534562302">"Włącz dowolny rozmiar okien"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Włącz dowolny rozmiar okien na dodatkowym ekranie"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Włącz brak możliwości zmiany rozmiaru w trybie wielu okien"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Zezwala na wyświetlanie aplikacji bez możliwości zmiany rozmiaru w trybie wielu okien"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Wymuszaj tryb ciemny"</string>
@@ -4969,7 +5078,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobilna transmisja danych"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Aby zwiększyć komfort korzystania z urządzenia, aplikacje i usługi mogą wyszukiwać sieci Wi-Fi w dowolnym momencie, nawet gdy Wi-Fi jest wyłączone. Może to np. pomóc usprawnić działanie funkcji i usług opartych na lokalizacji. Możesz zmienić tę opcję w ustawieniach skanowania Wi-Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Zmień"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Połączono"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Tymczasowe połączenie"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Tymczasowo z wykorzystaniem usługi <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -5001,7 +5109,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Używaj przypinania aplikacji"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Używaj opcji programisty"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Używaj usługi drukowania"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Zezwalaj na wielu użytkowników"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Pozwól na przełączanie użytkowników"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"zezwalać, wiele, użytkownik, pozwolenie, dużo"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"kilka, użytkownicy, profile, ludzie, konta, przełącznik, wiele"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Używaj debugowania bezprzewodowego"</string>
@@ -5058,52 +5166,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> chce połączyć się z tym telefonem.\n\nTwój telefon nigdy wcześniej nie był połączony z urządzeniem <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Nie łącz"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Połącz"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Ustawienia TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Włączono"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Wyłączono"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Przywróć ustawienia domyślne"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Przywrócono ustawienia domyślne aparatu."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Maksymalny balans na pełnej baterii"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Saldo"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Limity wykorzystania"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Początkowy limit wykorzystania"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Minimalny limit wykorzystania"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Maksymalny limit wykorzystania"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modyfikatory"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Działania (koszt produkcji)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Działania (cena podstawowa)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Nagrody za pojedyncze zdarzenie"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Nagrody na sekundę czasu trwania wydarzenia"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Maksymalna liczba nagród dziennie"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Instalacja aplikacji"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Najczęstsza aktywność"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Wyświetlenie powiadomienia"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Wyświetlenie powiadomienia w ciągu 15 min"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interakcja z notyfikacją"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Interakcja z widgetem"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Inna interakcja użytkownika z aplikacją"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Inicjacja procesu o najwyższym priorytecie"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Działający proces o najwyższym priorytecie"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Inicjacja procesu o wysokim priorytecie"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Działający proces o wysokim priorytecie"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Inicjacja procesu o domyślnym priorytecie"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Działający proces o domyślnym priorytecie"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Inicjacja procesu o niskim priorytecie"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Działający proces o niskim priorytecie"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Inicjacja procesu o najniższym priorytecie"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Działający proces o najniższym priorytecie"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Kara za przekroczenie czasu oczekiwania"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Maksymalne saldo na pełnej baterii (odstąpienie)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Minimalne saldo na pełnej baterii (aplikacja systemowa bez interfejsu graficznego)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Maksymalne saldo na pełnej baterii (pozostałe aplikacje)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Dodatek Minimalne saldo na pełnej baterii (aktualizatory aplikacji)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Ładowanie"</item>
-    <item msgid="658627268149681677">"Uśpienie"</item>
-    <item msgid="1599558140284643834">"Tryb oszczędzania energii"</item>
-    <item msgid="588427840913221601">"Stan procesu"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Potwierdź"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Wyświetl podgląd"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Wybierz wygaszacz ekranu"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Pokazuj dodatkowe informacje"</string>
@@ -5115,8 +5177,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Wybierz, co ma być widoczne na ekranie, kiedy tablet będzie zadokowany. Urządzenie może pobierać więcej energii podczas korzystania z wygaszacza ekranu."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Dostosuj"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Dostosuj wygaszacz ekranu <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Włączenie obsługi trybu dowolnego wymaga ponownego uruchomienia."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Wymuszenie wersji na komputery na dodatkowych wyświetlaczach wymaga ponownego uruchomienia."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Włączenie obsługi okien o dowolnym rozmiarze wymaga ponownego uruchomienia."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Aktualizacja dostępności dowolnego rozmiaru okien wymaga ponownego uruchomienia."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Włączenie dowolnego rozmiaru okien na dodatkowych ekranach wymaga ponownego uruchomienia."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Uruchom ponownie teraz"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Uruchom ponownie później"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Dźwięk przestrzenny"</string>
@@ -5213,7 +5276,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Pudrowy róż"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Amarantowy"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Fioletowy"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Gotowe"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Zapisz"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Anuluj"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Domyślny"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Średni"</string>
@@ -5234,6 +5297,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Włączone"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Wyłączono"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Włączono"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Dźwięk %1$d%% lewa strona, %2$d%% prawa strona"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Dźwięk %1$d%% prawa strona, %2$d%% lewa strona"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Nazwa urządzenia jest widoczna dla zainstalowanych przez Ciebie aplikacji. Mogą ją też zobaczyć inne osoby, gdy łączysz się z urządzeniami przez Bluetooth, łączysz się z siecią Wi-Fi lub konfigurujesz hotspot Wi-Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Rodzaj gramatyczny"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Wybierz rodzaj gramatyczny"</string>
@@ -5302,6 +5367,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Udostępnianie dźwięku zostało zatrzymane"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Połącz zgodne urządzenie"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Aby zacząć udostępniać dźwięk, najpierw połącz słuchawki LE Audio z telefonem"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Przełącz na: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Połącz się ze strumieniem LE Audio"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Strumienie audio w pobliżu"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Strumienie audio"</string>
@@ -5345,4 +5411,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Posłuchaj strumienia"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Zeskanuj kod QR strumienia audio, aby słuchać na urządzeniu <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Podczas udostępniania nie można edytować hasła. Aby je zmienić, najpierw wyłącz udostępnianie dźwięku."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Skaner kodów QR"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Potrzebujesz pomocy?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Ustawienia wyszukiwania"</string>
 </resources>
diff --git a/res/values-pt-rBR/arrays.xml b/res/values-pt-rBR/arrays.xml
index 06b6904..6822b22 100644
--- a/res/values-pt-rBR/arrays.xml
+++ b/res/values-pt-rBR/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Hora de dormir"</item>
-    <item msgid="4152450357280759894">"Ao dirigir"</item>
-    <item msgid="7096549258219399423">"Imersivo"</item>
-    <item msgid="2760716776980432977">"Gerenciado"</item>
-    <item msgid="601734478369121764">"Marcar com estrela"</item>
-    <item msgid="6243809315432780521">"Agenda"</item>
-    <item msgid="4913577903148415331">"Horário"</item>
-    <item msgid="3653377604690057780">"Teatro"</item>
-    <item msgid="3843711267408385410">"Flor"</item>
+    <item msgid="1216815120972438676">"Maleta"</item>
+    <item msgid="184985872234062767">"Edifício clássico"</item>
+    <item msgid="9189550412466785530">"Edifício de apartamentos"</item>
+    <item msgid="2142527562511049422">"Balão de diálogo"</item>
+    <item msgid="2548100558260478605">"Grupo de pessoas"</item>
+    <item msgid="2270003903304578284">"Lâmpada"</item>
+    <item msgid="4793496619091161864">"Calendário"</item>
+    <item msgid="5673625795644364100">"Não perturbe"</item>
+    <item msgid="1423820834865831361">"Pessoa correndo"</item>
+    <item msgid="2037298830718732608">"Golfe"</item>
+    <item msgid="2197835014443491074">"Peso de academia"</item>
+    <item msgid="2730180105015616518">"Natação"</item>
+    <item msgid="2666922823253345958">"Pessoa escalando"</item>
+    <item msgid="8234880356472211396">"Pessoa jogando bola"</item>
+    <item msgid="4642980625253001443">"Pessoa chutando"</item>
+    <item msgid="4324795269518833500">"Controle de jogo"</item>
+    <item msgid="7789966425125441125">"Paleta de cores do artista"</item>
+    <item msgid="663512680597461570">"Floco de neve"</item>
+    <item msgid="7952183800501346803">"Guarda-sol"</item>
+    <item msgid="799139025758265891">"Ferramentas"</item>
+    <item msgid="1330084588359129896">"Barraca"</item>
+    <item msgid="3861584909935022342">"Rolo de filme"</item>
+    <item msgid="5827426100157335512">"Livro"</item>
+    <item msgid="8585828346253128384">"Flor de lótus"</item>
+    <item msgid="8788370542815300188">"Mente humana"</item>
+    <item msgid="7287354964767553293">"Fones de ouvido"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Trem"</item>
+    <item msgid="4903790544026923026">"Carro"</item>
+    <item msgid="5010405583912314582">"Garfo e faca"</item>
+    <item msgid="8939998598599064900">"Carrinho de compras"</item>
+    <item msgid="3379605903308731893">"Criança"</item>
+    <item msgid="7808668968550293112">"Pata de animal"</item>
+    <item msgid="1000692647524056504">"Selo de estrela"</item>
+    <item msgid="8270261073421676502">"Duas pessoas"</item>
+    <item msgid="5767782819651505460">"Estrela"</item>
+    <item msgid="4368451291862729334">"Coração"</item>
+    <item msgid="2613199102208419986">"Casa"</item>
+    <item msgid="3022279986430275040">"Meia-lua"</item>
+    <item msgid="5421089790869483206">"Relógio"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index dfa64f4..1081817 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspenso"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Desconhecido"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Pré-visualização"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR code"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Sempre"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Configurações do aparelho auditivo"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Atalho, compatibilidade com aparelhos auditivos"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Predefinição"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Não há predefinições programadas pelo seu audiologista"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Não foi possível atualizar a predefinição"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Saída de áudio"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Sobre a saída de áudio"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"A seleção de idioma para este app não está disponível nas configurações."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"O idioma pode ser diferente dos disponíveis no app. Alguns apps podem não ter suporte a essa configuração."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Defina o idioma de cada app."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"O sistema, os apps e os sites usam o primeiro idioma disponível na sua lista."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"O dispositivo, os apps e os sites usam o primeiro idioma disponível na sua lista.\n\nMuitos apps também vão usar a região do idioma de sua preferência para formatar datas, números e unidades. Se quiser mudar sua região, adicione um idioma e escolha o local que prefere."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Para selecionar um idioma para cada app, acesse as configurações de idioma dele."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Saiba mais sobre idiomas de apps"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Mudar o idioma do sistema para %s?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Configuração desativada"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Ativada / # app tem acesso à localização}one{Ativada / # app tem acesso à localização}other{Ativada / # apps têm acesso à localização}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Carregando…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Apps com permissão para encontrar dispositivos por perto podem determinar a posição relativa dos dispositivos conectados."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Apps com permissão para encontrar dispositivos próximos podem determinar a posição relativa dos dispositivos conectados."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"O acesso à localização está desativado para apps e serviços. A localização do dispositivo ainda poderá ser enviada a socorristas quando você ligar ou enviar uma mensagem de texto para um número de emergência."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Saiba mais sobre as configurações de localização"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Para mudar, acesse \"Configurações do ChromeOS &gt; Privacidade e segurança &gt; Controles de privacidade &gt; Acesso ao local\""</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Rosto e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Rosto, impressão digital e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Rosto, impressões digitais e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"A verificação de identidade está ativada e exige uma biometria"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Desbloqueio do Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Relógio adicionado"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Configurar o relógio"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Saiba mais sobre o \"Desbloqueio do relógio\""</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Adicionar relógio"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Remover relógio"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Impressão digital e Desbloqueio facial"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Desbloqueio facial e por impressão digital"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Desbloqueio facial e por impressão digital para o trabalho"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Configuração necessária"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Rosto e impressões digitais adicionados"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Configurando o espaço privado…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Não foi possível configurar um espaço privado"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Tentar de novo"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Sair"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"O espaço privado não está disponível.\nConferir possíveis causas."</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Conferir possíveis causas"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Escolher outro bloqueio para o espaço privado?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Você pode definir um novo bloqueio para o espaço privado ou usar o mesmo que você usa para desbloquear seu dispositivo"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Usar o bloqueio de tela"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Quando o Bluetooth está ativado, seu dispositivo pode se comunicar com outros dispositivos Bluetooth por perto.\n\nPara melhorar a experiência, os apps e serviços ainda podem procurar dispositivos por perto a qualquer momento, mesmo com o Bluetooth desativado. Isso pode ser usado, por exemplo, para aprimorar serviços e recursos baseados na localização. Mude essa opção nas configurações de busca por Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Com o Bluetooth ativado, o dispositivo pode se comunicar com dispositivos próximos. Recursos como o Quick Share e o Encontre Meu Dispositivo usam Bluetooth.\n\nApps e serviços ainda podem procurar dispositivos por perto a qualquer momento, mesmo quando o Bluetooth está desativado. Isso pode ser usado, por exemplo, para melhorar recursos e serviços baseados em local. Você pode mudar essa opção nas configurações da busca por Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Mudar"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Detalhes do dispositivo"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Configurações de teclado"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Mais configurações"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Atualizações de firmware, informações e muito mais"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Dicas e suporte"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Endereço Bluetooth do dispositivo: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Endereço Bluetooth do dispositivo:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Esquecer dispositivo?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Experimental. Melhora a qualidade do som."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Esquecer dispositivo"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Desconectar app"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Mais configurações"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Número máximo de dispositivos de áudio Bluetooth conectados"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Selecione o número máximo de dispositivos de áudio Bluetooth conectados"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Registro detalhado de depuração NFC do fornecedor"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Reiniciar o dispositivo?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"O registro detalhado de NFC é destinado apenas a fins de desenvolvimento. Dados NFC extras estão incluídos em relatórios de bugs, que podem conter informações particulares. Reinicie o dispositivo para mudar essa configuração."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Reiniciar"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Ligada"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Desligada"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Tela externa"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Usar tela externa"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Resolução da tela"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"A tela externa está desconectada"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Rotação"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Padrão"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Mudar a rotação ou a resolução pode interromper qualquer app que está sendo executado"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"O dispositivo precisa estar conectado a uma tela externa para espelhar a exibição"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Mais opções"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Transmitir"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"espelho"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Ativar tela sem fio"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptáveis"</string>
     <string name="brightness" msgid="6216871641021779698">"Nível de brilho"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Brilho adaptável"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Sobre o brilho adaptável"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"O brilho da tela será ajustado automaticamente ao seu ambiente e às suas atividades. Mova o controle deslizante para ajudar o brilho adaptável a memorizar suas preferências."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Ativado"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Desativado"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Usar <xliff:g id="CARRIER">%1$s</xliff:g> para dados móveis?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Você está usando <xliff:g id="CARRIER2_0">%2$s</xliff:g> para dados móveis. Se alterar para <xliff:g id="CARRIER1">%1$s</xliff:g>, <xliff:g id="CARRIER2_1">%2$s</xliff:g> não será mais usada para dados móveis."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Usar <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Atualizar chip preferido?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"O <xliff:g id="NEW_SIM">%1$s</xliff:g> é o único chip no seu dispositivo. Quer usá-lo para dados móveis, chamadas e mensagens SMS?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> agora é seu chip principal"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Melhorar a cobertura de dados móveis?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Permita que o dispositivo mude automaticamente para a operadora <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> e use os dados móveis quando a disponibilidade melhorar."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Ligações, mensagens e tráfego de rede podem estar visíveis para sua organização."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Opções"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Acessibilidade"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Teclado físico"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Usar teclado na tela"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Manter na tela enquanto o teclado físico estiver ativo"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Teclas de filtro"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"O teclado ignora pressionamentos rápidos e repetidos da mesma tecla dentro de <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Teclas lentas"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Ajusta o tempo que leva para um pressionamento de tecla ser ativado para <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Teclas de aderência"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Pressione uma tecla por vez para usar atalhos em vez de manter as teclas pressionadas juntas"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Teclas do mouse"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Use o teclado físico para controlar o mouse."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Atalhos do teclado"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Mostrar lista de atalhos"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Teclados e ferramentas de perfil de trabalho"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Personalize gestos individuais de navegação do touchpad"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Rolagem reversa"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"O conteúdo vai para cima quando você rola a tela para baixo"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Toque no canto inferior direito"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Toque no canto inferior direito do touchpad para mais opções"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Clicar no canto inferior direito"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Clique no canto inferior direito do touchpad para mais opções"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Velocidade do cursor"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Estilo de preenchimento do ponteiro"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Mudar preenchimento para preto"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Mudar preenchimento para amarelo"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Mudar preenchimento para rosa"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Mudar preenchimento para azul"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Estilo de traço do ponteiro"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Branco"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Preto"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Nenhum"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Aprender gestos do touchpad"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"trackpad, track pad, mouse, cursor, rolar, deslizar, clicar com o botão direito do mouse, clicar, ponteiro"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"clicar com o botão direito do mouse, tocar"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Redefinir"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Escolher a tecla modificadora"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Escolha uma nova tecla para <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Layout do <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Padrão"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automático: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Usuário selecionado: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Fala"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Velocidade do cursor"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Tamanho do ponteiro"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Diminuir tamanho do ponteiro"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Aumentar tamanho do ponteiro"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Controlador de jogos"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Redirecionar vibração"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Enviar vibração para o controlador de jogo quando conectado"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continuar mesmo assim"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Cancelar"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Configurações de ampliação"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Movimento com um dedo"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Mova a lupa com 1 dedo"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Arraste um dedo para mover a tela."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Mova a área de ampliação arrastando um dedo."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Mova a área de ampliação arrastando dois dedos."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Indisponível ao ampliar apenas parte da tela"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Toque em um botão para aplicar zoom"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Aplique zoom rapidamente na tela para ampliar o conteúdo"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Para aumentar o zoom, faça o seguinte:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Use o atalho para iniciar a ampliação.&lt;br/&gt; {1,number,integer}. Toque na tela.&lt;br/&gt; {2,number,integer}. Arraste dois dedos para navegar pela tela.&lt;br/&gt; {3,number,integer}. Faça um gesto de pinça com dois dedos para ajustar o zoom.&lt;br/&gt; {4,number,integer}. Use o atalho para interromper a ampliação.&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Se quiser aumentar o zoom temporariamente, faça o seguinte:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Confira se o tipo de ampliação está definido como tela cheia.&lt;br/&gt; {1,number,integer}. Use o atalho para iniciar a ampliação.&lt;br/&gt; {2,number,integer}. Toque e pressione em qualquer lugar da tela.&lt;br/&gt; {3,number,integer}. Arraste o dedo para navegar pela tela.&lt;br/&gt; {4,number,integer}. Solte para interromper a ampliação."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Para aumentar o zoom, faça o seguinte:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Use o atalho para iniciar a ampliação.&lt;br/&gt; {1,number,integer}. Toque na tela.&lt;br/&gt; {2,number,integer}. Arraste 2 dedos para navegar pela tela.&lt;br/&gt; {3,number,integer}. Faça um gesto de pinça com 2 dedos para ajustar o zoom.&lt;br/&gt; {4,number,integer}. Pare a ampliação usando um atalho&lt;br/&gt;&lt;br/&gt; Você também pode aumentar o zoom temporariamente e fazer várias outras ações|."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Para aumentar o zoom, faça o seguinte:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Use o atalho para iniciar a ampliação.&lt;br/&gt; {1,number,integer}. Toque na tela.&lt;br/&gt; {2,number,integer}. Arraste 1 ou 2 dedos para navegar pela tela.&lt;br/&gt; {3,number,integer}. Faça um gesto de pinça com 2 dedos para ajustar o zoom.&lt;br/&gt; {4,number,integer}. Pare a ampliação usando um atalho&lt;br/&gt;&lt;br/&gt; Você também pode aumentar o zoom temporariamente e fazer várias outras ações|."</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_pager" msgid="8461939455728454061">"Página <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> de <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Atalho para o botão de acessibilidade"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Tocar no botão flutuante"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Gesto de acessibilidade"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Toque no botão de acessibilidade <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na parte de baixo da tela. Para trocar de recurso, mantenha o botão de acessibilidade pressionado."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Deslize de baixo para cima na tela com dois dedos.\n\nPara alternar entre recursos, deslize de baixo para cima na tela com dois dedos, sem soltar."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Deslize de baixo para cima na tela com três dedos.\n\nPara alternar entre recursos, deslize de baixo para cima na tela com três dedos, sem soltar."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Deslize de baixo para cima na tela. Para trocar de recurso, deslize de baixo para cima e mantenha a tela pressionada.}one{Deslize com # dedo de baixo para cima na tela. Para trocar de recurso, deslize de baixo para cima com # dedo e mantenha a tela pressionada.}other{Deslize com # dedos de baixo para cima na tela. Para trocar de recurso, deslize de baixo para cima com # dedos e mantenha a tela pressionada.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Mais opções"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Saiba mais sobre <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Teclas de volume"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"teclas de volume"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Tocar e manter as duas teclas de volume pressionadas"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Tocar duas vezes na tela com dois dedos"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Toque duplo com %1$d dedos"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Toque rapidamente na tela 2 vezes com %1$d dedos"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Toque triplo"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Toque rapidamente na tela %1$d vezes. Isso pode deixar o dispositivo mais lento."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Tocar duas vezes com %1$d dedos na tela"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Toque na tela {0,number,integer} vezes rapidamente com dois dedos"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Tocar na tela três vezes"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"tocar três vezes"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Toque na tela {0,number,integer} vezes rapidamente. 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Configurações de atalho"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Atalho da tela de bloqueio"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Permitir que o atalho do recurso seja ativado pela tela de bloqueio. Pressione as duas teclas de volume por alguns segundos."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Botão de acessibilidade"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Botão e gesto de acessibilidade"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Este serviço está com problemas."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Atalhos de acessibilidade"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Mostrar em \"Configurações rápidas\""</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Vermelho-verde"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Vermelho-verde"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Vermelho e verde, dificuldade com a cor verde"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Vermelho e verde, dificuldade com a cor vermelha"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Azul-amarelo"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Escala de cinza"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensidade"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Dificuldade com a cor verde, deuteranomalia"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Dificuldade com a cor vermelha, protanomalia"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Indisponível para o modo escala de cinza ou quando a correção de cor está desativada"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Escurecer mais a tela"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Deixar a tela ainda mais escura"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Ciano"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Amarelo"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Permitir que o <xliff:g id="SERVICE">%1$s</xliff:g> tenha controle total do seu dispositivo?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> precisa:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Como um app está ocultando uma solicitação de permissão, as configurações não podem confirmar sua resposta."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> está solicitando controle total deste dispositivo. O serviço pode ler a tela e realizar ações em nome de usuários com necessidades especiais. Esse nível de controle não é adequado para a maioria dos apps."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"O controle total é adequado para apps que ajudam você com as necessidades de acessibilidade, mas não para a maioria dos apps."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Ver e controlar tela"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Pode ler todo o conteúdo na tela e mostrar conteúdo sobreposto a outros apps."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Ver e realizar ações"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Pode monitorar suas interações com um app ou um sensor de hardware e interagir com apps em seu nome."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Permitir"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Negar"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Desativar"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Ativado / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> e <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Também é possível ativar o áudio espacial para dispositivos Bluetooth"</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Configurações de dispositivos conectados"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Áudio espacial"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Desativado"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Desativado"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Desativado"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Nenhuma}=1{1 programação definida}one{# programação definida}other{# programações definidas}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Não perturbe"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Modos prioritários"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Adicionar um modo"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Modos"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Minimize as distrações e controle seu foco com modos de sono, trabalho, direção e tudo mais."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Crie seu próprio modo"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Receber notificações apenas de pessoas e apps importantes"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Definir uma programação"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Programação baseada em"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Dia e hora"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"Das 9h às 17h em dias de semana\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Eventos da agenda"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} está ativo}=2{{mode_1} e {mode_2} estão ativos}=3{{mode_1}, {mode_2} e {mode_3} estão ativos}one{{mode_1}, {mode_2} e mais # modo estão ativos}other{{mode_1}, {mode_2} e mais # modos estão ativos}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 modo pode ser ativado automaticamente}one{# modo pode ser ativado automaticamente}other{# modos podem ser ativados automaticamente}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ATIVADO"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Não definido"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Desativado"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Criar um modo"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Personalizado"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Ativar agora"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Desativar"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Modo não encontrado"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitar interrupções"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Bloquear interrupções e distrações"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Configurar <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Ativar o Não perturbe"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarmes e sons de mídia podem interromper"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Programações"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Excluir programações"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Excluir"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Renomear"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Excluir"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Excluir modo \"<xliff:g id="MODE">%1$s</xliff:g>\"?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Editar"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Programações"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Programação"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Ativar automaticamente"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Adicione uma agenda"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Use sua agenda"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Programação"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Definir uma programação"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Quando ativar automaticamente"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Programação de eventos"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Ativar durante eventos para"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Em que a resposta do convite seja"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Programação de horário"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Programação"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g>h e <xliff:g id="MINUTES">%2$d</xliff:g>min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Programação"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Permitir interrupções que emitem sons"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Notificações que podem chegar até você"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Ações adicionais"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Filtros de notificações"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Mais configurações"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Desativado}=1{Desativado / 1 modo pode ser ativado automaticamente}one{Desativado / # modo pode ser ativado automaticamente}other{Desativado / # modos podem ser ativados automaticamente}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Configurações de tela"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Opções de exibição"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Escala de cinza"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ativar tema escuro"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Muda o SO e os apps para dar preferência a texto claro em um fundo escuro, o que pode facilitar a visualização e oferecer uma economia de bateria significativa em alguns dispositivos"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Nenhuma mudança na tela}=1{{effect_1}}=2{{effect_1} e {effect_2}}=3{{effect_1}, {effect_2} e {effect_3}}one{{effect_1}, {effect_2} e mais #}other{{effect_1}, {effect_2} e mais #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Permitir todas as notificações"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Pessoas, apps e sons podem interromper"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opções de exibição para notificações filtradas"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Quando o Não perturbe estiver ativado"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Desativar som de notificações"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"abrir notificação"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Permitir adiar notificações"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Ponto de notificação no ícone do app"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Pacotes de notificações"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Balões"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Balões"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Mostrar conversa em um balão"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Ele pode responder a mensagens e acionar botões nas notificações, como ativar a soneca, dispensar notificações ou atender ligações."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Mudar configurações"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Ele pode ativar e desativar o modo Não perturbe e mudar as configurações relacionadas a ele."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"O app pode gerenciar e ativar os modos, além de mudar as configurações relacionadas."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Se você desativar o acesso a notificações para <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, é possível que o acesso ao Não perturbe também seja desativado."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Se você desativar o acesso a notificações para <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, é possível que o acesso aos modos também seja desativado."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Desativar"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Cancelar"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Em tempo real"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"O app não é compatível com as configurações avançadas."</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Mais configurações"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Mais configurações estão disponíveis neste app"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Notificações adaptáveis"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Usar notificações adaptáveis"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Se chegarem muitas notificações em um período curto de tempo, o smartphone vai diminuir o volume e minimizar pop-ups na tela por até dois minutos. Ligações, alarmes e conversas prioritárias ainda vão vibrar, emitir um som ou aparecer na tela. Todas as notificações podem ser acessadas ao puxar de cima para baixo na tela."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Período de espera para notificações"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Atenuar notificações"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Se chegarem muitas notificações em um curto período, o dispositivo vai diminuir o volume e minimizar alertas por até 2 minutos. Isso não afeta ligações, alarmes e conversas prioritárias. \n\nAs notificações recebidas durante a atenuação podem ser encontradas ao deslizar de cima para baixo na tela."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Aplicar a perfis de trabalho"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Aplicar em apps do perfil de trabalho"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Serviços de ajuda para RV"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Acesso ao Não perturbe"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Permitir o Não perturbe"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Nenhum app instalado solicitou o acesso \"Não perturbe\""</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Acesso aos modos"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Permitir acesso aos modos"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Nenhum app instalado solicitou acesso aos modos"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Você não permitiu notificações para este app"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"O Android está bloqueando essa categoria de notificações neste dispositivo, conforme você pediu."</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"O Android está bloqueando esse grupo de notificações neste dispositivo, conforme seu pedido"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Categorias"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Outros"</string>
     <string name="no_channels" msgid="4716199078612071915">"Este app não postou nenhuma notificação"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Mostrar categorias não usadas"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Configurações avançadas no app"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Mostrar categorias não usadas"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Ocultar categorias não usadas"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversas"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Todas as conversas"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"todas as conversas"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Conversas prioritárias"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"conversas prioritárias"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Nenhuma"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Apps que podem fazer interrupções"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Apps selecionados"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Nenhum"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Todos"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Nenhum app pode interromper}=1{{app_1} pode interromper}=2{{app_1} e {app_2} podem interromper}=3{{app_1}, {app_2} e {app_3} podem interromper}one{{app_1}, {app_2} e mais # podem interromper}other{{app_1}, {app_2} e mais # podem interromper}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (trabalho)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Calculando…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permitir que apps modifiquem o \"Não perturbe\""</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps que podem fazer interrupções"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Selecionar mais apps"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Nada pode interromper"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Ninguém pode interromper"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Algumas pessoas podem interromper"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Autores de ligações repetidas podem interromper o modo"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Todas as pessoas podem interromper"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Autores de chamadas repetidas"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Permitir autores de chamadas repetidas"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Mudar para somente alarmes por uma hora até {time}}one{Mudar para somente alarmes por # hora até {time}}other{Mudar para somente alarmes por # horas até {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Alterar para \"Somente alarmes\" até <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Alterar para \"Sempre interromper\""</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Renomear"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Mudar ícone"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Mudar ícone"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Modo de edição"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Criar um modo"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Modo personalizado"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Nome do modo"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Eventos da agenda"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Rotina Hora de dormir"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Ao dirigir"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Configurações do app"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Informações e configurações em <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Gerenciado por <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Desativar o <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Este modo nunca será ativado quando estiver desativado"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Desativar"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Ativar <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Esse modo pode ser ativado automaticamente de acordo com as configurações"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Ativar"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Defina um modo que siga uma programação regular"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Defina um modo para sincronizar com eventos da agenda e respostas a convites"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Crie uma rotina de sono relaxante. Defina alarmes, escureça a tela e bloqueie notificações."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Priorize a segurança na estrada para dirigir com foco e sem distrações"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Bloqueie distrações ou interrupções de seu dispositivo para manter o foco"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Elimine todas as distrações para ter um ambiente silencioso"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Personalize as experiências e configurações do dispositivo para diferentes usuários"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Minimize interrupções, permitindo que apenas pessoas e apps importantes entrem em contato com você"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Defina um modo que siga uma programação regular"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Mantenha seu dispositivo sincronizado com os eventos do dia"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Acorde com 100% de energia"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Priorize a segurança na estrada"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Concentre-se para entrar no clima"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Para momentos em que a cortesia é importante"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Uso guiado para garantir sua segurança"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Controle sua atenção"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Alerta"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Fechar"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Enviar feedback sobre o dispositivo"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Deve permanecer ativado, pois o acesso a notificações está ativado"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Revogar acesso a \"Não perturbe\" para <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Todas as regras \"Não perturbe\" criadas por esse app serão removidas."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Permitir que <xliff:g id="APP">%1$s</xliff:g> tenha acesso aos modos?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"O app poderá ativar/desativar o recurso \"Não perturbe\", gerenciar e ativar os modos e fazer mudanças nas configurações relacionadas."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Todos os modos criados por esse app serão removidos."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Não otimizar"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Otimizar"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Isso pode esgotar a bateria mais rapidamente. A restrição do uso de bateria em segundo plano não se aplicará mais ao app."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Estojo"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Bateria"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Painel de configurações"</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_desktop_mode" msgid="5644818402534562302">"Ativar janelas de forma livre"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Permitir janelas de forma livre na tela secundária"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Ativar recursos não redimensionáveis em várias janelas"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Permitir que apps não redimensionáveis sejam usados em várias janelas"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Manter o recurso Forçar modo escuro ativado"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"dados móveis"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Para melhorar a experiência no dispositivo, os apps e serviços ainda podem procurar redes Wi-Fi a qualquer momento, mesmo quando essa conexão está desativada. Isso pode ser usado, por exemplo, para melhorar recursos e serviços baseados na localização. Você pode mudar essa opção nas configurações de busca por Wi-Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Mudar"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Conectado"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Temporariamente conectado"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Temporariamente usando: <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Usar a Fixação de app"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Usar as opções do desenvolvedor"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Usar o serviço de impressão"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Permitir vários usuários"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Permitir a troca de usuário"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"autorizar, vários, usuários, permitir, muitos"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"múltiplos, usuários, perfis, pessoas, contas, trocar, vários"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Usar a depuração por Wi-Fi"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> quer se conectar a este smartphone.\n\nVocê nunca se conectou ao <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Não conectar"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Conectar"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Configurações do TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Ativado"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Desativado"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Reverter para as configurações padrão"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Configurações revertidas para o padrão."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Saldo máximo saciado"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Saldos"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Limites de consumo"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Limite de consumo inicial"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Limite mínimo de consumo"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Limite máximo de consumo"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modificadores"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Ações (custo de produção)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Ações (preço base)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Recompensas por um evento específico"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Recompensas por segundo de duração do evento"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Máximo de recompensas por dia"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Instalação de app"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Principal atividade"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Notificação vista"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Notificação vista em 15 minutos"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interação com a notificação"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Interação com o widget"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Outra interação do usuário"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Início de prioridade máxima da tarefa"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Execução de prioridade máxima da tarefa"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Início de alta prioridade da tarefa"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Execução de alta prioridade da tarefa"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Início padrão da tarefa"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Execução padrão da tarefa"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Início de baixa prioridade da tarefa"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Execução de baixa prioridade da tarefa"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Início de prioridade mínima da tarefa"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Execução de prioridade mínima da tarefa"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Penalidade de tempo limite da tarefa"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Saldo mínimo quando totalmente carregado (isento)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Saldo mínimo quando totalmente carregado (app do sistema headless)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Saldo mínimo quando totalmente carregado (apps restantes)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Adição de saldo mínimo quando totalmente carregado (atualizadores de apps)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Carregando"</item>
-    <item msgid="658627268149681677">"Soneca"</item>
-    <item msgid="1599558140284643834">"Modo de economia de energia"</item>
-    <item msgid="588427840913221601">"Estado do processo"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Confirmar"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Prévia"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Escolha um protetor de tela"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Mostrar outras informações"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Escolha o que ver na tela quando o tablet estiver na base. O dispositivo pode consumir mais energia quando o protetor de tela é usado."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Personalizar"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Personalizar <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"É necessário reiniciar o dispositivo para ativar o suporte ao formato livre."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"É necessário reiniciar o dispositivo para forçar o modo área de trabalho em telas secundárias."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"É necessário reiniciar o dispositivo para permitir as janelas em formato livre."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"É necessário reiniciar o dispositivo para atualizar a disponibilidade de janelas em formato livre."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"É necessário reiniciar o dispositivo para permitir janelas em formato livre em telas secundárias."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reiniciar agora"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reiniciar mais tarde"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Áudio espacial"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Rosa"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Violeta"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Concluído"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Salvar"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Cancelar"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Padrão"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Médio"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Ativada"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Desativada"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Ativada"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Áudio: %1$d%% no lado esquerdo e %2$d%% no lado direito"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Áudio: %1$d%% no lado direito e %2$d%% no lado esquerdo"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"O nome do dispositivo fica visível para os apps que você instalou. Ele também vai ficar visível para outras pessoas quando você se conectar a dispositivos Bluetooth ou a uma rede Wi-Fi ou quando configurar um ponto de acesso Wi-Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Gênero gramatical"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Selecionar gênero gramatical"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Compartilhamento de áudio interrompido"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Conectar um dispositivo compatível"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Para começar a compartilhar áudio, primeiro conecte os fones de ouvido LE Audio ao smartphone"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Mudar para <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Conectar a um stream de LE Audio"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Streams de áudio por perto"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Streams de áudio"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Ouvir o stream"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Use o QR code de um stream de áudio para ouvir com <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Não é possível editar a senha enquanto compartilha. Para mudar a senha, primeiro desligue o compartilhamento de áudio."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Leitor de QR code"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Precisa de ajuda?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Pesquisar configurações"</string>
 </resources>
diff --git a/res/values-pt-rPT/arrays.xml b/res/values-pt-rPT/arrays.xml
index da5756c..15a519e 100644
--- a/res/values-pt-rPT/arrays.xml
+++ b/res/values-pt-rPT/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Hora de dormir"</item>
-    <item msgid="4152450357280759894">"Condução"</item>
-    <item msgid="7096549258219399423">"Envolvente"</item>
-    <item msgid="2760716776980432977">"Gerido"</item>
-    <item msgid="601734478369121764">"Estrela"</item>
-    <item msgid="6243809315432780521">"Calendário"</item>
-    <item msgid="4913577903148415331">"Horas"</item>
-    <item msgid="3653377604690057780">"Cinema"</item>
-    <item msgid="3843711267408385410">"Flor"</item>
+    <item msgid="1216815120972438676">"Pasta de trabalho"</item>
+    <item msgid="184985872234062767">"Edifício clássico"</item>
+    <item msgid="9189550412466785530">"Edifício de apartamentos"</item>
+    <item msgid="2142527562511049422">"Balão de fala"</item>
+    <item msgid="2548100558260478605">"Grupo de pessoas"</item>
+    <item msgid="2270003903304578284">"Lâmpada"</item>
+    <item msgid="4793496619091161864">"Calendário"</item>
+    <item msgid="5673625795644364100">"Não incomodar"</item>
+    <item msgid="1423820834865831361">"Pessoa a correr"</item>
+    <item msgid="2037298830718732608">"Golfe"</item>
+    <item msgid="2197835014443491074">"Haltere de ginásio"</item>
+    <item msgid="2730180105015616518">"Natação"</item>
+    <item msgid="2666922823253345958">"Pessoa a caminhar"</item>
+    <item msgid="8234880356472211396">"Pessoa a atirar uma bola"</item>
+    <item msgid="4642980625253001443">"Pessoa a pontapear"</item>
+    <item msgid="4324795269518833500">"Comando de jogos"</item>
+    <item msgid="7789966425125441125">"Paleta de cores artística"</item>
+    <item msgid="663512680597461570">"Floco de neve"</item>
+    <item msgid="7952183800501346803">"Guarda-sol"</item>
+    <item msgid="799139025758265891">"Ferramentas de oficina"</item>
+    <item msgid="1330084588359129896">"Tenda"</item>
+    <item msgid="3861584909935022342">"Bobina de filme"</item>
+    <item msgid="5827426100157335512">"Livro"</item>
+    <item msgid="8585828346253128384">"Flor de lótus"</item>
+    <item msgid="8788370542815300188">"A mente da pessoa"</item>
+    <item msgid="7287354964767553293">"Auscultadores"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Comboio"</item>
+    <item msgid="4903790544026923026">"Carro"</item>
+    <item msgid="5010405583912314582">"Garfo e faca"</item>
+    <item msgid="8939998598599064900">"Carrinho de compras"</item>
+    <item msgid="3379605903308731893">"Criança"</item>
+    <item msgid="7808668968550293112">"Pata de animal"</item>
+    <item msgid="1000692647524056504">"Emblema de estrela"</item>
+    <item msgid="8270261073421676502">"2 pessoas"</item>
+    <item msgid="5767782819651505460">"Estrela"</item>
+    <item msgid="4368451291862729334">"Coração"</item>
+    <item msgid="2613199102208419986">"Casa"</item>
+    <item msgid="3022279986430275040">"Meia-lua"</item>
+    <item msgid="5421089790869483206">"Relógio"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 24f7694..26376f6 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspenso"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Desconhecida"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Pré-visualizar"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"Código QR"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Sempre"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Definições do dispositivo auditivo"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Atalho, compatibilidade com aparelhos auditivos"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Predefinição"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Não existem predefinições programadas pelo seu audiologista"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Não foi possível atualizar a predefinição"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Saída de áudio"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Acerca da saída de áudio"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"A seleção do idioma para esta app não está disponível a partir das Definições."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"O idioma pode diferir dos idiomas disponíveis na app. Algumas apps podem não suportar esta definição."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Defina o idioma para cada app."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"O seu sistema, apps e Websites usam o primeiro idioma suportado dos seus idiomas preferidos."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"O seu dispositivo, apps e Websites usam o primeiro idioma suportado da lista dos seus idiomas preferidos.\n\nMuitas apps também usam a região do seu idioma preferido para formatar datas, números e unidades. Para alterar a sua região, adicione um idioma e, em seguida, selecione a sua região preferida."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Para selecionar um idioma para cada app, aceda às definições de idioma da app."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Saiba mais sobre idiomas de apps"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Alterar o idioma do sistema para %s?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Desativada"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Ativada / # app tem acesso à localização}other{Ativada / # apps têm acesso à localização}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"A carregar…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"As apps com a autorização Dispositivos próximos podem determinar a posição relativa dos dispositivos ligados."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"As apps com a autorização Dispositivos próximos podem determinar a posição relativa dos dispositivos ligados."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"O acesso à localização está desativado para apps e serviços. A localização do dispositivo ainda pode ser enviada para os contactos de resposta a emergências quando liga ou envia uma mensagem de texto para um número de emergência."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Saiba mais acerca das definições de localização"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Para alterar, aceda a Definições do ChromeOS &gt; Privacidade e segurança &gt; Controlos de privacidade &gt; Acesso à localização"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Rosto e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Rosto, impressão digital e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Rosto, impressões digitais e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"A verificação de identidade está ativada e requer dados biométricos"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Desbloqueio remoto do Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Relógio adicionado"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Configure o seu relógio"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Saiba mais sobre o Desbloqueio com o relógio"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Adicionar relógio"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Remover relógio"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Desbloqueio facial e por impressão digital"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Desbloqueio facial e por impressão digital"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Desbloqueio facial e por impressão digital para o trabalho"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Configuração necessária"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Rosto e impressões digitais adicionados"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"A configurar o espaço privado…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Não foi possível configurar um espaço privado"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Tentar novamente"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Sair"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"O espaço privado não está disponível.\nVeja as possíveis causas"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Veja as possíveis causas"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Escolher um novo bloqueio para o espaço privado?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Pode definir um novo bloqueio apenas para o espaço privado ou usar o mesmo bloqueio que usa para desbloquear o dispositivo"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Usar bloqueio de ecrã"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Quando o Bluetooth está ativado, o dispositivo pode comunicar com outros dispositivos Bluetooth próximos.\n\nPara melhorar a experiência do dispositivo, as apps e os serviços podem continuar a procurar dispositivos próximos em qualquer altura, mesmo quando o Bluetooth está desativado. Pode usar esta opção, por exemplo, para melhorar as funcionalidades e os serviços baseados na localização. Pode alterar esta opção nas definições de procura de Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Com o Bluetooth ativado, o dispositivo pode comunicar com dispositivos Bluetooth próximos. As funcionalidades como a Partilha rápida e o serviço Localizar o meu dispositivo usam o Bluetooth.\n\nAs apps e os serviços podem continuar a procurar dispositivos próximos em qualquer altura, mesmo quando o Bluetooth está desativado. Pode usar esta opção, por exemplo, para melhorar as funcionalidades e os serviços baseados na localização. Pode alterar esta opção nas definições de procura de Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Alterar"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"Dispositivo <xliff:g id="DEVICE_NAME">%1$s</xliff:g> não ligado"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"Para sua segurança, esqueça este dispositivo e, em seguida, sincronize-o novamente"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"Esquecer dispositivo"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"Cancelar"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Detalhes do dispositivo"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Definições do teclado"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Mais definições"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Atualizações de firmware, informações e muito mais"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Sugestões e apoio técnico"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Endereço Bluetooth do dispositivo: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Endereço Bluetooth do dispositivo:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Esquecer dispositivo?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Experimental. Melhora qualidade de áudio"</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Esquecer dispositivo"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Desassociar app"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Mais definições"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Máximo de dispositivos de áudio Bluetooth associados"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Selecione o número máximo de dispositivos de áudio Bluetooth associados."</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Registo verboso de depuração de fornecedores de NFC"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Reiniciar o dispositivo?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"O registo detalhado de NFC destina-se apenas a fins de programação. Os dados de NFC são incluídos em relatórios de erros, que podem conter informações privadas. Reinicie o seu dispositivo para alterar esta definição."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Reiniciar"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Ativado"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Desativado"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Ecrã externo"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Usar ecrã externo"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Resolução do ecrã"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"O ecrã externo está desligado"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Rotação"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Padrão"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Alterar a rotação ou a resolução pode parar as apps que estejam em execução"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"O seu dispositivo tem de estar ligado a um ecrã externo para espelhar o seu ecrã"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Mais opções"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Transmitir"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"espelhar"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Ativar display sem fios"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptável"</string>
     <string name="brightness" msgid="6216871641021779698">"Nível de luminosidade"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Luminosidade adaptável"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Acerca da luminosidade adaptável"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"A luminosidade do ecrã vai ajustar-se automaticamente ao ambiente e às atividades. Pode mover o controlo de deslize manualmente para permitir que a luminosidade adaptável aprenda as suas preferências."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Ativada"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Desativada"</string>
@@ -1311,8 +1340,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Usar <xliff:g id="CARRIER">%1$s</xliff:g> para dados móveis?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Está a utilizar o operador <xliff:g id="CARRIER2_0">%2$s</xliff:g> para dados móveis. Se mudar para o operador <xliff:g id="CARRIER1">%1$s</xliff:g>, o operador <xliff:g id="CARRIER2_1">%2$s</xliff:g> deixa de ser utilizado para dados móveis."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Usar <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Atualizar o SIM favorito?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"O <xliff:g id="NEW_SIM">%1$s</xliff:g> é o único cartão SIM no dispositivo. Quer usar este cartão SIM para dados móveis, chamadas e mensagens SMS?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> é agora o seu SIM principal"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Melhorar a cobertura de dados móveis?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Permita que o seu dispositivo mude automaticamente para o operador <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> para usar os dados móveis quando tiver melhor disponibilidade."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"As chamadas, as mensagens e o tráfego de rede podem ser visíveis para a sua organização."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Opções"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Acessibilidade"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Teclado físico"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Usar o teclado no ecrã"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Manter no ecrã enquanto o teclado físico estiver ativo"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Teclas de rejeição"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"O teclado ignora os toques rápidos repetidos da mesma tecla no espaço de <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Teclas lentas"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Ajusta o tempo que demora a ativação de uma tecla pressionada para <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Teclas aderentes"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Prima uma tecla de cada vez para os atalhos em vez de manter as teclas premidas em simultâneo"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Teclas do rato"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Use o teclado físico para controlar o rato"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Atalhos de teclado"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Mostre a lista de atalhos"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Teclados e ferramentas do perfil de trabalho"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Personalize gestos de navegação individuais do touchpad"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Deslocamento inverso"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"O conteúdo move-se para cima ao deslocar a página para baixo"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Tocar na parte inferior direita"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Toque no canto inferior direito do touchpad para mais opções"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Clicar no canto inferior direito"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Clique no canto inferior direito do touchpad para mais opções"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Velocidade do ponteiro"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Estilo de preenchimento do ponteiro"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Alt. est. preenc. ponteiro p/ preto"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Alt. est. preenc. pont. p/ amarelo"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Alt. est. preenc. ponteiro p/ rosa"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Alt. est. preenc. ponteiro p/ azul"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Estilo do traço do ponteiro"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Branco"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Preto"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Nenhum"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Aprender gestos do touchpad"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"trackpad, track pad, rato, cursor, deslocar, deslizar, clicar com o botão direito do rato, clicar, ponteiro"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"clique com o botão direito do rato, toque"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Repor"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Escolha uma tecla de modificação"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Escolha uma nova tecla para <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Acessibilidade do teclado físico"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Teclas aderentes, teclas sem repetição, teclas do rato"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Esquema do <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Predefinição"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automático: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Utilizador selecionado: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Voz"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Velocidade do ponteiro"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Tamanho do ponteiro"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Diminuir tamanho do ponteiro"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Aumentar tamanho do ponteiro"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Controlador de Jogos"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Redirecionar vibração"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Enviar a vibração para o controlador do jogo, quando ligado."</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continuar mesmo assim"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Cancelar"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Definições de ampliação"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Deslocação com um dedo"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Mover a lupa com 1 dedo"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Arraste 1 dedo para percorrer o ecrã"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Mova a área de ampliação arrastando um dedo."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Mova a área de ampliação arrastando dois dedos."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Indisponível quando amplia apenas parte do ecrã"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tocar num botão para utilizar o zoom"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Aumente o zoom rapidamente no ecrã para ampliar o tamanho do conteúdo"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Para aumentar o zoom:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Use o atalho para iniciar a ampliação&lt;br/&gt; {1,number,integer}. Toque no ecrã&lt;br/&gt; {2,number,integer}. Arraste 2 dedos para deslocar o ecrã&lt;br/&gt; {3,number,integer}. Junte/afaste 2 dedos para ajustar o zoom&lt;br/&gt; {4,number,integer}. Use 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; {0,number,integer}. Certifique-se de que o tipo de ampliação está definido para ecrã inteiro&lt;br/&gt; {1,number,integer}. Use o atalho para iniciar a ampliação&lt;br/&gt; {2,number,integer}. Toque sem soltar em qualquer parte do ecrã&lt;br/&gt; {3,number,integer}. Arraste o dedo para deslocar o ecrã&lt;br/&gt; {4,number,integer}. Levante o dedo para parar a ampliação"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Para aumentar o zoom:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Use o atalho para iniciar a ampliação&lt;br/&gt; {1,number,integer}. Toque no ecrã&lt;br/&gt; {2,number,integer}. Arraste 2 dedos para percorrer o ecrã&lt;br/&gt; {3,number,integer}. Junte/afaste 2 dedos para ajustar o zoom&lt;br/&gt; {4,number,integer}. Use o atalho para parar a ampliação&lt;br/&gt;&lt;br/&gt; Também pode aumentar o zoom temporariamente e muito mais."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Para aumentar o zoom:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Use o atalho para iniciar a ampliação&lt;br/&gt; {1,number,integer}. Toque no ecrã&lt;br/&gt; {2,number,integer}. Arraste 1 ou 2 dedos para percorrer o ecrã&lt;br/&gt; {3,number,integer}. Junte/afaste 2 dedos para ajustar o zoom&lt;br/&gt; {4,number,integer}. Use o atalho para parar a ampliação&lt;br/&gt;&lt;br/&gt; Também pode aumentar o zoom temporariamente e muito mais."</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_pager" msgid="8461939455728454061">"Página <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> de <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Atalho do botão Acessibilidade"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Toque no botão flutuante"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Gesto de acessibilidade"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Toque no botão Acessibilidade <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na parte inferior do ecrã. Para alternar entre funcionalidades, toque sem soltar no botão Acessibilidade."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Deslize rapidamente com dois dedos para cima a partir da parte inferior do ecrã.\n\nPara alternar entre funcionalidades, deslize rapidamente com dois dedos para cima sem soltar."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Deslize rapidamente com três dedos para cima a partir da parte inferior do ecrã.\n\nPara alternar entre funcionalidades, deslize rapidamente com três dedos para cima sem soltar."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Deslize rapidamente para cima a partir da parte inferior do ecrã. Para alternar entre funcionalidades, deslize rapidamente para cima sem soltar.}other{Deslize rapidamente para cima com # dedos a partir da parte inferior do ecrã. Para alternar entre funcionalidades, deslize rapidamente com # dedos para cima sem soltar.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Mais opções"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Saiba mais sobre <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Teclas de volume"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"teclas de volume"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Prima sem soltar ambas as teclas de volume"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Toque duas vezes com dois dedos no ecrã"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Tocar duas vezes com %1$d dedos"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Toque rapidamente no ecrã duas vezes com %1$d dedos"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Tocar três vezes"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Toque rapidamente no ecrã %1$d vezes. Esta ação pode tornar o dispositivo mais lento."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Tocar duas vezes com %1$d dedos"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Toque rapidamente {0,number,integer} vezes no ecrã com dois dedos"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Toque três vezes no ecrã"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"tocar três vezes"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Toque rapidamente {0,number,integer} 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_global_gesture_preference_title" msgid="8866765674372344850">"Atalhos de teclas de volume"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Definições dos atalhos"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Atalho a partir do ecrã de bloqueio"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"Atalho de teclas de volume no ecrã de bloqueio"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Permitir ativação do atalho da funcionalidade a partir do ecrã de bloqueio. Prima as duas teclas de volume durante alguns segundos."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Botão Acessibilidade"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Botão e gesto de acessibilidade"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Este serviço está a funcionar incorretamente."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Atalhos de acessibilidade"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Mostrar nas Definições rápidas"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Vermelho-verde"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Vermelho-verde"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Vermelho-verde, verde fraco"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Vermelho-verde, vermelho fraco"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Azul-amarelo"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Escala de cinzentos"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensidade"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Verde fraco, deuteranomalia"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Vermelho fraco, protanomalia"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Indisponível para o modo de escala de cinzentos ou quando a correção da cor está desativada"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Escurecimento extra"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Ativar escurecimento extra"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Ciano"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Amarelo"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Permitir que o serviço <xliff:g id="SERVICE">%1$s</xliff:g> tenha controlo total sobre o seu dispositivo?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> necessita de:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Uma vez que uma aplicação está a ocultar um pedido de autorização, as Definições não conseguem validar a sua resposta."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"O serviço <xliff:g id="SERVICE">%1$s</xliff:g> está a solicitar o controlo total deste dispositivo. O serviço pode ler o ecrã e agir em nome de utilizadores com necessidades de acessibilidade. Este nível de controlo não é adequado para a maioria das aplicações."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"O controlo total é adequado para apps que ajudam nas necessidades de acessibilidade, mas não para a maioria das apps."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Ver e controlar o ecrã"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Pode ler todo o conteúdo do ecrã e sobrepor conteúdo a outras apps."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Ver e executar ações"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Pode monitorizar as suas interações com uma app ou um sensor de hardware e interagir com apps em seu nome."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Permitir"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Recusar"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Desativar"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Ativado/<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> e <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Também pode ativar o áudio espacial para dispositivos Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Definições de dispositivos ligados"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Áudio espacial"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Desativado"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Desativado"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Desativado"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Nenhum}=1{1 horário definido}other{# horários definidos}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Não incomodar"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Modos de prioridade"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Adicione um modo"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Modos"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Minimize distrações e controle a sua atenção com modos para dormir, trabalhar, conduzir e tudo o resto."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Crie o seu próprio modo"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Receba notificações só de pessoas e apps importantes"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Definir horário"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Horário com base em"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Dia e hora"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"9:00 – 17:00, dias úteis\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Eventos de calendário"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} está ativo}=2{{mode_1} e {mode_2} estão ativos}=3{{mode_1}, {mode_2} e {mode_3} estão ativos}other{{mode_1}, {mode_2} e mais # estão ativos}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 modo pode ser ativado automaticamente}other{# modos podem ser ativados automaticamente}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ATIVADO"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Não definido"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Desativado"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Crie um modo"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Personalizar"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Ativar agora"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Desativar"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Modo não encontrado"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limite as interrupções"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Bloqueie as interrupções e as distrações"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Configurar <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Ativar o modo Não incomodar"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Os sons de alarmes e multimédia podem interromper."</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Horários"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Elimine horários"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Eliminar"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Mudar o nome"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Eliminar"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Eliminar modo \"<xliff:g id="MODE">%1$s</xliff:g>\"?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Editar"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Horários"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Horário"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Ativar automaticamente"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Adicione um calendário"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Use o seu calendário"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Agende"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Defina um horário"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Quando ativar automaticamente"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Horário do evento"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Ative durante eventos para"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Quando a resposta do conv. for"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Horário"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Horário"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h, <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Horário"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Permitir interrupções que emitam som"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Notificações que pode receber"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Ações adicionais"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Filtros de notificações"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Mais definições"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Desativado}=1{Desativado/1 modo pode ser ativado automaticamente}other{Desativado/# modos podem ser ativados automaticamente}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Definições de visualização"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Opções de visualização"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Escala de cinzentos"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ativar tema escuro"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Mude as opções do sistema operativo e das apps para darem preferência a texto claro num fundo escuro, o que pode ser mais agradável para os olhos e permite poupar significativamente a bateria em alguns dispositivos"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Nenhuma alteração de visualização}=1{{effect_1}}=2{{effect_1} e {effect_2}}=3{{effect_1}, {effect_2} e {effect_3}}other{{effect_1}, {effect_2} e mais #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Permitir todas as notificações"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"As pessoas, as apps e os sons podem interromper"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opções de visualização para notificações filtradas"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Quando o modo Não incomodar está ativado"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Sem som de notificações"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"abrir notificação"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Permitir a suspensão de notificações"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Ponto de notificação no ícone da app"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Pacotes de notificações"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Balões"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Balões"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Apresentar esta conversa como balão"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Pode responder às mensagens e acionar botões em notificações, incluindo suspender ou ignorar notificações e atender chamadas."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Alterar definições"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Pode ativar ou desativar o modo Não incomodar e alterar as definições relacionadas."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Pode gerir e ativar os modos, e alterar as definições relacionadas."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Se desativar o acesso às notificações para <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, é possível que o acesso ao modo Não incomodar seja igualmente desativado."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Se desativar o acesso às notificações para <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, é possível que o acesso aos modos seja igualmente desativado."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Desativar"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Cancelar"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Tempo real"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Esta app não suporta definições avançadas"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Mais definições"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Estão disponíveis mais definições dentro desta app"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Notificações adaptáveis"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Use notificações adaptáveis"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Quando recebe muitas notificações num curto espaço de tempo, o telemóvel baixa o volume e minimiza os pop-ups no ecrã durante um máximo de dois minutos. As chamadas, os alarmes e as conversas com prioridade continuam a vibrar, emitir um som ou aparecer no ecrã e todas as notificações são fáceis de encontrar quando puxa o painel para baixo a partir da parte superior do ecrã."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Repouso das notificações"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Use o repouso das notificações"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Quando recebe muitas notificações num curto espaço de tempo, o dispositivo diminui o volume e minimiza os alertas durante, no máximo, 2 minutos. As chamadas, os alarmes e as conversas com prioridade não são afetadas. \n\nPara encontrar as notificações recebidas durante o repouso, pode puxar o ecrã para baixo a partir da parte superior."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Aplicar aos perfis de trabalho"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Aplique a apps de perfil de trabalho"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Serviços de assistente de RV"</string>
@@ -3650,6 +3709,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Acesso Não incomodar"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Permitir o modo Não incomodar"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Nenhuma app instalada pediu acesso a Não incomodar"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Acesso aos modos"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Permitir acesso aos modos"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Nenhuma app instalada pediu acesso aos modos"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Não autorizou notificações desta app"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"A seu pedido, o Android está a bloquear a apresentação desta categoria de notificações neste dispositivo."</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"A seu pedido, o Android está a bloquear a apresentação deste grupo de notificações neste dispositivo."</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Categorias"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Outra"</string>
     <string name="no_channels" msgid="4716199078612071915">"Esta app não publicou notificações"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Mostrar categorias não usadas"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Definições adicionais na app"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Mostrar categorias não usadas"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Ocultar categorias não usadas"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversas"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Todas as conversas"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"todas as conversas"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Conversas com prioridade"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"conversas com prioridade"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Nenhuma"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Apps que podem interromper"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Apps selecionadas"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Nenhuma"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Todas"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Nenhuma app pode interromper}=1{A app {app_1} pode interromper}=2{As apps {app_1} e {app_2} podem interromper}=3{As apps {app_1}, {app_2} e {app_3} podem interromper}other{As apps {app_1}, {app_2} e mais # podem interromper}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (trabalho)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"A calcular…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permitir que as apps substituam"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps que podem interromper"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Selecione mais apps"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Nada pode interromper"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Ninguém pode interromper"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Algumas pessoas podem interromper"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Os autores de chamadas repetentes podem interromper"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Todas as pessoas podem interromper"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Autores de chamadas repetentes"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Permitir chamadas repetidas"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Alterar para alarmes apenas durante uma hora até à(s) {time}}other{Alterar para alarmes apenas durante # horas até à(s) {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Alterar para alarmes apenas, até <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Alterar para interromper sempre"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Mudar nome"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Alterar ícone"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Alterar ícone"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Edite o modo"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Crie um modo"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Modo personalizado"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Nome do modo"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Eventos de calendário"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Rotina da hora de dormir"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Durante a condução"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Definições da app"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Informações e definições na app <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Gerido pela app <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Desativar <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Este modo nunca vai ser ativado quando estiver desativado"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Desativar"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Ativar <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Este modo pode ativar-se automaticamente com base nas respetivas definições"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Ativar"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Defina um modo que siga um horário regular"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Defina um modo para sincronizar com eventos de calendário e respostas a convites"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Crie uma rotina de sono calmante. Defina alarmes, escureça o ecrã e bloqueie as notificações."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Dê prioridade à segurança na estrada para uma condução concentrada e sem distrações"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Bloqueie as distrações ou interrupções do seu dispositivo para manter a concentração"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Elimine todas as distrações para um ambiente tranquilo"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Personalize as experiências e as definições do dispositivo para diferentes utilizadores"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Minimize as interrupções permitindo apenas que as pessoas e apps importantes entrem em contacto consigo"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Defina um modo que siga um horário regular"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Mantenha o seu dispositivo sincronizado com os eventos do seu dia"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Acorde com 100% de energia"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Ponha a segurança em primeiro lugar enquanto está na estrada"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Concentre-se para manter o foco"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Para momentos em que a cortesia é importante"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Utilização guiada para ajudar a ficar em segurança"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Controle a sua atenção"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Aviso"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Fechar"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Enviar feedback do dispositivo"</string>
@@ -4006,6 +4102,10 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Tem de permanecer ativado porque o acesso às notificações está ativado"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Quer revogar o acesso a Não incomodar do <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Todas as regras Não incomodar criadas por esta app serão removidas."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Permitir o acesso da app <xliff:g id="APP">%1$s</xliff:g> aos modos?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"A app vai poder ativar/desativar o modo Não incomodar, gerir e ativar os modos, e fazer alterações às definições relacionadas."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"Revogar o acesso da app <xliff:g id="APP">%1$s</xliff:g> aos modos?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Todos os modos criados por esta app vão ser removidos."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Não otimizar"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Otimizar"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"A bateria pode descarregar mais rapidamente. A aplicação nunca mais será restringida ao utilizar a bateria em segundo plano."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Caixa"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Bateria"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Painel Definições"</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_desktop_mode" msgid="5644818402534562302">"Ativar janelas de forma livre"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Ativar janelas de forma livre no ecrã secundário"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Ativar apps não redimensionáveis em multijanelas"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Permite que as apps não redimensionáveis estejam em multijanelas."</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Substituir forçar o modo escuro"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"dados móveis"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Para melhorar a experiência do dispositivo, as apps e os serviços podem continuar a procurar redes Wi-Fi em qualquer altura, mesmo quando o Wi-Fi está desativado. Pode usar esta opção, por exemplo, para melhorar as funcionalidades e os serviços baseados na localização. Pode alterar esta opção nas definições de procura de Wi-Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Alterar"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Ligado"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Ligado temporariamente"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"A usar <xliff:g id="SUBNAME">%1$s</xliff:g> temporariamente"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Usar fixação de apps"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Usar opções de programador"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Usar serviço de impressão"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Permitir vários utilizadores"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Permitir mudança de utilizador"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"autorizar, vários, utilizador, permitir, muitos"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"vários, utilizadores, perfis, pessoas, contas, mudar, muitos"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Usar depuração sem fios"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"O dispositivo <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> quer ligar-se a este telemóvel.\n\nNão estabeleceu ligação ao dispositivo <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> anteriormente."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Não ligar"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Ligar"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Definições de TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Ativado"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Desativado"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Reverter para predefinições"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Definições revertidas para predefinição."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Saldo máximo quando totalmente carregado"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Saldos"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Limites de consumo"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Limite de consumo inicial"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Limite de consumo mínimo"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Limite de consumo máximo"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modificadores"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Ações (custo de produção)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Ações (preço base)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Recompensas por evento único"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Prémios por segundo de duração do evento"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Máximo de recompensas por dia"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Instalação da app"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Principal atividade"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Notificação vista"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Notificação vista no prazo de 15 minutos"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interação com notificação"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Interação com widget"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Outra interação do utilizador"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Início de tarefa de prioridade máxima"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Execução de tarefa de prioridade máxima"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Início de tarefa de prioridade alta"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Execução de tarefa de prioridade alta"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Início de tarefa de prioridade predef."</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Execução de tarefa de prioridade predef."</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Início de tarefa de prioridade baixa"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Execução de tarefa de prioridade baixa"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Início de tarefa de prioridade mínima"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Execução de tarefa de prioridade mínima"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Penalização de limite de tempo da tarefa"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Saldo mínimo quando totalmente carregado (isento)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Saldo mínimo quando totalmente carregado (app do sistema sem interface)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Saldo mínimo quando totalmente carregado (apps restantes)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Adição de saldo mínimo quando totalmente carregado (atualizadores de apps)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Carregamento"</item>
-    <item msgid="658627268149681677">"Soneca"</item>
-    <item msgid="1599558140284643834">"Modo de poupança de energia"</item>
-    <item msgid="588427840913221601">"Estado do processo"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Confirmar"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Pré-visualizar"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Escolha uma proteção de ecrã"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Mostrar informações adicionais"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Escolha o que é apresentado no ecrã quando o seu tablet está na estação de carregamento. O seu dispositivo pode consumir mais energia quando é usada uma proteção de ecrã."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Personalizar"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Personalizar <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"É necessário reiniciar para ativar o suporte de forma livre."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"É necessário reiniciar para forçar o modo de ambiente de trabalho em ecrãs secundários."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"É necessário reiniciar para ativar o suporte de janelas de formato livre."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"É necessário reiniciar para atualizar a disponibilidade das janelas de forma livre."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"É necessário reiniciar o sistema para ativar as janelas de forma livre nos ecrãs secundários."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reiniciar agora"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reiniciar mais tarde"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Áudio espacial"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Rosa"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Violeta"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Concluir"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Guardar"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Cancelar"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Predefinição"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Médio"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Ativado"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Desativadas"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Ativado"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Áudio: %1$d%% do lado esquerdo, %2$d%% do lado direito"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Áudio: %1$d%% do lado direito, %2$d%% do lado esquerdo"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"O nome do seu dispositivo é visível para as apps instaladas por si. Também pode ser visto por outras pessoas quando se liga a dispositivos Bluetooth ou a uma rede Wi-Fi, assim como quando configura uma zona Wi-Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Género gramatical"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Selecione o género gramatical"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Partilha de áudio parada"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Ligue um dispositivo compatível"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Para partilhar áudio, ligue os auscultadores LE Audio ao telemóvel"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Mudar para <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Ligue-se a uma stream de LE Audio"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Streams de áudio próximas"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Streams de áudio"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Ouvir stream"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Leia o código QR de uma stream de áudio para ouvir com <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Não é possível editar a palavra-passe durante a partilha. Para alterar a palavra-passe, primeiro, desative a partilha de áudio."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Leitor de códigos QR"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Precisa de ajuda?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Pesquise definições"</string>
 </resources>
diff --git a/res/values-pt/arrays.xml b/res/values-pt/arrays.xml
index 06b6904..6822b22 100644
--- a/res/values-pt/arrays.xml
+++ b/res/values-pt/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Hora de dormir"</item>
-    <item msgid="4152450357280759894">"Ao dirigir"</item>
-    <item msgid="7096549258219399423">"Imersivo"</item>
-    <item msgid="2760716776980432977">"Gerenciado"</item>
-    <item msgid="601734478369121764">"Marcar com estrela"</item>
-    <item msgid="6243809315432780521">"Agenda"</item>
-    <item msgid="4913577903148415331">"Horário"</item>
-    <item msgid="3653377604690057780">"Teatro"</item>
-    <item msgid="3843711267408385410">"Flor"</item>
+    <item msgid="1216815120972438676">"Maleta"</item>
+    <item msgid="184985872234062767">"Edifício clássico"</item>
+    <item msgid="9189550412466785530">"Edifício de apartamentos"</item>
+    <item msgid="2142527562511049422">"Balão de diálogo"</item>
+    <item msgid="2548100558260478605">"Grupo de pessoas"</item>
+    <item msgid="2270003903304578284">"Lâmpada"</item>
+    <item msgid="4793496619091161864">"Calendário"</item>
+    <item msgid="5673625795644364100">"Não perturbe"</item>
+    <item msgid="1423820834865831361">"Pessoa correndo"</item>
+    <item msgid="2037298830718732608">"Golfe"</item>
+    <item msgid="2197835014443491074">"Peso de academia"</item>
+    <item msgid="2730180105015616518">"Natação"</item>
+    <item msgid="2666922823253345958">"Pessoa escalando"</item>
+    <item msgid="8234880356472211396">"Pessoa jogando bola"</item>
+    <item msgid="4642980625253001443">"Pessoa chutando"</item>
+    <item msgid="4324795269518833500">"Controle de jogo"</item>
+    <item msgid="7789966425125441125">"Paleta de cores do artista"</item>
+    <item msgid="663512680597461570">"Floco de neve"</item>
+    <item msgid="7952183800501346803">"Guarda-sol"</item>
+    <item msgid="799139025758265891">"Ferramentas"</item>
+    <item msgid="1330084588359129896">"Barraca"</item>
+    <item msgid="3861584909935022342">"Rolo de filme"</item>
+    <item msgid="5827426100157335512">"Livro"</item>
+    <item msgid="8585828346253128384">"Flor de lótus"</item>
+    <item msgid="8788370542815300188">"Mente humana"</item>
+    <item msgid="7287354964767553293">"Fones de ouvido"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Trem"</item>
+    <item msgid="4903790544026923026">"Carro"</item>
+    <item msgid="5010405583912314582">"Garfo e faca"</item>
+    <item msgid="8939998598599064900">"Carrinho de compras"</item>
+    <item msgid="3379605903308731893">"Criança"</item>
+    <item msgid="7808668968550293112">"Pata de animal"</item>
+    <item msgid="1000692647524056504">"Selo de estrela"</item>
+    <item msgid="8270261073421676502">"Duas pessoas"</item>
+    <item msgid="5767782819651505460">"Estrela"</item>
+    <item msgid="4368451291862729334">"Coração"</item>
+    <item msgid="2613199102208419986">"Casa"</item>
+    <item msgid="3022279986430275040">"Meia-lua"</item>
+    <item msgid="5421089790869483206">"Relógio"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index dfa64f4..1081817 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspenso"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Desconhecido"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Pré-visualização"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR code"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Sempre"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Configurações do aparelho auditivo"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Atalho, compatibilidade com aparelhos auditivos"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Predefinição"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Não há predefinições programadas pelo seu audiologista"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Não foi possível atualizar a predefinição"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Saída de áudio"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Sobre a saída de áudio"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"A seleção de idioma para este app não está disponível nas configurações."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"O idioma pode ser diferente dos disponíveis no app. Alguns apps podem não ter suporte a essa configuração."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Defina o idioma de cada app."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"O sistema, os apps e os sites usam o primeiro idioma disponível na sua lista."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"O dispositivo, os apps e os sites usam o primeiro idioma disponível na sua lista.\n\nMuitos apps também vão usar a região do idioma de sua preferência para formatar datas, números e unidades. Se quiser mudar sua região, adicione um idioma e escolha o local que prefere."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Para selecionar um idioma para cada app, acesse as configurações de idioma dele."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Saiba mais sobre idiomas de apps"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Mudar o idioma do sistema para %s?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Configuração desativada"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Ativada / # app tem acesso à localização}one{Ativada / # app tem acesso à localização}other{Ativada / # apps têm acesso à localização}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Carregando…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Apps com permissão para encontrar dispositivos por perto podem determinar a posição relativa dos dispositivos conectados."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Apps com permissão para encontrar dispositivos próximos podem determinar a posição relativa dos dispositivos conectados."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"O acesso à localização está desativado para apps e serviços. A localização do dispositivo ainda poderá ser enviada a socorristas quando você ligar ou enviar uma mensagem de texto para um número de emergência."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Saiba mais sobre as configurações de localização"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Para mudar, acesse \"Configurações do ChromeOS &gt; Privacidade e segurança &gt; Controles de privacidade &gt; Acesso ao local\""</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Rosto e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Rosto, impressão digital e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Rosto, impressões digitais e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"A verificação de identidade está ativada e exige uma biometria"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Desbloqueio do Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Relógio adicionado"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Configurar o relógio"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Saiba mais sobre o \"Desbloqueio do relógio\""</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Adicionar relógio"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Remover relógio"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Impressão digital e Desbloqueio facial"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Desbloqueio facial e por impressão digital"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Desbloqueio facial e por impressão digital para o trabalho"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Configuração necessária"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Rosto e impressões digitais adicionados"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Configurando o espaço privado…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Não foi possível configurar um espaço privado"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Tentar de novo"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Sair"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"O espaço privado não está disponível.\nConferir possíveis causas."</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Conferir possíveis causas"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Escolher outro bloqueio para o espaço privado?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Você pode definir um novo bloqueio para o espaço privado ou usar o mesmo que você usa para desbloquear seu dispositivo"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Usar o bloqueio de tela"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Quando o Bluetooth está ativado, seu dispositivo pode se comunicar com outros dispositivos Bluetooth por perto.\n\nPara melhorar a experiência, os apps e serviços ainda podem procurar dispositivos por perto a qualquer momento, mesmo com o Bluetooth desativado. Isso pode ser usado, por exemplo, para aprimorar serviços e recursos baseados na localização. Mude essa opção nas configurações de busca por Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Com o Bluetooth ativado, o dispositivo pode se comunicar com dispositivos próximos. Recursos como o Quick Share e o Encontre Meu Dispositivo usam Bluetooth.\n\nApps e serviços ainda podem procurar dispositivos por perto a qualquer momento, mesmo quando o Bluetooth está desativado. Isso pode ser usado, por exemplo, para melhorar recursos e serviços baseados em local. Você pode mudar essa opção nas configurações da busca por Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Mudar"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Detalhes do dispositivo"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Configurações de teclado"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Mais configurações"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Atualizações de firmware, informações e muito mais"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Dicas e suporte"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Endereço Bluetooth do dispositivo: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Endereço Bluetooth do dispositivo:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Esquecer dispositivo?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Experimental. Melhora a qualidade do som."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Esquecer dispositivo"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Desconectar app"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Mais configurações"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Número máximo de dispositivos de áudio Bluetooth conectados"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Selecione o número máximo de dispositivos de áudio Bluetooth conectados"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Registro detalhado de depuração NFC do fornecedor"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Reiniciar o dispositivo?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"O registro detalhado de NFC é destinado apenas a fins de desenvolvimento. Dados NFC extras estão incluídos em relatórios de bugs, que podem conter informações particulares. Reinicie o dispositivo para mudar essa configuração."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Reiniciar"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Ligada"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Desligada"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Tela externa"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Usar tela externa"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Resolução da tela"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"A tela externa está desconectada"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Rotação"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Padrão"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Mudar a rotação ou a resolução pode interromper qualquer app que está sendo executado"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"O dispositivo precisa estar conectado a uma tela externa para espelhar a exibição"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Mais opções"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Transmitir"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"espelho"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Ativar tela sem fio"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptáveis"</string>
     <string name="brightness" msgid="6216871641021779698">"Nível de brilho"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Brilho adaptável"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Sobre o brilho adaptável"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"O brilho da tela será ajustado automaticamente ao seu ambiente e às suas atividades. Mova o controle deslizante para ajudar o brilho adaptável a memorizar suas preferências."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Ativado"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Desativado"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Usar <xliff:g id="CARRIER">%1$s</xliff:g> para dados móveis?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Você está usando <xliff:g id="CARRIER2_0">%2$s</xliff:g> para dados móveis. Se alterar para <xliff:g id="CARRIER1">%1$s</xliff:g>, <xliff:g id="CARRIER2_1">%2$s</xliff:g> não será mais usada para dados móveis."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Usar <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Atualizar chip preferido?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"O <xliff:g id="NEW_SIM">%1$s</xliff:g> é o único chip no seu dispositivo. Quer usá-lo para dados móveis, chamadas e mensagens SMS?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> agora é seu chip principal"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Melhorar a cobertura de dados móveis?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Permita que o dispositivo mude automaticamente para a operadora <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> e use os dados móveis quando a disponibilidade melhorar."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Ligações, mensagens e tráfego de rede podem estar visíveis para sua organização."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Opções"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Acessibilidade"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Teclado físico"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Usar teclado na tela"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Manter na tela enquanto o teclado físico estiver ativo"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Teclas de filtro"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"O teclado ignora pressionamentos rápidos e repetidos da mesma tecla dentro de <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Teclas lentas"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Ajusta o tempo que leva para um pressionamento de tecla ser ativado para <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Teclas de aderência"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Pressione uma tecla por vez para usar atalhos em vez de manter as teclas pressionadas juntas"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Teclas do mouse"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Use o teclado físico para controlar o mouse."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Atalhos do teclado"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Mostrar lista de atalhos"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Teclados e ferramentas de perfil de trabalho"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Personalize gestos individuais de navegação do touchpad"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Rolagem reversa"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"O conteúdo vai para cima quando você rola a tela para baixo"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Toque no canto inferior direito"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Toque no canto inferior direito do touchpad para mais opções"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Clicar no canto inferior direito"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Clique no canto inferior direito do touchpad para mais opções"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Velocidade do cursor"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Estilo de preenchimento do ponteiro"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Mudar preenchimento para preto"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Mudar preenchimento para amarelo"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Mudar preenchimento para rosa"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Mudar preenchimento para azul"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Estilo de traço do ponteiro"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Branco"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Preto"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Nenhum"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Aprender gestos do touchpad"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"trackpad, track pad, mouse, cursor, rolar, deslizar, clicar com o botão direito do mouse, clicar, ponteiro"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"clicar com o botão direito do mouse, tocar"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Redefinir"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Escolher a tecla modificadora"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Escolha uma nova tecla para <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Layout do <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Padrão"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automático: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Usuário selecionado: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Fala"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Velocidade do cursor"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Tamanho do ponteiro"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Diminuir tamanho do ponteiro"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Aumentar tamanho do ponteiro"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Controlador de jogos"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Redirecionar vibração"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Enviar vibração para o controlador de jogo quando conectado"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continuar mesmo assim"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Cancelar"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Configurações de ampliação"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Movimento com um dedo"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Mova a lupa com 1 dedo"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Arraste um dedo para mover a tela."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Mova a área de ampliação arrastando um dedo."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Mova a área de ampliação arrastando dois dedos."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Indisponível ao ampliar apenas parte da tela"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Toque em um botão para aplicar zoom"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Aplique zoom rapidamente na tela para ampliar o conteúdo"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Para aumentar o zoom, faça o seguinte:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Use o atalho para iniciar a ampliação.&lt;br/&gt; {1,number,integer}. Toque na tela.&lt;br/&gt; {2,number,integer}. Arraste dois dedos para navegar pela tela.&lt;br/&gt; {3,number,integer}. Faça um gesto de pinça com dois dedos para ajustar o zoom.&lt;br/&gt; {4,number,integer}. Use o atalho para interromper a ampliação.&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Se quiser aumentar o zoom temporariamente, faça o seguinte:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Confira se o tipo de ampliação está definido como tela cheia.&lt;br/&gt; {1,number,integer}. Use o atalho para iniciar a ampliação.&lt;br/&gt; {2,number,integer}. Toque e pressione em qualquer lugar da tela.&lt;br/&gt; {3,number,integer}. Arraste o dedo para navegar pela tela.&lt;br/&gt; {4,number,integer}. Solte para interromper a ampliação."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Para aumentar o zoom, faça o seguinte:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Use o atalho para iniciar a ampliação.&lt;br/&gt; {1,number,integer}. Toque na tela.&lt;br/&gt; {2,number,integer}. Arraste 2 dedos para navegar pela tela.&lt;br/&gt; {3,number,integer}. Faça um gesto de pinça com 2 dedos para ajustar o zoom.&lt;br/&gt; {4,number,integer}. Pare a ampliação usando um atalho&lt;br/&gt;&lt;br/&gt; Você também pode aumentar o zoom temporariamente e fazer várias outras ações|."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Para aumentar o zoom, faça o seguinte:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Use o atalho para iniciar a ampliação.&lt;br/&gt; {1,number,integer}. Toque na tela.&lt;br/&gt; {2,number,integer}. Arraste 1 ou 2 dedos para navegar pela tela.&lt;br/&gt; {3,number,integer}. Faça um gesto de pinça com 2 dedos para ajustar o zoom.&lt;br/&gt; {4,number,integer}. Pare a ampliação usando um atalho&lt;br/&gt;&lt;br/&gt; Você também pode aumentar o zoom temporariamente e fazer várias outras ações|."</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_pager" msgid="8461939455728454061">"Página <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> de <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Atalho para o botão de acessibilidade"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Tocar no botão flutuante"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Gesto de acessibilidade"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Toque no botão de acessibilidade <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na parte de baixo da tela. Para trocar de recurso, mantenha o botão de acessibilidade pressionado."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Deslize de baixo para cima na tela com dois dedos.\n\nPara alternar entre recursos, deslize de baixo para cima na tela com dois dedos, sem soltar."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Deslize de baixo para cima na tela com três dedos.\n\nPara alternar entre recursos, deslize de baixo para cima na tela com três dedos, sem soltar."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Deslize de baixo para cima na tela. Para trocar de recurso, deslize de baixo para cima e mantenha a tela pressionada.}one{Deslize com # dedo de baixo para cima na tela. Para trocar de recurso, deslize de baixo para cima com # dedo e mantenha a tela pressionada.}other{Deslize com # dedos de baixo para cima na tela. Para trocar de recurso, deslize de baixo para cima com # dedos e mantenha a tela pressionada.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Mais opções"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Saiba mais sobre <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Teclas de volume"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"teclas de volume"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Tocar e manter as duas teclas de volume pressionadas"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Tocar duas vezes na tela com dois dedos"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Toque duplo com %1$d dedos"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Toque rapidamente na tela 2 vezes com %1$d dedos"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Toque triplo"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Toque rapidamente na tela %1$d vezes. Isso pode deixar o dispositivo mais lento."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Tocar duas vezes com %1$d dedos na tela"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Toque na tela {0,number,integer} vezes rapidamente com dois dedos"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Tocar na tela três vezes"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"tocar três vezes"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Toque na tela {0,number,integer} vezes rapidamente. 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Configurações de atalho"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Atalho da tela de bloqueio"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Permitir que o atalho do recurso seja ativado pela tela de bloqueio. Pressione as duas teclas de volume por alguns segundos."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Botão de acessibilidade"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Botão e gesto de acessibilidade"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Este serviço está com problemas."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Atalhos de acessibilidade"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Mostrar em \"Configurações rápidas\""</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Vermelho-verde"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Vermelho-verde"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Vermelho e verde, dificuldade com a cor verde"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Vermelho e verde, dificuldade com a cor vermelha"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Azul-amarelo"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Escala de cinza"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensidade"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Dificuldade com a cor verde, deuteranomalia"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Dificuldade com a cor vermelha, protanomalia"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Indisponível para o modo escala de cinza ou quando a correção de cor está desativada"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Escurecer mais a tela"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Deixar a tela ainda mais escura"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Ciano"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Amarelo"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Permitir que o <xliff:g id="SERVICE">%1$s</xliff:g> tenha controle total do seu dispositivo?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> precisa:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Como um app está ocultando uma solicitação de permissão, as configurações não podem confirmar sua resposta."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> está solicitando controle total deste dispositivo. O serviço pode ler a tela e realizar ações em nome de usuários com necessidades especiais. Esse nível de controle não é adequado para a maioria dos apps."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"O controle total é adequado para apps que ajudam você com as necessidades de acessibilidade, mas não para a maioria dos apps."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Ver e controlar tela"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Pode ler todo o conteúdo na tela e mostrar conteúdo sobreposto a outros apps."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Ver e realizar ações"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Pode monitorar suas interações com um app ou um sensor de hardware e interagir com apps em seu nome."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Permitir"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Negar"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Desativar"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Ativado / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> e <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Também é possível ativar o áudio espacial para dispositivos Bluetooth"</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Configurações de dispositivos conectados"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Áudio espacial"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Desativado"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Desativado"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Desativado"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Nenhuma}=1{1 programação definida}one{# programação definida}other{# programações definidas}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Não perturbe"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Modos prioritários"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Adicionar um modo"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Modos"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Minimize as distrações e controle seu foco com modos de sono, trabalho, direção e tudo mais."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Crie seu próprio modo"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Receber notificações apenas de pessoas e apps importantes"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Definir uma programação"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Programação baseada em"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Dia e hora"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"Das 9h às 17h em dias de semana\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Eventos da agenda"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} está ativo}=2{{mode_1} e {mode_2} estão ativos}=3{{mode_1}, {mode_2} e {mode_3} estão ativos}one{{mode_1}, {mode_2} e mais # modo estão ativos}other{{mode_1}, {mode_2} e mais # modos estão ativos}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 modo pode ser ativado automaticamente}one{# modo pode ser ativado automaticamente}other{# modos podem ser ativados automaticamente}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ATIVADO"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Não definido"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Desativado"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Criar um modo"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Personalizado"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Ativar agora"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Desativar"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Modo não encontrado"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitar interrupções"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Bloquear interrupções e distrações"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Configurar <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Ativar o Não perturbe"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarmes e sons de mídia podem interromper"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Programações"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Excluir programações"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Excluir"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Renomear"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Excluir"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Excluir modo \"<xliff:g id="MODE">%1$s</xliff:g>\"?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Editar"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Programações"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Programação"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Ativar automaticamente"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Adicione uma agenda"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Use sua agenda"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Programação"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Definir uma programação"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Quando ativar automaticamente"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Programação de eventos"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Ativar durante eventos para"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Em que a resposta do convite seja"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Programação de horário"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Programação"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g>h e <xliff:g id="MINUTES">%2$d</xliff:g>min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Programação"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Permitir interrupções que emitem sons"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Notificações que podem chegar até você"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Ações adicionais"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Filtros de notificações"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Mais configurações"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Desativado}=1{Desativado / 1 modo pode ser ativado automaticamente}one{Desativado / # modo pode ser ativado automaticamente}other{Desativado / # modos podem ser ativados automaticamente}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Configurações de tela"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Opções de exibição"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Escala de cinza"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ativar tema escuro"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Muda o SO e os apps para dar preferência a texto claro em um fundo escuro, o que pode facilitar a visualização e oferecer uma economia de bateria significativa em alguns dispositivos"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Nenhuma mudança na tela}=1{{effect_1}}=2{{effect_1} e {effect_2}}=3{{effect_1}, {effect_2} e {effect_3}}one{{effect_1}, {effect_2} e mais #}other{{effect_1}, {effect_2} e mais #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Permitir todas as notificações"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Pessoas, apps e sons podem interromper"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opções de exibição para notificações filtradas"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Quando o Não perturbe estiver ativado"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Desativar som de notificações"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"abrir notificação"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Permitir adiar notificações"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Ponto de notificação no ícone do app"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Pacotes de notificações"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Balões"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Balões"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Mostrar conversa em um balão"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Ele pode responder a mensagens e acionar botões nas notificações, como ativar a soneca, dispensar notificações ou atender ligações."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Mudar configurações"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Ele pode ativar e desativar o modo Não perturbe e mudar as configurações relacionadas a ele."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"O app pode gerenciar e ativar os modos, além de mudar as configurações relacionadas."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Se você desativar o acesso a notificações para <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, é possível que o acesso ao Não perturbe também seja desativado."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Se você desativar o acesso a notificações para <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, é possível que o acesso aos modos também seja desativado."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Desativar"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Cancelar"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Em tempo real"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"O app não é compatível com as configurações avançadas."</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Mais configurações"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Mais configurações estão disponíveis neste app"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Notificações adaptáveis"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Usar notificações adaptáveis"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Se chegarem muitas notificações em um período curto de tempo, o smartphone vai diminuir o volume e minimizar pop-ups na tela por até dois minutos. Ligações, alarmes e conversas prioritárias ainda vão vibrar, emitir um som ou aparecer na tela. Todas as notificações podem ser acessadas ao puxar de cima para baixo na tela."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Período de espera para notificações"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Atenuar notificações"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Se chegarem muitas notificações em um curto período, o dispositivo vai diminuir o volume e minimizar alertas por até 2 minutos. Isso não afeta ligações, alarmes e conversas prioritárias. \n\nAs notificações recebidas durante a atenuação podem ser encontradas ao deslizar de cima para baixo na tela."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Aplicar a perfis de trabalho"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Aplicar em apps do perfil de trabalho"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Serviços de ajuda para RV"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Acesso ao Não perturbe"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Permitir o Não perturbe"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Nenhum app instalado solicitou o acesso \"Não perturbe\""</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Acesso aos modos"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Permitir acesso aos modos"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Nenhum app instalado solicitou acesso aos modos"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Você não permitiu notificações para este app"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"O Android está bloqueando essa categoria de notificações neste dispositivo, conforme você pediu."</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"O Android está bloqueando esse grupo de notificações neste dispositivo, conforme seu pedido"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Categorias"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Outros"</string>
     <string name="no_channels" msgid="4716199078612071915">"Este app não postou nenhuma notificação"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Mostrar categorias não usadas"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Configurações avançadas no app"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Mostrar categorias não usadas"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Ocultar categorias não usadas"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversas"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Todas as conversas"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"todas as conversas"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Conversas prioritárias"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"conversas prioritárias"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Nenhuma"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Apps que podem fazer interrupções"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Apps selecionados"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Nenhum"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Todos"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Nenhum app pode interromper}=1{{app_1} pode interromper}=2{{app_1} e {app_2} podem interromper}=3{{app_1}, {app_2} e {app_3} podem interromper}one{{app_1}, {app_2} e mais # podem interromper}other{{app_1}, {app_2} e mais # podem interromper}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (trabalho)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Calculando…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permitir que apps modifiquem o \"Não perturbe\""</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps que podem fazer interrupções"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Selecionar mais apps"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Nada pode interromper"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Ninguém pode interromper"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Algumas pessoas podem interromper"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Autores de ligações repetidas podem interromper o modo"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Todas as pessoas podem interromper"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Autores de chamadas repetidas"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Permitir autores de chamadas repetidas"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Mudar para somente alarmes por uma hora até {time}}one{Mudar para somente alarmes por # hora até {time}}other{Mudar para somente alarmes por # horas até {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Alterar para \"Somente alarmes\" até <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Alterar para \"Sempre interromper\""</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Renomear"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Mudar ícone"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Mudar ícone"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Modo de edição"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Criar um modo"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Modo personalizado"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Nome do modo"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Eventos da agenda"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Rotina Hora de dormir"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Ao dirigir"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Configurações do app"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Informações e configurações em <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Gerenciado por <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Desativar o <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Este modo nunca será ativado quando estiver desativado"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Desativar"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Ativar <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Esse modo pode ser ativado automaticamente de acordo com as configurações"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Ativar"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Defina um modo que siga uma programação regular"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Defina um modo para sincronizar com eventos da agenda e respostas a convites"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Crie uma rotina de sono relaxante. Defina alarmes, escureça a tela e bloqueie notificações."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Priorize a segurança na estrada para dirigir com foco e sem distrações"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Bloqueie distrações ou interrupções de seu dispositivo para manter o foco"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Elimine todas as distrações para ter um ambiente silencioso"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Personalize as experiências e configurações do dispositivo para diferentes usuários"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Minimize interrupções, permitindo que apenas pessoas e apps importantes entrem em contato com você"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Defina um modo que siga uma programação regular"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Mantenha seu dispositivo sincronizado com os eventos do dia"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Acorde com 100% de energia"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Priorize a segurança na estrada"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Concentre-se para entrar no clima"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Para momentos em que a cortesia é importante"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Uso guiado para garantir sua segurança"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Controle sua atenção"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Alerta"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Fechar"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Enviar feedback sobre o dispositivo"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Deve permanecer ativado, pois o acesso a notificações está ativado"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Revogar acesso a \"Não perturbe\" para <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Todas as regras \"Não perturbe\" criadas por esse app serão removidas."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Permitir que <xliff:g id="APP">%1$s</xliff:g> tenha acesso aos modos?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"O app poderá ativar/desativar o recurso \"Não perturbe\", gerenciar e ativar os modos e fazer mudanças nas configurações relacionadas."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Todos os modos criados por esse app serão removidos."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Não otimizar"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Otimizar"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Isso pode esgotar a bateria mais rapidamente. A restrição do uso de bateria em segundo plano não se aplicará mais ao app."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Estojo"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Bateria"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Painel de configurações"</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_desktop_mode" msgid="5644818402534562302">"Ativar janelas de forma livre"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Permitir janelas de forma livre na tela secundária"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Ativar recursos não redimensionáveis em várias janelas"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Permitir que apps não redimensionáveis sejam usados em várias janelas"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Manter o recurso Forçar modo escuro ativado"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"dados móveis"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Para melhorar a experiência no dispositivo, os apps e serviços ainda podem procurar redes Wi-Fi a qualquer momento, mesmo quando essa conexão está desativada. Isso pode ser usado, por exemplo, para melhorar recursos e serviços baseados na localização. Você pode mudar essa opção nas configurações de busca por Wi-Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Mudar"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Conectado"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Temporariamente conectado"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Temporariamente usando: <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Usar a Fixação de app"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Usar as opções do desenvolvedor"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Usar o serviço de impressão"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Permitir vários usuários"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Permitir a troca de usuário"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"autorizar, vários, usuários, permitir, muitos"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"múltiplos, usuários, perfis, pessoas, contas, trocar, vários"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Usar a depuração por Wi-Fi"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> quer se conectar a este smartphone.\n\nVocê nunca se conectou ao <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Não conectar"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Conectar"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Configurações do TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Ativado"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Desativado"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Reverter para as configurações padrão"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Configurações revertidas para o padrão."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Saldo máximo saciado"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Saldos"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Limites de consumo"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Limite de consumo inicial"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Limite mínimo de consumo"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Limite máximo de consumo"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modificadores"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Ações (custo de produção)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Ações (preço base)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Recompensas por um evento específico"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Recompensas por segundo de duração do evento"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Máximo de recompensas por dia"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Instalação de app"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Principal atividade"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Notificação vista"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Notificação vista em 15 minutos"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interação com a notificação"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Interação com o widget"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Outra interação do usuário"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Início de prioridade máxima da tarefa"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Execução de prioridade máxima da tarefa"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Início de alta prioridade da tarefa"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Execução de alta prioridade da tarefa"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Início padrão da tarefa"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Execução padrão da tarefa"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Início de baixa prioridade da tarefa"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Execução de baixa prioridade da tarefa"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Início de prioridade mínima da tarefa"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Execução de prioridade mínima da tarefa"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Penalidade de tempo limite da tarefa"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Saldo mínimo quando totalmente carregado (isento)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Saldo mínimo quando totalmente carregado (app do sistema headless)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Saldo mínimo quando totalmente carregado (apps restantes)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Adição de saldo mínimo quando totalmente carregado (atualizadores de apps)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Carregando"</item>
-    <item msgid="658627268149681677">"Soneca"</item>
-    <item msgid="1599558140284643834">"Modo de economia de energia"</item>
-    <item msgid="588427840913221601">"Estado do processo"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Confirmar"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Prévia"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Escolha um protetor de tela"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Mostrar outras informações"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Escolha o que ver na tela quando o tablet estiver na base. O dispositivo pode consumir mais energia quando o protetor de tela é usado."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Personalizar"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Personalizar <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"É necessário reiniciar o dispositivo para ativar o suporte ao formato livre."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"É necessário reiniciar o dispositivo para forçar o modo área de trabalho em telas secundárias."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"É necessário reiniciar o dispositivo para permitir as janelas em formato livre."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"É necessário reiniciar o dispositivo para atualizar a disponibilidade de janelas em formato livre."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"É necessário reiniciar o dispositivo para permitir janelas em formato livre em telas secundárias."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reiniciar agora"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reiniciar mais tarde"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Áudio espacial"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Rosa"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Violeta"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Concluído"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Salvar"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Cancelar"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Padrão"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Médio"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Ativada"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Desativada"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Ativada"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Áudio: %1$d%% no lado esquerdo e %2$d%% no lado direito"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Áudio: %1$d%% no lado direito e %2$d%% no lado esquerdo"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"O nome do dispositivo fica visível para os apps que você instalou. Ele também vai ficar visível para outras pessoas quando você se conectar a dispositivos Bluetooth ou a uma rede Wi-Fi ou quando configurar um ponto de acesso Wi-Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Gênero gramatical"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Selecionar gênero gramatical"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Compartilhamento de áudio interrompido"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Conectar um dispositivo compatível"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Para começar a compartilhar áudio, primeiro conecte os fones de ouvido LE Audio ao smartphone"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Mudar para <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Conectar a um stream de LE Audio"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Streams de áudio por perto"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Streams de áudio"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Ouvir o stream"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Use o QR code de um stream de áudio para ouvir com <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Não é possível editar a senha enquanto compartilha. Para mudar a senha, primeiro desligue o compartilhamento de áudio."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Leitor de QR code"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Precisa de ajuda?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Pesquisar configurações"</string>
 </resources>
diff --git a/res/values-ro/arrays.xml b/res/values-ro/arrays.xml
index 1c60dcb..b7d382c 100644
--- a/res/values-ro/arrays.xml
+++ b/res/values-ro/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Ora de culcare"</item>
-    <item msgid="4152450357280759894">"La volan"</item>
-    <item msgid="7096549258219399423">"Captivant"</item>
-    <item msgid="2760716776980432977">"Gestionat"</item>
-    <item msgid="601734478369121764">"Stea"</item>
-    <item msgid="6243809315432780521">"Calendar"</item>
-    <item msgid="4913577903148415331">"Ora"</item>
-    <item msgid="3653377604690057780">"Teatru"</item>
-    <item msgid="3843711267408385410">"Floare"</item>
+    <item msgid="1216815120972438676">"Servietă"</item>
+    <item msgid="184985872234062767">"Clădire clasică"</item>
+    <item msgid="9189550412466785530">"Bloc de locuințe"</item>
+    <item msgid="2142527562511049422">"Balon explicativ"</item>
+    <item msgid="2548100558260478605">"Grup de persoane"</item>
+    <item msgid="2270003903304578284">"Bec"</item>
+    <item msgid="4793496619091161864">"Calendar"</item>
+    <item msgid="5673625795644364100">"Nu deranja"</item>
+    <item msgid="1423820834865831361">"Persoană care aleargă"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Ganteră"</item>
+    <item msgid="2730180105015616518">"Înot"</item>
+    <item msgid="2666922823253345958">"Persoană care face ascensiuni"</item>
+    <item msgid="8234880356472211396">"Persoană care aruncă o minge"</item>
+    <item msgid="4642980625253001443">"Persoană care dă un șut"</item>
+    <item msgid="4324795269518833500">"Controler de jocuri"</item>
+    <item msgid="7789966425125441125">"Paletă de culori pentru artiști"</item>
+    <item msgid="663512680597461570">"Fulg de nea"</item>
+    <item msgid="7952183800501346803">"Umbrelă de plajă"</item>
+    <item msgid="799139025758265891">"Instrumente din atelier"</item>
+    <item msgid="1330084588359129896">"Cort"</item>
+    <item msgid="3861584909935022342">"Bobină de film"</item>
+    <item msgid="5827426100157335512">"Carte"</item>
+    <item msgid="8585828346253128384">"Floare de lotus"</item>
+    <item msgid="8788370542815300188">"Mintea unei persoane"</item>
+    <item msgid="7287354964767553293">"Căști"</item>
+    <item msgid="2530059623783800987">"Televizor"</item>
+    <item msgid="5307182323469376758">"Tren"</item>
+    <item msgid="4903790544026923026">"Mașină"</item>
+    <item msgid="5010405583912314582">"Furculiță și cuțit"</item>
+    <item msgid="8939998598599064900">"Coș de cumpărături"</item>
+    <item msgid="3379605903308731893">"Copil"</item>
+    <item msgid="7808668968550293112">"Labă de animal"</item>
+    <item msgid="1000692647524056504">"Insignă stea"</item>
+    <item msgid="8270261073421676502">"Două persoane"</item>
+    <item msgid="5767782819651505460">"Stea"</item>
+    <item msgid="4368451291862729334">"Inimă"</item>
+    <item msgid="2613199102208419986">"Casă"</item>
+    <item msgid="3022279986430275040">"Semilună"</item>
+    <item msgid="5421089790869483206">"Ceas"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 0fd78dc..f16110e 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspendat"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Necunoscut"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Previzualizare"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"Cod QR"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Micșorează"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Mărește"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"Întotdeauna"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Setări pentru aparate auditive"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Comandă rapidă, compatibilitate cu aparatele auditive"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Presetare"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Audiologul nu a configurat presetări"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Nu s-a putut actualiza presetarea"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Ieșire audio"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Despre ieșirea audio"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Selectarea limbii pentru această aplicație din Setări nu este disponibilă."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Limba poate fi alta decât limbile disponibile în aplicație. Este posibil ca unele aplicații să nu accepte această setare."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Setează limba pentru fiecare aplicație."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Sistemul, aplicațiile și site-urile folosesc prima limbă acceptată dintre limbile preferate."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Dispozitivul, aplicațiile și site-urile dvs. folosesc prima limbă acceptată din lista de limbi preferate.\n\nMulte aplicații vor folosi și regiunea aferentă limbii preferate pentru a formata date, numere și unități. Ca să schimbi regiunea, adaugă o limbă, apoi alege regiunea preferată."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Ca să selectezi o limbă pentru fiecare aplicație, accesează setările de limbă ale aplicației"</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Află mai multe despre limbile aplicațiilor"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Schimbi limba sistemului la %s?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Dezactivat"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Activată / # aplicație are acces la locație}few{Activată / # aplicații au acces la locație}other{Activată / # de aplicații au acces la locație}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Se încarcă…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Aplicațiile cu permisiunea pentru Dispozitive din apropiere pot stabili poziția relativă a dispozitivelor conectate."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Aplicațiile cu permisiunea Dispozitive din apropiere pot stabili poziția relativă a dispozitivelor conectate."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Accesul la locație este dezactivat pentru aplicații și servicii. Locația dispozitivului poate fi trimisă serviciilor de urgență atunci când suni sau trimiți un mesaj la un număr de urgență."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Află mai multe despre Setările privind locația"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Ca să schimbi, accesează Setările ChromeOS &gt; Confidențialitate și securitate &gt; Opțiuni de confidențialitate &gt; Acces la locație"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Au fost adăugate fața și <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Au fost adăugate fața, amprenta și <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Au fost adăugate fața, amprentele și <xliff:g id="WATCH">%s</xliff:g>"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Verificarea identității este activată și necesită o formă de identificare biometrică"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Deblocarea cu Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Ceasul a fost adăugat"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Configurează ceasul"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Află mai multe despre Deblocarea cu ceasul"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Adaugă un ceas"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Elimină ceasul"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Deblocare cu amprenta și Deblocare facială"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Deblocare facială și cu amprenta"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Deblocarea facială și cu amprenta pentru serviciu"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Este necesară configurarea"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Fața și amprentele au fost adăugate"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Se configurează spațiul privat…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Nu s-a putut configura un spațiu privat"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Încearcă din nou"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Ieși"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Spațiul privat nu este disponibil.\nVezi cauzele posibile"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Vezi cauzele posibile"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Alegi o blocare nouă pentru spațiul privat?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Poți să setezi o nouă blocare doar pentru spațiul privat sau să folosești aceeași blocare pe care o folosești pentru a debloca dispozitivul."</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Folosește blocarea ecranului"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Când Bluetooth este activat, dispozitivul poate să comunice cu alte dispozitive Bluetooth din apropiere.\n\nPentru a îmbunătăți experiența dispozitivului, aplicațiile și serviciile pot să caute în continuare dispozitive din apropiere chiar și atunci când Bluetooth este dezactivat. Această opțiune poate fi folosită, de exemplu, pentru a îmbunătăți funcțiile și serviciile bazate pe locație. Poți să-ți schimbi preferințele în setările pentru scanarea Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Când funcția Bluetooth este activată, dispozitivul poate să comunice cu alte dispozitive Bluetooth din apropiere. Funcții precum Quick Share și Găsește-mi dispozitivul folosesc Bluetooth.\n\nChiar dacă Bluetooth este dezactivat, aplicațiile și serviciile pot totuși să caute dispozitive din apropiere în orice moment. Această permisiune poate fi folosită, de exemplu, pentru a îmbunătăți funcțiile și serviciile bazate pe locație. Poți modifica această opțiune în setările pentru scanarea Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Modifică"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Detalii despre dispozitiv"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Setări tastatură"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Mai multe setări"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Actualizări de firmware, informații și altele"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Sfaturi și asistență"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Adresa Bluetooth a dispozitivului: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Adresa Bluetooth a dispozitivului: \n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Elimini dispozitivul?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Experimental. Ameliorează calitatea audio."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Elimină dispozitivul"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Deconectează aplicația"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Mai multe setări"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Numărul maxim de dispozitive audio Bluetooth conectate"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Selectează numărul maxim de dispozitive audio Bluetooth conectate"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Jurnal de remediere erori pentru furnizorii detaliați NFC"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Repornești dispozitivul?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Înregistrarea NFC detaliată este menită exclusiv pentru dezvoltare Datele NFC suplimentare sunt incluse în rapoartele de eroare, care pot conține informații private. Repornește dispozitivul ca să schimbi setarea."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Repornește"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Activat"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Dezactivat"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Ecran extern"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Folosește ecranul extern"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Rezoluția ecranului"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Ecranul extern este deconectat"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Rotire"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standard"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Modificarea rotirii sau a rezoluției poate opri aplicațiile care rulează"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Dispozitivul trebuie să fie conectat la un ecran extern pentru a-ți oglindi ecranul"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Mai multe opțiuni"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Proiectare"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"oglindă"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Activează ecranul wireless"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptive"</string>
     <string name="brightness" msgid="6216871641021779698">"Nivel de luminozitate"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Luminozitate adaptivă"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Despre luminozitatea adaptivă"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Luminozitatea ecranului se va adapta automat la mediul și activitățile tale. Poți să muți manual glisorul pentru a ajuta luminozitatea adaptivă să îți învețe preferințele."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Activată"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Dezactivat"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Folosești <xliff:g id="CARRIER">%1$s</xliff:g> pentru date mobile?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Folosești <xliff:g id="CARRIER2_0">%2$s</xliff:g> pentru datele mobile. Când comuți la <xliff:g id="CARRIER1">%1$s</xliff:g>, <xliff:g id="CARRIER2_1">%2$s</xliff:g> nu va mai fi folosit pentru date mobile."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Folosește <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Actualizezi SIM-ul preferat?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> este singurul card SIM de pe dispozitiv. Vrei să folosești acest card SIM pentru date mobile, apeluri și mesaje SMS?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> este acum cardul SIM principal"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Crești acoperirea datelor mobile?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Permite ca dispozitivul să comute automat la <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> pentru date mobile când are o disponibilitate mai mare."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Apelurile, mesajele și traficul de rețea pot fi vizibile pentru organizația ta."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Opțiuni"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Accesibilitate"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Tastatură fizică"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Folosește tastatura pe ecran"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Se păstrează pe ecran cât timp este activată tastatura fizică"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Taste nerepetate"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Tastatura ignoră apăsările repetate rapid ale aceleiași taste în <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Taste lente"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Ajustează timpul necesar pentru ca o apăsare de tastă să se activeze la <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Taste adezive"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Apasă câte o tastă pentru comenzile rapide în loc să ții apăsate tastele împreună"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Butoanele mouse-ului"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Folosește tastatura fizică pentru a controla mouse-ul."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Comenzi rapide de la tastatură"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Afișează lista de comenzi rapide"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tastaturi și instrumente pt. profilul de serviciu"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Personalizează gesturi individuale de navigare cu touchpadul"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Derulare inversă"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Conținutul se deplasează în sus când derulezi în jos"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Atingere în dreapta jos"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Atinge colțul din dreapta jos al touchpadului pentru alte opțiuni"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Clic în dreapta jos"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Dă clic în colțul din dreapta jos pe touchpad pentru opțiuni"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Viteza indicatorului"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Stilul de umplere al pointerului"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Schimbă stilul de umplere în negru"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Schimbă stilul de umplere în galben"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Schimbă stilul de umplere în roz"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Schimbă stilul de umplere în albastru"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Stilul pointerului"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Alb"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Negru"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Niciunul"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Învață gesturi pentru touchpad"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"trackpad, track pad, mouse, cursor, derulează, glisează, dă clic dreapta, dă clic, indicator"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"dă clic dreapta, atinge"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Resetează"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Alege tasta de modificare"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Alege o nouă tastă pentru <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Aspectul <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Prestabilit"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automat: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Utilizator selectat: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Voce"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Viteza indicatorului"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Mărimea cursorului"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Micșorează cursorul"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Mărește cursorul"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Controler de joc"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Redirecționează vibrațiile"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Trimite vibrații la controlerul de joc când este conectat"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continuă oricum"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Anulează"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Setări pentru mărire"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Deplasare cu un deget"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Mută lupa cu un deget"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Trage cu degetul pentru a te deplasa pe ecran"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Mută zona de mărit trăgând cu un deget."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Mută zona de mărit trăgând cu două degete."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Opțiune indisponibilă dacă se mărește numai o parte a ecranului"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Atinge un buton pentru a micșora/mări"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Mărește rapid conținutul de pe ecran"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Pentru a mări:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. folosește comanda rapidă ca să începi mărirea;&lt;br/&gt; {1,number,integer}. atinge ecranul;&lt;br/&gt; {2,number,integer}. glisează cu două degete ca să te deplasezi pe ecran;&lt;br/&gt; {3,number,integer}. ciupește cu două degete ca să ajustezi nivelul de zoom;&lt;br/&gt; {4,number,integer}. folosește comanda rapidă ca să oprești mărirea.&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Pentru a mări temporar:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. asigură-te că tipul de mărire este setat la ecran complet;&lt;br/&gt; {1,number,integer}. folosește comanda rapidă ca să începi mărirea;&lt;br/&gt; {2,number,integer}. atinge lung oriunde pe ecran;&lt;br/&gt; {3,number,integer}. glisează cu degetul ca să te deplasezi pe ecran;&lt;br/&gt; {4,number,integer}. ridică degetul ca să oprești mărirea."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Pentru a mări:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. folosește comanda rapidă ca să începi mărirea&lt;br/&gt; {1,number,integer}; atinge ecranul&lt;br/&gt; {2,number,integer}; glisează cu două degete ca să te deplasezi pe ecran&lt;br/&gt; {3,number,integer}; ciupește cu două degete ca să ajustezi nivelul de zoom&lt;br/&gt; {4,number,integer}. Folosește comanda rapidă ca să oprești mărirea.&lt;br/&gt;&lt;br/&gt; Poți și să mărești temporar și multe altele."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Pentru a mări:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. folosește comanda rapidă ca să începi mărirea&lt;br/&gt; {1,number,integer}; atinge ecranul&lt;br/&gt; {2,number,integer}; trage cu unul sau două degete ca să te deplasezi pe ecran&lt;br/&gt; {3,number,integer}; ciupește cu două degete ca să ajustezi nivelul de zoom&lt;br/&gt; {4,number,integer}. Folosește comanda rapidă ca să oprești mărirea.&lt;br/&gt;&lt;br/&gt; Poți și să mărești temporar și multe altele."</string>
     <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Când mărirea este activată, poți mări ecranul curent.\n\n"<b>"Pentru a mări"</b>", începe mărirea, apoi atinge oriunde pe ecran.\n"<ul><li>"Trage cu două sau mai multe degete pentru a derula"</li>\n<li>"Ciupește cu două sau mai multe degete pentru a regla nivelul de zoom"</li></ul>\n\n<b>"Pentru a mări temporar"</b>", începe mărirea, apoi atinge lung oriunde pe ecran.\n"<ul><li>"Trage pentru a te mișca pe ecran"</li>\n<li>"Ridică degetul pentru a micșora"</li></ul>\n\n"Nu poți mări pe tastatură și pe bara de navigare."</string>
     <string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Pagina <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> din <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Comandă rapidă pentru butonul de accesibilitate"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Atinge butonul flotant"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Gest de accesibilitate"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Atinge butonul de accesibilitate <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> din partea de jos a ecranului. Pentru a comuta între funcții, atinge lung butonul de accesibilitate."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Glisează în sus cu două degete din partea de jos a ecranului.\n\nPentru a comuta între funcții, glisează în sus cu două degete și ține apăsat."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Glisează în sus cu trei degete din partea de jos a ecranului.\n\nPentru a comuta între funcții, glisează în sus cu trei degete și ține apăsat."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Glisează în sus din partea de jos a ecranului. Pentru a comuta între funcții, glisează în sus și apasă lung.}few{Glisează în sus cu # degete din partea de jos a ecranului. Pentru a comuta între funcții, glisează în sus cu # degete și apasă lung.}other{Glisează în sus cu # degete din partea de jos a ecranului. Pentru a comuta între funcții, glisează în sus cu # degete și apasă lung.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Mai multe opțiuni"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Află mai multe despre <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Butoane de volum"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"butoane de volum"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Apasă lung ambele butoane de volum"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Atinge de două ori ecranul cu două degete"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Atinge de două ori cu %1$d degete"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Atinge rapid ecranul de două ori cu %1$d degete"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Atinge de trei ori"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Atinge rapid ecranul de %1$d ori. Această acțiune poate încetini funcționarea dispozitivului."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Atinge de două ori cu %1$d degete"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Atinge rapid ecranul de {0,number,integer} ori cu două degete"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Atinge ecranul de trei ori"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"atinge de trei ori"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Atinge rapid ecranul de {0,number,integer} 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 lung butonul Accesibilitate și apoi selectează 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, glisează în sus cu două degete din partea de jos a ecranului și ține apăsat. Apoi selectează mărirea."</string>
-    <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Comandă rapidă pentru butoane volum"</string>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Setări pentru comenzi rapide"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Comandă rapidă din ecranul de blocare"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Permite activarea comenzii rapide pentru funcție din ecranul de blocare. Apasă ambele taste pentru volum timp de câteva secunde."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Buton de accesibilitate"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Buton și gest de accesibilitate"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Acest serviciu nu funcționează corect."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Comenzi rapide pentru accesibilitate"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Afișează în Setări rapide"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Roșu-verde"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Roșu-verde"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Roșu-verde, verde pal"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Roșu-verde, roșu pal"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Albastru-galben"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Tonuri de gri"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensitate"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Percepție slabă a culorii verde, deuteranomalie"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Percepție slabă a culorii roșu, protanomalie"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Indisponibil pentru modul Tonuri de gri sau când corecția culorii este dezactivată"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Luminozitate redusă suplimentar"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Redu suplimentar luminozitatea"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Cyan"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Galben"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Permiți serviciului <xliff:g id="SERVICE">%1$s</xliff:g> să aibă control total asupra dispozitivului tău?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> are funcțiile:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Deoarece o aplicație acoperă o solicitare de permisiune, Setările nu îți pot verifica răspunsul."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> solicită control total asupra acestui dispozitiv. Serviciul poate citi ecranul și poate acționa în numele utilizatorilor cu nevoi de accesibilitate. Acest nivel de control nu este adecvat pentru majoritatea aplicațiilor."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Controlul total este adecvat pentru aplicații care te ajută cu accesibilitatea, însă nu pentru majoritatea aplicaților."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Te vede și-ți controlează ecranul"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Poate citi tot conținutul de pe ecran și poate afișa conținut peste alte aplicații."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Îți vede interacțiunile și le realizează"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Poate urmări interacțiunile tale cu o aplicație sau cu un senzor hardware și poate interacționa cu aplicații în numele tău."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Permite"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Refuză"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Dezactivează"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Activat/<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> și <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Sau poți activa funcția Audio spațial pentru dispozitivele Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Setări pentru dispozitivele conectate"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Audio spațial"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Dezactivat"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Dezactivat"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Dezactivat"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Niciunul}=1{Un program setat}few{# programe setate}other{# de programe setate}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Nu deranja"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Moduri cu prioritate"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Adaugă un mod"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Moduri"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Minimizează factorii perturbatori și concentrează-te cu moduri pentru somn, lucru, condus și orice alte activități."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Creează propriul mod"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Primește notificări doar de la persoane și aplicații importante"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Setează un program"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Program bazat pe"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Data și ora"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"În zilele lucrătoare între 09:00 și 17:00"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Evenimente din calendar"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} este activ}=2{{mode_1} și {mode_2} sunt active}=3{{mode_1}, {mode_2} și {mode_3} sunt active}few{{mode_1}, {mode_2} și încă # sunt active}other{{mode_1}, {mode_2} și încă # sunt active}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{Un mod se poate activa automat}few{# moduri se pot activa automat}other{# de moduri se pot activa automat}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ACTIVAT"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Nesetat"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Dezactivat"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Creează un mod"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Personalizat"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Activează acum"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Dezactivează"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Modul nu a fost găsit"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitează întreruperile"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Blochează întreruperile și perturbările"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Configurează <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activează Nu deranja"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarmele și sunetele media îl pot întrerupe"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Programe"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Șterge programele"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Ștergeți"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Redenumește"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Șterge"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Ștergi modul <xliff:g id="MODE">%1$s</xliff:g>?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Editează"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Programe"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Program"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Activează automat"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Adaugă un calendar"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Folosește-ți calendarul"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Program"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Setează un program"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Când se activează automat"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Programul evenimentelor"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Activ. în timpul evenimentelor"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Când răspunsul la invitație e"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Program pe ore"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Program"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min."</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Program"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Permite întreruperile care emit sunete"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blochează întreruperile vizuale"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Permite semnale vizuale"</string>
-    <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Notificări acceptate"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Acțiuni suplimentare"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Filtre pentru notificări"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Mai multe setări"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Dezactivat}=1{Dezactivat / Un mod se poate activa automat}few{Dezactivat / # moduri se pot activa automat}other{Dezactivat / # de moduri se pot activa automat}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Setări de afișare"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Opțiuni de afișare"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Tonuri de gri"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"activează tema întunecată"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Modifică sistemul de operare și aplicațiile astfel încât să se afișeze text de culoare deschisă pe un fundal de culoare închisă, care este mai odihnitor pentru ochi și asigură economisirea considerabilă a bateriei în cazul unor dispozitive"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Nicio modificare a afișării}=1{{effect_1}}=2{{effect_1} și {effect_2}}=3{{effect_1}, {effect_2} și {effect_3}}few{{effect_1}, {effect_2} și încă #}other{{effect_1}, {effect_2} și încă #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Permite toate notificările"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Persoanele, aplicațiile și sunetele îl pot întrerupe"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opțiuni de afișare pentru notificările filtrate"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Când funcția „Nu deranja” este activată"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Fără sunet de la notificări"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"deschide notificarea"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Permite amânarea notificărilor"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Punct de notificare pe pictogramă"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Pachete de notificări"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Baloane"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Baloane"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Afișează conversația în balon"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Poate să răspundă la mesaje și să declanșeze butoane pentru acțiuni din notificări, inclusiv să amâne sau să închidă notificări și să răspundă la apeluri."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"să modifice setările."</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Poate să activeze sau să dezactiveze starea Nu deranja și să modifice setările aferente."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Poate să gestioneze și să activeze Modurile și să modifice setările asociate."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Dacă dezactivezi accesul notificărilor pentru <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, este posibil să se dezactiveze și accesul când starea este Nu deranja."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Dacă dezactivezi accesul la notificări pentru <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, este posibil să fie dezactivat și accesul la Moduri."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Dezactivează"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Anulează"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"În timp real"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Aplicația nu acceptă setările optimizate"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Mai multe setări"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Mai multe setări sunt disponibile în această aplicație"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Notificări adaptabile"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Folosește notificări adaptabile"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Când primești multe notificări într-un timp scurt, telefonul va reduce volumul și va minimiza ferestrele pop-up de pe ecran timp de până la două minute. Apelurile, alarmele și conversațiile prioritare vor declanșa în continuare vibrații sau alerte sonore ori vor apărea pe ecran. Găsești ușor toate notificările dacă tragi în jos din partea de sus a ecranului."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Reducerea sunetului notificărilor"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Folosește reducerea sunetului notificărilor"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Când primești multe notificări într-un timp scurt, dispozitivul va reduce volumul și va minimiza alertele timp de până la două minute. Apelurile, alarmele și conversațiile prioritare nu vor fi afectate. \n\nPoți accesa notificările primite în perioada de reducere a sunetului dacă tragi în jos din partea de sus a ecranului."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Aplică profilurilor de serviciu"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Aplică pentru aplicațiile din profilul de serviciu"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Servicii de ajutor pentru RV"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Acces la funcția Nu deranja"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Permite modul Nu deranja"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Nicio aplicație instalată nu a solicitat accesul Nu deranja"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Accesul la Moduri"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Permite accesul la Moduri"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Nicio aplicație instalată nu a solicitat accesul la Moduri"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Nu ai permis notificările de la această aplicație"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"La solicitarea ta, Android blochează această categorie de notificări pe dispozitiv"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"La solicitarea ta, Android blochează acest grup de notificări pe dispozitiv"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Categorii"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Altele"</string>
     <string name="no_channels" msgid="4716199078612071915">"Această aplicație nu a postat nicio notificare"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Afișează categoriile nefolosite"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Setări suplimentare în aplicație"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Afișează categoriile nefolosite"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Ascunde categoriile nefolosite"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversații"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Toate conversațiile"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"toate conversațiile"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Conversații cu prioritate"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"conversații prioritare"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Niciuna"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Aplicații care îl pot întrerupe"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Aplicațiile selectate"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Niciuna"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Toate"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Nicio aplicație nu îl poate întrerupe}=1{{app_1} îl poate întrerupe}=2{{app_1} și {app_2} îl pot întrerupe}=3{{app_1}, {app_2} și {app_3} îl pot întrerupe}few{{app_1}, {app_2} și încă # îl pot întrerupe}other{{app_1}, {app_2} și încă # îl pot întrerupe}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (Serviciu)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Se calculează..."</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permite aplicațiilor să ignore"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplicații care pot întrerupe"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Selectează mai multe aplicații"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Nimic nu îl poate întrerupe"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Nimeni nu îl poate întrerupe"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Anumite persoane îl pot întrerupe"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Apelanții care revin pot întrerupe"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Oricine îl poate întrerupe"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Apelanți care revin"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Permite apelanți care revin"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Schimbă la Numai alarme pentru o oră, până la {time}}few{Schimbă la Numai alarme pentru # ore, până la {time}}other{Schimbă la Numai alarme pentru # de ore, până la {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Schimbă la „Numai alarme” până la <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Schimbă la „Întrerupe întotdeauna”"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Redenumește"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Schimbă pictograma"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Schimbă pictograma"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Editează modul"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Creează un mod"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Mod personalizat"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Numele modului"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Evenimente din calendar"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Rutina orei de culcare"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"La volan"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Setările aplicației"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Informații și setări din <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Gestionat de <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Dezactivezi <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Modul nu se va activa niciodată dacă a fost dezactivat"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Dezactivează"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Activezi <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Modul se poate activa automat în funcție de setări"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Activează"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Setează un mod care urmează un program obișnuit"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Setează un mod de sincronizare cu evenimentele din calendar și răspunsurile la invitații"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Creează o rutină de somn relaxantă. Setează alarme, redu luminozitatea ecranului și blochează notificările."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Dă prioritate siguranței pe drum pentru concentrare deplină la volan, fără distrageri"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Blochează distragerile sau întreruperile pe dispozitiv pentru concentrare maximă"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Elimină toate distragerile pentru un mediu liniștit"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Personalizează experiențele și setările pe dispozitiv pentru utilizatori diferiți"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Redu la minimum întreruperile permițându-le doar persoanelor și aplicațiilor importante să-ți capteze atenția"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Setează un mod care respectă un program regulat"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Menține dispozitivul sincronizat cu evenimentele din ziua respectivă"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Trezește-te cu bateria 100 % încărcată"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Pune siguranța pe primul loc când conduci"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Concentrează-te pentru performanță maximă"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Pentru momentele în care politețea este importantă"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Folosire ghidată care te ajută să rămâi în siguranță"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Acordă atenție"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Avertisment"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Închide"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Trimite feedback despre dispozitiv"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Trebuie să rămână activat deoarece accesul notificărilor este activat"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Revoci accesul la Nu deranja pentru <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Toate regulile din modul Nu deranja create de această aplicație vor fi eliminate."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Permiți accesul la Moduri pentru <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Aplicația va putea să activeze / dezactiveze modul Nu deranja, să gestioneze și să activeze Modurile și să modifice setările aferente."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Toate modurile create de această aplicație vor fi eliminate."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Nu se optimizează"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Se optimizează"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Este posibil ca bateria să se descarce mai rapid. Aplicațiile vor putea să folosească bateria în fundal."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Carcasă"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Bateria"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Panou de setări"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"Forțează modul desktop"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Forțează modul desktop experimental pe ecrane secundare"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"Activează ferestrele cu formă liberă"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Activează ferestrele cu formă liberă pe ecranul II"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Permite aplicații fără redimensionare în ferestre multiple"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Permite aplicațiile fără redimensionare în ferestre multiple"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Modifică funcția Force-Dark"</string>
@@ -4968,7 +5077,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"date mobile"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Pentru a îmbunătăți experiența cu dispozitivul, aplicațiile și serviciile pot să caute în continuare rețele Wi‑Fi chiar și atunci când conexiunea Wi-Fi este dezactivată. Această permisiune poate fi folosită, de exemplu, pentru a îmbunătăți funcțiile și serviciile bazate pe locație. Poți să modifici acest aspect din setările pentru căutarea de rețele Wi-Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Modifică"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Conectat"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Conectat temporar"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Folosește temporar <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -5000,7 +5108,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Folosește fixarea aplicațiilor"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Folosește opțiuni pentru dezvoltatori"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Folosește serviciul de printare"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Permite utilizatori multipli"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Permite schimbarea utilizatorului"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"permite, mai mulți, utilizatori, acceptă, mulți"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"multipli, utilizatori, profiluri, persoane, conturi, schimbă, mulți"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Folosește remedierea erorilor wireless"</string>
@@ -5057,52 +5165,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> solicită conectarea la acest telefon.\n\nNu te-ai mai conectat la <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Nu te conecta"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Conectează-te"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Setări TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Activată"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Dezactivată"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Revii la setările implicite?"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Setări restabilite la cele standard."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Echilibru maxim la încărcarea completă"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Solduri"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Limite de consum"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Limita inițială de consum"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Limita minimă de consum"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Limita maximă de consum"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modificatori"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Acțiuni (costul producției)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Acțiuni (preț de bază)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Recompense pentru fiecare eveniment"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Recompense/secundă de eveniment"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Numărul maxim de recompense pe zi"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Instalarea aplicației"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Activitate principală"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Notificare văzută"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Notificare văzută în decurs de 15 minute"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interacțiune cu notificarea"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Interacțiune cu widgetul"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Altă interacțiune a utilizatorului"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Se începe sarcina cu prioritate maximă"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Rulează sarcina cu prioritate maximă"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Se începe sarcina cu prioritate ridicată"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Rulează sarcina cu prioritate ridicată"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Se începe sarcina prestabilită"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Rulează sarcina prestabilită"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Se începe sarcina cu prioritate scăzută"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Rulează sarcina cu prioritate scăzută"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Se începe sarcina cu prioritate minimă"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Rulează sarcina cu prioritate minimă"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Penalizare pentru timpul limită al sarcinii"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Echilibru minim la încărcarea completă (scutit)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Echilibru minim la încărcarea completă (aplicație fără interfață grafică)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Echilibru minim la încărcarea completă (aplicațiile rămase)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Echilibru minim la încărcarea completă (actualizări de aplicație)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Încărcarea"</item>
-    <item msgid="658627268149681677">"Doze"</item>
-    <item msgid="1599558140284643834">"Modul de economisire a bateriei"</item>
-    <item msgid="588427840913221601">"Starea procesului"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Confirmă"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Previzualizează"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Alege un screensaver"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Afișează informații suplimentare"</string>
@@ -5114,8 +5176,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Alege ce vei vedea pe ecran când tableta este andocată. Dispozitivul poate consuma mai multă energie când folosește un screensaver."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Personalizează"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Personalizează <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Este nevoie de o repornire pentru a activa asistența cu formă liberă."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Este nevoie de o repornire pentru a impune modul computer pe ecranele secundare."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Este nevoie de o repornire pentru a permite ferestrele cu formă liberă."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Este necesară o repornire pentru a actualiza disponibilitatea ferestrelor cu formă liberă."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Este necesară o repornire pentru a permite ferestrele cu formă liberă pe ecranele secundare."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Repornește acum"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Repornește mai târziu"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Audio spațial"</string>
@@ -5212,7 +5275,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Trandafiriu"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Violet"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Gata"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Salvează"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Anulează"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Prestabilit"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Mediu"</string>
@@ -5233,6 +5296,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Activată"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Dezactivate"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Activate"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Audio %1$d%% stânga, %2$d%% dreapta"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Audio %1$d%% dreapta, %2$d%% stânga"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Numele dispozitivului este vizibil pentru aplicațiile instalate. Poate fi văzut și de alte persoane când te conectezi la dispozitivele Bluetooth sau la o rețea Wi-Fi sau când configurezi un hotspot Wi-Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Genul gramatical"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Selectează genul gramatical"</string>
@@ -5301,6 +5366,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Permiterea accesului la audio s-a oprit"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Conectează un dispozitiv compatibil"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Ca să începi să permiți accesul la conținut audio, conectează căștile LE Audio la telefon"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Comută la <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Conectează-te la un stream LE Audio"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Streamuri audio în apropiere"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Streamuri audio"</string>
@@ -5344,4 +5410,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Ascultă streamul"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Scanează un cod QR de stream audio pentru a-l asculta folosind <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Nu poți edita parola în timpul permiterii accesului. Pentru a schimba parola, mai întâi dezactivează permiterea accesului la audio."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Scanner de coduri QR"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Ai nevoie de ajutor?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Caută în setări"</string>
 </resources>
diff --git a/res/values-ru/arrays.xml b/res/values-ru/arrays.xml
index cdfec2c..8dd023f 100644
--- a/res/values-ru/arrays.xml
+++ b/res/values-ru/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Сон"</item>
-    <item msgid="4152450357280759894">"Вождение"</item>
-    <item msgid="7096549258219399423">"Погружение"</item>
-    <item msgid="2760716776980432977">"Управление"</item>
-    <item msgid="601734478369121764">"Звезда"</item>
-    <item msgid="6243809315432780521">"Календарь"</item>
-    <item msgid="4913577903148415331">"Время"</item>
-    <item msgid="3653377604690057780">"Театр"</item>
-    <item msgid="3843711267408385410">"Цветок"</item>
+    <item msgid="1216815120972438676">"Портфель"</item>
+    <item msgid="184985872234062767">"Здание в классическом стиле"</item>
+    <item msgid="9189550412466785530">"Многоквартирный дом"</item>
+    <item msgid="2142527562511049422">"Выноска"</item>
+    <item msgid="2548100558260478605">"Группа людей"</item>
+    <item msgid="2270003903304578284">"Лампочка"</item>
+    <item msgid="4793496619091161864">"Календарь"</item>
+    <item msgid="5673625795644364100">"Не беспокоить"</item>
+    <item msgid="1423820834865831361">"Человек бежит"</item>
+    <item msgid="2037298830718732608">"Гольф"</item>
+    <item msgid="2197835014443491074">"Гантеля для спортзала"</item>
+    <item msgid="2730180105015616518">"Плавание"</item>
+    <item msgid="2666922823253345958">"Человек занимается пешим туризмом"</item>
+    <item msgid="8234880356472211396">"Человек бросает мяч"</item>
+    <item msgid="4642980625253001443">"Человек наносит удар"</item>
+    <item msgid="4324795269518833500">"Игровой контроллер"</item>
+    <item msgid="7789966425125441125">"Палитра художника"</item>
+    <item msgid="663512680597461570">"Снежинка"</item>
+    <item msgid="7952183800501346803">"Пляжный зонт"</item>
+    <item msgid="799139025758265891">"Инструменты в мастерской"</item>
+    <item msgid="1330084588359129896">"Палатка"</item>
+    <item msgid="3861584909935022342">"Кинопленка"</item>
+    <item msgid="5827426100157335512">"Книга"</item>
+    <item msgid="8585828346253128384">"Цветок лотоса"</item>
+    <item msgid="8788370542815300188">"Разум человека"</item>
+    <item msgid="7287354964767553293">"Наушники"</item>
+    <item msgid="2530059623783800987">"Телевизор"</item>
+    <item msgid="5307182323469376758">"Поезд"</item>
+    <item msgid="4903790544026923026">"Автомобиль"</item>
+    <item msgid="5010405583912314582">"Вилка и нож"</item>
+    <item msgid="8939998598599064900">"Корзина"</item>
+    <item msgid="3379605903308731893">"Ребенок"</item>
+    <item msgid="7808668968550293112">"Лапа животного"</item>
+    <item msgid="1000692647524056504">"Звездочка"</item>
+    <item msgid="8270261073421676502">"Два человека"</item>
+    <item msgid="5767782819651505460">"Звездочка"</item>
+    <item msgid="4368451291862729334">"Сердце"</item>
+    <item msgid="2613199102208419986">"Дом"</item>
+    <item msgid="3022279986430275040">"Полумесяц"</item>
+    <item msgid="5421089790869483206">"Часы"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 5759b6f..7bea581 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Приостановлено"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Неизвестно"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Просмотр"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR-код"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Уменьшить"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Увеличить"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"Всегда"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Настройки слуховых аппаратов"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Быстрый запуск, совместимость со слуховыми аппаратами"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Набор настроек"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Нет наборов настроек от сурдолога"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Не удалось обновить набор настроек."</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Аудиовыход"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"О выводе звука"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Для этого приложения не поддерживается выбор языка в настройках."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Выбранный язык может быть недоступен в приложении. Некоторые приложения могут не поддерживать этот параметр."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Вы можете выбрать язык для каждого приложения."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Первый поддерживаемый язык в списке предпочтительных используется как язык системы, приложений и сайтов."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Первый поддерживаемый язык в списке предпочтительных используется как язык устройства, приложений и сайтов.\n\nМногие приложения также будут использовать регион вашего предпочтительного языка для определения формата дат, чисел и единиц измерения. Чтобы сменить регион, добавьте язык и выберите предпочитаемый регион."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Выбрать язык для отдельных приложений можно в их настройках."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Подробнее о языках приложений…"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Сменить язык системы на %s?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Откл."</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Включено. Доступ к данным о местоположении есть у # приложения.}one{Включено. Доступ к данным о местоположении есть у # приложения.}few{Включено. Доступ к данным о местоположении есть у # приложений.}many{Включено. Доступ к данным о местоположении есть у # приложений.}other{Включено. Доступ к данным о местоположении есть у # приложения.}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Загрузка…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Приложения с доступом к устройствам поблизости могут определять относительное местоположение подключенных устройств."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Приложения, у которых есть разрешение \"Устройства поблизости\", могут определять относительное местоположение подключенных устройств."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Доступ к данным о местоположении для приложений и сервисов отключен. Если вы позвоните по номеру экстренной службы или отправите на него сообщение, данные о местоположении вашего устройства могут быть переданы спасателям."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Подробнее о настройках местоположения…"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Чтобы внести изменения, выберите \"Настройки ChromeOS &gt; Конфиденциальность и безопасность &gt; Настройки конфиденциальности &gt; Доступ к геоданным\""</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Модель лица и часы \"<xliff:g id="WATCH">%s</xliff:g>\" добавлены"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Модель лица, отпечаток пальца и часы \"<xliff:g id="WATCH">%s</xliff:g>\" добавлены"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Модель лица, отпечатки пальцев и часы \"<xliff:g id="WATCH">%s</xliff:g>\" добавлены"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Проверка личности включена. Для нее требуются биометрические данные."</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Разблокировка по Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Часы добавлены"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Настройте часы"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Подробнее о разблокировке с помощью часов…"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Добавить часы"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Удалить часы"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Отпечаток пальца и фейсконтроль"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Фейсконтроль и отпечаток пальца"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Фейсконтроль и отпечаток пальца для работы"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Требуется настройка"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Добавлено лицо и отпечатки пальцев"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Создание личного пространства…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Не удалось создать частное пространство"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Повторить попытку"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Выйти"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Частное пространство недоступно\nВозможные причины"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Возможные причины"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Задать отдельный способ блокировки личного пространства?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Вы можете установить способ блокировки отдельно для личного пространства или использовать тот, что настроен для экрана."</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Использовать способ, настроенный для экрана"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Функция Bluetooth позволяет устанавливать подключение к устройствам Bluetooth поблизости.\n\nОбратите внимание, что для улучшения работы устройства, например повышения точности геолокации, приложения и сервисы могут искать устройства поблизости, даже если вы отключили Bluetooth. Чтобы запретить им это, отключите поиск устройств Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Когда работает Bluetooth, вы можете подключаться к другим устройствам Bluetooth поблизости. Эта технология используется в таких функциях и сервисах, как \"Быстрая отправка\" и \"Найти устройство\".\n\nДаже если функция Bluetooth выключена, приложения и сервисы могут в любой момент искать устройства поблизости. Например, это может понадобиться, чтобы улучшать работу функций и сервисов, использующих данные о местоположении. Вы можете изменить настройки поиска Bluetooth-устройств."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Изменить"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"Устройство \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\" не подключено"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"В целях безопасности удалите это устройство, а затем подключите его ещё раз."</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"Удалить устройство"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"Отмена"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Об устройстве"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Настройки клавиатуры"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Дополнительные настройки"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Обновление встроенного ПО, сведения и не только"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Помощь и советы"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Адрес Bluetooth этого устройства: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Адрес Bluetooth этого устройства: \n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Удалить устройство?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Улучш. качества звука (экспериментальн.)"</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"ОК"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Отключение приложения"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Дополнительные настройки"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Максимальное количество подключенных Bluetooth-аудиоустройств"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Укажите максимальное количество подключенных Bluetooth-аудиоустройств"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Подробный журнал отладки NFC"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Перезапустить устройство?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Подробный журнал NFC ведется только в целях разработки. Дополнительные данные NFC будут включены в отчеты об ошибках и могут содержать конфиденциальную информацию. Чтобы изменить этот параметр, перезапустите устройство."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Перезапустить"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Включено"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Отключено"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Внешний дисплей"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Использование внешнего дисплея"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Разрешение экрана"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Внешний дисплей отключен"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Положение экрана"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Стандартное"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"При изменении положения или разрешения экрана запущенные приложения могут быть закрыты"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Чтобы дублировать экран, к устройству должен быть подключен внешний дисплей"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Ещё"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Трансляция"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"дублирование"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Включить"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Адаптивная регулировка"</string>
     <string name="brightness" msgid="6216871641021779698">"Яркость"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Адаптивная яркость"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Об адаптивной яркости"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Яркость экрана будет настраиваться автоматически в зависимости от окружающих условий и ваших действий. Дополнительно ее можно регулировать вручную, чтобы система учитывала ваши предпочтения."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Включено"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Отключено"</string>
@@ -1311,8 +1340,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>\". После переключения на SIM-карту \"<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="8850185380445309835">"Изменить основную SIM-карту?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> – единственная SIM-карта в устройстве. Использовать ее для звонков, отправки SMS-сообщений и передачи мобильных данных?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> теперь основная SIM-карта."</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Подключаться к доступной сети?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Разрешите устройству автоматически подключаться к мобильному интернету оператора \"<xliff:g id="BACKUP_CARRIER">%1$s</xliff:g>\", когда основная сеть недоступна."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Звонки, сообщения и данные сетевого трафика могут быть доступны вашей организации."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Параметры"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Специальные возможности"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Физическая клавиатура"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Использовать экранную клавиатуру"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Не скрывать экранную клавиатуру, когда включена физическая"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Контроль повторного нажатия"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Повторные нажатия одной клавиши в течение <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> мс игнорируются"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Медленные клавиши"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Нажатие клавиши регистрируется по истечении заданного времени: <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> мс"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Залипание клавиш"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Вместо того чтобы удерживать вместе все клавиши из сочетания, нажимайте их по одной"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Клавиши управления мышью"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Управлять мышью с помощью физической клавиатуры"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Быстрые клавиши"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Показывать список сочетаний клавиш"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Клавиатуры и инструменты рабочего профиля"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Настройте свои жесты для навигации на сенсорной панели"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Прокрутка в обратную сторону"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"При прокручивании вниз контент перемещается вверх"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Правый нижний угол сенсорной панели"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Показывать варианты при нажатии в правом нижнем углу"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Нажатие на правый нижний угол"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Доп. опции: нажмите на правый нижний угол сенсорной панели"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Скорость указателя"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Стиль заливки указателя"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Изменить стиль заливки на черный"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Изменить стиль заливки на желтый"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Изменить стиль заливки на розовый"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Изменить стиль заливки на синий"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Стиль указателя"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Белый"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Черный"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Нет"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Узнать о жестах на сенсорной панели"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"сенсорная панель, мышь, указатель мыши, прокрутить, провести по экрану, нажать правую кнопку мыши, нажать"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"нажать правую кнопку мыши, нажать"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Сбросить"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Выбор клавиши-модификатора"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Выберите новую клавишу для <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Специальные возможности для физической клавиатуры"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Залипание клавиш, контроль повторного нажатия, клавиши управления мышью"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Раскладка \"<xliff:g id="IME_LABEL">%s</xliff:g>\""</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"По умолчанию"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Автоматически: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Выбрано пользователем: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Речь"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Скорость указателя"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Размер указателя мыши"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Уменьшить указатель мыши"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Увеличить указатель мыши"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Игровые контроллеры"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Перенаправление виброотклика"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Активировать виброотклик на подключенном игровом контроллере"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Продолжить"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Отмена"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Настройки увеличения"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Перемещение одним пальцем"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Проведите пальцем, чтобы переместить лупу"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Для перемещения по экрану проведите пальцем."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Для перемещения зоны увеличения используется один палец"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Для перемещения зоны увеличения используются два пальца"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Недоступно при увеличении только части экрана"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Чтобы увеличить масштаб, нажмите кнопку"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Быстрое увеличение масштаба"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Чтобы увеличить масштаб:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Выполните действие быстрого запуска для перехода в режим увеличения.&lt;br/&gt; {1,number,integer}. Коснитесь экрана.&lt;br/&gt; {2,number,integer}. Если нужно, перетащите область увеличения двумя пальцами.&lt;br/&gt; {3,number,integer}. Чтобы скорректировать масштаб, сведите или разведите два пальца.&lt;br/&gt; {4,number,integer}. Чтобы выйти из режима увеличения, выполните действие быстрого запуска.&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Чтобы временно увеличить масштаб:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Убедитесь, что выбран режим увеличения \"Весь экран\".&lt;br/&gt; {1,number,integer}. Выполните действие быстрого запуска для перехода в режим увеличения.&lt;br/&gt; {2,number,integer}. Коснитесь любой области экрана и удерживайте палец.&lt;br/&gt; {3,number,integer}. Если нужно, перетащите область увеличения.&lt;br/&gt; {4,number,integer}. Чтобы вернуть исходный масштаб, уберите палец с экрана."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Чтобы увеличить масштаб:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Выполните действие быстрого запуска для перехода в режим увеличения.&lt;br/&gt; {1,number,integer}. Коснитесь экрана.&lt;br/&gt; {2,number,integer}. Перетащите область увеличения двумя пальцами.&lt;br/&gt; {3,number,integer}. Чтобы скорректировать масштаб, сведите два пальца вместе.&lt;br/&gt; {4,number,integer}. Чтобы выйти из режима увеличения, выполните действие быстрого запуска.&lt;br/&gt;&lt;br/&gt; Вы также можете временно увеличивать масштаб и выполнять другие команды."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Чтобы увеличить масштаб:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Выполните действие быстрого запуска для перехода в режим увеличения.&lt;br/&gt; {1,number,integer}. Коснитесь экрана.&lt;br/&gt; {2,number,integer}. Перетащите область увеличения одним или двумя пальцами.&lt;br/&gt; {3,number,integer}. Чтобы скорректировать масштаб, сведите два пальца вместе.&lt;br/&gt; {4,number,integer}. Чтобы выйти из режима увеличения, выполните действие быстрого запуска.&lt;br/&gt;&lt;br/&gt; Вы также можете временно увеличивать масштаб и выполнять другие команды."</string>
     <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Благодаря функции увеличения вы сможете приближать изображение на экране.\n\n"<b>"Если вы хотите увеличить изображение"</b>", включите функцию и нажмите на экран в любом месте.\n"<ul><li>"Для прокрутки проведите двумя пальцами."</li>\n<li>"Чтобы изменить масштаб, сведите два пальца вместе или разведите их."</li></ul>\n\n<b>"Если нужно временно увеличить масштаб"</b>", включите функцию увеличения, коснитесь экрана и удерживайте.\n"<ul><li>"Для обзора проведите по экрану."</li>\n<li>"Чтобы уменьшить масштаб, отпустите палец."</li></ul>\n\n"Эти жесты не работают на клавиатуре и панели навигации."</string>
     <string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Страница <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> из <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Кнопка быстрого доступа к специальным возможностям"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Нажмите плавающую кнопку"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Жест специальных возможностей"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Нажмите кнопку специальных возможностей <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> внизу экрана. Чтобы переключиться между функциями, нажмите и удерживайте эту кнопку."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Проведите двумя пальцами вверх от нижнего края экрана.\n\nДля переключения между функциями проведите двумя пальцами по экрану вверх и удерживайте их."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Проведите вверх от нижнего края экрана тремя пальцами.\n\nДля переключения между функциями проведите по экрану вверх тремя пальцами и задержите их."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Проведите вверх от нижнего края экрана. Чтобы переключиться между функциями, проведите снизу вверх и задержите палец на экране.}one{Проведите вверх от нижнего края экрана # пальцем. Чтобы переключиться между функциями, проведите снизу вверх # пальцем и задержите их на экране.}few{Проведите вверх от нижнего края экрана # пальцами. Чтобы переключиться между функциями, проведите снизу вверх # пальцами и задержите их на экране.}many{Проведите вверх от нижнего края экрана # пальцами. Чтобы переключиться между функциями, проведите снизу вверх # пальцами и задержите их на экране.}other{Проведите вверх от нижнего края экрана # пальца. Чтобы переключиться между функциями, проведите снизу вверх # пальца и задержите их на экране.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Другие настройки"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Подробнее о сервисе \"<xliff:g id="SERVICE">%1$s</xliff:g>\""</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Кнопки регулировки громкости"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"кнопки регулировки громкости"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Нажмите и удерживайте обе кнопки регулировки громкости"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Двойное нажатие двумя пальцами"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Двойное нажатие %1$d пальцами"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Быстро нажмите на экран дважды %1$d пальцами"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Тройное нажатие"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Быстро нажмите на экран %1$d раза. Это может замедлить работу устройства."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"двойное нажатие %1$d пальцами"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Быстро нажмите на экран двумя пальцами {0,number,integer} раза"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Тройное нажатие на экран"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"тройное нажатие"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Быстро коснитесь экрана {0,number,integer} раза (этот жест может замедлить работу устройства)."</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_global_gesture_preference_title" msgid="8866765674372344850">"Кнопки громкости для быстр. доступа"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Настройки быстрого запуска"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Быстрый запуск при заблокированном экране"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"Кнопки громк. для быстр. доступа на заблок. экране"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Включать специальную функцию с заблокированного экрана, нажимая и удерживая обе кнопки регулировки громкости в течение нескольких секунд"</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Кнопка специальных возможностей"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Кнопка спец. возможностей и жесты"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Сервис работает некорректно."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Быстрый доступ к специальным возможностям"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Показывать в быстрых настройках"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Красный и зеленый"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Красный и зеленый"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Красный и зеленый, слабое восприятие зеленого"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Красный и зеленый, слабое восприятие красного"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Синий и желтый"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Оттенки серого"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Интенсивность"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Дейтераномалия (нарушено восприятие зеленого)"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Протаномалия (нарушено восприятие красного)"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Недоступно, если выбран режим оттенков серого или отключена коррекция цвета."</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Доп. уменьшение яркости"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Дополнительно уменьшить яркость экрана"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Голубой"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Желтый"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Пурпурный"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Разрешить сервису \"<xliff:g id="SERVICE">%1$s</xliff:g>\" контролировать ваше устройство?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> будет:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Невозможно принять ваше согласие, поскольку запрос скрыт другим приложением."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> запрашивает полный доступ к устройству. Сервис может считывать данные с экрана и действовать от имени пользователей, которым требуются специальные возможности. Этот уровень доступа не подходит для большинства приложений."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Полный контроль нужен приложениям для реализации специальных возможностей и не нужен большинству остальных."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Просмотр и контроль экрана"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Сервис может читать весь контент на экране и отображать контент поверх других приложений"</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Просмотр и выполнение действий"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Сервис может отслеживать ваше взаимодействие с приложениями и датчиками устройства и давать приложениям команды от вашего имени"</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Разрешить"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Отклонить"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Отключить"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Включено/<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> и <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Пространственное звучание можно также включить для устройств Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Настройки подключенных устройств"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Пространственный звук"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Отключено"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Отключено"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Отключено"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Нет настроенных расписаний}=1{Настроено 1 расписание}one{Настроено # расписание}few{Настроено # расписания}many{Настроено # расписаний}other{Настроено # расписания}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Не беспокоить"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Режимы приоритета"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Добавить режим"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Режимы"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Настройте специальные режимы для сна, работы, вождения и не только, чтобы меньше отвлекаться и спокойно отдыхать."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Создать свой режим"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Получать уведомления только от важных людей и приложений."</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Создать расписание"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Основа для расписания"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"День и время"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"В будние дни с 09:00 до 17:00\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Мероприятия из календаря"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{Включен режим \"{mode_1}\"}=2{Включены режимы \"{mode_1}\" и \"{mode_2}\"}=3{Включены режимы \"{mode_1}\", \"{mode_2}\" и \"{mode_3}\"}one{Включены режимы \"{mode_1}\", \"{mode_2}\" и ещё #}few{Включены режимы \"{mode_1}\", \"{mode_2}\" и ещё #}many{Включены режимы \"{mode_1}\", \"{mode_2}\" и ещё #}other{Включены режимы \"{mode_1}\", \"{mode_2}\" и ещё #}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 режим может включаться автоматически}one{# режим может включаться автоматически}few{# режима могут включаться автоматически}many{# режимов могут включаться автоматически}other{# режима могут включаться автоматически}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ВКЛ."</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Не задано"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Отключено"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Создайте режим"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Свой вариант"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Включить"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Отключить"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Режим не найден"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Отключение уведомлений"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Заблокировать отвлекающие факторы"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Настройка: <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Включите режим \"Не беспокоить\""</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Режим \"Не беспокоить\" не действует для будильников и звука в медиафайлах"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Расписания"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Удалить расписания"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Удалить"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Переименовать"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Удалить"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Удалить режим \"<xliff:g id="MODE">%1$s</xliff:g>\"?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Изменить"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Расписания"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Расписание"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Включать автоматически"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Добавить в календарь"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Использовать календарь"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Расписание"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Создайте расписание"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Когда включать автоматически"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Расписание на основе календаря"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Включать во время мероприятий"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Когда ответ на приглашение"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Расписание по времени"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Расписание"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ч. <xliff:g id="MINUTES">%2$d</xliff:g> мин."</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Расписание"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Разрешить звуки"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Разрешенные уведомления"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Дополнительные действия"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Фильтры уведомлений"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Дополнительные настройки"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Выключено}=1{Выключено/Может автоматически включиться 1 режим}one{Выключено/Может автоматически включиться # режим}few{Выключено/Может автоматически включиться # режима}many{Выключено/Могут автоматически включиться # режимов}other{Выключено/Могут автоматически включиться # режима}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Настройки экрана"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Параметры отображения"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Использовать оттенки серого"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"использовать темную тему"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Показывать светлый текст на темном фоне в ОС и приложениях. Такой режим значительно экономит заряд батареи на некоторых устройствах и может быть более комфортным для глаз."</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Нет изменений в настройках экрана}=1{{effect_1}}=2{{effect_1} и {effect_2}}=3{{effect_1}, {effect_2} и {effect_3}}one{{effect_1}, {effect_2} и ещё # изменение}few{{effect_1}, {effect_2} и ещё # изменения}many{{effect_1}, {effect_2} и ещё # изменений}other{{effect_1}, {effect_2} и ещё # изменения}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Разрешить все уведомления"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Не действует для сообщений и звонков, уведомлений от приложений и других звуков"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Настройки показа фильтруемых уведомлений"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"В режиме \"Не беспокоить\""</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Отключить звук"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"Открыть уведомление"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Разрешить откладывать уведомления"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Значок уведомления на значке приложения"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Пакеты уведомлений"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Всплывающие чаты"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Всплывающие чаты"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Всплывающий чат"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Приложение может отвечать на звонки и сообщения, а также временно отключать или закрывать уведомления и нажимать кнопки в них."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Изменять настройки"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Приложение может включать и отключать режим \"Не беспокоить\", а также менять его настройки."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Может активировать режимы, управлять ими и изменять их настройки"</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_modes_warning_summary" msgid="7528432011433844158">"Если вы отключите доступ к уведомлениям для приложения \"<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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"В реальном времени"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"В этом приложении не поддерживаются расширенные настройки."</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Дополнительные настройки"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Дополнительные настройки доступны в приложении"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Адаптивные уведомления"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Использовать адаптивные уведомления"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Если вам будет поступать много уведомлений за короткое время, ваш телефон на две минуты понизит уровень громкости и сократит количество всплывающих уведомлений. Это не коснется звонков, будильников и важных разговоров. Чтобы увидеть все уведомления, достаточно будет провести вниз от верхнего края экрана."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Снижение громкости уведомлений"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Использовать снижение громкости уведомлений"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Если вам будет поступать много уведомлений за короткое время, то устройство на две минуты понизит уровень громкости и сократит количество оповещений. Это не распространяется на звонки, будильники и важные разговоры. \n\nЧтобы увидеть уведомления, полученные в этом режиме, проведите пальцем вниз от верхнего края экрана."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Применить к рабочим профилям"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Применить для приложений в рабочем профиле"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Вспомогательные VR-сервисы"</string>
@@ -3650,6 +3709,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Доступ к режимам"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Разрешить доступ к режимам"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Установленные приложения не запрашивали доступ к режимам."</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Уведомления от этого приложения отключены"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Вы отключили уведомления этой категории."</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Вы отключили эту группу уведомлений"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Категории"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Другие"</string>
     <string name="no_channels" msgid="4716199078612071915">"Это приложение не отправляло уведомлений."</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Показать неиспользуемые категории"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Доп. настройки в приложении"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Показать неиспользуемые категории"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Скрыть неиспользуемые категории"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g>–<xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Разговоры"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Все разговоры"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"все разговоры"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Важные разговоры"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"важные разговоры"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Нет"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Приложения, для которых не действует режим \"Не беспокоить\""</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Выбранные приложения"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Нет"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Все"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Режим \"Не беспокоить\" действует для всех приложений}=1{Режим \"Не беспокоить\" не действует для приложения \"{app_1}\"}=2{Режим \"Не беспокоить\" не действует для приложений \"{app_1}\" и \"{app_2}\"}=3{Режим \"Не беспокоить\" не действует для приложений \"{app_1}\", \"{app_2}\" и \"{app_3}\"}one{Режим \"Не беспокоить\" не действует для приложений \"{app_1}\", \"{app_2}\" и ещё #}few{Режим \"Не беспокоить\" не действует для приложений \"{app_1}\", \"{app_2}\" и ещё #}many{Режим \"Не беспокоить\" не действует для приложений \"{app_1}\", \"{app_2}\" и ещё #}other{Режим \"Не беспокоить\" не действует для приложений \"{app_1}\", \"{app_2}\" и ещё #}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (работа)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Подождите…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Разрешить приложениям переопределять \"Не беспокоить\""</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Приложения, для которых не действует режим \"Не беспокоить\""</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Другие приложения"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Все звуки запрещены"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Режим \"Не беспокоить\" действует для всех звонков и сообщений"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Режим \"Не беспокоить\" не действует для звонков и сообщений от некоторых пользователей"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Функция повторного вызова может прерываться"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Режим \"Не беспокоить\" не действует для звонков и сообщений от любых пользователей"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Повторные вызовы"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Повторные вызовы"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Активировать режим \"Только будильник\" на один час до {time}}one{Активировать режим \"Только будильник\" на # час до {time}}few{Активировать режим \"Только будильник\" на # часа до {time}}many{Активировать режим \"Только будильник\" на # часов до {time}}other{Активировать режим \"Только будильник\" на # часа до {time}}}"</string>
     <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_action_change_name" msgid="766639614789907016">"Переименовать"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Изменить значок"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Изменение значка"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Изменение режима"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Создайте режим"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Пользовательский режим"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Название режима"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Мероприятия из календаря"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Режим сна"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Во время вождения"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Настройки приложения"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Данные и настройки приложения \"<xliff:g id="APP_NAME">%1$s</xliff:g>\""</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Под управлением приложения \"<xliff:g id="APP_NAME">%1$s</xliff:g>\""</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Отключить режим \"<xliff:g id="MODE_NAME">%1$s</xliff:g>\"?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Если вы это сделаете, режим никогда не включится."</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Отключить"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Включить режим \"<xliff:g id="MODE_NAME">%1$s</xliff:g>\"?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Режим может включаться автоматически в зависимости от настроек."</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Включить"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Настройте режим, который работает по расписанию"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Настройте синхронизацию режима с мероприятиями из календаря и ответами на приглашения"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Создайте успокаивающую программу для подготовки ко сну. Настройте будильники, понижение яркости экрана и блокировку уведомлений."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Не отвлекайтесь на устройство, чтобы полностью сфокусироваться на дороге"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Заблокируйте то, что отвлекает, чтобы сфокусироваться на важном"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Добейтесь тишины, заблокировав все отвлекающие факторы"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Персонализируйте устройство и его настройки для разных пользователей"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Выберите важные контакты и приложения, чтобы не отвлекаться на остальное"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Настройте режим, который работает по расписанию"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Настройте работу устройства с учетом мероприятий в календаре"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Просыпайтесь, чувствуя себя на все сто"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Будьте максимально внимательны за рулем"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Сосредоточьтесь и войдите в состояние потока"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Соблюдайте тишину, когда этого требует этикет"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Передайте управление устройством в надежные руки"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Управляйте своим вниманием"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Уведомление"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Закрыть"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Отправить отзыв об устройстве"</string>
@@ -4006,6 +4102,10 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Разрешить приложению \"<xliff:g id="APP">%1$s</xliff:g>\" доступ к режимам?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Приложение сможет включать и отключать функцию \"Не беспокоить\", активировать режимы, управлять ими, а также изменять связанные с ними настройки."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"Отменить доступ приложения \"<xliff:g id="APP">%1$s</xliff:g>\" к режимам?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Все режимы, созданные этим приложением, будут удалены."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Не экономить"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Экономить"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Батарея может разрядиться быстрее. Ограничение на использование батареи в фоновом режиме будет снято."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Зарядный чехол"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Батарея"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Панель настроек"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"Принудительное включение режима рабочего стола"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Принудительное включение экспериментального режима рабочего стола на дополнительных экранах"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"Разрешить окна произвольной формы"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Разрешить окна произвольной формы на доп. экране"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Включить неизменяемый масштаб в многооконном режиме"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Открывать приложения с неизменяемым масштабом в многооконном режиме"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Переопределение включения тёмной темы"</string>
@@ -4969,7 +5069,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"Мобильный интернет"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Чтобы улучшать работу устройства (например, для более точного определения вашего местоположения), приложения и сервисы могут искать беспроводные сети в любое время, даже если вы отключили Wi‑Fi. Запретить это можно в настройках поиска сетей Wi-Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Изменить настройки"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Подключено"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Временное подключение"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Временно используется сеть оператора \"<xliff:g id="SUBNAME">%1$s</xliff:g>\""</string>
@@ -5001,7 +5100,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Закрепление приложений"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Режим разработчика"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Использовать службу печати"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Несколько пользователей"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Разрешить смену пользователя"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"разрешить, несколько, пользователь, разрешение, много"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"несколько, пользователи, профили, люди, аккаунты, переключиться, много"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Использовать отладку по Wi-Fi"</string>
@@ -5058,52 +5157,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"Устройство \"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>\" хочет подключиться к этому телефону.\n\nЭто ваше первое подключение к устройству \"<xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>\"."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Не подключаться"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Подключиться"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Настройки TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Включено"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Отключено"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Вернуть настройки по умолчанию"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Установлены настройки по умолчанию."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Максимальный баланс при полной зарядке"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Баланс"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Ограничение потребления"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Начальное ограничение потребления"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Минимальное ограничение потребления"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Максимальное ограничение потребления"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Модификаторы"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Действия (затраты на выполнение)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Действия (базовые затраты)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Бонусы за одно событие"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Число бонусов за каждую секунду события"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Максимальное число бонусов в день"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Установить приложение"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Максимальная активность"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Уведомление просмотрено"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Уведомление просмотрено &lt; 15 мин. назад"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Взаимодействие с уведомлением"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Взаимодействие с виджетом"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Другое взаимодействие с пользователем"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Запускается задание (макс. приоритет)"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Выполняется задание (макс. приоритет)"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Запускается задание (высокий приоритет)"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Выполняется задание (высокий приоритет)"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Запускается задание (приор. по умолч.)"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Выполняется задание (приор. по умолч.)"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Запускается задание (низкий приоритет)"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Выполняется задание (низкий приоритет)"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Запускается задание (мин. приоритет)"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Выполняется задание (мин. приоритет)"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Штраф за превышение времени ожидания"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Минимальный баланс при полном заряде (для исключенных приложений)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Минимальный баланс при полном заряде (для консольных системных приложений)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Минимальный баланс при полном заряде (для остальных приложений)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Пополнение минимального баланса при полном заряде (для обновления приложений)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Зарядка"</item>
-    <item msgid="658627268149681677">"Спящий режим"</item>
-    <item msgid="1599558140284643834">"Режим энергосбережения"</item>
-    <item msgid="588427840913221601">"Состояние процесса"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Подтвердить"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Посмотреть"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Выберите заставку"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Показывать дополнительную информацию"</string>
@@ -5115,8 +5168,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Выберите, что будет показано на экране, когда планшет подключен к док-станции. Устройство может потреблять больше энергии, если включена заставка."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Настроить"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Настроить заставку \"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>\""</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Чтобы включить поддержку создания окон произвольной формы, требуется перезагрузка."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Чтобы принудительно включить режим рабочего стола на дополнительных экранах, требуется перезагрузка."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Чтобы включить поддержку создания окон произвольной формы, требуется перезагрузка."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Чтобы обновить доступность функции создания окон произвольной формы, требуется перезагрузка."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Чтобы разрешить создание окон произвольной формы на дополнительных экранах, требуется перезагрузка."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Перезагрузить сейчас"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Перезагрузить позже"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Пространственное звучание"</string>
@@ -5213,7 +5267,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Розовый"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Пурпурный"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Фиолетовый"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Готово"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Сохранить"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Отмена"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Стандартная"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Средняя"</string>
@@ -5234,6 +5288,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Включено"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Отключено"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Включено"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Аудио: %1$d %% слева, %2$d %% справа"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Аудио: %1$d %% справа, %2$d %% слева"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Название устройства доступно установленным приложениям. Его также могут видеть другие пользователи, когда вы подключаетесь к устройствам Bluetooth и сетям Wi-Fi или настраиваете точку доступа Wi-Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Грамматический род"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Выберите грамматический род"</string>
@@ -5302,6 +5358,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Передача аудио остановлена"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Подключите совместимое устройство"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Чтобы передавать аудио, подключите к телефону наушники с поддержкой LE Audio."</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Переключиться на устройство \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\""</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Подключение к потоку LE Audio"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Аудиопотоки рядом"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Аудиопотоки"</string>
@@ -5345,4 +5402,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Подключиться к потоку"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Отсканируйте QR-код аудиопотока, чтобы воспроизвести его на устройстве \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\""</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Нельзя изменить пароль во время отправки аудио. Сначала отключите ее."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Сканер QR-кодов"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Нужна помощь?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Поиск по настройкам"</string>
 </resources>
diff --git a/res/values-si/arrays.xml b/res/values-si/arrays.xml
index 52e499a..907185d 100644
--- a/res/values-si/arrays.xml
+++ b/res/values-si/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"නින්දට යන වේලාව"</item>
-    <item msgid="4152450357280759894">"රිය ධාවනය"</item>
-    <item msgid="7096549258219399423">"ගිලෙන සුළු"</item>
-    <item msgid="2760716776980432977">"කළමනාකරණය කළ"</item>
-    <item msgid="601734478369121764">"තරුව"</item>
-    <item msgid="6243809315432780521">"දින දර්ශනය"</item>
-    <item msgid="4913577903148415331">"වේලාව"</item>
-    <item msgid="3653377604690057780">"රඟහල"</item>
-    <item msgid="3843711267408385410">"මල"</item>
+    <item msgid="1216815120972438676">"ලිපි කොපුව"</item>
+    <item msgid="184985872234062767">"සම්භාව්‍ය ගොඩනැඟිල්ල"</item>
+    <item msgid="9189550412466785530">"බද්ධනිවාස ගොඩනැඟිල්ල"</item>
+    <item msgid="2142527562511049422">"කථන බුබුළ"</item>
+    <item msgid="2548100558260478605">"පුද්ගල කණ්ඩායම"</item>
+    <item msgid="2270003903304578284">"විදුලි බුබුළ"</item>
+    <item msgid="4793496619091161864">"දින දර්ශනය"</item>
+    <item msgid="5673625795644364100">"බාධා නොකිරීම"</item>
+    <item msgid="1423820834865831361">"දුවන පුද්ගලයා"</item>
+    <item msgid="2037298830718732608">"ගොල්ෆ්"</item>
+    <item msgid="2197835014443491074">"ජිම් ඩම්බල්"</item>
+    <item msgid="2730180105015616518">"පිහිනීම"</item>
+    <item msgid="2666922823253345958">"කඳු නගින පුද්ගලයා"</item>
+    <item msgid="8234880356472211396">"පන්දුව විසි කරන පුද්ගලයා"</item>
+    <item msgid="4642980625253001443">"පයින් ගසන පුද්ගලයා"</item>
+    <item msgid="4324795269518833500">"ක්‍රීඩා පාලකය"</item>
+    <item msgid="7789966425125441125">"කලාකරුවන්ගේ වර්ණ තැටිය"</item>
+    <item msgid="663512680597461570">"හිම මල්"</item>
+    <item msgid="7952183800501346803">"වෙරළ කුඩය"</item>
+    <item msgid="799139025758265891">"වැඩමුළු මෙවලම්"</item>
+    <item msgid="1330084588359129896">"කූඩාරම"</item>
+    <item msgid="3861584909935022342">"සිනමා පටය"</item>
+    <item msgid="5827426100157335512">"පොත"</item>
+    <item msgid="8585828346253128384">"නෙළුම් මල"</item>
+    <item msgid="8788370542815300188">"පුද්ගලයාගේ මනස"</item>
+    <item msgid="7287354964767553293">"හෙඩ්ෆෝන්"</item>
+    <item msgid="2530059623783800987">"රූපවාහිනිය"</item>
+    <item msgid="5307182323469376758">"දුම්රිය"</item>
+    <item msgid="4903790544026923026">"මෝටර් රථය"</item>
+    <item msgid="5010405583912314582">"ගෑරුප්පුව සහ පිහිය"</item>
+    <item msgid="8939998598599064900">"සාප්පු කරත්තය"</item>
+    <item msgid="3379605903308731893">"ළමයා"</item>
+    <item msgid="7808668968550293112">"සත්ව පාදය"</item>
+    <item msgid="1000692647524056504">"තරු ලාංඡනය"</item>
+    <item msgid="8270261073421676502">"පුද්ගලයින් දෙදෙනෙක්"</item>
+    <item msgid="5767782819651505460">"තරුව"</item>
+    <item msgid="4368451291862729334">"හදවත"</item>
+    <item msgid="2613199102208419986">"මුල් පිටුව"</item>
+    <item msgid="3022279986430275040">"අර්ධ සඳ"</item>
+    <item msgid="5421089790869483206">"ඔරලෝසුව"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 619d9d8..bcc6fa8 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"තහනම් කරන ලදී"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"නොදනී"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"පෙරදසුන"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR කේතය"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"වඩා කුඩා කරන්න"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"වඩා විශාල කරන්න"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"සැම විට"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"ශ්‍රවණ උපකරණ සැකසීම්"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"කෙටිමඟ, ශ්‍රවණාධාරක අනුකූලත්වය"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"පෙරසැකසුම"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"ඔබේ ශ්‍රව්‍ය විද්‍යාඥයා විසින් වැඩසටහන්ගත කළ පෙර සැකසීම් නොමැත"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"පෙර සැකසීම යාවත්කාලීන කළ නොහැකි විය"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"ශබ්ද ප්‍රතිදානය"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ශ්‍රව්‍ය ප්‍රතිදානය පිළිබඳව"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"මෙම යෙදුම සඳහා භාෂා තේරීම සැකසීම් වෙතින් ලබා ගත නොහැකිය."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"යෙදුමේ තිබෙන භාෂාවලට වඩා භාෂාව වෙනස් විය හැකිය. සමහර යෙදුම් මෙම සැකසීමට සහාය නොදක්වයි."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"එක් එක් යෙදුම සඳහා භාෂාව සකසන්න."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"ඔබේ පද්ධතිය, යෙදුම්, සහ වෙබ් අඩවි ඔබ කැමති භාෂාවලින් පළමුව සහාය දක්වන භාෂාව භාවිතා කරයි."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"ඔබේ උපාංගය, යෙදුම් සහ වෙබ් අඩවි ඔබ කැමති භාෂා ලැයිස්තුවෙන් පළමු සහය දක්වන භාෂාව භාවිතා කරයි.\n\nබොහෝ යෙදුම් දින, අංක සහ ඒකක හැඩතල ගැන්වීමට ඔබ කැමති භාෂාවෙන් කලාපය ද භාවිත කරනු ඇත. ඔබේ කලාපය වෙනස් කිරීමට, භාෂාවක් එක් කරන්න, ඉන්පසු ඔබ කැමති කලාපය තෝරා ගන්න."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"එක් එක් යෙදුම සඳහා භාෂාවක් තේරීමට, යෙදුම් භාෂා සැකසීම් වෙත යන්න."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"යෙදුම් භාෂා ගැන තව දැන ගන්න"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"පද්ධති භාෂාව %s ලෙස වෙනස් කරන්න ද?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"ක්‍රියාවිරහිතයි"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{ක්‍රියාත්මකයි / # යෙදුමකට ස්ථානයට ප්‍රවේශය ඇත}one{ක්‍රියාත්මකයි / යෙදුම් #කට ස්ථානයට ප්‍රවේශය ඇත}other{ක්‍රියාත්මකයි / යෙදුම් #කට ස්ථානයට ප්‍රවේශය ඇත}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"පූරණය වේ…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"අවට උපාංගවල සාපේක්ෂ පිහිටීම තීරණය කිරීමට අවට උපාංග අවසරය ඇති යෙදුම්වලට හැකිය."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"සම්බන්ධිත උපාංගවල සාපේක්ෂ පිහිටීම තීරණය කිරීමට අවට උපාංග අවසරය ඇති යෙදුම්වලට හැක."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"යෙදුම් සහ සේවා සඳහා ස්ථාන ප්‍රවේශය ක්‍රියාවිරහිතයි. ඔබ හදිසි අවස්ථා අංකයක් අමතන විට හෝ කෙටි පණිවිඩයක් යැවීමේදී ඔබගේ උපාංගයේ ස්ථානය හදිසි අවස්ථා ප්‍රතිචාර දක්වන්නන්ට තවම යැවිය හැකිය."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"ස්ථාන සැකසීම් පිළිබඳව තව දැන ගන්න"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"වෙනස් කිරීමට ChromeOS සැකසීම් &gt; පෞද්ගලිකත්වය සහ ආරක්‍ෂාව &gt; පෞද්ගලිකත්ව පාලන &gt; ස්ථාන ප්‍රවේශය වෙත යන්න"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"මුහුණ සහ <xliff:g id="WATCH">%s</xliff:g> එක් කර ඇත"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"මුහුණ, ඇඟිලි සලකුණ, සහ <xliff:g id="WATCH">%s</xliff:g> එක් කර ඇත"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"මුහුණ, ඇඟිලි සලකුණු, සහ <xliff:g id="WATCH">%s</xliff:g> එක් කර ඇත"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"අනන්‍යතා පරීක්ෂාව ක්‍රියාත්මක වන අතර ජෛවමිතිකයක් අවශ්‍ය වේ"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"දුරස්ථ සත්‍යාපක අගුලු හරින්න"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"ඔරලෝසුව එක් කර ඇත"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"ඔබේ ඔරලෝසුව පිහිටුවන්න"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"ඔරලෝසුව අගුලු හැරීම ගැන තව දැන ගන්න"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"ඔරලෝසුව එක් කරන්න"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"ඔරලෝසුව ඉවත් කරන්න"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ඇඟිලි සලකුණ සහ මුහුණෙන් අගුළු හැරීම"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"මුහුණ සහ ඇඟිලි සලකුණු අගුළු හැරීම"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"වැඩ සඳහා මුහුණු සහ ඇඟිලි සලකුණු අගුළු හැරීම"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"පිහිටුවීම අවශ්‍යයි"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"මුහුණ සහ ඇඟිලි සලකුණු එක් කරන ලදි"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"පෞද්ගලික අවකාශය පිහිටුවමින්…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"පුද්ගලික අවකාශයක් සැකසීමට නොහැකි විය"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"නැවත උත්සාහ කරන්න"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"පිටවන්න"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"රහසිගත අවකාශයක් ලබා ගත නොහැක.\nභව්‍ය හේතු බලන්න"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"භව්‍ය හේතු බලන්න"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"පුද්ගලික අවකාශය සඳහා නව අගුලක් තෝරා ගන්නද?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"ඔබට පුද්ගලික ඉඩකඩ නිසාම නව අගුලක් සැකසිය හැක, නැති නම් ඔබ ඔබේ උපාංගයට අගුලු දැමීමට භාවිත කරන අගුල ම භාවිත කළ හැක"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"තිර අගුල භාවිතා කරන්න"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"බ්ලූටූත් ක්‍රියාත්මක විට, ඔබේ උපාංගයට වෙනත් අවට බ්ලූටූත් උපාංග සමග සන්නිවේදනය කළ හැක.\n\nඋපාංග අත්දැකීම වැඩි දියුණු කිරීම සඳහා, යෙදුම් සහ සේවාවලට බ්ලූටූත් ක්‍රියාවිරහිත වූ විට පවා, ඕනෑම වේලාවක දී අවට උපාංග සඳහා ස්කෑන් කළ හැක. උදාහරණයක් ලෙස, ස්ථානය පදනම් වූ විශේෂාංග සහ සේවා වැඩි දියුණු කිරීමට මෙය භාවිතා කළ හැක. ඔබට මෙය බ්ලූටූත් ස්කෑන් කිරීමේ සැකසීම් තුළ වෙනස් කළ හැක."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"බ්ලූටූත් සක්‍රීය වූ විට, ඔබේ උපාංගයට වෙනත් අවට ඇති බ්ලූටූත් උපාංග සමග සන්නිවේදන කළ හැක. ඉක්මන් බෙදා ගැනීම සහ මගේ උපාංගය සෙවීම වැනි විශේෂාංග බ්ලූටූත් භාවිත කරයි.\n\nබ්ලූටූත් අක්‍රියව ඇති විට පවා, යෙදුම්වලට සහ සේවාවලට තවමත් ඕනෑම වේලාවක අවට උපාංග සඳහා ස්කෑන් කළ හැක. උදාහරණය වශයෙන්, මෙය ස්ථාන පාදක විශේෂාංග සහ සේවා දියුණු කිරීමට භාවිත කළ හැක. ඔබට බ්ලූටූත් ස්කෑන් කිරීමේ සැකසීම් තුළ මෙය වෙනස් කළ හැක."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"වෙනස් කරන්න"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"උපාංග විස්තර"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"යතුරුපුවරු සැකසීම්"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"තව සැකසීම්"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"නිත්‍ය මෘදුකාංග යාවත්කාලීන, පිළිබඳ සහ තවත් දේවල්"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"ඉඟි සහ සහාය"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"උපාංගයේ බ්ලූටූත් ලිපිනය: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"උපාංගයේ බ්ලූටූත් ලිපිනය:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"උපාංගය අමතකද?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"පරීක්ෂණාත්මක. ශ්‍රව්‍ය ගුණත්ව දියුණු කරයි."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"උපාංගය අමතක කරන්න"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"යෙදුම විසන්ධි කරන්න"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"තව සැකසීම්"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"උපරිම සම්බන්ධිත බ්ලූටූත් ශ්‍රව්‍ය උපාංග"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"සම්බන්ධිත බ්ලූටූත් ශ්‍රව්‍ය උපාංග උපරිම ගණන තෝරන්න"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC වාචික විකුණුම්කරු නිදොස් කිරීමේ ලොගය"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"උපාංගය යළි අරඹන්න ද?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"විස්තර NFC ලොග් කිරීම සංවර්ධන අරමුණු සඳහා පමණක් අදහස් කරයි. පෞද්ගලික තොරතුරු අඩංගු විය හැකි, දෝෂ වාර්තාවල අතිරේක NFC දත්ත ඇතුළත් වේ. මෙම සැකසීම වෙනස් කිරීමට ඔබේ උපාංගය යළි අරඹන්න."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"යළි අරඹන්න"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"ක්‍රියාත්මකයි"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"ක්‍රියාවිරහිතයි"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"බාහිර සංදර්ශකය"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"බාහිර සංදර්ශකය භාවිතා කරන්න"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"සංදර්ශක විභේදනය"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"බාහිර සංදර්ශකය විසන්ධි කර ඇත"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"කරකැවීම"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"සම්මත"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"කරකැවීම හෝ විභේදනය වෙනස් කිරීම දැනට ධාවනය වන ඕනෑම යෙදුමක් නැවැත්විය හැක"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"ඔබේ තිරය පිළිබිඹු කිරීමට ඔබේ උපාංගය බාහිර සංදර්ශකයකට සම්බන්ධ කළ යුතු යි"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"තවත් විකල්ප"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Cast"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"දර්පණය"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"රැහැන් රහිත දර්ශනය සබල කරන්න"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"අනුවර්තී"</string>
     <string name="brightness" msgid="6216871641021779698">"දීප්ති මට්ටම"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"අනුවර්තක දීප්තිය"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"අනුවර්තී දීප්තිය පිළිබඳව"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"ඔබේ තිරයේ දීප්තිය ස්වයංක්‍රියව ඔබගේ පරිසරයට සහ ක්‍රියාකාරකම්වලට ගළපනු ඇත. අනුවර්තන දීප්තියට ඔබේ මනාප දැන ගැනීමට උදවු වීමට ඔබට ස්ලයිඩරය හස්තීයව ගෙන යාමට හැකිය."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"ක්‍රියාත්මකයි"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"ක්‍රියාවිරහිතයි"</string>
@@ -1311,8 +1344,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="8850185380445309835">"කැමති SIM යාවත්කාලීන කරන්න ද?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> ඔබගේ උපාංගය තුළ ඇති එකම අලුත් SIM එකය. ජංගම දත්ත, ඇමතුම්, සහ SMS පණිවිඩ සඳහා මෙම SIM එක භාවිත කිරීමට ඔබට අවශ්‍යද?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> දැන් ඔබේ මූලික SIM වේ"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"ජංගම දත්ත ආවරණය වැඩි දියුණු ද?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"ඔබේ උපාංගයට වඩා හොඳ තිබෙන බවක් ඇති විට ජංගම දත්ත සඳහා <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> වෙත ස්වයංක්‍රීයව මාරු වීමට එයට ඉඩ දෙන්න."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"ඇමතුම්, පණිවුඩ, සහ ජාල තදබදය ඔබේ සංවිධානයට දෘශ්‍යමාන විය හැක."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"විකල්ප"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"ප්‍රවේශ්‍යතාව"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"භෞතික යතුරු පුවරුව"</string>
-    <string name="show_ime" msgid="4334255501724746849">"තිරය මත යතුරු පුවරුව භාවිත කරන්න"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"භෞතික යතුරු පුවරුව සක්‍රිය අතරතුර එය තිරය මත තබා ගන්න"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"පනින යතුරු"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"යතුරුපුවරුව <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms ඇතුළත එකම යතුර නැවත නැවතත් එබීම් නොසලකා හරියි"</string>
     <string name="slow_keys" msgid="2891452895499690837">"මන්දගාමී යතුරු"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"යතුරු එබීම සඳහා ගතවන කාලය <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms දක්වා සකසයි"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"ඇලෙන යතුරු"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"කෙටිමං සඳහා යතුරු එකට තබා ගැනීම වෙනුවට වරකට යතුරක් ඔබන්න"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"මූසික යතුරු"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"මූසිකය පාලනය කිරීමට භෞතික යතුරු පුවරුව භාවිතා කරන්න."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"යතුරු පුවරු කෙටිමං"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"කෙටිමං ලැයිස්තුව පෙන්වන්න"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"කාර්යාල පැතිකඩ යතුරු පුවරු සහ මෙවලම්"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"තනි ස්පර්ශක පුවරු සංචාලන අභිනයන් අභිරුචිකරණය කරන්න"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"ආපස්සට අනුචලනය"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"ඔබ පහළට අනුචලනය කරන විට අන්තර්ගතය ඉහළට ගමන් කරයි"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"පහළ-දකුණ තට්ටු කිරීම"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"තවත් විකල්ප සඳහා ස්පර්ශ පුවරුවේ පහළ දකුණු කෙළවර තට්ටු කරන්න"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"පහළ-දකුණ ක්ලික් කරන්න"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"තවත් විකල්ප සඳහා ස්පර්ශ පුවරුව හි පහළ දකුණු කෙළවරේ ක්ලික් කරන්න"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"දර්ශක වේගය"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"දර්ශක පිරවුම් විලාසය"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"දර්ශක පිරවුම් විලාසය කළු පැහැයට වෙනස් කරන්න"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"දර්ශක පිරවුම් විලාසය කහ පැහැයට වෙනස් කරන්න"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"දර්ශක පිරවුම් විලාසය රෝස පැහැයට වෙනස් කරන්න"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"දර්ශක පිරවුම් විලාසය නිල් පැහැයට වෙනස් කරන්න"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"දර්ශක පහර විලාසය"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"සුදු"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"කළු"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"කිසිවක් නැත"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"ස්පර්ශක පුවරු අභිනයන් ඉගෙන ගන්න"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"ට්‍රැක්පෑඩ්, ට්‍රැක් පෑඩ්, මූසිකය, කර්සරය, අනුචලනය, ස්වයිප්, දකුණු ක්ලික්, ක්ලික්, දර්ශකය"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"දකුණු ක්ලික් කරන්න, තට්ටු කරන්න"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"යළි සකසන්න"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"සංස්කාරක යතුර තෝරා ගන්න"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> සඳහා නව යතුරක් තෝරා ගන්න:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> පිරිසැලසුම"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"පෙරනිමි"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"ස්වයංක්‍රීය: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"පරිශීලක තෝරා ඇත: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"කථනය"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"දර්ශක වේගය"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"දර්ශක පරිමාණය"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"දර්ශක පරිමාණය අඩු කරන්න"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"දර්ශක පරිමාණය වැඩි කරන්න"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"ක්‍රීඩා පාලකය"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"කම්පනය ප්‍රතියොමු කරන්න"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"ක්‍රීඩා පාලකයට සම්බන්ධ විට කම්පනය යවන්න."</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"කෙසේ වෙතත් ඉදිරියට යන්න"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"අවලංගු කරන්න"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"විශාලන සැකසීම්"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"එක ඇඟිල්ලකින් පෑන් කිරීම"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"1 ඇඟිල්ලකින් විශාලකය ගෙන යන්න"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"තිරය වටා ගමන් කිරීමට 1 ඇඟිල්ලක් අදින්න"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"එක ඇඟිල්ලක් ඇදීමෙන් විශාලන ප්‍රදේශය එහා මෙහා කරන්න."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"ඇඟිලි දෙකක් ඇදීමෙන් විශාලන ප්‍රදේශය එහා මෙහා කරන්න."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"තිරයේ කොටසක් පමණක් විශාලනය කරන අතරේ ලබා ගත නොහැක"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"විශාලනය කිරීමට බොත්තමක් තට්ටු කරන්න"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"අන්තර්ගතය වඩා විශාල කිරීමට තිරය මත ඉක්මනින් විශාලනය කරන්න"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;විශාලනය වැඩි කිරීමට:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. විශාලනය කිරීම ආරම්භ කිරීමට කෙටිමග භාවිත කරන්න&lt;br/&gt; {1,number,integer}. තිරය තට්ටු කරන්න&lt;br/&gt; {2,number,integer}. තිරය වටා යාමට ඇඟිලි 2කින් අදින්න&lt;br/&gt; {3,number,integer}. විශාලනය සීරුමාරු කිරීමට ඇඟිලි 2කින් පින්ච් කරන්න&lt;br/&gt; {4,number,integer}. විශාලනය කිරීම නතර කිරීමට කෙටි මග භාවිත කරන්න&lt;br/&gt;&lt;br/&gt; &lt;b&gt;තාවකාලිකව විශාලනය වැඩි කිරීමට:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ඔබගේ විශාලන වර්ගය පූර්ණ තිරයට සකසා ඇති බවට සහතික කර ගන්න&lt;br/&gt; {1,number,integer}. විශාලනය කිරීම ආරම්භ කිරීමට කෙටිමග භාවිත කරන්න&lt;br/&gt; {2,number,integer}. තිර‍යේ ඕනෑම තැනක ස්පර්ශ කර අල්ලා ගන්න&lt;br/&gt; {3,number,integer}. තිරය වටා යාමට ඇඟිල්ල අදින්න&lt;br/&gt; {4,number,integer}. විශාලනය කිරීම නතර කිරීමට ඇඟිල්ල ඔසවන්න"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>විශාලනය වැඩි කිරීමට:</b><br/> {0,number,integer}. විශාලනය කිරීම ආරම්භ කිරීමට කෙටිමග භාවිත කරන්න<br/> {1,number,integer}. තිරය තට්ටු කරන්න<br/> {2,number,integer}. තිරය වටා යාමට ඇඟිලි 2කින් අදින්න<br/> {3,number,integer}. විශාලනය සීරුමාරු කිරීමට ඇඟිලි 2කින් පින්ච් කරන්න<br/> {4,number,integer}. විශාලනය නැවැත්වීමට කෙටිමඟ භාවිතා කරන්න&lt;br/&gt;&lt;br/&gt; ඔබට තාවකාලිකව සහ තවත් විශාලනය කිරීමට ද හැක."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>විශාලනය වැඩි කිරීමට:</b><br/> {0,number,integer}. විශාලනය කිරීම ආරම්භ කිරීමට කෙටිමග භාවිත කරන්න<br/> {1,number,integer}. තිරය තට්ටු කරන්න<br/> {2,number,integer}. තිරය ​​වටා ගමන් කිරීමට ඇඟිලි 1ක් හෝ 2ක් අදින්න&lt;br/&gt; {3,number,integer}. විශාලනය සීරුමාරු කිරීමට ඇඟිලි 2කින් පින්ච් කරන්න<br/> {4,number,integer}. විශාලනය නැවැත්වීමට කෙටිමඟ භාවිතා කරන්න&lt;br/&gt;&lt;br/&gt; ඔබට තාවකාලිකව සහ තවත් විශාලනය කිරීමට ද හැක."</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_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g> න් <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> පිටුව"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"ප්‍රවේශ්‍යතා බොත්තම් කෙටිමඟ"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"පාවෙන බොත්තම තට්ටු කරන්න"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"ප්‍රවේශ්‍යතා ඉංගිතය"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"ඔබේ තිරයෙහි පහළ ඇති <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ප්‍රවේශ්‍යතා බොත්තම තට්ටු කරන්න. විශේෂාංග අතර මාරු වීමට, ප්‍රවේශ්‍යතා බොත්තම ස්පර්ශ කර සිටින්න."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"ඇඟිලි 2කින් තිරයේ පහළ සිට ඉහළට ස්වයිප් කරන්න.\n\nවිශේෂාංග අතර මාරු වීමට, ඇඟිලි 2කින් ඉහළට ස්වයිප් කර අල්ලාගෙන සිටින්න."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"ඇඟිලි 3කින් තිරයේ පහළ සිට ඉහළට ස්වයිප් කරන්න.\n\nවිශේෂාංග අතර මාරු වීමට, ඇඟිලි 3කින් ඉහළට ස්වයිප් කර අල්ලාගෙන සිටින්න."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{ඔබේ තිරයෙහි පහළින් උඩට ස්වයිප් කරන්න. විශේෂාංග අතර මාරු වීමට, ඉහළට ස්වයිප් කර සිටින්න.}one{ඔබේ තිරයෙහි පහළ සිට ඇඟිලි #ක් සමග ඉහළට ස්වයිප් කරන්න. විශේෂාංග අතර මාරු වීමට, ඇඟිලි #ක් සමග ඉහළට ස්වයිප් කර සිටින්න.}other{ඔබේ තිරයෙහි පහළ සිට ඇඟිලි #ක් සමග ඉහළට ස්වයිප් කරන්න. විශේෂාංග අතර මාරු වීමට, ඇඟිලි #ක් සමග ඉහළට ස්වයිප් කර සිටින්න.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"තව විකල්ප"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"<xliff:g id="SERVICE">%1$s</xliff:g> ගැන තව දැන ගන්න"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"හඬ පරිමා යතුරු"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"හඬ පරිමා යතුරු"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"හඬ පරිමා යතුරු දෙකම ඔබා අල්ලාගෙන සිටින්න"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"ඇඟිලි දෙකේ ද්විත්ව තට්ටු තිරය"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"ඇඟිලි %1$d දෙවරක් තට්ටු කිරීම"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"ඉක්මනින් ඇඟිලි %1$dක් සමග තිරය දෙවරක් තට්ටු කරන්න"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"තුන්වරක් තට්ටු කිරීම"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"තිරය %1$d වරක් ඉක්මනින් තට්ටු කරන්න. මෙය ඔබේ උපාංගය මන්දගාමී කිරීමට හැක."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"ඇඟිලි %1$d දෙවරක් තට්ටු කිරීම"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"ඇඟිලි දෙකකින් තිරය {0,number,integer} වාරයක් ඉක්මනින් තට්ටු කරන්න"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"තිරය තෙවරක් තට්ටු කරන්න"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"තුන්වරක් තට්ටු කිරීම"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"තිරය ඉක්මනින් වාර {0,number,integer}ක් තට්ටු කරන්න. මෙම කෙටි මග ඔබගේ උපාංගය මන්දගාමී කළ හැකිය"</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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"කෙටිමං සැකසීම්"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"අගුලු තිරයෙන් කෙටිමග"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"අගුලු තිරයෙන් ක්‍රියාත්මක කිරීමට විශේෂාංග කෙටිමගට ඉඩ දෙන්න. හඬ පරිමා යතුරු දෙකම තත්පර කීපයක් අල්ලාගෙන සිටින්න."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"ප්‍රවේශ්‍යතා බොත්තම"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"සජීවී සිරස්තල &amp; ඉංගිතය"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"මෙම සේවාව නිසි පරිදි ක්‍රියා නොකරයි."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"ප්‍රවේශ්‍යතා කෙටි මං"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"ඉක්මන් සැකසීම් තුළ පෙන්වන්න"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"රතු-කොළ"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"රතු-කොළ"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"රතු-කොළ, කොළ දුර්වල"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"රතු-කොළ, රතු දුර්වල"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"නිල්-කහ"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Grayscale"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"ත්‍රීවතාවය"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"කොළ දුර්වල, රතු කොළ වර්ණ අන්ධතාව"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"රතු දුර්වල, රතු-කොළ වර්ණ අන්ධතාව"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"අළු පරිමාණ ප්‍රකාරය සඳහා හෝ වර්ණ නිවැරදි කිරීම අබල කර ඇති විට ලබා ගත නොහැක"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"තවත් අඳුරු"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"තිරය ​​තවත් අඳුරු කරන්න"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"මයුර නිල්"</string>
     <string name="color_yellow" msgid="5957551912912679058">"කහ"</string>
     <string name="color_magenta" msgid="8943538189219528423">"දම්පාට තද රතු"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"<xliff:g id="SERVICE">%1$s</xliff:g> හට ඔබේ උපාංගයේ සම්පූර්ණ පාලනය තබා ගැනීමට ඉඩ දෙන්නද?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> හට අවශ්‍යයි:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"යෙදුම අවසර ඉල්ලීමක් කරන නිසා, සැකසීම් හට ඔබගේ ප්‍රතිචාරය සත්‍යාපනය කළ නොහැක."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> මෙම උපාංගයේ සම්පූර්ණ පාලනය ඉල්ලමින්. සේවාවට තිරය කියවීමට සහ ප්‍රවේශ්‍යතා අවශ්‍යතා ඇති පරිශීලකයන් වෙනුවෙන් ක්‍රියා කිරීමට හැකිය. මෙම මට්ටමේ පාලනය බොහොමයක් යෙදුම් සඳහා සුදුසු නැත."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"පූර්ණ පාලනය ඔබට ප්‍රවේශ්‍යතා අවශ්‍යතා සමඟ උදවු කරන යෙදුම් සඳහා සුදුසු වන නමුත් බොහෝ යෙදුම් සඳහා සුදුසු නොවේ."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"තිරය බලන්න සහ පාලන කරන්න"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"එයට තිරයේ සියලුම අන්තර්ගත කියවිය හැකි අතර අනෙකුත් යෙදුම් මත අන්තර්ගතය සංදර්ශන කළ හැක."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"බලන්න සහ ක්‍රියා කරන්න"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"මෙයට යෙදුමක් හෝ දෘඪාංග සංවේදකයක් සමඟ ඔබේ අන්තර්ක්‍රියා හඹා යෑමට, සහ ඔබ වෙනුවෙන් යෙදුම් සමඟ අන්තර්ක්‍රියාවේ යෙදීමට හැකි ය."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"ඉඩ දෙන්න"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"ප්‍රතික්‍ෂේප කරන්න"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"ක්‍රියාවිරහිත කරන්න"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"ක්‍රියාත්මකයි / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> සහ <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"බ්ලූටූත් උපාංග සඳහා වන අවකාශීය ශ්‍රව්‍ය සක්‍රිය කිරීමට ද ඔබට හැක."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"සම්බන්ධිත උපාංග සැකසීම්"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"අවකාශීය ශ්‍රව්‍ය"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"ක්‍රියාවිරහිතයි"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"ක්‍රියාවිරහිතයි"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"ක්‍රියාවිරහිතයි"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{කිසිත් නැත}=1{කාලසටහන් 1ක් සකසන ලදී}one{කාලසටහන් #ක් සකසන ලදී}other{කාලසටහන් #ක් සකසන ලදී}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"බාධා නොකරන්න"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"ප්‍රමුඛතා ප්‍රකාර"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"ප්‍රකාරයක් එක් කරන්න"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"ප්‍රකාර"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"අවධානය වෙනතකට යොමු කිරීම අවම කර නින්ද, වැඩ, රිය පැදවීම සහ ඒ අතර ඇති සියල්ල සඳහා ප්‍රකාරයන් සමග ඔබේ අවධානය පාලනය කරන්න."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"ඔබේම ප්‍රකාරය තනන්න"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"වැදගත් පුද්ගලයන් සහ යෙදුම් විසින් පමණක් දැනුම් දෙනු ලැබේ"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"කාලසටහනක් සකසන්න"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"කාලසටහන මේ මත පදනම්ව වේ"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"දවස සහ වේලාව"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"සතියේ දිනවල පෙ.ව. 9 - ප.ව. 5\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"දින දර්ශන සිදුවීම්"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} සක්‍රියයි}=2{{mode_1} සහ {mode_2} සක්‍රියයි}=3{{mode_1}, {mode_2}, සහ {mode_3} සක්‍රියයි}one{{mode_1}, {mode_2}, සහ තව #ක් සක්‍රියයි}other{{mode_1}, {mode_2}, සහ තව #ක් සක්‍රියයි}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 ප්‍රකාරයක් ස්වයංක්‍රීයව ක්‍රියාත්මක විය හැක}one{ප්‍රකාර #ක් ස්වයංක්‍රීයව ක්‍රියාත්මක විය හැක}other{ප්‍රකාර #ක් ස්වයංක්‍රීයව ක්‍රියාත්මක විය හැක}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ක්‍රියාත්මකයි"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"සකසා නැත"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"අබලයි"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"ප්‍රකාරයක් තනන්න"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"අභිරුචි"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"දැන් ක්‍රියාත්මක කරන්න"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"ක්‍රියාවිරහිත කරන්න"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"ප්‍රකාරය හමු නොවිණි"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"බාධා සීමා කරන්න"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"බාධා කිරීම් සහ අවධානය වෙනතකට යොමු වීම් අවහිර කරන්න"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g> පිහිටුවන්න"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"බාධා නොකරන්න ක්‍රියාත්මක කරන්න"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"එලාම සහ මාධ්‍ය හඬවල්වලට බාධා කළ හැකිය"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"කාල සටහන්"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"කාල සටහන් මකන්න"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"මකන්න"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"යළි නම් කරන්න"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"මකන්න"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"\"<xliff:g id="MODE">%1$s</xliff:g>\" ප්‍රකාරය මකන්න ද?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"සංස්කරණය කරන්න"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"කාල සටහන්"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"කාල සටහන"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"ස්වයංක්‍රීයව ක්‍රියාත්මක කරන්න"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"දින දර්ශනයක් එක් කරන්න"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"ඔබේ දින දර්ශනය භාවිතා කරන්න"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"කාල සටහන"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"කාලසටහනක් සකසන්න"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"ස්වයංක්‍රීයව ක්‍රියාත්මක කළ යුත්තේ කෙවිට ද"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"සිදුවීම් කාල සටහන"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"මේ සඳහා සිදුවීම් අතරතුර ක්‍රියාත්මක කරන්න"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"ආරාධනා පිළිතුර ඇති තැන"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"වේලා කාල සටහන"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"කාල සටහන"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"පැය <xliff:g id="HOURS">%1$d</xliff:g>යි, විනාඩි <xliff:g id="MINUTES">%2$d</xliff:g>ක්"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"කාල සටහන"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"ශබ්දය ඇති කරන බාධා කිරීම්වලට ඉඩ දෙන්න"</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="mode_interruption_filter_title" msgid="6657431939996264417">"ඔබට ළඟා විය හැකි දැනුම්දීම්"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"අමතර ක්‍රියා"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"දැනුම්දීම් පෙරහන්"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"තව සැකසීම්"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{ක්‍රියාවිරහිතයි}=1{ක්‍රියාවිරහිතයි / 1 ප්‍රකාරයක් ස්වයංක්‍රියව ක්‍රියාත්මක කළ හැක}one{ක්‍රියාවිරහිතයි / ප්‍රකාර #ක් ස්වයංක්‍රියව ක්‍රියාත්මක කළ හැක}other{ක්‍රියාවිරහිතයි / ප්‍රකාර #ක් ස්වයංක්‍රියව ක්‍රියාත්මක කළ හැක}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"සංදර්ශක සැකසීම්"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"සංදර්ශක විකල්ප"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"අළු පැහැය"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"අඳුරු තේමාව සබල කරන්න"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"අඳුරු පසුබිමක ආලෝක පාඨයට කැමති වීමට OS සහ යෙදුම් මාරු කරන්න, එය ඇස්වලට ඉතා පහසු විය හැකි අතර සමහර උපාංග මත සැලකිය යුතු බැටරි සුරැකුම් ලබා දිය හැක"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{සංදර්ශක වෙනස්කම් කිසිවක් නැත}=1{{effect_1}}=2{{effect_1} සහ {effect_2}}=3{{effect_1}, {effect_2} සහ {effect_3}}one{{effect_1}, {effect_2}, සහ තව # ක්}other{{effect_1}, {effect_2}, සහ තව # ක්}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"සියලු දැනුම්දීම්වලට ඉඩ දෙන්න"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"පුද්ගලයන්, යෙදුම්, සහ ශබ්දවලට බාධා කළ හැක"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"පෙරන ලද දැනුම්දීම් සඳහා විකල්ප සංදර්ශන කරන්න"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Do Not Disturb ක්‍රියාත්මක වන්නේ මොන වේලාවටද"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"දැනුම්දීම් වෙතින් හඬ නැත"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"දැනුම් දීම විවෘත කරන්න"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"දැනුම්දීම කල් දැමීමට ඉඩ දෙන්න"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"යෙදුම් අයිකනයෙහි දැනුම් දීම් තිත"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"දැනුම්දීම් පොදි"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"බුබුළු"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"බුබුළු"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"මෙම සංවාදය බුබුලු දමන්න"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"එයට පණිවිඩවලට පිළිතුරු දීමට සහ දැනුම්දීම් යළි සිහි කැඳවීම හෝ ඉවත දැමීම සහ ඇමතුම්වලට පිළිතුරු දීම ඇතුළුව, දැනුම්දීම්වල බොත්තම් මත ක්‍රියාමාර්ග ගත හැකිය."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"සැකසීම් වෙනස් කරන්න"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"එයට බාධා නොකරන්න ක්‍රියාත්මක හෝ ක්‍රියාවිරහිත කිරීමට හැකිය."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"එයට ප්‍රකාර කළමනාකරණය කිරීමට සහ සක්‍රිය කිරීමට සහ අදාළ සැකසීම් වෙනස් කිරීමට හැක."</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_modes_warning_summary" msgid="7528432011433844158">"ඔබ <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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"තථ්‍යකාල"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"මෙම යෙදුම වැඩිදියුණු කළ සැකසීම් සඳහා සහාය නොදක්වයි"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"තව සැකසීම්"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"මෙම යෙදුම තුළ තවත් සැකසීම් තිබේ"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"අනුවර්තී දැනුම්දීම්"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"අනුවර්තී දැනුම්දීම් භාවිතා කරන්න"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"ඔබට කෙටි කාලයක් තුළ බොහෝ දැනුම්දීම් ලැබෙන විට, ඔබේ දුරකථනය ශබ්දය අඩු කර විනාඩි දෙකක් දක්වා තිරය මත උත්පතන අවම කරනු ඇත. ඇමතුම්, එලාම්, සහ ප්‍රමුඛතා සංවාද තවමත් කම්පනය වේ, ශබ්දයක් ඇති කරයි, හෝ තිරය මත පෙන්වයි, ඔබ තිරයේ ඉහළ සිට පහළට අදින විට සියලු දැනුම්දීම් සොයා ගැනීමට පහසු වේ."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"දැනුම්දීම් සිසිල් කිරීම"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"දැනුම්දීම් සිසිල් කිරීම භාවිත කරන්න"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"ඔබට කෙටි කාලයක් තුළ බොහෝ දැනුම්දීම් ලැබෙන විට, ඔබේ උපාංගය එහි ශබ්දය අඩු කර විනාඩි 2ක් දක්වා ඇඟවීම් අවම කරයි. ඇමතුම්, එලාම්, සහ ප්‍රමුඛතා සංවාදවලට බලපෑමක් නැත. \n\nසන්සුන් කිරීම අතරතුර ලැබෙන දැනුම්දීම් තිරයේ ඉහළ සිට පහළට ඇදීමෙන් සොයා ගත හැක."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"කාර්යාල පැතිකඩ සඳහා යොදන්න"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"කාර්යාල පැතිකඩ යෙදුම්වලට යොදන්න"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR උදවුකරු සේවා"</string>
@@ -3650,6 +3717,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"ප්‍රකාර ප්‍රවේශය"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"ප්‍රකාර ප්‍රවේශයට ඉඩ දෙන්න"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"ස්ථාපනය කළ යෙදුම් කිසිවක් ප්‍රකාර ප්‍රවේශය ඉල්ලා නැත"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"ඔබ මෙම යෙදුමෙන් දැනුම්දීම්වලට ඉඩ දී නැත"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"ඔබගේ ඉල්ලීම මත, Android මෙම දැනුම්දීම් ප්‍රවර්ගය මෙම උපාංගය මත දිස් වීම අවහිර කරමින් ඇත"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"ඔබගේ ඉල්ලීම මත, Android මෙම දැනුම්දීම් සමූහය මෙම උපාංගය මත දිස් වීම අවහිර කරමින් ඇත"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"ප්‍රවර්ග"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"වෙනත්"</string>
     <string name="no_channels" msgid="4716199078612071915">"මෙම යෙදුම දැනුම්දීම් කිසිවක් පළ කර නැත"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"භාවිතයට නොගත් ප්‍රවර්ග පෙන්වන්න"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"අමතර සැකසීම් යෙදුම තුළ ඇත"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"භාවිතයට නොගත් ප්‍රවර්ග පෙන්වන්න"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"භාවිතයට නොගත් ප්‍රවර්ග සඟවන්න"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"සංවාද"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"සියලු සංවාද"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"සියලු සංවාද"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"ප්‍රමුඛතා සංවාද"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"ප්‍රමුඛතා සංවාද"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"කිසිවක් නැත"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"බාධා කළ හැකි යෙදුම්"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"තෝරාගත් යෙදුම"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"කිසිවක් නැත"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"සියලු"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{යෙදුම් කිසිවකට බාධා කළ නොහැක}=1{{app_1} හට බාධා කළ හැක}=2{{app_1} සහ {app_2} හට බාධා කළ හැක}=3{{app_1}, {app_2}, සහ {app_3} හට බාධා කළ හැක}one{{app_1}, {app_2}, සහ තවත් #ක් හට බාධා කළ හැක}other{{app_1}, {app_2}, සහ තවත් #ක් හට බාධා කළ හැක}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (කාර්යාලය)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"ගණනය කරමින්…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ප්‍රතික්ෂේප කිරිමට යෙදුම්වලට ඉඩ දෙන්න"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"බාධා කළ හැකි යෙදුම්"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"තවත් යෙදුම් තෝරන්න"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"කිසිවකට බාධා කළ නොහැකිය"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"කිසි කෙනෙකුට බාධා කළ නොහැකිය"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"සමහර පුද්ගලයන්ට බාධා කළ හැකිය"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"නැවත නැවතත් අමතන්නන්ට බාධා කළ හැක"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"සියලු පුද්ගලයන්ට බාධා කළ හැකිය"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"නැවත අමතන්නන්"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"යළි අමතන්නන්ට ඉඩ දෙන්න"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} දක්වා පැයක් සඳහා පමණක් එලාම වෙත වෙනස් කරන්න}one{{time} දක්වා පැය #ක් සඳහා පමණක් එලාම වෙත වෙනස් කරන්න}other{{time} දක්වා පැය #ක් සඳහා පමණක් එලාම වෙත වෙනස් කරන්න}}"</string>
     <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_action_change_name" msgid="766639614789907016">"නැවත නම් කරන්න"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"නිරූපකය වෙනස් කරන්න"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"නිරූපකය වෙනස් කරන්න"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"සංස්කරණ ප්‍රකාරය"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"ප්‍රකාරයක් තනන්න"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"අභිරුචි ප්‍රකාරය"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"ප්‍රකාරයේ නම"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"දින දර්ශන සිදුවීම්"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"නින්දට යන වේලාවේ දින චර්යාව"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"ධාවනය කරන අතරතුර"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"යෙදුම් සැකසීම්"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"<xliff:g id="APP_NAME">%1$s</xliff:g> තුළ තතු සහ සැකසීම්"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"<xliff:g id="APP_NAME">%1$s</xliff:g> මගින් කළමනාකරණය කෙරේ"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g> අබල කරන්න ද?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"අබල කළ විට මෙම ප්‍රකාරය කිසිදා ක්‍රියාත්මක නොවනු ඇත"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"අබල කරන්න"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g> සබල කරන්න ද?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"මෙම ප්‍රකාරය එහි සැකසීම් මත පදනම්ව ස්වයංක්‍රීයව ක්‍රියාත්මක විය හැක"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"සබල කරන්න"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"නිතිපතා කාලසටහනක් අනුගමනය කරන ප්‍රකාරයක් සකසන්න"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"දින දර්ශන සිදුවීම් සමග සමමුහූර්ත කිරීමට සහ ප්‍රතිචාරවලට ආරාධනා කිරීමට ප්‍රකාරයක් සකසන්න"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"සන්සුන් නිද්‍රා දිනචරියාවක් සැලසුම් කරන්න. එලාම සකසන්න, තිරය අඳුරු කරන්න, සහ දැනුම්දීම් අවහිර කරන්න."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"නාභිගත සහ අවධානය වෙනතකට යොමු නොවන ධාවකයක් සඳහා මාර්ගයේ ආරක්ෂාවට ප්‍රමුඛත්වය දෙන්න"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"අවධානය ලබා ගැනීමට ඔබේ උපාංගයෙන් වික්ෂේප වීම් හෝ බාධා කිරීම් අවහිර කරන්න"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"නිහඬ පරිසරයක් සඳහා සියලු බාධා ඉවත් කරන්න"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"විවිධ පරිශීලකයින් සඳහා උපාංග අත්දැකීම් සහ සැකසීම් පුද්ගලීකරණය කරන්න"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"වැදගත් පුද්ගලයින්ට සහ යෙදුම්වලට පමණක් ඔබ වෙත ළඟා වීමට ඉඩ දීමෙන් බාධා අවම කරන්න"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"නිතිපතා කාලසටහනක් අනුගමනය කරන ප්‍රකාරයක් සකසන්න"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"ඔබේ උපාංගය ඔබේ දවසේ සිදුවීම් සමග සමමුහුර්තව තබා ගන්න"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"100% වැනි හැඟීමකින් අවදි වන්න"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"පාරේ යන විට ආරක්ෂාවට මුල් තැන දෙන්න"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"කලාපයට පැමිණීමට අවධානය යොමු කරන්න"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"ආචාරශීලීත්වය ගණන් ගන්නා අවස්ථා සඳහා"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"ඔබට හොඳ අතකින් සිටීමට උදවු කිරීමට මාර්ගෝපදේශක භාවිතය"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"ඔබේ අවධානය පාලනය කරගන්න"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"අවවාදයයි"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"වසන්න"</string>
     <string name="device_feedback" msgid="5351614458411688608">"මෙම උපාංගය පිළිබඳ ප්‍රතිපෝෂණ යවන්න"</string>
@@ -4006,6 +4110,11 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"<xliff:g id="APP">%1$s</xliff:g> සඳහා ප්‍රකාර වෙත ප්‍රවේශ වීමට ඉඩ දෙන්න ද?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"යෙදුමට බාධා නොකරන්න ක්‍රියාත්මක/ක්‍රියාවිරහිත කිරීමට, ප්‍රකාර කළමනාකරණය කිරීමට සහ සක්‍රිය කිරීමට, සහ අදාළ සැකසීම්වලට වෙනස්කම් කිරීමට හැකි වනු ඇත."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"මෙම යෙදුම මගින් තනන ලද සියලු ප්‍රකාරයන් ඉවත් කරනු ලැබේ."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"ප්‍රශස්තකරණය නොකරන්න"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"ප්‍රශස්තකරණය"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"ඔබේ බැටරිය වඩා ඉක්මනින් අවසන් කළ හැකිය. පසුබිම් බැටරිය භාවිතා කිරීමෙන් යෙදුම තවදුරටත් සීමා නොකරනු ඇත."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"කේස්"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"බැටරිය"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"සැකසීම් පුවරුව"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"වැඩතල ප්‍රකාරය බල කරන්න"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ද්විතීයික සංදර්ශන කෙරෙහි අත්හදා බැලීමේ වැඩතල ප්‍රකාරය බල කරන්න"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"අනියම් හැඩැති කවුළු සබල කරන්න"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"ද්විතියික සංදර්ශකය මත නිදහස් ආකෘති කවුළු සබල කරන්න"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"බහු කවුළුව තුළ ප්‍රතිප්‍රමාණ කළ නොහැකි සබල කරන්න"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"බහු කවුළුව තුළ ප්‍රතිප්‍රමාණ කළ නොහැකි යෙදුම් තිබීමට ඉඩ දෙයි"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"force-dark ප්‍රතික්ෂේප කරන්න"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"ජංගම දත්ත"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"උපාංග අත්දැකීම වැඩි දියුණු කිරිමට, Wi‑Fi ක්‍රියාවිරහිත විට පවා, ඕනෑම අවස්ථාවක Wi‑Fi ජාල සඳහා ස්කෑන් කිරීමට යෙදුම් සහ සේවාවලට හැකිය. උදාහරණයක් ලෙස, ස්ථානය-පදනම් වූ විශේෂාංග සහ සේවා වැඩි දියුණු කිරීම සඳහා මෙය භාවිත කළ හැකිය. ඔබට මෙය Wi‑Fi ස්කෑන් කිරීමේ සැකසීම් තුළ වෙනස් කළ හැකිය."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"වෙනස් කරන්න"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"සම්බන්ධයි"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"තාවකාලිකව සම්බන්ධ කළා"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"<xliff:g id="SUBNAME">%1$s</xliff:g> තාවකාලිකව භාවිත කරනු ලැබේ"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"යෙදුම ඇමිණීම භාවිත කරන්න"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"සංවර්ධක විකල්ප භාවිත කරන්න"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"මුද්‍රණ සේවාව භාවිත කරන්න"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"බහු පරිශීලකයින්ට ඉඩ දෙන්න"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"පරිශීලක ස්විචයට ඉඩ දෙන්න"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"ඉඩ දෙන්න, බහුවිධ, පරිශීලක, අවසර, බොහෝ"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"බහු, පරිශීලකයෝ, පැතිකඩ, පුද්ගලයෝ, ගිණුම්, මාරු කිඍිම, බොහෝ"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"රැහැන් රහිත නිදොස්කරණය භාවිත කරන්න"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> හට මෙම දුරකථනයට සම්බන්ධ වීමට අවශ්‍යයි.\n\nඔබ මීට පෙර <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> වෙත සම්බන්ධ වී නැත."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"සම්බන්ධ නොකරන්න"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"සම්බන්ධ කරන්න"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE සැකසීම්"</string>
-    <string name="tare_on" msgid="2386073225978684535">"ක්‍රියාත්මකයි"</string>
-    <string name="tare_off" msgid="6305694402929756726">"ක්‍රියාවිරහිතයි"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"පෙරනිමි සැකසීම් වෙත ප්‍රතිවර්තනය කරන්න"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"සැකසීම් පෙරනිමිවලට ප්‍රතිවර්තනය කරන ලදි."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"උපරිම තෘප්තිමත් ශේෂය"</string>
-    <string name="tare_balances" msgid="731881382594747961">"ශේෂ"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"පරිභෝජන සීමා"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"මූලික උපරිම පරිභෝජන සීමාව"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"අවම පරිභෝජන සීමාව"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"උපරිම පරිභෝජන සීමාව"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"සංස්කාරක"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"ක්‍රියා (නිෂ්පාදන වියදම)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"ක්‍රියා (මූලික මිල)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"තනි සිදුවීමකට ත්‍යාග"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"සිදුවීම් කාල සීමාවේ තත්පරයකට ත්‍යාග"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"දිනකට උපරිම ත්‍යාග"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"යෙදුම ස්ථාපනය"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"ඉහළම ක්‍රියාකාරකම"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"දැනුම්දීම දකින ලදි"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"දැනුම්දීම මිනිත්තු 15ක් ඇතුළත දකින ලදි"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"දැනුම්දීම් අන්තර්ක්‍රියාකාරිත්වය"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"විජට් අන්තර්ක්‍රියාකාරිත්වය"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"වෙනත් පරිශීලක අන්තර්ක්‍රියාකාරිත්වය"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"රැකියා උපරිම ආරම්භය"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"රැකියා උපරිම ධාවනය"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"රැකියා ඉහළ ආරම්භය"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"රැකියා ඉහළ ධාවනය"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"රැකියා පෙරනිමි ආරම්භය"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"රැකියා පෙරනිමි ධාවනය"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"රැකියා පහළ ආරම්භය"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"රැකියා පහළ ධාවනය"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"රැකියා අවම ආරම්භය"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"රැකියා අවම ධාවනය"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"රැකියා කල් ඉකුත් වීම් දඬුවම"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"අවම සංතෘප්ත ශේෂය (නිදහස් කර ඇත)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"අවම සංතෘප්ත ශේෂය (ක්‍රියාකාරකම් නැති පද්ධති යෙදුම)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"අවම සංතෘප්ත ශේෂය (ඉතිරි යෙදුම්)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"අවම තෘප්තිමත් ශේෂ එක් කිරීම (යෙදුම් යාවත්කාලීන කරන්නන්)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"ආරෝපණය වෙමින්"</item>
-    <item msgid="658627268149681677">"මාත්‍රාව"</item>
-    <item msgid="1599558140284643834">"බලය සුරැකීමේ ප්‍රකාරය"</item>
-    <item msgid="588427840913221601">"සැකසුම් තත්ත්වය"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"තහවුරු කරන්න"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"පෙරදසුන"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"තිර සුරැකුමක් තෝරන්න"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"අතිරේක තොරතුරු පෙන්වන්න"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"ඔබගේ ටැබ්ලටය ඈඳා ඇති විට ඔබ ඔබගේ තිරය මත දකිනු ඇති දේ තෝරන්න. තිර සුරැකුමක් භාවිත කරන විට ඔබගේ උපාංගය ශක්තිය වැඩියෙන් භාවිත කළ හැකිය."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"අභිරුචිකරණය කරන්න"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> අභිරුචිකරණය කරන්න"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"නිදහස් ආකෘති සහාය සබල කිරීමට නැවත පණ ගැන්වීමක් අවශ්‍ය වේ."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"ද්විතීයික සංදර්ශකවල ඩෙස්ක්ටොප් ප්‍රකාරය බල කිරීමට නැවත පණ ගැන්වීමක් අවශ්‍ය වේ."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"නිදහස් ආකෘති කවුළු සහාය සබල කිරීමට නැවත පණ ගැන්වීමක් අවශ්‍ය වේ."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"නිදහස් ආකෘති කවුළු පවතින බව යාවත්කාලීන කිරීමට නැවත පණ ගැන්වීමක් අවශ්‍ය වේ."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"ද්විතියික සංදර්ශකවල නිදහස් ආකෘති කවුළු සබල කිරීමට නැවත පණගැන්වීමක් අවශ්‍ය වේ."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"දැන් නැවත පණ ගන්වන්න"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"පසුව නැවත පණ ගන්වන්න"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"අවකාශීය ශ්‍රව්‍ය"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"රෝස"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"මැජෙන්ටා"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"වයලට්"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"නිමයි"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"සුරකින්න"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"අවලංගු කරන්න"</string>
     <string name="contrast_default" msgid="8918545965525226966">"පෙරනිමි"</string>
     <string name="contrast_medium" msgid="384414510709285811">"මධ්‍යම"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"ක්‍රියාත්මකයි"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"ක්‍රියාවිරහිතයි"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"ක්‍රියාත්මකයි"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"ශ්‍රව්‍ය %1$d%% වම, %2$d%% දකුණ"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"ශ්‍රව්‍ය %1$d%% දකුණ, %2$d%% වම"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"ඔබේ උපාංගයේ නම ඔබ ස්ථාපනය කර ඇති යෙදුම්වලට දෘශ්‍යමාන වේ. ඔබ බ්ලූටූත් උපාංග වෙත සම්බන්ධ වන විට, Wi-Fi ජාලයකට සම්බන්ධ වන විට හෝ Wi-Fi හොට්ස්පොට් එකක් පිහිටුවන විට එය වෙනත් පුද්ගලයන් විසින් ද දැකිය හැක."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"ව්‍යාකරණමය ලිංගභේදය"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ව්‍යාකරණමය ලිංගභේදය තෝරන්න"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"ශ්‍රව්‍ය බෙදා ගැනීම නතර විය"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"ගැළපෙන උපාංගයක් සම්බන්‍ධ කරන්න"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"ශ්‍රව්‍ය බෙදා ගැනීම පටන් ගැනීමට, පළමුව ඔබේ දුරකථනයට LE ශ්‍රව්‍ය හෙඩ්ෆෝන් සම්බන්‍ධ කරන්න"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> වෙත මාරු වන්න"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"LE ශ්‍රව්‍ය ප්‍රවාහයකට සම්බන්ධ වන්න"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"අවට ශ්‍රව්‍ය ප්‍රවාහ"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"ශ්‍රව්‍ය ප්‍රවාහ"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ප්‍රවාහයට සවන් දෙන්න"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> සමග සවන් දීමට ශ්‍රව්‍ය ප්‍රවාහ QR කේතයක් ස්කෑන් කරන්න"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"බෙදා ගන්නා අතරේ මුරපදය සංස්කරණය කළ නොහැක. මුරපදය වෙනස් කිරීමට, පළමුව ශ්‍රව්‍ය බෙදා ගැනීම ක්‍රියාවිරහිත කරන්න."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR කේත ස්කෑනරය"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"උදවු අවශ්‍ය ද?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"සෙවීමේ සැකසීම්"</string>
 </resources>
diff --git a/res/values-sk/arrays.xml b/res/values-sk/arrays.xml
index 1bed8d3..be2683c 100644
--- a/res/values-sk/arrays.xml
+++ b/res/values-sk/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Večierka"</item>
-    <item msgid="4152450357280759894">"Intenzívne"</item>
-    <item msgid="7096549258219399423">"Pútavé"</item>
-    <item msgid="2760716776980432977">"Spravované"</item>
-    <item msgid="601734478369121764">"Hviezda"</item>
-    <item msgid="6243809315432780521">"Kalendár"</item>
-    <item msgid="4913577903148415331">"Čas"</item>
-    <item msgid="3653377604690057780">"Kino"</item>
-    <item msgid="3843711267408385410">"Kvet"</item>
+    <item msgid="1216815120972438676">"Kufrík"</item>
+    <item msgid="184985872234062767">"Klasická budova"</item>
+    <item msgid="9189550412466785530">"Bytový dom"</item>
+    <item msgid="2142527562511049422">"Rečová bublina"</item>
+    <item msgid="2548100558260478605">"Skupina ľudí"</item>
+    <item msgid="2270003903304578284">"Žiarovka"</item>
+    <item msgid="4793496619091161864">"Kalendár"</item>
+    <item msgid="5673625795644364100">"Režim bez vyrušení"</item>
+    <item msgid="1423820834865831361">"Bežiaca osoba"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Činka"</item>
+    <item msgid="2730180105015616518">"Plávanie"</item>
+    <item msgid="2666922823253345958">"Osoba na túre"</item>
+    <item msgid="8234880356472211396">"Osoba, ktorá hádže loptu"</item>
+    <item msgid="4642980625253001443">"Osoba, ktorá kope"</item>
+    <item msgid="4324795269518833500">"Herný ovládač"</item>
+    <item msgid="7789966425125441125">"Maliarova paleta farieb"</item>
+    <item msgid="663512680597461570">"Snehová vločka"</item>
+    <item msgid="7952183800501346803">"Plážový slnečník"</item>
+    <item msgid="799139025758265891">"Nástroje v dielni"</item>
+    <item msgid="1330084588359129896">"Stan"</item>
+    <item msgid="3861584909935022342">"Filmový pásik"</item>
+    <item msgid="5827426100157335512">"Kniha"</item>
+    <item msgid="8585828346253128384">"Lotosový kvet"</item>
+    <item msgid="8788370542815300188">"Ľudská myseľ"</item>
+    <item msgid="7287354964767553293">"Slúchadlá"</item>
+    <item msgid="2530059623783800987">"Televízor"</item>
+    <item msgid="5307182323469376758">"Vlak"</item>
+    <item msgid="4903790544026923026">"Auto"</item>
+    <item msgid="5010405583912314582">"Vidlička a nôž"</item>
+    <item msgid="8939998598599064900">"Nákupný košík"</item>
+    <item msgid="3379605903308731893">"Dieťa"</item>
+    <item msgid="7808668968550293112">"Zvieracia labka"</item>
+    <item msgid="1000692647524056504">"Odznak hviezdičky"</item>
+    <item msgid="8270261073421676502">"Dvaja ľudia"</item>
+    <item msgid="5767782819651505460">"Hviezda"</item>
+    <item msgid="4368451291862729334">"Srdce"</item>
+    <item msgid="2613199102208419986">"Dom"</item>
+    <item msgid="3022279986430275040">"Polmesiac"</item>
+    <item msgid="5421089790869483206">"Hodiny"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 8ff92d5..84c97b5 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Pozastavená"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Neznáme"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Ukážka"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR kód"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Vždy"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Nastavenia načúvacieho zariadenia"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Skratka, kompatibilita s načúvadlami"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Predvoľba"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Váš audiológ nenaprogramoval žiadne predvoľby"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Predvoľbu sa nepodarilo aktualizovať"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Zvukový výstup"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Zvukový výstup"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Výber jazyka pre túto aplikáciu nie je v Nastaveniach k dispozícii."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Jazyk môže byť iný, ako sú tie, ktoré sú k dispozícii v aplikácii. Niektoré aplikácie nemusia toto nastavenie podporovať."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Nastavte jazyk pre každú aplikáciu."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Systém, aplikácie a weby používajú prvý jazyk z vášho poradia preferovaných jazykov, ktorý podporujú."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Vaše zariadenie, aplikácie a weby používajú prvý podporovaný jazyk z vášho zoznamu preferovaných jazykov.\n\nVeľa aplikácii bude pomocou vášho regiónu z vašich preferovaných jazykov formátovať dátumy, čísla a jednotky. Ak chcete svoj región zmeniť, pridajte jazyk a vyberte preferovaný región."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Ak chcete vybrať jazyk pre konkrétnu aplikáciu, prejdite do nastavení jazyka tejto aplikácie."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Ďalšie informácie o jazykoch aplikácií"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Chcete zmeniť jazyk systému na možnosť %s?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Vypnuté"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Zapnuté / # aplikácia má prístup k polohe}few{Zapnuté / # aplikácie majú prístup k polohe}many{On / # apps have access to location}other{Zapnuté / # aplikácií má prístup k polohe}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Načítava sa…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Aplikácie s povolením pre zariadenia v okolí môžu rozpoznať relatívnu pozíciu pripojených zariadení."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Aplikácie s povolením pre zariadenia v okolí môžu rozpoznať relatívnu pozíciu pripojených zariadení."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Prístup aplikácií a služieb k polohe je vypnutý. Poloha zariadenia však stále môže byť odoslaná záchranárom, keď zavoláte na tiesňovú linku alebo na ňu pošlete textovú správu."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Ďalšie informácie o nastaveniach polohy"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Ak chcete vykonať zmenu, prejdite do sekcie Nastavenia systému ChromeOS &gt; Ochrana súkromia a zabezpečenie &gt; Nastavenia ochrany súkromia &gt; Prístup k polohe"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Tvár a hodinky <xliff:g id="WATCH">%s</xliff:g> boli pridané"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Tvár, odtlačok prsta a hodinky <xliff:g id="WATCH">%s</xliff:g> boli pridané"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Tvár, odtlačky prstov a hodinky <xliff:g id="WATCH">%s</xliff:g> boli pridané"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Kontrola totožnosti je zapnutá a vyžaduje biometriu"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Odomknutie Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Hodinky boli pridané"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Nastavte si hodinky"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Ďalšie informácie o odomknutí hodinkami"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Pridať hodinky"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Odstrániť hodinky"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Odomknutie odtlačkom prsta a tvárou"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Odomknutie tvárou a odtlačkom prsta"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Odomknutie tvárou a odtlačkom prsta pre prácu"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Vyžaduje sa nastavenie"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Bola pridaná tvár a odtlačky prsta"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Nastavuje sa súkromný priestor…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Súkromný priestor sa nepodarilo nastaviť"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Skúsiť znova"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Ukončiť"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Súkromný priestor nie je k dispozícii.\nZobraziť možné príčiny"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Zobraziť možné príčiny"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Chcete pre súkromný priestor vybrať novú zámku?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Môžete nastaviť novú zámku iba pre súkromný priestor alebo použiť zámku, ktorou odomykáte svoje zariadenie"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Používať zámku obrazovky"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Keď je zapnuté rozhranie Bluetooth, zariadenie môže komunikovať s ostatnými zariadeniami s rozhraním Bluetooth v okolí.\n\nNa zlepšenie prostredia zariadenia môžu aplikácie a služby kedykoľvek vyhľadávať zariadenia v okolí, a to aj vtedy, keď je rozhranie Bluetooth vypnuté. Vďaka tomu je napríklad možné zlepšiť funkcie a služby podmienené polohou. Môžete to zmeniť v nastaveniach vyhľadávania zariadení Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Keď je zapnuté rozhranie Bluetooth, zariadenie môže komunikovať s ostatnými zariadeniami s rozhraním Bluetooth v okolí. Funkcie ako Quick Share a Nájdi moje zariadenie používajú Bluetooth.\n\nAplikácie a služby môžu kedykoľvek vyhľadávať zariadenia v okolí, a to aj vtedy, keď je rozhranie Bluetooth vypnuté. Môžete to napríklad využiť, keď chcete zlepšiť funkcie a služby podmienené polohou. Môžete to zmeniť v nastaveniach vyhľadávania zariadení Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Zmeniť"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"Zariadenie <xliff:g id="DEVICE_NAME">%1$s</xliff:g> nie je pripojené"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"Z bezpečnostných dôvodov zabudnite toto zariadenie a potom ho znova spárujte"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"Zabudnúť zariadenie"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"Zrušiť"</string>
     <string name="device_details_title" msgid="1155622417516195481">"O zariadení"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Nastavenia klávesnice"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Ďalšie nastavenia"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Aktualizácie firmvéru, informácie a ďalšie"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Tipy a podpora"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Adresa Bluetooth zariadenia: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Adresa zariadenia Bluetooth:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Zabudnúť zariadenie?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Experimentálne. Zlepší kvalitu zvuku."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Zabudnúť zariadenie"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Odpojiť aplikáciu"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Ďalšie nastavenia"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Maximálny počet pripojených zvukových zariadení Bluetooth"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Výber maximálneho počtu pripojených zvukových zariadení Bluetooth"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Podrobný denník dodávateľa pre ladenie NFC"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Chcete zariadenie reštartovať?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Podrobné zaznamenávanie údajov NFC je určené iba na účely vývoja. Ďalšie údaje NFC sú zahrnuté v hláseniach chýb, ktoré môžu obsahovať súkromné informácie. Ak chcete toto nastavenie zmeniť, reštartujte zariadenie."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Reštartovať"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Zapnuté"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Vypnuté"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Externá obrazovka"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Použiť externú obrazovku"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Rozlíšenie displeja"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Externá obrazovka je odpojená"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Otočenie"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Štandardné"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Zmena otočenia alebo rozlíšenia môže zastaviť všetky aktuálne spustené aplikácie"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Ak chcete zrkadliť obrazovku, zariadenie musí byť pripojené k externej obrazovke"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Ďalšie možnosti"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Prenos"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"zrkadlenie"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Povoliť bezdrôtové zobrazenie"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptívne"</string>
     <string name="brightness" msgid="6216871641021779698">"Úroveň jasu"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Adaptácia jasu"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Informácie o adaptácii jasu"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Jas obrazovky sa automaticky prispôsobí prostrediu a aktivitám. Ručným posúvaním posúvača učíte adaptáciu jasu svoje preferované nastavenia."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Zapnuté"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Vypnuté"</string>
@@ -1311,8 +1340,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Používať <xliff:g id="CARRIER">%1$s</xliff:g> na mobilné dáta?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Používate mobilné dáta od operátora <xliff:g id="CARRIER2_0">%2$s</xliff:g>. Ak prepnete na <xliff:g id="CARRIER1">%1$s</xliff:g>, <xliff:g id="CARRIER2_1">%2$s</xliff:g> sa už nebude používať na mobilné dáta."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Používať <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Aktualizovať pref. SIM kartu?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> je jediná SIM karta v zariadení. Chcete ju použiť na mobilné dáta, hovory a správy SMS?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> je teraz vaša primárna SIM karta"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Zlepšiť pokrytie mob. dátami?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Povoľte svojmu zariadeniu automaticky prepínať na mobilné dáta operátora <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g>, keď má lepšiu dostupnosť."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Vaša organizácia môže vidieť hovory, správy a sieťovú premávku."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Možnosti"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Dostupnosť"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fyzická klávesnica"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Používať klávesnicu na obrazovke"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Ponechať na obrazovke, keď je aktívna fyzická klávesnica"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Klávesy jedného stlačenia"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Klávesnica ignoruje rýchle opakované stlačenia rovnakého klávesa rýchlosťou do <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Pomalé klávesy"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Upraví čas aktivácie po stlačení klávesa na <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Režim uzamknutia klávesa"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Používať skratky stlačením jedného klávesa namiesto viacerých"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Klávesy myši"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Ovládať myš pomocou fyzickej klávesnice"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Klávesové skratky"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Zobraziť zoznam skratiek"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Klávesnice a nástroje pracovného profilu"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Prispôsobte si jednotlivé navigačné gestá touchpadu"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Obrátené posúvanie"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Pri posúvaní nadol sa obsah pohybuje nahor"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Klepnutie vpravo dole"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Viac zobrazíte klepnutím do pravého dolného rohu touchpadu"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Kliknutie vpravo dole"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Kliknutím v pravom dolnom rohu touchpadu zobrazíte ďalšie možnosti"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Rýchlosť kurzora"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Štýl vyplnenia kurzora"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Zmena farby kurzora na čiernu"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Zmena farby kurzora na žltú"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Zmena farby kurzora na ružovú"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Zmena farby kurzora na modrú"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Štýl čiary kurzora"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Biely"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Čierny"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Žiadny"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Naučiť sa gestá touchpadu"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"trackpad, myš, kurzor, posúvať, potiahnuť, kliknúť pravým tlačidlom, kliknúť, ukazovateľ"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"kliknúť pravým tlačidlom, klepnúť"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Resetovať"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Vyberte modifikačný kláves"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Vyberte pre <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> nový kláves:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Dostupnosť fyzickej klávesnice"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Režim uzamknutia klávesa, klávesy jedného stlačenia, klávesy myši"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Rozloženie <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Predvolené"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automaticky: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Vybrané používateľom: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Reč"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Rýchlosť kurzora"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Mierka ukazovateľa"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Znížiť mierku ukazovateľa"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Zvýšiť mierku ukazovateľa"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Herné ovládače"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Presmerovať vibrácie"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Posielať vibrácie do herného ovládača, keď je pripojený"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Aj tak pokračovať"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Zrušiť"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Nastavenia priblíženia"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Presunutie jedným prstom"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Lupu presúvajte jedným prstom"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Po obrazovke sa pohybujte presúvaním jedného prsta"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Jedným prstom presuňte oblasť zväčšenia."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Dvoma prstami presuňte oblasť zväčšenia."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Nie je k dispozícii iba pri zväčšovaní časti obrazovky"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Na priblíženie klepnite na tlačidlo"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Obrazovku si môžete rýchlo priblížiť, aby bol obsah väčší"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Priblíženie:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Skratkou spustite zväčšenie.&lt;br/&gt; {1,number,integer}. Klepnite na obrazovku.&lt;br/&gt; {2,number,integer}. Pohybujte sa po obrazovke presúvaním dvoch prstov.&lt;br/&gt; {3,number,integer}. Priblíženie upravte stiahnutím či roztiahnutím dvoch prstov.&lt;br/&gt; {4,number,integer}. Zväčšenie ukončíte skratkou.&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Dočasné priblíženie:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Skontrolujte, či je typ zväčšenia nastavený na celú obrazovku.&lt;br/&gt; {1,number,integer}. Skratkou spustite zväčšenie.&lt;br/&gt; {2,number,integer}. Pridržte ľubovoľné miesto na obrazovke.&lt;br/&gt; {3,number,integer}. Pohybujte sa po obrazovke presúvaním prsta.&lt;br/&gt; {4,number,integer}. Zväčšenie ukončíte zdvihnutím prsta."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Ak chcete priblížiť:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Skratkou spustite zväčšenie.&lt;br/&gt; {1,number,integer}. Klepnite na obrazovku.&lt;br/&gt; {2,number,integer}. Posúvajte sa po obrazovke presúvaním dvoch prstov.&lt;br/&gt; {3,number,integer}. Priblíženie upravte stiahnutím či roztiahnutím dvoch prstov.&lt;br/&gt; {4,number,integer}. Zväčšenie zastavíte pomocou skratky.&lt;br/&gt;&lt;br/&gt; Okrem toho môžete krátkodobo priblížiť a vykonávať ďalšie akcie."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Ak chcete priblížiť:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Skratkou spustite zväčšenie.&lt;br/&gt; {1,number,integer}. Klepnite na obrazovku.&lt;br/&gt; {2,number,integer}. Posúvajte sa po obrazovke presúvaním jedného alebo dvoch prstov.&lt;br/&gt; {3,number,integer}. Priblíženie upravte stiahnutím či roztiahnutím dvoch prstov.&lt;br/&gt; {4,number,integer}. Zväčšenie zastavíte pomocou skratky.&lt;br/&gt;&lt;br/&gt; Okrem toho môžete krátkodobo priblížiť a vykonávať ďalšie akcie."</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_pager" msgid="8461939455728454061">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>. stránka z <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Skratka tlačidla dostupnosti"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Klepnite na plávajúce tlačidlo"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Gesto dostupnosti"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Klepnite na tlačidlo dostupnosti <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> dole na obrazovke. Medzi jednotlivými funkciami môžete prepínať jeho pridržaním."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Potiahnite dvoma prstami z dolnej časti obrazovky nahor.\n\nFunkcie prepnete potiahnutím dvoma prstami smerom nahor a pridržaním."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Potiahnite troma prstami z dolnej časti obrazovky nahor.\n\nFunkcie prepnete potiahnutím troma prstami smerom nahor a pridržaním."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Potiahnite zdola obrazovky nahor. Funkcie prepnete potiahnutím nahor a pridržaním.}few{Potiahnite # prstami zdola obrazovky nahor. Funkcie prepnete potiahnutím # prstami nahor a pridržaním.}many{Swipe up with # fingers from the bottom of your screen. To switch between features, swipe up with # fingers and hold.}other{Potiahnite # prstami zdola obrazovky nahor. Funkcie prepnete potiahnutím # prstami nahor a pridržaním.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Ďalšie možnosti"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Ďalšie informácie o funkcii <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Tlačidlá hlasitosti"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"tlačidlá hlasitosti"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Pridržte obe tlačidlá hlasitosti"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Dvojité klepnutie dvoma prstami na obrazovku"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Dvojité klepnutie %1$d prstami"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Rýchlo 2‑krát klepnite na obrazovku %1$d prstami"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Trojité klepnutie"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Rýchlo %1$d-krát klepnite na obrazovku. Môže to zariadenie spomaliť."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Dvojité klepnutie %1$d prstami"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Rýchlo {0,number,integer}-krát klepnite dvoma prstami na obrazovku"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Tri klepnutia na obrazovku"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"trojité klepnutie"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"{0,number,integer}‑krát rýchlo 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_global_gesture_preference_title" msgid="8866765674372344850">"Skratka tlačidiel hlasitosti"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Nastavenia skratiek"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Odkaz z uzamknutej obrazovky"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"Skratka tlačidiel hlasitosti na uzamkn. obrazovke"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Povoliť, aby odkaz fungoval aj na uzamknutej obrazovke, podržaním oboch tlačidiel hlasitosti na niekoľko sekúnd"</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Tlačidlo dostupnosti"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Tlačidlo a gesto dostupnosti"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Táto služba nepracuje správne."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Skratky dostupnosti"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Zobraziť v rýchlych nastaveniach"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Červená a zelená"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Červená a zelená"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Červenozelená, deuteranomália"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Červenozelená, protanomália"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Modrá a žltá"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Odfarbenie"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intenzita"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Porucha vnímania zelenej, deuteranomália"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Porucha vnímania červenej, protanomália"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Nie je k dispozícii pre režim odfarbenia alebo keď je úprava farieb vypnutá"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Mimoriadne stmavenie"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Mimoriadne stmaviť obrazovku"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Azúrová"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Žltá"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Purpurová"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Chcete povoliť službe <xliff:g id="SERVICE">%1$s</xliff:g> úplnú kontrolu nad zariadením?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> potrebuje:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Nastavenia nemôžu overiť vašu odpoveď, pretože určitá aplikácia blokuje žiadosť o povolenie."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"Služba <xliff:g id="SERVICE">%1$s</xliff:g> vyžaduje úplnú kontrolu nad týmto zariadením. Táto služba môže čítať obrazovku a konať v mene používateľov, ktorí vyžadujú funkcie dostupnosti. Pre väčšinu aplikácií nie je táto úroveň kontroly primeraná."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Úplná kontrola je vhodná pre aplikácie, ktoré vám pomáhajú s dostupnosťou, ale nie pre väčšinu aplikácií."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Zobrazenie a ovládanie obrazovky"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Môže čítať všetok obsah na obrazovke a zobrazovať obsah cez ďalšie aplikácie."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Zobrazenie a vykonávanie akcií"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Môže sledovať vaše interakcie s aplikáciou alebo hardvérovým senzorom a interagovať s aplikáciami za vás."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Povoliť"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Zamietnuť"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Vypnúť"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Zapnuté / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> a <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Priestorový zvuk môžete zapnúť aj pre zariadenia s rozhraním Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Nastavenia pripojených zariadení"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Priestorový zvuk"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Vypnuté"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Vypnuté"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Vypnuté"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Žiadne}=1{Bol nastavený 1 plán}few{Boli nastavené # plány}many{# schedules set}other{Bolo nastavených # plánov}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Režim bez vyrušení"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Režimy priority"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Pridať režim"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Režimy"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Minimalizujte vyrušenia a majte svoju pozornosť pod kontrolou pomocou režimov spánku, práce, šoférovania a všetkého medzi tým."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Vytvorte vlastný režim"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Prijímajte upozornenia iba od dôležitých ľudí a z dôležitých aplikácií"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Nastaviť plán"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Plán na základe"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Deň a čas"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"Od 9:00 do 17:00 cez pracovné dni"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Udalosti v kalendári"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{Režim {mode_1} je aktívny}=2{Režimy {mode_1} a {mode_2} sú aktívne}=3{Režimy {mode_1}, {mode_2} a {mode_3} sú aktívne}few{Režimy {mode_1}, {mode_2} a # ďalšie sú aktívne}many{{mode_1}, {mode_2}, and # more are active}other{Režimy {mode_1}, {mode_2} a # ďalších je aktívnych}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 režim sa môže zapínať automaticky}few{# režimy sa môžu zapínať automaticky}many{# modes can turn on automatically}other{# režimov sa môže zapínať automaticky}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ZAPNUTÉ"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Nenastavené"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Deaktivované"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Vytvorte režim"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Vlastné"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Zapnúť"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Vypnúť"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Režim sa nenašiel"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Obmedzenie vyrušení"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Blokujte vyrušenia a rozptyľovanie"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Nastaviť <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Zapnite režim bez vyrušení"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Budíky a zvuky médií môžu vyrušiť"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Plány"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Odstrániť plány"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Odstrániť"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Premenovať"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Odstrániť"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Chcete odstrániť režim <xliff:g id="MODE">%1$s</xliff:g>?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Upraviť"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Plány"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Plán"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Automatické zapínanie"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Pridajte kalendár"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Použiť kalendár"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Rozpis"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Nastavte si plán"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Kedy zapínať automaticky"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Plán udalosti"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Zapnúť počas udalostí pre"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Kde je odpoveď na pozvánku"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Časový plán"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Naplánovať"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Plán"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Povolenie zvukových vyrušení"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Upozornenia, ku ktorým máte prístup"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Ďalšie akcie"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Filtre upozornení"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Ďalšie nastavenia"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Vypnuté}=1{Vypnuté / 1 režim sa môže zapínať automaticky}few{Vypnuté / # režimy sa môžu zapínať automaticky}many{Off / # modes can turn on automatically}other{Vypnuté / # režimov sa môže zapínať automaticky}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Nastavenia obrazovky"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Možnosti zobrazenia"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Odfarbenie"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"zapnutie tmavého motívu"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Prepnite operačný systém a aplikácie na preferovaný svetlý text na tmavom pozadí, čo môže byť menej namáhavé pre oči a významne prispeje k úspore batérie v niektorých zariadeniach"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Žiadne zmeny obrazovky}=1{{effect_1}}=2{{effect_1} a {effect_2}}=3{{effect_1}, {effect_2} a {effect_3}}few{{effect_1}, {effect_2} a # ďalšie}many{{effect_1}, {effect_2}, and # more}other{{effect_1}, {effect_2} a # ďalších}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Povoliť všetky upozornenia"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Ľudia, aplikácie a zvuky môžu vyrušiť"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Možnosti obrazovky na filtrovanie upozornení"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Keď je zapnutý režim bez vyrušení"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Upozornenia bez zvuku"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"otvoriť upozornenie"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Povoliť stlmenie upozornení"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Bodka upozornení na ikone aplikácie"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Balíky upozornení"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bubliny"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubliny"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Zobrazovať túto konverzáciu v bubline"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Môže odpovedať na správy a podniknúť akcie v súvislosti s tlačidlami v upozorneniach vrátane stlmenia alebo zavretia upozornení a prijímania hovorov."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Meniť nastavenia"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Môže zapnúť alebo vypnúť režim bez vyrušení a zmeniť súvisiace nastavenia."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Umožňuje spravovať a aktivovať režimy a meniť súvisiace nastavenia."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Ak vypnete prístup k upozorneniam pre aplikáciu <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, môžete tým vypnúť aj prístup pre režim bez vyrušení."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Ak vypnete prístup položky <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> k upozorneniam, môžete tým vypnúť aj prístup k režimom."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Vypnúť"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Zrušiť"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Reálny čas"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Táto aplikácia nepodporuje zlepšené nastavenia"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Ďalšie nastavenia"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"V tejto aplikácii sú k dispozícii ďalšie nastavenia"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Adaptívne upozornenia"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Používať adaptívne upozornenia"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Keď v krátkom čase dostanete priveľa upozornení, telefón maximálne na dve minúty zníži hlasitosť a minimalizuje vyskakovacie okná na obrazovke. Hovory, budíky a prioritné konverzácie budú naďalej vibrovať, vydávať zvuky alebo sa zobrazovať na obrazovke. Všetky upozornenia ľahko vyhľadáte potiahnutím zhora obrazovky nadol."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Stlmenie upozornení"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Používanie stlmenia upozornení"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Keď dostanete v krátkom čase priveľa upozornení, zariadenie až na dve minúty zníži hlasitosť a minimalizuje počet upozornení. Netýka sa to hovorov, budíkov a prioritných konverzácií. \n\nUpozornenia prijaté počas režimu stlmenia zobrazíte potiahnutím zhora obrazovky nadol."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Použiť na pracovné profily"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Platí pre aplikácie v pracovnom profile"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Pomocné služby VR"</string>
@@ -3650,6 +3709,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Prístup k režimu bez vyrušení"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Povoliť režim bez vyrušení"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Prístup k režimu bez vyrušení si nevyžiadali žiadne nainštalované aplikácie"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Prístup k režimom"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Povoliť prístup k režimom"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Prístup k režimom si nevyžiadali žiadne nainštalované aplikácie"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Nepovolili ste upozornenia z tejto aplikácie"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Táto kategória upozornení je v zariadení na vašu žiadosť blokovaná Androidom"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Táto skupina upozornení je v zariadení na vašu žiadosť blokovaná Androidom"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Kategórie"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Iné"</string>
     <string name="no_channels" msgid="4716199078612071915">"Táto aplikácia ešte neposlala žiadne upozornenia"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Zobrazenie nepoužívaných kategórií"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Ďalšie nastavenia v aplikácii"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Zobraziť nepoužívané kategórie"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Skryť nepoužívané kategórie"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Konverzácie"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Všetky konverzácie"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"všetky konverzácie"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Prioritné konverzácie"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"prioritné konverzácie"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Žiadne"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Aplikácie, ktoré môžu vyrušiť"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Vybrané aplikácie"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Žiadne"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Všetky"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Žiadne aplikácie nemôžu vyrušiť}=1{{app_1} môže vyrušiť}=2{{app_1} a {app_2} môžu vyrušiť}=3{{app_1}, {app_2} a {app_3} môžu vyrušiť}few{{app_1}, {app_2} a # ďalšie aplikácie môžu vyrušiť}many{{app_1}, {app_2}, and # more can interrupt}other{{app_1}, {app_2} a # ďalších aplikácií môžu vyrušiť}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (práca)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Prebieha výpočet..."</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Povoľte aplikáciám prekonávať nastavenia"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikácie, ktoré môžu vyrušiť"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Vyberte ďalšie aplikácie"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Žiadne zvuky nemôžu vyrušiť"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Nikto nemôže vyrušiť"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Niektorí ľudia môžu vyrušiť"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Opakované volania môžu rušiť"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Všetci ľudia môžu vyrušiť"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Opakované volania"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Povoliť opakované volania"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Zmena v budíkoch iba na hodinu do {time}}few{Zmena v budíkoch iba na # hodiny do {time}}many{Change to alarms only for # hours until {time}}other{Zmena v budíkoch iba na # hodín do {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Zmena na možnosť Iba budíky platná do <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Zmena na možnosť Vždy prerušiť"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Premenovať"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Zmeniť ikonu"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Zmeniť ikonu"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Úprava režimu"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Vytvorte režim"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Vlastný režim"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Názov režimu"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Udalosti v kalendári"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Postup Večierka"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Počas jazdy"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Nastavenia aplikácie"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Informácie a nastavenia v aplikácii <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Spravované aplikáciou <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Chcete vypnúť <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Tento režim sa nikdy nezapne, keď bude vypnutý"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Vypnúť"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Chcete zapnúť <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Tento režim sa môže zapínať automaticky podľa nastavení"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Zapnúť"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Nastavte režim, ktorý bude fungovať podľa pravidelného plánu"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Nastavte režim tak, aby boli synchronizované udalosti v kalendári a odpovede na pozvánky"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Navrhnite upokojujúci postup pred spánkom. Nastavte budíky, stmavte obrazovku a zablokujte upozornenia."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Priorizujte bezpečnosť na ceste, aby vás pri šoférovaní nič nerušilo a mohli ste sa sústrediť"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Zablokujte v zariadení všetko, čo vás môže rozptyľovať a vyrušovať, čím zlepšíte mieru sústredenia"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Eliminujte všetky možnosti rozptyľovania, aby vás nič nerušilo"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Prispôsobte prostredia a nastavenia zariadenia pre rôznych používateľov"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Povoľte, aby vás mohli kontaktovať iba dôležití ľudia a aplikácie, čím minimalizujete vyrušenia"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Nastavte režim, ktorý bude fungovať podľa pravidelného plánu"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Synchronizujte svoje zariadenie s udalosťami počas dňa"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Prebúdzajte sa s maximálnou energiou"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Bezpečnosť na cestách na prvom mieste"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Sústreďte sa a nenechajte sa rušiť"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Pre chvíle, keď je úcta dôležitá"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Sprievodca používaním, ktorý vám pomôže zostať v dobrých rukách"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Prevezmite kontrolu nad svojou pozornosťou"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Upozornenie"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Zavrieť"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Odoslať spätnú väzbu o zariadení"</string>
@@ -4006,6 +4102,10 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Musí zostať zapnuté, pretože je zapnutý prístup k upozorneniam"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Odvolať prístup k režimu bez vyrušení pre aplikáciu <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Všetky pravidlá režimu bez vyrušení vytvorené touto aplikáciou budú odstránené."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Chcete aplikácii <xliff:g id="APP">%1$s</xliff:g> povoliť prístup k režimom?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Aplikácia bude môcť vypínať a zapínať režim bez vyrušení, spravovať a aktivovať režimy a meniť súvisiace nastavenia."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"Chcete zrušiť prístup aplikácie <xliff:g id="APP">%1$s</xliff:g> k sekcii Režimy?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Všetky režimy vytvorené touto aplikáciou budú odstránené."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Neoptimalizovať"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimalizovať"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Batéria sa môže vybíjať rýchlejšie. Aplikácie už nebudú mať obmedzené používanie batérie na pozadí."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Puzdro"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Batéria"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Panel s nastaveniami"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"Vynútiť režim pracovnej plochy"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Vynútiť experimentálny režim pracovnej plochy na sekundárnych obrazovkách"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"Povolenie meniteľných okien"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Povoliť meniteľné okná na sekundárnej obrazovke"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Povoliť v režime viac. okien aplik. bez možn. zmeny veľkosti"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Povoliť v režime viacerých okien aplikácie bez možnosti zmeny veľkosti"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Presadiť tmavý režim"</string>
@@ -4969,7 +5069,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobilné dáta"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Aplikácie a služby môžu kedykoľvek vyhľadávať siete Wi‑Fi (a to aj vtedy, keď je pripojenie Wi‑Fi vypnuté), čím zlepšujú prostredie v zariadení. Môžu tak napríklad zlepšovať fungovanie funkcií a služieb podmienených polohou. Toto nastavenie môžete zmeniť v nastaveniach vyhľadávania sietí Wi‑Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Zmeniť"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Pripojené"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Dočasne pripojené"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Dočasne sa používa <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -5001,7 +5100,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Používať pripnutie aplikácie"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Používať nastavenia pre vývojárov"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Používať tlačovú službu"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Povoliť viacero používateľov"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Povoliť prepínanie používateľov"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"povoliť, viacero, používateľ, povolenie, veľa"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"viacerí, používatelia, profily, ľudia, účty, prepnúť, mnoho"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Používať bezdrôtové ladenie"</string>
@@ -5058,52 +5157,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> sa chce pripojiť k tomuto telefónu.\n\nK zariadeniu <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> ste sa ešte nikdy nepripojili."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Nepripojiť"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Pripojiť"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Nastavenia TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Zapnuté"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Vypnuté"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Vrátiť na predvolené nastavenia"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Boli vrátené predvolené nastavenia."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Max. rovnováha pri úplnom nabití zariad."</string>
-    <string name="tare_balances" msgid="731881382594747961">"Zostatky"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Limity spotreby"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Limit počiatočnej spotreby"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Limit minimálnej spotreby"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Limit maximálnej spotreby"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modifikátory"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Akcie (realizačné náklady)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Akcie (základná cena)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Odmeny za jednu udalosť"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Odmeny za každú sekundu trvania udalosti"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Maximálny počet odmien za deň"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Inštalácia aplikácie"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Najčastejšia aktivita"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Zhliadnutie upozornenia"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Zhliadnutie upozornenia do 15 minút"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interakcia s upozornením"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Interakcia s miniaplikáciou"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Iná interakcia používateľa"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Spustenie procesu s maximálnou prioritou"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Je spustený proces s max. prioritou"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Spustenie procesu s vysokou prioritou"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Je spustený proces s vysokou prioritou"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Spustenie procesu s predvol. prioritou"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Je spustený proces s predvol. prioritou"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Spustenie procesu s nízkou prioritou"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Je spustený proces s nízkou prioritou"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Spustenie procesu s minimálnou prioritou"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Je spustený proces s min. prioritou"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Pokuta za vypršanie čas. limitu procesu"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Minimálna rovnováha pri úplnom nabití zariadenia (s výnimkou)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Min. rovnováha pri úplnom nabití (systémová aplikácia bez grafického rozhrania)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Minimálna rovnováha pri úplnom nabití zariadenia (zvyšné aplikácie)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Minimálny zostatok pri úplnom nabití (aktualizácia aplikácií)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Nabíjanie"</item>
-    <item msgid="658627268149681677">"Zdriemnutie"</item>
-    <item msgid="1599558140284643834">"Úsporný režim"</item>
-    <item msgid="588427840913221601">"Stav procesov"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Potvrdiť"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Zobraziť ukážku"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Vyberte šetrič obrazovky"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Zobrazovať ďalšie informácie"</string>
@@ -5115,8 +5168,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Vyberte, čo sa bude zobrazovať na vašej obrazovke po vložení tabletu do doku. Zariadenie môže pri používaní šetriča obrazovky spotrebúvať viac energie."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Prispôsobiť"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Prispôsobiť <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Zapnutie podpory funkcie Freeform vyžaduje reštartovanie."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Vynútenie režimu pracovnej plochy na sekundárnych obrazovkách vyžaduje reštartovanie."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Zapnutie podpory meniteľných okien vyžaduje reštart."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Aktualizácia dostupnosti meniteľných okien vyžaduje reštart."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Povolenie meniteľných okien na sekundárnych obrazovkách vyžaduje reštart."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reštartovať"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reštartovať neskôr"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Priestorový zvuk"</string>
@@ -5213,7 +5267,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Ružová"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Ružovofialová"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Fialová"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Hotovo"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Uložiť"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Zrušiť"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Predvolený"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Stredný"</string>
@@ -5234,6 +5288,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Zapnuté"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Vypnuté"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Zapnuté"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Zvuk – ľavé: %1$d%%, pravé: %2$d%%"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Zvuk – pravé: %1$d%%, ľavé: %2$d%%"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Názov zariadenia je viditeľný pre aplikácie, ktoré ste nainštalovali. Keď sa pripojíte k zariadeniam s rozhraním Bluetooth alebo sieti Wi‑Fi, prípadne nastavíte hotspot Wi‑Fi, môžu ho uvidieť aj ďalší ľudia."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Gramatický rod"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Výber gramatického rodu"</string>
@@ -5302,6 +5358,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Zdieľanie zvuku bolo zastavené"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Pripojte kompatibilné zariadenie"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Ak chcete začať zdieľať zvuk, pripojte si k telefónu slúchadlá podporujúce LE Audio"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Prepnúť na <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Pripojenie k zvukovému streamu LE"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Zvukové streamy v okolí"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Zvukové streamy"</string>
@@ -5345,4 +5402,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Počúvať stream"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Naskenujte QR kód zvukového streamu a počúvajte pomocou zariadenia <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Heslo sa nedá upraviť počas zdieľania. Ak ho chcete zmeniť, najprv vypnite zdieľanie zvuku."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Skener QR kódov"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Potrebujete pomoc?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Nastavenia vyhľadávania"</string>
 </resources>
diff --git a/res/values-sl/arrays.xml b/res/values-sl/arrays.xml
index 510b97a..c368aef 100644
--- a/res/values-sl/arrays.xml
+++ b/res/values-sl/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Čas za spanje"</item>
-    <item msgid="4152450357280759894">"Vožnja"</item>
-    <item msgid="7096549258219399423">"Poglobljeno"</item>
-    <item msgid="2760716776980432977">"Upravljano"</item>
-    <item msgid="601734478369121764">"Zvezda"</item>
-    <item msgid="6243809315432780521">"Koledar"</item>
-    <item msgid="4913577903148415331">"Čas"</item>
-    <item msgid="3653377604690057780">"Gledališče"</item>
-    <item msgid="3843711267408385410">"Roža"</item>
+    <item msgid="1216815120972438676">"Aktovka"</item>
+    <item msgid="184985872234062767">"Klasična stavba"</item>
+    <item msgid="9189550412466785530">"Stanovanjski objekt"</item>
+    <item msgid="2142527562511049422">"Oblaček z govorom"</item>
+    <item msgid="2548100558260478605">"Skupina oseb"</item>
+    <item msgid="2270003903304578284">"Žarnica"</item>
+    <item msgid="4793496619091161864">"Koledar"</item>
+    <item msgid="5673625795644364100">"Ne moti"</item>
+    <item msgid="1423820834865831361">"Oseba teče"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Telovadna utežna ročka"</item>
+    <item msgid="2730180105015616518">"Plavanje"</item>
+    <item msgid="2666922823253345958">"Oseba na pohodu"</item>
+    <item msgid="8234880356472211396">"Oseba meče žogo"</item>
+    <item msgid="4642980625253001443">"Oseba brca"</item>
+    <item msgid="4324795269518833500">"Krmilnik za igre"</item>
+    <item msgid="7789966425125441125">"Barvna paleta umetnika"</item>
+    <item msgid="663512680597461570">"Snežinka"</item>
+    <item msgid="7952183800501346803">"Senčnik"</item>
+    <item msgid="799139025758265891">"Orodja v delavnici"</item>
+    <item msgid="1330084588359129896">"Šotor"</item>
+    <item msgid="3861584909935022342">"Filmski trak"</item>
+    <item msgid="5827426100157335512">"Knjiga"</item>
+    <item msgid="8585828346253128384">"Lotosov cvet"</item>
+    <item msgid="8788370542815300188">"Misli osebe"</item>
+    <item msgid="7287354964767553293">"Slušalke"</item>
+    <item msgid="2530059623783800987">"Televizor"</item>
+    <item msgid="5307182323469376758">"Vlak"</item>
+    <item msgid="4903790544026923026">"Avtomobil"</item>
+    <item msgid="5010405583912314582">"Vilice in nož"</item>
+    <item msgid="8939998598599064900">"Nakupovalni voziček"</item>
+    <item msgid="3379605903308731893">"Otrok"</item>
+    <item msgid="7808668968550293112">"Živalska šapa"</item>
+    <item msgid="1000692647524056504">"Značka zvezdice"</item>
+    <item msgid="8270261073421676502">"Dve osebi"</item>
+    <item msgid="5767782819651505460">"Zvezda"</item>
+    <item msgid="4368451291862729334">"Srce"</item>
+    <item msgid="2613199102208419986">"Hiša"</item>
+    <item msgid="3022279986430275040">"Polmesec"</item>
+    <item msgid="5421089790869483206">"Ura"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 11538b1..dd01602 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Začasno ustavljeno"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Neznano"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Predogled"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"Koda QR"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Vedno"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Nastavitve slušnega aparata"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Bližnjica, združljivost s slušnimi aparati"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Prednastavljeno"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Avdiolog ni programiral nobenih prednastavljenih vrednosti"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Prednastavljenih vrednosti ni bilo mogoče posodobiti"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Zvočni izhod"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"O zvočnem izhodu"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"V nastavitvah ni na voljo izbire jezika za to aplikacijo."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Jezik se morda razlikuje od jezikov, ki so na voljo v aplikaciji. Nekatere aplikacije morda ne podpirajo te nastavitve."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Nastavite jezik za posamezno aplikacijo."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Sistem, aplikacije in spletna mesta uporabijo prvi podprti jezik izmed prednostnih jezikov."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Naprava, aplikacije in spletna mesta uporabijo prvi podprti jezik na seznamu prednostnih jezikov.\n\nŠtevilne aplikacije bodo na podlagi regije prednostnega jezika tudi oblikovale zapis datumov, števil in merskih enot. Če želite spremeniti regijo, dodajte jezik in nato izberite prednostno regijo."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Če želite izbrati jezik za posamezno aplikacijo, odprite nastavitve jezika aplikacije."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Več o jezikih aplikacij"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Želite sistemski jezik spremeniti v jezik »%s«?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Izklopljeno"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Vklopljeno/dostop do lokacije ima # aplikacija}one{Vklopljeno/dostop do lokacije ima # aplikacija}two{Vklopljeno/dostop do lokacije imata # aplikaciji}few{Vklopljeno/dostop do lokacije imajo # aplikacije}other{Vklopljeno/dostop do lokacije ima # aplikacij}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Nalaganje …"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Aplikacije z dovoljenjem za naprave v bližini lahko določijo relativno lokacijo povezanih naprav."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Aplikacije z dovoljenjem za naprave v bližini lahko določijo relativno lokacijo povezanih naprav."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Dostop do lokacije je izklopljen za aplikacije in storitve. Lokacija naprave bo morda kljub temu poslana službam za nujne primere, ko pokličete številko za klic v sili ali nanjo pošljete sporočilo SMS."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Preberite več o nastavitvah lokacije"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Če želite spremeniti, odprite nastavitve sistema ChromeOS &gt; Zasebnost in varnost &gt; Nastavitve zasebnosti &gt; Dostop do lokacije"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Obraz in <xliff:g id="WATCH">%s</xliff:g> sta dodana"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Obraz, prstni odtis in <xliff:g id="WATCH">%s</xliff:g> so dodani"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Obraz, prstni odtisi in <xliff:g id="WATCH">%s</xliff:g> so dodani"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Preverjanje identitete je vklopljeno in zahteva biometrične podatke"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Odklepanje storitve Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Ura je dodana"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Nastavitev ure"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Preberite več o odklepanju z uro."</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Dodaj uro"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Odstranitev ure"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Odklepanje s prstnim odtisom in obrazom"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Odklepanje z obrazom in prstnim odtisom"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Odklepanje z obrazom in prstnim odtisom za delo"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Potrebna je nastavitev"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Obraz in prstni odtisi so dodani."</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Nastavljanje zasebnega prostora …"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Zasebnega prostora ni bilo mogoče nastaviti"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Poskusi znova"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Zapri"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Zasebni prostor ni na voljo.\nOgled možnih vzrokov"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Ogled možnih vzrokov"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Želite izbrati novo zaklepanje za zasebni prostor?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Nastavite lahko novo zaklepanje samo za zasebni prostor ali pa uporabite enako zaklepanje, kakršnega uporabljate za odklepanje naprave"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Uporabi zaklepanje zaslona"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Ko je Bluetooth vklopljen, lahko vaša naprava komunicira z drugimi napravami Bluetooth v bližini.\n\nZa izboljšano izkušnjo pri uporabi naprave lahko aplikacije in storitve še vedno kadar koli iščejo naprave v bližini, tudi ko je Bluetooth izklopljen. To se na primer uporablja za izboljšanje funkcij in storitev, ki pri delovanju uporabljajo lokacijo. Izbiro lahko spremenite v nastavitvah iskanja naprav Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Ko je Bluetooth vklopljen, lahko vaša naprava komunicira z drugimi napravami Bluetooth v bližini. Funkcije, kot sta Hitro deljenje in Poišči mojo napravo, uporabljajo Bluetooth.\n\nAplikacije in storitve lahko še vedno kadar koli iščejo naprave v bližini, tudi ko je Bluetooth izklopljen. To se na primer uporablja za izboljšanje funkcij in storitev, ki pri delovanju uporabljajo lokacijo. Izbiro lahko spremenite v nastavitvah iskanja naprav Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Spremeni"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"Naprava <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ni povezana"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"Zaradi varnosti pozabite to napravo in jo znova seznanite"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"Pozabi napravo"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"Prekliči"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Podrobnosti o napravi"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Nastavitve tipkovnice"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Več nastavitev"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Posodobitve vdelane programske opreme, vizitka in drugo"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Nasveti in podpora"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Naslov Bluetooth naprave: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Naslov Bluetooth naprave:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Želite, da vaša naprava pozabi seznanjeno napravo?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Poskusno. Izboljša kakovost zvoka."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Pozabi napravo"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Prekini povezavo z aplikacijo"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Več nastavitev"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Največje dovoljeno število povezanih zvočnih naprav Bluetooth"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Izberite največje dovoljeno število povezanih zvočnih naprav Bluetooth"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Podroben dnevnik odpravljanja napak NFC za ponudnika"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Vnovični zagon?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Podrobno zapisovanje dnevnika za NFC je namenjeno samo za razvoj. Dodatni podatki NFC so vključeni v poročilih o napakah, ki morda vsebujejo zasebne podatke. Če želite spremeniti to nastavitev, znova zaženite napravo."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Zaženi znova"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Vklopljeno"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Izklopljeno"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Zunanji zaslon"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Uporabi zunanji zaslon"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Ločljivost zaslona"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Zunanji zaslon ni povezan"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Vrtenje"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standardno"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Če spremenite zasuk z vrtenjem ali ločljivost, lahko s tem ustavite vse aplikacije, ki se trenutno izvajajo"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Če želite zrcaliti zaslon, mora biti naprava povezana z zunanjim zaslonom"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Več možnosti"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Predvajanje"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"zrcaljenje"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Omogočanje brezžičnega zaslona"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Prilagodljive"</string>
     <string name="brightness" msgid="6216871641021779698">"Raven svetlosti"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Prilagodljiva svetlost"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"O prilagodljivi svetlosti"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Svetlost zaslona se bo samodejno prilagajala glede na okolje in dejavnosti. Če želite, da funkcija za prilagodljivo svetlost hitreje spozna vaše želje, lahko ročno premaknete drsnik."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Vklopljeno"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Izklopljeno"</string>
@@ -1311,8 +1340,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Želite za mobilne podatke uporabiti <xliff:g id="CARRIER">%1$s</xliff:g>?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Za prenos podatkov v mobilnem omrežju uporabljate operaterja <xliff:g id="CARRIER2_0">%2$s</xliff:g>. Če preklopite na operaterja <xliff:g id="CARRIER1">%1$s</xliff:g>, operaterja <xliff:g id="CARRIER2_1">%2$s</xliff:g> ne boste več uporabljali za prenos podatkov v mobilnem omrežju."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Uporabi operaterja <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Želite posodobiti prednostno kartico SIM?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> je edina kartica SIM v napravi. Ali želite to kartico SIM uporabljati za prenos podatkov v mobilnih omrežjih, klice in pošiljanje sporočil SMS?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> je zdaj vaša glavna kartica SIM"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Izboljšava prenosa mobilnih podatkov?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Napravi dovolite, da za prenos podatkov v mobilnem omrežju samodejno preklopi na operaterja <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g>, kadar ima ta boljšo razpoložljivost."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Klici, sporočila in omrežni promet so lahko vidni vaši organizaciji."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Možnosti"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Dostopnost"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fizična tipkovnica"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Uporabi zaslonsko tipkovnico"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Obdrži na zaslonu, tudi ko je fizična tipkovnica aktivna."</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Zaznava večkratnih pritiskov tipk"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Tipkovnica prezre hitro ponovljene pritiske iste tipke v <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Daljši pritisk tipk"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Čas, potreben za aktiviranje pritiska tipke, prilagodi na <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Zaklepanje tipk"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Za bližnjice pritisnite eno tipko hkrati namesto več tipk hkrati"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Tipke za miško"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Upravljanje miške s fizično tipkovnico."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Bližnjične tipke"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Prikaz seznama bližnjic"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tipkovnice in orodja delovnega profila"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Prilagajanje potez za krmarjenje na sledilni ploščici"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Obratno pomikanje"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Pri drsenju navzdol se vsebina premika navzgor"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Dotik spodnjega desnega kota"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Za več možnosti se dotaknite sledilne ploščice spodaj desno"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Klik v spodnjem desnem kotu"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Za več možnosti kliknite sledilno ploščico spodaj desno"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Hitrost kazalca"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Slog zapolnitve kazalca"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"V črni slog zapolnitve kazalca"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"V rumeni slog zapolnitve kazalca"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"V rožnati slog zapolnitve kazalca"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"V modri slog zapolnitve kazalca"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Slog poteze kazalca"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Bela"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Črna"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Brez"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Učenje potez na sledilni ploščici"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"sledilna ploščica, miška, kazalec, drsenje, vlečenje, desni klik, klik"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"desni klik, dotik"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Ponastavi"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Izbira modifikatorske tipke"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Izberite novo tipko za »<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>«:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Dostopnost fizične tipkovnice"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Zaklepanje tipk, zaznava večkratnih pritiskov tipk, tipke za miško"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Postavitev <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Privzeto"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Samodejno: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Uporabniško izbrano: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Govor"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Hitrost kazalca"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Velikost kazalca"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Zmanjšanje velikosti kazalca"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Povečanje velikosti kazalca"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Krmilnik za igre"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Preusmeritev vibriranja"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Pošiljanje vibriranja v krmilnik za igre, ko je povezan"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Vseeno nadaljuj"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Prekliči"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Nastavitve povečave"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Pomikanje z enim prstom"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Premikanje lupe z enim prstom"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Po zaslonu se pomikate z vlečenjem prsta."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Območje povečave premikajte z vlečenjem enega prsta."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Območje povečave premikajte z vlečenjem dveh prstov."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Ni na voljo pri povečavi samo dela zaslona"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Če želite povečati, se dotaknite gumba"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Hitro povečajte zaslon za povečavo vsebine."</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Če želite povečati:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Z bližnjico vklopite povečavo.&lt;br/&gt; {1,number,integer}. Dotaknite se zaslona.&lt;br/&gt; {2,number,integer}. Po zaslonu se pomikajte z vlečenjem dveh prstov.&lt;br/&gt; {3,number,integer}. Stopnjo povečave prilagodite tako, da prsta razmaknete ali primaknete.&lt;br/&gt; {4,number,integer}. Z bližnjico izklopite povečavo.&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Povečavo začasno vklopite tako:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Prepričajte se, da je vrsta povečave nastavljena na celozaslonski način.&lt;br/&gt; {1,number,integer}. Z bližnjico vklopite povečavo.&lt;br/&gt; {2,number,integer}. Dotaknite se poljubne točke na zaslonu in jo pridržite.&lt;br/&gt; {3,number,integer}. Po zaslonu se pomikajte z vlečenjem prsta.&lt;br/&gt; {4,number,integer}. Dvignite prst, da izklopite povečavo."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Če želite povečati:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Z bližnjico vklopite povečavo.&lt;br/&gt; {1,number,integer}. Dotaknite se zaslona.&lt;br/&gt; {2,number,integer}. Po zaslonu se pomikajte z vlečenjem dveh prstov.&lt;br/&gt; {3,number,integer}. Stopnjo povečave prilagodite tako, da prsta razmaknete ali primaknete.&lt;br/&gt; {4,number,integer}. Z bližnjico izklopite povečavo.&lt;br/&gt;&lt;br/&gt; Povečavo lahko tudi začasno povečate in drugo."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Če želite povečati:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Z bližnjico vklopite povečavo.&lt;br/&gt; {1,number,integer}. Dotaknite se zaslona.&lt;br/&gt; {2,number,integer}. Po zaslonu se pomikajte z vlečenjem enega ali dveh prstov.&lt;br/&gt; {3,number,integer}. Stopnjo povečave prilagodite tako, da prsta razmaknete ali primaknete.&lt;br/&gt; {4,number,integer}. Z bližnjico izklopite povečavo.&lt;br/&gt;&lt;br/&gt; Povečavo lahko tudi začasno povečate in drugo."</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_pager" msgid="8461939455728454061">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>. stran od <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Bližnjica gumba za dostopnost"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Dotaknite se plavajočega gumba."</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Poteza za dostopnost"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Dotaknite se gumba za dostopnost <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na dnu zaslona. Če želite preklopiti med funkcijami, pridržite gumb za dostopnost."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Z dvema prstoma povlecite z dna zaslona navzgor.\n\nČe želite preklopiti med funkcijami, z dvema prstoma povlecite navzgor in pridržite."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"S tremi prsti povlecite z dna zaslona navzgor.\n\nČe želite preklopiti med funkcijami, s tremi prsti povlecite navzgor in pridržite."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{S prstom povlecite navzgor z dna zaslona. Če želite preklopiti med funkcijami, povlecite navzgor in pridržite.}one{Z # prstom povlecite navzgor z dna zaslona. Če želite preklopiti med funkcijami, z # prstom povlecite navzgor in pridržite.}two{Z # prstoma povlecite navzgor z dna zaslona. Če želite preklopiti med funkcijami, z # prstoma povlecite navzgor in pridržite.}few{S # prsti povlecite navzgor z dna zaslona. Če želite preklopiti med funkcijami, s # prsti povlecite navzgor in pridržite.}other{S # prsti povlecite navzgor z dna zaslona. Če želite preklopiti med funkcijami, s # prsti povlecite navzgor in pridržite.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Več možnosti"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Več o storitvi <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Gumba za glasnost"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"gumba za glasnost"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Pritisnite in pridržite obe tipki za glasnost."</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Dvakratni dotik zaslona z dvema prstoma"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Dvakratni dotik z %1$d prstoma"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Z %1$d prstoma se dvakrat hitro dotaknite zaslona."</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Trikratni dotik"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"%1$d-krat se hitro dotaknite zaslona. To bo morda upočasnilo delovanje naprave."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Dvakratni dotik z %1$d prstoma"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Z dvema prstoma se {0,number,integer}-krat hitro dotaknite zaslona"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Trikratni dotik zaslona"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"trikratni dotik"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"{0,number,integer}-krat se hitro 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 dostopnost 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_global_gesture_preference_title" msgid="8866765674372344850">"Bližnjica gumbov za glasnost"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Nastavitve bližnjice"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Bližnjica na zaklenjenem zaslonu"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"Bližnjica gumbov za glasnost pri zaklenjenem zaslonu"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Omogoči vklop bližnjice do funkcije na zaklenjenem zaslonu. Za nekaj sekund pridržite obe tipki za glasnost."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Gumb za dostopnost"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Gumb ali poteza za dostopnost"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Ta storitev ne deluje pravilno."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Bližnjice za dostopnost"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Prikaži v »Hitrih nastavitvah«"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rdeča-zelena"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Rdeča-zelena"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Rdeča in zelena, šibka zelena"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Rdeča in zelena, šibka rdeča"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Modra-rumena"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Sivine"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intenzivnost"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Šibka zelena, devteranomalija"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Šibka rdeča, protanomalija"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Ni na voljo v načinu sivin ali pri onemogočenem popravljanju barv"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Zelo zatemnjen zaslon"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Zelo zatemni zaslon"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Cijan"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Rumena"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Ali storitvi <xliff:g id="SERVICE">%1$s</xliff:g> dovolite popoln nadzor nad svojo napravo?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> mora:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Ker aplikacija zakriva zahtevo za dovoljenje, z nastavitvami ni mogoče preveriti vašega odziva."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> zahteva popoln nadzor nad to napravo. Storitev lahko prebere zaslon in deluje v imenu uporabnikov s posebnimi potrebami. Ta raven nadzora za večino aplikacij ni primerna."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Popoln nadzor je ustrezen za aplikacije, ki vam pomagajo pri funkcijah dostopnosti, vendar ne za večino aplikacij."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Ogledovanje in upravljanje zaslona"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Bere lahko vso vsebino na zaslonu ter prikaže vsebino prek drugih aplikacij."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Ogledovanje in izvajanje dejanj"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Spremlja lahko vaše interakcije z aplikacijo ali tipalom ter komunicira z aplikacijami v vašem imenu."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Dovoli"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Zavrni"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Izklopi"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Vklopljeno/<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> in <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Prostorski zvok lahko vklopite tudi za naprave Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Nastavitve povezanih naprav"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Prostorski zvok"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Izklopljeno"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Izklopljeno"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Izklopljeno"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Noben}=1{Nastavljen je 1 razpored}one{Nastavljen je # razpored}two{Nastavljena sta # razporeda}few{Nastavljeni so # razporedi}other{Nastavljenih je # razporedov}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Ne moti"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Prednostni načini"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Dodajte način"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Načini"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Zmanjšajte število motenj in z načini za spanje, delo, vožnjo in vse drugo poskrbite, da nič ne bo zmanjšalo vaše pozornosti."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Ustvarite svoj način"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Prejemajte samo obvestila pomembnih oseb in aplikacij."</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Nastavitev razporeda"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Razpored glede na"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Dan in ura"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"»9.00–17.00 ob delavnikih«"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Dogodki na koledarju"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{Način {mode_1} je aktiven}=2{Načina {mode_1} in {mode_2} sta aktivna}=3{Načini {mode_1}, {mode_2} in {mode_3} so aktivni}one{Načina {mode_1} in {mode_2} ter še # način so aktivni}two{Načina {mode_1} in {mode_2} ter še # načina so aktivni}few{Načina {mode_1} in {mode_2} ter še # načini so aktivni}other{Načina {mode_1} in {mode_2} ter še # načinov so aktivni}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 način se lahko samodejno vklopi}one{# način se lahko samodejno vklopi}two{# načina se lahko samodejno vklopita}few{# načini se lahko samodejno vklopijo}other{# načinov se lahko samodejno vklopi}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"VKLOPLJENO"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Ni nastavljeno"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Onemogočeno"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Ustvarjanje načina"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Po meri"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Vklopi zdaj"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Izklopi"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Način ni najden"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Omejitev prekinitev"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Blokiranje prekinitev in motenj"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Nastavite ta način: <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Vklop načina »Ne moti«"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarmi in zvoki predstavnosti lahko preglasijo"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Časovni razporedi"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Izbriši razporede"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Izbriši"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Preimenuj"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Izbriši"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Želite izbrisati način »<xliff:g id="MODE">%1$s</xliff:g>«?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Uredi"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Razporedi"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Razpored"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Samodejni vklop"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Dodajte koledar"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Uporabite koledar"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Razpored"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Nastavitev razporeda"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Kdaj naj se samodejno vklopi"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Razpored dogodka"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Vklop med dogodki za"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Kjer je odgovor na povabilo"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Časovni razpored"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Razpored"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Časovni razpored"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Dovoljene zvočne motnje"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Obvestila, za katera ste dosegljivi"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Dodatna dejanja"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Filtri obvestil"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Več nastavitev"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Izklopljeno}=1{Izklopljeno / 1 način se lahko samodejno vklopi}one{Izklopljeno / # način se lahko samodejno vklopi}two{Izklopljeno / # načina se lahko samodejno vklopita}few{Izklopljeno / # načini se lahko samodejno vklopijo}other{Izklopljeno / # načinov se lahko samodejno vklopi}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Nastavitve zaslona"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Možnosti prikaza"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Sivine"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"omogoči temno temo"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Preklopite nastavitev operacijskega sistema in aplikacij na svetlo besedilo na temnem ozadju, saj je to manj naporno za oči in v nekaterih napravah bistveno prispeva k varčevanju z energijo baterije"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Brez sprememb prikaza}=1{{effect_1}}=2{{effect_1} in {effect_2}}=3{{effect_1}, {effect_2} in {effect_3}}one{{effect_1}, {effect_2} in še #}two{{effect_1}, {effect_2} in še #}few{{effect_1}, {effect_2} in še #}other{{effect_1}, {effect_2} in še #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Dovoli vsa obvestila"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Osebe, aplikacije in zvoki lahko prekinejo"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Možnosti prikaza za filtrirana obvestila"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Ko je vklopljen način »Ne moti«"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Brez zvočnega opozarjanja na obvestila"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"odpiranje obvestila"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Omogoči prelaganje obvestil"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Obvestilna pika na ikoni aplikacije"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Svežnji obvestil"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Oblački"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Oblački"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Prikaži ta pogovor v oblačku"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Lahko odgovarja na sporočila in izvaja dejanja z gumbi v obvestilih, vključno s prelaganjem ali opuščanjem obvestil in sprejemanjem klicev."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Spreminjanje nastavitev"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Lahko vklopi ali izklopi način »ne moti« in spremeni povezane nastavitve."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Lahko upravlja in aktivira načine ter spreminja sorodne nastavitve."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Če za aplikacijo <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> izklopite dostop do obvestil, bo dostop do načina »Ne moti« morda tudi izklopljen."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Če za aplikacijo <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> izklopite dostop do obvestil, bo morda izklopljen tudi dostop do načinov."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Izklopi"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Prekliči"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"V realnem času"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Ta aplikacija ne podpira naprednih nastavitev."</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Več nastavitev"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Več nastavitev je na voljo v tej aplikaciji."</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Prilagodljiva obvestila"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Uporaba prilagodljivih obvestil"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Ko v kratkem času prejmete veliko obvestil, telefon zmanjša glasnost in minimira pojavne elemente na zaslonu za največ dve minuti. Klici, alarmi in prednostni pogovori bodo še vedno vibrirali, zvonili ali se prikazali na zaslonu, vsa obvestila pa zlahka najdete, ko povlečete navzdol z vrha zaslona."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Zmanjševanje glasnosti za obvestila"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Uporaba utišanja obvestil"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Ko v kratkem času prejmete veliko obvestil, naprava zmanjša glasnost in minimira opozorila za največ dve minuti. To ne vpliva na klice, alarme in prednostne pogovore. \n\nObvestila, ki jih prejmete med utišanjem, si lahko ogledate tako, da z vrha zaslona povlečete navzdol."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Uporaba za delovne profile"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Uporabi za aplikacije v delovnem profilu"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Storitve za pomoč za VR"</string>
@@ -3650,6 +3709,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Dostop do načina »Ne moti«"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Dovoli način »Ne moti«"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Nobena nameščena aplikacija ni zahtevala dostopa do načina »Ne moti«"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Dostop do načinov"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Dovoli dostop do načinov"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Nobena nameščena aplikacija ni zahtevala dostopa do načinov"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Niste dovolili obvestil te aplikacije"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Na vašo zahtevo je prikazovanje te kategorije obvestil blokirano v tej napravi Android"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Na vašo zahtevo je prikazovanje te skupine obvestil blokirano v tej napravi Android"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Kategorije"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Drugo"</string>
     <string name="no_channels" msgid="4716199078612071915">"Ta aplikacija ni objavila nobenih obvestil."</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Pokaži neuporabljene kategorije"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Dodatne nastavitve v aplikaciji"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Pokaži neuporabljene kategorije"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Skrij neuporabljene kategorije"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g>–<xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Pogovori"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Vsi pogovori"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"vsi pogovori"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Prednostni pogovori"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"prednostni pogovori"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Noben"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Aplikacije, ki lahko zmotijo"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Izbrane aplikacije"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Nobena"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Vse"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Preglasitev ni dovoljena za nobeno aplikacijo}=1{Preglasitev je dovoljena za aplikacijo {app_1}}=2{Preglasitev je dovoljena za aplikaciji {app_1} in {app_2}}=3{Preglasitev je dovoljena za aplikacije {app_1}, {app_2} in {app_3}}one{Preglasitev je dovoljena za aplikaciji {app_1} in {app_2} ter še # aplikacijo}two{Preglasitev je dovoljena za aplikaciji {app_1} in {app_2} ter še # aplikaciji}few{Preglasitev je dovoljena za aplikaciji {app_1} in {app_2} ter še # aplikacije}other{Preglasitev je dovoljena za aplikaciji {app_1} in {app_2} ter še # aplikacij}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (delo)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Izračunavanje …"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Aplikacijam dovoli preglasitev"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikacije, ki lahko preglasijo"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Izberite več aplikacij"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Nič ne sme preglasiti"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Nihče ne sme preglasiti"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Nekatere osebe lahko preglasijo"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Klicatelji, ki večkrat kličejo, lahko preglasijo"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Vsakdo lahko preglasi"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Klicatelji, ki večkrat kličejo"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Dovoli večkratne klicatelje"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Sprememba na samo alarme za eno uro do {time}}one{Sprememba na samo alarme za # uro do {time}}two{Sprememba na samo alarme za # uri do {time}}few{Sprememba na samo alarme za # ure do {time}}other{Sprememba na samo alarme za # ur do {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Sprememba na samo alarme do <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Sprememba na vedno prekini"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Preimenuj"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Spremeni ikono"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Spremeni ikono"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Urejanje načina"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Ustvarjanje načina"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Način po meri"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Ime načina"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Dogodki na koledarju"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Rutina za spanje"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Med vožnjo"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Nastavitve aplikacij"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Informacije in nastavitve v aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Upravlja <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Želite onemogočiti <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Če je ta način onemogočen, se ne bo nikoli vklopil"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Onemogoči"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Želite omogočiti <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Ta način se lahko samodejno vklopi, če je tako določeno v nastavitvah"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Omogoči"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Nastavite način, ki sledi rednemu urniku"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Nastavite način za sinhroniziranje dogodkov na koledarju in odzivov na povabila"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Pripravite vse potrebno za umiritev pred spanjem. Nastavite alarme, zatemnite zaslon in blokirajte obvestila."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Dajte prednost varnosti na cesti za zbrano vožnjo brez motenj"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Blokirajte motnje ali prekinitve iz naprave za večjo zbranost"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Odstranite vse motnje za tiho okolje"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Individualno prilagodite izkušnje in nastavitve v napravi za različne uporabnike"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Poskrbite za čim manj prekinitev tako, da boste dosegljivi le za pomembne osebe in aplikacije"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Nastavite način, ki sledi rednemu urniku"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Poskrbite, da bo naprava sinhronizirana z dnevnimi dogodki"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Zbudite se polni energije"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Naj bo varnost na cesti na prvem mestu"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Povsem se osredotočite"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Za trenutke, ko je pomembna vljudnost"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Vodena uporaba, s katero ste v dobrih rokah"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Prevzemite nadzor nad svojo pozornostjo"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Opozorilo"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Zapri"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Povratne informacije o tej napravi"</string>
@@ -4006,6 +4102,10 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Mora biti vklopljeno, ker je vklopljen dostop do obvestil."</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Želite aplikaciji <xliff:g id="APP">%1$s</xliff:g> preklicati dostop do načina »Ne moti«?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Vsa pravila za način »Ne moti«, ki jih je ustvarila ta aplikacija, bodo odstranjena."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Želite aplikaciji <xliff:g id="APP">%1$s</xliff:g> dovoliti dostop do načinov?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Aplikacija bo lahko vklopila/izklopila način »Ne moti«, upravljala in aktivirala načine ter spreminjala sorodne nastavitve."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"Želite preklicati dostop do načinov za aplikacijo <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Vsi načini, ki jih je ustvarila ta aplikacija, bodo odstranjeni."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Brez optimizacije"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimizacija"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Baterija se lahko hitreje izprazni. Aplikaciji ne bo več preprečena poraba energije baterije v ozadju."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Ovitek"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Baterija"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Podokno nastavitev"</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_desktop_mode" msgid="5644818402534562302">"Omogoči okna svobodne oblike"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Omogoči okna proste oblike na sekundarnem zaslonu"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Omogoči okna nespremenljive velikosti v načinu z več okni"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Omogoča uporabo aplikacij brez možnosti spreminjanja velikosti v načinu z več okni."</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Preglasi vsiljenje temnega načina"</string>
@@ -4969,7 +5069,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"prenos podatkov v mobilnem omrežju"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Za izboljšano izkušnjo pri uporabi naprave lahko aplikacije in storitve kadar koli iščejo omrežja Wi‑Fi, tudi ko je Wi‑Fi izklopljen. To funkcijo lahko na primer uporabite, če želite izboljšati funkcije in storitve, ki pri delovanju uporabljajo lokacijo. To lahko spremenite v nastavitvah iskanja omrežij Wi-Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Spremeni"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Povezano"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Začasno vzpostavljena povezava"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Začasna uporaba storitve <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -5001,7 +5100,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Uporabi pripenjanje aplikacije"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Uporabi možnosti za razvijalce"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Uporabi storitev tiskanja"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Dovoli več uporabnikov"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Dovoli preklop med uporabniki"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"dovoli, več, uporabnik, dovoljenje"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"več, uporabniki, profili, osebe, računi, preklopi, veliko"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Uporabi brezžično odpravljanje napak"</string>
@@ -5058,52 +5157,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"Naprava <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> se želi povezati s tem telefonom.\n\nŠe nikoli niste vzpostavili povezave z napravo <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Ne poveži"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Poveži"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Nastavitve TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Vklopljeno"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Izklopljeno"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Povrni na privzete nastavitve"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Nastavitve so ponastavljene na privzete."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Najvišje stanje ob polni napolnjenosti"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Stanja"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Omejitve porabe"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Začetna omejitev porabe"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Najnižja omejitev porabe"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Najvišja omejitev porabe"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modifikatorji"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Dejanja (izvedbena cena)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Dejanja (osnovna cena)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Nagrade po posameznih dogodkih"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Nagrade na sekundo trajanja dogodka"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Najvišje dnevno število nagrad"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Namestitev aplikacije"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Dejavnost v ospredju"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Obvestilo je bilo prebrano"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Obvestilo je bilo prebrano v 15 minutah"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interakcija z obvestilom"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Interakcija s pripomočkom"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Druga uporabniška interakcija"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Začetek opravila z najvišjo prednostjo"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Izvajanje opravila z najvišjo prednostjo"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Začetek opravila z visoko prednostjo"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Izvajanje opravila z visoko prednostjo"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Začetek opravila s privzeto prednostjo"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Izvajanje opravila s privzeto prednostjo"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Začetek opravila z nizko prednostjo"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Izvajanje opravila z nizko prednostjo"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Začetek opravila z najnižjo prednostjo"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Izvajanje opravila z najnižjo prednostjo"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Kazen za potek časovne omejitve opravila"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Najnižje stanje ob polni napolnjenosti (izvzete aplikacije)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Najnižje stanje ob polni napolnjenosti (sistemska aplikacija brez vmesnika)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Najnižje stanje ob polni napolnjenosti (preostale aplikacije)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Dodatek pri najnižjem stanju ob polni napolnjenosti (orodja za posod. aplikacij)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Polnjenje"</item>
-    <item msgid="658627268149681677">"Dremanje"</item>
-    <item msgid="1599558140284643834">"Način varčevanja z energijo"</item>
-    <item msgid="588427840913221601">"Stanje procesa"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Potrdi"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Predogled"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Izbira ohranjevalnika zaslona"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Prikaz dodatnih informacij"</string>
@@ -5115,8 +5168,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Izberite, kaj bo prikazano na zaslonu, ko je tablični računalnik priklopljen na nosilec. Naprava bo med uporabo ohranjevalnika zaslona morda porabljala več energije."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Prilagodi"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Prilagajanje ohranjevalnika zaslona <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Če želite omogočiti podporo za svobodno obliko, morate znova zagnati napravo."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Če želite vsiliti namizni način na sekundarnih zaslonih, morate znova zagnati napravo."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Če želite omogočiti podporo za okna proste oblike, morate znova zagnati napravo."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Če želite spremeniti razpoložljivost oken proste oblike, morate znova zagnati napravo."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Če želite omogočiti okna proste oblike na sekundarnem zaslonu, morate znova zagnati napravo."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Znova zaženi"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Znova zaženi pozneje"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Prostorski zvok"</string>
@@ -5213,7 +5267,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Rožnata"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Vijolična"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Končano"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Shrani"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Prekliči"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Privzet"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Srednji"</string>
@@ -5234,6 +5288,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Vklopljeno"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Izklopljeno"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Vklopljeno"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Zvok: %1$d%% levo, %2$d%% desno"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Zvok: %1$d%% desno, %2$d%% levo"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Ime naprave je vidno aplikacijam, ki ste jih namestili. Ko vzpostavite povezavo z napravami Bluetooth ali omrežjem Wi-Fi ali nastavite dostopno točko Wi-Fi, ga bodo morda videle tudi druge osebe."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Slovnični spol"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Izbira slovničnega spola"</string>
@@ -5302,6 +5358,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Deljenje zvoka je ustavljeno"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Povezovanje z združljivo napravo"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Če želite začeti deliti zvok, najprej povežite slušalke z LE zvokom in telefon"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Preklopi na napravo <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Vzpostavitev povezave s pretočnim predvajanjem LE zvoka"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Zvočni tokovi v bližini"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Zvočni tokovi"</string>
@@ -5345,4 +5402,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Poslušaj pretočno predvajanje"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Optično preberite kodo QR pretočnega predvajanja zvoka, če želite poslušati z napravo <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Gesla ni mogoče urejati med deljenjem. Če želite spremeniti geslo, najprej izklopite deljenje zvoka."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Optični bralnik kod QR"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Potrebujete pomoč?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Iskanje po nastavitvah"</string>
 </resources>
diff --git a/res/values-sq/arrays.xml b/res/values-sq/arrays.xml
index e034cc0..2450b85 100644
--- a/res/values-sq/arrays.xml
+++ b/res/values-sq/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Orari i gjumit"</item>
-    <item msgid="4152450357280759894">"Udhëtim me makinë"</item>
-    <item msgid="7096549258219399423">"Përfshirës"</item>
-    <item msgid="2760716776980432977">"I menaxhuar"</item>
-    <item msgid="601734478369121764">"Yll"</item>
-    <item msgid="6243809315432780521">"Kalendari"</item>
-    <item msgid="4913577903148415331">"Koha"</item>
-    <item msgid="3653377604690057780">"Teatri"</item>
-    <item msgid="3843711267408385410">"Lule"</item>
+    <item msgid="1216815120972438676">"Valixhe"</item>
+    <item msgid="184985872234062767">"Ndërtesë klasike"</item>
+    <item msgid="9189550412466785530">"Ndërtesë me apartamente"</item>
+    <item msgid="2142527562511049422">"Flluskë bisede"</item>
+    <item msgid="2548100558260478605">"Grup personash"</item>
+    <item msgid="2270003903304578284">"Llambë"</item>
+    <item msgid="4793496619091161864">"Kalendar"</item>
+    <item msgid="5673625795644364100">"Mos shqetëso"</item>
+    <item msgid="1423820834865831361">"Person duke vrapuar"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Girë palestre"</item>
+    <item msgid="2730180105015616518">"Not"</item>
+    <item msgid="2666922823253345958">"Person në ekskursion"</item>
+    <item msgid="8234880356472211396">"Person duke hedhur topin"</item>
+    <item msgid="4642980625253001443">"Person duke shkelmuar"</item>
+    <item msgid="4324795269518833500">"Kontrolluesi i lojës"</item>
+    <item msgid="7789966425125441125">"Paleta e ngjyrave e artistit"</item>
+    <item msgid="663512680597461570">"Flok dëbore"</item>
+    <item msgid="7952183800501346803">"Çadër plazhi"</item>
+    <item msgid="799139025758265891">"Vegla punishteje"</item>
+    <item msgid="1330084588359129896">"Tendë"</item>
+    <item msgid="3861584909935022342">"Bobina e filmit"</item>
+    <item msgid="5827426100157335512">"Libër"</item>
+    <item msgid="8585828346253128384">"Zambak uji"</item>
+    <item msgid="8788370542815300188">"Mendja e një personi"</item>
+    <item msgid="7287354964767553293">"Kufje"</item>
+    <item msgid="2530059623783800987">"Televizor"</item>
+    <item msgid="5307182323469376758">"Tren"</item>
+    <item msgid="4903790544026923026">"Makinë"</item>
+    <item msgid="5010405583912314582">"Pirun dhe thikë"</item>
+    <item msgid="8939998598599064900">"Karroca e blerjes"</item>
+    <item msgid="3379605903308731893">"Fëmijë"</item>
+    <item msgid="7808668968550293112">"Putër kafshe"</item>
+    <item msgid="1000692647524056504">"Stema e yllit"</item>
+    <item msgid="8270261073421676502">"Dy persona"</item>
+    <item msgid="5767782819651505460">"Yll"</item>
+    <item msgid="4368451291862729334">"Zemër"</item>
+    <item msgid="2613199102208419986">"Shtëpi"</item>
+    <item msgid="3022279986430275040">"Gjysmëhënë"</item>
+    <item msgid="5421089790869483206">"Orë"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index cdcdb95..d534b00 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"I pezulluar"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"E panjohur"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Pamja paraprake"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"Kodi QR"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Gjithmonë"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Cilësimet e pajisjes ndihmëse për dëgjimin"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Shkurtore, përputhshmëria me aparatet e dëgjimit"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Paravendosja"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Nuk ka paravendosje të programuara nga audiologu yt"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Paravendosja nuk mund të përditësohej"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Dalja e audios"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Rreth daljes së audios"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Zgjedhja e gjuhës për këtë aplikacion nuk ofrohet nga \"Cilësimet\"."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Gjuha mund të ndryshojë nga gjuhët që ofrohen në aplikacion. Disa aplikacione mund të mos e mbështetin këtë cilësim."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Cakto gjuhën për secilin aplikacion."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Sistemi, aplikacionet dhe uebsajtet përdorin gjuhën e parë të mbështetur nga gjuhët e tua të preferuara."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Pajisja jote, aplikacionet dhe uebsajtet përdorin gjuhën e parë të mbështetur nga lista e gjuhëve të tua të preferuara.\n\nShumë aplikacione do të përdorin gjithashtu rajonin nga gjuha jote e preferuar për formatimin e datave, numrave dhe njësive. Për të ndryshuar rajonin, shto një gjuhë dhe më pas zgjidh rajonin tënd të preferuar."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Për të zgjedhur një gjuhë për çdo aplikacion, shko te cilësimet e gjuhës së aplikacionit."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Mëso më shumë për gjuhët e aplikacionit"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Të ndryshohet gjuha e sistemit në %s ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Joaktiv"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Aktive / # aplikacion ka qasje te vendndodhja}other{Aktive / # aplikacione kanë qasje te vendndodhja}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Po ngarkohet…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Aplikacionet me lejen \"Pajisjet në afërsi\" mund të përcaktojnë pozicionin e përafërt të pajisjeve të lidhura."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Aplikacionet me lejen për pajisjet në afërsi mund të përcaktojnë pozicionin e përafërt të pajisjeve të lidhura."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Qasja te vendndodhja është joaktive për aplikacionet dhe shërbimet. Vendndodhja e pajisjes sate mund t\'u dërgohet përsëri personave që përgjigjen në rast urgjence kur telefonon ose dërgon mesazh te një numër urgjence."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Mëso më shumë për \"Cilësimet e vendndodhjes\""</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Për ta ndryshuar, shko te Cilësimet e ChromeOS &gt; Privatësia dhe siguria &gt; Kontrollet e privatësisë &gt; Qasja te vendndodhja"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Fytyra dhe <xliff:g id="WATCH">%s</xliff:g> u shtuan"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Fytyra, gjurma e gishtit dhe <xliff:g id="WATCH">%s</xliff:g> u shtuan"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Fytyra, gjurmët e gishtave dhe <xliff:g id="WATCH">%s</xliff:g> u shtuan"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"\"Kontrolli i identitetit\" është aktiv dhe kërkon të dhënat biometrike"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Shkyçja me vërtetuesin në distancë"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Ora u shtua"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Konfiguro orën tënde"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Mëso më shumë rreth \"Shkyçjes me orë\""</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Shto orën"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Hiq orën"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Shkyçja me gjurmë gishti dhe me fytyrë"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Shkyçja me fytyrë dhe me gjurmën e gishtit"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Shkyçja me fytyrë dhe gjurmë gishti për profilin e punës"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Nevojitet konfigurimi"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Fytyra dhe gjurmët e gishtave u shtuan"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Hapësira private po konfigurohet…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Hapësira private nuk mund të konfigurohej"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Provo përsëri"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Dil"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Hapësira private nuk ofrohet.\nShiko shkaqet e mundshme"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Shiko shkaqet e mundshme"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Të zgjidhet një kyçje e re për hapësirën private?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Mund të caktosh një kyçje të re vetëm për hapësirën private ose mund të përdorësh të njëjtën kyçje që përdor për të shkyçur pajisjen tënde"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Përdor kyçjen e ekranit"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Kur Bluetooth-i është i aktivizuar, pajisja jote mund të komunikojë me pajisje të tjera me Bluetooth në afërsi.\n\nPër të përmirësuar përvojën e pajisjes, aplikacionet dhe shërbimet mund të vazhdojnë të skanojnë për pajisje në afërsi në çdo kohë, edhe kur Bluetooth-i është joaktiv. Kjo mund të përdoret, për shembull, për të përmirësuar veçoritë dhe shërbimet e bazuara te vendndodhja. Mund ta ndryshosh këtë te cilësimet e skanimit me Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Kur Bluetooth-i është aktiv, pajisja jote mund të komunikojë me pajisjet e tjera me Bluetooth në afërsi. Veçoritë e tilla si \"Ndarja e shpejtë\" dhe \"Gjej pajisjen time\" përdorin Bluetooth-in.\n\nAplikacionet dhe shërbimet mund të skanojnë ende për pajisje në afërsi në çdo kohë, edhe kur Bluetooth-i është joaktiv. Kjo mund të përdoret, për shembull, për të përmirësuar veçoritë dhe shërbimet e bazuara te vendndodhja. Mund ta ndryshosh këtë te cilësimet e skanimit me Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Ndrysho"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Detajet e pajisjes"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Cilësimet e tastierës"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Cilësime të tjera"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Përditësime të firmuerit, informacione etj."</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Këshilla dhe mbështetje"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Adresa e Bluetooth-it e pajisjes: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Adresa e Bluetooth-it e pajisjes:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Të harrohet pajisja?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Eksperimentale. Përmirëson cilësinë e audios."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Harroje pajisjen"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Shkëput aplikacionin"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Cilësime të tjera"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Numri maksimal i pajisjeve të lidhura audio me Bluetooth"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Zgjidh numrin maksimal të pajisjeve të lidhura audio me Bluetooth"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Evidenca e zgjeruar e korrigjimit të shitësit të NFC-së"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Të riniset pajisja?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Regjistrimi i detajuar i lidhjes NFC është i planifikuar vetëm për qëllime zhvillimi. Të dhënat shtesë të lidhjes NFC përfshihen në raportet e defekteve në kod, të cilat mund të përmbajnë informacione private. Rinise pajisjen tënde për ta ndryshuar këtë cilësim."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Rinis"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Aktiv"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Joaktiv"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Ekrani i jashtëm"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Përdor ekranin e jashtëm"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Rezolucioni i ekranit"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Ekrani i jashtëm është shkëputur"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Rrotullimi"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standard"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Ndryshimi i rrotullimit ose rezolucionit mund të ndalojë çdo aplikacion që është aktualisht në funksionim"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Pajisja jote duhet të lidhet me një ekran të jashtëm për të pasqyruar ekranin tënd"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Opsione të tjera"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Transmetimi"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"pasqyro"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Aktivizo ekranin wireless"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Me përshtatje"</string>
     <string name="brightness" msgid="6216871641021779698">"Niveli i ndriçimit"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Ndriçimi me përshtatje"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Rreth ndriçimit me përshtatje"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Ndriçimi i ekranit tënd do t\'i përshtatet automatikisht mjedisit dhe aktiviteteve të tua. Mund ta lëvizësh rrëshqitësin manualisht për të ndihmuar ndriçimin me përshtatje që të mësojë preferencat e tua."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Aktiv"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Joaktiv"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Do të përdorësh <xliff:g id="CARRIER">%1$s</xliff:g> për të dhënat celulare?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Po përdor <xliff:g id="CARRIER2_0">%2$s</xliff:g> për të dhënat celulare. Nëse kalon te <xliff:g id="CARRIER1">%1$s</xliff:g>, <xliff:g id="CARRIER2_1">%2$s</xliff:g> nuk do të përdoret më për të dhënat celulare."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Përdor <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Të përditësohet karta e preferuar SIM?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> është karta e vetme SIM në pajisjen tënde. Dëshiron që ta përdorësh këtë kartë SIM për të dhënat celulare, telefonatat dhe mesazhet SMS?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> tani është karta parësore SIM"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Të përmirësohet mbulimi i të dhënave celulare?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Lejo pajisjen tënde të kalojë automatikisht në <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> për të dhënat celulare kur të ketë disponueshmëri më të mirë."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Telefonatat, mesazhet dhe trafiku i rrjetit mund të jenë të dukshme për organizatën tënde."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Opsionet"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Qasshmëria"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Tastiera fizike"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Përdor tastierën në ekran"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Mbaje në ekran ndërsa tastiera fizike është aktive"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Tastet e kërcimit"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Tastiera i shpërfill shtypjet e shpejta të përsëritura të të njëjtit tast brenda <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Tastet e ngadalta"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Rregullon kohën që duhet për aktivizimin e një shtypjeje tasti në <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Tastet e përhershme"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Shtyp vetëm një tast në një moment për shkurtoret në vend që t\'i mbash shtypur bashkë tastet"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Butonat e miut"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Përdor tastierën fizike për të kontrolluar miun."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Shkurtoret e tastierës"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Shfaq listën e shkurtoreve"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tastierat dhe veglat e profilit të punës"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Personalizo gjestet individuale të navigimit me bllokun me prekje"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Lëvizja në të kundërt"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Përmbajtja zhvendoset lart kur ti lëviz poshtë"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Trokitja poshtë djathtas"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Trokit te këndi poshtë djathtas i bllokut me prekje për më shumë opsione"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Klikimi në këndin poshtë djathtas"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Kliko te këndi poshtë djathtas i bllokut me prekje për më shumë opsione"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Shpejtësia e treguesit"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Stili i mbushjes së treguesit"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Ndrysho stilin e mbushjes së treguesit në të zezë"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Ndrysho stilin e mbushjes së treguesit në të verdhë"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Ndrysho stilin e mbushjes së treguesit në rozë"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Ndrysho stilin e mbushjes së treguesit në blu"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Stili i lëvizjes së treguesit"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"E bardhë"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"E zezë"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Asnjë"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Mëso gjestet e bllokut me prekje"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"blloku i prekjes, bllok i prekjes, miu, kursori, lëviz, rrëshqit shpejt, kliko më të djathtin, kliko, treguesi"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"kliko me të djathtin, trokit"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Rivendos"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Zgjidh tastin modifikues"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Zgjidh një çelës të ri për <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Struktura e <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"E parazgjedhur"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatik: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Zgjedhur nga përdoruesi: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Ligjërimi"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Shpejtësia e treguesit"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Shkalla e treguesit"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Zvogëlo shkallën e treguesit"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Rrit shkallën e treguesit"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Kontrolluesi i lojës"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Ridrejto dridhjen"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Dërgoji dridhjet te kontrolluesi i lojës kur të lidhet"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Vazhdo gjithsesi"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Anulo"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Cilësimet e zmadhimit"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Zgjerimi me një gisht"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Zhvendos zmadhuesin me 1 gisht"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Zvarrit 1 gisht për të lëvizur nëpër ekran"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Zhvendos zonë e zmadhimit duke zvarritur një gisht."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Zhvendos zonën e zmadhimit duke zvarritur dy gishta."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Nuk ofrohet kur zmadhohet vetëm një pjesë e ekranit"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Trokit te një buton për të zmadhuar"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Zmadho me shpejtësi në ekran për ta bërë përmbajtjen më të madhe"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Për të zmadhuar:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Përdor shkurtoren për të filluar zmadhimin&lt;br/&gt; {1,number,integer}. Trokit në ekran&lt;br/&gt; {2,number,integer}. Zvarrit 2 gishta për të lëvizur nëpër ekran&lt;br/&gt; {3,number,integer}. Bashko 2 gishta për të rregulluar zmadhimin&lt;br/&gt; {4,number,integer}. 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; {0,number,integer}. Sigurohu që lloji i zmadhimit të jetë caktuar në ekran të plotë&lt;br/&gt; {1,number,integer}. Përdor shkurtoren për të filluar zmadhimin&lt;br/&gt; {2,number,integer}. Prek dhe mbaj shtypur diku në ekran&lt;br/&gt; {3,number,integer}. Zvarrit gishtin për të lëvizur nëpër ekran&lt;br/&gt; {4,number,integer}. Ngrije gishtin për të ndaluar zmadhimin"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Për të zmadhuar:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Përdor shkurtoren për të filluar zmadhimin&lt;br/&gt; {1,number,integer}. Trokit në ekran&lt;br/&gt; {2,number,integer}. Zvarrit 2 gishta për të lëvizur nëpër ekran&lt;br/&gt; {3,number,integer}. Bashko 2 gishta për të rregulluar zmadhimin&lt;br/&gt; {4,number,integer}. Përdor shkurtoren për të ndaluar zmadhimin&lt;br/&gt;&lt;br/&gt; Mund ta zmadhosh gjithashtu përkohësisht dhe më shumë."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Për të zmadhuar:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Përdor shkurtoren për të filluar zmadhimin&lt;br/&gt; {1,number,integer}. Trokit në ekran&lt;br/&gt; {2,number,integer}. Zvarrit 1 ose 2 gishta për të lëvizur nëpër ekran&lt;br/&gt; {3,number,integer}. Bashko 2 gishta për të rregulluar zmadhimin&lt;br/&gt; {4,number,integer}. Përdor shkurtoren për të ndaluar zmadhimin&lt;br/&gt;&lt;br/&gt; Mund ta zmadhosh gjithashtu përkohësisht dhe më shumë."</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_pager" msgid="8461939455728454061">"Faqja <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> nga <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Shkurtorja e butonit të qasshmërisë"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Trokit te butoni pluskues"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Gjesti i qasshmërisë"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Trokit te butoni i qasshmërisë <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> në fund të ekranit. Për të ndërruar mes veçorive, prek dhe mbaj të shtypur butonin e qasshmërisë."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Rrëshqit shpejt lart nga fundi i ekranit me 2 gishta.\n\nPër të kaluar mes veçorive, rrëshqit shpejt lart me 2 gishta dhe mbaje të shtypur."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Rrëshqit shpejt lart nga fundi i ekranit me 3 gishta.\n\nPër të kaluar mes veçorive, rrëshqit shpejt lart me 3 gishta dhe mbaje të shtypur."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Rrëshqit shpejt lart nga fundi i ekranit tënd. Për të ndërruar mes veçorive, rrëshqit shpejt lart dhe mbaj shtypur.}other{Rrëshqit shpejt lart me # gishta nga fundi i ekranit. Për të ndërruar mes veçorive, rrëshqit shpejt lart me # gishta dhe mbaj shtypur.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Opsione të tjera"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Mëso më shumë për <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Tastet e volumit"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"tastet e volumit"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Shtyp dhe mbaj shtypur të dyja tastet e volumit"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Trokit dy herë me dy gishta në ekran"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Trokit dy herë me %1$d gishta"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Trokit me shpejtësi tek ekrani dy herë me %1$d gishta"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Trokit tri herë"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Trokit me shpejtësi tek ekrani %1$d herë. Kjo mund ta ngadalësojë pajisjen."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Trokit dy herë me %1$d gishta"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Trokit shpejt {0,number,integer} herë me dy gishta në ekran"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Trokit tri herë mbi ekran"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"trokit tri herë"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Trokit me shpejtësi {0,number,integer} herë në ekran. 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Cilësimet e shkurtores"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Shkurtorja nga ekrani i kyçjes"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Lejo që shkurtorja e veçorisë të aktivizohet nga ekrani i kyçjes. Mbaji të dy çelësat e volumit për disa sekonda."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Butoni i qasshmërisë"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Butoni dhe gjesti i qasshmërisë"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Ky shërbim nuk po funksionon mirë."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Shkurtoret e qasshmërisë"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Shfaq në Cilësimet e shpejta"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"E kuqe - e gjelbër"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"E kuqe - e gjelbër"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"E kuqe - e gjelbër, e gjelbër e dobët"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"E kuqe - e gjelbër, e kuqe e dobët"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"E kaltër - e verdhë"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Nuancat e grisë"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensiteti"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"E gjelbër e dobët, deuteranomali"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"E kuqe e dobët, protanomali"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Nuk ofrohet për modalitetin e nuancave të grisë ose kur është çaktivizuar korrigjimi i ngjyrës"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Shumë më i zbehtë"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Bëje ekranin shumë më të zbehtë"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Gurkali"</string>
     <string name="color_yellow" msgid="5957551912912679058">"E verdhë"</string>
     <string name="color_magenta" msgid="8943538189219528423">"E purpurt"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Të lejohet \"<xliff:g id="SERVICE">%1$s</xliff:g>\" që të ketë kontroll të plotë të pajisjes sate?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"\"<xliff:g id="SERVICE">%1$s</xliff:g>\" ka nevojë të:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Duke qenë se një aplikacion po bllokon një kërkesë për leje, \"Cilësimet\" nuk mund të verifikojnë përgjigjen tënde."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> po kërkon kontroll të plotë të kësaj pajisjeje. Shërbimi mund të lexojë ekranin dhe të veprojë në emër të përdoruesve me nevoja qasshmërie. Ky nivel kontrolli nuk është i përshtatshëm për shumicën e aplikacioneve."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Kontrolli i plotë është i përshtatshëm për aplikacionet që të ndihmojnë me nevojat e qasshmërisë, por jo për shumicën e aplikacioneve."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Shiko dhe kontrollo ekranin"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Mund të lexojë të gjithë përmbajtjen në ekran dhe të shfaqë përmbajtjen mbi aplikacione të tjera."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Shiko dhe kryej veprimet"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Mund të monitorojë ndërveprimet me një aplikacion ose një sensor hardueri dhe të ndërveprojë me aplikacionet në emrin tënd."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Lejo"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Refuzo"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Çaktivizo"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Aktiv / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> dhe <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Mund të aktivizosh po ashtu \"Audion hapësinore\" për pajisjet me Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Cilësimet e pajisjeve të lidhura"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Audio hapësinore"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Joaktiv"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Joaktiv"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Joaktiv"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Asnjë}=1{1 orar i caktuar}other{# orare të caktuara}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Mos shqetëso"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Modalitetet e përparësisë"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Shto një modalitet"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Modalitetet"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Minimizo shpërqendrimet dhe kontrollo vëmendjen tënde me modalitetet për gjumin, punën, drejtimin e makinës dhe çdo gjë tjetër."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Krijo modalitetin tënd"</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_select_schedule" msgid="663163931596092952">"Cakto një orar"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Orari bazuar në"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Dita dhe ora"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"9:00 - 17:00 në ditë jave\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Ngjarjet e kalendarit"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{Modaliteti \"{mode_1}\" është aktiv}=2{Modalitetet \"{mode_1}\" dhe \"{mode_2}\" janë aktive}=3{Modalitetet \"{mode_1}\", \"{mode_2}\" dhe \"{mode_3}\" janë aktive}other{Modalitetet \"{mode_1}\", \"{mode_2}\" dhe # të tjera janë aktive}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 modalitet mund të aktivizohet automatikisht}other{# modalitete mund të aktivizohen automatikisht}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"AKTIV"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Nuk është caktuar"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Çaktivizuar"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Krijo një modalitet"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"I personalizuar"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Aktivizo tani"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Çaktivizo"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Modaliteti nuk u gjet"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Kufizo ndërprerjet"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Blloko ndërprerjet dhe shpërqendrimet"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Konfiguro \"<xliff:g id="MODE">%1$s</xliff:g>\""</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Aktivizo \"Mos shqetëso\""</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarmet dhe tingujt e medias mund ta ndërpresin"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Oraret"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Fshi oraret"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Fshi"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Riemërto"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Fshi"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Të fshihet modaliteti \"<xliff:g id="MODE">%1$s</xliff:g>\"?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Redakto"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Oraret"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Orari"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Aktivizo automatikisht"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Shto një kalendar"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Përdor kalendarin tënd"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Orari"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Cakto një orar"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Kur të aktivizohet automatikisht"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Programi i ngjarjes"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Aktivizo gjatë ngjarjeve për"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Kur përgjigja për ftesën është"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Orari"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Orari"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> orë e <xliff:g id="MINUTES">%2$d</xliff:g> min."</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Orari"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Lejo ndërprerjet që lëshojnë tinguj"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Njoftimet që mund të marrësh"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Veprime të tjera"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Filtrat e njoftimeve"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Cilësime të tjera"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Joaktiv}=1{Joaktiv / 1 modalitet mund të aktivizohet automatikisht}other{Joaktiv / # modalitete mund të aktivizohen automatikisht}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Cilësimet e ekranit"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Opsionet e paraqitjes"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Nuancat e grisë"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"aktivizo temën e errët"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Bëj që sistemi operativ dhe aplikacionet të preferojnë tekstin e ndriçuar mbi sfond të errët, gjë që mund të jetë më e lehtë për sytë dhe të mundësojë një kursim të konsiderueshëm të baterisë në disa pajisje"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Asnjë ndryshim i paraqitjes}=1{{effect_1}}=2{{effect_1} dhe {effect_2}}=3{{effect_1}, {effect_2} dhe {effect_3}}other{{effect_1}, {effect_2} dhe # të tjera}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Lejo të gjitha njoftimet"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Personat, aplikacionet dhe tingujt mund ta ndërpresin"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opsionet e paraqitjes për njoftimet e filtruara"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Kur modaliteti \"Mos shqetëso\" është aktiv"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Asnjë tingull nga njoftimet"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"hap njoftimin"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Lejo shtyrjen e njoftimeve"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Pika e njoftimit në ikonën e aplikacionit"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Paketat e njoftimeve"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Flluskat"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Flluskat"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Vendos bisedën në flluskë"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Mund t\'u përgjigjet mesazheve dhe të kryejë veprime te butonat në njoftime, duke përfshirë shtyrjen ose heqjen e njoftimeve dhe përgjigjen ndaj telefonatave."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Të ndryshojë cilësimet"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Mund të aktivizojë ose çaktivizojë modalitetin \"Mos shqetëso\" dhe të ndryshojë cilësimet që lidhen me të."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Mund të menaxhojë dhe të aktivizojë modalitetet dhe të ndryshojë cilësimet përkatëse."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Nëse çaktivizon qasjen te njoftimet për \"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>\", mund të çaktivizohet edhe qasja te \"Mos shqetëso\"."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Nëse çaktivizon qasjen te njoftimet për <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, mund të çaktivizohet edhe qasja te modalitetet."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Çaktivizo"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Anulo"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Kohë reale"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Ky aplikacion nuk i mbështet cilësimet e përmirësuara"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Cilësime të tjera"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Brenda këtij aplikacioni ofrohen cilësime të tjera"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Njoftimet me përshtatje"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Përdor njoftimet me përshtatje"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Kur merr shumë njoftime brenda një kohe të shkurtër, telefoni yt do të ulë volumin dhe do të minimizojë dritaret kërcyese në ekran për deri në dy minuta. Telefonatat, alarmet dhe bisedat me përparësi do të lëshojnë përsëri dridhje ose tinguj ose do të shfaqen në ekran dhe të gjitha njoftimet mund t\'i gjesh me lehtësi kur tërheq poshtë nga kreu i ekranit."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Reduktimi i njoftimeve"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Përdor reduktimin e njoftimeve"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Kur merr shumë njoftime brenda një kohe të shkurtër, pajisja jote do të ulë volumin dhe do të minimizojë sinjalizimet për deri në 2 minuta. Telefonatat, alarmet dhe bisedat me përparësi nuk do të ndikohen. \n\nNjoftimet e marra gjatë reduktimit mund të gjenden duke tërhequr poshtë nga kreu i ekranit."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Zbato në profilet e punës"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Zbato për aplikacionet e profilit të punës"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Shërbimet e ndihmësit VR"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Qasja te \"Mos shqetëso\""</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Lejo modalitetin \"Mos shqetëso\""</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Asnjë aplikacion i instaluar nuk ka kërkuar qasje te \"Mos shqetëso\""</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Qasja te modalitetet"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Lejo qasjen te modalitetet"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Asnjë aplikacion i instaluar nuk ka kërkuar qasje te modalitetet"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Nuk i ke lejuar njoftimet nga ky aplikacion"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Me kërkesën tënde, Android po bllokon shfaqjen e kësaj kategorie njoftimesh në këtë pajisje"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Me kërkesën tënde, Android po bllokon shfaqjen e këtij grupi njoftimesh në këtë pajisje"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Kategoritë"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Të tjera"</string>
     <string name="no_channels" msgid="4716199078612071915">"Ky aplikacion nuk ka postuar asnjë njoftim"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Shfaq kategoritë e papërdorura"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Cilësime shtesë në aplikacion"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Shfaq kategoritë e papërdorura"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Fshih kategoritë e papërdorura"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Bisedat"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Të gjitha bisedat"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"të gjitha bisedat"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Bisedat me përparësi"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"biseda me përparësi"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Asnjë"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Aplikacionet që mund ta ndërpresin"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Aplikacionet e zgjedhura"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Asnjë"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Të gjitha"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Asnjë aplikacion nuk mund të ndërpresë}=1{{app_1} mund të ndërpresë}=2{{app_1} dhe {app_2} mund të ndërpresin}=3{{app_1}, {app_2} dhe {app_3} mund të ndërpresin}other{{app_1}, {app_2} dhe # aplikacione të tjera mund të ndërpresin}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (Puna)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Po llogaritet…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Lejo aplikacionet ta anulojnë"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikacionet që mund ta ndërpresin"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Zgjidh më shumë aplikacione"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Asgjë nuk mund ta ndërpresë"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Askush nuk mund ta ndërpresë"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Disa persona mund ta ndërpresin"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Telefonuesit e përsëritur mund të ndërpresin"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Të gjithë kontaktet mund ta ndërpresin"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Telefonuesit e përsëritur"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Lejo telefonuesit e përsëritur"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Ndrysho vetëm tek alarmet për një orë deri në {time}}other{Ndrysho vetëm tek alarmet për # orë deri në {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Ndrysho në gjendjen \"vetëm alarmet\" deri në <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Ndrysho te \"ndërprit gjithmonë\""</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Riemërto"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Ndrysho ikonën"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Ndrysho ikonën"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Modifiko modalitetin"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Krijo një modalitet"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Modaliteti i personalizuar"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Emri i modalitetit"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Ngjarjet e kalendarit"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Rutina e orarit të gjumit"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Kur lëviz me makinë"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Cilësimet e aplikacionit"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Informacione dhe cilësime në <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Menaxhohet nga <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Të çaktivizohet <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Ky modalitet nuk do të aktivizohet asnjëherë kur të çaktivizohet"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Çaktivizo"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Të aktivizohet <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Ky modalitet mund të aktivizohet automatikisht bazuar në cilësimet e tij"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Aktivizo"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Cakto një modalitet që ndjek një program të rregullt"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Cakto një modalitet për ta sinkronizuar me ngjarjet e kalendarit dhe përgjigjet e ftesave"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Projekto një rutinë gjumi qetësuese. Cakto alarmet, errëso ekranin dhe blloko njoftimet."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Jepi përparësi sigurisë në rrugë për një udhëtim të me fokus dhe pa shpërqendrime"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Blloko shpërqendrimet ose ndërprerjet nga pajisja jote për t\'u fokusuar"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Elimino të gjitha shpërqendrimet për një mjedis të heshtur"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Personalizo përvojat e pajisjes dhe cilësimet për përdorues të ndryshëm"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Minimizo ndërprerjet duke lejuar që të të arrijnë vetëm personat dhe aplikacionet e rëndësishme"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Cakto një modalitet që ndjek një program të rregullt"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Mbaje pajisjen tënde të sinkronizuar me ngjarjet e ditës sate"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Zgjohu me 100% energji"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Kushtoji rëndësi sigurisë në fillim kur je në rrugë"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Fokusohu për të shmangur shpërqendrimet"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Për momentet kur mirësjellja ka rëndësi"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Përdorimi me udhëzime për të të ndihmuar të jesh në duar të sigurta"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Merr kontrollin e vëmendjes sate"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Paralajmërim"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Mbyll"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Dërgo komente për këtë pajisje"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Duhet të qëndrojë e aktivizuar sepse qasja te njoftimet është e aktivizuar"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Të anulohet qasja te \"Mos shqetëso\" për <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Të gjitha rregullat e \"Mos shqetëso\" të krijuara nga ky aplikacion do të hiqen."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Të lejohet qasja te modalitietet për <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Aplikacioni do të mund të aktivizojë/çaktivizojë opsionin \"Mos shqetëso\", të menaxhojë dhe të aktivizojë modalitetet dhe të bëjë ndryshimet në cilësimet përkatëse."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Të gjitha modalitetet e krijuara nga ky aplikacioni do të hiqen."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Mos optimizo"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimizo"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Mund ta shkarkojë baterinë më shpejt. Aplikacioni nuk do të kufizohet më shumë nga përdorimi i baterisë në sfond."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Kasa"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Bateria"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Paneli i \"Cilësimeve\""</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_desktop_mode" msgid="5644818402534562302">"Aktivizo dritaret me formë të lirë"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Aktivizo dritare me formë të lirë në ekran dytësor"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Aktivizo aplikacionet me madhësi jo të ndryshueshme në modalitetin me shumë dritare"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Lejon që aplikacionet me madhësi jo të ndryshueshme të shfaqen në modalitetin me shumë dritare"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Anulo detyrimin e errësimit"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"të dhënat celulare"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Për të përmirësuar përvojën e pajisjes, aplikacionet dhe shërbimet mund të vazhdojnë të skanojnë për rrjete Wi‑Fi në çdo kohë, edhe kur Wi‑Fi është joaktiv. Kjo mund të përdoret, për shembull, për të përmirësuar veçoritë dhe shërbimet e bazuara te vendndodhja. Mund ta ndryshosh këtë te cilësimet e skanimit të Wi-Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Ndrysho"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Lidhur"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Lidhur përkohësisht"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Po përdor përkohësisht <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Përdor gozhdimin e aplikacionit"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Përdor opsionet e zhvilluesit"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Përdor shërbimin e printimit"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Lejo disa përdorues"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Lejo ndërrimin e përdoruesit"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"lejo, disa, përdorues, leje, shumë"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"disa, përdorues, profile, persona, llogari, shumë"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Përdor korrigjimin përmes Wi-Fi"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> dëshiron të lidhet me këtë telefon.\n\nNuk je lidhur me <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> më parë."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Mos lidh"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Lidh"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Cilësimet e TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Aktive"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Joaktive"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Riktheji te cilësimet e parazgjedhura"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Cilësimet u rikthyen te parazgjedhja."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Balancë maksimale e ngopur"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Balancat"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Kufijtë e konsumit"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Kufiri fillestar i konsumit"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Kufiri minimal i konsumit"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Kufiri maksimal i konsumit"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modifikues"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Veprimet (kostoja e prodhimit)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Veprimet (çmimi bazë)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Shpërblimet për çdo ngjarje"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Shpërblimet e kohëzgjatjes së ngjarjes"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Numri maksimal i shpërblimeve në ditë"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Instalimi i aplikacionit"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Aktivitet kryesor"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Njoftim i parë"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Njoftim i parë brenda 15 minutave"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Ndërveprim njoftimi"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Ndërveprim miniaplikacioni"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Ndërveprim përdoruesi tjetër"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Detyrë maksimale në nisje"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Detyrë maksimale në ekzekutim"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Detyrë e lartë në nisje"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Detyrë e lartë në ekzekutim"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Detyrë e parazgjedhur në nisje"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Detyrë e parazgjedhur në ekzekutim"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Detyrë e ulët në nisje"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Detyrë e ulët në ekzekutim"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Detyrë minimale në nisje"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Detyrë minimale në ekzekutim"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Penalizim skadimi detyre"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Balanca minimale në karikim të plotë (e përjashtuar)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Balanca minimale në karikim të plotë (aplikacion sistemi pa kokë)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Balanca minimale në karikim të plotë (aplikacionet e mbetura)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Shtimi i balancës minimale në karikim të plotë (Përditësuesit e aplikacionit)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Po karikohet"</item>
-    <item msgid="658627268149681677">"Një sy gjumë"</item>
-    <item msgid="1599558140284643834">"Modaliteti i kursimit të energjisë"</item>
-    <item msgid="588427840913221601">"Gjendja e procesit"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Konfirmo"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Pamja paraprake"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Zgjidh një mbrojtës ekrani"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Shfaq informacione shtesë"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Zgjidh se çfarë do të shohësh në ekranin tënd kur tableti të jetë lidhur me stacionin. Pajisja jote mund të përdorë më shumë energji kur përdoret një mbrojtës ekrani."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Personalizo"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Të personalizosh <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Kërkohet të rindizet për të aktivizuar mbështetjen në formë të lirë."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Kërkohet të rindizet për të detyruar modalitetin e desktopit në ekranet dytësore."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Kërkohet rindezja për të aktivizuar mbështetjen për dritaret me formë të lirë."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Kërkohet rinisja për të përditësuar disponueshmërinë e dritareve me formë të lirë."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Kërkohet rinisja për të aktivizuar dritaret me formë të lirë në ekranet dytësore."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Rindize tani"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Rindize më vonë"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Audio hapësinore"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Trëndafil"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"E purpurt"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Vjollcë"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"U krye"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Ruaj"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Anulo"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Parazgjedhja"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Mesatar"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Aktivizuar"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Çaktivizuar"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Aktivizuar"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Audioja %1$d%% majtas, %2$d%% djathtas"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Audioja %1$d%% djathtas, %2$d%% majtas"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Emri i pajisjes sate është i dukshëm për aplikacionet që ke instaluar. Ai mund të shikohet po ashtu nga persona të tjerë kur lidhesh me pajisje me Bluetooth, kur lidhesh me një rrjet Wi-Fi ose kur konfiguron një zonë të qasjes për internet me Wi-Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Gjinia gramatikore"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Zgjidh gjininë gramatikore"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Ndarja e audios ndaloi"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Lidh një pajisje të përputhshme"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Për të filluar të ndash audion, në fillim lidh kufjet me LE Audio me telefonin tënd"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Kalo te \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\""</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Lidh me një transmetim audio LE"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Transmetimet audio në afërsi"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Transmetimet audio"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Dëgjo transmetimin"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Skano një kod QR të transmetimit audio për të dëgjuar me <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Fjalëkalimi nuk mund të modifikohet gjatë ndarjes. Për të ndryshuar fjalëkalimin, në fillim çaktivizo ndarjen e audios."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Skaneri i kodeve QR"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Ke nevojë për ndihmë?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Kërko te cilësimet"</string>
 </resources>
diff --git a/res/values-sr/arrays.xml b/res/values-sr/arrays.xml
index c85ed85..2484fbf 100644
--- a/res/values-sr/arrays.xml
+++ b/res/values-sr/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Време за спавање"</item>
-    <item msgid="4152450357280759894">"Вожња"</item>
-    <item msgid="7096549258219399423">"Имерзивно"</item>
-    <item msgid="2760716776980432977">"Управљано"</item>
-    <item msgid="601734478369121764">"Звезда"</item>
-    <item msgid="6243809315432780521">"Календар"</item>
-    <item msgid="4913577903148415331">"Време"</item>
-    <item msgid="3653377604690057780">"Позориште"</item>
-    <item msgid="3843711267408385410">"Цвет"</item>
+    <item msgid="1216815120972438676">"Актовка"</item>
+    <item msgid="184985872234062767">"Класична зграда"</item>
+    <item msgid="9189550412466785530">"Стамбена зграда"</item>
+    <item msgid="2142527562511049422">"Облачић"</item>
+    <item msgid="2548100558260478605">"Група људи"</item>
+    <item msgid="2270003903304578284">"Сијалица"</item>
+    <item msgid="4793496619091161864">"Календар"</item>
+    <item msgid="5673625795644364100">"Не узнемиравај"</item>
+    <item msgid="1423820834865831361">"Особа која трчи"</item>
+    <item msgid="2037298830718732608">"Голф"</item>
+    <item msgid="2197835014443491074">"Тег за теретану"</item>
+    <item msgid="2730180105015616518">"Пливање"</item>
+    <item msgid="2666922823253345958">"Особа која пешачи"</item>
+    <item msgid="8234880356472211396">"Особа која баца лопту"</item>
+    <item msgid="4642980625253001443">"Особа која шутира"</item>
+    <item msgid="4324795269518833500">"Контролер за игре"</item>
+    <item msgid="7789966425125441125">"Палета боја уметника"</item>
+    <item msgid="663512680597461570">"Пахуља"</item>
+    <item msgid="7952183800501346803">"Сунцобран"</item>
+    <item msgid="799139025758265891">"Алат из радионице"</item>
+    <item msgid="1330084588359129896">"Шатор"</item>
+    <item msgid="3861584909935022342">"Ролна филма"</item>
+    <item msgid="5827426100157335512">"Књига"</item>
+    <item msgid="8585828346253128384">"Цвет лотоса"</item>
+    <item msgid="8788370542815300188">"Људски мозак"</item>
+    <item msgid="7287354964767553293">"Слушалице"</item>
+    <item msgid="2530059623783800987">"ТВ"</item>
+    <item msgid="5307182323469376758">"Воз"</item>
+    <item msgid="4903790544026923026">"Аутомобил"</item>
+    <item msgid="5010405583912314582">"Виљушка и нож"</item>
+    <item msgid="8939998598599064900">"Колица за куповину"</item>
+    <item msgid="3379605903308731893">"Дете"</item>
+    <item msgid="7808668968550293112">"Шапа животиње"</item>
+    <item msgid="1000692647524056504">"Значка са звездицом"</item>
+    <item msgid="8270261073421676502">"Две особе"</item>
+    <item msgid="5767782819651505460">"Звезда"</item>
+    <item msgid="4368451291862729334">"Срце"</item>
+    <item msgid="2613199102208419986">"Кућа"</item>
+    <item msgid="3022279986430275040">"Полумесец"</item>
+    <item msgid="5421089790869483206">"Сат"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index a6e4f02..66e7fe8 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Обустављено"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Непознато"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Преглед"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR кôд"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Умањи"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Увећај"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"Увек"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Подешавања слушног апарата"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Пречица, компатибилност са слушним апаратима"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Задата подешавања"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Не постоје задата подешавања која је програмирао аудиолог"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Ажурирање задатих подешавања није успело"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Аудио излаз"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"О аудио излазу"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Избор језика за ову апликацију није доступан из Подешавања."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Језик може да се разликује од језика доступних у апликацији. Неке апликације можда не подржавају ово подешавање."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Подесите језик за сваку апликацију."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Систем, апликације и веб-сајтови користе први подржани језик из жељених језика."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Уређај, апликације и веб-сајтови користе први подржани језик са листе жељених језика.\n\nМноге апликације форматирају датуме, бројеве и јединице на основу региона жељеног језика. Да бисте променили регион, додајте језик, па изаберите жељени регион."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Да бисте изабрали језик за сваку апликацију, идите у подешавања језика апликације."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Сазнајте више о језицима апликација"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Желите да језик система од сада буде %s ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Искључено"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Укључено/# апликација има приступ локацији}one{Укључено/# апликација има приступ локацији}few{Укључено/# апликације имају приступ локацији}other{Укључено/# апликација има приступ локацији}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Учитава се…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Апликације са дозволом за уређаје у близини могу да одреде приближан положај повезаних уређаја."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Апликације са дозволом за уређаје у близини могу да одреде приближни положај повезаних уређаја."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Приступ локацији је искључен за апликације и услуге. Локација уређаја може и даље да се шаље екипама хитних служби када позовете број за хитне случајеве или пошаљете SMS на њега."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Сазнајте више о подешавањима локације"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Да бисте то променили, на ChromeOS-у отворите Подешавања &gt; Безбедност и приватност &gt; Контроле приватности &gt; Приступ локацији"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Додати су лице и <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Додати су лице, отисак прста и <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Додати су лице, отисци прстију и <xliff:g id="WATCH">%s</xliff:g>"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Провера идентитета је укључена и захтева биометријски податак"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Откључавање уз Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Сат је додат"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Подесите сат"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Сазнајте више о откључавању сата"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Додај сат"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Уклони сат"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Отисак прста и откључавање лицем"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Откључавање лицем и отиском прста"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Откључавање лицем и отиском прста за посао"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Треба да подесите"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Лице и отисци прста су додати"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Подешава се приватни простор…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Подешавање приватног простора није успело"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Пробај поново"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Затвори"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Приватан простор није доступан.\nПогледајте могуће узроке"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Погледајте могуће узроке"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Желите да одаберете ново откључавање за приватан простор?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Можете да подесите ново откључавање само за приватан простор или да користите оно исто које користите за откључавање уређаја"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Користи откључавање екрана"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Када је Bluetooth укључен, уређај може да комуницира са другим Bluetooth уређајима у близини.\n\nРади бољег доживљаја уређаја, апликације и услуге и даље могу да траже уређаје у близини у било ком тренутку, чак и када је Bluetooth искључен. Ово може да се користи, на пример, за побољшање функција и услуга заснованих на локацији. То можете да промените у подешавањима Bluetooth скенирања."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Када је Bluetooth укључен, уређај може да комуницира са другим Bluetooth уређајима у близини. Функције као што су Quick Share и Пронађи мој уређај користе Bluetooth.\n\nАпликације и услуге и даље могу да траже уређаје у близини у било ком тренутку, чак и када је Bluetooth искључен. Ово може да се користи, на пример, за побољшање функција и услуга заснованих на локацији. То можете да промените у подешавањима Bluetooth скенирања."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Промени"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"Није повезано: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"Ради ваше безбедности, заборавите овај уређај, па га поново упарите"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"Заборави уређај"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"Откажи"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Детаљи о уређају"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Подешавања тастатуре"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Још подешавања"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Ажурирања фирмвера, основни подаци и друго"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Савети и подршка"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Bluetooth адреса уређаја: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Bluetooth адреса уређаја:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Желите ли да заборавите уређај?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Експериментално. Бољи квалитет звука."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Заборави уређај"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Прекини везу са апликацијом"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Још подешавања"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Максималан број повезаних Bluetooth аудио уређаја"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Изаберите максимални број повезаних Bluetooth аудио уређаја"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC опширна евиденција продавца о отклањању грешака"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Желите да рестартујете уређај?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"NFC евидентирање детаља је намењено само у сврхе програмирања. Додатни NFC подаци уврштени су у извештаје о грешкама, који могу да садрже приватне податке. Рестартујте уређај да бисте променили ово подешавање."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Рестартуј"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Укључено"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Искључено"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Спољни екран"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Користи спољни екран"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Резолуција екрана"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Спољни екран је искључен"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Ротација"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Стандардно"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Промена ротације или резолуције може да заустави све апликације које су тренутно активне"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Уређај мора да буде повезан са спољним екраном да би се пресликао цео екран"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Још опција"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Пребацивање"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"пресликати"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Омогући бежични приказ"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Прилагодљиво"</string>
     <string name="brightness" msgid="6216871641021779698">"Ниво осветљености"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Прилагодљива осветљеност"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"О приладољивој осветљености"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Осветљеност екрана ће се аутоматски прилагођавати окружењу и активностима. Можете ручно да померате клизач да би прилагодљиво подешавање осветљености научило шта вам одговара."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Укључено"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Искључено"</string>
@@ -1311,8 +1340,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="8850185380445309835">"Желите да ажурирате жељени SIM?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> је једина SIM картица у уређају. Желите ли да користите ову SIM картицу за мобилне податке, позиве и SMS поруке?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> је сада примарни SIM"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Желите да побољшате покривеност?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Дозволите уређају да се аутоматски пребаци на <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> за мобилне податке кад доступност буде боља."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Позиви, поруке и мрежни саобраћај могу да буду видљиви вашој организацији."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Опције"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Приступачност"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Физичка тастатура"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Користи тастатуру на екрану"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Задржава се на екрану док је физичка тастатура активна"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Дужи одзив тастера"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Тастатура занемарује брзе притиске истог тастера који се понављају у року од <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Спори тастери"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Приладите време потребно да се тастер активира после притиска на <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Лепљиви тастери"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Притискајте један по један тастер да бисте користили пречице уместо да истовремено држите тастере"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Тастери миша"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Користите физичку тастатуру да бисте управљали мишем."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Тастерске пречице"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Приказује листу пречица"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Тастатуре и алатке за пословни профил"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Прилагодите индивидуалне покрете за кретање по тачпеду"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Обрнуто скроловање"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Садржај се помера нагоре када скролујете надоле"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Додир у доњем десном углу"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Додирните доњи десни угао тачпеда за више опција"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Клик доле десно"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"За више опција, кликните на доњи десни угао тачпеда"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Брзина показивача"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Стил попуне показивача"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Промените стил попуне у црно"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Промените стил попуне у жуто"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Промените стил попуне у розе"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Промените стил попуне у плаво"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Стил потеза показивача"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Бело"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Црно"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Ништа"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Научите покрете за тачпед"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"додирна табла, миш, курсор, скроловање, превлачење, десни клик, клик, показивач"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"десни клик, додир"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Ресетуј"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Одаберите модификујући тастер"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Одаберите нови тастер за <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Приступачност физичке тастатуре"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Лепљиви тастери, дужи одзив тастера, тастери миша"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Распоред <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Подразумевано"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Аутоматски: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Изабрао је корисник: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Говор"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Брзина показивача"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Величина показивача"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Смањите величину показивача"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Повећајте величину показивача"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Контролер за игре"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Преусмери вибрацију"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Преусмери вибрацију на контролер за игре када је повезан"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Ипак настави"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Откажи"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Подешавања увећања"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Померање једним прстом"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Померите лупу 1 прстом"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Превлачите 1 прст за кретање по екрану"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Померајте област за увећање превлачењем једног прста."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Померајте област за увећање превлачењем два прста."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Није доступно када се увећава само део екрана"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Додирните дугме да бисте зумирали"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Брзо увећајте екран да би садржај био већи"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Да бисте увећали:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Користите пречицу да бисте покренули увећање&lt;br/&gt; {1,number,integer}. Додирните екран&lt;br/&gt; {2,number,integer}. Превлачите помоћу 2 прста да бисте се кретали по екрану&lt;br/&gt; {3,number,integer}. Скупите 2 прста да бисте прилагодили зумирање&lt;br/&gt; {4,number,integer}. Користите пречицу да бисте зауставили увећање&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Да бисте привремено увећали:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Уверите се да је тип увећања подешен на цео екран&lt;br/&gt; {1,number,integer}. Користите пречицу да бисте покренули увећање&lt;br/&gt; {2,number,integer}. Додирните и задржите било који део екрана&lt;br/&gt; {3,number,integer}. Превлачите прст да бисте се кретали по екрану&lt;br/&gt; {4,number,integer}. Подигните прст да бисте зауставили увећање"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Да бисте увећали:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Користите пречицу да бисте покренули увећање&lt;br/&gt; {1,number,integer}. Додирните екран&lt;br/&gt; {2,number,integer}. Превлачите помоћу 2 прста да бисте се кретали по екрану&lt;br/&gt; {3,number,integer}. Скупите 2 прста да бисте прилагодили зумирање&lt;br/&gt; {4,number,integer}. Користите пречицу да бисте зауставили увећање&lt;br/&gt;&lt;br/&gt; Можете привремено да зумирате и друго."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Да бисте увећали:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Користите пречицу да бисте покренули увећање&lt;br/&gt; {1,number,integer}. Додирните екран&lt;br/&gt; {2,number,integer}. Превлачите 1 или 2 прста да бисте се кретали по екрану &lt;br/&gt; {3,number,integer}. Скупите 2 прста да бисте прилагодили зумирање&lt;br/&gt; {4,number,integer}. Користите пречицу да бисте зауставили увећање&lt;br/&gt;&lt;br/&gt; Можете привремено да зумирате и друго."</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_pager" msgid="8461939455728454061">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>. страница од <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Пречица за дугме Приступачност"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Додирните плутајуће дугме"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Покрет за приступачност"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Додирните дугме Приступачност <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> у дну екрана. Да бисте прелазили са једне функције на другу, додирните и задржите дугме Приступачност."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Превуците нагоре од дна екрана помоћу 2 прста.\n\nДа бисте прелазили са једне функције на другу, превуците нагоре помоћу 2 прста и задржите."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Превуците нагоре од дна екрана помоћу 3 прста.\n\nДа бисте прелазили са једне функције на другу, превуците нагоре помоћу 3 прста и задржите."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Превуците нагоре од дна екрана. Да бисте прелазили са једне функције на другу, превуците нагоре и задржите.}one{Превуците нагоре од дна екрана помоћу # прста. Да бисте прелазили са једне функције на другу, превуците нагоре помоћу # прста и задржите.}few{Превуците нагоре од дна екрана помоћу # прста. Да бисте прелазили са једне функције на другу, превуците нагоре помоћу # прста и задржите.}other{Превуците нагоре од дна екрана помоћу # прстију. Да бисте прелазили са једне функције на другу, превуците нагоре помоћу # прстију и задржите.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Још опција"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Сазнајте више о: <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Тастери за јачину звука"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"тастери за јачину звука"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Притисните и задржите оба тастера за јачину звука"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Двапут додирните екран помоћу два прста"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Двапут додирните помоћу %1$d прста"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Брзо додирните екран двапут помоћу %1$d прста"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Додирните трипут"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Брзо додирните екран %1$d пута. Ово може да успори уређај."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"двапут додирните помоћу %1$d прста"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Брзо додирните екран {0,number,integer} пута помоћу два прста"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Додирните екран трипут"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"додирните трипут"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Брзо додирните екран {0,number,integer} пута. Ова пречица може да успори уређај"</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_global_gesture_preference_title" msgid="8866765674372344850">"Пречица за тастере за јачину звука"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Подешавања пречица"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Пречица са закључаног екрана"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"Пречица за тастере за јачину звука са закљ. екрана"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Дозволите пречици функције да се укључи са закључаног екрана. Задржите оба тастера за јачину звука пар секунди."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Дугме Приступачност"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Дугме и покрет за Приступачност"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Ова услуга није исправна."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Пречице за приступачност"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Прикажи у Брзим подешавањима"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Црвено-зелено"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Црвено-зелено"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Црвена/зелена, делимично слепило за зелену"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Црвена/зелена, делимично слепило за црвену"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Плаво-жуто"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Сивило"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Интензитет"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Делимично слепило за зелену, деутераномалија"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Делимично слепило за црвену, протаномалија"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Није доступно за режим сивила или када је онемогућена корекција боја"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Додатно затамни"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Додатно затамни екран"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Тиркизна"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Жута"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Магента"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Желите ли да дозволите да <xliff:g id="SERVICE">%1$s</xliff:g> има потпуну контролу над уређајем?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> треба:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Пошто апликација скрива захтев за дозволу, Подешавања не могу да верификују одговор."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> тражи потпуну контролу над овим уређајем. Услуга може да чита садржај са екрана и да обавља разне задатке за кориснике услуга приступачности. Овај ниво контроле није одговарајући за већину апликација."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Потпуна контрола је примерена за апликације које вам помажу код услуга приступачности, али не и за већину апликација."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Прегледај и контролиши екран"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Може да чита сав садржај на екрану и приказује га у другим апликацијама."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Прегледај и обављај радње"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Може да прати интеракције са апликацијом или сензором хардвера и користи апликације уместо вас."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Дозволи"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Одбиј"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Искључи"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Укључено/<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> и <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Можете да укључите и просторни звук за Bluetooth уређаје."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Подешавања повезаних уређаја"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Просторни звук"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Искључено"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Искључено"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Искључено"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Ниједан}=1{1 распоред је подешен}one{# распоред је подешен}few{# распореда су подешена}other{# распореда је подешено}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Не узнемиравај"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Приоритетни режими"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Додај режим"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Режими"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Смањите ометања и преузмите контролу над пажњом помоћу режима за спавање, рад, вожњу и све остало."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Направите свој режим"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Добијајте обавештења само од важних особа и апликација"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Подесите распоред"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Распоред заснован на"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Дан и време"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"9:00–17:00 радним данима"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Догађаји у календару"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{Активан је {mode_1}}=2{Активни су {mode_1} и {mode_2}}=3{Активни су {mode_1}, {mode_2} и {mode_3}}one{Активни су {mode_1}, {mode_2} и још # режим}few{Активни су {mode_1}, {mode_2} и још # режима}other{Активни су {mode_1}, {mode_2} и још # режима}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 режим може да се укључује аутоматски}one{# режим може да се укључује аутоматски}few{# режима могу да се укључују аутоматски}other{# режима може да се укључује аутоматски}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"УКЉУЧЕНО"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Није подешено"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Онемогућено"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Направите режим"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Прилагођено"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Укључи"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Искључи"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Режим није пронађен"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ограничите прекиде"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Блокирајте прекиде и ометања"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Подесите <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Укључите режим Не узнемиравај"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Звукови аларма и медија могу да прекину"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Распореди"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Избриши распореде"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Избриши"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Преименуј"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Избриши"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Желите да избришете режим <xliff:g id="MODE">%1$s</xliff:g>?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Измени"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Распореди"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Распоред"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Аутоматски укључи"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Додајте календар"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Користите свој календар"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Распоред"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Подесите распоред"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Када се искључује аутоматски"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Распоред догађаја"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Укључите током догађаја за"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Када је одговор на позив"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Временски распоред"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Распоред"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> с, <xliff:g id="MINUTES">%2$d</xliff:g> мин"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Распоред"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Омогућите прекиде који производе звук"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Обавештења која дозвољавате"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Додатне радње"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Филтери за обавештења"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Још подешавања"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Искључено}=1{Искључено/1 режим може да се укључује аутоматски}one{Искључено/# режим може да се укључује аутоматски}few{Искључено/# режима могу да се укључују аутоматски}other{Искључено/# режима може да се укључује аутоматски}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Подешавања приказа"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Опције приказа"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Сивило"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"омогући тамну тему"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Пребаците ОС и апликације на светао текст на тамној позадини. То може да буде лакше за очи и доводи до знатне уштеде батерије на неким уређајима"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Нема промена екрана}=1{{effect_1}}=2{{effect_1} и {effect_2}}=3{{effect_1}, {effect_2} и {effect_3}}one{{effect_1}, {effect_2} и још #}few{{effect_1}, {effect_2} и још #}other{{effect_1}, {effect_2} и још #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Омогући сва обавештења"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Људи, апликације и звуци могу да прекину режим"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Опције приказа за филтрирана обавештења"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Када је укључен режим Не узнемиравај"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Без звучног сигнала за обавештења"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"отварање обавештења"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Омогући одлагање обавештења"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Тачка за обавештења на икони апликације"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Скупови обавештења"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Облачићи"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Облачићи"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Прикажи ову конверзацију у облачићу"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Може да одговара на поруке и предузима радње повезане са дугмади у обавештењима, укључујући одлагање или одбацивање обавештења и одговарање на позиве."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"да мења подешавања"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Може да укључује или искључује режим Не узнемиравај и мења сродна подешавања."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Може да управља режимима и активира их, као и да мења сродна подешавања."</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_modes_warning_summary" msgid="7528432011433844158">"Ако искључите приступ обавештењима за <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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"У реалном времену"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Ова апликација не подржава побољшана подешавања"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Још подешавања"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Доступно је још подешавања у апликацији"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Прилагодљива обавештења"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Користите прилагодљива обавештења"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Када добијете много обавештења у кратком периоду, телефон ће утишати звук и смањити број искачућих прозора на екрану на највише два минута. За позиве, аларме и приоритетне конверзације ћете и даље добијати обавештења путем вибрације, звука или приказа на екрану, а сва обавештења можете лако да пронађете када превучете надоле са врха екрана."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Утишавање обавештења"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Користи утишавање обавештења"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Када примите много обавештења у кратком периоду, уређај ће утишати звук и смањити број упозорења на највише два минута. То не утиче на позиве, аларме ни приоритетне конверзације. \n\nОбавештења која добијете током утишавања можете да пронађете повлачењем надоле од врха екрана."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Примени на пословне профиле"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Примените на апликације пословног профила"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Услуге помагача за виртуелну реалност"</string>
@@ -3650,6 +3709,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Приступ режимима"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Дозволи приступ режимима"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Ниједна инсталирана апликација није захтевала приступ режимима"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Нисте дозволили обавештења из ове апликације"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"На ваш захтев, Android блокира приказивање ове категорије обавештења на овом уређају"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"На ваш захтев, Android блокира приказивање ове групе обавештења на овом уређају"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Категорије"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Другo"</string>
     <string name="no_channels" msgid="4716199078612071915">"Ова апликација није поставила ниједно обавештење"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Прикажи некоришћене категорије"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Додатна подешавања у апликацији"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Прикажи некоришћене категорије"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Сакриј некоришћене категорије"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g>–<xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Конверзације"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Све конверзације"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"све конверзације"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Приоритетне конверзације"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"приоритетне конверзације"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Ништа"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Апликације које могу да прекину функцију Не узнемиравај"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Изабране апликације"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Ниједна"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Све"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Ниједна апликација не може да прекине}=1{{app_1} може да прекине}=2{{app_1} и {app_2} могу да прекину}=3{{app_1}, {app_2} и {app_3} могу да прекину}one{{app_1}, {app_2} и још # могу да прекину}few{{app_1}, {app_2} и још # могу да прекину}other{{app_1}, {app_2} и још # могу да прекину}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (посао)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Израчунава се…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Дозволи да апликације занемарују"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Апликације које могу да прекидају"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Изаберите још апликација"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Ништа не може да прекине"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Нико не може да прекине"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Неки људи могу да прекину"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Поновни позиваоци могу да прекидају"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Сви људи могу да прекину"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Поновни позиваоци"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Дозволи поновне позиваоце"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Пређите само на аларме на један сат све до {time}}one{Пређите само на аларме на # сат све до {time}}few{Пређите само на аларме на # сата све до {time}}other{Пређите само на аларме на # сати све до {time}}}"</string>
     <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_action_change_name" msgid="766639614789907016">"Преименуј"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Промени икону"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Промени икону"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Измените режим"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Направите режим"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Прилагођени режим"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Назив режима"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Догађаји у календару"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Рутина времена за спавање"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Током вожње"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Подешавања апликације"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Информације и подешавања у апликацији <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Управља <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Онемогућавате <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Овај режим се никада неће укључити када је онемогућен"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Онемогући"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Омогућавате <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Овај режим може да се укључи аутоматски на основу подешавања"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Омогући"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Подесите режим који прати редован распоред"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Подесите режим за синхронизацију са догађајима у календару и одговорима на позиве"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Осмислите смирујућу рутину спавања. Подесите аларме, затамните екран и блокирајте обавештења."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Дајте предност безбедности на путу за фокусирану вожњу без ометања"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Блокирајте ометања или прекиде са свог уређаја за бољи фокус"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Елиминишите сваку могућност ометања за тихо окружење"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Персонализујте доживљај уређаја и подешавања за различите кориснике"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Смањите могућност прекида тако што ћете дозволити да вас контактирају само важне особе и апликације"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Подесите режим који прати редован распоред"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Синхронизујте уређај са дневним догађајима"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Пробудите се са 100% енергије"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Будите безбедни на путу"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Останите фокусирани"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"За тренутке када је услужност важна"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Вођено коришћење помаже да будете сигурни"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Повратите контролу над пажњом"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Упозорење"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Затвори"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Шаљи повратне информације о уређају"</string>
@@ -4006,6 +4102,10 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Желите да дозволите приступ режимима за: <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Апликација ће моћи да укључује или искључује подешавање Не узнемиравај, да управља режимима и активира их, као и да уноси промене у сродна подешавања."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"Желите да опозовете приступ режимима за: <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Уклонићемо све режиме које је ова апликација направила."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Не оптимизуј"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Оптимизуј"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Батерија може брже да се испразни. Апликацијама више неће бити забрањено коришћење батерије у позадини."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Футрола"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Батерија"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Табла са подешавањима"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"Наметни режим рачунара"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Намеће експериментални режим рачунара на секундарним екранима"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"Омогући прозоре произвољног формата"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Омогући прозоре произв. формата на секунд. екрану"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Омогући апликације непромењиве величине у више прозора"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Омогућава да апликације непромењиве величине буду у више прозора"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Замени функцију наметања тамне теме"</string>
@@ -4968,7 +5068,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"мобилни подаци"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Ради бољег доживљаја, апликације и услуге могу и даље да траже WiFi мреже у било ком тренутку, чак и када је WiFi искључен. То може да се користи, на пример, за побољшавање функција и услуга заснованих на локацији. То можете да промените у подешавањима WiFi скенирања."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Промени"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Повезано"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Привремено повезано"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Привремено се користи <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -5000,7 +5099,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Користи качење апликација"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Користи опције за програмере"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Користи услугу штампања"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Дозволи више корисника"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Омогући промену корисника"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"омогућити, више, корисник, дозволити, много"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"више, корисници, профили, људи, налози, промена, велики број"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Користи бежично отклањање грешака"</string>
@@ -5057,52 +5156,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> жели да се повеже са овим телефоном.\n\nРаније се нисте повезивали са уређајем <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Не повезуј"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Повежи"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE подешавања"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Укључено"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Искључено"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Врати на подразумевана подешавања"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Подешавања су враћена на подразумевана."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Максим. баланс са потпуно напуњ. уређај."</string>
-    <string name="tare_balances" msgid="731881382594747961">"Стања"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Ограничења потрошње"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Ограничење првобитне потрошње"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Ограничење минималне потрошње"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Ограничење максималне потрошње"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Модификатори"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Радње (цена спровођења)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Радње (основна цена)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Награде за један догађај"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Награде по секунди трајања догађаја"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Максимално награда дневно"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Инсталирање апликације"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Највећа активност"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Обавештење је прегледано"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Обавештење је прегледано за 15 минута"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Интеракција са обавештењем"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Интеракција са виџетом"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Друга интеракција корисника"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Почетак максимално приоритетног посла"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Максимално приоритетни посао се извршава"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Почетак високоприоритетног посла"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Високоприоритетни посао се извршава"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Почетак подразумеваног посла"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Подразумевани посао се извршава"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Почетак нископриоритетног посла"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Нископриоритетни посао се извршава"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Почетак минимално приоритетног посла"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Минимално приоритетни посао се извршава"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Казна за истек посла"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Минимални баланс са потпуно напуњеним уређајем (изузето)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Минимални баланс са потпуно пуним уређајем (системска без графичког интерфејса)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Минимални баланс са потпуно напуњеним уређајем (преостале апликације)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Додавање минималног баланса за напуњени уређај (алатке за ажурирање апликација)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Пуњење"</item>
-    <item msgid="658627268149681677">"Дремање"</item>
-    <item msgid="1599558140284643834">"Режим уштеде енергије"</item>
-    <item msgid="588427840913221601">"Статус процеса"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Потврди"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Прикажи"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Одаберите чувар екрана"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Приказуј додатне информације"</string>
@@ -5114,8 +5167,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Изаберите шта ћете видети на екрану када је таблет на базној станици. Уређај може да троши више енергије када се користи чувар екрана."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Прилагоди"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Прилагодите <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Морате да рестартујете да бисте омогућили подршку за слободан облик."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Морате да рестартујете да бисте принудно омогућили режим за рачунаре на секундарним екранима."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Морате да рестартујете да бисте омогућили подршку за прозоре произвољног формата."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Морате да рестартујете да бисте ажурирали доступност прозора произвољног формата."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Морате да рестартујете да бисте омогућили прозоре произвољног формата на секундарним екранима."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Рестартуј"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Рестартуј касније"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Просторни звук"</string>
@@ -5212,7 +5266,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Ружа"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Магента"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Љубичаста"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Готово"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Сачувај"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Откажи"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Подразумевано"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Средње"</string>
@@ -5233,6 +5287,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Укључено"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Искључено"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Укључено"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Звук: %1$d%% лево, %2$d%% десно"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Звук: %1$d%% десно, %2$d%% лево"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Апликације које сте инсталирали могу да виде назив уређаја. И други људи могу да виде назив уређаја када се повежете са Bluetooth уређајима или WiFi мрежом или подесите WiFi хотспот."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Граматички род"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Изаберите граматички род"</string>
@@ -5301,6 +5357,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Дељење звука је заустављено"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Повежите компатибилан уређај"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Да бисте почели да делите звук, прво повежите LE Audio слушалице са телефоном"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Пређи на <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Повежите се са LE Audio стримом"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Аудио стримови у близини"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Аудио стримови"</string>
@@ -5344,4 +5401,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Слушајте стрим"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Скенирајте QR кôд аудио стрима да бисте слушали помоћу: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Лозинка не може да се мења током дељења. Да бисте променили лозинку, прво искључите дељење звука."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Скенер QR кода"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Треба вам помоћ?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Подешавања претраге"</string>
 </resources>
diff --git a/res/values-sv/arrays.xml b/res/values-sv/arrays.xml
index 8a6fb94..84665cb 100644
--- a/res/values-sv/arrays.xml
+++ b/res/values-sv/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Läggdags"</item>
-    <item msgid="4152450357280759894">"Körläge"</item>
-    <item msgid="7096549258219399423">"Uppslukande"</item>
-    <item msgid="2760716776980432977">"Hanterade"</item>
-    <item msgid="601734478369121764">"Stjärna"</item>
-    <item msgid="6243809315432780521">"Kalender"</item>
-    <item msgid="4913577903148415331">"Tid"</item>
-    <item msgid="3653377604690057780">"Teater"</item>
-    <item msgid="3843711267408385410">"Blomma"</item>
+    <item msgid="1216815120972438676">"Portfölj"</item>
+    <item msgid="184985872234062767">"Klassisk byggnad"</item>
+    <item msgid="9189550412466785530">"Hyreshus"</item>
+    <item msgid="2142527562511049422">"Pratbubbla"</item>
+    <item msgid="2548100558260478605">"En grupp människor"</item>
+    <item msgid="2270003903304578284">"Glödlampa"</item>
+    <item msgid="4793496619091161864">"Kalender"</item>
+    <item msgid="5673625795644364100">"Stör ej"</item>
+    <item msgid="1423820834865831361">"Person som springer"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Gymhantel"</item>
+    <item msgid="2730180105015616518">"Simning"</item>
+    <item msgid="2666922823253345958">"Person som vandrar"</item>
+    <item msgid="8234880356472211396">"Person som kastar boll"</item>
+    <item msgid="4642980625253001443">"Person som sparkar"</item>
+    <item msgid="4324795269518833500">"Spelkontroll"</item>
+    <item msgid="7789966425125441125">"Färgpalett för konstnär"</item>
+    <item msgid="663512680597461570">"Snöflinga"</item>
+    <item msgid="7952183800501346803">"Strandparasoll"</item>
+    <item msgid="799139025758265891">"Verktyg"</item>
+    <item msgid="1330084588359129896">"Tält"</item>
+    <item msgid="3861584909935022342">"Filmrulle"</item>
+    <item msgid="5827426100157335512">"Bok"</item>
+    <item msgid="8585828346253128384">"Lotusblomma"</item>
+    <item msgid="8788370542815300188">"Persons sinne"</item>
+    <item msgid="7287354964767553293">"Hörlurar"</item>
+    <item msgid="2530059623783800987">"Tv"</item>
+    <item msgid="5307182323469376758">"Tåg"</item>
+    <item msgid="4903790544026923026">"Bil"</item>
+    <item msgid="5010405583912314582">"Gaffel och kniv"</item>
+    <item msgid="8939998598599064900">"Kundvagn"</item>
+    <item msgid="3379605903308731893">"Barn"</item>
+    <item msgid="7808668968550293112">"Djurtass"</item>
+    <item msgid="1000692647524056504">"Stjärnmärke"</item>
+    <item msgid="8270261073421676502">"Två personer"</item>
+    <item msgid="5767782819651505460">"Stjärna"</item>
+    <item msgid="4368451291862729334">"Hjärta"</item>
+    <item msgid="2613199102208419986">"House"</item>
+    <item msgid="3022279986430275040">"Halvmåne"</item>
+    <item msgid="5421089790869483206">"Klocka"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index a180839..bc5aead 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Pausad"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Ingen uppgift"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Förhandsgranskning"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR-kod"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Alltid"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Inställningar för hörapparat"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Genväg, kompatibilitet med hörapparat"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Förinställning"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Inga förinställningar har gjorts av din audionom"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Det gick inte att uppdatera förinställningen"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Ljudutgång"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Om ljudutgång"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Det går inte att välja språk för den här appen i Inställningar."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Alla språk kanske inte är tillgängliga i appen. Vissa appar kanske inte har stöd för denna inställning."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Ställ in språket för varje app."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Systemet, apparna och webbplatserna använder det första språket som stöds från din lista över föredragna språk."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Enheten, appar och webbplatser använder det första språket som stöds från din lista över föredragna språk.\n\nI många appar används även regionen för det önskade språket för att formatera datum, tal och enheter. Om du vill ändra region lägger du till ett språk och väljer sedan region."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Gå till en apps inställningar för att välja språk i den."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Läs mer om appspråk"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Vill du ändra systemspråk till %s?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Av"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{På – # app har platsåtkomst}other{På – # appar har platsåtkomst}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Läser in …"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Appar med behörighet att upptäcka enheter i närheten kan beräkna anslutna enheters relativa position."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Appar med behörighet att upptäcka enheter i närheten kan beräkna anslutna enheters relativa position."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Platsåtkomst har inaktiverats för appar och tjänster. Enhetens plats kan fortfarande skickas till räddningstjänst när du ringer eller skickar sms till ett nödnummer."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Läs mer om platsinställningar"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Om du vill ändra detta öppnar du ChromeOS-inställningar &gt; Integritet och säkerhet &gt; Integritetsinställningar &gt; Platsåtkomst"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Ansikte och <xliff:g id="WATCH">%s</xliff:g> har lagts till"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Ansikte, fingeravtryck och <xliff:g id="WATCH">%s</xliff:g> har lagts till"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Ansikte, fingeravtryck och <xliff:g id="WATCH">%s</xliff:g> har lagts till"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Identitetskontroll är aktiverad så biometrisk data krävs"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Upplåsning med fjärrverifierare"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Klockan har lagts till"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Konfigurera klockan"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Läs mer om upplåsning med klockan"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Lägg till klocka"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Ta bort klockan"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Fingeravtryck och ansiktslås"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Ansikts- och fingeravtryckslås"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Ansikts- och fingeravtryckslås för jobbprofilen"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Konfigurering krävs"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Ansikte och fingeravtryck har lagts till"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Ställer in privat område …"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Det gick inte att ställa in privat område"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Försök igen"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Stäng"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Det privata området är inte tillgängligt.\nVisa möjliga orsaker"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Visa möjliga orsaker"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Vill du välja ett nytt lås för ditt privata område?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Du kan ställa in ett nytt lås för endast det privata området eller använda samma lås som du har till enheten"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Använd skärmlås"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"När Bluetooth är aktiverat kan enheten kommunicera med andra Bluetooth-enheter i närheten.\n\nÄven när Bluetooth är inaktiverat kan appar och tjänster när som helst söka efter enheter i närheten för att förbättra användningen av enheten. Funktionen kan till exempel användas till att förbättra platsbaserade funktioner och tjänster. Du kan ändra inställningen i genomsökningsinställningarna för Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"När Bluetooth är aktiverat kan enheten kommunicera med andra Bluetooth-enheter i närheten. Funktioner som Snabbdelning och Hitta min enhet använder Bluetooth.\n\nAppar och tjänster kan fortfarande söka efter enheter i närheten när som helst, även när Bluetooth är inaktiverat. Detta kan till exempel användas för att förbättra platsbaserade funktioner och tjänster. Du kan ändra detta i inställningarna för Bluetooth-sökning."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Ändring"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Enhetsinformation"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Tangentbordsinställningar"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Fler inställningar"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Firmware-uppdateringar, om, med mera"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Support och tips"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Enhetens Bluetooth-adress: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Enhetens Bluetooth-adress:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Vill du glömma enheten?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Experiment. Förbättrar ljudkvaliteten."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Glöm enhet"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Koppla från appen"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Fler inställningar"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Maxantal för ljudenheter anslutna via Bluetooth"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Välj ett maxantal för ljudenheter anslutna via Bluetooth"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Utförlig logg för NFC för leverantörens felsökning"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Vill du starta om enheten?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Detaljerad NFC-loggning är endast avsedd för utvecklingssyfte. Ytterligare NFC-data ingår i felrapporterna, vilka kan innehålla privata uppgifter. Starta om enheten för att ändra den här inställningen."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Starta om"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"På"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Av"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Extern skärm"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Använd extern skärm"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Skärmens upplösning"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Extern skärm har kopplats från"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Rotation"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standard"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Om du ändrar rotation eller upplösning kan appar som körs för närvarande stoppas"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Enheten måste vara ansluten till en extern skärm för att spegla skärmen"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Fler alternativ"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Casta"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"spegling"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Aktivera wifi-skärmdelning"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Anpassade"</string>
     <string name="brightness" msgid="6216871641021779698">"Ljusstyrka"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Anpassad ljusstyrka"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Om anpassad ljusstyrka"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Skärmens ljusstyrka justeras automatiskt efter miljö och aktivitet. Du kan träna Anpassad ljusstyrka med dina egna inställningar genom att flytta reglaget manuellt."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"På"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Av"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Ska mobildata från <xliff:g id="CARRIER">%1$s</xliff:g> användas?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Du använder mobildata från <xliff:g id="CARRIER2_0">%2$s</xliff:g>. Om du byter till <xliff:g id="CARRIER1">%1$s</xliff:g> används inte längre mobildata från <xliff:g id="CARRIER2_1">%2$s</xliff:g>."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Använd <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Vill du uppdatera önskat SIM?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> är det enda SIM-kortet i enheten. Vill du använda det här SIM-kortet för mobildata, samtal och SMS?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> är nu ditt primära SIM-kort"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Förbättra mobildatatäckning?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Tillåt att enheten automatiskt byter till <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> för mobildata när det har bättre täckning."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Samtal, meddelanden och nätverkstrafik kan vara synliga för organisationen."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Alternativ"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Tillgänglighet"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fysiskt tangentbord"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Använd skärmtangentbord"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Ha kvar det på skärmen när det fysiska tangentbordet används"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Studsande tangenter"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Tangentbordet ignorerar snabbt upprepade tryck på samma tangent inom <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Långsamma tangenter"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Justera tiden det tar innan ett tryck på en tangent aktiveras till <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Låstangentsläge"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Tryck ned en tangent i taget för kortkommandon i stället för att hålla ned flera tangenter samtidigt"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Musknappar"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Använd det fysiska tangentbordet för att styra musen."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Kortkommandon"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Visa en lista över genvägar"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tangentbord och verktyg för jobbprofilen"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Anpassa enskilda navigeringsrörelser för styrplattan"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Omvänd scrollning"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Innehållet flyttas uppåt när du scrollat nedåt"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Tryck längst ned till höger"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Tryck på det nedre högra hörnet av styrplattan för fler alternativ"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Klicka nere till höger"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Klicka i högra hörnet på styrplattan för fler alternativ"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Markörens hastighet"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Fyllningsstil för markör"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Ändra markörfyllningen till svart"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Ändra markörfyllningen till gul"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Ändra markörfyllningen till rosa"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Ändra markörfyllningen till blå"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Stil på pekardrag"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Vit"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Svart"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Ingen"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Lär dig rörelser för styrplattan"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"styrplatta, styr platta, mus, markör, scrolla, svep, högerklicka, klicka, pekare"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"högerklicka, tryck"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Återställ"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Välj specialtangent"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Välj en ny tangent för <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Layouten <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Standard"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatiskt: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Användaren valde <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Tal"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Markörens hastighet"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Skala för muspekare"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Minska skalan för muspekare"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Öka skalan för muspekare"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Spelkontroller"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Omdirigera vibration"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Styr vibrationer till spelkontrollen när en sådan är ansluten"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Fortsätt ändå"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Avbryt"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Inställningar för förstoring"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Panorering med ett finger"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Flytta förstoringsglaset med ett finger"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Navigera på skärmen: dra med ett finger."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Flytta förstoringsområdet genom att dra med ett finger."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Flytta förstoringsområdet genom att dra med två fingrar."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Inte tillgänglig när bara förstoringsdelen av skärmen visas"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tryck på en knapp för att zooma"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Zooma in snabbt så att innehåll på skärmen förstoras"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Så här zoomar du in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Starta förstoring med genvägen&lt;br/&gt; {1,number,integer}. Tryck på skärmen&lt;br/&gt; {2,number,integer}. Navigera på skärmen genom att dra med två fingrar&lt;br/&gt; {3,number,integer}. Nyp med två fingrar för att justera zoomnivån&lt;br/&gt; {4,number,integer}. Stoppa förstoringen med genvägen&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Så här zoomar du in tillfälligt:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Kontrollera att förstoringstyp är inställd som helskärm&lt;br/&gt; {1,number,integer}. Starta förstoring med genvägen&lt;br/&gt; {2,number,integer}. Tryck länge var som helst på skärmen&lt;br/&gt; {3,number,integer}. Navigera på skärmen genom att dra med fingret&lt;br/&gt; {4,number,integer}. Stoppa förstoringen genom att lyfta fingret"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Så här zoomar du in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Starta förstoring med kortkommando&lt;br/&gt; {1,number,integer}. Tryck på skärmen&lt;br/&gt; {2,number,integer}. Navigera på skärmen genom att dra med två fingrar&lt;br/&gt; {3,number,integer}. Nyp med två fingrar för att justera zoomnivån&lt;br/&gt; {4,number,integer}. Stoppa förstoring med kortkommando&lt;br/&gt;&lt;br/&gt; Du kan även zooma in tillfälligt med mera."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Så här zoomar du in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Starta förstoring med kortkommando&lt;br/&gt; {1,number,integer}. Tryck på skärmen&lt;br/&gt; {2,number,integer}. Navigera på skärmen genom att dra med ett finger eller två fingrar&lt;br/&gt; {3,number,integer}. Nyp med två fingrar för att justera zoomnivån&lt;br/&gt; {4,number,integer}. Stoppa förstoring med kortkommando&lt;br/&gt;&lt;br/&gt; Du kan även zooma in tillfälligt med mera."</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>"Scrolla 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_pager" msgid="8461939455728454061">"Sida <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> av <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Kortkommando med tillgänglighetsknappen"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Tryck på den flytande knappen"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Tillgänglighetsrörelse"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Tryck på tillgänglighetsknappen <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> längst ned på skärmen. Tryck länge på tillgänglighetsknappen för att byta funktion."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Svep uppåt med två fingrar från skärmens nederkant.\n\nByt funktion genom att svepa uppåt med två fingrar och hålla kvar dem."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Svep uppåt med tre fingrar från skärmens nederkant.\n\nByt funktion genom att svepa uppåt med två fingrar och hålla kvar dem."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Svep uppåt från skärmens nederkant. Svep uppåt och håll kvar fingret för att byta funktion.}other{Svep uppåt med # fingrar från skärmens nederkant. Svep uppåt med # fingrar och håll kvar för att byta funktion.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Fler alternativ"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Läs mer om <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Volymknappar"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"volymknappar"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Håll båda volymknapparna nedtryckta"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Tryck snabbt två gånger på skärmen med två fingrar"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Tryck snabbt två gånger med %1$d fingrar"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Tryck snabbt två gånger med %1$d fingrar på skärmen"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Tryck snabbt tre gånger"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Tryck snabbt %1$d gånger på skärmen. Detta kan göra enheten långsammare."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Tryck snabbt två gånger med %1$d fingrar"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Tryck snabbt {0,number,integer} gånger på skärmen med två fingrar"</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_triple_tap_keyword" msgid="5359347130888464334">"tryck snabbt tre gånger"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Tryck snabbt {0,number,integer} gånger på skärmen. 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Inställningar för kortkommandon"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Kortkommando från låsskärm"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Tillåt att genvägen för funktionen aktiveras från låsskärmen. Håll båda volymknapparna nedtryckta i ett par sekunder."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Tillgänglighetsknapp"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Tillgänglighetsknapp och rörelse"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Tjänsten fungerar inte."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Genvägar för tillgänglighet"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Visa i Snabbinställningar"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Röd–grön"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Röd–grön"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Röd-grön, nedsatt känslighet för grönt"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Röd-grön, nedsatt känslighet för rött"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Gul–blå"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Gråskala"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensitet"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Nedsatt känslighet för grönt, deuteranomali"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Nedsatt känslighet för rött, protanomali"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Inte tillgängligt för gråskalaläget eller om färgkorrigering har inaktiverats"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Extradimmat"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Gör skärmen extradimmad"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Cyan"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Gul"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Vill du tillåta att <xliff:g id="SERVICE">%1$s</xliff:g> har fullständig kontroll över enheten?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> behöver:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Svaret kan inte verifieras av Inställningar, eftersom en app skymmer en begäran om behörighet."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> begär fullständig kontroll över den här enheten. Tjänsten kan läsa på skärmen och utföra åtgärder åt användare med behov av tillgänglighet. Den här kontrollnivån är olämplig för de flesta appar."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Fullständig kontroll lämpar sig för appar med tillgänglighetsfunktioner, men är inte lämplig för de flesta appar."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Visa och styra skärmen"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Den kan läsa allt innehåll på skärmen och visa innehåll över andra appar."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Visa och vidta åtgärder"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Den kan registrera din användning av en app eller hårdvarusensor och interagera med appar åt dig."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Tillåt"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Neka"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Inaktivera"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"På/<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> och <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Du kan även aktivera rumsligt ljud för Bluetooth-enheter."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Inställningar för anslutna enheter"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Rumsligt ljud"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Av"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Av"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Av"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Inga}=1{1 schema har ställts in}other{# scheman har ställts in}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Stör ej"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Prioriterade lägen"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Lägg till ett läge"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Lägen"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Minimera distraktioner med lägen för när du sover, jobbar, kör och allt däremellan."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Skapa ditt eget läge"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Få bara aviseringar från viktiga personer och appar"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Ställ in ett schema"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Schemat baseras på"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Dag och tid"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"”Vardagar kl. 9.00–17.00”"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Kalenderhändelser"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} är aktivt}=2{{mode_1} och {mode_2} är aktiva}=3{{mode_1}, {mode_2} och {mode_3} är aktiva}other{{mode_1}, {mode_2} och # till är aktiva}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 läge kan aktiveras automatiskt}other{# lägen kan aktiveras automatiskt}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"PÅ"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Inte angivet"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Inaktiverat"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Skapa ett läge"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Anpassa"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Aktivera nu"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Inaktivera"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Läget hittades inte"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Begränsa antalet avbrott"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Blockera avbrott och störande inslag"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Ställ in <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Aktivera Stör ej."</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarm och medieljud får avbryta"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Scheman"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Radera scheman"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Radera"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Byt namn"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Radera"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Vill du radera läget <xliff:g id="MODE">%1$s</xliff:g>?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Redigera"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Scheman"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Schema"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Aktivera automatiskt"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Lägg till en kalender"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Använd kalendern"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Schemalägg"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Ställ in ett schema"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"När det aktiveras automatiskt"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Schema för händelser"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Aktivera under händelser för"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Där svaret på inbjudan är"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Tidsschema"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Schemalägg"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h, <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Schemalägg"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Tillåt avbrott med ljud"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Aviseringar som kan nå dig"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Fler åtgärder"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Aviseringsfilter"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Fler inställningar"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Av}=1{Av/1 läge kan aktiveras automatiskt}other{Av/# lägen kan aktiveras automatiskt}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Visningsinställningar"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Skärmalternativ"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Gråskala"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"aktivera mörkt tema"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Ändra så att operativsystemet och apparna föredrar ljus text på en mörk bakgrund, vilket kan vara snällare för ögonen och gör så att batteriet sparas på vissa enheter."</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Inga skärmändringar}=1{{effect_1}}=2{{effect_1} och {effect_2}}=3{{effect_1}, {effect_2} och {effect_3}}other{{effect_1}, {effect_2} och # till}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Tillåt alla aviseringar"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Personer, appar och ljud får avbryta"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Skärmalternativ för filtrerade aviseringar"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"När Stör ej har aktiverats"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Aviseringar hörs inte"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"öppna avisering"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Tillåt att aviseringar snoozas"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Aviseringsprick på appikonen"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Aviseringspaket"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bubblor"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubblor"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Visa en bubbla för konversationen"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Den kan svara på meddelanden och använda åtgärdsknappar i aviseringar, inklusive att skjuta upp eller stänga aviseringar och svara på samtal."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Ändra inställningar"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Den kan aktivera/inaktivera Stör ej och ändra relaterade inställningar."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Den kan hantera och aktivera lägen och ändra relaterade inställningar."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Om du inaktiverar aviseringsåtkomst för <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> kan åtkomsten till Stör ej också inaktiveras."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Om du inaktiverar åtkomst till aviseringar för <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> kan även åtkomsten till lägen inaktiveras."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Inaktivera"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Avbryt"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Realtid"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Den här appen har inte stöd för avancerade inställningar"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Fler inställningar"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Fler inställningar är tillgängliga i appen"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Anpassade aviseringar"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Använd anpassade aviseringar"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"När du får många aviseringar på kort tid kommer din telefon att sänka volymen och minimera popup-fönster på skärmen i upp till två minuter. Samtal, alarm och prioriterade konversationer kommer fortfarande att vibrera, låta eller visas på skärmen, och alla aviseringar är lätta att hitta när du drar ned från skärmens överkant."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Gradvis sänkning – aviseringar"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Använd gradvis sänkning för aviseringar"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"När du får många aviseringar på kort tid kommer enheten att sänka volymen och minimera aviseringar i upp till två minuter. Samtal, alarm och prioriterade konversationer påverkas inte. \n\nDu kan hitta aviseringarna som tas emot under den gradvisa sänkningen genom att dra nedåt från skärmens överkant."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Använd för jobbprofiler"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Tillämpa på jobbprofilappar"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Hjälptjänster för VR"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Stör ej-åtkomst"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Tillåt Stör ej"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Inga installerade appar har begärt Stör ej-åtkomst"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Åtkomst till lägen"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Tillåt åtkomst till lägen"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Inga installerade appar har begärt åtkomst till lägen"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Du har inte godkänt aviseringar från den här appen"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"På din begäran blockeras denna aviseringskategori av Android och visas inte på enheten"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"På din begäran blockeras denna aviseringsgrupp av Android och visas inte på enheten"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Kategorier"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Övrigt"</string>
     <string name="no_channels" msgid="4716199078612071915">"Den här appen har inte skickat några aviseringar"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Visa oanvända kategorier"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Fler inställningar i appen"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Visa oanvända kategorier"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Dölj oanvända kategorier"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g>–<xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Konversationer"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Alla konversationer"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"alla konversationer"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Prioriterade konversationer"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"prioriterade konversationer"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Inga"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Appar som får störa dig"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Valda appar"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Ingen"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Alla"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Inga appar får avbryta}=1{{app_1} får avbryta}=2{{app_1} och {app_2} får avbryta}=3{{app_1}, {app_2} och {app_3} får avbryta}other{{app_1}, {app_2} och # till får avbryta}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (jobbet)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Beräknar …"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Tillåt att appar åsidosätter funktionen"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Appar som får störa dig"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Välj fler appar"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Inget får avbryta"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Ingen får avbryta"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Vissa får avbryta"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Upprepade samtal från samma nummer får avbryta"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Alla får avbryta"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Personer som ringer upprepat"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Tillåt upprepade samtal"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Ändra till endast alarm i en timme tills {time}}other{Ändra till endast alarm i # timmar tills {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Ändra till endast alarm fram till kl. <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Ändra till avbryt alltid"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Byt namn"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Ändra ikon"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Ändra ikon"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Redigera läge"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Skapa ett läge"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Anpassat läge"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Lägesnamn"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Kalenderhändelser"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Läggdagsrutin"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"När du kör"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Appinställningar"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Information och inställningar för <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Hanteras av <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Vill du inaktivera <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Läget aktiveras aldrig när det är inaktiverat"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Inaktivera"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Vill du aktivera <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Läget kan aktiveras automatiskt beroende på inställningarna"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Aktivera"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Ställ in ett läge som följer ett förinställt schema"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Ställ in ett läge för att synkronisera med kalenderhändelser och svar på inbjudningar"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Designa en lugnande sömnrutin. Ställ in alarm, sänk ljusstyrkan på skärmen och blockera aviseringar."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Prioritera säkerhet på vägen och kör utan distraktioner"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Blockera distraktioner och avbrott från enheten så att du kan fokusera"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Slipp distraktioner och få en lugn miljö"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Anpassa inställningarna och upplevelserna på enheten för olika användare"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Minimera avbrott genom att bara tillåta att viktiga personer och appar når dig"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Ställ in ett läge som följer ett förinställt schema"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Håll enheten synkroniserad med dagens händelser"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Vakna pigg och fräsch"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Prioritera säkerheten när du kör"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Fokusera bättre"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"För stunder som kräver extra hänsyn"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Guidad användning som håller dig säker"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Behåll uppmärksamheten på det viktigaste"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Varning"</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>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Måste vara på eftersom aviseringsåtkomsten är aktiverad"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Vill du återkalla åtkomstbehörigheten till Stör ej för <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Alla Stör ej-regler som skapats med den här appen tas bort."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Vill du tillåta åtkomst till lägen för <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Appen kommer att kunna aktivera och inaktivera Stör ej, hantera och aktivera lägen och ändra relaterade inställningar."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Alla lägen som skapats i appen tas bort."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Optimera inte"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimera"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Batteriet kan ta slut fortare. Appen hindras inte längre från att dra batteri i bakgrunden."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Fodral"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Batteri"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Panelen Inställningar"</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_desktop_mode" msgid="5644818402534562302">"Aktivera frihandsfönster"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Aktivera frihandsfönster på sekundär skärm"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Aktivera appar vars storlek inte kan ändras i flerfönsterläge"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Låter appar vars storlek inte kan ändras finnas i flerfönsterläge"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Åsidosätter tvingat mörkt läge"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobildata"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"I syfte att förbättra upplevelsen med enheten kan appar och tjänster fortfarande söka efter wifi-nätverk när som helst, även om wifi har inaktiverats. Funktionen kan till exempel användas till att förbättra platsbaserade funktioner och tjänster. Du kan ändra detta i inställningarna för wifi-sökning."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Ändra"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Ansluten"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Tillfälligt ansluten"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"<xliff:g id="SUBNAME">%1$s</xliff:g> används tillfälligt"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Använd fästa appar"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Använd utvecklaralternativ"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Använd utskriftstjänst"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Tillåt flera användare"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Tillåt byte av användare"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"tillåt, flera, användare, godkänn, många"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"flera, användare, profiler, personer, konton, byta, många"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Använd trådlös felsökning"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> vill ansluta till den här telefonen.\n\nDu har inte anslutit till <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> tidigare."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Anslut inte"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Anslut"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Inställningar för TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"På"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Av"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Återställ standardinställningarna"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Standardinställningarna har återställts"</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Högsta saldo vid fulladdad enhet"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Saldo"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Konsumtionsgräns"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Första konsumtionsgräns"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Lägre konsumtionsgräns"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Övre konsumtionsgräns"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modifierare"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Åtgärder (produktionspris)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Åtgärder (baspris)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Belöningar per enskild händelse"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Belöningar/sekund medan händelsen pågår"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Högsta antal belöningar per dag"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Appinstallation"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Toppaktivitet"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Aviseringen har setts"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Aviseringen sågs inom 15 minuter"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interaktion med avisering"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Widgetinteraktion"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Annan användarinteraktion"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Start av jobb med högsta prioritet"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Körning av jobb med högsta prioritet"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Start av jobb med hög prioritet"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Körning av jobb med hög prioritet"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Start av jobb med standardprioritet"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Körning av jobb med standardprioritet"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Start av jobb med låg prioritet"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Körning av jobb med låg prioritet"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Start av jobb med lägsta prioritet"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Körning av jobb med lägsta prioritet"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Påföljd vid uppnådd tidsgräns för jobb"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Lägsta saldo vid fulladdad enhet (undantagna)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Lägsta saldo vid fulladdad enhet (fönsterlös systemapp)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Lägsta saldo vid fulladdad enhet (återstående appar)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Lägsta saldo vid fulladdad enhet (appuppdaterare)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Laddning"</item>
-    <item msgid="658627268149681677">"Slummerfunktion"</item>
-    <item msgid="1599558140284643834">"Strömsparläge"</item>
-    <item msgid="588427840913221601">"Processtatus"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Bekräfta"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Förhandsgranska"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Välj en skärmsläckare"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Visa mer information"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Välj vad som ska visas på skärmen när surfplattan har dockats. Energiförbrukningen kan öka när en skärmsläckare används."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Anpassa"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Anpassa <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Du måste starta om enheten för att aktivera stöd för flytande läge."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Du måste starta om enheten om du vill tvinga fram datorläge på sekundära skärmar."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Du måste starta om enheten för att aktivera stöd för frihandsfönster."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Du måste starta om enheten för att uppdatera tillgängligheten för frihandsfönster."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Du måste starta om enheten för att aktivera frihandsfönster på sekundära skärmar."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Starta om nu"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Starta om senare"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Rumsligt ljud"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Rosa"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Violett"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Klar"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Spara"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Avbryt"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Standard"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Medelhög"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"På"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Av"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"På"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Ljud %1$d%% vänster, %2$d%% höger"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Ljud %1$d%% höger, %2$d%% vänster"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Enhetens namn är synligt för appar du har installerat. Det kan också vara synligt för andra personer när du ansluter till Bluetooth-enheter eller ett wifi-nätverk, eller om du skapar en wifi-surfzon."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Genus"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Välj genus"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Ljuddelningen har avslutats"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Anslut en kompatibel enhet"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Om du vill dela ljud ska du börja med att ansluta LE Audio-hörlurarna till din telefon"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Byt till <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Ansut till en LE Audio-stream"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Ljudstreamar i närheten"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Ljudstreamar"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Lyssna på streamen"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Skanna QR-koden för en ljudstream om du vill lyssna med <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Det går inte att redigera lösenordet medan delning pågår. Om du vill byta lösenord måste du först stänga av ljuddelningen."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR-skanner"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Behöver du hjälp?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Sökinställningar"</string>
 </resources>
diff --git a/res/values-sw/arrays.xml b/res/values-sw/arrays.xml
index cd23759..94e3abc 100644
--- a/res/values-sw/arrays.xml
+++ b/res/values-sw/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Wakati wa kulala"</item>
-    <item msgid="4152450357280759894">"Kuendesha gari"</item>
-    <item msgid="7096549258219399423">"Kwa kina"</item>
-    <item msgid="2760716776980432977">"Inadhibitiwa"</item>
-    <item msgid="601734478369121764">"Nyota"</item>
-    <item msgid="6243809315432780521">"Kalenda"</item>
-    <item msgid="4913577903148415331">"Muda"</item>
-    <item msgid="3653377604690057780">"Ukumbi"</item>
-    <item msgid="3843711267408385410">"Ua"</item>
+    <item msgid="1216815120972438676">"Mkoba"</item>
+    <item msgid="184985872234062767">"Jengo la zamani"</item>
+    <item msgid="9189550412466785530">"Jengo la fleti"</item>
+    <item msgid="2142527562511049422">"Kiputo cha maneno"</item>
+    <item msgid="2548100558260478605">"Kikundi cha watu"</item>
+    <item msgid="2270003903304578284">"Balbu ya umeme"</item>
+    <item msgid="4793496619091161864">"Kalenda"</item>
+    <item msgid="5673625795644364100">"Usinisumbue"</item>
+    <item msgid="1423820834865831361">"Mtu anayekimbia"</item>
+    <item msgid="2037298830718732608">"Gofu"</item>
+    <item msgid="2197835014443491074">"Vyuma vya mazoezi"</item>
+    <item msgid="2730180105015616518">"Kuogelea"</item>
+    <item msgid="2666922823253345958">"Mtu anayekwea mlima"</item>
+    <item msgid="8234880356472211396">"Mtu anayerusha mpira"</item>
+    <item msgid="4642980625253001443">"Mtu anayepiga teke"</item>
+    <item msgid="4324795269518833500">"Kidhibiti cha mchezo"</item>
+    <item msgid="7789966425125441125">"Safu ya rangi ya msanii"</item>
+    <item msgid="663512680597461570">"Kipande kidogo sana cha theluji"</item>
+    <item msgid="7952183800501346803">"Mwamvuli wa ufukweni"</item>
+    <item msgid="799139025758265891">"Zana za karakana"</item>
+    <item msgid="1330084588359129896">"Hema"</item>
+    <item msgid="3861584909935022342">"Ukanda wa filamu"</item>
+    <item msgid="5827426100157335512">"Kitabu"</item>
+    <item msgid="8585828346253128384">"Ua la yungiyungi"</item>
+    <item msgid="8788370542815300188">"Mawazo ya mtu"</item>
+    <item msgid="7287354964767553293">"Vipokea sauti vya kichwani"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Treni"</item>
+    <item msgid="4903790544026923026">"Gari"</item>
+    <item msgid="5010405583912314582">"Uma na kisu"</item>
+    <item msgid="8939998598599064900">"Kikapu"</item>
+    <item msgid="3379605903308731893">"Mtoto"</item>
+    <item msgid="7808668968550293112">"Wayo wa mnyama mwenye makucha"</item>
+    <item msgid="1000692647524056504">"Beji ya nyota"</item>
+    <item msgid="8270261073421676502">"Watu wawili"</item>
+    <item msgid="5767782819651505460">"Nyota"</item>
+    <item msgid="4368451291862729334">"Moyo"</item>
+    <item msgid="2613199102208419986">"Nyumba"</item>
+    <item msgid="3022279986430275040">"Nusu-mwezi"</item>
+    <item msgid="5421089790869483206">"Saa"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index d7d7b40..ad71054 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Imetanguliwa"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Haijulikani"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Kagua kwanza"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"Msimbo wa QR"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Kila wakati"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Mipangilio ya vifaa vya kusikilizia"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Njia ya mkato, uoanifu wa kifaa cha kusaidia kusikia"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Mipangilio iliyowekwa mapema"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Hakuna mipangilio iliyowekwa mapema na audiolojia wako"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Imeshindwa kusasisha mipangilio iliyowekwa mapema"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Vifaa vya kutoa sauti"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Kuhusu vifaa vya kutoa sauti"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Chaguo la lugha kwa programu hii halipatikani kwenye Mipangilio."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Huenda lugha ikatofautiana na zinazopatikana katika programu. Huenda baadhi ya programu zisiwe na uwezo wa kutumia mipangilio hii."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Weka lugha ya kila programu."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Mfumo wako, programu na tovuti hutumia lugha ya kwanza inayotumika katika chaguo za lugha unazozipendelea."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Vifaa, programu na tovuti zako hutumia lugha ya kwanza inayotumika kutoka kwenye orodha ya lugha unazopendelea.\n\nProgramu nyingi pia zitatumia maelezo ya eneo kutoka kwenye lugha unayopendelea ili kuweka muundo wa tarehe, namba na vipimo. Ili kubadilisha maelezo ya eneo uliko, weka lugha kisha uchague eneo unalopendelea."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Ili uchague lugha kwa kila programu, nenda kwenye mipangilio ya lugha ya programu."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Pata maelezo zaidi kuhusu lugha za programu"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Ungependa kubadilisha lugha ya mfumo kuwa %s ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Umezima"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Imewashwa / programu # ina idhini ya kufikia data ya mahali}other{Imewashwa / programu # zina idhini ya kufikia data ya mahali}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Inapakia…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Programu zenye ruhusa ya Uhamishaji wa Karibu zinaweza kubainisha mahali vilipo vifaa vilivyounganishwa."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Programu zenye ruhusa za kufikia vifaa vilivyo karibu zinaweza kubainisha mahali vilipo vifaa vilivyounganishwa."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Ruhusa za kufikia mahali zimezimwa kwenye programu na huduma. Bado maelezo ya mahali kilipo kifaa chako yanaweza kutumwa kwa wanaoshughulikia matukio ya dharura unapopiga simu au kutuma SMS kwa namba ya dharura."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Pata maelezo zaidi kuhusu Mipangilio ya mahali"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Ili ubadilishe nenda kwenye Mipangilio ya ChromeOS &gt; Faragha na usalama &gt; Vidhibiti vya faragha &gt; Ufikiaji wa maelezo ya mahali"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Umeweka uso na <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Umeweka uso, alama ya kidole na <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Umeweka uso, alama za vidole na <xliff:g id="WATCH">%s</xliff:g>"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Kikagua Utambulisho kimewashwa na kinahitaji taarifa ya kibayometri"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Kufungua Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Saa imeoanishwa"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Weka mipangilio ya saa yako"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Pata maelezo zaidi kuhusu Kufungua Kupitia Saa"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Weka saa"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Ondoa saa"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Alama ya Kidole na Kufungua kwa Uso"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Kufungua kwa Alama ya Kidole na Uso"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Kazini: Kufungua kwa Uso na Alama ya Kidole"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Unahitaji kuweka mipangilio"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Uso na alama za vidole zimeongezwa"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Inaweka mipangilio ya sehemu ya faragha…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Imeshindwa kuweka mipangilio ya sehemu ya faragha"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Jaribu Tena"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Funga"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Sehemu ya faragha haipatikani.\nAngalia sababu zinazowezekana"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Angalia sababu zinazowezekana"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Ungependa kuchagua mbinu mpya ya kufunga sehemu ya faragha?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Unaweza kuweka mbinu mpya ya kufunga sehemu ya faragha au utumie mbinu ile ile unayotumia kufungua kifaa chako"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Tumia mbinu ya kufunga skrini"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Wakati Bluetooth imewashwa, kifaa chako kinaweza kuwasiliana na vifaa vingine vyenye Bluetooth vilivyo karibu.\n\nIli kuboresha hali ya matumizi ya kifaa, programu na huduma bado zinaweza kutafuta vifaa vilivyo karibu wakati wowote, hata wakati umezima Bluetooth. Hali hii inaweza kutumika, kwa mfano, kuboresha huduma na vipengele vinavyohusiana na mahali. Unaweza kubadilisha mipangilio hii katika mipangilio ya kutafuta Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Wakati Bluetooth imewashwa, kifaa chako kinaweza kuwasiliana na vifaa vingine vyenye Bluetooth vilivyo karibu. Vipengele kama vile Kutuma Haraka na Tafuta Kifaa Changu hutumia Bluetooth.\n\nProgramu na huduma bado zinaweza kuchanganua vifaa viliyo karibu wakati wowote, hata wakati Bluetooth imezimwa. Uwezo huu unaweza kutumiwa, kwa mfano, kuboresha vipengele na huduma zinazotegemea maelezo ya mahali. Unaweza kubadilisha hali hii kwenye mipangilio ya Kutafuta Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Badilisha"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Maelezo ya kifaa"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Mipangilio ya kibodi"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Mipangilio zaidi"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Masasisho ya programu dhibiti, kuhusu na mengineyo"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Vidokezo na usaidizi"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Anwani ya Bluetooth ya kifaa chako: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Anwani ya Bluetooth ya kifaa:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Ungependa kusahau kifaa?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Ya majaribio. Huboresha sauti."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Sahau kifaa"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Tenganisha programu"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Mipangilio zaidi"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Kima cha juu zaidi cha vifaa vya sauti vya Bluetooth vilivyounganishwa"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Chagua kima cha juu zaidi cha vifaa vya sauti vya Bluetooth vilivyounganishwa"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Kumbukumbu ya kina ya utatuzi ya mtoa huduma"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Ungependa kuzima kisha uwashe kifaa?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Uwekaji maelezo ya kumbukumbu ya NFC ni kwa madhumuni ya usanidi pekee. Vilevile data ya NFC inajumuishwa katika ripoti za hitilafu ambazo huenda zikawa na taarifa ya faragha. Zima kisha uwashe kifaa chako ili ubadili mipangilio hii."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Zima kisha uwashe"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Imewashwa"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Imezimwa"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Skrini ya Nje"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Tumia skrini ya nje"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Ubora wa skrini"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Skrini ya nje imeondolewa"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Mzunguko"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Wastani"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"Digrii 90"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"Digrii 180"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"Digrii 270"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Hatua ya kubadilisha mzunguko au ubora inaweza kufanya programu zozote zinazotumika kwa sasa ziache kufanya kazi"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Ni lazima kifaa chako kiunganishwe na skrini ya nje ili kuakisi skrini yako"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Chaguo zaidi"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Tuma"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"kioo"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Washa kuonyesha skrini bila kutumia waya"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Inayojirekebisha"</string>
     <string name="brightness" msgid="6216871641021779698">"Kiwango cha mwangaza"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Mwangaza unaojirekebisha"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Kuhusu mwangaza unaojirekebisha"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Itarekebisha mwangaza wa skrini kiotomatiki ili uendane na mazingira na shughuli zako. Unaweza kusogeza kitelezi mwenyewe ili kusaidia kipengele cha mwangaza unaojirekebisha kijifunze mapendeleo yako."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Umewashwa"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Kimezimwa"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Ungependa kutumia <xliff:g id="CARRIER">%1$s</xliff:g> kwa ajili ya data ya mtandao wa simu?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Unatumia <xliff:g id="CARRIER2_0">%2$s</xliff:g> kwa ajili ya data ya mtandao wa simu. Ukibadilisha uweke <xliff:g id="CARRIER1">%1$s</xliff:g>, <xliff:g id="CARRIER2_1">%2$s</xliff:g> haitatumika tena kwa ajili ya data ya mtandao wa simu."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Tumia <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Ungependa kusasisha SIM unayopendelea?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> ndiyo SIM pekee iliyo katika kifaa chako. Ungependa kutumia SIM hii kupata data ya mtandao wa simu, kupiga simu na kutuma SMS?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"Sasa <xliff:g id="NEW_SIM">%1$s</xliff:g> ni SIM yako msingi"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Ungependa kuboresha ufikiaji wa data ya mtandao wa simu?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Ruhusu kifaa chako kibadilishe na kutumia <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> kiotomatiki kwa ajili ya data ya mtandao wa simu inapopatikana kwa ubora."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Huenda simu, ujumbe na trafiki ya mtandao vikaonekana kwa shirika lako."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Chaguo"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Ufikivu"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Kibodi halisi"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Tumia kibodi ya skrini"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Ionyeshe kwenye skrini wakati kibodi halisi inatumika"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Vitufe vinavyoduta"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Kibodi hupuuza vitendo vya kurudia kubonyeza kitufe kimoja haraka na mara nyingi ndani ya milisekunde <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g>"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Vitufe vya polepole"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Hurekebisha muda unaochukua kitendo cha kubofya kitufe ili kuwasha uwe milisekunde <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g>"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Vitufe vinavyonata"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Bonyeza kitufe kimoja baada ya kingine ili upate njia za mkato badala ya kubonyeza na kushikilia vitufe kwa pamoja"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Vitufe vya kipanya"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Tumia kibodi halisi kudhibiti kipanya."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Mikato ya kibodi"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Onyesha orodha ya njia za mkato"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Zana na kibodi za wasifu wa kazini"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Weka mapendeleo kwenye ishara maalum za kusogeza za padi ya kugusa"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Usogezaji kinyume"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Maudhui husogea juu unaposogeza chini"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Mguso wa chini kulia"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Gusa kona ya upande wa chini kulia wa padi ya kugusa kwa chaguo zaidi"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Kubofya chini kulia"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Bofya kona ya chini kulia mwa padi ya kugusa kwa chaguo zaidi"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Kasi ya kiashiria"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Rangi ya kielekezi"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Badilisha kielekezi kiwe cheusi"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Badilisha kielekezi kiwe cha njano"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Badilisha kielekezi kiwe cha waridi"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Badilisha kielekezi kiwe cha buluu"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Muundo wa mcharazo wa kielekezi"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Nyeupe"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Nyeusi"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Hamna"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Jifunze ishara za padi ya kugusa"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"padi ya kusogeza, padi ya kusogeza, kipanya, kiteuzi, nenda, telezesha kidole, bofya kulia, bofya, kishale"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"bofya kulia, gusa"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Weka upya"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Chagua kitufe cha kurekebisha"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Chagua kitufe kipya cha kurekebisha cha <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Muundo wa <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Chaguomsingi"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Otomatiki: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Uliochaguliwa na mtumiaji: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Kutamka"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Kasi ya kiashiria"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Ukubwa wa kiashiria"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Punguza ukubwa wa kiashiria"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Ongeza ukubwa wa kiashiria"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Kidhibiti cha Mchezo"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Elekeza mtetemo"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Elekeza mitetemo kwenye kidhibiti cha mchezo wakati kimeunganishwa"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Endelea tu"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Ghairi"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Mipangilio ya ukuzaji"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Kubuta kwa kidole kimoja"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Sogeza kikuzaji ukitumia kidole 1"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Buruta kidole 1 ili usogeze kwenye skrini"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Sogeza sehemu ya ukuzaji kwa kuburuta kwa kidole kimoja."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Sogeza sehemu ya ukuzaji kwa kuburuta kwa vidole viwili."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Haipatikani unapokuza tu sehemu fulani ya skrini"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Gusa kitufe ili ukuze"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Vuta karibu kwa haraka kwenye skrini ili ufanye maudhui yawe makubwa"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Ili uvute karibu:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Tumia njia ya mkato ili uanze kukuza&lt;br/&gt; {1,number,integer}. Gusa skrini&lt;br/&gt; {2,number,integer}. Buruta vidole viwili ili usogeze kwenye skrini&lt;br/&gt; {3,number,integer}. Bana kwa vidole viwili ili ubadilishe ukuzaji&lt;br/&gt; {4,number,integer}. Tumia njia ya mkato ili uache kukuza&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Ili uvute karibu kwa muda:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Hakikisha umechagua aina ya ukuzaji kuwa skrini nzima&lt;br/&gt; {1,number,integer}. Tumia njia ya mkato ili uanze kukuza&lt;br/&gt; {2,number,integer}. Gusa na ushikilie mahali popote kwenye skrini&lt;br/&gt; {3,number,integer}. Buruta kidole ili usogeze kwenye skrini&lt;br/&gt; {4,number,integer}. Inua kidole ili uache kukuza"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Ili uvute karibu:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Tumia njia ya mkato ili uanze ukuzaji&lt;br/&gt; {1,number,integer}. Gusa skrini&lt;br/&gt; {2,number,integer}. Buruta vidole 2 ili usogeze kwenye skrini&lt;br/&gt; {3,number,integer}. Bana ukitumia vidole 2 ili ukuze vinginevyo&lt;br/&gt; {4,number,integer}. Tumia njia ya mkato ili uache kukuza&lt;br/&gt;&lt;br/&gt; Unaweza pia kuvuta karibu kwa muda mfupi na zaidi."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Ili uvute karibu:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Tumia njia ya mkato ili uanze ukuzaji&lt;br/&gt; {1,number,integer}. Gusa skrini&lt;br/&gt; {2,number,integer}. Buruta kidole 1 au 2 ili usogeze kwenye skrini&lt;br/&gt; {3,number,integer}. Bana ukitumia vidole 2 ili ukuze vinginevyo&lt;br/&gt; {4,number,integer}. Tumia njia ya mkato ili uache kukuza&lt;br/&gt;&lt;br/&gt; Unaweza pia kuvuta karibu kwa muda mfupi na zaidi."</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_pager" msgid="8461939455728454061">"Ukurasa wa <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> kati ya <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Njia ya mkato ya kitufe cha zana za ufikivu"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Gusa kitufe kinachoelea"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Ishara ya ufikivu"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Gusa kitufe cha zana za ufikivu <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> katika sehemu ya chini ya skrini yako. Ili ubadili kati ya vipengele, gusa na ushikilie kitufe cha zana za ufikivu."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Telezesha vidole viwili juu kutoka sehemu ya chini ya skrini.\n\nIli ubadilishe kati ya vipengele, telezesha vidole viwili juu na ushikilie."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Telezesha vidole vitatu juu kutoka sehemu ya chini ya skrini.\n\nIli ubadilishe kati ya vipengele, telezesha vidole vitatu juu na ushikilie."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Telezesha kidole kuanzia sehemu ya chini ya skrini yako kwenda juu. Ili ubadili kati ya vipengele, telezesha kidole juu na ushikilie.}other{Telezesha vidole # kuanzia sehemu ya chini ya skrini yako kwenda juu. Ili ubadili kati ya vipengele, telezesha vidole # juu na ushikilie.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Chaguo zaidi"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Pata maelezo zaidi kuhusu <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Vitufe vya sauti"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"vitufe vya sauti"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Bonyeza na ushikilie vitufe vyote viwili vya sauti"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Gusa skrini mara mbili kwa vidole viwili"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Kugusa mara mbili ukitumia vidole %1$d"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Gusa skrini mara mbili haraka ukitumia vidole %1$d"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Kugusa mara tatu"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Gusa skrini mara %1$d haraka. Huenda hali hii ikasababisha kifaa chako kifanye kazi polepole."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Kugusa mara mbili ukitumia vidole %1$d"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Gusa skrini kwa haraka mara {0,number,integer} kwa vidole viwili"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Gusa skrini mara tatu"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"kugusa mara tatu"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Gusa skrini mara {0,number,integer} 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Mipangilio ya njia ya mkato"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Njia ya mkato kwenye skrini iliyofungwa"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Ruhusu kipengele cha njia ya mkato ya kufikia vipengele kiwake kwenye skrini iliyofungwa. Shikilia vitufe vyote viwili vya sauti kwa sekunde chache."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Kitufe cha zana za ufikivu"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Usogezaji na vitufe vya zana za ufikivu"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Huduma hii haifanyi kazi vizuri."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Njia za mkato za zana za ufikivu"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Onyesha katika Mipangilio ya Haraka"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Nyekundu-kijani"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Nyekundu-kijani"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Nyekundu-kijani, kijani hafifu"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Nyekundu-kijani, nyekundu hafifu"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Bluu-manjano"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Kijivu"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Ukolezaji"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Kijani hafifu, upofu wa kutoona rangi kijani"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Nyekundu hafifu, upofu wa kutoona rangi nyekundu"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Haipatikani kwa hali ya kijivu au wakati kipengele cha usahihishaji wa rangi kimezimwa"</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 wa kutoona rangi ya bluu"</string>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Kipunguza mwangaza zaidi"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Punguza mwangaza wa skrini zaidi"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Samawati-Kijani"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Manjano"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Majenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Ungependa kuruhusu <xliff:g id="SERVICE">%1$s</xliff:g> iwe na udhibiti kamili wa kifaa chako?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> inahitaji:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Kwa sababu programu yako inazuia ombi la ruhusa, Mipangilio haiwezi kuthibitisha majibu yako."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> inaomba udhibiti kamili wa kifaa hiki. Huduma hii inaweza kusoma skrini na ichukue hatua kwa niaba ya watumiaji walio na matatizo ya kuona au kusikia. Kiwango hiki cha udhibiti hakifai kwa programu nyingi."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Udhibiti kamili unafaa kwa programu zinazokusaidia kwa mahitaji ya ufikivu, ila si kwa programu nyingi."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Kuangalia na kudhibiti skrini"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Inaweza kusoma maudhui yote kwenye skrini na kuonyesha maudhui kwenye programu zingine."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Kuangalia na kutekeleza vitendo"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Inaweza kufuatilia mawasiliano yako na programu au kitambuzi cha maunzi na kuwasiliana na programu zingine kwa niaba yako."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Ruhusu"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Kataa"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Zima"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Imewashwa / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> na <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Pia, unaweza kuwasha kipengele cha Sauti Inayojirekebisha kwa Vifaa vyenye Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Mipangilio ya vifaa vilivyounganishwa"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Sauti Inayojirekebisha Kulingana na Hali"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Imezimwa"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Imezimwa"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Imezimwa"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Hamna}=1{Pana ratiba moja}other{Pana ratiba #}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Usinisumbue"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Hali za Kipaumbele"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Weka hali"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Hali"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Punguza usumbufu na udhibiti umakini wako ukitumia hali za kulala, kufanya kazi, kuendesha gari na nyinginezo."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Anzisha hali yako mwenyewe"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Pata arifa za watu na programu muhimu pekee"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Weka ratiba"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Ratibu kulingana na"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Siku na saa"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"Saa 3 Asubuhi - Saa 11 Jioni siku za wiki\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Matukio ya kalenda"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} inatumika}=2{{mode_1} na {mode_2} zinatumika}=3{{mode_1}, {mode_2} na {mode_3} zinatumika}other{{mode_1}, {mode_2} na nyingine # zinatumika}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{Hali 1 inaweza kuwashwa kiotomatiki}other{Hali # zinaweza kuwashwa kiotomatiki}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"IMEWASHWA"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Haijawekwa"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Imezimwa"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Anzisha hali"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Maalum"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Washa sasa"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Zima"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Hali haikupatikana"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Punguza usumbufu"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Zuia usumbufu na kukatizwa"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Weka mipangilio ya <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Washa kipengele cha Usinisumbue"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Sauti za kengele na maudhui zinaweza kukatiza"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Ratiba"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Futa kanuni"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Futa"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Badilisha jina"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Futa"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Ungependa kufuta hali ya \"<xliff:g id="MODE">%1$s</xliff:g>\"?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Badilisha"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Ratiba"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Ratiba"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Washa kiotomatiki"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Weka kalenda"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Tumia kalenda yako"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Ratiba"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Weka ratiba"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Wakati wa kuwasha kiotomatiki"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Ratiba ya matukio"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Washa wakati wa matukio ya"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Ambapo jibu la mwaliko ni"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Ratiba ya wakati"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Ratiba"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"Saa <xliff:g id="HOURS">%1$d</xliff:g>, dak <xliff:g id="MINUTES">%2$d</xliff:g>"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Ratibu"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Ruhusu ukatizwe na vipengele vinavyotoa sauti"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Arifa zinazoweza kukufikia"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Vitendo vya ziada"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Vichujio vya arifa"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Mipangilio zaidi"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Imezimwa}=1{Imezimwa au Hali 1 inaweza kuwashwa kiotomatiki}other{Imezimwa au Hali # zinaweza kuwashwa kiotomatiki}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Mipangilio ya kuonyesha"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Chaguo za kuonyesha"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Kijivu"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"washa mandhari meusi"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Badili mfumo wa uendeshaji na programu uwe katika hali ya napendelea maandishi mepesi kwenye mandharinyuma meusi\", ambayo yanaweza kuonekana kwa urahisi na yanapelekea uokoaji mkubwa wa betri kwenye baadhi ya vifaa."</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Hakuna mabadiliko kwenye skrini}=1{{effect_1}}=2{{effect_1} na {effect_2}}=3{{effect_1}, {effect_2} na {effect_3}}other{{effect_1}, {effect_2} na # zaidi}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Ruhusu arifa zote"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Watu, programu na sauti zinaweza kukatiza huduma"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Chaguo za kuonyesha arifa zilizochujwa"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Wakati umewasha kipengele cha Usinisumbue"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Arifa zisitoe sauti"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"fungua arifa"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Ruhusu uahirishaji wa arifa"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Kitone cha arifa kwenye aikoni ya programu"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Vifurushi vya arifa"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Viputo"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Viputo"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Yafanye mazungumzo haya yatoe viputo"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Inaweza kujibu ujumbe na kuchukua hatua kwenye vitufe katika arifa, ikiwa ni pamoja na kuahirisha au kuondoa arifa na kujibu simu."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Kubadilisha mipangilio"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Inaweza kuwasha au kuzima kipengele cha Usinisumbue na kubadilisha mipangilio inayohusiana nacho."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Inaweza kudhibiti na kuwasha Hali na kubadilisha mipangilio inayohusiana."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Ukizima ufikiaji wa arifa katika <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, huenda hali hii pia ikazima ufikiaji wa kipengee cha Usinisumbue."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Ukizima uwezo wa <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> wa kufikia arifa, ufikiaji wa Hali unaweza pia kuzimwa."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Zima"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Ghairi"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Muda halisi"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Programu hii haitumii mipangilio iliyoboreshwa"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Mipangilio zaidi"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Mipangilio zaidi inapatikana ndani ya programu hii"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Arifa Zinazojirekebisha"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Tumia arifa zinazojirekebisha"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Ukipokea arifa nyingi ndani ya muda mfupi, simu yako itapunguza kiwango cha sauti na idadi ya madirisha ibukizi kwenye skrini kwa hadi dakika mbili. Simu, kengele na mazungumzo ya kipaumbele bado yatafanya simu iteteme, kutoa sauti au kuonekana kwenye skrini na ni rahisi kupata arifa zote ukitelezesha kidole chini kutoka sehemu ya juu ya skrini."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Kupungua kwa shughuli ya arifa"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Tumia mipangilio ya kutuliza arifa"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Unapopokea arifa nyingi ndani ya muda mfupi, kifaa chako kitapunguza sauti na arifa kwa hadi dakika 2. Hali hii haitaathiri simu, kengele na mazungumzo ya kipaumbele. \n\nUnaweza kupata arifa ulizopokea wakati wa kupungua kwa shughuli kwa kutelezesha kidole chini kutoka sehemu ya juu ya skrini."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Tumia kwenye wasifu wa kazini"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Inatumika kwa programu zenye wasifu wa kazini"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Huduma za kisaidizi cha Uhalisia Pepe"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Kufikia kipengele cha Usinisumbue"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Ruhusu kipengele cha Usinisumbue"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Hakuna programu zilizosakinishwa ambazo zimeomba kufikia kipengele cha Usinisumbue"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Ufikiaji wa hali"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Ruhusu ufikiaji wa Hali"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Hakuna programu zilizowekwa kwenye kifaa ambazo zimeomba uwezo wa kufikia Hali"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Hujaruhusu arifa kutoka kwenye programu hii"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Kutokana na ombi lako, Android inazuia aina hizi za arifa ili zisionekane kwenye kifaa hiki"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Kutokana na ombi lako, Android inazuia kikundi hiki cha arifa ili zisionekane kwenye kifaa hiki"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Aina"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Nyingine"</string>
     <string name="no_channels" msgid="4716199078612071915">"Programu hii haijachapisha arifa zozote"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Onyesha aina ambazo hazijatumika"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Mipangilio ya ziada katika programu"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Onyesha aina zisizotumika"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Ficha aina zisizotumika"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Mazungumzo"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Mazungumzo yote"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"mazungumzo yote"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Mazungumzo yenye kipaumbele"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"mazungumzo ya kipaumbele"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Hamna"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Programu zinazoweza kukatiza"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Programu zilizochaguliwa"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Hamna"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Zote"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Hakuna programu zinazoweza kukatiza}=1{{app_1} inaweza kukatiza}=2{{app_1} na {app_2} zinaweza kukatiza}=3{{app_1}, {app_2} na {app_3} zinaweza kukatiza}other{{app_1}, {app_2} na nyingine # zinaweza kukatiza}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (Kazini)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Inahesabu…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Ruhusu programu zibatilishe hali"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Programu zinazoweza kukatiza"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Chagua programu zaidi"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Hakuna kinachoweza kukatiza"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Hakuna mtu anayeweza kukatiza"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Baadhi ya watu wanaweza kukatiza"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Wanaorudia kupiga simu wanaweza kukatiza"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Watu wote wanaweza kukatiza"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Wanaorudia kupiga simu"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Ruhusu wanaorudia kupiga simu"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Badilisha utumie kengele pekee kwa saa moja hadi {time}}other{Badilisha utumie kengele pekee kwa saa # hadi {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Badilisha utumie kengele pekee hadi <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Badilisha utumie hali ya katiza wakati wote"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Badilisha jina"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Badilisha aikoni"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Badilisha aikoni"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Badilisha hali"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Anzisha hali"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Hali maalum"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Jina la hali"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Matukio ya kalenda"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Ratiba ya wakati wa kulala"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Unapoendesha gari"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Mipangilio ya programu"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Maelezo na mipangilio katika <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Inadhibitiwa na <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Ungependa kuzima <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Hali hii haitawashwa kamwe iwapo imezimwa"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Zima"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Ungependa kuwasha <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Hali hii inaweza kuwashwa kiotomatiki kulingana na mipangilio yake"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Washa"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Weka hali inayofuata ratiba ya kawaida"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Weka hali isawazishwe na matukio ya kalenda na majibu ya mialiko"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Tengeneza ratiba ya hali tulivu ya kulala. Weka kengele, punguza mwangaza wa skrini na uzuie arifa."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Endesha gari kwa makini na bila usumbufu kwa kuupa kipaumbele usalama barabarani"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Zuia shughuli usizohitaji au usumbufu unaotokana na kifaa chako ili uweze kumakinika"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Ondoa shughuli zote usizohitaji ili uwe na mazingira tulivu"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Weka mapendeleo ya mipangilio na ya matumizi ya kifaa kwa watumiaji tofauti"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Punguza usumbufu kwa kuruhusu tu watu na programu muhimu kukufikia"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Weka hali inayofuata ratiba ya kawaida"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Hakikisha kifaa chako kimesawazishwa na kinalingana na matukio ya siku yako"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Amka ukiwa mchangamfu kabisa"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Zingatia usalama kwanza ukiwa barabarani"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Makinika zaidi ili uboreshe tija"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Kwa matukio ambapo heshima ni muhimu"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Matumizi yenye maelekezo yanayokusaidia uchukue hatua bora na salama"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Dhibiti umakini wako"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Onyo"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Funga"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Tuma maoni kuhusu kifaa hiki"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Lazima kiwe kimewashwa kwa sababu kipengele cha ufikiaji wa arifa kimewashwa"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Ungependa kubatilisha idhini ya <xliff:g id="APP">%1$s</xliff:g> ya kufikia kipengele cha Usinisumbue?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Itaondoa sheria zote za Usinisumbue ambazo zimetengenezwa na programu hii."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Ungependa kuruhusu <xliff:g id="APP">%1$s</xliff:g> ifikie Hali?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Programu itaweza kuwasha au kuzima kipengele cha Usinisumbue, kudhibiti na kuwasha Hali na kufanya mabadiliko kwenye mipangilio inayohusiana."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Hali zote zilizobuniwa na programu hii zitaondolewa."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Usiboreshe"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Boresha"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Huenda ikamaliza chaji ya betri yako haraka zaidi. Programu haitazuiwa tena kutumia betri chinichini."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Kipochi"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Betri"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Kidirisha cha Mipangilio"</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_desktop_mode" msgid="5644818402534562302">"Kuwasha madirisha yenye muundo huru"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Ruhusu madirisha ya muundo huru kwenye skrini mbadala"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Ruhusu ukubwa usioweza kubadilishwa katika madirisha mengi"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Huruhusu programu zenye ukubwa usioweza kubadilishwa ziwe katika madirisha mengi"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Badilisha ulazimishaji wa mandhari meusi"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"data ya mtandao wa simu"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Ili kuboresha hali ya matumizi ya kifaa, programu na huduma zinaweza kutafuta mitandao ya Wi‑Fi wakati wowote, hata wakati umezima Wi‑Fi. Hali hii inaweza kutumika, kwa mfano, kuboresha huduma na vipengele vinavyohusiana na mahali. Unaweza kubadilisha hali hii katika mipangilio ya kutafuta Wi-Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Badilisha"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Imeunganishwa"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Imeunganishwa kwa muda"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Inatumia <xliff:g id="SUBNAME">%1$s</xliff:g> kwa muda"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Tumia kipengele cha kubandika programu"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Tumia chaguo za wasanidi programu"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Tumia huduma ya kuchapisha"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Ruhusu watumiaji wengi"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Ruhusu kubadili watumiaji"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"ruhusu, kadhaa, mtumiaji, idhinisha, wengi"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"wengi, watumiaji, wasifu, watu, akaunti, badilisha, nyingi"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Tumia kipengele cha utatuzi usiotumia waya"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> kinataka kuunganishwa kwenye simu hii.\n\nHujawahi kuunganisha kwenye <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Usiunganishe"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Unganisha"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Mipangilio ya TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Washa"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Zima"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Rejesha Mipangilio Chaguomsingi"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Umerejesha mipangilio chaguomsingi."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Salio la Juu Wakati Kifaa Kimejaa Chaji"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Salio"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Kikomo cha Matumizi"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Kikomo cha Matumizi ya Mwanzo"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Kikomo cha chini cha Matumizi"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Kikomo cha Juu zaidi cha Matumizi"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Virekebishi"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Vitendo (Gharama ya Kuzalisha Bidhaa)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Vitendo (Bei ya Msingi)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Zawadi kwa kila tukio"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Zawadi kwa kila sekunde ya muda wa tukio"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Idadi ya Juu ya Zawadi kwa Siku"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Usakinishaji wa Programu"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Shughuli Maarufu"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Ameona Arifa"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Mtumiaji Aliona Arifa Ndani ya Dakika 15"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Matumizi ya Arifa"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Matumizi ya Wijeti"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Matumizi Mengine ya Mtumiaji"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Kuanzisha Kazi ya Kipaumbele cha Juu Zaidi"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Kufanya Kazi ya Kipaumbele cha Juu Zaidi"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Kuanzisha Kazi ya Kipaumbele cha Juu"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Kufanya Kazi ya Kipaumbele cha Juu"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Kuanzisha Kazi Chaguomsingi"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Kufanya Kazi Chaguomsingi"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Kuanzisha Kazi ya Kipaumbele cha Chini"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Kufanya Kazi ya Kipaumbele cha Chini"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Kuanzisha Kazi ya Kipaumbele cha Chini Zaidi"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Kufanya Kazi ya Kipaumbele cha Chini Zaidi"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Adhabu ya Kuchelewesha Kazi"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Salio la Chini Wakati Kifaa Kimejaa Chaji (Kimeruhusiwa kutofuata kanuni)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Salio la Chini Wakati Kifaa Kimejaa Chaji (Programu ya mfumo isiyo na kiolesura)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Salio la Chini Wakati Kifaa Kimejaa Chaji (Programu Zilizosalia)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Ongezeko la Salio la Chini Wakati Kifaa Kimejaa Chaji (Visasishaji vya Programu)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Inachaji"</item>
-    <item msgid="658627268149681677">"Sinzia"</item>
-    <item msgid="1599558140284643834">"Hali ya Kiokoa Betri"</item>
-    <item msgid="588427840913221601">"Hali ya Kuchakata"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Thibitisha"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Onyesho la kukagua"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Chagua taswira ya skrini"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Onyesha maelezo ya ziada"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Chagua utakachokiona kwenye skrini wakati kompyuta kibao yako imeshikiliwa kwenye kiweko. Kifaa chako kinaweza kutumia nishati nyingi zaidi taswira ya skrini inapotumika."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Badilisha upendavyo"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Uweke mapendeleo ya <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Itahitaji kuwashwa tena ili kuruhusu uwezo wa muundo huru."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Itahitaji kuwashwa tena ili kuwezesha hali ya kompyuta ya mezani kwenye skrini nyingine."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Unahitaji kuwasha tena ili kuruhusu matumizi ya dirisha lenye muundo huru."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Unahitaji kuwasha tena ili usasishe upatikanaji wa hali ya madirisha yaliyo na muundo huru."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Unahitaji kuwasha tena ili uruhusu hali ya madirisha yaliyo na muundo huru kwenye skrini mbadala."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Washa tena sasa"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Washa tena baadaye"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Sauti Inayojirekebisha"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Waridi"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Majenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Zambarau iliyokolea"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Nimemaliza"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Hifadhi"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Ghairi"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Chaguomsingi"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Wastani"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Imewashwa"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Imezimwa"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Imewashwa"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Sauti, kushoto ni %1$d%%, kulia ni %2$d%%"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Sauti, kulia ni %1$d%%, kushoto ni %2$d%%"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Jina la kifaa chako litaonekana kwa programu ambazo umesakinisha. Huenda likaonekana pia na watu wengine unapooanisha na vifaa vyenye Bluetooth, unapounganisha kwenye mtandao wa Wi-Fi au unapoweka mipangilio ya mtandao pepe wa Wi-Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Jinsia ya kisarufi"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Chagua Jinsia ya kisarufi"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Hali ya kusikiliza pamoja imekomeshwa"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Unganisha kifaa kinachooana"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Ili uanze kusikiliza pamoja, unganisha kwanza vipokea sauti vya kichwani vya LE Audio na simu yako"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Badili utumie <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Unganisha kwenye mtiririko wa LE Audio"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Mitiririko ya maudhui ya sauti iliyo karibu nawe"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Mitiririko ya maudhui ya sauti"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Sikiliza mtiririko"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Changanua msimbo wa QR wa mtiririko wa maudhui ya sauti ili usikilize kupitia <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Huwezi kubadilisha nenosiri mposikiliza pamoja. Ili ubadilishe nenosiri, zima kwanza kipengele cha kusikiliza pamoja."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Kichanganuzi cha msimbo wa QR"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Je, unahitaji usaidizi?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Mipangilio ya Utafutaji"</string>
 </resources>
diff --git a/res/values-ta/arrays.xml b/res/values-ta/arrays.xml
index 35442ce..ae9eb40 100644
--- a/res/values-ta/arrays.xml
+++ b/res/values-ta/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"உறக்கநேரம்"</item>
-    <item msgid="4152450357280759894">"வாகனம் ஓட்டுதல்"</item>
-    <item msgid="7096549258219399423">"ஈடுபடவைப்பவை"</item>
-    <item msgid="2760716776980432977">"நிர்வகிக்கப்பட்டது"</item>
-    <item msgid="601734478369121764">"ஸ்டார்"</item>
-    <item msgid="6243809315432780521">"கேலெண்டர்"</item>
-    <item msgid="4913577903148415331">"நேரம்"</item>
-    <item msgid="3653377604690057780">"திரையரங்கம்"</item>
-    <item msgid="3843711267408385410">"பூ"</item>
+    <item msgid="1216815120972438676">"பெட்டி"</item>
+    <item msgid="184985872234062767">"பழங்காலக் கட்டடம்"</item>
+    <item msgid="9189550412466785530">"அடுக்குமாடிக் கட்டடம்"</item>
+    <item msgid="2142527562511049422">"பேச்சுக் குமிழ்"</item>
+    <item msgid="2548100558260478605">"குழு"</item>
+    <item msgid="2270003903304578284">"பல்பு"</item>
+    <item msgid="4793496619091161864">"கேலெண்டர்"</item>
+    <item msgid="5673625795644364100">"தொந்தரவு செய்ய வேண்டாம்"</item>
+    <item msgid="1423820834865831361">"ஒருவர் ஓடுகிறார்"</item>
+    <item msgid="2037298830718732608">"கோல்ஃப்"</item>
+    <item msgid="2197835014443491074">"ஜிம் டம்பெல்"</item>
+    <item msgid="2730180105015616518">"நீச்சல்"</item>
+    <item msgid="2666922823253345958">"ஒருவர் மலையேறுகிறார்"</item>
+    <item msgid="8234880356472211396">"ஒரு நபர் பந்து வீசுகிறார்"</item>
+    <item msgid="4642980625253001443">"ஒருவர் உதைக்கிறார்"</item>
+    <item msgid="4324795269518833500">"கேம் கண்ட்ரோலர்"</item>
+    <item msgid="7789966425125441125">"கலைஞரின் வண்ணத் தட்டு"</item>
+    <item msgid="663512680597461570">"பனித்துகள்"</item>
+    <item msgid="7952183800501346803">"கடற்கரைக் குடை"</item>
+    <item msgid="799139025758265891">"பணிமனைக் கருவிகள்"</item>
+    <item msgid="1330084588359129896">"கூடாரம்"</item>
+    <item msgid="3861584909935022342">"திரைப்பட ரீல்"</item>
+    <item msgid="5827426100157335512">"புத்தகம்"</item>
+    <item msgid="8585828346253128384">"தாமரைப் பூ"</item>
+    <item msgid="8788370542815300188">"மனித மூளை"</item>
+    <item msgid="7287354964767553293">"ஹெட்ஃபோன்கள்"</item>
+    <item msgid="2530059623783800987">"டிவி"</item>
+    <item msgid="5307182323469376758">"ரயில்"</item>
+    <item msgid="4903790544026923026">"கார்"</item>
+    <item msgid="5010405583912314582">"முட்கரண்டியும் கத்தியும்"</item>
+    <item msgid="8939998598599064900">"ஷாப்பிங் கார்ட்"</item>
+    <item msgid="3379605903308731893">"பிள்ளை"</item>
+    <item msgid="7808668968550293112">"விலங்கின் பாதம்"</item>
+    <item msgid="1000692647524056504">"ஸ்டார் பேட்ஜ்"</item>
+    <item msgid="8270261073421676502">"இரண்டு நபர்கள்"</item>
+    <item msgid="5767782819651505460">"நட்சத்திரம்"</item>
+    <item msgid="4368451291862729334">"இதயம்"</item>
+    <item msgid="2613199102208419986">"வீடு"</item>
+    <item msgid="3022279986430275040">"பாதி நிலவு"</item>
+    <item msgid="5421089790869483206">"கடிகாரம்"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index c21cf1fa..3034335 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"இடைநீக்கப்பட்டது"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"தெரியவில்லை"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"மாதிரிக்காட்சி"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR குறியீடு"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"சிறிதாக்கு"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"பெரிதாக்கு"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"எப்போதும்"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"செவித்துணைச் சாதன அமைப்புகள்"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"ஷார்ட்கட், செவித்துணைக் கருவியுடனான இணக்கத்தன்மை"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"முன்னமைவு"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"முன்னமைவுகள் எதையும் உங்கள் ஆடியாலஜிஸ்ட் திட்டமிடவில்லை"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"முன்னமைவைப் புதுப்பிக்க முடியவில்லை"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"ஆடியோ வெளியீடு"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ஆடியோ அவுட்புட் - அறிமுகம்"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"அமைப்புகளில் இந்த ஆப்ஸுக்கான மொழித் தேர்வு கிடைக்கவில்லை."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"ஆப்ஸில் இருக்கும் மொழிகளிலிருந்து மொழி வேறுபடலாம். சில ஆப்ஸில் இந்த அமைப்பைப் பயன்படுத்த முடியாது."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"ஒவ்வொரு ஆப்ஸுக்கும் மொழியை அமைக்கலாம்."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"உங்களுக்கு விருப்பமான மொழிகளில் \'ஆதரிக்கப்படும் முதல் மொழியை\' உங்கள் சிஸ்டம், ஆப்ஸ், இணையதளங்கள் ஆகியவை பயன்படுத்தும்."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"உங்களுக்கு விருப்பமான மொழிகளில், ஆதரிக்கப்படும் முதல் மொழியை உங்கள் சாதனம், ஆப்ஸ் மற்றும் இணையதளங்கள் பயன்படுத்தும்.\n\nதேதிகள், எண்கள் மற்றும் யூனிட்களை ஃபார்மேட் செய்ய உங்களுக்கு விருப்பமான மொழியின் பிராந்தியத்தையும் பெரும்பாலான ஆப்ஸ் பயன்படுத்தும். உங்கள் பிராந்தியத்தை மாற்ற, மொழியைச் சேர்க்கவும் அதன்பிறகு உங்களுக்கு விருப்பமான மொழியைத் தேர்வுசெய்யவும்."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"ஒவ்வொரு ஆப்ஸுக்கும் மொழியைத் தேர்ந்தெடுக்க ஆப்ஸ் மொழி அமைப்புகளுக்குச் செல்லுங்கள்."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"ஆப்ஸ் மொழிகள் குறித்து மேலும் அறிந்துகொள்ளுங்கள்"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"சிஸ்டம் மொழியை %s என்பதாக மாற்றவா?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"ஆஃப்"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{ஆன் / # ஆப்ஸ் இருப்பிடத்திற்கான அணுகலைக் கொண்டுள்ளது}other{ஆன் / # ஆப்ஸ் இருப்பிடத்திற்கான அணுகலைக் கொண்டுள்ளன}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"ஏற்றுகிறது…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"இணைக்கப்பட்டுள்ள சாதனங்களின் தூரத்தை \'அருகிலுள்ள சாதனங்களுக்கான\' அனுமதியைப் பெற்ற ஆப்ஸால் தீர்மானிக்க முடியும்."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"இணைக்கப்பட்டுள்ள சாதனங்கள் எவ்வளவு தூரத்தில், எந்தத் திசையில் உள்ளன என்பதை அருகிலுள்ள சாதனங்களைக் கண்டறிவதற்கான அனுமதியைப் பெற்றுள்ள ஆப்ஸால் தீர்மானிக்க முடியும்."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"ஆப்ஸுக்கும் சேவைகளுக்கும் இருப்பிட அணுகல் முடக்கப்பட்டுள்ளது. எனினும் அவசர உதவி எண்ணை அழைத்தாலோ அதற்கு மெசேஜ் அனுப்பினாலோ, சாதனத்தின் இருப்பிடம் அவசரக் காலத்தில் உதவிபுரிவோருக்கு அனுப்பப்படக்கூடும்."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"இருப்பிட அமைப்புகள் குறித்து மேலும் அறிக"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"மாற்ற, ChromeOS அமைப்புகள் &gt; தனியுரிமை மற்றும் பாதுகாப்பு &gt; தனியுரிமைக் கட்டுப்பாடுகள் &gt; இருப்பிட அணுகல் என்பதற்குச் செல்லவும்"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"முகம் மற்றும் <xliff:g id="WATCH">%s</xliff:g> சேர்க்கப்பட்டன"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"முகம், கைரேகை மற்றும் <xliff:g id="WATCH">%s</xliff:g> சேர்க்கப்பட்டன"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"முகம், கைரேகைகள் மற்றும் <xliff:g id="WATCH">%s</xliff:g> சேர்க்கப்பட்டன"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"அடையாளச் சரிபார்ப்பு இயக்கப்பட்டுள்ளது, இதற்கு பயோமெட்ரிக் தேவை"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticatorரை அன்லாக் செய்தல்"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"வாட்ச் சேர்க்கப்பட்டது"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"உங்கள் வாட்ச்சை அமையுங்கள்"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"வாட்ச் அன்லாக் அம்சம் குறித்து மேலும் அறிக"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"வாட்ச்சைச் சேர்"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"வாட்ச்சை அகற்றும்"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"கைரேகை &amp; முகம் காட்டித் திறத்தல்"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"முகம் &amp; கைரேகை அன்லாக்"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"பணிக்கான முகம் &amp; கைரேகை அன்லாக்"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"அமைவு தேவை"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"முகமும் கைரேகைகளும் சேர்க்கப்பட்டன"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"தனிப்பட்ட இடத்தை அமைக்கிறது…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"ரகசிய இடத்தை அமைக்க முடியவில்லை"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"மீண்டும் முயல்க"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"வெளியேறு"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"ரகசிய இடம் கிடைக்கவில்லை.\nசாத்தியமான காரணங்களைக் காட்டு"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"சாத்தியமான காரணங்களைக் காட்டு"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"ரகசிய இடத்திற்கான புதிய லாக்கைத் தேர்வுசெய்யவா?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"ரகசிய இடத்திற்கான புதிய பூட்டை அமைக்கலாம் அல்லது உங்கள் சாதனத்தை அன்லாக் செய்யப் பயன்படுத்தும் அதே பூட்டைப் பயன்படுத்தலாம்"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"திரைப் பூட்டைப் பயன்படுத்து"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"புளூடூத் ஆன் செய்யப்பட்டிருக்கும்போது உங்கள் சாதனத்தால் அருகிலுள்ள பிற புளூடூத் சாதனங்களைத் தொடர்புகொள்ள முடியும்.\n\nசாதன அனுபவத்தை மேம்படுத்த, புளூடூத் ஆஃப் செய்யப்பட்டிருந்தாலும்கூட ஆப்ஸும் சேவைகளும் எப்போது வேண்டுமானாலும் அருகிலுள்ள சாதனங்களைத் தேடலாம். உதாரணமாக, இருப்பிடம் சார்ந்த அம்சங்களையும் சேவைகளையும் மேம்படுத்த இதைப் பயன்படுத்தலாம். புளூடூத் ஸ்கேனிங் அமைப்புகளில் இதை மாற்றிக்கொள்ளலாம்."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"புளூடூத் இயக்கப்பட்டிருக்கும்போது, உங்கள் சாதனத்தை அருகிலுள்ள பிற புளூடூத் சாதனங்களுடன் இணைக்கலாம். விரைவுப் பகிர்தல், Find My Device போன்ற அம்சங்கள் புளூடூத்தைப் பயன்படுத்துகின்றன.\n\nபுளூடூத் முடக்கப்பட்டிருந்தாலும் ஆப்ஸும் சேவைகளும் அருகிலுள்ள சாதனங்களை எப்போது வேண்டுமானாலும் ஸ்கேன் செய்ய முடியும். உதாரணமாக, இருப்பிடம் சார்ந்த அம்சங்களையும் சேவைகளையும் மேம்படுத்த இதைப் பயன்படுத்தலாம். புளூடூத் ஸ்கேனிங் அமைப்புகளில் நீங்கள் இதை மாற்றிக்கொள்ளலாம்."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"மாற்றுதல்"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> இணைக்கப்படவில்லை"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"உங்கள் பாதுகாப்புக்காக இந்தச் சாதனத்தை அகற்றிவிட்டு மீண்டும் இணைக்கவும்"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"சாதனத்தை அகற்று"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"ரத்துசெய்"</string>
     <string name="device_details_title" msgid="1155622417516195481">"சாதன விவரங்கள்"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"கீபோர்டு அமைப்புகள்"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"கூடுதல் அமைப்புகள்"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"நிலைபொருள் புதுப்பிப்புகள், தகவல்கள் மற்றும் பல"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"உதவிக்குறிப்புகள் &amp; உதவி"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"சாதனத்தின் புளூடூத் முகவரி: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"சாதனத்தின் புளூடூத் முகவரி:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"சாதனத்தை அகற்றவா?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"பரிசோதனை. ஆடியோ தரத்தை மேம்படுத்தும்."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"சாதனத்தை அகற்று"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"ஆப்ஸைத் துண்டி"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"கூடுதல் அமைப்புகள்"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"இணைத்துள்ள புளூடூத் ஆடியோ சாதனங்களின் அதிகபட்ச எண்ணிக்கை"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"இணைத்துள்ள புளூடூத் ஆடியோ சாதனங்களின் அதிகபட்ச எண்ணிக்கையைத் தேர்ந்தெடுக்கவும்"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC வெர்போஸ் வெண்டார் பிழைதிருத்தப் பதிவு"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"சாதனத்தை மீண்டும் தொடங்கவா?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"விரிவான NFC பதிவானது மேம்பாட்டு நோக்கங்களுக்காக மட்டுமே உருவாக்கப்பட்டது. பிழை அறிக்கைகளில் கூடுதல் NFC தரவு சேர்க்கப்பட்டுள்ளது. இவற்றில் தனிப்பட்ட தகவல்கள் இருக்கக்கூடும். இந்த அமைப்பை மாற்ற உங்கள் சாதனத்தை மீண்டும் தொடங்கவும்."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"மீண்டும் தொடங்கு"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"இயக்கப்பட்டுள்ளது"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"முடக்கப்பட்டுள்ளது"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"வெளிப்புற டிஸ்ப்ளே"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"வெளிப்புற டிஸ்ப்ளேவைப் பயன்படுத்துதல்"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"டிஸ்ப்ளே தெளிவுத்திறன்"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"வெளிப்புற டிஸ்ப்ளே முடக்கப்பட்டுள்ளது"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"சுழற்சி"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"இயல்புநிலை"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"சுழற்சி அல்லது தெளிவுத்திறனை மாற்றுவது தற்போது இயக்கத்தில் இருக்கும் ஆப்ஸ் அனைத்தையும் நிறுத்தக்கூடும்"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"திரையைப் பிரதிபலிக்க உங்கள் சாதனம் வெளிப்புற டிஸ்ப்ளேயுடன் இணைக்கப்பட்டிருக்க வேண்டும்"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"கூடுதல் விருப்பங்கள்"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"அலைபரப்பு"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"பிரதிபலித்தல்"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"வயர்லெஸ் காட்சியை இயக்கு"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"சூழலுக்கேற்றது"</string>
     <string name="brightness" msgid="6216871641021779698">"ஒளிர்வு நிலை"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"சூழலுக்கேற்ற ஒளிர்வு"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"சூழலுக்கேற்ற ஒளிர்வு குறித்த அறிமுகம்"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"நீங்கள் இருக்கும் சூழலுக்கும், செய்யும் வேலைகளுக்கும் ஏற்றவாறு, தானாகவே உங்களின் திரை ஒளிர்வு கூடும், குறையும். நீங்கள் எவ்வளவு வெளிச்சத்தை விரும்புகிறீர்கள் என்பதைச் சூழலுக்கேற்ற ஒளிர்வு தெரிந்துகொள்ள, ஸ்லைடரைக் கைமுறையாக நகர்த்தலாம்."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"ஆன்"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"ஆஃப்"</string>
@@ -1311,8 +1340,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="8850185380445309835">"விருப்பமான சிம்மை மாற்றவா?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"உங்கள் சாதனத்தில் <xliff:g id="NEW_SIM">%1$s</xliff:g> சிம் மட்டுமே உள்ளது. மொபைல் டேட்டா, அழைப்புகள் மற்றும் SMS செய்திகளுக்கு இந்தச் சிம்மையே பயன்படுத்தவா?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"உங்கள் முதன்மை சிம்மாகத் தற்போது <xliff:g id="NEW_SIM">%1$s</xliff:g> உள்ளது"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"டேட்டா கவரேஜை மேம்படுத்தவா?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"சிறப்பாக சிக்னல் கிடைக்கும்பட்சத்தில் மொபைல் டேட்டாவிற்காக <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> நெட்வொர்க்கிற்குத் தானாக மாற உங்கள் சாதனத்தை அனுமதிக்கவும்."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"அழைப்புகள், மெசேஜ்கள், நெட்வொர்க் டிராஃபிக் ஆகியவை உங்கள் நிறுவனத்திற்குக் காட்டப்படலாம்."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"விருப்பங்கள்"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"மாற்றுத்திறன் வசதி"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"கைமுறை கீபோர்டு"</string>
-    <string name="show_ime" msgid="4334255501724746849">"ஸ்கிரீன் கீபோர்டைப் பயன்படுத்து"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"கைமுறை கீபோர்டு இயக்கத்தில் இருக்கும் போது இதைத் திரையில் வைத்திருக்கும்"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"பவுன்ஸ் விசைகள்"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> மில்லி வினாடிக்குள் ஒரே பட்டனைத் தொடர்ச்சியாக அழுத்துவதைக் கீபோர்டு புறக்கணிக்கிறது"</string>
     <string name="slow_keys" msgid="2891452895499690837">"ஸ்லோ கீஸ்"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"ஒரு பட்டனை அழுத்துவதற்கு எடுக்கும் நேரத்தை <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> மில்லி வினாடியாகச் சரிசெய்துகொள்கிறது"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"ஸ்டிக்கி கீஸ்"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"ஷார்ட்கட்களுக்கு பட்டன்களை ஒன்றாகப் பிடிப்பதற்குப் பதிலாக ஒரு நேரத்தில் ஒரு பட்டனை அழுத்தலாம்"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"மவுஸ் பட்டன்கள்"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"மவுஸைக் கட்டுப்படுத்த கீபோர்டைப் பயன்படுத்தவும்."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"கீபோர்டு ஷார்ட்கட்கள்"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"ஷார்ட்கட்களின் பட்டியலைக் காட்டும்"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"பணிக் கணக்கிற்கான கீபோர்டுகள் &amp; கருவிகள்"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"தனிநபர் டச்பேட் வழிசெலுத்தல் சைகைகளைப் பிரத்தியேகமாக்கலாம்"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"தலைகீழாக நகர்த்துதல்"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"கீழ்நோக்கி நகர்த்தும்போது உள்ளடக்கம் மேலே செல்லும்"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"கீழ் இடதுபுறத்தைத் தட்டுதல்"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"மேலும் விருப்பங்களுக்கு டச்பேடின் கீழ்வலது மூலையில் தட்டுக"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"கீழ்வலது மூலையில் கிளிக் செய்தல்"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"மேலும் விருப்பங்களுக்கு டச்பேடின் கீழ்வலது மூலையில் தட்டுக"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"பாயிண்ட்டர் வேகம்"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"பாயிண்ட்டர் ஃபில் ஸ்டைல்"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"பாயிண்ட்டர் ஃபில் ஸ்டைலைக் கருப்பாக மாற்றலாம்"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"பாயிண்ட்டர் ஃபில் ஸ்டைலை மஞ்சளாக மாற்றலாம்"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"பாயிண்ட்டர் ஃபில் ஸ்டைலை இளஞ்சிவப்பாக மாற்றலாம்"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"பாயிண்ட்டர் ஃபில் ஸ்டைலை நீலமாக மாற்றலாம்"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"பாயிண்டர் ஸ்ட்ரோக் ஸ்டைல்"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"வெள்ளை"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"கருப்பு"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"ஏதுமில்லை"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"டச்பேட் சைகைகளை அறிந்துகொள்ளுங்கள்"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"டிராக்பேட், டிராக் பேட், மவுஸ், கர்சர், ஸ்க்ரோல், ஸ்வைப், வலது கிளிக், கிளிக், பாயிண்ட்டர்"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"வலது கிளிக், தட்டு"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"ரீசெட்"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"மாற்றி விசையைத் தேர்வுசெய்தல்"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>க்கு புதிய விசையை தேர்வுசெய்யலாம்:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"கீபோர்டுக்கான மாற்றுத்திறன் வசதி"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"ஸ்டிக்கி கீஸ், பவுன்ஸ் கீஸ், மவுஸ் கீஸ்"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> தளவமைப்பு"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"இயல்பு"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"தானியங்கு: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"பயனர் தேர்ந்தெடுத்தது: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"பேச்சு"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"குறிப்பான் வேகம்"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"பாயிண்ட்டர் அளவு"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"பாயிண்ட்டர் அளவைக் குறைக்கும்"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"பாயிண்ட்டர் அளவை அதிகரிக்கும்"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"கேம் கன்ட்ரோலர்"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"அதிர்வைத் திசை திருப்புதல்"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"இணைக்கப்பட்டவுடன், கேம் கண்ட்ரோலருக்கு அதிர்வை அனுப்பு"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"பரவாயில்லை, தொடர்க"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"ரத்துசெய்"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"பெரிதாக்கல் அமைப்புகள்"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"ஒரு விரலால் நகர்த்துதல்"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"1 விரலால் Magnifierரை நகர்த்துங்கள்"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"திரையில் எங்கேனும் நகர்த்த 1 விரலால் இழுங்கள்"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"ஒரு விரலால் இழுத்து பெரிதாக்கல் பகுதியை நகர்த்தலாம்."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"இரண்டு விரல்களால் இழுத்து பெரிதாக்கல் பகுதியை நகர்த்தலாம்."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"திரையின் ஒரு பகுதியை மட்டும் பெரிதாக்கும்போது இருக்காது"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"திரையைப் பெரிதாக்க, பட்டனைத் தட்டவும்"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"உள்ளடக்கத்தை மேலும் தெளிவாகக் காட்ட திரையைப் பெரிதாக்கலாம்"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;பெரிதாக்க:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. பெரிதாக்கத் தொடங்குவதற்கு ஷார்ட்கட்டைப் பயன்படுத்தவும்&lt;br/&gt; {1,number,integer}. திரையைத் தட்டவும்&lt;br/&gt; {2,number,integer}. திரையில் நகர்த்த இரு விரல்களால் இழுக்கவும்&lt;br/&gt; {3,number,integer}. அளவை மாற்ற இரு விரல்களால் பின்ச் செய்யவும்&lt;br/&gt; {4,number,integer}. பெரிதாக்குவதை நிறுத்த ஷார்ட்கட்டைப் பயன்படுத்தவும்&lt;br/&gt;&lt;br/&gt; &lt;b&gt;தற்காலிகமாகப் பெரிதாக்க:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. பெரிதாக்கல் வகை முழுத்திரைக்கு அமைக்கப்பட்டிருப்பதை உறுதிசெய்து கொள்ளவும்&lt;br/&gt; {1,number,integer}. பெரிதாக்கத் தொடங்குவதற்கு ஷார்ட்கட்டைப் பயன்படுத்தவும்&lt;br/&gt; {2,number,integer}. திரையில் எங்கேனும் தொட்டுப் பிடித்திருக்கவும்&lt;br/&gt; {3,number,integer}. திரையில் எங்கேனும் செல்ல விரலை நகர்த்தவும்&lt;br/&gt; {4,number,integer}. பெரிதாக்குவதை நிறுத்த விரலைத் திரையிலிருந்து எடுக்கவும்"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;பெரிதாக்க:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. பெரிதாக்கலைத் தொடங்க, ஷார்ட்கட் பயன்படுத்தவும்&lt;br/&gt; {1,number,integer}. திரையைத் தட்டவும்&lt;br/&gt; {2,number,integer}. திரையில் எங்கேனும் நகர்த்த 2 விரல்களால் இழுக்கவும்&lt;br/&gt; {3,number,integer}. அளவை மாற்ற 2 விரல்களால் பின்ச் செய்யவும்&lt;br/&gt; {4,number,integer}. பெரிதாக்கலை நிறுத்த, ஷார்ட்கட் பயன்படுத்தவும்&lt;br/&gt;&lt;br/&gt; தற்காலிகமாகப் பெரிதாக்கலாம், பலவற்றைச் செய்யலாம்."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;பெரிதாக்க:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. பெரிதாக்கலைத் தொடங்க, ஷார்ட்கட் பயன்படுத்தவும்&lt;br/&gt; {1,number,integer}. திரையைத் தட்டவும்&lt;br/&gt; {2,number,integer}. திரையில் எங்கேனும் நகர்த்த 1 அல்லது 2 விரல்களால் இழுக்கவும்&lt;br/&gt; {3,number,integer}. அளவை மாற்ற 2 விரல்களால் பின்ச் செய்யவும்&lt;br/&gt; {4,number,integer}. பெரிதாக்கலை நிறுத்த, ஷார்ட்கட் பயன்படுத்தவும்&lt;br/&gt;&lt;br/&gt; தற்காலிகமாகப் பெரிதாக்கலாம், பலவற்றைச் செய்யலாம்."</string>
     <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"’பெரிதாக்கல்’ அம்சம் ஆன் செய்யப்பட்டுள்ளபோது திரையைப் பெரிதாக்கிப் பார்க்கலாம்.\n\n"<b>"அதற்கு "</b>", இந்த அம்சத்தைத் தொடங்கி திரையில் எங்கு வேண்டுமானாலும் தட்டவும்.\n"<ul><li>"ஸ்க்ரோல் செய்ய இரண்டு அல்லது மேற்பட்ட விரல்களில் இழுக்கவும்"</li>\n<li>"அளவை மாற்ற இரண்டு அல்லது மேற்பட்ட விரல்களில் பின்ச் செய்யவும்"</li></ul>\n\n<b>"தற்காலிகமாகப் பெரிதாக்க"</b>", இந்த அம்சத்தைத் தொடங்கி திரையில் எங்கு வேண்டுமானாலும் தொட்டுப் பிடிக்கவும்.\n"<ul><li>"திரையில் எங்கு வேண்டுமானாலும் செல்ல இழுக்கவும்"</li>\n<li>"சிறிதாக்க விரல்களால் பின்ச் செய்து மேலே இழுக்கவும்"</li></ul>\n\n"கீபோர்டிலோ வழிசெலுத்தல் பட்டியையோ பெரிதாக்க இயலாது."</string>
     <string name="accessibility_tutorial_pager" msgid="8461939455728454061">"பக்கம் <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> / <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"அணுகல்தன்மை பட்டனுக்கான ஷார்ட்கட்"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"மிதக்கும் பட்டனைத் தட்டவும்"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"அணுகல்தன்மை சைகை"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"திரையின் கீழ்ப்பகுதியில் உள்ள அணுகல்தன்மை பட்டனை <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> தட்டுங்கள். அம்சங்களுக்கு இடையே மாற, அணுகல்தன்மை பட்டனைத் தொட்டுப் பிடியுங்கள்."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"திரையின் கீழிருந்து மேலாக 2 விரல்களால் ஸ்வைப் செய்யவும்.\n\nஅம்சங்களுக்கு இடையே மாற, திரையின் கீழ்ப்பகுதியில் இருந்து 2 விரல்களால் ஸ்வைப் செய்து பிடித்திருக்கவும்."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"திரையின் கீழிருந்து மேலாக 3 விரல்களால் ஸ்வைப் செய்யவும்.\n\nஅம்சங்களுக்கு இடையே மாற, 3 விரல்களால் மேல்நோக்கி ஸ்வைப் செய்து பிடித்திருக்கவும்."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{திரையின் கீழிருந்து மேல்நோக்கி ஸ்வைப் செய்யுங்கள். அம்சங்களுக்கு இடையே மாற, மேல்நோக்கி ஸ்வைப் செய்து பிடியுங்கள்.}other{உங்கள் திரையின் கீழ்ப்பகுதியில் இருந்து # விரல்களால் மேல்நோக்கி ஸ்வைப் செய்யுங்கள். அம்சங்களுக்கு இடையே மாற, # விரல்களால் மேல்நோக்கி ஸ்வைப் செய்து பிடியுங்கள்.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"கூடுதல் விருப்பங்கள்"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"<xliff:g id="SERVICE">%1$s</xliff:g> பற்றி மேலும் அறிக"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"ஒலியளவு விசைகள்"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"ஒலியளவு விசைகள்"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"இரண்டு ஒலியளவு விசைகளையும் அழுத்திப் பிடித்திருக்கவும்"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"இரண்டு விரல்களால் திரையை இருமுறை தட்டுதல்"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d விரல்களால் இருமுறை தட்டுதல்"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"%1$d விரல்களால் திரையில் இருமுறை விரைவாகத் தட்டுங்கள்"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"மூன்று முறை தட்டுதல்"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"திரையில் %1$d முறை விரைவாகத் தட்டுங்கள். இது உங்கள் சாதனத்தின் வேகத்தைக் குறைக்கக்கூடும்."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d விரல்களால் இருமுறை தட்டுதல்"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"இரண்டு விரல்களால் திரையில் {0,number,integer} முறை விரைவாகத் தட்டுங்கள்"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"திரையில் மூன்று முறை தட்டுதல்"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"மூன்று முறை தட்டுதல்"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"திரையை விரைவாக {0,number,integer} முறை தட்டவும். இந்த ஷார்ட்கட் உங்கள் சாதனத்தின் வேகத்தைக் குறைக்கக்கூடும்"</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_global_gesture_preference_title" msgid="8866765674372344850">"ஒலியளவு விசைகளுக்கான ஷார்ட்கட்"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"ஷார்ட்கட் அமைப்புகள்"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"லாக் ஸ்கிரீனில் ஷார்ட்கட்"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"பூட்டுத் திரையில் ஒலியளவு விசைகளுக்கான ஷார்ட்கட்"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"லாக் ஸ்கிரீனில் இருந்து திறப்பதற்கு அம்சத்தின் ஷார்ட்கட்டை அனுமதிக்கவும். இரண்டு ஒலியளவு விசைகளையும் சில விநாடிகள் பிடித்திருக்கவும்."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"அணுகல்தன்மை பட்டன்"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"அணுகல்தன்மை பட்டன் &amp; சைகை"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"இந்தச் சேவை சரியாகச் செயல்படவில்லை."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"அணுகல்தன்மை ஷார்ட்கட்கள்"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"விரைவு அமைப்புகளில் காட்டு"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"சிவப்பு-பச்சை"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"சிவப்பு-பச்சை"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"சிவப்பு-பச்சை, பச்சை நிறக்குறைபாடு"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"சிவப்பு-பச்சை, சிவப்பு நிறக்குறைபாடு"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"நீலம்-மஞ்சள்"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"கிரே ஸ்கேல்"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"வண்ணத்தின் அடர்த்தி"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"இளஞ்சிவப்பு, டியூட்டரானாமலி"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"இளம்பச்சை, புரோட்டனாமலி"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"கிரேஸ்கேல் பயன்முறையில் அல்லது கலர் கரெக்‌ஷன் முடக்கப்பட்டுள்ளபோது கிடைக்காது"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"மிகக் குறைவான வெளிச்சம்"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"திரையின் வெளிச்சத்தை மிகவும் குறைத்தல்"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"சியான்"</string>
     <string name="color_yellow" msgid="5957551912912679058">"மஞ்சள்"</string>
     <string name="color_magenta" msgid="8943538189219528423">"மெஜந்தா"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"உங்கள் சாதனத்தை முழுமையாகக் கட்டுப்படுத்த <xliff:g id="SERVICE">%1$s</xliff:g> சேவையை அனுமதிக்கவா?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> செய்வது:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"அனுமதிக் கோரிக்கையை ஆப்ஸ் மறைப்பதால், அமைப்புகளால் உங்கள் பதிலைச் சரிபார்க்க முடியாது."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"இந்தச் சாதனத்திற்கான முழுக் கட்டுப்பாட்டையும் <xliff:g id="SERVICE">%1$s</xliff:g> கோருகிறது. இந்தச் சேவை உங்கள் திரையில் தோன்றுவதைப் படித்து, பயனர்களுக்குத் தேவையான அணுகல்களைப் பெற அவர்களின் சார்பில் செயல்படும். இப்போதுள்ள கட்டுப்பாடு பெரும்பாலான ஆப்ஸுக்குப் பொருந்தவில்லை."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"அணுகல்தன்மை அம்சங்களைக் கொண்டு உங்களுக்கு உதவக்கூடிய ஆப்ஸுக்கு முழுக் கட்டுப்பாட்டையும் அளிப்பது பொருத்தமாக இருக்கும், ஆனால் பெரும்பாலான ஆப்ஸுக்கு இது தேவையில்லை."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"திரையைப் பார்த்தலும் நிர்வகித்தலும்"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"இந்த அம்சத்தால் திரையில் உள்ள அனைத்தையும் படிக்க முடிவதோடு பிற ஆப்ஸின் மேல் உள்ளடக்கத்தைக் காட்டும்."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"செயல்பாடுகளைப் பார்த்தலும் செயல்படுத்தலும்"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"ஏதேனும் ஆப்ஸ் அல்லது வன்பொருள் சென்சாரின் உதவியுடன் உரையாடல்களைக் கண்காணித்து உங்கள் சார்பாக ஆப்ஸுடன் உரையாட இச்சேவையால் இயலும்."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"அனுமதி"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"நிராகரி"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"முடக்கு"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"ஆன் / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> மற்றும் <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"புளூடூத் சாதனங்களுக்கும் சுற்றிலும் கேட்கும் ஆடியோவை நீங்கள் இயக்கலாம்."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"இணைக்கப்பட்டுள்ள சாதனங்களின் அமைப்புகள்"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"சுற்றிலும் கேட்கும் ஆடியோ"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"ஆஃப்"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"ஆஃப்"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"ஆஃப்"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{எதுவுமில்லை}=1{1 திட்டமிடல் அமைக்கப்பட்டுள்ளது}other{# திட்டமிடல்கள் அமைக்கப்பட்டுள்ளன}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"தொந்தரவு செய்யாதே"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"முன்னுரிமைப் பயன்முறைகள்"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"பயன்முறையைச் சேர்"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"பயன்முறைகள்"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"உறக்கம், வேலை, வாகனம் ஓட்டுதல் மற்றும் பிற செயல்பாடுகளுக்கான பயன்முறைகளின் மூலம் கவனச்சிதறல்களைக் குறைத்து நீங்கள் மேற்கொள்ளும் செயலில் முழு கவனத்தையும் செலுத்தலாம்."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"உங்கள் சொந்தப் பயன்முறையை உருவாக்குங்கள்"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"முக்கியமான நபர்கள் மற்றும் ஆப்ஸிலிருந்து மட்டும் அறிவிப்புகளைப் பெறுங்கள்"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"திட்ட அட்டவணையை அமை"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"இவற்றின் அடிப்படையில் திட்டமிடுங்கள்"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"நாளும் நேரமும்"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"வாரநாட்களில் காலை 9 மணி முதல் மாலை 5 மணி வரை\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"கேலெண்டர் நிகழ்வுகள்"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} செயலில் உள்ளது}=2{{mode_1} மற்றும் {mode_2} செயலில் உள்ளன}=3{{mode_1}, {mode_2} மற்றும் {mode_3} செயலில் உள்ளன}other{{mode_1}, {mode_2} மற்றும் கூடுதலாக # பயன்முறைகள் செயலில் உள்ளன}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 பயன்முறை தானாக இயங்கலாம்}other{# பயன்முறைகள் தானாக இயங்கலாம்}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ஆன்"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"அமைக்கப்படவில்லை"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"முடக்கப்பட்டுள்ளது"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"பயன்முறையை உருவாக்குதல்"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"பிரத்தியேகம்"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"இப்போது இயக்கு"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"முடக்கு"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"பயன்முறையைக் கண்டறிய முடியவில்லை"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"குறுக்கீடுகளைக் குறைத்தல்"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"இடையூறுகளையும் கவனச்சிதறல்களையும் தடைசெய்யலாம்"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g> ஐ அமை"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"தொந்தரவு செய்ய வேண்டாம் என்பதை ஆன் செய்யும்"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"அலாரங்களும் மீடியா ஒலிகளும் குறுக்கிட முடியும்"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"நேர அட்டவணைகள்"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"திட்டமிட்டவைகளை நீக்கு"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"நீக்கு"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"பெயர் மாற்று"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"நீக்கு"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"\"<xliff:g id="MODE">%1$s</xliff:g>\" பயன்முறையை நீக்கவா?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"மாற்று"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"திட்டமிடல்"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"திட்ட அட்டவணை"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"தானாகவே இயக்குதல்"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"கேலெண்டரைச் சேருங்கள்"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"உங்கள் கேலெண்டரைப் பயன்படுத்துங்கள்"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"திட்டமிடுதல்"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"திட்ட அட்டவணையை அமையுங்கள்"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"எப்போது தானாகவே இயக்குவது"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"நிகழ்வு அட்டவணை"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"நிகழ்வுகளின் போது இயக்குங்கள்"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"அழைப்புக்கான பதிலுள்ள இடத்தில்"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"நேரத் திட்ட அட்டவணை"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"திட்டமிடுங்கள்"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ம.நே <xliff:g id="MINUTES">%2$d</xliff:g> நிமி"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"நேர அட்டவணை"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"ஒலியுடன் உள்ள குறுக்கீடுகளை அனுமதி"</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="mode_interruption_filter_title" msgid="6657431939996264417">"உங்களுக்கு வரும் அறிவிப்புகள்"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"கூடுதல் செயல்கள்"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"அறிவிப்பு ஃபில்டர்கள்"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"கூடுதல் அமைப்புகள்"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{ஆஃப்}=1{ஆஃப் / 1 பயன்முறை தானாக ஆன் ஆகலாம்}other{ஆஃப் / # பயன்முறைகள் தானாக ஆன் ஆகலாம்}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"டிஸ்பிளே அமைப்புகள்"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"டிஸ்பிளே விருப்பங்கள்"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"கிரேஸ்கேல்"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"டார்க் தீமினை இயக்கு"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"டார்க் பின்னணியில் பிரகாசமான வார்த்தைகளைப் பார்ப்பதற்கு ஏற்றவாறு OS மற்றும் ஆப்ஸை மாற்றவும். இது கண்களுக்கான சிரமத்தைக் குறைக்கலாம் மற்றும் சில சாதனங்களில் கணிசமான பேட்டரி சேமிப்பையும் வழங்கலாம்."</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{டிஸ்பிளே மாற்றங்கள் இல்லை}=1{{effect_1}}=2{{effect_1} மற்றும் {effect_2}}=3{{effect_1}, {effect_2} மற்றும் {effect_3}}other{{effect_1}, {effect_2}, மேலும் #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"அறிவிப்புகள் அனைத்தையும் அனுமதி"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"நபர்கள், ஆப்ஸ் மற்றும் ஒலிகள் குறுக்கிடலாம்"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ஃபில்டர் செய்யப்பட்ட அறிவிப்புகளுக்கான டிஸ்பிளே விருப்பங்கள்"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"’தொந்தரவு செய்ய வேண்டாம்’ ஆனில் இருக்கும்போது"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"அறிவிப்புகள் வரும்போது ஒலியெழுப்ப வேண்டாம்"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"அறிவிப்பைத் திறக்கும்"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"அறிவிப்புகளை ஸ்னூஸ் செய்ய அனுமதி"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"ஆப்ஸ் ஐகானில் அறிவிப்பு புள்ளி"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"அறிவிப்புத் தொகுப்புகள்"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"குமிழ்கள்"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"குமிழ்கள்"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"இந்த உரையாடலைக் குமிழாக்கு"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"மெசேஜ்களுக்குப் பதிலளிக்க முடியும், அறிவிப்புகளில் உள்ள பட்டன்களில் நடவடிக்கை எடுக்க முடியும் (அறிவிப்புகளைச் சற்றுநேரம் நிறுத்திவைப்பது/நிராகரிப்பது, அழைப்புகளுக்குப் பதிலளிப்பது உட்பட)."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"அமைப்புகளை மாற்றுதல்"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"\'தொந்தரவு செய்ய வேண்டாம்\' அம்சத்தை ஆன்/ஆஃப் செய்ய முடியும், அது தொடர்பான அமைப்புகளை மாற்ற முடியும்."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"இது பயன்முறைகளை நிர்வகிக்கலாம், செயல்படுத்தலாம், தொடர்புடைய அமைப்புகளை மாற்றலாம்."</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_modes_warning_summary" msgid="7528432011433844158">"<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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"நிகழ்நேரம்"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"இந்த ஆப்ஸ் மேம்படுத்தப்பட்ட அமைப்புகளை ஆதரிக்காது"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"கூடுதல் அமைப்புகள்"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"இந்த ஆப்ஸில் கூடுதல் அமைப்புகள் உள்ளன"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"சூழல்சார் அறிவிப்புகள்"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"சூழல்சார் அறிவிப்புகளைப் பயன்படுத்துதல்"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"குறுகிய காலத்தில் பல அறிவிப்புகளைப் பெறும்போது, இரண்டு நிமிடங்கள் வரை ஒலியளவையும் திரையில் தோன்றும் பாப்-அப்களையும் உங்கள் மொபைல் குறைக்கும். அழைப்புகள், அலாரங்கள், முக்கியமான உரையாடல்கள் ஆகியவற்றுக்குத் தொடர்ந்து அதிர்வுறும், ஒலி எழுப்பும் அல்லது அவற்றைத் திரையில் காட்டும். மேலும் அனைத்து அறிவிப்புகளையும் திரையின் மேல் பகுதியில் இருந்து கீழே இழுக்கும்போது எளிதாகக் கண்டறியலாம்."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"அறிவிப்புக்கான கூல்டவுன்"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"குறைந்த ஒலியளவில் அறிவிப்புகள் அமைப்பைப் பயன்படுத்துதல்"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"குறுகிய காலத்தில் பல அறிவிப்புகளைப் பெறும்போது, 2 நிமிடங்கள் வரை உங்கள் சாதனம் அதன் ஒலியளவைக் குறைத்து விழிப்பூட்டல்கள் பெறுவதை நிறுத்திவைக்கும். அழைப்புகள், அலாரங்கள் மற்றும் முக்கியமான உரையாடல்கள் பாதிக்கப்படாது. \n\nதிரையின் மேலிருந்து கீழே இழுப்பதன் மூலம் குறைந்த ஒலியளவில் இருக்கும்போது பெற்ற அறிவிப்புகளைப் பார்க்கலாம்."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"பணிக் கணக்குகளுக்குப் பயன்படுத்துதல்"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"பணிக் கணக்கு ஆப்ஸுக்குப் பயன்படுத்தும்"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR உதவிச் சேவைகள்"</string>
@@ -3650,6 +3709,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"பயன்முறைகளுக்கான அணுகல்"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"பயன்முறைகளுக்கான அணுகலை அனுமதி"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"நிறுவப்பட்ட ஆப்ஸ் எதுவும் பயன்முறைகளுக்கான அணுகலைக் கோரவில்லை"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"இந்த ஆப்ஸின் அறிவிப்புகளை நீங்கள் அனுமதிக்கவில்லை"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"உங்கள் கோரிக்கையின் படி, இந்தச் சாதனத்தில், இந்த வகை அறிவிப்புகள் தோன்றுவதை Android தடுக்கிறது"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"உங்கள் கோரிக்கையின் படி, இந்தச் சாதனத்தில், இந்தக் குழு அறிவிப்புகள் தோன்றுவதை Android தடுக்கிறது"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"வகைகள்"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"மற்றவை"</string>
     <string name="no_channels" msgid="4716199078612071915">"இந்த ஆப்ஸ் எந்த அறிவிப்புகளையும் இடுகையிடவில்லை"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"பயன்படுத்தப்படாத வகைகளைக் காட்டு"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"ஆப்ஸில் உள்ள கூடுதல் அமைப்புகள்"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"பயன்படுத்தப்படாத வகைகளைக் காட்டு"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"பயன்படுத்தப்படாத வகைகளை மறை"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"உரையாடல்கள்"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"அனைத்து உரையாடல்களும்"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"அனைத்து உரையாடல்களும்"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"முன்னுரிமை அளிக்கப்பட்ட உரையாடல்கள்"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"முக்கியமான உரையாடல்கள்"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"ஏதுமில்லை"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"குறுக்கிட முடிகின்ற ஆப்ஸ்"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"தேர்ந்தெடுக்கப்பட்ட ஆப்ஸ்"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"எதுவுமில்லை"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"அனைத்தும்"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{எந்த ஆப்ஸும் குறுக்கிட முடியாது}=1{{app_1} குறுக்கிட முடியும்}=2{{app_1}, {app_2} ஆகியவை குறுக்கிட முடியும்}=3{{app_1}, {app_2}, {app_3} ஆகியவை குறுக்கிட முடியும்}other{{app_1}, {app_2} மற்றும் # ஆப்ஸ் குறுக்கிட முடியும்}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (பணி)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"கணக்கிடுகிறது…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ஆப்ஸை மீறிச் செயல்பட அனுமதிக்கின்றன"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"குறுக்கிட முடிகின்ற ஆப்ஸ்"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"கூடுதல் ஆப்ஸைத் தேர்ந்தெடுங்கள்"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"எதுவும் குறுக்கிட முடியாது"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"யாரும் குறுக்கிட முடியாது"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"சிலரால் குறுக்கிட முடியும்"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"மீண்டும் மீண்டும் அழைப்பவர்கள் குறுக்கிடலாம்"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"அனைவரும் குறுக்கிட முடியும்"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"மீண்டும் மீண்டும் அழைப்பவர்கள்"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"மீண்டும் அழைப்பவர்களை அனுமதி"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} வரை ஒரு மணிநேரத்திற்கு மட்டும் அலாரங்கள் என மாற்றும்}other{{time} வரை # மணிநேரத்திற்கு மட்டும் அலாரங்கள் என மாற்றும்}}"</string>
     <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_action_change_name" msgid="766639614789907016">"பெயர் மாற்று"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"ஐகானை மாற்று"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"ஐகானை மாற்றுதல்"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"திருத்துதல் பயன்முறை"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"பயன்முறை உருவாக்குதல்"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"பிரத்தியேகப் பயன்முறை"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"பயன்முறையின் பெயர்"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"கேலெண்டர் நிகழ்வுகள்"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"உறக்கநேர வழக்கம்"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"வாகனம் ஓட்டும்போது"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"ஆப்ஸ் அமைப்புகள்"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"<xliff:g id="APP_NAME">%1$s</xliff:g> ஆப்ஸில் உள்ள தகவல்களும் அமைப்புகளும்"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"நிர்வகிப்பது: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g> ஐ முடக்கவா?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"முடக்கப்பட்டதும் இந்தப் பயன்முறை இயக்கப்படாது"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"முடக்கு"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g> ஐ இயக்கவா?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"இந்தப் பயன்முறை அதன் அமைப்புகளின் அடிப்படையில் தானாகவே இயக்கப்படக்கூடும்"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"இயக்கு"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"வழக்கமான திட்ட அட்டவணையைப் பின்பற்றும் பயன்முறையை அமைத்தல்"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"கேலெண்டர் நிகழ்வுகள் மற்றும் அழைப்புப் பதில்களுடன் ஒத்திசைக்க பயன்முறையை அமைத்தல்"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"அமைதியான உறக்க வழக்கத்தை வடிவமைத்தல். அலாரங்களை அமைத்தல், திரையின் வெளிச்சத்தைக் குறைத்தல், அறிவிப்புகளைத் தடைசெய்தல்."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"கவனமாகவும் கவனச்சிதறல் இல்லாமல் வாகனம் ஓட்டுவதற்கும் சாலையில் பாதுகாப்பிற்கு முன்னுரிமை அளித்தல்"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"கவனம் செலுத்த, உங்கள் சாதனத்தில் இருந்து ஏற்படும் கவனச்சிதறல்களையோ இடையூறுகளையோ தடைசெய்தல்"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"அமைதியான சூழலைப் பெற, கவனச்சிதறல்கள் அனைத்தையும் தவிர்த்தல்"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"வெவ்வேறு பயனர்களுக்கான சாதன அனுபவத்தையும் அமைப்புகளையும் பிரத்தியேகப்படுத்துதல்"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"முக்கியமான நபர்களும் ஆப்ஸும் மட்டுமே உங்களைத் தொடர்புகொள்ள அனுமதிப்பதன் மூலம் இடையூறுகளைக் குறைத்தல்"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"வழக்கமான திட்ட அட்டவணையைப் பின்பற்றும் பயன்முறையை அமையுங்கள்"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"உங்கள் அன்றாட நிகழ்வுகளுடன் சாதனத்தை ஒத்திசைத்து வைத்திருங்கள்"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"100% உற்சாகத்துடன் கண்விழியுங்கள்"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"சாலையில் போகும்போது பாதுகாப்புக்கு முன்னுரிமை அளியுங்கள்"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"முழுமையாக ஈடுபட கவனம் செலுத்துங்கள்"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"மரியாதைக்குரிய தருணங்களுக்கு மதிப்பளியுங்கள்"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"சீரான வழியில் சாதனத்தைப் பயன்படுத்துவதற்கு வழிகாட்டும்"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"கவனத்தைக் கட்டுப்பாட்டில் வைத்திருங்கள்"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"எச்சரிக்கும்"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"மூடுக"</string>
     <string name="device_feedback" msgid="5351614458411688608">"சாதனம் பற்றி கருத்தை அனுப்புக"</string>
@@ -4006,6 +4102,10 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"<xliff:g id="APP">%1$s</xliff:g> ஆப்ஸுக்குப் பயன்முறைகளுக்கான அணுகலை அனுமதிக்கவா?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"ஆப்ஸால் \'தொந்தரவு செய்ய வேண்டாம்\' அம்சத்தை இயக்க/முடக்க முடியும், பயன்முறையை நிர்வகிக்கவும் செயல்படுத்தவும் முடியும், தொடர்புடைய அமைப்புகளை மாற்ற முடியும்."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"<xliff:g id="APP">%1$s</xliff:g> ஆப்ஸின் பயன்முறைகளுக்கான அணுகலைத் தவிர்க்கவா?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"இந்த ஆப்ஸ் உருவாக்கிய அனைத்துப் பயன்முறைகளும் அகற்றப்படும்."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"மேம்படுத்த வேண்டாம்"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimize"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"பேட்டரியை மிக விரைவாகத் தீர்த்துவிடக்கூடும். பின்னணியில் பேட்டரியைப் பயன்படுத்துவதிலிருந்து, ஆப்ஸ் இனி தடுக்கப்படாது."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"சார்ஜ் செய்யும் பெட்டி"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"பேட்டரி"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"அமைப்புகளுக்கான பேனல்"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"கட்டாய டெஸ்க்டாப் பயன்முறை"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"இரண்டாம்நிலை திரைகளில் \'கட்டாயப் பரிசோதனை டெஸ்க்டாப்\' பயன்முறை"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"குறிப்பிட்ட வடிவமில்லாத சாளரங்களை இயக்குதல்"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"இரண்டாம் திரையில் வடிவமற்ற சாளரங்களை இயக்குதல்"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"அளவு மாற்ற இயலாதவற்றைப் பல சாளரத்தில் இயக்கு"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"அளவு மாற்ற இயலாத ஆப்ஸைப் பல சாளரத்தில் இயக்க அனுமதிக்கும்"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"force-dark அம்சத்தை மீறிச் செயல்படுதல்"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"மொபைல் டேட்டா"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"சாதன அனுபவத்தை மேம்படுத்த, வைஃபை ஆஃப் செய்யப்பட்டிருந்தாலும்கூட எந்த நேரத்திலும் ஆப்ஸும் சேவைகளும் வைஃபை நெட்வொர்க்குகளைத் தேடலாம். உதாரணத்திற்கு, இருப்பிடம் சார்ந்த அம்சங்களையும் சேவைகளையும் மேம்படுத்த இதைப் பயன்படுத்தலாம். வைஃபை \'ஸ்கேனிங் அமைப்புகளில்\' இதை மாற்றிக் கொள்ளலாம்."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"மாற்று"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"இணைக்கப்பட்டது"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"தற்காலிகமாக இணைக்கப்பட்டுள்ளது"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"<xliff:g id="SUBNAME">%1$s</xliff:g> ஐத் தற்காலிகமாகப் பயன்படுத்துகிறது"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ஆப்ஸைப் பின் செய்தல் அம்சத்தைப் பயன்படுத்துதல்"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"டெவெலப்பர் விருப்பங்களைப் பயன்படுத்துதல்"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"பிரிண்ட் சேவையைப் பயன்படுத்துதல்"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"பல பயனர்களை அனுமதித்தல்"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"பயனர் மாற்றத்தை அனுமதித்தல்"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"அனுமதி, ஒன்றுக்கும் மேற்பட்ட, பயனர், அனுமதித்தல், பல"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"பல, பயனர்கள், சுயவிவரங்கள், நபர்கள், கணக்குகள், சுவிட்ச், பல"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"வைஃபை பிழைதிருத்தத்தைப் பயன்படுத்துதல்"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> சாதனம் இந்த மொபைலுடன் இணைய விரும்புகிறது.\n\nநீங்கள் இதற்குமுன் <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> சாதனத்துடன் இணைத்ததில்லை."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"இணைக்க வேண்டாம்"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"இணை"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE அமைப்புகள்"</string>
-    <string name="tare_on" msgid="2386073225978684535">"இயக்கப்பட்டுள்ளது"</string>
-    <string name="tare_off" msgid="6305694402929756726">"முடக்கப்பட்டுள்ளது"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"இயல்புநிலை அமைப்புகளுக்கு மாற்றியமை"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"அமைப்புகள் இயல்புநிலைக்கு மாற்றப்பட்டன."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"அதிகபட்ச பேட்டரி இருப்பு"</string>
-    <string name="tare_balances" msgid="731881382594747961">"பேலன்ஸ்கள்"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"நுகர்வு வரம்புகள்"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"தொடக்க நிலை நுகர்வு வரம்பு"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"குறைந்தபட்ச நுகர்வு வரம்பு"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"அதிகபட்ச நுகர்வு வரம்பு"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"மாற்றிகள்"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"செயல்கள் (செயல்பாட்டுச் செலவு)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"செயல்கள் (அடிப்படை விலை)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"ஒற்றை நிகழ்வுக்கான ரிவார்டுகள்"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"நிகழ்வில் வினாடிதோறும் ரிவார்டுகள்"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"ஒரு நாளுக்கான அதிகபட்ச ரிவார்டுகள்"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"ஆப்ஸை நிறுவுதல்"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"சிறந்த செயல்பாடு"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"அறிவிப்பு பார்க்கப்பட்டது"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"15 நிமிடங்களுக்குள் பார்க்கப்பட்டது"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"அறிவிப்பைப் பார்த்துள்ளார்"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"விட்ஜெட்டின் பங்கேற்பு"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"வேறு பயனர் பார்த்துள்ளார்"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"அதிகபட்ச முன்னுரிமை வேலை தொடங்குகிறது"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"அதிகபட்ச முன்னுரிமை வேலை இயங்குகிறது"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"அதிக முன்னுரிமை வேலை தொடங்குகிறது"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"அதிக முன்னுரிமை வேலை இயங்குகிறது"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"இயல்புநிலை வேலை தொடங்குகிறது"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"இயல்புநிலை வேலை இயங்குகிறது"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"குறைந்த முன்னுரிமை வேலை தொடங்குகிறது"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"குறைந்த முன்னுரிமை வேலை இயங்குகிறது"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"குறைந்தபட்ச முன்னுரிமை வேலை தொடங்குகிறது"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"குறைந்தபட்ச முன்னுரிமை வேலை இயங்குகிறது"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"வேலை நேர முடிவுக்கான நடவடிக்கை"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"முழு பேட்டரி நிலையில் குறைந்தபட்ச பேலன்ஸ் (விலக்களிக்கப்பட்டவை)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"முழு பேட்டரி நிலையில் குறைந்தபட்ச பேலன்ஸ் (டீஃபால்ட்டாக நிறுவப்பட்ட ஆப்ஸ்)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"முழு பேட்டரி நிலையில் குறைந்தபட்ச பேலன்ஸ் (மீதமுள்ள ஆப்ஸ்)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"முழு சார்ஜ் உள்ள பேட்டரியின் குறைந்தபட்ச பேலன்ஸ் (ஆப்ஸ் புதுப்பிப்பாளர்கள்)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"சார்ஜாகிறது"</item>
-    <item msgid="658627268149681677">"பேட்டரி சேமிப்பு"</item>
-    <item msgid="1599558140284643834">"பவர் சேமிப்புப் பயன்முறை"</item>
-    <item msgid="588427840913221601">"செயலாக்க நிலை"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"சரி"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"மாதிரிக்காட்சி"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"ஸ்கிரீன் சேவரைத் தேர்வுசெய்க"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"கூடுதல் தகவல்களைக் காட்டுதல்"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"உங்கள் டேப்லெட் டாக் செய்யப்பட்டிருக்கும்போது திரையில் என்ன காட்டப்பட வேண்டும் என்பதைத் தேர்வுசெய்யலாம். ஸ்கிரீன் சேவரைப் பயன்படுத்தும்போது உங்கள் சாதனம் அதிக பேட்டரியைப் பயன்படுத்தக்கூடும்."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"தனிப்பயனாக்கு"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> ஐப் பிரத்தியேகமாக்கும்"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"குறிப்பிட்ட வடிவமில்லாத சாளரங்களுக்கான ஆதரவை இயக்க சாதனத்தை மீண்டும் தொடங்கவும்."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"இரண்டாம் நிலைத் திரையில் டெஸ்க்டாப் பயன்முறையைப் பயன்படுத்த, சாதனத்தை மீண்டும் தொடங்குதல் அவசியம்."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"அளவு மாற்றத்தக்க சாளரத்திற்கான ஆதரவை இயக்க சாதனத்தை மறுபடி தொடங்க வேண்டும்."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"குறிப்பிட்ட வடிவமில்லாத சாளரங்களின் கிடைக்கும்நிலையைப் புதுப்பிக்க சாதனத்தை மறுபடி தொடங்க வேண்டும்."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"இரண்டாம்நிலைத் திரைகளில் குறிப்பிட்ட வடிவமில்லாத சாளரங்களை இயக்க சாதனத்தை மறுபடி தொடங்க வேண்டும்."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"இப்போதே மீண்டும் தொடங்கு"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"பிறகு மீண்டும் தொடங்கு"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"சுற்றிலும் கேட்கும் ஆடியோ"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"ரோஜா"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"மெஜந்தா"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"ஊதா"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"முடிந்தது"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"சேமி"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"ரத்துசெய்"</string>
     <string name="contrast_default" msgid="8918545965525226966">"இயல்பு"</string>
     <string name="contrast_medium" msgid="384414510709285811">"நடுத்தரம்"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"இயக்கப்பட்டுள்ளது"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"முடக்கப்பட்டுள்ளது"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"இயக்கப்பட்டுள்ளது"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"ஆடியோ %1$d%% இடது, %2$d%% வலது"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"ஆடியோ %1$d%% வலது, %2$d%% இடது"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"நீங்கள் நிறுவிய ஆப்ஸால் உங்கள் சாதனத்தின் பெயரைப் பார்க்க முடியும். புளூடூத் சாதனங்கள், வைஃபை நெட்வொர்க் ஆகியவற்றுடன் இணைக்கும்போதோ வைஃபை ஹாட்ஸ்பாட்டை அமைக்கும்போதோ அப்பெயர் பிறருக்கும் காட்டப்படக்கூடும்."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"இலக்கணப் பாலினம்"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"இலக்கணப் பாலினத்தைத் தேர்ந்தெடுத்தல்"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"ஆடியோ பகிர்வு நிறுத்தப்பட்டது"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"இணக்கமான சாதனத்தை இணைத்தல்"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"ஆடியோ பகிர்வைத் தொடங்க, முதலில் உங்கள் மொபைலுடன் LE ஆடியோ ஹெட்ஃபோன்களை இணையுங்கள்"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>க்கு மாற்று"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"LE ஆடியோ ஸ்ட்ரீமுடன் இணைத்தல்"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"அருகிலுள்ள ஆடியோ ஸ்ட்ரீம்கள்"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"ஆடியோ ஸ்ட்ரீம்கள்"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ஸ்ட்ரீமைக் கேளுங்கள்"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> மூலம் கேட்க ஆடியோ ஸ்ட்ரீமின் QR குறியீட்டை ஸ்கேன் செய்யுங்கள்"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"பகிரும்போது கடவுச்சொல்லை மாற்ற முடியாது. கடவுச்சொல்லை மாற்ற, முதலில் ஆடியோ பகிர்வை முடக்கவும்."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR குறியீடு ஸ்கேனர்"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"உதவி தேவையா?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"அமைப்புகளைத் தேடுங்கள்"</string>
 </resources>
diff --git a/res/values-te/arrays.xml b/res/values-te/arrays.xml
index 5d989f4..6bc7266 100644
--- a/res/values-te/arrays.xml
+++ b/res/values-te/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"నిద్రించే సమయం"</item>
-    <item msgid="4152450357280759894">"డ్రైవింగ్"</item>
-    <item msgid="7096549258219399423">"లీనమయ్యే"</item>
-    <item msgid="2760716776980432977">"మేనేజ్ చేయబడిన ఇమేజ్‌లు"</item>
-    <item msgid="601734478369121764">"స్టార్ పెట్టండి"</item>
-    <item msgid="6243809315432780521">"క్యాలెండర్"</item>
-    <item msgid="4913577903148415331">"సమయం"</item>
-    <item msgid="3653377604690057780">"థియేటర్"</item>
-    <item msgid="3843711267408385410">"పువ్వు"</item>
+    <item msgid="1216815120972438676">"బ్రీఫ్‌కేస్"</item>
+    <item msgid="184985872234062767">"క్లాసికల్ బిల్డింగ్"</item>
+    <item msgid="9189550412466785530">"అపార్ట్‌మెంట్ బిల్డింగ్"</item>
+    <item msgid="2142527562511049422">"స్పీచ్ బబుల్"</item>
+    <item msgid="2548100558260478605">"వ్యక్తుల గ్రూప్"</item>
+    <item msgid="2270003903304578284">"లైట్ బల్బ్"</item>
+    <item msgid="4793496619091161864">"క్యాలెండర్"</item>
+    <item msgid="5673625795644364100">"అంతరాయం కలిగించవద్దు"</item>
+    <item msgid="1423820834865831361">"పరుగెడుతున్న వ్యక్తి"</item>
+    <item msgid="2037298830718732608">"గోల్ఫ్"</item>
+    <item msgid="2197835014443491074">"జిమ్ డంబెల్"</item>
+    <item msgid="2730180105015616518">"స్విమ్మింగ్"</item>
+    <item msgid="2666922823253345958">"హైకింగ్ చేస్తున్న వ్యక్తి"</item>
+    <item msgid="8234880356472211396">"బంతిని విసిరేస్తున్న వ్యక్తి"</item>
+    <item msgid="4642980625253001443">"కికింగ్ చేస్తున్న వ్యక్తి"</item>
+    <item msgid="4324795269518833500">"గేమ్ కంట్రోలర్"</item>
+    <item msgid="7789966425125441125">"ఆర్టిస్ట్ రంగుల పాలెట్"</item>
+    <item msgid="663512680597461570">"స్నోఫ్లేక్"</item>
+    <item msgid="7952183800501346803">"బీచ్ గొడుగు"</item>
+    <item msgid="799139025758265891">"వర్క్‌షాప్ టూల్స్"</item>
+    <item msgid="1330084588359129896">"టెంట్"</item>
+    <item msgid="3861584909935022342">"ఫిల్మ్ రీల్"</item>
+    <item msgid="5827426100157335512">"పుస్తకం"</item>
+    <item msgid="8585828346253128384">"తామర పువ్వు"</item>
+    <item msgid="8788370542815300188">"వ్యక్తి మైండ్"</item>
+    <item msgid="7287354964767553293">"హెడ్‌ఫోన్స్"</item>
+    <item msgid="2530059623783800987">"టీవీ"</item>
+    <item msgid="5307182323469376758">"రైలు"</item>
+    <item msgid="4903790544026923026">"కారు"</item>
+    <item msgid="5010405583912314582">"ఫోర్క్, కత్తి"</item>
+    <item msgid="8939998598599064900">"షాపింగ్ కార్ట్"</item>
+    <item msgid="3379605903308731893">"చైల్డ్"</item>
+    <item msgid="7808668968550293112">"జంతువుల పాదముద్ర"</item>
+    <item msgid="1000692647524056504">"స్టార్ బ్యాడ్జ్"</item>
+    <item msgid="8270261073421676502">"ఇద్దరు వ్యక్తులు"</item>
+    <item msgid="5767782819651505460">"స్టార్"</item>
+    <item msgid="4368451291862729334">"హార్ట్"</item>
+    <item msgid="2613199102208419986">"హౌస్"</item>
+    <item msgid="3022279986430275040">"అర్ధ చంద్రాకారం"</item>
+    <item msgid="5421089790869483206">"గడియారం"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index e1afd6c..c05c58d 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"తాత్కాలికంగా రద్దు చేయబడింది"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"తెలియదు"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"ప్రివ్యూ"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR కోడ్"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"చిన్నదిగా చేస్తుంది"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"పెద్దదిగా చేస్తుంది"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"ఎల్లప్పుడూ యాక్టివ్‌గా ఉంచండి"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"వినికిడి పరికర సెట్టింగ్‌లు"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"షార్ట్‌కట్, వినికిడి పరికరంతో అనుకూలత"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"ప్రీసెట్"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"మీ ఆడియాలజిస్ట్ ప్రోగ్రామ్ చేసిన ప్రీసెట్‌లు ఏవీ లేవు"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"ప్రీసెట్‌ను అప్‌డేట్ చేయడం సాధ్యపడలేదు"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"ఆడియో అవుట్‌పుట్"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ఆడియో అవుట్‌పుట్ గురించి"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"ఈ యాప్ కోసం భాష ఎంపిక సెట్టింగ్‌లలో అందుబాటులో లేదు."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"యాప్‌లో అందుబాటులో ఉన్న భాషలకు భాష భిన్నంగా ఉండవచ్చు. కొన్ని యాప్‌లు ఈ సెట్టింగ్‌కు సపోర్ట్ చేయకపోవచ్చు."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"ఒక్కో యాప్‌నకు ఒక్కో భాషను సెట్ చేయండి."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"మీ ప్రాధాన్య భాషల్లో సపోర్ట్ ఉన్న వాటి నుంచి మొదటి భాషను మీ సిస్టమ్, యాప్‌లు, వెబ్‌సైట్‌లు ఉపయోగిస్తాయి."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"మీ ప్రాధాన్య భాషల లిస్ట్ నుండి సపోర్ట్ చేసే మొదటి భాషను మీ పరికరం, సిస్టమ్, యాప్‌లు, వెబ్‌సైట్‌లు ఉపయోగిస్తాయి.\n\nచాలా యాప్‌లు తేదీలను, నంబర్‌లను, యూనిట్‌లను ఫార్మాట్ చేయడానికి మీ ప్రాధాన్య భాష నుండి ప్రాంతాన్ని కూడా ఉపయోగిస్తాయి. మీ ప్రాంతాన్ని మార్చడానికి, భాషను జోడించి, ఆపై మీ ప్రాధాన్య ప్రాంతాన్ని ఎంచుకోండి."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"ప్రతి యాప్ కోసం భాషను ఎంచుకోవడానికి, యాప్ భాష సెట్టింగ్‌లకు వెళ్లండి."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"యాప్ భాషల గురించి మరింత తెలుసుకోండి"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"సిస్టమ్ భాషను %s‌కు మార్చాలా?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"ఆఫ్"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{ఆన్‌లో ఉంది / # యాప్‌నకు లొకేషన్‌కు యాక్సెస్ ఉంది}other{ఆన్‌లో ఉంది / # యాప్‌లకు లొకేషన్‌కు యాక్సెస్ ఉంది}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"లోడ్ చేస్తోంది…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"సమీపంలోని పరికరాలను యాక్సెస్ చేసే అనుమతి గల యాప్‌లు, కనెక్ట్ అయిన పరికరాలు ఎంత దూరంలో ఉన్నాయో తెలుసుకోగలవు."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"సమీప పరికరాల అనుమతి ఉన్న యాప్‌లు కనెక్ట్ అయిన పరికరాల అంచనా స్థానాన్ని నిర్ణయించగలవు."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"యాప్‌లు, సర్వీస్‌లకు లొకేషన్ యాక్సెస్ ఆఫ్ చేయబడింది. మీరు ఎమర్జెన్సీ నంబర్‌కు కాల్ చేసినా లేదా SMS పంపినా, అత్యవసర సమయాలలో స్పందించే వారికి ఆటోమేటిక్‌గా మీ పరికర లొకేషన్ పంపబడుతుంది."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"లొకేషన్ సెట్టింగ్‌ల గురించి మరింత తెలుసుకోండి"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"మార్చడానికి ChromeOS సెట్టింగ్‌లు &gt; గోప్యత, సెక్యూరిటీ &gt; గోప్యతా కంట్రోల్స్‌ను &gt; లొకేషన్ యాక్సెస్‌కు వెళ్లండి"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"ముఖం, <xliff:g id="WATCH">%s</xliff:g> జోడించబడ్డాయి"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"ముఖం, వేలిముద్ర, <xliff:g id="WATCH">%s</xliff:g> జోడించబడ్డాయి"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"ముఖం, వేలిముద్రలు, <xliff:g id="WATCH">%s</xliff:g> జోడించబడ్డాయి"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"ఐడెంటిటీ చెక్ ఆన్‌లో ఉంది, దానికి బయోమెట్రిక్ అవసరం"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"రిమోట్ ప్రామాణీకరణదారు అన్‌లాక్"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"వాచ్ జోడించబడింది"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"మీ వాచ్‌ను సెటప్ చేయండి"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"వాచ్ అన్‌లాక్ గురించి మరింత తెలుసుకోండి"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"వాచ్‌ను జోడించండి"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"వాచ్‌ను తీసివేయండి"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"వేలిముద్ర &amp; ఫేస్ అన్‌లాక్"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ఫేస్ &amp; వేలిముద్ర అన్‌లాక్"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"వర్క్ ప్రొఫైల్ కోసం ముఖం &amp; వేలిముద్ర అన్‌లాక్"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"సెటప్ అవసరం"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"ముఖం, వేలిముద్రలు జోడించబడ్డాయి"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"ప్రైవేట్ స్పేస్ సెటప్ ప్రోగ్రెస్‌లో ఉంది…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"ప్రైవేట్ స్పేస్‌ను సెటప్ చేయడం సాధ్యపడలేదు"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"మళ్లీ ట్రై చేయండి"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"నిష్క్రమించండి"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"ప్రైవేట్ స్పేస్ అందుబాటులో లేదు.\nసంబంధిత కారణాలను చూడండి"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"సంబంధిత కారణాలను చూడండి"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"ప్రైవేట్ స్పేస్ కోసం కొత్త లాక్‌ను ఎంచుకోవాలా?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"కేవలం ప్రైవేట్ స్పేస్ కోసం మీరు కొత్త లాక్‌ను సెట్ చేయవచ్చు, లేదా మీ పరికరాన్ని అన్‌లాక్ చేయడానికి మీరు ఉపయోగించే అదే లాక్‌ను ఉపయోగించవచ్చు"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"స్క్రీన్ లాక్‌ను ఉపయోగించండి"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"బ్లూటూత్ ఆన్ చేసినప్పుడు, సమీపంలోని ఇతర బ్లూటూత్ పరికరాలతో మీ పరికరం కమ్యూనికేట్ చేయగలదు.\n\nపరికర వినియోగ అనుభూతిని మెరుగుపరచడానికి, ఏ సమయంలోనైనా, బ్లూటూత్ ఆఫ్‌లో ఉన్నప్పుడు కూడా, సమీపంలోని పరికరాలను, యాప్‌లు, సర్వీస్‌లు ఇప్పటికీ స్కాన్ చేయగలవు. ఉదాహరణకు, లొకేషన్ ఆధారిత ఫీచర్‌లు, సర్వీస్‌లను మెరుగుపరచడానికి దీనిని ఉపయోగించవచ్చు. మీరు దీన్ని బ్లూటూత్ స్కానింగ్ సెట్టింగ్‌లలో మార్చవచ్చు."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"బ్లూటూత్‌ను ఆన్ చేసినప్పుడు, మీ పరికరం సమీపంలోని ఇతర బ్లూటూత్ పరికరాలతో కమ్యూనికేట్ చేయగలదు. క్విక్ షేర్, Find My Device వంటి ఫీచర్‌లు బ్లూటూత్‌ను ఉపయోగిస్తాయి.\n\nబ్లూటూత్ ఆఫ్‌లో ఉన్నా, యాప్‌లు, సర్వీస్‌లు ఇప్పటికీ సమీపంలోని పరికరాల కోసం ఏ సమయంలోనైనా స్కాన్ చేయగలవు. ఉదాహరణకు, లొకేషన్ ఆధారిత ఫీచర్‌లను, సర్వీస్‌లను మెరుగుపరచడానికి ఇది ఉపయోగించబడుతుంది. దీన్ని మీరు బ్లూటూత్ స్కానింగ్ సెట్టింగ్‌లలో మార్చవచ్చు."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"మార్చండి"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> కనెక్ట్ చేయబడలేదు"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"మీ భద్రత కోసం ఈ పరికరాన్ని మర్చిపోండి, ఆపై దీన్ని మళ్లీ పెయిర్ చేయండి"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"పరికరాన్ని మర్చిపోండి"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"రద్దు చేయండి"</string>
     <string name="device_details_title" msgid="1155622417516195481">"పరికర వివరాలు"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"కీబోర్డ్ సెట్టింగ్‌లు"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"మరిన్ని సెట్టింగ్‌లు"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"ఫర్మ్‌వేర్ అప్‌డేట్‌లు, పరిచయం, మరిన్ని"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"చిట్కాలు &amp; సపోర్ట్"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"పరికర బ్లూటూత్ అడ్రస్: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"పరికర బ్లూటూత్ అడ్రస్:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"పరికరాన్ని మర్చిపోవాలా?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"ప్రయోగం. ఆడియో క్వాలిటీని బాగుచేస్తుంది."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"పరికరాన్ని విస్మరించండి"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"యాప్‌ను డిస్‌కనెక్ట్ చేయండి"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"మరిన్ని సెట్టింగ్‌లు"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"గరిష్ఠంగా కనెక్ట్ అయిన బ్లూటూత్ ఆడియో పరికరాలు"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"గరిష్ఠ సంఖ్యలో కనెక్ట్ అయిన బ్లూటూత్ ఆడియో పరికరాలను ఎంచుకోండి"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC వెర్బోస్ విక్రేత డీబగ్ లాగ్"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"పరికరాన్ని రీస్టార్ట్ చేయాలా?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"వివరణాత్మక NFC లాగింగ్ అనేది, యాప్ డెవలప్‌మెంట్ ప్రయోజనాల కోసం మాత్రమే ఉద్దేశించబడింది. బగ్ రిపోర్ట్‌లలో అదనపు NFC డేటా చేర్చబడుతుంది, ఇందులో ప్రైవేట్ సమాచారం ఉండవచ్చు. ఈ సెట్టింగ్‌ను మార్చడానికి మీ పరికరాన్ని రీస్టార్ట్ చేయండి."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"రీస్టార్ట్ చేయండి"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"ఆన్ అయింది"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"ఆఫ్ అయింది"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"ఎక్స్‌టర్నల్ డిస్‌ప్లే"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"ఎక్స్‌టర్నల్ డిస్‌ప్లేను ఉపయోగించండి"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"డిస్‌ప్లే రిజల్యూషన్"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"ఎక్స్‌టర్నల్ డిస్‌ప్లే డిస్‌కనెక్టయింది"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"రొటేషన్"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"స్టాండర్డ్"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"రొటేషన్‌ను లేదా రిజల్యూషన్‌ను మార్చడం వలన, ప్రస్తుతం రన్ అవుతున్న యాప్‌లు ఏవైనా ఉంటే, అవి ఆపివేయబడవచ్చు"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"మీ స్క్రీన్‌ను మిర్రర్ చేయాలంటే, మీ పరికరం తప్పనిసరిగా ఎక్స్‌టర్నల్ డిస్‌ప్లేకు కనెక్ట్ చేసి ఉండాలి"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"మరిన్ని ఆప్షన్‌లు"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"ప్రసారం చేయండి"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"మిర్రర్"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"వైర్‌లెస్ ప్రదర్శనను ప్రారంభించండి"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"అనుకూలం"</string>
     <string name="brightness" msgid="6216871641021779698">"ప్రకాశం స్థాయి"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"పరిసర అనుకూల ప్రకాశం"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"పరిసర అనుకూల ప్రకాశం గురించి పరిచయం"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"మీ స్క్రీన్ బ్రైట్‌నెస్, ఆటోమేటిక్‌గా మీ పరిసరాల‌కు, యాక్టివిటీలకు అనుగుణంగా అడ్జస్ట్ అవుతుంది. మీ ప్రాధాన్యతలను అర్థం చేసుకోవడంలో అనుకూల ప్రకాశానికి సహాయపడటం కోసం స్లయిడర్‌ను మీరు మాన్యువల్‌గా లాగవచ్చు."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"ఆన్"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"ఆఫ్"</string>
@@ -1311,8 +1340,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="8850185380445309835">"ప్రాధాన్య SIM అప్‌డేట్ చేయాలా?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"మీ పరికరంలో <xliff:g id="NEW_SIM">%1$s</xliff:g> SIM మాత్రమే ఉంది. మొబైల్ డేటా, కాల్స్‌, SMS మెసేజ్‌ల కోసం మీరు ఈ SIMను ఉపయోగించాలని అనుకుంటున్నారా?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> ఇది ఇప్పుడు మీ ప్రైమరీ SIM"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"మొబైల్ డేటాను మెరుగుపరచాలా?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"<xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> మెరుగైన నెట్‌వర్క్‌ను కలిగి ఉన్నప్పుడు, మొబైల్ డేటా కోసం ఆటోమేటిక్‌గా దానికి మారడానికి మీ పరికరాన్ని అనుమతించండి."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"మీ సంస్థకు కాల్స్, మెసేజ్‌లు, నెట్‌వర్క్ ట్రాఫిక్ కనిపించవచ్చు."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"ఆప్షన్‌లు"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"యాక్సెసిబిలిటీ"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"భౌతిక కీబోర్డ్"</string>
-    <string name="show_ime" msgid="4334255501724746849">"స్క్రీన్‌పై కీబోర్డ్‌ను ఉపయోగించండి"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"ఫిజికల్ కీబోర్డ్ యాక్టివ్‌గా ఉన్నప్పుడు దీన్ని స్క్రీన్‌పై ఉంచుతుంది"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"బౌన్స్ కీలు"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"ఏదైనా ఒక కీని <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> మిల్లీ సెకన్ల లోపు తిరిగి నొక్కితే కీబోర్డ్ దాన్ని విస్మరిస్తుంది"</string>
     <string name="slow_keys" msgid="2891452895499690837">"నిదానంగా పనిచేసే కీలు"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"ఒక కీని నొక్కితే, అది యాక్టివేట్ అయ్యేందుకు పట్టే సమయాన్ని <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> మిల్లీ సెకన్లకు మార్చుతుంది"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"స్టిక్కీ కీలు"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"షార్ట్‌కట్‌ల కోసం కీలను కలిపి హోల్డ్ చేయడానికి బదులు ఒకసారి ఒక కీని నొక్కండి"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"మౌస్ కీలు"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"మౌస్‌ను కంట్రోల్ చేయడానికి ఫిజికల్ కీబోర్డ్‌ను ఉపయోగించండి."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"కీబోర్డ్ షార్ట్‌కట్‌లు"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"షార్ట్‌కట్‌ల లిస్ట్‌ను చూడండి"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"కార్యాలయ ప్రొఫైల్ కీబోర్డ్‌లు &amp; సాధనాలు"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"ఒక్కొక్క టచ్‌ప్యాడ్ నావిగేషన్ సంజ్ఞను అనుకూలంగా మార్చండి"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"రివర్స్ స్క్రోలింగ్"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"మీరు దిగువకు స్క్రోల్ చేసినప్పుడు కంటెంట్ ఎగువకు జరపబడుతుంది"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"దిగువ కుడి ట్యాప్"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"మనిన్ని ఆప్షన్‌లకై టచ్‌ప్యాడ్ దిగువ కుడి మూలన ట్యాప్ చేయండి"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"దిగువున కుడి వైపున క్లిక్ చేయడం"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"మరిన్ని ఆప్షన్‌లకై టచ్‌ప్యాడ్ కింద కుడి మూలన క్లిక్ చేయండి"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"పాయింటర్ స్పీడ్"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"పాయింటర్ ఫిల్ స్టయిల్"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"పాయింటర్ ఫిల్ స్టయిల్‌ను నలుపు రంగుకి మార్చండి"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"పాయింటర్ ఫిల్ స్టయిల్‌ను పసుపు రంగుకి మార్చండి"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"పాయింటర్ ఫిల్ స్టయిల్‌ను గులాబీ రంగుకి మార్చండి"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"పాయింటర్ ఫిల్ స్టయిల్‌ను నీలం రంగుకి మార్చండి"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"పాయింటర్ స్ట్రోక్ స్టయిల్"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"తెలుపు రంగు"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"నలుపు రంగు"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"ఏదీ వద్దు"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"టచ్‌ప్యాడ్ సంజ్ఞ గూర్చి తెలుసుకోండి"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"ట్రాక్‌ప్యాడ్, ట్రాక్ ప్యాడ్, మౌస్, కర్సర్, స్క్రోల్, స్వైప్, కుడి క్లిక్, క్లిక్, పాయింటర్"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"కుడి క్లిక్, ట్యాప్"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"రీసెట్ చేయండి"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"మోడిఫయర్ కీని ఎంచుకోండి"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> కొసం కొత్త కీని ఎంచుకోండి:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"ఫిజికల్ కీబోర్డ్ యాక్సెసిబిలిటీ"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"స్టిక్కీ కీలు, బౌన్స్ కీలు, మౌస్ కీలు"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> లేఅవుట్"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ఆటోమేటిక్"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"ఆటోమేటిక్: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"యూజర్ ఎంచుకున్నది: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"స్పీచ్"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"పాయింటర్ వేగం"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"పాయింటర్ స్కేల్"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"పాయింటర్ స్కేల్‌ను తగ్గించండి"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"పాయింటర్ స్కేల్‌ను పెంచండి"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"గేమ్ కంట్రోలర్"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"వైబ్రేషన్ దారి మళ్లించు"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"కనెక్ట్ చేసినప్పుడు గేమ్ కంట్రోలర్‌కు వైబ్రేషన్‌ని పంపు"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"ఏదేమైనా కొనసాగించండి"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"రద్దు చేయండి"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"మ్యాగ్నిఫికేషన్ సెట్టింగ్‌లు"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"ఒక వేలుతో ఫ్యాన్ చేయడం"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"మ్యాగ్నిఫయర్‌ను 1 వేలితో కదపండి"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"స్క్రీన్ చుట్టూ కదిలేందుకు 1 వేలితో లాగండి"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"ఒక వేలును లాగడం ద్వారా జూమ్ ప్రాంతాన్ని తరలించండి."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"రెండు వేళ్లతో లాగడం ద్వారా జూమ్ ప్రాంతాన్ని తరలించండి."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"స్క్రీన్‌లో కొంత భాగాన్ని మాత్రమే మాగ్నిఫై చేస్తున్నప్పుడు అందుబాటులో ఉండదు"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"జూమ్ చేయడం కోసం బటన్‌ని నొక్కండి"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"కంటెంట్‌ను పెద్దదిగా చేయడానికి స్క్రీన్‌పై త్వరగా జూమ్ - ఇన్ చేయండి"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;జూమ్ చేయడానికి:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. మ్యాగ్నిఫికేషన్‌ను ప్రారంభించడానికి షార్ట్‌కట్‌ను ఉపయోగించండి&lt;br/&gt; {1,number,integer}. స్క్రీన్‌ను ట్యాప్ చేయండి&lt;br/&gt; {2,number,integer}. స్క్రీన్ చుట్టూ కదిలేందుకు 2 వేళ్లతో లాగండి&lt;br/&gt; {3,number,integer}. జూమ్ చేయడాన్ని సర్దుబాటు చేయడానికి 2 వేళ్లతో స్క్రీన్‌ను నియంత్రించండి&lt;br/&gt; {4,number,integer}. మ్యాగ్నిఫికేషన్‌ను ఆపివేయడానికి షార్ట్‌కట్‌ను ఉపయోగించండి&lt;br/&gt;&lt;br/&gt;&lt;b&gt;తాత్కాలికంగా జూమ్ చేయడానికి:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. మీ మ్యాగ్నిఫికేషన్ రకం ఫుల్ స్క్రీన్‌కు సెట్ చేయబడిందని నిర్ధారించుకోండి&lt;br/&gt; {1,number,integer}. మ్యాగ్నిఫికేషన్‌ను ప్రారంభించడానికి షార్ట్‌కట్‌ను ఉపయోగించండి&lt;br/&gt; {2,number,integer}. స్క్రీన్‌పై ఎక్కడైనా తాకి &amp; హోల్డ్ చేయండి&lt;br/&gt; {3,number,integer}. స్క్రీన్ చుట్టూ కదిలేందుకు వేలితో లాగండి&lt;br/&gt; {4,number,integer}. మ్యాగ్నిఫికేషన్‌ను ఆపివేయడానికి వేలును స్క్రీన్‌పై నుండి తీసివేయండి"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;జూమ్ - ఇన్ చేయడానికి:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. మాగ్నిఫికేషన్‌ను ప్రారంభించడానికి షార్ట్‌కట్‌ను ఉపయోగించండి&lt;br/&gt; {1,number,integer}. స్క్రీన్‌ను ట్యాప్ చేయండి&lt;br/&gt; {2,number,integer}. స్క్రీన్ చుట్టూ కదిలేందుకు 2 వేళ్లతో లాగండి&lt;br/&gt; {3,number,integer}. జూమ్ చేయడాన్ని సర్దుబాటు చేయడానికి 2 వేళ్లతో స్క్రీన్‌ను నియంత్రించండి&lt;br/&gt; {4,number,integer}. మ్యాగ్నిఫికేషన్‌ను ఆపడానికి షార్ట్‌కట్‌ను ఉపయోగించండి&lt;br/&gt;&lt;br/&gt; మీరు తాత్కాలికంగా కూడా జూమ్ - ఇన్ చేయవచ్చు, ఇంకా మరిన్ని చేయవచ్చు."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;జూమ్ - ఇన్ చేయడానికి:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. మాగ్నిఫికేషన్‌ను ప్రారంభించడానికి షార్ట్‌కట్‌ను ఉపయోగించండి&lt;br/&gt; {1,number,integer}. స్క్రీన్‌ను ట్యాప్ చేయండి&lt;br/&gt; {2,number,integer}. స్క్రీన్ చుట్టూ కదిలేందుకు 1 వేలితో లేదా 2 వేళ్లతో లాగండి&lt;br/&gt; {3,number,integer}. జూమ్ చేయడాన్ని సర్దుబాటు చేయడానికి 2 వేళ్లతో స్క్రీన్‌ను నియంత్రించండి&lt;br/&gt; {4,number,integer}. మ్యాగ్నిఫికేషన్‌ను ఆపడానికి షార్ట్‌కట్‌ను ఉపయోగించండి&lt;br/&gt;&lt;br/&gt; మీరు తాత్కాలికంగా కూడా జూమ్ - ఇన్ చేయవచ్చు, ఇంకా మరిన్ని చేయవచ్చు."</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_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g>లో <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>వ పేజీ"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"యాక్సెసిబిలిటీ బటన్ షార్ట్‌కట్"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"ఫ్లోటింగ్ బటన్‌ను ట్యాప్ చేయండి"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"యాక్సెసిబిలిటీ సంజ్ఞ"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"మీ స్క్రీన్ దిగువున ఉన్న యాక్సెసిబిలిటీ బటన్ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>‌ను ట్యాప్ చేయండి. ఫీచర్‌ల మధ్య మారడానికి, యాక్సెసిబిలిటీ బటన్‌ను నొక్కి &amp; పట్టుకోండి."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"2 వేళ్లతో స్క్రీన్ దిగువ నుండి ఎగువకు స్వైప్ చేయండి.\n\nఫీచర్ల మధ్య స్విచ్ అవడానికి, 2 వేళ్లతో ఎగువకు స్వైప్ చేసి పట్టుకోండి."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"స్క్రీన్ దిగువ నుండి 3 వేళ్లతో ఎగువకు స్వైప్ చేయండి.\n\nఫీచర్ల మధ్య స్విచ్ అవడానికి, 3 వేళ్లతో ఎగువకు స్వైప్ చేసి పట్టుకోండి."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{మీ స్క్రీన్ దిగువ నుండి పైకి స్వైప్ చేయండి. ఫీచర్‌ల మధ్య మారడానికి, పైకి స్వైప్ చేసి, పట్టుకోండి.}other{మీ స్క్రీన్ దిగువ నుండి # వేళ్లతో పైకి స్వైప్ చేయండి. ఫీచర్‌ల మధ్య మారడానికి, # వేళ్ళతో పైకి స్వైప్ చేసి, పట్టుకోండి.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"మరిన్ని ఆప్షన్‌లు"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"<xliff:g id="SERVICE">%1$s</xliff:g> గురించి మరింత తెలుసుకోండి"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"వాల్యూమ్ కీలు"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"వాల్యూమ్ కీలు"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"వాల్యూమ్ కీలు రెండింటినీ నొక్కి పట్టుకోండి"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"రెండు వేళ్లతో స్క్రీన్‌ను డబుల్-ట్యాప్ చేయండి"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d-వేళ్లతో డబుల్ ట్యాప్ చేయండి"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"స్క్రీన్‌పై %1$d వేళ్లతో రెండు సార్లు వేగంగా ట్యాప్ చేయండి"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"మూడు సార్లు ట్యాప్ చేయండి"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"స్క్రీన్‌పై %1$d సార్లు వేగంగా ట్యాప్ చేయండి. దీని వల్ల మీ పరికరం నెమ్మదిగా పని చేయవచ్చు."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d-వేలుతో డబుల్ ట్యాప్ చేయండి"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"రెండు వేళ్లతో స్క్రీన్‌ను {0,number,integer} సార్లు వేగంగా ట్యాప్ చేయండి"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"స్క్రీన్‌పై మూడు సార్లు నొక్కండి"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"మూడు సార్లు ట్యాప్ చేయండి"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"స్క్రీన్‌ను {0,number,integer} సార్లు త్వరగా ట్యాప్ చేయండి. ఈ షార్ట్‌కట్ వల్ల మీ పరికరం పనితీరు నెమ్మదించవచ్చు"</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_global_gesture_preference_title" msgid="8866765674372344850">"వాల్యూమ్ కీల షార్ట్‌కట్"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"షార్ట్‌కట్ సెట్టింగ్‌లు"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"లాక్ స్క్రీన్‌లో షార్ట్‌కట్"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"లాక్ స్క్రీన్ నుండి వాల్యూమ్ కీల షార్ట్‌కట్"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"లాక్ స్క్రీన్‌లో \'షార్ట్‌కట్\' ఫీచర్ ఆన్ చేయడానికి అనుమతించండి. వాల్యూమ్ కీలు రెండింటినీ కొన్ని సెకన్ల పాటు నొక్కి పట్టుకోండి."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"యాక్సెసిబిలిటీ బటన్"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"యాక్సెసిబిలిటీ బటన్ &amp; సంజ్ఞ"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"ఈ సేవ పాడైంది."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"యాక్సెసిబిలిటీ షార్ట్‌కట్‌లు"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"శీఘ్ర సెట్టింగ్‌ల్లో చూపు"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"ఎరుపు-ఆకుపచ్చ రంగు"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"ఎరుపు-ఆకుపచ్చ రంగు"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"రెడ్-గ్రీన్, గ్రీన్ బలహీనంగా ఉంది"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"రెడ్-గ్రీన్, రెడ్ బలహీనంగా ఉంది"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"నీలం-పసుపు"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"గ్రేస్కేల్"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"తీవ్రత"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"బలహీనమైన ఆకుపచ్చ, డ్యూటెరానోమలీ"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"బలహీనమైన ఎరుపు, ప్రొటానోమలీ"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"గ్రేస్కేల్ మోడ్ లేదా కలర్ కరెక్షన్ డిజేబుల్ అయినప్పుడు అందుబాటులో ఉండదు"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"ఎక్స్‌ట్రా డిమ్"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"స్క్రీన్ కాంతిని మరింత డిమ్ చేయండి"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"నీలి ఆకుపచ్చ రంగు"</string>
     <string name="color_yellow" msgid="5957551912912679058">"పసుపు రంగు"</string>
     <string name="color_magenta" msgid="8943538189219528423">"మెజెంటా"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"మీ పరికరాన్ని పూర్తిగా కంట్రోల్ చేయడానికి, <xliff:g id="SERVICE">%1$s</xliff:g>‌ను అనుమతించాలా?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> ఇవి చేయాల్సి ఉంటుంది:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"అనుమతి రిక్వెస్ట్‌కు ఒక యాప్ అడ్డు తగులుతున్నందున సెట్టింగ్‌లు మీ ప్రతిస్పందనను ధృవీకరించలేకపోయాయి."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> ఈ పరికరం యొక్క పూర్తి నియంత్రణను కోరుతుంది. ఈ సేవ స్క్రీన్‌పై కనిపించే అంశాలను చదవగలదు, అదేవిధంగా వినియోగదారుల తరపున యాక్సెసిబిలిటీ చర్యలను తీసుకోగలదు. ఈ స్థాయి నియంత్రణ చాలా వ‌ర‌కు యాప్‌లకు సరికాదు."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"యాక్సెసిబిలిటీ అవసరాలు ఉన్నప్పుడు మీకు సహాయం చేయడానికి యాప్‌లకు ఫుల్‌ కంట్రోల్‌ ఇవ్వడం సమంజసమే. అయితే అన్ని యాప్‌లకు అలా కంట్రోల్ ఇవ్వడం సరికాదు."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"స్క్రీన్‌ను చూసి, కంట్రోల్ చేయగలగడం"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"స్క్రీన్‌పై ఉండే కంటెంట్‌ మొత్తాన్ని చదవగలుగుతుంది మరియు ఇతర యాప్‌లలో కూడా ఈ కంటెంట్‌ను ప్రదర్శిస్తుంది."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"చర్యలను చూసి, అమలు చేయగలగడం"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"మీరు ఒక యాప్‌‌తో చేసే ఇంటరాక్షన్‌లను లేదా హార్డ్‌వేర్ సెన్సార్‌ను ట్రాక్ చేస్తూ మీ త‌ర‌ఫున యాప్‌లతో ఇంటరాక్ట్ చేయగలదు."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"అనుమతించండి"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"వద్దు"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"ఆఫ్ చేయండి"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"ఆన్‌లో ఉన్నాయి / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g>, <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"మీరు బ్లూటూత్ పరికరాలకు కూడా స్పేషియల్ ఆడియోను ఆన్ చేయవచ్చు."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"కనెక్ట్ అయిన పరికరాల సెట్టింగ్‌లు"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"స్పేషియల్ ఆడియో"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"ఆఫ్‌లో ఉంది"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"ఆఫ్‌లో ఉంది"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"ఆఫ్‌లో ఉంది"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{ఏవీ లేవు}=1{1 షెడ్యూల్ సెట్ చేయబడింది}other{# షెడ్యూళ్లు సెట్ చేయబడ్డాయి}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"అంతరాయం కలిగించవద్దు"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"ముఖ్యమైన ఫైల్స్ మోడ్స్"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"ఒక మోడ్‌ను జోడించండి"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"మోడ్‌లు"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"పరధ్యానాలను తగ్గించి, స్లీప్, వర్క్, డ్రైవింగ్, ఇంకా ప్రతిదానికి సంబంధించి మోడ్‌లతో మీ దృష్టిని కంట్రోల్ చేయండి."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"మీ సొంత మోడ్‌ను క్రియేట్ చేయండి"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"ముఖ్యమైన వ్యక్తులు, యాప్‌ల నుంచి వచ్చే నోటిఫికేషన్‌లను మాత్రమే అందించు"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"షెడ్యూల్‌ను సెట్ చేయండి"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"దీని ఆధారంగా షెడ్యూల్ చేయండి"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"తేదీ, సమయం"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"9 AM - 5 PM వారపు రోజులు\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"క్యాలెండర్ ఈవెంట్‌లు"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} యాక్టివ్‌గా ఉంది}=2{{mode_1}, {mode_2} యాక్టివ్‌గా ఉన్నాయి}=3{{mode_1}, {mode_2}, {mode_3} యాక్టివ్‌గా ఉన్నాయి}other{{mode_1}, {mode_2}, మరో # యాక్టివ్‌గా ఉన్నాయి}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 మోడ్ ఆటోమేటిక్‌గా ఆన్ అవుతుంది}other{# మోడ్‌లు ఆటోమేటిక్‌గా ఆన్ అవుతాయి}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ఆన్ అయింది"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"సెట్ చేసి లేదు"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"డిజేబుల్ చేయబడింది"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"మోడ్‌ను క్రియేట్ చేయండి"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"అనుకూలంగా మార్చు"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"ఇప్పుడే ఆన్ చేయండి"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"ఆఫ్ చేయండి"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"మోడ్ కనుగొనబడలేదు"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"అంతరాయాలను పరిమితం చేయండి"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"అంతరాయాలను, పరధ్యానాలను బ్లాక్ చేయండి"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g>‌ను సెటప్ చేయండి"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"అంతరాయం కలిగించవద్దును ఆన్ చేయండి"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"అలారంలు, మీడియా శబ్దాలు అంతరాయం కలిగించగలవు"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"షెడ్యూళ్లు"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"షెడ్యూళ్లను తొలగించండి"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"తొలగించండి"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"పేరుమార్చండి"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"తొలగించండి"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"\"<xliff:g id="MODE">%1$s</xliff:g>\" మోడ్‌ను తొలగించాలా?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"ఎడిట్"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"షెడ్యూళ్లు"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"షెడ్యూల్"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"ఆటోమేటిక్‌గా ఆన్ చేయండి"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"క్యాలెండర్‌ను జోడించండి"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"మీ క్యాలెండర్‌ను ఉపయోగించండి"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"షెడ్యూల్"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"షెడ్యూల్‌ను సెట్ చేయండి"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"ఆటోమేటిక్ ఎప్పుడు ఆన్ అవ్వాలి"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"ఈవెంట్ షెడ్యూల్"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"ఈ ఈవెంట్‌ల సమయంలో ఆన్ చేయండి"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"ఆహ్వాన రిప్లయి ఎక్కడ ఉంది"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"టైమ్ షెడ్యూల్"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"షెడ్యూల్ చేయండి"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> గం., <xliff:g id="MINUTES">%2$d</xliff:g> నిమి."</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"షెడ్యూల్"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"శబ్దాలు చేసే అంతరాయాలను అనుమతించండి"</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="mode_interruption_filter_title" msgid="6657431939996264417">"మిమ్మల్ని రీచ్ అవ్వగల నోటిఫికేషన్‌లు"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"అదనపు చర్యలు"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"నోటిఫికేషన్ ఫిల్టర్‌లు"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"మరిన్ని సెట్టింగ్‌లు"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{ఆఫ్‌లో ఉంది}=1{ఆఫ్ / 1 మోడ్ ఆటోమేటిక్‌గా ఆన్ అవుతుంది}other{ఆఫ్ / # మోడ్‌లు ఆటోమేటిక్‌గా ఆన్ అవుతాయి}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"డిస్‌ప్లే సెట్టింగ్‌లు"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"డిస్‌ప్లే ఆప్షన్‌లు"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"గ్రేస్కేల్"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"డార్క్ థీమ్‌ను ఎనేబుల్ చేయండి"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"డార్క్ బ్యాక్‌గ్రౌండ్‌లో లైట్ టెక్స్ట్‌ కోసం OSను, యాప్‌లను మార్చండి. దీనివల్ల కంటికి హాయిగా ఉండే అవకాశం ఉంది. కొన్ని పరికరాలలో బ్యాటరీ గణనీయంగా సేవ్ అవుతుంది"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{అదనపు మార్పులు ఏవీ లేవు}=1{{effect_1}}=2{{effect_1}, {effect_2}}=3{{effect_1}, {effect_2}, {effect_3}}other{{effect_1}, {effect_2}, అలాగే మరో # ఎఫెక్ట్‌లు}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"అన్ని నోటిఫికేషన్‌లను అనుమతించండి"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"వ్యక్తులు, యాప్స్, ఇంకా సౌండ్‌లు అంతరాయాన్ని కలిగించవచ్చు"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ఫిల్టర్ చేసిన నోటిఫికేషన్‌ల కోసం డిస్‌ప్లే ఆప్షన్‌లు"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"\'అంతరాయం కలిగించవద్దు\' మోడ్ ఆన్‌లో ఉన్నప్పుడు"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"నోటిఫికేషన్‌ల సౌండ్ రాదు"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"నోటిఫికేషన్‌ను తెరువు"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"నోటిఫికేషన్‌లను తాత్కాలికంగా ఆపివేయడాన్ని అనుమతించండి"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"యాప్ చిహ్నంపై నోటిఫికేషన్ డాట్"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"నోటిఫికేషన్ బండిల్స్"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"బబుల్స్"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"బబుల్స్"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"ఈ సంభాషణను బబుల్ చేయండి"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"ఇది మెసేజ్‌లకు రిప్లయి ఇవ్వగలదు, అలాగే నోటిఫికేషన్‌లను తాత్కాలికంగా వాయిదా వేయడం లేదా విస్మరించడం, ఇంకా కాల్స్‌కు సమాధానం ఇవ్వడంతో పాటు నోటిఫికేషన్‌లలోని బటన్‌లపై చర్య తీసుకోగలదు."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"సెట్టింగ్‌లను మార్చడం"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"ఇది \'అంతరాయం కలిగించవద్దు\'ను ఆన్ లేదా ఆఫ్ చేయగలదు, అలాగే సంబంధిత సెట్టింగ్‌లను మార్చగలదు."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"ఇది మోడ్‌లను మేనేజ్ చేయగలదు, యాక్టివేట్ చేయగలదు, ఇంకా సంబంధిత సెట్టింగ్‌లను మార్చగలదు."</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_modes_warning_summary" msgid="7528432011433844158">"మీరు <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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"రియల్-టైమ్"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"మెరుగుపరిచిన సెట్టింగ్‌లను ఈ యాప్ సపోర్ట్ చేయదు"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"మరిన్ని సెట్టింగ్‌లు"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"ఈ యాప్‌లో మరిన్ని సెట్టింగ్‌లు అందుబాటులో ఉన్నాయి"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"అనుకూల నోటిఫికేషన్‌లు"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"అనుకూల నోటిఫికేషన్‌లను ఉపయోగించండి"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"తక్కువ వ్యవధిలో మీరు పలు నోటిఫికేషన్‌లు పొందినప్పుడు, రెండు నిమిషాల పాటు మీ ఫోన్ వాల్యూమ్‌ను తగ్గించి, స్క్రీన్‌పై పాప్-అప్‌లను కుదిస్తుంది. కాల్స్, అలారాలు, ప్రాధాన్య సంభాషణలు ఇప్పటికీ వైబ్రేట్ అవుతాయి, సౌండ్ చేస్తాయి, లేదా స్క్రీన్‌పై చూపబడతాయి, మీరు స్క్రీన్ పై నుండి కిందికి లాగినప్పుడు నోటిఫికేషన్‌లన్నింటినీ సులభంగా కనుగొనవచ్చు."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"నోటిఫికేషన్ కూల్‌డౌన్"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"నోటిఫికేషన్ కూల్‌డౌన్‌ను ఉపయోగించండి"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"తక్కువ వ్యవధిలో మీరు పలు నోటిఫికేషన్‌లను పొందినప్పుడు, 2 నిమిషాలకు మీ పరికర వాల్యూమ్‌ను తగ్గించి, అలర్ట్‌లను కుదిస్తుంది. కాల్స్, అలారాలు, ప్రాధాన్య సంభాషణలు ప్రభావితం కావు. \n\nకూల్‌డౌన్ సమయంలో అందుకున్న నోటిఫికేషన్‌లను, స్క్రీన్‌ను పై నుండి కిందికి లాగడం ద్వారా కనుగొనవచ్చు."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"వర్క్ ప్రొఫైల్‌లకు వర్తింపజేయండి"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"వర్క్ ప్రొఫైల్ యాప్‌లకు వర్తింపజేయండి"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR సహాయక సర్వీసులు"</string>
@@ -3650,6 +3709,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"మోడ్‌ల యాక్సెస్"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"మోడ్‌లకు యాక్సెస్‌ను అనుమతించండి"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"ఇన్‌స్టాల్ చేసిన యాప్‌లేవీ మోడ్‌లకు యాక్సెస్‌ను రిక్వెస్ట్ చేయలేదు"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"మీరు ఈ యాప్ నుండి నోటిఫికేషన్‌లను అనుమతించలేదు"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"మీ రిక్వెస్ట్ మేరకు ఈ పరికరంలో ఈ కేటగిరీకి చెందిన నోటిఫికేషన్‌లు కనిపించకుండా Android బ్లాక్ చేస్తోంది"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"మీ అభ్యర్ధన మేరకు Android, ఈ పరికరంలో ఈ గ్రూప్‌ యొక్క నోటిఫికేషన్‌లను కనిపించకుండా బ్లాక్ చేస్తోంది"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"కేటగిరీలు"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"ఇతరం"</string>
     <string name="no_channels" msgid="4716199078612071915">"ఈ యాప్ ఏ నోటిఫికేషన్‌లను పోస్ట్ చేయలేదు"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"ఉపయోగించని కేటగిరీలను చూడండి"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"యాప్‌లోని అదనపు సెట్టింగ్‌లు"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"ఉపయోగించని కేటగిరీలను చూడండి"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"ఉపయోగించని కేటగిరీలను దాచండి"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"సంభాషణలు"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"అన్ని సంభాషణలు"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"అన్ని సంభాషణలు"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"ప్రాధాన్య సంభాషణలు"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"ప్రాధాన్య సంభాషణలు"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"ఏదీ లేదు"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"అంతరాయం కలిగించగల యాప్‌లు"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"ఎంచుకున్న యాప్‌లు"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"ఏదీ లేదు"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"అన్నీ"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{యాప్‌లు ఏవీ అంతరాయాన్ని కలిగించలేవు}=1{{app_1} అంతరాయాన్ని కలిగించవచ్చు}=2{{app_1}, {app_2} అంతరాయాన్ని కలిగించవచ్చు}=3{{app_1}, {app_2}, అలాగే {app_3} అంతరాయాన్ని కలిగించవచ్చు}other{{app_1}, {app_2}, మరో # అంతరాయాన్ని కలిగించవచ్చు}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (ఆఫీస్)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"లెక్కిస్తోంది…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"భర్తీ చేయడానికి యాప్‌లను అనుమతించండి"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"అంతరాయం కలిగించగల యాప్‌లు"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"మరిన్ని యాప్‌లను ఎంచుకోండి"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"ఏదీ అంతరాయాన్ని కలిగించలేదు"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"ఎవ్వరూ అంతరాయాన్ని కలిగించలేరు"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"కొంతమంది వ్యక్తులు అంతరాయాన్ని కలిగించగలరు"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"రిపీట్ కాలర్‌లు అంతరాయాన్ని కలిగించవచ్చు"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"వ్యక్తులందరూ అంతరాయం కలిగించగలరు"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"రిపీట్ కాలర్‌లను అనుమతించండి"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"రిపీట్ కాలర్స్‌ను అనుమతించండి"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} వరకు ఒక గంట పాటు మాత్రమే అలారాలకు మార్చండి}other{{time} వరకు # గంటల పాటు మాత్రమే అలారాలకు మార్చండి}}"</string>
     <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_action_change_name" msgid="766639614789907016">"పేరు మార్చండి"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"చిహ్నాన్ని మార్చండి"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"చిహ్నాన్ని మార్చండి"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"ఎడిట్ మోడ్"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"మోడ్ క్రియేట్ చేయండి"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"అనుకూల మోడ్"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"మోడ్ పేరు"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"క్యాలెండర్ ఈవెంట్‌లు"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"నిద్రించే సమయ రొటీన్"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"డ్రైవింగ్‌లో ఉన్నప్పుడు"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"యాప్ సెట్టింగ్‌లు"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"<xliff:g id="APP_NAME">%1$s</xliff:g>లో సమాచారం, సెట్టింగ్‌లు"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"<xliff:g id="APP_NAME">%1$s</xliff:g> ద్వారా మేనేజ్ చేయబడుతోంది"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g>‌ను డిజేబుల్ చేయాలా?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"డిజేబుల్ చేసినప్పుడు ఈ మోడ్ ఎప్పటికీ ఆన్ అవ్వదు"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"డిజేబుల్ చేయండి"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g>‌ను ఎనేబుల్ చేయాలా?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"ఈ మోడ్ దాని సెట్టింగ్‌లను బట్టి ఆటోమేటిక్‌గా ఆన్ అవ్వవచ్చు"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"ఎనేబుల్ చేయండి"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"రెగ్యులర్ షెడ్యూల్‌ను ఫాలో అయ్యే మోడ్‌ను సెట్ చేయండి"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"క్యాలెండర్ ఈవెంట్‌లతో సింక్ చేయడానికి, సమాధానాలను ఆహ్వానించడానికి మోడ్‌ను సెట్ చేయండి"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"గాఢంగా నిద్రపోవడానికి దినచర్యను రూపొందించండి. అలారాలను సెట్ చేయండి, స్క్రీన్‌ను డిమ్‌గా చేయండి, నోటిఫికేషన్‌లను బ్లాక్ చేయండి."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"రహదారిపై భద్రతకు ప్రాధాన్యత ఇవ్వడం ద్వారా దృష్టి పెట్టి, పరధ్యానం లేకుండా డ్రైవ్ చేయండి"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"దృష్టి సారించేందుకు మీ పరికరం నుండి వచ్చే పరధ్యానాలను లేదా అంతరాయాలను బ్లాక్ చేయండి"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"నిశ్శబ్ద వాతావరణం కోసం అన్ని పరధ్యానాలను తొలగించండి"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"వేర్వేరు యూజర్‌ల కోసం పరికర ఎక్స్‌పీరియన్స్‌లను, సెట్టింగ్‌లను వ్యక్తిగతీకరించండి"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"ముఖ్యమైన వ్యక్తులను, యాప్స్‌ను మాత్రమే మిమ్మల్ని సంప్రదించడానికి అనుమతించడం ద్వారా అంతరాయాలను తగ్గించండి"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"రెగ్యులర్ షెడ్యూల్‌ను ఫాలో అయ్యే మోడ్‌ను సెట్ చేయండి"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"రోజువారీ ఈవెంట్‌లతో మీ పరికరాన్ని సింక్‌లో ఉంచండి"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"తాజా అనుభూతితో మేల్కొనండి"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"రోడ్డుపై ఉన్నప్పుడు ముందు, భద్రతకు ప్రాధాన్యత ఇవ్వండి"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"ఫుల్ ఫోకస్‌తో, ఫుల్ కాన్‌సెన్‌ట్రేషన్‌తో ఉండండి"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"మీరు వ్యూహాత్మకంగా వ్యవహరించాల్సిన పరిస్థితుల కోసం"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"మిమ్మల్ని సురక్షితంగా ఉంచడంలో సహాయపడటానికి సూచనలను అనుసరించండి"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"మీ దృష్టిని కంట్రోల్ చేయండి"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"హెచ్చరిక"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"మూసివేయండి"</string>
     <string name="device_feedback" msgid="5351614458411688608">"ఈ పరికరంపై ఫీడ్‌బ్యాక్‌ ఇవ్వండి"</string>
@@ -4006,6 +4102,10 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"<xliff:g id="APP">%1$s</xliff:g> కోసం మోడ్‌లకు యాక్సెస్‌ను అనుమతించాలా?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"ఈ యాప్ అంతరాయం కలిగించవద్దు అనే ఆప్షన్‌ను ఆన్/ఆఫ్ చేయగలదు, మోడ్‌లను మేనేజ్ చేయగలదు, యాక్టివేట్ చేయగలదు, ఇంకా సంబంధిత సెట్టింగ్‌లకు మార్పులు చేయగలదు."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"<xliff:g id="APP">%1$s</xliff:g> యాప్‌నకు మోడ్స్ యాక్సెస్‌ను ఉపసంహరించాలా?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"ఈ యాప్ ద్వారా క్రియేట్ చేయబడిన అన్ని మోడ్స్ తీసివేయబడతాయి."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"ఆప్టిమైజ్ చేయవద్దు"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"ఆప్టిమైజ్ చేయి"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"మీ బ్యాటరీ మరింత త్వరగా వినియోగించబడవచ్చు. ఇకపై ఈ యాప్ నేపథ్య బ్యాటరీ వినియోగం పరిమితం చేయబడదు."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"కేస్"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"బ్యాటరీ"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"సెట్టింగ్‌ల ప్యానెల్"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"ఫోర్స్ డెస్క్‌టాప్ మోడ్"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ఇతర డిస్‌ప్లేలలో తప్పనిసరి ప్రయోగాత్మక డెస్క్‌టాప్ మోడ్"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"ఫ్రీఫార్మ్ విండోలను ఎనేబుల్ చేయండి"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"2వ డిస్‌ప్లేలో ఫ్రీఫార్మ్ విండోలను ఎనేబుల్ చేయండి"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"మల్టీ-విండోలో సైజ్ మార్చలేని వాటిని ఎనేబుల్ చేయండి"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"సైజ్ మార్చలేని యాప్‌లను మల్టీ-విండోలో ఉండేందుకు అనుమతిస్తుంది"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"ఫోర్స్‌-డార్క్‌ను ఓవర్‌రైడ్ చేయడం"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"మొబైల్ డేటా"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Wi‑Fi ఆఫ్‌లో ఉన్నప్పటికీ, ప‌రిక‌ర ఎక్స్‌పీరియన్స్‌ను మెరుగుప‌ర‌చ‌డానికి యాప్‌లు, సర్వీస్‌లు ఏ సమయంలో అయినా Wi‑Fi నెట్‌వర్క్‌లు ఏమైనా అందుబాటులో ఉన్నాయా అని స్కాన్ చేయగలవు. ఉదాహరణకు లొకేషన్ ఆధారిత ఫీచర్‌లను, సర్వీస్‌లను ఈ విధంగా మెరుగుపరచగలవు. Wi‑Fi స్కానింగ్ సెట్టింగ్‌లలో మీరు ఈ సెట్టింగ్‌ను మార్చవచ్చు."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"మార్చండి"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"కనెక్ట్ చేయబడింది"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"తాత్కాలికంగా కనెక్ట్ చేయబడింది"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"తాత్కాలికంగా <xliff:g id="SUBNAME">%1$s</xliff:g>ను ఉపయోగిస్తున్నారు"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"యాప్‌ను పిన్ చేయడాన్ని ఉపయోగించండి"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"డెవలపర్ ఆప్షన్‌లను ఉపయోగించండి"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"ప్రింట్ సర్వీస్‌ను ఉపయోగించండి"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"మల్టిపుల్ యూజర్‌లను అనుమతించండి"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"యూజర్ స్విచ్‌ను అనుమతించండి"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"అనుమతించు, బహుళ, యూజర్, అనుమతి, అనేకం"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"పలు, యూజర్‌లు, ప్రొఫైళ్లు, వ్యక్తులు, ఖాతాలు, మారడం, చాలా"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"వైర్‌లెస్ డీబగ్గింగ్ ఫీచర్‌ను ఉపయోగించండి"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> ఈ ఫోన్‌కు కనెక్ట్ కావాలనుకుంటోంది.\n\nమీరు ఇంతకు ముందెన్నడూ <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>‌కు కనెక్ట్ కాలేదు."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"కనెక్ట్ చేయవద్దు"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"కనెక్ట్ చేయండి"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE సెట్టింగ్‌లు"</string>
-    <string name="tare_on" msgid="2386073225978684535">"ఆన్‌లో ఉంది"</string>
-    <string name="tare_off" msgid="6305694402929756726">"ఆఫ్‌లో ఉంది"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"ఆటోమేటిక్ సెట్టింగ్‌కు తిరిగి మార్చండి"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"సెట్టింగ్స్ ఆటోమేటిక్ సెట్టింగ్‌గా మారాయి."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"పూర్తిగా ఛార్జ్ అయ్యాక గరిష్ఠ బ్యాలెన్స్"</string>
-    <string name="tare_balances" msgid="731881382594747961">"బ్యాలెన్స్‌లు"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"వినియోగ పరిమితులు"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"ప్రారంభ వినియోగ పరిమితి"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"కనిష్ఠ వినియోగ పరిమితి"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"గరిష్ఠ వినియోగ పరిమితి"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"మోడిఫయర్‌లు"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"చర్యలు (ప్రొడ్యూస్ చేసే ధర)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"చర్యలు (ప్రారంభ ధర)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"ఒక సింగిల్ ఈవెంట్‌కు రివార్డ్‌లు"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"ఈవెంట్ వ్యవధిలో సెకనుకు రివార్డ్‌లు"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"ఒక రోజుకు గరిష్ఠ రివార్డ్‌లు"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"యాప్ ఇన్‌స్టాల్"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"టాప్ యాక్టివిటీ"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"నోటిఫికేషన్‌ను చూశారు"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"నోటిఫికేషన్‌ను 15 నిమిషాలలోపు చూశారు"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"నోటిఫికేషన్ ఇంటరాక్షన్"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"విడ్జెట్ ఇంటరాక్షన్"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"ఇతర యూజర్ ఇంటరాక్షన్"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"గరిష్ఠంగా ప్రారంభమయ్యే పని"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"గరిష్ఠంగా రన్ అవుతోన్న పని"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"ఎక్కువగా ప్రారంభమయ్యే పని"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"ఎక్కువగా రన్ అవుతోన్న పని"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"ఆటోమేటిక్‌గా ప్రారంభించబడే పని"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"ఆటోమేటిక్‌గా రన్ అవుతోన్న పని"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"తక్కువగా ప్రారంభమయ్యే పని"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"తక్కువగా రన్ అవుతోన్న పని"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"కనిష్ఠంగా ప్రారంభమయ్యే పని"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"కనిష్ఠంగా రన్ అవుతోన్న పని"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"పని గడువు ముగింపు పెనాల్టీ"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"పూర్తిగా ఛార్జ్ అయ్యాక కనీస బ్యాలెన్స్ (మినహాయించబడినవి)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"పూర్తిగా ఛార్జ్ అయ్యాక కనీస బ్యాలెన్స్ (హెడ్‌లెస్ సిస్టమ్ యాప్)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"పూర్తిగా ఛార్జ్ అయ్యాక కనీస బ్యాలెన్స్ (మిగిలిన యాప్‌లు)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"పూర్తిగా ఛార్జ్ అయ్యాక కనీస బ్యాలెన్స్ (యాప్ అప్‌డేటర్‌లు)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"ఛార్జ్ అవుతోంది"</item>
-    <item msgid="658627268149681677">"స్లీప్ బ్యాటరీ సేవింగ్"</item>
-    <item msgid="1599558140284643834">"పవర్ సేవ్ మోడ్"</item>
-    <item msgid="588427840913221601">"ప్రాసెస్ స్థితి"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"నిర్ధారించండి"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"ప్రివ్యూ చేయండి"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"స్క్రీన్ సేవర్‌ను ఎంచుకోండి"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"అదనపు సమాచారాన్ని చూపించండి"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"మీ టాబ్లెట్ డాక్ చేయబడినప్పుడు మీ స్క్రీన్‌పై మీకు ఏమి కనిపించాలో ఎంచుకోండి. స్క్రీన్ సేవర్‌ను ఉపయోగించినప్పుడు మీ పరికరం మరింత పవర్‌ను ఉపయోగించవచ్చు."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"అనుకూలంగా మార్చండి"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>‌ను అనుకూలంగా మార్చండి"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"ఫ్రీఫారమ్ సపోర్ట్‌ను ఎనేబుల్ చేయడానికి రీబూట్ చేయడం అవసరం."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"ద్వితీయ డిస్‌ప్లేలలో డెస్క్‌టాప్ మోడ్‌ను బలవంతంగా ఆన్ చేయడానికి రీబూట్ చేయడం అవసరం."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"ఫ్రీఫారమ్ విండో సపోర్ట్‌ను ఎనేబుల్ చేయడానికి రీబూట్ చేయడం అవసరం."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"ఫ్రీఫార్మ్ విండోల లభ్యతను అప్‌డేట్ చేయడానికి రీబూట్ చేయడం అవసరం."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"ఫ్రీఫార్మ్ విండోలను ప్రత్యామ్నాయ డిస్‌ప్లేలలో ఎనేబుల్ చేయడానికి రీబూట్ చేయడం అవసరం."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"ఇప్పుడే రీబూట్ చేయండి"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"తర్వాత రీబూట్ చేయండి"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"స్పేషియల్ ఆడియో"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"గులాబీ రంగు"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"మెజెంటా రంగు"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"ఊదా రంగు"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"పూర్తయింది"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"సేవ్ చేయండి"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"రద్దు చేయండి"</string>
     <string name="contrast_default" msgid="8918545965525226966">"ఆటోమేటిక్ సెట్టింగ్"</string>
     <string name="contrast_medium" msgid="384414510709285811">"మధ్యస్థం"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"ఆన్‌లో ఉంది"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"ఆఫ్‌లో ఉంది"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"ఆన్‌లో ఉంది"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"ఆడియో %1$d%% ఎడమ వైపు, %2$d%% కుడి వైపు"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"ఆడియో %1$d%% కుడి వైపు, %2$d%% ఎడమ వైపు"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"మీరు ఇన్‌స్టాల్ చేసిన యాప్‌లకు మీ పరికరం పేరు కనిపిస్తుంది. మీరు బ్లూటూత్ పరికరాలకు కనెక్ట్ చేసినప్పుడు, Wi-Fi నెట్‌వర్క్‌కు కనెక్ట్ చేసినప్పుడు లేదా Wi-Fi హాట్‌స్పాట్‌ను సెటప్ చేసినప్పుడు ఇతర వ్యక్తులకు కూడా కనబడవచ్చు."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"వ్యాకరణ లింగం"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"వ్యాకరణ లింగం ఎంచుకోండి"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"ఆడియో షేరింగ్ నిలిపివేయడం జరిగింది"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"అనుకూల పరికరాన్ని (కంపాటిబుల్ డివైజ్‌ను) కనెక్ట్ చేయండి"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"ఆడియోను షేర్ చేయడానికి, ముందుగా మీ ఫోన్‌కు LE ఆడియో హెడ్‌ఫోన్స్‌ను కనెక్ట్ చేయండి"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>‌కు స్విచ్ అవ్వండి"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"LE ఆడియో స్ట్రీమ్‌కు కనెక్ట్ చేయండి"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"సమీప ఆడియో స్ట్రీమ్‌లు"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"ఆడియో స్ట్రీమ్‌లు"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"స్ట్రీమ్ వినండి"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>‌తో వినడానికి ఆడియో స్ట్రీమ్ QR కోడ్‌ను స్కాన్ చేయండి"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"షేర్ చేస్తున్నప్పుడు పాస్‌వర్డ్‌ను ఎడిట్ చేయడం సాధ్యం కాదు. పాస్‌వర్డ్ మార్చడానికి, ముందుగా ఆడియో షేరింగ్‌ను ఆఫ్ చేయండి."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR కోడ్ స్కానర్"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"సహాయం కావాలా?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"సెట్టింగ్‌లలో సెర్చ్ చేయండి"</string>
 </resources>
diff --git a/res/values-th/arrays.xml b/res/values-th/arrays.xml
index 9adb943..3d5a22f 100644
--- a/res/values-th/arrays.xml
+++ b/res/values-th/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"เวลาเข้านอน"</item>
-    <item msgid="4152450357280759894">"การขับขี่"</item>
-    <item msgid="7096549258219399423">"สมจริง"</item>
-    <item msgid="2760716776980432977">"ที่มีการจัดการ"</item>
-    <item msgid="601734478369121764">"ดาว"</item>
-    <item msgid="6243809315432780521">"ปฏิทิน"</item>
-    <item msgid="4913577903148415331">"เวลา"</item>
-    <item msgid="3653377604690057780">"ละครเวที"</item>
-    <item msgid="3843711267408385410">"ดอกไม้"</item>
+    <item msgid="1216815120972438676">"กระเป๋าเอกสาร"</item>
+    <item msgid="184985872234062767">"อาคารคลาสสิก"</item>
+    <item msgid="9189550412466785530">"อาคารอพาร์ตเมนต์"</item>
+    <item msgid="2142527562511049422">"ลูกโป่งคำพูด"</item>
+    <item msgid="2548100558260478605">"กลุ่มคน"</item>
+    <item msgid="2270003903304578284">"หลอดไฟ"</item>
+    <item msgid="4793496619091161864">"ปฏิทิน"</item>
+    <item msgid="5673625795644364100">"ห้ามรบกวน"</item>
+    <item msgid="1423820834865831361">"คนกำลังวิ่ง"</item>
+    <item msgid="2037298830718732608">"กอล์ฟ"</item>
+    <item msgid="2197835014443491074">"ดัมเบลล์ในยิม"</item>
+    <item msgid="2730180105015616518">"ว่ายน้ำ"</item>
+    <item msgid="2666922823253345958">"คนกำลังปีนเขา"</item>
+    <item msgid="8234880356472211396">"คนขว้างบอล"</item>
+    <item msgid="4642980625253001443">"คนทำท่าเตะ"</item>
+    <item msgid="4324795269518833500">"เกมคอนโทรลเลอร์"</item>
+    <item msgid="7789966425125441125">"จานสีของศิลปิน"</item>
+    <item msgid="663512680597461570">"เกล็ดหิมะ"</item>
+    <item msgid="7952183800501346803">"ร่มชายหาด"</item>
+    <item msgid="799139025758265891">"เครื่องมือเวิร์กช็อป"</item>
+    <item msgid="1330084588359129896">"เต็นท์"</item>
+    <item msgid="3861584909935022342">"ม้วนฟิล์ม"</item>
+    <item msgid="5827426100157335512">"หนังสือ"</item>
+    <item msgid="8585828346253128384">"ดอกบัว"</item>
+    <item msgid="8788370542815300188">"คนกำลังครุ่นคิด"</item>
+    <item msgid="7287354964767553293">"หูฟัง"</item>
+    <item msgid="2530059623783800987">"ทีวี"</item>
+    <item msgid="5307182323469376758">"รถไฟ"</item>
+    <item msgid="4903790544026923026">"รถยนต์"</item>
+    <item msgid="5010405583912314582">"ส้อมและมีด"</item>
+    <item msgid="8939998598599064900">"รถเข็นสินค้า"</item>
+    <item msgid="3379605903308731893">"บุตร"</item>
+    <item msgid="7808668968550293112">"อุ้งเท้าสัตว์"</item>
+    <item msgid="1000692647524056504">"ป้ายดาว"</item>
+    <item msgid="8270261073421676502">"คน 2 คน"</item>
+    <item msgid="5767782819651505460">"ดาว"</item>
+    <item msgid="4368451291862729334">"หัวใจ"</item>
+    <item msgid="2613199102208419986">"บ้าน"</item>
+    <item msgid="3022279986430275040">"พระจันทร์ครึ่งดวง"</item>
+    <item msgid="5421089790869483206">"นาฬิกา"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 26d79d5..d1380be 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"ระงับไว้"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"ไม่ทราบ"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"ดูตัวอย่าง"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"คิวอาร์โค้ด"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"ทำให้เล็กลง"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"ทำให้ใหญ่ขึ้น"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"เสมอ"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"การตั้งค่าเครื่องช่วยฟัง"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"ทางลัด ความเข้ากันได้กับเครื่องช่วยฟัง"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"ค่าที่กำหนดล่วงหน้า"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"ไม่มีค่าที่กำหนดล่วงหน้าที่นักโสตสัมผัสวิทยาตั้งโปรแกรมไว้"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"ไม่สามารถอัปเดตค่าที่กำหนดล่วงหน้า"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"เอาต์พุตเสียง"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"เกี่ยวกับเอาต์พุตเสียง"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"การเลือกภาษาสำหรับแอปนี้ไม่พร้อมให้ใช้งานจากการตั้งค่า"</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"ภาษาอาจแตกต่างจากที่ให้บริการในแอป บางแอปอาจไม่รองรับการตั้งค่านี้"</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"ตั้งค่าภาษาในแต่ละแอป"</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"ระบบ แอป และเว็บไซต์จะใช้ภาษาแรกที่รองรับจากภาษาที่คุณต้องการ"</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"อุปกรณ์ แอป และเว็บไซต์จะใช้ภาษาแรกที่รองรับจากรายการภาษาที่คุณต้องการ\n\nแอปจำนวนมากจะใช้ภูมิภาคจากภาษาที่คุณต้องการเพื่อจัดรูปแบบวันที่ ตัวเลข และหน่วยต่างๆ ด้วย หากต้องการเปลี่ยนภูมิภาค ให้เพิ่มภาษาแล้วเลือกภูมิภาคที่ต้องการ"</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"หากต้องการเลือกภาษาของแต่ละแอป ให้ไปที่การตั้งค่าภาษาของแอป"</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"ดูข้อมูลเพิ่มเติมเกี่ยวกับภาษาของแอป"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"เปลี่ยนภาษาของระบบเป็นภาษา %s ไหม"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"ปิด"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{เปิดอยู่/แอป # แอปมีสิทธิ์เข้าถึงตำแหน่ง}other{เปิดอยู่/แอป # แอปมีสิทธิ์เข้าถึงตำแหน่ง}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"กำลังโหลด…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"แอปที่มีสิทธิ์เข้าถึงอุปกรณ์ที่อยู่ใกล้เคียงจะสามารถระบุตำแหน่งซึ่งสัมพันธ์กับอุปกรณ์ที่เชื่อมต่อ"</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"แอปที่มีสิทธิ์เข้าถึงอุปกรณ์ที่อยู่ใกล้เคียงจะสามารถระบุตำแหน่งซึ่งสัมพันธ์กับอุปกรณ์ที่เชื่อมต่อได้"</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"สิทธิ์เข้าถึงตำแหน่งปิดอยู่สำหรับแอปและบริการต่างๆ ระบบอาจยังส่งตำแหน่งของอุปกรณ์ไปให้หน่วยกู้ภัยฉุกเฉินเมื่อคุณโทรหาหรือส่ง SMS ถึงหมายเลขฉุกเฉิน"</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"ดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าตำแหน่ง"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"หากต้องการเปลี่ยน ให้ไปที่การตั้งค่า ChromeOS &gt; ความเป็นส่วนตัวและความปลอดภัย &gt; การควบคุมความเป็นส่วนตัว &gt; การเข้าถึงตำแหน่ง"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"เพิ่มใบหน้าและ<xliff:g id="WATCH">%s</xliff:g> แล้ว"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"เพิ่มใบหน้า ลายนิ้วมือ และ<xliff:g id="WATCH">%s</xliff:g> แล้ว"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"เพิ่มใบหน้า ลายนิ้วมือ และ<xliff:g id="WATCH">%s</xliff:g> แล้ว"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"การตรวจสอบตัวตนเปิดอยู่และต้องใช้ข้อมูลไบโอเมตริก"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"การปลดล็อก Remote Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"เพิ่มนาฬิกาแล้ว"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"ตั้งค่านาฬิกา"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"ดูข้อมูลเพิ่มเติมเกี่ยวกับการปลดล็อกด้วยนาฬิกา"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"เพิ่มนาฬิกา"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"นำนาฬิกาออก"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"การปลดล็อกด้วยลายนิ้วมือและใบหน้า"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"การปลดล็อกด้วยใบหน้าและลายนิ้วมือ"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"การปลดล็อกด้วยใบหน้าและลายนิ้วมือสำหรับงาน"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ต้องตั้งค่า"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"เพิ่มใบหน้าและลายนิ้วมือแล้ว"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"กำลังตั้งค่าพื้นที่ส่วนตัว…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"ตั้งค่าพื้นที่ส่วนตัวไม่ได้"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"ลองอีกครั้ง"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"ออก"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"พื้นที่ส่วนตัวไม่พร้อมใช้งาน\nดูสาเหตุที่เป็นไปได้"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"ดูสาเหตุที่เป็นไปได้"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"เลือกการล็อกใหม่สำหรับพื้นที่ส่วนตัวไหม"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"คุณจะตั้งค่าการล็อกใหม่สำหรับพื้นที่ส่วนตัวโดยเฉพาะ หรือจะใช้การล็อกเดียวกับที่ใช้ปลดล็อกอุปกรณ์ก็ได้"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"ใช้การล็อกหน้าจอ"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"เมื่อเปิดบลูทูธ อุปกรณ์ของคุณจะสื่อสารกับอุปกรณ์บลูทูธเครื่องอื่นในบริเวณใกล้เคียงได้\n\nแอปและบริการต่างๆ จะยังคงสแกนหาอุปกรณ์ที่อยู่ใกล้เคียงได้ทุกเมื่อแม้บลูทูธจะปิดอยู่เพื่อปรับปรุงประสบการณ์การใช้งานอุปกรณ์ การตั้งค่านี้ใช้เพื่อทำสิ่งต่างๆ เช่น ปรับปรุงฟีเจอร์และบริการที่อิงตามตำแหน่ง คุณเปลี่ยนตัวเลือกนี้ได้ในการตั้งค่าการสแกนหาบลูทูธ"</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"เมื่อเปิดบลูทูธ อุปกรณ์ของคุณจะสื่อสารกับอุปกรณ์บลูทูธเครื่องอื่นในบริเวณใกล้เคียงได้ ฟีเจอร์ต่างๆ เช่น Quick Share และ \"หาอุปกรณ์ของฉัน\" ใช้บลูทูธ\n\nแอปและบริการต่างๆ จะยังคงสแกนหาอุปกรณ์ที่อยู่ใกล้เคียงได้ทุกเมื่อแม้บลูทูธจะปิดอยู่ การตั้งค่านี้ใช้เพื่อทำสิ่งต่างๆ เช่น ปรับปรุงฟีเจอร์และบริการที่อิงตามตำแหน่ง คุณเปลี่ยนตัวเลือกนี้ได้ในการตั้งค่าการสแกนหาบลูทูธ"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"เปลี่ยน"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ไม่ได้เชื่อมต่อ"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"เพื่อความปลอดภัย โปรดเลิกจำอุปกรณ์นี้แล้วจับคู่อีกครั้ง"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"เลิกจำอุปกรณ์"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"ยกเลิก"</string>
     <string name="device_details_title" msgid="1155622417516195481">"รายละเอียดอุปกรณ์"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"การตั้งค่าแป้นพิมพ์"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"การตั้งค่าเพิ่มเติม"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"การอัปเดตเฟิร์มแวร์ เกี่ยวกับ และอื่นๆ"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"เคล็ดลับและการสนับสนุน"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"ที่อยู่บลูทูธของอุปกรณ์: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"ที่อยู่บลูทูธของอุปกรณ์: \n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"ไม่จำอุปกรณ์ใช่ไหม"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"ทดลอง ปรับปรุงคุณภาพเสียง"</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"ไม่จำอุปกรณ์"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"ยกเลิกการเชื่อมต่อแอป"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"การตั้งค่าเพิ่มเติม"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"จำนวนอุปกรณ์เสียงบลูทูธที่เชื่อมต่อสูงสุด"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"เลือกจำนวนสูงสุดสำหรับอุปกรณ์เสียงบลูทูธที่เชื่อมต่อ"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"บันทึกการแก้ไขข้อบกพร่องเกี่ยวกับเวนเดอร์แบบละเอียดของ NFC"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"รีสตาร์ทอุปกรณ์ใช่ไหม"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"การบันทึกรายละเอียดของ NFC มีไว้เพื่อการพัฒนาเท่านั้น ข้อมูลเพิ่มเติมของ NFC จะรวมอยู่ในรายงานข้อบกพร่อง ซึ่งอาจมีข้อมูลส่วนตัว รีสตาร์ทอุปกรณ์เพื่อเปลี่ยนการตั้งค่านี้"</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"รีสตาร์ท"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"เปิด"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"ปิด"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"จอแสดงผลภายนอก"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"ใช้จอแสดงผลภายนอก"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"ความละเอียดของจอแสดงผล"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"ยกเลิกการเชื่อมต่อกับจอแสดงผลภายนอกแล้ว"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"การหมุน"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"มาตรฐาน"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"การเปลี่ยนการหมุนหรือความละเอียดอาจหยุดแอปที่กำลังทำงานอยู่"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"อุปกรณ์ของคุณต้องเชื่อมต่อกับจอแสดงผลภายนอกเพื่อมิเรอร์หน้าจอ"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"ตัวเลือกเพิ่มเติม"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"แคสต์"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"มิเรอร์"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"เปิดใช้การแสดงผลแบบไร้สาย"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"ปรับอัตโนมัติ"</string>
     <string name="brightness" msgid="6216871641021779698">"ระดับความสว่าง"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"ปรับความสว่างอัตโนมัติ"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"เกี่ยวกับฟีเจอร์ปรับความสว่างอัตโนมัติ"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"ความสว่างของหน้าจอจะปรับให้เหมาะสมกับสภาพแวดล้อมและกิจกรรมที่คุณทำโดยอัตโนมัติ คุณเลื่อนแถบเลื่อนด้วยตนเองได้เพื่อช่วยให้การปรับความสว่างอัตโนมัติทราบความสว่างที่คุณต้องการ"</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"เปิด"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"ปิด"</string>
@@ -1311,8 +1340,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="8850185380445309835">"อัปเดตซิมที่ต้องการไหม"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> เป็นซิมเดียวที่อยู่ในอุปกรณ์ของคุณ คุณต้องการใช้ซิมนี้เพื่อใช้อินเทอร์เน็ตมือถือ โทรออก และส่งข้อความ SMS หรือไม่"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> เป็นซิมหลักของคุณแล้วตอนนี้"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"ปรับปรุงอินเทอร์เน็ตมือถือไหม"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"อนุญาตให้อุปกรณ์เปลี่ยนไปใช้อินเทอร์เน็ตมือถือของ <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> โดยอัตโนมัติเมื่อมีความพร้อมมากกว่า"</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"องค์กรของคุณอาจเห็นการโทร ข้อความ และการจราจรของข้อมูลในเครือข่าย"</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"ตัวเลือก"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"การช่วยเหลือพิเศษ"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"แป้นพิมพ์จริง"</string>
-    <string name="show_ime" msgid="4334255501724746849">"ใช้แป้นพิมพ์บนหน้าจอ"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"เปิดทิ้งไว้บนหน้าจอในระหว่างใช้งานแป้นพิมพ์จริง"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"คีย์ตีกลับ"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"แป้นพิมพ์จะละเว้นการกดปุ่มเดียวกันซ้ำๆ อย่างรวดเร็วภายใน <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> มิลลิวินาที"</string>
     <string name="slow_keys" msgid="2891452895499690837">"เพิ่มระยะเวลาในการกดปุ่ม"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"ปรับเวลาที่ใช้ในการกดปุ่มเพื่อเปิดใช้เป็น <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> มิลลิวินาที"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"คีย์ติดหนึบ"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"กดทีละปุ่มเพื่อใช้แป้นพิมพ์ลัดแทนการกดปุ่มค้างไว้พร้อมกัน"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"แป้นเมาส์"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"ใช้แป้นพิมพ์จริงเพื่อควบคุมเมาส์"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"แป้นพิมพ์ลัด"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"แสดงรายการแป้นพิมพ์ลัด"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"แป้นพิมพ์และเครื่องมือของโปรไฟล์งาน"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"ปรับแต่งท่าทางสัมผัสการนำทางแต่ละแบบของทัชแพด"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"การเลื่อนย้อนกลับ"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"เนื้อหาจะเลื่อนขึ้นเมื่อคุณเลื่อนลง"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"แตะด้านล่างขวา"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"แตะที่มุมล่างขวาของทัชแพดเพื่อดูตัวเลือกเพิ่มเติม"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"คลิกด้านขวาล่าง"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"คลิกที่มุมขวาล่างของทัชแพดเพื่อดูตัวเลือกเพิ่มเติม"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"ความเร็วของตัวชี้"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"รูปแบบการเติมพื้นตัวชี้"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"เปลี่ยนรูปแบบการเติมพื้นตัวชี้เป็นสีดำ"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"เปลี่ยนรูปแบบการเติมพื้นตัวชี้เป็นสีเหลือง"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"เปลี่ยนรูปแบบการเติมพื้นตัวชี้เป็นสีชมพู"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"เปลี่ยนรูปแบบการเติมพื้นตัวชี้เป็นสีน้ำเงิน"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"รูปแบบเส้นตัวชี้"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"ขาว"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"ดำ"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"ไม่มี"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"เรียนรู้ท่าทางสัมผัสของทัชแพด"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"แทร็กแพด, แทร็ก แพด, เมาส์, เคอร์เซอร์, เลื่อน, ปัด, คลิกขวา, คลิก, Pointer"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"คลิกขวา แตะ"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"รีเซ็ต"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"เลือกแป้นกดร่วม"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"เลือกคีย์ใหม่สำหรับ <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"การช่วยเหลือพิเศษด้วยแป้นพิมพ์จริง"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"คีย์ติดหนึบ คีย์ตีกลับ แป้นเมาส์"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"เลย์เอาต์ <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ค่าเริ่มต้น"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"อัตโนมัติ: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"ผู้ใช้เลือก: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"เสียงพูด"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"ความเร็วของตัวชี้"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"ขนาดของตัวชี้"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"ลดขนาดของตัวชี้"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"เพิ่มขนาดของตัวชี้"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"อุปกรณ์ควบคุมเกม"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"เปลี่ยนเส้นทางการสั่น"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"ส่งการสั่นเตือนไปที่อุปกรณ์ควบคุมเกมเมื่อมีการเชื่อมต่อ"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"ดำเนินการต่อ"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"ยกเลิก"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"การตั้งค่าการขยาย"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"การแพนกล้องด้วยนิ้วเดียว"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"ย้ายแว่นขยายด้วย 1 นิ้ว"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"ใช้ 1 นิ้วลากเพื่อย้ายไปรอบๆ หน้าจอ"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"ย้ายพื้นที่ในการขยายโดยลากนิ้วเพียงนิ้วเดียว"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"ย้ายพื้นที่ในการขยายโดยลากนิ้ว 2 นิ้ว"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"ไม่พร้อมใช้งานในขณะที่ขยายเพียงบางส่วนของหน้าจอ"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"แตะปุ่มเพื่อซูม"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"ซูมเข้าอย่างรวดเร็วบนหน้าจอเพื่อทำให้เนื้อหาใหญ่ขึ้น"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;วิธีซูมเข้า&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ใช้ทางลัดเพื่อเริ่มการขยาย&lt;br/&gt; {1,number,integer}. แตะหน้าจอ&lt;br/&gt; {2,number,integer}. ใช้ 2 นิ้วลากเพื่อย้ายไปรอบๆ หน้าจอ&lt;br/&gt; {3,number,integer}. บีบ 2 นิ้วเพื่อปรับการซูม&lt;br/&gt; {4,number,integer}. ใช้ทางลัดเพื่อหยุดการขยาย&lt;br/&gt;&lt;br/&gt; &lt;b&gt;วิธีซูมเข้าชั่วคราว&lt;/b&gt;&lt;br/&gt; {0,number,integer}. ตรวจสอบว่าตั้งค่าประเภทการขยายเป็นแบบเต็มหน้าจอ&lt;br/&gt; {1,number,integer}. ใช้ทางลัดเพื่อเริ่มการขยาย&lt;br/&gt; {2,number,integer}. แตะที่ใดก็ได้บนหน้าจอค้างไว้&lt;br/&gt; {3,number,integer}. ลากนิ้วเพื่อย้ายไปรอบๆ หน้าจอ&lt;br/&gt; {4,number,integer}. ยกนิ้วขึ้นเพื่อหยุดการขยาย"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;วิธีซูมเข้า&lt;/b&gt;&lt;br/&gt; {0,number,integer} ใช้ทางลัดเพื่อเริ่มการขยาย&lt;br/&gt; {1,number,integer} แตะหน้าจอ&lt;br/&gt; {2,number,integer} ใช้ 2 นิ้วลากเพื่อย้ายไปรอบๆ หน้าจอ&lt;br/&gt; {3,number,integer} บีบ 2 นิ้วเพื่อปรับการซูม&lt;br/&gt; {4,number,integer} ใช้ทางลัดเพื่อหยุดใช้งานการขยาย&lt;br/&gt;&lt;br/&gt; คุณยังซูมเข้าชั่วคราวและอื่นๆ ได้ด้วย"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;วิธีซูมเข้า&lt;/b&gt;&lt;br/&gt; {0,number,integer} ใช้ทางลัดเพื่อเริ่มการขยาย&lt;br/&gt; {1,number,integer} แตะหน้าจอ&lt;br/&gt; {2,number,integer} ใช้ 1 หรือ 2 นิ้วลากเพื่อย้ายไปรอบๆ หน้าจอ&lt;br/&gt; {3,number,integer}. บีบ 2 นิ้วเพื่อปรับการซูม&lt;br/&gt; {4,number,integer} ใช้ทางลัดเพื่อหยุดใช้งานการขยาย&lt;br/&gt;&lt;br/&gt; คุณยังซูมเข้าชั่วคราวและอื่นๆ ได้ด้วย"</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_pager" msgid="8461939455728454061">"หน้า <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> จาก <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"ทางลัดปุ่มการช่วยเหลือพิเศษ"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"แตะปุ่มแบบลอย"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"ท่าทางสัมผัสการช่วยเหลือพิเศษ"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"แตะปุ่มการช่วยเหลือพิเศษ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ที่ด้านล่างของหน้าจอ หากต้องการสลับระหว่างฟีเจอร์ต่างๆ ให้แตะปุ่มการช่วยเหลือพิเศษค้างไว้"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"ใช้ 2 นิ้วปัดขึ้นจากด้านล่างของหน้าจอ\n\nหากต้องการสลับระหว่างฟีเจอร์ต่างๆ ให้ใช้ 2 นิ้วปัดขึ้นแล้วค้างไว้"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"ใช้ 3 นิ้วเลื่อนขึ้นจากด้านล่างของหน้าจอ\n\nหากต้องการสลับระหว่างฟีเจอร์ต่างๆ ให้ใช้ 3 นิ้วเลื่อนขึ้นแล้วค้างไว้"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{ปัดขึ้นจากด้านล่างของหน้าจอ หากต้องการสลับระหว่างฟีเจอร์ต่างๆ ให้ปัดขึ้นแล้วค้างไว้}other{ใช้ # นิ้วปัดขึ้นจากด้านล่างของหน้าจอ หากต้องการสลับระหว่างฟีเจอร์ต่างๆ ให้ใช้ # นิ้วปัดขึ้นแล้วค้างไว้}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"ตัวเลือกเพิ่มเติม"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"ดูข้อมูลเพิ่มเติมเกี่ยวกับ<xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"ปุ่มปรับระดับเสียง"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"ปุ่มปรับระดับเสียง"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"กดปุ่มปรับระดับเสียงทั้ง 2 ปุ่มค้างไว้"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"ใช้ 2 นิ้วแตะสองครั้งบนหน้าจอ"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"ใช้ %1$d นิ้วแตะสองครั้ง"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"ใช้ %1$d นิ้วแตะหน้าจอเร็วๆ 2 ครั้ง"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"แตะสามครั้ง"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"แตะหน้าจอเร็วๆ %1$d ครั้ง การดำเนินการนี้อาจทําให้​อุปu00AD­กรณ์ทํางานช้าลง"</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"ใช้ %1$d นิ้วแตะสองครั้ง"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"ใช้ 2 นิ้วแตะหน้าจอ {0,number,integer} ครั้งเร็วๆ"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"แตะหน้าจอ 3 ครั้ง"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"แตะสามครั้ง"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"แตะหน้าจอเร็วๆ {0,number,integer} ครั้ง ทางลัดนี้อาจทำให้อุปกรณ์ทำงานช้าลง"</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_global_gesture_preference_title" msgid="8866765674372344850">"ทางลัดปุ่มปรับระดับเสียง"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"การตั้งค่าทางลัด"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"ทางลัดจากหน้าจอล็อก"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"ทางลัดปุ่มปรับระดับเสียงจากหน้าจอล็อก"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"อนุญาตให้ทางลัดฟีเจอร์เปิดขึ้นจากหน้าจอล็อก กดปุ่มปรับระดับเสียงทั้ง 2 ปุ่มค้างไว้ 2-3 วินาที"</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"ปุ่มการช่วยเหลือพิเศษ"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"ปุ่มและท่าทางสัมผัสการช่วยเหลือพิเศษ"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"บริการนี้ทำงานผิดปกติ"</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"ทางลัดสำหรับการช่วยเหลือพิเศษ"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"แสดงในการตั้งค่าด่วน"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"สีแดง/เขียว"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"สีแดง/เขียว"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"สีแดง-เขียว เห็นสีเขียวได้น้อย"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"สีแดง-เขียว เห็นสีแดงได้น้อย"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"สีน้ำเงิน/เหลือง"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"โทนสีเทา"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"ความเข้ม"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"เห็นสีเขียวได้น้อย ตาบอดสีเขียว"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"เห็นสีแดงได้น้อย ตาบอดสีแดง"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"ใช้งานไม่ได้ในโหมดโทนสีเทาหรือเมื่อปิดใช้การแก้สี"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"หรี่แสงเพิ่มเติม"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"หรี่แสงหน้าจอเพิ่มเติม"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"ฟ้า"</string>
     <string name="color_yellow" msgid="5957551912912679058">"เหลือง"</string>
     <string name="color_magenta" msgid="8943538189219528423">"ม่วงแดง"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"อนุญาตให้ \"<xliff:g id="SERVICE">%1$s</xliff:g>\" ควบคุมอุปกรณ์อย่างเต็มที่ไหม"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> ต้องการที่จะ"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"เนื่องจากแอปหนึ่งได้บดบังคำขอสิทธิ์ ระบบจึงไม่สามารถยืนยันคำตอบของคุณสำหรับการตั้งค่าได้"</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> กำลังขอควบคุมอุปกรณ์นี้โดยสมบูรณ์ บริการนี้จะอ่านหน้าจอและดำเนินการในนามของผู้ใช้ที่ต้องการการช่วยเหลือพิเศษได้ การควบคุมระดับนี้ไม่เหมาะสำหรับแอปส่วนใหญ่"</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"การควบคุมอย่างเต็มที่เหมาะสำหรับแอปเกี่ยวกับความช่วยเหลือพิเศษ แต่ไม่เหมาะสำหรับ​แอปส่วนใหญ่"</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"ดูและควบคุมหน้าจอ"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"การควบคุมนี้สามารถอ่านเนื้อหาทั้งหมดบนหน้าจอและแสดงเนื้อหาทับแอปอื่นๆ"</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"ดูและดำเนินการ"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"การควบคุมนี้สามารถติดตามการโต้ตอบของคุณกับแอปหรือกับเซ็นเซอร์ของฮาร์ดแวร์ และโต้ตอบกับแอปต่างๆ แทนคุณ"</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"อนุญาต"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"ปฏิเสธ"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"ปิด"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"เปิด/<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g>และ<xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"คุณยังเปิดเสียงรอบทิศทางสำหรับอุปกรณ์บลูทูธได้ด้วย"</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"การตั้งค่าอุปกรณ์ที่เชื่อมต่อ"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"เสียงรอบทิศทาง"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"ปิด"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"ปิด"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"ปิด"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{ไม่มี}=1{ตั้งกำหนดการแล้ว 1 รายการ}other{ตั้งกำหนดการแล้ว # รายการ}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"ห้ามรบกวน"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"โหมดสำคัญ"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"เพิ่มโหมด"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"โหมด"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"ลดสิ่งรบกวนและมีสมาธิอยู่กับสิ่งที่คุณสนใจด้วยโหมดสำหรับการนอนหลับ การทำงาน การขับรถ และอื่นๆ"</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"สร้างโหมดของคุณเอง"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"รับเฉพาะการแจ้งเตือนจากผู้คนและแอปที่สำคัญ"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"ตั้งกำหนดเวลา"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"กำหนดเวลาตาม"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"วันและเวลา"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"09:00-17:00 น. วันธรรมดา\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"กิจกรรมในปฏิทิน"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} ทำงานอยู่}=2{{mode_1} และ {mode_2} ทำงานอยู่}=3{{mode_1}, {mode_2} และ {mode_3} ทำงานอยู่}other{{mode_1}, {mode_2} และอีก # โหมดทำงานอยู่}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 โหมดสามารถเปิดได้โดยอัตโนมัติ}other{# โหมดสามารถเปิดได้โดยอัตโนมัติ}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"เปิด"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"ไม่ได้ตั้งค่า"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"ปิดอยู่"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"สร้างโหมด"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"กำหนดเอง"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"เปิดเลย"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"ปิด"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"ไม่พบโหมด"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"จำกัดการรบกวน"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"บล็อกการรบกวนและสิ่งที่จะทำให้เสียสมาธิ"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"ตั้งค่า <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"เปิด \"ห้ามรบกวน\""</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"ให้เสียงของการแจ้งเตือนและสื่อรบกวนได้"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"กำหนดการ"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"ลบกำหนดการ"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"ลบ"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"เปลี่ยนชื่อ"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"ลบ"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"ลบโหมด \"<xliff:g id="MODE">%1$s</xliff:g>\" ไหม"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"แก้ไข"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"กำหนดการ"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"กำหนดการ"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"เปิดอัตโนมัติ"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"เพิ่มปฏิทิน"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"ใช้ปฏิทินของคุณ"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"กำหนดเวลา"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"ตั้งกำหนดเวลา"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"เวลาที่ต้องการให้เปิดอัตโนมัติ"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"กำหนดการของกิจกรรม"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"เปิดในระหว่างกิจกรรมสำหรับ"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"เมื่อการตอบกลับคำเชิญเป็น"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"กำหนดเวลา"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"กำหนดเวลา"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ชั่วโมง <xliff:g id="MINUTES">%2$d</xliff:g> นาที"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"กำหนดการ"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"อนุญาตการรบกวนที่มีเสียง"</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="mode_interruption_filter_title" msgid="6657431939996264417">"การแจ้งเตือนที่ส่งถึงคุณได้"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"การทำงานเพิ่มเติม"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"ตัวกรองการแจ้งเตือน"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"การตั้งค่าเพิ่มเติม"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{ปิด}=1{ปิด/1 โหมดสามารถเปิดได้โดยอัตโนมัติ}other{ปิด/# โหมดสามารถเปิดได้โดยอัตโนมัติ}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"การตั้งค่าการแสดงผล"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"ตัวเลือกการแสดงผล"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"โทนสีเทา"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"เปิดใช้ธีมมืด"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"สลับระบบปฏิบัติการและแอปเพื่อให้ได้ข้อความสีอ่อนและพื้นหลังสีเข้มตามที่ต้องการ ซึ่งอาจสบายตากว่ารวมถึงประหยัดแบตเตอรี่ได้อย่างมากในอุปกรณ์บางเครื่อง"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{ไม่มีการเปลี่ยนแปลงการแสดงผล}=1{{effect_1}}=2{{effect_1} และ {effect_2}}=3{{effect_1}, {effect_2} และ {effect_3}}other{{effect_1}, {effect_2} และอีก # รายการ}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"อนุญาตการแจ้งเตือนทั้งหมด"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"ให้ผู้คน แอป และเสียงรบกวนได้"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ตัวเลือกการแสดงผลสำหรับการแจ้งเตือนที่กรอง"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"เมื่อเปิดโหมดห้ามรบกวน"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"ไม่มีเสียงเวลาแจ้งเตือน"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"เปิดการแจ้งเตือน"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"อนุญาตให้เลื่อนการแจ้งเตือน"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"เครื่องหมายจุดแสดงการแจ้งเตือนบนไอคอนแอป"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"กลุ่มการแจ้งเตือน"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"บับเบิล"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"บับเบิล"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"แสดงการสนทนานี้เป็นบับเบิล"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"แอปจะตอบกลับข้อความและดำเนินการกับปุ่มต่างๆ ในการแจ้งเตือนได้ รวมถึงเลื่อนหรือปิดการแจ้งเตือนและรับสาย"</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"เปลี่ยนการตั้งค่า"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"แอปจะเปิดหรือปิดฟีเจอร์ห้ามรบกวนและเปลี่ยนแปลงการตั้งค่าที่เกี่ยวข้องได้"</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"สามารถจัดการและเปิดใช้งานโหมด รวมถึงเปลี่ยนแปลงการตั้งค่าที่เกี่ยวข้องได้"</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_modes_warning_summary" msgid="7528432011433844158">"หากคุณปิดการเข้าถึงการแจ้งเตือนสำหรับ <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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"เรียลไทม์"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"แอปนี้ไม่รองรับการตั้งค่าที่ปรับปรุง"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"การตั้งค่าเพิ่มเติม"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"สามารถใช้งานการตั้งค่าเพิ่มเติมได้ในแอปนี้"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"การแจ้งเตือนแบบปรับอัตโนมัติ"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"ใช้การแจ้งเตือนแบบปรับอัตโนมัติ"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"เมื่อคุณได้รับการแจ้งเตือนจำนวนมากภายในเวลาสั้นๆ โทรศัพท์จะลดเสียงและจำนวนป๊อปอัปบนหน้าจอลงสูงสุด 2 นาที โดยที่การโทร การปลุก และการสนทนาสำคัญจะยังคงสั่น ส่งเสียง หรือแสดงบนหน้าจอ อีกทั้งคุณยังค้นหาการแจ้งเตือนทั้งหมดได้ง่ายๆ เพียงเลื่อนลงจากด้านบนของหน้าจอ"</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"การพักการแจ้งเตือน"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"ใช้การพักการแจ้งเตือน"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"เมื่อคุณได้รับการแจ้งเตือนจำนวนมากภายในเวลาสั้นๆ อุปกรณ์จะลดระดับเสียงและจำนวนการแจ้งเตือนสูงสุด 2 นาที โดยที่การโทร การปลุก และการสนทนาสำคัญจะไม่ได้รับผลกระทบ \n\nดูการแจ้งเตือนที่ได้รับระหว่างระยะเวลาพักได้โดยการดึงลงจากด้านบนของหน้าจอ"</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"ใช้กับโปรไฟล์งาน"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"ใช้กับแอปในโปรไฟล์งาน"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"บริการตัวช่วย VR"</string>
@@ -3650,6 +3709,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"สิทธิ์เข้าถึงโหมด"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"อนุญาตสิทธิ์เข้าถึงโหมด"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"ไม่มีแอปใดที่ติดตั้งไว้ขอเข้าถึงโหมด"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"คุณไม่อนุญาตการแจ้งเตือนจากแอปนี้"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Android กำลังบล็อกไม่ให้การแจ้งเตือนหมวดหมู่นี้ปรากฏในอุปกรณ์นี้ตามที่คุณขอ"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Android กำลังบล็อกไม่ให้การแจ้งเตือนกลุ่มนี้ปรากฏในอุปกรณ์นี้ตามที่คุณขอ"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"หมวดหมู่"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"อื่นๆ"</string>
     <string name="no_channels" msgid="4716199078612071915">"แอปนี้ไม่ได้โพสต์การแจ้งเตือนใดๆ"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"แสดงหมวดหมู่ที่ไม่ได้ใช้"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"การตั้งค่าเพิ่มเติมในแอป"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"แสดงหมวดหมู่ที่ไม่ได้ใช้"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"ซ่อนหมวดหมู่ที่ไม่ได้ใช้"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"การสนทนา"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"การสนทนาทั้งหมด"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"การสนทนาทั้งหมด"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"การสนทนาสำคัญ"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"การสนทนาสำคัญ"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"ไม่มี"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"แอปที่รบกวนคุณได้"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"แอปที่เลือก"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"ไม่มี"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"ทั้งหมด"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{ไม่ให้แอปใดรบกวนเลย}=1{{app_1} รบกวนได้}=2{{app_1} และ {app_2} รบกวนได้}=3{{app_1}, {app_2} และ {app_3} รบกวนได้}other{{app_1}, {app_2} และอีก # แอปรบกวนได้}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (งาน)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"กำลังคำนวณ…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"อนุญาตให้แอปลบล้าง"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"แอปที่รบกวนคุณได้"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"เลือกแอปเพิ่มเติม"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"ไม่ให้อะไรรบกวนเลย"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"ไม่ให้ใครรบกวนเลย"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"ให้รบกวนได้แค่บางคน"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"ผู้โทรซ้ำสามารถรบกวนได้"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"ให้ทุกคนรบกวนได้"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"ผู้โทรซ้ำ"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"อนุญาตผู้โทรซ้ำ"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{เปลี่ยนเป็นเฉพาะปลุกเท่านั้นเป็นเวลา 1 ชั่วโมงจนถึง {time}}other{เปลี่ยนเป็นเฉพาะปลุกเท่านั้นเป็นเวลา # ชั่วโมงจนถึง {time}}}"</string>
     <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_action_change_name" msgid="766639614789907016">"เปลี่ยนชื่อ"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"เปลี่ยนไอคอน"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"เปลี่ยนไอคอน"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"แก้ไขโหมด"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"สร้างโหมด"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"โหมดที่กำหนดเอง"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"ชื่อโหมด"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"กิจกรรมในปฏิทิน"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"กิจวัตรเข้านอน"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"ขณะขับรถ"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"การตั้งค่าแอป"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"ข้อมูลและการตั้งค่าใน <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"จัดการโดย <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"ปิดใช้<xliff:g id="MODE_NAME">%1$s</xliff:g>ใช่ไหม"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"ระบบจะไม่เปิดโหมดนี้เมื่อปิดใช้งานอยู่"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"ปิดใช้"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"เปิดใช้<xliff:g id="MODE_NAME">%1$s</xliff:g>ใช่ไหม"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"โหมดนี้อาจเปิดโดยอัตโนมัติตามการตั้งค่า"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"เปิดใช้"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"ตั้งค่าโหมดที่จะทำตามกำหนดการประจำ"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"ตั้งค่าโหมดเพื่อซิงค์กับกิจกรรมในปฏิทินและการตอบกลับคำเชิญ"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"ออกแบบกิจวัตรการนอนหลับที่แสนผ่อนคลาย ตั้งปลุก หรี่แสงหน้าจอ และบล็อกการแจ้งเตือน"</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"ให้ความสำคัญกับความปลอดภัยบนท้องถนนเพื่อการขับขี่อย่างมีสมาธิและไร้สิ่งรบกวน"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"บล็อกสิ่งที่ทำให้ไขว้เขวหรือการรบกวนจากอุปกรณ์เพื่อให้มีสมาธิ"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"ขจัดสิ่งที่ทำให้ไขว้เขวทั้งหมดเพื่อสภาพแวดล้อมที่เงียบ"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"ปรับเปลี่ยนประสบการณ์การใช้งานและการตั้งค่าอุปกรณ์ในแบบของผู้ใช้แต่ละคน"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"ลดการรบกวนโดยอนุญาตให้ผู้คนและแอปที่สำคัญติดต่อคุณได้เท่านั้น"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"ตั้งค่าโหมดที่จะทำตามกำหนดการประจำ"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"ซิงค์อุปกรณ์กับกิจกรรมประจำวันของคุณ"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"ตื่นขึ้นมาพร้อมความรู้สึกสดชื่นเต็มร้อย"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"คำนึงถึงความปลอดภัยเป็นสำคัญอยู่บนท้องถนน"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"จดจ่อกับสิ่งที่ทำ"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"สำหรับช่วงเวลาที่มารยาทเป็นเรื่องสำคัญ"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"การใช้งานแบบแนะนำเพื่อช่วยให้คุณสบายใจ"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"ควบคุมความสนใจของคุณ"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"คำเตือน"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"ปิด"</string>
     <string name="device_feedback" msgid="5351614458411688608">"ส่งความคิดเห็นเกี่ยวกับอุปกรณ์นี้"</string>
@@ -4006,6 +4102,10 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"อนุญาตสิทธิ์เข้าถึงโหมดสำหรับ <xliff:g id="APP">%1$s</xliff:g> ไหม"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"แอปจะสามารถเปิด/ปิดโหมดห้ามรบกวน จัดการและเปิดใช้งานโหมด รวมถึงเปลี่ยนแปลงการตั้งค่าที่เกี่ยวข้องได้"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"เพิกถอนสิทธิ์เข้าถึงโหมดสำหรับ <xliff:g id="APP">%1$s</xliff:g> ใช่ไหม"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"ระบบจะนำโหมดทั้งหมดที่แอปนี้สร้างออก"</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"ไม่เพิ่มประสิทธิภาพ"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"เพิ่มประสิทธิภาพ"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"อาจทำให้แบตเตอรี่หมดเร็วขึ้น ระบบจะอนุญาตให้แอปใช้แบตเตอรี่ในเบื้องหลังได้"</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"กล่อง"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"แบตเตอรี่"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"แผงควบคุมการตั้งค่า"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"บังคับใช้โหมดเดสก์ท็อป"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"บังคับใช้โหมดเดสก์ท็อปแบบทดลองในจอแสดงผลรอง"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"เปิดใช้หน้าต่างรูปแบบอิสระ"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"เปิดใช้หน้าต่างรูปแบบอิสระบนจอแสดงผลสำรอง"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"เปิดใช้แอปแบบปรับขนาดไม่ได้ในหลายหน้าต่าง"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"อนุญาตให้แอปแบบปรับขนาดไม่ได้แสดงในหลายหน้าต่าง"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"ลบล้างฟีเจอร์บังคับใช้ธีมมืด"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"อินเทอร์เน็ตมือถือ"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"เพื่อปรับปรุงประสบการณ์การใช้อุปกรณ์ แอปและบริการต่างๆ จะยังคงสแกนหาเครือข่าย Wi‑Fi ได้ทุกเมื่อแม้ว่า Wi‑Fi จะปิดอยู่ การตั้งค่านี้ใช้เพื่อทำสิ่งต่างๆ เช่น ปรับปรุงฟีเจอร์และบริการที่อิงตามตำแหน่ง คุณเปลี่ยนตัวเลือกนี้ได้ในการตั้งค่าการสแกนหา Wi-Fi"</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"เปลี่ยน"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"เชื่อมต่อแล้ว"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"เชื่อมต่อแล้วชั่วคราว"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"กำลังใช้ <xliff:g id="SUBNAME">%1$s</xliff:g> ชั่วคราว"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ใช้การปักหมุดแอป"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"ใช้ตัวเลือกสำหรับนักพัฒนาแอป"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"ใช้บริการพิมพ์"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"อนุญาตให้มีผู้ใช้หลายคน"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"อนุญาตให้เปลี่ยนผู้ใช้ได้"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"อนุญาต, หลายคน, ผู้ใช้, อนุมัติ, จำนวนมาก"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"หลายรายการ, ผู้ใช้, โปรไฟล์, ผู้คน, บัญชี, เปลี่ยน, มากมาย"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ใช้การแก้ไขข้อบกพร่องผ่าน Wi-Fi"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> ต้องการเชื่อมต่อโทรศัพท์เครื่องนี้\n\nคุณไม่เคยเชื่อมต่อกับ <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> มาก่อน"</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"ไม่เชื่อมต่อ"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"เชื่อมต่อ"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"การตั้งค่า TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"เปิด"</string>
-    <string name="tare_off" msgid="6305694402929756726">"ปิด"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"เปลี่ยนกลับไปเป็นการตั้งค่าเริ่มต้น"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"เปลี่ยนการตั้งค่ากลับเป็นค่าเริ่มต้นแล้ว"</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"สมดุลที่อิ่มตัวสูงสุด"</string>
-    <string name="tare_balances" msgid="731881382594747961">"ยอดคงเหลือ"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"ขีดจำกัดการใช้งาน"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"ขีดจำกัดการใช้งานเริ่มต้น"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"ขีดจำกัดการใช้งานขั้นต่ำ"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"ขีดจำกัดการใช้งานสูงสุด"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"ตัวปรับแต่ง"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"การดำเนินการ (ต้นทุนในการผลิต)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"การดำเนินการ (ราคาฐาน)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"รางวัลต่อเหตุการณ์เดียว"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"รางวัลต่อวินาทีในระยะเวลาของเหตุการณ์"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"รางวัลสูงสุดต่อวัน"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"การติดตั้งแอป"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"กิจกรรมแรก"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"เห็นการแจ้งเตือนแล้ว"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"เห็นการแจ้งเตือนภายใน 15 นาที"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"การโต้ตอบกับการแจ้งเตือน"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"การโต้ตอบกับวิดเจ็ต"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"การโต้ตอบในลักษณะอื่นของผู้ใช้"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"เริ่มงานสำคัญสูงสุด"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"กำลังทำงานสำคัญสูงสุด"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"เริ่มงานสำคัญ"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"กำลังทำงานสำคัญ"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"เริ่มงานตามค่าเริ่มต้น"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"กำลังทำงานตามค่าเริ่มต้น"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"เริ่มงานไม่ค่อยสำคัญ"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"กำลังทำงานไม่ค่อยสำคัญ"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"เริ่มงานสำคัญน้อยสุด"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"กำลังทำงานสำคัญน้อยสุด"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"โทษเนื่องจากงานหมดเวลา"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"ยอดคงเหลือขั้นต่ำเมื่อชาร์จเต็ม (ได้รับการยกเว้น)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"ยอดคงเหลือขั้นต่ำเมื่อชาร์จเต็ม (แอประบบแบบไม่มีส่วนหัว)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"ยอดคงเหลือขั้นต่ำเมื่อชาร์จเต็ม (แอปที่เหลือ)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"การเพิ่มยอดคงเหลือขั้นต่ำเมื่อชาร์จเต็ม (โปรแกรมอัปเดตแอป)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"การชาร์จ"</item>
-    <item msgid="658627268149681677">"Doze"</item>
-    <item msgid="1599558140284643834">"โหมดประหยัดพลังงาน"</item>
-    <item msgid="588427840913221601">"สถานะการประมวลผล"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"ยืนยัน"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"แสดงตัวอย่าง"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"เลือกภาพพักหน้าจอ"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"แสดงข้อมูลเพิ่มเติม"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"เลือกสิ่งที่คุณจะเห็นในหน้าจอเมื่อวางแท็บเล็ตบนแท่นชาร์จ อุปกรณ์อาจใช้พลังงานมากขึ้นเมื่อใช้ภาพพักหน้าจอ"</string>
     <string name="customize_button_title" msgid="1110284655990203359">"ปรับแต่ง"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"ปรับแต่ง <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"ต้องรีบูตเพื่อเปิดใช้การสนับสนุนแบบอิสระ"</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"ต้องรีบูตเพื่อบังคับให้จอแสดงผลสำรองใช้โหมดเดสก์ท็อป"</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"ต้องรีบูตเพื่อเปิดใช้การรองรับหน้าต่างรูปแบบอิสระ"</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"ต้องรีบูตเพื่ออัปเดตความพร้อมใช้งานหน้าต่างรูปแบบอิสระ"</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"ต้องรีบูตเพื่อเปิดใช้หน้าต่างรูปแบบอิสระบนจอแสดงผลสำรอง"</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"รีบูตเลย"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"รีบูตภายหลัง"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"เสียงรอบทิศทาง"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"ดอกกุหลาบ"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"ม่วงแดง"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"ม่วงแกมน้ำเงิน"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"เสร็จสิ้น"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"บันทึก"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"ยกเลิก"</string>
     <string name="contrast_default" msgid="8918545965525226966">"ค่าเริ่มต้น"</string>
     <string name="contrast_medium" msgid="384414510709285811">"ปานกลาง"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"เปิด"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"ปิด"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"เปิด"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"เสียง %1$d%% ซ้าย %2$d%% ขวา"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"เสียง %1$d%% ขวา %2$d%% ซ้าย"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"แอปที่คุณติดตั้งจะเห็นชื่อของอุปกรณ์ และคนอื่นก็อาจเห็นเช่นกันหากคุณเชื่อมต่อกับอุปกรณ์บลูทูธหรือเครือข่าย Wi-Fi หรือตั้งค่าฮอตสปอต Wi-Fi"</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"เพศทางไวยากรณ์"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"เลือกเพศทางไวยากรณ์"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"หยุดแชร์เสียงแล้ว"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"เชื่อมต่ออุปกรณ์ที่รองรับการใช้งาน"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"หากต้องการเริ่มแชร์เสียง ให้เชื่อมต่อหูฟัง LE Audio กับโทรศัพท์ก่อน"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"เปลี่ยนเป็น <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"เชื่อมต่อกับสตรีม LE Audio"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"สตรีมเสียงที่อยู่ใกล้เคียง"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"สตรีมเสียง"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ฟังสตรีม"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"สแกนคิวอาร์โค้ดของสตรีมเสียงเพื่อฟังกับ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"แก้ไขรหัสผ่านในระหว่างการแชร์ไม่ได้ หากต้องการเปลี่ยนรหัสผ่าน โปรดปิดการแชร์เสียงก่อน"</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"ตัวสแกนคิวอาร์โค้ด"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"หากต้องการความช่วยเหลือ"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"ค้นหาในการตั้งค่า"</string>
 </resources>
diff --git a/res/values-tl/arrays.xml b/res/values-tl/arrays.xml
index 519d1db..2a13662 100644
--- a/res/values-tl/arrays.xml
+++ b/res/values-tl/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Oras ng pagtulog"</item>
-    <item msgid="4152450357280759894">"Pagmamaneho"</item>
-    <item msgid="7096549258219399423">"Immersive"</item>
-    <item msgid="2760716776980432977">"Pinamamahalaan"</item>
-    <item msgid="601734478369121764">"Bituin"</item>
-    <item msgid="6243809315432780521">"Kalendaryo"</item>
-    <item msgid="4913577903148415331">"Oras"</item>
-    <item msgid="3653377604690057780">"Teatro"</item>
-    <item msgid="3843711267408385410">"Bulaklak"</item>
+    <item msgid="1216815120972438676">"Briefcase"</item>
+    <item msgid="184985872234062767">"Classical na gusali"</item>
+    <item msgid="9189550412466785530">"Gusali ng apartment"</item>
+    <item msgid="2142527562511049422">"Speech bubble"</item>
+    <item msgid="2548100558260478605">"Grupo ng mga tao"</item>
+    <item msgid="2270003903304578284">"Bumbilya"</item>
+    <item msgid="4793496619091161864">"Kalendaryo"</item>
+    <item msgid="5673625795644364100">"Huwag Istorbohin"</item>
+    <item msgid="1423820834865831361">"Taong tumatakbo"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Dumbbell ng gym"</item>
+    <item msgid="2730180105015616518">"Paglangoy"</item>
+    <item msgid="2666922823253345958">"Taong nagha-hike"</item>
+    <item msgid="8234880356472211396">"Taong naghahagis ng bola"</item>
+    <item msgid="4642980625253001443">"Taong sumisipa"</item>
+    <item msgid="4324795269518833500">"Game controller"</item>
+    <item msgid="7789966425125441125">"Palette ng kulay ng artist"</item>
+    <item msgid="663512680597461570">"Snowflake"</item>
+    <item msgid="7952183800501346803">"Beach umbrella"</item>
+    <item msgid="799139025758265891">"Mga tool sa workshop"</item>
+    <item msgid="1330084588359129896">"Tent"</item>
+    <item msgid="3861584909935022342">"Film reel"</item>
+    <item msgid="5827426100157335512">"Libro"</item>
+    <item msgid="8585828346253128384">"Bulaklak na lotus"</item>
+    <item msgid="8788370542815300188">"Isip ng tao"</item>
+    <item msgid="7287354964767553293">"Headphones"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Tren"</item>
+    <item msgid="4903790544026923026">"Kotse"</item>
+    <item msgid="5010405583912314582">"Tinidor at kutsilyo"</item>
+    <item msgid="8939998598599064900">"Shopping cart"</item>
+    <item msgid="3379605903308731893">"Bata"</item>
+    <item msgid="7808668968550293112">"Paa ng hayop"</item>
+    <item msgid="1000692647524056504">"Star badge"</item>
+    <item msgid="8270261073421676502">"Dalawang tao"</item>
+    <item msgid="5767782819651505460">"Bituin"</item>
+    <item msgid="4368451291862729334">"Puso"</item>
+    <item msgid="2613199102208419986">"Bahay"</item>
+    <item msgid="3022279986430275040">"Half-moon"</item>
+    <item msgid="5421089790869483206">"Orasan"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index d2265d5..ece86d6 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspendido"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Hindi Alam"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Preview"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR code"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Palagi"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Mga setting ng hearing device"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Shortcut, compatibility ng hearing aid"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Preset"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Walang preset na na-program ng iyong audiologist"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Hindi ma-update ang preset"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audio output"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Tungkol sa audio output"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Hindi available sa Mga Setting ang pagpili ng wika para sa app na ito."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Posibleng iba ang wika sa mga wikang available sa app. Posibleng hindi suportahan ng ilang app ang setting na ito."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Itakda ang wika para sa bawat app."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Ginagamit ng iyong system, mga app, at mga website ang unang sinusuportahang wika mula sa mga gusto mong wika."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Ginagamit ng iyong device, app, at website ang unang sinusuportahang wika mula sa listahan ng gusto mong wika.\n\nGagamitin din ng maraming app ang rehiyon mula sa iyong gustong wika para i-format ang mga petsa, numero, at unit. Para baguhin ang rehiyon mo, magdagdag ng wika, pagkatapos ay piliin ang iyong gustong rehiyon."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Para pumili ng wika para sa bawat app, pumunta sa mga setting ng wika ng app."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Matuto pa tungkol sa mga wika ng app"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Gawing %s ang wika ng system?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Naka-off"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Naka-on / # app ang may access sa lokasyon}one{Naka-on / # app ang may access sa lokasyon}other{Naka-on / # na app ang may access sa lokasyon}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Naglo-load…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Matutukoy ng mga app na may pahintulot sa Mga kalapit na device ang relatibong posisyon ng mga nakakonektang device."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Matutukoy ng mga app na may pahintulot sa mga kalapit na device ang relatibong posisyon ng mga nakakonektang device."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Naka-off para sa mga app at serbisyo ang access sa lokasyon. Posibleng ipadala pa rin ang lokasyon ng iyong device sa mga reresponde sa emergency kapag tumawag o nag-text ka sa pang-emergency na numero."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Matuto pa tungkol sa Mga setting ng lokasyon."</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Para palitan, pumunta sa Mga Setting ng ChromeOS &gt; Privacy at seguridad &gt; Mga kontrol sa privacy &gt; Access sa lokasyon"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Naidagdag ang mukha at <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Naidagdag ang mukha, fingerprint, at <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Naidagdag ang mukha, mga fingerprint, at <xliff:g id="WATCH">%s</xliff:g>"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Naka-on ang Pagsusuri sa Pagkakakilanlan at nagre-require ito ng biometric"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator Unlock"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Idinagdag ang relo"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"I-set up ang iyong relo"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Matuto pa tungkol sa Pag-unlock Gamit ang Relo"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Magdagdag ng relo"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Alisin ang relo"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Pag-unlock Gamit ang Fingerprint at Mukha"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Pag-unlock Gamit ang Mukha at Fingerprint"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Pag-unlock Gamit ang Mukha at Fingerprint para sa trabaho"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Kinakailangan ang pag-set up"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Nagdagdag ng mukha at mga fingerprint"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Sine-set up ang pribadong space…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Hindi na-set up ang pribadong space"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Subukan Ulit"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Lumabas"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Hindi available ang pribadong space.\nTingnan ang mga posibleng dahilan"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Tingnan ang mga posibleng dahilan"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Pumili ng bagong lock para sa pribadong space?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Puwede kang magtakda ng bagong lock para lang sa pribadong space, o gamitin ang parehong lock na ginagamit mo para i-unlock ang iyong device"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Gamitin ang lock ng screen"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Kapag naka-on ang Bluetooth, puwedeng makipag-ugnayan ang iyong device sa iba pang malapit na Bluetooth device.\n\nPara mapaganda ang experience sa device, puwede pa ring mag-scan ang mga app at serbisyo ng mga malapit na device anumang oras, kahit na naka-off ang Bluetooth. Magagamit ito, halimbawa, para pahusayin ang mga feature at serbisyong batay sa lokasyon. Mababago mo ito sa mga setting ng pag-scan ng Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Kapag naka-on ang Bluetooth, puwedeng makipag-ugnayan ang iyong device sa iba pang kalapit na Bluetooth device. Gumagamit ng Bluetooth ang mga feature tulad ng Quick Share at Hanapin ang Aking Device.\n\nPuwede pa ring mag-scan ang mga app at serbisyo para sa mga kalapit na device anumang oras, kahit na naka-off ang Bluetooth. Magagamit ito, halimbawa, para mapahusay ang mga feature at serbisyong nakabatay sa lokasyon. Mababago mo ito sa mga setting ng Pagsa-scan para sa Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Palitan"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"Hindi nakakonekta ang <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"Para sa iyong seguridad, kalimutan ang device na ito, at ipares ito ulit"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"Kalimutan ang device"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"Kanselahin"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Mga detalye ng device"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Mga setting ng keyboard"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Higit pang setting"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Mga update sa firmware, tungkol dito, at higit pa"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Mga tip at suporta"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Bluetooth address ng device: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Address ng bluetooth ng device:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Kalimutan ang device?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Pang-eksperimento. Nagpapaayos sa audio."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Kalimutan ang device"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Idiskonekta ang app"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Higit pang setting"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Maximum na nakakonektang mga Bluetooth audio device"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Piliin ang maximum na bilang ng mga nakakonektang Bluetooth audio device"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Log ng pag-debug ng verbose vendor ng NFC"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"I-restart ang Device?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Idinisenyo lang ang pag-log ng detalye ng NFC para sa pag-develop. Nagsasama ng karagdagang data ng NFC sa mga ulat ng bug, na posibleng may pribadong impormasyon. I-restart ang iyong device para baguhin ang setting na ito."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"I-restart"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Naka-on"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Naka-off"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"External na Display"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Gumamit ng external na display"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Resolution ng display"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Nadiskonekta ang external na display"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Pag-rotate"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standard"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Posibleng huminto ang anumang app na kasalukuyang gumagana kapag binago ang pag-rotate o resolution"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Dapat nakakonekta sa external na display ang iyong device para ma-mirror ang screen mo"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Higit pang opsyon"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"I-cast"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"mirror"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"I-enable ang wireless display"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptive"</string>
     <string name="brightness" msgid="6216871641021779698">"Level ng brightness"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Adaptive brightness"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Tungkol sa adaptive brightness"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Awtomatikong maa-adjust ang brightness ng iyong screen sa kapaligiran at mga aktibidad mo. Maaari mong manual na galawin ang slider para matulungan ang adaptive brightness na matutunan ang iyong mga preference."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Naka-on"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Naka-off"</string>
@@ -1311,8 +1340,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Gamitin ang <xliff:g id="CARRIER">%1$s</xliff:g> sa mobile data?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Ginagamit mo ang <xliff:g id="CARRIER2_0">%2$s</xliff:g> para sa mobile data. Kung lilipat ka sa <xliff:g id="CARRIER1">%1$s</xliff:g>, hindi na gagamitin ang <xliff:g id="CARRIER2_1">%2$s</xliff:g> para sa mobile data."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Gamitin ang <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"I-update ang gustong SIM?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> lang ang SIM sa iyong device. Gusto mo bang gamitin ang SIM na ito para sa mobile data, mga tawag, at SMS message?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> na ang iyong pangunahing SIM"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Pahusayin ang sakop ng mobile data?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Payagan ang iyong device na awtomatikong lumipat sa <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> para sa mobile data kapag mas available ito."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Baka nakikita ng iyong organisasyon ang mga tawag, mensahe, at trapiko ng network."</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Mga Opsyon"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibility"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Pisikal na keyboard"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Gumamit ng on-screen na keyboard"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Panatilihin ito sa screen habang aktibo ang pisikal na keyboard"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Mga bounce key"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Binabalewala ng keyboard ang mabilis na paulit-ulit na pagpindot sa parehong key sa loob ng <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Mga slow key"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Ina-adjust sa <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms kung gaano dapat katagal pindutin ang key para mag-activate"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Mga sticky key"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Paisa-isang pumindot ng key para sa mga shortcut sa halip na sabay-sabay na pindutin ang mga key"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Mga mouse key"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Gamitin ang pisikal na keyboard para kontrolin ang mouse."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Mga keyboard shortcut"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Ipakita ang listahan ng mga shortcut"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Mga keyboard at tool ng profile sa trabaho"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"I-customize ang mga indibidwal na galaw sa pag-navigate sa touchpad"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Reverse na pag-scroll"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Gumagalaw pataas ang content kapag nag-scroll ka pababa"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Pag-tap sa kanang bahagi sa ibaba"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"I-tap ang kanang sulok sa ibaba ng touchpad para sa higit pang opsyon"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Pag-click sa kanang bahagi sa ibaba"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"I-click ang kanang sulok sa ibaba ng touchpad para sa opsyon"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Bilis ng pointer"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Istilo ng fill ng pointer"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Gawing itim ang fill ng pointer"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Gawing dilaw ang fill ng pointer"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Gawing pink ang fill ng pointer"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Gawing asul ang fill ng pointer"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Istilo ng stroke ng pointer"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Puti"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Itim"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Wala"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Matuto ng mga galaw sa touchpad"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"trackpad, track pad, mouse, cursor, scroll, swipe, right click, click, pointer"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"right click, tap"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"I-reset"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Pumili ng modifier key"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Pumili ng bagong key para sa <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Accessibility ng pisikal na keyboard"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Mga sticky key, Mga bounce key, Mga mouse key"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Layout na <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Default"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Awtomatiko: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Napiling user: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Pagsasalita"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Bilis ng pointer"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Scale ng pointer"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Bawasan ang scale ng pointer"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Dagdagdan ang scale ng pointer"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Game Controller"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"I-redirect ang pag-vibrate"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Magpadala ng pag-vibrate sa controller ng laro kapag nakakonekta"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Magpatuloy pa rin"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Kanselahin"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Mga setting ng pag-magnify"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"One-finger na pag-pan"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Igalaw ang magnifier gamit ang 1 daliri"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"I-drag ang 1 daliri para gumalaw sa screen"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Galawin ang magnification area sa pag-drag sa 1 daliri."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Galawin ang magnification area sa pag-drag sa 2 daliri."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Hindi available habang naka-magnify ang isang bahagi lang ng screen"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Mag-tap ng button upang mag-zoom"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Mabilisang mag-zoom in sa screen para palakihin ang content"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Para mag-zoom in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Gamitin ang shortcut para simulan ang pag-magnify&lt;br/&gt; {1,number,integer}. I-tap ang screen&lt;br/&gt; {2,number,integer}. I-drag ang 2 daliri para gumalaw sa screen&lt;br/&gt; {3,number,integer}. Mag-pinch gamit ang 2 daliri para i-adjust ang pag-zoom&lt;br/&gt; {4,number,integer}. 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; {0,number,integer}. Tiyaking nakatakda sa full screen ang iyong uri ng pag-magnify&lt;br/&gt; {1,number,integer}. Gamitin ang shortcut para simulan ang pag-magnify&lt;br/&gt; {2,number,integer}. Pumindot nang matagal kahit saan sa screen&lt;br/&gt; {3,number,integer}. I-drag ang daliri para gumalaw sa screen&lt;br/&gt; {4,number,integer}. Iangat ang daliri para ihinto ang pag-magnify"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Para mag-zoom in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Gamitin ang shortcut para simulan ang pag-magnify&lt;br/&gt; {1,number,integer}. I-tap ang screen&lt;br/&gt; {2,number,integer}. I-drag ang 2 daliri para gumalaw sa screen&lt;br/&gt; {3,number,integer}. Mag-pinch gamit ang 2 daliri para i-adjust ang pag-zoom&lt;br/&gt; {4,number,integer}. Gumamit ng shortcut para ihinto ang pag-magnify&lt;br/&gt;&lt;br/&gt; Puwede ka ring mag-zoom in pansamantala at higit pa."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Para mag-zoom in:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Gamitin ang shortcut para simulan ang pag-magnify&lt;br/&gt; {1,number,integer}. I-tap ang screen&lt;br/&gt; {2,number,integer}. I-drag ang 1 o 2 daliri para gumalaw sa screen&lt;br/&gt; {3,number,integer}. Mag-pinch gamit ang 2 daliri para i-adjust ang pag-zoom&lt;br/&gt; {4,number,integer}. Gumamit ng shortcut para ihinto ang pag-magnify&lt;br/&gt;&lt;br/&gt; Puwede ka ring mag-zoom in pansamantala at higit pa."</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_pager" msgid="8461939455728454061">"Page <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> sa <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Shortcut ng button ng accessibility"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"I-tap ang naka-float na button"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Galaw para sa accessibility"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"I-tap ang button ng accessibility <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> sa ibaba ng screen. Para magpalipat-lipat sa mga feature, pindutin nang matagal ang button ng accessibility."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Mag-swipe pataas mula sa ibaba ng screen gamit ang 2 daliri.\n\nPara magpalipat-lipat sa mga feature, mag-swipe pataas gamit ang 2 daliri at i-hold ang mga ito."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Mag-swipe pataas mula sa ibaba ng screen gamit ang 3 daliri.\n\nPara magpalipat-lipat sa mga feature, mag-swipe pataas gamit ang 3 daliri at i-hold ang mga ito."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Mag-swipe pataas mula sa ibabang bahagi ng screen. Para magpalipat-lipat sa mga feature, mag-swipe pataas at i-hold ito.}one{Mag-swipe pataas gamit ang # daliri mula sa ibaba ng screen. Para magpalipat-lipat sa mga feature, mag-swipe pataas gamit ang # daliri at i-hold ito.}other{Mag-swipe pataas gamit ang # na daliri mula sa ibaba ng screen. Para magpalipat-lipat sa mga feature, mag-swipe pataas gamit ang # na daliri at i-hold ito.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Higit pang opsyon"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Matuto pa tungkol sa <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Mga volume key"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"mga volume key"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Pindutin nang matagal ang parehong volume key"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"I-double tap ang screen gamit ang dalawang daliri"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d-finger na pag-double tap"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Mabilisang i-tap ang screen nang dalawang beses gamit ang %1$d (na) daliri"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Pag-tap nang tatlong beses"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Mabilisang i-tap ang screen nang %1$d (na) beses. Posibleng mapabagal nito ang iyong device."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d-finger na pag-double tap"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Mabilis na i-tap ang screen nang {0,number,integer} (na) beses gamit ang dalawang daliri"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"I-triple tap ang screen"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"pag-tap nang tatlong beses"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Mabilis na i-tap ang screen nang {0,number,integer} beses. Posibleng 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 Accessibility. Upang gumamit ng pag-magnify, pindutin nang matagal ang button na Accessibility, 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 accessibility. 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_global_gesture_preference_title" msgid="8866765674372344850">"Shortcut ng mga volume key"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Mga setting ng shortcut"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Shortcut mula sa lock screen"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"Shortcut ng mga volume key mula sa lock screen"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Payagang mag-on ang shortcut ng feature mula sa lock screen. Pindutin nang matagal ang parehong volume key nang ilang segundo."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Button ng accessibility"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Button ng accessibility at galaw"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Hindi gumagana nang maayos ang serbisyong ito."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Mga shortcut sa pagiging accessible"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Ipakita sa Mga Mabilisang Setting"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Pula-berde"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Pula-berde"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Pula at berde, mahina sa berde"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Pula at berde, mahina sa pula"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Asul-dilaw"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Grayscale"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensity"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Hirap makakita ng berde, deuteranomaly"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Hirap makakita ng pula, protanomaly"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Hindi available para sa grayscale mode o kapag naka-disable ang pagtatama ng kulay"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Extra dim"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Gawing extra dim ang screen"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Cyan"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Dilaw"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Bigyan ang <xliff:g id="SERVICE">%1$s</xliff:g> ng ganap na kontrol sa iyong device?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"Kailangan ng <xliff:g id="SERVICE">%1$s</xliff:g> na:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Dahil pinipigilan ng isang app ang kahilingan ng pahintulot, hindi ma-verify ng Mga Setting ang iyong tugon."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"Humihiling ang <xliff:g id="SERVICE">%1$s</xliff:g> ng ganap na kontrol sa device na ito. Maaaring basahin ng serbisyo ang screen at kumilos sa ngalan ng mga user na may mga pangangailangan sa accessibility. Hindi naaangkop ang ganitong antas ng kontrol para sa karamihan ng mga app."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Naaangkop ang ganap na kontrol sa mga app na tumutulong sa mga pangangailangan mo sa accessibility, pero hindi sa karamihan ng mga app."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Tingnan at kontrolin ang screen"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Mababasa nito ang lahat ng content na nasa screen at makakapagpakita ito ng content sa iba pang app."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Tumingin at magsagawa ng mga pagkilos"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Masusubaybayan nito ang iyong mga pakikipag-ugayan sa isang app o hardware na sensor, at puwede itong makipag-ugnayan sa mga app para sa iyo."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Payagan"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Tanggihan"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"I-off"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Naka-on / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> at <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Puwede mo ring i-on ang Spatial Audio para sa mga Bluetooth device."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Mga setting ng mga nakakonektang device"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Spatial Audio"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Naka-off"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Naka-off"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Naka-off"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Wala}=1{Naitakda ang 1 iskedyul}one{Naitakda ang # iskedyul}other{Naitakda ang # na iskedyul}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Huwag Istorbohin"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Mga Priyoridad na Mode"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Magdagdag ng mode"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Mga Mode"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Bawasan ang mga abala at kontrolin ang iyong atensyon sa pamamagitan ng mga mode para sa pagtulog, pagtatrabaho, pagmamaneho, at kahit ano pa."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Gumawa ng sarili mong mode"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Makakuha lang ng notification mula sa mahahalagang tao at app"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Magtakda ng iskedyul"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Nakabatay ang iskedyul sa"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Araw at petsa"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"9 AM - 5 PM tuwing weekday\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Mga event sa kalendaryo"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{Aktibo ang {mode_1}}=2{Aktibo ang {mode_1} at {mode_2}}=3{Aktibo ang {mode_1}, {mode_2}, at {mode_3}}one{Aktibo ang {mode_1}, {mode_2}, at # pa}other{Aktibo ang {mode_1}, {mode_2}, at # pa}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 mode ang puwedeng awtomatikong mag-on}one{# mode ang puwedeng awtomatikong mag-on}other{# na mode ang puwedeng awtomatikong mag-on}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"NAKA-ON"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Hindi nakatakda"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Naka-disable"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Gumawa ng mode"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Custom"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"I-on na"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"I-off"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Hindi nakita ang mode"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitahan ang mga pagkaantala"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"I-block ang mga pagkaantala at abala"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"I-set up ang <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"I-on ang Huwag Istorbohin"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Puwedeng makaabala ang mga alarm at tunog ng media"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Mga Iskedyul"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"I-delete ang mga iskedyul"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"I-delete"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"I-rename"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"I-delete"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"I-delete ang \"<xliff:g id="MODE">%1$s</xliff:g>\" mode?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"I-edit"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Mga Iskedyul"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Iskedyul"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Awtomatikong i-on"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Magdagdag ng kalendaryo"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Gamitin ang iyong kalendaryo"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Iiskedyul"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Magtakda ng iskedyul"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Kailan awtomatikong io-on"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Iskedyul ng event"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"I-on kapag mga event para sa"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Kapag ang sagot sa invite ay"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Iskedyul na oras"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Iskedyul"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> (na) oras, <xliff:g id="MINUTES">%2$d</xliff:g> (na) minuto"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Iskedyul"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Payagan ang mga abalang tumutunog"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Mga notification na makakarating sa iyo"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Mga karagdagang pagkilos"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Mga filter ng notification"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Higit pang setting"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Naka-off}=1{Naka-off / 1 mode ang puwedeng awtomatikong mag-on}one{Naka-off / # mode ang puwedeng awtomatikong mag-on}other{Naka-off / # na mode ang puwedeng awtomatikong mag-on}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Mga setting ng display"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Mga opsyon sa display"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Grayscale"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"i-enable ang madilim na tema"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"I-switch ang OS at mga app para piliin ang maliwanag na text sa madilim na background, na posibleng mas magaan sa mata at mas nakakatipid ng baterya sa ilang device"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Walang pagbabago sa display}=1{{effect_1}}=2{{effect_1} at {effect_2}}=3{{effect_1}, {effect_2}, at {effect_3}}one{{effect_1}, {effect_2}, at # pa}other{{effect_1}, {effect_2}, at # pa}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Payagan ang lahat ng notification"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Puwedeng makaabala ang mga tao, app, at tunog"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Mga opsyon sa display para sa mga naka-filter na notification"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Kapag naka-on ang Huwag Istorbohin"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Walang tunog mula sa mga notification"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"buksan ang notification"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Payagan ang pag-snooze ng notification"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Notification dot sa icon ng app"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Mga bundle ng notification"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Mga Bubble"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Mga Bubble"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"I-bubble ang pag-uusap na ito"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Puwede nitong sagutin ang mga mensahe at gamitin ang mga button sa mga notification, kabilang ang pag-snooze o pag-dismiss ng mga notification at pagsagot ng mga tawag."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Baguhin ang mga setting"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Puwede nitong i-on o i-off ang Huwag Istorbohin at baguhin ang mga nauugnay na setting."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Mapapamahalaan at maa-activate nito ang Mga Mode, at mababago nito ang mga nauugnay na setting."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Kung io-off mo ang access sa notification para kay <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, mao-off din ang access sa Huwag Istorbohin."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Kung io-off mo ang access sa notification para kay <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, puwede ring i-off ang access sa Mga Mode."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"I-off"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Kanselahin"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Real-time"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Hindi sinusuportahan ng app na ito ang mga pinahusay na setting"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Higit pang setting"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"May higit pang setting na available sa loob ng app na ito"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Mga Adaptive na Notification"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Gumamit ng mga adaptive na notification"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Kapag nakatanggap ka ng maraming notification sa loob ng maikling panahon, hihinaan ng iyong telepono ang volume at imi-minimize nito ang mga pop-up sa screen sa loob ng hanggang dalawang minuto. Ang mga tawag, alarm, at priyoridad na pag-uusap ay magva-vibrate, tutunog, o lalabas pa rin sa screen, at madaling makikita ang lahat ng notification kapag nag-swipe ka pababa mula sa itaas ng screen."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Cooldown sa notification"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Gumamit ng cooldown sa notification"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Kapag nakatanggap ka ng maraming notification sa loob ng maikling panahon, hihinaan ng iyong device ang volume nito at imi-minimize nito ang mga alerto sa loob ng hanggang 2 minuto. Hindi maaapektuhan ang mga tawag, alarm, at priyoridad na pag-uusap. \n\nMakikita ang mga notification na matatanggap habang cooldown sa pamamagitan ng paghila pababa mula sa itaas ng screen."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Ilapat sa mga profile sa trabaho"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Ilapat sa mga app ng profile sa trabaho"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Mga serbisyong pantulong sa VR"</string>
@@ -3650,6 +3709,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Access na Huwag Istorbohin"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Payagan ang Huwag Istorbohin"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Walang mga naka-install na app ang humiling ng access na Huwag Istorbohin"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Access sa mga mode"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Payagan ang access sa Mga Mode"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Walang naka-install na app na humiling ng access sa Mga Mode"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Hindi mo pinayagan ang mga notification mula sa app na ito"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Bilang tugon sa iyong kahilingan, pinipigilan ng Android na lumabas sa device na ito ang ganitong kategorya ng mga notification"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Bilang tugon sa iyong kahilingan, pinipigilan ng Android na lumabas sa device na ito ang ganitong grupo ng mga notification"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Mga Kategorya"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Iba Pa"</string>
     <string name="no_channels" msgid="4716199078612071915">"Walang anumang notification para sa app na ito"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Ipakita ang mga hindi ginagamit na kategorya"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Mga karagdagang setting sa app"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Ipakita ang mga hindi ginagamit"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Itago ang mga hindi ginagamit"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Mga Pag-uusap"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Lahat ng pag-uusap"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"lahat ng pag-uusap"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Mga priyoridad na pag-uusap"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"mga priyoridad na pag-uusap"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Wala"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Mga app na puwedeng umabala"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Mga napiling app"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Wala"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Lahat"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Walang app na puwedeng makaabala}=1{Puwedeng makaabala ang {app_1}}=2{Puwedeng makaabala ang {app_1} at {app_2}}=3{Puwedeng makaabala ang {app_1}, {app_2}, at {app_3}}one{Puwedeng makaabala ang {app_1}, {app_2}, at # pa}other{Puwedeng makaabala ang {app_1}, {app_2}, at # pa}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (Trabaho)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Nagkakalkula…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Payagan ang mga app na mag-override"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Mga app na puwedeng umabala"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Pumili pa ng mga app"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Walang puwedeng makaabala"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Walang taong puwedeng makaabala"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Puwedeng makaabala ang ilang tao"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Puwedeng makaabala ang mga umuulit na tumatawag"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Puwedeng makaabala ang lahat ng tao"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Mga umulit na tumatawag"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Payagan ang mga umuulit na tumatawag"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Gawing mag-a-alarm lang sa loob ng isang oras hanggang {time}}one{Gawing mag-a-alarm lang sa loob ng # oras hanggang {time}}other{Gawing mag-a-alarm lang sa loob ng # na oras hanggang {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Gawing mag-a-alarm lang hanggang <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Gawing palaging mang-abala"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"I-rename"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Icon na baguhin"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Icon na baguhin"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"I-edit ang mode"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Gumawa ng mode"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Custom na mode"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Pangalan ng mode"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Mga event sa kalendaryo"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Routine sa oras ng pagtulog"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Habang nagmamaneho"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Mga setting ng app"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Impormasyon at mga setting sa <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Pinapamahalaan ng <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"I-disable ang <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Hindi kailanman mag-o-on ang mode na ito kapag naka-disable"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"I-disable"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"I-enable ang <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Posibleng awtomatikong mag-on ang mode na ito batay sa mga setting nito"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"I-enable"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Magtakda ng mode na sumusunod sa regular na iskedyul"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Magtakda ng mode para mag-sync sa mga event sa kalendaryo at sagot sa imbitasyon"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Magdisenyo ng nakakakalmang routine sa pagtulog. Magtakda ng mga alarm, padilimin ang screen, at i-block ang mga notification."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Unahin ang kaligtasan sa kalsada para sa naka-focus na pagmamanehong walang abala"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"I-block ang mga abala o istorbo sa iyong device para makapag-focus"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Alisin ang lahat ng istorbo para sa tahimik na kapaligiran"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"I-personalize ang mga karanasan sa device at mga setting para sa iba\'t ibang user"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Bawasan ang mga istorbo sa pamamagitan ng pagbibigay ng pahintulot sa mahahalagang tao at app lang para makipag-ugnayan sa iyo"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Magtakda ng mode na sumusunod sa regular na iskedyul"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Panatilihing naka-sync ang iyong device sa mga kaganapan sa araw mo"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Gumising na 100% ang pakiramdam"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Unahin ang kaligtasan habang nasa kalsada"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Mag-focus para maging handa"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Para sa mga sandali kung kailan mahalaga ang kagandahang-loob"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"May gabay na paggamit para matulungan kang manatili sa mabuting kalagayan"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Kontrolin ang iyong atensyon"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Babala"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Isara"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Feedback tungkol sa device"</string>
@@ -4006,6 +4102,10 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Dapat manatiling naka-on dahil naka-on ang access sa notification"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Babawiin ang access sa Huwag Istorbohin para sa <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Aalisin ang lahat ng panuntunang Huwag Istorbohin na ginawa ng app na ito."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Payagan ang access sa Mga Mode para sa <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Mao-on/mao-off ng app ang Huwag Istorbohin, mapapamahalaan at maa-activate ang Mga Mode, at makakagawa ng mga pagbabago sa mga nauugnay na setting."</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"Bawiin ang access sa Mga Mode para sa <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Aalisin ang lahat ng mode na ginawa ng app na ito."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Huwag i-optimize"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"I-optimize"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Maaaring mas mabilis na makaubos ng iyong baterya. Hindi na paghihigpitan ang app na gamitin ang background na baterya."</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Case"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Baterya"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Panel ng Mga Setting"</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_desktop_mode" msgid="5644818402534562302">"I-enable ang mga freeform window"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"I-enable ang freeform windows sa secondary display"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"I-enable ang hindi nare-resize sa multi-window"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Nagpapahintulot sa mga hindi nare-resize na app na lumabas sa multi-window"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"I-override ang force-dark"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobile data"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Para pahusayin ang experience sa device, puwede pa ring mag-scan ng mga Wi-Fi network ang mga app at serbisyo anumang oras, kahit habang naka-off ang Wi‑Fi. Magagamit ito, halimbawa, para pahusayin ang mga feature at serbisyong batay sa lokasyon. Mababago mo ito sa mga setting ng pag-scan ng Wi-Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Baguhin"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Nakakonekta"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Pansamantalang nakakonekta"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Pansamantalang ginagamit ang <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Gamitin ang pag-pin ng app"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Gamitin ang mga opsyon ng developer"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Gamitin ang serbisyo ng pag-print"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Payagan ang maraming user"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Payagan ang pag-switch ng user"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"payagan, maraming, user, pahintulot, marami"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"maramihan, mga user, mga profile, mga tao, mga account, lumipat, marami"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Gamitin ang wireless na pag-debug"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"Gustong kumonekta ng <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> sa teleponong ito.\n\nHindi ka pa nakakakonekta sa <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> dati."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Huwag kumonekta"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Kumonekta"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Mga Setting ng TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Naka-on"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Naka-off"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Bumalik sa Mga Default na Setting"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Ibinalik sa default ang mga setting."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Max na Balanse Kapag Ganap na Na-charge"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Mga Balanse"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Mga Limitasyon sa Pagkonsumo"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Paunang Limitasyon sa Pagkonsumo"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Minimum na Limitasyon sa Pagkonsumo"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Maximum na Limitasyon sa Pagkonsumo"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Mga Modifier"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Mga Pagkilos (Halaga ng Paggawa)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Mga Pagkilos (Batayang Presyo)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Mga reward sa bawat iisang event"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Mga reward kada segundo ng event"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Maximum na Reward Kada Araw"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Pag-install ng App"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Nangungunang Aktibidad"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Nakita ang Notification"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Nakita ang Notification sa loob ng 15Min"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Interaction sa Notification"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Interaction sa Widget"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Interaction ng Ibang User"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Sinimulan: Trabaho (Max na Priyoridad)"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Gumagana: Trabaho (Max na Priyoridad)"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Sinimulan: Trabaho (Mataas na Priyoridad)"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Gumagana: Trabaho (Mataas na Priyoridad)"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Sinimulan: Trabaho (Default na Priyoridad)"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Gumagana: Trabaho (Default na Priyoridad)"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Sinimulan: Trabaho (Mababang Priyoridad)"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Gumagana: Trabaho (Mababang Priyoridad)"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Sinimulan: Trabaho (Min na Priyoridad)"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Gumagana: Trabaho (Min na Priyoridad)"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Penalty sa Timeout ng Trabaho"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Minimum na Balanse Kapag Ganap na Na-charge (Hindi Kasama)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Minimum na Balanse Kapag Ganap na Na-charge (Headless System App)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Minimum na Balanse Kapag Ganap na Na-charge (Mga Natitirang App)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Minimum na Dagdag sa Balanse Kapag Ganap na Na-charge (Mga Updater ng App)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Pag-charge"</item>
-    <item msgid="658627268149681677">"Pag-doze"</item>
-    <item msgid="1599558140284643834">"Power Save Mode"</item>
-    <item msgid="588427840913221601">"Status ng Pagproseso"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Kumpirmahin"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Preview"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Pumili ng screen saver"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Magpakita ng karagdagang impormasyon"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Piliin ang makikita mo sa iyong screen kapag naka-dock ang iyong tablet. Posibleng gumamit ng mas maraming enerhiya ang iyong device kapag gumagamit ng screen saver."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"I-customize"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"I-customize ang <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Kinakailangang mag-reboot para ma-enable ang freeform na suporta"</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Kinakailangang mag-reboot para sapilitang mailapat ang desktop mode sa mga pangalawang display."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Kinakailangang mag-reboot para ma-enable ang freeform window na suporta."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Kinakailangan ang pag-reboot para ma-update ang availability ng mga freeform na window."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Kinakailangan ang pag-reboot para ma-enable ang mga freeform na window sa mga pangalawang display."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Mag-reboot ngayon"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Mag-reboot sa ibang pagkakataon"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Spatial Audio"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Rose"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Violet"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Tapos na"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"I-save"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Kanselahin"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Default"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Katamtaman"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Naka-on"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Naka-off"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Naka-on"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Audio %1$d%% sa kaliwa, %2$d%% sa kanan"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Audio %1$d%% sa kanan, %2$d%% sa kaliwa"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Nakikita ang pangalan ng device sa mga app na na-install mo. Puwede rin itong makita ng ibang tao kapag ikaw ay kumonekta sa mga Bluetooth device, kumonekta sa Wi-Fi network, o nag-set up ng Wi-Fi hotspot."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Kasarian para sa grammar"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Pumili ng Kasarian para sa grammar"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Inihinto ang pag-share ng audio"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Magkonekta ng compatible na device"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Para magsimulang magbahagi ng audio, ikonekta muna ang LE Audio headphones sa iyong telepono"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Lumipat sa <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Kumonekta sa isang LE audio stream"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Mga audio stream sa malapit"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Mga audio stream"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Makinig sa stream"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Mag-scan ng QR code ng audio stream para makinig sa <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Hindi mae-edit ang password habang nagbabahagi. Para palitan ang password, i-off muna ang pag-share ng audio."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Scanner ng QR code"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Kailangan ng tulong?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Maghanap sa Mga Setting"</string>
 </resources>
diff --git a/res/values-tr/arrays.xml b/res/values-tr/arrays.xml
index 7d56d4c..b7e2f64 100644
--- a/res/values-tr/arrays.xml
+++ b/res/values-tr/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Uyku vakti"</item>
-    <item msgid="4152450357280759894">"Araba kullanma"</item>
-    <item msgid="7096549258219399423">"Etkileyici"</item>
-    <item msgid="2760716776980432977">"Yönetilen"</item>
-    <item msgid="601734478369121764">"Yıldız"</item>
-    <item msgid="6243809315432780521">"Takvim"</item>
-    <item msgid="4913577903148415331">"Saat"</item>
-    <item msgid="3653377604690057780">"Sinema"</item>
-    <item msgid="3843711267408385410">"Çiçek"</item>
+    <item msgid="1216815120972438676">"Evrak çantası"</item>
+    <item msgid="184985872234062767">"Klasik bina"</item>
+    <item msgid="9189550412466785530">"Apartman binası"</item>
+    <item msgid="2142527562511049422">"Konuşma balonu"</item>
+    <item msgid="2548100558260478605">"Bir grup insan"</item>
+    <item msgid="2270003903304578284">"Ampul"</item>
+    <item msgid="4793496619091161864">"Takvim"</item>
+    <item msgid="5673625795644364100">"Rahatsız Etmeyin"</item>
+    <item msgid="1423820834865831361">"Koşan bir kişi"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Spor salonu dambılı"</item>
+    <item msgid="2730180105015616518">"Yüzme"</item>
+    <item msgid="2666922823253345958">"Doğa yürüyüşü yapan bir kişi"</item>
+    <item msgid="8234880356472211396">"Top atan bir kişi"</item>
+    <item msgid="4642980625253001443">"Tekme atan bir kişi"</item>
+    <item msgid="4324795269518833500">"Oyun kumandası"</item>
+    <item msgid="7789966425125441125">"Sanatçı renk paleti"</item>
+    <item msgid="663512680597461570">"Kar tanesi"</item>
+    <item msgid="7952183800501346803">"Plaj şemsiyesi"</item>
+    <item msgid="799139025758265891">"Atölye araçları"</item>
+    <item msgid="1330084588359129896">"Çadır"</item>
+    <item msgid="3861584909935022342">"Film rulosu"</item>
+    <item msgid="5827426100157335512">"Kitap"</item>
+    <item msgid="8585828346253128384">"Nilüfer çiçeği"</item>
+    <item msgid="8788370542815300188">"İnsan aklı"</item>
+    <item msgid="7287354964767553293">"Kulaklık"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Tren"</item>
+    <item msgid="4903790544026923026">"Araba"</item>
+    <item msgid="5010405583912314582">"Çatal ve bıçak"</item>
+    <item msgid="8939998598599064900">"Alışveriş sepeti"</item>
+    <item msgid="3379605903308731893">"Çocuk"</item>
+    <item msgid="7808668968550293112">"Hayvan pençesi"</item>
+    <item msgid="1000692647524056504">"Yıldız rozeti"</item>
+    <item msgid="8270261073421676502">"İki kişi"</item>
+    <item msgid="5767782819651505460">"Yıldız"</item>
+    <item msgid="4368451291862729334">"Kalp"</item>
+    <item msgid="2613199102208419986">"Ev"</item>
+    <item msgid="3022279986430275040">"Yarım ay"</item>
+    <item msgid="5421089790869483206">"Saat"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 872b7c0..aeba194 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Askıya alındı"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Bilinmiyor"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Önizleme"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR kodu"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Her zaman"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"İşitme cihazı ayarları"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Kısayol, işitme cihazı uyumluluğu"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Hazır Ayar"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Odyoloğunuz tarafından programlanmış ön ayar yok"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Hazır ayar güncellenemedi"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Ses çıkışı"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Ses çıkışı hakkında"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Ayarlar\'da bu uygulama için dil seçimi mevcut değil."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Dil, uygulamada bulunan dillerden farklı olabilir. Bazı uygulamalar bu ayarı desteklemeyebilir."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Her uygulamanın dilini ayarlayın."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Sisteminiz, uygulamalarınız ve web siteleriniz, tercih ettiğiniz diller arasındaki ilk desteklenen dili kullanır."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Cihazınız, uygulamalarınız ve web siteleriniz, tercih ettiğiniz dil listesindeki ilk desteklenen dili kullanır.\n\nAyrıca birçok uygulama; tarihlerin, sayıların ve birimlerin biçimini belirlemek için tercih ettiğiniz dile ait bölgeyi de kullanır. Bölgenizi değiştirmek için bir dil ekledikten sonra tercih ettiğiniz bölgeyi seçin."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Her uygulamaya özel bir dil seçmek için uygulama dil ayarlarına gidin."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Uygulama dilleri hakkında daha fazla bilgi"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Sistem dili %s olarak değiştirilsin mi?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Kapalı"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Açık - # uygulamanın konuma erişimi var}other{Açık - # uygulamanın konuma erişimi var}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Yükleniyor…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Yakındaki cihazlarla bağlanma izni olan uygulamalar, bağlı cihazların göreli konumunu belirleyebilir."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Yakındaki cihazlarla bağlanma izni olan uygulamalar, bağlı cihazların göreli konumunu belirleyebilir."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Uygulamaların ve hizmetlerin konum erişimi kapalı. Yine de arayarak veya mesaj göndererek bir acil durum numarasına ulaştığınızda cihazınızın konumu acil durum müdahale ekiplerine gönderilebilir."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Konum ayarları hakkında daha fazla bilgi edinin"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Değiştirmek için ChromeOS Ayarları &gt; Gizlilik ve güvenlik &gt; Gizlilik denetimleri &gt; Konum erişimi bölümüne gidin"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Yüz ve <xliff:g id="WATCH">%s</xliff:g> eklendi"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Yüz, parmak izi ve <xliff:g id="WATCH">%s</xliff:g> eklendi"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Yüz, parmak izleri ve <xliff:g id="WATCH">%s</xliff:g> eklendi"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Kimlik Kontrolü açık ve biyometrik doğrulama gerektiriyor"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Uzaktan Kimlik Doğrulayıcı Kilidini Açma"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Kol saati eklendi"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Kol saatinizi kurma"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Saat ile Kilit Açma hakkında daha fazla bilgi"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Kol saati ekle"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Kol saatini kaldır"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Parmak İzi ve Yüz Tanıma Kilidi"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Yüz Tanıma ve Parmak İzi Kilidi"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"İş profili için Yüz Tanıma ve Parmak İzi Kilidi"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Kurulum gerekiyor"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Yüz ve parmak izleri eklendi"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Özel alan kuruluyor…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Özel alan kurulamadı"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Tekrar Dene"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Çıkış"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Özel alan kullanılamıyor.\nOlası nedenleri görüntüleyin"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Olası nedenleri görüntüleyin"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Özel alan için yeni bir kilit seçilsin mi?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Yalnızca özel alanda kullanılacak yeni bir kilit ayarlayabilir veya cihazınızın kilidini açmak için kullandığınız kilidin aynısını kullanabilirsiniz"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Ekran kilidi kullan"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Bluetooth açıkken cihazınız yakındaki diğer Bluetooth cihazlarla iletişim kurabilir.\n\nUygulamalar ve hizmetler, cihaz deneyimini iyileştirmek için Bluetooth kapalıyken bile yakında cihaz olup olmadığını belirlemek amacıyla herhangi bir zamanda tarama yapabilir. Bu özellik, örneğin, konuma dayalı özellikleri ve hizmetleri iyileştirmek için kullanılabilir. Bunu Bluetooth tarama ayarlarından değiştirebilirsiniz."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Bluetooth açık olduğunda, cihazınız yakındaki Bluetooth cihazlarla iletişim kurabilir. Quick Share ve Cihazımı Bul gibi özellikler Bluetooth\'u kullanır.\n\nUygulamalar ve hizmetler, Bluetooth kapalıyken bile yakında cihaz olup olmadığını belirlemek için her zaman tarama yapabilir. Bu özellik, örneğin, konuma dayalı özellikleri ve hizmetleri iyileştirmek için kullanılabilir. Bunu istediğiniz zaman Bluetooth tarama ayarlarından değiştirebilirsiniz."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Değiştir"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Cihaz ayrıntıları"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Klavye ayarları"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Diğer ayarlar"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Donanım yazılımı güncellemesi, hakkında ve fazlası"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"İpuçları ve destek"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Cihazın Bluetooth adresi: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Cihazın Bluetooth adresi:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Cihaz unutulsun mu?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Deneysel. Ses kalitesini artırır."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Cihazı unut"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Uygulamanın bağlantısını kes"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Diğer ayarlar"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Maksimum sayıda bağlı Bluetooth ses cihazı"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Maksimum sayıda bağlı Bluetooth ses cihazı seç"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC ayrıntılı satıcı hata ayıklama günlüğü"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Cihaz Yeniden Başlatılsın mı?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Ayrıntılı NFC günlük kaydı, yalnızca geliştirme amaçlıdır. Hata raporlarında, özel bilgiler içerebilen ek NFC verileri yer alır. Bu ayarı değiştirmek için cihazınızı yeniden başlatın."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Yeniden başlat"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Açık"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Kapalı"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Harici Ekran"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Harici ekran kullanın"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Ekran çözünürlüğü"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Harici ekranın bağlantısı kesildi"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Döndürme"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standart"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Döndürme veya çözünürlük ayarını değiştirmek, çalışmakta olan uygulamaları durdurabilir"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Ekranınızı yansıtmak için cihazınızın harici bir ekrana bağlı olması gerekir"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Diğer seçenekler"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Yayın"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"ayna"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Kablosuz görüntülemeyi etkinleştir"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Uyarlanabilir"</string>
     <string name="brightness" msgid="6216871641021779698">"Parlaklık düzeyi"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Otomatik parlaklık"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Otomatik parlaklık hakkında"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Ekranınızın parlaklığı, bulunduğunuz ortama ve aktivitelerinize göre otomatik olarak ayarlanır. Otomatik parlaklık özelliğinin tercihlerinizi öğrenmesine yardımcı olmak için kaydırma çubuğunu manuel olarak hareket ettirebilirsiniz."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Açık"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Kapalı"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Mobil veri için <xliff:g id="CARRIER">%1$s</xliff:g> kullanılsın mı?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Mobil veri için <xliff:g id="CARRIER2_0">%2$s</xliff:g> operatörünü kullanıyorsunuz. <xliff:g id="CARRIER1">%1$s</xliff:g> operatörüne geçiş yaparsanız mobil veri için <xliff:g id="CARRIER2_1">%2$s</xliff:g> operatörünü artık kullanamazsınız."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"<xliff:g id="CARRIER">%1$s</xliff:g> adlı operatörü kullan"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Tercih edilen SIM güncellensin mi?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g>, cihazınızdaki tek SIM kart. Bu SIM kartı mobil veri, çağrı ve SMS mesajları için kullanmak istiyor musunuz?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> artık birincil SIM\'iniz oldu"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Mobil veri kapsamı iyileştirilsin mi?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Cihazınızın, daha uygun olduğunda mobil veri için <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> adlı operatöre otomatik olarak geçmesine izin verin."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Aramalar, mesajlar ve ağ trafiği kuruluşunuz tarafından görülebilir."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Seçenekler"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Erişilebilirlik"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fiziksel klavye"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Ekran klavyesi kullan"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Fiziksel klavye etkin durumdayken ekranda tut"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Geri sekme tuşları"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Klavye, aynı tuşa <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms. içinde hızlı bir şekilde tekrarlanan basma işlemlerini yoksayar"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Yavaş tuşlar"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Bir tuşa basma işleminin etkinleştirileceği süreyi <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms. olarak ayarlar"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Yapışkan tuşlar"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Tuşları aynı anda basılı tutmak yerine kısayollar için tek seferde bir tuşa basın"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Fare tuşları"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Fareyi kontrol etmek için fiziksel klavye kullanılsın"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Klavye kısayolları"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Kısayol listesini göster"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"İş profili klavyeleri ve araçları"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Dokunmatik alan gezinme hareketlerini ayrı ayrı özelleştirin"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Ters kaydırma"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Aşağı kaydırdığınızda içerikler yukarı çıkar"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Sağ alt tarafa dokunma"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Daha fazlası için dokunmatik alanın sağ alt köşesine dokunun"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Sağ alt tarafı tıkla"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Seçenekler için dokunmatik alanın sağ alt köşesini tıklayın"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"İşaretçi hızı"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"İşaretçi dolgu stili"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"İşaretçi dolgu stilini siyah yapın"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"İşaretçi dolgu stilini sarı yapın"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"İşaretçi dolgu stilini pembe yapın"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"İşaretçi dolgu stilini mavi yapın"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"İşaretçi çizgi stili"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Beyaz"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Siyah"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Yok"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Dokunmatik alan hareketlerini öğren"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"dokunmatik yüzey, dokunma yüzeyi, fare, imleç, kaydırma, sağ tıklama, tıklama, işaretçi"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"sağ tıklama, dokunma"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Sıfırla"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Değiştirici tuşu seçin"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> için yeni bir tuş seçin:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> düzeni"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Varsayılan"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Otomatik: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Kullanıcı tarafından <xliff:g id="LAYOUT_LABEL">%s</xliff:g> seçildi"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Konuşma"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"İşaretçi hızı"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"İşaretçi boyutu"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"İşaretçi boyutunu küçült"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"İşaretçi boyutunu büyüt"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Oyun Denetleyici"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Titreşimi yönlendir"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Bağlandığında oyun denetleyiciye titreşim gönder"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Yine de devam et"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"İptal"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Büyütme ayarları"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Tek parmakla kaydırma"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Büyüteci 1 parmağınızla hareket ettirin"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Ekranda gezinmek için parmağınızı sürükleyin"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Tek parmağınızı sürükleyerek büyütme alanını taşıyın."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"İki parmağınızı sürükleyerek büyütme alanını taşıyın."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Ekranın yalnızca bir kısmını büyütürken kullanılamaz"</string>
@@ -2115,6 +2159,8 @@
     <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_intro_text" msgid="3856180549393526339">"İçerikleri büyütmek için ekranı hızlıca yakınlaştırın"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Yakınlaştırmak için:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Büyütmeyi başlatmak için kısayolu kullanın&lt;br/&gt; {1,number,integer}. Ekrana dokunun&lt;br/&gt; {2,number,integer}. Ekranda gezinmek için 2 parmağınızı sürükleyin&lt;br/&gt; {3,number,integer}. Yakınlaştırmayı ayarlamak için 2 parmağınızla sıkıştırın&lt;br/&gt; {4,number,integer}. Büyütmeyi durdurmak için kısayolu 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; {0,number,integer}. Büyütme yönteminin tam ekran olarak ayarlandığından emin olun&lt;br/&gt; {1,number,integer}. Büyütmeyi başlatmak için kısayolu kullanın&lt;br/&gt; {2,number,integer}. Ekranda herhangi bir yere dokunup basılı tutun&lt;br/&gt; {3,number,integer}. Ekranda gezinmek için parmağınızı sürükleyin&lt;br/&gt; {4,number,integer}. Büyütmeyi durdurmak için parmağınızı kaldırın"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Yakınlaştırmak için:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Büyütmeyi başlatmak için kısayol kullanın&lt;br/&gt; {1,number,integer}. Ekrana dokunun&lt;br/&gt; {2,number,integer}. Ekranda gezinmek için 2 parmağınızı sürükleyin&lt;br/&gt; {3,number,integer}. Yakınlaştırmayı ayarlamak için 2 parmağınızla sıkıştırın&lt;br/&gt; {4,number,integer}. Büyütmeyi durdurmak için kısayol kullanın&lt;br/&gt;&lt;br/&gt; Ayrıca geçici olarak yakınlaştırabilir ve diğer işlemleri yapabilirsiniz."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Yakınlaştırmak için:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Büyütmeyi başlatmak için kısayol kullanın&lt;br/&gt; {1,number,integer}. Ekrana dokunun&lt;br/&gt; {2,number,integer}. Ekranda hareket etmek için 1 veya 2 parmağınızı sürükleyin&lt;br/&gt; {3,number,integer}. Yakınlaştırmayı ayarlamak için 2 parmağınızla sıkıştırın&lt;br/&gt; {4,number,integer}. Büyütmeyi durdurmak için kısayol kullanın&lt;br/&gt;&lt;br/&gt; Ayrıca geçici olarak yakınlaştırabilir ve diğer işlemleri yapabilirsiniz."</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_pager" msgid="8461939455728454061">"Sayfa <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Erişilebilirlik düğmesi kısayolu"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Kayan düğmeye dokunun"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Erişilebilirlik hareketi"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Ekranın alt kısmındaki erişilebilirlik düğmesine <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> dokunun. Özellikler arasında geçiş yapmak için erişilebilirlik düğmesine dokunup basılı tutun."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"2 parmağınızla ekranın altından yukarı kaydırın.\n\nÖzellikler arasında geçiş yapmak için 2 parmağınızla yukarı kaydırıp basılı tutun."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"3 parmağınızla ekranın altından yukarı kaydırın.\n\nÖzellikler arasında geçiş yapmak için 3 parmağınızla yukarı kaydırıp basılı tutun."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Ekranın alt kısmından yukarı doğru kaydırın. Özellikler arasında geçiş yapmak için yukarı doğru kaydırıp basılı tutun.}other{# parmağınızla ekranın alt kısmından yukarı doğru kaydırın. Özellikler arasında geçiş yapmak için # parmağınızla yukarı doğru kaydırıp basılı tutun.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Diğer seçenekler"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"<xliff:g id="SERVICE">%1$s</xliff:g> hakkında ek bilgi"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Ses seviyesi tuşları"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"ses seviyesi tuşları"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Ses seviyesi tuşlarının ikisini birden basılı tutun"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"İki parmağınızla ekrana iki kez dokunun"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d parmağınızla iki kez dokunma"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Ekrana %1$d parmağınızla iki kez hızlıca dokunun"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Üç kez dokunma"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Ekrana %1$d kez hızlıca dokunun. Bu kısayol cihazınızı yavaşlatabilir."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d parmağınızla iki kez dokunma"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"İki parmağınızla ekrana {0,number,integer} kez hızlıca dokunun"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Ekrana üç kez dokun"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"üç kez dokunma"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Ekrana {0,number,integer} 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Kısayol ayarları"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Kilit ekranından kısayol"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Özellik kısayolunun kilit ekranından açılmasına izin verin. Ses tuşlarının ikisini birden birkaç saniyeliğine basılı tutun."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Erişilebilirlik düğmesi"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Erişilebilirlik düğmesi ve hareketi"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Bu hizmet hatalı çalışıyor."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Erişilebilirlik kısayolları"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Hızlı Ayarlar\'da göster"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Kırmızı-yeşil"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Kırmızı-yeşil"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Kırmızı-yeşil, yeşil zayıf"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Kırmızı-yeşil, kırmızı zayıf"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Mavi-sarı"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Gri tonlama"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Yoğunluk"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Yeşil zayıf, yeşil renk körlüğü"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Kırmızı zayıf, protanomali"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Gri tonlama modunda veya renk düzeltme devre dışıyken kullanılamaz"</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">"Tritanomali"</string>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Ekstra loş"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Ekranı ekstra loş yap"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Camgöbeği"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Sarı"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Macenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"<xliff:g id="SERVICE">%1$s</xliff:g> hizmetinin cihazınızı tamamen kontrol etmesine izin veriyor musunuz?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> şunları gerektiriyor:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Bir uygulama bir izin isteğinin anlaşılmasını engellediğinden, Ayarlar, yanıtınızı doğrulayamıyor."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g>, bu cihazın tam kontrolünü istiyor. Hizmet, ekranı okuyabilir ve erişilebilirlik gereksinimleri olan kullanıcıların adına hareket edebilir. Bu kontrol düzeyi, çoğu uygulama için uygun değildir."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Erişebilirlik ihtiyaçlarınıza yardımcı olan uygulamalara tam kontrol verilmesi uygundur ancak diğer pek çok uygulama için uygun değildir."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Ekranı görüntüleme ve kontrol etme"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Ekrandaki tüm içeriği okuyabilir ve içeriği diğer uygulamaların üzerinde gösterebilir."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"İşlemleri görüntüleme ve gerçekleştirme"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Bir uygulama veya donanım sensörüyle etkileşimlerinizi takip edebilir ve sizin adınıza uygulamalarla etkileşimde bulunabilir."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"İzin ver"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Reddet"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Kapat"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Açık/<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> ve <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Bluetooth cihazlar için de üç boyutlu sesi açabilirsiniz."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Bağlı cihaz ayarları"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Üç Boyutlu Ses"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Kapalı"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Kapalı"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Kapalı"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Yok}=1{1 program ayarlandı}other{# program ayarlandı}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Rahatsız Etmeyin"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Öncelik Modları"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Mod ekleyin"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Modlar"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Uyku, çalışma, sürüş gibi çeşitli modlarla dikkat dağıtan unsurları azaltıp istediğiniz yere odaklanın."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Kendi modunuzu oluşturun"</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_select_schedule" msgid="663163931596092952">"Program ayarlama"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Program ölçütü:"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Gün ve saat"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"hafta içi 09:00-17:00\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Takvim etkinlikleri"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} etkin}=2{{mode_1} ve {mode_2} etkin}=3{{mode_1}, {mode_2} ve {mode_3} etkin}other{{mode_1}, {mode_2} ve # mod daha etkin}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 mod otomatik olarak etkinleştirilebilir}other{# mod otomatik olarak etkinleştirilebilir}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"AÇIK"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Ayarlanmadı"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Devre dışı"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Mod oluşturun"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Özel"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Şimdi aç"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Kapat"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Mod bulunamadı"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Kesintileri sınırlayın"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Kesintileri ve dikkat dağıtan unsurları engelleyin"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g> cihazını kur"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Rahatsız Etmeyin\'i açın"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarm ve medya sesleri kesintiye neden olabilir"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Programlar"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Programları sil"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Sil"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Yeniden adlandır"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Sil"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"\"<xliff:g id="MODE">%1$s</xliff:g>\" modu silinsin mi?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Düzenle"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Programlar"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Programla"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Otomatik olarak aç"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Takvim ekleyin"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Takviminizi kullanın"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Program"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Program ayarlama"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Otomatik olarak açılma zamanı"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Etkinlik programı"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Şu etkinlikler sırasında aç:"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Davet yanıtı şu olduğunda:"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Zamana dayalı program"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Program"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> sa. <xliff:g id="MINUTES">%2$d</xliff:g> dk."</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Program"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Ses çıkaran kesintilere izin ver"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Alabileceğiniz bildirimler"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Diğer işlemler"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Bildirim filtreleri"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Diğer ayarlar"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Kapalı}=1{Kapalı/1 mod otomatik olarak açılabilir}other{Kapalı/# mod otomatik olarak açılabilir}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Ekran ayarları"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Görüntüleme seçenekleri"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Gri tonlama"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"koyu temayı etkinleştir"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"İşletim sistemini ve uygulamaları, koyu arka plan üzerinde açık renkli metin kullanacak şekilde değiştirin. Böylece gözünüz yorulmaz ve bazı cihazlarda önemli ölçüde pil tasarrufu yapabilirsiniz"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Ekranda değişiklik yok}=1{{effect_1}}=2{{effect_1} ve {effect_2}}=3{{effect_1}, {effect_2} ve {effect_3}}other{{effect_1}, {effect_2} ve # ayar daha}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Tüm bildirimlere izin ver"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Kişiler, uygulamalar ve sesler kesintiye neden olabilir"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Filtrelenen bildirimlerle ilgili ekran seçenekleri"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Rahatsız Etmeyin ayarı açık olduğunda"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Bildirimlerden sesli uyarı yok"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"bildirimi aç"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Bildirimin ertelenmesine izin ver"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Uygulama simgesinde bildirim noktası"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Bildirim paketleri"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Baloncuklar"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Baloncuklar"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Bu görüşmeyi baloncuk olarak göster"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Mesajları yanıtlamanın yanı sıra bildirimlerdeki düğmeleri kullanarak bildirimleri erteleme ya da kapatma ve aramaları yanıtlama gibi işlemleri gerçekleştirebilir."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Ayarları değiştirme"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Rahatsız Etmeyin özelliğini açıp kapatabilir ve ilgili ayarları değiştirebilir."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Modlar\'ı yönetebilir, etkinleştirebilir ve ilgili ayarları değiştirebilir."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> için bildirim erişimini kapatırsanız Rahatsız Etmeyin erişimi de kapanabilir."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> için bildirimlere erişimi devre dışı bırakırsanız Modlar\'a erişim de devre dışı bırakılabilir."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Kapat"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"İptal"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Gerçek zamanlı"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Bu uygulama, gelişmiş ayarları desteklemiyor"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Diğer ayarlar"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Bu uygulamada daha fazla ayar mevcut"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Uyarlanabilir Bildirimler"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Uyarlanabilir bildirimleri kullanın"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Kısa süre içinde çok sayıda bildirim aldığınızda telefonunuz iki dakika boyunca sesi kısar ve ekrandaki pop-up\'ları azaltır. Aramalar, alarmlar ve öncelikli görüşmeler titreşimle ve sesle uyarı vermeye veya ekranda görünmeye devam eder. Ayrıca parmağınızı ekranın üst kısmından aşağı kaydırarak tüm bildirimleri kolayca görebilirsiniz."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Bildirim bekleme süresi"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Bildirim şiddetini düşürmeyi kullanın"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Kısa süre içinde çok sayıda bildirim aldığınızda cihazınız 2 dakika boyunca sesi kısar ve uyarıları azaltır. Aramalar, alarmlar ve öncelikli görüşmeler bu durumdan etkilenmez. \n\nBildirim şiddeti düşürülürken aldığınız bildirimlere ekranın üst tarafından aşağı doğru çekerek ulaşabilirsiniz."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"İş profillerine uygula"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"İş profili uygulamalarına uygulayın"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR yardımcı hizmetleri"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Rahatsız Etmeyin erişimi"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Rahatsız Etmeyin\'e izin ver"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Yüklü hiçbir uygulama Rahatsız Etmeyin erişimi isteğinde bulunmadı"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Modlar iznine erişim"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Modlar\'a erişim izni ver"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Yüklü hiçbir uygulama, Modlar erişimi isteğinde bulunmadı."</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Bu uygulamadan gelen bildirimlere izin vermediniz"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"İsteğiniz üzerine Android, bu kategorideki bildirimlerin bu cihazda görünmesini engelliyor"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"İsteğiniz üzerine Android, bu bildirim grubunun bu cihazda görünmesini engelliyor"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Kategoriler"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Diğer"</string>
     <string name="no_channels" msgid="4716199078612071915">"Bu uygulama herhangi bir bildirim yayınlamadı"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Kullanılmayan kategorileri göster"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Uygulamadaki ek ayarlar"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Kullanılmayan kategorileri göster"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Kullanılmayan kategorileri gizle"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Görüşmeler"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Tüm görüşmeler"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"tüm görüşmeler"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Öncelikli görüşmeler"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"öncelikli görüşmeler"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Yok"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Kesintiye neden olabilecek uygulamalar"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Seçili uygulamalar"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Yok"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Tümü"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Hiçbir uygulama kesintiye neden olamaz}=1{{app_1} kesintiye neden olabilir}=2{{app_1} ve {app_2} kesintiye neden olabilir}=3{{app_1}, {app_2} ve {app_3} kesintiye neden olabilir}other{{app_1}, {app_2} ve # uygulama daha kesintiye neden olabilir}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (İş)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Hesaplanıyor…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</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_header" msgid="60083006963906906">"Kesintiye neden olabilecek uygulamalar"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Daha fazla uygulama seçin"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Hiçbir şey kesintiye neden olamaz"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Hiç kimse kesintiye neden olamaz"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Bazı kişiler kesintiye neden olabilir"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Tekrar arayanlar araya girebilir"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Tüm kişiler kesintiye neden olabilir"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Tekrar arayanlar"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Tekrar arayanlara izin ver"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Saat {time} olana kadar bir saat boyunca yalnızca alarmlar seçeneğine geç}other{Saat {time} olana kadar # saat boyunca yalnızca alarmlar seçeneğine geç}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Yalnızca şu saate kadar alarmlara geç: <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Her zaman kes seçeneğine değiştir"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Yeniden adlandır"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Simgeyi değiştir"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Simgeyi değiştirme"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Düzenleme modu"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Mod oluşturun"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Özel mod"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Mod adı"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Takvim etkinlikleri"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Uyku vakti rutini"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Araç kullanırken"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Uygulama ayarları"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"<xliff:g id="APP_NAME">%1$s</xliff:g> ayarları ve bilgileri"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"<xliff:g id="APP_NAME">%1$s</xliff:g> tarafından yönetiliyor"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g> kapatılsın mı?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Bu mod devre dışıyken hiçbir zaman açılmaz"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Devre dışı bırak"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g> modu açılsın mı?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Bu mod, ayarlarına göre otomatik olarak açılabilir"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Etkinleştir"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Düzenli olarak belirli zamanlarda etkinleşen bir mod ayarlayın"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Takvim etkinlikleri ve davet yanıtlarına göre etkinleşen bir mod ayarlayın"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Rahatlatıcı bir uyku rutini tasarlayın. Alarm kurun, ekranı karartın ve bildirimleri engelleyin."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Araba kullanırken dikkatiniz dağılmadan yola odaklanmak için trafikte güvenliğe öncelik verin"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Odaklanmak için cihazınızdaki dikkat dağıtan veya kesintiye neden olan unsurları engelleyin"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Sessiz bir ortam için dikkat dağıtan tüm unsurları ortadan kaldırın"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Cihaz deneyimlerini ve ayarlarını farklı kullanıcılara göre kişiselleştirin"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Yalnızca önemli kişilerin ve uygulamaların size erişmesine izin vererek kesintileri en aza indirin"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Düzenli olarak belirli zamanlarda etkinleşen bir mod ayarlayın"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Cihazınızı günlük etkinliklerinizle senkronize tutun"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Uyandığınızda kendinizi %100 zinde hissedin"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Yolda güvenliğe öncelik verin"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Odaklanın ve konsantre olun"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"İncelikli davranmanız gereken durumlarda"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Güvende kalmanıza yardımcı olacak rehberli kullanım"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Dikkatinizi kontrol altına alın"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Uyarı"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Kapat"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Bu cihazla ilgili geri bildirim gönder"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Bildirim erişimi açık olduğundan bu ayar açık kalmalı"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"<xliff:g id="APP">%1$s</xliff:g> için Rahatsız Etmeyin özelliğine erişim izni kaldırılsın mı?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Bu uygulama tarafından oluşturulmuş tüm Rahatsız Etmeyin kuralları kaldırılacak."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"<xliff:g id="APP">%1$s</xliff:g> uygulamasının Modlar\'a erişmesine izin verilsin mi?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Uygulama; Rahatsız Etmeyin özelliğini açıp kapatabilecek, Modlar\'ı yönetip etkinleştirebilecek ve ilgili ayarları değiştirebilecek."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Bu uygulama tarafından oluşturulmuş tüm modlar kaldırılacak."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Optimize etme"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimize et"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Pilinizi daha hızlı tüketebilir. Uygulamanın arka planda pil kullanımı artık kısıtlanmayacak."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Kılıf"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Pil"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Ayarlar Paneli"</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_desktop_mode" msgid="5644818402534562302">"Serbest biçimli pencereleri etkinleştir"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Serbest biçimli pencereleri ikincil ekranda etkinleştir"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Çoklu pencerede yeniden boyutlandırılamayan uygulamalara izin ver"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Çoklu pencerede yeniden boyutlandırılamayan uygulamalara izin verir"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Zorunlu koyu modu geçersiz kıl"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobil veri"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Uygulamalar ve hizmetler, cihaz deneyimini iyileştirmek için Kablosuz özelliği kapalı bile olsa kablosuz ağları herhangi bir zamanda tarayabilir. Bu özellik, örneğin konuma dayalı özellikleri ve hizmetleri iyileştirmek için kullanılabilir. Bunu kablosuz ağ taraması ayarlarından değiştirebilirsiniz."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Değiştir"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Bağlı"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Geçici olarak bağlandı"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Geçici olarak <xliff:g id="SUBNAME">%1$s</xliff:g> kullanılıyor"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Uygulama sabitlemeyi kullan"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Geliştirici seçeneklerini kullan"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Yazdırma hizmetini kullan"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Birden çok kullanıcıya izin ver"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Kullanıcı değişikliğine izin ver"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"izin ver, çoklu, kullanıcı, izin birden fazla"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"birden fazla, kullanıcılar, profiller, kişiler, hesaplar, geçiş, birçok"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Kablosuz hata ayıklamayı kullan"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>, bu telefona bağlanmak istiyor.\n\n<xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> adlı cihaza daha önce bağlanmadınız."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Bağlanma"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Bağlan"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE Ayarları"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Açık"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Kapalı"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Varsayılan Ayarlara geri dönülsün mü?"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Ayarlar varsayılana geri döndürüldü."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Maksimum Doymuş Bakiye"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Bakiye"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Tüketim Sınırları"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"İlk Tüketim Sınırı"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Minimum Tüketim Sınırı"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Maksimum Tüketim Sınırı"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Değiştiriciler"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"İşlemler (Üretim Maliyeti)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"İşlemler (Taban Fiyat)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Tek etkinlik başına ödüller"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Etkinlik süresince saniye başına ödüller"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Günlük Maksimum Ödül"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Uygulama Yükleme"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"En Üstteki Etkinlik"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Bildirim Görüldü"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Bildirim 15 Dakika İçinde Görüldü"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Bildirim Etkileşimi"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Widget Etkileşimi"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Diğer Kullanıcı Etkileşimleri"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Maks Öncelikli İş Başlangıcı"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Maks Öncelikli İş Çalışıyor"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Yüksek Öncelikli İş Başlangıcı"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Yüksek Öncelikli İş Çalışıyor"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Varsayılan Öncelikli İş Başlangıcı"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Varsayılan Öncelikli İş Çalışıyor"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Düşük Öncelikli İş Başlangıcı"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Düşük Öncelikli İş Çalışıyor"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Min Öncelikli İş Başlangıcı"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Min Öncelikli İş Çalışıyor"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"İş Zaman Aşımı Cezası"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Minimum Doymuş Bakiye (Muaf)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Minimum Doymuş Bakiye (Gözetimsiz Sistem Uygulaması)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Minimum Doymuş Bakiye (Diğer Uygulamalar)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Minimum Dolu Bakiye Eklemesi (Uygulama Güncelleyiciler)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Şarj etme"</item>
-    <item msgid="658627268149681677">"Doz"</item>
-    <item msgid="1599558140284643834">"Güç Tasarrufu Modu"</item>
-    <item msgid="588427840913221601">"İşlem Durumu"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Onayla"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Önizleme"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Ekran koruyucu seçin"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Ek bilgi göster"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Tabletiniz yuvaya yerleştirildiğinde ekranınızda nelerin görünmesini istediğinizi seçin. Ekran koruyucu kullanıldığında cihazınız daha fazla enerji tüketebilir."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Özelleştir"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Özelleştir <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Serbest biçimli desteğin etkinleştirilmesi için yeniden başlatma gerekir."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"İkincil ekranlarda masaüstü modunu zorlamak için yeniden başlatma gerekir."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Serbest biçimli desteğin etkinleştirilmesi için yeniden başlatma gerekir."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Serbest biçimli pencerelerin kullanım durumunun güncellenmesi için yeniden başlatma gerekir."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Serbest biçimli pencerelerin ikincil ekranlarda etkinleştirilmesi için yeniden başlatma gerekir."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Şimdi yeniden başlat"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Sonra yeniden başlat"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Üç Boyutlu Ses"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Gül pembesi"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Macenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Mor"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Bitti"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Kaydet"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"İptal"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Varsayılan"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Orta"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Açık"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Kapalı"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Açık"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Ses %%%1$d sol, %%%2$d sağ"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Ses %%%1$d sağ, %%%2$d sol"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Yüklediğiniz uygulamalar, cihazınızın adını görebilecek. Cihazınızın adı ayrıca Bluetooth cihazlara bağlandığınızda, kablosuz ağa bağlandığınızda veya kablosuz hotspot oluşturduğunuzda diğer kişiler tarafından görülecektir."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Dil bilgisine uygun cinsiyet"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Dil bilgisine uygun cinsiyet seçin"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Ses paylaşımı durduruldu"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Uyumlu bir cihaz bağlayın"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Ses paylaşmaya başlamak için önce LE Audio kulaklığınızı telefonunuza bağlayın"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> cihazına geç"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"LE ses akışına bağlanın"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Yakındaki ses akışları"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Ses akışları"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Yayını dinle"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> adlı cihazda dinlemek için ses yayını QR kodunu tarayın"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Şifre, paylaşım sırasında düzenlenemez. Şifreyi değiştirmek için önce ses paylaşımını kapatın."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR kodu tarayıcı"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Yardıma mı ihtiyacınız var?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Ayarlar\'da ara"</string>
 </resources>
diff --git a/res/values-uk/arrays.xml b/res/values-uk/arrays.xml
index 0e7d8d6..45639e5 100644
--- a/res/values-uk/arrays.xml
+++ b/res/values-uk/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Час сну"</item>
-    <item msgid="4152450357280759894">"Водіння"</item>
-    <item msgid="7096549258219399423">"Реалістичність"</item>
-    <item msgid="2760716776980432977">"Керованість"</item>
-    <item msgid="601734478369121764">"Зірка"</item>
-    <item msgid="6243809315432780521">"Календар"</item>
-    <item msgid="4913577903148415331">"Час"</item>
-    <item msgid="3653377604690057780">"Театр"</item>
-    <item msgid="3843711267408385410">"Квітка"</item>
+    <item msgid="1216815120972438676">"Портфель"</item>
+    <item msgid="184985872234062767">"Будівля в класичному стилі"</item>
+    <item msgid="9189550412466785530">"Багатоквартирний будинок"</item>
+    <item msgid="2142527562511049422">"Виноска з текстом"</item>
+    <item msgid="2548100558260478605">"Група людей"</item>
+    <item msgid="2270003903304578284">"Лампочка"</item>
+    <item msgid="4793496619091161864">"Календар"</item>
+    <item msgid="5673625795644364100">"Не турбувати"</item>
+    <item msgid="1423820834865831361">"Людина біжить"</item>
+    <item msgid="2037298830718732608">"Гольф"</item>
+    <item msgid="2197835014443491074">"Спортивна гантель"</item>
+    <item msgid="2730180105015616518">"Плавання"</item>
+    <item msgid="2666922823253345958">"Людина в поході"</item>
+    <item msgid="8234880356472211396">"Людина кидає м’яч"</item>
+    <item msgid="4642980625253001443">"Людина б’є ногою"</item>
+    <item msgid="4324795269518833500">"Ігровий контролер"</item>
+    <item msgid="7789966425125441125">"Палітра художника"</item>
+    <item msgid="663512680597461570">"Сніжинка"</item>
+    <item msgid="7952183800501346803">"Пляжна парасоля"</item>
+    <item msgid="799139025758265891">"Інструменти для майстерні"</item>
+    <item msgid="1330084588359129896">"Намет"</item>
+    <item msgid="3861584909935022342">"Кіноплівка"</item>
+    <item msgid="5827426100157335512">"Книга"</item>
+    <item msgid="8585828346253128384">"Квітка лотоса"</item>
+    <item msgid="8788370542815300188">"Людський розум"</item>
+    <item msgid="7287354964767553293">"Навушники"</item>
+    <item msgid="2530059623783800987">"Телевізор"</item>
+    <item msgid="5307182323469376758">"Поїзд"</item>
+    <item msgid="4903790544026923026">"Автомобіль"</item>
+    <item msgid="5010405583912314582">"Виделка й ніж"</item>
+    <item msgid="8939998598599064900">"Кошик для покупок"</item>
+    <item msgid="3379605903308731893">"Дитина"</item>
+    <item msgid="7808668968550293112">"Лапа тварини"</item>
+    <item msgid="1000692647524056504">"Значок зірочки"</item>
+    <item msgid="8270261073421676502">"Двоє людей"</item>
+    <item msgid="5767782819651505460">"Зірка"</item>
+    <item msgid="4368451291862729334">"Серце"</item>
+    <item msgid="2613199102208419986">"Будинок"</item>
+    <item msgid="3022279986430275040">"Півмісяць"</item>
+    <item msgid="5421089790869483206">"Годинник"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 97ad11f..b93f4c7 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Призупинено"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Невідомо"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Переглянути"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR-код"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Зменшити"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Збільшити"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"Завжди"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Налаштування слухового апарата"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Ярлик, сумісність зі слуховими апаратами"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Набір налаштувань"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Немає наборів налаштувань, запрограмованих вашим аудіологом"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Не вдалось оновити набір налаштувань"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Аудіовихід"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Про аудіовихід"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Вибір мови для цього додатка в налаштуваннях неможливий"</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Мова може відрізнятися від мов, доступних у додатку. Деякі додатки можуть не підтримувати це налаштування."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Виберіть мову для кожного додатка."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Система, додатки й веб-сайти використовують першу підтримувану мову з вибраних вами."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Пристрій, додатки й вебсайти використовують першу підтримувану мову з вашого списку бажаних мов.\n\nБагато додатків також використовуватимуть формат дат, чисел і одиниць вимірювання, прийнятих у регіоні, що відповідає вибраній вами мові. Щоб змінити регіон, додайте мову, а потім виберіть потрібний регіон."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Щоб вибрати мову для кожного додатка, перейдіть у його налаштування мови."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Докладніше про мови додатків"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Змінити мову системи на таку: %s?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Вимкнено"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Увімкнено / # додаток має доступ до геоданих}one{Увімкнено / # додаток має доступ до геоданих}few{Увімкнено / # додатки мають доступ до геоданих}many{Увімкнено / # додатків мають доступ до геоданих}other{Увімкнено / # додатка мають доступ до геоданих}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Завантаження…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Додатки з дозволами на доступ до пристроїв поблизу можуть визначати відносне розташування підключених пристроїв."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Додатки з дозволами на доступ до пристроїв поблизу можуть визначати відносне розташування підключених пристроїв."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Доступ до геоданих вимкнено для додатків і сервісів. Однак дані про місцезнаходження вашого пристрою можуть надсилатися в екстрених випадках, якщо ви зателефонуєте або надішлете SMS на екстрений номер."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Докладніше про доступ до геоданих"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Щоб змінити налаштування, виберіть \"Налаштування ChromeOS\" &gt; \"Конфіденційність і безпека\" &gt; \"Налаштування конфіденційності\" &gt; \"Доступ до геоданих\""</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Додано обличчя та годинник \"<xliff:g id="WATCH">%s</xliff:g>\""</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Додано обличчя, відбиток пальця та годинник \"<xliff:g id="WATCH">%s</xliff:g>\""</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Додано обличчя, відбитки пальців і годинник \"<xliff:g id="WATCH">%s</xliff:g>\""</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Перевірку особи ввімкнено, і для неї потрібні біометричні дані"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Розблокування (Remote Authenticator)"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Годинник додано"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Налаштуйте свій годинник"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Докладніше про розблокування годинником"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Додати годинник"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Вилучити годинник"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Розблокування відбитком пальця й фейс-контроль"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Фейс-контроль і розблокування відбитком пальця"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Фейс-контроль і відбиток пальця для роботи"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Потрібно налаштувати"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Обличчя й відбитки пальців додано"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Налаштування приватного простору…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Не вдалося налаштувати приватний простір"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Повторити"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Вийти"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Приватний простір недоступний.\nПереглянути можливі причини"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Перегляньте можливі причини"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Вибрати новий спосіб розблокування для приватного простору?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Ви можете налаштувати новий спосіб розблокування лише для приватного простору або використовувати той самий, що й для розблокування пристрою"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Доступ розблокуванням екрана"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Коли ви вмикаєте Bluetooth, ваш пристрій може обмінюватися даними з іншими пристроями з цією технологією поблизу.\n\nДодатки й сервіси можуть шукати пристрої поруч, навіть якщо Bluetooth вимкнено. Завдяки цьому покращується робота пристрою, зокрема його функцій і сервісів, які використовують геодані. Таке налаштування можна змінити в параметрах пошуку пристроїв із Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Коли Bluetooth увімкнено, ваш пристрій може обмінюватися даними з пристроями з Bluetooth поблизу. Такі функції, як швидкий обмін і \"Знайти пристрій\", використовують Bluetooth.\n\nДодатки й сервіси можуть шукати пристрої поблизу, навіть якщо Bluetooth вимкнено. Завдяки цьому покращується робота пристрою, зокрема його функцій і сервісів, які використовують геодані. Це можна змінити в налаштуваннях пошуку пристроїв із Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Змінити"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Про пристрій"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Налаштування клавіатури"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Інші налаштування"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Оновлення мікропрограми, дані про пристрій тощо"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Поради й підтримка"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Адреса Bluetooth пристрою: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Адреса Bluetooth пристрою:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Забути пристрій?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Експерим. функція. Покращує якість аудіо"</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Забути пристрій"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Від’єднати додаток"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Інші налаштування"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Максимальна кількість підключених аудіопристроїв Bluetooth"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Вибрати максимальну кількість підключених аудіопристроїв Bluetooth"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Детальний журнал налагодження для постачальника NFC"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Перезапустити пристрій?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Ведення детальних журналів NFC призначене лише для розробки. Додаткові дані NFC включаються у звіти про помилки, які можуть містити приватну інформацію. Щоб змінити це налаштування, перезапустіть пристрій."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Перезапустити"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Увімкнено"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Вимкнено"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Зовнішній дисплей"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Використовувати зовнішній дисплей"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Роздільна здатність дисплея"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Зовнішній дисплей відключено"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Кут обертання"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Cтандартний"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Якщо змінити кут обертання або роздільну здатність, це може зупинити роботу додатків, які в цей момент запущені"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Щоб дублювати ваш екран, пристрій має бути підключено до зовнішнього дисплея"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Інші опції"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Трансляція"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"дзеркалювання"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Увімкнути бездротовий екран"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Адаптивні"</string>
     <string name="brightness" msgid="6216871641021779698">"Рівень яскравості"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Адаптивна яскравість"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Про адаптивну яскравість"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Яскравість екрана автоматично пристосовується до середовища й ваших дій. Ви можете пересунути повзунок вручну, щоб відкоригувати яскравість за власним бажанням."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Увімкнено"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Вимкнено"</string>
@@ -1311,8 +1344,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="8850185380445309835">"Змінити основну SIM-карту?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"На вашому пристрої є лише одна SIM-карта – <xliff:g id="NEW_SIM">%1$s</xliff:g>. Використовувати цю SIM-карту для мобільного трафіку, викликів і SMS-повідомлень?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"Тепер <xliff:g id="NEW_SIM">%1$s</xliff:g> – ваша основна SIM-карта"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Покращувати мобільний зв’язок?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Дозвольте пристрою автоматично перемикатися на мобільний Інтернет оператора <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g>, коли в його мережі краща якість зв’язку."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Журнали викликів, повідомлення та мережевий трафік можуть бачити адміністратори вашої організації."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Опції"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Доступність"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Фізична клавіатура"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Використовувати екранну клавіатуру"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Залишати її на екрані, коли активна фізична клавіатура"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Ігнорувати повторне натискання"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Клавіатура ігнорує кілька натискань однієї клавіші протягом <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> мс"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Повільні клавіші"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Установлює проміжок часу, через який клавіша реагує на натискання: <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> мс"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Залипання клавіш"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Натискайте клавіші по одній, замість того щоб утримувати їх одночасно"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Клавіші для керування мишею"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Використовувати фізичну клавіатуру для керування мишею"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Комбінації клавіш"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Показати список комбінацій клавіш"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Клавіатури та інструменти робочого профілю"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Налаштуйте жести для навігації на сенсорній панелі"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Зворотне прокручування"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Якщо прокручувати вниз, вміст екрана переміщується вгору"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Дотик у нижньому правому куті"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Торкніться правого нижнього кута, щоб переглянути інші опції"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Дотик у правому нижньому куті"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Натисніть сенсорну панель справа внизу, щоб побачити інші опції"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Швидкість курсора"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Стиль заповнення курсора"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Змінити стиль курсора на чорний"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Змінити стиль курсора на жовтий"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Змінити стиль курсора на рожевий"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Змінити стиль курсора на синій"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Стиль накреслення вказівника"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Білий"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Чорний"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Немає"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Жести сенсорної панелі: докладніше"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"сенсорна панель, трекпад, миша, курсор, прокрутити, гортати, права кнопка, натиснути, вказівник"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"натиснути правою кнопкою миші, натиснути"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Скинути"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Вибрати клавішу-модифікатор"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Виберіть нову клавішу для <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Розкладка <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"За умовчанням"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Автоматична розкладка: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Вибрано користувачем: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Мовлення"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Швидкість курсора"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Розмір курсора"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Зменшити розмір курсора"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Збільшити розмір курсора"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Ігровий контролер"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Переспрямувати вібросигнал"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Надсилати вібросигнал на ігровий контролер, коли є з’єднання"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Усе одно продовжити"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Скасувати"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Налаштування збільшення"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Панорамування одним пальцем"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Переміщуйте лупу одним пальцем"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Проводьте одним пальцем, щоб переміщатись екраном"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Переміщуйте область збільшення, перетягуючи одним пальцем."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Переміщуйте область збільшення, перетягуючи двома пальцями."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Недоступно, коли збільшено лише частину екрана"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Торкніться кнопки, щоб збільшити вміст"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Щоб краще роздивитися вміст екрана, його можна наблизити."</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Щоб наблизити зображення:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Активуйте збільшення, скориставшись призначеною для цього кнопкою чи відповідним жестом.&lt;br/&gt; {1,number,integer}. Торкніться екрана.&lt;br/&gt; {2,number,integer}. Щоб перейти до іншої області на екрані, потягніть по ньому двома пальцями.&lt;br/&gt; {3,number,integer}. Зведіть або розведіть два пальці, щоб змінити масштаб.&lt;br/&gt; {4,number,integer}. Вимкніть збільшення, скориставшись призначеною для цього кнопкою чи відповідним жестом.&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Щоб ненадовго наблизити зображення:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Переконайтеся, що вибрано тип збільшення \"На весь екран\".&lt;br/&gt; {1,number,integer}. Активуйте збільшення, скориставшись призначеною для цього кнопкою чи відповідним жестом.&lt;br/&gt; {2,number,integer}. Натисніть і втримуйте будь-яке місце на екрані.&lt;br/&gt; {3,number,integer}. Щоб переглянути іншу область на екрані, пересуньте палець.&lt;br/&gt; {4,number,integer}. Підніміть палець, щоб припинити збільшення."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Для цього:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Активуйте збільшення, скориставшись призначеною для цього кнопкою чи відповідним жестом.&lt;br/&gt; {1,number,integer}. Торкніться екрана.&lt;br/&gt; {2,number,integer}. Щоб перейти до іншої області на екрані, проведіть по ньому двома пальцями.&lt;br/&gt; {3,number,integer}. Зведіть два пальці, щоб змінити масштаб.&lt;br/&gt; {4,number,integer}. Вимкніть збільшення за допомогою швидкої команди.&lt;br/&gt;&lt;br/&gt; Ви також можете тимчасово збільшувати масштаб і не тільки."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Для цього:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Активуйте збільшення, скориставшись призначеною для цього кнопкою чи відповідним жестом.&lt;br/&gt; {1,number,integer}. Торкніться екрана.&lt;br/&gt; {2,number,integer}. Щоб перейти до іншої області на екрані, проведіть по ньому одним або двома пальцями.&lt;br/&gt; {3,number,integer}. Зведіть два пальці, щоб змінити масштаб.&lt;br/&gt; {4,number,integer}. Вимкніть збільшення за допомогою швидкої команди.&lt;br/&gt;&lt;br/&gt; Ви також можете тимчасово збільшувати масштаб і не тільки."</string>
     <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Коли функцію збільшення ввімкнено, ви можете наближувати вміст на екрані.\n\n"<b>"Щоб наблизити вміст"</b>", увімкніть збільшення, а потім торкніться будь-якого місця на екрані.\n"<ul><li>"Щоб прокрутити вміст, проведіть по екрану принаймні двома пальцями"</li>\n<li>"Щоб змінити масштаб, стисніть або розведіть принаймні два пальці"</li></ul>\n\n<b>"Щоб тимчасово збільшити вміст"</b>", увімкніть збільшення, а потім натисніть і утримуйте будь-яке місце на екрані.\n"<ul><li>"Пересувайте палець, щоб переміщатись екраном"</li>\n<li>"Підніміть палець, щоб знову зменшити елемент"</li></ul>\n\n"Масштабування не підтримується на клавіатурі та панелі навігації."</string>
     <string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Сторінка <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> з <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Швидка дія кнопкою функцій доступності"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Натисніть плаваючу кнопку"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Жест функцій доступності"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Натисніть кнопку функцій доступності <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> унизу екрана. Щоб переключитися між функціями, натисніть і утримуйте цю кнопку."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Проведіть двома пальцями знизу вгору по екрану.\n\nЩоб переключитися між функціями, проведіть двома пальцями вгору й утримуйте екран."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Провести по екрану знизу вгору трьома пальцями.\n\nЩоб переключитися між функціями, проведіть по екрану знизу вгору трьома пальцями й утримуйте їх."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Проведіть пальцем угору від низу екрана. Щоб переключитися між функціями, проведіть пальцем угору й утримуйте його.}one{Проведіть # пальцем угору від низу екрана. Щоб переключитися між функціями, проведіть по екрану знизу вгору # пальцем і утримуйте їх.}few{Проведіть # пальцями вгору від низу екрана. Щоб переключитися між функціями, проведіть по екрану знизу вгору # пальцями й утримуйте їх.}many{Проведіть # пальцями вгору від низу екрана. Щоб переключитися між функціями, проведіть по екрану знизу вгору # пальцями й утримуйте їх.}other{Проведіть # пальця вгору від низу екрана. Щоб переключитися між функціями, проведіть по екрану знизу вгору # пальця й утримуйте їх.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Інші опції"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Докладніше про сервіс <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Клавіші гучності"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"клавіші гучності"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Утримуйте обидві клавіші гучності"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Двічі торкніться екрана двома пальцями"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Двічі торкнутися %1$d пальцями"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Швидко двічі торкніться екрана %1$d пальцями"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Тричі торкнутися"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Швидко торкніться екрана %1$d рази. Це може сповільнити роботу пристрою."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"двічі торкнутися %1$d пальцями"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Швидко торкніться екрана двома пальцями стільки разів: {0,number,integer}"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Тричі торкнутися екрана"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"тричі торкнутися"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Швидко натисніть екран стільки разів: {0,number,integer}. Призначена кнопка чи відповідний жест може сповільнити роботу пристрою."</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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Налаштування засобу спеціальних можливостей"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Комбінація на заблокованому екрані"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Дає змогу вмикати функцію із заблокованого екрана за допомогою комбінації клавіш. Натисніть і утримуйте обидві клавіші гучності впродовж кількох секунд."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Кнопка функцій доступності"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Кнопка й жест функцій доступності"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Ця служба не працює."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Швидке ввімкнення функцій доступності"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Показувати на панелі швидкого налаштування"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Червоний – зелений"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Червоний – зелений"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Червоний–зелений, слабке сприйняття зеленого"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Червоний–зелений, слабке сприйняття червоного"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Синій – жовтий"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Відтінки сірого"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Інтенсивність"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Слабкість сприйняття зеленого, дейтераномалія"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Слабкість сприйняття червоного, протаномалія"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Недоступно для режиму \"Відтінки сірого\" і якщо вимкнено корекцію кольору"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Додаткове зменшення яскравості"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Додатково зменшувати яскравість екрана"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Блакитний"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Жовтий"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Пурпуровий"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Надати сервісу \"<xliff:g id="SERVICE">%1$s</xliff:g>\" повний доступ до вашого пристрою?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"Службі <xliff:g id="SERVICE">%1$s</xliff:g> потрібно:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Вашу відповідь не видно в Налаштуваннях, оскільки інший додаток загороджує запит на дозвіл."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"Сервіс <xliff:g id="SERVICE">%1$s</xliff:g> просить повний доступ до цього пристрою. Він може переглядати вміст на екрані й виконувати дії від імені користувачів з особливими потребами. Такий рівень доступу не призначений для більшості додатків."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Повний доступ потрібен додаткам, які підтримують функції доступності, але його не варто відкривати для більшості інших додатків."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Перегляд і контроль екрана"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Цей сервіс може переглядати всі дані на екрані й показувати контент поверх інших додатків."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Перегляд і виконання дій"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Цей сервіс може відстежувати вашу взаємодію з додатком чи апаратним датчиком, а також взаємодіяти з додатками від вашого імені."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Дозволити"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Заборонити"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Вимкнути"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Увімкнено / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> і <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Для пристроїв із Bluetooth також можна ввімкнути просторове звучання."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Налаштування підключених пристроїв"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Просторове звучання"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Вимкнено"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Вимкнено"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Вимкнено"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Немає}=1{Налаштовано 1 розклад}one{Налаштовано # розклад}few{Налаштовано # розклади}many{Налаштовано # розкладів}other{Налаштовано # розкладу}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Не турбувати"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Режими пріоритету"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Додати режим"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Режими"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Менше відволікайтеся й зберігайте концентрацію уваги завдяки режимам для сну, роботи, керування автомобілем тощо."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Створіть власний режим"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Отримуйте сповіщення лише від важливих людей і додатків"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Налаштувати розклад"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Розклад на основі"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"День і час"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"09:00–17:00 у будні\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Події в календарі"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{Активовано режим \"{mode_1}\"}=2{Активовано режими \"{mode_1}\" і \"{mode_2}\"}=3{Активовано режими \"{mode_1}\", \"{mode_2}\" і \"{mode_3}\"}one{Активовано режими \"{mode_1}\", \"{mode_2}\" і ще #}few{Активовано режими \"{mode_1}\", \"{mode_2}\" і ще #}many{Активовано режими \"{mode_1}\", \"{mode_2}\" і ще #}other{Активовано режими \"{mode_1}\", \"{mode_2}\" і ще #}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 режим може вмикатись автоматично}one{# режим може вмикатись автоматично}few{# режими можуть вмикатись автоматично}many{# режимів можуть вмикатись автоматично}other{# режиму можуть вмикатись автоматично}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"УВІМКНЕНО"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Не налаштовано"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Вимкнено"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Створити режим"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Спеціальний"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Увімкнути зараз"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Вимкнути"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Режим не знайдено"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Обмеження сповіщень"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Блокування сповіщень"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Налаштувати режим \"<xliff:g id="MODE">%1$s</xliff:g>\""</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Увімкнути режим \"Не турбувати\""</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Звуки будильників і медіа можуть переривати"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Розклад"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Видалити розклади"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Видалити"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Перейменувати"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Видалити"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Видалити режим \"<xliff:g id="MODE">%1$s</xliff:g>\"?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Редагувати"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Розклад"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Розклад"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Вмикати автоматично"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Додати календар"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Використовувати календар"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Розклад"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Налаштуйте розклад"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Коли вмикати автоматично"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Розклад на основі подій"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Вмикати під час таких подій:"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Коли відповідь на запрошення:"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Розклад на основі часу"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Розклад"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> год, <xliff:g id="MINUTES">%2$d</xliff:g> хв"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Розклад"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Дозволити сповіщення зі звуком"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Сповіщення, які ви можете отримувати"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Додаткові дії"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Фільтри сповіщень"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Інші налаштування"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Вимкнено}=1{Вимкнено / 1 режим може вмикатись автоматично}one{Вимкнено / # режим може вмикатись автоматично}few{Вимкнено / # режими можуть вмикатись автоматично}many{Вимкнено / # режимів можуть вмикатись автоматично}other{Вимкнено / # режиму можуть вмикатись автоматично}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Налаштування дисплея"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Параметри відображення"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Відтінки сірого"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"увімкнути темну тему"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Змініть налаштування ОС і додатків, щоб використовувати світлий текст на темному фоні. Це може бути комфортніше для очей і допомагає суттєво економити заряд акумулятора на деяких пристроях."</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Немає змін параметрів відображення}=1{{effect_1}}=2{{effect_1} і {effect_2}}=3{{effect_1}, {effect_2} і {effect_3}}one{{effect_1}, {effect_2} і ще #}few{{effect_1}, {effect_2} і ще #}many{{effect_1}, {effect_2} і ще #}other{{effect_1}, {effect_2} і ще #}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Дозволити всі сповіщення"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Можуть надходити сповіщення, пов’язані з людьми, додатками й звуками"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Параметри відображення відфільтрованих сповіщень"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Коли ввімкнено режим \"Не турбувати\""</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Вимкнути звук сповіщень"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"відкрити сповіщення"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Дозволити відкладання сповіщень"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Сповіщення на значках додатків"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Пакети сповіщень"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Спливаючі чати"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Спливаючі чати"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Показувати цей чат у спливаючому сповіщенні"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Може відповідати на повідомлення та виконувати дії з кнопками в сповіщеннях, зокрема відкладати або закривати їх і відповідати на дзвінки."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Змінювати налаштування"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Може вмикати й вимикати режим \"Не турбувати\" та змінювати пов’язані з ним налаштування."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Додаток може керувати режимами, активувати їх і змінювати пов’язані з ними налаштування."</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_modes_warning_summary" msgid="7528432011433844158">"Якщо вимкнути доступ додатка <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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"У реальному часі"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Цей додаток не підтримує розширені налаштування"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Інші налаштування"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Інші налаштування доступні в цьому додатку"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Адаптивні сповіщення"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Використовувати адаптивні сповіщення"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Коли ви отримуєте багато повідомлень за короткий проміжок часу, телефон знижує гучність і зменшує кількість спливаючих вікон на екрані на період до двох хвилин. Вібрація, звук і показ дзвінків, будильників та важливих розмов не зміняться, а всі сповіщення можна буде переглянути, пpовівши пальцем зверху вниз по екрану."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Зниження гучності сповіщень"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Використовувати зниження гучності сповіщень"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Якщо ви отримаєте багато повідомлень за короткий проміжок часу, пристрій знизить гучність і зменшить кількість сповіщень на період до 2 хвилин. Звук дзвінків, будильників і сповіщень щодо важливих розмов не зміниться. \n\nСповіщення, отримані протягом цього періоду, можна буде переглянути, пpовівши пальцем униз від верхнього краю екрана."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Застосувати до робочих профілів"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Застосувати до додатків робочого профілю"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Допоміжні VR-сервіси"</string>
@@ -3650,6 +3717,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Доступ до режимів"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Надати доступ до режимів"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Установлені додатки не надсилали запит на доступ до режимів"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Ви не дозволили сповіщення з цього додатка"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"На ваш запит Android блокує цю категорію сповіщень на пристрої"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"На ваш запит Android блокує цю групу сповіщень на пристрої"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Категорії"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Інше"</string>
     <string name="no_channels" msgid="4716199078612071915">"Цей додаток не надсилав сповіщень"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Показати категорії, що не використовуються"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Розширені налаштування в додатку"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Показати категорії, що не використ."</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Сховати категорії, що не використ."</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> – <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Розмови"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Усі розмови"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"усі розмови"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Важливі розмови"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"важливі розмови"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Не дозволено"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Додатки, які можуть переривати"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Вибрані додатки"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Жодний"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Усі"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Додатки не можуть переривати}=1{Додаток {app_1} може переривати}=2{Додатки {app_1} і {app_2} можуть переривати}=3{Додатки {app_1}, {app_2} і {app_3} можуть переривати}one{Додатки {app_1}, {app_2} і ще # можуть переривати}few{Додатки {app_1}, {app_2} і ще # можуть переривати}many{Додатки {app_1}, {app_2} і ще # можуть переривати}other{Додатки {app_1}, {app_2} і ще # можуть переривати}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (робочий)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Обчислення…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Дозволити додаткам замінювати режим \"Не турбувати\""</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Додатки, які можуть переривати"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Виберіть інші додатки"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Ніщо не може переривати"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Ніхто не може переривати"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Деякі люди можуть переривати"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Повторні вхідні виклики можуть переривати"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Усі люди можуть переривати"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Повторні вхідні виклики"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Дозволити повторні дзвінки"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Активувати режим \"Лише будильник\" на одну годину до {time}}one{Активувати режим \"Лише будильник\" на # годину до {time}}few{Активувати режим \"Лише будильник\" на # години до {time}}many{Активувати режим \"Лише будильник\" на # годин до {time}}other{Активувати режим \"Лише будильник\" на # години до {time}}}"</string>
     <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_action_change_name" msgid="766639614789907016">"Перейменувати"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Змінити значок"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Змінити значок"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Редагувати режим"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Створити режим"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Спеціальний режим"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Назва режиму"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Події в календарі"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Програма \"Час спати\""</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"За кермом"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Налаштування додатка"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Інформація і налаштування в додатку <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Керує додаток <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Вимкнути <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Цей режим ніколи не активуватиметься, коли його вимкнено"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Вимкнути"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Увімкнути <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Цей режим може активуватися автоматично залежно від налаштувань"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Увімкнути"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Налаштуйте режим, що працюватиме регулярно протягом певного часу дня"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Налаштуйте режим для синхронізації з подіями в календарі й відповідями на запрошення"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Налаштуйте спокійний режим на час сну. Установіть будильники, зменште яскравість екрана й заблокуйте сповіщення."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Першочергово дбайте про безпеку на дорозі, не втрачайте концентрацію і не відволікайтеся за кермом"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Заблокуйте сповіщення на пристрої, щоб зосередитися"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Заблокуйте все, що може вас відволікати, щоб створити спокійну атмосферу"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Персоналізуйте роботу з пристроєм і налаштування для різних користувачів"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Щоб менше відволікатися, дозвольте сповіщення лише від важливих людей і додатків"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Налаштуйте режим, що працюватиме регулярно протягом певного часу дня"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Синхронізуйте свій пристрій із подіями дня"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Прокидайтеся з відчуттям бадьорості"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Безпека на дорозі – понад усе"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Зосередьтеся, щоб вас нічого не відволікало"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Для моментів, коли правила етикету важливі"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Отримуйте вказівки під час використання, щоб дбати про власну безпеку"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Контролюйте свою увагу"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Застереження"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Закрити"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Надіслати відгук про цей пристрій"</string>
@@ -4006,6 +4110,11 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Дозволити додатку <xliff:g id="APP">%1$s</xliff:g> доступ до режимів?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Додаток зможе вмикати й вимикати режим \"Не турбувати\", керувати режимами й активувати їх, а також змінювати відповідні налаштування."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Усі режими, створені цим додатком, буде вилучено."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Не оптимізувати"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Оптимізувати"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Акумулятор може розряджатися швидше. Додаток зможе використовувати його у фоновому режимі."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Футляр"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Акумулятор"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Панель налаштувань"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"Примусово застосувати режим робочого столу"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Примусово застосувати експериментальний режим робочого столу на додаткових екранах"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"Увімкнути вікна змінного розміру"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Увімкнути вікна змінного розміру на додатк. екрані"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Дозволити немасштабовані додатки в багатоекранному режимі"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Дає змогу користуватися в багатоекранному режимі додатками, розмір яких не можна змінити"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Замінити примусовий темний режим"</string>
@@ -4969,7 +5078,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"мобільний Інтернет"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Щоб користуватися пристроєм було зручніше, додатки й сервіси можуть шукати бездротові мережі, навіть якщо Wi-Fi вимкнено. Це допомагає вдосконалити роботу функцій і сервісів, які використовують дані про місцезнаходження. Це налаштування можна змінити в параметрах пошуку мереж Wi-Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Змінити"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Підключено"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Тимчасово з’єднано"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Тимчасово використовується <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -5001,7 +5109,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Використовувати закріплення додатків"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Використовувати Параметри розробника"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Використовувати сервіс друку"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Дозволити кілька користувачів"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Дозволити зміну користувача"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"дозволити, кілька, користувач, дозвіл, багато"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"кілька, користувачі, профілі, люди, облікові записи, змінити, багато"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Використовувати налагодження через Wi-Fi"</string>
@@ -5058,52 +5166,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"Пристрій \"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>\" хоче підключитися до цього телефона.\n\nВи ще не підключалися до пристрою \"<xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>\"."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Не підключатися"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Підключитися"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Налаштування TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Увімкнено"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Вимкнено"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Відновити налаштування за умовчанням"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Налаштування за умовчанням відновлено."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Макс. баланс, коли пристрій заряджений"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Баланси"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Ліміти споживання"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Початковий ліміт споживання"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Нижній ліміт споживання"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Верхній ліміт споживання"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Модифікатори"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Дії (вартість виконання)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Дії (основна ціна)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Винагороди за кожну подію"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Бонуси за секунду тривалості події"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Максимальна кількість винагород на день"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Встановлення додатка"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Перші дії"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Сповіщення переглянуто"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Сповіщення переглянуто впродовж 15 хв"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Виявлено взаємодію зі сповіщенням"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Виявлено взаємодію з віджетом"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Виявлено іншу взаємодію з додатком"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Найважливіше завдання розпочато"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Найважливіше завдання виконується"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Високопріоритетне завдання розпочато"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Високопріоритетне завдання виконується"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Завдання за замовчуванням розпочато"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Завдання за замовчуванням виконується"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Низькопріоритетне завдання розпочато"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Низькопріоритетне завдання виконується"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Найменш пріоритетне завдання розпочато"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Найменш пріоритетне завдання виконується"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Штрафні заходи за час виконання завдання"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Мінімальний баланс, коли пристрій заряджено (виключені додатки)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Мінімальний баланс, коли пристрій заряджено (системнs headless-додатки)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Мінімальний баланс, коли пристрій заряджено (інші додатки)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Доповнення до мін. балансу, коли пристрій заряджено (засоби оновлення додатків)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Заряджання"</item>
-    <item msgid="658627268149681677">"Режиму сну"</item>
-    <item msgid="1599558140284643834">"Режим економії заряду"</item>
-    <item msgid="588427840913221601">"Статус процесу"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Підтвердити"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Переглянути"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Виберіть заставку"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Показувати додаткову інформацію"</string>
@@ -5115,8 +5177,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Виберіть, що має відображатися на екрані, коли планшет у док-станції. Із заставкою ваш пристрій може споживати більше енергії."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Налаштувати"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Налаштувати <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Щоб увімкнути підтримку довільного формату, перезапустіть пристрій."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Щоб примусово застосувати режим робочого столу на додаткових екранах, перезапустіть пристрій."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Щоб увімкнути підтримку вікон змінного розміру, перезапустіть пристрій."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Щоб оновити доступність вікон змінного розміру, перезапустіть пристрій."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Щоб увімкнути вікна змінного розміру на додаткових екранах, перезапустіть пристрій."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Перезапустити зараз"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Перезапустити пізніше"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Просторове звучання"</string>
@@ -5213,7 +5276,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Рожевий"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Пурпуровий"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Ліловий"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Готово"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Зберегти"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Скасувати"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Стандартний"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Середній"</string>
@@ -5234,6 +5297,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Увімкнено"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Вимкнено"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Увімкнено"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Аудіо: %1$d%% ліворуч, %2$d%% праворуч"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Аудіо: %1$d%% праворуч, %2$d%% ліворуч"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Назва пристрою відображається в установлених додатках. Її також можуть бачити інші користувачі, коли ви підключаєтеся до пристроїв із Bluetooth чи мережі Wi-Fi або налаштовуєте точку доступу Wi-Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Граматичний рід"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Виберіть граматичний рід"</string>
@@ -5302,6 +5367,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Надсилання аудіо зупинено"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Підключіть сумісний пристрій"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Щоб поділитись аудіо, спершу підключіть навушники LE Audio до телефона"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Вибрати пристрій \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\""</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Підключитися до аудіопотоку LE"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Аудіопотоки поблизу"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Аудіопотоки"</string>
@@ -5345,4 +5411,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Слухати потокове аудіо"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Відскануйте QR-код потокового аудіо, щоб слухати на пристрої <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Неможливо змінити пароль під час надсилання. Щоб змінити пароль, спершу вимкніть надсилання аудіо."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Сканер QR-коду"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Потрібна допомога?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Шукати в налаштуваннях"</string>
 </resources>
diff --git a/res/values-ur/arrays.xml b/res/values-ur/arrays.xml
index 239a61c..4563275 100644
--- a/res/values-ur/arrays.xml
+++ b/res/values-ur/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"سونے کا وقت"</item>
-    <item msgid="4152450357280759894">"ڈرائیونگ"</item>
-    <item msgid="7096549258219399423">"عمیق"</item>
-    <item msgid="2760716776980432977">"زیر انتظام"</item>
-    <item msgid="601734478369121764">"ستارہ"</item>
-    <item msgid="6243809315432780521">"کیلنڈر"</item>
-    <item msgid="4913577903148415331">"وقت"</item>
-    <item msgid="3653377604690057780">"تھیٹر"</item>
-    <item msgid="3843711267408385410">"پھول"</item>
+    <item msgid="1216815120972438676">"بریف کیس"</item>
+    <item msgid="184985872234062767">"کلاسیکل عمارت"</item>
+    <item msgid="9189550412466785530">"اپارٹمنٹ والی عمارت"</item>
+    <item msgid="2142527562511049422">"اسپیچ ببل"</item>
+    <item msgid="2548100558260478605">"لوگوں کا گروپ"</item>
+    <item msgid="2270003903304578284">"لائٹ بلب"</item>
+    <item msgid="4793496619091161864">"کیلنڈر"</item>
+    <item msgid="5673625795644364100">"ڈسٹرب نہ کریں"</item>
+    <item msgid="1423820834865831361">"دوڑتا ہوا شخص"</item>
+    <item msgid="2037298830718732608">"گولف"</item>
+    <item msgid="2197835014443491074">"جم ڈم بیل"</item>
+    <item msgid="2730180105015616518">"تیراکی"</item>
+    <item msgid="2666922823253345958">"ہائک کرتا ہوا شخص"</item>
+    <item msgid="8234880356472211396">"گیند پھینکتا ہوا شخص"</item>
+    <item msgid="4642980625253001443">"کک مارتا ہوا شخص"</item>
+    <item msgid="4324795269518833500">"گیم کنٹرولر"</item>
+    <item msgid="7789966425125441125">"آرٹسٹ رنگ کا پیلیٹ"</item>
+    <item msgid="663512680597461570">"برف کا گولا"</item>
+    <item msgid="7952183800501346803">"ساحل کی چھتری"</item>
+    <item msgid="799139025758265891">"ورکشاپ ٹولز"</item>
+    <item msgid="1330084588359129896">"خیمہ"</item>
+    <item msgid="3861584909935022342">"فلم ریل"</item>
+    <item msgid="5827426100157335512">"کتاب"</item>
+    <item msgid="8585828346253128384">"کنول کا پھول"</item>
+    <item msgid="8788370542815300188">"شخص کا ذہن"</item>
+    <item msgid="7287354964767553293">"ہیڈ فونز"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"ٹرین"</item>
+    <item msgid="4903790544026923026">"کار"</item>
+    <item msgid="5010405583912314582">"کانٹا اور چھری"</item>
+    <item msgid="8939998598599064900">"شاپنگ کارٹ"</item>
+    <item msgid="3379605903308731893">"بچہ"</item>
+    <item msgid="7808668968550293112">"جانور کا پنجا"</item>
+    <item msgid="1000692647524056504">"اسٹار بیج"</item>
+    <item msgid="8270261073421676502">"دو لوگ"</item>
+    <item msgid="5767782819651505460">"ستارہ"</item>
+    <item msgid="4368451291862729334">"دل"</item>
+    <item msgid="2613199102208419986">"گھر"</item>
+    <item msgid="3022279986430275040">"آدھا چاند"</item>
+    <item msgid="5421089790869483206">"گھڑی"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 45b47df..a808510 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"معطل شدہ"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"نامعلوم"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"پیش منظر"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"‏‫QR کوڈ"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"چھوٹا کریں"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"بڑا کریں"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"ہمیشہ"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"سماعت کے آلے کی ترتیبات"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"شارٹ کٹ، سماعتی آلہ کی موافقت"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"پہلے سے ترتیب شدہ"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"آپ کے آڈیولوجسٹ کے ذریعہ کوئی پہلے سے ترتیب شدہ پروگرام نہیں ہے"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"پہلے سے ترتیب شدہ کو اپ ڈیٹ نہیں کر سکے"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"آڈیو کا آؤٹ پُٹ"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"آڈیو آؤٹ پٹ کے بارے میں"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"اس ایپ کے لیے زبان کا انتخاب ترتیبات سے دستیاب نہیں ہے۔"</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"زبان ایپ میں دستیاب زبانوں سے مختلف ہو سکتی ہے۔ ہو سکتا ہے کچھ ایپس اس ترتیب کو سپورٹ نہ کریں۔"</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"ہر ایپ کے لیے زبان سیٹ کریں۔"</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"آپ کا سسٹم، ایپس اور ویب سائٹس آپ کی ترجیحی زبانوں میں سے پہلی تعاون یافتہ زبان استعمال کرتی ہیں۔"</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"آپ کا آلہ، ایپس اور ویب سائٹس آپ کی ترجیحی زبانوں میں سے پہلی تعاون یافتہ زبان استعمال کرتی ہیں۔\n\nبہت سی ایپس بھی تاریخوں، نمبرز اور یونٹس کو فارمیٹ کرنے کیلئے آپ کی ترجیحی زبان کا علاقہ کا استعمال کریں گی۔ اپنا علاقہ تبدیل کرنے کیلئے، ایک زبان شامل کریں، پھر اپنا ترجیحی علاقہ منتخب کریں۔"</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"ہر ایپ کے لیے زبان منتخب کرنے کے لیے، ایپ کی زبان کی ترتیبات پر جائیں۔"</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"ایپ کی زبانوں کے بارے میں مزید جانیں"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"‏سسٹم کی زبان کو %s پر تبدیل کریں ؟"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"آف ہے"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{آن ہے / # ایپ کو مقام تک رسائی حاصل ہے}other{آن ہے / # ایپس کو مقام تک رسائی حاصل ہے}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"لوڈ ہو رہی ہے…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"قریبی آلات کی اجازت والی ایپس منسلک آلات کی متعلقہ پوزیشن کا تعین کر سکتی ہیں۔"</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"قریبی آلات کی اجازت والی ایپس منسلک آلات کی متعلقہ پوزیشن کا تعین کر سکتی ہیں۔"</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"ایپس اور سروسز کے لیے مقام تک رسائی آف ہے۔ آپ کے ایمرجنسی نمبر پر کال کرنے یا ٹیکسٹ پیغام بھیجنے پر بھی ایمرجنسی مدد فراہم کنندگان کو آپ کے آلے کا مقام بھیجا جا سکتا ہے۔"</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"مقام کی ترتیبات کے بارے میں مزید جانیں"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"‏تبدیل کرنے کے لیے، ChromeOS کی ترتیبات &gt; رازداری اور سیکیورٹی &gt; رازداری سے متعلق کنٹرولز &gt; مقام تک رسائی پر جائیں"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"چہرہ اور <xliff:g id="WATCH">%s</xliff:g> شامل کیے گئے"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"چہرہ، فنگر پرنٹ اور <xliff:g id="WATCH">%s</xliff:g> شامل کیے گئے"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"چہرہ، فنگر پرنٹس اور <xliff:g id="WATCH">%s</xliff:g> شامل کیے گئے"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"شناختی چیک آن ہے اور اس کے لیے بائیو میٹرک کی ضرورت ہے"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"‏Remote Authenticator کو غیر مقفل کریں"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"گھڑی کو شامل کیا گیا"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"اپنی گھڑی سیٹ اپ کریں"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"واچ اَن لاک کے بارے میں مزید جانیں"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"گھڑی شامل کریں"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"گھڑی ہٹائیں"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"فنگر پرنٹ اور فیس انلاک"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"فیس اور فنگر پرنٹ اَن لاک"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"کام کے لیے فیس اور فنگر پرنٹ اَن لاک"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"سیٹ اپ درکار ہے"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"چہرے اور فنگر پرنٹس کو شامل کیا گیا"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"نجی اسپیس سیٹ اپ کی جا رہی ہے…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"پرائیویٹ اسپیس سیٹ اپ نہیں کی جا سکی"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"دوبارہ کوشش کریں"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"باہر نکلیں"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"پرائیویٹ اسپیس دستیاب نہیں ہے۔\n ممکنہ وجوہات دیکھیں"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"ممکنہ وجوہات دیکھیں"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"پرائیویٹ اسپیس کے لیے نیا لاک منتخب کریں؟"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"آپ صرف پرائیویٹ اسپیس کے لیے نیا لاک سیٹ کر سکتے ہیں، یا اسی لاک کا استعمال کر سکتے ہیں جسے آپ اپنے آلے کو اَن لاک کرنے کے لیے کرتے ہیں"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"اسکرین لاک استعمال کریں"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"بلوٹوتھ آن ہونے پر آپ کا آلہ دیگر قریبی بلوٹوتھ آلات کے ساتھ مواصلت کر سکتا ہے۔\n\nآلے کے تجربے کو بہتر بنانے کے لیے، ایپس اور سروسز بلوٹوتھ کے آف ہونے پر بھی کسی بھی وقت قریبی آلات کو اسکین کر سکتی ہیں۔ مثال کے طور، مقام پر مبنی خصوصیات اور سروسز کو بہتر بنانے کے لیے اس کا استعمال کیا جا سکتا ہے۔ آپ بلوٹوتھ اسکیننگ کی ترتیبات میں اسے تبدیل کر سکتے ہیں۔"</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"بلوٹوتھ آن ہونے پر، آپ کا آلہ دیگر قریبی بلوٹوتھ آلات کے ساتھ مواصلت کر سکتا ہے۔ فوری اشتراک اور \'میرا آلہ ڈھونڈیں\' جیسی خصوصیات بلوٹوتھ کا استعمال کرتی ہیں۔\n\nبلوٹوتھ آف ہونے پر بھی ایپس اور سروسز کسی بھی وقت قریبی آلات کو اسکین کر سکتی ہیں۔ مثال کے طور پر، مقام پر مبنی خصوصیات اور سروسز کو بہتر بنانے کے لیے اس کا استعمال کیا جا سکتا ہے۔ آپ اسے بلوٹوتھ اسکیننگ کی ترتیبات میں جا کر تبدیل کر سکتے ہیں۔"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"تبدیل کریں"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> منسلک نہیں ہے"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"اپنی سیکیورٹی کے لیے، اس آلہ کو بھول جائیں، پھر دوبارہ اس کا جوڑا بنائیں"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"آلہ بھول جائیں"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"منسوخ کریں"</string>
     <string name="device_details_title" msgid="1155622417516195481">"آلہ کی تفصیلات"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"کی بورڈ کی ترتیبات"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"مزید ترتیبات"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"فرم ویئر اپ ڈیٹس، تعارف اور مزید بہت کچھ"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"تجاویز اور سپورٹ"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"آلے کا بلوٹوتھ پتہ: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"آلے کا بلوٹوتھ پتہ:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"آلہ بھول جائیں؟"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"تجرباتی۔ اس سے آڈیو کی کوالٹی بہتر ہوتی ہے۔"</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"آلہ بھول جائیں"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"ایپ کو غیر منسلک کریں"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"مزید ترتیبات"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"زیادہ سے زیادہ منسلک بلوٹوتھ آڈیو آلات"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"منسلک بلوٹوتھ آڈیو آلات کی زیادہ سے زیادہ تعداد منتخب کریں"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"‏NFC وربوس وینڈر ڈیبگ لاگ"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"آلہ ری اسٹارٹ کریں؟"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"‏تفصیلی NFC لاگنگ صرف ڈویلپمنٹ مقاصد کے لیے ہے۔ اضافی NFC ڈیٹا بگ رپورٹس میں شامل کیا جاتا ہے جس میں نجی معلومات شامل ہو سکتی ہیں۔ اس ترتیب کو تبدیل کرنے کے لیے اپنا آلہ ری اسٹارٹ کریں۔"</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"ری اسٹارٹ کریں"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"آن ہے"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"آف ہے"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"بیرونی ڈسپلے"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"بیرونی ڈسپلے استعمال کریں"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"ڈسپلے ریزولیوشن"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"بیرونی ڈسپلے غیر منسلک ہے"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"گھمانا"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"معیاری"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"روٹیشن یا ریزولیوشن تبدیل کرنے سے کوئی بھی ایسی ایپس بند ہو سکتی ہیں جو فی الحال چل رہی ہیں"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"آپ کی اسکرین کو کسی بیرونی ڈسپلے پر دکھانے کے لئے آپ کے آلے کا اس سے منسلک ہونا ضروری ہے"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"مزید اختیارات"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"کاسٹ کریں"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"مرر"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"وائرلیس ڈسپلے فعال کریں"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"تغیر پذیر"</string>
     <string name="brightness" msgid="6216871641021779698">"چمک کی سطح"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"تغیر پذیر چمک"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"تغیر پذیر چمک کے بارے میں"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"آپ کی اسکرین کی چمک خودکار طور پر آپ کے ماحول اور سرگرمیوں کے مطابق ہو جائے گی۔ آپ نئی ترجیحات جاننے میں تغیر پذیر چمک کی مدد کرنے کے لئے سلائیڈر کو دستی طور پر حرکت دے سکتے ہیں۔"</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"آن"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"آف"</string>
@@ -1311,8 +1340,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="8850185380445309835">"‏ترجیحی SIM اپ ڈیٹ کریں؟"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"‏<xliff:g id="NEW_SIM">%1$s</xliff:g> آپ کے آلے میں واحد SIM ہے۔ کیا آپ اس SIM کو موبائل ڈیٹا، کالز اور SMS پیغامات کیلئے استعمال کرنا چاہتے ہیں؟"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"‏<xliff:g id="NEW_SIM">%1$s</xliff:g> اب آپ کی بنیادی SIM ہے"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"موبائل ڈیٹا کوریج بہتر بنائیں؟"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"اپنے آلے کو اجازت دیں کہ وہ موبائل ڈیٹا کے لیے خودکار طور پر <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> پر سوئچ کرے جب اس میں بہتر دستیابی ہو۔"</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"کالز، پیغامات اور نیٹ ورک ٹریفک آپ کی تنظیم کے لیے مرئی ہو سکے ہیں۔"</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"اختیارات"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"ایکسیسبیلٹی"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"فزیکل کی بورڈ"</string>
-    <string name="show_ime" msgid="4334255501724746849">"آن اسکرین کی بورڈ کا استعمال کریں"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"جب فزیکل کی بورڈ فعال ہو تو اس کو اسکرین پر رکھیں"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"باؤنس کلیدیں"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"‏کی بورڈ ‎<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms‎ کے اندر ایک ہی کلید کو فوری طور پر بار بار دبائے جانے کو نظر انداز کرتا ہے"</string>
     <string name="slow_keys" msgid="2891452895499690837">"سلو کلیدیں"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"‏کسی کلید کے دبانے پر اس کے فعال ہونے میں لگنے والے وقت کو ‎<xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms‎ میں ایڈجسٹ کرتا ہے"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"دبی رہنے والی کلیدیں"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"کلیدوں کو ایک ساتھ نیچے کی طرف پکڑے رکھنے کے بجائے، شارٹ کٹس کیلئے ایک وقت میں ایک کلید دبائیں"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"ماؤس کیز"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"ماؤس کو کنٹرول کرنے کے لیے فزیکل کی بورڈ کا استعمال کریں۔"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"کی بورڈ شارٹ کٹس"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"شارٹ کٹس کی فہرست دکھائیں"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"دفتری پروفائل کے کی بورڈز اور ٹولز"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"ٹچ پیڈ نیویگیشن کے انفرادی اشاروں کو حسب ضرورت بنائیں"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"معکوس اسکرولنگ"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"ٓنیچے کی طرف اسکرول کرنے پر مواد اوپر منتقل ہو جاتا ہے"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"نیچے بائیں طرف تھپتھپائیں"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"مزید اختیارات کے لیے ٹچ پیڈ کے نیچے دائیں کونے پر تھپتھپائیں"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"نیچے دایاں کلک کرنا"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"مزید اختیارات کے لیے ٹچ پیڈ کے نیچے بائیں کونے پر کلک کریں"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"پوائنٹر کی رفتار"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"پوائنٹر فِل اسٹائل"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"پوائنٹر فِل اسٹائل کو سیاہ میں بدلیں"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"پوائنٹر فِل اسٹائل کو پیلے میں بدلیں"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"پوائنٹر فِل اسٹائل کو گلابی میں بدلیں"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"پوائنٹر فِل اسٹائل کو نیلے میں بدلیں"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"پوائنٹر اسٹروک اسٹائل"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"سفید"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"سیاہ"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"کوئی نہیں"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"ٹچ پیڈ کے اشارے کو جانیں"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"ٹریک پیڈ، ٹریک پیڈ، ماؤس، کرسر، اسکرول، سوائپ، دائیں کلک، کلک، پوائنٹر"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"دائیں کلک کریں، تھپتھپائیں"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"ری سیٹ کریں"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"موڈیفائر کلید منتخب کریں"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"‫<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> کے لیے نئی کلید منتخب کریں:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"فزیکل کی بورڈ ایکسیسبیلٹی"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"دبی رہنے والی کلیدیں، باؤنس کلیدیں، ماؤس کلیدیں"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> لے آؤٹ"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ڈیفالٹ"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"خودکار: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"صارف کا منتخب کردہ: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"اسپیچ"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"پوائنٹر کی رفتار"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"پوائنٹر اسکیل"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"پوائنٹر اسکیل کو کم کریں"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"پوائنٹر اسکیل کو بڑھائیں"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"گیم کنٹرولر"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"وائبریشن کو ری ڈائریکٹ کریں"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"منسلک ہونے پر گیم کنٹرولر کو وائبریشن بھیجیں"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"بہر حال جاری رکھیں"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"منسوخ کریں"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"میگنیفکیشن کی ترتیبات"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"ایک انگلی سے پین کرنا"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"1 انگلی سے میگنیفائر کو حرکت دیں"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"اسکرین کے ارد گرد گھمانے کیلئے 1 انگلی سے گھسیٹیں"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"ایک انگلی گھسیٹ کر میگنیفیکیشن ایریا کو منتقل کریں۔"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"دو انگلیوں کو گھسیٹ کر میگنیفیکیشن ایریا کو منتقل کریں۔"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"اسکرین کے صرف میگنفائی کرنے والے حصے کے دوران دستیاب نہیں ہے"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"زوم کرنے کیلئے ایک بٹن پر تھپتھپائیں"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"مواد کو بڑا کرنے کے لیے اسکرین پر فوری طور پر زوم ان کریں"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"‏&lt;b&gt;زوم ان کرنے کے لیے:&lt;/b&gt;&lt;br/&gt; {0,number,integer}۔ میگنیفکیشن شروع کرنے کے لیے شارٹ کٹ کا استعمال کریں&lt;br/&gt; {1,number,integer}۔ اسکرین پر تھپتھپائیں&lt;br/&gt; {2,number,integer}۔ اسکرین پر اِدھر اُدھر حرکت کرنے کے لیے 2 انگلیوں سے گھسیٹیں&lt;br/&gt; {3,number,integer}۔ زوم کو ایڈجسٹ کرنے کے لیے 2 انگلیوں سے چٹکی بھریں&lt;br/&gt; {4,number,integer}۔ میگنیفکیشن بند کرنے کے لیے شارٹ کٹ کا استعمال کریں&lt;br/&gt;&lt;br/&gt; &lt;b&gt;عارضی طور پر زوم ان کرنے کے لیے:&lt;/b&gt;&lt;br/&gt; {0,number,integer}۔ یقینی بنائیں کہ آپ کی میگنیفیکیشن کی قسم فُل اسکرین پر سیٹ ہے&lt;br/&gt; {1,number,integer}۔  میگنیفکیشن شروع کرنے کے لیے شارٹ کٹ کا استعمال کریں&lt;br/&gt; {2,number,integer}۔ اسکرین پر کسی بھی جگہ پر ٹچ کریں اور دبائیں رکھیں&lt;br/&gt; {3,number,integer}۔ اسکرین پر اِدھر اُدھر حرکت کرنے کے لیے انگلی کو گھسیٹیں&lt;br/&gt; {4,number,integer}۔ میگنیفکیشن بند کرنے کے لیے انگلی اٹھائيں"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"‏‎&lt;b&gt;‎زوم ان کرنے کے لیے:‎&lt;/b&gt;&lt;br/&gt; {0,number,integer}۔ میگنیفکیشن شروع کرنے کے لیے شارٹ کٹ کا استعمال کریں‎&lt;br/&gt; {1,number,integer}۔ اسکرین پر تھپتھپائیں‎&lt;br/&gt; {2,number,integer}۔ اسکرین پر اِدھر اُدھر حرکت کرنے کے لیے 2 انگلیوں سے گھسیٹیں‎&lt;br/&gt; {3,number,integer}۔ زوم کو ایڈجسٹ کرنے کے لیے 2 انگلیوں سے چٹکی بھریں‎&lt;br/&gt; {4,number,integer}۔ میگنیفکیشن کو بند کرنے کے لیے شارٹ کٹ استعمال کریں&lt;br/&gt;&lt;br/&gt; آپ عارضی طور پر زوم ان بھی کر سکتے ہیں اور بہت کچھ کر سکتے ہیں۔"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"‏‎&lt;b&gt;‎زوم ان کرنے کے لیے:‎&lt;/b&gt;&lt;br/&gt; {0,number,integer}۔ میگنیفکیشن شروع کرنے کے لیے شارٹ کٹ کا استعمال کریں‎&lt;br/&gt; {1,number,integer}۔ اسکرین پر تھپتھپائیں‎&lt;br/&gt; {2,number,integer}۔ اسکرین پر اِدھر اُدھر حرکت کرنے کے لیے 1 یا 2 انگلیوں سے گھسیٹیں‎&lt;br/&gt; {3,number,integer}۔ زوم کو ایڈجسٹ کرنے کے لیے 2 انگلیوں سے چٹکی بھریں‎&lt;br/&gt; {4,number,integer}۔ میگنیفکیشن کو بند کرنے کے لیے شارٹ کٹ استعمال کریں&lt;br/&gt;&lt;br/&gt; آپ عارضی طور پر زوم ان بھی کر سکتے ہیں اور بہت کچھ کر سکتے ہیں۔"</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_pager" msgid="8461939455728454061">"صفحہ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> از <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"ایکسیسبیلٹی بٹن کا شارٹ کٹ"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"فلوٹنگ بٹن پر تھپتھپائیں"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"ایکسیسبیلٹی کا اشارہ"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"اپنی اسکرین کے نیچے <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ایکسیسبیلٹی بٹن پر تھپتھپائیں۔ خصوصیات کے مابین سوئچ کرنے کے لیے، ایکسیسبیلٹی بٹن کو ٹچ کریں اور دبائے رکھیں۔"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"2 انگلیوں سے اسکرین کے نیچے سے اوپر کی طرف سوائپ کریں۔\n\nخصوصیات کے درمیان سوئچ کرنے کے لیے، 2 انگلیوں سے اوپر کی طرف سوائپ کریں اور دبائے رکھیں۔"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"3 انگلیوں سے اسکرین کے نیچے سے اوپر کی طرف سوائپ کریں۔\n\nخصوصیات کے درمیان سوئچ کرنے کے لیے، 3 انگلیوں سے اوپر کی طرف سوائپ کریں اور دبائے رکھیں۔"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{اپنی اسکرین کے نچلے حصے سے اوپر کی طرف سوائپ کریں۔ خصوصیات کے مابین سوئچ کرنے کے لیے، اوپر کی طرف سوائپ کریں اور دبائے رکھیں۔}other{اپنی اسکرین کے نیچے سے # انگلیوں سے اوپر کی طرف سوائپ کریں۔ خصوصیات کے مابین سوئچ کرنے کے لیے، # انگلیوں سے اوپر کی طرف سوائپ کریں اور دبائے رکھیں۔}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"مزید اختیارات"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"<xliff:g id="SERVICE">%1$s</xliff:g> کے بارے میں مزید جانیں"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"والیوم کلیدیں"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"والیوم کلیدیں"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"والیوم کی دونوں کلیدوں کو دبائے رکھیں"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"دو انگلیوں سے دو بار تھپتھپانے والی اسکرین"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"‏%1$d انگلی سے دوبار تھپتھپائیں"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"‏اسکرین پر %1$d انگلیوں سے تیزی سے دو بار تھپتھپائیں"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"تین بار تھپتھپائیں"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"‏اسکرین پر تیزی سے %1$d بار تھپتھپائیں۔ اس سے آپ کا آلہ سست ہو سکتا ہے۔"</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"‏%1$d انگلی سے دوبار تھپتھپائیں"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"‏دو انگلیوں سے اسکرین پر تیزی سے {0,number,integer} بار تھپتھپائیں"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"اسکرین پر تین بار تھپتھپائیں"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"تین بار تھپتھپائیں"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"‏اسکرین پر فوری طور پر {‎0,number,integer} بار تھپتھپائیں۔ اس شارٹ کٹ سے آپ کا آلہ سست ہو سکتا ہے"</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_global_gesture_preference_title" msgid="8866765674372344850">"والیوم کلیدوں کا شارٹ کٹ"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"شارٹ کٹ کی ترتیبات"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"مقفل اسکرین سے شارٹ کٹ"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"مقفل اسکرین سے والیوم کلیدوں کا شارٹ کٹ"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"خصوصیت کے شارٹ کٹ کو مقفل اسکرین سے آن کرنے کی اجازت دیں۔ والیوم کی دونوں کلیدوں کو کچھ سیکنڈز تک دبائے رکھیں۔"</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"ایکسیسبیلٹی بٹن"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"ایکسیسبیلٹی بٹن اور اشارہ"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"یہ سروس ٹھیک سے کام نہیں کر رہی۔"</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"ایکسیسبیلٹی شارٹ کٹس"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"فوری ترتیبات میں دکھائیں"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"سرخ-سبز"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"سرخ-سبز"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"سرخ سبز، سبز کمزور"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"سرخ سبز، سرخ کمزور"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"نیلا-پیلا"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"خاکستری"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"شدت"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"سبز رنگ کا اندھاپن، رنگ دیکھنے کی صلاحیت میں کمی"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"سرخ رنگ کا اندھاپن، بے قاعدہ رنگ بینی"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"خاکستری وضع کے لیے یا رنگ کی اصلاح کے غیرفعال ہونے پر دستیاب نہیں ہے"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"اضافی مدھم"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"اسکرین کو اضافی مدھم بنائیں"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"سبزی مائل نیلا"</string>
     <string name="color_yellow" msgid="5957551912912679058">"پیلا"</string>
     <string name="color_magenta" msgid="8943538189219528423">"قرمزی"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"<xliff:g id="SERVICE">%1$s</xliff:g> کو آپ کے آلے کا مکمل کنٹرول حاصل کرنے کی اجازت دیں؟"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> کو ضرورت ہے:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"چونکہ ایک ایپ اجازت کی درخواست کو مبہم کر رہی ہے، لہذا ترتیبات آپ کے جواب کی توثیق نہیں کر سکتی ہے۔"</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> نے اس آلہ پر مکمل کنٹرول کی درخواست کی ہے۔ یہ سروس اسکرین کو پڑھ سکتی ہے اور مع ایکسیسبیلٹی کی ضروریات کے صارفین کے جانب سے کارروائی کر سکتی ہے۔ زیادہ تر اپپس کے لیے اس لیول کا کنٹرول مناسب نہیں ہے۔"</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"مکمل کنٹرول ان ایپس کے لیے مناسب ہے جو ایکسیسبیلٹی کی ضروریات میں آپ کی مدد کرتی ہیں، لیکن زیادہ تر ایپس کیلئے مناسب نہیں۔"</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"اسکرین کو دیکھیں اور کنٹرول کریں"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"یہ اسکرین پر موجود تمام مواد کو پڑھ سکتا ہے اور دیگر ایپس پر مواد کو ڈسپلے کر سکتا ہے۔"</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"کارروائیاں دیکھیں اور انجام دیں"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"یہ کسی ایپ یا ہارڈویئر سینسر کے ساتھ آپ کے تعاملات کو ٹریک کر سکتا ہے، اور آپ کی طرف سے ایپس کے ساتھ تعامل کر سکتا ہے۔"</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"اجازت دیں"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"مسترد کریں"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"آف کریں"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"آن / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> اور <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"آپ بلوٹوتھ آلات کیلئے اسپیشیئل آڈیو کو بھی آن کر سکتے ہیں۔"</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"منسلک کردہ آلات کی ترتیبات"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"اسپیشیئل آڈیو"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"آف ہے"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"آف ہے"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"آف ہے"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{کوئی نہیں}=1{1 شیڈول سیٹ ہے}other{# شیڈول سیٹ ہیں}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"ڈسٹرب نہ کریں"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"ترجیحی وضع"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"موڈ شامل کریں"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"موڈز"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"انتشارات کو کم کریں اور نیند، کام، ڈرائیونگ اور اس کے درمیان ہر چیز کے طریقوں کے ساتھ اپنی توجہ پر قابو رکھیں۔"</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"اپنی خود کی وضع تخلیق کریں"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"صرف اہم لوگوں اور ایپس کی جانب سے اطلاعات حاصل کریں"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"شیڈول سیٹ کریں"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"کی بنیاد پر شیڈول کریں"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"دن اور وقت"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"ہفتے کے دن صبح 9 بجے سے شام 5 بجے تک\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"کیلنڈر ایونٹس"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} فعال ہے}=2{{mode_1} اور {mode_2} فعال ہیں}=3{{mode_1}، {mode_2} اور {mode_3} فعال ہیں}other{{mode_1}، {mode_2} اور # مزید فعال ہیں}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{‫1 موڈ خودکار طور پر آن ہو سکتا ہے}other{‫# موڈز خودکار طور پر آن ہو سکتے ہیں}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"آن ہے"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"سیٹ نہیں ہے"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"غیر فعال ہے"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"موڈ تخلیق کریں"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"حسب ضرورت"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"ابھی آن کریں"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"آف کریں"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"وضع نہیں ملی"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"مداخلتوں کی حد مقرر کریں"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"مداخلتوں اور انتشارات کو مسدود کریں"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g> سیٹ اپ کریں"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\'ڈسٹرب نہ کریں\' کو آن کریں"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"الارم اور میڈیا کی آوازیں رکاوٹ ڈال سکتی ہیں"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"شیڈولز"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"شیڈولز حذف کریں"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"حذف کریں"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"نام تبدیل کریں"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"حذف کریں"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"\"<xliff:g id="MODE">%1$s</xliff:g>\" موڈ کو حذف کریں؟"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"ترمیم کریں"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"شیڈولز"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"شیڈول کریں"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"خودکار طور پر آن کریں"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"کیلنڈر شامل کریں"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"اپنا کیلنڈر استعمال کریں"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"شیڈول کریں"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"شیڈول سیٹ کریں"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"خودکار طور پر کب آن کرنا ہے"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"ایونٹ کا شیڈول"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"کے لیے ایونٹس کے دوران آن کریں"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"جہاں دعوت نامہ کا جواب ہے"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"وقت کا شیڈول"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"شیڈول کریں"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> گھنٹہ، <xliff:g id="MINUTES">%2$d</xliff:g> منٹ"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"شیڈول"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"آواز پیدا کرنے والی مداخلتوں کو اجازت دیں"</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="mode_interruption_filter_title" msgid="6657431939996264417">"وہ اطلاعات جو آپ تک پہنچ سکتی ہیں"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"اضافی کارروائیاں"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"نوٹیفکیشن فلٹرز"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"مزید ترتیبات"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{آف}=1{آف / 1 موڈ خودکار طور پر آن ہو سکتا ہے}other{آف / # موڈز خودکار طور پر آن ہو سکتے ہیں}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"ڈسپلے کی ترتیبات"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"ڈسپلے کے اختیارات"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"خاکستری"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"گہری تھیم کو فعال کریں"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"‏تاریک پس منظر پر ہلکے رنگ کے ٹیکسٹ کو ترجیح دینے کے لیے OS اور ایپس کو سوئچ کریں۔ یہ آنکھوں کیلئے زیادہ آرام دہ ہوتا ہے اور کچھ آلات پر بیٹری کی کافی بچت کرتا ہے"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{ڈسپلے میں کوئی تبدیلی نہیں ہوئی}=1{{effect_1}}=2{{effect_1} اور {effect_2}}=3{{effect_1}، {effect_2} اور {effect_3}}other{{effect_1}، {effect_2} اور # مزید}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"سبھی اطلاعات کو اجازت دیں"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"لوگ، ایپس اور آوازیں رکاوٹ ڈال سکتی ہیں"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"فلٹر شدہ اطلاعات کیلئے ڈسپلے کے اختیارات"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"جب \'ڈسٹرب نہ کریں\' آن ہو"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"اطلاعات کی کوئی آواز نہیں"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"اطلاع کھولیں"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"اطلاع کی اسنوزنگ کی اجازت دیں"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"ایپ آئیکن پر اطلاعاتی ڈاٹ"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"اطلاع بنڈلز"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"بلبلے"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"بلبلے"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"یہ گفتگو ببل کریں"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"یہ پیغامات کا جواب دے سکتی ہے اور اطلاعات میں بٹن پر کاروائی کر سکتی ہے، بشمول اطلاعات کو اسنوز کرنا یا مسترد کرنا اور کالز کا جواب دینا۔"</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"آپ کی ترتیبات تبدیل کر سکے گی"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"یہ \'ڈسٹرب نہ کریں\' کو آن یا آف کر سکتی ہے اور متعلقہ ترتیبات تبدیل کر سکتی ہے۔"</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"اس سے موڈز کو نظم اور فعال کیا جا سکتا ہے اور متعلقہ ترتیبات کو تبدیل کیا جا سکتا ہے۔"</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_modes_warning_summary" msgid="7528432011433844158">"اگر آپ <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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"ریئل-ٹائم"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"یہ ایپ بہتر کردہ ترتیبات کو سپورٹ نہیں کرتی ہے"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"مزید ترتیبات"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"اس ایپ کے اندر مزید ترتیبات دستیاب ہیں"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"اڈاپٹیو اطلاعات"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"اڈاپٹیو اطلاعات استعمال کریں"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"جب آپ کو کم وقت میں بہت ساری اطلاعات موصول ہوں گی تو آپ کا فون حجم کو کم کر دے گا اور دو منٹ تک اسکرین پر پاپ اپس کو کم کر دے گا۔ کالز، الارمز، اور ترجیحی گفتگوئیں اب بھی وائبریٹ ہوتی ہیں، آواز پیدا کرتی ہیں یا اسکرین پر ظاہر ہوتی ہیں اور جب آپ اسکرین کے اوپری حصے سے نیچے کی طرف کھینچتے ہیں تو تمام اطلاعات کو تلاش کرنا آسان ہوتا ہے۔"</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"نوٹیفکیشن کول ڈاؤن"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"ںوٹیفیکیشن کول ڈاؤن استعمال کریں"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"جب آپ کو تھوڑے وقت میں بہت ساری اطلاعات موصول ہوتی ہیں تو آپ کا آلہ اس کا والیوم کم کر دے گا اور 2 منٹ تک الرٹس کو کم کر دے گا۔ کالز، الارم، اور ترجیحی گفتگوئیں متاثر نہیں ہوتی ہیں۔ \n\nکول ڈاؤن کے دوران موصول ہونے والی اطلاعات، اسکرین کے اوپر سے نیچے کی طرف سوائپ کر کے حاصل کی جا سکتی ہیں۔"</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"دفتری پروفائلز پر لاگو کریں"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"دفتری پروفائل ایپس پر لاگو کریں"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"‏VR مددگار سروسز"</string>
@@ -3650,6 +3709,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"موڈز تک رسائی"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"موڈز تک رسائی کی اجازت دیں"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"کسی انسٹال کردہ ایپ نے موڈز تک رسائی کی درخواست نہیں کی ہے"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"آپ نے اس ایپ سے اطلاعات کی اجازت نہیں دی ہے"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"‏آپ کی درخواست پر، Android اطلاعات کے اس زمرے کو اس آلہ پر ظاہر ہونے سے مسدود کررہا ہے"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"‏آپ کی درخواست پر، Android اطلاعات کے اس گروپ کو اس آلہ پر ظاہر ہونے سے مسدود کر رہا ہے"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"زمرے"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"دیگر"</string>
     <string name="no_channels" msgid="4716199078612071915">"اس ایپ نے کوئی اطلاعات شائع نہیں کی ہیں"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"غیر استعمال شدہ زمرے دکھائیں"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"ایپ میں اضافی ترتیبات"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"غیر استعمال شدہ زمرے دکھائیں"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"غیر استعمال شدہ زمرے چھپائیں"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"گفتگوئیں"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"سبھی گفتگوئيں"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"سبھی گفتگوئیں"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"ترجیحی گفتگوئیں"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"ترجیحی گفتگوئیں"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"کوئی نہیں"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"ایپس جو مداخلت کر سکتی ہیں"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"منتخب کردہ ایپس"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"کوئی نہیں"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"سبھی"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{کوئی ایپ رکاوٹ نہیں ڈال سکتی}=1{{app_1} رکاوٹ ڈال سکتی ہے}=2{{app_1} اور {app_2} رکاوٹ ڈال سکتی ہیں}=3{{app_1}، {app_2} اور{app_3} رکاوٹ ڈال سکتی ہیں}other{{app_1}، {app_2} اور # مزید رکاوٹ ڈال سکتی ہیں}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (دفتری)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"حساب لگایا جا رہا ہے…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"<xliff:g id="NUMBER">%d</xliff:g>+"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ایپس کو اوور رائیڈ کرنے کی اجازت دیں"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"ایپس جو مداخلت کر سکتی ہیں"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"مزید ایپس منتخب کریں"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"کوئی چیز رکاوٹ نہیں ڈال سکتی"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"کوئی بھی رکاوٹ نہیں ڈال سکتا"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"کچھ لوگ رکاوٹ ڈال سکتے ہیں"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"بار بار کال کرنے والے رکاوٹ ڈال سکتے ہیں"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"سبھی لوگ رکاوٹ ڈال سکتے ہیں"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"بار بار کال کرنے والے"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"دوبارہ کال کرنے والوں کو اجازت دیں"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} تک صرف ایک گھنٹے کیلئے الارمز میں تبدیل کریں}other{{time} تک صرف # گھنٹوں کیلئے الارمز میں تبدیل کریں}}"</string>
     <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_action_change_name" msgid="766639614789907016">"نام تبدیل کریں"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"آئیکن تبدیل کریں"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"آئیکن تبدیل کریں"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"موڈ ترمیم کریں"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"وضع تخلیق کریں"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"حسب ضرورت موڈ"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"موڈ کا نام"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"کیلنڈر ایونٹس"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"بیڈ ٹائم روٹین"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"ڈرائیونگ کے دوران"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"ایپ کی ترتیبات"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"<xliff:g id="APP_NAME">%1$s</xliff:g> میں معلومات اور ترتیبات"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"<xliff:g id="APP_NAME">%1$s</xliff:g> کے زیر انتظام ہے"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g> غیر فعال کریں؟"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"یہ وضع غیر فعال ہونے پر کبھی آن نہیں ہوگی"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"غیر فعال کریں"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g> کو فعال کریں؟"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"یہ وضع اپنی ترتیبات کی بنیاد پر خودکار طور پر آن ہو سکتی ہے"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"فعال کریں"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"ریگولر شیڈول کی پیروی کرنے والا ایک موڈ سیٹ کریں"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"کیلنڈر ایونٹس اور دعوتی جوابات کے ساتھ مطابقت پذیری کے لیے ایک موڈ سیٹ کریں"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"پرسکون نیند کی روٹین ڈیزائن کریں۔ الارمز سیٹ کریں، اسکرین کو مدھم کریں اور اطلاعات کو مسدود کریں۔"</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"فوکسڈ اور خلفشار سے پاک ڈرائیو کے لیے سڑک پر حفاظت کو ترجیح دیں"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"توجہ مرکوز کرنے کے لیے اپنے آلے سے خلفشار یا رکاوٹوں کو مسدود کریں"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"پرسکون ماحول کے لیے تمام خلفشار کو ختم کریں"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"مختلف صارفین کے لیے آلہ کے تجربات اور ترتیبات کو ذاتی نوعیت کا بنائیں"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"صرف اہم لوگوں اور ایپس کو آپ تک رسائی کی اجازت دے کر رکاوٹوں کو کم کریں"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"ریگولر شیڈول کی پیروی کرنے والا ایک موڈ سیٹ کریں"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"اپنے آلے کو اپنے دن کے ایونٹس کے ساتھ مطابقت پذیر رکھیں"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"بیدار ہونے کا %100 احساس"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"دوران سفر پہلے اپنی حفاظت کا خیال رکھیں"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"گاڑی چلاتے وقت توجہ حاصل کریں"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"ان لمحوں کے لیے جب شائستگی شمار ہوتی ہے"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"محفوظ رہنے میں مدد کے لیے گائیڈڈ استعمال"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"اپنی توجہ پر کنٹرول رکھیں"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"وارننگ"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"بند کریں"</string>
     <string name="device_feedback" msgid="5351614458411688608">"اس آلہ کے بارے میں تاثرات بھیجیں"</string>
@@ -4006,6 +4102,10 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"<xliff:g id="APP">%1$s</xliff:g> کے لیے موڈز تک رسائی کی اجازت دیں؟"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"ایپ \'ڈسٹرب نہ کریں\' کو آن/آف کر سکے گی، موڈز کا نظم اور فعال کر سکے گی اور متعلقہ ترتیبات میں تبدیلیاں کر سکے گی۔"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"<xliff:g id="APP">%1$s</xliff:g> کے لیے موڈز تک رسائی کالعدم کریں؟"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"اس ایپ کی جانب سے تخلیق کردہ سبھی موڈز ہٹا دیے جائیں گے۔"</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"بہترین مت بنائیں"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"بہترین بنائیں"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"ممکن ہے یہ آپ کی بیٹری مزید تیزی سے ختم کر دے۔ ایپ کو اب پس منظر میں بیٹری استعمال کرنے سے منع نہیں کیا جائے گا۔"</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"کیس"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"بیٹری"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"ترتیبات پینل"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"ڈیسک ٹاپ موڈ فورس کریں"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ثانوی ڈسپلیز پر تجرباتی ڈیسک ٹاپ موڈ فورس کریں"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"فری فارم ونڈوز فعال کریں"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"فریفارم ونڈوز کو ثانوی ڈسپلے پر فعال کریں"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"ملٹی ونڈو میں سائز کی ناقابل تبدیلی کو فعال کریں"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"ناقابل تبدیل سائز والی ایپس کو ملٹی ونڈو میں ہونے کی اجازت ہوتی ہے"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"‏force-dark کو اوور رائیڈ کریں"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"موبائل ڈیٹا"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"‏آلے کے تجربے کو بہتر بنانے کے لیے، Wi‑Fi کے آف ہونے پر بھی ایپس اور سروسز اب بھی کسی بھی وقت Wi‑Fi نیٹ ورکس اسکین کر سکتی ہیں۔ مثال کے طور پر، اسے مقام پر مبنی خصوصیات اور سروسز کو بہتر بنانے کے لیے استعمال کیا جا سکتا ہے۔ آپ اسے Wi‑Fi اسکیننگ کی ترتیبات میں تبدیل کر سکتے ہیں۔"</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"تبدیل کریں"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"منسلک ہے"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"عارضی طور پر منسلک ہے"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"عارضی طور پر <xliff:g id="SUBNAME">%1$s</xliff:g> استعمال ہو رہا ہے"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ایپ کو پن کرنے کی سہولت کا استعمال کریں"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"ڈویلپر کے اختیارات کا استعمال کریں"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"پرنٹ سروس کا استعمال کریں"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"متعدد صارفین کو اجازت دیں"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"صارف سوئچ کرنے کی اجازت دیں"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"اجازت دیں، متعدد، صارف، اجازت، بہت سے"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"متعدد، صارفین، پروفائلز، لوگ، اکاؤنٹس، سوئچ، بہت کچھ"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"وائرلیس ڈیبگنگ کا استعمال کریں"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> اس فون سے منسلک ہونا چاہتا ہے۔\n\nآپ پہلے کبھی بھی <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> سے منسلک نہیں ہوئے ہیں۔"</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"منسلک نہ کریں"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"منسلک کریں"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"‏TARE کی ترتیبات"</string>
-    <string name="tare_on" msgid="2386073225978684535">"آن"</string>
-    <string name="tare_off" msgid="6305694402929756726">"آف"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"ڈیفالٹ ترتیبات پر لوٹائیں"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"ترتیبات ڈیفالٹ پر لوٹا دی گئیں۔"</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"زیادہ سے زیادہ مطمئن بیلنس"</string>
-    <string name="tare_balances" msgid="731881382594747961">"بیلنسز"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"کھپت کی حدود"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"ابتدائی کھپت کی حد"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"کم از کم کھپت کی حد"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"زیادہ سے زیادہ کھپت کی حد"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"موڈیفائرز"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"کارروائیاں (پروڈیوس کرنے کی لاگت)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"کارروائیاں (بنیادی قیمت)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"فی واحد ایونٹ انعامات"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"ایونٹ کے دورانیے کے فی سیکنڈ انعامات"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"فی دن زیادہ سے زیادہ انعامات"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"ایپ انسٹال"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"سرفہرست سرگرمی"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"اطلاع کو دیکھا گیا"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"اطلاع کو 15 منٹ کے اندر دیکھا گیا"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"اطلاع کا تعامل"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"ویجیٹ تعامل"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"صارف کے دیگر تعامل"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"زیادہ سے زیادہ ترجیح والی جاب شروع ہو رہی ہے"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"زیادہ سے زیادہ ترجیح والی جاب چل رہی ہے"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"زیادہ ترجیح والی جاب شروع ہو رہی ہے"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"زیادہ ترجیح والی جاب چل رہی ہے"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"ڈیفالٹ ترجیح والی جاب شروع ہو رہی ہے"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"ڈیفالٹ ترجیح والی جاب چل رہی ہے"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"کم ترجیح والی جاب شروع ہو رہی ہے"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"کم ترجیح والی جاب چل رہی ہے"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"کم از کم ترجیح والی جاب شروع ہو رہی ہے"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"کم از کم ترجیح والی جاب چل رہی ہے"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"جاب ٹائم آؤٹ کی سزا"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"کم از کم مطمئن بیلنس (مستثنیٰ)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"کم از کم مطمئن بیلنس (ہیڈ لیس سسٹم ایپ)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"کم از کم مطمئن بیلنس (باقی ایپس)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"کم از کم مطمئن بیلنس کا اضافہ (ایپ کے اپ ڈیٹ کنندگان)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"چارج ہو رہی ہے"</item>
-    <item msgid="658627268149681677">"اونگھ"</item>
-    <item msgid="1599558140284643834">"پاور محفوظ کرنے کی وضع"</item>
-    <item msgid="588427840913221601">"پروسیس اسٹیٹ"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"تصدیق کریں"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"پیش منظر"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"اسکرین سیور منتخب کریں"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"اضافی معلومات دکھائیں"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"منتخب کریں کہ آپ کے ٹیبلیٹ کو ڈاک سے منسلک کئے جانے پر آپ کو اپنی اسکرین پر کیا دکھائی دے۔ اسکرین سیور کا استعمال کرنے پر آپ کا آلہ زیادہ توانائی استعمال کر سکتا ہے۔"</string>
     <string name="customize_button_title" msgid="1110284655990203359">"حسب ضرورت بنائیں"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> کو حسب ضرورت بنائیں"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"فری فارم سپورٹ کو فعال کرنے کے لیے ریبوٹ درکار ہے۔"</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"سیکنڈری ڈسپلیز پر ڈیسک ٹاپ موڈ فورس کرنے کے لیے ریبوٹ درکار ہے۔"</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"فری فارم ونڈو سپورٹ کو فعال کرنے کے لیے ریبوٹ درکار ہے۔"</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"فریفارم ونڈوز کی دستیابی کو اپ ڈیٹ کرنے کیلئے ریبوٹ درکار ہے۔"</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"ثانوی ڈسپلیز پر فری فارم ونڈوز فعال کرنے کیلئے ریبوٹ درکار ہے۔"</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"ابھی ریبوٹ کریں"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"بعد میں ریبوٹ کریں"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"اسپیشیئل آڈیو"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"گلاب"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"میجنٹا"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"بیگنی"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"ہو گیا"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"محفوظ کریں"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"منسوخ کریں"</string>
     <string name="contrast_default" msgid="8918545965525226966">"ڈیفالٹ"</string>
     <string name="contrast_medium" msgid="384414510709285811">"متوسط"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"آن ہے"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"آف ہے"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"آن ہے"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"‏آڈیو %1$d%% بائیں، %2$d%% دائیں"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"‏آڈیو %1$d%% دائیں، %2$d%% بائیں"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"‏آپ کے آلے کا نام آپ کی انسٹال کردہ ایپس میں دکھائی دیتا ہے۔ آپ کے بلوٹوتھ آلات سے منسلک ہونے، Wi-Fi نیٹ ورک سے منسلک ہونے یا Wi-Fi ہاٹ اسپاٹ کو سیٹ اپ کرنے پر دوسرے لوگ بھی اسے دیکھ سکتے ہیں۔"</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"قواعد سے متعلق صنف"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"قواعد سے متعلق صنف منتخب کریں"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"آڈیو کا اشتراک رک گیا"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"ایک موافق آلہ سے منسلک کریں"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"‏آڈیو کا اشتراک شروع کرنے کے لیے، پہلے LE آڈیو ہیڈ فونز کو اپنے فون سے منسلک کریں"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> پر سوئچ کریں"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"‏LE آڈیو سلسلہ سے منسلک کریں"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"قریبی آڈیو سلسلے"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"آڈیو سلسلے"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"سلسلہ سنیں"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"‏<xliff:g id="DEVICE_NAME">%1$s</xliff:g> کے ساتھ سننے کے لئے آڈیو سلسلے کا QR کوڈ اسکین کریں"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"اشتراک کے دوران پاس ورڈ میں ترمیم نہیں کر سکتے۔ پاس ورڈ تبدیل کرنے کے لئے پہلے آڈیو کا اشتراک بند کریں۔"</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"‏QR کوڈ اسکینر"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"مدد درکار ہے؟"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"تلاش کی ترتیبات"</string>
 </resources>
diff --git a/res/values-uz/arrays.xml b/res/values-uz/arrays.xml
index 2fff628..8764027 100644
--- a/res/values-uz/arrays.xml
+++ b/res/values-uz/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Uyqu vaqti"</item>
-    <item msgid="4152450357280759894">"Avtomobilda"</item>
-    <item msgid="7096549258219399423">"Immersiv"</item>
-    <item msgid="2760716776980432977">"Boshqarilayotgan"</item>
-    <item msgid="601734478369121764">"Yulduzcha bilan belgilash"</item>
-    <item msgid="6243809315432780521">"Taqvim"</item>
-    <item msgid="4913577903148415331">"Vaqt"</item>
-    <item msgid="3653377604690057780">"Teatr"</item>
-    <item msgid="3843711267408385410">"Gul"</item>
+    <item msgid="1216815120972438676">"Portfel"</item>
+    <item msgid="184985872234062767">"Klassik bino"</item>
+    <item msgid="9189550412466785530">"Uy-joy maskani"</item>
+    <item msgid="2142527562511049422">"Izohli havola"</item>
+    <item msgid="2548100558260478605">"Odamlar guruhi"</item>
+    <item msgid="2270003903304578284">"Elektr lampa"</item>
+    <item msgid="4793496619091161864">"Taqvim"</item>
+    <item msgid="5673625795644364100">"Bezovta qilinmasin"</item>
+    <item msgid="1423820834865831361">"Yugurayotgan odam"</item>
+    <item msgid="2037298830718732608">"Golf"</item>
+    <item msgid="2197835014443491074">"Sport zalidagi gantel"</item>
+    <item msgid="2730180105015616518">"Suzish"</item>
+    <item msgid="2666922823253345958">"Piyoda sayrdagi odam"</item>
+    <item msgid="8234880356472211396">"Koptok otayotgan odam"</item>
+    <item msgid="4642980625253001443">"Tepayotgan odam"</item>
+    <item msgid="4324795269518833500">"Oʻyin kontrolleri"</item>
+    <item msgid="7789966425125441125">"Rassom rang palitrasi"</item>
+    <item msgid="663512680597461570">"Qor parchasi"</item>
+    <item msgid="7952183800501346803">"Sohil soyaboni"</item>
+    <item msgid="799139025758265891">"Asbob-uskunalar"</item>
+    <item msgid="1330084588359129896">"Chodir"</item>
+    <item msgid="3861584909935022342">"Plyonka ruloni"</item>
+    <item msgid="5827426100157335512">"Kitob"</item>
+    <item msgid="8585828346253128384">"Lotus guli"</item>
+    <item msgid="8788370542815300188">"Odam aqli"</item>
+    <item msgid="7287354964767553293">"Quloqliklar"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Poyezd"</item>
+    <item msgid="4903790544026923026">"Avtomobil"</item>
+    <item msgid="5010405583912314582">"Sanchqi va pichoq"</item>
+    <item msgid="8939998598599064900">"Xarid savati"</item>
+    <item msgid="3379605903308731893">"Bola"</item>
+    <item msgid="7808668968550293112">"Jonivor panjasi"</item>
+    <item msgid="1000692647524056504">"Yulduzcha nishoni"</item>
+    <item msgid="8270261073421676502">"Ikki kishi"</item>
+    <item msgid="5767782819651505460">"Yulduz"</item>
+    <item msgid="4368451291862729334">"Yurak"</item>
+    <item msgid="2613199102208419986">"Uy"</item>
+    <item msgid="3022279986430275040">"Yarim oy"</item>
+    <item msgid="5421089790869483206">"Soat"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index b60770e..984f4de 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Muzlatildi"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Noma’lum"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Razm solish"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR kod"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Har doim"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Eshitish qurilmasi sozlamalari"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Tezkor tugma, eshitish apparati bilan moslik"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Andoza"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Audiolog dasturlagan andozalar topilmadi"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Andoza yangilanmadi"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audio chiqishi"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Audio chiqishi haqida"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Bu ilova uchun Sozlamalardan tilni tanlash imkonsiz"</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Bu til ilovadagi tillardan farq qilishi mumkin. Ayrim ilovalarda bu sozlama ishlamaydi."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Har bir ilova uchun tilni sozlash."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Tizimingiz, ilovalaringiz va veb-saytlaringiz siz tanlagan tillardan birinchi dastaklanadigan tildan foydalanadi."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Qurilma, ilova va saytlaringiz siz tanlagan tillardan birinchi dastaklanadigan tilni ishlatadi.\n\nKoʻpgina ilovalar sanalar, raqamlar va birliklarni formatlash uchun siz tanlagan tildagi mintaqadan ham foydalanadi. Mintaqani oʻzgartirish uchun tilni qoʻshing, keyin maqbul mintaqani tanlang."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Har bir ilova uchun til tanlash uchun ilova tili sozlamalariga kiring."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Ilova tillari haqida batafsil"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Tizim tili %s tiliga oʻzgartirilsinmi?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Oʻchiq"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Yoniq / # ta ilova joylashuvdan foydalanadi}other{Yoniq / # ta ilova joylashuvdan foydalanadi}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Yuklanmoqda…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Yaqin-atrofdagi qurilmalarga ruxsati bor ilovalar ulangan qurilmalarning nisbiy holatini aniqlay oladi."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Yaqin-atrofdagi qurilmalarga ruxsati bor ilovalar ulangan qurilmalarning nisbiy holatini aniqlay oladi."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Ilovalar va xizmatlar uchun joylashuv axborotiga ruxsat yoqilmagan. Favqulodda holatlar raqamiga murojaat qilganingizda, qurilmangiz favqulodda xizmatlarga joylashuvingizni yuborishi mumkin."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Joylashuv sozlamalari haqida batafsil"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Oʻzgartirish uchun ChromeOS sozlamalari &gt; Maxfiylik va xavfsizlik &gt; Maxfiylik sozlamalari &gt; Joylashuv axborotiga ruxsat sahifasini oching"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Yuz va <xliff:g id="WATCH">%s</xliff:g> qoʻshildi"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Yuz, barmoq izi va <xliff:g id="WATCH">%s</xliff:g> qoʻshildi"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Yuz, barmoq izlari va <xliff:g id="WATCH">%s</xliff:g> qoʻshildi"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Shaxsni aniqlash yoqilgan, unga biometriya kerak"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Masofaviy Authenticator qulfini ochish"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Soat kiritildi"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Soatingizni sozlang"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Soat bilan ochish haqida batafsil"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Soat kiritish"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Soatni olib tashlash"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Barmoq izi va yuz bilan ochish"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Yuz va barmoq izi bilan ochish"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Ish uchun Yuz va Barmoq izi bilan ochish"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Sozlash talab etiladi"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Yuz va barmoq izlari kiritildi"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Maxfiy joy sozlanmoqda…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Maxfiy makon sozlanmadi"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Qayta urinish"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Chiqish"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Maxfiy makon mavjud emas.\nEhtimoliy sabablarni koʻrish"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Ehtimoliy sabablarni koʻrish"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Maxfiy makon uchun yangi qulf yaratilsinmi?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Maxfiy makon uchun alohida qulf belgilash yoki qurilmani qulfdan chiqarish uchun ishlatiladigan qulfni ishlatish mumkin"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Ekran qulfi"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Yaqin-atrofdagi Bluetooth qurilmalarga ulanish uchun Bluetooth aloqasini yoqing.\n\nQurilmadan foydalanishni yaxshilash uchun istalgan vaqt ilova va xizmatlar hatto Bluetooth oʻchiq boʻlsa ham Wi-Fi tarmoqlarni qidirishi mumkin. Bundan joylashuv axborotiga asoslangan funksiya va xizmatlarni yaxshilashda foydalanish mumkin. Bu funksiyani Bluetooth qidiruv sozlamalari orqali oʻzgartirish mumkin."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Yaqin-atrofdagi Bluetooth qurilmalarga ulanish uchun Bluetooth aloqasini yoqing. Tezkor ulashuv va Qurilmamni top kabi funksiyalar Bluetooth ishlatadi.\n\nIlova va xizmatlar istalgan vaqtda, hatto Bluetooth oʻchiqligida ham atrofdagi qurilmalarni qidirishi mumkin. Bu, masalan, joylashuvga asoslangan funksiyalar va xizmatlarni yaxshilash uchun ishlatilishi mumkin. Buni Bluetooth qidirish sozlamalarida oʻzgartirish mumkin."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Oʻzgartirish"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Qurilma tafsilotlari"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Klaviatura sozlamalari"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Boshqa sozlamalar"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Mikrodastur yangilanishi, qurilma haqida va hokazo"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Yordam va maslahatlar"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Qurilmaning Bluetooth manzili: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Qurilmaning Bluetooth manzili:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Qurilma unutilsinmi?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Tajribaviy. Audio sifatini oshiradi."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Qurilmani unutish"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Ilovani uzish"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Boshqa sozlamalar"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Maksimum ulangan Bluetooth audio qurilmalar"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Maksimum nechta Bluetooth audio qurilma ulash mumkinligi belgilang"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC taʼminotchisining batafsil debag jurnali"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Qurilma qayta ishga tushirilsinmi?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Tafsilotli NFC jurnali faqat ishlab chiqish maqsadlari uchun moʻljallangan. Qoʻshimcha NFC maʼlumotlari shaxsiy maʼlumotlar bor xato hisobotlariga kiritilgan. Bu sozlamani oʻzgartirish uchun qurilmangizni qayta ishga tushiring."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Qayta yoqish"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Yoniq"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Yoqilmagan"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Tashqi displey"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Tashqi displeydan foydalanish"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Ekran aniqlik darajasi"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Tashqi displey uzildi"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Burish"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Standart"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Ekran holati yoki aniqlik darajasi oʻzgartirilsa, barcha faol ilovalar toʻxtatilishi mumkin"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Ekranni aks ettirish uchun qurilmangiz tashqi displeyga ulangan boʻlishi kerak"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Yana"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Translatsiya"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"koʻzgu"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Simsiz monitorni yoqish"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Moslashuvchan"</string>
     <string name="brightness" msgid="6216871641021779698">"Yorqinlik darajasi"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Moslashuvchan yorqinlik"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Adaptiv yorqinlik haqida"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Ekran yorqinligi muhit va harakatlaringizga qarab avtomatik moslanadi. Yorqinlikni o‘zingizga moslashtirish uchun slayderni qo‘lda surib sozlashingiz mumkin."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Yoniq"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Oʻchiq"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Mobil internet uchun <xliff:g id="CARRIER">%1$s</xliff:g> ishlatilsinmi?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Mobil internet uchun <xliff:g id="CARRIER2_0">%2$s</xliff:g> ishlatmoqdasiz. <xliff:g id="CARRIER1">%1$s</xliff:g> faollashtirilganda, <xliff:g id="CARRIER2_1">%2$s</xliff:g> qayta mobil internet uchun ishlatilmaydi."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"<xliff:g id="CARRIER">%1$s</xliff:g> ishlatish"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Birlamchi SIM karta yangilansinmi?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> – qurilmangizdagi yagona SIM karta. Undan qo‘ng‘iroqlar, mobil internet va SMS xabarlar uchun foydalanmoqchimisiz?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> endi asosiy SIM kartangiz"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Mobil internet qamrovi yaxshilansinmi?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Qurilmangizga mobil internet uchun yaxshiroq ishlaydigan <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> operatoriga avtomatik almashishga ruxsat bering."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Chaqiruvlar, xabarlar va tarmoq trafigi tashkilotingizga koʻrinishi mumkin."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Variantlar"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Qulayliklar"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Tashqi klaviatura"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Ekrandagi klaviaturadan foydalanish"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Tashqi klaviatura ulanganida ekranda chiqib turadi"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Qayta bosishni nazorat qilish"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms ichida tugmalar takroriy bosilsa, eʼtiborsiz qoldiriladi"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Sekin tugmalar"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"<xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms dan keyin tugma bosilsa, qayd etiladi"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Yopishqoq tugmalar"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Barcha tugmalar kombinatsiyasini bosib turish oʻrniga ularni birma-bir bosing"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Sinchqoncha tugmalari"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Sichqonchani tashqi klaviatura yordamida boshqarish."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Tezkor tugmalar"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Tezkor tugmalar roʻyxatini ochish"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Ish profili klaviaturalari va vositalari"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Sensorli panelda individual navigatsiya ishoralarini sozlang"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Teskari aylantirish"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Pastga aylantirganingizda kontent yuqoriga siljiydi"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Pastki oʻng burchakka bosing"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Pastki oʻng burchakka bossangiz, boshqa parametrlar ochiladi"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Pastki oʻng burchakka bosish"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Pastki oʻng burchakka bossangiz, boshqa variantlar ochiladi"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Kursor tezligi"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Kursor ichini boʻyash uslubi"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Kursor ichini qoraga boʻyash"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Kursor ichini sariqqa boʻyash"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Kursor ichini pushtiga boʻyash"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Kursor ichini koʻkka boʻyash"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Kursor chiziqlari uslubi"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Oq"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Qora"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Hech qanday"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Sensorli panel ishoralari haqida"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"sensorli panel, sichqoncha, kursor, varaqlash, surish, oʻng klik, klik, koʻrsatkich"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"oʻng klik, bosish"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Yangilash"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Modifikator tugmasini tanlang"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> uchun yangi tugma tanlang:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> sxemasi"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Standart"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Avtomatik: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Foydalanuvchi tanlagan: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Nutq"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Kursor tezligi"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Kursor hajmi"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Kursor hajmini kamaytirish"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Kursor hajmini oshirish"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"O‘yin qurilmasi"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Tebranishni uzatish"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"O‘yin qurilmasi ulanganda tebranish yuborish"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Baribir davom ettirilsin"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Bekor qilish"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Kattalashtirish sozlamalari"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Bitta barmoq bilan sudrash"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Lupani 1 barmoq bilan suring"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Ekranda kezish uchun 1 barmoqni sudrang"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Kattalashtirish hududini bitta barmoq bilan suring."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Kattalashtirish hududini ikkita barmoq bilan suring."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Faqat ekran qismini kattalashtirishda ishlamaydi"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Kattalashtirish uchun tugmani bosing"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Kontentni kattaroq koʻrish uchun ekranni tezkor yaqinlashtiring"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Kattalashtirish uchun:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Kattalashtirish tugmasini bosing&lt;br/&gt; {1,number,integer}. Ekranga bosing&lt;br/&gt; {2,number,integer}. Ekranni 2 ta barmoq bilan suring&lt;br/&gt; {3,number,integer}. Moslash uchun 2 ta barmoq bilan chimding&lt;br/&gt; {4,number,integer}. Yakunlash uchun kattalashtirish tugmasini bosing&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Vaqtincha kattalashtirish uchun:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Kattalashtirish rejimi butun ekranga tatbiq etilganiga ishonch hosil qiling.&lt;br/&gt; {1,number,integer}. Kattalashtirish tugmasini bosing&lt;br/&gt; {2,number,integer}. Ekranning istalgan qismini bosib turing&lt;br/&gt; {3,number,integer}. Ekranni barmoq bilan suring&lt;br/&gt; {4,number,integer}. Yakunlash uchun barmoqni ekrandan oling"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Yaqinlashtirish:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Kattalashtirish tugmasini bosing&lt;br/&gt; {1,number,integer}. Ekranga bosing&lt;br/&gt; {2,number,integer}. Ekranda kezish uchun 2 barmoq bilan suring&lt;br/&gt; {3,number,integer}. Moslash uchun 2 barmoq bilan chimding&lt;br/&gt; {4,number,integer}. Kattalashtirishni toʻxtatish tugmasini bosing&lt;br/&gt;&lt;br/&gt; Vaqtinchalik yaqinlashtirish va hokazolar ham mumkin."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Yaqinlashtirish:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Kattalashtirish tugmasini bosing&lt;br/&gt; {1,number,integer}. Ekranga bosing&lt;br/&gt; {2,number,integer}. Ekranda kezish uchun 1 yoki 2 barmoq bilan suring&lt;br/&gt; {3,number,integer}. Moslash uchun 2 barmoq bilan chimding&lt;br/&gt; {4,number,integer}. Kattalashtirishni toʻxtatish tugmasini bosing&lt;br/&gt;&lt;br/&gt; Vaqtinchalik yaqinlashtirish va hokazolar ham mumkin."</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_pager" msgid="8461939455728454061">"Sahifa: <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> / <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Qulayliklar tugmasi buyrugʻi"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Erkin harakatlanuvchi tugmaga bosing"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Qulaylik ishorasi"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Ekranning pastidagi <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> qulayliklar tugmasini bosing. Funksiyalarni almashtirish uchun qulayliklar tugmasini bosib turing."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"2 ta barmoq bilan ekranning pastidan tepaga suring.\n\nFunksiyalarni almashtirish uchun 2 ta barmoq bilan tepaga suring va ushlab turing."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"3 ta barmoq bilan ekranning pastidan tepaga suring.\n\nFunksiyalarni almashtirish uchun 3 ta barmoq bilan tepaga suring va ushlab turing."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Ekranning quyi qismidan tepaga torting. Funksiyalarni almashtirish uchun tepaga suring va bosib turing.}other{Ekranning pastki qismidan # ta barmoq bilan tepaga suring. Funksiyalarni almashtirish uchun # ta barmoq bilan tepaga suring va bosib turing.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Yana"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"<xliff:g id="SERVICE">%1$s</xliff:g> haqida batafsil"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Tovush tugmalari"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"tovush tugmalari"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Ikkala tovush tugmalarini bosib turing."</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Ekranni ikki barmoq bilan ikki marta bosing"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d-barmoq bilan ikki marta bosing"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"%1$d ta barmoq bilan ekranga tez-tez ikki marta bosing"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Uch marta bosing"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Ekranga tez-tez %1$d marta bosing. Bu qurilmangizni sekinlashtirishi mumkin."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d-barmoq bilan ikki marta bosing"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Ekranni ikki barmoq bilan {0,number,integer} marta takror bosing"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Ekran ustiga uch marta bosing"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"uch marta bosing"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Ekranga tez-tez {0,number,integer} 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">"Qulayliklar tugmasi <xliff:g id="SERVICE">%1$s</xliff:g> xizmatiga sozlangan. Kattalashtirish uchun Qulayliklar 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Tezkor tugma sozlamalari"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Qulflangan ekrandan tezkor yoqish"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Maxsus funksiyani qulflangan ekrandan yoqishga ruxsat bering. Buning uchun ikkala tovush tugmalarini bir necha soniya bosib turing."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Qulayliklar tugmasi"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Qulaylik tugmasi va ishoralar"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Bu xizmat xato ishlayapti."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Qulayliklar buyruqlari"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Tezkor sozlamalarda ko‘rsatish"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Qizil/yashil"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Qizil/yashil"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Qizil-yashil, yashilni yaxshi koʻrmaslik"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Qizil-yashil, qizilni yaxshi koʻrmaslik"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Koʻk/sariq"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Kulrang tus"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Intensivlik"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Deyteranomaliya (yashilni yaxshi koʻrmaslik)"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Protanomaliya (qizilni yaxshi koʻrmaslik)"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Kulrang tus rejimida yoki ranglarni tuzatish oʻchirilganida mavjud emas"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Juda xira"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Ekranni juda xira qilish"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Zangori"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Sariq"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Pushtirang"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"<xliff:g id="SERVICE">%1$s</xliff:g> xizmatiga qurilmangizni boshqarish uchun toʻliq ruxsat berilsinmi?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g>:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Ilova ruxsatnoma so‘roviga xalaqit qilayotgani tufayli, “Sozlamalar” ilovasi javobingizni tekshira olmaydi."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> bu qurilmaning toʻliq boshqaruvini talab qilmoqda. Xizmat ekrandagilarni oʻqishi va maxsus imkoniyatlarga ehtiyoji bor foydalanuvchilar nomidan harakat qilishi mumkin. Boshqaruvning bu darajasi ayrim ilovalargagina mos keladi."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Toʻliq nazorat maxsus imkoniyatlar bilan ishlovchi ilovalar uchun mos, lekin barcha ilovalar uchun emas."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Ekranni ochish va boshqarish"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Ekrandagi barcha kontentni oʻqishi va kontentni boshqa ilovalar ustida ochishi mumkin."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Harakatlarni koʻrish va bajarish"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Ilova yoki qurilma sensori bilan munosabatlaringizni kuzatishi hamda sizning nomingizdan ilovalar bilan ishlashi mumkin."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Ruxsat"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Rad etish"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Faolsizlantirish"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Yoniq / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> va <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Bluetooth qurilmalar uchun Qamrovli ovozni yoqish mumkin."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Ulangan qurilmalar sozlamalari"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Qamrovli ovoz"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Yoqilmagan"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Yoqilmagan"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Yoqilmagan"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Hech qanday}=1{1 ta reja sozlangan}other{# ta reja sozlangan}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Bezovta qilinmasin"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Muhim rejimlar"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Rejim qoʻshish"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Rejimlar"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Uyqu, ish, haydash va hokazo rejimlarda chalgʻituvchi narsalarni kamaytiring va diqqatingiz markazini boshqaring."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Shaxsiy rejim yaratish"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Faqat muhim odamlar va ilovalardan bildirishnomalarni olish"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Jadval tuzing"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Jadval manbasi"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Kun va vaqt"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"9:00 — 17:00 begim kunlari\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Taqvimdagi tadbirlar"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} faol}=2{{mode_1} va {mode_2} faol}=3{{mode_1}, {mode_2} va {mode_3} faol}other{{mode_1}, {mode_2} va # tasi faol}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 ta rejim avtomatik yoqilishi mumkin}other{# ta rejim avtomatik yoqilishi mumkin}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"YONIQ"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Sozlanmagan"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Yoqilmagan"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Rejim yarating"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Maxsus"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Yoqish"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Faolsizlantirish"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Rejim topilmadi"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Bildirishnomalarni kamaytirish"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Uzilish va xalaqitlarni bloklang"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"<xliff:g id="MODE">%1$s</xliff:g>ni sozlash"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Bezovta qilinmasin rejimini yoqing"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Bezovta qilinmasin rejimi signal va media tovushlari uchun ishlamaydi"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Jadvallar"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Jadvallarni oʻchirish"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Oʻchirish"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Qayta nomlash"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Oʻchirish"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"\"<xliff:g id="MODE">%1$s</xliff:g>\" rejimi oʻchirilsinmi?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Tahrirlash"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Jadvallar"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Jadval"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Avtomatik yoqish"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Taqvim qoʻshish"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Taqvimingizdan foydalanish"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Jadval"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Jadval tuzing"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Qachon avtomatik yoqilishi"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Tadbir jadvali"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Mazkur tadbirda yoqish"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Mazkur tadbirga javob berish"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Vaqt jadvali"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Jadval"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> soat <xliff:g id="MINUTES">%2$d</xliff:g> daqiqa"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Jadval"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Tovush chiqarishga ruxsat"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Sizga kelishi mumkin bildirishnomalar"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Qoʻshimcha amallar"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Bildirishnoma filtrlari"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Boshqa sozlamalar"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Oʻchiq}=1{Oʻchiq / 1 ta rejim avtomatik yonishi mumkin}other{Oʻchiq / # ta rejim avtomatik yonishi mumkin}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Ekran sozlamalari"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Ekran parametrlari"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Kulrang tus"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"tungi mavzuni yoqish"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Operatsion tizim va ilovalar sozlamalarini qorongʻi fonda yorqin matn chiqarish tanlovi bilan almashtiring, bunda koʻzlar qiynalmaydi va ayrim qurilmalarda batareya sezilarli tejaladi"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Ekran oʻzgarishlarsiz}=1{{effect_1}}=2{{effect_1} va {effect_2}}=3{{effect_1}, {effect_2} va {effect_3}}other{{effect_1}, {effect_2} va yana # ta}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Barcha bildirishnomalarga ruxsat"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Odamlar, ilovalar va tovushlar xalaqit berishi mumkin"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Bildirishnomalarni filtrlab chiqarish parametrlari"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Bezovta qilinmasin rejimida"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Bildirishnomalar tovushsiz keladi"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"bildirishnomani ochish"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Bildirishnomalarni keyinga qoldirish"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Ilova belgisi ustida bildirishnoma belgisi"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Bildirishnoma jamlanmalari"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bulutchalar"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bulutchalar"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Bu suhbatni bulutchaga chiqarish"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Ilova xabarlarga javob berishi, bildirishnomalarni kechiktirishi yoki yopish kabi tugmalarda amal bajarishi va chaqiruvlarga javob berishi mumkin."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Sozlamalarni tahrirlash"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Ilova Bezovta qilinmasin rejimini yoqish va oʻchirish hamda shunga aloqador sozlamalarni oʻzgartirishi ham mumkin."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Rejimlarni boshqarishi va faollashtirishi va tegishli sozlamalarni oʻzgartirishi mumkin."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Agar <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> uchun bildirishnomalardan foydalanish faolsizlantirilsa, “Bezovta qilinmasin” funksiyasi ham faolsizlantiriladi."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Agar <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> uchun bildirishnomalardan foydalanish faolsizlantirilsa, rejimlarga ruxsat ham faolsizlantiriladi."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Faolsizlantirish"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Bekor qilish"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Real vaqt"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Bu ilovada kengaytirilgan sozlamalar ishlamaydi"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Boshqa sozlamalar"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Boshqa sozlamalar bu ilova ichida joylashgan"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Adaptiv bildirishnomalar"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Adaptiv bildirishnomalardan foydalanish"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Qisqa vaqt oraligʻida koʻp bildirishnoma kelsa, telefondagi tovush balandligi hamda bildirgi oynalar soni ikki daqiqagacha kamaytiriladi. Chaqiruvlar, signallar va muhim suhbatlar tebranish, tovush chiqarish va ekranda chiqishda davom etadi va barcha bildirishnomalarni ekranning tepasidan pastga surish orqali koʻrish mumkin."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Bildirishnomalarni cheklash"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Bildirishnomalarni sekinlatishdan foydalanish"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Qisqa vaqt oraligʻida koʻp bildirishnoma kelsa, qurilmangizdagi tovush balandligi hamda signallar davomiyligi 2 daqiqagacha kamaytiriladi. Chaqiruvlar, signallar va muhim suhbatlarga taʼsir qilmaydi. \n\nSekinlatish paytida olingan bildirishnomalarni ekranning yuqori qismidan pastga tortish orqali topish mumkin."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Ish profillariga tatbiq qilinsin"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Ish profilidagi ilovalar uchun qoʻllash"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Yordamchi VR xizmatlar"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Bezovta qilinmasin rejimi"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Bezovta qilinmasin rejimiga ruxsat"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Hech qanday ilova “Bezovta qilinmasin” funksiyasiga ruxsat so‘ramagan"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Rejimlarga ruxsat"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Rejimlarga ruxsat berish"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Oʻrnatilgan ilovalardan hech qaysi biri rejimlarga kirish uchun ruxsat talab qilmagan."</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Bu ilovadan bildirishnomalarga ruxsat bermagansiz"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Android bu turkumdagi bildirishnomalarni bloklamoqda"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Android bunday bildirishnomalar guruhini bloklaydi"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Turkumlar"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Boshqa"</string>
     <string name="no_channels" msgid="4716199078612071915">"Bu ilova hech qanday bildirishnoma joylamagan"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Nofaol turkumlarni chiqarish"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Ilovadagi boshqa sozlamalar"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Nofaol turkumlarni chiqarish"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Nofaol turkumlarni berkitish"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Suhbatlar"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Barcha suhbatlar"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"barcha suhbatlar"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Muhim suhbatlar"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"muhim suhbatlar"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Hech qanday"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Bezovta qilinmasin rejimi ishlamaydigan ilovalar"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Tanlangan ilovalar"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Hech biri"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Hammasi"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Bezovta qilinmasin rejimi barcha ilovalar uchun ishlaydi}=1{Bezovta qilinmasin rejimi {app_1} uchun ishlamaydi}=2{Bezovta qilinmasin rejimi {app_1} va {app_2} uchun ishlamaydi}=3{Bezovta qilinmasin rejimi {app_1}, {app_2} va {app_3} uchun ishlamaydi}other{Bezovta qilinmasin rejimi {app_1}, {app_2} va yana # ta tovushlar uchun ishlamaydi}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (ish)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Hisoblanmoqda…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Ilovalarga Bezovta qilinmasin rejimiga amal qilmasligiga ruxsat berish"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Bezovta qilinmasin rejimi ishlamaydigan ilovalar"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Boshqa ilovalarni tanlang"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Bezovta qilinmasin rejimi barcha tovushlar uchun ishlaydi"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Bezovta qilinmasin rejimi barcha xabar va chaqiruvlar uchun ishlaydi"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Bezovta qilinmasin rejimi ayrim foydalanuvchilardan keladigan xabar va chaqiruvlar uchun ishlamaydi"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Qayta chaqiruvlar xalaqit berishi mumkin"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Bezovta qilinmasin rejimi foydalanuvchilardan keladigan xabar va chaqiruvlar uchun ishlamaydi"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Qayta chaqiruvlar"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Qayta chaqiruvlar"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Signallarni faqat {time} ga bir soat qolgungacha faol qilish}other{Signallarni faqat {time} ga # soat qolgungacha faol qilish}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"“Faqat signallar” rejimini <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> gacha faol bo‘ladigan qilib yoqish"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Har doim bezovta qilinaversin"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Qayta nomlash"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Belgini oʻzgartirish"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Belgini oʻzgartirish"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Tahrirlash rejimi"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Rejim yaratish"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Maxsus rejim"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Rejim nomi"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Taqvimdagi tadbirlar"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Uyqu vaqti dasturi"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Avtomobilda"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Ilova sozlamalari"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasida axborot va sozlamalar"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"<xliff:g id="APP_NAME">%1$s</xliff:g> tomonidan boshqariladi"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"<xliff:g id="MODE_NAME">%1$s</xliff:g> faolsizlantirilsinmi?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Bu rejim yoqilmaguncha ishga tushmaydi"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Faolsizlantirish"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"<xliff:g id="MODE_NAME">%1$s</xliff:g> yoqilsinmi?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Bu rejim sozlamalar asosida avtomatik yoqilishi mumkin"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Yoqish"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Muntazam jadvalga amal qiladigan rejimni oʻrnating"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Taqvim bilan sinxronlash va javoblarni taklif qilish rejimini oʻrnating"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Tinchlantiruvchi uyqu rejimini yarating. Signal oʻrnating, ekranni xiralashtiring va bildirishnomalarni bloklang."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Diqqatni jamlab, chalgʻimasdan haydash uchun avvalo xavfsizlikka rioya qiling"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Diqqatni jamlash uchun qurilmadagi chalgʻituvchi omillar yoki xalaqitlarni bloklang"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Tinch muhit uchun barcha chalgʻitadiganlarni yoʻq qiling"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Turli foydalanuvchilar uchun qurilma ishlashi va sozlamalarini moslang"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Faqat muhim odamlar va ilovalarga ruxsat berish orqali xalaqitlarni minimallashtiring"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Muntazam jadvalga amal qiladigan rejimni oʻrnating"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Qurilmangizni kunlik tadbirlaringiz bilan sinxronlab boring"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"100% tetik uygʻoning"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Yo‘lda xavfsizlikni birinchi oʻringa qoʻying"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Hududga kirish uchun diqqatni jamlang"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Xushmuomalalik muhim lahzalar uchun"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Yaxshi qoʻllarda qolishingizga yordam beruvchi yoʻl-yoʻriqlar"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Diqqatingizni nazorat qiling"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Diqqat"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Yopish"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Qurilma haqida fikr-mulohaza"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Yoniq turishi shart, sababi bildirishnomalardan foydalanishga ruxsat berilgan"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"<xliff:g id="APP">%1$s</xliff:g> ilovasi uchun “Bezovta qilinmasin” rejimiga ruxsati bekor qilinsinmi?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Ushbu ilova tomonidan yaratilgan barcha “Bezovta qilinmasin” rejimi qoidalari o‘chirib tashlanadi."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"<xliff:g id="APP">%1$s</xliff:g> uchun rejimlarga ruxsat berilsinmi?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Ilova Bezovta qilinmasin rejimini yoqish/oʻchirish, rejimlarni boshqarish va faollashtirish hamda tegishli sozlamalarni oʻzgartirish imkoniyatiga ega boʻladi."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Bu ilova yaratgan barcha rejimlar olib tashlanadi."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Cheklov o‘rnatilmasin"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Cheklov o‘rnatish"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Batareya quvvati nisbatan tezroq sarflanishi mumkin. Fonda batareya sarfiga cheklov olib tashlanadi."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Quvvatlash gʻilofi"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Batareya"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Sozlamalar paneli"</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_desktop_mode" msgid="5644818402534562302">"Erkin shakldagi oynalarni yoqish"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Ikkinchi ekranda erkin shakldagi oynalarni yoqish"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Koʻp oynali hajmi oʻzgarmas ilovalarni yoqish"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Hajmi oʻzgarmas ilovalar koʻp oynali rejimda ochilishiga ruxsat beradi."</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Tungi mavzuni yoqish ustidan yozadi"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobil internet"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Qurilma ishlashini yaxshilash (masalan, joylashuvni yanada aniqroq aniqlash maqsadida) uchun ilova va xizmatlar hatto Wi-Fi yoqilmaganda ham istalgan vaqt Wi-Fi tarmoqlarni qidirishi mumkin. Buni Wi-Fi tarmoqlarni qidirish sozlamalari orqali oʻzgartirish mumkin."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Oʻzgarish"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Ulangan"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Vaqtincha ulangan"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Vaqtincha ishlatilmoqda: <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Ilovani mahkamlashdan foydalanish"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Dasturchi sozlamalaridan foydalanish"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Chop etish xizmatidan foydalanish"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Bir nechta foydalanuvchiga ruxsat berish"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Foydalanuvchini almashtirishga ruxsat"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"ruxsat, bir nechta, foydalanuvchi, ruxsat berish, koʻp"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"bir nechta, foydalanuvchilar, profillar, odamlar, hisoblar, almashtirish, koʻp"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Wi-Fi orqali debagging"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> telefoningizga ulanmoqda.\n\nOldin <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> qurilmasiga ulanmagansiz."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Ulanmasin"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Ulansin"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE sozlamalari"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Yoniq"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Oʻchiq"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Standart sozlamalarga qaytarish"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Asliga qaytarilgan sozlamalar."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Maksimal toʻyingan balans"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Balanslar"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Sarf cheklovlari"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Boshlangʻich sarf cheklovi"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Minimal sarf cheklovi"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Maksimal sarf cheklovi"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Modifikatorlar"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Amallar (ishlab chiqarish narxi)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Amallar (asosiy narxi)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Har bir tadbir uchun mukofotlar"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Tadbir har bir soniyasi uchun mukofotlar"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Kunlik maksimum mukofotlar"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Ilova oʻrnatish"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Eng sara harakat"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Bildirishnoma koʻrildi"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Bildirishnoma 15 daqiqa ichida koʻrildi"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Bildirishnoma bilan oʻzaro taʼsir"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Vidjet bilan oʻzaro taʼsiri"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Boshqa foydalanuvchi bilan oʻzaro taʼsiri"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Maksimal muhim ishni boshlash"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Maksimal muhim ish boshlangan"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Yuqori muhim ishni boshlash"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Yuqori muhim ish boshlangan"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Birlamchi muhim ishni boshlash"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Birlamchi muhim ish boshlangan"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Kamroq muhim ishni boshlash"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Kamroq muhim ish boshlangan"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Minimal muhim ishni boshlash"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Minimal muhim ish boshlangan"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Ish kechikishi uchun jazo"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Minimal toʻliq quvvat balansi (olib tashlangan)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Minimal toʻliq quvvat balansi (qarovsiz tizim ilovasi)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Minimal toʻliq quvvat balansi (qolgan ilovalar)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Minimal toʻliq quvvat balansiga qoʻshimcha (Ilova yangilash vostialari)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Quvvatlanmoqda"</item>
-    <item msgid="658627268149681677">"Mudroq"</item>
-    <item msgid="1599558140284643834">"Quvvat tejash rejimi"</item>
-    <item msgid="588427840913221601">"Jarayon holati"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Tasdiqlash"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Razm solish"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Ekran lavhasini tanlang"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Qoʻshimcha axborotni koʻrsatish"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Planshet dokka joylanganda ekranda nima chiqishini tanlang. Ekranda lavhasi chiqsa, qurilmangiz koʻproq quvvat sarflashi mumkin."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Moslash"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Moslash: <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Erkin shakllarni yoqish uchun qayta ishga tushirish zarur."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Ikkilamchi displeylar majburan ish stoli rejimida ishlashi uchun qayta ishga tushirish zarur."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Erkin shaklli oynalar bilan ishlashni yoqish uchun qayta ishga tushirish zarur."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Erkin shakldagi oynalar mavjudligini yangilash uchun qayta ishga tushirish zarur."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Ikkilamchi displeylarda erkin shakldagi oynalarni yoqish uchun qayta ishga tushirish zarur."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Hozir qayta ishga tushirish"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Keyinroq qayta ishga tushirish"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Qamrovli ovoz"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Atirgul"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Qirmizi"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Binafsharang"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Tayyor"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Saqlash"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Bekor qilish"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Birlamchi"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Oʻrtacha"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Yoniq"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Oʻchiq"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Yoniq"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Audio %1$d%% chap, %2$d%% oʻng"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Audio %1$d%% oʻng, %2$d%% chap"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Qurilma nomi siz oʻrnatgan ilovalarga koʻrinadi. Bluetooth qurilmalarga yoki Wi-Fi tarmoqqa ulanganingizda, Wi-Fi hotspot sozlaganingizda boshqalarga ham koʻrinishi mumkin."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Grammatik jins"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Grammatik jinsni tanlang"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Audio ulashuvi toʻxtatildi"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Mos qurilmaga ulanish"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Audio yuborish uchun avval telefonga LE Audio xususiyatli quloqliklarni ulang"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Bunga almashish: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"LE audio oqimiga ulanish"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Atrofdagi audio oqimlar"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Audio oqimlar"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Oqimga ulanish"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> qurilmasi bilan birga tinglash uchun audio oqim QR kodini skanerlang"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Parol ulashuv vaqtida tahrirlanmaydi. Parolni oʻzgartirish uchun audio ulashuvni faolsizlantiring."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR-kod skaneri"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Yordam kerakmi?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Qidiruv sozlamalari"</string>
 </resources>
diff --git a/res/values-vi/arrays.xml b/res/values-vi/arrays.xml
index 34ed335..7763c19 100644
--- a/res/values-vi/arrays.xml
+++ b/res/values-vi/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Giờ đi ngủ"</item>
-    <item msgid="4152450357280759894">"Lái xe"</item>
-    <item msgid="7096549258219399423">"Sống động"</item>
-    <item msgid="2760716776980432977">"Được quản lý"</item>
-    <item msgid="601734478369121764">"Sao"</item>
-    <item msgid="6243809315432780521">"Lịch"</item>
-    <item msgid="4913577903148415331">"Thời gian"</item>
-    <item msgid="3653377604690057780">"Nhà hát"</item>
-    <item msgid="3843711267408385410">"Hoa"</item>
+    <item msgid="1216815120972438676">"Cặp tài liệu"</item>
+    <item msgid="184985872234062767">"Toà nhà cổ điển"</item>
+    <item msgid="9189550412466785530">"Chung cư"</item>
+    <item msgid="2142527562511049422">"Ô lời thoại"</item>
+    <item msgid="2548100558260478605">"Nhóm người"</item>
+    <item msgid="2270003903304578284">"Bóng đèn"</item>
+    <item msgid="4793496619091161864">"Lịch"</item>
+    <item msgid="5673625795644364100">"Không làm phiền"</item>
+    <item msgid="1423820834865831361">"Người đang chạy"</item>
+    <item msgid="2037298830718732608">"Gôn"</item>
+    <item msgid="2197835014443491074">"Tạ tập thể dục"</item>
+    <item msgid="2730180105015616518">"Bơi"</item>
+    <item msgid="2666922823253345958">"Người đang đi bộ đường dài"</item>
+    <item msgid="8234880356472211396">"Người đang ném bóng"</item>
+    <item msgid="4642980625253001443">"Người đang đá"</item>
+    <item msgid="4324795269518833500">"Tay điều khiển trò chơi"</item>
+    <item msgid="7789966425125441125">"Bảng màu của nghệ sĩ"</item>
+    <item msgid="663512680597461570">"Bông tuyết"</item>
+    <item msgid="7952183800501346803">"Dù che trên bãi biển"</item>
+    <item msgid="799139025758265891">"Công cụ trong xưởng"</item>
+    <item msgid="1330084588359129896">"Lều"</item>
+    <item msgid="3861584909935022342">"Cuộn phim"</item>
+    <item msgid="5827426100157335512">"Sách"</item>
+    <item msgid="8585828346253128384">"Hoa sen"</item>
+    <item msgid="8788370542815300188">"Suy nghĩ của một người"</item>
+    <item msgid="7287354964767553293">"Tai nghe"</item>
+    <item msgid="2530059623783800987">"TV"</item>
+    <item msgid="5307182323469376758">"Xe lửa"</item>
+    <item msgid="4903790544026923026">"Ô tô"</item>
+    <item msgid="5010405583912314582">"Dao và nĩa"</item>
+    <item msgid="8939998598599064900">"Giỏ hàng"</item>
+    <item msgid="3379605903308731893">"Trẻ em"</item>
+    <item msgid="7808668968550293112">"Dấu chân động vật"</item>
+    <item msgid="1000692647524056504">"Huy hiệu ngôi sao"</item>
+    <item msgid="8270261073421676502">"2 người"</item>
+    <item msgid="5767782819651505460">"Ngôi sao"</item>
+    <item msgid="4368451291862729334">"Trái tim"</item>
+    <item msgid="2613199102208419986">"Nhà"</item>
+    <item msgid="3022279986430275040">"Nửa vầng trăng"</item>
+    <item msgid="5421089790869483206">"Đồng hồ"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index f5dd70c..c2cd6cf 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -41,6 +41,7 @@
     <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="preview_pager_content_description" msgid="3762247188224576303">"Xem trước"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"Mã QR"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Luôn luôn"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Cài đặt thiết bị trợ thính"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Phím tắt, khả năng tương thích với thiết bị trợ thính"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Chế độ đặt sẵn"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Không có chế độ đặt sẵn do chuyên gia thính học lập trình"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Không cập nhật được giá trị đặt trước"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Đầu ra âm thanh"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Giới thiệu về đầu ra âm thanh"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Bạn chưa thể chọn ngôn ngữ cho ứng dụng này trong phần Cài đặt."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Ngôn ngữ có thể khác với ngôn ngữ có sẵn trong ứng dụng. Một số ứng dụng có thể không hỗ trợ cài đặt này."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Đặt ngôn ngữ cho từng ứng dụng."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Hệ thống, các ứng dụng và trang web sẽ sử dụng ngôn ngữ đầu tiên được hỗ trợ trong số các ngôn ngữ mà bạn ưu tiên."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Thiết bị của bạn, các ứng dụng và trang web sẽ sử dụng ngôn ngữ trên cùng được hỗ trợ trong danh sách ngôn ngữ mà bạn ưu tiên.\n\nNhiều ứng dụng cũng sẽ định dạng ngày tháng, số và đơn vị theo khu vực tương ứng với ngôn ngữ ưu tiên của bạn. Để thay đổi khu vực, hãy thêm một ngôn ngữ, sau đó chọn khu vực bạn muốn."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Để chọn ngôn ngữ cho từng ứng dụng, hãy chuyển đến phần cài đặt ngôn ngữ ứng dụng."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Tìm hiểu thêm về ngôn ngữ ứng dụng"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Thay đổi ngôn ngữ hệ thống thành %s ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Đang tắt"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Đang bật / # ứng dụng có quyền truy cập vào thông tin vị trí}other{Đang bật / # ứng dụng có quyền truy cập vào thông tin vị trí}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Đang tải…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Những ứng dụng có quyền đối với các Thiết bị ở gần có thể xác định vị trí tương đối của các thiết bị đã kết nối."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Những ứng dụng có quyền đối với các thiết bị ở gần có thể xác định vị trí tương đối của các thiết bị đã kết nối."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Các ứng dụng và dịch vụ sẽ không có quyền truy cập vào thông tin vị trí. Khi bạn gọi điện hoặc nhắn tin đến một số khẩn cấp, nhân viên ứng cứu khẩn cấp vẫn có thể nhận được thông tin vị trí thiết bị của bạn."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Tìm hiểu thêm về chế độ Cài đặt vị trí"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Để thay đổi, hãy chuyển đến phần Cài đặt ChromeOS &gt; Quyền riêng tư và bảo mật &gt; Chế độ kiểm soát quyền riêng tư &gt; Quyền truy cập thông tin vị trí"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Đã thêm khuôn mặt và <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Đã thêm khuôn mặt, vân tay và <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Đã thêm khuôn mặt, vân tay và <xliff:g id="WATCH">%s</xliff:g>"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Tính năng Kiểm tra danh tính đang bật và bạn cần cung cấp dữ liệu sinh trắc học"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Mở khoá từ xa bằng Authenticator"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Đã thêm đồng hồ"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Thiết lập đồng hồ"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Tìm hiểu thêm về tính năng Mở khoá bằng đồng hồ"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Thêm đồng hồ"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Xoá đồng hồ"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Mở khoá bằng vân tay và Mở khoá bằng khuôn mặt"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Mở khóa bằng khuôn mặt và vân tay"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Mở khoá bằng khuôn mặt và vân tay cho công việc"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Cần thiết lập"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Đã thêm khuôn mặt và các vân tay"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Đang thiết lập không gian riêng tư…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Không thiết lập được không gian riêng tư"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Thử lại"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Thoát"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Không dùng được không gian riêng tư.\nXem nguyên nhân có thể gây lỗi"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Xem nguyên nhân có thể gây lỗi"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Chọn một phương thức khoá mới cho không gian riêng tư?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Bạn có thể đặt một phương thức khoá mới dành riêng cho không gian riêng tư, hoặc sử dụng phương thức khoá mà bạn dùng để mở khoá thiết bị của mình"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Dùng phương thức khoá màn hình"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Khi bạn bật Bluetooth, thiết bị của bạn có thể kết nối với các thiết bị Bluetooth khác ở gần.\n\nĐể cải thiện trải nghiệm sử dụng thiết bị, các ứng dụng và dịch vụ vẫn có thể quét tìm những thiết bị ở gần bất cứ lúc nào, ngay cả khi Bluetooth tắt. Chế độ này có thể được dùng để cải thiện các tính năng và dịch vụ dựa trên vị trí. Bạn có thể thay đổi chế độ này trong phần cài đặt tính năng Quét tìm Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Khi Bluetooth bật, thiết bị của bạn có thể kết nối với các thiết bị Bluetooth khác ở gần. Các tính năng như Chia sẻ nhanh và Tìm thiết bị của tôi đều sử dụng Bluetooth.\n\nCác ứng dụng và dịch vụ vẫn có thể quét tìm những thiết bị ở gần bất cứ lúc nào, ngay cả khi Bluetooth đang tắt. Chế độ này có thể được dùng cho một số mục đích, chẳng hạn như để cải thiện các tính năng và dịch vụ dựa trên vị trí. Bạn có thể thay đổi tuỳ chọn này trong phần cài đặt quét tìm thiết bị Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Thay đổi"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Chi tiết thiết bị"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Cài đặt bàn phím"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Chế độ cài đặt khác"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Bản cập nhật chương trình cơ sở, giới thiệu, v.v."</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Mẹo và hỗ trợ"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Địa chỉ Bluetooth của thiết bị: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Địa chỉ Bluetooth của thiết bị:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Xóa thiết bị"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Thử nghiệm. Tăng chất lượng âm thanh."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Xóa thiết bị"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Ngắt kết nối ứng dụng"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Chế độ cài đặt khác"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Số thiết bị âm thanh được kết nối qua Bluetooth tối đa"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Chọn số thiết bị âm thanh được kết nối qua Bluetooth tối đa"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Nhật ký gỡ lỗi chi tiết của nhà cung cấp về NFC"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Khởi động lại thiết bị?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Chế độ ghi nhật ký chi tiết về Giao tiếp phạm vi gần (NFC) chỉ dành cho mục đích phát triển. Dữ liệu bổ sung về NFC sẽ được đưa vào báo cáo lỗi. Dữ liệu này có thể chứa thông tin riêng tư. Hãy khởi động lại thiết bị để thay đổi chế độ cài đặt này."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Khởi động lại"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Đang bật"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Đang tắt"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Màn hình ngoài"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Dùng màn hình ngoài"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Độ phân giải màn hình"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Màn hình ngoài bị ngắt kết nối"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Góc xoay"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Tiêu chuẩn"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Việc thay đổi góc xoay hoặc độ phân giải có thể dừng các ứng dụng đang chạy"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Thiết bị phải được kết nối với một màn hình ngoài để phản chiếu màn hình của bạn"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Lựa chọn khác"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Truyền"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"phản chiếu"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Bật hiển thị không dây"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Thích ứng"</string>
     <string name="brightness" msgid="6216871641021779698">"Độ sáng"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Độ sáng thích ứng"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Giới thiệu về độ sáng thích ứng"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Độ sáng màn hình sẽ tự động điều chỉnh theo môi trường và hoạt động của bạn. Bạn có thể di chuyển thanh trượt theo cách thủ công để giúp tính năng độ sáng thích ứng học các lựa chọn ưu tiên của bạn."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Đang bật"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Tắt"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Sử dụng <xliff:g id="CARRIER">%1$s</xliff:g> cho dữ liệu di động?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Bạn đang sử dụng <xliff:g id="CARRIER2_0">%2$s</xliff:g> cho dữ liệu di động. Nếu chuyển sang <xliff:g id="CARRIER1">%1$s</xliff:g>, bạn sẽ không dùng được <xliff:g id="CARRIER2_1">%2$s</xliff:g> cho dữ liệu di động nữa."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Sử dụng <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Cập nhật SIM ưu tiên?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> là SIM duy nhất trong thiết bị của bạn. Bạn có muốn sử dụng SIM này cho dữ liệu di động, cuộc gọi và tin nhắn SMS không?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> hiện là SIM chính của bạn"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Cải thiện phạm vi dữ liệu di động?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Cho phép thiết bị tự động chuyển sang <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> để dùng dữ liệu di động khi mạng này ổn định hơn."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Tổ chức của bạn có thể nhìn thấy cuộc gọi, tin nhắn và lưu lượng truy cập mạng."</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Tuỳ chọn"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Hỗ trợ tiếp cận"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Bàn phím vật lý"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Sử dụng bàn phím ảo"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Hiện bàn phím ảo trên màn hình trong khi bàn phím vật lý đang hoạt động"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Phím nảy"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Bàn phím sẽ bỏ qua các lần nhấn nhanh liên tục cùng một phím trong <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> mili giây"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Phím chậm"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Điều chỉnh thời gian cần để kích hoạt lượt nhấn phím thành <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> mili giây"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Phím cố định"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Nhấn từng phím một để dùng phím tắt thay vì giữ các phím cùng lúc"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Các phím điều khiển chuột"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Dùng bàn phím thực để điều khiển chuột."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Phím tắt"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Hiện danh sách phím tắt"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Công cụ và bàn phím hồ sơ công việc"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Tuỳ chỉnh từng cử chỉ thao tác trên bàn di chuột"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Cuộn ngược"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Nội dung di chuyển lên khi bạn cuộn xuống"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Nhấn vào góc dưới cùng bên phải"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Nhấn vào góc cuối bên phải bàn di chuột để xem tuỳ chọn khác"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Nhấp vào góc cuối bên phải"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Nhấp vào góc cuối bên phải bàn di chuột để xem lựa chọn khác"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Tốc độ con trỏ"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Kiểu màu nền con trỏ"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Đổi màu nền con trỏ thành màu đen"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Đổi màu nền con trỏ thành màu vàng"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Đổi màu nền con trỏ thành màu hồng"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Đổi màu nền con trỏ thành xanh lam"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Kiểu nét vẽ của con trỏ"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Trắng"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Đen"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Không có"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Tìm hiểu về cử chỉ ở bàn di chuột"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"bàn di chuột, bàn rê chuột, chuột, con trỏ chuột, cuộn, vuốt, nhấp chuột phải, nhấp, con trỏ"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"nhấp chuột phải, nhấn"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Đặt lại"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Chọn phím bổ trợ"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Chọn một phím mới cho <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Bố cục <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Mặc định"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Tự động: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Người dùng đã chọn: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Lời nói"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Tốc độ con trỏ"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Kích thước con trỏ"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Giảm kích thước con trỏ"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Tăng kích thước con trỏ"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Trình điều khiển trò chơi"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Chuyển hướng rung"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Chuyển hướng rung sang bộ điều khiển trò chơi khi được kết nối."</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Vẫn tiếp tục"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Huỷ"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Cài đặt phóng to"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Di chuyển vùng phóng to bằng một ngón tay"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Di chuyển kính lúp bằng 1 ngón tay"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Kéo 1 ngón tay để di chuyển xung quanh màn hình."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Di chuyển vùng phóng to bằng cách kéo một ngón tay."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Di chuyển vùng phóng to bằng cách kéo hai ngón tay."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Không dùng được khi chỉ phóng to một phần màn hình"</string>
@@ -2115,6 +2159,8 @@
     <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_intro_text" msgid="3856180549393526339">"Nhanh chóng phóng to màn hình để hiển thị nội dung lớn hơn"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Cách phóng to:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Dùng phím tắt để bắt đầu phóng to&lt;br/&gt; {1,number,integer}. Nhấn vào màn hình&lt;br/&gt; {2,number,integer}. Kéo 2 ngón tay để di chuyển xung quanh màn hình&lt;br/&gt; {3,number,integer}. Chụm 2 ngón tay để điều chỉnh mức thu phóng&lt;br/&gt; {4,number,integer}. 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; {0,number,integer}. Hãy nhớ đặt kiểu phóng to thành toàn màn hình&lt;br/&gt; {1,number,integer}. Dùng phím tắt để bắt đầu phóng to&lt;br/&gt; {2,number,integer}. Chạm và giữ một vị trí bất kỳ trên màn hình&lt;br/&gt; {3,number,integer}. Kéo ngón tay để di chuyển xung quanh màn hình&lt;br/&gt; {4,number,integer}. Nhấc ngón tay lên để dừng phóng to"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Cách phóng to:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Dùng lối tắt để bắt đầu phóng to&lt;br/&gt; {1,number,integer}. Nhấn vào màn hình&lt;br/&gt; {2,number,integer}. Kéo 2 ngón tay để di chuyển xung quanh màn hình&lt;br/&gt; {3,number,integer}. Chụm 2 ngón tay để điều chỉnh mức thu phóng&lt;br/&gt; {4,number,integer}. Dùng lối tắt để dừng phóng to&lt;br/&gt;&lt;br/&gt; Bạn có thể dùng tính năng phóng to tạm thời cùng nhiều tính năng khác."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Cách phóng to:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Dùng lối tắt để bắt đầu phóng to&lt;br/&gt; {1,number,integer}. Nhấn vào màn hình&lt;br/&gt; {2,number,integer}. Kéo 1 hoặc 2 ngón tay để di chuyển xung quanh màn hình&lt;br/&gt; {3,number,integer}. Chụm 2 ngón tay để điều chỉnh mức thu phóng&lt;br/&gt; {4,number,integer}. Dùng lối tắt để dừng phóng to&lt;br/&gt;&lt;br/&gt; Bạn có thể dùng tính năng phóng to tạm thời cùng nhiều tính năng khác."</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_pager" msgid="8461939455728454061">"Trang <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Phím tắt cho nút hỗ trợ tiếp cận"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Nhấn vào nút nổi"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Cử chỉ hỗ trợ tiếp cận"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"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. Để chuyển đổi giữa các tính năng, hãy chạm và giữ nút hỗ trợ tiếp cận."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Dùng 2 ngón tay vuốt lên từ cuối màn hình.\n\nĐể chuyển đổi giữa các tính năng, hãy dùng 2 ngón tay vuốt lên và giữ."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Dùng 3 ngón tay vuốt lên từ cuối màn hình.\n\nĐể chuyển đổi giữa các tính năng, hãy dùng 3 ngón tay vuốt lên và giữ."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Vuốt lên từ cuối màn hình. Để chuyển đổi giữa các tính năng, hãy vuốt lên và giữ.}other{Dùng # ngón tay vuốt lên từ cuối màn hình. Để chuyển đổi giữa các tính năng, hãy dùng # ngón tay vuốt lên và giữ.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Tùy chọn khác"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Tìm hiểu thêm về <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Phím âm lượng"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"phím âm lượng"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Nhấn và giữ cả 2 phím âm lượng"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Nhấn đúp vào màn hình bằng hai ngón tay"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Nhấn đúp bằng %1$d ngón tay"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Dùng %1$d ngón tay nhấn nhanh vào màn hình 2 lần"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Nhấn 3 lần"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Nhấn nhanh vào màn hình %1$d lần. Thao tác này có thể khiến thiết bị của bạn hoạt động chậm."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"Nhấn đúp bằng %1$d ngón tay"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Nhấn nhanh vào màn hình {0,number,integer} lần bằng 2 ngón tay"</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_triple_tap_keyword" msgid="5359347130888464334">"nhấn 3 lần"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Nhấn nhanh vào màn hình {0,number,integer} lần. Phím 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <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="3923122834058574478">"Lối tắt từ màn hình khóa"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Cho phép lối tắt của tính năng hỗ trợ tiếp cận bật từ màn hình khóa. Giữ cả 2 phím âm lượng trong vài giây."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Nút hỗ trợ tiếp cận"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Nút và cử chỉ hỗ trợ tiếp cận"</string>
@@ -2334,13 +2376,14 @@
     <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="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Lối tắt hỗ trợ tiếp cận"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Hiển thị trong Cài đặt nhanh"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Đỏ – xanh lục"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Đỏ – xanh lục"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Khó phân biệt màu đỏ – xanh lục, xanh lục"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Khó phân biệt màu đỏ – xanh lục, đỏ"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Xanh lam – vàng"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Thang màu xám"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Cường độ"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Phân biệt màu lục kém, mù màu xanh lục"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Phân biệt màu đỏ kém, mù màu đỏ"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Không dùng được ở chế độ thang màu xám hoặc khi tắt tính năng chỉnh màu"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Siêu tối"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Đặt màn hình ở chế độ siêu tối"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"Lục lam"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Vàng"</string>
     <string name="color_magenta" msgid="8943538189219528423">"Đỏ tươi"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Cho phép <xliff:g id="SERVICE">%1$s</xliff:g> có toàn quyền kiểm soát thiết bị của bạn?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> cần:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Vì ứng dụng đang che khuất yêu cầu cấp quyền, Cài đặt không thể xác minh câu trả lời của bạn."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> đang yêu cầu toàn quyền kiểm soát thiết bị này. Dịch vụ này có thể đọc màn hình và hành động thay mặt cho người dùng có nhu cầu về hỗ trợ tiếp cận. Mức độ kiểm soát này không phù hợp với hầu hết các ứng dụng."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Bạn chỉ nên cấp toàn quyền kiểm soát cho những ứng dụng trợ giúp mình khi cần hỗ trợ tiếp cận, chứ không nên cấp cho hầu hết các ứng dụng."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Xem và điều khiển màn hình"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Dịch vụ này có thể đọc toàn bộ nội dung trên màn hình và hiển thị nội dung trên các ứng dụng khác."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Xem và thực hiện hành động"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Dịch vụ này có thể theo dõi các hoạt động tương tác của bạn với một ứng dụng hoặc bộ cảm biến phần cứng, cũng như có thể thay mặt bạn tương tác với các ứng dụng."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Cho phép"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Từ chối"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Tắt"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Đang bật/<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> và <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Bạn cũng có thể bật chế độ Âm thanh không gian cho các thiết bị Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Cài đặt thiết bị được kết nối"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Âm thanh không gian"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Đang tắt"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Đang tắt"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Đang tắt"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Không có}=1{Đã đặt 1 lịch biểu}other{Đã đặt # lịch biểu}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Không làm phiền"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Chế độ ưu tiên"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Thêm chế độ"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Chế độ"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Bớt phân tâm và tập trung hơn nhờ các chế độ khi ngủ, làm việc, lái xe và nhiều hoạt động khác."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Tạo chế độ của riêng bạn"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Chỉ nhận thông báo của những người và ứng dụng quan trọng"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Đặt một lịch biểu"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Lịch biểu dựa vào"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Ngày và giờ"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"9 giờ sáng – 5 giờ chiều các ngày trong tuần\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Sự kiện trên lịch"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1} đang hoạt động}=2{{mode_1} và {mode_2} đang hoạt động}=3{{mode_1}, {mode_2} và {mode_3} đang hoạt động}other{{mode_1}, {mode_2} và # chế độ khác đang hoạt động}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{Có thể tự động bật 1 chế độ}other{Có thể tự động bật # chế độ}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"ĐANG BẬT"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Chưa đặt"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Đã tắt"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Tạo một chế độ"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Tuỳ chỉnh"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Bật ngay"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Tắt"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Không tìm thấy chế độ nào"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Hạn chế bị gián đoạn"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Chặn các yếu tố gây gián đoạn và mất tập trung"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Thiết lập <xliff:g id="MODE">%1$s</xliff:g>"</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_alarms_only" msgid="2956938533859578315">"Chuông báo và âm thanh đa phương tiện có thể làm gián đoạn"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Lịch biểu"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Xóa lịch biểu"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Xóa"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Đổi tên"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Xoá"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Xoá chế độ \"<xliff:g id="MODE">%1$s</xliff:g>\"?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Chỉnh sửa"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Lịch biểu"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Lịch biểu"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Tự động bật"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Thêm lịch"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Dùng lịch của bạn"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Lịch biểu"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Đặt lịch biểu"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Thời điểm tự động bật"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Lịch trình sự kiện"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Bật trong các sự kiện của"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"Khi thư trả lời cho thư mời là"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Lịch biểu"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Lịch biểu"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> tiếng <xliff:g id="MINUTES">%2$d</xliff:g> phút"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Lên lịch"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Cho phép các hoạt động phát ra âm thanh có thể làm gián đoạn"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Những thông báo mà bạn có thể nhận được"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Thao tác khác"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Bộ lọc thông báo"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Chế độ cài đặt khác"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Đang tắt}=1{Đang tắt/1 chế độ có thể tự động bật}other{Đang tắt/# chế độ có thể tự động bật}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Chế độ cài đặt màn hình"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Lựa chọn hiển thị"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Thang màu xám"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"bật giao diện tối"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Chuyển đổi hệ điều hành và ứng dụng để ưu tiên dùng văn bản sáng trên nền tối, chế độ này có thể dễ nhìn hơn và giúp tiết kiệm pin đáng kể trên một số thiết bị"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Không thay đổi chế độ hiển thị}=1{{effect_1}}=2{{effect_1} và {effect_2}}=3{{effect_1}, {effect_2} và {effect_3}}other{{effect_1}, {effect_2} và # chế độ khác}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Cho phép tất cả thông báo"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Con người, ứng dụng và âm thanh có thể gây gián đoạn"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Các lựa chọn hiển thị đối với thông báo được lọc"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Khi chế độ Không làm phiền đang bật"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Không phát âm thanh khi có thông báo"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"mở 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="notification_badging_title" msgid="5469616894819568917">"Dấu chấm thông báo trên biểu tượng ứng dụng"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Gói thông báo"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bong bóng"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bong bóng"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Hiện cuộc trò chuyện này ở dạng bong bóng"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Ứng dụng này có thể trả lời tin nhắn và thao tác với các nút trong thông báo, bao gồm cả tạm ẩn hoặc loại bỏ thông báo và trả lời cuộc gọi."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Thay đổi chế độ cài đặt"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Ứng dụng này có thể bật hoặc tắt chế độ Không làm phiền và thay đổi các chế độ cài đặt liên quan."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Ứng dụng này có thể quản lý và kích hoạt Chế độ, cũng như thay đổi các chế độ cài đặt liên quan."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Nếu bạn tắt quyền truy cập thông báo của <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, quyền truy cập chế độ Không làm phiền cũng có thể bị tắt."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Nếu bạn tắt quyền truy cập của <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> vào thông báo, thì quyền truy cập vào Chế độ cũng có thể bị tắt."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Tắt"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Hủy"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Theo thời gian thực"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Ứng dụng này không hỗ trợ chế độ cài đặt nâng cao"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Chế độ cài đặt khác"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Các chế độ cài đặt khác có sẵn trong ứng dụng này"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Thông báo thích ứng"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Dùng thông báo thích ứng"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Khi bạn nhận được nhiều thông báo trong một thời gian ngắn, điện thoại sẽ hạ âm lượng và giảm thiểu cửa sổ bật lên trên màn hình trong tối đa 2 phút. Các cuộc gọi, chuông báo và các cuộc trò chuyện ưu tiên sẽ vẫn rung, phát ra âm thanh hoặc xuất hiện trên màn hình, đồng thời bạn sẽ dễ dàng tìm thấy mọi thông báo khi kéo xuống từ đầu màn hình."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Giảm dần âm lượng cho thông báo"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Dùng tính năng giảm dần âm lượng thông báo"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Khi bạn nhận được nhiều thông báo trong một thời gian ngắn, thiết bị của bạn sẽ hạ âm lượng và giảm thiểu cảnh báo trong tối đa 2 phút. Cuộc gọi, chuông báo và cuộc trò chuyện ưu tiên sẽ không bị ảnh hưởng. \n\nBạn có thể kéo xuống từ đầu màn hình để xem các thông báo nhận được trong lúc giảm dần âm lượng thông báo."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Áp dụng cho hồ sơ công việc"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Áp dụng cho các ứng dụng trong hồ sơ công việc"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Dịch vụ trình trợ giúp thực tế ảo"</string>
@@ -3650,6 +3717,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Quyền truy cập chế độ Không làm phiền"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Cho phép tính năng Không làm phiền"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Không có ứng dụng đã cài đặt nào yêu cầu quyền truy cập chế độ Không làm phiền"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Quyền truy cập vào Chế độ"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Cho phép truy cập vào Chế độ"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Không có ứng dụng đã cài đặt nào yêu cầu quyền truy cập vào Chế độ"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Bạn chưa cho phép thông báo từ ứng dụng này"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Theo yêu cầu của bạn, Android đang chặn không cho danh mục thông báo này xuất hiện trên thiết bị này"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Theo yêu cầu của bạn, Android đang chặn không cho nhóm thông báo này xuất hiện trên thiết bị này"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Danh mục"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Khác"</string>
     <string name="no_channels" msgid="4716199078612071915">"Ứng dụng này chưa đăng bất kỳ thông báo nào"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Hiện các danh mục không dùng đến"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Chế độ cài đặt bổ sung trong ứng dụng"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Hiện các danh mục không dùng"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Ẩn các danh mục không dùng"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Cuộc trò chuyện"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Mọi cuộc trò chuyện"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"tất cả cuộc trò chuyện"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Cuộc trò chuyện ưu tiên"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"cuộc trò chuyện ưu tiên"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Không có"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Các ứng dụng có thể làm gián đoạn"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Các ứng dụng được chọn"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Không có"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Tất cả"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Không ứng dụng nào có thể gây gián đoạn}=1{{app_1} có thể gây gián đoạn}=2{{app_1} và {app_2} có thể gây gián đoạn}=3{{app_1}, {app_2} và {app_3} có thể gây gián đoạn}other{{app_1}, {app_2} và # ứng dụng khác có thể gây gián đoạn}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (Công việc)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Đang tính toán…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Cho phép ứng dụng ghi đè"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Những ứng dụng có thể làm gián đoạn chế độ Không làm phiền"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Chọn ứng dụng khác"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Không âm thanh nào có thể làm gián đoạn"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Không ai có thể làm gián đoạn"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Một số người có thể làm gián đoạn"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Những người gọi nhiều lần có thể gây gián đoạn"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Tất cả mọi người có thể gián đoạn"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Người gọi nhiều lần"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Cho phép người gọi nhiều lần"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Đổi sang chế độ chỉ báo thức trong 1 giờ cho đến {time}}other{Đổi sang chế độ chỉ báo thức trong # giờ cho đến {time}}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Đổi sang báo thức chỉ đến khi <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Đổi sang luôn làm gián đoạn"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Đổi tên"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Thay đổi biểu tượng"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Thay đổi biểu tượng"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Chỉnh sửa chế độ"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Tạo một chế độ"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Chế độ tuỳ chỉnh"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Tên chế độ"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Sự kiện trên lịch"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Quy trình đi ngủ"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Trong khi lái xe"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Cài đặt ứng dụng"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Thông tin và chế độ cài đặt trong <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Do <xliff:g id="APP_NAME">%1$s</xliff:g> quản lý"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Tắt <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Chế độ này sẽ tuyệt đối không bật khi đã bị tắt"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Tắt"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Bật <xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Chế độ này có thể tự động bật theo chế độ cài đặt tương ứng"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Bật"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Đặt một chế độ theo lịch trình đều đặn"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Đặt một chế độ để đồng bộ hoá với các sự kiện trên lịch và phản hồi thư mời"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Thiết kế một lịch ngủ thư thái. Đặt chuông báo, giảm độ sáng màn hình và chặn thông báo."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Ưu tiên sự an toàn khi lái xe để tập trung và không bị sao lãng"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Chặn các yếu tố gây sao lãng hoặc gián đoạn trên thiết bị để giúp bạn tập trung"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Loại bỏ mọi yếu tố gây sao lãng để có một môi trường yên tĩnh"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Cá nhân hoá trải nghiệm và chế độ cài đặt thiết bị cho từng người dùng"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Chỉ hiện thông báo của những người và ứng dụng quan trọng để giảm thiểu yếu tố gây gián đoạn"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Đặt một chế độ theo lịch trình đều đặn"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Luôn đồng bộ hoá các sự kiện trong ngày với thiết bị"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Thức dậy với cảm giác tràn đầy năng lượng"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Đặt sự an toàn lên hàng đầu khi lái xe"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Tập trung cao độ"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Tình huống cần thể hiện phép lịch sự"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Sử dụng theo hướng dẫn để luôn được chăm sóc chu đáo"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Kiểm soát sự chú ý"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Cảnh báo"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Đóng"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Gửi ý kiến phản hồi về thiết bị này"</string>
@@ -4006,6 +4110,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Phải luôn bật vì quyền truy cập thông báo được bật"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Thu hồi quyền truy cập vào chế độ Không làm phiền của <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Mọi quy tắc Không làm phiền do ứng dụng này tạo sẽ đều bị xóa."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Cho phép <xliff:g id="APP">%1$s</xliff:g> truy cập vào Chế độ?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"Ứng dụng này sẽ có thể bật/tắt chế độ Không làm phiền, quản lý và kích hoạt Chế độ, cũng như thay đổi các chế độ cài đặt liên quan."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Mọi chế độ do ứng dụng này tạo sẽ bị xoá."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Không tối ưu hóa"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Tối ưu hóa"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Pin của bạn có thể hết nhanh hơn. Ứng dụng sẽ không còn bị hạn chế sử dụng pin ở chế độ nền nữa."</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Hộp sạc"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Pin"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Bảng Cài đặt"</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_desktop_mode" msgid="5644818402534562302">"Bật cửa sổ có thể đổi kích thước"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Bật cửa sổ có thể đổi kích thước trên màn hình phụ"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Bật tùy chọn không thay đổi kích thước trong nhiều cửa sổ"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Cho phép các ứng dụng không thể thay đổi kích thước xuất hiện trong nhiều cửa sổ"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Vô hiệu hoá tính năng buộc dùng chế độ tối"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"dữ liệu di động"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Để cải thiện trải nghiệm khi dùng thiết bị, chẳng hạn như cải thiện các tính năng và dịch vụ dựa trên vị trí, các ứng dụng và dịch vụ vẫn có thể quét tìm mạng Wi‑Fi bất cứ lúc nào, ngay cả khi Wi‑Fi đang tắt. Bạn có thể thay đổi chế độ này trong phần cài đặt tính năng quét tìm Wi‑Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Thay đổi"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Đã kết nối"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Tạm thời có kết nối"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Tạm thời sử dụng <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Sử dụng tính năng ghim ứng dụng"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Sử dụng tùy chọn cho nhà phát triển"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Dùng dịch vụ in"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Cho phép nhiều người dùng"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Cho phép chuyển đổi người dùng"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"cho phép, nhiều, người dùng"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"nhiều, người dùng, hồ sơ, mọi người, tài khoản, chuyển"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Sử dụng tính năng gỡ lỗi qua Wi-Fi"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> muốn kết nối với điện thoại này.\n\nBạn chưa từng kết nối với <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Không kết nối"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Kết nối"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Cài đặt TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Bật"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Tắt"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Khôi phục về Chế độ cài đặt mặc định"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Đã khôi phục về Chế độ cài đặt mặc định."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Tín dụng tối đa cho trạng thái sạc đầy"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Số dư"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Giới hạn mức sử dụng"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Giới hạn mức sử dụng ban đầu"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Giới hạn mức sử dụng tối thiểu"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Giới hạn mức sử dụng tối đa"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Yếu tố bổ trợ"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Thao tác (Chi phí sản xuất)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Thao tác (Giá cơ sở)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Số phần thưởng cho mỗi sự kiện"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Phần thưởng cho mỗi giây thời lượng sự kiện"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Số phần thưởng tối đa mỗi ngày"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Cài đặt ứng dụng"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Hoạt động hàng đầu"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Thông báo đã xem"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Thông báo đã xem trong vòng 15 phút"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Thông báo đã tương tác"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Tiện ích đã tương tác"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Hoạt động tương tác khác của người dùng"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Bắt đầu công việc có mức ưu tiên cao nhất"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Đang chạy công việc có mức ưu tiên cao nhất"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Bắt đầu công việc có mức ưu tiên cao"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Đang chạy công việc có mức ưu tiên cao"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Bắt đầu công việc có mức ưu tiên mặc định"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Đang chạy công việc có mức ưu tiên mặc định"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Bắt đầu công việc có mức ưu tiên thấp"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Đang chạy công việc có mức ưu tiên thấp"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Bắt đầu công việc có mức ưu tiên thấp nhất"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Đang chạy công việc có mức ưu tiên thấp nhất"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Phạt vì hết thời gian thực hiện"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Số dư tối thiểu khi sạc đầy (Ứng dụng được miễn trừ)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Số dư tối thiểu khi sạc đầy (Ứng dụng hệ thống không có giao diện người dùng)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Số dư tối thiểu khi sạc đầy (Các ứng dụng còn lại)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Bổ sung số dư tối thiểu khi sạc đầy (Trình cập nhật ứng dụng)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Đang sạc"</item>
-    <item msgid="658627268149681677">"Nghỉ"</item>
-    <item msgid="1599558140284643834">"Chế độ tiết kiệm điện"</item>
-    <item msgid="588427840913221601">"Trạng thái xử lý"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Xác nhận"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Xem trước"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Chọn một trình bảo vệ màn hình"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Hiện thêm thông tin"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Chọn nội dung bạn sẽ thấy trên màn hình khi máy tính bảng được cắm vào đế sạc. Thiết bị có thể tiêu hao nhiều năng lượng hơn khi bạn dùng trình bảo vệ màn hình."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Tuỳ chỉnh"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Tuỳ chỉnh <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Cần phải khởi động lại để bật tuỳ chọn hỗ trợ dạng tự do."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Cần phải khởi động lại để buộc chạy chế độ máy tính trên màn hình phụ."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Bạn cần phải khởi động lại để bật tính năng hỗ trợ cửa sổ có thể đổi kích thước."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Bạn cần phải khởi động lại để xem có dùng được tính năng cửa sổ có thể đổi kích thước không."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Bạn cần phải khởi động lại để bật tính năng cửa sổ có thể đổi kích thước trên màn hình phụ."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Khởi động lại ngay"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Khởi động lại sau"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Âm thanh không gian"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Hồng"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"Đỏ tía"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"Tím"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Xong"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Lưu"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Huỷ"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Mặc định"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Vừa"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Đang bật"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Đang tắt"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Đang bật"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Âm thanh: trái %1$d%%, phải %2$d%%"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Âm thanh: phải %1$d%%, trái %2$d%%"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Các ứng dụng bạn đã cài đặt sẽ biết được tên thiết bị của bạn. Những người khác cũng có thể thấy tên thiết bị này khi bạn kết nối với thiết bị Bluetooth, một mạng Wi-Fi hoặc thiết lập một điểm phát sóng Wi-Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Giống trong ngữ pháp"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Chọn giống trong ngữ pháp"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Đã dừng chia sẻ âm thanh"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Kết nối một thiết bị tương thích"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Để bắt đầu chia sẻ âm thanh, trước tiên, hãy kết nối tai nghe Âm thanh năng lượng thấp với chiếc điện thoại của bạn"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Chuyển sang <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Kết nối với luồng Âm thanh năng lượng thấp"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Luồng âm thanh ở gần"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Luồng âm thanh"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Nghe luồng âm thanh"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Hãy quét mã QR của luồng âm thanh để nghe bằng <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Không thể chỉnh sửa mật khẩu trong khi chia sẻ. Để đổi mật khẩu, trước tiên hãy tắt tính năng chia sẻ âm thanh."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Trình quét mã QR"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Bạn cần được trợ giúp?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Tìm kiếm trong phần Cài đặt"</string>
 </resources>
diff --git a/res/values-zh-rCN/arrays.xml b/res/values-zh-rCN/arrays.xml
index f01a72c..43b3ced 100644
--- a/res/values-zh-rCN/arrays.xml
+++ b/res/values-zh-rCN/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"睡眠时间"</item>
-    <item msgid="4152450357280759894">"驾车"</item>
-    <item msgid="7096549258219399423">"沉浸"</item>
-    <item msgid="2760716776980432977">"受管理"</item>
-    <item msgid="601734478369121764">"星形"</item>
-    <item msgid="6243809315432780521">"日历"</item>
-    <item msgid="4913577903148415331">"时间"</item>
-    <item msgid="3653377604690057780">"剧院"</item>
-    <item msgid="3843711267408385410">"花朵"</item>
+    <item msgid="1216815120972438676">"公文包"</item>
+    <item msgid="184985872234062767">"古典建筑"</item>
+    <item msgid="9189550412466785530">"公寓建筑"</item>
+    <item msgid="2142527562511049422">"对话气泡"</item>
+    <item msgid="2548100558260478605">"一群人"</item>
+    <item msgid="2270003903304578284">"灯泡"</item>
+    <item msgid="4793496619091161864">"日历"</item>
+    <item msgid="5673625795644364100">"勿扰"</item>
+    <item msgid="1423820834865831361">"跑步的人"</item>
+    <item msgid="2037298830718732608">"高尔夫"</item>
+    <item msgid="2197835014443491074">"健身房哑铃"</item>
+    <item msgid="2730180105015616518">"游泳"</item>
+    <item msgid="2666922823253345958">"远足的人"</item>
+    <item msgid="8234880356472211396">"投球的人"</item>
+    <item msgid="4642980625253001443">"用脚踢的人"</item>
+    <item msgid="4324795269518833500">"游戏控制器"</item>
+    <item msgid="7789966425125441125">"艺术家调色板"</item>
+    <item msgid="663512680597461570">"雪花"</item>
+    <item msgid="7952183800501346803">"沙滩伞"</item>
+    <item msgid="799139025758265891">"工作坊工具"</item>
+    <item msgid="1330084588359129896">"帐篷"</item>
+    <item msgid="3861584909935022342">"电影胶片"</item>
+    <item msgid="5827426100157335512">"图书"</item>
+    <item msgid="8585828346253128384">"莲花"</item>
+    <item msgid="8788370542815300188">"人的思想"</item>
+    <item msgid="7287354964767553293">"头戴式耳机"</item>
+    <item msgid="2530059623783800987">"电视"</item>
+    <item msgid="5307182323469376758">"火车"</item>
+    <item msgid="4903790544026923026">"汽车"</item>
+    <item msgid="5010405583912314582">"刀叉"</item>
+    <item msgid="8939998598599064900">"购物车"</item>
+    <item msgid="3379605903308731893">"儿童"</item>
+    <item msgid="7808668968550293112">"动物爪子"</item>
+    <item msgid="1000692647524056504">"星形徽章"</item>
+    <item msgid="8270261073421676502">"两个人"</item>
+    <item msgid="5767782819651505460">"星星"</item>
+    <item msgid="4368451291862729334">"心形"</item>
+    <item msgid="2613199102208419986">"房屋"</item>
+    <item msgid="3022279986430275040">"半月"</item>
+    <item msgid="5421089790869483206">"时钟"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 85ecacd..c9c9e9a 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"已暂停"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"未知"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"预览"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"二维码"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"缩小"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"放大"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"始终"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"助听装置设置"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"快捷键、助听器兼容性"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"预设"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"您的听觉矫正专家未设定任何预设"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"无法更新预设"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"音频输出"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"音频输出简介"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"您无法从“设置”中选择此应用的语言。"</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"语言可能与应用中可用的语言不同。部分应用可能不支持此设置。"</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"设置每个应用的语言。"</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"系统、应用和网站会使用首选语言中的第一个受支持的语言。"</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"设备、应用和网站会使用首选语言列表中的第一个受支持的语言。\n\n许多应用还会根据您首选的语言地区来调整日期、数字和单位的格式。如要更改您的地区,请先添加一种语言,然后选择您的首选地区。"</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"如需为每个应用选择语言,请进入应用语言设置页面。"</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"详细了解应用语言"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"将系统语言更改为%s?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"已关闭"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{已开启 / # 个应用有权访问位置信息}other{已开启 / # 个应用有权访问位置信息}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"正在加载…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"具有附近设备权限的应用可以确定已连接的设备的相对位置。"</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"具有附近设备权限的应用可以确定已连接设备的相对位置。"</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"应用和服务的位置信息使用权处于关闭状态。在您拨打紧急电话号码或向该号码发送短信时,系统可能仍会将您的设备位置信息发送给紧急救援人员。"</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"详细了解位置信息设置"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"如要进行更改,请依次前往 ChromeOS 的“设置”&gt;“隐私和安全”&gt;“隐私控制”&gt;“位置信息使用权”"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"已添加面孔和“<xliff:g id="WATCH">%s</xliff:g>”"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"已添加面孔、指纹和“<xliff:g id="WATCH">%s</xliff:g>”"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"已添加面孔、指纹和“<xliff:g id="WATCH">%s</xliff:g>”"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"身份检查功能已开启,需要进行生物识别"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"远程身份验证器解锁"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"已添加手表"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"设置手表"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"详细了解“手表解锁”功能"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"添加手表"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"移除手表"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"指纹解锁和人脸解锁"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"人脸解锁和指纹解锁"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"用于工作资料的人脸解锁和指纹解锁"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"需要设置"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"已添加面孔和多个指纹"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"正在设置私密空间…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"无法设置私密空间"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"重试"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"退出"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"私密空间不可用。\n查看可能的原因"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"查看可能的原因"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"要为私密空间选择新的锁定方式?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"您可以专为私密空间设置新的锁定方式,或使用设备屏锁来锁定此空间"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"使用屏锁"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"蓝牙功能处于开启状态时,您的设备可以与附近的其他蓝牙设备通信。\n\n为了提升设备的使用体验,即使蓝牙功能已关闭,应用和服务仍可以随时扫描附近的设备。例如,此功能可用于改进基于地理位置的功能和服务。您可以在蓝牙扫描设置中更改此设置。"</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"蓝牙处于开启状态时,您的设备可以与附近的其他蓝牙设备通信。快速分享、查找我的设备等功能会使用蓝牙。\n\n即使蓝牙已关闭,应用和服务仍可以随时扫描附近的设备。此功能有多种用途,例如可用于改进基于地理位置的功能和服务。您可在蓝牙扫描设置中更改此设置。"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"更改"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"设备详细信息"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"键盘设置"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"更多设置"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"固件更新、本机信息以及更多设置"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"提示和支持"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"设备的蓝牙地址:<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"设备的蓝牙地址:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"取消保存?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"实验性功能。可改善音频质量。"</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"取消保存"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"取消与该应用的关联"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"更多设置"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"已连接蓝牙音频设备的数量上限"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"选择已连接蓝牙音频设备的数量上限"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC 详细供应商调试日志"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"要重启设备吗?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"详细 NFC 日志记录仅用于开发目的。错误报告中包含其他 NFC 数据,其中可能包含私密信息。如需更改此设置,请重启设备。"</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"重启"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"已打开"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"已关闭"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"外接显示器"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"使用外接显示器"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"显示分辨率"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"外接显示器已断开连接"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"旋转角度"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"标准"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"更改旋转角度或分辨率可能会导致当前正在运行的任何应用停止运行"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"设备必须连接到外接显示器,才能镜像您的屏幕"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"更多选项"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"投屏"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"镜像"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"开启无线显示"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"自适应"</string>
     <string name="brightness" msgid="6216871641021779698">"亮度"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"自适应亮度"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"自适应亮度简介"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"系统会根据您的环境和活动自动调节屏幕亮度。您可以手动移动滑块,帮助“自适应亮度”功能了解您偏好的亮度。"</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"已开启"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"已关闭"</string>
@@ -1311,8 +1344,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="8850185380445309835">"要更新首选 SIM 卡吗?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"“<xliff:g id="NEW_SIM">%1$s</xliff:g>”是此设备上唯一的 SIM 卡。您要将此 SIM 卡用于移动数据网络、通话和收发短信吗?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g>现在是您的主 SIM 卡"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"改善移动网络信号覆盖范围?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"允许设备在 <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> 移动网络信号较强时自动切换到此类网络。"</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"通话、消息和网络流量或许会对贵组织可见。"</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"选项"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"无障碍功能"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"实体键盘"</string>
-    <string name="show_ime" msgid="4334255501724746849">"使用屏幕键盘"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"连接到实体键盘时,在屏幕上显示一个虚拟键盘"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"防抖键"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"键盘会忽略 <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> 毫秒内快速重复按下同一按键的操作"</string>
     <string name="slow_keys" msgid="2891452895499690837">"慢速键"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"将按键启用时长调整为 <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> 毫秒"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"粘滞键"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"只需一次按下一个键即可执行快捷操作,而不用同时按住多个键"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"鼠标键"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"使用实体键盘控制鼠标。"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"键盘快捷键"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"显示快捷键列表"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"工作资料键盘和工具"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"自定义个别的触控板导航手势"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"反向滚动"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"当您向下滚动时内容向上移动"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"点按右下角"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"点按触控板的右下角即可查看更多选项"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"点按右下角"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"点按触控板的右下角即可查看更多选项"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"指针速度"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"指针填充样式"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"将指针填充样式更改为黑色"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"将指针填充样式更改为黄色"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"将指针填充样式更改为粉色"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"将指针填充样式更改为蓝色"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"指针描边样式"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"白色"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"黑色"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"无"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"了解触控板手势"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"触控板, 鼠标, 光标, 滚动, 滑动, 右键点击, 点击, 指针, trackpad, track pad, mouse, cursor, scroll, swipe, right click, click, pointer"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"右键点击, 点按, right click, tap"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"重置"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"选择辅助键"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"为<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>选择新的辅助键:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"“<xliff:g id="IME_LABEL">%s</xliff:g>”布局"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"默认"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"自动选择的布局:<xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"用户选择的布局:<xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"语音"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"指针速度"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"指针比例"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"减小指针比例"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"增大指针比例"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"游戏控制器"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"重定向振动"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"连接后将振动传到游戏控制器"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"仍然继续"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"取消"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"放大设置"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"一根手指平移"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"用 1 根手指拖动即可移动放大区域"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"用 1 根手指拖动即可在画面上四处移动"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"拖动一根手指即可移动放大区域。"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"拖动两根手指即可移动放大区域。"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"如果仅放大局部屏幕,则无法使用此功能"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"点按按钮即可放大"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"快速放大屏幕,更清晰地查看内容"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;如需放大屏幕,请执行以下操作:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. 使用快捷方式启动放大功能&lt;br/&gt; {1,number,integer}. 点按屏幕&lt;br/&gt; {2,number,integer}. 拖动双指在屏幕上四处移动&lt;br/&gt; {3,number,integer}. 张合双指以调整缩放比例&lt;br/&gt; {4,number,integer}. 使用快捷方式停止放大功能&lt;br/&gt;&lt;br/&gt; &lt;b&gt;如需暂时放大屏幕,请执行以下操作:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. 确保已将放大类型设为“全屏”&lt;br/&gt; {1,number,integer}. 使用快捷方式启动放大功能&lt;br/&gt; {2,number,integer}. 轻触并按住屏幕上的任意位置&lt;br/&gt; {3,number,integer}. 拖动单指在屏幕上四处移动&lt;br/&gt; {4,number,integer}. 抬起手指以停止放大功能"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;如需放大画面,请按以下步骤操作:&lt;/b&gt;&lt;br/&gt;{0,number,integer}. 使用快捷手势开始放大&lt;br/&gt; {1,number,integer}. 点按画面&lt;br/&gt; {2,number,integer}. 拖动 2 指在画面上四处移动&lt;br/&gt; {3,number,integer}. 张合 2 指以调整缩放比例&lt;br/&gt; {4,number,integer}. 使用快捷手势停止放大&lt;br/&gt;&lt;br/&gt; 您还可以暂时放大画面及执行其他操作。"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;如需放大画面,请按以下步骤操作:&lt;/b&gt;&lt;br/&gt;{0,number,integer}. 使用快捷手势开始放大&lt;br/&gt; {1,number,integer}. 点按画面&lt;br/&gt; {2,number,integer}. 拖动 1 或 2 根手指在画面上四处移动&lt;br/&gt; {3,number,integer}. 张合 2 指以调整缩放比例&lt;br/&gt; {4,number,integer}. 使用快捷手势停止放大&lt;br/&gt;&lt;br/&gt; 您还可以暂时放大画面及执行其他操作。"</string>
     <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"开启放大功能后,您就可以放大屏幕上的内容。\n\n"<b>"要放大内容"</b>",请先启动放大功能,然后点按屏幕上的任意位置。\n"<ul><li>"拖动双指或多指即可进行滚动"</li>\n<li>"张合双指或多指即可调整缩放级别"</li></ul>\n\n<b>"要暂时性放大内容"</b>",请先启动放大功能,然后轻触并按住屏幕上的任意位置。\n"<ul><li>"拖动手指即可在屏幕上四处移动"</li>\n<li>"松开手指即可缩小回原来的状态"</li></ul>\n\n"您无法针对键盘或导航栏使用放大功能。"</string>
     <string name="accessibility_tutorial_pager" msgid="8461939455728454061">"第 <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> 页,共 <xliff:g id="NUM_PAGES">%2$d</xliff:g> 页"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"“无障碍”按钮快捷方式"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"点按悬浮按钮"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"无障碍功能启动手势"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"点按屏幕底部的“无障碍”按钮 <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>。若要在多项功能间切换,请轻触并按住“无障碍”按钮。"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"用两根手指从屏幕底部向上滑动。\n\n用两根手指向上滑动并按住,即可在多项功能之间切换。"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"用三根手指从屏幕底部向上滑动。\n\n用三根手指向上滑动并按住,即可在多项功能之间切换。"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{从屏幕底部向上滑动。若要在多项功能间切换,请向上滑动并按住。}other{用 # 根手指从屏幕底部向上滑动。若要在多项功能间切换,请用 # 根手指向上滑动并按住。}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"更多选项"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"详细了解<xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"音量键"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"音量键"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"同时按住两个音量键"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"双指点按屏幕两次"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d 指点按两次"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"用 %1$d 根手指快速点按屏幕两次"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"点按三次"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"快速点按屏幕 %1$d 次。这可能会减慢设备的运行速度。"</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d 指点按两次"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"双指快速点按屏幕 {0,number,integer} 次"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"点按屏幕三次"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"点按三次"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"在屏幕上快速点按 {0,number,integer} 次。此快捷方式可能会减慢设备的运行速度"</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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"快捷方式设置"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"在锁定屏幕上使用快捷方式"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"允许在屏幕锁定时开启功能快捷方式。同时按住两个音量键几秒钟即可开启。"</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"“无障碍”按钮"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"“无障碍”按钮和手势"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"此服务出现故障。"</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"无障碍快捷方式"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"在“快捷设置”中显示"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"红绿不分"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"红绿不分"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"红绿色盲、绿色弱"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"红绿色盲、红色弱"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"蓝黄不分"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"灰度模式"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"强度"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"绿色弱、绿色盲"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"红色弱、红色盲"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"在灰度模式下或“色彩校正”功能已停用时不可用"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"极暗"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"将屏幕调成极暗"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"青色"</string>
     <string name="color_yellow" msgid="5957551912912679058">"黄色"</string>
     <string name="color_magenta" msgid="8943538189219528423">"紫红色"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"要允许“<xliff:g id="SERVICE">%1$s</xliff:g>”完全控制您的设备吗?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"“<xliff:g id="SERVICE">%1$s</xliff:g>”需要:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"由于某个应用遮挡了权限请求界面,因此“设置”应用无法验证您的回应。"</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g>正在请求完全控制此设备。该服务可以读取屏幕内容,并代表有无障碍需求的用户进行操作。这种控制级别不适合大多数应用。"</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"如果需要使用无障碍功能,您可以将完全控制权限授予相关应用,但大多数应用都不应获得此权限。"</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"查看和控制屏幕"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"此功能可以读出屏幕上的所有内容,并在其他应用上层显示内容。"</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"查看和执行操作"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"此功能可以跟踪您与应用或硬件传感器的互动,并代表您与应用互动。"</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"允许"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"拒绝"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"关闭"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"已开启 / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g>和<xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"您还可以为蓝牙设备开启空间音频功能。"</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"设置已连接的设备"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"空间音频"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"关闭"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"关闭"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"关闭"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{无}=1{已设置 1 个时间表}other{已设置 # 个时间表}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"勿扰模式"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"优先模式"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"添加模式"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"模式"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"利用睡眠模式、工作模式、驾车模式和其他可用模式,尽可能减少干扰,保持专注。"</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"创建您的专属模式"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"仅接收来自重要联系人和重要应用的通知"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"设置时间表"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"时间表设置依据:"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"日期和时间"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"“工作日上午 9 点到下午 5 点”"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"日历活动"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{{mode_1}已启用}=2{{mode_1}和{mode_2}已启用}=3{{mode_1}、{mode_2}和{mode_3}已启用}other{{mode_1}、{mode_2}以及另外 # 个已启用}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{1 个模式可以自动开启}other{# 个模式可以自动开启}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"已启用"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"未设置"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"已停用"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"创建模式"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"自定义"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"立即开启"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"关闭"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"找不到此模式"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"限制打扰"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"屏蔽中断和干扰内容"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"设置<xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"开启勿扰模式"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"闹钟和媒体音效例外"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"时间表"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"删除时间表"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"删除"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"重命名"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"删除"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"要删除“<xliff:g id="MODE">%1$s</xliff:g>”模式吗?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"修改"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"时间表"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"时间表"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"自动开启"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"添加日程表"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"使用您的日程表"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"日程"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"设置时间表"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"何时自动开启"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"活动时间表"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"开启时间为所选日历的活动期间:"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"前提是对相关邀请的回复为:"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"时间表"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"时间表"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> 小时 <xliff:g id="MINUTES">%2$d</xliff:g> 分钟"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"时间表"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"可以发出声音的例外项"</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="mode_interruption_filter_title" msgid="6657431939996264417">"您可以收到的通知"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"其他操作"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"通知过滤条件"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"更多设置"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{关闭}=1{关闭/1 个模式可以自动开启}other{关闭/# 个模式可以自动开启}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"显示设置"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"显示选项"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"灰度模式"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"启用深色主题"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"将操作系统和应用设置切换到首选深色背景配浅色文本,这样可以减轻眼睛负担,并且在某些设备上能够显著节省电池电量"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{无显示变化}=1{{effect_1}}=2{{effect_1}和{effect_2}}=3{{effect_1}、{effect_2}和{effect_3}}other{{effect_1}、{effect_2}和另外 # 个}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"允许所有通知"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"来电、应用和其他提示音例外"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"针对已过滤通知的显示选项"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"开启勿扰模式时"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"不发出通知提示音"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"打开通知"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"允许显示通知延后选项"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"应用图标上的通知圆点"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"通知包"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"消息气泡"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"消息气泡"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"以消息气泡形式显示此对话"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"该应用可以回复消息和触发通知中的按钮,包括暂停或关闭通知、接听来电。"</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"更改设置"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"该应用可以开启或关闭“勿扰”模式,并可以更改相关设置。"</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"此功能可以管理和启用“模式”,以及更改相关设置。"</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_modes_warning_summary" msgid="7528432011433844158">"如果您停用<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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"实时"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"此应用不支持增强型设置"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"更多设置"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"您可以在此应用中使用更多设置"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"自适应通知"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"使用自适应通知"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"如果您在短时间内收到很多通知,手机会降低音量并将屏幕上的弹出式窗口最小化,这种状况最长可持续两分钟。来电、闹钟和优先对话仍会发出振动/声音提醒或显示在屏幕上,并且您只要从屏幕顶部向下拉,即可轻松找到所有通知。"</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"通知音量渐降"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"使用“通知音量渐降”"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"如果您在短时间内收到很多通知,设备音量会降低,提醒次数也会降至最低,这种状况最长可持续 2 分钟。电话、闹钟和优先对话则不受影响。\n\n音量渐降期间收到的通知可以通过从屏幕顶部向下拉找到。"</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"应用于工作资料"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"应用至工作资料应用"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR 助手服务"</string>
@@ -3650,6 +3717,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"模式访问权限"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"允许模式访问权限"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"已安装的应用均未申请模式访问权限"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"您尚未允许此应用显示通知"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"根据您的要求,Android 会阻止这类通知显示在此设备上"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"根据您的要求,Android 会阻止这组通知显示在此设备上"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"类别"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"其他"</string>
     <string name="no_channels" msgid="4716199078612071915">"此应用未发布任何通知"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"显示未使用的类别"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"应用中的其他设置"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"显示未使用的类别"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"隐藏未使用的类别"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"对话"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"所有对话"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"所有对话"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"优先对话"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"优先对话"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"无"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"例外的应用"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"所选应用"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"无"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"全部"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{任何应用均不例外}=1{“{app_1}”例外}=2{“{app_1}”和“{app_2}”例外}=3{“{app_1}”“{app_2}”和“{app_3}”例外}other{“{app_1}”“{app_2}”以及另外 # 款应用例外}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g>(工作)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"正在计算…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"允许应用覆盖"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"例外的应用"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"选择更多应用"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"任何音效均不能例外"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"任何人均不能例外"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"部分人例外"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"重复来电者例外"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"所有人都例外"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"重复来电者"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"不屏蔽重复来电者"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{更改为仅限闹钟并持续 1 小时,直到 {time}}other{更改为仅限闹钟并持续 # 小时,直到 {time}}}"</string>
     <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_action_change_name" msgid="766639614789907016">"重命名"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"更改图标"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"更改图标"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"修改模式"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"创建模式"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"自定义模式"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"模式名称"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"日历活动"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"“睡觉”日常安排"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"驾车时"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"应用设置"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"“<xliff:g id="APP_NAME">%1$s</xliff:g>”中的信息和设置"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"由“<xliff:g id="APP_NAME">%1$s</xliff:g>”管理"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"停用<xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"停用后,此模式绝不会自动开启"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"停用"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"启用<xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"此模式可能会自动开启,具体取决于它的相关设置"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"启用"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"设置一个遵守固定时间表的模式"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"设置一个可同步日历活动和邀请回复的模式"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"设计安睡日常安排。设置闹钟、调暗屏幕并屏蔽通知。"</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"以安全为重,驾驶途中不分心"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"屏蔽来自设备的干扰/打扰,聚精会神"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"消除所有干扰,打造安静的环境"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"针对不同用户提供个性化设备体验和设置"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"仅允许接收重要的人员和应用通知,尽可能避免打扰"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"设置一个遵循固定时间表的模式"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"让设备与您当天的活动保持同步"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"醒来时活力满满"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"在路上时将安全放在首位"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"集中注意力,心无旁骛"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"适用于需要注重礼节的场合"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"借助“引导使用”功能,保持安心无忧"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"掌控您的注意力"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"警告"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"关闭"</string>
     <string name="device_feedback" msgid="5351614458411688608">"发送有关此设备的反馈"</string>
@@ -4006,6 +4110,11 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"要为“<xliff:g id="APP">%1$s</xliff:g>”授予模式访问权限吗?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"此应用将可以开启/关闭“勿扰”模式,管理和启用“模式”,以及更改相关设置。"</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"系统将移除此应用创建的所有模式。"</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"不优化"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"优化"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"电池电量可能会更快耗尽。系统将不再限制应用在后台使用电量。"</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"充电盒"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"电池"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"设置面板"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"强制使用桌面模式"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"在辅助显示屏上强制使用桌面模式这一实验性功能"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"启用可自由调整的窗口"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"在辅助显示屏上启用可自由调整的窗口"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"允许以多窗口模式显示不可调整大小的应用"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"允许通过多窗口模式显示不可调整大小的应用"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"覆盖“强制启用 SmartDark 功能”的设置"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"移动数据网络"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"为了提升设备的使用体验,即使 WLAN 已关闭,应用和服务仍可以随时扫描 WLAN 网络。例如,此功能可用于改进需要使用位置信息的功能和服务。您可以在 WLAN 扫描设置中更改此功能。"</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"更改"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"已连接"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"已暂时连接"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"暂时正在使用 <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"使用“固定应用”"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"启用开发者选项"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"使用打印服务"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"允许多人设备共用"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"允许用户切换"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"允许, 多位, 用户, 许可, 多个, allow, multiple, user, permit, many"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"多个, 用户, 个人资料, 人员, 账号, 切换, 很多, multiple, users, profiles, people, accounts, switch, many"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"使用“无线调试”"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"“<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>”想连接到此手机。\n\n您之前没有连接过“<xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>”。"</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"不连接"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"连接"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE 设置"</string>
-    <string name="tare_on" msgid="2386073225978684535">"已开启"</string>
-    <string name="tare_off" msgid="6305694402929756726">"关闭"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"还原为默认设置"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"设置已还原为默认值。"</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"设备充满电时的最高可用电量"</string>
-    <string name="tare_balances" msgid="731881382594747961">"可用电量"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"消耗量限制"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"初始消耗量限制"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"消耗量下限"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"消耗量上限"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"修饰符"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"操作(执行成本)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"操作(基础价格)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"每个活动可获得的奖励"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"活动持续期间的每秒奖励"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"每天可获得的最高奖励"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"应用安装"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"顶层 activity"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"已查看通知"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"15 分钟内看过通知"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"通知互动"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"微件互动"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"其他用户互动"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"启动最高优先级作业"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"正在执行最高优先级作业"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"启动高优先级作业"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"正在执行高优先级作业"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"启动默认优先级作业"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"正在执行默认优先级作业"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"启动低优先级作业"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"正在执行低优先级作业"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"启动最低优先级作业"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"正在执行最低优先级作业"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"作业超时处罚"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"设备充满电时的最低可用电量(豁免应用)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"设备充满电时的最低可用电量(无头系统应用)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"设备充满电时的最低可用电量(其他应用)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"充满电时的最低额外可用电量(应用更新器)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"充电"</item>
-    <item msgid="658627268149681677">"低电耗模式"</item>
-    <item msgid="1599558140284643834">"节能模式"</item>
-    <item msgid="588427840913221601">"进程状态"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"确认"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"预览"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"选择屏保"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"显示其他信息"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"选择平板电脑插入基座时屏幕上显示的内容。使用屏保时,设备可能会比较耗电。"</string>
     <string name="customize_button_title" msgid="1110284655990203359">"自定义"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"自定义“<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>”"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"您必须重新启动设备,才能启用任意形式的支持。"</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"您必须重新启动设备,才能在辅助屏幕上强制使用桌面模式。"</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"您必须重新启动设备,才能启用自由窗口支持。"</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"您必须重新启动设备,才能更新可自由调整的窗口的可用性。"</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"您必须重新启动设备,才能在辅助显示屏上启用可自由调整的窗口。"</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"立即重新启动"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"稍后重新启动"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"空间音频"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"玫瑰色"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"品红色"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"紫色"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"完成"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"保存"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"取消"</string>
     <string name="contrast_default" msgid="8918545965525226966">"默认"</string>
     <string name="contrast_medium" msgid="384414510709285811">"中"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"已开启"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"已关闭"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"已开启"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"音频向左%1$d%%,向右%2$d%%"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"音频向右%1$d%%,向左%2$d%%"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"您安装的应用可以查看您的设备名称。此外,当您连接到蓝牙设备、连接到 WLAN 网络或设置 WLAN 热点时,其他人可能也会看到您的设备名称。"</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"语法性别"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"选择语法性别"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"已停止分享音频"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"连接兼容设备"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"如要开始分享音频,请先将 LE 音频耳机连接到手机"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"切换到“<xliff:g id="DEVICE_NAME">%1$s</xliff:g>”"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"连接到 LE 音频串流"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"附近的音频流"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"音频流"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"收听音频流"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"扫描音频流二维码即可通过“<xliff:g id="DEVICE_NAME">%1$s</xliff:g>”收听"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"分享期间无法修改密码。若要更改密码,请先关闭“音频分享”功能。"</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"二维码扫描器"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"需要帮助?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"在设置中搜索"</string>
 </resources>
diff --git a/res/values-zh-rHK/arrays.xml b/res/values-zh-rHK/arrays.xml
index 28c71fb..fa3cd29 100644
--- a/res/values-zh-rHK/arrays.xml
+++ b/res/values-zh-rHK/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"睡眠時間"</item>
-    <item msgid="4152450357280759894">"駕駛"</item>
-    <item msgid="7096549258219399423">"身歷其境"</item>
-    <item msgid="2760716776980432977">"受管理"</item>
-    <item msgid="601734478369121764">"星星"</item>
-    <item msgid="6243809315432780521">"日曆"</item>
-    <item msgid="4913577903148415331">"時間"</item>
-    <item msgid="3653377604690057780">"劇院"</item>
-    <item msgid="3843711267408385410">"花"</item>
+    <item msgid="1216815120972438676">"公事包"</item>
+    <item msgid="184985872234062767">"古典建築"</item>
+    <item msgid="9189550412466785530">"住宅建築"</item>
+    <item msgid="2142527562511049422">"對話氣泡"</item>
+    <item msgid="2548100558260478605">"一群人"</item>
+    <item msgid="2270003903304578284">"燈膽"</item>
+    <item msgid="4793496619091161864">"日曆"</item>
+    <item msgid="5673625795644364100">"請勿騷擾"</item>
+    <item msgid="1423820834865831361">"跑步的人"</item>
+    <item msgid="2037298830718732608">"高爾夫球"</item>
+    <item msgid="2197835014443491074">"健身啞鈴"</item>
+    <item msgid="2730180105015616518">"游泳"</item>
+    <item msgid="2666922823253345958">"遠足的人"</item>
+    <item msgid="8234880356472211396">"擲球的人"</item>
+    <item msgid="4642980625253001443">"踢腿的人"</item>
+    <item msgid="4324795269518833500">"遊戲控制器"</item>
+    <item msgid="7789966425125441125">"畫家的調色碟"</item>
+    <item msgid="663512680597461570">"雪花"</item>
+    <item msgid="7952183800501346803">"沙灘傘"</item>
+    <item msgid="799139025758265891">"工作坊工具"</item>
+    <item msgid="1330084588359129896">"帳篷"</item>
+    <item msgid="3861584909935022342">"菲林卷軸"</item>
+    <item msgid="5827426100157335512">"書籍"</item>
+    <item msgid="8585828346253128384">"蓮花"</item>
+    <item msgid="8788370542815300188">"人的頭腦"</item>
+    <item msgid="7287354964767553293">"耳機"</item>
+    <item msgid="2530059623783800987">"電視"</item>
+    <item msgid="5307182323469376758">"火車"</item>
+    <item msgid="4903790544026923026">"汽車"</item>
+    <item msgid="5010405583912314582">"刀叉"</item>
+    <item msgid="8939998598599064900">"購物車"</item>
+    <item msgid="3379605903308731893">"小孩子"</item>
+    <item msgid="7808668968550293112">"動物爪子"</item>
+    <item msgid="1000692647524056504">"星號徽章"</item>
+    <item msgid="8270261073421676502">"兩個人"</item>
+    <item msgid="5767782819651505460">"星形"</item>
+    <item msgid="4368451291862729334">"心"</item>
+    <item msgid="2613199102208419986">"屋"</item>
+    <item msgid="3022279986430275040">"半月"</item>
+    <item msgid="5421089790869483206">"時鐘"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 644c1a0..ab7565e 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"已暫停"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"不明"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"預覽"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR 碼"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"縮小"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"放大"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"一律允許"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"助聽器設定"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"捷徑、助聽器兼容性"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"預設"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"沒有聽力師的預設設定"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"無法更新預設"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"音訊輸出裝置"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"關於音訊輸出"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"「設定」中不提供此應用程式的語言選擇。"</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"可用的語言可能與應用程式支援的語言不同,部分應用程式可能不支援此設定。"</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"為每個應用程式設定語言。"</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"你的系統、應用程式和網站會使用偏好語言中第一個支援的語言。"</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"你的裝置、應用程式和網站會使用你的偏好語言清單中第一個支援的語言。\n\n大量應用程式亦會根據你偏好語言的地區提供日期、數字和單位的格式。如要變更地區,請新增語言,然後選擇你偏好的地區。"</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"如要為各應用程式選取語言,請前往應用程式語言設定。"</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"進一步瞭解應用程式語言"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"要將系統語言變更為「%s」嗎?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"關閉"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{開啟/ # 個應用程式可存取位置資訊}other{開啟/ # 個應用程式可存取位置資訊}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"正在載入…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"應用程式如可存取附近的裝置,就能判斷已連接裝置的相對位置。"</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"應用程式如可存取附近的裝置,就能判斷已連接裝置的相對位置。"</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"應用程式和服務的位置權限已關閉。當你打電話或發短訊到緊急電話號碼時,系統仍會將你的裝置位置資料傳送給救援人員。"</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"進一步瞭解「位置設定」"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"如要變更設定,請前往 ChromeOS 設定 &gt; [私隱與安全] &gt; [私隱權設定] &gt; [位置資料存取權]"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"已新增面孔和<xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"已新增面孔、指紋和<xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"已新增面孔、指紋和<xliff:g id="WATCH">%s</xliff:g>"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"檢查身分功能已開啟,需要生物識別資料"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator 解鎖"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"已新增手錶"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"設定手錶"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"進一步瞭解「手錶解鎖」"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"新增手錶"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"移除手錶"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"指紋及面孔解鎖"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"面孔和指紋解鎖"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"用於工作設定檔的面孔和指紋解鎖"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"需要設定"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"已新增面孔和指紋"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"正在設定私人空間…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"無法設定私人空間"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"再試一次"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"退出"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"無法使用私人空間。\n查看可能的原因"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"查看可能的原因"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"要為私人空間選擇新的鎖定方式嗎?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"你可專為私人空間設定新的鎖定方式,或者使用解鎖裝置的同一個鎖定方式"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"使用螢幕鎖定方式"</string>
@@ -828,8 +834,15 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"啟用藍牙功能後,你的裝置可與附近的其他藍牙裝置通訊。\n\n為改善裝置的使用體驗,應用程式和服務仍可隨時掃瞄附近的裝置 (即使藍牙功能已關閉)。此操作可用來改善定位功能和服務。你可在藍牙掃瞄設定中變更此設定。"</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"藍牙開啟後,裝置便可與附近的藍牙裝置通訊。「快速共享」和「尋找我的裝置」等功能均使用藍牙。\n\n無論藍牙是否開啟,應用程式和服務都可以隨時掃瞄附近的裝置。此操作有助改善定位功能和服務等。你可在藍牙掃瞄設定中變更此設定。"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"變更"</string>
+    <string name="bluetooth_key_missing_title" msgid="7799054163548353853">"「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」未連接"</string>
+    <string name="bluetooth_key_missing_message" msgid="2388861106663695319">"為安全起見,請刪除此裝置,然後重新配對"</string>
+    <string name="bluetooth_key_missing_forget" msgid="4692006517823001013">"忘記裝置"</string>
+    <string name="bluetooth_key_missing_cancel" msgid="2482416446357804371">"取消"</string>
     <string name="device_details_title" msgid="1155622417516195481">"裝置詳情"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"鍵盤設定"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"更多設定"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"韌體更新、資料及更多"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"貼士和支援"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"裝置的藍牙位址:<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"裝置的藍牙位址:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"要忘記裝置嗎?"</string>
@@ -839,6 +852,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"實驗功能,用於改善音質。"</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"忘記裝置"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"解除連結應用程式"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"更多設定"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"連接藍牙音訊裝置的數量上限"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"選取已連接藍牙音訊裝置的數量上限"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC 詳細供應商偵錯記錄"</string>
@@ -848,6 +862,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"要重新啟動裝置嗎?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"詳細 NFC 記錄僅適用於開發用途。錯誤報告中有其他 NFC 資料,可能包含私人資料。重新啟動裝置即可變更此設定。"</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"重新啟動"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"開啟"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"關閉"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"外部顯示屏"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"使用外部顯示屏"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"顯示屏解像度"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"外部顯示屏已解除連接"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"旋轉"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"標準"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"變更旋轉角度或解像度,可能會導致任何執行中的應用程式停止運作"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"裝置必須連接至外部顯示屏,才能鏡像投射畫面內容"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"更多選項"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"投放"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"鏡像"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"啟用無線螢幕分享"</string>
@@ -1189,6 +1217,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"自動調整"</string>
     <string name="brightness" msgid="6216871641021779698">"亮度"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"自動調校光暗"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"關於自動調校光暗"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"系統會根據你所在的環境和活動自動調校螢幕光暗。你可以移動滑桿,幫助自動調校光暗功能瞭解你偏好的亮度。"</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"開"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"關閉"</string>
@@ -1311,8 +1340,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="8850185380445309835">"要更新偏好的 SIM 卡嗎?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"<xliff:g id="NEW_SIM">%1$s</xliff:g> 是你裝置唯一的 SIM 卡。你想使用此 SIM 卡連接流動數據網絡、通話和收發短訊嗎?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"<xliff:g id="NEW_SIM">%1$s</xliff:g> 現已成為你的主要 SIM 卡"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"要改善流動數據涵蓋範圍嗎?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"允許裝置在 <xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> 網絡訊號較佳時自動改用此流動數據。"</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"你的機構可能會看到通話記錄、訊息和網絡流量。"</string>
@@ -1894,14 +1922,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"選項"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"無障礙功能"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"實體鍵盤"</string>
-    <string name="show_ime" msgid="4334255501724746849">"使用屏幕鍵盤"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"當實體鍵盤處於連接狀態時,保持在畫面上顯示"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"篩選鍵"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"鍵盤會忽略在 <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> 毫秒內快速重覆按下同一按鍵的動作"</string>
     <string name="slow_keys" msgid="2891452895499690837">"緩慢鍵"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"將按鍵啟動時間調整為 <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> 毫秒"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"相黏鍵"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"一次按下快速鍵中的一個鍵,而非同時按住多個鍵"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"滑鼠按鍵"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"使用實體鍵盤控制滑鼠"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"鍵盤快速鍵"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"顯示快速鍵清單"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"工作設定檔鍵盤與工具"</string>
@@ -1917,8 +1945,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"自訂個別觸控板導覽手勢"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"反向捲動"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"當你向下捲動時,內容會向上移動"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"輕按右下角"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"輕按觸控板右下角,即可查看更多選項"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"點擊右下角"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"點擊觸控板右下角,即可查看更多選項"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"游標速度"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"游標填滿樣式"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"變更游標填滿樣式至黑色"</string>
@@ -1926,6 +1954,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"變更游標填滿樣式至黃色"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"變更游標填滿樣式至粉紅色"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"變更游標填滿樣式至藍色"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"游標筆劃樣式"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"白色"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"黑色"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"無"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"學習觸控板手勢"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"觸控板, 滑鼠, 鼠標, 捲動, 輕掃, 按一下右鍵, 點擊, 游標"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"按一下右鍵, 輕按"</string>
@@ -1963,12 +1995,17 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"重設"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"選擇輔助鍵"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"為「<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>」選擇新的輔助鍵:"</string>
+    <string name="keyboard_a11y_settings" msgid="2564659018555385728">"實體鍵盤無障礙功能"</string>
+    <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"相黏鍵、篩選鍵、滑鼠鍵"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> 版面配置"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"預設"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"自動:<xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"已選取使用者:<xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"語音"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"游標速度"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"游標比例"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"縮小游標比例"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"放大游標比例"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"遊戲控制器"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"產生震動"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"連接時令遊戲控制器產生震動"</string>
@@ -2091,7 +2128,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"仍要繼續"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"取消"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"放大設定"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"單指平移"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"以 1 隻手指移動放大鏡"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"拖曳 1 隻手指便可在螢幕上移動"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"拖曳一隻手指即可移動放大範圍。"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"拖曳兩隻手指即可移動放大範圍。"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"無法用於只放大部分畫面"</string>
@@ -2115,6 +2153,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"輕按按鈕即可縮放"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"快速放大螢幕畫面中的內容"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;放大螢幕畫面:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. 用捷徑開始放大&lt;br/&gt; {1,number,integer}. 輕按螢幕&lt;br/&gt; {2,number,integer}. 用兩指拖曳畫面即可四處移動&lt;br/&gt; {3,number,integer}. 用兩指縮放即可調整縮放比例&lt;br/&gt; {4,number,integer}. 用捷徑即可停止放大&lt;br/&gt;&lt;br/&gt;&lt;b&gt;暫時放大螢幕畫面:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. 確定放大類型已設為全螢幕&lt;br/&gt; {1,number,integer}. 用捷徑開始放大&lt;br/&gt; {2,number,integer}. 按住畫面上任何地方&lt;br/&gt; {3,number,integer}. 用兩指拖曳畫面即可四處移動&lt;br/&gt; {4,number,integer}. 提起手指即可停止放大"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;按照下列步驟放大螢幕畫面:&lt;/b&gt;&lt;br/&gt; {0,number,integer}。用快速鍵啟用放大功能&lt;br/&gt; {1,number,integer}。輕按螢幕&lt;br/&gt; {2,number,integer}。拖曳 2 指就可以在畫面上移動&lt;br/&gt; {3,number,integer}。用 2 指縮放就可以調整縮放程度&lt;br/&gt; {4,number,integer}。以快速鍵停用放大功能&lt;br/&gt;&lt;br/&gt;你亦可以暫時放大畫面及執行其他操作。"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;按照下列步驟放大螢幕畫面:&lt;/b&gt;&lt;br/&gt; {0,number,integer}。用快速鍵啟用放大功能&lt;br/&gt; {1,number,integer}。輕按螢幕&lt;br/&gt; {2,number,integer}。拖曳 1 指或 2 指就可以在畫面上移動&lt;br/&gt; {3,number,integer}.用 2 指縮放就可以調整縮放程度&lt;br/&gt; {4,number,integer}。以快速鍵停用放大功能&lt;br/&gt;&lt;br/&gt;你亦可以暫時放大畫面及執行其他操作。"</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_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g> 頁中嘅第 <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> 頁"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"無障礙功能按鈕捷徑"</string>
@@ -2149,8 +2189,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"輕按懸浮按鈕"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"無障礙手勢"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"輕按畫面底部的無障礙功能按鈕 <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>。如要切換功能,請按住無障礙功能按鈕。"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"用兩指由螢幕底部向上掃。\n\n如要切換功能,請用兩指向上掃並按住。"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"用 3 隻手指由螢幕底部向上掃。\n\n用 3 隻手指向上掃然後㩒住,就可以切換唔同功能。"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{由螢幕底部向上輕掃。如要切換功能,請向上輕掃並按住。}other{用 # 隻手指由螢幕底部向上輕掃。如要切換功能,請用 # 隻手指向上輕掃並按住。}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"更多選項"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"進一步瞭解「<xliff:g id="SERVICE">%1$s</xliff:g>」"</string>
@@ -2161,22 +2199,18 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"音量鍵"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"音量鍵"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"同時按住兩個音量鍵"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"用兩隻手指喺螢幕上面㩒兩下"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d 隻手指輕按兩下"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"用 %1$d 隻手指快速輕按螢幕兩下"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"輕按三下"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"快速輕按螢幕 %1$d 下。這樣做可能會減慢裝置運作速度。"</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d 隻手指㩒 2 下"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"用兩隻手指快速喺螢幕上面㩒 {0,number,integer} 下"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"輕按螢幕三下"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"㩒 3 下"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"快速㩒螢幕 {0,number,integer} 下。呢個快速鍵可能會減慢裝置運作速度"</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_global_gesture_preference_title" msgid="8866765674372344850">"音量鍵捷徑"</string>
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"快速鍵設定"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"上鎖畫面快速鍵"</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="2301019277262462426">"上鎖畫面的音量鍵捷徑"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"允許在上鎖畫面開啟功能捷徑。同時按住兩個音量鍵幾秒。"</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"無障礙功能按鈕"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"無障礙功能按鈕和手勢"</string>
@@ -2334,13 +2368,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"呢個服務出現故障。"</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"無障礙功能捷徑"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"在「快速設定」中顯示"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"紅綠不分"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"紅綠不分"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"紅綠,綠色弱"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"紅綠,紅色弱"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"藍黃不分"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"灰階螢幕"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"強度"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"綠色弱、綠色盲"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"紅色弱、紅色盲"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"使用灰階螢幕模式或停用色彩校正時無法提供"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"超暗"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"使用超暗螢幕"</string>
@@ -2388,15 +2423,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"藍綠色"</string>
     <string name="color_yellow" msgid="5957551912912679058">"黃色"</string>
     <string name="color_magenta" msgid="8943538189219528423">"洋紅色"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"要授予「<xliff:g id="SERVICE">%1$s</xliff:g>」裝置的完整控制權嗎?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"「<xliff:g id="SERVICE">%1$s</xliff:g>」需要:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"由於有應用程式阻礙權限請求,「設定」無法驗證你的回覆。"</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g>正在要求完全控制此裝置。此服務可以讀取畫面,並代表需要使用無障礙功能的使用者執行動作。這種程度的控制不適用於大部分應用程式。"</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"對於為你提供無障礙功能的應用程式,你可授予完整控制權,但大部分應用程式都不應獲授予此權限。"</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"查看和控制螢幕"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"這項功能可以讀出螢幕上的所有內容,並透過其他應用程式顯示內容。"</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"查看和執行動作"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"這項功能會追蹤你與應用程式或硬件感應器的互動,並代表你直接與應用程式互動。"</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"允許"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"拒絕"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"關閉"</string>
@@ -3317,25 +3345,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"已開啟/<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g>和<xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"你也可以為藍牙裝置開啟「空間音訊」。"</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"已連接裝置設定"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"空間音訊"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"關閉"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"關閉"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"關閉"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{無}=1{已設定 1 個時間表}other{已設定 # 個時間表}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"請勿騷擾"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"優先模式"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"新增模式"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"模式"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"透過睡覺、工作、駕駛和其他模式,盡量減少干擾,由你控制專注時間"</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"建立自訂模式"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"只接收重要聯絡人和應用程式的通知"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"設定時間表"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"根據以下資料排定時間表:"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"日期和時間"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"「平日上午 9 時至下午 5 時」"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"日曆活動"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{已啟用{mode_1}}=2{已啟用{mode_1}和{mode_2}}=3{已啟用{mode_1}、{mode_2}和{mode_3}}other{已啟用{mode_1}、{mode_2}和其他 # 個模式}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{可自動啟動 1 個模式}other{可自動啟動 # 個模式}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"開啟"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"未設定"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"已停用"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"建立模式"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"自訂"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"立即開啟"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"關閉"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"找不到任何模式"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"減少干擾"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"阻擋干擾和令你分心的事物"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"設定「<xliff:g id="MODE">%1$s</xliff:g>」"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"開啟「請勿騷擾」模式"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"鬧鐘和媒體音效可打擾"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"時間表"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"刪除時間表"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"刪除"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"重新命名"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"刪除"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"要刪除「<xliff:g id="MODE">%1$s</xliff:g>」模式嗎?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"編輯"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"時間表"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"預定時間"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"自動開啟"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"新增日曆"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"使用日曆"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"時間表"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"設定時間表"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"自動開啟的時間"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"活動時間表"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"在以下活動期間開啟:"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"當邀請回覆是"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"時間表"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"時間表"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> 小時 <xliff:g id="MINUTES">%2$d</xliff:g> 分鐘"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"預定時間"</string>
@@ -3347,8 +3400,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"允許發出音效的干擾"</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="mode_interruption_filter_title" msgid="6657431939996264417">"可收到的通知"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"更多操作"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"通知篩選器"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"更多設定"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{關閉}=1{關閉/可自動開啟 1 個模式}other{關閉/可自動開啟 # 個模式}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"顯示設定"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"顯示選項"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"灰階螢幕"</string>
@@ -3364,6 +3418,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"啟用深色主題背景"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"將 OS 和應用程式偏好設定切換成「淺色文字配搭深色背景」。此設定或許可減少眼睛疲勞,且在部分裝置上還能節省大量電力"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{沒有顯示變更}=1{{effect_1}}=2{{effect_1}和{effect_2}}=3{{effect_1}、{effect_2}和{effect_3}}other{{effect_1}、{effect_2}和另外 # 個設定}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"允許所有通知"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"使用者、應用程式和音效可打擾"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"用來篩選通知的顯示選項"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"開啟「請勿騷擾」模式時"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"不發出音效通知"</string>
@@ -3479,6 +3535,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"開啟通知"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"允許通知延後"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"應用程式圖示上的通知圓點"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"通知組合"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"對話氣泡"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"對話氣泡"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"以對話氣泡顯示此對話"</string>
@@ -3589,7 +3646,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"可回覆訊息,並針對通知中的按鈕採取行動,包括延後或關閉通知和接聽來電。"</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"變更設定"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"可開啟或關閉「請勿騷擾」模式及變更相關設定。"</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"應用程式可管理和啟動「模式」,以及變更相關設定。"</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_modes_warning_summary" msgid="7528432011433844158">"如果你關閉「<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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"即時"</string>
@@ -3608,9 +3667,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"此應用程式不支援進階設定"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"更多設定"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"你可在應用程式中使用更多設定"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"自動調節通知"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"使用自動調節通知"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"如果短時間內收到多個通知,手機會在最長兩分鐘內調降音量,並減少在畫面上顯示彈出式視窗。如有來電、鬧鐘和重要對話,手機仍會震動、播放音效或顯示在畫面上。從螢幕頂部往下拉,就能輕鬆查看所有通知。"</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"通知緩和功能"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"使用調低通知強度"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"如果短時間內收到多個通知,裝置會在最長 2 分鐘內調低音量,並減少警示。通話、鬧鐘和優先對話不受影響。\n\n從螢幕頂部往下拉,即可查看調低通知強度期間收到的通知。"</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"套用至工作設定檔"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"套用至工作設定檔應用程式"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR 助手服務"</string>
@@ -3650,6 +3709,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"「模式」存取權"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"允許存取「模式」"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"沒有已安裝的應用程式要求「模式」存取權"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"你尚未允許此應用程式發出通知"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Android 目前按你的要求防止這類通知在此裝置上顯示"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Android 目前按你的要求防止這類通知在此裝置上顯示"</string>
@@ -3657,6 +3719,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"類別"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"其他"</string>
     <string name="no_channels" msgid="4716199078612071915">"此應用程式未發佈任何通知"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"顯示未使用的類別"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"應用程式中的其他設定"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"顯示未使用的類別"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"隱藏未使用的類別"</string>
@@ -3712,6 +3775,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"對話"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"所有對話"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"所有對話"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"優先對話"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"優先對話"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"無"</string>
@@ -3765,8 +3829,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"可打擾的應用程式"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"選取的應用程式"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"無"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"全部"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{沒有應用程式例外}=1{「{app_1}」例外}=2{「{app_1}」和「{app_2}」例外}=3{「{app_1}」、「{app_2}」和「{app_3}」例外}other{「{app_1}」、「{app_2}」和另外 # 個應用程式例外}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (工作)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"正在計算…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"允許應用程式取代「請勿騷擾」"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"例外可打擾的應用程式"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"選擇更多應用程式"</string>
@@ -3784,6 +3850,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"全部均不可打擾"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"沒有使用者可打擾"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"部分使用者可打擾"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"重複來電者例外"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"所有使用者均可打擾"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"重複來電"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"允許重複來電者"</string>
@@ -3803,9 +3870,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{改為只限鬧鐘模式同埋持續 1 個鐘,直至 {time} 為止}other{改為只限鬧鐘模式同埋持續 # 個鐘,直至 {time} 為止}}"</string>
     <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_action_change_name" msgid="766639614789907016">"重新命名"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"變更圖示"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"變更圖示"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"編輯模式"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"建立模式"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"自訂模式"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"模式名稱"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"日曆活動"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"瞓覺日常安排"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"駕駛時"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"應用程式設定"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"<xliff:g id="APP_NAME">%1$s</xliff:g>中的資料和設定"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"由<xliff:g id="APP_NAME">%1$s</xliff:g>管理"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"要停用「<xliff:g id="MODE_NAME">%1$s</xliff:g>」嗎?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"此模式停用後永不開啟"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"停用"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"要啟用「<xliff:g id="MODE_NAME">%1$s</xliff:g>」嗎?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"此模式可能會根據其設定自動開啟"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"啟用"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"設定模式助你遵從有規律的時間表"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"設定模式以同步日曆活動和邀請答覆"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"要設計令人平靜的睡眠時間表,設定鬧鐘、調暗螢幕和封鎖通知就能辦到。"</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"以路上安全為重,開車時保持專注,免被分心"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"阻擋來自裝置的干擾以提升專注力"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"消除一切干擾,營造一個寧靜的環境"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"個人化裝置體驗和適合不同使用者的設定"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"只允許重要的人和應用程式與你聯絡,盡量減少干擾"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"設定模式助你遵從有規律的時間表"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"保持裝置與日常活動同步"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"早上精神 100 分"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"道路安全第一"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"聚精會神,發揮水準"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"禮儀至上的時刻"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"輔助使用功能令你時刻受到保護"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"掌控自己的專注力"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"警告"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"關閉"</string>
     <string name="device_feedback" msgid="5351614458411688608">"傳送你對這部裝置的意見"</string>
@@ -4006,6 +4102,10 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"要允許「<xliff:g id="APP">%1$s</xliff:g>」存取「模式」嗎?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"應用程式能開啟或關閉「請勿騷擾」、管理和啟動「模式」,以及變更相關設定。"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_title" msgid="189454396436517964">"要撤銷「<xliff:g id="APP">%1$s</xliff:g>」的「模式」存取權嗎?"</string>
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"此應用程式建立的所有模式將會移除。"</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"不要優化"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"優化"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"這可能會加速耗電。系統將不再限制應用程式的背景耗電量。"</string>
@@ -4791,8 +4891,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"耳機盒"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"電池"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"設定面板"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"強制執行桌面模式"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"在次要顯示屏強制執行實驗版桌面模式"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"啟用自由形態視窗"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"在次要螢幕上啟用自由形態視窗"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"允許多重視窗模式顯示無法調整大小的應用程式"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"允許透過多重視窗模式顯示無法調整大小的應用程式"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"蓋過強制深色模式"</string>
@@ -4967,7 +5067,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"流動數據"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"為改善裝置的使用體驗,應用程式和服務仍可隨時掃瞄 Wi-Fi 網絡 (即使 Wi-Fi 已關閉)。此操作可用來改善適地性功能和服務。你可在 Wi-Fi 掃瞄設定中變更此設定。"</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"變更"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"已連線"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"已暫時連線"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"暫時使用 <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -4999,7 +5098,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"使用「固定應用程式」功能"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"使用開發人員選項"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"使用列印服務"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"允許多位使用者"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"允許切換使用者"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"允許, 多個, 使用者, 批准, 很多"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"多位, 使用者, 個人檔案, 人, 帳戶, 切換, 多人"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"使用「無線偵錯」功能"</string>
@@ -5056,52 +5155,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"「<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>」想連接此手機。\n\n請注意,你從未連接「<xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>」"</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"不要連接"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"連接"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE 設定"</string>
-    <string name="tare_on" msgid="2386073225978684535">"開啟"</string>
-    <string name="tare_off" msgid="6305694402929756726">"關閉"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"還原為預設設定"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"已還原為預設設定。"</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"裝置充滿電時的最大可用電量"</string>
-    <string name="tare_balances" msgid="731881382594747961">"可用電量"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"消耗量限制"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"初始消耗量限制"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"消耗量下限"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"消耗量上限"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"修飾符"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"行動 (生產成本)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"行動 (基本價格)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"每個活動的個別獎賞"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"活動期間每秒獎賞"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"每日獎賞上限"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"安裝應用程式"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"最上層顯示的活動"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"已查看通知"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"15 分鐘內看過通知"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"通知互動"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"小工具互動"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"其他使用者互動"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"啟動最高優先順序工作"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"正在執行最高優先順序工作"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"啟動高優先順序工作"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"正在執行高優先順序工作"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"啟動預設優先順序工作"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"正在執行預設優先順序工作"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"啟動低優先順序工作"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"正在執行低優先順序工作"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"啟動最低優先順序工作"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"正在執行最低優先順序工作"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"工作逾時處罰"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"裝置充滿電時的最低可用電量 (例外應用程式)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"裝置充滿電時的最低可用電量 (無使用者介面的系統應用程式)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"裝置充滿電時的最低可用電量 (其他應用程式)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"充滿電時的最低額外餘額 (應用程式更新工具)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"充電"</item>
-    <item msgid="658627268149681677">"休息模式"</item>
-    <item msgid="1599558140284643834">"慳電模式"</item>
-    <item msgid="588427840913221601">"處理狀態"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"確認"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"預覽"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"選擇螢幕保護程式"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"顯示其他資訊"</string>
@@ -5113,8 +5166,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"選擇平板電腦放上插座時螢幕上顯示的內容。如果裝置使用螢幕保護程式,可能會比較耗電。"</string>
     <string name="customize_button_title" msgid="1110284655990203359">"自訂"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"自訂<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"你需要重新開機,才能啟用任意形式的支援。"</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"你需要重新開機,才能在次要螢幕上強制執行桌面模式。"</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"必須重新開機,才能啟用自由形態視窗支援。"</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"需要重新開機,才能更新自由形態視窗的提供情況。"</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"需要重新開機,才能在次要螢幕上啟用自由形態視窗。"</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"立即重新開機"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"稍後重新開機"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"空間音訊"</string>
@@ -5211,7 +5265,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"玫瑰"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"紫紅色"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"紫羅蘭色"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"完成"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"儲存"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"取消"</string>
     <string name="contrast_default" msgid="8918545965525226966">"預設"</string>
     <string name="contrast_medium" msgid="384414510709285811">"中"</string>
@@ -5232,6 +5286,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"已啟用"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"已停用"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"已啟用"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"音訊 %1$d%% 左,%2$d%% 右"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"音訊 %1$d%% 右,%2$d%% 左"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"你安裝的應用程式可以取得你的裝置名稱。當你連接藍牙裝置或 Wi-Fi 網絡,或設定 Wi-Fi 熱點時,其他人亦可能會看到你的裝置名稱。"</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"語法性別"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"選取語法性別"</string>
@@ -5300,6 +5356,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"已停止音訊分享功能"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"連接兼容的裝置"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"如要開始分享音訊,請先將 LE Audio 耳機連線至手機"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"切換至「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"連接 LE Audio 音訊串流"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"附近的音訊串流"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"音訊串流"</string>
@@ -5343,4 +5400,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"收聽串流"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"使用「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」掃瞄音訊串流 QR 碼即可收聽"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"分享音訊期間無法編輯密碼。如要變更密碼,請先關閉音訊分享功能。"</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR 碼掃瞄器"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"需要協助嗎?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"搜尋設定"</string>
 </resources>
diff --git a/res/values-zh-rTW/arrays.xml b/res/values-zh-rTW/arrays.xml
index c40e6cd..b34f354 100644
--- a/res/values-zh-rTW/arrays.xml
+++ b/res/values-zh-rTW/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"就寢時間"</item>
-    <item msgid="4152450357280759894">"開車"</item>
-    <item msgid="7096549258219399423">"沉浸"</item>
-    <item msgid="2760716776980432977">"受管理"</item>
-    <item msgid="601734478369121764">"星星"</item>
-    <item msgid="6243809315432780521">"日曆"</item>
-    <item msgid="4913577903148415331">"時間"</item>
-    <item msgid="3653377604690057780">"劇院"</item>
-    <item msgid="3843711267408385410">"花朵"</item>
+    <item msgid="1216815120972438676">"公事包"</item>
+    <item msgid="184985872234062767">"古典建築"</item>
+    <item msgid="9189550412466785530">"公寓"</item>
+    <item msgid="2142527562511049422">"對話泡泡"</item>
+    <item msgid="2548100558260478605">"一群人"</item>
+    <item msgid="2270003903304578284">"燈泡"</item>
+    <item msgid="4793496619091161864">"日曆"</item>
+    <item msgid="5673625795644364100">"零打擾"</item>
+    <item msgid="1423820834865831361">"跑步的人"</item>
+    <item msgid="2037298830718732608">"高爾夫"</item>
+    <item msgid="2197835014443491074">"健身啞鈴"</item>
+    <item msgid="2730180105015616518">"游泳"</item>
+    <item msgid="2666922823253345958">"健行的人"</item>
+    <item msgid="8234880356472211396">"丟球的人"</item>
+    <item msgid="4642980625253001443">"踢球的人"</item>
+    <item msgid="4324795269518833500">"遊戲控制器"</item>
+    <item msgid="7789966425125441125">"藝術家調色盤"</item>
+    <item msgid="663512680597461570">"雪花"</item>
+    <item msgid="7952183800501346803">"沙灘遮陽傘"</item>
+    <item msgid="799139025758265891">"工作坊工具"</item>
+    <item msgid="1330084588359129896">"帳篷"</item>
+    <item msgid="3861584909935022342">"電影膠卷"</item>
+    <item msgid="5827426100157335512">"書籍"</item>
+    <item msgid="8585828346253128384">"蓮花"</item>
+    <item msgid="8788370542815300188">"人的思維"</item>
+    <item msgid="7287354964767553293">"耳機"</item>
+    <item msgid="2530059623783800987">"電視"</item>
+    <item msgid="5307182323469376758">"火車"</item>
+    <item msgid="4903790544026923026">"車輛"</item>
+    <item msgid="5010405583912314582">"刀叉"</item>
+    <item msgid="8939998598599064900">"購物車"</item>
+    <item msgid="3379605903308731893">"兒童"</item>
+    <item msgid="7808668968550293112">"動物爪子"</item>
+    <item msgid="1000692647524056504">"星號徽章"</item>
+    <item msgid="8270261073421676502">"兩個人"</item>
+    <item msgid="5767782819651505460">"星星"</item>
+    <item msgid="4368451291862729334">"心形"</item>
+    <item msgid="2613199102208419986">"房屋"</item>
+    <item msgid="3022279986430275040">"半月"</item>
+    <item msgid="5421089790869483206">"時鐘"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index bf04bcc..7a239c3 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"待命"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"不明"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"預覽"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"QR code"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"縮小"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"放大"</string>
     <string name="stay_awake_on_fold_title" msgid="6590454679898134221">"一律允許"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"助聽器設定"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"捷徑、助聽器相容性"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"預設設定"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"沒有由聽力師預設的設定"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"無法更新預設設定"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"音訊輸出裝置"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"關於音訊輸出"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"無法從「設定」選取這個應用程式的語言。"</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"可用的語言可能與應用程式支援的語言不同,某些應用程式可能不支援這項設定。"</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"設定每個應用程式的語言。"</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"你的系統、應用程式和網站會使用偏好語言中的第一個支援語言。"</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"裝置、應用程式和網站會使用偏好語言清單中的第一個支援語言。\n\n許多應用程式也會根據偏好語言的來源區域,設定日期、數值和單位的格式。如要變更所在區域,請新增語言,然後選擇偏好的區域。"</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"如要選取各應用程式使用的語言,請前往應用程式語言設定。"</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"進一步瞭解應用程式的語言"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"要將系統語言變更為「%s」嗎?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"關閉"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{已開啟/# 個應用程式可存取位置資訊}other{已開啟/# 個應用程式可存取位置資訊}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"載入中…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"如果應用程式具有鄰近裝置權限,就能判斷已連結裝置的相對位置。"</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"如果應用程式具有鄰近裝置權限,就能判斷連結裝置的相對位置。"</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"應用程式和服務的位置存取權已關閉。當你撥打或傳訊息到緊急電話號碼時,系統仍會將你的裝置位置資訊傳送給緊急應變人員。"</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"進一步瞭解位置資訊設定"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"如要變更,請前往 ChromeOS 設定 &gt;「隱私權和安全性」&gt;「隱私權控制項」&gt;「位置資訊存取權」"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"已新增臉孔和「<xliff:g id="WATCH">%s</xliff:g>」"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"已新增臉孔、指紋和「<xliff:g id="WATCH">%s</xliff:g>」"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"已新增臉孔、指紋和「<xliff:g id="WATCH">%s</xliff:g>」"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"身分驗證功能已開啟,因此必須進行生物特徵辨識"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator 解鎖"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"已新增智慧手錶"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"設定智慧手錶"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"進一步瞭解「智慧手錶解鎖」功能"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"新增智慧手錶"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"移除智慧手錶"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"指紋與人臉解鎖"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"人臉和指紋解鎖"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"人臉和指紋解鎖 (工作資料夾)"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"需要設定"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"已新增臉孔和指紋"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"正在設定私人空間…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"無法設定私人空間"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"再試一次"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"結束"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"私人空間目前無法使用。\n查看可能的原因"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"查看可能原因"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"要選擇新的私人空間鎖定方式嗎?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"你可以專為私人空間設定新的鎖定方式,也可以直接使用裝置的螢幕鎖定方式"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"使用螢幕鎖定功能"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"藍牙功能開啟後,裝置即可與附近的其他藍牙裝置通訊。\n\n為提升裝置使用體驗,即使藍牙功能未開啟,應用程式和服務仍可隨時掃描鄰近裝置。這項功能可加強適地性功能與服務,可在藍牙掃描設定中變更。"</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"藍牙開啟後,裝置就能與附近的其他藍牙裝置通訊。「快速分享」和「尋找我的裝置」等功能都會使用藍牙技術。\n\n即使藍牙功能未開啟,應用程式和服務仍可隨時掃描鄰近裝置,改善適地性功能和服務等等。你可以在藍牙掃描設定中變更這項功能。"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"變更"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"裝置詳細資料"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"鍵盤設定"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"更多設定"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"韌體更新、相關資訊和其他設定"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"提示和支援"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"裝置的藍牙位址:<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"裝置的藍牙位址:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"要清除裝置嗎?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"實驗功能,用於改善音質。"</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"清除裝置"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"解除連結應用程式"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"更多設定"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"已連線藍牙音訊裝置的數量上限"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"選取已連線藍牙音訊裝置的數量上限"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"NFC 詳細供應商偵錯記錄檔"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"要重新啟動裝置嗎?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"詳細 NFC 記錄僅適用於開發用途。錯誤報告中含有其他 NFC 資料,其中可能包含私人資訊。重新啟動裝置即可變更這項設定。"</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"重新啟動"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"開啟"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"關閉"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"外接螢幕"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"使用外接螢幕"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"螢幕解析度"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"未連接外接螢幕"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"旋轉"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"標準"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"變更旋轉角度或解析度,可能會導致執行中的應用程式停止運作"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"裝置必須連接外接螢幕,才能鏡像投放畫面"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"更多選項"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"投放"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"鏡像"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"啟用無線螢幕分享"</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"自動調整"</string>
     <string name="brightness" msgid="6216871641021779698">"亮度"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"自動調整亮度"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"關於自動調整亮度"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"系統會根據你所在的環境和從事的活動,自動調整螢幕亮度。你也可以移動滑桿,協助自動調整亮度功能記憶你偏好的亮度。"</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"開啟"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"關閉"</string>
@@ -1311,8 +1344,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="8850185380445309835">"更新慣用的 SIM 卡?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"「<xliff:g id="NEW_SIM">%1$s</xliff:g>」是裝置中唯一的 SIM 卡。要使用這張 SIM 卡連線到行動網路、進行通話及收發簡訊嗎?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"「<xliff:g id="NEW_SIM">%1$s</xliff:g>」現在是主要 SIM 卡"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"要改善行動數據涵蓋範圍嗎?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"允許裝置在「<xliff:g id="BACKUP_CARRIER">%1$s</xliff:g>」網路訊號較佳時自動改用這個行動數據。"</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"貴機構可能會看到通話記錄、訊息和網路流量。"</string>
@@ -1894,14 +1926,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"選項"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"無障礙"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"實體鍵盤"</string>
-    <string name="show_ime" msgid="4334255501724746849">"使用螢幕小鍵盤"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"使用實體鍵盤時仍繼續顯示螢幕小鍵盤"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"彈回鍵"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"鍵盤會忽略在 <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> 毫秒內快速重覆按下同一按鍵的動作"</string>
     <string name="slow_keys" msgid="2891452895499690837">"延遲感應鍵"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"將按鍵啟動時間調整為 <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> 毫秒"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"相黏鍵"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"一次按下快速鍵中的一個按鍵,而非同時按住多個按鍵"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"滑鼠按鍵"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"使用實體鍵盤控制滑鼠。"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"鍵盤快速鍵"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"顯示快速鍵清單"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"工作資料夾鍵盤和工具"</string>
@@ -1917,8 +1949,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"自訂個別的觸控板瀏覽手勢"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"反向捲動"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"向下捲動時,內容會向上移動"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"輕觸右下角"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"在觸控板上輕觸右下角即可查看更多選項"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"按一下右下角"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"按一下觸控板的右下角即可查看更多選項"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"游標速度"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"指標填滿樣式"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"將指標填滿樣式變更為黑色"</string>
@@ -1926,6 +1958,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"將指標填滿樣式變更為黃色"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"將指標填滿樣式變更為粉紅色"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"將指標填滿樣式變更為藍色"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"游標軌跡樣式"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"白色"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"黑色"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"無"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"學習觸控板手勢"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"觸控板, 滑鼠, 游標, 捲動, 滑動, 按滑鼠右鍵, 點按, 指標"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"按滑鼠右鍵, 輕觸"</string>
@@ -1963,12 +1999,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"重設"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"選擇輔助鍵"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"為「<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>」選擇新的輔助鍵:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"「<xliff:g id="IME_LABEL">%s</xliff:g>」版面配置"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"預設"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"自動選取:<xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"使用者選取:<xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"語音"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"游標速度"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"指標比例"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"縮小指標比例"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"放大指標比例"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"遊戲控制器"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"產生震動"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"連接時使遊戲控制器產生震動"</string>
@@ -2091,7 +2134,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"仍要繼續"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"取消"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"放大功能設定"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"單指平移"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"用 1 指移動放大鏡"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"用 1 指在畫面上拖曳放大區域"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"拖曳單指即可移動放大區域。"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"拖曳雙指即可移動放大區域。"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"只放大部分畫面時無法使用"</string>
@@ -2115,6 +2159,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"輕觸按鈕即可縮放"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"快速放大螢幕畫面中的內容"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;放大螢幕畫面的方法如下:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. 使用捷徑啟動放大功能&lt;br/&gt; {1,number,integer}. 輕觸螢幕&lt;br/&gt; {2,number,integer}. 拖曳 2 指即可四處移動畫面&lt;br/&gt; {3,number,integer}. 使用 2 指撥動即可調整縮放等級&lt;br/&gt; {4,number,integer}. 使用捷徑關閉放大功能&lt;br/&gt;&lt;br/&gt; &lt;b&gt;暫時放大螢幕畫面的方法如下:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. 確認放大類型已設為全螢幕&lt;br/&gt; {1,number,integer}. 使用捷徑啟動放大功能&lt;br/&gt; {2,number,integer}. 按住螢幕上的任一處&lt;br/&gt; {3,number,integer}. 拖曳手指即可四處移動畫面&lt;br/&gt; {4,number,integer}. 移開手指即可關閉放大功能"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;放大畫面的方法如下:&lt;/b&gt;&lt;br/&gt;{0,number,integer}. 使用捷徑啟動放大功能&lt;br/&gt;{1,number,integer}. 輕觸螢幕&lt;br/&gt;{2,number,integer}. 用 2 指在畫面上拖曳放大區域&lt;br/&gt;{3,number,integer}. 用 2 指撥動調整縮放等級&lt;br/&gt;{4,number,integer}. 使用捷徑關閉放大功能&lt;br/&gt;&lt;br/&gt;你也可以暫時放大畫面及執行其他操作。"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;放大畫面的方法如下:&lt;/b&gt;&lt;br/&gt;{0,number,integer}. 使用捷徑啟動放大功能&lt;br/&gt;{1,number,integer}. 輕觸螢幕&lt;br/&gt;{2,number,integer}. 用 1 或 2 指在畫面上拖曳放大區域&lt;br/&gt; {3,number,integer}. 用 2 指撥動調整縮放等級&lt;br/&gt;{4,number,integer}. 使用捷徑關閉放大功能&lt;br/&gt;&lt;br/&gt;你也可以暫時放大畫面及執行其他操作。"</string>
     <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"放大功能啟用後,你可以放大畫面上的內容。\n\n"<b>"如要進行縮放"</b>",請開啟放大功能,然後輕觸畫面上的任何位置。\n"<ul><li>"使用兩指或多指以拖曳的方式捲動畫面"</li>\n<li>"使用兩指或多指撥動以調整縮放大小"</li></ul>\n\n<b>"如要暫時放大畫面"</b>",請開啟放大功能,然後按住畫面上的任何位置。\n"<ul><li>"使用手指拖曳可瀏覽畫面的不同部分"</li>\n<li>"放開手指即可縮小"</li></ul>\n\n"你無法放大鍵盤和導覽列部分。"</string>
     <string name="accessibility_tutorial_pager" msgid="8461939455728454061">"第 <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> 頁,共 <xliff:g id="NUM_PAGES">%2$d</xliff:g> 頁"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"無障礙工具按鈕捷徑"</string>
@@ -2149,8 +2195,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"輕觸浮動式按鈕"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"無障礙手勢"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"輕觸螢幕底部的無障礙工具按鈕 <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>。如要切換功能,請按住無障礙工具按鈕。"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"請用 2 指從螢幕底部向上滑動。\n\n如要切換不同的功能,請用 2 指向上滑動並按住。"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"請用 3 指從螢幕底部向上滑動。\n\n如要切換不同的功能,請用 3 指向上滑動並按住。"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{從螢幕底部向上滑動。如要切換功能,請向上滑動並按住。}other{用 # 指從螢幕底部向上滑動。如要切換功能,請用 # 指向上滑動並按住。}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"更多選項"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"進一步瞭解<xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2161,22 +2205,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"音量鍵"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"音量鍵"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"同時按住音量調高鍵和調低鍵"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"用兩指輕觸螢幕兩下"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"用 %1$d 指輕觸兩下"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"使用 %1$d 指快速輕觸螢幕兩下"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"輕觸三下"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"快速輕觸螢幕 %1$d 下。這可能會降低裝置運作速度。"</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"用 %1$d 指輕觸兩下"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"用兩指快速輕觸螢幕 {0,number,integer} 下"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"輕觸螢幕三下"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"輕觸三下"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"快速輕觸螢幕 {0,number,integer} 下。這個手勢可能會影響裝置的運作效能"</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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"快速鍵設定"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"在螢幕鎖定畫面使用捷徑"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"允許在螢幕鎖定畫面使用功能捷徑,方法是同時按住音量調高鍵和調低鍵數秒。"</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"無障礙工具按鈕"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"無障礙工具按鈕和手勢"</string>
@@ -2334,13 +2376,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"這項服務發生異常。"</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"無障礙功能捷徑"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"在快速設定中顯示"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"紅綠"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"紅綠"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"紅綠、綠色弱"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"紅綠、紅色弱"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"藍黃"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"灰階"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"強度"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"綠色弱、綠色盲"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"紅色弱、紅色盲"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"在灰階模式下或停用色彩校正時,無法使用這項功能"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"超暗"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"啟用超暗螢幕設定"</string>
@@ -2388,15 +2431,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"青色"</string>
     <string name="color_yellow" msgid="5957551912912679058">"黃色"</string>
     <string name="color_magenta" msgid="8943538189219528423">"洋紅色"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"要將裝置的完整控制權授予「<xliff:g id="SERVICE">%1$s</xliff:g>」嗎?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"「<xliff:g id="SERVICE">%1$s</xliff:g>」需要執行下列動作:"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"權限要求遭到其他應用程式畫面遮掩,因此「設定」無法驗證你的回應。"</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g>要求這個裝置的完整控制權。如果你授予相關權限,該服務就能讀取畫面內容及執行動作,以協助需要無障礙服務的使用者。這個等級的控制權不適用於大多數應用程式。"</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"如果你有無障礙服務需求,建議可將完整控制權授予具有相關功能的應用程式,但請勿將完整控制權授予大多數的應用程式。"</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"查看及控制螢幕"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"可讀取螢幕上的所有內容,並在其他應用程式上顯示內容。"</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"查看及執行動作"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"可追蹤你與應用程式或硬體感應器的互動,並代表你與應用程式進行互動。"</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"允許"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"拒絕"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"停用"</string>
@@ -3317,25 +3353,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"已開啟/<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g>和<xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"你也可以開啟藍牙裝置的空間音訊功能。"</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"已連結裝置設定"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"空間音訊"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"已關閉"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"已關閉"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"已關閉"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{無}=1{已設定 1 個時間表}other{已設定 # 個時間表}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"零打擾"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"優先模式"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"新增模式"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"模式"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"運用睡眠、工作、行車及其間任何作息模式,盡量減少干擾,控制自己的注意力。"</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"建立自己的模式"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"僅接收重要聯絡人和應用程式的通知"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"設定時間表"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"依據以下時間表:"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"星期幾和時間"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"「平日上午 9 點 - 下午 5 點」"</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"日曆活動"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{已啟用 {mode_1} 個模式}=2{已啟用「{mode_1}」和「{mode_2}」模式}=3{已啟用「{mode_1}」、「{mode_2}」和「{mode_3}」模式}other{已啟用「{mode_1}」、「{mode_2}」和另外 # 個模式}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{可自動開啟 1 個模式}other{可自動開啟 # 個模式}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"開啟"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"未設定"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"已停用"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"建立模式"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"自訂"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"立即開啟"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"關閉"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"找不到模式"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"降低干擾"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"封鎖干擾"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"設定「<xliff:g id="MODE">%1$s</xliff:g>」"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"開啟「零打擾」模式"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"鬧鐘和媒體音效例外"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"排程"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"刪除排程"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"刪除"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"重新命名"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"刪除"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"要刪除「<xliff:g id="MODE">%1$s</xliff:g>」模式嗎?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"編輯"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"排程"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"排程"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"自動開啟"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"新增日曆"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"使用日曆"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"安排時間"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"設定時間表"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"自動開啟時機"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"活動時間表"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"在以下日曆的活動期間開啟:"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"在邀請回覆的時間"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"排定的時間表"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"安排時間"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> 小時 <xliff:g id="MINUTES">%2$d</xliff:g> 分鐘"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"排程"</string>
@@ -3347,8 +3408,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"允許發出音效的干擾"</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="mode_interruption_filter_title" msgid="6657431939996264417">"可收到的通知"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"其他動作"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"通知篩選器"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"更多設定"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{關閉}=1{關閉/可自動開啟 1 個模式}other{關閉/可自動開啟 # 個模式}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"顯示設定"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"顯示選項"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"灰階"</string>
@@ -3364,6 +3426,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"啟用深色主題"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"將作業系統和應用程式偏好設定切換成「淺色文字搭配深色背景」。這項設定或許可以降低眼睛負擔,而且在某些裝置上還能節省大量電力"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{沒有顯示變更}=1{{effect_1}}=2{{effect_1}和{effect_2}}=3{{effect_1}、{effect_2}和{effect_3}}other{{effect_1}、{effect_2}和另外 # 個設定}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"允許所有通知"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"可接受來自使用者、應用程式和音效的干擾"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"如何顯示已過濾的通知"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"開啟「零打擾」模式時"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"不發出通知音效"</string>
@@ -3479,6 +3543,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"開啟通知"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"顯示延後通知"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"顯示應用程式圖示的通知圓點"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"通知組合"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"對話框"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"對話框"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"以對話框形式顯示這個對話"</string>
@@ -3589,7 +3654,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"可回覆訊息及觸發通知中的按鈕,包括延後或關閉通知以及接聽電話。"</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"變更設定"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"可開啟或關閉「零打擾」功能及變更相關設定。"</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"可管理和啟用「模式」及變更相關設定。"</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_modes_warning_summary" msgid="7528432011433844158">"如果停用「<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>
     <string name="notif_type_ongoing" msgid="135675014223627555">"即時"</string>
@@ -3608,9 +3675,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"這個應用程式不支援加強型設定"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"更多設定"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"應用程式內提供更多設定"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"自動調整通知"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"使用自動調整通知"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"如果短時間內收到多則通知,手機將調降音量,並減少畫面上的彈出式視窗,持續時間最多兩分鐘。如有來電、鬧鐘和重要對話,手機仍會震動、播放音效或顯示在畫面上。另外,從螢幕頂端往下拉,仍能輕鬆查看所有通知。"</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"通知緩和功能"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"使用通知緩和"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"如果短時間內收到多則通知,裝置就會降低音量並減少通知數量,持續時間最多 2 分鐘。來電、鬧鐘和重要對話則不受影響。\n\n如要在緩和期間查看通知,請從螢幕頂端往下拉。"</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"套用至工作資料夾"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"套用到工作資料夾應用程式"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR 小幫手服務"</string>
@@ -3650,6 +3717,9 @@
     <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>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"「模式」存取權"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"授予「模式」存取權"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"沒有任何已安裝的應用程式要求「模式」存取權"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"你尚未允許這個應用程式發出通知"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Android 已根據你的要求封鎖這類通知,不顯示在這部裝置上"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Android 已根據你的要求封鎖這個群組的通知,不顯示在這部裝置上"</string>
@@ -3657,6 +3727,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"類別"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"其他"</string>
     <string name="no_channels" msgid="4716199078612071915">"這個應用程式未發布任何通知"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"顯示未使用的類別"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"應用程式中的其他設定"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"顯示未使用的類別"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"隱藏未使用的類別"</string>
@@ -3712,6 +3783,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"對話"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"所有對話"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"所有對話"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"優先對話"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"重要對話"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"無"</string>
@@ -3765,8 +3837,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"例外的應用程式"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"所選應用程式"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"無"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"全部"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{沒有應用程式例外}=1{「{app_1}」例外}=2{「{app_1}」和「{app_2}」例外}=3{「{app_1}」、「{app_2}」和「{app_3}」例外}other{「{app_1}」、「{app_2}」和另外 # 個應用程式例外}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (工作)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"計算中…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"允許應用程式覆寫"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"例外的應用程式"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"選取更多應用程式"</string>
@@ -3784,6 +3858,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"沒有音效例外"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"沒有人例外"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"某些人例外"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"重複來電者例外"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"所有人都例外"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"重複來電者"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"允許顯示重複來電者"</string>
@@ -3803,9 +3878,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{變更為僅限鬧鐘模式並持續 1 小時,結束時間為 {time}}other{變更為僅限鬧鐘模式並持續 # 小時,結束時間為 {time}}}"</string>
     <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_action_change_name" msgid="766639614789907016">"重新命名"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"變更圖示"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"變更圖示"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"編輯模式"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"建立模式"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"自訂模式"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"模式名稱"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"日曆活動"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"就寢時間日常安排"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"行車期間"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"應用程式設定"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」中的資訊和設定"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"由「<xliff:g id="APP_NAME">%1$s</xliff:g>」管理"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"要停用「<xliff:g id="MODE_NAME">%1$s</xliff:g>」嗎?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"處於停用狀態時,一律不開啟這個模式"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"停用"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"要啟用「<xliff:g id="MODE_NAME">%1$s</xliff:g>」嗎?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"這個模式可根據相關設定自動開啟"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"啟用"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"設定按照固定時段啟用的模式"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"設定可同步處理日曆活動和邀請回覆的模式"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"設計能平靜身心的日常休眠安排,包括設定鬧鐘、調暗螢幕及封鎖通知。"</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"優先考量行車安全,在駕駛時保持專注且不受干擾"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"封鎖來自裝置的干擾,保持專注"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"消除所有干擾,打造安靜的環境"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"為不同使用者打造個人化裝置體驗及調整設定"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"僅允許重要的人和應用程式與你聯絡,盡量減少干擾"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"設定按照固定時段啟用的模式"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"讓裝置與當天活動保持同步"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"精神飽滿地醒來"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"行車時安全第一"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"全神貫注,沈浸其中"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"在禮節至關重要的時刻啟用"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"提供可靠引導,讓你安心使用"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"掌控注意力"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"警告"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"關閉"</string>
     <string name="device_feedback" msgid="5351614458411688608">"傳送你對這個裝置的意見"</string>
@@ -4006,6 +4110,11 @@
     <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="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"要將「模式」存取權授予「<xliff:g id="APP">%1$s</xliff:g>」嗎?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"應用程式將可開啟/關閉「零打擾」功能、管理和啟用「模式」,以及變更相關設定。"</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"系統將移除這個應用程式建立的所有模式。"</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"不要最佳化"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"最佳化"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"這可能會加快電力耗損速度。系統將不再限制應用程式在背景耗用電力。"</string>
@@ -4791,8 +4900,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"充電盒"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"電池"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"設定面板"</string>
-    <string name="force_desktop_mode" msgid="1336913605091334238">"強制使用桌面模式"</string>
-    <string name="force_desktop_mode_summary" msgid="4587416867846930479">"在次要顯示器上強制使用桌面模式實驗性功能"</string>
+    <string name="enable_desktop_mode" msgid="5644818402534562302">"啟用自由形式視窗"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"在第二個螢幕上啟用自由形式視窗功能"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"允許多視窗模式顯示無法調整大小的應用程式"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"允許透過多視窗模式顯示無法調整大小的應用程式"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"覆寫強制使用深色模式的功能"</string>
@@ -4967,7 +5076,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"行動數據"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"為提升裝置使用體驗,應用程式和服務仍可隨時掃描 Wi‑Fi 網路 (即使 Wi-Fi 關閉時也不例外),改善需要位置資訊的功能和服務。你可以前往「掃描 Wi-Fi」設定進行變更。"</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"變更"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"已連線"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"已暫時建立連線"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"暫時使用 <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
@@ -4999,7 +5107,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"使用應用程式固定功能"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"使用開發人員選項"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"使用列印服務"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"允許多位使用者"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"允許切換使用者"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"允許, 多位, 使用者, 許可, 數位"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"多位, 使用者, 個人資料, 人, 帳戶, 切換, 多人"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"使用無線偵錯功能"</string>
@@ -5056,52 +5164,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"「<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>」想要連線到這支手機。\n\n請注意,你從未與「<xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>」連線。"</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"不要連線"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"連線"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"TARE 設定"</string>
-    <string name="tare_on" msgid="2386073225978684535">"已開啟"</string>
-    <string name="tare_off" msgid="6305694402929756726">"已關閉"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"還原為預設設定"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"已還原為預設設定。"</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"裝置充飽電時的最大可用電量"</string>
-    <string name="tare_balances" msgid="731881382594747961">"可用電量"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"消耗量限制"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"初始消耗量上限"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"消耗量下限"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"消耗量上限"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"修飾符"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"動作 (生產成本)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"動作 (基本價格)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"每個活動的個別獎勵"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"活動總持續秒數的獎勵"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"每日獎勵上限"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"應用程式安裝"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"最上層顯示的活動"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"已查看通知"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"15 分鐘內看過通知"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"通知相關操作"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"小工具相關操作"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"其他使用者相關操作"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"啟動最高優先順序工作"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"正在執行最高優先順序工作"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"啟動高優先順序工作"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"正在執行高優先順序工作"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"啟動預設優先順序工作"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"正在執行預設優先順序工作"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"啟動低優先順序工作"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"正在執行低優先順序工作"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"啟動最低優先順序工作"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"正在執行最低優先順序工作"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"工作逾時懲罰"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"裝置充飽電時的最低可用電量 (例外應用程式)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"裝置充飽電時的最低可用電量 (無使用者介面的系統應用程式)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"裝置充飽電時的最低可用電量 (其他應用程式)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"裝置充飽電時的最低額外可用電量 (應用程式更新工具)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"充電"</item>
-    <item msgid="658627268149681677">"打盹"</item>
-    <item msgid="1599558140284643834">"省電模式"</item>
-    <item msgid="588427840913221601">"處理狀態"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"確認"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"預覽"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"選擇螢幕保護程式"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"顯示其他資訊"</string>
@@ -5113,8 +5175,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"選擇平板電腦插入座架時螢幕上要顯示的內容。請注意,如果裝置使用螢幕保護程式,可能會比較耗電。"</string>
     <string name="customize_button_title" msgid="1110284655990203359">"自訂"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"自訂「<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>」"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"必須重新啟動才能啟用任意形式的支援。"</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"必須重新啟動才能在次要螢幕上強制執行桌面模式。"</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"必須重新啟動,才能啟用任意形式視窗支援功能。"</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"必須重新啟動,才能更新自由形式視窗的可用性。"</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"必須重新啟動,才能在第二個螢幕上啟用自由形式視窗功能。"</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"立即重新啟動"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"稍後重新啟動"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"空間音訊"</string>
@@ -5211,7 +5274,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"玫瑰"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"洋紅色"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"紫羅蘭"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"完成"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"儲存"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"取消"</string>
     <string name="contrast_default" msgid="8918545965525226966">"預設"</string>
     <string name="contrast_medium" msgid="384414510709285811">"中"</string>
@@ -5232,6 +5295,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"已啟用"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"已停用"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"已啟用"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"音訊 %1$d%% 左,%2$d%% 右"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"音訊 %1$d%% 右,%2$d%% 左"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"你安裝的應用程式會取得裝置名稱。如果你連上藍牙裝置、Wi-Fi 網路或者設定 Wi-Fi 無線基地台,其他人也可能會看到裝置名稱。"</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"語法性別"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"選取語法性別"</string>
@@ -5300,6 +5365,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"已停止分享音訊"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"連線到相容裝置"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"如要分享音訊,請先將 LE Audio 耳機連到手機"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"切換至「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"連線至 LE 音訊串流"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"附近的音訊串流"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"音訊串流"</string>
@@ -5343,4 +5409,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"聆聽串流"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"使用「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」掃描音訊串流 QR code 即可聆聽"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"分享期間無法編輯密碼。如要變更密碼,請先關閉音訊分享功能。"</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR code 掃描器"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"需要協助嗎?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"搜尋設定"</string>
 </resources>
diff --git a/res/values-zu/arrays.xml b/res/values-zu/arrays.xml
index 85fd081..9b0b52d 100644
--- a/res/values-zu/arrays.xml
+++ b/res/values-zu/arrays.xml
@@ -499,15 +499,46 @@
     <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
     <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
   <string-array name="zen_mode_icon_options_descriptions">
-    <item msgid="6386593780953863398">"Isikhathi sokulala"</item>
-    <item msgid="4152450357280759894">"Ukushayela"</item>
-    <item msgid="7096549258219399423">"Okugxilile"</item>
-    <item msgid="2760716776980432977">"Kuphethwe"</item>
-    <item msgid="601734478369121764">"Inkanyezi"</item>
-    <item msgid="6243809315432780521">"Ikhalenda"</item>
-    <item msgid="4913577903148415331">"Isikhathi"</item>
-    <item msgid="3653377604690057780">"Itiyetha"</item>
-    <item msgid="3843711267408385410">"Imbali"</item>
+    <item msgid="1216815120972438676">"Isikhwama"</item>
+    <item msgid="184985872234062767">"Isakhiwo sakudala"</item>
+    <item msgid="9189550412466785530">"Isakhiwo sefulethi"</item>
+    <item msgid="2142527562511049422">"Ibhamuza yenkulumo"</item>
+    <item msgid="2548100558260478605">"Iqembu labantu"</item>
+    <item msgid="2270003903304578284">"Isibani sokukhanyisa"</item>
+    <item msgid="4793496619091161864">"Ikhalenda"</item>
+    <item msgid="5673625795644364100">"Ungaphazamisi"</item>
+    <item msgid="1423820834865831361">"Umuntu ogijimayo"</item>
+    <item msgid="2037298830718732608">"Igalufu"</item>
+    <item msgid="2197835014443491074">"Izinsimbi zasejimini"</item>
+    <item msgid="2730180105015616518">"Ukubhukuda"</item>
+    <item msgid="2666922823253345958">"Umuntu ogibela intaba"</item>
+    <item msgid="8234880356472211396">"Umuntu ophonsa ibhola"</item>
+    <item msgid="4642980625253001443">"Umuntu okhahlelayo"</item>
+    <item msgid="4324795269518833500">"Isilawuli segeyimu"</item>
+    <item msgid="7789966425125441125">"Uhlu lwemifanekiso yemibala yeciko"</item>
+    <item msgid="663512680597461570">"ISnowflake"</item>
+    <item msgid="7952183800501346803">"Isambulela sasebhishi"</item>
+    <item msgid="799139025758265891">"Amathuluzi asendaweni yomsebenzi"</item>
+    <item msgid="1330084588359129896">"Itende"</item>
+    <item msgid="3861584909935022342">"Ireel yefilimu"</item>
+    <item msgid="5827426100157335512">"Incwadi"</item>
+    <item msgid="8585828346253128384">"Imbali yelotus"</item>
+    <item msgid="8788370542815300188">"Ingqondo yomuntu"</item>
+    <item msgid="7287354964767553293">"Amaheadphone"</item>
+    <item msgid="2530059623783800987">"I-TV"</item>
+    <item msgid="5307182323469376758">"Isitimela"</item>
+    <item msgid="4903790544026923026">"Imoto"</item>
+    <item msgid="5010405583912314582">"Imfoloko nommese"</item>
+    <item msgid="8939998598599064900">"Ubhasikidi wokuthenga"</item>
+    <item msgid="3379605903308731893">"Ingane"</item>
+    <item msgid="7808668968550293112">"Isidladla sesilwane"</item>
+    <item msgid="1000692647524056504">"Ibheji lenkanyezi"</item>
+    <item msgid="8270261073421676502">"Abantu ababili"</item>
+    <item msgid="5767782819651505460">"Inkanyezi"</item>
+    <item msgid="4368451291862729334">"Inhliziyo"</item>
+    <item msgid="2613199102208419986">"Indlu"</item>
+    <item msgid="3022279986430275040">"Inyanga ewuhhafu"</item>
+    <item msgid="5421089790869483206">"Iwashi"</item>
   </string-array>
   <string-array name="display_over_apps_permission_change_exempt">
   </string-array>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index b60dbf7..115fc1d 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -41,6 +41,7 @@
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Kumiswe okwesikhashana"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Akwaziwa"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"Hlola kuqala"</string>
+    <string name="qr_code_content_description" msgid="1852208464419291347">"Ikhodi ye-QR"</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="stay_awake_on_fold_title" msgid="6590454679898134221">"Njalo"</string>
@@ -76,6 +77,7 @@
     <string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Amasethingi ensizakuzwa"</string>
     <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Isinqamuleli, ukuhambisana kwensiza yokuzwa"</string>
     <string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Ukusetha ngaphambilini"</string>
+    <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Akukho ukusethwa ngaphambilini okuhlelwe i-audiologist yakho"</string>
     <string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Ayikwazanga ukubuyekeza ukusetha ngaphambilini"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Okukhishwayo komsindo"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Mayelana nokuphumayo komsindo"</string>
@@ -178,7 +180,7 @@
     <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Ukukhetha ulimi kwale app akutholakali Kumasethingi."</string>
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Ulimi lungahluka ezilimini ezitholakala ku-app. Amanye ama-app angase angalisekeli leli sethingi."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Setha ulimi lwe-app ngayinye."</string>
-    <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Amasistimu wakho, ama-app, namawebhusayithi kusebenzisa ulimi olusekelwayo lokuqala kusuka ezilimini zakho ezincanyelwayo."</string>
+    <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Idivayisi yakho, ama-app, namawebhusayithi asebenzisa ulimi lokuqala olusekelwayo oluvela ohlwini lwakho lolimi oluthandayo.\n\nAma-app amaningi nawo azosebenzisa isifunda esivela olimini oluthandayo ukuze afomethe izinsuku, izinombolo kanye namayunithi. Ukuze ushitshe isifunda sakho, faka ulimi, bese ukhetha isifunda sakho osithandayo."</string>
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Ukuze ukhethe ulimi lwe-app ngayinye, iya kumasethingi wolimi lwe-app."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Funda kabanzi mayelana nezilimi ze-app"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Shintsha ulimi lwesistimu lube yi-%s ?"</string>
@@ -282,7 +284,7 @@
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Valiwe"</string>
     <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Ivuliwe / i-app e-# enokufinyelela endaweni}one{Ivuliwe / ama-app angu-# anokufinyelela endaweni}other{Ivuliwe / ama-app angu-# anokufinyelela endaweni}}"</string>
     <string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Iyalayisha…"</string>
-    <string name="location_settings_footer_general" msgid="1040507068701188821">"Ama-app anemvume Yamadivayisi aeseduze angakhetha indawo ehambelanayo yamadivayisi axhunyiwe."</string>
+    <string name="location_settings_footer_general" msgid="3447585552176173502">"Ama-app anamadivayisi anemvume eseduze anganquma indawo ehambelanayo yamadivayisi axhunyiwe."</string>
     <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Ukufinyelela kwendawo kuvaliwe mayelana nama-app namasevisi. Indawo yedivayisi yakho isengathunyelwa kubaphenduli besimo esiphuthumayo uma ushaya ikholi noma uthumela umbhalo kwinombolo ephuthumayo."</string>
     <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Funda kabanzi Ngamasethingi wendawo"</string>
     <string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Ukuze ushintshe iya kokuthi Amasethingi e-ChromeOS bese uya kokuthi Ubumfihlo nokuvikeleka bese uya kokuthi Izilawulo zobumfihlo bese uya kokuthi Ukufinyelela indawo"</string>
@@ -409,6 +411,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Ubuso ne-<xliff:g id="WATCH">%s</xliff:g> zingeziwe"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Ubuso, isigxivizo somunwe, ne-<xliff:g id="WATCH">%s</xliff:g> kungeziwe"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Ubuso, izigxivizo zomunwe, ne-<xliff:g id="WATCH">%s</xliff:g> kungeziwe"</string>
+    <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Ukuhlola Ubunikazi kuvuliwe futhi kudinga ibiometric"</string>
     <string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Ukuvula Isiqinisekisi Serimothi"</string>
     <string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Iwashi lifakiwe"</string>
     <string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Setha iwashi lakho"</string>
@@ -436,7 +439,7 @@
     <string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Funda kabanzi mayelana Nokuvula Iwashi"</string>
     <string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Faka iwashi"</string>
     <string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Susa iwashi"</string>
-    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Isigxivizo somunwe Nokuvula Ngobuso"</string>
+    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Ukuvula ngobuso nangesigxivizo somunwe"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Ukuvula Ngobuso Nangesigxivizo Somunwe emsebenzini"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Ukusetha kuyadingeka"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Ubuso nezigxivizo zeminwe kungeziwe"</string>
@@ -620,6 +623,9 @@
     <string name="private_space_setting_up_text" msgid="8458035555212009528">"Isetha isikhala esigodliwe…"</string>
     <string name="private_space_error_screen_title" msgid="739381738044418346">"Ayikwazanga ukusetha indawo engasese"</string>
     <string name="private_space_tryagain_label" msgid="8305362615231738367">"Zama Futhi"</string>
+    <string name="private_space_exit_label" msgid="2358175237993013881">"Phuma"</string>
+    <string name="private_space_error_description" msgid="6591005734266923120">"Indawo engasese ayitholakali.\nBuka okungenzeka kube yimbangela"</string>
+    <string name="private_space_error_causes_text" msgid="1649162505129365620">"Buka okungenzeka kube yimbangela"</string>
     <string name="private_space_lockscreen_title" msgid="5785259588888586366">"Khetha isikhiya esisha sendawo engasese?"</string>
     <string name="private_space_lockscreen_summary" msgid="3053836076639653805">"Ungasetha ukhiye omusha wenzela nje indawo engasese, noma usebenzise isikhiya esifanayo osisebenzisela ukuvula idivayisi yakho"</string>
     <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Sebenzisa ukukhiya isikrini"</string>
@@ -828,8 +834,19 @@
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Uma i-Bluetooth ivuliwe, idivayisi yakho ingaxhumana namanye amadivayisi e-Bluetooth aseduze.\n\nUkuze uthuthukise umuzwa wedivayisi, ama-app namasevisi asengaskena amadivayisi aseduze noma kunini, ngisho noma i-Bluetooth ivaliwe. Lokhu, ngokwesibonelo, kungasetshenziswa ukuthuthukisa izakhi namasevisi asuselwa endaweni. Ungakuguqula lokhu kumasethingi okuskena e-Bluetooth."</string>
     <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Uma iBluetooth ivuliwe, idivayisi yakho ingakwazi ukuxhumana namanye amadivayisi aseduze weBluetooth. Izakhi ezifana nokuthi Abelana Ngokushesha kanye nokuthi Thola Idivayisi Yami zisebenzisa iBluetooth.\n\nAma-app namasevisi asengaskena amadivayisi aseduze noma kunini, nanoma iBluetooth ivaliwe. Lokhu kungasetshenziswa, ngokwesibonelo, ukuthuthukisa izakhi ezisekelwe endaweni nasemasevisini. Ungashintsha lokhu kumasethingi okuskena eBluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Shintsha"</string>
+    <!-- no translation found for bluetooth_key_missing_title (7799054163548353853) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_message (2388861106663695319) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_forget (4692006517823001013) -->
+    <skip />
+    <!-- no translation found for bluetooth_key_missing_cancel (2482416446357804371) -->
+    <skip />
     <string name="device_details_title" msgid="1155622417516195481">"Imininingwane yedivayisi"</string>
     <string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Izilungiselelo zekhibhodi"</string>
+    <string name="bluetooth_device_more_settings_preference_title" msgid="6034482566541746500">"Amanye amasethingi"</string>
+    <string name="bluetooth_device_more_settings_preference_summary" msgid="7639584132778245426">"Izibuyekezo zeFirmware, mayelana, nokuningi"</string>
+    <string name="bluetooth_device_tip_support" msgid="6072338493592606897">"Amathiphu nosekelo"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Ikheli le-Bluetooth yedivayisi: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Ikheli le-Bluetooth yedivayisi: \n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Khohlwa idivayisi?"</string>
@@ -839,6 +856,7 @@
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Okuhlolwayo Ithuthukisa ikhwalithi yomsindo."</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Khohlwa idivayisi"</string>
     <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Nqamula i-app"</string>
+    <string name="device_details_more_settings" msgid="950302792331611271">"Amanye amasethingi"</string>
     <string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Amadivayisi omsindo e-Bluetooth axhumekile"</string>
     <string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Khetha inombolo enkulu yamadivayisi omsindo we-Bluetooth axhumekile"</string>
     <string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Ilogu yokususa iphutha yomthengisi we-NFC verbose"</string>
@@ -848,6 +866,20 @@
     <string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Qalisa kabusha idivayisi?"</string>
     <string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Ukungena kwe-NFC okuningiliziwe kuhloselwe izinjongo zokuthuthukiswa kuphela. Idatha ye-NFC eyengeziwe ifakwe phakathi kwimibiko yeziphazamisi, engase ibe nolwazi olugodliwe. Qala kabusha idivayisi ukuze ushintshe le sethingi."</string>
     <string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Qala kabusha"</string>
+    <string name="external_display_on" msgid="2560104443500154333">"Kuvuliwe"</string>
+    <string name="external_display_off" msgid="5634413756025351374">"Kuvaliwe"</string>
+    <string name="external_display_settings_title" msgid="6256884595821605779">"Ukubonisa Kwangaphandle"</string>
+    <string name="external_display_use_title" msgid="8198257340836261386">"Sebenzisa ukubonisa kwangaphandle"</string>
+    <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Ukucaca kokubonisa"</string>
+    <string name="external_display_not_found" msgid="1912355133386555798">"Ukubonisa kwangaphandle kunqanyuliwe"</string>
+    <string name="external_display_rotation" msgid="7160062306817490204">"Ukuzungezisa"</string>
+    <string name="external_display_standard_rotation" msgid="545969032327487219">"Okujwayelekile"</string>
+    <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+    <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+    <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+    <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Ukushintsha ukuzungezisa noma ukucaca kungamisa noma imaphi ama-app asebenzayo okwamanje"</string>
+    <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Idivayisi yakho kufanele ixhunywe ekuboniseni kwangaphandle ukuze ifanise isikrini sakho"</string>
+    <string name="external_display_more_options_title" msgid="1222751990705118774">"Okungakhethwa kukho okuningi"</string>
     <string name="wifi_display_settings_title" msgid="6451625615274960175">"Abalingisi"</string>
     <string name="keywords_wifi_display_settings" msgid="5753883229564422679">"isibuko"</string>
     <string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Nika amandla ukubukeka okungenantambo "</string>
@@ -1189,6 +1221,7 @@
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Okungaguqula"</string>
     <string name="brightness" msgid="6216871641021779698">"Izinga lokukhanya"</string>
     <string name="auto_brightness_title" msgid="4239324728760986697">"Ukukhanya okuguqukayo"</string>
+    <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Mayelana nokukhanya okuguqukayo"</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"Ukukhanya kwesikrini sakho kuzolungiswa ngokuzenzakalela kumvelo yakho nakumisebenzi. Ungahambisa isilayida ngesandla ukuze usize ukukhanya okushintshayo kufunde okuncamelayo."</string>
     <string name="auto_brightness_summary_on" msgid="2748088951224387004">"Vuliwe"</string>
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Kuvaliwe"</string>
@@ -1311,8 +1344,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"Sebenzisa i-<xliff:g id="CARRIER">%1$s</xliff:g> yedatha yeselula?"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"Usebenzisa i-<xliff:g id="CARRIER2_0">%2$s</xliff:g> yedatha yeselula. Uma ushintshela ku-<xliff:g id="CARRIER1">%1$s</xliff:g>, i-<xliff:g id="CARRIER2_1">%2$s</xliff:g> ngeke isasetshenziselwa idatha yeselula"</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"Sebenzisa i-<xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="8850185380445309835">"Buyekeza i-SIM encanyelwayo?"</string>
-    <string name="sim_preferred_message" msgid="6004009449266648351">"I-<xliff:g id="NEW_SIM">%1$s</xliff:g> iyo kuphela i-SIM ekudivayisi yakho. Ingabe ufuna ukusebenzisa le SIM kudatha yeselula, amakholi, nemilayezo ye-SMS?"</string>
+    <string name="sim_preferred_message" msgid="4894337280925553873">"I-<xliff:g id="NEW_SIM">%1$s</xliff:g> manye isiyi-SIM yakho eyinhloko"</string>
     <string name="enable_auto_data_switch_dialog_title" msgid="3563043560556718994">"Thuthukisa ukusebenza kwedatha yeselula?"</string>
     <string name="enable_auto_data_switch_dialog_message" msgid="5777287241521946883">"Vumela idivaisi yakho ukuthi ishintshele ku-<xliff:g id="BACKUP_CARRIER">%1$s</xliff:g> ngokuzenzekelayo ukuze ithole idatha yeselula uma itholakala kangcono."</string>
     <string name="auto_data_switch_dialog_managed_profile_warning" msgid="6839438290079866605">\n\n"Amakholi, imiyalezo, nethrafikhi yenethiwekhi kungase kubonakale enhlanganweni yakho."</string>
@@ -1895,14 +1927,14 @@
     <string name="keyboard_options_category" msgid="8040137073401152608">"Ongakukhetha"</string>
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Ukufinyeleleka"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Ikhibhodi ephathekayo"</string>
-    <string name="show_ime" msgid="4334255501724746849">"Sebenzisa ikhibhodi ekuskrini"</string>
-    <string name="show_ime_summary" msgid="7293345791727205975">"Yigcine kusikrini ngenkathi kusebenza ikhibhodi ephathekayo"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Okhiye bokubuyisela emuva"</string>
     <string name="bounce_keys_summary" msgid="7347050868868080302">"Ikhibhodi iziba ukuchofozwa okusheshayo ngokuphindaphindiwe kwenkinobho efanayo phakathi nenkathi engu-<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Okhiye abahamba kancane"</string>
     <string name="slow_keys_summary" msgid="1784371292745423292">"Lungisa isikhathi esithathwa yinkinobho ngayinye ukuba isebenze lapho icindezelwa, sibe ngu-<xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Okhiye abanamathelayo"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Cindezela inkinobho eyodwa ngesikhathi ukuze uthole izinqamuleli esikhundleni sokubamba izinkinobho ndawonye"</string>
+    <string name="mouse_keys" msgid="6237254627808525540">"Okhiye bemouse"</string>
+    <string name="mouse_keys_summary" msgid="2396247040177734245">"Sebenzisa ikhibhodi ephathekayo ukulawula imouse."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Izinqamuleli zekhibhodi"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Bonisa uhlu lwezinqamuleli"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Amakhibhodi ephrofayela yomsebenzi namathuluzi"</string>
@@ -1918,8 +1950,8 @@
     <string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"Enza ngendlela oyifisayo ukuthinta ngakunye kwephedi lokuthinta"</string>
     <string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"Ukuskrola okubuyiselwe emuva"</string>
     <string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"Okuqukethwe kuya phezulu uma uskrolela phansi"</string>
-    <string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Thepha phansi kwesokudla"</string>
-    <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Thepha ekhoneni elingezansi kwesokudla lephedi yokuthinta ukuze uthole okungakhethwa kukho okwengeziwe"</string>
+    <string name="trackpad_bottom_right_tap_title" msgid="230337692279220068">"Chofoza ezansi kwesokudla"</string>
+    <string name="trackpad_bottom_right_tap_summary" msgid="4467915480282133447">"Chofoza ekhoneni elingezansi kwesokudla lephedi yokuthinta ukuze uthole okwengeziwe ongakhetha kukho"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Ijubane lesikhombi"</string>
     <string name="pointer_fill_style" msgid="8413840032931637595">"Isitayela sokugcwalisa isikhombi"</string>
     <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Shintsha isitayela sokugcwalisa isikhombi sibe mnyama"</string>
@@ -1927,6 +1959,10 @@
     <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Shintsha isitayela sokugcwalisa isikhombi sibe phuzi"</string>
     <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Shintsha isitayela sokugcwalisa isikhombi sibe phinki"</string>
     <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Shintsha isitayela sokugcwalisa isikhombi sibe luhlaza okwesibhakabhaka"</string>
+    <string name="pointer_stroke_style" msgid="1886986630216050665">"Isitayela sepointer stroke"</string>
+    <string name="pointer_stroke_style_name_white" msgid="673686194443825383">"Mhlophe"</string>
+    <string name="pointer_stroke_style_name_black" msgid="4655806167067437330">"Mnyama"</string>
+    <string name="pointer_stroke_style_name_none" msgid="8953927511729800247">"Lutho"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Funda ukunyakaza kwephedi lokuthinta"</string>
     <string name="keywords_touchpad" msgid="8159846254066666032">"i-trackpad, i-track pad, imawuzi, i-cursor, skrola, swayipha, chofoza kwesokudla, chofoza, isikhombi"</string>
     <string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"chofoza ngakwesokudla, thepha"</string>
@@ -1964,12 +2000,19 @@
     <string name="modifier_keys_reset" msgid="551170906710422041">"Setha kabusha"</string>
     <string name="modifier_keys_picker_title" msgid="244545904150587851">"Khetha ukhiye wokushintsha"</string>
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Khetha ukhiye omusha we-<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
+    <!-- no translation found for keyboard_a11y_settings (2564659018555385728) -->
+    <skip />
+    <!-- no translation found for keyboard_a11y_settings_summary (1698531156574098722) -->
+    <skip />
     <string name="ime_label_title" msgid="8994569521516807168">"Isakhiwo se-<xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Okuzenzakalelayo"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Okuzenzekelayo: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Umsebenzisi ukhethiwe: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Inkulumo"</string>
     <string name="pointer_speed" msgid="7398649279282675718">"Ijubane lesikhombi"</string>
+    <string name="pointer_scale" msgid="4941564570571663964">"Ubukhulu besikhombisi"</string>
+    <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Nciphisa ubukhulu besikhombisi"</string>
+    <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Khulisa ubukhulu besikhombisi"</string>
     <string name="game_controller_settings_category" msgid="8557472715034961918">"Isilawuli somdlalo"</string>
     <string name="vibrate_input_devices" msgid="5192591087864449142">"Qondisa kabusha ukudlidliza"</string>
     <string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Thumela ukudlidliza kwesilawuli segeyimu uma kuxhunyiwe"</string>
@@ -2092,7 +2135,8 @@
     <string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Qhubeka noma kunjalo"</string>
     <string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Khansela"</string>
     <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Izilungiselelo zokukhuliswa"</string>
-    <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"I-panning yomunwe owodwa"</string>
+    <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Hambisa imagnifier ngomunwe ongu-1"</string>
+    <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Hudula umunwe ongu-1 ukuze uhambe esikrinini"</string>
     <string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Hambisa indawo yokukhuliswa ngokuhudula umunwe owodwa."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Hambisa indawo yokukhuliswa ngokuhudula iminwe emibili."</string>
     <string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Ayitholakali ngenkathi ikhulisa kuphela ingxenye yesikrini"</string>
@@ -2116,6 +2160,8 @@
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Thepha inkinobho ukuze usondeze"</string>
     <string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Sondeza isithombe ngokushesha ukuze wenze okuqukethwe kube kukhudlwana"</string>
     <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"&lt;b&gt;Ukuze usondeze isithombe:&lt;br/&gt;&lt;br/&gt; {0,number,integer}. Sebenzisa isinqamuleli ukuqalisa ukukhuliswa&lt;/b&gt;&lt;br/&gt; {1,number,integer}. Thepha isikrini&lt;/b&gt;&lt;br/&gt; {2,number,integer}. Hudula iminwe emi-2 ukuze uhambe esikrinini&lt;/b&gt;&lt;br/&gt; {3,number,integer}. Ncinza ngeminwe emi-2 ukuze ulungise ukusondeza&lt;/b&gt;&lt;br/&gt; {4,number,integer}. Sebenzisa isinqamuleli ukuze umise ukukhuliswa&lt;br/&gt;&lt;br/&gt; &lt;b&gt;Ukuze usondeze isithombe okwesikhashana:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Qiniseka ukuthi uhlobo lwakho lokukhulisa lusethwe esikrinini esigcwele&lt;/b&gt;&lt;br/&gt; {1,number,integer}. Sebenzisa isinqamuleli ukuqalisa ukukhuliswa&lt;/b&gt;&lt;br/&gt; {2,number,integer}. Thinta futhi ubambe noma kuphi esikrinini&lt;/b&gt;&lt;br/&gt; {3,number,integer}. Hudula umunwe ukuze uhambahambe esikrinini&lt;/b&gt;&lt;br/&gt; {4,number,integer}. Phakamisa umunwe ukuze umise ukukhuliswa"</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"&lt;b&gt;Ukuze usondeze isithombe:&lt;br/&gt;&lt;br/&gt; {0,number,integer}. Sebenzisa isinqamuleli ukuqalisa ukukhuliswa&lt;/b&gt;&lt;br/&gt; {1,number,integer}. Thepha isikrini&lt;/b&gt;&lt;br/&gt; {2,number,integer}. Hudula iminwe engu-2 ukuze uhambahambe esikrinini&lt;/b&gt;&lt;br/&gt; {3,number,integer}. Ncinza ngeminwe engu-2 ukuze ulungise ukusondeza&lt;/b&gt;&lt;br/&gt; {4,number,integer}. Sebenzisa isinqamuleli ukuze umise ukukhuliswa&lt;br/&gt;&lt;br/&gt; Ungaphinda usondeze isithombe okwesikhashana nokuningi."</string>
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"&lt;b&gt;Ukuze usondeze isithombe:&lt;br/&gt;&lt;br/&gt; {0,number,integer}. Sebenzisa isinqamuleli ukuqalisa ukukhuliswa&lt;/b&gt;&lt;br/&gt; {1,number,integer}. Thepha isikrini&lt;/b&gt;&lt;br/&gt; {2,number,integer}. Hudula iminwe engu-1 noma 2 ukuze uhambahambe esikrinini&lt;br/&gt; {3,number,integer}. Ncinza ngeminwe engu-2 ukuze ulungise ukusondeza&lt;/b&gt;&lt;br/&gt; {4,number,integer}. Sebenzisa isinqamuleli ukuze umise ukukhuliswa&lt;br/&gt;&lt;br/&gt; Ungaphinda usondeze isithombe okwesikhashana nokuningi."</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_pager" msgid="8461939455728454061">"Ikhasi elingu-<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> kwangu-<xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Isinqamuleli senkinobho yokufinyeleleka"</string>
@@ -2150,8 +2196,6 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Thepha inkinobho entantayo"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Ukutholakala kokuthinta"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Thepha inkinobho yokufinyeleleka engu-<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ngaphansi kwesikrini sakho. Ukuze ushintshe phakathi kwezici, thinta uphinde ubambe inkinobho yokufinyeleleka."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Swayiphela phezulu kusuka ezansi esikrinini ngeminwe engu-2.\n\nUkuze ushintshe phakathi kwezici, swayiphela phezulu ngeminwe engu-2 bese ubambe."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Swayiphela phezulu kusuka ezansi esikrinini ngeminwe engu-3.\n\nUkuze ushintshe phakathi kwezici, swayiphela phezulu ngeminwe engu-3 bese ubambe."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Swayiphela phezulu kusuka ngaphansi kwesikrini sakho. Ukuze ushintshe phakathi kwezakhi, swayiphela phezulu uphinde ubambe.}one{Swayiphela phezulu ngeminwe engu-# kusuka ngaphansi kwesikrini sakho. Ukuze ushintshe phakathi kwezakhi, swayiphela phezulu ngeminwe engu-# uphinde ubambe.}other{Swayiphela phezulu ngeminwe engu-# kusuka ngaphansi kwesikrini sakho. Ukuze ushintshe phakathi kwezakhi, swayiphela phezulu ngeminwe engu-# uphinde ubambe.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Izinketho eziningi"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Funda kabanzi nge-<xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -2162,22 +2206,20 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Okhiye bevolumu"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"okhiye bevolumu"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Cindezela futhi ubambe bobabili okhiye bevolumu"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Isikrini othepha kabili ngeminwe emibili kuso"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d-umunwe wokuthepha kabili"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Thepha ngokushesha isikrini kabili ngeminwe engu-%1$d"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Thepha kathathu"</string>
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"Thepha ngokushesha isikrini izikhathi ezingu-%1$d. Lokhu kungenza idivayisi yakho ihambe kancane."</string>
     <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"%1$d-umunwe wokuthepha kabili"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"Thepha ngokushesha isikrini izikhathi ezingu-{0,number,integer} ngeminwe emibili"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Isikrini sokuthepha kathathu"</string>
     <string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"thepha kathathu"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Thepha ngokushesha isikrini izikhathi ezingu-{0,number,integer}. 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>
+    <!-- no translation found for accessibility_global_gesture_preference_title (8866765674372344850) -->
+    <skip />
     <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Izilungiselelo zesinqamuleli"</string>
-    <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Isinqamuleki kusuka kusikrini sokukhiya"</string>
+    <!-- no translation found for accessibility_shortcut_service_on_lock_screen_title (2301019277262462426) -->
+    <skip />
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"Vumela isinqamuleli sesici ukuvula kusuka kusikrini sokukhiya. Bamba bobabili okhiye bevolumu amasekhondi ambalwa."</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"Inkinobho yokufinyeleleka"</string>
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Inkinobho yokufinyeleleka nokuthinta"</string>
@@ -2335,13 +2377,14 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Le sevisi ayisebenzi kahle."</string>
     <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Izinqamuleli zokufinyeleleka"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Bonisa Kuzilungiselelo Ezisheshayo"</string>
-    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Okubomvu-okuluhlaza okotshani"</string>
-    <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Okubomvu-okuluhlaza okotshani"</string>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="3229433065035047931">"Okubomvu-okuluhlaza, okuluhlaza okulula"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2572040492905945405">"Okubomvu-okuluhlaza, okubomvu okulula"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Okuluhlaza okwesibhakabhaka-okuphuzi"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"I-grayscale"</string>
     <string name="daltonizer_saturation_title" msgid="2999486412114963068">"Ukuqina"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Okuluhlaza okotshani okubuthakathaka, i-deuteranomaly"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Okubomvu okubuthakathaka, i-protanomaly"</string>
+    <string name="daltonizer_saturation_unavailable_summary" msgid="8319753055567798775">"Ayitholakali kumodi yendawo engathi imnyama noma lapho ukulungiswa kombala kukhutshaziwe"</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>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Ukufiphaza okwengeziwe"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Fiphaza isikrini sakho ngokwengeziwe"</string>
@@ -2389,15 +2432,8 @@
     <string name="color_cyan" msgid="4341758639597035927">"I-Cyan"</string>
     <string name="color_yellow" msgid="5957551912912679058">"Okuliphuzi"</string>
     <string name="color_magenta" msgid="8943538189219528423">"I-Magenta"</string>
-    <string name="enable_service_title" msgid="7231533866953706788">"Vumela i-<xliff:g id="SERVICE">%1$s</xliff:g> ukuthola ukulawula okuphelele kwedivayisi yakho?"</string>
     <string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> idinga :"</string>
     <string name="touch_filtered_warning" msgid="4225815157460318241">"Ngoba uhlelo lokusebenza lusitha isicelo semvume, Izilungiselelo azikwazi ukuqinisekisa impendulo yakho."</string>
-    <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> icela ukulawula okuphelele kwale divayisi. Isevisi ingafunda isikrini futhi isebenze engxenyeni yabasebenzisi abanezidingo zokufinyelela. Le leveli yokulawula ayiqondile kuzinhlelo zokusebenza eziningi."</string>
-    <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Ukulawula okugcwele kulungele izinhlelo zokusebenza ezikusiza ngezidingo zokufinyelela, kodwa hhayi izinhlelo zokusebenza eziningi."</string>
-    <string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Buka futhi ulawule isikrini"</string>
-    <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Singafunda konke okuqukethwe esikrinini futhi sibonise okuqukethwe kwezinye izinhlelo zokusebenza."</string>
-    <string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Buka uphinde wenze izenzo"</string>
-    <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Ingalandela ukusebenzisana kwakho nohlelo lokusebenza noma inzwa yehadiwe, nokusebenzisana nezinhlelo zokusebenza engxenyeni yakho."</string>
     <string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Vumela"</string>
     <string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Phika"</string>
     <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Vala"</string>
@@ -3318,25 +3354,50 @@
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Kuvuliwe / <xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> futhi ne-<xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Ungakwazi nokuvula i-Spatial Audio kumadivayisi e-Bluetooth."</string>
     <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Amasethingi wamadivayisi axhunyiwe"</string>
+    <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Spatial Audio"</string>
+    <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Valiwe"</string>
+    <string name="spatial_audio_multi_toggle_on" msgid="2988769235357633788">"Valiwe"</string>
+    <string name="spatial_audio_multi_toggle_head_tracking_on" msgid="861779551619033627">"Valiwe"</string>
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Lutho}=1{ishejuli esethiwe e-1}one{amashejuli asethiwe angu-#}other{amashejuli asethiwe angu-#}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Ungaphazamisi"</string>
-    <string name="zen_modes_list_title" msgid="5138745349253275428">"Amamodi Abalulekile"</string>
-    <string name="zen_modes_add_mode" msgid="4806287336036228772">"Faka imodi"</string>
+    <string name="zen_modes_list_title" msgid="4796033710444068729">"Amamodi"</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Nciphisa iziphazamiso futhi ulawule ukunaka kwakho ngamamodi okulala, umsebenzi, ukushayela, nayo yonke into ephakathi."</string>
+    <string name="zen_modes_add_mode" msgid="5926457160307593664">"Sungula imodi yakho"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Yaziswa kuphela abantu ababalulekile nezinhlelo zokusebenza"</string>
+    <string name="zen_mode_select_schedule" msgid="663163931596092952">"Setha ishejuli"</string>
+    <string name="zen_mode_select_schedule_title" msgid="4260344424438327309">"Ishejuli ngokusekelwe kokuthi"</string>
+    <string name="zen_mode_select_schedule_time" msgid="1951968104691941146">"Ilanga nesikhathi"</string>
+    <string name="zen_mode_select_schedule_time_example" msgid="2690518300573994725">"\"9 AM - 5 PM phakathi neviki\""</string>
+    <string name="zen_mode_select_schedule_calendar" msgid="8098396764270136497">"Imicimbi yekhalenda"</string>
+    <string name="zen_modes_summary_some_active" msgid="4780578487747956559">"{count,plural,offset:2 =0{}=1{Okuthi {mode_1} kuyasebenza}=2{Okuthi {mode_1} nokuthi {mode_2} kuyasebenza}=3{Okuthi {mode_1}, {mode_2}, nokuthi {mode_3} kuyasebenza}one{Okuthi {mode_1}, {mode_2}, kanye nokwengeziwe okungu-# kuyasebenza}other{Okuthi {mode_1}, {mode_2}, kanye nokwengeziwe okungu-# kuyasebenza}}"</string>
+    <string name="zen_modes_summary_none_active" msgid="7076119084658457243">"{count,plural, =0{}=1{Imodi e-1 ingavuleka ngokuzenzakalela}one{Amamodi angu-# angavuleka ngokuzenzakalela}other{Amamodi angu-# angavuleka ngokuzenzakalela}}"</string>
+    <string name="zen_mode_active_text" msgid="5002406772481439437">"KUVULIWE"</string>
+    <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Akusethiwe"</string>
+    <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Kukhutshaziwe"</string>
+    <string name="zen_mode_new_title" msgid="4934720193004330740">"Sungula imodi"</string>
+    <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Okumuntu ngamunye"</string>
+    <string name="zen_mode_action_activate" msgid="4832626715234966484">"Vula manje"</string>
+    <string name="zen_mode_action_deactivate" msgid="5922468877447186921">"Vala"</string>
+    <string name="zen_mode_not_found_text" msgid="692090778655810329">"Imodi ayitholakali"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Khawulela ukuphazamisa"</string>
+    <string name="zen_mode_setup_page_summary" msgid="7568908001205193154">"Vimba iziphazamiso"</string>
+    <string name="zen_mode_setup_button_label" msgid="1959984133767361374">"Setha okuthi <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Vula ukungaphazamisi"</string>
     <string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Ama-alamu nemisindo yemidiya kungaphazamisa"</string>
     <string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Amashejuli"</string>
     <string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Susa amashejuli"</string>
     <string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Susa"</string>
+    <string name="zen_mode_menu_rename_mode" msgid="4681802125016390837">"Qamba kabusha"</string>
+    <string name="zen_mode_menu_delete_mode" msgid="5380084696402157428">"Sula"</string>
+    <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Sula imodi ethi \"<xliff:g id="MODE">%1$s</xliff:g>\"?"</string>
     <string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Hlela"</string>
     <string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Amashejuli"</string>
     <string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Ishejuli"</string>
-    <string name="zen_mode_automatic_trigger_title" msgid="9193777783079000267">"Vula ngokuzenzekela"</string>
-    <string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Engeza ikhalenda"</string>
-    <string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Sebenzisa ikhalenda yakho"</string>
-    <string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Shejula"</string>
-    <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Setha ishejuli"</string>
+    <string name="zen_mode_automatic_trigger_title" msgid="6223547583969661361">"Ukuvula nini ngokuzenzekela"</string>
+    <string name="zen_mode_set_calendar_title" msgid="609741570346510347">"Ishejuli yomcimbi"</string>
+    <string name="zen_mode_set_calendar_which_calendar" msgid="7520289688350942687">"Vula ngesikhathi semicimbi"</string>
+    <string name="zen_mode_set_calendar_which_reply" msgid="3136872740890390233">"La impendulo yesimemo ikhona"</string>
+    <string name="zen_mode_set_schedule_title" msgid="8767170965922472951">"Ishejuli yesikhathi"</string>
     <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Shejula"</string>
     <string name="zen_mode_schedule_duration" msgid="299332195675875111">"Ihora elingu-<xliff:g id="HOURS">%1$d</xliff:g>, nemizuzu engu-<xliff:g id="MINUTES">%2$d</xliff:g>"</string>
     <string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Ishejuli"</string>
@@ -3348,8 +3409,9 @@
     <string name="zen_mode_settings_category" msgid="3794956668816783447">"Vumela iziphazamiso ezenza umsindo"</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="mode_interruption_filter_title" msgid="6657431939996264417">"Izaziso ezingafinyelela kuwe"</string>
-    <string name="mode_device_effects_title" msgid="5857008332618433744">"Izenzo ezengeziwe"</string>
+    <string name="mode_interruption_filter_title" msgid="6293843948349239256">"Izihlungi zesaziso"</string>
+    <string name="mode_device_effects_title" msgid="6019908499525166737">"Amanye amasethingi"</string>
+    <string name="modes_sound_summary_off" msgid="6972648204528227879">"{count,plural, =0{Kuvaliwe}=1{Kuvaliwe / imodi eyodwa ingavuleka ngokuzenzakalelayo}one{Kuvaliwe / amamodi angu-# angavuleka ngokuzenzakalelayo}other{Kuvaliwe / amamodi angu-# angavuleka ngokuzenzakalelayo}}"</string>
     <string name="mode_display_settings_title" msgid="8132825978346535472">"Bonisa amasethingi"</string>
     <string name="mode_display_options_section" msgid="5151597748243866532">"Okungakhethwa kukho kokubonisa"</string>
     <string name="mode_grayscale_title" msgid="6027553257331235461">"Indawo engathi imnyama"</string>
@@ -3365,6 +3427,8 @@
     <string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"nika amandla itimu emnyama"</string>
     <string name="mode_dark_theme_summary" msgid="8428887193785431898">"Shintsha i-OS nama-app ukuze uncamele umbhalo okhanyayo kungemuva elimnyama, okungenzeka kube lula emehlweni futhi kunikeza ukulondoloza okubalulekile kwebhethri kwamanye amadivayisi"</string>
     <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Azikho izinguquko zokubonisa}=1{I-{effect_1}}=2{I-{effect_1} ne-{effect_2}}=3{I-{effect_1}, i-{effect_2}, ne-{effect_3}}one{I-{effect_1}, i-{effect_2}, nokungu-# ngaphezulu}other{I-{effect_1}, i-{effect_2}, nokungu-# ngaphezulu}}"</string>
+    <string name="zen_mode_allow_all_notifications" msgid="7300894425550960390">"Vumela zonke izaziso"</string>
+    <string name="zen_mode_all_notifications_allowed" msgid="7612213309293552413">"Abantu, ama-app, nemisindo kungaphazamisa"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Bonisa okungakhethwa kukho kwezaziso ezihlungiwe"</string>
     <string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Uma Ukungaphazamisi kuvuliwe"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Awukho umsindo kusukela kuzaziso"</string>
@@ -3480,6 +3544,7 @@
     <string name="notification_history_open_notification" msgid="2655071846911258371">"vula isaziso"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Vumela ukusnuza kwesaziso"</string>
     <string name="notification_badging_title" msgid="5469616894819568917">"Ichashazi lesaziso kusithonjana sohlelo lokusebenza"</string>
+    <string name="notification_bundles" msgid="3614044525822580826">"Iqoqo lezaziso"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Amabhamuza"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Amabhamuza"</string>
     <string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Yenza ibhamuza le ngxoxo"</string>
@@ -3590,7 +3655,9 @@
     <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Ingakwazi ukuphendula imilayezo futhi ithathe isinyathelo kuzinkinobho zezaziso, okuhlanganisa ukusnuza noma ukucashisa izaziso nokuphendula amakholi."</string>
     <string name="nls_feature_settings_title" msgid="8208164329853194414">"Shintsha amasethingi"</string>
     <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Ingakwazi ukuvula noma ukuvala okuthi Ungaphazamisi futhi iguqule amasethingi ahlobene."</string>
+    <string name="nls_feature_modes_settings_summary" msgid="70022458305195595">"Ingaphatha futhi yenze kusebenze Amamodi, futhi iguqule amasethingi ahlobene."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Uma uvala ukufinyelela kwezaziso kwe-<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, Ukufinyelela kokuthi ungaphazamisi nakho kungavalwa."</string>
+    <string name="notification_listener_disable_modes_warning_summary" msgid="7528432011433844158">"Uma uvala ukufinyelela kwesaziso kwe-<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, ukufinyelela Kwamamodi nakho kungase kuvalwe."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Vala"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Khansela"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"Isikhathi sangempela"</string>
@@ -3609,9 +3676,9 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Le app ayisekeli amasethingi athuthukisiwe"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Amanye amasethingi"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Amasethingi engeziwe ayatholakala ngaphakathi kwale app"</string>
-    <string name="notification_polite_title" msgid="4737150709382859870">"Izaziso Eziguquguqukayo"</string>
-    <string name="notification_polite_main_control_title" msgid="7267191551379543859">"Sebenzisa izaziso eziguquguqukayo"</string>
-    <string name="notification_polite_description" msgid="7749280535620291610">"Lapho uthola izaziso eziningi ngesikhathi esincane, ifoni yakho izokwehlisa umsindo futhi inciphise okuvela okwesikhashana esikrinini imizuzu engafika kwemibili. Amakholi, ama-alamu, kanye nezingxoxo ezibalulekile kusengadlidliza, kwenze umsindo, noma kuvele esikrinini, futhi kulula ukuthola zonke izaziso lapho udonsela phansi kusuka ngenhla kwesikrini."</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Isikhathi sokuphola sezaziso"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Sebenzisa ukwehlisa umsindo wezaziso"</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Uma uthola izaziso eziningi ngesikhathi esifushane, idivayisi yakho izokwehlisa ivolumu yayo futhi inciphise izexwayiso imizuzu engafika kwemi-2. Izingcingo, ama-alamu, nezingxoxo ezibalulekile azithinteki. \n\nIzaziso ezitholwe ngesikhathi sokupholisa zingatholwa ngokudonsela phansi usuka phezulu esikrinini."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Sebenzisa kumaphrofayela omsebenzi"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Kusebenzise kuma-app ephrofayela yomsebenzi"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Amasevisi omsizi we-VR"</string>
@@ -3651,6 +3718,9 @@
     <string name="manage_zen_access_title" msgid="1562322900340107269">"Ukufinyelela kokungaphazamisi"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"Vumela ukungaphazamisi"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"Azikho izinhlelo zokusebenza ezifakiwe ezicele ukufinyelela kokungaphazamisi"</string>
+    <string name="manage_zen_modes_access_title" msgid="2520680004915648824">"Ukufinyelela amamodi"</string>
+    <string name="zen_modes_access_detail_switch" msgid="4060429747631111299">"Nika Amamodi imvume"</string>
+    <string name="zen_modes_access_empty_text" msgid="8750927923904377110">"Awekho ama-app afakiwe acele ukufinyelela Emamodini"</string>
     <string name="app_notifications_off_desc" msgid="2484843759466874201">"Awukavumeli izaziso ezivela kule app"</string>
     <string name="channel_notifications_off_desc" msgid="6202042207121633488">"Ngokwesicelo sakho i-Android ivimbela lesi sigaba sezaziso kusukela ekuveleni kule divayisi"</string>
     <string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"Ngokwesicelo sakho i-Android ivimbela leli qembu lezaziso kusukela ekuveleni kule divayisi"</string>
@@ -3658,6 +3728,7 @@
     <string name="notification_channels" msgid="1502969522886493799">"Izigaba"</string>
     <string name="notification_channels_other" msgid="18159805343647908">"Okunye"</string>
     <string name="no_channels" msgid="4716199078612071915">"le-app ayizange ithumele izasiso"</string>
+    <string name="no_recent_channels" msgid="5068574296267584043">"Bonisa izigaba ezingasetshenzisiwe"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Amasethingi angeziwe ku-app"</string>
     <string name="show_unused_channels" msgid="4956292847964439078">"Bonisa izigaba ezingasetshenzisiwe"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Fihla izigaba ezingasetshenzisiwe"</string>
@@ -3713,6 +3784,7 @@
     <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Izingxoxo"</string>
     <string name="zen_mode_from_all_conversations" msgid="3447000451361857061">"Zonke izingxoxo"</string>
+    <string name="zen_mode_from_all_conversations_second" msgid="6781738302202989293">"zonke izingxoxo"</string>
     <string name="zen_mode_from_important_conversations" msgid="528050873364229253">"Izingxoxo ezibalulekile"</string>
     <string name="zen_mode_from_important_conversations_second" msgid="7588299891972136599">"izingxoxo ezibalulekile"</string>
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Lutho"</string>
@@ -3766,8 +3838,10 @@
     <string name="zen_mode_apps_category" msgid="4082380323683889391">"Ama-app angaphazamisa"</string>
     <string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Ama-app akhethiwe"</string>
     <string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Lutho"</string>
-    <string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Konke"</string>
     <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{Awekho ama-app angaphazamisa}=1{I-{app_1} ingaphazamisa}=2{I-{app_1} ne-{app_2} zingaphazamisa}=3{I-{app_1}, i-{app_2}, ne-{app_3} zingaphazamisa}one{I-{app_1}, i-{app_2}, kanye nezingu-# ezengeziwe zingaphazamisa}other{I-{app_1}, i-{app_2}, kanye nezingu-# ezengeziwe zingaphazamisa}}"</string>
+    <string name="zen_mode_apps_work_app" msgid="8528767938316361588">"<xliff:g id="APP_LABEL">%s</xliff:g> (Umsebenzi)"</string>
+    <string name="zen_mode_apps_calculating" msgid="5420121396943539286">"Iyabala…"</string>
+    <string name="zen_mode_plus_n_items" msgid="6136713354369243421">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Vumela izinhlelo zokusebenza ukubhala ngaphezulu"</string>
     <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Ama-app angaphazamisa"</string>
     <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Khetha ama-app amaningi"</string>
@@ -3785,6 +3859,7 @@
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"Akukho okungaphazamisa"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"Akekho ongaphazamisa"</string>
     <string name="zen_mode_people_some" msgid="9101872681298810281">"Abantu abathile bangaphazamisa"</string>
+    <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"Abafonayo abaphindayo bangaphazamisa"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"Bonke abantu bangaphazamisa"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"Phinda abafonayo"</string>
     <string name="zen_mode_repeat_callers_title" msgid="8016699240338264781">"Vumela abashayi abaphindayo"</string>
@@ -3804,9 +3879,38 @@
     <string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Shintshela kuma-alamu ihora elilodwa kuze kube {time}}one{Shintshela kuma-alamu kuphela amahora angu-# (kuze kube {time})}other{Shintshela kuma-alamu kuphela amahora angu-# (kuze kube {time})}}"</string>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Guqulela kuma-alamu kuphela kuze kube ngumhla ka-<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Guqulela kuhlala uphazamisa"</string>
-    <string name="zen_mode_action_change_name" msgid="766639614789907016">"Qamba kabusha"</string>
-    <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Shintsha isithonjana"</string>
-    <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Shintsha isithonjana"</string>
+    <string name="zen_mode_rename_title" msgid="8146882272966214558">"Imodi yokuhlela"</string>
+    <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Sungula imodi"</string>
+    <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Imodi yomuntu ngamunye"</string>
+    <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Igama lemodi"</string>
+    <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Imicimbi yekhalenda"</string>
+    <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Imijikelezo yesikhathi sokulala"</string>
+    <string name="zen_mode_trigger_title_driving" msgid="7890990983453164403">"Ngenkathi ushayela"</string>
+    <string name="zen_mode_trigger_title_generic" msgid="1347753445938095789">"Amasethingi e-app"</string>
+    <string name="zen_mode_trigger_summary_settings_in_app" msgid="4860667191183702601">"Imininingwane kanye namasethingi ku-<xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_trigger_summary_managed_by_app" msgid="8631011868193102098">"Iphethwe yi-<xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="zen_mode_confirm_disable_mode_title" msgid="7314998098582325018">"Khubaza i-<xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_disable_message" msgid="2703882646066764140">"Le modi ngeke ivuleke uma ikhutshaziwe"</string>
+    <string name="zen_mode_action_disable" msgid="3552921561331044881">"Khubaza"</string>
+    <string name="zen_mode_confirm_enable_mode_title" msgid="6020902148457106017">"Nika amandla i-<xliff:g id="MODE_NAME">%1$s</xliff:g>?"</string>
+    <string name="zen_mode_confirm_enable_message" msgid="8707142927858064775">"Le modi ingase ivuleke ngokuzenzekela ngokusekelwe kumasethingi wayo"</string>
+    <string name="zen_mode_action_enable" msgid="1161480633223176531">"Nika amandla"</string>
+    <string name="zen_mode_blurb_schedule_time" msgid="8223898702097484009">"Setha imodi elandela ishejuli ejwayelekile"</string>
+    <string name="zen_mode_blurb_schedule_calendar" msgid="382177907856065945">"Setha imodi ukuze uvumelanise nemicimbi yekhalenda uphinde umeme izimpendulo"</string>
+    <string name="zen_mode_blurb_bedtime" msgid="6155075956151013457">"Dizayina umjikelezo owehlisa umoya wokulala. Setha ama-alamu, fiphalisa isikrini, uphinde uvimbele izaziso."</string>
+    <string name="zen_mode_blurb_driving" msgid="1316054379000667305">"Yenza kubaluleke ukuphepha emgwaqeni ngokushayela okugxilile nokungenakho ukuphazamiseka"</string>
+    <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Vimba okuphazamisayo noma iziphazamiso ezivela edivayisini yakho ukuze uthole ukugxila"</string>
+    <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Qeda konke ukuphazamiseka kwimvelo ethulile"</string>
+    <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Qondanisa nomuntu siqu umuzwa wedivayisi namasethingi abasebenzisi abahlukile"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Nciphisa ukuphazamiseka ngokuvumela kuphela abantu ababalulekile nama-app ukuba afinyelele kuwe"</string>
+    <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Setha imodi elandela ishejuli evamile"</string>
+    <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Gcina idivayisi yakho ivumelana nemicimbi yosuku lwakho"</string>
+    <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Vuka uzizwa njengo-100%"</string>
+    <string name="zen_mode_inspiration_driving" msgid="8237825783857483135">"Beka ukuphepha kuqala ngenkathi usendleleni"</string>
+    <string name="zen_mode_inspiration_immersive" msgid="4062437428955782933">"Thola ukugxila ukuze ungene endaweni"</string>
+    <string name="zen_mode_inspiration_theater" msgid="9194190183262761230">"Okwezikhathi lapho ukuhlonipha kubalulekile"</string>
+    <string name="zen_mode_inspiration_managed" msgid="4607010392213773917">"Ukusetshenziswa okuqondisiwe ukukusiza ukuthi uhlale ezandleni ezinhle"</string>
+    <string name="zen_mode_inspiration_generic" msgid="9072064817144550243">"Lawula ukunaka kwakho"</string>
     <string name="warning_button_text" msgid="1274234338874005639">"Isexwayiso"</string>
     <string name="suggestion_button_close" msgid="6865170855573283759">"Vala"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Thumela impendulo mayelana nale divayisi"</string>
@@ -4007,6 +4111,11 @@
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Kufanele kuhlale kuvuliwe ngoba ukufinyelela kwesaziso kuvuliwe"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Buyisa ukufinyelela kokuthi Ungaphazamisi ku-<xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Yonke imithetho Ungaphazamisi edalwe yilolu hlelo lokusebenza kuzosuswa."</string>
+    <string name="zen_modes_access_warning_dialog_title" msgid="8372164559156809659">"Nika Amamodi ukufinyelela ku-<xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_modes_access_warning_dialog_summary" msgid="2432178679607798200">"I-app izokwazi ukuvula/ukuvala okuthi Ungaphazamisi, iphathe futhi yenze kusebenze Amamodi, futhi yenze izinguquko emasethingini ahlobene."</string>
+    <!-- no translation found for zen_modes_access_revoke_warning_dialog_title (189454396436517964) -->
+    <skip />
+    <string name="zen_modes_access_revoke_warning_dialog_summary" msgid="4669243849023204217">"Wonke amamodi asungulwe yile app azosuswa."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Ungalungiseleli"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Lungiselela"</string>
     <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Ingacwenga ibhethri lakho ngokushesha kakhulu. Uhlelo lokusebenza ngeke lusakhawulelwa kusukela ekusebenziseni ibhethri elingemuva."</string>
@@ -4792,8 +4901,8 @@
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Isimo"</string>
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Ibhethri"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Iphaneli yezilungiselelo"</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_desktop_mode" msgid="5644818402534562302">"Qalisa amawindi ohlelo oluvulelekile"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Nika amandla amawindi efreeform esibonisini sesibili"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Nika amandla okungashintsheki usayizi emawindini amaningi"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Ivumela izinhlelo zokusebenza ezingashintsheki usayizi ukuthi zibe emawindini amaningi"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Bhala ngaphezulu isici sokuphoqelela okumnyama"</string>
@@ -4968,7 +5077,6 @@
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"idatha yeselula"</string>
     <string name="wifi_scan_notify_message" msgid="1331238142061476869">"Ukuze kuthuthukiswe ukuzizwela kwedivayisi, ama-app namasevisi asengaskena amanethiwekhi e-Wi-Fi noma kunini, nanoma i-Wi-Fi ivaliwe. Lokhu kungasetshenziselwa, njengesibonelo, ukuthuthukisa izakhi ezisuselwa endaweni namasevisi. Ungashintsha lokhu kumasethingi Wokuskena i-Wi-Fi."</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"Shintsha"</string>
-    <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"Ixhunyiwe"</string>
     <string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Ixhume okwesikhashana"</string>
     <string name="mobile_data_temp_using" msgid="5211002380149434155">"Ukusebenzisa i-<xliff:g id="SUBNAME">%1$s</xliff:g> okwesikhashana"</string>
@@ -5000,7 +5108,7 @@
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Sebenzisa ukuphina i-app"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"Sebenzisa izinkinobho zikanjiniyela"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Sebenzisa isevisi yokuphrinta"</string>
-    <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Vumela abasebenzisi abaningi"</string>
+    <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Vumela ukushintsha komsebenzisi"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"vumela, eziningi, umsebenzisi, vumela, eziningi"</string>
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"okuningi, abasebenzisi, amaphrofayela, abantu, ama-akhawunti, shintsha, okuningi"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Sebenzisa ukususa ibhagi nge-Wi-Fi"</string>
@@ -5057,52 +5165,6 @@
     <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"I-<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> ifuna ukuxhuma kule foni.\n\nAwuxhumile ku-<xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> ngaphambilini."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Ungaxhumi"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Xhuma"</string>
-    <string name="tare_settings" msgid="3788654800004869077">"Amasethingi we-TARE"</string>
-    <string name="tare_on" msgid="2386073225978684535">"Vuliwe"</string>
-    <string name="tare_off" msgid="6305694402929756726">"Valiwe"</string>
-    <string name="tare_revert" msgid="3855325741125236638">"Buyela Kumasethingi Wokuzenzakalelayo"</string>
-    <string name="tare_settings_reverted_toast" msgid="8189887409285176731">"Amasethingi abuyiselwe kokuzenzakalelayo."</string>
-    <string name="tare_max_satiated_balance" msgid="3914973999573150340">"Ibhalansi Egculisiwe Ephezulu"</string>
-    <string name="tare_balances" msgid="731881382594747961">"Amabhalansi"</string>
-    <string name="tare_consumption_limits" msgid="3230949387874396382">"Ukusetshenziswa Kwemikhawulo"</string>
-    <string name="tare_initial_consumption_limit" msgid="2921646306374048384">"Umkhawulo Wokusebenzisa Wokuqala"</string>
-    <string name="tare_min_consumption_limit" msgid="3293145670921755789">"Umkhawulo Wokusebenzisa Ophansi"</string>
-    <string name="tare_max_consumption_limit" msgid="8335700580111808823">"Umkhawulo Wokusebenzisa Omkhulu"</string>
-    <string name="tare_modifiers" msgid="8919975635360280820">"Abashintshi"</string>
-    <string name="tare_actions_ctp" msgid="5110104015354916401">"Izenzo (Izindleko Zokukhiqiza)"</string>
-    <string name="tare_actions_base_price" msgid="3300967942666376589">"Izenzo (Intengo Eyisisekelo)"</string>
-    <string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Imiklomelo yomcimbi ngamunye"</string>
-    <string name="tare_rewards_ongoing" msgid="7657030286658143416">"Imiklomelo ngomzuzwana ngamunye wobude bomcimbi"</string>
-    <string name="tare_rewards_max" msgid="5283055625642837010">"Imiklomelo Ephezulu Ngosuku"</string>
-    <string name="tare_app_install" msgid="7955806910408116882">"Ukufaka i-App"</string>
-    <string name="tare_top_activity" msgid="7266560655483385757">"Umsebenzi Ophezulu"</string>
-    <string name="tare_notification_seen" msgid="7829963536020087742">"Isaziso Siboniwe"</string>
-    <string name="tare_notification_seen_15_min" msgid="832174185809497764">"Isaziso Sibonwe Phakathi Nemizuzu eyi-15"</string>
-    <string name="tare_notification_interaction" msgid="3806204222322830129">"Ukusebenzisana Kwesaziso"</string>
-    <string name="tare_widget_interaction" msgid="2260701564089214184">"Ukusebenzisana Kwewijethi"</string>
-    <string name="tare_other_interaction" msgid="8069163421115212751">"Okunye Ukusebenzisana Komsebenzisi"</string>
-    <string name="tare_job_max_start" msgid="1586399578665940836">"Ukuqala Komsebenzi Okuphezulu"</string>
-    <string name="tare_job_max_running" msgid="2897217372986518495">"Ukusebenza Okuphezulu Komsebenzi"</string>
-    <string name="tare_job_high_start" msgid="7464143754932031022">"Ukuqala Okuphezulu Komsebenzi"</string>
-    <string name="tare_job_high_running" msgid="6541171046405088669">"Ukusebenza Okuphezulu Komsebenzi"</string>
-    <string name="tare_job_default_start" msgid="6744427210148953151">"Ukuqala Okuzenzekelayo Komsebenzi"</string>
-    <string name="tare_job_default_running" msgid="8429081804128945217">"Ukusebenza Okuzenzekelayo Komsebenzi"</string>
-    <string name="tare_job_low_start" msgid="4605440035856891746">"Ukuqala Okuphansi Komsebenzi"</string>
-    <string name="tare_job_low_running" msgid="831668616902849604">"Ukusebenza Komsebenzi Okuphansi"</string>
-    <string name="tare_job_min_start" msgid="6508233901992538188">"Ukuqala Komsebenzi Okuphansi"</string>
-    <string name="tare_job_min_running" msgid="6167128996320622604">"Ukusebenza Komsebenzi Okuphansi"</string>
-    <string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Inhlawulo Yesikhathi Sokuvala Umsebenzi"</string>
-    <string name="tare_min_balance_exempted" msgid="6693710075762973485">"Ibhalansi Enelisekile (Ikhululiwe)"</string>
-    <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Ibhalansi Enelisekile (I-App Yesistimu Engenazinhloko)"</string>
-    <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Ibhalansi Enelisekile (Ama-app Asele)"</string>
-    <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Ukwengezwa Kwebhalansi Egcwalisiwe Encane (Izibuyekezi ze-App)"</string>
-  <string-array name="tare_modifiers_subfactors">
-    <item msgid="3325940509857535498">"Iyashaja"</item>
-    <item msgid="658627268149681677">"Ukozela"</item>
-    <item msgid="1599558140284643834">"Imodi Yokonga Amandla"</item>
-    <item msgid="588427840913221601">"Isimo Sokucubungula"</item>
-  </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"Qinisekisa"</string>
     <string name="dream_preview_button_title" msgid="6637456541851795952">"Hlola kuqala"</string>
     <string name="dream_picker_category" msgid="7726447836872744867">"Khetha isilondolozi sesikrini"</string>
     <string name="dream_complications_toggle_title" msgid="4273232303027449163">"Bonisa ulwazi olwengeziwe"</string>
@@ -5114,8 +5176,9 @@
     <string name="dream_setup_description" msgid="7508547154038580296">"Khetha ozokubona esikrinini sakho uma ithebulethi yakho idokhiwe. Idivayisi yakho ingase isebenzise amandla engeziwe uma kusetshenziswa isilondolozi sesikrini."</string>
     <string name="customize_button_title" msgid="1110284655990203359">"Enza ngendlela oyifisayo"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"Enza ngendlela oyifisayo <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
-    <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Ukuqalisa kabusha kuyadingeka ukunika amandla usekelo lwefomu yamahhala."</string>
-    <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Ukuqalisa kabusha kuyadingeka ukuphoqelela imodi yedeskithophu kuzibonisi zesibili."</string>
+    <string name="reboot_dialog_enable_freeform_support" msgid="3697462756493543645">"Ukuqalisa kabusha kuyadingeka ukunika amandla usekelo lwewindi lefreeform."</string>
+    <string name="reboot_dialog_override_desktop_mode" msgid="7480950772574354130">"Ukuqalisa kabusha kuyadingeka ukuze kubuyekezwe ukutholakala kwamawindi wefreeform."</string>
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display" msgid="1153621881052401924">"Ukuqalisa kabusha kuyadingeka ukuze unike amandla amawindi efreeform ezibonisini zesibili."</string>
     <string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Qalisa manje"</string>
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Qalisa ngokuhamba kwesikhathi"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Umsindo Wokulalelwayo"</string>
@@ -5212,7 +5275,7 @@
     <string name="screen_flash_color_rose" msgid="1216848195972231251">"Imbali"</string>
     <string name="screen_flash_color_magenta" msgid="7726221666557102155">"I-Magenta"</string>
     <string name="screen_flash_color_violet" msgid="1279950780509029495">"I-Violet"</string>
-    <string name="color_selector_dialog_done" msgid="121253968943363376">"Kwenziwe"</string>
+    <string name="color_selector_dialog_save" msgid="199628785429085344">"Londoloza"</string>
     <string name="color_selector_dialog_cancel" msgid="8667350644753900701">"Khansela"</string>
     <string name="contrast_default" msgid="8918545965525226966">"Okuzenzakalelayo"</string>
     <string name="contrast_medium" msgid="384414510709285811">"Okuphakathi"</string>
@@ -5233,6 +5296,8 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Vuliwe"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Valiwe"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Vuliwe"</string>
+    <string name="audio_seek_bar_state_left_first" msgid="8814986910920838972">"Okulalelwayo %1$d%% kwesobunxele, %2$d%% kwesokudla"</string>
+    <string name="audio_seek_bar_state_right_first" msgid="1999368979633398876">"Okulalelwayo %1$d%% kwesokudla, %2$d%% kwesobunxele"</string>
     <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Igama ledivayisi yakho liyabonakala kuma-app owafakile. Lingase futhi libonwe ngabanye abantu lapho uxhuma kumadivayisi e-Bluetooth, uxhuma kunethiwekhi ye-Wi-Fi noma usetha i-hotspot ye-Wi-Fi."</string>
     <string name="grammatical_gender_title" msgid="8584242850477270828">"Ubulili bohlelo lolimi"</string>
     <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Khetha ubulili Bohlelo lolimi"</string>
@@ -5301,6 +5366,7 @@
     <string name="audio_sharing_sharing_stopped_label" msgid="8128194452354240996">"Ukwabelana ngokuqoshiwe kumisiwe"</string>
     <string name="audio_sharing_confirm_dialog_title" msgid="7655147122624691167">"Xhuma amadivayisi ahambelanayo"</string>
     <string name="audio_sharing_comfirm_dialog_content" msgid="3479217934447446066">"Ukuze uqale ukwabelana ngokulalelwayo, okokuqala xhuma ama-headphone e-LE Audio efonini yakho"</string>
+    <string name="audio_sharing_switch_active_button_label" msgid="3065600513067122124">"Shintshela ku-<xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_category_title" msgid="4878022761829895463">"Xhuma ekusakazeni komsindo we-LE"</string>
     <string name="audio_streams_pref_title" msgid="6320485086288646209">"Ukusakaza komsindo okuseduze"</string>
     <string name="audio_streams_title" msgid="6617990880383079165">"Ukusakaza komsindo"</string>
@@ -5344,4 +5410,7 @@
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Lalela ukusakaza"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Skena ikhodi ye-QR yokusakaza komsindo ukuze ulalele nge-<xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Ayikwazi ukuhlela iphasiwedi ngenkathi yabelana. Ukuze ushintshe iphasiwedi, qala uvale ukwabelana ngokuqoshiwe."</string>
+    <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"Iskena sekhodi ye-QR"</string>
+    <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"Udinga usizo?"</annotation></string>
+    <string name="homepage_search" msgid="6759334912284663559">"Amasethingi Okusesha"</string>
 </resources>
diff --git a/res/values/aliases.xml b/res/values/aliases.xml
index e17198b..3356977 100644
--- a/res/values/aliases.xml
+++ b/res/values/aliases.xml
@@ -23,5 +23,6 @@
      <item name="fingerprint_enroll_finish" type="layout">@layout/fingerprint_enroll_finish_base</item>
      <item name="sfps_enroll_finish" type="layout">@layout/sfps_enroll_finish_base</item>
      <item name="choose_lock_pattern" type="layout">@layout/choose_lock_pattern_common</item>
+     <item name="mode_interstitial_layout" type="layout">@layout/mode_interstitial_layout_base</item>
 </resources>
 
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 4680936..8e5519f 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -1503,12 +1503,14 @@
 
     <!-- A locale list of not supporting Terms of Address. [DO NOT TRANSLATE] -->
     <string-array name="terms_of_address_unsupported_locales">
-        <item>fr-CA</item> <!-- French (Canada) -->
     </string-array>
 
     <!-- A language list of supporting Terms of Address. [DO NOT TRANSLATE] -->
     <string-array name="terms_of_address_supported_languages">
         <item>fr</item> <!-- French -->
+        <item>es</item> <!-- Spanish -->
+        <item>it</item> <!-- Italian -->
+        <item>de</item> <!-- German -->
     </string-array>
 
     <!-- Entries for private space auto lock option -->
@@ -1525,32 +1527,104 @@
         <item>2</item>
     </string-array>
 
-    <!-- TODO: b/333901673 - Get full icon list. -->
     <array name="zen_mode_icon_options" translatable="false">
-        <item>@*android:drawable/ic_zen_mode_type_bedtime</item>
-        <item>@*android:drawable/ic_zen_mode_type_driving</item>
-        <item>@*android:drawable/ic_zen_mode_type_immersive</item>
-        <item>@*android:drawable/ic_zen_mode_type_managed</item>
-        <item>@*android:drawable/ic_zen_mode_type_other</item>
+        <!-- Work/Study/Meetings -->
+        <item>@*android:drawable/ic_zen_mode_icon_work</item> <!-- Briefcase -->
+        <item>@*android:drawable/ic_zen_mode_icon_classical_building</item>
+        <item>@*android:drawable/ic_zen_mode_icon_apartment_building</item>
+        <item>@*android:drawable/ic_zen_mode_icon_speech_bubble</item>
+        <item>@*android:drawable/ic_zen_mode_icon_group_of_people</item>
+        <item>@*android:drawable/ic_zen_mode_icon_lightbulb</item>
         <item>@*android:drawable/ic_zen_mode_type_schedule_calendar</item>
+        <item>@*android:drawable/ic_zen_mode_type_special_dnd</item>
+        <!-- Sports -->
+        <item>@*android:drawable/ic_zen_mode_icon_running</item>
+        <item>@*android:drawable/ic_zen_mode_icon_golf</item>
+        <item>@*android:drawable/ic_zen_mode_icon_gym</item>
+        <item>@*android:drawable/ic_zen_mode_icon_swimming</item>
+        <item>@*android:drawable/ic_zen_mode_icon_hiking</item>
+        <item>@*android:drawable/ic_zen_mode_icon_ball_sports</item>
+        <item>@*android:drawable/ic_zen_mode_icon_martial_arts</item>
+        <!-- Leisure -->
+        <item>@*android:drawable/ic_zen_mode_icon_gaming</item>
+        <item>@*android:drawable/ic_zen_mode_icon_palette</item>
+        <item>@*android:drawable/ic_zen_mode_icon_snowflake</item>
+        <item>@*android:drawable/ic_zen_mode_icon_beach</item>
+        <item>@*android:drawable/ic_zen_mode_icon_workshop</item>
+        <item>@*android:drawable/ic_zen_mode_icon_camping</item>
+        <item>@*android:drawable/ic_zen_mode_type_theater</item> <!-- Film reel -->
+        <item>@*android:drawable/ic_zen_mode_icon_book</item>
+        <!-- Wellbeing -->
+        <item>@*android:drawable/ic_zen_mode_icon_lotus_flower</item>
+        <item>@*android:drawable/ic_zen_mode_type_immersive</item>
+        <item>@*android:drawable/ic_zen_mode_icon_headphones</item>
+        <item>@*android:drawable/ic_zen_mode_icon_tv</item>
+        <!-- Other activities -->
+        <item>@*android:drawable/ic_zen_mode_icon_train</item>
+        <item>@*android:drawable/ic_zen_mode_type_driving</item> <!-- Car -->
+        <item>@*android:drawable/ic_zen_mode_icon_fork_and_knife</item>
+        <item>@*android:drawable/ic_zen_mode_icon_shopping_cart</item>
+        <item>@*android:drawable/ic_zen_mode_icon_child</item>
+        <item>@*android:drawable/ic_zen_mode_icon_animal_paw</item>
+        <!-- Generic / abstract -->
+        <item>@*android:drawable/ic_zen_mode_type_unknown</item> <!-- Star badge -->
+        <item>@*android:drawable/ic_zen_mode_type_managed</item> <!-- Two people / Supervisor -->
+        <item>@*android:drawable/ic_zen_mode_type_other</item> <!-- Star -->
+        <item>@*android:drawable/ic_zen_mode_icon_heart</item>
+        <item>@*android:drawable/ic_zen_mode_icon_house</item>
+        <item>@*android:drawable/ic_zen_mode_type_bedtime</item> <!-- Moon -->
         <item>@*android:drawable/ic_zen_mode_type_schedule_time</item>
-        <item>@*android:drawable/ic_zen_mode_type_theater</item>
-        <item>@*android:drawable/ic_zen_mode_type_unknown</item>
     </array>
 
-    <!-- TODO: b/333901673 - Complete list -->
     <!-- Descriptions of the icons in zen_mode_icon_options. Should describe the associated image
          [CHAR LIMIT=NONE] -->
     <string-array name="zen_mode_icon_options_descriptions">
-        <item>Bedtime</item>
-        <item>Driving</item>
-        <item>Immersive</item>
-        <item>Managed</item>
-        <item>Star</item>
+        <!-- Work/Study/Meetings -->
+        <item>Briefcase</item>
+        <item>Classical building</item>
+        <item>Apartment building</item>
+        <item>Speech bubble</item>
+        <item>Group of people</item>
+        <item>Lightbulb</item>
         <item>Calendar</item>
-        <item>Time</item>
-        <item>Theater</item>
-        <item>Flower</item>
+        <item>Do Not Disturb</item>
+        <!-- Sports -->
+        <item>Person running</item>
+        <item>Golf</item>
+        <item>Gym dumbbell</item>
+        <item>Swimming</item>
+        <item>Person hiking</item>
+        <item>Person throwing ball</item>
+        <item>Person kicking</item>
+        <!-- Leisure -->
+        <item>Game controller</item>
+        <item>Artist color palette</item>
+        <item>Snowflake</item>
+        <item>Beach umbrella</item>
+        <item>Workshop tools</item>
+        <item>Tent</item>
+        <item>Film reel</item>
+        <item>Book</item>
+        <!-- Wellbeing -->
+        <item>Lotus flower</item>
+        <item>Person\'s mind</item>
+        <item>Headphones</item>
+        <item>TV</item>
+        <!-- Other activities -->
+        <item>Train</item>
+        <item>Car</item>
+        <item>Fork and knife</item>
+        <item>Shopping cart</item>
+        <item>Child</item>
+        <item>Animal paw</item>
+        <!-- Generic / abstract -->
+        <item>Star badge</item>
+        <item>Two people</item>
+        <item>Star</item>
+        <item>Heart</item>
+        <item>House</item>
+        <item>Half-moon</item>
+        <item>Clock</item>
     </string-array>
 
     <!-- Packages that will not show Display over other apps permission -->
diff --git a/res/values/config.xml b/res/values/config.xml
index 4b638b2..065d28a 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -235,9 +235,6 @@
          Can be overridden for specific product builds if the target device does not support it -->
     <bool name="config_media_vibration_supported">true</bool>
 
-    <!-- Whether to show Keyboard vibration settings in the vibration and haptics screen. -->
-    <bool name="config_keyboard_vibration_supported">false</bool>
-
     <!--
         Whether or not the homepage should be powered by legacy suggestion (versus contextual cards)
         Default to true as not all devices support contextual cards.
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index d972e13..2a9b433 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -179,6 +179,10 @@
     <dimen name="pointer_fill_style_circle_padding">8dp</dimen>
     <dimen name="pointer_fill_style_shape_default_stroke">1dp</dimen>
     <dimen name="pointer_fill_style_shape_hovered_stroke">3dp</dimen>
+    <dimen name="pointer_stroke_style_padding">8dp</dimen>
+    <dimen name="pointer_scale_padding">8dp</dimen>
+    <item name="pointer_scale_size_start" format="float" type="dimen">1.0</item>
+    <item name="pointer_scale_size_end" format="float" type="dimen">2.5</item>
 
     <!-- RemoteAuth-->
     <dimen name="remoteauth_fragment_padding_horizontal">40dp</dimen>
@@ -293,6 +297,7 @@
     <dimen name="contextual_card_side_margin">4dp</dimen>
     <dimen name="contextual_card_icon_padding_start">14dp</dimen>
     <dimen name="contextual_card_text_padding_start">16dp</dimen>
+    <dimen name="suggestion_card_text_padding_vertical">18dp</dimen>
     <dimen name="contextual_card_padding_end">16dp</dimen>
     <dimen name="contextual_card_corner_radius">@*android:dimen/config_dialogCornerRadius</dimen>
     <dimen name="contextual_full_card_padding_end">12dp</dimen>
@@ -496,10 +501,23 @@
     <dimen name="contrast_button_horizontal_spacing">16dp</dimen>
 
     <dimen name="audio_streams_qrcode_size">264dp</dimen>
+    <dimen name="audio_streams_qrcode_preview_size">300dp</dimen>
     <dimen name="audio_streams_qrcode_preview_radius">30dp</dimen>
+    <dimen name="audio_streams_qrcode_scanner_fragment_padding">16dp</dimen>
 
     <!-- Zen Modes -->
-    <dimen name="zen_mode_icon_list_item_size">96dp</dimen>
-    <dimen name="zen_mode_icon_list_circle_diameter">56dp</dimen>
-    <dimen name="zen_mode_icon_list_icon_size">32dp</dimen>
+    <dimen name="zen_mode_header_size">136dp</dimen>
+    <dimen name="zen_mode_header_inner_icon_size">64dp</dimen>
+    <dimen name="zen_mode_blurb_text_size">16sp</dimen>
+    <dimen name="zen_mode_icon_list_header_circle_diameter">90dp</dimen>
+    <dimen name="zen_mode_icon_list_header_icon_size">48dp</dimen>
+    <dimen name="zen_mode_icon_list_item_size">76dp</dimen>
+    <dimen name="zen_mode_icon_list_item_circle_diameter">52dp</dimen>
+    <dimen name="zen_mode_icon_list_item_icon_size">28dp</dimen>
+    <!-- For the items in the CircularIconsPreference (contacts, apps, sound channels). -->
+    <dimen name="zen_mode_circular_icon_diameter">32dp</dimen>
+    <dimen name="zen_mode_circular_icon_inner_icon_size">20dp</dimen>
+    <dimen name="zen_mode_circular_icon_margin_between">4dp</dimen>
+    <dimen name="zen_mode_circular_icon_margin_vertical">8dp</dimen>
+    <dimen name="zen_mode_circular_icon_text_size">18dp</dimen>
 </resources>
diff --git a/res/values/integers.xml b/res/values/integers.xml
index f62ccae..5631e40 100644
--- a/res/values/integers.xml
+++ b/res/values/integers.xml
@@ -36,4 +36,10 @@
     <integer name="enrollment_progress_minimum_time_display">0</integer>
     <!-- The time (in millis) to wait to collect messages in fingerprint enrollment before displaying it. -->
     <integer name="enrollment_collect_time">0</integer>
+
+    <!--  PointerIcon Settings  -->
+    <integer name="pointer_scale_seek_bar_start">0</integer>
+    <integer name="pointer_scale_seek_bar_end">3</integer>
+
+    <integer name="max_integer">2147483647</integer>
 </resources>
diff --git a/res/values/menu_keys.xml b/res/values/menu_keys.xml
index 27e9639..36fdb81 100755
--- a/res/values/menu_keys.xml
+++ b/res/values/menu_keys.xml
@@ -24,6 +24,7 @@
     <string name="menu_key_battery" translatable="false">top_level_battery</string>
     <string name="menu_key_storage" translatable="false">top_level_storage</string>
     <string name="menu_key_sound" translatable="false">top_level_sound</string>
+    <string name="menu_key_priority_modes" translatable="false">top_level_priority_modes</string>
     <string name="menu_key_display" translatable="false">top_level_display</string>
     <string name="menu_key_wallpaper" translatable="false">top_level_wallpaper</string>
     <string name="menu_key_accessibility" translatable="false">top_level_accessibility</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 2d5a671..3494afd 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -78,6 +78,8 @@
 
     <!-- Content description for preview pager. [CHAR LIMIT=NONE] -->
     <string name="preview_pager_content_description">Preview</string>
+    <!-- Content description for qrcode image. [CHAR LIMIT=none]-->
+    <string name="qr_code_content_description">QR code</string>
 
     <!-- Description for the button that makes interface elements smaller. [CHAR_LIMIT=NONE] -->
     <string name="font_size_make_smaller_desc">Make smaller</string>
@@ -156,6 +158,8 @@
     <string name="bluetooth_hearing_device_settings_summary">Shortcut, hearing aid compatibility</string>
     <!-- Connected devices settings. Title for hearing aids presets. A preset is a set of hearing aid settings. User can apply different settings in different environments (e.g. Outdoor, Restaurant, Home) [CHAR LIMIT=60] [BACKUP_MESSAGE_ID=5429761844739722885] -->
     <string name="bluetooth_hearing_aids_presets">Preset</string>
+    <!-- Connected devices settings. Summary of the preference when no preset info is obtained from the remote device [CHAR LIMIT=60] -->
+    <string name="bluetooth_hearing_aids_presets_empty_list_message">There are no presets programmed by your audiologist</string>
     <!-- Message when selecting hearing aids presets failed. [CHAR LIMIT=NONE] -->
     <string name="bluetooth_hearing_aids_presets_error">Couldn\u2019t update preset</string>
     <!-- Connected devices settings. Title of the preference to show the entrance of the audio output page. It can change different types of audio are played on phone or other bluetooth devices. [CHAR LIMIT=35] -->
@@ -405,7 +409,7 @@
     <string name="desc_app_locale_selection_supported">Set the language for each app.</string>
 
     <!-- Description for the introduction to language picker activity. [CHAR LIMIT=NONE]-->
-    <string name="desc_introduction_of_language_picker">Your system, apps, and websites use the first supported language from your preferred languages.</string>
+    <string name="desc_introduction_of_language_picker">Your device, apps, and websites use the first supported language from your preferred language list.\n\nMany apps will also use the region from your preferred language to format dates, numbers, and units. To change your region, add a language, then choose your preferred region.</string>
 
     <!-- Description for the notice of language picker. [CHAR LIMIT=NONE]-->
     <string name="desc_notice_of_language_picker">To select a language for each app, go to app language settings.</string>
@@ -653,7 +657,7 @@
     <string name="location_settings_loading_app_permission_stats">Loading\u2026</string>
     <!-- Location settings footer warning text when location is on [CHAR LIMIT=NONE] -->
     <string name="location_settings_footer_general">
-        Apps with the Nearby devices permission can determine the
+        Apps with the nearby devices permission can determine the
         relative position of connected devices.
     </string>
     <!-- Location settings footer warning text when location is off [CHAR LIMIT=NONE] -->
@@ -932,7 +936,8 @@
     <string name="security_settings_fingerprint_single_face_watch_preference_summary">Face, fingerprint, and <xliff:g id="watch" example="Dani's Watch">%s</xliff:g> added</string>
     <!-- Message showing that multiple fingerprints, face, and the current watch is set up. Shown for a menu item that launches fingerprint, face,  and active unlock settings or enrollment. [CHAR LIMIT=80]-->
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary">Face, fingerprints, and <xliff:g id="watch" example="Dani's Watch">%s</xliff:g> added</string>
-
+    <!-- Description for mandatory biometrics prompt-->
+    <string name="mandatory_biometrics_prompt_description">Identity Check is on and requires a biometric</string>
     <!-- RemoteAuth unlock enrollment and settings --><skip />
     <!-- Title shown for menu item that launches watch unlock settings. [CHAR LIMIT=40] -->
     <string name ="security_settings_remoteauth_preference_title">Remote Authenticator Unlock</string>
@@ -995,7 +1000,7 @@
 
     <!-- Biometric settings --><skip />
     <!-- Title shown for menu item that launches biometric settings. [CHAR LIMIT=66] -->
-    <string name="security_settings_biometric_preference_title">Fingerprint &amp; Face Unlock</string>
+    <string name="security_settings_biometric_preference_title">Face &amp; Fingerprint Unlock</string>
     <!-- Title shown for work menu item that launches biometric settings. [CHAR LIMIT=66] -->
     <string name="security_settings_work_biometric_preference_title">Face &amp; Fingerprint Unlock for work</string>
     <!-- Message shown in summary field of biometric settings. [CHAR LIMIT=66] -->
@@ -1369,6 +1374,12 @@
     <string name="private_space_error_screen_title">Couldn\u2019t set up a private space</string>
     <!-- Label for button to retry creating private space again on creation error. [CHAR LIMIT=30] -->
     <string name="private_space_tryagain_label">Try Again</string>
+    <!-- Label for button to exit private space setup on creation error. [CHAR LIMIT=30] -->
+    <string name="private_space_exit_label">Exit</string>
+    <!-- Description in Private space error page with a link to the Help Center page[CHAR LIMIT=NONE] -->
+    <string name="private_space_error_description">Private space isn\u2019t available.\nView possible causes</string>
+    <!-- Text in Private space error page that points to view possible error causes [CHAR LIMIT=40] -->
+    <string name="private_space_error_causes_text">View possible causes</string>
     <!-- Title for private space lock setup screen. [CHAR LIMIT=90] -->
     <string name="private_space_lockscreen_title">Choose a new lock for private space?</string>
     <!-- Summary for the private space lock setup screen. [CHAR LIMIT=NONE] -->
@@ -1849,10 +1860,25 @@
     <!-- Bluetooth settings. Link text to bring the user to "scanning settings" screen. [CHAR LIMIT=NONE]-->
     <string name="bluetooth_scan_change">Change</string>
 
+    <!-- Dialog title when key is missing in a Bluetooth device -->
+    <string name="bluetooth_key_missing_title"><xliff:g id="device_name">%1$s</xliff:g> not connected</string>
+    <!-- Dialog content when key is missing in a Bluetooth device -->
+    <string name="bluetooth_key_missing_message">For your security, forget this device, then pair it again</string>
+    <!-- Button text to forget device when bluetooth key is missing -->
+    <string name="bluetooth_key_missing_forget">Forget device</string>
+    <!-- Button text to cancel when bluetooth key is missing-->
+    <string name="bluetooth_key_missing_cancel">Cancel</string>
+
     <!-- Title of device details screen [CHAR LIMIT=28]-->
     <string name="device_details_title">Device details</string>
     <!-- Title for keyboard settings preferences. [CHAR LIMIT=50] -->
     <string name="bluetooth_device_keyboard_settings_preference_title">Keyboard settings</string>
+    <!-- Title for more settings preferences. [CHAR LIMIT=50] -->
+    <string name="bluetooth_device_more_settings_preference_title">More settings</string>
+    <!-- Title for more settings summary. [CHAR LIMIT=50] -->
+    <string name="bluetooth_device_more_settings_preference_summary">Firmware updates, about, and more</string>
+    <!-- Title for bluetooth device tips and support. [CHAR LIMIT=50] -->
+    <string name="bluetooth_device_tip_support">Tips &amp; support</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>
     <!-- Title of the items to show multuple devices MAC address [CHAR LIMIT=NONE]-->
@@ -1873,6 +1899,9 @@
     <!-- Bluetooth device details companion apps. In the confirmation dialog for removing an associated app, this is the label on the button that will complete the disassociate action. [CHAR LIMIT=80] -->
     <string name = "bluetooth_companion_app_remove_association_confirm_button">Disconnect app</string>
 
+    <!-- Title of device details screen [CHAR LIMIT=28]-->
+    <string name="device_details_more_settings">More settings</string>
+
     <!-- Bluetooth developer settings: Maximum number of connected audio devices -->
     <string name="bluetooth_max_connected_audio_devices_string">Maximum connected Bluetooth audio devices</string>
     <!-- Bluetooth developer settings: Maximum number of connected audio devices -->
@@ -1893,6 +1922,35 @@
     <!-- Nfc developer settings: The confirm button of the popup dialog. [CHAR_LIMIT=60] -->
     <string name="nfc_reboot_dialog_confirm">Restart</string>
 
+    <!-- External Display settings. When external display is enabled. [CHAR LIMIT=40] -->
+    <string name="external_display_on">On</string>
+    <!-- External Display settings. When external display is disabled. [CHAR LIMIT=40] -->
+    <string name="external_display_off">Off</string>
+    <!-- External Display settings. The title of the screen. [CHAR LIMIT=40] -->
+    <string name="external_display_settings_title">External Display</string>
+    <!-- External Display use. The title of the use preference. [CHAR LIMIT=40] -->
+    <string name="external_display_use_title">Use external display</string>
+    <!-- External Display resolution settings. The title of the screen. [CHAR LIMIT=40] -->
+    <string name="external_display_resolution_settings_title">Display resolution</string>
+    <!-- External Display settings. Text that appears when scanning for devices is finished and no nearby device was found [CHAR LIMIT=40]-->
+    <string name="external_display_not_found">External display is disconnected</string>
+    <!-- External Display settings. Rotation of the external display -->
+    <string name="external_display_rotation">Rotation</string>
+    <!-- External Display settings. Standard rotation of the external display -->
+    <string name="external_display_standard_rotation">Standard</string>
+    <!-- External Display settings. 90 rotation of the external display -->
+    <string name="external_display_rotation_90">90°</string>
+    <!-- External Display settings. 180 rotation of the external display -->
+    <string name="external_display_rotation_180">180°</string>
+    <!-- External Display settings. 180 rotation of the external display -->
+    <string name="external_display_rotation_270">270°</string>
+    <!-- External Display settings. Footer title -->
+    <string name="external_display_change_resolution_footer_title">Changing rotation or resolution may stop any apps that are currently running</string>
+    <!-- External Display settings. No Displays footer title -->
+    <string name="external_display_not_found_footer_title">Your device must be connected to an external display to mirror your screen</string>
+    <!-- External Display settings. More resolution options -->
+    <string name="external_display_more_options_title">More options</string>
+
     <!-- Wifi Display settings. The title of the screen. [CHAR LIMIT=40] -->
     <string name="wifi_display_settings_title">Cast</string>
     <!-- Wifi Display settings. The keywords of the setting. [CHAR LIMIT=NONE] -->
@@ -2112,7 +2170,7 @@
     <string name="wifi_signal">Signal strength</string>
     <!-- Label for the status of the connection -->
     <string name="wifi_status">Status</string>
-    <!-- Label for the transmit link speed of the connection. [CHAR LIMIT=32] -->
+    <!-- Label for the transmit link speed of the connection. [CHAR LIMIT=40] -->
     <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>
@@ -2753,6 +2811,9 @@
     <string name="brightness">Brightness level</string>
     <!-- Sound & display settings screen, setting option name to enable adaptive brightness [CHAR LIMIT=30] -->
     <string name="auto_brightness_title">Adaptive brightness</string>
+    <!-- Note: The content description title is only applied in adaptive brightness detailed page in setup wizard flow, to make the consistency with other accessibility suw pages. -->
+    <!-- ContentDescription title for adaptive brightness detailed page footer. [CHAR LIMIT=60] -->
+    <string name="auto_brightness_content_description_title">About adaptive brightness</string>
     <!-- Description about the feature adaptive brightness -->
     <string name="auto_brightness_description">Your screen brightness will automatically adjust to your environment and activities. You can move the slider manually to help adaptive brightness learn your preferences.</string>
     <!-- Setting option summary when adaptive brightness is on [CHAR LIMIT=NONE] -->
@@ -2877,6 +2938,8 @@
     <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 of Dark UI when off and will turn on automatically at bedtime. [CHAR LIMIT=NONE] -->
     <string name="dark_ui_summary_off_auto_mode_custom_bedtime">Will turn on automatically at bedtime</string>
+    <!-- Display settings screen, summary of Dark UI when off and controlled by Modes. [CHAR LIMIT=NONE] -->
+    <string name="dark_ui_summary_off_auto_mode_modes">Will turn on when <xliff:g name="modeName" example="Bedtime">%1$s</xliff:g> starts</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] -->
@@ -2885,12 +2948,26 @@
     <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, summary of Dark UI when on and will turn off automatically after bedtime. [CHAR LIMIT=NONE] -->
     <string name="dark_ui_summary_on_auto_mode_custom_bedtime">Will turn off automatically after bedtime</string>
+    <!-- Display settings screen, summary of Dark UI when on and controlled by Modes. [CHAR LIMIT=NONE] -->
+    <string name="dark_ui_summary_on_auto_mode_modes">Will turn off when <xliff:g name="modeName" example="Bedtime">%1$s</xliff:g> ends</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>
     <!-- Dark UI screen footer summary text shown when the when Dark theme turns on/off automatically according to a user bedtime schedule. [CHAR LIMIT=NONE] -->
     <string name="dark_ui_bedtime_footer_summary">Dark theme is currently following your Bedtime mode schedule</string>
     <!-- Dark UI screen footer action text shown when the when Dark theme turns on/off automatically according to a user bedtime schedule. [CHAR LIMIT=NONE] -->
     <string name="dark_ui_bedtime_footer_action">Bedtime mode settings</string>
+    <!-- Dark UI screen footer summary text shown to indicate Modes may turn on/off Dark theme automatically according to their triggers. [CHAR LIMIT=NONE] -->
+    <string name="dark_ui_modes_footer_summary">
+        {count, plural, offset:2
+            =0    {Modes can also activate dark theme}
+            =1    {{mode_1} also activates dark theme}
+            =2    {{mode_1} and {mode_2} also activate dark theme}
+            =3    {{mode_1}, {mode_2}, and {mode_3} also activate dark theme}
+            other {{mode_1}, {mode_2}, and # more also activate dark theme}
+        }
+    </string>
+    <!-- Dark UI screen footer action text linking to Modes settings. [CHAR LIMIT=NONE] -->
+    <string name="dark_ui_modes_footer_action">Modes settings</string>
     <!-- Even Dimmer setting title. Allows device to reduce brightness even further than standard range. [CHAR LIMIT=NONE] -->
     <string name="even_dimmer_display_title">Even dimmer</string>
     <!-- Even Dimmer setting summary. [CHAR LIMIT=NONE] -->
@@ -3021,10 +3098,9 @@
     <string name="sim_change_data_ok">
         Use <xliff:g id="carrier" example="Verizon">%1$s</xliff:g>
     </string>
-    <!-- Title for the dialog asking to user to change the preferred SIM  [CHAR LIMIT=30] -->
-    <string name="sim_preferred_title">Update preferred SIM?</string>
+
     <!-- Message for the dialog asking to user to change the preferred SIM  [CHAR LIMIT=NONE] -->
-    <string name="sim_preferred_message"><xliff:g id="new_sim">%1$s</xliff:g> is the only SIM in your device. Do you want to use this SIM for mobile data, calls, and SMS messages?</string>
+    <string name="sim_preferred_message"><xliff:g id="new_sim">%1$s</xliff:g> is now your primary SIM</string>
 
     <!-- Title for the dialog asking user to enable auto data switch upon enabling multi-SIM  [CHAR LIMIT=30] -->
     <string name="enable_auto_data_switch_dialog_title">Improve mobile data coverage?</string>
@@ -4402,10 +4478,6 @@
     <string name="keyboard_a11y_category">Accessibility</string>
     <!-- Title for the 'physical keyboard' settings screen. [CHAR LIMIT=35] -->
     <string name="physical_keyboard_title">Physical keyboard</string>
-    <!-- Title for the 'show virtual keyboard' preference switch. [CHAR LIMIT=35] -->
-    <string name="show_ime">Use on-screen keyboard</string>
-    <!-- Summary text for the 'add virtual keyboard' preference sub-screen. [CHAR LIMIT=100] -->
-    <string name="show_ime_summary">Keep it on screen while physical keyboard is active</string>
     <!-- Title for the 'Bounce keys' preference switch. [CHAR LIMIT=35] -->
     <string name="bounce_keys">Bounce keys</string>
     <!-- Summary text for the 'Bounce keys' preference sub-screen. [CHAR LIMIT=300] -->
@@ -4418,6 +4490,10 @@
     <string name="sticky_keys">Sticky keys</string>
     <!-- Summary text for the 'Sticky keys' preference sub-screen. [CHAR LIMIT=300] -->
     <string name="sticky_keys_summary">Press one key at a time for shortcuts instead of holding keys down together</string>
+    <!-- Title for a toggle switch for 'mouse' keys,  an accessibility setting that allows the mouse pointer to be controlled using certain keys on a physical keyboard if keyboard is connected. [CHAR LIMIT=35] -->
+    <string name="mouse_keys">Mouse keys</string>
+    <!-- Summary text for the accessibility setting 'Mouse keys' preference sub-screen. [CHAR LIMIT=100] -->
+    <string name="mouse_keys_summary">Use the physical keyboard to control the mouse.</string>
     <!-- Title for the button to trigger the 'keyboard shortcuts helper' dialog. [CHAR LIMIT=35] -->
     <string name="keyboard_shortcuts_helper">Keyboard shortcuts</string>
     <!-- Summary text for the 'keyboard shortcuts helper' dialog. [CHAR LIMIT=100] -->
@@ -4450,10 +4526,10 @@
     <string name="trackpad_reverse_scrolling_title">Reverse scrolling</string>
     <!-- Summary text for 'Reverse scrolling' [CHAR LIMIT=60] -->
     <string name="trackpad_reverse_scrolling_summary">Content moves up when you scroll down</string>
-    <!-- Title text for 'Bottom-right tap' [CHAR LIMIT=35] -->
-    <string name="trackpad_bottom_right_tap_title">Bottom-right tap</string>
-    <!-- Summary text for 'Bottom-right tap' [CHAR LIMIT=60] -->
-    <string name="trackpad_bottom_right_tap_summary">Tap the bottom right corner of the touchpad for more options</string>
+    <!-- Title text for 'Bottom-right click', a setting that allows the user to right-click by pressing in the bottom-right corner of a touchpad. [CHAR LIMIT=35] -->
+    <string name="trackpad_bottom_right_tap_title">Bottom-right click</string>
+    <!-- Summary text for 'Bottom-right click', a setting that allows the user to right-click by pressing in the bottom-right corner of a touchpad [CHAR LIMIT=60] -->
+    <string name="trackpad_bottom_right_tap_summary">Click in the bottom right corner of the touchpad for more options</string>
     <!-- Title text for 'Pointer speed'. [CHAR LIMIT=35] -->
     <string name="trackpad_pointer_speed">Pointer speed</string>
     <!-- Title text for mouse pointer fill style. [CHAR LIMIT=35] -->
@@ -4468,6 +4544,14 @@
     <string name="pointer_fill_style_pink_button">Change pointer fill style to pink</string>
     <!-- Content description for blue pointer fill style. [CHAR LIMIT=60] -->
     <string name="pointer_fill_style_blue_button">Change pointer fill style to blue</string>
+    <!-- Title text for mouse pointer stroke style. [CHAR LIMIT=35] -->
+    <string name="pointer_stroke_style">Pointer stroke style</string>
+    <!-- White value for pointer stroke style. [CHAR LIMIT=35] -->
+    <string name="pointer_stroke_style_name_white">White</string>
+    <!-- Black value pointer stroke style. [CHAR LIMIT=35] -->
+    <string name="pointer_stroke_style_name_black">Black</string>
+    <!-- None value for pointer stroke style. [CHAR LIMIT=35] -->
+    <string name="pointer_stroke_style_name_none">None</string>
     <!-- Title for the button to trigger the 'touch gesture' education. [CHAR LIMIT=35] -->
     <string name="trackpad_touch_gesture">Learn touchpad gestures</string>
     <!-- Search keywords for "touchpad" -->
@@ -4557,6 +4641,11 @@
     <!-- Summary for the modifier key picker dialog page [CHAR LIMIT=35] -->
     <string name="modifier_keys_picker_summary">Choose a new key for <xliff:g id="modifier_key_default_name">%1$s</xliff:g>:</string>
 
+    <!-- Title for the button to trigger the 'Physical keyboard accessibility' page. [CHAR LIMIT=60] -->
+    <string name="keyboard_a11y_settings">Physical keyboard accessibility</string>
+    <!-- Summary for the button to trigger the 'Physical keyboard accessibility' page. [CHAR LIMIT=NONE] -->
+    <string name="keyboard_a11y_settings_summary">Sticky keys, Bounce keys, Mouse keys</string>
+
     <!-- Title text for per IME subtype keyboard layout. [CHAR LIMIT=35] -->
     <string name="ime_label_title"><xliff:g id="ime_label" example="Gboard">%s</xliff:g> layout</string>
     <!-- Summary text for keyboards when no layout has been selected. [CHAR LIMIT=35] -->
@@ -4571,6 +4660,12 @@
 
     <!-- On Languages & input settings screen, setting summary.  Setting for mouse pointer speed. [CHAR LIMIT=35] -->
     <string name="pointer_speed">Pointer speed</string>
+    <!-- Setting for mouse pointer scale. [CHAR LIMIT=35] -->
+    <string name="pointer_scale">Pointer scale</string>
+    <!-- Content description for decreasing pointer scale. [CHAR LIMIT=35] -->
+    <string name="pointer_scale_decrease_content_description">Decrease pointer scale</string>
+    <!-- Setting for mouse pointer scale. [CHAR LIMIT=35] -->
+    <string name="pointer_scale_increase_content_description">Increase pointer scale</string>
 
     <!-- On Languages & input settings screen, heading. Inside the "Languages & input settings" screen, this is the header for settings that relate to game controller devices. [CHAR LIMIT=40] -->
     <string name="game_controller_settings_category">Game Controller</string>
@@ -4841,8 +4936,10 @@
     <string name="accessibility_magnification_triple_tap_warning_negative_button">Cancel</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 accessibility magnification preference where user can move the magnification area by dragging one finger instead of two. [CHAR LIMIT=60] -->
-    <string name="accessibility_magnification_one_finger_panning_title">One-finger panning</string>
+    <!-- Title for accessibility magnification preference where user can move the magnification area by dragging one finger. [CHAR LIMIT=60] -->
+    <string name="accessibility_magnification_one_finger_panning_title">Move magnifier with 1 finger</string>
+    <!-- Summary for accessibility magnification one finger panning feature where user can move the magnification area by dragging one finger. [CHAR LIMIT=60] -->
+    <string name="accessibility_magnification_one_finger_panning_summary">Drag 1 finger to move around the screen</string>
     <!-- Summary for accessibility magnification preference when one finger panning feature is turned on.
          The feature when enabled allows user to move the magnification area by dragging one finger instead of two. [CHAR LIMIT=60] -->
     <string name="accessibility_magnification_one_finger_panning_summary_on">Move the magnification area by dragging one finger.</string>
@@ -4906,6 +5003,30 @@
         {4,number,integer}. Lift finger to stop magnification
         ]]>
     </string>
+    <!-- Instructions on the accessibility preference screen teaching the user how to interact with screen magnification when one finger panning feature is turned off. [CHAR LIMIT=none] -->
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_off">
+        <![CDATA[
+        <b>To zoom in:</b><br/>
+        {0,number,integer}. Use shortcut to start magnification<br/>
+        {1,number,integer}. Tap the screen<br/>
+        {2,number,integer}. Drag 2 fingers to move around the screen<br/>
+        {3,number,integer}. Pinch with 2 fingers to adjust zoom<br/>
+        {4,number,integer}. Use shortcut to stop magnification<br/><br/>
+        You can also zoom in temporarily and more.
+        ]]>
+    </string>
+    <!-- Instructions on the accessibility preference screen teaching the user how to interact with screen magnification when one finger panning feature is turned on. [CHAR LIMIT=none] -->
+    <string name="accessibility_screen_magnification_summary_one_finger_panning_on">
+        <![CDATA[
+        <b>To zoom in:</b><br/>
+        {0,number,integer}. Use shortcut to start magnification<br/>
+        {1,number,integer}. Tap the screen<br/>
+        {2,number,integer}. Drag 1 or 2 fingers to move around the screen<br/>
+        {3,number,integer}. Pinch with 2 fingers to adjust zoom<br/>
+        {4,number,integer}. Use shortcut to stop magnification<br/><br/>
+        You can also zoom in temporarily and more.
+        ]]>
+    </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>
     <!-- Accessibility label for paging indicator in accessibility tutorial page. [CHAR LIMIT=NONE] -->
@@ -4980,10 +5101,6 @@
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture">Accessibility gesture</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. To switch between features, touch &amp; hold the accessibility button.</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.\n\nTo switch between features, swipe up with 2 fingers and hold.</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.\n\nTo switch between features, swipe up with 3 fingers and hold.</string>
     <!-- Summary for gesture shortcut option -->
     <string name="accessibility_shortcut_edit_dialog_summary_gesture">{count, plural,
       =1      {Swipe up from the bottom of your screen. To switch between features, swipe up and hold.}
@@ -5013,8 +5130,6 @@
     <string name="accessibility_shortcut_hardware_keyword">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</string>
-    <!-- Title for two finger double tap shortcut in accessibility edit shortcut dialog. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap">Two-finger double-tap screen</string>
     <!-- Title for 2-finger double tap shortcut in accessibility edit shortcut screen. [CHAR LIMIT=NONE] -->
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap">%1$d-finger double tap</string>
     <!-- Summary for 2-finger double tap shortcut in accessibility edit shortcut screen. [CHAR LIMIT=NONE] -->
@@ -5025,14 +5140,8 @@
     <string name="accessibility_shortcut_edit_screen_summary_triple_tap">Quickly tap the screen %1$d times. This may slow down your device.</string>
     <!-- 2-finger double tap is shown as part of list to compose user's accessibility shortcut list. [CHAR LIMIT=NONE] -->
     <string name="accessibility_shortcut_two_finger_double_tap_keyword">%1$d-finger double tap</string>
-    <!-- Summary for two finger double tap shortcut in accessibility edit shortcut dialog. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap">Quickly tap screen {0,number,integer} times with two fingers</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>
     <!-- Part of list to compose user's accessibility shortcut list. [CHAR LIMIT=NONE] -->
     <string name="accessibility_shortcut_triple_tap_keyword">triple tap</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 {0,number,integer} 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=20] -->
     <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] -->
@@ -5040,11 +5149,11 @@
     <!-- 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_gesture_navigation_warning">The accessibility gesture is set to the <xliff:g id="service" example="Select to Speak">%1$s</xliff:g>. To use magnification, swipe up with two fingers from the bottom of the screen and hold. Then select magnification.</string>
     <!-- Title for the preference to configure the accessibility shortcut, which uses the volume keys. [CHAR LIMIT=35] -->
-    <string name="accessibility_global_gesture_preference_title">Volume key shortcut</string>
+    <string name="accessibility_global_gesture_preference_title">Volume keys shortcut</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=50] -->
-    <string name="accessibility_shortcut_service_on_lock_screen_title">Shortcut from lock screen</string>
+    <!-- Title for the switch preference that controls whether or not the accessibility volume keys shortcut works on the lock screen. [CHAR LIMIT=50] -->
+    <string name="accessibility_shortcut_service_on_lock_screen_title">Volume keys shortcut from lock screen</string>
     <!-- Description of accessibility shortcut. [CHAR LIMIT=NONE] -->
     <string name="accessibility_shortcut_description">Allow feature shortcut to turn on from the lock screen. Hold both volume keys for a few seconds.</string>
     <!-- Title for the accessibility button page. [CHAR LIMIT=35] -->
@@ -5097,6 +5206,8 @@
     <string name="accessibility_button_low_label">Transparent</string>
     <!-- Label on the right side of transparency adjustment slider [CHAR LIMIT=30] -->
     <string name="accessibility_button_high_label">Non-transparent</string>
+    <!-- Summary for settings that are disabled in the current button mode [CHAR LIMIT=30] -->
+    <string name="accessibility_button_disabled_button_mode_summary">Unavailable while using navigation bar button mode.</string>
     <!-- Title for the accessibility preference to high contrast text. [CHAR LIMIT=35] -->
     <string name="accessibility_toggle_high_text_contrast_preference_title">High contrast text</string>
     <!-- Summary for the accessibility preference to high contrast text. [CHAR LIMIT=NONE] -->
@@ -5391,19 +5502,21 @@
     <!-- Title for the preference to show a tile for a particular feature in the Quick Settings pane. [CHAR LIMIT=NONE] -->
     <string name="enable_quick_setting">Show in Quick Settings</string>
     <!-- Title shown for deuteranomaly (red-green color blindness) [CHAR LIMIT=45] -->
-    <string name="daltonizer_mode_deuteranomaly_title">Red-green</string>
+    <string name="daltonizer_mode_deuteranomaly_title">Red-green, green weak</string>
     <!-- Title shown for protanomaly (red-green color blindness) [CHAR LIMIT=45] -->
-    <string name="daltonizer_mode_protanomaly_title">Red-green</string>
+    <string name="daltonizer_mode_protanomaly_title">Red-green, red weak</string>
     <!-- Title shown for tritanomaly (blue-yellow color blindness) [CHAR LIMIT=45] -->
     <string name="daltonizer_mode_tritanomaly_title">Blue-yellow</string>
     <!-- Title shown for grayscale [CHAR LIMIT=45] -->
     <string name="daltonizer_mode_grayscale_title">Grayscale</string>
     <!-- Title shown for settings that controls color correction saturation level [CHAR LIMIT=45] -->
     <string name="daltonizer_saturation_title">Intensity</string>
+    <!-- The summary shown for settings that controls color correction intensity/saturation level. It is shown when intensity slider is grayed out and is not usable and it explains why it's not usable to the user. [CHAR LIMIT=NONE] -->
+    <string name="daltonizer_saturation_unavailable_summary">Unavailable for grayscale mode or when color correction is disabled</string>
     <!-- Summary shown for deuteranomaly (red-green color blindness) [CHAR LIMIT=45] -->
-    <string name="daltonizer_mode_deuteranomaly_summary">Green weak, deuteranomaly</string>
+    <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">Red weak, protanomaly</string>
+    <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>
 
@@ -5520,12 +5633,6 @@
     <string name="color_magenta">Magenta</string>
     <!-- Label for custom colors, formats as a HTML color. -->
     <string name="color_custom" translatable="false">#%1$02X%2$02X%3$02X</string>
-
-    <!-- Title for a warning about security implications of enabling an accessibility
-         service. [CHAR LIMIT=NONE] -->
-    <string name="enable_service_title">Allow
-         <xliff:g id="service" example="TalkBack">%1$s</xliff:g> to have full control of your
-        device?</string>
     <!-- Title for the list of capabilities of an accessibility service. -->
     <string name="capabilities_list_title"><xliff:g id="service" example="TalkBack">%1$s</xliff:g>
         needs to:</string>
@@ -5535,35 +5642,6 @@
     <string name="touch_filtered_warning">Because an app is obscuring a permission request, Settings
         can’t verify your response.</string>
 
-    <!-- Warning that explains that accessibility services have a lot of access to user data [CHAR LIMIT=NONE] -->
-    <string name="accessibility_service_warning"><xliff:g id="service"
-        example="TalkBack">%1$s</xliff:g> is requesting full control of this device. The service
-        can read the screen and act on behalf of users with accessibility needs.
-        This level of control is not appropriate for most apps.
-    </string>
-
-    <!-- Warning description that explains that it's appropriate for accessibility
-         services to have full control to help users with accessibility needs. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_service_warning_description">Full control is appropriate for apps
-        that help you with accessibility needs, but not for most apps.
-    </string>
-
-    <!-- Title for the screen control in accessibility dialog. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_service_screen_control_title">View and control screen</string>
-
-    <!-- Description for the screen control in accessibility dialog. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_service_screen_control_description">It can read all content on the
-        screen and display content over other apps.
-    </string>
-
-    <!-- Title for the action perform in accessibility dialog. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_service_action_perform_title">View and perform actions</string>
-
-    <!-- Description for the action perform in accessibility dialog. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_service_action_perform_description">It can track your interactions
-        with an app or a hardware sensor, and interact with apps on your behalf.
-    </string>
-
     <!-- String for the allow button in accessibility permission dialog. [CHAR LIMIT=10] -->
     <string name="accessibility_dialog_button_allow">Allow</string>
     <!-- String for the deny button in accessibility permission dialog. [CHAR LIMIT=10] -->
@@ -7268,6 +7346,8 @@
     <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, External display [DO NOT TRANSLATE] -->
+    <string name="help_url_external_display" translatable="false"></string>
     <!-- Help URL, Remote display [DO NOT TRANSLATE] -->
     <string name="help_url_remote_display" translatable="false"></string>
     <!-- Help URL, Face [DO NOT TRANSLATE] -->
@@ -7484,7 +7564,7 @@
     <string name="select_sim_for_sms">Select a SIM for SMS</string>
     <!-- Message for switching data SIM; switching takes a while -->
     <string name="data_switch_started">Switching data SIM, this may take up to a minute\u2026</string>
-    <!-- Title for selecting specific sim for data in settings.  [CHAR LIMIT=40] -->
+    <!-- Title for selecting specific sim/preferred sim for data in settings.  [CHAR LIMIT=40] -->
     <string name="select_specific_sim_for_data_title">Use <xliff:g id="new_sim" example="carrierA">%1$s</xliff:g> for mobile data?</string>
     <!-- Message for selecting specific sim for data in settings.  [CHAR LIMIT=NONE] -->
     <string name="select_specific_sim_for_data_msg">If you switch to <xliff:g id="new_sim" example="carrierA">%1$s</xliff:g>, <xliff:g id="old_sim" example="carrierB">%2$s</xliff:g> will no longer be used for mobile data.</string>
@@ -7906,6 +7986,18 @@
     <!-- Sound: Footer hyperlink text to launch the Connected devices settings page. [CHAR LIMIT=NONE]-->
     <string name="spatial_audio_footer_learn_more_text">Connected devices settings</string>
 
+    <!-- Bluetooth device details: spatial audio multi-toggle title. [CHAR LIMIT=20]-->
+    <string name="spatial_audio_multi_toggle_title">Spatial Audio</string>
+
+    <!-- Bluetooth device details: spatial audio is off. [CHAR LIMIT=20]-->
+    <string name="spatial_audio_multi_toggle_off">Off</string>
+
+    <!-- Bluetooth device details: spatial audio is on. [CHAR LIMIT=20]-->
+    <string name="spatial_audio_multi_toggle_on">Off</string>
+
+    <!-- Bluetooth device details: head tracking is on. [CHAR LIMIT=20]-->
+    <string name="spatial_audio_multi_toggle_head_tracking_on">Off</string>
+
     <!-- Zen Modes: Summary for the Do not Disturb option that describes how many automatic rules (schedules) are enabled [CHAR LIMIT=NONE]-->
     <string name="zen_mode_settings_schedules_summary">
         {count, plural,
@@ -7919,17 +8011,87 @@
     <string name="zen_mode_settings_title">Do Not Disturb</string>
 
     <!-- Zen Modes: Title for the Modes option and associated settings page. [CHAR LIMIT=50]-->
-    <string name="zen_modes_list_title">Priority Modes</string>
+    <string name="zen_modes_list_title">Modes</string>
+
+    <!-- Zen Modes: Intro text describing the feature. [CHAR LIMIT=NONE]-->
+    <string name="zen_modes_list_intro">Minimize distractions and take control of your attention with modes for sleep, work, driving, and everything in between.</string>
 
     <!-- Zen Modes: Caption of the "add a mode" item in the modes list -->
-    <string name="zen_modes_add_mode">Add a mode</string>
+    <string name="zen_modes_add_mode">Create your own mode</string>
 
     <!-- Zen Modes: 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>
 
+    <!-- Zen Modes: Option to add an automatic schedule for a mode. [CHAR_LIMIT=40] -->
+    <string name="zen_mode_select_schedule">Set a schedule</string>
+
+    <!-- Modes: Title of the dialog used to choose an automatic schedule for a mode. [CHAR_LIMIT=40] -->
+    <string name="zen_mode_select_schedule_title">Schedule based on</string>
+
+    <!-- Modes: Option to choose a time-based schedule for a mode. [CHAR_LIMIT=40] -->
+    <string name="zen_mode_select_schedule_time">Day and time</string>
+    <!-- Modes: Example text for the option to choose a time-based schedule for a mode. [CHAR_LIMIT=60] -->
+    <string name="zen_mode_select_schedule_time_example">\"9 AM - 5 PM weekdays\"</string>
+
+    <!-- Modes: Option to choose a calendar-events-based schedule for a mode. [CHAR_LIMIT=40] -->
+    <string name="zen_mode_select_schedule_calendar">Calendar events</string>
+
+    <!-- Modes: Summary for the modes segment, when at least one mode is active. [CHAR LIMIT=NONE]-->
+    <string name="zen_modes_summary_some_active">
+        {count, plural, offset:2
+            =0    {}
+            =1    {{mode_1} is active}
+            =2    {{mode_1} and {mode_2} are active}
+            =3    {{mode_1}, {mode_2}, and {mode_3} are active}
+            other {{mode_1}, {mode_2}, and # more are active}
+        }
+    </string>
+
+    <!-- Modes: Summary for the modes segment, when no modes are active. [CHAR LIMIT=NONE]-->
+    <string name="zen_modes_summary_none_active">
+        {count, plural,
+            =0    {}
+            =1    {1 mode can turn on automatically}
+            other {# modes can turn on automatically}
+        }
+    </string>
+
+    <!-- Modes: Short text that indicates that a mode is currently on (active). [CHAR_LIMIT=10] -->
+    <string name="zen_mode_active_text">ON</string>
+
+    <!-- Modes: Format string for the "current state + trigger description summary for rules in the list. [CHAR_LIMIT=10] -->
+    <string name="zen_mode_format_status_and_trigger" translatable="false"><xliff:g id="current_status" example="ON">%1$s</xliff:g> • <xliff:g id="trigger_description" example="Mon-Fri, 23:00-7:00">%2$s</xliff:g></string>
+
+    <!-- Modes: Indicates that a mode is disabled and needs to be configured. [CHAR_LIMIT=40] -->
+    <string name="zen_mode_disabled_needs_setup">Not set</string>
+
+    <!-- Modes: Indicates that a mode is disabled by the user. [CHAR_LIMIT=40] -->
+    <string name="zen_mode_disabled_by_user">Disabled</string>
+
+    <!-- Modes: Title of the "Create a mode" dialog, to choose the mode type. [CHAR_LIMIT=30] -->
+    <string name="zen_mode_new_title">Create a mode</string>
+
+    <!-- Modes: Option to add a "custom" mode in the "Add a mode" dialog. [CHAR_LIMIT=20] -->
+    <string name="zen_mode_new_option_custom">Custom</string>
+
+    <!-- Modes: Caption of the button to turn on a mode [CHAR LIMIT=20] -->
+    <string name="zen_mode_action_activate">Turn on now</string>
+
+    <!-- Modes: Caption of the button to turn off a currently active mode [CHAR LIMIT=20] -->
+    <string name="zen_mode_action_deactivate">Turn off</string>
+
+    <!-- Modes: Text to display if a mode isn't found [CHAR LIMIT=40] -->
+    <string name="zen_mode_not_found_text">Mode not found</string>
+
     <!-- Subtitle for the Do not Disturb slice. [CHAR LIMIT=50]-->
     <string name="zen_mode_slice_subtitle">Limit interruptions</string>
 
+    <!-- Modes: Summary on a page prompting the user to set up/enable a mode [CHAR_LIMIT=NONE] -->
+    <string name="zen_mode_setup_page_summary">Block interruptions and distractions</string>
+
+    <!-- Modes: Label on a button prompting the user to set up the mode with the given name. [CHAR_LIMIT=40] -->
+    <string name="zen_mode_setup_button_label">Set up <xliff:g id="mode" example="My Mode">%1$s</xliff:g></string>
+
     <!-- Do not disturb: Title for the Do not Disturb dialog to turn on Do not disturb. [CHAR LIMIT=50]-->
     <string name="zen_mode_settings_turn_on_dialog_title">Turn on Do Not Disturb</string>
 
@@ -7942,9 +8104,18 @@
     <!--  Do not disturb: Title for dialog that allows users to delete DND rules/schedules[CHAR LIMIT=40] -->
     <string name="zen_mode_delete_automatic_rules">Delete schedules</string>
 
-    <!--  Do not disturb: Delete text button presented in a dialog to confirm the user would like to delete the selected DND rules. [CHAR LIMIT=30] -->
+    <!-- Do not disturb: Delete text button presented in a dialog to confirm the user would like to delete the selected DND rules. [CHAR LIMIT=30] -->
     <string name="zen_mode_schedule_delete">Delete</string>
 
+    <!-- Modes: Menu option for renaming a mode on its configuration page [CHAR LIMIT=40] -->
+    <string name="zen_mode_menu_rename_mode">Rename</string>
+
+    <!-- Do not disturb: Menu option for deleting a mode on its configuration page [CHAR LIMIT=40] -->
+    <string name="zen_mode_menu_delete_mode">Delete</string>
+
+    <!-- Do not disturb: Confirmation dialog asking the user whether they would like to delete the named mode [CHAR LIMIT: 40] -->
+    <string name="zen_mode_delete_mode_confirmation">Delete \"<xliff:g id="mode" example="My Schedule">%1$s</xliff:g>\" mode?</string>
+
     <!--  Do not disturb: Edit label for button that allows user to edit the dnd schedule name. [CHAR LIMIT=30] -->
     <string name="zen_mode_rule_name_edit">Edit</string>
 
@@ -7955,19 +8126,17 @@
     <string name="zen_mode_automatic_rule_settings_page_title">Schedule</string>
 
     <!-- Do not disturb: Title for settings section describing when the rule turns on automatically [CHAR LIMIT=30] -->
-    <string name="zen_mode_automatic_trigger_title">Turn on automatically</string>
+    <string name="zen_mode_automatic_trigger_title">When to turn on automatically</string>
 
-    <!-- Do not disturb: Title prompting a user to choose a calendar to use for an automatic rule [CHAR LIMIT=30] -->
-    <string name="zen_mode_set_calendar_title">Add a calendar</string>
-
-    <!-- Do not disturb: Link text prompting a user to click through to setting a calendar [CHAR LIMIT=40] -->
-    <string name="zen_mode_set_calendar_link">Use your calendar</string>
-
-    <!-- Do not disturb: Title on the page where users choose a calendar to determine the schedule for an automatically-triggered DND rule. [CHAR LIMIT=30] -->
-    <string name="zen_mode_set_calendar_category_title">Schedule</string>
+    <!-- Modes: Title prompting a user to choose a calendar to use for an automatic rule [CHAR LIMIT=30] -->
+    <string name="zen_mode_set_calendar_title">Event schedule</string>
+    <!-- Modes: Title prompting a user to choose a calendar to use for an automatic rule [CHAR LIMIT=30] -->
+    <string name="zen_mode_set_calendar_which_calendar">Turn on during events for</string>
+    <!-- Modes: Title prompting a user to choose a calendar to use for an automatic rule [CHAR LIMIT=30] -->
+    <string name="zen_mode_set_calendar_which_reply">Where invite reply is</string>
 
     <!-- Do not disturb: Title prompting a user to set a time-based schedule to use for an automatic rule [CHAR LIMIT=30] -->
-    <string name="zen_mode_set_schedule_title">Set a schedule</string>
+    <string name="zen_mode_set_schedule_title">Time schedule</string>
 
     <!-- Do not disturb: Link text prompting a user to click through to setting a time-based schedule [CHAR LIMIT=40] -->
     <string name="zen_mode_set_schedule_link">Schedule</string>
@@ -8002,11 +8171,19 @@
     <!--  Do not disturb: Subtitle for the Visual signals option to toggle on/off visual signals/alerts when the screen is on/when screen is off. [CHAR LIMIT=30] -->
     <string name="zen_mode_visual_signals_settings_subtitle">Allow visual signals</string>
 
-    <!-- Do not disturb: mode page section title [CHAR LIMIT=80] -->
-    <string name="mode_interruption_filter_title">Notifications that can reach you</string>
-    <!-- Do not disturb: mode page section title [CHAR LIMIT=80] -->
-    <string name="mode_device_effects_title">Additional actions</string>
+    <!-- Modes: mode page section title [CHAR LIMIT=80] -->
+    <string name="mode_interruption_filter_title">Notification filters</string>
+    <!-- Modes: mode page section title [CHAR LIMIT=80] -->
+    <string name="mode_device_effects_title">More settings</string>
 
+    <!-- Summary for the Sound Do not Disturb option when DND isn't currently on. [CHAR LIMIT=NONE]-->
+    <string name="modes_sound_summary_off">
+        {count, plural,
+        =0    {Off}
+        =1    {Off / 1 mode can turn on automatically}
+        other {Off / # modes can turn on automatically}
+        }
+    </string>
 
     <!-- Do not disturb: display settings title [CHAR LIMIT=80] -->
     <string name="mode_display_settings_title">Display settings</string>
@@ -8047,7 +8224,10 @@
         other {{effect_1}, {effect_2}, and # more}
         }
     </string>
-
+    <!-- Modes: setting for a mode to allow all notifications and sounds through -->
+    <string name="zen_mode_allow_all_notifications">Allow all notifications</string>
+    <!-- Modes: subtext when a mode is allowing all notifications and sounds (i.e. no filtering) -->
+    <string name="zen_mode_all_notifications_allowed">People, apps, and sounds can interrupt</string>
 
     <!-- Do not disturb: restrict notifications settings title [CHAR LIMIT=80] -->
     <string name="zen_mode_restrict_notifications_title">Display options for filtered
@@ -8369,6 +8549,9 @@
     <!-- Configure Notifications: Title for the notification badging option. [CHAR LIMIT=50 BACKUP_MESSAGE_ID=5125022693565388760] -->
     <string name="notification_badging_title">Notification dot on app icon</string>
 
+    <!-- App Info > Notifications: Title for section where notifications bundles can be configured [CHAR LIMIT=80]-->
+    <string name="notification_bundles">Notification bundles</string>
+
     <!-- Configure Notifications: Title for the notification bubbles option. [CHAR LIMIT=60] -->
     <string name="notification_bubbles_title">Bubbles</string>
     <!-- Title for the toggle shown on the app-level bubbles page  [CHAR LIMIT=60] -->
@@ -8708,9 +8891,13 @@
     <string name="nls_feature_reply_summary">It can reply to messages and take action on buttons in notifications, including snoozing or dismissing notifications and answering calls.</string>
     <string name="nls_feature_settings_title">Change settings</string>
     <string name="nls_feature_settings_summary">It can turn Do Not Disturb on or off and change related settings.</string>
+    <string name="nls_feature_modes_settings_summary">It can manage and activate Modes, and change related settings.</string>
     <string name="notification_listener_disable_warning_summary">
         If you turn off notification access for <xliff:g id="notification_listener_name">%1$s</xliff:g>, Do Not Disturb access may also be turned off.
     </string>
+    <string name="notification_listener_disable_modes_warning_summary">
+        If you turn off notification access for <xliff:g id="notification_listener_name">%1$s</xliff:g>, Modes access may also be turned off.
+    </string>
     <string name="notification_listener_disable_warning_confirm">Turn off</string>
     <string name="notification_listener_disable_warning_cancel">Cancel</string>
     <string name="notif_type_ongoing">Real-time</string>
@@ -8735,9 +8922,10 @@
     <string name="notif_listener_more_settings_desc">More settings are available inside this app</string>
 
     <!-- Title for Polite Notifications setting  [CHAR LIMIT=45]-->
-    <string name="notification_polite_title">Adaptive Notifications</string>
-    <string name="notification_polite_main_control_title">Use adaptive notifications</string>
-    <string name="notification_polite_description">When you get many notifications within a short time, your phone will lower volume and minimize pop-ups on screen for up to two minutes. Calls, alarms, and priority conversations still vibrate, make a sound, or show up on the screen, and all notifications are easy to find when you pull down from the top of the screen.</string>
+    <string name="notification_polite_title">Notification cooldown</string>
+    <string name="notification_polite_main_control_title">Use notification cooldown</string>
+    <string name="notification_polite_description">When you receive many notifications within a short time, your device will lower its volume and minimize alerts for up to 2 minutes. Calls, alarms, and priority conversations are not affected.
+        \n\nNotifications received during the cooldown can be found by pulling down from the top of the screen.</string>
     <string name="notification_polite_work">Apply to work profiles</string>
     <string name="notification_polite_work_summary">Apply to work profile apps</string>
 
@@ -8886,6 +9074,15 @@
     <!-- Sound & notification > Do Not Disturb access > Text to display when the list is empty. [CHAR LIMIT=NONE] -->
     <string name="zen_access_empty_text">No installed apps have requested Do Not Disturb access</string>
 
+    <!-- Special App Access: Title for managing Modes access option. [CHAR LIMIT=40] -->
+    <string name="manage_zen_modes_access_title">Modes access</string>
+
+    <!-- Button title that grants 'Modes' permission to an app [CHAR_LIMIT=60]-->
+    <string name="zen_modes_access_detail_switch">Allow Modes access</string>
+
+    <!-- Special App Access > Do Not Disturb access > Text to display when the list is empty. [CHAR LIMIT=NONE] -->
+    <string name="zen_modes_access_empty_text">No installed apps have requested Modes access</string>
+
     <!-- [CHAR LIMIT=NONE] Text appearing when app notifications are off -->
     <string name="app_notifications_off_desc">You haven\'t allowed notifications from this app</string>
 
@@ -8907,6 +9104,9 @@
     <!-- [CHAR LIMIT=NONE] App notification settings: no channels -->
     <string name="no_channels">This app has not posted any notifications</string>
 
+    <!-- [CHAR LIMIT=NONE] App notification settings: has channels, but hasn't sent notifications recently -->
+    <string name="no_recent_channels">Show unused categories</string>
+
     <!-- [CHAR LIMIT=NONE] App notification settings: link to app notification settings-->
     <string name="app_settings_link">Additional settings in the app</string>
 
@@ -9074,6 +9274,8 @@
     <!-- [CHAR LIMIT=120] Zen mode settings: Title for conversations settings page -->
     <string name="zen_mode_conversations_title">Conversations</string>
     <string name="zen_mode_from_all_conversations">All conversations</string>
+    <!-- [CHAR LIMIT=40] Version of zen_mode_from_all_conversations when it is a non-first member of a list -->
+    <string name="zen_mode_from_all_conversations_second">all conversations</string>
     <string name="zen_mode_from_important_conversations">Priority conversations</string>
     <!-- [CHAR LIMIT=40] Version of the above for "priority conversations" when it is a non-first member of a list -->
     <string name="zen_mode_from_important_conversations_second">priority conversations</string>
@@ -9212,8 +9414,6 @@
     <string name="zen_mode_apps_priority_apps">Selected apps</string>
     <!-- [CHAR LIMIT=60] Zen mode settings: no apps will be able to bypass dnd -->
     <string name="zen_mode_apps_none_apps">None</string>
-    <!-- [CHAR LIMIT=60] Zen mode settings: all apps will be able to bypass dnd -->
-    <string name="zen_mode_apps_all_apps">All</string>
     <!-- [CHAR LIMIT=NONE] Zen mode settings: Lists apps that can bypass DND. For example, "Nest, Messages, and 2 more can interrupt". -->
     <string name="zen_mode_apps_subtext">
         {count, plural, offset:2
@@ -9224,6 +9424,12 @@
             other {{app_1}, {app_2}, and # more can interrupt}
         }
     </string>
+    <!-- Modes: Entry in the "apps that can bypass DND" list that corresponds to a work profile app (e.g. "Chrome (Work)" [CHAR LIMIT=15]. -->
+    <string name="zen_mode_apps_work_app"><xliff:g id="app_label" example="Chrome">%s</xliff:g> (Work)</string>
+    <!-- Text displayed (for a brief time) while the list of bypassing apps is being fetched. Will be replaced by a zen_mode_apps_subtext. [CHAR_LIMIT=60] -->
+    <string name="zen_mode_apps_calculating">Calculating\u2026</string>
+    <!-- Modes: Format for a string displayed when there are more items (e.g. apps, contacts) that can be shown. For example, we show (A)(B)(C)(+5), where this string represents the "+5" value. Needs to be as compact as possible, since it will be drawn in a really small area. [CHAR_LIMIT=4] -->
+    <string name="zen_mode_plus_n_items">+<xliff:g id="number" example="42">%d</xliff:g></string>
 
     <!-- [CHAR LIMIT=100] Zen mode settings: Allow apps to bypass DND -->
     <string name="zen_mode_bypassing_apps">Allow apps to override</string>
@@ -9280,6 +9486,8 @@
     <!-- [CHAR LIMIT=120] Zen mode settings: Summary for people category -->
     <string name="zen_mode_people_some">Some people can interrupt</string>
     <!-- [CHAR LIMIT=120] Zen mode settings: Summary for people category -->
+    <string name="zen_mode_people_repeat_callers">Repeat callers can interrupt</string>
+    <!-- [CHAR LIMIT=120] Zen mode settings: Summary for people category -->
     <string name="zen_mode_people_all">All people can interrupt</string>
 
     <!-- [CHAR LIMIT=50] Zen mode settings: Repeat callers option -->
@@ -9325,14 +9533,77 @@
     <!-- [CHAR LIMIT=NONE] Zen mode summary spoken when changing mode by voice: Turn on all notifications. -->
     <string name="zen_mode_summary_always">Change to always interrupt</string>
 
-    <!-- [CHAR LIMIT=20] Caption of the action button to change the name of a mode. -->
-    <string name="zen_mode_action_change_name">Rename</string>
+    <!-- Modes: Title for the "rename mode" screen [CHAR LIMIT=20] -->
+    <string name="zen_mode_rename_title">Edit mode</string>
 
-    <!-- [CHAR LIMIT=20] Caption of the action button to change the icon of a mode. -->
-    <string name="zen_mode_action_change_icon">Change icon</string>
+    <!-- Modes: Title for the "add mode" screen [CHAR LIMIT=20] -->
+    <string name="zen_mode_new_custom_title">Create a mode</string>
 
-    <!-- [CHAR LIMIT=40] Zen mode settings: Title for the "choose mode icon" screen -->
-    <string name="zen_mode_icon_picker_title">Change icon</string>
+    <!-- Modes: Default name for new custom modes [CHAR LIMIT=30] -->
+    <string name="zen_mode_new_custom_default_name">Custom mode</string>
+
+    <!-- Modes: Hint for the EditText for editing a mode's name [CHAR LIMIT=30] -->
+    <string name="zen_mode_edit_name_hint">Mode name</string>
+
+    <!-- Modes: Trigger title for modes of type SCHEDULE_CALENDAR. [CHAR LIMIT=30] -->
+    <string name="zen_mode_trigger_title_schedule_calendar">Calendar events</string>
+    <!-- Modes: Trigger title for modes of type BEDTIME. [CHAR LIMIT=30] -->
+    <string name="zen_mode_trigger_title_bedtime">Bedtime routine</string>
+    <!-- Modes: Trigger title for modes of type DRIVING. [CHAR LIMIT=30] -->
+    <string name="zen_mode_trigger_title_driving">While driving</string>
+    <!-- Modes: Generic trigger title for modes of other types [CHAR LIMIT=30] -->
+    <string name="zen_mode_trigger_title_generic">App settings</string>
+    <!-- Modes: Generic trigger summary for modes where the owner app did not provide a triggerDescription but did provide a configurationActivity to call [CHAR LIMIT=60] -->
+    <string name="zen_mode_trigger_summary_settings_in_app">Info and settings in <xliff:g id="app_name" example="The Awesome App">%1$s</xliff:g></string>
+    <!-- Modes: Generic trigger summary for modes where the owner app did not provide neither a triggerDescription nor a configurationActivity to call [CHAR LIMIT=60] -->
+    <string name="zen_mode_trigger_summary_managed_by_app">Managed by <xliff:g id="app_name" example="The Awesome App">%1$s</xliff:g></string>
+
+    <!-- Modes: Title of the confirmation dialog for disabling an enabled mode [CHAR LIMIT=20] -->
+    <string name="zen_mode_confirm_disable_mode_title">Disable <xliff:g id="mode_name" example="Driving Mode">%1$s</xliff:g>?</string>
+    <!-- Modes: Message body of the confirmation dialog for disabling an enabled mode [CHAR LIMIT=NONE] -->
+    <string name="zen_mode_confirm_disable_message">This mode will never turn on when disabled</string>
+    <!-- Modes: Button to disable a mode [CHAR LIMIT=20] -->
+    <string name="zen_mode_action_disable">Disable</string>
+    <!-- Modes: Title of the confirmation dialog for enabling a disabled mode [CHAR LIMIT=20] -->
+    <string name="zen_mode_confirm_enable_mode_title">Enable <xliff:g id="mode_name" example="Driving Mode">%1$s</xliff:g>?</string>
+    <!-- Modes: Message body of the confirmation dialog for enabling a disabled mode [CHAR LIMIT=NONE] -->
+    <string name="zen_mode_confirm_enable_message">This mode may turn on automatically based on its settings</string>
+    <!-- Modes: Button to disable a mode [CHAR LIMIT=20] -->
+    <string name="zen_mode_action_enable">Enable</string>
+
+    <!-- Modes: Blurb for a mode that activates during a fixed time schedule (e.g. 9:00-17:00). [CHAR LIMIT=NONE] -->
+    <string name="zen_mode_blurb_schedule_time">Set a mode that follows a regular schedule</string>
+    <!-- Modes: Blurb for a mode that activates during calendar events. [CHAR LIMIT=NONE] -->
+    <string name="zen_mode_blurb_schedule_calendar">Set a mode to sync with calendar events and invite responses</string>
+    <!-- Modes: Blurb for a mode of type BEDTIME. [CHAR LIMIT=NONE] -->
+    <string name="zen_mode_blurb_bedtime">Design a calming sleep routine. Set alarms, dim the screen, and block notifications.</string>
+    <!-- Modes: Blurb for a mode of type DRIVING. [CHAR LIMIT=NONE] -->
+    <string name="zen_mode_blurb_driving">Prioritize safety on the road for a focused and distraction-free drive</string>
+    <!-- Modes: Blurb for a mode of type IMMERSIVE. [CHAR LIMIT=NONE] -->
+    <string name="zen_mode_blurb_immersive">Block distractions or interruptions from your device to gain focus</string>
+    <!-- Modes: Blurb for a mode of type THEATER. [CHAR LIMIT=NONE] -->
+    <string name="zen_mode_blurb_theater">Eliminate all distractions for a quiet environment</string>
+    <!-- Modes: Blurb for a mode of type MANAGED. [CHAR LIMIT=NONE] -->
+    <string name="zen_mode_blurb_managed">Personalize device experiences and settings for different users</string>
+    <!-- Modes: Blurb for modes that are not of a specific type (OTHER, UNKNOWN). [CHAR LIMIT=NONE] -->
+    <string name="zen_mode_blurb_generic">Minimize interruptions by only allowing important people and apps to reach you</string>
+
+    <!-- Modes: Inspirational text for a mode that activates during a fixed time schedule (e.g. 9:00-17:00). [CHAR LIMIT=NONE] -->
+    <string name="zen_mode_inspiration_schedule_time">Set a mode that follows a regular schedule</string>
+    <!-- Modes: Inspirational text for a mode that activates during calendar events. [CHAR LIMIT=NONE] -->
+    <string name="zen_mode_inspiration_schedule_calendar">Keep your device in sync with your day’s events</string>
+    <!-- Modes: Inspirational text for a mode of type BEDTIME. [CHAR LIMIT=NONE] -->
+    <string name="zen_mode_inspiration_bedtime">Wake up feeling like 100%</string>
+    <!-- Modes: Inspirational text for a mode of type DRIVING. [CHAR LIMIT=NONE] -->
+    <string name="zen_mode_inspiration_driving">Put safety first while on the road</string>
+    <!-- Modes: Inspirational text for a mode of type IMMERSIVE. [CHAR LIMIT=NONE] -->
+    <string name="zen_mode_inspiration_immersive">Gain focus to get in the zone</string>
+    <!-- Modes: Inspirational text for a mode of type THEATER. [CHAR LIMIT=NONE] -->
+    <string name="zen_mode_inspiration_theater">For moments when courtesy counts</string>
+    <!-- Modes: Inspirational text for a mode of type MANAGED. [CHAR LIMIT=NONE] -->
+    <string name="zen_mode_inspiration_managed">Guided usage to help you stay in good hands</string>
+    <!-- Modes: Inspirational text for modes that are not of a specific type (OTHER, UNKNOWN). [CHAR LIMIT=NONE] -->
+    <string name="zen_mode_inspiration_generic">Take control of your attention</string>
 
     <!-- Content description for help icon button [CHAR LIMIT=20] -->
     <string name="warning_button_text">Warning</string>
@@ -9933,6 +10204,18 @@
     <!-- Zen mode access settings - summary for warning dialog when revoking access [CHAR LIMIT=NONE] -->
     <string name="zen_access_revoke_warning_dialog_summary">All Do Not Disturb rules created by this app will be removed.</string>
 
+    <!-- Modes access settings - title for warning dialog when enabling access [CHAR LIMIT=NONE] -->
+    <string name="zen_modes_access_warning_dialog_title">Allow access to Modes for <xliff:g id="app" example="Tasker">%1$s</xliff:g>?</string>
+
+    <!-- Modes access settings - summary for warning dialog when enabling access [CHAR LIMIT=NONE] -->
+    <string name="zen_modes_access_warning_dialog_summary">The app will be able to turn on/off Do Not Disturb, manage and activate Modes, and make changes to related settings.</string>
+
+    <!-- Modes access settings - title for warning dialog when revoking access [CHAR LIMIT=NONE] -->
+    <string name="zen_modes_access_revoke_warning_dialog_title">Revoke access to Modes for <xliff:g id="app" example="Tasker">%1$s</xliff:g>?</string>
+
+    <!-- Modes access settings - summary for warning dialog when revoking access [CHAR LIMIT=NONE] -->
+    <string name="zen_modes_access_revoke_warning_dialog_summary">All modes created by this app will be removed.</string>
+
     <!-- Ignore battery optimizations on label [CHAR LIMIT=30] -->
     <string name="ignore_optimizations_on">Don\u2019t optimize</string>
 
@@ -12091,10 +12374,12 @@
     <!-- Default title for the settings panel [CHAR LIMIT=NONE] -->
     <string name="settings_panel_title">Settings Panel</string>
 
-    <!-- UI debug setting: force desktop mode [CHAR LIMIT=50] -->
-    <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>
+    <!-- Title for a toggle that enables freeform windows. Freeform windows enables users to freely arrange and resize overlapping apps. [CHAR LIMIT=50] -->
+    <string name="enable_desktop_mode">Enable freeform windows</string>
+
+    <!-- Title for a toggle that enables freeform windows on secondary display. Freeform windows enables users to freely arrange and resize overlapping apps. [CHAR LIMIT=50] -->
+    <string name="enable_desktop_mode_on_secondary_display">Enable freeform windows on secondary display</string>
+
     <!-- UI debug setting: enable non-resizables in multi window [CHAR LIMIT=60] -->
     <string name="enable_non_resizable_multi_window">Enable non-resizable in multi window</string>
     <!-- UI debug setting: enable non-resizables in multi window summary [CHAR LIMIT=NONE] -->
@@ -12549,9 +12834,6 @@
     <!-- Provider Model: Link text to bring the user to "scanning settings" screen. [CHAR LIMIT=NONE]-->
     <string name="wifi_scan_change">Change</string>
 
-    <!-- Summary text separator for preferences including a short description
-         (eg. "Connected / 5G"). [CHAR LIMIT=50] -->
-    <string name="preference_summary_default_combination"><xliff:g id="state" example="Connected">%1$s</xliff:g> / <xliff:g id="networkMode" example="LTE">%2$s</xliff:g></string>
     <!-- Provider Model:
          Summary indicating that a SIM has an active mobile data connection [CHAR LIMIT=50] -->
     <string name="mobile_data_connection_active">Connected</string>
@@ -12627,7 +12909,7 @@
     <string name="default_print_service_main_switch_title">Use print service</string>
 
     <!-- Title for multiple users main switch. [CHAR LIMIT=50] -->
-    <string name="multiple_users_main_switch_title">Allow multiple users</string>
+    <string name="multiple_users_main_switch_title">Allow user switch</string>
     <!-- Search keywords for the "Allow Multiple Users" section in Multiple Users Screen. [CHAR LIMIT=NONE] -->
     <string name="multiple_users_main_switch_keywords">allow, multiple, user, permit, many</string>
     <!-- Search keywords for the Users Screen. [CHAR LIMIT=NONE] -->
@@ -12767,271 +13049,6 @@
     <!-- Strings for Dialog connect button -->
     <string name="bluetooth_connect_access_dialog_positive">Connect</string>
 
-    <!-- Title for the button to edit The Android Resource Economy settings. "TARE" is the name of
-    the feature that contains the AlarmManager and JobScheduler policies which are both android
-    APIs. AlarmManager and JobScheduler are the names of Android system services and cannot be
-    translated. "TARE" is not translatable. [CHAR LIMIT=NONE] -->
-    <string name="tare_title" translatable="false">TARE</string>
-    <!-- TARE settings title in developer options; "TARE" is the name of the feature and cannot be
-     translated. [CHAR LIMIT=40] -->
-    <string name="tare_settings">TARE Settings</string>
-    <!-- Summary for the TARE feature being on (ie. enabled) [CHAR LIMIT=NONE] -->
-    <string name="tare_on">On</string>
-    <!-- Summary for the TARE feature being off (ie. disabled) [CHAR LIMIT=NONE] -->
-    <string name="tare_off">Off</string>
-    <!-- Allows user to revert the TARE settings to their default values [CHAR LIMIT=40] -->
-    <string name="tare_revert">Revert to Default Settings</string>
-    <!-- Allows user to view AlarmManager policy factors. Alarm in this context is referring to the
-    possible alarm cases in the AlarmManager policy. AlarmManager is the name of an Android system
-    service and cannot be translated. [CHAR LIMIT=40]-->
-    <string name="tare_alarmmanager" translatable="false">AlarmManager</string>
-    <!-- Allows user to view JobScheduler policy factors. JobScheduler is the name of an Android
-    system service and cannot be translated.[CHAR LIMIT=40]-->
-    <string name="tare_jobscheduler" translatable="false">JobScheduler</string>
-    <!-- Toast notifying the developer that settings were reverted to their default values in
-    TARE [CHAR LIMIT=40]-->
-    <string name="tare_settings_reverted_toast">Settings reverted to default.</string>
-    <!-- Title for the TARE policy factor that determines the maximum credits an app can have in one
-    battery life cycle. Satiated means battery is fully charged; If this is not easily translatable,
-    translate "maximum balance when device is fully charged" instead. Balance is the same meaning as
-    having money in a bank account. Balance in our feature is the amount of Android Resource Credits
-    an app can have. Android Resource Credits are a form of payment used by apps to be able to
-    perform tasks. [CHAR LIMIT=80]-->
-    <string name="tare_max_satiated_balance">Maximum Satiated Balance</string>
-    <!-- Title for the TARE policy factors that affect how many credits an app may have. Balance
-    in this context is the same as "bank balance" or "account balance" (ie. how much "money" may be
-    in a bank account). [CHAR LIMIT=55]-->
-    <string name="tare_balances">Balances</string>
-    <!-- Title for the TARE section to modify consumption limits. "Consumption" refers to the idea
-     using resources that are not replenished. [CHAR LIMIT=55]-->
-    <string name="tare_consumption_limits">Consumption Limits</string>
-    <!-- Title for the TARE policy factor that determines the initial maximum amount of credits that
-    can be consumed by all the apps [CHAR LIMIT=80]-->
-    <string name="tare_initial_consumption_limit">Initial Consumption Limit</string>
-    <!-- Title for the TARE policy factor that determines the minimum consumption limit the system
-     can have [CHAR LIMIT=80]-->
-    <string name="tare_min_consumption_limit">Minimum Consumption Limit</string>
-    <!-- Title for the TARE policy factor that determines the maximum consumption limit the system
-     can have [CHAR LIMIT=80]-->
-    <string name="tare_max_consumption_limit">Maximum Consumption Limit</string>
-    <!-- Titles for the consumption limits factors. [CHAR LIMIT=40]-->
-    <string-array name="tare_consumption_limit_subfactors" translatable="false">
-        <item>@string/tare_initial_consumption_limit</item>
-        <item>@string/tare_min_consumption_limit</item>
-        <item>@string/tare_max_consumption_limit</item>
-    </string-array>
-    <!-- Title for the various modifiers that alter the cost of TARE tasks based on battery status
-    (charging, power save mode, etc.) [CHAR LIMIT=40]-->
-    <string name="tare_modifiers">Modifiers</string>
-    <!-- Title for the various TARE policy's actions' cost to produce. "Cost to produce" refers to
-     how many credits it costs the system to perform (produce) the action. [CHAR LIMIT=40]-->
-    <string name="tare_actions_ctp">Actions (Cost to Produce)</string>
-    <!-- Title for the various TARE policy's actions' starting prices [CHAR LIMIT=40]-->
-    <string name="tare_actions_base_price">Actions (Base Price)</string>
-    <!-- Title for the rewards apps can obtain for each instance of an event that implies the user
-    finds the app behavior useful. [CHAR LIMIT=40]-->
-    <string name="tare_rewards_instantaneous">Rewards per single event</string>
-    <!-- Title for the rewards apps can obtain for the total duration (in seconds) of an event that
-    implies the user finds the app behavior useful. [CHAR LIMIT=40]-->
-    <string name="tare_rewards_ongoing">Rewards per second of event duration</string>
-    <!-- Title for the max rewards apps can obtain within a 24 hour period for different actions
-    that benefit the user. [CHAR LIMIT=40]-->
-    <string name="tare_rewards_max">Maximum Rewards Per Day</string>
-    <!-- Title for the Allow While Idle Exact Wakeup Alarm set via
-    AlarmManager.setExactAndAllowWhileIdle() [CHAR LIMIT=50]-->
-    <string name="tare_wakeup_exact_idle" translatable="false">
-        Allow While Idle Exact Wakeup Alarm</string>
-    <!-- Title for the Allow While Idle Inexact Wakeup Alarm set via
-    AlarmManager.setAndAllowWhileIdle() [CHAR LIMIT=50]-->
-    <string name="tare_wakeup_inexact_idle" translatable="false">
-        Allow While Idle Inexact Wakeup Alarm</string>
-    <!-- Title for the Exact Wakeup Alarm set via AlarmManager.setExact() [CHAR LIMIT=50]-->
-    <string name="tare_wakeup_exact" translatable="false">Exact Wakeup Alarm</string>
-    <!-- Title for the Inexact Wakeup Alarm set via AlarmManager.set() [CHAR LIMIT=50]-->
-    <string name="tare_wakeup_inexact" translatable="false">Inexact Wakeup Alarm</string>
-    <!-- Title for the Allow While Idle Exact NonWakeup Alarm set via
-    AlarmManager.setExactAndAllowWhileIdle() [CHAR LIMIT=50]-->
-    <string name="tare_nonwakeup_exact_idle" translatable="false">
-        Allow While Idle Exact NonWakeup Alarm</string>
-    <!-- Title for the Exact NonWakeup Alarm set via AlarmManager.setExact() [CHAR LIMIT=50]-->
-    <string name="tare_nonwakeup_exact" translatable="false">Exact NonWakeup Alarm</string>
-    <!-- Title for the Allow While Idle Inexact NonWakeup Alarm set via
-    AlarmManager.setAndAllowWhileIdle() [CHAR LIMIT=50]-->
-    <string name="tare_nonwakeup_inexact_idle" translatable="false">
-        Allow While Idle Inexact NonWakeup Alarm</string>
-    <!-- Title for the Inexact NonWakeup Alarm set via AlarmManager.set() [CHAR LIMIT=50]-->
-    <string name="tare_nonwakeup_inexact" translatable="false">Inexact NonWakeup Alarm</string>
-    <!-- Title for the AlarmClock alarm set via AlarmManager.setAlarmClock() [CHAR LIMIT=50]-->
-    <string name="tare_alarm_clock" translatable="false">AlarmClock</string>
-    <!-- The action of installing an application onto the device [CHAR LIMIT=50]-->
-    <string name="tare_app_install">App Install</string>
-    <!-- Top activity means an app is in the TOP android process state and is thus visible to the
-    user[CHAR LIMIT=50]-->
-    <string name="tare_top_activity">Top Activity</string>
-    <!-- An event type denoting that a notification was viewed by the user, as defined in
-    UsageEvents.java [CHAR LIMIT=50]-->
-    <string name="tare_notification_seen">Notification Seen</string>
-    <!-- An event type denoting that a notification was viewed by the user within 15 minutes
-    [CHAR LIMIT=50]-->
-    <string name="tare_notification_seen_15_min">Notification Seen Within 15 Minutes</string>
-    <!-- An event type denoting that a notification was interacted with in some way by the user
-    [CHAR LIMIT=50]-->
-    <string name="tare_notification_interaction">Notification Interaction</string>
-    <!-- An event type denoting that an app's widget was interacted with in some way by the user
-    [CHAR LIMIT=50]-->
-    <string name="tare_widget_interaction">Widget Interaction</string>
-    <!-- An event type denoting that an app was interacted with in some way by the user
-    [CHAR LIMIT=50]-->
-    <string name="tare_other_interaction">Other User Interaction</string>
-    <!-- Title for the initiation of a max priority job by an app as defined in the JobScheduler
-     API [CHAR LIMIT=50]-->
-    <string name="tare_job_max_start">Job Max Start</string>
-    <!-- Title of an event where a job with max priority is running, but it does not necessarily
-     mean the max priority job is running at that moment. In this context, running is a synonym for
-     “ongoing execution of a job with max priority”. [CHAR LIMIT=50]-->
-    <string name="tare_job_max_running">Job Max Running</string>
-    <!-- Title for the initiation of a high priority job by an app as defined in the JobScheduler
-    API [CHAR LIMIT=50]-->
-    <string name="tare_job_high_start">Job High Start</string>
-    <!-- Title of an event where a job with high priority is running, but it does not necessarily
-     mean the high priority job is running at that moment. In this context, running is a synonym for
-     “ongoing execution of a job with high priority”. [CHAR LIMIT=50]-->
-    <string name="tare_job_high_running">Job High Running</string>
-    <!-- Title for the initiation of a default priority job by an app as defined in the JobScheduler
-    API [CHAR LIMIT=50]-->
-    <string name="tare_job_default_start">Job Default Start</string>
-    <!-- Title of an event where a job with default priority is running, but it does not necessarily
-     mean the default job is running at that moment. In this context, running is a synonym for
-     “ongoing execution of a job with default priority”. [CHAR LIMIT=50]-->
-    <string name="tare_job_default_running">Job Default Running</string>
-    <!-- Title for the initiation of a low priority job by an app as defined in the JobScheduler
-    API [CHAR LIMIT=50]-->
-    <string name="tare_job_low_start">Job Low Start</string>
-    <!-- Title of an event where a job with low priority is running, but it does not necessarily
-     mean the low priority job is running at that moment. In this context, running is a synonym for
-     “ongoing execution of a job with low priority”. [CHAR LIMIT=50]-->
-    <string name="tare_job_low_running">Job Low Running</string>
-    <!-- Title for the initiation of a minimum priority job by an app as defined in the JobScheduler
-    API [CHAR LIMIT=50]-->
-    <string name="tare_job_min_start">Job Min Start</string>
-    <!-- Title of an event where a job with minimum priority is running, but it does not necessarily
-     mean the job is running at that moment. In this context, running is a synonym for
-     “ongoing execution of a job with minimum priority”. [CHAR LIMIT=50]-->
-    <string name="tare_job_min_running">Job Min Running</string>
-    <!-- Title for the penalty an app receives for letting a job use the maximum execution time and
-     time out [CHAR LIMIT=50]-->
-    <string name="tare_job_timeout_penalty">Job Timeout Penalty</string>
-    <!-- Title for the TARE factor that determines the minimum credits an app should have when the
-    device is fully charged. "Satiated" in this context means that the battery is fully charged.
-    Balance is the same meaning as having money in a bank account.
-    Exempted apps are those apps exempted from most power saving features. [CHAR LIMIT=80]-->
-    <string name="tare_min_balance_exempted">Minimum Satiated Balance (Exempted)</string>
-    <!-- Title for the TARE factor that determines the minimum credits an app should have when the
-    device is fully charged. "Satiated" in this context means that the battery is fully charged.
-    Balance is the same meaning as having money in a bank account.
-    A headless system app is a preinstalled app that does not have any activities/UI that the
-    user can interact with. [CHAR LIMIT=80]-->
-    <string name="tare_min_balance_headless_app">Minimum Satiated Balance (Headless System App)</string>
-    <!-- Title for the TARE factor that determines the minimum credits an app should have when the
-    device is fully charged. "Satiated" in this context means that the battery is fully charged.
-    Balance is the same meaning as having money in a bank account.
-    Remaining apps are those apps that don't fit into predefined categories. [CHAR LIMIT=80]-->
-    <string name="tare_min_balance_other_app">Minimum Satiated Balance (Remaining Apps)</string>
-    <!-- Title for the TARE factor that app updaters (for example, an app store) additional
-    credits. "Satiated" in this context means that the battery is fully charged.
-    Balance is the same meaning as having money in a bank account. [CHAR LIMIT=80]-->
-    <string name="tare_min_balance_addition_app_updater">Minimum Satiated Balance Addition (App Updaters)</string>
-    <!-- Titles for the minimum satiated credit balances for different types of apps
-    (per battery cycle). Satiated means battery is fully charged. [CHAR LIMIT=40]-->
-    <string-array name="tare_app_balance_subfactors" translatable="false">
-        <item>@string/tare_max_satiated_balance</item>
-        <item>@string/tare_min_balance_exempted</item>
-        <item>@string/tare_min_balance_headless_app</item>
-        <item>@string/tare_min_balance_other_app</item>
-    </string-array>
-    <!-- Titles for the minimum satiated credit balances for different types of apps
-    (per battery cycle). Satiated means battery is fully charged. [CHAR LIMIT=40]-->
-    <string-array name="tare_job_scheduler_app_balance_subfactors" translatable="false">
-        <item>@string/tare_max_satiated_balance</item>
-        <item>@string/tare_min_balance_exempted</item>
-        <item>@string/tare_min_balance_headless_app</item>
-        <item>@string/tare_min_balance_other_app</item>
-        <item>@string/tare_min_balance_addition_app_updater</item>
-    </string-array>
-    <!-- Various modifier subfactors that alter the cost of TARE tasks depending on what battery
-    state the device is in [CHAR LIMIT=50]-->
-    <string-array name="tare_modifiers_subfactors">
-        <item>Charging</item>
-        <!-- Doze refers to the Android Doze feature -->
-        <item>Doze</item>
-        <item>Power Save Mode</item>
-        <!-- An app's process state is the internal level of an app's process inside the system -->
-        <item>Process State</item>
-    </string-array>
-    <!-- Various AlarmManager alarms with different costs to produce and price paid by apps
-    if they want to produce these alarms. Alarm in this context refers to the possible alarm cases
-    in AlarmManager. [CHAR LIMIT=50]-->
-    <string-array name="tare_alarm_manager_actions" translatable="false">
-        <item>@string/tare_wakeup_exact_idle</item>
-        <item>@string/tare_wakeup_inexact_idle</item>
-        <item>@string/tare_wakeup_exact</item>
-        <item>@string/tare_wakeup_inexact</item>
-        <item>@string/tare_nonwakeup_exact_idle</item>
-        <item>@string/tare_nonwakeup_exact</item>
-        <item>@string/tare_nonwakeup_inexact_idle</item>
-        <item>@string/tare_nonwakeup_inexact</item>
-        <item>@string/tare_alarm_clock</item>
-    </string-array>
-    <!-- Titles for the different rewards apps could obtain for actions that benefit the user;
-    each has instant, ongoing, and max credit rewards apps could gain [CHAR LIMIT=50]-->
-    <string-array name="tare_rewards_subfactors" translatable="false">
-        <item>@string/tare_top_activity</item>
-        <item>@string/tare_notification_seen</item>
-        <!-- TODO: add back once supported  <item>@string/tare_notification_seen_15_min</item> -->
-        <item>@string/tare_notification_interaction</item>
-        <item>@string/tare_widget_interaction</item>
-        <item>@string/tare_other_interaction</item>
-    </string-array>
-    <!-- Titles for the different rewards apps could obtain for actions that benefit the user;
-    each has instant, ongoing, and max credit rewards apps could gain [CHAR LIMIT=50]-->
-    <string-array name="tare_job_scheduler_rewards_subfactors" translatable="false">
-        <item>@string/tare_top_activity</item>
-        <item>@string/tare_notification_seen</item>
-        <item>@string/tare_notification_interaction</item>
-        <item>@string/tare_widget_interaction</item>
-        <item>@string/tare_other_interaction</item>
-        <item>@string/tare_app_install</item>
-    </string-array>
-    <!-- Various JobScheduler tasks with different costs to produce and willingness to pay by apps
-    if they want to carry out these different tasks [CHAR LIMIT=50]-->
-    <string-array name="tare_job_scheduler_actions" translatable="false">
-        <item>@string/tare_job_max_start</item>
-        <item>@string/tare_job_max_running</item>
-        <item>@string/tare_job_high_start</item>
-        <item>@string/tare_job_high_running</item>
-        <item>@string/tare_job_default_start</item>
-        <item>@string/tare_job_default_running</item>
-        <item>@string/tare_job_low_start</item>
-        <item>@string/tare_job_low_running</item>
-        <item>@string/tare_job_min_start</item>
-        <item>@string/tare_job_min_running</item>
-        <item>@string/tare_job_timeout_penalty</item>
-    </string-array>
-    <!-- Array used to populate dropdown menu with the different policies in the TARE
-    settings [CHAR LIMIT=40]-->
-    <string-array name="tare_policies" translatable="false">
-        <item>@string/tare_alarmmanager</item>
-        <item>@string/tare_jobscheduler</item>
-    </string-array>
-    <!-- TARE dialog button to proceed with a value change [CHAR LIMIT=none] -->
-    <string name="tare_dialog_confirm_button_title">Confirm</string>
-    <!-- Array used to populate dropdown menu to select the units of the factor value. Not
-    translatable since they're base units. [CHAR LIMIT=40]-->
-    <string-array name="tare_units" translatable="false">
-        <item>ARC</item>
-        <item>Cake</item>
-    </string-array>
-
     <!-- Button to preview the selected screensaver in settings [CHAR LIMIT=40] -->
     <string name="dream_preview_button_title">Preview</string>
     <!-- The title of the category to show for the screensaver selector in settings [CHAR LIMIT=none] -->
@@ -13056,14 +13073,12 @@
     <!-- The content description for accessibility tools of the customize button. It specifies which screensaver the user is customizing [CHAR LIMIT=NONE] -->
     <string name="customize_button_description">Customize <xliff:g id="screensaver_name" example="Art Gallery">%1$s</xliff:g></string>
 
-    <!-- Dialog body text used to explain a reboot is required after enabling freeform support for
-    it to work [CHAR LIMIT=none] -->
-    <string name="reboot_dialog_enable_freeform_support">A reboot is required to enable freeform
-    support.</string>
-    <!-- Dialog body text used to explain a reboot is required after forcing desktop mode on
-    secondary dislays. [CHAR LIMIT=none] -->
-    <string name="reboot_dialog_force_desktop_mode">A reboot is required to force desktop mode on
-    secondary displays.</string>
+    <!-- Dialog body text used to explain a reboot is required after enabling freeform window support for it to work. Freeform windows enables users to freely arrange and resize overlapping apps. [CHAR LIMIT=none] -->
+    <string name="reboot_dialog_enable_freeform_support">A reboot is required to enable freeform window support.</string>
+    <!-- Dialog body text used to explain a reboot is required after updating availability of freeform windows. Freeform windows enables users to freely arrange and resize overlapping apps. [CHAR LIMIT=none] -->
+    <string name="reboot_dialog_override_desktop_mode">A reboot is required to update availability of freeform windows.</string>
+    <!-- Dialog body text used to explain a reboot is required after enabling freeform windows on secondary displays. Freeform windows enables users to freely arrange and resize overlapping apps. [CHAR LIMIT=none] -->
+    <string name="reboot_dialog_enable_desktop_mode_on_secondary_display">A reboot is required to enable freeform windows on secondary displays.</string>
     <!-- Text on the dialog button to reboot the device now [CHAR LIMIT=50] -->
     <string name="reboot_dialog_reboot_now">Reboot now</string>
     <!-- Text on the dialog button to reboot the device later [CHAR LIMIT=50] -->
@@ -13294,7 +13309,7 @@
     <!-- Label of the color option show in the summary of screen flash preference. [CHAR LIMIT=60] -->
     <string name="screen_flash_color_violet">Violet</string>
     <!-- Button to save the selection in screen flash color selection dialog. [CHAR LIMIT=20] -->
-    <string name="color_selector_dialog_done">Done</string>
+    <string name="color_selector_dialog_save">Save</string>
     <!-- Button to close the dialog without saving in screen flash color selection dialog. [CHAR LIMIT=20] -->
     <string name="color_selector_dialog_cancel">Cancel</string>
 
@@ -13344,6 +13359,10 @@
     <string name="live_caption_disabled">Off</string>
     <!-- Summary of the Live Caption enabled state. -->
     <string name="live_caption_enabled">On</string>
+    <!-- State description for the Audio Balance seek bar, with left reported before right. -->
+    <string name="audio_seek_bar_state_left_first">Audio %1$d%% left, %2$d%% right</string>
+    <!-- State description for the Audio Balance seek bar, with right reported before left. -->
+    <string name="audio_seek_bar_state_right_first">Audio %1$d%% right, %2$d%% left</string>
 
     <!--  Warning text about the visibility of device name. [CHAR LIMIT=NONE] -->
     <string name="about_phone_device_name_warning">Your device name is visible to apps you installed. It may also be seen by other people when you connect to Bluetooth devices, connect to a Wi-Fi network or set up a Wi-Fi hotspot.</string>
@@ -13497,6 +13516,8 @@
     <string name="audio_sharing_confirm_dialog_title">Connect a compatible device</string>
     <!-- Content for audio sharing confirm dialog [CHAR LIMIT=none]-->
     <string name="audio_sharing_comfirm_dialog_content">To start sharing audio, first connect LE Audio headphones to your phone</string>
+    <!-- Text for audio sharing switch active device button [CHAR LIMIT=none]-->
+    <string name="audio_sharing_switch_active_button_label">Switch to <xliff:g example="My buds" id="device_name">%1$s</xliff:g></string>
 
     <!-- Title for audio streams preference category [CHAR LIMIT=none]-->
     <string name="audio_streams_category_title">Connect to a LE audio stream</string>
@@ -13584,8 +13605,15 @@
     <string name="audio_streams_main_page_qr_code_scanner_summary">Scan an audio stream QR code to listen with <xliff:g example="LE headset" id="device_name">%1$s</xliff:g></string>
     <!-- Le audio streams password dialog  [CHAR LIMIT=NONE] -->
     <string name="audio_streams_main_page_password_dialog_cannot_edit">Can\u0027t edit password while sharing. To change the password, first turn off audio sharing.</string>
+    <!-- Text for audio sharing qrcode scanner [CHAR LIMIT=none]-->
+    <string name="audio_streams_qr_code_scanner_label">QR code scanner</string>
+    <!-- Learn more link for audio sharing qrcode [CHAR LIMIT=none]-->
+    <string name="audio_streams_qr_code_help_with_link"><annotation id="link">Need help?</annotation></string>
 
 
     <!-- url for learning more about bluetooth audio sharing -->
     <string name="help_url_audio_sharing" translatable="false"></string>
+
+    <!-- Text for Search bar of Settings home screen [CHAR LIMIT=34] -->
+    <string name="homepage_search">Search Settings</string>
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 0bd0406..70d3670 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -955,11 +955,16 @@
         <item name="biometricsEnrollProgressHelpWithTalkback">@color/udfps_enroll_progress_help_with_talkback</item>
     </style>
 
-    <style name="ScreenLockPasswordHintTextFontStyle">
+    <style name="ScreenLockPasswordHintTextFontStyleError">
         <item name="android:textColor">?android:attr/colorError</item>
         <item name="android:fontFamily">google-sans-text</item>
     </style>
 
+    <style name="ScreenLockPasswordHintTextFontStyle">
+        <item name="android:textColor">?android:attr/textColorPrimary</item>
+        <item name="android:fontFamily">google-sans-text</item>
+    </style>
+
     <style name="PrivateSpaceSetupTextFontStyle" parent="@android:style/TextAppearance.DeviceDefault">
         <item name="android:textColor">?android:attr/textColorPrimary</item>
         <item name="android:fontFamily">google-sans-text</item>
@@ -982,14 +987,15 @@
     </style>
 
     <style name="PrivateSpaceBulletPointTextFontStyle" parent="@style/PrivateSpaceSetupTextFontStyle">
-        <item name="android:paddingLeft">16dp</item>
+        <item name="android:paddingStart">16dp</item>
         <item name="android:textSize">16sp</item>
+        <item name="android:textAlignment">viewStart</item>
     </style>
 
     <style name="PrivateSpaceBulletPointIconStyle">
         <item name="android:layout_width">wrap_content</item>
         <item name="android:layout_height">wrap_content</item>
-        <item name="android:layout_alignParentLeft">true</item>
+        <item name="android:layout_alignParentStart">true</item>
         <item name="android:layout_alignParentTop">true</item>
     </style>
 
@@ -1011,4 +1017,22 @@
         <item name="android:background">@null</item>
     </style>
 
+    <style name="SuggestionCardStyle">
+        <item name="cardBackgroundColor">@color/settingslib_materialColorPrimary</item>
+        <item name="cardCornerRadius">40dp</item>
+        <item name="cardElevation">0dp</item>
+    </style>
+
+    <style name="TextAppearance.SuggestionCardTitle">
+        <item name="android:textColor">@color/settingslib_materialColorOnPrimary</item>
+        <item name="android:textSize">20sp</item>
+        <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
+    </style>
+
+    <style name="TextAppearance.SuggestionCardSummary">
+        <item name="android:textColor">@color/settingslib_materialColorOnSecondary</item>
+        <item name="android:textSize">14sp</item>
+        <item name="android:fontFamily">@*android:string/config_bodyFontFamily</item>
+    </style>
+
 </resources>
diff --git a/res/xml/accessibility_color_and_motion.xml b/res/xml/accessibility_color_and_motion.xml
index a500b72..4c4490c 100644
--- a/res/xml/accessibility_color_and_motion.xml
+++ b/res/xml/accessibility_color_and_motion.xml
@@ -72,6 +72,17 @@
         android:title="@string/accessibility_toggle_large_pointer_icon_title"
         settings:controller="com.android.settings.accessibility.LargePointerIconPreferenceController"/>
 
+    <com.android.settings.widget.LabeledSeekBarPreference
+        android:key="large_pointer_scale"
+        android:title="@string/accessibility_toggle_large_pointer_icon_title"
+        android:summary="@string/accessibility_toggle_large_pointer_icon_summary"
+        android:max="@integer/pointer_scale_seek_bar_end"
+        settings:iconStart="@drawable/ic_remove_24dp"
+        settings:iconStartContentDescription="@string/pointer_scale_decrease_content_description"
+        settings:iconEnd="@drawable/ic_add_24dp"
+        settings:iconEndContentDescription="@string/pointer_scale_increase_content_description"
+        settings:controller="com.android.settings.inputmethod.PointerScaleSeekBarController" />
+
     <PreferenceCategory
         android:key="experimental_category"
         android:persistent="false"
diff --git a/res/xml/accessibility_daltonizer_settings.xml b/res/xml/accessibility_daltonizer_settings.xml
index 1f77030..db96167 100644
--- a/res/xml/accessibility_daltonizer_settings.xml
+++ b/res/xml/accessibility_daltonizer_settings.xml
@@ -32,24 +32,32 @@
         android:key="daltonizer_mode_deuteranomaly"
         android:persistent="false"
         android:summary="@string/daltonizer_mode_deuteranomaly_summary"
-        android:title="@string/daltonizer_mode_deuteranomaly_title" />
+        android:title="@string/daltonizer_mode_deuteranomaly_title"
+        settings:titleMaxLines="@integer/max_integer"
+        settings:controller="com.android.settings.accessibility.DaltonizerRadioButtonPreferenceController" />
 
     <com.android.settingslib.widget.SelectorWithWidgetPreference
         android:key="daltonizer_mode_protanomaly"
         android:persistent="false"
         android:summary="@string/daltonizer_mode_protanomaly_summary"
-        android:title="@string/daltonizer_mode_protanomaly_title" />
+        android:title="@string/daltonizer_mode_protanomaly_title"
+        settings:titleMaxLines="@integer/max_integer"
+        settings:controller="com.android.settings.accessibility.DaltonizerRadioButtonPreferenceController" />
 
     <com.android.settingslib.widget.SelectorWithWidgetPreference
         android:key="daltonizer_mode_tritanomaly"
         android:persistent="false"
         android:summary="@string/daltonizer_mode_tritanomaly_summary"
-        android:title="@string/daltonizer_mode_tritanomaly_title" />
+        android:title="@string/daltonizer_mode_tritanomaly_title"
+        settings:titleMaxLines="@integer/max_integer"
+        settings:controller="com.android.settings.accessibility.DaltonizerRadioButtonPreferenceController" />
 
     <com.android.settingslib.widget.SelectorWithWidgetPreference
         android:key="daltonizer_mode_grayscale"
         android:persistent="false"
-        android:title="@string/daltonizer_mode_grayscale_title" />
+        android:title="@string/daltonizer_mode_grayscale_title"
+        settings:titleMaxLines="@integer/max_integer"
+        settings:controller="com.android.settings.accessibility.DaltonizerRadioButtonPreferenceController" />
 
     <com.android.settings.widget.SeekBarPreference
         android:key="daltonizer_saturation"
diff --git a/res/xml/app_notification_settings.xml b/res/xml/app_notification_settings.xml
index f96a375..1eee0cb 100644
--- a/res/xml/app_notification_settings.xml
+++ b/res/xml/app_notification_settings.xml
@@ -50,11 +50,22 @@
         settings:controller="com.android.settings.notification.app.BubbleSummaryPreferenceController">
     </Preference>
 
+    <!-- Bundles added here -->
+    <PreferenceCategory
+        android:key="bundles"
+        android:title="@string/notification_bundles"
+        android:visibility="gone" />
+
     <!-- Channels/Channel groups added here -->
     <PreferenceCategory
         android:key="channels"
         android:layout="@layout/empty_view" />
 
+    <Preference
+        android:key="more"
+        android:title="@string/no_recent_channels"
+        android:icon="@drawable/ic_expand"/>
+
     <!-- Importance toggle -->
     <com.android.settingslib.RestrictedSwitchPreference
         android:key="allow_sound"
diff --git a/res/xml/bluetooth_audio_streams_dialog.xml b/res/xml/bluetooth_audio_streams_dialog.xml
index 8b20a14..d2b3933 100644
--- a/res/xml/bluetooth_audio_streams_dialog.xml
+++ b/res/xml/bluetooth_audio_streams_dialog.xml
@@ -45,6 +45,7 @@
             <TextView
                 android:id="@+id/dialog_title"
                 android:textAppearance="@android:style/TextAppearance.DeviceDefault.Headline"
+                android:textColor="?android:attr/textColorPrimary"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="15dp"
@@ -54,6 +55,7 @@
             <TextView
                 android:id="@+id/dialog_subtitle"
                 android:textAppearance="@android:style/TextAppearance.DeviceDefault.Small"
+                android:textColor="?android:attr/textColorSecondary"
                 android:textStyle="bold"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
@@ -65,6 +67,7 @@
             <TextView
                 android:id="@+id/dialog_subtitle_2"
                 android:textAppearance="@android:style/TextAppearance.DeviceDefault.Small"
+                android:textColor="?android:attr/textColorSecondary"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="15dp"
diff --git a/res/xml/bluetooth_device_details_fragment.xml b/res/xml/bluetooth_device_details_fragment.xml
index 91f73a7..f2e9e73 100644
--- a/res/xml/bluetooth_device_details_fragment.xml
+++ b/res/xml/bluetooth_device_details_fragment.xml
@@ -27,6 +27,13 @@
         settings:searchable="false"/>
 
     <com.android.settingslib.widget.LayoutPreference
+        android:key="general_bluetooth_device_header"
+        android:layout="@layout/general_bt_entity_header"
+        android:selectable="false"
+        settings:allowDividerBelow="true"
+        settings:searchable="false"/>
+
+    <com.android.settingslib.widget.LayoutPreference
         android:key="advanced_bluetooth_device_header"
         android:layout="@layout/advanced_bt_entity_header"
         android:selectable="false"
diff --git a/res/xml/bluetooth_device_more_settings_fragment.xml b/res/xml/bluetooth_device_more_settings_fragment.xml
new file mode 100644
index 0000000..4fb4aca
--- /dev/null
+++ b/res/xml/bluetooth_device_more_settings_fragment.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2024 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT 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="bluetooth_device_more_settings_screen"
+    android:title="@string/device_details_more_settings">
+
+    <PreferenceCategory
+        android:key="bluetooth_profiles"/>
+</PreferenceScreen>
diff --git a/res/xml/dark_mode_settings.xml b/res/xml/dark_mode_settings.xml
index 7f13659..6709557 100644
--- a/res/xml/dark_mode_settings.xml
+++ b/res/xml/dark_mode_settings.xml
@@ -60,6 +60,6 @@
         android:title="@string/dark_ui_bedtime_footer_summary"
         android:selectable="false"
         settings:searchable="false"
-        settings:controller="com.android.settings.display.darkmode.DarkModeCustomBedtimePreferenceController" />
+        settings:controller="com.android.settings.display.darkmode.DarkModeCustomModesPreferenceController" />
 
 </PreferenceScreen>
diff --git a/res/xml/development_settings.xml b/res/xml/development_settings.xml
index 866a529..f494795 100644
--- a/res/xml/development_settings.xml
+++ b/res/xml/development_settings.xml
@@ -507,6 +507,11 @@
             android:title="@string/show_key_presses"
             android:summary="@string/show_key_presses_summary" />
 
+        <SwitchPreference
+            android:key="touchpad_visualizer"
+            android:title="@string/touchpad_visualizer"
+            android:summary="@string/touchpad_visualizer_summary" />
+
     </PreferenceCategory>
 
     <PreferenceCategory
@@ -722,11 +727,6 @@
             android:title="@string/inactive_apps_title"
             android:fragment="com.android.settings.fuelgauge.InactiveApps" />
 
-        <Preference
-            android:key="tare"
-            android:title="@string/tare_title" >
-        </Preference>
-
         <SwitchPreferenceCompat
             android:key="force_allow_on_external"
             android:title="@string/force_allow_on_external"
@@ -738,14 +738,16 @@
             android:summary="@string/force_resizable_activities_summary" />
 
         <SwitchPreferenceCompat
+            android:key="override_desktop_mode_features"
+            android:title="@string/enable_desktop_mode" />
+
+        <SwitchPreferenceCompat
             android:key="enable_freeform_support"
-            android:title="@string/enable_freeform_support"
-            android:summary="@string/enable_freeform_support_summary" />
+            android:title="@string/enable_freeform_support" />
 
         <SwitchPreferenceCompat
             android:key="force_desktop_mode_on_external_displays"
-            android:title="@string/force_desktop_mode"
-            android:summary="@string/force_desktop_mode_summary" />
+            android:title="@string/enable_desktop_mode_on_secondary_display"/>
 
         <SwitchPreferenceCompat
             android:key="enable_non_resizable_multi_window"
diff --git a/res/xml/external_display_resolution_settings.xml b/res/xml/external_display_resolution_settings.xml
new file mode 100644
index 0000000..6ac6b1a
--- /dev/null
+++ b/res/xml/external_display_resolution_settings.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2024 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT 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/external_display_resolution_settings_title">
+</PreferenceScreen>
diff --git a/res/xml/external_display_settings.xml b/res/xml/external_display_settings.xml
new file mode 100644
index 0000000..e4dc5bb
--- /dev/null
+++ b/res/xml/external_display_settings.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2024 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT 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/external_display_settings_title">
+</PreferenceScreen>
diff --git a/res/xml/language_settings.xml b/res/xml/language_settings.xml
index 167f9d9..4613cb0 100644
--- a/res/xml/language_settings.xml
+++ b/res/xml/language_settings.xml
@@ -18,7 +18,8 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:title="@string/languages_settings">
+    android:title="@string/languages_settings"
+    android:key="languages_settings">
     <PreferenceCategory
         android:key="languages_category"
         android:title="@string/locale_picker_category_title">
@@ -68,4 +69,4 @@
             android:fragment="com.android.settings.tts.TextToSpeechSettings"
             settings:searchable="false"/>
     </PreferenceCategory>
-</PreferenceScreen>
\ No newline at end of file
+</PreferenceScreen>
diff --git a/res/xml/languages.xml b/res/xml/languages.xml
index 844b7fa..d478aa1 100644
--- a/res/xml/languages.xml
+++ b/res/xml/languages.xml
@@ -18,7 +18,8 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:title="@string/language_picker_title">
+    android:title="@string/language_picker_title"
+    android:key="system_languages">
 
     <com.android.settingslib.widget.TopIntroPreference
         android:title="@string/desc_introduction_of_language_picker"
diff --git a/res/xml/mobile_network_settings.xml b/res/xml/mobile_network_settings.xml
index eb9f442..29e7c25 100644
--- a/res/xml/mobile_network_settings.xml
+++ b/res/xml/mobile_network_settings.xml
@@ -85,23 +85,24 @@
             android:summary="@string/auto_data_switch_summary"
             settings:controller="com.android.settings.network.telephony.AutoDataSwitchPreferenceController"/>
 
-        <com.android.settingslib.RestrictedSwitchPreference
+        <!-- Settings search is handled by RoamingSearchItem. -->
+        <com.android.settings.spa.preference.ComposePreference
             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:searchable="false"
             settings:controller="com.android.settings.network.telephony.RoamingPreferenceController"/>
 
+        <!-- Settings search is handled by DataUsageSearchItem. -->
         <Preference
             android:key="data_usage_summary"
             android:title="@string/app_cellular_data_usage"
+            settings:searchable="false"
             settings:controller="com.android.settings.network.telephony.DataUsagePreferenceController"/>
 
+        <!-- Settings search is handled by BillingCycleSearchItem. -->
         <com.android.settings.datausage.BillingCyclePreference
             android:key="billing_preference"
             android:title="@string/billing_cycle"
+            settings:searchable="false"
             settings:controller="com.android.settings.datausage.BillingCyclePreferenceController"/>
 
         <SwitchPreferenceCompat
@@ -116,10 +117,12 @@
             android:selectable="false"
             settings:searchable="false"/>
 
+        <!-- Settings search is handled by MmsMessageSearchItem. -->
         <SwitchPreferenceCompat
             android:key="mms_message"
             android:title="@string/mms_message_title"
             android:summary="@string/mms_message_summary"
+            settings:searchable="false"
             settings:controller="com.android.settings.network.telephony.MmsMessagePreferenceController"/>
 
         <SwitchPreferenceCompat
@@ -153,6 +156,7 @@
             android:summary="@string/contact_discovery_opt_in_summary"
             settings:controller="com.android.settings.network.telephony.ContactDiscoveryPreferenceController"/>
 
+        <!-- Settings search is handled by PreferredNetworkModeSearchItem. -->
         <ListPreference
             android:key="preferred_network_mode_key"
             android:title="@string/preferred_network_mode_title"
@@ -160,8 +164,10 @@
             android:entries="@array/preferred_network_mode_choices"
             android:entryValues="@array/preferred_network_mode_values"
             android:dialogTitle="@string/preferred_network_mode_dialogtitle"
+            settings:searchable="false"
             settings:controller="com.android.settings.network.telephony.PreferredNetworkModePreferenceController"/>
 
+        <!-- Settings search is handled by EnabledNetworkModeSearchItem. -->
         <ListPreference
             android:key="enabled_networks_key"
             android:title="@string/preferred_network_mode_title"
@@ -169,14 +175,14 @@
             android:entries="@array/enabled_networks_choices"
             android:entryValues="@array/enabled_networks_values"
             android:dialogTitle="@string/preferred_network_mode_dialogtitle"
+            settings:searchable="false"
             settings:controller="com.android.settings.network.telephony.EnabledNetworkModePreferenceController"/>
 
+        <!-- Settings search is handled by CarrierSettingsVersionSearchItem. -->
         <Preference
             android:key="carrier_settings_version_key"
             android:title="@string/carrier_settings_version"
-            android:enabled="false"
-            android:shouldDisableView="false"
-            android:selectable="false"
+            settings:searchable="false"
             settings:controller="com.android.settings.network.telephony.CarrierSettingsVersionPreferenceController"
             settings:enableCopying="true"/>
 
@@ -203,10 +209,12 @@
             android:title="@string/call_category"
             settings:controller="com.android.settings.network.telephony.CallingPreferenceCategoryController">
 
+            <!-- Settings search is handled by WifiCallingSearchItem. -->
             <Preference
                 android:key="wifi_calling"
                 android:title="@string/wifi_calling_settings_title"
                 android:summary="@string/wifi_calling_summary"
+                settings:searchable="false"
                 settings:controller="com.android.settings.network.telephony.WifiCallingPreferenceController">
                 <intent android:action="android.intent.action.MAIN"
                         android:targetPackage="com.android.settings"
@@ -215,10 +223,11 @@
                 </intent>
             </Preference>
 
+            <!-- Settings search is handled by WifiCallingSearchItem. -->
             <SwitchPreferenceCompat
                 android:key="video_calling_key"
                 android:title="@string/video_calling_settings_title"
-                android:persistent="true"
+                settings:searchable="false"
                 settings:controller="com.android.settings.network.telephony.VideoCallingPreferenceController"/>
 
         </PreferenceCategory>
@@ -295,10 +304,10 @@
             settings:controller=
                 "com.android.settings.network.telephony.NullAlgorithmsPreferenceController"/>
 
+        <!-- Settings search is handled by NrAdvancedCallingSearchItem. -->
         <com.android.settings.spa.preference.ComposePreference
             android:key="nr_advanced_calling"
-            android:title="@string/nr_advanced_calling_title"
-            settings:keywords="@string/keywords_nr_advanced_calling"
+            settings:searchable="false"
             settings:controller="com.android.settings.network.telephony.NrAdvancedCallingPreferenceController"/>
     </PreferenceCategory>
 
diff --git a/res/xml/modes_calls_settings.xml b/res/xml/modes_calls_settings.xml
index f2ba7f1..b564020 100644
--- a/res/xml/modes_calls_settings.xml
+++ b/res/xml/modes_calls_settings.xml
@@ -24,14 +24,21 @@
 
     <PreferenceCategory
         android:key="zen_mode_settings_category_calls"
-        android:title="@string/zen_mode_calls_header"
-        settings:allowDividerBelow="true">
+        android:title="@string/zen_mode_calls_header">
     </PreferenceCategory>
 
+    <com.android.settings.applications.SpacePreference
+        android:key="hearing_aid_space_layout"
+        android:layout_height="16dp"/>
+
     <!-- Repeat callers -->
     <SwitchPreferenceCompat
         android:key="zen_mode_repeat_callers"
-        android:title="@string/zen_mode_repeat_callers_title"
-        settings:allowDividerAbove="true"/>
+        android:title="@string/zen_mode_repeat_callers_title" />
 
+    <com.android.settingslib.widget.FooterPreference
+        android:key="info_footer"
+        android:title="@string/zen_mode_calls_footer"
+        android:selectable="false"
+        settings:searchable="false"/>
 </PreferenceScreen>
diff --git a/res/xml/modes_display_settings.xml b/res/xml/modes_display_settings.xml
index 53268ec..98db7b8 100644
--- a/res/xml/modes_display_settings.xml
+++ b/res/xml/modes_display_settings.xml
@@ -24,22 +24,27 @@
         android:title="@string/mode_display_options_section">
         <Preference
                 android:key="notification_visibility"
-                android:title="@string/zen_mode_restrict_notifications_title" />
+                android:title="@string/zen_mode_restrict_notifications_title"
+                android:icon="@drawable/ic_zen_mode_category_display" />
         <SwitchPreferenceCompat
                 android:key="effect_greyscale"
                 android:title="@string/mode_grayscale_title"
-                android:summary="@string/mode_grayscale_summary"/>
+                android:summary="@string/mode_grayscale_summary"
+                android:icon="@drawable/ic_zen_mode_display_grayscale" />
         <SwitchPreferenceCompat
                 android:key="effect_aod"
                 android:title="@string/mode_aod_title"
-                android:summary="@string/mode_aod_summary"/>
+                android:summary="@string/mode_aod_summary"
+                android:icon="@drawable/ic_zen_mode_display_aod" />
         <SwitchPreferenceCompat
                 android:key="effect_wallpaper"
                 android:title="@string/mode_wallpaper_title"
-                android:summary="@string/mode_wallpaper_summary"/>
+                android:summary="@string/mode_wallpaper_summary"
+                android:icon="@drawable/ic_zen_mode_display_wallpaper" />
         <SwitchPreferenceCompat
                 android:key="effect_dark_theme"
                 android:title="@string/mode_dark_theme_title"
-                android:summary="@string/mode_dark_theme_summary"/>
+                android:summary="@string/mode_dark_theme_summary"
+                android:icon="@drawable/ic_zen_mode_display_dark_theme" />
     </PreferenceCategory>
 </PreferenceScreen>
diff --git a/res/xml/modes_icon_picker.xml b/res/xml/modes_edit_name_icon.xml
similarity index 71%
rename from res/xml/modes_icon_picker.xml
rename to res/xml/modes_edit_name_icon.xml
index cb0ff30..2109c77 100644
--- a/res/xml/modes_icon_picker.xml
+++ b/res/xml/modes_edit_name_icon.xml
@@ -18,20 +18,30 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="zen_mode_icon_picker_page"
+    android:key="zen_mode_edit_name_icon"
     settings:searchable="false"
-    android:title="@string/zen_mode_icon_picker_title">
+    android:title="@string/zen_mode_rename_title">
 
     <com.android.settingslib.widget.LayoutPreference
-        android:key="current_icon"
+        android:key="chosen_icon"
         android:layout="@layout/settings_entity_header" />
 
     <com.android.settings.applications.SpacePreference
         android:layout_height="16dp" />
 
     <com.android.settingslib.widget.LayoutPreference
+        android:key="name"
+        android:layout="@layout/modes_edit_name" />
+
+    <com.android.settings.applications.SpacePreference
+        android:layout_height="32dp" />
+
+    <com.android.settingslib.widget.LayoutPreference
         android:key="icon_list"
         android:selectable="false"
         android:layout="@layout/modes_icon_list"/>
 
+    <com.android.settingslib.widget.LayoutPreference
+        android:key="done"
+        android:layout="@layout/modes_edit_done_button" />
 </PreferenceScreen>
diff --git a/res/xml/modes_list_settings.xml b/res/xml/modes_list_settings.xml
index 8207af0..e9b059c 100644
--- a/res/xml/modes_list_settings.xml
+++ b/res/xml/modes_list_settings.xml
@@ -18,13 +18,15 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:title="@string/zen_modes_list_title">
+    android:title="@string/zen_modes_list_title"
+    android:key="modes_list_settings">
 
-    <!-- TODO: b/333682392 - add strings for summary as appropriate -->
+    <com.android.settingslib.widget.TopIntroPreference
+        android:title="@string/zen_modes_list_intro" />
 
     <PreferenceCategory
         android:key="zen_modes_list">
-        <!-- Preferences leading to rules are added in this PreferenceCategory. -->
+        <!-- Preferences leading to individual mode pages are added in this PreferenceCategory. -->
     </PreferenceCategory>
 
     <Preference
diff --git a/res/xml/modes_messages_settings.xml b/res/xml/modes_messages_settings.xml
index d4aee3d..b87de0b 100644
--- a/res/xml/modes_messages_settings.xml
+++ b/res/xml/modes_messages_settings.xml
@@ -26,4 +26,10 @@
         android:key="zen_mode_settings_category_messages"
         android:title="@string/zen_mode_messages_header">
     </PreferenceCategory>
+
+    <com.android.settingslib.widget.FooterPreference
+        android:key="info_footer"
+        android:title="@string/zen_mode_messages_footer"
+        android:selectable="false"
+        settings:searchable="false"/>
 </PreferenceScreen>
diff --git a/res/xml/modes_people_settings.xml b/res/xml/modes_people_settings.xml
index 136a357..af292ad 100644
--- a/res/xml/modes_people_settings.xml
+++ b/res/xml/modes_people_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:title="@string/zen_category_people" >
 
    <!-- Calls & Messages -->
@@ -26,10 +27,18 @@
 
       <Preference
           android:key="zen_mode_people_messages"
-          android:title="@string/zen_mode_messages_title"/>
+          android:title="@string/zen_mode_messages_title"
+          android:icon="@drawable/ic_zen_mode_people_messages" />
 
       <Preference
           android:key="zen_mode_people_calls"
-          android:title="@string/zen_mode_calls_title"/>
+          android:title="@string/zen_mode_calls_title"
+          android:icon="@drawable/ic_zen_mode_people_calls" />
    </PreferenceCategory>
+
+   <com.android.settingslib.widget.FooterPreference
+       android:key="info_footer"
+       android:title="@string/zen_mode_people_footer"
+       android:selectable="false"
+       settings:searchable="false"/>
 </PreferenceScreen>
diff --git a/res/xml/modes_rule_settings.xml b/res/xml/modes_rule_settings.xml
index cf090be..4f9b685 100644
--- a/res/xml/modes_rule_settings.xml
+++ b/res/xml/modes_rule_settings.xml
@@ -23,37 +23,59 @@
             android:key="header"
             android:layout="@layout/settings_entity_header" />
 
+    <com.android.settings.applications.SpacePreference
+        android:layout_height="16dp" />
+
+    <com.android.settings.notification.modes.ZenModeBlurbPreference
+        android:key="mode_blurb" />
+
+    <com.android.settings.applications.SpacePreference
+        android:layout_height="8dp" />
+
     <com.android.settingslib.widget.LayoutPreference
             android:key="activate"
             android:selectable="false"
             android:layout="@layout/modes_activation_button"/>
 
-    <com.android.settingslib.widget.ActionButtonsPreference
-        android:key="actions"
-        android:selectable="true" />
-
-    <PreferenceCategory
-            android:title="@string/mode_interruption_filter_title"
-            android:key="modes_filters">
-        <Preference
-                android:key="zen_mode_people"
-                android:title="@string/zen_category_people"/>
-
-        <Preference
-            android:key="zen_mode_apps"
-            android:title="@string/zen_category_apps" />
-
-        <Preference
-                android:key="zen_other_settings"
-                android:title="@string/zen_category_exceptions" />
-    </PreferenceCategory>
+    <com.android.settings.applications.SpacePreference
+        android:layout_height="16dp" />
 
     <!-- automatic trigger section; preference changes programmatically depending on type -->
     <PreferenceCategory
         android:key="zen_automatic_trigger_category"
         android:title="@string/zen_mode_automatic_trigger_title">
+        <!-- For configuring the trigger on tap  and enabling/disabling the mode with the switch. -->
         <com.android.settingslib.PrimarySwitchPreference
             android:key="zen_automatic_trigger_settings" />
+        <!-- For adding a trigger for custom manual modes (no switch). -->
+        <Preference
+            android:key="zen_add_automatic_trigger"
+            android:title="@string/zen_mode_select_schedule"
+            android:icon="@drawable/ic_add_24dp" />
+    </PreferenceCategory>
+
+    <PreferenceCategory
+            android:title="@string/mode_interruption_filter_title"
+            android:key="modes_filters">
+
+        <SwitchPreferenceCompat
+            android:key="allow_all"
+            android:title="@string/zen_mode_allow_all_notifications"/>
+
+        <com.android.settings.notification.modes.CircularIconsPreference
+            android:key="zen_mode_people"
+            android:title="@string/zen_category_people"
+            android:icon="@drawable/ic_zen_mode_category_people" />
+
+        <com.android.settings.notification.modes.CircularIconsPreference
+            android:key="zen_mode_apps"
+            android:title="@string/zen_category_apps"
+            android:icon="@drawable/ic_zen_mode_category_apps" />
+
+        <com.android.settings.notification.modes.CircularIconsPreference
+            android:key="zen_other_settings"
+            android:title="@string/zen_category_exceptions"
+            android:icon="@drawable/ic_zen_mode_category_other" />
     </PreferenceCategory>
 
     <PreferenceCategory
@@ -61,6 +83,12 @@
             android:key="modes_additional_actions">
         <Preference
                 android:key="mode_display_settings"
-                android:title="@string/mode_display_settings_title" />
+                android:title="@string/mode_display_settings_title"
+                android:icon="@drawable/ic_zen_mode_category_display" />
+
+        <Preference
+                android:key="mode_manual_duration"
+                android:title="@string/zen_category_duration"
+                android:icon="@drawable/ic_zen_mode_category_duration" />
     </PreferenceCategory>
 </PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/modes_set_calendar.xml b/res/xml/modes_set_calendar.xml
index 02eb26e..be094f2 100644
--- a/res/xml/modes_set_calendar.xml
+++ b/res/xml/modes_set_calendar.xml
@@ -23,20 +23,18 @@
     android:title="@string/zen_mode_set_calendar_title">
 
     <PreferenceCategory
-        android:key="zen_mode_event_category"
-        android:title="@string/zen_mode_set_calendar_category_title">
+        android:key="zen_mode_event_category">
 
-        <!-- TODO: b/333682392 - use correct strings for below two prefs -->
         <!-- During events for -->
         <DropDownPreference
             android:key="calendar"
-            android:title="@string/zen_mode_event_rule_calendar"
+            android:title="@string/zen_mode_set_calendar_which_calendar"
             android:summary="%s" />
 
         <!-- Where reply is -->
         <DropDownPreference
             android:key="reply"
-            android:title="@string/zen_mode_event_rule_reply"
+            android:title="@string/zen_mode_set_calendar_which_reply"
             android:summary="%s" />
 
     </PreferenceCategory>
diff --git a/res/xml/more_security_privacy_settings.xml b/res/xml/more_security_privacy_settings.xml
index 799ff1e..f200493 100644
--- a/res/xml/more_security_privacy_settings.xml
+++ b/res/xml/more_security_privacy_settings.xml
@@ -92,7 +92,7 @@
                 "com.android.settings.sound.MediaControlsLockScreenPreferenceController" />
 
         <!-- Allow software fallback for camera extensions -->
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="privacy_camera_extensions_fallback"
             android:title="@string/camera_extensions_fallback_title"
             android:summary="@string/camera_extensions_fallback_description"
diff --git a/res/xml/network_provider_internet.xml b/res/xml/network_provider_internet.xml
index 2a08aae..e4ebe788 100644
--- a/res/xml/network_provider_internet.xml
+++ b/res/xml/network_provider_internet.xml
@@ -29,7 +29,8 @@
         android:order="-30"
         settings:allowDividerAbove="true"
         settings:keywords="@string/keywords_internet"
-        settings:useAdminDisabledSummary="true" />
+        settings:useAdminDisabledSummary="true"
+        settings:controller="com.android.settings.network.InternetPreferenceControllerV2" />
 
     <com.android.settingslib.RestrictedPreference
         android:key="calls_and_sms"
diff --git a/res/xml/physical_keyboard_a11y_settings.xml b/res/xml/physical_keyboard_a11y_settings.xml
new file mode 100644
index 0000000..eb787d0
--- /dev/null
+++ b/res/xml/physical_keyboard_a11y_settings.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright 2024 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT 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/keyboard_a11y_settings"
+    android:key="physical_keyboard_a11y">
+
+    <PreferenceCategory
+        android:key="keyboard_a11y_category"
+        android:title="@string/keyboard_a11y_category">
+
+        <SwitchPreferenceCompat
+            android:key="accessibility_sticky_keys"
+            android:title="@string/sticky_keys"
+            android:summary="@string/sticky_keys_summary"
+            android:defaultValue="false"
+            settings:controller="com.android.settings.inputmethod.KeyboardAccessibilityStickyKeysController"/>
+
+        <SwitchPreferenceCompat
+            android:key="accessibility_bounce_keys"
+            android:title="@string/bounce_keys"
+            android:defaultValue="false"
+            settings:controller="com.android.settings.inputmethod.KeyboardAccessibilityBounceKeysController"/>
+
+        <SwitchPreferenceCompat
+            android:key="accessibility_slow_keys"
+            android:title="@string/slow_keys"
+            android:defaultValue="false"
+            settings:controller="com.android.settings.inputmethod.KeyboardAccessibilitySlowKeysController" />
+
+        <SwitchPreferenceCompat
+            android:key="accessibility_mouse_keys"
+            android:title="@string/mouse_keys"
+            android:summary="@string/mouse_keys_summary"
+            android:defaultValue="false"
+            settings:controller="com.android.settings.inputmethod.KeyboardAccessibilityMouseKeysController" />
+
+    </PreferenceCategory>
+
+
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/physical_keyboard_settings.xml b/res/xml/physical_keyboard_settings.xml
index 5b545bb..1527ff5 100644
--- a/res/xml/physical_keyboard_settings.xml
+++ b/res/xml/physical_keyboard_settings.xml
@@ -21,12 +21,6 @@
     <PreferenceCategory
         android:key="keyboard_options_category"
         android:title="@string/keyboard_options_category">
-        <SwitchPreferenceCompat
-            android:key="show_virtual_keyboard_switch"
-            android:title="@string/show_ime"
-            android:summary="@string/show_ime_summary"
-            android:defaultValue="false" />
-
         <Preference
             android:key="keyboard_shortcuts_helper"
             android:title="@string/keyboard_shortcuts_helper"
@@ -37,6 +31,11 @@
             android:title="@string/modifier_keys_settings"
             android:summary="@string/modifier_keys_settings_summary"
             android:fragment="com.android.settings.inputmethod.ModifierKeysSettings" />
+        <Preference
+            android:key="physical_keyboard_a11y"
+            android:title="@string/keyboard_a11y_settings"
+            android:summary="@string/keyboard_a11y_settings_summary"
+            android:fragment="com.android.settings.inputmethod.PhysicalKeyboardA11yFragment" />
     </PreferenceCategory>
 
     <PreferenceCategory
@@ -59,5 +58,11 @@
             android:title="@string/slow_keys"
             android:defaultValue="false" />
 
+        <SwitchPreferenceCompat
+            android:key="accessibility_mouse_keys"
+            android:title="@string/mouse_keys"
+            android:summary="@string/mouse_keys_summary"
+            android:defaultValue="false" />
+
     </PreferenceCategory>
 </PreferenceScreen>
diff --git a/res/xml/polite_notifications_settings.xml b/res/xml/polite_notifications_settings.xml
index 3baf88f..c0b3980 100644
--- a/res/xml/polite_notifications_settings.xml
+++ b/res/xml/polite_notifications_settings.xml
@@ -17,20 +17,20 @@
 
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:title="@string/notification_polite_title">
 
     <com.android.settingslib.widget.TopIntroPreference
         android:key="polite_notification_desc"
         android:title="@string/notification_polite_description"/>
 
-<!--    TODO(b/330606963): add the illustration back when animation is ready-->
-<!--    <com.android.settingslib.widget.IllustrationPreference-->
-<!--        android:key="bubbles_illustration"-->
-<!--        settings:searchable="false"-->
-<!--        android:selectable="false"-->
-<!--        app:lottie_rawRes="@raw/lottie_bubbles"-->
-<!--        app:lottie_cacheComposition="false"-->
-<!--        settings:dynamicColor="true" />-->
+    <com.android.settingslib.widget.IllustrationPreference
+        android:key="notification_cooldown_illustration"
+        settings:searchable="false"
+        android:selectable="false"
+        app:lottie_rawRes="@raw/lottie_notification_cooldown"
+        app:lottie_cacheComposition="false"
+        settings:dynamicColor="true"/>
 
     <com.android.settingslib.widget.MainSwitchPreference
         android:key="polite_notification_global_pref"
diff --git a/res/xml/power_usage_advanced.xml b/res/xml/power_usage_advanced.xml
index c129453..f2c3d87 100644
--- a/res/xml/power_usage_advanced.xml
+++ b/res/xml/power_usage_advanced.xml
@@ -23,11 +23,12 @@
 
     <PreferenceCategory
         android:key="battery_tips_category"
+        android:layout="@layout/preference_category_no_label"
         settings:controller=
             "com.android.settings.fuelgauge.batteryusage.BatteryTipsController"
         settings:isPreferenceVisible="false">
 
-        <com.android.settings.fuelgauge.batteryusage.BatteryTipsCardPreference
+        <com.android.settings.widget.TipCardPreference
             android:key="battery_tips_card"
             settings:isPreferenceVisible="false" />
 
@@ -56,12 +57,13 @@
             "com.android.settings.fuelgauge.batteryusage.BatteryUsageBreakdownController"
         settings:isPreferenceVisible="false">
 
-        <com.android.settings.fuelgauge.batteryusage.SpinnerPreference
+        <com.android.settingslib.widget.SettingsSpinnerPreference
             android:key="battery_usage_spinner"
             settings:isPreferenceVisible="false" />
 
         <PreferenceCategory
             android:key="app_list"
+            android:layout="@layout/preference_category_no_label"
             settings:isPreferenceVisible="false" />
 
         <com.android.settingslib.widget.FooterPreference
diff --git a/res/xml/private_space_hide_locked.xml b/res/xml/private_space_hide_locked.xml
index d166b73..56dd151 100644
--- a/res/xml/private_space_hide_locked.xml
+++ b/res/xml/private_space_hide_locked.xml
@@ -21,7 +21,8 @@
     <com.android.settingslib.widget.IllustrationPreference
         android:key="private_space_hide_illustration"
         settings:searchable="false"
-        settings:lottie_rawRes="@raw/private_space_hide_when_locked_illustration"/>
+        settings:lottie_rawRes="@raw/private_space_hide_when_locked_illustration"
+        settings:controller="com.android.settings.privatespace.HidePrivateSpaceIllustrationController"/>
 
     <com.android.settingslib.widget.MainSwitchPreference
         android:key="hide_when_locked"
@@ -35,7 +36,9 @@
         settings:searchable="false" />
 
     <PreferenceCategory
-        android:title="@string/private_space_access_header">
+        android:key="private_space_access"
+        android:title="@string/private_space_access_header"
+        settings:controller="com.android.settings.privatespace.HidePrivateSpaceCategoryController">
 
         <Preference
         android:key="search_when_locked_footer"
diff --git a/res/xml/regional_preference_main_page.xml b/res/xml/regional_preference_main_page.xml
index 2746caa..5c46f8c 100644
--- a/res/xml/regional_preference_main_page.xml
+++ b/res/xml/regional_preference_main_page.xml
@@ -16,7 +16,8 @@
 
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:title="@string/regional_preferences_title">
+    android:title="@string/regional_preferences_title"
+    android:key="regional_preferences">
 
     <com.android.settingslib.widget.TopIntroPreference
         android:title="@string/regional_preferences_main_page_sub_title"
diff --git a/res/xml/regional_preference_numbering_system_page.xml b/res/xml/regional_preference_numbering_system_page.xml
index 9263c09..b15dd8a 100644
--- a/res/xml/regional_preference_numbering_system_page.xml
+++ b/res/xml/regional_preference_numbering_system_page.xml
@@ -13,4 +13,6 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" />
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:key="regional_preference_numbering_system"/>
diff --git a/res/xml/regional_preferences_first_day_of_week.xml b/res/xml/regional_preferences_first_day_of_week.xml
index 2d0bec3..d9de5e5 100644
--- a/res/xml/regional_preferences_first_day_of_week.xml
+++ b/res/xml/regional_preferences_first_day_of_week.xml
@@ -17,7 +17,8 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:title="@string/first_day_of_week_preferences_title">
+    android:title="@string/first_day_of_week_preferences_title"
+    android:key="regional_preference_first_day_of_week">
 
     <com.android.settingslib.widget.TopIntroPreference
         android:title="@string/regional_preferences_option_page_sub_title"
diff --git a/res/xml/regional_preferences_temperature.xml b/res/xml/regional_preferences_temperature.xml
index 547dd38..2519dfa 100644
--- a/res/xml/regional_preferences_temperature.xml
+++ b/res/xml/regional_preferences_temperature.xml
@@ -17,7 +17,8 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:title="@string/temperature_preferences_title">
+    android:title="@string/temperature_preferences_title"
+    android:key="regional_preference_temperature">
 
     <com.android.settingslib.widget.TopIntroPreference
         android:title="@string/regional_preferences_option_page_sub_title"
diff --git a/res/xml/security_advanced_settings.xml b/res/xml/security_advanced_settings.xml
index c220e99..f1556d6 100644
--- a/res/xml/security_advanced_settings.xml
+++ b/res/xml/security_advanced_settings.xml
@@ -140,13 +140,13 @@
             settings:controller="com.android.settings.security.VisiblePatternProfilePreferenceController" />
 
         <com.android.settingslib.RestrictedPreference
-            android:key="fingerprint_settings_profile"
-            android:title="@string/security_settings_work_fingerprint_preference_title"
+            android:key="face_settings_profile"
+            android:title="@string/security_settings_face_profile_preference_title"
             android:summary="@string/summary_placeholder" />
 
         <com.android.settingslib.RestrictedPreference
-            android:key="face_settings_profile"
-            android:title="@string/security_settings_face_profile_preference_title"
+            android:key="fingerprint_settings_profile"
+            android:title="@string/security_settings_work_fingerprint_preference_title"
             android:summary="@string/summary_placeholder" />
 
         <com.android.settingslib.RestrictedPreference
diff --git a/res/xml/security_settings_combined_biometric_profile.xml b/res/xml/security_settings_combined_biometric_profile.xml
index 1ab4106..42078f5 100644
--- a/res/xml/security_settings_combined_biometric_profile.xml
+++ b/res/xml/security_settings_combined_biometric_profile.xml
@@ -27,19 +27,19 @@
         android:title="@string/biometric_settings_category_ways_to_unlock">
 
         <com.android.settingslib.RestrictedPreference
-            android:key="biometric_fingerprint_settings_profile"
-            android:title="@string/security_settings_work_fingerprint_preference_title"
-            android:summary="@string/summary_placeholder"
-            settings:keywords="@string/keywords_fingerprint_settings"
-            settings:controller="com.android.settings.biometrics.combination.BiometricFingerprintProfileStatusPreferenceController" />
-
-        <com.android.settingslib.RestrictedPreference
             android:key="biometric_face_settings_profile"
             android:title="@string/security_settings_face_profile_preference_title"
             android:summary="@string/summary_placeholder"
             settings:keywords="@string/keywords_face_settings"
             settings:controller="com.android.settings.biometrics.combination.BiometricFaceProfileStatusPreferenceController" />
 
+        <com.android.settingslib.RestrictedPreference
+            android:key="biometric_fingerprint_settings_profile"
+            android:title="@string/security_settings_work_fingerprint_preference_title"
+            android:summary="@string/summary_placeholder"
+            settings:keywords="@string/keywords_fingerprint_settings"
+            settings:controller="com.android.settings.biometrics.combination.BiometricFingerprintProfileStatusPreferenceController" />
+
     </PreferenceCategory>
 
     <PreferenceCategory
diff --git a/res/xml/security_settings_fingerprint_limbo.xml b/res/xml/security_settings_fingerprint_limbo.xml
index 02a3dfb..8b97c83 100644
--- a/res/xml/security_settings_fingerprint_limbo.xml
+++ b/res/xml/security_settings_fingerprint_limbo.xml
@@ -18,7 +18,8 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:title="@string/security_settings_fingerprint_preference_title">
+    android:title="@string/security_settings_fingerprint_preference_title"
+    settings:searchable="false">
 
     <PreferenceCategory
         android:key="security_settings_fingerprints_enrolled"
diff --git a/res/xml/system_dashboard_fragment.xml b/res/xml/system_dashboard_fragment.xml
index 6225f4f..621a325 100644
--- a/res/xml/system_dashboard_fragment.xml
+++ b/res/xml/system_dashboard_fragment.xml
@@ -39,7 +39,7 @@
 
     <Preference
         android:key="trackpad_settings"
-        android:title="@string/trackpad_settings"
+        android:title="@string/trackpad_mouse_settings"
         android:summary="@string/trackpad_settings_summary"
         android:icon="@drawable/ic_settings_trackpad"
         android:order="-254"
diff --git a/res/xml/terms_of_address.xml b/res/xml/terms_of_address.xml
index a29a55c3..90cbe52 100644
--- a/res/xml/terms_of_address.xml
+++ b/res/xml/terms_of_address.xml
@@ -17,7 +17,8 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:title="@string/terms_of_address_title">
+    android:title="@string/terms_of_address_title"
+    android:key="terms_of_address">
 
     <com.android.settingslib.widget.TopIntroPreference
         android:title="@string/terms_of_address_intro_title"
diff --git a/res/xml/top_level_settings.xml b/res/xml/top_level_settings.xml
index 31c6af3..1ec968a 100644
--- a/res/xml/top_level_settings.xml
+++ b/res/xml/top_level_settings.xml
@@ -68,6 +68,16 @@
         android:summary="@string/notification_dashboard_summary"
         settings:highlightableMenuKey="@string/menu_key_notifications"/>
 
+    <com.android.settings.widget.RestrictedHomepagePreference
+        android:fragment="com.android.settings.notification.modes.ZenModesListFragment"
+        android:icon="@*android:drawable/ic_zen_priority_modes"
+        android:key="top_level_priority_modes"
+        android:order="-115"
+        android:title="@string/zen_modes_list_title"
+        settings:useAdminDisabledSummary="true"
+        settings:highlightableMenuKey="@string/menu_key_priority_modes"
+        settings:controller="com.android.settings.notification.modes.ZenModesLinkPreferenceController"/>
+
     <com.android.settings.widget.HomepagePreference
         android:fragment="com.android.settings.fuelgauge.batteryusage.PowerUsageSummary"
         android:icon="@drawable/ic_settings_battery_white"
diff --git a/res/xml/top_level_settings_v2.xml b/res/xml/top_level_settings_v2.xml
index 058b77f..fe98a71 100644
--- a/res/xml/top_level_settings_v2.xml
+++ b/res/xml/top_level_settings_v2.xml
@@ -82,6 +82,16 @@
             android:summary="@string/sound_dashboard_summary"
             settings:highlightableMenuKey="@string/menu_key_sound"/>
 
+        <com.android.settings.widget.RestrictedHomepagePreference
+            android:fragment="com.android.settings.notification.modes.ZenModesListFragment"
+            android:icon="@*android:drawable/ic_zen_priority_modes"
+            android:key="top_level_priority_modes"
+            android:order="-35"
+            android:title="@string/zen_modes_list_title"
+            settings:useAdminDisabledSummary="true"
+            settings:highlightableMenuKey="@string/menu_key_priority_modes"
+            settings:controller="com.android.settings.notification.modes.ZenModesLinkPreferenceController"/>
+
         <com.android.settings.widget.HomepagePreference
             android:fragment="com.android.settings.communal.CommunalDashboardFragment"
             android:icon="@drawable/ia_settings_communal"
diff --git a/res/xml/trackpad_settings.xml b/res/xml/trackpad_settings.xml
index 1eb16b7..935de82 100644
--- a/res/xml/trackpad_settings.xml
+++ b/res/xml/trackpad_settings.xml
@@ -18,7 +18,7 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:title="@string/trackpad_settings">
+    android:title="@string/trackpad_mouse_settings">
     <Preference
         android:key="trackpad_gesture_settings"
         android:title="@string/trackpad_touchpad_gesture_title"
@@ -66,9 +66,26 @@
         android:key="pointer_fill_style"
         android:title="@string/pointer_fill_style"
         android:order="50"
-        android:dialogTitle="@string/pointer_fill_style"
         settings:controller="com.android.settings.inputmethod.PointerFillStylePreferenceController"/>
 
+    <com.android.settings.inputmethod.PointerStrokeStylePreference
+        android:key="pointer_stroke_style"
+        android:title="@string/pointer_stroke_style"
+        android:order="60"
+        settings:controller="com.android.settings.inputmethod.PointerStrokeStylePreferenceController"/>
+
+    <com.android.settings.widget.LabeledSeekBarPreference
+        android:key="pointer_scale"
+        android:title="@string/pointer_scale"
+        android:order="70"
+        android:max="@integer/pointer_scale_seek_bar_end"
+        settings:iconStart="@drawable/ic_remove_24dp"
+        settings:searchable="false"
+        settings:iconStartContentDescription="@string/pointer_scale_decrease_content_description"
+        settings:iconEnd="@drawable/ic_add_24dp"
+        settings:iconEndContentDescription="@string/pointer_scale_increase_content_description"
+        settings:controller="com.android.settings.inputmethod.PointerScaleSeekBarController" />
+
     <com.android.settingslib.widget.ButtonPreference
         android:key="trackpad_touch_gesture"
         android:title="@string/trackpad_touch_gesture"
diff --git a/res/xml/wifi_network_details_fragment2.xml b/res/xml/wifi_network_details_fragment2.xml
index 518b65d..da4ea5a 100644
--- a/res/xml/wifi_network_details_fragment2.xml
+++ b/res/xml/wifi_network_details_fragment2.xml
@@ -35,6 +35,11 @@
         android:icon="@drawable/ic_info_outline_24dp"
         android:selectable="false"/>
 
+    <com.android.settingslib.widget.BannerMessagePreference
+        android:key="wep_less_secure_warning"
+        android:title="@string/wep_network_less_secure_warning_title"
+        settings:controller="com.android.settings.wifi.WepLessSecureWarningController"/>
+
     <!-- Buttons -->
     <com.android.settingslib.widget.ActionButtonsPreference
         android:key="buttons"
diff --git a/res/xml/zen_mode_apps_settings.xml b/res/xml/zen_mode_apps_settings.xml
index 4ee14e4..a452143 100644
--- a/res/xml/zen_mode_apps_settings.xml
+++ b/res/xml/zen_mode_apps_settings.xml
@@ -34,11 +34,6 @@
             android:title="@string/zen_mode_apps_none_apps"
             settings:searchable="false"/>
 
-        <com.android.settingslib.widget.SelectorWithWidgetPreference
-            android:key="zen_mode_apps_all"
-            android:title="@string/zen_mode_apps_all_apps"
-            settings:searchable="false"/>
-
     </PreferenceCategory>
 
 </PreferenceScreen>
\ No newline at end of file
diff --git a/src/com/android/settings/MainClear.java b/src/com/android/settings/MainClear.java
index 0639037..711d794 100644
--- a/src/com/android/settings/MainClear.java
+++ b/src/com/android/settings/MainClear.java
@@ -99,6 +99,7 @@
     static final int KEYGUARD_REQUEST = 55;
     @VisibleForTesting
     static final int CREDENTIAL_CONFIRM_REQUEST = 56;
+    static final int BIOMETRICS_REQUEST = 57;
     private static final String KEY_SHOW_ESIM_RESET_CHECKBOX =
             "masterclear.allow_retain_esim_profiles_after_fdr";
 
@@ -156,7 +157,8 @@
 
     @VisibleForTesting
     boolean isValidRequestCode(int requestCode) {
-        return !((requestCode != KEYGUARD_REQUEST) && (requestCode != CREDENTIAL_CONFIRM_REQUEST));
+        return !((requestCode != KEYGUARD_REQUEST) && (requestCode != CREDENTIAL_CONFIRM_REQUEST)
+                && (requestCode != BIOMETRICS_REQUEST));
     }
 
     @Override
@@ -179,9 +181,24 @@
             return;
         }
 
+        if (requestCode == KEYGUARD_REQUEST) {
+            final int userId = getActivity().getUserId();
+            final Utils.BiometricStatus biometricAuthStatus =
+                    Utils.requestBiometricAuthenticationForMandatoryBiometrics(getActivity(),
+                            false /* biometricsAuthenticationRequested */,
+                            userId);
+            if (biometricAuthStatus == Utils.BiometricStatus.OK) {
+                Utils.launchBiometricPromptForMandatoryBiometrics(this, BIOMETRICS_REQUEST,
+                        userId, false /* hideBackground */);
+                return;
+            } else if (biometricAuthStatus != Utils.BiometricStatus.NOT_ACTIVE) {
+                return;
+            }
+        }
+
         Intent intent = null;
         // If returning from a Keyguard request, try to show an account confirmation request if
-        // applciable.
+        // applicable.
         if (CREDENTIAL_CONFIRM_REQUEST != requestCode
                 && (intent = getAccountConfirmationIntent()) != null) {
             showAccountCredentialConfirmation(intent);
diff --git a/src/com/android/settings/MainClearConfirm.java b/src/com/android/settings/MainClearConfirm.java
index 042c5c2..a5fbebf 100644
--- a/src/com/android/settings/MainClearConfirm.java
+++ b/src/com/android/settings/MainClearConfirm.java
@@ -89,8 +89,7 @@
             final PersistentDataBlockManager pdbManager;
             // pre-flight check hardware support PersistentDataBlockManager
             if (!SystemProperties.get(PERSISTENT_DATA_BLOCK_PROP).equals("")) {
-                pdbManager = (PersistentDataBlockManager)
-                    getActivity().getSystemService(Context.PERSISTENT_DATA_BLOCK_SERVICE);
+                pdbManager = getActivity().getSystemService(PersistentDataBlockManager.class);
             } else {
                 pdbManager = null;
             }
@@ -152,6 +151,11 @@
             return false;
         }
 
+        // Do not try to erase factory reset protection data if the protection is alive.
+        if (pdbManager.isFactoryResetProtectionActive()) {
+            return false;
+        }
+
         // The persistent data block will persist if the device is still being provisioned.
         if (isDeviceStillBeingProvisioned()) {
             return false;
diff --git a/src/com/android/settings/ResetNetwork.java b/src/com/android/settings/ResetNetwork.java
index c91ef5c..ad9f35e 100644
--- a/src/com/android/settings/ResetNetwork.java
+++ b/src/com/android/settings/ResetNetwork.java
@@ -52,6 +52,7 @@
 import com.android.settings.network.telephony.EuiccRacConnectivityDialogActivity;
 import com.android.settings.password.ChooseLockSettingsHelper;
 import com.android.settings.password.ConfirmLockPattern;
+import com.android.settings.system.reset.ResetNetworkConfirm;
 import com.android.settingslib.development.DevelopmentSettingsEnabler;
 
 import java.util.ArrayList;
@@ -131,7 +132,6 @@
         if (Flags.resetMobileNetworkSettings()) {
             resetOptions |= ResetNetworkRequest.RESET_IMS_STACK;
             resetOptions |= ResetNetworkRequest.RESET_PHONE_PROCESS;
-            resetOptions |= ResetNetworkRequest.RESET_RILD;
         }
         ResetNetworkRequest request = new ResetNetworkRequest(resetOptions);
         if (mSubscriptions != null && mSubscriptions.size() > 0) {
diff --git a/src/com/android/settings/ResetNetworkConfirm.java b/src/com/android/settings/ResetNetworkConfirm.java
deleted file mode 100644
index c707b96..0000000
--- a/src/com/android/settings/ResetNetworkConfirm.java
+++ /dev/null
@@ -1,247 +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;
-
-import android.app.Activity;
-import android.app.ProgressDialog;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.os.AsyncTask;
-import android.os.Bundle;
-import android.os.Looper;
-import android.telephony.SubscriptionManager;
-import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.Button;
-import android.widget.TextView;
-import android.widget.Toast;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.appcompat.app.AlertDialog;
-
-import com.android.settings.core.InstrumentedFragment;
-import com.android.settings.network.ResetNetworkOperationBuilder;
-import com.android.settings.network.ResetNetworkRestrictionViewBuilder;
-
-import java.util.concurrent.atomic.AtomicBoolean;
-
-/**
- * Confirm and execute a reset of the network settings to a clean "just out of the box"
- * state.  Multiple confirmations are required: first, a general "are you sure
- * you want to do this?" prompt, followed by a keyguard pattern trace if the user
- * has defined one, followed by a final strongly-worded "THIS WILL RESET EVERYTHING"
- * prompt.  If at any time the phone is allowed to go to sleep, is
- * locked, et cetera, then the confirmation sequence is abandoned.
- *
- * This is the confirmation screen.
- */
-public class ResetNetworkConfirm extends InstrumentedFragment {
-    private static final String TAG = "ResetNetworkConfirm";
-
-    @VisibleForTesting View mContentView;
-    @VisibleForTesting ResetNetworkTask mResetNetworkTask;
-    @VisibleForTesting Activity mActivity;
-    @VisibleForTesting ResetNetworkRequest mResetNetworkRequest;
-    private ProgressDialog mProgressDialog;
-    private AlertDialog mAlertDialog;
-    @VisibleForTesting ResetSubscriptionContract mResetSubscriptionContract;
-    private OnSubscriptionsChangedListener mSubscriptionsChangedListener;
-
-    /**
-     * Async task used to do all reset task. If error happens during
-     * erasing eSIM profiles or timeout, an error msg is shown.
-     */
-    private class ResetNetworkTask extends AsyncTask<Void, Void, Boolean> {
-        private static final String TAG = "ResetNetworkTask";
-
-        private final Context mContext;
-
-        ResetNetworkTask(Context context) {
-            mContext = context;
-        }
-
-        @Override
-        protected Boolean doInBackground(Void... params) {
-            final AtomicBoolean resetEsimSuccess = new AtomicBoolean(true);
-
-            String resetEsimPackageName = mResetNetworkRequest.getResetEsimPackageName();
-            ResetNetworkOperationBuilder builder = mResetNetworkRequest
-                    .toResetNetworkOperationBuilder(mContext, Looper.getMainLooper());
-            if (resetEsimPackageName != null) {
-                // Override reset eSIM option for the result of reset operation
-                builder = builder.resetEsim(resetEsimPackageName,
-                        success -> { resetEsimSuccess.set(success); }
-                        );
-            }
-            builder.build().run();
-
-            boolean isResetSucceed = resetEsimSuccess.get();
-            Log.d(TAG, "network factoryReset complete. succeeded: "
-                    + String.valueOf(isResetSucceed));
-            return isResetSucceed;
-        }
-
-        @Override
-        protected void onPostExecute(Boolean succeeded) {
-            if (mProgressDialog != null && mProgressDialog.isShowing()) {
-                mProgressDialog.dismiss();
-            }
-
-            if (succeeded) {
-                Toast.makeText(mContext, R.string.reset_network_complete_toast, Toast.LENGTH_SHORT)
-                        .show();
-            } else {
-                mAlertDialog = new AlertDialog.Builder(mContext)
-                        .setTitle(R.string.reset_esim_error_title)
-                        .setMessage(R.string.reset_esim_error_msg)
-                        .setPositiveButton(android.R.string.ok, null /* listener */)
-                        .show();
-            }
-        }
-    }
-
-    /**
-     * The user has gone through the multiple confirmation, so now we go ahead
-     * and reset the network settings to its factory-default state.
-     */
-    @VisibleForTesting
-    Button.OnClickListener mFinalClickListener = new Button.OnClickListener() {
-
-        @Override
-        public void onClick(View v) {
-            if (Utils.isMonkeyRunning()) {
-                return;
-            }
-
-            // abandon execution if subscription no longer active
-            Integer subId = mResetSubscriptionContract.getAnyMissingSubscriptionId();
-            if (subId != null) {
-                Log.w(TAG, "subId " + subId + " no longer active");
-                getActivity().onBackPressed();
-                return;
-            }
-
-            // Should dismiss the progress dialog firstly if it is showing
-            // Or not the progress dialog maybe not dismissed in fast clicking.
-            if (mProgressDialog != null && mProgressDialog.isShowing()) {
-                mProgressDialog.dismiss();
-            }
-
-            mProgressDialog = getProgressDialog(mActivity);
-            mProgressDialog.show();
-
-            mResetNetworkTask = new ResetNetworkTask(mActivity);
-            mResetNetworkTask.execute();
-        }
-    };
-
-    private ProgressDialog getProgressDialog(Context context) {
-        final ProgressDialog progressDialog = new ProgressDialog(context);
-        progressDialog.setIndeterminate(true);
-        progressDialog.setCancelable(false);
-        progressDialog.setMessage(
-                context.getString(R.string.main_clear_progress_text));
-        return progressDialog;
-    }
-
-    /**
-     * Configure the UI for the final confirmation interaction
-     */
-    private void establishFinalConfirmationState() {
-        mContentView.findViewById(R.id.execute_reset_network)
-                .setOnClickListener(mFinalClickListener);
-    }
-
-    @VisibleForTesting
-    void setSubtitle() {
-        if (mResetNetworkRequest.getResetEsimPackageName() != null) {
-            ((TextView) mContentView.findViewById(R.id.reset_network_confirm))
-                    .setText(R.string.reset_network_final_desc_esim);
-        }
-    }
-
-    @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,
-            Bundle savedInstanceState) {
-        View view = (new ResetNetworkRestrictionViewBuilder(mActivity)).build();
-        if (view != null) {
-            mResetSubscriptionContract.close();
-            Log.w(TAG, "Access deny.");
-            return view;
-        }
-        mContentView = inflater.inflate(R.layout.reset_network_confirm, null);
-        establishFinalConfirmationState();
-        setSubtitle();
-        return mContentView;
-    }
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        Bundle args = getArguments();
-        if (args == null) {
-            args = savedInstanceState;
-        }
-        mResetNetworkRequest = new ResetNetworkRequest(args);
-
-        mActivity = getActivity();
-
-        mResetSubscriptionContract = new ResetSubscriptionContract(getContext(),
-                mResetNetworkRequest) {
-            @Override
-            public void onSubscriptionInactive(int subscriptionId) {
-                // close UI if subscription no longer active
-                Log.w(TAG, "subId " + subscriptionId + " no longer active.");
-                getActivity().onBackPressed();
-            }
-        };
-    }
-
-    @Override
-    public void onSaveInstanceState(Bundle outState) {
-        super.onSaveInstanceState(outState);
-        mResetNetworkRequest.writeIntoBundle(outState);
-    }
-
-    @Override
-    public void onDestroy() {
-        if (mResetNetworkTask != null) {
-            mResetNetworkTask.cancel(true /* mayInterruptIfRunning */);
-            mResetNetworkTask = null;
-        }
-        if (mResetSubscriptionContract != null) {
-            mResetSubscriptionContract.close();
-            mResetSubscriptionContract = null;
-        }
-        if (mProgressDialog != null) {
-            mProgressDialog.dismiss();
-        }
-        if (mAlertDialog != null) {
-            mAlertDialog.dismiss();
-        }
-        super.onDestroy();
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.RESET_NETWORK_CONFIRM;
-    }
-}
diff --git a/src/com/android/settings/ResetSubscriptionContract.java b/src/com/android/settings/ResetSubscriptionContract.java
deleted file mode 100644
index 528a16d..0000000
--- a/src/com/android/settings/ResetSubscriptionContract.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.content.Context;
-import android.telephony.SubscriptionManager;
-import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener;
-import android.util.Log;
-
-import androidx.annotation.VisibleForTesting;
-
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.stream.IntStream;
-
-/**
- * A Class monitoring the availability of subscription IDs provided within reset request.
- *
- * This is to detect the situation when user changing SIM card during the presenting of
- * confirmation UI.
- */
-public class ResetSubscriptionContract implements AutoCloseable {
-    private static final String TAG = "ResetSubscriptionContract";
-
-    private final Context mContext;
-    private ExecutorService mExecutorService;
-    private final int [] mResetSubscriptionIds;
-    @VisibleForTesting
-    protected OnSubscriptionsChangedListener mSubscriptionsChangedListener;
-    private AtomicBoolean mSubscriptionsUpdateNotify = new AtomicBoolean();
-
-    /**
-     * Constructor
-     * @param context Context
-     * @param resetRequest the request object for perform network reset operation.
-     */
-    public ResetSubscriptionContract(Context context, ResetNetworkRequest resetRequest) {
-        mContext = context;
-        // Only keeps specific subscription ID required to perform reset operation
-        IntStream subIdStream = IntStream.of(
-                resetRequest.getResetTelephonyAndNetworkPolicyManager(),
-                resetRequest.getResetApnSubId(), resetRequest.getResetImsSubId());
-        mResetSubscriptionIds = subIdStream.sorted().distinct()
-                .filter(id -> SubscriptionManager.isUsableSubscriptionId(id))
-                .toArray();
-
-        if (mResetSubscriptionIds.length <= 0) {
-            return;
-        }
-
-        // Monitoring callback through background thread
-        mExecutorService = Executors.newSingleThreadExecutor();
-        startMonitorSubscriptionChange();
-    }
-
-    /**
-     * A method for detecting if there's any subscription under monitor no longer active.
-     * @return subscription ID which is no longer active.
-     */
-    public Integer getAnyMissingSubscriptionId() {
-        if (mResetSubscriptionIds.length <= 0) {
-            return null;
-        }
-        SubscriptionManager mgr = getSubscriptionManager();
-        if (mgr == null) {
-            Log.w(TAG, "Fail to access subscription manager");
-            return mResetSubscriptionIds[0];
-        }
-        for (int idx = 0; idx < mResetSubscriptionIds.length; idx++) {
-            int subId = mResetSubscriptionIds[idx];
-            if (mgr.getActiveSubscriptionInfo(subId) == null) {
-                Log.w(TAG, "SubId " + subId + " no longer active.");
-                return subId;
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Async callback when detecting if there's any subscription under monitor no longer active.
-     * @param subscriptionId subscription ID which is no longer active.
-     */
-    public void onSubscriptionInactive(int subscriptionId) {}
-
-    @VisibleForTesting
-    protected SubscriptionManager getSubscriptionManager() {
-        return mContext.getSystemService(SubscriptionManager.class);
-    }
-
-    @VisibleForTesting
-    protected OnSubscriptionsChangedListener getChangeListener() {
-        return new OnSubscriptionsChangedListener() {
-            @Override
-            public void onSubscriptionsChanged() {
-                /**
-                 * Reducing the processing time on main UI thread through a flag.
-                 * Once flag get into false, which means latest callback has been
-                 * processed.
-                 */
-                mSubscriptionsUpdateNotify.set(true);
-
-                // Back to main UI thread
-                mContext.getMainExecutor().execute(() -> {
-                    // Remove notifications and perform checking.
-                    if (mSubscriptionsUpdateNotify.getAndSet(false)) {
-                        Integer subId = getAnyMissingSubscriptionId();
-                        if (subId != null) {
-                            onSubscriptionInactive(subId);
-                        }
-                    }
-                });
-            }
-        };
-    }
-
-    private void startMonitorSubscriptionChange() {
-        SubscriptionManager mgr = getSubscriptionManager();
-        if (mgr == null) {
-            return;
-        }
-        // update monitor listener
-        mSubscriptionsChangedListener = getChangeListener();
-
-        mgr.addOnSubscriptionsChangedListener(
-                mExecutorService, mSubscriptionsChangedListener);
-    }
-
-    // Implementation of AutoCloseable
-    public void close() {
-        if (mExecutorService == null) {
-            return;
-        }
-        // Stop monitoring subscription change
-        SubscriptionManager mgr = getSubscriptionManager();
-        if (mgr != null) {
-            mgr.removeOnSubscriptionsChangedListener(mSubscriptionsChangedListener);
-        }
-        // Release Executor
-        mExecutorService.shutdownNow();
-        mExecutorService = null;
-    }
-}
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 3367bf1..7678338 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -18,6 +18,8 @@
 
 import static android.provider.Settings.ACTION_PRIVACY_SETTINGS;
 
+import android.annotation.FlaggedApi;
+import android.app.Flags;
 import android.content.ActivityNotFoundException;
 import android.content.Intent;
 import android.os.Bundle;
@@ -25,6 +27,8 @@
 import android.text.TextUtils;
 import android.util.Log;
 
+import androidx.annotation.Nullable;
+
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.biometrics.face.FaceSettings;
 import com.android.settings.communal.CommunalPreferenceController;
@@ -33,6 +37,7 @@
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
 import com.android.settings.security.SecuritySettingsFeatureProvider;
+import com.android.settings.wifi.WifiUtils;
 
 import com.google.android.setupdesign.util.ThemeHelper;
 
@@ -71,7 +76,18 @@
     public static class NetworkProviderSettingsActivity extends SettingsActivity { /* empty */ }
     public static class NetworkSelectActivity extends SettingsActivity { /* empty */ }
     /** Activity for the Wi-Fi network details settings. */
-    public static class WifiDetailsSettingsActivity extends SettingsActivity { /* empty */ }
+    public static class WifiDetailsSettingsActivity extends SettingsActivity {
+        @Override
+        protected void createUiFromIntent(@Nullable Bundle savedState, Intent intent) {
+            Bundle bundle = intent.getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS);
+            if (TextUtils.isEmpty(bundle.getString(WifiUtils.KEY_CHOSEN_WIFIENTRY_KEY))) {
+                Log.e(getLocalClassName(), "The key of WifiEntry is empty!");
+                finishAndRemoveTask();
+                return;
+            }
+            super.createUiFromIntent(savedState, intent);
+        }
+    }
     public static class WifiP2pSettingsActivity extends SettingsActivity { /* empty */ }
     public static class AvailableVirtualKeyboardActivity extends SettingsActivity { /* empty */ }
     public static class KeyboardLayoutPickerActivity extends SettingsActivity { /* empty */ }
@@ -301,6 +317,7 @@
     public static class UserSettingsActivity extends SettingsActivity { /* empty */ }
     public static class NotificationAccessSettingsActivity extends SettingsActivity { /* empty */ }
     public static class NotificationAccessDetailsActivity extends SettingsActivity { /* empty */ }
+    public static class ManageAdaptiveNotificationsActivity extends SettingsActivity { /* empty */ }
     public static class VrListenersSettingsActivity extends SettingsActivity { /* empty */ }
     public static class PremiumSmsAccessActivity extends SettingsActivity { /* empty */ }
     public static class PictureInPictureSettingsActivity extends SettingsActivity { /* empty */ }
@@ -317,11 +334,13 @@
     public static class PrintSettingsActivity extends SettingsActivity { /* empty */ }
     public static class PrintJobSettingsActivity extends SettingsActivity { /* empty */ }
     public static class ZenModeSettingsActivity extends SettingsActivity { /* empty */ }
-    public static class ZenModeBehaviorSettingsActivity extends SettingsActivity { /* empty */ }
-    public static class ZenModeBlockedEffectsSettingsActivity extends SettingsActivity { /* empty */ }
     public static class ZenModeAutomationSettingsActivity extends SettingsActivity { /* empty */ }
     public static class ZenModeScheduleRuleSettingsActivity extends SettingsActivity { /* empty */ }
     public static class ZenModeEventRuleSettingsActivity extends SettingsActivity { /* empty */ }
+    @FlaggedApi(Flags.FLAG_MODES_UI)
+    public static class ModeSettingsActivity extends SettingsActivity { /* empty */ }
+    @FlaggedApi(Flags.FLAG_MODES_UI)
+    public static class ModesSettingsActivity extends SettingsActivity { /* empty */ }
     public static class SoundSettingsActivity extends SettingsActivity { /* empty */ }
     public static class ConfigureNotificationSettingsActivity extends SettingsActivity { /* empty */ }
     public static class ConversationListSettingsActivity extends SettingsActivity { /* empty */ }
@@ -428,7 +447,7 @@
             super.onNewIntent(intent);
 
             Log.d(TAG, "Starting onNewIntent");
-
+            setIntent(intent);
             createUiFromIntent(null /* savedState */, convertIntent(intent));
         }
 
diff --git a/src/com/android/settings/SettingsApplication.java b/src/com/android/settings/SettingsApplication.java
index 7d5d2c7..7e008e4 100644
--- a/src/com/android/settings/SettingsApplication.java
+++ b/src/com/android/settings/SettingsApplication.java
@@ -16,9 +16,13 @@
 
 package com.android.settings;
 
+import static com.android.settingslib.flags.Flags.settingsCatalyst;
+
 import android.app.Application;
 import android.content.Context;
+import android.content.pm.PackageManager;
 import android.database.ContentObserver;
+import android.hardware.fingerprint.FingerprintManager;
 import android.net.Uri;
 import android.provider.Settings;
 import android.util.FeatureFlagUtils;
@@ -31,6 +35,7 @@
 import com.android.settings.biometrics.fingerprint2.BiometricsEnvironment;
 import com.android.settings.core.instrumentation.ElapsedTimeUtils;
 import com.android.settings.development.DeveloperOptionsActivityLifecycle;
+import com.android.settings.flags.Flags;
 import com.android.settings.fuelgauge.BatterySettingsStorage;
 import com.android.settings.homepage.SettingsHomepageActivity;
 import com.android.settings.localepicker.LocaleNotificationDataManager;
@@ -39,17 +44,24 @@
 import com.android.settings.spa.SettingsSpaEnvironment;
 import com.android.settingslib.applications.AppIconCacheManager;
 import com.android.settingslib.datastore.BackupRestoreStorageManager;
+import com.android.settingslib.metadata.PreferenceScreenMetadata;
+import com.android.settingslib.metadata.PreferenceScreenRegistry;
+import com.android.settingslib.metadata.ProvidePreferenceScreenOptions;
 import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory;
 
 import com.google.android.setupcompat.util.WizardManagerHelper;
 
 import java.lang.ref.WeakReference;
+import java.util.List;
 
 /** Settings application which sets up activity embedding rules for the large screen device. */
+@ProvidePreferenceScreenOptions(
+        codegenCollector = "com.android.settings/PreferenceScreenCollector/get"
+)
 public class SettingsApplication extends Application {
 
     private WeakReference<SettingsHomepageActivity> mHomeActivity = new WeakReference<>(null);
-    private BiometricsEnvironment mBiometricsEnvironment;
+    @Nullable private BiometricsEnvironment mBiometricsEnvironment;
 
     @Override
     protected void attachBaseContext(Context base) {
@@ -61,6 +73,11 @@
     public void onCreate() {
         super.onCreate();
 
+        if (settingsCatalyst()) {
+            PreferenceScreenRegistry.INSTANCE.setPreferenceScreensSupplier(
+                    this::getPreferenceScreens);
+        }
+
         BackupRestoreStorageManager.getInstance(this)
                 .add(
                         new BatterySettingsStorage(this),
@@ -73,7 +90,6 @@
 
         // Set Spa environment.
         setSpaEnvironment();
-        mBiometricsEnvironment = new BiometricsEnvironment(this);
 
         if (ActivityEmbeddingUtils.isSettingsSplitEnabled(this)
                 && FeatureFlagUtils.isEnabled(this,
@@ -88,6 +104,13 @@
         registerActivityLifecycleCallbacks(new DeveloperOptionsActivityLifecycle());
     }
 
+    /** Returns the screens using metadata. */
+    protected List<PreferenceScreenMetadata> getPreferenceScreens() {
+        // PreferenceScreenCollector is generated by annotation processor from classes annotated
+        // with @ProvidePreferenceScreen
+        return PreferenceScreenCollector.get(this);
+    }
+
     @Override
     public void onTerminate() {
         BackupRestoreStorageManager.getInstance(this).removeAll();
@@ -117,7 +140,20 @@
 
     @Nullable
     public BiometricsEnvironment getBiometricEnvironment() {
-        return mBiometricsEnvironment;
+        if (Flags.fingerprintV2Enrollment()) {
+            if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)) {
+                final FingerprintManager fpm = getSystemService(FingerprintManager.class);
+                if (mBiometricsEnvironment == null) {
+                    mBiometricsEnvironment = new BiometricsEnvironment(this, fpm);
+                }
+                return  mBiometricsEnvironment;
+
+            } else {
+                return null;
+            }
+
+        }
+        return null;
     }
 
     @Override
diff --git a/src/com/android/settings/SettingsPreferenceFragmentBase.java b/src/com/android/settings/SettingsPreferenceFragmentBase.java
new file mode 100644
index 0000000..dd2e287
--- /dev/null
+++ b/src/com/android/settings/SettingsPreferenceFragmentBase.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.os.Bundle;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.android.settingslib.search.Indexable;
+
+/**
+ * Base class for fragment suitable for unit testing.
+ */
+public abstract class SettingsPreferenceFragmentBase extends SettingsPreferenceFragment
+        implements Indexable {
+    @Override
+    @SuppressWarnings({"RequiresNullabilityAnnotation"})
+    public void onCreate(final Bundle icicle) {
+        super.onCreate(icicle);
+        onCreateCallback(icicle);
+    }
+
+    @Override
+    @SuppressWarnings({"RequiresNullabilityAnnotation"})
+    public void onActivityCreated(final Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+        onActivityCreatedCallback(savedInstanceState);
+    }
+
+    @Override
+    public void onSaveInstanceState(@NonNull final Bundle outState) {
+        super.onSaveInstanceState(outState);
+        onSaveInstanceStateCallback(outState);
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+        onStartCallback();
+    }
+
+    @Override
+    public void onStop() {
+        super.onStop();
+        onStopCallback();
+    }
+
+    protected Activity getCurrentActivity() {
+        return getActivity();
+    }
+
+    /**
+     * Callback called from {@link #onCreate}
+     */
+    public abstract void onCreateCallback(@Nullable Bundle icicle);
+
+    /**
+     * Callback called from {@link #onActivityCreated}
+     */
+    public abstract void onActivityCreatedCallback(@Nullable Bundle savedInstanceState);
+
+    /**
+     * Callback called from {@link #onStart}
+     */
+    public abstract void onStartCallback();
+
+    /**
+     * Callback called from {@link #onStop}
+     */
+    public abstract void onStopCallback();
+
+    /**
+     * Callback called from {@link #onSaveInstanceState}
+     */
+    public void onSaveInstanceStateCallback(@NonNull final Bundle outState) {
+        // Do nothing.
+    }
+}
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index 7ed6ba0..62a4ce3 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -24,6 +24,10 @@
 import static android.text.format.DateUtils.FORMAT_ABBREV_MONTH;
 import static android.text.format.DateUtils.FORMAT_SHOW_DATE;
 
+import static com.android.settings.password.ConfirmDeviceCredentialActivity.BIOMETRIC_PROMPT_AUTHENTICATORS;
+import static com.android.settings.password.ConfirmDeviceCredentialActivity.BIOMETRIC_PROMPT_HIDE_BACKGROUND;
+import static com.android.settings.password.ConfirmDeviceCredentialActivity.BIOMETRIC_PROMPT_NEGATIVE_BUTTON_TEXT;
+
 import android.app.ActionBar;
 import android.app.Activity;
 import android.app.ActivityManager;
@@ -54,6 +58,7 @@
 import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.VectorDrawable;
+import android.hardware.biometrics.BiometricManager;
 import android.hardware.biometrics.SensorProperties;
 import android.hardware.face.Face;
 import android.hardware.face.FaceManager;
@@ -122,6 +127,7 @@
 import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
 import com.android.settings.dashboard.profileselector.ProfileSelectFragment.ProfileType;
 import com.android.settings.password.ChooseLockSettingsHelper;
+import com.android.settings.password.ConfirmDeviceCredentialActivity;
 import com.android.settingslib.widget.ActionBarShadowController;
 import com.android.settingslib.widget.AdaptiveIcon;
 
@@ -194,6 +200,15 @@
     }
 
     /**
+     * Enum for returning biometric status.
+     * {@link OK} no error detected when requesting mandatory biometrics authentication
+     * {@link NOT_ACTIVE} mandatory biometrics is not active
+     * {@link LOCKOUT} biometric sensors are in lockout mode
+     * {@link ERROR} corresponds to other errors
+     */
+    public enum BiometricStatus {OK, NOT_ACTIVE, LOCKOUT, ERROR}
+
+    /**
      * Returns whether the device is voice-capable (meaning, it is also a phone).
      */
     public static boolean isVoiceCapable(Context context) {
@@ -1418,13 +1433,15 @@
     public static void setupEdgeToEdge(@NonNull FragmentActivity activity) {
         ViewCompat.setOnApplyWindowInsetsListener(activity.findViewById(android.R.id.content),
                 (v, windowInsets) -> {
-                    Insets insets = windowInsets.getInsets(
+                    final Insets insets = windowInsets.getInsets(
                             WindowInsetsCompat.Type.systemBars() | WindowInsetsCompat.Type.ime()
                                     | WindowInsetsCompat.Type.displayCutout());
-                    int statusBarHeight = activity.getWindow().getDecorView().getRootWindowInsets()
-                            .getInsets(WindowInsetsCompat.Type.statusBars()).top;
+                    int newInsetsTop = activity.getWindow().getDecorView().getRootWindowInsets()
+                            .getInsets(WindowInsetsCompat.Type.statusBars()
+                                    | WindowInsetsCompat.Type.captionBar()).top;
+
                     // Apply the insets paddings to the view.
-                    v.setPadding(insets.left, statusBarHeight, insets.right, insets.bottom);
+                    v.setPadding(insets.left, newInsetsTop, insets.right, insets.bottom);
 
                     // Return CONSUMED if you don't want the window insets to keep being
                     // passed down to descendant views.
@@ -1478,6 +1495,92 @@
         disableComponent(pm, new ComponentName(context, Settings.CreateShortcutActivity.class));
     }
 
+    /**
+     * Request biometric authentication if all requirements for mandatory biometrics is satisfied.
+     *
+     * @param context                           of the corresponding activity/fragment
+     * @param biometricsAuthenticationRequested if the activity/fragment has already requested for
+     *                                          biometric prompt
+     * @param userId                            user id for the authentication request
+     * @return biometric status when mandatory biometrics authentication is requested
+     */
+    public static BiometricStatus requestBiometricAuthenticationForMandatoryBiometrics(
+            @NonNull Context context,
+            boolean biometricsAuthenticationRequested, int userId) {
+        final BiometricManager biometricManager = context.getSystemService(BiometricManager.class);
+        if (biometricManager == null) {
+            Log.e(TAG, "Biometric Manager is null.");
+            return BiometricStatus.NOT_ACTIVE;
+        }
+        final int status = biometricManager.canAuthenticate(userId,
+                BiometricManager.Authenticators.MANDATORY_BIOMETRICS);
+        if (android.hardware.biometrics.Flags.mandatoryBiometrics()
+                && !biometricsAuthenticationRequested) {
+            switch(status) {
+                case BiometricManager.BIOMETRIC_SUCCESS:
+                    return BiometricStatus.OK;
+                case BiometricManager.BIOMETRIC_ERROR_LOCKOUT:
+                    return BiometricStatus.LOCKOUT;
+                case BiometricManager.BIOMETRIC_ERROR_MANDATORY_NOT_ACTIVE:
+                    return BiometricStatus.NOT_ACTIVE;
+                default:
+                    return BiometricStatus.ERROR;
+            }
+        }
+        return BiometricStatus.NOT_ACTIVE;
+    }
+
+    /**
+     * Launch biometric prompt for mandatory biometrics. Call
+     * {@link #requestBiometricAuthenticationForMandatoryBiometrics(Context, boolean, int)}
+     * to check if all requirements for mandatory biometrics is satisfied
+     * before launching biometric prompt.
+     *
+     * @param fragment       corresponding fragment of the surface
+     * @param requestCode    for starting the new activity
+     * @param userId         user id for the authentication request
+     * @param hideBackground if the background activity screen needs to be hidden
+     */
+    public static void launchBiometricPromptForMandatoryBiometrics(@NonNull Fragment fragment,
+            int requestCode, int userId, boolean hideBackground) {
+        fragment.startActivityForResult(getIntentForBiometricAuthentication(fragment.getResources(),
+                userId, hideBackground), requestCode);
+    }
+
+    /**
+     * Launch biometric prompt for mandatory biometrics. Call
+     * {@link #requestBiometricAuthenticationForMandatoryBiometrics(Context, boolean, int)}
+     * to check if all requirements for mandatory biometrics is satisfied
+     * before launching biometric prompt.
+     *
+     * @param activity       corresponding activity of the surface
+     * @param requestCode    for starting the new activity
+     * @param userId         user id for the authentication request
+     * @param hideBackground if the background activity screen needs to be hidden
+     */
+    public static void launchBiometricPromptForMandatoryBiometrics(@NonNull Activity activity,
+            int requestCode, int userId, boolean hideBackground) {
+        activity.startActivityForResult(getIntentForBiometricAuthentication(
+                activity.getResources(), userId, hideBackground), requestCode);
+    }
+
+    private static Intent getIntentForBiometricAuthentication(Resources resources, int userId,
+            boolean hideBackground) {
+        final Intent intent = new Intent();
+        intent.putExtra(BIOMETRIC_PROMPT_AUTHENTICATORS,
+                BiometricManager.Authenticators.MANDATORY_BIOMETRICS);
+        intent.putExtra(BIOMETRIC_PROMPT_NEGATIVE_BUTTON_TEXT,
+                resources.getString(R.string.cancel));
+        intent.putExtra(KeyguardManager.EXTRA_DESCRIPTION,
+                resources.getString(R.string.mandatory_biometrics_prompt_description));
+        intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_ALLOW_ANY_USER, true);
+        intent.putExtra(EXTRA_USER_ID, userId);
+        intent.putExtra(BIOMETRIC_PROMPT_HIDE_BACKGROUND, hideBackground);
+        intent.setClassName(SETTINGS_PACKAGE_NAME,
+                ConfirmDeviceCredentialActivity.InternalActivity.class.getName());
+        return intent;
+    }
+
     private static void disableComponent(PackageManager pm, ComponentName componentName) {
         pm.setComponentEnabledSetting(componentName,
                 PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
diff --git a/src/com/android/settings/accessibility/AccessibilityButtonFragment.java b/src/com/android/settings/accessibility/AccessibilityButtonFragment.java
index 2df11a9..60e4bb2 100644
--- a/src/com/android/settings/accessibility/AccessibilityButtonFragment.java
+++ b/src/com/android/settings/accessibility/AccessibilityButtonFragment.java
@@ -33,8 +33,15 @@
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        final int titleResource = AccessibilityUtil.isGestureNavigateEnabled(getPrefContext())
-                ? R.string.accessibility_button_gesture_title : R.string.accessibility_button_title;
+
+        final int titleResource;
+        if (android.provider.Flags.a11yStandaloneGestureEnabled()) {
+            titleResource = R.string.accessibility_button_title;
+        } else {
+            titleResource = AccessibilityUtil.isGestureNavigateEnabled(getPrefContext())
+                    ? R.string.accessibility_button_gesture_title
+                    : R.string.accessibility_button_title;
+        }
         getActivity().setTitle(titleResource);
     }
 
diff --git a/src/com/android/settings/accessibility/AccessibilityButtonGesturePreferenceController.java b/src/com/android/settings/accessibility/AccessibilityButtonGesturePreferenceController.java
index ded8aca..6db28a6 100644
--- a/src/com/android/settings/accessibility/AccessibilityButtonGesturePreferenceController.java
+++ b/src/com/android/settings/accessibility/AccessibilityButtonGesturePreferenceController.java
@@ -50,8 +50,12 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AccessibilityUtil.isGestureNavigateEnabled(mContext)
-                ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+        if (android.provider.Flags.a11yStandaloneGestureEnabled()) {
+            return CONDITIONALLY_UNAVAILABLE;
+        } else {
+            return AccessibilityUtil.isGestureNavigateEnabled(mContext)
+                    ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+        }
     }
 
     @Override
diff --git a/src/com/android/settings/accessibility/AccessibilityDialogUtils.java b/src/com/android/settings/accessibility/AccessibilityDialogUtils.java
index ca3a7b1..a1f59c8 100644
--- a/src/com/android/settings/accessibility/AccessibilityDialogUtils.java
+++ b/src/com/android/settings/accessibility/AccessibilityDialogUtils.java
@@ -19,53 +19,22 @@
 import static com.android.settings.accessibility.ItemInfoArrayAdapter.ItemInfo;
 
 import android.app.Dialog;
-import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.DialogInterface;
-import android.content.res.TypedArray;
-import android.graphics.drawable.Drawable;
-import android.icu.text.MessageFormat;
-import android.text.Spannable;
-import android.text.SpannableString;
-import android.text.SpannableStringBuilder;
-import android.text.TextUtils;
-import android.text.method.LinkMovementMethod;
-import android.text.style.ImageSpan;
-import android.util.Log;
-import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.AbsListView;
 import android.widget.AdapterView;
-import android.widget.CheckBox;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
 import android.widget.ListView;
 import android.widget.ScrollView;
-import android.widget.TextView;
 
-import androidx.annotation.ColorInt;
-import androidx.annotation.DrawableRes;
-import androidx.annotation.IntDef;
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
-import androidx.annotation.RawRes;
 import androidx.appcompat.app.AlertDialog;
-import androidx.core.content.ContextCompat;
-
-import com.android.server.accessibility.Flags;
-import com.android.settings.R;
-import com.android.settings.core.SubSettingLauncher;
-import com.android.settings.utils.AnnotationSpan;
-import com.android.settingslib.widget.LottieColorUtils;
-
-import com.airbnb.lottie.LottieAnimationView;
-import com.airbnb.lottie.LottieDrawable;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.util.List;
 
-
 /**
  * Utility class for creating the edit dialog.
  */
@@ -75,25 +44,20 @@
     /** Denotes the dialog emuns for show dialog. */
     @Retention(RetentionPolicy.SOURCE)
     public @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. */
+        /**
+         * OPEN: Settings > Accessibility > Downloaded toggle service > Shortcut options
+         * settings.
+         */
         int ENABLE_WARNING_FROM_SHORTCUT = 1003;
 
         /**
-         * OPEN: Settings > Accessibility > Downloaded toggle service > Shortcut checkbox
-         * toggle.
+         * OPEN: Settings > Accessibility > Downloaded toggle service > Shortcut toggle
          */
         int ENABLE_WARNING_FROM_SHORTCUT_TOGGLE = 1004;
 
@@ -128,83 +92,6 @@
     }
 
     /**
-     * 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_GENERIC_SUW,
-         DialogType.EDIT_SHORTCUT_MAGNIFICATION,
-         DialogType.EDIT_SHORTCUT_MAGNIFICATION_SUW,
-    })
-
-    public @interface DialogType {
-        int EDIT_SHORTCUT_GENERIC = 0;
-        int EDIT_SHORTCUT_GENERIC_SUW = 1;
-        int EDIT_SHORTCUT_MAGNIFICATION = 2;
-        int EDIT_SHORTCUT_MAGNIFICATION_SUW = 3;
-    }
-
-    /**
-     * Method to show the edit shortcut dialog.
-     *
-     * @param context A valid context
-     * @param dialogType The type of edit shortcut dialog
-     * @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, int dialogType,
-            CharSequence dialogTitle, DialogInterface.OnClickListener listener) {
-        final AlertDialog alertDialog = createDialog(context, dialogType, dialogTitle, listener);
-        alertDialog.show();
-        setScrollIndicators(alertDialog);
-        return alertDialog;
-    }
-
-    /**
-     * Updates the shortcut content in edit shortcut dialog.
-     *
-     * @param context A valid context
-     * @param editShortcutDialog Need to be a type of edit shortcut dialog
-     * @return True if the update is successful
-     */
-    public static boolean updateShortcutInDialog(Context context,
-            Dialog editShortcutDialog) {
-        final View container = editShortcutDialog.findViewById(R.id.container_layout);
-        if (container != null) {
-            initSoftwareShortcut(context, container);
-            initHardwareShortcut(context, container);
-            return true;
-        }
-        return false;
-    }
-
-    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;
-    }
-
-    /**
-     * Sets the scroll indicators for dialog view. The indicators appears while content view is
-     * out of vision for vertical scrolling.
-     */
-    private static void setScrollIndicators(AlertDialog dialog) {
-        final ScrollView scrollView = dialog.findViewById(R.id.container_layout);
-        setScrollIndicators(scrollView);
-    }
-
-    /**
      * Sets the scroll indicators for dialog view. The indicators appear while content view is
      * out of vision for vertical scrolling.
      *
@@ -218,284 +105,6 @@
     }
 
     /**
-     * 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_GENERIC_SUW:
-                contentView = inflater.inflate(
-                        R.layout.accessibility_edit_shortcut, null);
-                initSoftwareShortcutForSUW(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);
-                if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
-                    initTwoFingerDoubleTapMagnificationShortcut(context, contentView);
-                }
-                initMagnifyShortcut(context, contentView);
-                initAdvancedWidget(contentView);
-                break;
-            case DialogType.EDIT_SHORTCUT_MAGNIFICATION_SUW:
-                contentView = inflater.inflate(
-                        R.layout.accessibility_edit_shortcut_magnification, null);
-                initSoftwareShortcutForSUW(context, contentView);
-                initHardwareShortcut(context, contentView);
-                if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
-                    initTwoFingerDoubleTapMagnificationShortcut(context, contentView);
-                }
-                initMagnifyShortcut(context, contentView);
-                initAdvancedWidget(contentView);
-                break;
-            default:
-                throw new IllegalArgumentException();
-        }
-
-        return contentView;
-    }
-
-    private static void setupShortcutWidget(View view, CharSequence titleText,
-            CharSequence summaryText, @DrawableRes int imageResId) {
-        setupShortcutWidgetWithTitleAndSummary(view, titleText, summaryText);
-        setupShortcutWidgetWithImageResource(view, imageResId);
-    }
-
-    private static void setupShortcutWidgetWithImageRawResource(Context context,
-            View view, CharSequence titleText,
-            CharSequence summaryText, @RawRes int imageRawResId) {
-        setupShortcutWidgetWithTitleAndSummary(view, titleText, summaryText);
-        setupShortcutWidgetWithImageRawResource(context, view, imageRawResId);
-    }
-
-    private static void setupShortcutWidgetWithTitleAndSummary(View view, CharSequence titleText,
-            CharSequence summaryText) {
-        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);
-            summary.setMovementMethod(LinkMovementMethod.getInstance());
-            summary.setFocusable(false);
-        }
-    }
-
-    private static void setupShortcutWidgetWithImageResource(View view,
-            @DrawableRes int imageResId) {
-        final ImageView imageView = view.findViewById(R.id.image);
-        imageView.setImageResource(imageResId);
-    }
-
-    private static void setupShortcutWidgetWithImageRawResource(Context context, View view,
-            @RawRes int imageRawResId) {
-        final LottieAnimationView lottieView = view.findViewById(R.id.image);
-        lottieView.setFailureListener(
-                result -> Log.w(TAG, "Invalid image raw resource id: " + imageRawResId,
-                        result));
-        lottieView.setAnimation(imageRawResId);
-        lottieView.setRepeatCount(LottieDrawable.INFINITE);
-        LottieColorUtils.applyDynamicColors(context, lottieView);
-        lottieView.playAnimation();
-    }
-
-    private static void initSoftwareShortcutForSUW(Context context, View view) {
-        final View dialogView = view.findViewById(R.id.software_shortcut);
-        final CharSequence title = context.getText(
-                R.string.accessibility_shortcut_edit_dialog_title_software);
-        final TextView summary = dialogView.findViewById(R.id.summary);
-        final int lineHeight = summary.getLineHeight();
-
-        setupShortcutWidget(dialogView, title,
-                retrieveSoftwareShortcutSummaryForSUW(context, lineHeight),
-                retrieveSoftwareShortcutImageResId(context));
-    }
-
-    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),
-                retrieveSoftwareShortcutSummary(context, lineHeight),
-                retrieveSoftwareShortcutImageResId(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.a11y_shortcut_type_hardware);
-    }
-
-    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);
-        String summary = context.getString(
-                R.string.accessibility_shortcut_edit_dialog_summary_triple_tap);
-        // Format the number '3' in the summary.
-        final Object[] arguments = {3};
-        summary = MessageFormat.format(summary, arguments);
-
-        setupShortcutWidgetWithImageRawResource(context, dialogView, title, summary,
-                R.raw.a11y_shortcut_type_triple_tap);
-    }
-
-    private static void initTwoFingerDoubleTapMagnificationShortcut(Context context, View view) {
-        // TODO(b/306153204): Update shortcut string and image when UX provides them
-        final View dialogView = view.findViewById(R.id.two_finger_triple_tap_shortcut);
-        final CharSequence title = context.getText(
-                R.string.accessibility_shortcut_edit_dialog_title_two_finger_double_tap);
-        String summary = context.getString(
-                R.string.accessibility_shortcut_edit_dialog_summary_two_finger_double_tap);
-        // Format the number '2' in the summary.
-        final Object[] arguments = {2};
-        summary = MessageFormat.format(summary, arguments);
-
-        setupShortcutWidgetWithImageRawResource(context, dialogView, title, summary,
-                R.raw.a11y_shortcut_type_triple_tap);
-
-        dialogView.setVisibility(View.VISIBLE);
-    }
-
-    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 retrieveSoftwareShortcutSummaryForSUW(Context context,
-            int lineHeight) {
-        final SpannableStringBuilder sb = new SpannableStringBuilder();
-        if (!AccessibilityUtil.isFloatingMenuEnabled(context)) {
-            sb.append(getSummaryStringWithIcon(context, lineHeight));
-        }
-        return sb;
-    }
-
-    private static CharSequence retrieveTitle(Context context) {
-        int resId;
-        if (AccessibilityUtil.isFloatingMenuEnabled(context)) {
-            resId = R.string.accessibility_shortcut_edit_dialog_title_software;
-        } else if (AccessibilityUtil.isGestureNavigateEnabled(context)) {
-            resId = R.string.accessibility_shortcut_edit_dialog_title_software_by_gesture;
-        } else {
-            resId = R.string.accessibility_shortcut_edit_dialog_title_software;
-        }
-        return context.getText(resId);
-    }
-
-    private static CharSequence retrieveSoftwareShortcutSummary(Context context, int lineHeight) {
-        final SpannableStringBuilder sb = new SpannableStringBuilder();
-        if (AccessibilityUtil.isFloatingMenuEnabled(context)) {
-            sb.append(getCustomizeAccessibilityButtonLink(context));
-        } else 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;
-            sb.append(context.getText(resId));
-            sb.append("\n\n");
-            sb.append(getCustomizeAccessibilityButtonLink(context));
-        } else {
-            sb.append(getSummaryStringWithIcon(context, lineHeight));
-            sb.append("\n\n");
-            sb.append(getCustomizeAccessibilityButtonLink(context));
-        }
-        return sb;
-    }
-
-    private static int retrieveSoftwareShortcutImageResId(Context context) {
-        int resId;
-        if (AccessibilityUtil.isFloatingMenuEnabled(context)) {
-            resId = R.drawable.a11y_shortcut_type_software_floating;
-        } else if (AccessibilityUtil.isGestureNavigateEnabled(context)) {
-            resId = AccessibilityUtil.isTouchExploreEnabled(context)
-                    ? R.drawable.a11y_shortcut_type_software_gesture_talkback
-                    : R.drawable.a11y_shortcut_type_software_gesture;
-        } else {
-            resId = R.drawable.a11y_shortcut_type_software;
-        }
-        return resId;
-    }
-
-    private static CharSequence getCustomizeAccessibilityButtonLink(Context context) {
-        final View.OnClickListener linkListener = v -> new SubSettingLauncher(context)
-                .setDestination(AccessibilityButtonFragment.class.getName())
-                .setSourceMetricsCategory(
-                        SettingsEnums.SWITCH_SHORTCUT_DIALOG_ACCESSIBILITY_BUTTON_SETTINGS)
-                .launch();
-        final AnnotationSpan.LinkInfo linkInfo = new AnnotationSpan.LinkInfo(
-                AnnotationSpan.LinkInfo.DEFAULT_ANNOTATION, linkListener);
-        return AnnotationSpan.linkify(context.getText(
-                R.string.accessibility_shortcut_edit_dialog_summary_software_floating), linkInfo);
-    }
-
-    private static SpannableString getSummaryStringWithIcon(Context context, int lineHeight) {
-        final String summary = context
-                .getString(R.string.accessibility_shortcut_edit_dialog_summary_software);
-        final SpannableString spannableMessage = SpannableString.valueOf(summary);
-
-        // Icon
-        final int indexIconStart = summary.indexOf("%s");
-        final int indexIconEnd = indexIconStart + 2;
-        final Drawable icon = context.getDrawable(R.drawable.ic_accessibility_new);
-        final ImageSpan imageSpan = new ImageSpan(icon);
-        imageSpan.setContentDescription("");
-        icon.setBounds(0, 0, lineHeight, lineHeight);
-        spannableMessage.setSpan(
-                imageSpan, indexIconStart, indexIconEnd,
-                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
-        return spannableMessage;
-    }
-
-    /**
-     * Returns the color associated with the specified attribute in the context's theme.
-     */
-    @ColorInt
-    private static int getThemeAttrColor(final Context context, final int attributeColor) {
-        final int colorResId = getAttrResourceId(context, attributeColor);
-        return ContextCompat.getColor(context, colorResId);
-    }
-
-    /**
-     * Returns the identifier of the resolved resource assigned to the given attribute.
-     */
-    private static int getAttrResourceId(final Context context, final int attributeColor) {
-        final int[] attrs = {attributeColor};
-        final TypedArray typedArray = context.obtainStyledAttributes(attrs);
-        final int colorResId = typedArray.getResourceId(0, 0);
-        typedArray.recycle();
-        return colorResId;
-    }
-
-    /**
      * Creates a dialog with the given view.
      *
      * @param context A valid context
diff --git a/src/com/android/settings/accessibility/AccessibilityFragmentUtils.java b/src/com/android/settings/accessibility/AccessibilityFragmentUtils.java
new file mode 100644
index 0000000..34e17c0
--- /dev/null
+++ b/src/com/android/settings/accessibility/AccessibilityFragmentUtils.java
@@ -0,0 +1,152 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.os.Bundle;
+import android.text.TextUtils;
+import android.view.View;
+import android.view.accessibility.AccessibilityEvent;
+import android.view.accessibility.AccessibilityNodeInfo;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.VisibleForTesting;
+import androidx.core.view.AccessibilityDelegateCompat;
+import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceGroupAdapter;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.RecyclerViewAccessibilityDelegate;
+
+import com.android.settingslib.widget.IllustrationPreference;
+
+/** Utilities for {@code Settings > Accessibility} fragments. */
+public class AccessibilityFragmentUtils {
+    // TODO: b/350782252 - Replace with an official library-provided solution when available.
+    /**
+     * Modifies the existing {@link RecyclerViewAccessibilityDelegate} of the provided
+     * {@link RecyclerView} for this fragment to report the number of visible and important
+     * items on this page via the RecyclerView's {@link AccessibilityNodeInfo}.
+     *
+     * <p><strong>Note:</strong> This is special-cased to the structure of these fragments:
+     * one column, N rows (one per preference, including category titles and header+footer
+     * preferences), <=N 'important' rows (image prefs without content descriptions). This
+     * is not intended for use with generic {@link RecyclerView}s.
+     */
+    public static RecyclerView addCollectionInfoToAccessibilityDelegate(RecyclerView recyclerView) {
+        if (!Flags.toggleFeatureFragmentCollectionInfo()) {
+            return recyclerView;
+        }
+        final RecyclerViewAccessibilityDelegate delegate =
+                recyclerView.getCompatAccessibilityDelegate();
+        if (delegate == null) {
+            // No delegate, so do nothing. This should not occur for real RecyclerViews.
+            return recyclerView;
+        }
+        recyclerView.setAccessibilityDelegateCompat(
+                new RvAccessibilityDelegateWrapper(recyclerView, delegate) {
+                    @Override
+                    public void onInitializeAccessibilityNodeInfo(@NonNull View host,
+                            @NonNull AccessibilityNodeInfoCompat info) {
+                        super.onInitializeAccessibilityNodeInfo(host, info);
+                        if (!(recyclerView.getAdapter()
+                                instanceof final PreferenceGroupAdapter preferenceGroupAdapter)) {
+                            return;
+                        }
+                        final int visibleCount = preferenceGroupAdapter.getItemCount();
+                        int importantCount = 0;
+                        for (int i = 0; i < visibleCount; i++) {
+                            if (isPreferenceImportantToA11y(preferenceGroupAdapter.getItem(i))) {
+                                importantCount++;
+                            }
+                        }
+                        info.unwrap().setCollectionInfo(
+                                new AccessibilityNodeInfo.CollectionInfo(
+                                        /*rowCount=*/visibleCount,
+                                        /*columnCount=*/1,
+                                        /*hierarchical=*/false,
+                                        AccessibilityNodeInfo.CollectionInfo.SELECTION_MODE_SINGLE,
+                                        /*itemCount=*/visibleCount,
+                                        /*importantForAccessibilityItemCount=*/importantCount));
+                    }
+                });
+        return recyclerView;
+    }
+
+    /**
+     * Returns whether the preference will be marked as important to accessibility for the sake
+     * of calculating {@link AccessibilityNodeInfo.CollectionInfo} counts.
+     *
+     * <p>The accessibility service itself knows this information for an individual preference
+     * on the screen, but it expects the preference's {@link RecyclerView} to also provide the
+     * same information for its entire set of adapter items.
+     */
+    @VisibleForTesting
+    static boolean isPreferenceImportantToA11y(Preference pref) {
+        if ((pref instanceof IllustrationPreference illustrationPref
+                && TextUtils.isEmpty(illustrationPref.getContentDescription()))
+                || pref instanceof PaletteListPreference) {
+            // Illustration preference that is visible but unannounced by accessibility services.
+            return false;
+        }
+        // All other preferences from the PreferenceGroupAdapter are important.
+        return true;
+    }
+
+    /**
+     * Wrapper around a {@link RecyclerViewAccessibilityDelegate} that allows customizing
+     * a subset of methods and while also deferring to the original. All overridden methods
+     * in instantiations of this class should call {@code super}.
+     */
+    private static class RvAccessibilityDelegateWrapper extends RecyclerViewAccessibilityDelegate {
+        private final RecyclerViewAccessibilityDelegate mOriginal;
+
+        RvAccessibilityDelegateWrapper(RecyclerView recyclerView,
+                RecyclerViewAccessibilityDelegate original) {
+            super(recyclerView);
+            mOriginal = original;
+        }
+
+        @Override
+        public boolean performAccessibilityAction(@NonNull View host, int action, Bundle args) {
+            return mOriginal.performAccessibilityAction(host, action, args);
+        }
+
+        @Override
+        public void onInitializeAccessibilityNodeInfo(@NonNull View host,
+                @NonNull AccessibilityNodeInfoCompat info) {
+            mOriginal.onInitializeAccessibilityNodeInfo(host, info);
+        }
+
+        @Override
+        public void onInitializeAccessibilityEvent(@NonNull View host,
+                @NonNull AccessibilityEvent event) {
+            mOriginal.onInitializeAccessibilityEvent(host, event);
+        }
+
+        @Override
+        @NonNull
+        public AccessibilityDelegateCompat getItemDelegate() {
+            if (mOriginal == null) {
+                // Needed for super constructor which calls getItemDelegate before mOriginal is
+                // defined, but unused by actual clients of this RecyclerViewAccessibilityDelegate
+                // which invoke getItemDelegate() after the constructor finishes.
+                return new ItemDelegate(this);
+            }
+            return mOriginal.getItemDelegate();
+        }
+    }
+}
diff --git a/src/com/android/settings/accessibility/AccessibilityQuickSettingsPrimarySwitchPreferenceController.java b/src/com/android/settings/accessibility/AccessibilityQuickSettingsPrimarySwitchPreferenceController.java
index e82cd96..8a3f22d 100644
--- a/src/com/android/settings/accessibility/AccessibilityQuickSettingsPrimarySwitchPreferenceController.java
+++ b/src/com/android/settings/accessibility/AccessibilityQuickSettingsPrimarySwitchPreferenceController.java
@@ -21,6 +21,7 @@
 import android.os.Bundle;
 import android.os.Handler;
 
+import androidx.annotation.Nullable;
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
@@ -42,6 +43,7 @@
     private boolean mNeedsQSTooltipReshow = false;
 
     /** Returns the accessibility tile component name. */
+    @Nullable
     abstract ComponentName getTileComponentName();
 
     /** Returns the accessibility tile tooltip content. */
diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java
index 8441c2a..8de4936 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettings.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettings.java
@@ -16,12 +16,13 @@
 
 package com.android.settings.accessibility;
 
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.DEFAULT;
+
 import android.accessibilityservice.AccessibilityServiceInfo;
 import android.accessibilityservice.AccessibilityShortcutInfo;
 import android.app.settings.SettingsEnums;
 import android.content.ComponentName;
 import android.content.Context;
-import android.content.pm.ServiceInfo;
 import android.hardware.input.InputManager;
 import android.os.Bundle;
 import android.os.Handler;
@@ -29,7 +30,6 @@
 import android.provider.Settings;
 import android.text.TextUtils;
 import android.util.ArrayMap;
-import android.util.Pair;
 import android.view.InputDevice;
 import android.view.accessibility.AccessibilityManager;
 
@@ -57,8 +57,6 @@
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
-import java.util.stream.Collectors;
 
 /** Activity with the accessibility settings. */
 @SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
@@ -73,7 +71,8 @@
     private static final String CATEGORY_AUDIO = "audio_category";
     private static final String CATEGORY_SPEECH = "speech_category";
     private static final String CATEGORY_DISPLAY = "display_category";
-    private static final String CATEGORY_DOWNLOADED_SERVICES = "user_installed_services_category";
+    @VisibleForTesting
+    static final String CATEGORY_DOWNLOADED_SERVICES = "user_installed_services_category";
     private static final String CATEGORY_KEYBOARD_OPTIONS = "physical_keyboard_options_category";
     @VisibleForTesting
     static final String CATEGORY_INTERACTION_CONTROL = "interaction_control_category";
@@ -152,7 +151,7 @@
     };
 
     @VisibleForTesting
-    final AccessibilitySettingsContentObserver mSettingsContentObserver;
+    AccessibilitySettingsContentObserver mSettingsContentObserver;
 
     private final Map<String, PreferenceCategory> mCategoryToPrefCategoryMap =
             new ArrayMap<>();
@@ -166,9 +165,14 @@
     private boolean mIsForeground = true;
 
     public AccessibilitySettings() {
+        mSettingsContentObserver = new AccessibilitySettingsContentObserver(mHandler);
+    }
+
+    private void initializeSettingsContentObserver() {
         // Observe changes to anything that the shortcut can toggle, so we can reflect updates
         final Collection<AccessibilityShortcutController.FrameworkFeatureInfo> features =
-                AccessibilityShortcutController.getFrameworkShortcutFeaturesMap().values();
+                AccessibilityShortcutController
+                        .getFrameworkShortcutFeaturesMap().values();
         final List<String> shortcutFeatureKeys = new ArrayList<>(features.size());
         for (AccessibilityShortcutController.FrameworkFeatureInfo feature : features) {
             final String key = feature.getSettingKey();
@@ -186,7 +190,6 @@
         shortcutFeatureKeys.add(Settings.Secure.ACCESSIBILITY_STICKY_KEYS);
         shortcutFeatureKeys.add(Settings.Secure.ACCESSIBILITY_SLOW_KEYS);
         shortcutFeatureKeys.add(Settings.Secure.ACCESSIBILITY_BOUNCE_KEYS);
-        mSettingsContentObserver = new AccessibilitySettingsContentObserver(mHandler);
         mSettingsContentObserver.registerKeysToObserverCallback(shortcutFeatureKeys,
                 key -> onContentChanged());
     }
@@ -211,6 +214,7 @@
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
+        initializeSettingsContentObserver();
         initializeAllPreferences();
         updateAllPreferences();
         mNeedPreferencesUpdate = false;
@@ -283,7 +287,7 @@
                     info.getResolveInfo().serviceInfo.packageName,
                     info.getResolveInfo().serviceInfo.name);
             final boolean shortcutEnabled = AccessibilityUtil.getUserShortcutTypesFromSettings(
-                    context, componentName) != AccessibilityUtil.UserShortcutType.EMPTY;
+                    context, componentName) != DEFAULT;
             serviceState = shortcutEnabled
                     ? context.getText(R.string.accessibility_summary_shortcut_enabled)
                     : context.getText(R.string.generic_accessibility_feature_shortcut_off);
@@ -295,7 +299,7 @@
 
         final CharSequence serviceSummary = info.loadSummary(context.getPackageManager());
         final String stateSummaryCombo = context.getString(
-                R.string.preference_summary_default_combination,
+                com.android.settingslib.R.string.preference_summary_default_combination,
                 serviceState, serviceSummary);
 
         return TextUtils.isEmpty(serviceSummary) ? serviceState : stateSummaryCombo;
@@ -373,6 +377,7 @@
     }
 
     protected void updateServicePreferences() {
+        final AccessibilityManager a11yManager = AccessibilityManager.getInstance(getPrefContext());
         // 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.
@@ -403,8 +408,18 @@
                 AccessibilityUtils.ACCESSIBILITY_MENU_IN_SYSTEM,
                 mCategoryToPrefCategoryMap.get(CATEGORY_INTERACTION_CONTROL));
 
-        final List<RestrictedPreference> preferenceList = getInstalledAccessibilityList(
-                getPrefContext());
+        final List<AccessibilityShortcutInfo> installedShortcutList =
+                a11yManager.getInstalledAccessibilityShortcutListAsUser(getPrefContext(),
+                        UserHandle.myUserId());
+        final List<AccessibilityServiceInfo> installedServiceList =
+                a11yManager.getInstalledAccessibilityServiceList();
+        final List<RestrictedPreference> preferenceList = getInstalledAccessibilityPreferences(
+                getPrefContext(), installedShortcutList, installedServiceList);
+
+        if (Flags.checkPrebundledIsPreinstalled()) {
+            removeNonPreinstalledComponents(mPreBundledServiceComponentToCategoryMap,
+                    installedShortcutList, installedServiceList);
+        }
 
         final PreferenceCategory downloadedServicesCategory =
                 mCategoryToPrefCategoryMap.get(CATEGORY_DOWNLOADED_SERVICES);
@@ -449,29 +464,22 @@
         updatePreferenceCategoryVisibility(CATEGORY_KEYBOARD_OPTIONS);
     }
 
-    private List<RestrictedPreference> getInstalledAccessibilityList(Context context) {
-        final AccessibilityManager a11yManager = AccessibilityManager.getInstance(context);
+    /**
+     * Gets a list of {@link RestrictedPreference}s for the provided a11y shortcuts and services.
+     *
+     * <p>{@code modifiableInstalledServiceList} may be modified to remove any entries with
+     * matching package name and label as an entry in {@code installedShortcutList}.
+     *
+     * @param installedShortcutList A list of installed {@link AccessibilityShortcutInfo}s.
+     * @param installedServiceList  A list of installed {@link AccessibilityServiceInfo}s.
+     */
+    private List<RestrictedPreference> getInstalledAccessibilityPreferences(Context context,
+            List<AccessibilityShortcutInfo> installedShortcutList,
+            List<AccessibilityServiceInfo> installedServiceList) {
         final RestrictedPreferenceHelper preferenceHelper = new RestrictedPreferenceHelper(context);
 
-        final List<AccessibilityShortcutInfo> installedShortcutList =
-                a11yManager.getInstalledAccessibilityShortcutListAsUser(context,
-                        UserHandle.myUserId());
         final List<AccessibilityActivityPreference> activityList =
                 preferenceHelper.createAccessibilityActivityPreferenceList(installedShortcutList);
-        final Set<Pair<String, CharSequence>> packageLabelPairs =
-                activityList.stream()
-                        .map(a11yActivityPref -> new Pair<>(
-                                a11yActivityPref.getPackageName(), a11yActivityPref.getLabel())
-                        ).collect(Collectors.toSet());
-
-        // Remove duplicate item here, new a ArrayList to copy unmodifiable list result
-        // (getInstalledAccessibilityServiceList).
-        final List<AccessibilityServiceInfo> installedServiceList = new ArrayList<>(
-                a11yManager.getInstalledAccessibilityServiceList());
-        if (!packageLabelPairs.isEmpty()) {
-            installedServiceList.removeIf(
-                    target -> containsPackageAndLabelInList(packageLabelPairs, target));
-        }
         final List<RestrictedPreference> serviceList =
                 preferenceHelper.createAccessibilityServicePreferenceList(installedServiceList);
 
@@ -482,14 +490,20 @@
         return preferenceList;
     }
 
-    private boolean containsPackageAndLabelInList(
-            Set<Pair<String, CharSequence>> packageLabelPairs,
-            AccessibilityServiceInfo targetServiceInfo) {
-        final ServiceInfo serviceInfo = targetServiceInfo.getResolveInfo().serviceInfo;
-        final String servicePackageName = serviceInfo.packageName;
-        final CharSequence serviceLabel = serviceInfo.loadLabel(getPackageManager());
-
-        return packageLabelPairs.contains(new Pair<>(servicePackageName, serviceLabel));
+    private static void removeNonPreinstalledComponents(
+            Map<ComponentName, PreferenceCategory> componentToCategory,
+            List<AccessibilityShortcutInfo> shortcutInfos,
+            List<AccessibilityServiceInfo> serviceInfos) {
+        for (AccessibilityShortcutInfo info : shortcutInfos) {
+            if (!info.getActivityInfo().applicationInfo.isSystemApp()) {
+                componentToCategory.remove(info.getComponentName());
+            }
+        }
+        for (AccessibilityServiceInfo info : serviceInfos) {
+            if (!info.getResolveInfo().serviceInfo.applicationInfo.isSystemApp()) {
+                componentToCategory.remove(info.getComponentName());
+            }
+        }
     }
 
     private void initializePreBundledServicesMapFromArray(String categoryKey, int key) {
@@ -572,7 +586,7 @@
         }
     }
 
-    private boolean isAnyHardKeyboardsExist() {
+    static boolean isAnyHardKeyboardsExist() {
         for (int deviceId : InputDevice.getDeviceIds()) {
             final InputDevice device = InputDevice.getDevice(deviceId);
             if (device != null && !device.isVirtual() && device.isFullKeyboard()) {
diff --git a/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragment.java b/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragment.java
index 92259ac..e92c86b 100644
--- a/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragment.java
@@ -16,6 +16,10 @@
 
 package com.android.settings.accessibility;
 
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.DEFAULT;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
 import static com.android.settings.accessibility.AccessibilityDialogUtils.DialogEnums;
 import static com.android.settings.accessibility.ToggleFeaturePreferenceFragment.KEY_GENERAL_CATEGORY;
 import static com.android.settings.accessibility.ToggleFeaturePreferenceFragment.KEY_SAVED_QS_TOOLTIP_TYPE;
@@ -35,7 +39,6 @@
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.accessibility.AccessibilityManager;
-import android.widget.CheckBox;
 
 import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
@@ -43,6 +46,7 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.internal.accessibility.common.ShortcutConstants;
+import com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
 import com.android.settings.R;
 import com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType;
 import com.android.settings.accessibility.shortcuts.EditShortcutsPreferenceFragment;
@@ -61,19 +65,13 @@
 public abstract class AccessibilityShortcutPreferenceFragment extends RestrictedDashboardFragment
         implements ShortcutPreference.OnClickCallback {
     private static final String KEY_SHORTCUT_PREFERENCE = "shortcut_preference";
-    protected static final String KEY_SAVED_USER_SHORTCUT_TYPE = "shortcut_type";
     protected static final String KEY_SAVED_QS_TOOLTIP_RESHOW = "qs_tooltip_reshow";
-    protected static final int NOT_SET = -1;
-    // Save user's shortcutType value when savedInstance has value (e.g. device rotated).
-    protected int mSavedCheckBoxValue = NOT_SET;
 
     protected ShortcutPreference mShortcutPreference;
     protected Dialog mDialog;
     private AccessibilityManager.TouchExplorationStateChangeListener
             mTouchExplorationStateChangeListener;
     private AccessibilitySettingsContentObserver mSettingsContentObserver;
-    private CheckBox mSoftwareTypeCheckBox;
-    private CheckBox mHardwareTypeCheckBox;
     private AccessibilityQuickSettingsTooltipWindow mTooltipWindow;
     private boolean mNeedsQSTooltipReshow = false;
     private int mNeedsQSTooltipType = QuickSettingsTooltipType.GUIDE_TO_EDIT;
@@ -100,10 +98,6 @@
 
         // Restore the user shortcut type and tooltip.
         if (savedInstanceState != null) {
-            if (savedInstanceState.containsKey(KEY_SAVED_USER_SHORTCUT_TYPE)) {
-                mSavedCheckBoxValue = savedInstanceState.getInt(KEY_SAVED_USER_SHORTCUT_TYPE,
-                        NOT_SET);
-            }
             if (savedInstanceState.containsKey(KEY_SAVED_QS_TOOLTIP_RESHOW)) {
                 mNeedsQSTooltipReshow = savedInstanceState.getBoolean(KEY_SAVED_QS_TOOLTIP_RESHOW);
             }
@@ -148,7 +142,6 @@
         getPreferenceScreen().addPreference(mShortcutPreference);
 
         mTouchExplorationStateChangeListener = isTouchExplorationEnabled -> {
-            removeDialog(DialogEnums.EDIT_SHORTCUT);
             mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext()));
         };
 
@@ -180,8 +173,6 @@
         mSettingsContentObserver.register(getContentResolver());
         updateShortcutPreferenceData();
         updateShortcutPreference();
-
-        updateEditShortcutDialogIfNeeded();
     }
 
     @Override
@@ -195,10 +186,6 @@
 
     @Override
     public void onSaveInstanceState(Bundle outState) {
-        final int value = getShortcutTypeCheckBoxValue();
-        if (value != NOT_SET) {
-            outState.putInt(KEY_SAVED_USER_SHORTCUT_TYPE, value);
-        }
         final boolean isTooltipWindowShowing = mTooltipWindow != null && mTooltipWindow.isShowing();
         if (mNeedsQSTooltipReshow || isTooltipWindowShowing) {
             outState.putBoolean(KEY_SAVED_QS_TOOLTIP_RESHOW, /* value= */ true);
@@ -210,15 +197,6 @@
     @Override
     public Dialog onCreateDialog(int dialogId) {
         switch (dialogId) {
-            case DialogEnums.EDIT_SHORTCUT:
-                final int dialogType = WizardManagerHelper.isAnySetupWizard(getIntent())
-                        ? AccessibilityDialogUtils.DialogType.EDIT_SHORTCUT_GENERIC_SUW :
-                        AccessibilityDialogUtils.DialogType.EDIT_SHORTCUT_GENERIC;
-                mDialog = AccessibilityDialogUtils.showEditShortcutDialog(
-                        getPrefContext(), dialogType, getShortcutTitle(),
-                        this::callOnAlertDialogCheckboxClicked);
-                setupEditShortcutDialog(mDialog);
-                return mDialog;
             case DialogEnums.LAUNCH_ACCESSIBILITY_TUTORIAL:
                 if (WizardManagerHelper.isAnySetupWizard(getIntent())) {
                     mDialog = AccessibilityShortcutsTutorial
@@ -245,8 +223,6 @@
     @Override
     public int getDialogMetricsCategory(int dialogId) {
         switch (dialogId) {
-            case DialogEnums.EDIT_SHORTCUT:
-                return SettingsEnums.DIALOG_ACCESSIBILITY_SERVICE_EDIT_SHORTCUT;
             case DialogEnums.LAUNCH_ACCESSIBILITY_TUTORIAL:
                 return SettingsEnums.DIALOG_ACCESSIBILITY_TUTORIAL;
             default:
@@ -256,17 +232,13 @@
 
     @Override
     public void onSettingsClicked(ShortcutPreference preference) {
-        if (Flags.editShortcutsInFullScreen()) {
-            EditShortcutsPreferenceFragment.showEditShortcutScreen(
-                    getContext(),
-                    getMetricsCategory(),
-                    getShortcutTitle(),
-                    getComponentName(),
-                    getIntent()
-            );
-        } else {
-            showDialog(DialogEnums.EDIT_SHORTCUT);
-        }
+        EditShortcutsPreferenceFragment.showEditShortcutScreen(
+                getContext(),
+                getMetricsCategory(),
+                getShortcutTitle(),
+                getComponentName(),
+                getIntent()
+        );
     }
 
     @Override
@@ -296,38 +268,6 @@
         return KEY_SHORTCUT_PREFERENCE;
     }
 
-    @VisibleForTesting
-    void setupEditShortcutDialog(Dialog dialog) {
-        final View dialogSoftwareView = dialog.findViewById(R.id.software_shortcut);
-        mSoftwareTypeCheckBox = dialogSoftwareView.findViewById(R.id.checkbox);
-        setDialogTextAreaClickListener(dialogSoftwareView, mSoftwareTypeCheckBox);
-
-        final View dialogHardwareView = dialog.findViewById(R.id.hardware_shortcut);
-        mHardwareTypeCheckBox = dialogHardwareView.findViewById(R.id.checkbox);
-        setDialogTextAreaClickListener(dialogHardwareView, mHardwareTypeCheckBox);
-
-        updateEditShortcutDialogCheckBox();
-    }
-
-    /**
-     * Returns accumulated {@link AccessibilityUtil.UserShortcutType} checkbox value or
-     * {@code NOT_SET} if checkboxes did not exist.
-     */
-    protected int getShortcutTypeCheckBoxValue() {
-        if (mSoftwareTypeCheckBox == null || mHardwareTypeCheckBox == null) {
-            return NOT_SET;
-        }
-
-        int value = AccessibilityUtil.UserShortcutType.EMPTY;
-        if (mSoftwareTypeCheckBox.isChecked()) {
-            value |= AccessibilityUtil.UserShortcutType.SOFTWARE;
-        }
-        if (mHardwareTypeCheckBox.isChecked()) {
-            value |= AccessibilityUtil.UserShortcutType.HARDWARE;
-        }
-        return value;
-    }
-
     /**
      * Returns the shortcut type list which has been checked by user.
      */
@@ -359,35 +299,6 @@
         showQuickSettingsTooltipIfNeeded();
     }
 
-    /**
-     * This method will be invoked when a button in the edit shortcut dialog is clicked.
-     *
-     * @param dialog The dialog that received the click
-     * @param which  The button that was clicked
-     */
-    protected void callOnAlertDialogCheckboxClicked(DialogInterface dialog, int which) {
-        if (getComponentName() == null) {
-            return;
-        }
-
-        final int value = getShortcutTypeCheckBoxValue();
-        saveNonEmptyUserShortcutType(value);
-        AccessibilityUtil.optInAllValuesToSettings(getPrefContext(), value, getComponentName());
-        AccessibilityUtil.optOutAllValuesFromSettings(getPrefContext(), ~value, getComponentName());
-        final boolean shortcutAssigned = value != AccessibilityUtil.UserShortcutType.EMPTY;
-        mShortcutPreference.setChecked(shortcutAssigned);
-        mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext()));
-
-        if (mHardwareTypeCheckBox.isChecked()) {
-            AccessibilityUtil.skipVolumeShortcutDialogTimeoutRestriction(getPrefContext());
-        }
-
-        // Show the quick setting tooltip if the shortcut assigned in the first time
-        if (shortcutAssigned) {
-            showQuickSettingsTooltipIfNeeded();
-        }
-    }
-
     @VisibleForTesting
     void initGeneralCategory() {
         final PreferenceCategory generalCategory = new PreferenceCategory(getPrefContext());
@@ -397,24 +308,6 @@
         getPreferenceScreen().addPreference(generalCategory);
     }
 
-    private void updateEditShortcutDialogIfNeeded() {
-        if (mDialog == null || !mDialog.isShowing()) {
-            return;
-        }
-        AccessibilityDialogUtils.updateShortcutInDialog(getContext(), mDialog);
-    }
-
-    @VisibleForTesting
-    void saveNonEmptyUserShortcutType(int type) {
-        if (type == AccessibilityUtil.UserShortcutType.EMPTY) {
-            return;
-        }
-
-        final PreferredShortcut shortcut = new PreferredShortcut(
-                getComponentName().flattenToString(), type);
-        PreferredShortcuts.saveUserShortcutType(getPrefContext(), shortcut);
-    }
-
     /**
      * Overrides to return customized description for general category above shortcut
      *
@@ -437,11 +330,6 @@
         return false;
     }
 
-    private void setDialogTextAreaClickListener(View dialogView, CheckBox checkBox) {
-        final View dialogTextArea = dialogView.findViewById(R.id.container);
-        dialogTextArea.setOnClickListener(v -> checkBox.toggle());
-    }
-
     protected CharSequence getShortcutTypeSummary(Context context) {
         if (!mShortcutPreference.isSettingsEditable()) {
             return context.getText(R.string.accessibility_shortcut_edit_dialog_title_hardware);
@@ -456,16 +344,16 @@
         // LINT.IfChange(shortcut_type_ui_order)
         final List<CharSequence> list = new ArrayList<>();
         if (android.view.accessibility.Flags.a11yQsShortcut()) {
-            if (hasShortcutType(shortcutTypes, AccessibilityUtil.UserShortcutType.QUICK_SETTINGS)) {
+            if (hasShortcutType(shortcutTypes, QUICK_SETTINGS)) {
                 final CharSequence qsTitle = context.getText(
                         R.string.accessibility_feature_shortcut_setting_summary_quick_settings);
                 list.add(qsTitle);
             }
         }
-        if (hasShortcutType(shortcutTypes, AccessibilityUtil.UserShortcutType.SOFTWARE)) {
+        if (hasShortcutType(shortcutTypes, SOFTWARE)) {
             list.add(getSoftwareShortcutTypeSummary(context));
         }
-        if (hasShortcutType(shortcutTypes, AccessibilityUtil.UserShortcutType.HARDWARE)) {
+        if (hasShortcutType(shortcutTypes, HARDWARE)) {
             final CharSequence hardwareTitle = context.getText(
                     R.string.accessibility_shortcut_hardware_keyword);
             list.add(hardwareTitle);
@@ -481,29 +369,7 @@
                 null, LocaleUtils.getConcatenatedString(list));
     }
 
-    private void updateEditShortcutDialogCheckBox() {
-        // If it is during onConfigChanged process then restore the value, or get the saved value
-        // when shortcutPreference is checked.
-        int value = restoreOnConfigChangedValue();
-        if (value == NOT_SET) {
-            final int lastNonEmptyUserShortcutType = getUserPreferredShortcutTypes();
-            value = mShortcutPreference.isChecked() ? lastNonEmptyUserShortcutType
-                    : AccessibilityUtil.UserShortcutType.EMPTY;
-        }
-
-        mSoftwareTypeCheckBox.setChecked(
-                hasShortcutType(value, AccessibilityUtil.UserShortcutType.SOFTWARE));
-        mHardwareTypeCheckBox.setChecked(
-                hasShortcutType(value, AccessibilityUtil.UserShortcutType.HARDWARE));
-    }
-
-    private int restoreOnConfigChangedValue() {
-        final int savedValue = mSavedCheckBoxValue;
-        mSavedCheckBoxValue = NOT_SET;
-        return savedValue;
-    }
-
-    private boolean hasShortcutType(int value, @AccessibilityUtil.UserShortcutType int type) {
+    private boolean hasShortcutType(int value, @UserShortcutType int type) {
         return (value & type) == type;
     }
 
@@ -514,7 +380,7 @@
 
         final int shortcutTypes = AccessibilityUtil.getUserShortcutTypesFromSettings(
                 getPrefContext(), getComponentName());
-        if (shortcutTypes != AccessibilityUtil.UserShortcutType.EMPTY) {
+        if (shortcutTypes != DEFAULT) {
             final PreferredShortcut shortcut = new PreferredShortcut(
                     getComponentName().flattenToString(), shortcutTypes);
             PreferredShortcuts.saveUserShortcutType(getPrefContext(), shortcut);
diff --git a/src/com/android/settings/accessibility/AccessibilityShortcutsTutorial.java b/src/com/android/settings/accessibility/AccessibilityShortcutsTutorial.java
index e286c63..8d908ac 100644
--- a/src/com/android/settings/accessibility/AccessibilityShortcutsTutorial.java
+++ b/src/com/android/settings/accessibility/AccessibilityShortcutsTutorial.java
@@ -19,7 +19,11 @@
 import static android.view.View.GONE;
 import static android.view.View.VISIBLE;
 
-import static com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.TRIPLETAP;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.TWOFINGER_DOUBLETAP;
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
@@ -171,7 +175,7 @@
             AlertDialog dialog, List<TutorialPage> pages, int selectedPageIndex) {
         final Button button = dialog.getButton(DialogInterface.BUTTON_NEGATIVE);
         final int pageType = pages.get(selectedPageIndex).getType();
-        final int buttonVisibility = pageType == UserShortcutType.SOFTWARE ? VISIBLE : GONE;
+        final int buttonVisibility = (pageType == SOFTWARE) ? VISIBLE : GONE;
         button.setVisibility(buttonVisibility);
         if (buttonVisibility == VISIBLE) {
             final int textResId = AccessibilityUtil.isFloatingMenuEnabled(dialog.getContext())
@@ -393,7 +397,7 @@
     }
 
     private static TutorialPage createSoftwareTutorialPage(@NonNull Context context) {
-        final int type = UserShortcutType.SOFTWARE;
+        final int type = SOFTWARE;
         final CharSequence title = getSoftwareTitle(context);
         final View image = createSoftwareImage(context);
         final CharSequence instruction = getSoftwareInstruction(context);
@@ -405,7 +409,7 @@
     }
 
     private static TutorialPage createHardwareTutorialPage(@NonNull Context context) {
-        final int type = UserShortcutType.HARDWARE;
+        final int type = HARDWARE;
         final CharSequence title =
                 context.getText(R.string.accessibility_tutorial_dialog_title_volume);
         final View image =
@@ -420,7 +424,7 @@
     }
 
     private static TutorialPage createTripleTapTutorialPage(@NonNull Context context) {
-        final int type = UserShortcutType.TRIPLETAP;
+        final int type = TRIPLETAP;
         final CharSequence title =
                 context.getText(R.string.accessibility_tutorial_dialog_title_triple);
         final View image =
@@ -436,7 +440,7 @@
     }
 
     private static TutorialPage createTwoFingerTripleTapTutorialPage(@NonNull Context context) {
-        final int type = UserShortcutType.TWOFINGER_DOUBLETAP;
+        final int type = TWOFINGER_DOUBLETAP;
         final int numFingers = 2;
         final CharSequence title = context.getString(
                 R.string.accessibility_tutorial_dialog_title_two_finger_double, numFingers);
@@ -454,7 +458,7 @@
 
     private static TutorialPage createQuickSettingsTutorialPage(
             @NonNull Context context, @NonNull CharSequence featureName, boolean inSetupWizard) {
-        final int type = UserShortcutType.QUICK_SETTINGS;
+        final int type = QUICK_SETTINGS;
         final CharSequence title =
                 context.getText(R.string.accessibility_tutorial_dialog_title_quick_setting);
         final View image =
@@ -494,28 +498,28 @@
         // LINT.IfChange(shortcut_type_ui_order)
         final List<TutorialPage> tutorialPages = new ArrayList<>();
         if (android.view.accessibility.Flags.a11yQsShortcut()) {
-            if ((shortcutTypes & UserShortcutType.QUICK_SETTINGS)
-                    == UserShortcutType.QUICK_SETTINGS) {
+            if ((shortcutTypes & QUICK_SETTINGS)
+                    == QUICK_SETTINGS) {
                 tutorialPages.add(
                         createQuickSettingsTutorialPage(context, featureName, inSetupWizard));
             }
         }
-        if ((shortcutTypes & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE) {
+        if ((shortcutTypes & SOFTWARE) == SOFTWARE) {
             tutorialPages.add(createSoftwareTutorialPage(context));
         }
 
-        if ((shortcutTypes & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE) {
+        if ((shortcutTypes & HARDWARE) == HARDWARE) {
             tutorialPages.add(createHardwareTutorialPage(context));
         }
 
         if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
-            if ((shortcutTypes & UserShortcutType.TWOFINGER_DOUBLETAP)
-                    == UserShortcutType.TWOFINGER_DOUBLETAP) {
+            if ((shortcutTypes & TWOFINGER_DOUBLETAP)
+                    == TWOFINGER_DOUBLETAP) {
                 tutorialPages.add(createTwoFingerTripleTapTutorialPage(context));
             }
         }
 
-        if ((shortcutTypes & UserShortcutType.TRIPLETAP) == UserShortcutType.TRIPLETAP) {
+        if ((shortcutTypes & TRIPLETAP) == TRIPLETAP) {
             tutorialPages.add(createTripleTapTutorialPage(context));
         }
         // LINT.ThenChange(/res/xml/accessibility_edit_shortcuts.xml:shortcut_type_ui_order)
diff --git a/src/com/android/settings/accessibility/AccessibilityUtil.java b/src/com/android/settings/accessibility/AccessibilityUtil.java
index afc7b84..5bf2a3e 100644
--- a/src/com/android/settings/accessibility/AccessibilityUtil.java
+++ b/src/com/android/settings/accessibility/AccessibilityUtil.java
@@ -21,6 +21,12 @@
 import static android.view.WindowInsets.Type.systemBars;
 import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL;
 
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.DEFAULT;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.TRIPLETAP;
+
 import android.accessibilityservice.AccessibilityServiceInfo;
 import android.content.ComponentName;
 import android.content.Context;
@@ -41,6 +47,7 @@
 import androidx.annotation.StringRes;
 import androidx.annotation.VisibleForTesting;
 
+import com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
 import com.android.internal.accessibility.util.ShortcutUtils;
 
 import java.lang.annotation.Retention;
@@ -82,41 +89,6 @@
             new TextUtils.SimpleStringSplitter(COMPONENT_NAME_SEPARATOR);
 
     /**
-     * Annotation for different user shortcut type UI type.
-     *
-     * {@code EMPTY} for displaying default value.
-     * {@code SOFTWARE} for displaying specifying the accessibility services or features which
-     * choose accessibility button in the navigation bar as preferred shortcut.
-     * {@code HARDWARE} for displaying specifying the accessibility services or features which
-     * choose accessibility shortcut as preferred shortcut.
-     * {@code TRIPLETAP} for displaying specifying magnification to be toggled via quickly
-     * tapping screen 3 times as preferred shortcut.
-     * {@code TWOFINGER_DOUBLETAP} for displaying specifying magnification to be toggled via
-     * quickly tapping screen 2 times with two fingers as preferred shortcut.
-     * {@code QUICK_SETTINGS} for displaying specifying the accessibility services or features which
-     * choose Quick Settings as preferred shortcut.
-     */
-    @Retention(RetentionPolicy.SOURCE)
-    @IntDef({
-            UserShortcutType.EMPTY,
-            UserShortcutType.SOFTWARE,
-            UserShortcutType.HARDWARE,
-            UserShortcutType.TRIPLETAP,
-            UserShortcutType.TWOFINGER_DOUBLETAP,
-            UserShortcutType.QUICK_SETTINGS,
-    })
-
-    /** Denotes the user shortcut type. */
-    public @interface UserShortcutType {
-        int EMPTY = 0;
-        int SOFTWARE = 1;
-        int HARDWARE = 1 << 1;
-        int TRIPLETAP = 1 << 2;
-        int TWOFINGER_DOUBLETAP = 1 << 3;
-        int QUICK_SETTINGS = 1 << 4;
-    }
-
-    /**
      * Denotes the quick setting tooltip type.
      *
      * {@code GUIDE_TO_EDIT} for QS tiles that need to be added by editing.
@@ -230,11 +202,11 @@
             return;
         }
 
-        if ((shortcutTypes & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE) {
-            optInValueToSettings(context, UserShortcutType.SOFTWARE, componentName);
+        if ((shortcutTypes & SOFTWARE) == SOFTWARE) {
+            optInValueToSettings(context, SOFTWARE, componentName);
         }
-        if (((shortcutTypes & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE)) {
-            optInValueToSettings(context, UserShortcutType.HARDWARE, componentName);
+        if (((shortcutTypes & HARDWARE) == HARDWARE)) {
+            optInValueToSettings(context, HARDWARE, componentName);
         }
     }
 
@@ -301,11 +273,11 @@
             return;
         }
 
-        if ((shortcutTypes & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE) {
-            optOutValueFromSettings(context, UserShortcutType.SOFTWARE, componentName);
+        if ((shortcutTypes & SOFTWARE) == SOFTWARE) {
+            optOutValueFromSettings(context, SOFTWARE, componentName);
         }
-        if (((shortcutTypes & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE)) {
-            optOutValueFromSettings(context, UserShortcutType.HARDWARE, componentName);
+        if (((shortcutTypes & HARDWARE) == HARDWARE)) {
+            optOutValueFromSettings(context, HARDWARE, componentName);
         }
     }
 
@@ -364,16 +336,16 @@
     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 & SOFTWARE) == SOFTWARE) {
+            exist = hasValueInSettings(context, SOFTWARE, componentName);
         }
-        if (((shortcutTypes & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE)) {
-            exist |= hasValueInSettings(context, UserShortcutType.HARDWARE, componentName);
+        if (((shortcutTypes & HARDWARE) == HARDWARE)) {
+            exist |= hasValueInSettings(context, HARDWARE, componentName);
         }
         if (android.view.accessibility.Flags.a11yQsShortcut()) {
-            if ((shortcutTypes & UserShortcutType.QUICK_SETTINGS)
-                    == UserShortcutType.QUICK_SETTINGS) {
-                exist |= hasValueInSettings(context, UserShortcutType.QUICK_SETTINGS,
+            if ((shortcutTypes & QUICK_SETTINGS)
+                    == QUICK_SETTINGS) {
+                exist |= hasValueInSettings(context, QUICK_SETTINGS,
                         componentName);
             }
         }
@@ -427,16 +399,16 @@
      */
     static int getUserShortcutTypesFromSettings(Context context,
             @NonNull ComponentName componentName) {
-        int shortcutTypes = UserShortcutType.EMPTY;
-        if (hasValuesInSettings(context, UserShortcutType.SOFTWARE, componentName)) {
-            shortcutTypes |= UserShortcutType.SOFTWARE;
+        int shortcutTypes = DEFAULT;
+        if (hasValuesInSettings(context, SOFTWARE, componentName)) {
+            shortcutTypes |= SOFTWARE;
         }
-        if (hasValuesInSettings(context, UserShortcutType.HARDWARE, componentName)) {
-            shortcutTypes |= UserShortcutType.HARDWARE;
+        if (hasValuesInSettings(context, HARDWARE, componentName)) {
+            shortcutTypes |= HARDWARE;
         }
         if (android.view.accessibility.Flags.a11yQsShortcut()) {
-            if (hasValuesInSettings(context, UserShortcutType.QUICK_SETTINGS, componentName)) {
-                shortcutTypes |= UserShortcutType.QUICK_SETTINGS;
+            if (hasValuesInSettings(context, QUICK_SETTINGS, componentName)) {
+                shortcutTypes |= QUICK_SETTINGS;
             }
         }
 
@@ -455,11 +427,11 @@
         }
 
         switch (shortcutType) {
-            case UserShortcutType.SOFTWARE:
+            case SOFTWARE:
                 return Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS;
-            case UserShortcutType.HARDWARE:
+            case HARDWARE:
                 return Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE;
-            case UserShortcutType.TRIPLETAP:
+            case TRIPLETAP:
                 return Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED;
             default:
                 throw new IllegalArgumentException(
diff --git a/src/com/android/settings/accessibility/AutoBrightnessPreferenceFragmentForSetupWizard.java b/src/com/android/settings/accessibility/AutoBrightnessPreferenceFragmentForSetupWizard.java
index ad1ae96..19db266 100644
--- a/src/com/android/settings/accessibility/AutoBrightnessPreferenceFragmentForSetupWizard.java
+++ b/src/com/android/settings/accessibility/AutoBrightnessPreferenceFragmentForSetupWizard.java
@@ -27,11 +27,13 @@
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
+import androidx.preference.PreferenceScreen;
 import androidx.recyclerview.widget.RecyclerView;
 
 import com.android.settings.R;
 import com.android.settings.display.AutoBrightnessSettings;
 import com.android.settingslib.Utils;
+import com.android.settingslib.widget.FooterPreference;
 
 import com.google.android.setupcompat.template.FooterBarMixin;
 import com.google.android.setupdesign.GlifPreferenceLayout;
@@ -41,10 +43,14 @@
  */
 public class AutoBrightnessPreferenceFragmentForSetupWizard extends AutoBrightnessSettings {
 
+    private static final String FOOTER_PREFERENCE_KEY = "auto_brightness_footer";
+
     @Override
     public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
 
+        updateFooterContentDescription();
+
         if (view instanceof GlifPreferenceLayout) {
             final GlifPreferenceLayout layout = (GlifPreferenceLayout) view;
             final String title = getContext().getString(
@@ -78,4 +84,15 @@
     public int getMetricsCategory() {
         return SettingsEnums.SUW_ACCESSIBILITY_AUTO_BRIGHTNESS;
     }
+
+    private void updateFooterContentDescription() {
+        final PreferenceScreen screen = getPreferenceScreen();
+        final FooterPreference footerPreference = screen.findPreference(FOOTER_PREFERENCE_KEY);
+        if (footerPreference != null) {
+            String title = getString(R.string.auto_brightness_content_description_title);
+            final StringBuilder sb = new StringBuilder();
+            sb.append(title).append("\n\n").append(footerPreference.getTitle());
+            footerPreference.setContentDescription(sb);
+        }
+    }
 }
diff --git a/src/com/android/settings/accessibility/AvailableHearingDeviceUpdater.java b/src/com/android/settings/accessibility/AvailableHearingDeviceUpdater.java
index f600b03..31d069a 100644
--- a/src/com/android/settings/accessibility/AvailableHearingDeviceUpdater.java
+++ b/src/com/android/settings/accessibility/AvailableHearingDeviceUpdater.java
@@ -27,7 +27,7 @@
  */
 public class AvailableHearingDeviceUpdater extends AvailableMediaBluetoothDeviceUpdater {
 
-    private static final String PREF_KEY = "connected_hearing_device";
+    private static final String PREF_KEY_PREFIX = "connected_hearing_device_";
 
     public AvailableHearingDeviceUpdater(Context context,
             DevicePreferenceCallback devicePreferenceCallback, int metricsCategory) {
@@ -42,7 +42,7 @@
     }
 
     @Override
-    protected String getPreferenceKey() {
-        return PREF_KEY;
+    protected String getPreferenceKeyPrefix() {
+        return PREF_KEY_PREFIX;
     }
 }
diff --git a/src/com/android/settings/accessibility/BalanceSeekBar.java b/src/com/android/settings/accessibility/BalanceSeekBar.java
index 19301ae..7441d6f 100644
--- a/src/com/android/settings/accessibility/BalanceSeekBar.java
+++ b/src/com/android/settings/accessibility/BalanceSeekBar.java
@@ -20,6 +20,7 @@
 
 import static com.android.settings.Utils.isNightMode;
 
+import android.annotation.StringRes;
 import android.content.Context;
 import android.content.res.ColorStateList;
 import android.content.res.Resources;
@@ -86,6 +87,14 @@
                 Settings.System.putFloatForUser(mContext.getContentResolver(),
                         Settings.System.MASTER_BALANCE, balance, UserHandle.USER_CURRENT);
             }
+            final int max = getMax();
+            if (Flags.audioBalanceStateDescription() && max > 0) {
+                seekBar.setStateDescription(createStateDescription(mContext,
+                        R.string.audio_seek_bar_state_left_first,
+                        R.string.audio_seek_bar_state_right_first,
+                        progress,
+                        max));
+            }
             // If fromUser is false, the call is a set from the framework on creation or on
             // internal update. The progress may be zero, ignore (don't change system settings).
 
@@ -161,5 +170,19 @@
         canvas.restore();
         super.onDraw(canvas);
     }
+
+    private static CharSequence createStateDescription(Context context,
+            @StringRes int resIdLeftFirst, @StringRes int resIdRightFirst,
+            int progress, float max) {
+        final boolean isLayoutRtl = context.getResources().getConfiguration().getLayoutDirection()
+                == LAYOUT_DIRECTION_RTL;
+        final int rightPercent = (int) (100 * (progress / max));
+        final int leftPercent = 100 - rightPercent;
+        if (rightPercent > leftPercent || (rightPercent == leftPercent && isLayoutRtl)) {
+            return context.getString(resIdRightFirst, rightPercent, leftPercent);
+        } else {
+            return context.getString(resIdLeftFirst, leftPercent, rightPercent);
+        }
+    }
 }
 
diff --git a/src/com/android/settings/accessibility/CaptioningAppearancePreferenceController.java b/src/com/android/settings/accessibility/CaptioningAppearancePreferenceController.java
index 74cb534..700a013 100644
--- a/src/com/android/settings/accessibility/CaptioningAppearancePreferenceController.java
+++ b/src/com/android/settings/accessibility/CaptioningAppearancePreferenceController.java
@@ -42,7 +42,8 @@
 
     @Override
     public CharSequence getSummary() {
-        return mContext.getString(R.string.preference_summary_default_combination,
+        return mContext.getString(
+                com.android.settingslib.R.string.preference_summary_default_combination,
                 geFontScaleSummary(), getPresetSummary());
     }
 
diff --git a/src/com/android/settings/accessibility/CaptioningMoreOptionsFragment.java b/src/com/android/settings/accessibility/CaptioningMoreOptionsFragment.java
index 2895e75..85b48e9 100644
--- a/src/com/android/settings/accessibility/CaptioningMoreOptionsFragment.java
+++ b/src/com/android/settings/accessibility/CaptioningMoreOptionsFragment.java
@@ -17,6 +17,8 @@
 package com.android.settings.accessibility;
 
 import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.provider.Settings;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
@@ -50,5 +52,16 @@
     }
 
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider(R.xml.captioning_more_options);
+            new BaseSearchIndexProvider(R.xml.captioning_more_options) {
+                @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    if (!Flags.fixA11ySettingsSearch()) {
+                        return super.isPageSearchEnabled(context);
+                    }
+                    // CaptioningMoreOptions is only searchable if captions are enabled, so that we
+                    // don't show search results for settings that will cause no change to the user.
+                    return Settings.Secure.getInt(context.getContentResolver(),
+                            Settings.Secure.ACCESSIBILITY_CAPTIONING_ENABLED, 0) == 1;
+                }
+            };
 }
diff --git a/src/com/android/settings/accessibility/DaltonizerPreferenceUtil.java b/src/com/android/settings/accessibility/DaltonizerPreferenceUtil.java
new file mode 100644
index 0000000..459dbb9
--- /dev/null
+++ b/src/com/android/settings/accessibility/DaltonizerPreferenceUtil.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.provider.Settings;
+import android.view.accessibility.AccessibilityManager;
+
+import com.google.common.primitives.Ints;
+
+/**
+ * Utility class for retrieving accessibility daltonizer related values in secure settings.
+ */
+public class DaltonizerPreferenceUtil {
+
+    /**
+     * Return the daltonizer display mode stored in
+     * {@link Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER}.
+     * By default it returns {@link DALTONIZER_CORRECT_DEUTERANOMALY}.
+     */
+    public static int getSecureAccessibilityDaltonizerValue(ContentResolver resolver) {
+        final String daltonizerStringValue = Settings.Secure.getString(
+                resolver, Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER);
+        if (daltonizerStringValue == null) {
+            return AccessibilityManager.DALTONIZER_CORRECT_DEUTERANOMALY;
+        }
+        final Integer daltonizerIntValue = Ints.tryParse(daltonizerStringValue);
+        return daltonizerIntValue == null ? AccessibilityManager.DALTONIZER_CORRECT_DEUTERANOMALY
+                : daltonizerIntValue;
+    }
+
+    /**
+     * Returns the daltonizer enabled value in
+     * {@link Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED}.
+     * By default it returns false.
+     */
+    public static boolean isSecureAccessibilityDaltonizerEnabled(ContentResolver resolver) {
+        return Settings.Secure.getInt(
+                resolver,
+                Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED,
+                OFF) == ON;
+    }
+}
diff --git a/src/com/android/settings/accessibility/DaltonizerRadioButtonPreferenceController.java b/src/com/android/settings/accessibility/DaltonizerRadioButtonPreferenceController.java
index 75d9229..5a8c710 100644
--- a/src/com/android/settings/accessibility/DaltonizerRadioButtonPreferenceController.java
+++ b/src/com/android/settings/accessibility/DaltonizerRadioButtonPreferenceController.java
@@ -19,76 +19,56 @@
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.res.Resources;
+import android.database.ContentObserver;
+import android.os.Handler;
+import android.os.Looper;
 import android.provider.Settings;
 import android.view.View;
-import android.view.accessibility.AccessibilityManager;
 
-import androidx.lifecycle.LifecycleObserver;
+import androidx.annotation.NonNull;
+import androidx.lifecycle.DefaultLifecycleObserver;
+import androidx.lifecycle.LifecycleOwner;
 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.SelectorWithWidgetPreference;
 
-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, SelectorWithWidgetPreference.OnClickListener {
-    private static final String TYPE = Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER;
+        DefaultLifecycleObserver, SelectorWithWidgetPreference.OnClickListener {
+    private static final String DALTONIZER_TYPE_SETTINGS_KEY =
+            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 ContentObserver mSettingsContentObserver;
     private final Resources mResources;
-    private DaltonizerRadioButtonPreferenceController.OnChangeListener mOnChangeListener;
     private SelectorWithWidgetPreference 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;
+        mSettingsContentObserver = new ContentObserver(new Handler(Looper.getMainLooper())) {
+            @Override
+            public void onChange(boolean selfChange) {
+                if (mPreference != null) {
+                    updateState(mPreference);
+                }
+            }
+        };
     }
 
     private Map<String, Integer> getDaltonizerValueToKeyMap() {
-        if (mAccessibilityDaltonizerKeyToValueMap.size() == 0) {
+        if (mAccessibilityDaltonizerKeyToValueMap.isEmpty()) {
 
             final String[] daltonizerKeys = mResources.getStringArray(
                     R.array.daltonizer_mode_keys);
@@ -104,12 +84,8 @@
         return mAccessibilityDaltonizerKeyToValueMap;
     }
 
-    private void putSecureString(String name, String value) {
-        Settings.Secure.putString(mContentResolver, name, value);
-    }
-
     private void handlePreferenceChange(String value) {
-        putSecureString(TYPE, value);
+        Settings.Secure.putString(mContentResolver, DALTONIZER_TYPE_SETTINGS_KEY, value);
     }
 
     @Override
@@ -124,44 +100,39 @@
                 screen.findPreference(getPreferenceKey());
         mPreference.setOnClickListener(this);
         mPreference.setAppendixVisibility(View.GONE);
-        updateState(mPreference);
     }
 
     @Override
     public void onRadioButtonClicked(SelectorWithWidgetPreference 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);
+        final int daltonizerValue =
+                DaltonizerPreferenceUtil.getSecureAccessibilityDaltonizerValue(mContentResolver);
         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 daltonizerValueInSetting = getAccessibilityDaltonizerValue();
         final int preferenceValue = getDaltonizerValueToKeyMap().get(mPreference.getKey());
-        updatePreferenceCheckedState(preferenceValue);
+        mPreference.setChecked(preferenceValue == daltonizerValueInSetting);
     }
 
-    /** Listener interface handles checked event. */
-    public interface OnChangeListener {
-        /** A hook that is called when preference checked. */
-        void onCheckedChanged(Preference preference);
+    @Override
+    public void onResume(@NonNull LifecycleOwner owner) {
+        mContentResolver.registerContentObserver(
+                Settings.Secure.getUriFor(DALTONIZER_TYPE_SETTINGS_KEY),
+                /* notifyForDescendants= */ false,
+                mSettingsContentObserver
+        );
+    }
+
+    @Override
+    public void onPause(@NonNull LifecycleOwner owner) {
+        mContentResolver.unregisterContentObserver(mSettingsContentObserver);
     }
 }
diff --git a/src/com/android/settings/accessibility/DaltonizerSaturationSeekbarPreferenceController.java b/src/com/android/settings/accessibility/DaltonizerSaturationSeekbarPreferenceController.java
index 7dcd661..6a9977a 100644
--- a/src/com/android/settings/accessibility/DaltonizerSaturationSeekbarPreferenceController.java
+++ b/src/com/android/settings/accessibility/DaltonizerSaturationSeekbarPreferenceController.java
@@ -15,28 +15,55 @@
  */
 package com.android.settings.accessibility;
 
+import static com.android.settings.accessibility.DaltonizerPreferenceUtil.isSecureAccessibilityDaltonizerEnabled;
+import static com.android.settings.accessibility.DaltonizerPreferenceUtil.getSecureAccessibilityDaltonizerValue;
+
 import android.content.ContentResolver;
 import android.content.Context;
+import android.database.ContentObserver;
+import android.os.Handler;
+import android.os.Looper;
 import android.provider.Settings;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.lifecycle.DefaultLifecycleObserver;
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
 import com.android.server.accessibility.Flags;
+import com.android.settings.R;
 import com.android.settings.core.SliderPreferenceController;
 import com.android.settings.widget.SeekBarPreference;
 
 /**
  * The controller of the seekbar preference for the saturation level of color correction.
  */
-public class DaltonizerSaturationSeekbarPreferenceController extends SliderPreferenceController {
+public class DaltonizerSaturationSeekbarPreferenceController
+        extends SliderPreferenceController
+        implements DefaultLifecycleObserver {
 
     private static final int DEFAULT_SATURATION_LEVEL = 7;
     private static final int SATURATION_MAX = 10;
-    private static final int SATURATION_MIN = 0;
+    private static final int SATURATION_MIN = 1;
 
     private int mSliderPosition;
     private final ContentResolver mContentResolver;
 
+    @Nullable
+    private SeekBarPreference mPreference;
+
+    public final ContentObserver mContentObserver = new ContentObserver(
+            new Handler(Looper.getMainLooper())) {
+        @Override
+        public void onChange(boolean selfChange) {
+            if (mPreference != null) {
+                updateState(mPreference);
+            }
+        }
+    };
+
     public DaltonizerSaturationSeekbarPreferenceController(Context context,
             String preferenceKey) {
         super(context, preferenceKey);
@@ -50,9 +77,32 @@
     }
 
     @Override
+    public void onStart(@NonNull LifecycleOwner owner) {
+        if (!isAvailable()) return;
+        mContentResolver.registerContentObserver(
+                Settings.Secure.getUriFor(Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER),
+                true,
+                mContentObserver
+        );
+        mContentResolver.registerContentObserver(
+                Settings.Secure.getUriFor(Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED),
+                true,
+                mContentObserver
+        );
+    }
+
+    @Override
+    public void onStop(@NonNull LifecycleOwner owner) {
+        if (!isAvailable()) return;
+        mContentResolver.unregisterContentObserver(mContentObserver);
+        mPreference = null;
+    }
+
+    @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
         SeekBarPreference preference = screen.findPreference(getPreferenceKey());
+        mPreference = preference;
         preference.setMax(getMax());
         preference.setMin(getMin());
         preference.setProgress(mSliderPosition);
@@ -62,7 +112,7 @@
     @Override
     public int getAvailabilityStatus() {
         if (Flags.enableColorCorrectionSaturation()) {
-            return AVAILABLE;
+            return shouldSeekBarEnabled() ? AVAILABLE : DISABLED_DEPENDENT_SETTING;
         }
         return CONDITIONALLY_UNAVAILABLE;
     }
@@ -86,6 +136,21 @@
     }
 
     @Override
+    public void updateState(Preference preference) {
+        if (preference == null) {
+            return;
+        }
+
+        var shouldSeekbarEnabled = shouldSeekBarEnabled();
+        // setSummary not working yet on SeekBarPreference.
+        String summary = shouldSeekbarEnabled
+                ? ""
+                : mContext.getString(R.string.daltonizer_saturation_unavailable_summary);
+        preference.setSummary(summary);
+        preference.setEnabled(shouldSeekbarEnabled);
+    }
+
+    @Override
     public int getMax() {
         return SATURATION_MAX;
     }
@@ -94,4 +159,13 @@
     public int getMin() {
         return SATURATION_MIN;
     }
+
+    private boolean shouldSeekBarEnabled() {
+        boolean enabled = isSecureAccessibilityDaltonizerEnabled(mContentResolver);
+        int mode = getSecureAccessibilityDaltonizerValue(mContentResolver);
+
+        // mode == 0 is gray scale where saturation level isn't applicable.
+        // mode == -1 is disabled and also default.
+        return enabled && mode != -1 && mode != 0;
+    }
 }
diff --git a/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceController.java b/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceController.java
index ae1adfa..fe69b2b 100644
--- a/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceController.java
+++ b/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceController.java
@@ -110,7 +110,7 @@
         if (preference == null) {
             return;
         }
-        preference.setEnabled(FlashNotificationsUtil.getFlashNotificationsState(mContext)
+        preference.setVisible(FlashNotificationsUtil.getFlashNotificationsState(mContext)
                 != FlashNotificationsUtil.State.OFF);
     }
 }
diff --git a/src/com/android/settings/accessibility/FloatingMenuFadePreferenceController.java b/src/com/android/settings/accessibility/FloatingMenuFadePreferenceController.java
index 3d36aa4..70882a4 100644
--- a/src/com/android/settings/accessibility/FloatingMenuFadePreferenceController.java
+++ b/src/com/android/settings/accessibility/FloatingMenuFadePreferenceController.java
@@ -28,6 +28,7 @@
 import androidx.preference.PreferenceScreen;
 import androidx.preference.TwoStatePreference;
 
+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.OnPause;
@@ -65,6 +66,18 @@
     }
 
     @Override
+    public CharSequence getSummary() {
+        if (mPreference != null) {
+            return mPreference.isEnabled()
+                    ? "%s"
+                    : mContext.getString(
+                            R.string.accessibility_button_disabled_button_mode_summary);
+        } else {
+            return "%s";
+        }
+    }
+
+    @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
 
@@ -101,6 +114,7 @@
 
     private void updateAvailabilityStatus() {
         mPreference.setEnabled(AccessibilityUtil.isFloatingMenuEnabled(mContext));
+        refreshSummary(mPreference);
     }
 
     private int getFloatingMenuFadeValue() {
diff --git a/src/com/android/settings/accessibility/FloatingMenuSizePreferenceController.java b/src/com/android/settings/accessibility/FloatingMenuSizePreferenceController.java
index 7d4f495..2f036da 100644
--- a/src/com/android/settings/accessibility/FloatingMenuSizePreferenceController.java
+++ b/src/com/android/settings/accessibility/FloatingMenuSizePreferenceController.java
@@ -29,6 +29,7 @@
 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.OnPause;
@@ -80,6 +81,18 @@
     }
 
     @Override
+    public CharSequence getSummary() {
+        if (mPreference != null) {
+            return mPreference.isEnabled()
+                    ? "%s"
+                    : mContext.getString(
+                            R.string.accessibility_button_disabled_button_mode_summary);
+        } else {
+            return "%s";
+        }
+    }
+
+    @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
 
@@ -119,6 +132,7 @@
 
     private void updateAvailabilityStatus() {
         mPreference.setEnabled(AccessibilityUtil.isFloatingMenuEnabled(mContext));
+        refreshSummary(mPreference);
     }
 
     @Size
diff --git a/src/com/android/settings/accessibility/HearingAidCompatibilityPreferenceController.java b/src/com/android/settings/accessibility/HearingAidCompatibilityPreferenceController.java
index 727cdd5..821fddd 100644
--- a/src/com/android/settings/accessibility/HearingAidCompatibilityPreferenceController.java
+++ b/src/com/android/settings/accessibility/HearingAidCompatibilityPreferenceController.java
@@ -25,6 +25,7 @@
 import com.android.internal.telephony.flags.Flags;
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
 
 /** Preference controller for Hearing Aid Compatibility (HAC) settings */
 public class HearingAidCompatibilityPreferenceController extends TogglePreferenceController {
@@ -73,6 +74,8 @@
 
     @Override
     public boolean setChecked(boolean isChecked) {
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().changed(
+                getMetricsCategory(), getPreferenceKey(), isChecked ? 1 : 0);
         setAudioParameterHacEnabled(isChecked);
         return Settings.System.putInt(mContext.getContentResolver(), Settings.System.HEARING_AID,
                 (isChecked ? HAC_ENABLED : HAC_DISABLED));
diff --git a/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java
index eb7b27d..9c8560b 100644
--- a/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java
@@ -17,7 +17,6 @@
 package com.android.settings.accessibility;
 
 import android.accessibilityservice.AccessibilityServiceInfo;
-import android.content.DialogInterface;
 
 import com.android.settingslib.accessibility.AccessibilityUtils;
 
@@ -63,17 +62,4 @@
         super.onAllowButtonFromShortcutToggleClicked();
         AccessibilityUtils.setAccessibilityServiceState(getContext(), mComponentName, true);
     }
-
-    /**
-     * {@inheritDoc}
-     *
-     * Enables accessibility service when shortcutPreference is checked.
-     */
-    @Override
-    protected void callOnAlertDialogCheckboxClicked(DialogInterface dialog, int which) {
-        super.callOnAlertDialogCheckboxClicked(dialog, which);
-
-        final boolean enabled = mShortcutPreference.isChecked();
-        AccessibilityUtils.setAccessibilityServiceState(getContext(), mComponentName, enabled);
-    }
 }
diff --git a/src/com/android/settings/accessibility/KeyboardBounceKeyPreferenceController.java b/src/com/android/settings/accessibility/KeyboardBounceKeyPreferenceController.java
index 6d988ac..840caa6 100644
--- a/src/com/android/settings/accessibility/KeyboardBounceKeyPreferenceController.java
+++ b/src/com/android/settings/accessibility/KeyboardBounceKeyPreferenceController.java
@@ -19,16 +19,21 @@
 
 import android.content.Context;
 import android.hardware.input.InputSettings;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
 import com.android.settings.inputmethod.PhysicalKeyboardFragment;
 
+import java.util.List;
+
 /**
  * A toggle preference controller for keyboard bounce key.
  */
 public class KeyboardBounceKeyPreferenceController extends TogglePreferenceController {
-
+    private static final String TAG = "BounceKeyPrefController";
     static final String PREF_KEY = "toggle_keyboard_bounce_keys";
 
     public KeyboardBounceKeyPreferenceController(Context context, String preferenceKey) {
@@ -58,4 +63,17 @@
     public int getSliceHighlightMenuRes() {
         return R.string.menu_key_accessibility;
     }
+
+    @Override
+    public void updateNonIndexableKeys(@NonNull List<String> keys) {
+        super.updateNonIndexableKeys(keys);
+
+        if (Flags.fixA11ySettingsSearch() && !AccessibilitySettings.isAnyHardKeyboardsExist()) {
+            if (keys.contains(getPreferenceKey())) {
+                Log.w(TAG, "Skipping updateNonIndexableKeys, key already in list.");
+                return;
+            }
+            keys.add(getPreferenceKey());
+        }
+    }
 }
diff --git a/src/com/android/settings/accessibility/KeyboardSlowKeyPreferenceController.java b/src/com/android/settings/accessibility/KeyboardSlowKeyPreferenceController.java
index 8bd2316..bb9d950 100644
--- a/src/com/android/settings/accessibility/KeyboardSlowKeyPreferenceController.java
+++ b/src/com/android/settings/accessibility/KeyboardSlowKeyPreferenceController.java
@@ -19,15 +19,21 @@
 
 import android.content.Context;
 import android.hardware.input.InputSettings;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
 import com.android.settings.inputmethod.PhysicalKeyboardFragment;
 
+import java.util.List;
+
 /**
  * A toggle preference controller for keyboard slow key.
  */
 public class KeyboardSlowKeyPreferenceController extends TogglePreferenceController {
+    private static final String TAG = "SlowKeyPrefController";
 
     static final String PREF_KEY = "toggle_keyboard_slow_keys";
 
@@ -58,4 +64,17 @@
     public int getSliceHighlightMenuRes() {
         return R.string.menu_key_accessibility;
     }
+
+    @Override
+    public void updateNonIndexableKeys(@NonNull List<String> keys) {
+        super.updateNonIndexableKeys(keys);
+
+        if (Flags.fixA11ySettingsSearch() && !AccessibilitySettings.isAnyHardKeyboardsExist()) {
+            if (keys.contains(getPreferenceKey())) {
+                Log.w(TAG, "Skipping updateNonIndexableKeys, key already in list.");
+                return;
+            }
+            keys.add(getPreferenceKey());
+        }
+    }
 }
diff --git a/src/com/android/settings/accessibility/KeyboardStickyKeyPreferenceController.java b/src/com/android/settings/accessibility/KeyboardStickyKeyPreferenceController.java
index ee5559d..c896c9c 100644
--- a/src/com/android/settings/accessibility/KeyboardStickyKeyPreferenceController.java
+++ b/src/com/android/settings/accessibility/KeyboardStickyKeyPreferenceController.java
@@ -19,15 +19,20 @@
 
 import android.content.Context;
 import android.hardware.input.InputSettings;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
 
+import java.util.List;
+
 /**
  * A toggle preference controller for keyboard sticky key.
  */
 public class KeyboardStickyKeyPreferenceController extends TogglePreferenceController {
-
+    private static final String TAG = "StickyKeyPrefController";
     static final String PREF_KEY = "toggle_keyboard_sticky_keys";
 
     public KeyboardStickyKeyPreferenceController(Context context, String preferenceKey) {
@@ -55,4 +60,17 @@
     public int getSliceHighlightMenuRes() {
         return R.string.menu_key_accessibility;
     }
+
+    @Override
+    public void updateNonIndexableKeys(@NonNull List<String> keys) {
+        super.updateNonIndexableKeys(keys);
+
+        if (Flags.fixA11ySettingsSearch() && !AccessibilitySettings.isAnyHardKeyboardsExist()) {
+            if (keys.contains(getPreferenceKey())) {
+                Log.w(TAG, "Skipping updateNonIndexableKeys, key already in list.");
+                return;
+            }
+            keys.add(getPreferenceKey());
+        }
+    }
 }
diff --git a/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceController.java b/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceController.java
index 21800b9..45a19b7 100644
--- a/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceController.java
+++ b/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceController.java
@@ -27,9 +27,9 @@
 import android.database.ContentObserver;
 import android.net.Uri;
 import android.os.Handler;
+import android.os.Looper;
 import android.os.VibrationAttributes;
 import android.os.Vibrator;
-import android.os.vibrator.Flags;
 import android.provider.Settings;
 import android.util.Log;
 
@@ -70,7 +70,8 @@
     public KeyboardVibrationTogglePreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
         mVibrator = context.getSystemService(Vibrator.class);
-        mContentObserver = new ContentObserver(new Handler(/* async= */ true)) {
+        Handler handler = Looper.myLooper() != null ? new Handler(/* async= */ true) : null;
+        mContentObserver = new ContentObserver(handler) {
             @Override
             public void onChange(boolean selfChange, Uri uri) {
                 if (uri.equals(MAIN_VIBRATION_SWITCH_URI)) {
@@ -110,10 +111,8 @@
 
     @Override
     public int getAvailabilityStatus() {
-        if (Flags.keyboardCategoryEnabled()
-                && mContext.getResources().getBoolean(R.bool.config_keyboard_vibration_supported)
-                && mContext.getResources().getFloat(
-                com.android.internal.R.dimen.config_keyboardHapticFeedbackFixedAmplitude) > 0) {
+        if (mContext.getResources().getBoolean(
+                com.android.internal.R.bool.config_keyboardVibrationSettingsSupported)) {
             return AVAILABLE;
         }
         return UNSUPPORTED_ON_DEVICE;
@@ -131,15 +130,9 @@
         mMetricsFeatureProvider.action(mContext,
                 SettingsEnums.ACTION_KEYBOARD_VIBRATION_CHANGED, isChecked);
         if (success && isChecked) {
-            // Play the preview vibration effect when the toggle is on.
-            final VibrationAttributes touchAttrs =
-                    VibrationPreferenceConfig.createPreviewVibrationAttributes(
-                            VibrationAttributes.USAGE_TOUCH);
-            final VibrationAttributes keyboardAttrs =
-                    new VibrationAttributes.Builder(touchAttrs)
-                            .setCategory(VibrationAttributes.CATEGORY_KEYBOARD)
-                            .build();
-            VibrationPreferenceConfig.playVibrationPreview(mVibrator, keyboardAttrs);
+            // Play the preview vibration effect for the IME feedback when the toggle is on.
+            VibrationPreferenceConfig.playVibrationPreview(
+                    mVibrator, VibrationAttributes.USAGE_IME_FEEDBACK);
         }
         return true;
     }
@@ -155,8 +148,8 @@
     }
 
     private boolean isKeyboardVibrationSwitchEnabled() {
-        return Settings.System.getInt(mContext.getContentResolver(), KEYBOARD_VIBRATION_ENABLED,
-                mVibrator.isDefaultKeyboardVibrationEnabled() ? ON : OFF) == ON;
+        return Settings.System.getInt(
+                mContext.getContentResolver(), KEYBOARD_VIBRATION_ENABLED, ON) == ON;
     }
 
     private boolean updateKeyboardVibrationSetting(boolean enable) {
diff --git a/src/com/android/settings/accessibility/LargePointerIconPreferenceController.java b/src/com/android/settings/accessibility/LargePointerIconPreferenceController.java
index 0220245..0f1d44d 100644
--- a/src/com/android/settings/accessibility/LargePointerIconPreferenceController.java
+++ b/src/com/android/settings/accessibility/LargePointerIconPreferenceController.java
@@ -49,7 +49,8 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AVAILABLE;
+        return android.view.flags.Flags.enableVectorCursorA11ySettings() ? CONDITIONALLY_UNAVAILABLE
+                : AVAILABLE;
     }
 
     @Override
diff --git a/src/com/android/settings/accessibility/MagnificationOneFingerPanningPreferenceController.java b/src/com/android/settings/accessibility/MagnificationOneFingerPanningPreferenceController.java
index 3e3b8d9..a6d87f2 100644
--- a/src/com/android/settings/accessibility/MagnificationOneFingerPanningPreferenceController.java
+++ b/src/com/android/settings/accessibility/MagnificationOneFingerPanningPreferenceController.java
@@ -28,6 +28,7 @@
 import android.provider.Settings;
 
 import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
@@ -103,16 +104,10 @@
 
     @Override
     public CharSequence getSummary() {
-        if (!mSwitchPreference.isEnabled()) {
-            return mContext.getString(
-                    R.string.accessibility_magnification_one_finger_panning_summary_unavailable);
-        }
-
-        return (isChecked())
-                ? mContext.getString(
-                        R.string.accessibility_magnification_one_finger_panning_summary_on)
-                : mContext.getString(
-                        R.string.accessibility_magnification_one_finger_panning_summary_off);
+        @StringRes int resId = mSwitchPreference.isEnabled()
+                ? R.string.accessibility_magnification_one_finger_panning_summary
+                : R.string.accessibility_magnification_one_finger_panning_summary_unavailable;
+        return mContext.getString(resId);
     }
 
     @Override
diff --git a/src/com/android/settings/accessibility/PreferredShortcut.java b/src/com/android/settings/accessibility/PreferredShortcut.java
index 1654992..c26960e 100644
--- a/src/com/android/settings/accessibility/PreferredShortcut.java
+++ b/src/com/android/settings/accessibility/PreferredShortcut.java
@@ -19,7 +19,7 @@
 import android.content.ComponentName;
 import android.text.TextUtils;
 
-import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
+import com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
 
 import com.google.common.base.Objects;
 
diff --git a/src/com/android/settings/accessibility/PreferredShortcuts.java b/src/com/android/settings/accessibility/PreferredShortcuts.java
index 895430a..c3e64ab 100644
--- a/src/com/android/settings/accessibility/PreferredShortcuts.java
+++ b/src/com/android/settings/accessibility/PreferredShortcuts.java
@@ -16,6 +16,10 @@
 
 package com.android.settings.accessibility;
 
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.DEFAULT;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
+
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.SharedPreferences;
@@ -27,8 +31,8 @@
 import androidx.annotation.VisibleForTesting;
 
 import com.android.internal.accessibility.common.ShortcutConstants;
+import com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
 import com.android.internal.accessibility.util.ShortcutUtils;
-import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
 
 import java.util.HashSet;
 import java.util.Map;
@@ -43,18 +47,18 @@
     /**
      * Retrieves the user preferred shortcut types for the given {@code componentName} from
      * SharedPreferences. If the user doesn't have a preferred shortcut,
-     * {@link ShortcutConstants.UserShortcutType.SOFTWARE} is returned.
+     * {@link SOFTWARE} is returned.
      *
      * @param context       {@link Context} to access the {@link SharedPreferences}
      * @param componentName Name of the service or activity, should be the format of {@link
      *                      ComponentName#flattenToString()}.
-     * @return {@link ShortcutConstants.UserShortcutType}
+     * @return {@link UserShortcutType}
      */
-    @ShortcutConstants.UserShortcutType
+    @UserShortcutType
     public static int retrieveUserShortcutType(
             @NonNull Context context, @NonNull String componentName) {
         return retrieveUserShortcutType(
-                context, componentName, ShortcutConstants.UserShortcutType.SOFTWARE);
+                context, componentName, SOFTWARE);
     }
 
     /**
@@ -66,13 +70,13 @@
      *                         ComponentName#flattenToString()}.
      * @param defaultTypes The default shortcut types to use if the user doesn't have a
      *                         preferred shortcut.
-     * @return {@link ShortcutConstants.UserShortcutType}
+     * @return {@link UserShortcutType}
      */
-    @ShortcutConstants.UserShortcutType
+    @UserShortcutType
     public static int retrieveUserShortcutType(
             @NonNull Context context,
             @NonNull String componentName,
-            @ShortcutConstants.UserShortcutType int defaultTypes) {
+            @UserShortcutType int defaultTypes) {
 
         // Create a mutable set to modify
         final Set<String> info = new HashSet<>(getFromSharedPreferences(context));
@@ -121,7 +125,7 @@
         final Map<Integer, Set<String>> shortcutTypeToTargets = new ArrayMap<>();
         for (int shortcutType : ShortcutConstants.USER_SHORTCUT_TYPES) {
             if (!Flags.a11yQsShortcut()
-                    && shortcutType == ShortcutConstants.UserShortcutType.QUICK_SETTINGS) {
+                    && shortcutType == QUICK_SETTINGS) {
                 // Skip saving quick setting as preferred shortcut option when flag is not enabled
                 continue;
             }
@@ -132,14 +136,14 @@
         }
 
         for (String target : components) {
-            int shortcutTypes = ShortcutConstants.UserShortcutType.DEFAULT;
+            int shortcutTypes = DEFAULT;
             for (Map.Entry<Integer, Set<String>> entry : shortcutTypeToTargets.entrySet()) {
                 if (entry.getValue().contains(target)) {
                     shortcutTypes |= entry.getKey();
                 }
             }
 
-            if (shortcutTypes != ShortcutConstants.UserShortcutType.DEFAULT) {
+            if (shortcutTypes != DEFAULT) {
                 final PreferredShortcut shortcut = new PreferredShortcut(
                         target, shortcutTypes);
                 PreferredShortcuts.saveUserShortcutType(context, shortcut);
diff --git a/src/com/android/settings/accessibility/ReduceBrightColorsPreferenceController.java b/src/com/android/settings/accessibility/ReduceBrightColorsPreferenceController.java
index 3ca089c..e7f59f4 100644
--- a/src/com/android/settings/accessibility/ReduceBrightColorsPreferenceController.java
+++ b/src/com/android/settings/accessibility/ReduceBrightColorsPreferenceController.java
@@ -29,6 +29,7 @@
 import android.provider.Settings;
 import android.text.TextUtils;
 
+import androidx.annotation.Nullable;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
@@ -125,9 +126,14 @@
         mContext.getContentResolver().unregisterContentObserver(mSettingsContentObserver);
     }
 
+    @Nullable
     @Override
     protected ComponentName getTileComponentName() {
-        return REDUCE_BRIGHT_COLORS_TILE_SERVICE_COMPONENT_NAME;
+        // TODO: When clean up the feature flag, change the parent class from
+        // AccessibilityQuickSettingsPrimarySwitchPreferenceController to
+        // TogglePreferenceController
+        return android.view.accessibility.Flags.a11yQsShortcut()
+                ? null : REDUCE_BRIGHT_COLORS_TILE_SERVICE_COMPONENT_NAME;
     }
 
     @Override
diff --git a/src/com/android/settings/accessibility/RestrictedPreferenceHelper.java b/src/com/android/settings/accessibility/RestrictedPreferenceHelper.java
index 2cabc76..c324130 100644
--- a/src/com/android/settings/accessibility/RestrictedPreferenceHelper.java
+++ b/src/com/android/settings/accessibility/RestrictedPreferenceHelper.java
@@ -128,7 +128,13 @@
             AccessibilityActivityPreference preference = new AccessibilityActivityPreference(
                     mContext, componentName.getPackageName(), activityInfo.applicationInfo.uid,
                     info);
-            setRestrictedPreferenceEnabled(preference, permittedServices, serviceEnabled);
+            if (Flags.neverRestrictAccessibilityActivity()) {
+                // Accessibility Activities do not have elevated privileges so restricting
+                // them based on ECM or device admin does not give any value.
+                preference.setEnabled(true);
+            } else {
+                setRestrictedPreferenceEnabled(preference, permittedServices, serviceEnabled);
+            }
             preferenceList.add(preference);
         }
         return preferenceList;
diff --git a/src/com/android/settings/accessibility/SavedHearingDeviceUpdater.java b/src/com/android/settings/accessibility/SavedHearingDeviceUpdater.java
index 645d091..1de9c72 100644
--- a/src/com/android/settings/accessibility/SavedHearingDeviceUpdater.java
+++ b/src/com/android/settings/accessibility/SavedHearingDeviceUpdater.java
@@ -29,7 +29,7 @@
  */
 public class SavedHearingDeviceUpdater extends SavedBluetoothDeviceUpdater {
 
-    private static final String PREF_KEY = "saved_hearing_device";
+    private static final String PREF_KEY_PREFIX = "saved_hearing_device_";
 
     public SavedHearingDeviceUpdater(Context context,
             DevicePreferenceCallback devicePreferenceCallback, int metricsCategory) {
@@ -47,7 +47,7 @@
     }
 
     @Override
-    protected String getPreferenceKey() {
-        return PREF_KEY;
+    protected String getPreferenceKeyPrefix() {
+        return PREF_KEY_PREFIX;
     }
 }
diff --git a/src/com/android/settings/accessibility/ScreenFlashNotificationColorDialogFragment.java b/src/com/android/settings/accessibility/ScreenFlashNotificationColorDialogFragment.java
index ca77f16..2be843c 100644
--- a/src/com/android/settings/accessibility/ScreenFlashNotificationColorDialogFragment.java
+++ b/src/com/android/settings/accessibility/ScreenFlashNotificationColorDialogFragment.java
@@ -28,11 +28,13 @@
 import android.graphics.Color;
 import android.os.Bundle;
 import android.os.UserHandle;
+import android.provider.Settings;
 import android.view.View;
 
 import androidx.annotation.ColorInt;
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
 import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.DialogFragment;
 
@@ -40,8 +42,6 @@
 
 import java.util.Timer;
 import java.util.TimerTask;
-import java.util.function.Consumer;
-
 
 /**
  * DialogFragment for Screen flash notification color picker.
@@ -49,30 +49,33 @@
 public class ScreenFlashNotificationColorDialogFragment extends DialogFragment implements
         ColorSelectorLayout.OnCheckedChangeListener {
 
+    private static final int DEFAULT_COLOR = Color.TRANSPARENT;
     private static final int PREVIEW_LONG_TIME_MS = 5000;
     private static final int BETWEEN_STOP_AND_START_DELAY_MS = 250;
     private static final int MARGIN_FOR_STOP_DELAY_MS = 100;
 
+    @VisibleForTesting
+    static final String EXTRA_COLOR = "extra_color";
     @ColorInt
-    private int mCurrentColor = Color.TRANSPARENT;
-    private Consumer<Integer> mConsumer;
+    private int mCurrentColor = DEFAULT_COLOR;
 
     private Timer mTimer = null;
     private Boolean mIsPreview = false;
 
-    static ScreenFlashNotificationColorDialogFragment getInstance(int initialColor,
-            Consumer<Integer> colorConsumer) {
+    static ScreenFlashNotificationColorDialogFragment getInstance(int initialColor) {
         final ScreenFlashNotificationColorDialogFragment result =
                 new ScreenFlashNotificationColorDialogFragment();
-        result.mCurrentColor = initialColor;
-        result.mConsumer = colorConsumer != null ? colorConsumer : i -> {
-        };
+        Bundle bundle = new Bundle();
+        bundle.putInt(EXTRA_COLOR, initialColor);
+        result.setArguments(bundle);
         return result;
     }
 
     @NonNull
     @Override
     public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+        mCurrentColor = getArguments().getInt(EXTRA_COLOR, DEFAULT_COLOR);
+
         final View dialogView = getLayoutInflater().inflate(R.layout.layout_color_selector_dialog,
                 null);
 
@@ -89,9 +92,10 @@
                 .setNeutralButton(R.string.flash_notifications_preview, null)
                 .setNegativeButton(R.string.color_selector_dialog_cancel, (dialog, which) -> {
                 })
-                .setPositiveButton(R.string.color_selector_dialog_done, (dialog, which) -> {
+                .setPositiveButton(R.string.color_selector_dialog_save, (dialog, which) -> {
                     mCurrentColor = colorSelectorLayout.getCheckedColor(DEFAULT_SCREEN_FLASH_COLOR);
-                    mConsumer.accept(mCurrentColor);
+                    Settings.System.putInt(getContext().getContentResolver(),
+                            Settings.System.SCREEN_FLASH_NOTIFICATION_COLOR, mCurrentColor);
                 })
                 .create();
         createdDialog.setOnShowListener(
diff --git a/src/com/android/settings/accessibility/ScreenFlashNotificationPreferenceController.java b/src/com/android/settings/accessibility/ScreenFlashNotificationPreferenceController.java
index bd54aca..3ebcd1c 100644
--- a/src/com/android/settings/accessibility/ScreenFlashNotificationPreferenceController.java
+++ b/src/com/android/settings/accessibility/ScreenFlashNotificationPreferenceController.java
@@ -21,10 +21,17 @@
 import static com.android.settings.accessibility.FlashNotificationsUtil.DEFAULT_SCREEN_FLASH_COLOR;
 
 import android.content.Context;
+import android.database.ContentObserver;
 import android.graphics.Color;
+import android.net.Uri;
+import android.os.Handler;
 import android.provider.Settings;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.fragment.app.Fragment;
+import androidx.lifecycle.DefaultLifecycleObserver;
+import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
@@ -32,18 +39,21 @@
 import com.android.settings.core.TogglePreferenceController;
 import com.android.settings.overlay.FeatureFactory;
 
-import java.util.function.Consumer;
-
 /**
  * Controller for Screen flash notification.
  */
-public class ScreenFlashNotificationPreferenceController extends TogglePreferenceController {
+public class ScreenFlashNotificationPreferenceController extends
+        TogglePreferenceController implements DefaultLifecycleObserver {
+
+    private final FlashNotificationColorContentObserver mFlashNotificationColorContentObserver;
 
     private Fragment mParentFragment;
     private Preference mPreference;
 
     public ScreenFlashNotificationPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
+        mFlashNotificationColorContentObserver = new FlashNotificationColorContentObserver(
+                new Handler(mContext.getMainLooper()));
     }
 
     public void setParentFragment(Fragment parentFragment) {
@@ -51,6 +61,16 @@
     }
 
     @Override
+    public void onStart(@NonNull LifecycleOwner owner) {
+        mFlashNotificationColorContentObserver.register(mContext);
+    }
+
+    @Override
+    public void onStop(@NonNull LifecycleOwner owner) {
+        mFlashNotificationColorContentObserver.unregister(mContext);
+    }
+
+    @Override
     public int getAvailabilityStatus() {
         return AVAILABLE;
     }
@@ -100,14 +120,8 @@
                     Settings.System.SCREEN_FLASH_NOTIFICATION_COLOR,
                     DEFAULT_SCREEN_FLASH_COLOR);
 
-            final Consumer<Integer> consumer = color -> {
-                Settings.System.putInt(mContext.getContentResolver(),
-                        Settings.System.SCREEN_FLASH_NOTIFICATION_COLOR, color);
-                refreshColorSummary();
-            };
-
             ScreenFlashNotificationColorDialogFragment
-                    .getInstance(initialColor, consumer)
+                    .getInstance(initialColor)
                     .show(mParentFragment.getParentFragmentManager(),
                             ScreenFlashNotificationColorDialogFragment.class.getSimpleName());
             return true;
@@ -128,4 +142,37 @@
     private void refreshColorSummary() {
         if (mPreference != null) mPreference.setSummary(getSummary());
     }
+
+    private final class FlashNotificationColorContentObserver extends ContentObserver {
+        private final Uri mColorUri = Settings.System.getUriFor(
+                Settings.System.SCREEN_FLASH_NOTIFICATION_COLOR);
+
+        FlashNotificationColorContentObserver(Handler handler) {
+            super(handler);
+        }
+
+        /**
+         * Register this observer to given {@link Context}, to be called from lifecycle
+         * {@code onStart} method.
+         */
+        public void register(@NonNull Context context) {
+            context.getContentResolver().registerContentObserver(
+                    mColorUri, /* notifyForDescendants= */ false, this);
+        }
+
+        /**
+         * Unregister this observer from given {@link Context}, to be called from lifecycle
+         * {@code onStop} method.
+         */
+        public void unregister(@NonNull Context context) {
+            context.getContentResolver().unregisterContentObserver(this);
+        }
+
+        @Override
+        public void onChange(boolean selfChange, @Nullable Uri uri) {
+            if (mColorUri.equals(uri)) {
+                refreshColorSummary();
+            }
+        }
+    }
 }
diff --git a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
index a79098b..e41d857 100644
--- a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
@@ -40,7 +40,6 @@
 import android.util.Log;
 import android.view.Menu;
 import android.view.MenuInflater;
-import android.view.View;
 import android.view.accessibility.AccessibilityManager;
 import android.widget.CompoundButton;
 
@@ -411,17 +410,6 @@
         }
     }
 
-    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 onDialogButtonFromUninstallClicked() {
         mWarningDialog.dismiss();
         final Intent uninstallIntent = createUninstallPackageActivityIntent();
@@ -491,17 +479,6 @@
         mWarningDialog.dismiss();
     }
 
-    void onDialogButtonFromShortcutToggleClicked(View view) {
-        final int viewId = view.getId();
-        if (viewId == R.id.permission_enable_allow_button) {
-            onAllowButtonFromShortcutToggleClicked();
-        } else if (viewId == R.id.permission_enable_deny_button) {
-            onDenyButtonFromShortcutToggleClicked();
-        } else {
-            throw new IllegalArgumentException("Unexpected view id");
-        }
-    }
-
     void onAllowButtonFromShortcutToggleClicked() {
         mShortcutPreference.setChecked(true);
 
@@ -526,17 +503,13 @@
 
     private void onAllowButtonFromShortcutClicked() {
         mIsDialogShown.set(false);
-        if (Flags.editShortcutsInFullScreen()) {
-            EditShortcutsPreferenceFragment.showEditShortcutScreen(
-                    getContext(),
-                    getMetricsCategory(),
-                    getShortcutTitle(),
-                    mComponentName,
-                    getIntent()
-            );
-        } else {
-            showPopupDialog(DialogEnums.EDIT_SHORTCUT);
-        }
+        EditShortcutsPreferenceFragment.showEditShortcutScreen(
+                getContext(),
+                getMetricsCategory(),
+                getShortcutTitle(),
+                mComponentName,
+                getIntent()
+        );
 
         if (mWarningDialog != null) {
             mWarningDialog.dismiss();
diff --git a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
index 0cfa756..86ddd71 100644
--- a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
@@ -21,11 +21,10 @@
 import static com.android.settings.accessibility.AccessibilityStatsLogUtils.logAccessibilityServiceEnabled;
 import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
 import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
+import static com.android.settings.accessibility.DaltonizerPreferenceUtil.isSecureAccessibilityDaltonizerEnabled;
 
 import android.app.settings.SettingsEnums;
 import android.content.ComponentName;
-import android.content.Context;
-import android.content.res.Resources;
 import android.os.Bundle;
 import android.provider.Settings;
 import android.view.LayoutInflater;
@@ -33,14 +32,11 @@
 import android.view.ViewGroup;
 
 import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
 
 import com.android.settings.R;
 import com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.widget.SettingsMainSwitchPreference;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
@@ -48,40 +44,18 @@
 
 /** Settings for daltonizer. */
 @SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
-public class ToggleDaltonizerPreferenceFragment extends ToggleFeaturePreferenceFragment
-        implements DaltonizerRadioButtonPreferenceController.OnChangeListener {
+public class ToggleDaltonizerPreferenceFragment extends ToggleFeaturePreferenceFragment {
 
     private static final String TAG = "ToggleDaltonizerPreferenceFragment";
     private static final String ENABLED = Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED;
     private static final String KEY_PREVIEW = "daltonizer_preview";
-    @VisibleForTesting
-    static final String KEY_DEUTERANOMALY = "daltonizer_mode_deuteranomaly";
-    @VisibleForTesting
-    static final String KEY_PROTANOMALY = "daltonizer_mode_protanomaly";
-    @VisibleForTesting
-    static final String KEY_TRITANOMEALY = "daltonizer_mode_tritanomaly";
-    @VisibleForTesting
-    static final String KEY_GRAYSCALE = "daltonizer_mode_grayscale";
+    private static final String KEY_DEUTERANOMALY = "daltonizer_mode_deuteranomaly";
+    private static final String KEY_PROTANOMALY = "daltonizer_mode_protanomaly";
+    private static final String KEY_TRITANOMEALY = "daltonizer_mode_tritanomaly";
+    private static final String KEY_GRAYSCALE = "daltonizer_mode_grayscale";
     @VisibleForTesting
     static final String KEY_SATURATION = "daltonizer_saturation";
 
-    private static final List<AbstractPreferenceController> sControllers = new ArrayList<>();
-
-    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 (String daltonizerKey : daltonizerKeys) {
-                sControllers.add(new DaltonizerRadioButtonPreferenceController(
-                        context, lifecycle, daltonizerKey));
-            }
-        }
-        return sControllers;
-    }
-
     @Override
     protected void registerKeysToObserverCallback(
             AccessibilitySettingsContentObserver contentObserver) {
@@ -117,13 +91,6 @@
         }
     }
 
-    @Override
-    public void onCheckedChanged(Preference preference) {
-        for (AbstractPreferenceController controller : sControllers) {
-            controller.updateState(preference);
-        }
-    }
-
     private void updateFooterPreference() {
         final String title = getPrefContext()
                 .getString(R.string.accessibility_daltonizer_about_title);
@@ -155,21 +122,6 @@
     public void onResume() {
         super.onResume();
         updateSwitchBarToggleSwitch();
-        for (AbstractPreferenceController controller :
-                buildPreferenceControllers(getPrefContext(), getSettingsLifecycle())) {
-            ((DaltonizerRadioButtonPreferenceController) controller).setOnChangeListener(this);
-            ((DaltonizerRadioButtonPreferenceController) controller).displayPreference(
-                    getPreferenceScreen());
-        }
-    }
-
-    @Override
-    public void onPause() {
-        for (AbstractPreferenceController controller :
-                buildPreferenceControllers(getPrefContext(), getSettingsLifecycle())) {
-            ((DaltonizerRadioButtonPreferenceController) controller).setOnChangeListener(null);
-        }
-        super.onPause();
     }
 
     @Override
@@ -194,7 +146,8 @@
 
     @Override
     protected void onPreferenceToggled(String preferenceKey, boolean enabled) {
-        final boolean isEnabled = Settings.Secure.getInt(getContentResolver(), ENABLED, OFF) == ON;
+        final boolean isEnabled =
+                isSecureAccessibilityDaltonizerEnabled(getContentResolver());
         if (enabled == isEnabled) {
             return;
         }
diff --git a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
index a57b459..9c61e5c 100644
--- a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
@@ -16,6 +16,10 @@
 
 package com.android.settings.accessibility;
 
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.DEFAULT;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
 import static com.android.settings.accessibility.AccessibilityDialogUtils.DialogEnums;
 
 import android.app.Activity;
@@ -43,7 +47,6 @@
 import android.view.ViewGroup;
 import android.view.accessibility.AccessibilityManager;
 import android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener;
-import android.widget.CheckBox;
 import android.widget.CompoundButton;
 import android.widget.CompoundButton.OnCheckedChangeListener;
 import android.widget.ImageView;
@@ -53,13 +56,13 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
+import androidx.recyclerview.widget.RecyclerView;
 
 import com.android.internal.accessibility.common.ShortcutConstants;
+import com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
-import com.android.settings.accessibility.AccessibilityDialogUtils.DialogType;
 import com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType;
-import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
 import com.android.settings.accessibility.shortcuts.EditShortcutsPreferenceFragment;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.flags.Flags;
@@ -84,11 +87,9 @@
 
     public static final String KEY_GENERAL_CATEGORY = "general_categories";
     public static final String KEY_SHORTCUT_PREFERENCE = "shortcut_preference";
-    public static final int NOT_SET = -1;
     protected static final String KEY_TOP_INTRO_PREFERENCE = "top_intro";
     protected static final String KEY_USE_SERVICE_PREFERENCE = "use_service";
     protected static final String KEY_HTML_DESCRIPTION_PREFERENCE = "html_description";
-    protected static final String KEY_SAVED_USER_SHORTCUT_TYPE = "shortcut_type";
     protected static final String KEY_SAVED_QS_TOOLTIP_RESHOW = "qs_tooltip_reshow";
     protected static final String KEY_SAVED_QS_TOOLTIP_TYPE = "qs_tooltip_type";
     protected static final String KEY_ANIMATED_IMAGE = "animated_image";
@@ -101,6 +102,7 @@
     protected SettingsMainSwitchPreference mToggleServiceSwitchPreference;
     protected ShortcutPreference mShortcutPreference;
     protected Preference mSettingsPreference;
+    @Nullable protected AccessibilityFooterPreference mHtmlFooterPreference;
     protected AccessibilityFooterPreferenceController mFooterPreferenceController;
     protected String mPreferenceKey;
     protected Dialog mDialog;
@@ -112,15 +114,10 @@
     protected Uri mImageUri;
     protected CharSequence mHtmlDescription;
     protected CharSequence mTopIntroTitle;
-    // Save user's shortcutType value when savedInstance has value (e.g. device rotated).
-    protected int mSavedCheckBoxValue = NOT_SET;
     private CharSequence mDescription;
     private TouchExplorationStateChangeListener mTouchExplorationStateChangeListener;
     private AccessibilitySettingsContentObserver mSettingsContentObserver;
 
-    private CheckBox mSoftwareTypeCheckBox;
-    private CheckBox mHardwareTypeCheckBox;
-
     private AccessibilityQuickSettingsTooltipWindow mTooltipWindow;
     private boolean mNeedsQSTooltipReshow = false;
     private int mNeedsQSTooltipType = QuickSettingsTooltipType.GUIDE_TO_EDIT;
@@ -143,10 +140,6 @@
         onProcessArguments(getArguments());
         // Restore the user shortcut type and tooltip.
         if (savedInstanceState != null) {
-            if (savedInstanceState.containsKey(KEY_SAVED_USER_SHORTCUT_TYPE)) {
-                mSavedCheckBoxValue = savedInstanceState.getInt(KEY_SAVED_USER_SHORTCUT_TYPE,
-                        NOT_SET);
-            }
             if (savedInstanceState.containsKey(KEY_SAVED_QS_TOOLTIP_RESHOW)) {
                 mNeedsQSTooltipReshow = savedInstanceState.getBoolean(KEY_SAVED_QS_TOOLTIP_RESHOW);
             }
@@ -204,7 +197,6 @@
         updateToggleServiceTitle(mToggleServiceSwitchPreference);
 
         mTouchExplorationStateChangeListener = isTouchExplorationEnabled -> {
-            removeDialog(DialogEnums.EDIT_SHORTCUT);
             mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext()));
         };
 
@@ -215,14 +207,6 @@
     @Override
     public Dialog onCreateDialog(int dialogId) {
         switch (dialogId) {
-            case DialogEnums.EDIT_SHORTCUT:
-                final int dialogType = isAnySetupWizard()
-                        ? DialogType.EDIT_SHORTCUT_GENERIC_SUW : DialogType.EDIT_SHORTCUT_GENERIC;
-                mDialog = AccessibilityDialogUtils.showEditShortcutDialog(
-                        getPrefContext(), dialogType, getShortcutTitle(),
-                        this::callOnAlertDialogCheckboxClicked);
-                setupEditShortcutDialog(mDialog);
-                return mDialog;
             case DialogEnums.LAUNCH_ACCESSIBILITY_TUTORIAL:
                 if (isAnySetupWizard()) {
                     mDialog = AccessibilityShortcutsTutorial
@@ -273,8 +257,6 @@
         mSettingsContentObserver.register(getContentResolver());
         updateShortcutPreferenceData();
         updateShortcutPreference();
-
-        updateEditShortcutDialogIfNeeded();
     }
 
     @Override
@@ -288,10 +270,6 @@
 
     @Override
     public void onSaveInstanceState(Bundle outState) {
-        final int value = getShortcutTypeCheckBoxValue();
-        if (value != NOT_SET) {
-            outState.putInt(KEY_SAVED_USER_SHORTCUT_TYPE, value);
-        }
         final boolean isTooltipWindowShowing = mTooltipWindow != null && mTooltipWindow.isShowing();
         if (mNeedsQSTooltipReshow || isTooltipWindowShowing) {
             outState.putBoolean(KEY_SAVED_QS_TOOLTIP_RESHOW, /* value= */ true);
@@ -313,8 +291,6 @@
     @Override
     public int getDialogMetricsCategory(int dialogId) {
         switch (dialogId) {
-            case DialogEnums.EDIT_SHORTCUT:
-                return SettingsEnums.DIALOG_ACCESSIBILITY_SERVICE_EDIT_SHORTCUT;
             case DialogEnums.LAUNCH_ACCESSIBILITY_TUTORIAL:
                 return SettingsEnums.DIALOG_ACCESSIBILITY_TUTORIAL;
             default:
@@ -589,27 +565,40 @@
     }
 
     private void initHtmlTextPreference() {
-        if (TextUtils.isEmpty(mHtmlDescription)) {
+        if (TextUtils.isEmpty(getCurrentHtmlDescription())) {
             return;
         }
         final PreferenceScreen screen = getPreferenceScreen();
-        final CharSequence htmlDescription = Html.fromHtml(mHtmlDescription.toString(),
-                Html.FROM_HTML_MODE_COMPACT, mImageGetter, /* tagHandler= */ null);
 
-        final AccessibilityFooterPreference htmlFooterPreference =
+        mHtmlFooterPreference =
                 new AccessibilityFooterPreference(screen.getContext());
-        htmlFooterPreference.setKey(KEY_HTML_DESCRIPTION_PREFERENCE);
-        htmlFooterPreference.setSummary(htmlDescription);
-        screen.addPreference(htmlFooterPreference);
+        mHtmlFooterPreference.setKey(KEY_HTML_DESCRIPTION_PREFERENCE);
+        updateHtmlTextPreference();
+        screen.addPreference(mHtmlFooterPreference);
 
         // TODO(b/171272809): Migrate to DashboardFragment.
         final String title = getString(R.string.accessibility_introduction_title, mPackageName);
         mFooterPreferenceController = new AccessibilityFooterPreferenceController(
-                screen.getContext(), htmlFooterPreference.getKey());
+                screen.getContext(), mHtmlFooterPreference.getKey());
         mFooterPreferenceController.setIntroductionTitle(title);
         mFooterPreferenceController.displayPreference(screen);
     }
 
+    protected void updateHtmlTextPreference() {
+        if (mHtmlFooterPreference == null) {
+            return;
+        }
+
+        String description = getCurrentHtmlDescription().toString();
+        final CharSequence htmlDescription = Html.fromHtml(description,
+                Html.FROM_HTML_MODE_COMPACT, mImageGetter, /* tagHandler= */ null);
+        mHtmlFooterPreference.setSummary(htmlDescription);
+    }
+
+    CharSequence getCurrentHtmlDescription() {
+        return mHtmlDescription;
+    }
+
     private void initFooterPreference() {
         if (!TextUtils.isEmpty(mDescription)) {
             createFooterPreference(getPreferenceScreen(), mDescription,
@@ -617,7 +606,6 @@
         }
     }
 
-
     /**
      * Creates {@link AccessibilityFooterPreference} and append into {@link PreferenceScreen}
      *
@@ -639,69 +627,10 @@
         mFooterPreferenceController.displayPreference(screen);
     }
 
-    @VisibleForTesting
-    void setupEditShortcutDialog(Dialog dialog) {
-        final View dialogSoftwareView = dialog.findViewById(R.id.software_shortcut);
-        mSoftwareTypeCheckBox = dialogSoftwareView.findViewById(R.id.checkbox);
-        setDialogTextAreaClickListener(dialogSoftwareView, mSoftwareTypeCheckBox);
-
-        final View dialogHardwareView = dialog.findViewById(R.id.hardware_shortcut);
-        mHardwareTypeCheckBox = dialogHardwareView.findViewById(R.id.checkbox);
-        setDialogTextAreaClickListener(dialogHardwareView, mHardwareTypeCheckBox);
-
-        updateEditShortcutDialogCheckBox();
-    }
-
-    private void setDialogTextAreaClickListener(View dialogView, CheckBox checkBox) {
-        final View dialogTextArea = dialogView.findViewById(R.id.container);
-        dialogTextArea.setOnClickListener(v -> checkBox.toggle());
-    }
-
-    private void updateEditShortcutDialogCheckBox() {
-        // If it is during onConfigChanged process then restore the value, or get the saved value
-        // when shortcutPreference is checked.
-        int value = restoreOnConfigChangedValue();
-        if (value == NOT_SET) {
-            final int lastNonEmptyUserShortcutType = getUserPreferredShortcutTypes();
-            value = mShortcutPreference.isChecked() ? lastNonEmptyUserShortcutType
-                    : UserShortcutType.EMPTY;
-        }
-
-        mSoftwareTypeCheckBox.setChecked(
-                hasShortcutType(value, UserShortcutType.SOFTWARE));
-        mHardwareTypeCheckBox.setChecked(
-                hasShortcutType(value, UserShortcutType.HARDWARE));
-    }
-
-    private int restoreOnConfigChangedValue() {
-        final int savedValue = mSavedCheckBoxValue;
-        mSavedCheckBoxValue = NOT_SET;
-        return savedValue;
-    }
-
     private boolean hasShortcutType(int value, @UserShortcutType int type) {
         return (value & type) == type;
     }
 
-    /**
-     * Returns accumulated {@link UserShortcutType} checkbox value or {@code NOT_SET} if checkboxes
-     * did not exist.
-     */
-    protected int getShortcutTypeCheckBoxValue() {
-        if (mSoftwareTypeCheckBox == null || mHardwareTypeCheckBox == null) {
-            return NOT_SET;
-        }
-
-        int value = UserShortcutType.EMPTY;
-        if (mSoftwareTypeCheckBox.isChecked()) {
-            value |= UserShortcutType.SOFTWARE;
-        }
-        if (mHardwareTypeCheckBox.isChecked()) {
-            value |= UserShortcutType.HARDWARE;
-        }
-        return value;
-    }
-
     protected CharSequence getShortcutTypeSummary(Context context) {
         if (!mShortcutPreference.isSettingsEditable()) {
             return context.getText(R.string.accessibility_shortcut_edit_dialog_title_hardware);
@@ -717,16 +646,16 @@
 
         final List<CharSequence> list = new ArrayList<>();
         if (android.view.accessibility.Flags.a11yQsShortcut()) {
-            if (hasShortcutType(shortcutTypes, UserShortcutType.QUICK_SETTINGS)) {
+            if (hasShortcutType(shortcutTypes, QUICK_SETTINGS)) {
                 final CharSequence qsTitle = context.getText(
                         R.string.accessibility_feature_shortcut_setting_summary_quick_settings);
                 list.add(qsTitle);
             }
         }
-        if (hasShortcutType(shortcutTypes, UserShortcutType.SOFTWARE)) {
+        if (hasShortcutType(shortcutTypes, SOFTWARE)) {
             list.add(getSoftwareShortcutTypeSummary(context));
         }
-        if (hasShortcutType(shortcutTypes, UserShortcutType.HARDWARE)) {
+        if (hasShortcutType(shortcutTypes, HARDWARE)) {
             final CharSequence hardwareTitle = context.getText(
                     R.string.accessibility_shortcut_hardware_keyword);
             list.add(hardwareTitle);
@@ -765,35 +694,6 @@
         showQuickSettingsTooltipIfNeeded();
     }
 
-    /**
-     * This method will be invoked when a button in the edit shortcut dialog is clicked.
-     *
-     * @param dialog The dialog that received the click
-     * @param which  The button that was clicked
-     */
-    protected void callOnAlertDialogCheckboxClicked(DialogInterface dialog, int which) {
-        if (mComponentName == null) {
-            return;
-        }
-
-        final int value = getShortcutTypeCheckBoxValue();
-        saveNonEmptyUserShortcutType(value);
-        AccessibilityUtil.optInAllValuesToSettings(getPrefContext(), value, mComponentName);
-        AccessibilityUtil.optOutAllValuesFromSettings(getPrefContext(), ~value, mComponentName);
-        final boolean shortcutAssigned = value != UserShortcutType.EMPTY;
-        mShortcutPreference.setChecked(shortcutAssigned);
-        mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext()));
-
-        if (mHardwareTypeCheckBox.isChecked()) {
-            AccessibilityUtil.skipVolumeShortcutDialogTimeoutRestriction(getPrefContext());
-        }
-
-        // Show the quick setting tooltip if the shortcut assigned in the first time
-        if (shortcutAssigned) {
-            showQuickSettingsTooltipIfNeeded();
-        }
-    }
-
     protected void updateShortcutPreferenceData() {
         if (mComponentName == null) {
             return;
@@ -801,7 +701,7 @@
 
         final int shortcutTypes = AccessibilityUtil.getUserShortcutTypesFromSettings(
                 getPrefContext(), mComponentName);
-        if (shortcutTypes != UserShortcutType.EMPTY) {
+        if (shortcutTypes != DEFAULT) {
             final PreferredShortcut shortcut = new PreferredShortcut(
                     mComponentName.flattenToString(), shortcutTypes);
             PreferredShortcuts.saveUserShortcutType(getPrefContext(), shortcut);
@@ -844,13 +744,9 @@
 
     @Override
     public void onSettingsClicked(ShortcutPreference preference) {
-        if (com.android.settings.accessibility.Flags.editShortcutsInFullScreen()) {
-            EditShortcutsPreferenceFragment.showEditShortcutScreen(
-                    requireContext(), getMetricsCategory(), getShortcutTitle(),
-                    mComponentName, getIntent());
-        } else {
-            showDialog(DialogEnums.EDIT_SHORTCUT);
-        }
+        EditShortcutsPreferenceFragment.showEditShortcutScreen(
+                requireContext(), getMetricsCategory(), getShortcutTitle(),
+                mComponentName, getIntent());
     }
 
     /**
@@ -887,24 +783,6 @@
         }
     }
 
-    private void updateEditShortcutDialogIfNeeded() {
-        if (mDialog == null || !mDialog.isShowing()) {
-            return;
-        }
-        AccessibilityDialogUtils.updateShortcutInDialog(getContext(), mDialog);
-    }
-
-    @VisibleForTesting
-    void saveNonEmptyUserShortcutType(int type) {
-        if (type == UserShortcutType.EMPTY) {
-            return;
-        }
-
-        final PreferredShortcut shortcut = new PreferredShortcut(
-                mComponentName.flattenToString(), type);
-        PreferredShortcuts.saveUserShortcutType(getPrefContext(), shortcut);
-    }
-
     /**
      * Shows the quick settings tooltip if the quick settings feature is assigned. The tooltip only
      * shows once.
@@ -983,7 +861,7 @@
      */
     @ShortcutConstants.UserShortcutType
     protected int getDefaultShortcutTypes() {
-        return ShortcutConstants.UserShortcutType.SOFTWARE;
+        return SOFTWARE;
     }
 
     /**
@@ -994,4 +872,12 @@
         return PreferredShortcuts.retrieveUserShortcutType(
                 getPrefContext(), mComponentName.flattenToString(), getDefaultShortcutTypes());
     }
+
+    @Override
+    public RecyclerView onCreateRecyclerView(LayoutInflater inflater, ViewGroup parent,
+            Bundle savedInstanceState) {
+        RecyclerView recyclerView =
+                super.onCreateRecyclerView(inflater, parent, savedInstanceState);
+        return AccessibilityFragmentUtils.addCollectionInfoToAccessibilityDelegate(recyclerView);
+    }
 }
diff --git a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
index fc75cde..a030a0a 100644
--- a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
@@ -18,6 +18,12 @@
 
 import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_COMPONENT_NAME;
 import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_CONTROLLER_NAME;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.DEFAULT;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.TRIPLETAP;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.TWOFINGER_DOUBLETAP;
 import static com.android.settings.accessibility.AccessibilityDialogUtils.DialogEnums;
 import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
 import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
@@ -27,7 +33,6 @@
 import android.content.ComponentName;
 import android.content.ContentResolver;
 import android.content.Context;
-import android.content.DialogInterface;
 import android.content.pm.PackageManager;
 import android.icu.text.CaseMap;
 import android.icu.text.MessageFormat;
@@ -42,21 +47,20 @@
 import android.view.ViewGroup;
 import android.view.accessibility.AccessibilityManager;
 import android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener;
-import android.widget.CheckBox;
 
 import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.SwitchPreferenceCompat;
 import androidx.preference.TwoStatePreference;
 
+import com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.server.accessibility.Flags;
 import com.android.settings.DialogCreatable;
 import com.android.settings.R;
-import com.android.settings.accessibility.AccessibilityDialogUtils.DialogType;
 import com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType;
-import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
 import com.android.settings.accessibility.shortcuts.EditShortcutsPreferenceFragment;
 import com.android.settings.utils.LocaleUtils;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -85,12 +89,11 @@
 
     // TODO(b/147021230): Move duplicated functions with android/internal/accessibility into util.
     private TouchExplorationStateChangeListener mTouchExplorationStateChangeListener;
-    private CheckBox mSoftwareTypeCheckBox;
-    private CheckBox mHardwareTypeCheckBox;
-    private CheckBox mTripleTapTypeCheckBox;
-    @Nullable private CheckBox mTwoFingerTripleTapTypeCheckBox;
     private DialogCreatable mDialogDelegate;
 
+    @Nullable
+    MagnificationOneFingerPanningPreferenceController mOneFingerPanningPreferenceController;
+
     private boolean mInSetupWizard;
 
     @Override
@@ -109,7 +112,6 @@
                 .appendPath(String.valueOf(R.raw.a11y_magnification_banner))
                 .build();
         mTouchExplorationStateChangeListener = isTouchExplorationEnabled -> {
-            removeDialog(DialogEnums.EDIT_SHORTCUT);
             mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext()));
         };
 
@@ -174,15 +176,6 @@
             case DialogEnums.GESTURE_NAVIGATION_TUTORIAL:
                 return AccessibilityShortcutsTutorial
                         .showAccessibilityGestureTutorialDialog(getPrefContext());
-            case DialogEnums.MAGNIFICATION_EDIT_SHORTCUT:
-                final CharSequence dialogTitle = getShortcutTitle();
-                final int dialogType = mInSetupWizard
-                        ? DialogType.EDIT_SHORTCUT_MAGNIFICATION_SUW
-                        : DialogType.EDIT_SHORTCUT_MAGNIFICATION;
-                mDialog = AccessibilityDialogUtils.showEditShortcutDialog(getPrefContext(),
-                        dialogType, dialogTitle, this::callOnAlertDialogCheckboxClicked);
-                setupMagnificationEditShortcutDialog(mDialog);
-                return mDialog;
             default:
                 return super.onCreateDialog(dialogId);
         }
@@ -236,7 +229,8 @@
                     context.getString(R.string.accessibility_screen_magnification_intro_text));
         }
 
-        if (!arguments.containsKey(AccessibilitySettings.EXTRA_HTML_DESCRIPTION)) {
+        if (!arguments.containsKey(AccessibilitySettings.EXTRA_HTML_DESCRIPTION)
+                && !Flags.enableMagnificationOneFingerPanningGesture()) {
             String summary = MessageFormat.format(
                     context.getString(R.string.accessibility_screen_magnification_summary),
                             new Object[]{1, 2, 3, 4, 5});
@@ -308,12 +302,12 @@
                 MagnificationOneFingerPanningPreferenceController.PREF_KEY);
         generalCategory.addPreference(oneFingerPanningPreference);
 
-        var oneFingerPanningPreferenceController =
+        mOneFingerPanningPreferenceController =
                 new MagnificationOneFingerPanningPreferenceController(getContext());
-        oneFingerPanningPreferenceController.setInSetupWizard(mInSetupWizard);
-        getSettingsLifecycle().addObserver(oneFingerPanningPreferenceController);
-        oneFingerPanningPreferenceController.displayPreference(getPreferenceScreen());
-        addPreferenceController(oneFingerPanningPreferenceController);
+        mOneFingerPanningPreferenceController.setInSetupWizard(mInSetupWizard);
+        getSettingsLifecycle().addObserver(mOneFingerPanningPreferenceController);
+        mOneFingerPanningPreferenceController.displayPreference(getPreferenceScreen());
+        addPreferenceController(mOneFingerPanningPreferenceController);
     }
 
     private void addJoystickSetting(PreferenceCategory generalCategory) {
@@ -354,95 +348,6 @@
         mDialogDelegate = delegate;
     }
 
-    @Override
-    protected int getShortcutTypeCheckBoxValue() {
-        if (mSoftwareTypeCheckBox == null || mHardwareTypeCheckBox == null) {
-            return NOT_SET;
-        }
-
-        int value = UserShortcutType.EMPTY;
-        if (mSoftwareTypeCheckBox.isChecked()) {
-            value |= UserShortcutType.SOFTWARE;
-        }
-        if (mHardwareTypeCheckBox.isChecked()) {
-            value |= UserShortcutType.HARDWARE;
-        }
-        if (mTripleTapTypeCheckBox.isChecked()) {
-            value |= UserShortcutType.TRIPLETAP;
-        }
-        if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
-            if (mTwoFingerTripleTapTypeCheckBox.isChecked()) {
-                value |= UserShortcutType.TWOFINGER_DOUBLETAP;
-            }
-        }
-        return value;
-    }
-
-    @VisibleForTesting
-    void setupMagnificationEditShortcutDialog(Dialog dialog) {
-        final View dialogSoftwareView = dialog.findViewById(R.id.software_shortcut);
-        mSoftwareTypeCheckBox = dialogSoftwareView.findViewById(R.id.checkbox);
-        setDialogTextAreaClickListener(dialogSoftwareView, mSoftwareTypeCheckBox);
-
-        final View dialogHardwareView = dialog.findViewById(R.id.hardware_shortcut);
-        mHardwareTypeCheckBox = dialogHardwareView.findViewById(R.id.checkbox);
-        setDialogTextAreaClickListener(dialogHardwareView, mHardwareTypeCheckBox);
-
-        if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
-            final View dialogTwoFignerTripleTapView =
-                    dialog.findViewById(R.id.two_finger_triple_tap_shortcut);
-            mTwoFingerTripleTapTypeCheckBox = dialogTwoFignerTripleTapView.findViewById(
-                    R.id.checkbox);
-            setDialogTextAreaClickListener(
-                    dialogTwoFignerTripleTapView, mTwoFingerTripleTapTypeCheckBox);
-        }
-
-        final View dialogTripleTapView = dialog.findViewById(R.id.triple_tap_shortcut);
-        mTripleTapTypeCheckBox = dialogTripleTapView.findViewById(R.id.checkbox);
-        setDialogTextAreaClickListener(dialogTripleTapView, mTripleTapTypeCheckBox);
-
-        final View advancedView = dialog.findViewById(R.id.advanced_shortcut);
-        if (mTripleTapTypeCheckBox.isChecked()) {
-            advancedView.setVisibility(View.GONE);
-            dialogTripleTapView.setVisibility(View.VISIBLE);
-        }
-
-        updateMagnificationEditShortcutDialogCheckBox();
-    }
-
-    private void setDialogTextAreaClickListener(View dialogView, CheckBox checkBox) {
-        final View dialogTextArea = dialogView.findViewById(R.id.container);
-        dialogTextArea.setOnClickListener(v -> checkBox.toggle());
-    }
-
-    private void updateMagnificationEditShortcutDialogCheckBox() {
-        // If it is during onConfigChanged process then restore the value, or get the saved value
-        // when shortcutPreference is checked.
-        int value = restoreOnConfigChangedValue();
-        if (value == NOT_SET) {
-            final int lastNonEmptyUserShortcutType = getUserPreferredShortcutTypes();
-            value = mShortcutPreference.isChecked() ? lastNonEmptyUserShortcutType
-                    : UserShortcutType.EMPTY;
-        }
-
-        mSoftwareTypeCheckBox.setChecked(
-                hasShortcutType(value, UserShortcutType.SOFTWARE));
-        mHardwareTypeCheckBox.setChecked(
-                hasShortcutType(value, UserShortcutType.HARDWARE));
-        mTripleTapTypeCheckBox.setChecked(
-                hasShortcutType(value, UserShortcutType.TRIPLETAP));
-        if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
-            mTwoFingerTripleTapTypeCheckBox.setChecked(
-                    hasShortcutType(value, UserShortcutType.TWOFINGER_DOUBLETAP));
-        }
-    }
-
-    private int restoreOnConfigChangedValue() {
-        final int savedValue = mSavedCheckBoxValue;
-        mSavedCheckBoxValue = NOT_SET;
-        return savedValue;
-    }
-
     private boolean hasShortcutType(int value, @UserShortcutType int type) {
         return (value & type) == type;
     }
@@ -471,6 +376,12 @@
         );
         contentObserver.registerKeysToObserverCallback(keysToObserve,
                 key -> updatePreferencesState());
+
+        if (Flags.enableMagnificationOneFingerPanningGesture()) {
+            contentObserver.registerKeysToObserverCallback(
+                    List.of(Settings.Secure.ACCESSIBILITY_SINGLE_FINGER_PANNING_ENABLED),
+                    key -> updateHtmlTextPreference());
+        }
     }
 
     private void updatePreferencesState() {
@@ -481,6 +392,25 @@
     }
 
     @Override
+    CharSequence getCurrentHtmlDescription() {
+        CharSequence origin = super.getCurrentHtmlDescription();
+        if (!TextUtils.isEmpty(origin)) {
+            // If in ToggleFeaturePreferenceFragment we already have a fixed html description, we
+            // should use the fixed one, otherwise we'll dynamically decide the description.
+            return origin;
+        }
+
+        Context context = getContext();
+        if (mOneFingerPanningPreferenceController != null && context != null) {
+            @StringRes int resId = mOneFingerPanningPreferenceController.isChecked()
+                    ? R.string.accessibility_screen_magnification_summary_one_finger_panning_on
+                    : R.string.accessibility_screen_magnification_summary_one_finger_panning_off;
+            return MessageFormat.format(context.getString(resId), new Object[]{1, 2, 3, 4, 5});
+        }
+        return "";
+    }
+
+    @Override
     protected List<String> getShortcutFeatureSettingsKeys() {
         final List<String> shortcutKeys = super.getShortcutFeatureSettingsKeys();
         shortcutKeys.add(Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED);
@@ -499,28 +429,28 @@
         // LINT.IfChange(shortcut_type_ui_order)
         final List<CharSequence> list = new ArrayList<>();
         if (android.view.accessibility.Flags.a11yQsShortcut()) {
-            if (hasShortcutType(shortcutTypes, UserShortcutType.QUICK_SETTINGS)) {
+            if (hasShortcutType(shortcutTypes, QUICK_SETTINGS)) {
                 final CharSequence qsTitle = context.getText(
                         R.string.accessibility_feature_shortcut_setting_summary_quick_settings);
                 list.add(qsTitle);
             }
         }
-        if (hasShortcutType(shortcutTypes, UserShortcutType.SOFTWARE)) {
+        if (hasShortcutType(shortcutTypes, SOFTWARE)) {
             list.add(getSoftwareShortcutTypeSummary(context));
         }
-        if (hasShortcutType(shortcutTypes, UserShortcutType.HARDWARE)) {
+        if (hasShortcutType(shortcutTypes, HARDWARE)) {
             final CharSequence hardwareTitle = context.getText(
                     R.string.accessibility_shortcut_hardware_keyword);
             list.add(hardwareTitle);
         }
         if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
-            if (hasShortcutType(shortcutTypes, UserShortcutType.TWOFINGER_DOUBLETAP)) {
+            if (hasShortcutType(shortcutTypes, TWOFINGER_DOUBLETAP)) {
                 final CharSequence twoFingerDoubleTapTitle = context.getString(
                         R.string.accessibility_shortcut_two_finger_double_tap_keyword, 2);
                 list.add(twoFingerDoubleTapTitle);
             }
         }
-        if (hasShortcutType(shortcutTypes, UserShortcutType.TRIPLETAP)) {
+        if (hasShortcutType(shortcutTypes, TRIPLETAP)) {
             final CharSequence tripleTapTitle = context.getText(
                     R.string.accessibility_shortcut_triple_tap_keyword);
             list.add(tripleTapTitle);
@@ -537,22 +467,6 @@
     }
 
     @Override
-    protected void callOnAlertDialogCheckboxClicked(DialogInterface dialog, int which) {
-        final int value = getShortcutTypeCheckBoxValue();
-
-        saveNonEmptyUserShortcutType(value);
-        optInAllMagnificationValuesToSettings(getPrefContext(), value);
-        optOutAllMagnificationValuesFromSettings(getPrefContext(), ~value);
-        mShortcutPreference.setChecked(value != UserShortcutType.EMPTY);
-        mShortcutPreference.setSummary(
-                getShortcutTypeSummary(getPrefContext()));
-
-        if (mHardwareTypeCheckBox.isChecked()) {
-            AccessibilityUtil.skipVolumeShortcutDialogTimeoutRestriction(getPrefContext());
-        }
-    }
-
-    @Override
     public int getHelpResource() {
         return R.string.help_url_magnification;
     }
@@ -577,8 +491,6 @@
                 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 super.getDialogMetricsCategory(dialogId);
         }
@@ -628,22 +540,18 @@
 
     @Override
     public void onSettingsClicked(ShortcutPreference preference) {
-        if (com.android.settings.accessibility.Flags.editShortcutsInFullScreen()) {
-            EditShortcutsPreferenceFragment.showEditShortcutScreen(
-                    requireContext(),
-                    getMetricsCategory(),
-                    getShortcutTitle(),
-                    MAGNIFICATION_COMPONENT_NAME,
-                    getIntent());
-        } else {
-            showDialog(DialogEnums.MAGNIFICATION_EDIT_SHORTCUT);
-        }
+        EditShortcutsPreferenceFragment.showEditShortcutScreen(
+                requireContext(),
+                getMetricsCategory(),
+                getShortcutTitle(),
+                MAGNIFICATION_COMPONENT_NAME,
+                getIntent());
     }
 
     @Override
     protected void updateShortcutPreferenceData() {
         final int shortcutTypes = getUserShortcutTypeFromSettings(getPrefContext());
-        if (shortcutTypes != UserShortcutType.EMPTY) {
+        if (shortcutTypes != DEFAULT) {
             final PreferredShortcut shortcut = new PreferredShortcut(
                     MAGNIFICATION_CONTROLLER_NAME, shortcutTypes);
             PreferredShortcuts.saveUserShortcutType(getPrefContext(), shortcut);
@@ -677,37 +585,26 @@
     }
 
     @VisibleForTesting
-    void saveNonEmptyUserShortcutType(int type) {
-        if (type == UserShortcutType.EMPTY) {
-            return;
-        }
-
-        final PreferredShortcut shortcut = new PreferredShortcut(
-                MAGNIFICATION_CONTROLLER_NAME, type);
-        PreferredShortcuts.saveUserShortcutType(getPrefContext(), shortcut);
-    }
-
-    @VisibleForTesting
     static void optInAllMagnificationValuesToSettings(Context context, int shortcutTypes) {
-        if ((shortcutTypes & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE) {
-            optInMagnificationValueToSettings(context, UserShortcutType.SOFTWARE);
+        if ((shortcutTypes & SOFTWARE) == SOFTWARE) {
+            optInMagnificationValueToSettings(context, SOFTWARE);
         }
-        if (((shortcutTypes & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE)) {
-            optInMagnificationValueToSettings(context, UserShortcutType.HARDWARE);
+        if (((shortcutTypes & HARDWARE) == HARDWARE)) {
+            optInMagnificationValueToSettings(context, HARDWARE);
         }
-        if (((shortcutTypes & UserShortcutType.TRIPLETAP) == UserShortcutType.TRIPLETAP)) {
-            optInMagnificationValueToSettings(context, UserShortcutType.TRIPLETAP);
+        if (((shortcutTypes & TRIPLETAP) == TRIPLETAP)) {
+            optInMagnificationValueToSettings(context, TRIPLETAP);
         }
         if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
-            if (((shortcutTypes & UserShortcutType.TWOFINGER_DOUBLETAP)
-                    == UserShortcutType.TWOFINGER_DOUBLETAP)) {
-                optInMagnificationValueToSettings(context, UserShortcutType.TWOFINGER_DOUBLETAP);
+            if (((shortcutTypes & TWOFINGER_DOUBLETAP)
+                    == TWOFINGER_DOUBLETAP)) {
+                optInMagnificationValueToSettings(context, TWOFINGER_DOUBLETAP);
             }
         }
         if (android.view.accessibility.Flags.a11yQsShortcut()) {
-            if (((shortcutTypes & UserShortcutType.QUICK_SETTINGS)
-                    == UserShortcutType.QUICK_SETTINGS)) {
-                optInMagnificationValueToSettings(context, UserShortcutType.QUICK_SETTINGS);
+            if (((shortcutTypes & QUICK_SETTINGS)
+                    == QUICK_SETTINGS)) {
+                optInMagnificationValueToSettings(context, QUICK_SETTINGS);
             }
         }
     }
@@ -727,14 +624,14 @@
             return;
         }
 
-        if (shortcutType == UserShortcutType.TRIPLETAP) {
+        if (shortcutType == TRIPLETAP) {
             Settings.Secure.putInt(context.getContentResolver(),
                     Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, ON);
             return;
         }
 
         if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
-            if (shortcutType == UserShortcutType.TWOFINGER_DOUBLETAP) {
+            if (shortcutType == TWOFINGER_DOUBLETAP) {
                 Settings.Secure.putInt(
                         context.getContentResolver(),
                         Settings.Secure.ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED,
@@ -760,7 +657,7 @@
         Settings.Secure.putString(context.getContentResolver(), targetKey, joiner.toString());
         // The size setting defaults to unknown. If the user has ever manually changed the size
         // before, we do not automatically change it.
-        if (shortcutType == UserShortcutType.SOFTWARE
+        if (shortcutType == SOFTWARE
                 && Settings.Secure.getInt(context.getContentResolver(),
                 Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE,
                 FloatingMenuSizePreferenceController.Size.UNKNOWN)
@@ -774,25 +671,25 @@
     @VisibleForTesting
     static void optOutAllMagnificationValuesFromSettings(Context context,
             int shortcutTypes) {
-        if ((shortcutTypes & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE) {
-            optOutMagnificationValueFromSettings(context, UserShortcutType.SOFTWARE);
+        if ((shortcutTypes & SOFTWARE) == SOFTWARE) {
+            optOutMagnificationValueFromSettings(context, SOFTWARE);
         }
-        if (((shortcutTypes & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE)) {
-            optOutMagnificationValueFromSettings(context, UserShortcutType.HARDWARE);
+        if (((shortcutTypes & HARDWARE) == HARDWARE)) {
+            optOutMagnificationValueFromSettings(context, HARDWARE);
         }
-        if (((shortcutTypes & UserShortcutType.TRIPLETAP) == UserShortcutType.TRIPLETAP)) {
-            optOutMagnificationValueFromSettings(context, UserShortcutType.TRIPLETAP);
+        if (((shortcutTypes & TRIPLETAP) == TRIPLETAP)) {
+            optOutMagnificationValueFromSettings(context, TRIPLETAP);
         }
         if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
-            if (((shortcutTypes & UserShortcutType.TWOFINGER_DOUBLETAP)
-                    == UserShortcutType.TWOFINGER_DOUBLETAP)) {
-                optOutMagnificationValueFromSettings(context, UserShortcutType.TWOFINGER_DOUBLETAP);
+            if (((shortcutTypes & TWOFINGER_DOUBLETAP)
+                    == TWOFINGER_DOUBLETAP)) {
+                optOutMagnificationValueFromSettings(context, TWOFINGER_DOUBLETAP);
             }
         }
         if (android.view.accessibility.Flags.a11yQsShortcut()) {
-            if (((shortcutTypes & UserShortcutType.QUICK_SETTINGS)
-                    == UserShortcutType.QUICK_SETTINGS)) {
-                optOutMagnificationValueFromSettings(context, UserShortcutType.QUICK_SETTINGS);
+            if (((shortcutTypes & QUICK_SETTINGS)
+                    == QUICK_SETTINGS)) {
+                optOutMagnificationValueFromSettings(context, QUICK_SETTINGS);
             }
         }
     }
@@ -812,14 +709,14 @@
             return;
         }
 
-        if (shortcutType == UserShortcutType.TRIPLETAP) {
+        if (shortcutType == TRIPLETAP) {
             Settings.Secure.putInt(context.getContentResolver(),
                     Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, OFF);
             return;
         }
 
         if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
-            if (shortcutType == UserShortcutType.TWOFINGER_DOUBLETAP) {
+            if (shortcutType == TWOFINGER_DOUBLETAP) {
                 Settings.Secure.putInt(
                         context.getContentResolver(),
                         Settings.Secure.ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED,
@@ -854,20 +751,20 @@
     static boolean hasMagnificationValuesInSettings(Context context, int shortcutTypes) {
         boolean exist = false;
 
-        if ((shortcutTypes & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE) {
-            exist = hasMagnificationValueInSettings(context, UserShortcutType.SOFTWARE);
+        if ((shortcutTypes & SOFTWARE) == SOFTWARE) {
+            exist = hasMagnificationValueInSettings(context, SOFTWARE);
         }
-        if (((shortcutTypes & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE)) {
-            exist |= hasMagnificationValueInSettings(context, UserShortcutType.HARDWARE);
+        if (((shortcutTypes & HARDWARE) == HARDWARE)) {
+            exist |= hasMagnificationValueInSettings(context, HARDWARE);
         }
-        if (((shortcutTypes & UserShortcutType.TRIPLETAP) == UserShortcutType.TRIPLETAP)) {
-            exist |= hasMagnificationValueInSettings(context, UserShortcutType.TRIPLETAP);
+        if (((shortcutTypes & TRIPLETAP) == TRIPLETAP)) {
+            exist |= hasMagnificationValueInSettings(context, TRIPLETAP);
         }
         if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
-            if (((shortcutTypes & UserShortcutType.TWOFINGER_DOUBLETAP)
-                    == UserShortcutType.TWOFINGER_DOUBLETAP)) {
+            if (((shortcutTypes & TWOFINGER_DOUBLETAP)
+                    == TWOFINGER_DOUBLETAP)) {
                 exist |= hasMagnificationValueInSettings(context,
-                        UserShortcutType.TWOFINGER_DOUBLETAP);
+                        TWOFINGER_DOUBLETAP);
             }
         }
         return exist;
@@ -875,13 +772,13 @@
 
     private static boolean hasMagnificationValueInSettings(Context context,
             @UserShortcutType int shortcutType) {
-        if (shortcutType == UserShortcutType.TRIPLETAP) {
+        if (shortcutType == TRIPLETAP) {
             return Settings.Secure.getInt(context.getContentResolver(),
                     Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, OFF) == ON;
         }
 
         if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
-            if (shortcutType == UserShortcutType.TWOFINGER_DOUBLETAP) {
+            if (shortcutType == TWOFINGER_DOUBLETAP) {
                 return Settings.Secure.getInt(context.getContentResolver(),
                         Settings.Secure.ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED,
                         OFF) == ON;
@@ -907,19 +804,19 @@
     }
 
     private static int getUserShortcutTypeFromSettings(Context context) {
-        int shortcutTypes = UserShortcutType.EMPTY;
-        if (hasMagnificationValuesInSettings(context, UserShortcutType.SOFTWARE)) {
-            shortcutTypes |= UserShortcutType.SOFTWARE;
+        int shortcutTypes = DEFAULT;
+        if (hasMagnificationValuesInSettings(context, SOFTWARE)) {
+            shortcutTypes |= SOFTWARE;
         }
-        if (hasMagnificationValuesInSettings(context, UserShortcutType.HARDWARE)) {
-            shortcutTypes |= UserShortcutType.HARDWARE;
+        if (hasMagnificationValuesInSettings(context, HARDWARE)) {
+            shortcutTypes |= HARDWARE;
         }
-        if (hasMagnificationValuesInSettings(context, UserShortcutType.TRIPLETAP)) {
-            shortcutTypes |= UserShortcutType.TRIPLETAP;
+        if (hasMagnificationValuesInSettings(context, TRIPLETAP)) {
+            shortcutTypes |= TRIPLETAP;
         }
         if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
-            if (hasMagnificationValuesInSettings(context, UserShortcutType.TWOFINGER_DOUBLETAP)) {
-                shortcutTypes |= UserShortcutType.TWOFINGER_DOUBLETAP;
+            if (hasMagnificationValuesInSettings(context, TWOFINGER_DOUBLETAP)) {
+                shortcutTypes |= TWOFINGER_DOUBLETAP;
             }
         }
         return shortcutTypes;
@@ -934,11 +831,12 @@
         // Get the user shortcut type from settings provider.
         final int userShortcutType = getUserShortcutTypeFromSettings(context);
         final CharSequence featureState =
-                (userShortcutType != AccessibilityUtil.UserShortcutType.EMPTY)
+                (userShortcutType != DEFAULT)
                 ? context.getText(R.string.accessibility_summary_shortcut_enabled)
                 : context.getText(R.string.generic_accessibility_feature_shortcut_off);
         final CharSequence featureSummary = context.getText(R.string.magnification_feature_summary);
-        return context.getString(R.string.preference_summary_default_combination,
+        return context.getString(
+                com.android.settingslib.R.string.preference_summary_default_combination,
                 featureState, featureSummary);
     }
 
diff --git a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizard.java b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizard.java
index 97405d2..52d75c1 100644
--- a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizard.java
+++ b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizard.java
@@ -79,7 +79,8 @@
             Bundle savedInstanceState) {
         if (parent instanceof GlifPreferenceLayout) {
             final GlifPreferenceLayout layout = (GlifPreferenceLayout) parent;
-            return layout.onCreateRecyclerView(inflater, parent, savedInstanceState);
+            return AccessibilityFragmentUtils.addCollectionInfoToAccessibilityDelegate(
+                    layout.onCreateRecyclerView(inflater, parent, savedInstanceState));
         }
         return super.onCreateRecyclerView(inflater, parent, savedInstanceState);
     }
diff --git a/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizard.java b/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizard.java
index 4309b1d..10813a7 100644
--- a/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizard.java
+++ b/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizard.java
@@ -68,7 +68,8 @@
             Bundle savedInstanceState) {
         if (parent instanceof GlifPreferenceLayout) {
             final GlifPreferenceLayout layout = (GlifPreferenceLayout) parent;
-            return layout.onCreateRecyclerView(inflater, parent, savedInstanceState);
+            return AccessibilityFragmentUtils.addCollectionInfoToAccessibilityDelegate(
+                    layout.onCreateRecyclerView(inflater, parent, savedInstanceState));
         }
         return super.onCreateRecyclerView(inflater, parent, savedInstanceState);
     }
diff --git a/src/com/android/settings/accessibility/ToggleSelectToSpeakPreferenceFragmentForSetupWizard.java b/src/com/android/settings/accessibility/ToggleSelectToSpeakPreferenceFragmentForSetupWizard.java
index 8d26785..10796b5 100644
--- a/src/com/android/settings/accessibility/ToggleSelectToSpeakPreferenceFragmentForSetupWizard.java
+++ b/src/com/android/settings/accessibility/ToggleSelectToSpeakPreferenceFragmentForSetupWizard.java
@@ -68,7 +68,8 @@
             Bundle savedInstanceState) {
         if (parent instanceof GlifPreferenceLayout) {
             final GlifPreferenceLayout layout = (GlifPreferenceLayout) parent;
-            return layout.onCreateRecyclerView(inflater, parent, savedInstanceState);
+            return AccessibilityFragmentUtils.addCollectionInfoToAccessibilityDelegate(
+                    layout.onCreateRecyclerView(inflater, parent, savedInstanceState));
         }
         return super.onCreateRecyclerView(inflater, parent, savedInstanceState);
     }
diff --git a/src/com/android/settings/accessibility/VibrationMainSwitchPreferenceController.java b/src/com/android/settings/accessibility/VibrationMainSwitchPreferenceController.java
index db184bf..5b553e3 100644
--- a/src/com/android/settings/accessibility/VibrationMainSwitchPreferenceController.java
+++ b/src/com/android/settings/accessibility/VibrationMainSwitchPreferenceController.java
@@ -23,6 +23,7 @@
 import android.database.ContentObserver;
 import android.net.Uri;
 import android.os.Handler;
+import android.os.Looper;
 import android.os.VibrationAttributes;
 import android.os.Vibrator;
 import android.provider.Settings;
@@ -49,7 +50,8 @@
     public VibrationMainSwitchPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
         mVibrator = context.getSystemService(Vibrator.class);
-        mSettingObserver = new ContentObserver(new Handler(/* async= */ true)) {
+        Handler handler = Looper.myLooper() != null ? new Handler(/* async= */ true) : null;
+        mSettingObserver = new ContentObserver(handler) {
             @Override
             public void onChange(boolean selfChange, Uri uri) {
                 updateState(mSwitchPreference);
diff --git a/src/com/android/settings/accessibility/VibrationPreferenceConfig.java b/src/com/android/settings/accessibility/VibrationPreferenceConfig.java
index a304862..3887cec 100644
--- a/src/com/android/settings/accessibility/VibrationPreferenceConfig.java
+++ b/src/com/android/settings/accessibility/VibrationPreferenceConfig.java
@@ -27,6 +27,7 @@
 import android.media.AudioManager;
 import android.net.Uri;
 import android.os.Handler;
+import android.os.Looper;
 import android.os.VibrationAttributes;
 import android.os.VibrationEffect;
 import android.os.Vibrator;
@@ -68,19 +69,8 @@
     /** Play a vibration effect with intensity just selected by the user. */
     public static void playVibrationPreview(Vibrator vibrator,
             @VibrationAttributes.Usage int vibrationUsage) {
-        playVibrationPreview(vibrator, createPreviewVibrationAttributes(vibrationUsage));
-    }
-
-    /**
-     * Play a vibration effect with intensity just selected by the user.
-     *
-     * @param vibrator The {@link Vibrator} used to play the vibration.
-     * @param vibrationAttributes The {@link VibrationAttributes} to indicate the
-     *        vibration information.
-     */
-    public static void playVibrationPreview(Vibrator vibrator,
-            VibrationAttributes vibrationAttributes) {
-        vibrator.vibrate(PREVIEW_VIBRATION_EFFECT, vibrationAttributes);
+        vibrator.vibrate(PREVIEW_VIBRATION_EFFECT,
+                createPreviewVibrationAttributes(vibrationUsage));
     }
 
     public VibrationPreferenceConfig(Context context, String settingKey,
@@ -176,7 +166,7 @@
 
         /** Creates observer for given preference. */
         public SettingObserver(VibrationPreferenceConfig preferenceConfig) {
-            super(new Handler(/* async= */ true));
+            super(Looper.myLooper() != null ? new Handler(/* async= */ true) : null);
             mUri = Settings.System.getUriFor(preferenceConfig.getSettingKey());
 
             if (preferenceConfig.isRestrictedByRingerModeSilent()) {
diff --git a/src/com/android/settings/accessibility/VibrationRampingRingerTogglePreferenceController.java b/src/com/android/settings/accessibility/VibrationRampingRingerTogglePreferenceController.java
index 149bed3..69b1e15 100644
--- a/src/com/android/settings/accessibility/VibrationRampingRingerTogglePreferenceController.java
+++ b/src/com/android/settings/accessibility/VibrationRampingRingerTogglePreferenceController.java
@@ -21,6 +21,7 @@
 import android.media.AudioManager;
 import android.net.Uri;
 import android.os.Handler;
+import android.os.Looper;
 import android.os.Vibrator;
 import android.provider.DeviceConfig;
 import android.provider.Settings;
@@ -74,7 +75,8 @@
         mRingVibrationPreferenceConfig = new RingVibrationPreferenceConfig(context);
         mRingSettingObserver = new VibrationPreferenceConfig.SettingObserver(
                 mRingVibrationPreferenceConfig);
-        mSettingObserver = new ContentObserver(new Handler(/* async= */ true)) {
+        Handler handler = Looper.myLooper() != null ? new Handler(/* async= */ true) : null;
+        mSettingObserver = new ContentObserver(handler) {
             @Override
             public void onChange(boolean selfChange, Uri uri) {
                 updateState(mPreference);
diff --git a/src/com/android/settings/accessibility/ViewAllBluetoothDevicesPreferenceController.java b/src/com/android/settings/accessibility/ViewAllBluetoothDevicesPreferenceController.java
index 622d5d8..b35575e 100644
--- a/src/com/android/settings/accessibility/ViewAllBluetoothDevicesPreferenceController.java
+++ b/src/com/android/settings/accessibility/ViewAllBluetoothDevicesPreferenceController.java
@@ -26,6 +26,7 @@
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.overlay.FeatureFactory;
 
 /** Preference controller for all bluetooth device preference. */
 public class ViewAllBluetoothDevicesPreferenceController extends BasePreferenceController {
@@ -52,6 +53,8 @@
     @Override
     public boolean handlePreferenceTreeClick(Preference preference) {
         if (TextUtils.equals(preference.getKey(), getPreferenceKey())) {
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().clicked(
+                    getMetricsCategory(), getPreferenceKey());
             launchConnectedDevicePage();
             return true;
         }
diff --git a/src/com/android/settings/accessibility/VolumeShortcutToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/VolumeShortcutToggleAccessibilityServicePreferenceFragment.java
index eccfbce..11aa565 100644
--- a/src/com/android/settings/accessibility/VolumeShortcutToggleAccessibilityServicePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/VolumeShortcutToggleAccessibilityServicePreferenceFragment.java
@@ -16,12 +16,14 @@
 
 package com.android.settings.accessibility;
 
-import static com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
 
 import android.accessibilityservice.AccessibilityServiceInfo;
 import android.os.Bundle;
 import android.view.View;
 
+import com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
 import com.android.settings.R;
 
 /**
@@ -44,7 +46,7 @@
         mShortcutPreference.setSummary(hardwareTitle);
         mShortcutPreference.setSettingsEditable(false);
 
-        setAllowedPreferredShortcutType(UserShortcutType.HARDWARE);
+        setAllowedPreferredShortcutType(HARDWARE);
     }
 
     @Override
@@ -56,9 +58,9 @@
         final boolean hasRequestAccessibilityButtonFlag =
                 (info.flags & AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON) != 0;
         if (hasRequestAccessibilityButtonFlag && isServiceOn) {
-            shortcutTypes |= UserShortcutType.SOFTWARE;
+            shortcutTypes |= SOFTWARE;
         } else {
-            shortcutTypes &= (~UserShortcutType.SOFTWARE);
+            shortcutTypes &= (~SOFTWARE);
         }
 
         return shortcutTypes;
diff --git a/src/com/android/settings/accessibility/shortcuts/EditShortcutsPreferenceFragment.java b/src/com/android/settings/accessibility/shortcuts/EditShortcutsPreferenceFragment.java
index 9e1290e..d04b34a 100644
--- a/src/com/android/settings/accessibility/shortcuts/EditShortcutsPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/shortcuts/EditShortcutsPreferenceFragment.java
@@ -20,6 +20,7 @@
 import static android.provider.Settings.Secure.ACCESSIBILITY_BUTTON_MODE;
 import static android.provider.Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS;
 import static android.provider.Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED;
+import static android.provider.Settings.Secure.ACCESSIBILITY_GESTURE_TARGETS;
 import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED;
 import static android.provider.Settings.Secure.ACCESSIBILITY_QS_TARGETS;
 import static android.provider.Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE;
@@ -60,7 +61,6 @@
 import com.android.settings.R;
 import com.android.settings.SetupWizardUtils;
 import com.android.settings.accessibility.AccessibilitySetupWizardUtils;
-import com.android.settings.accessibility.Flags;
 import com.android.settings.accessibility.PreferredShortcuts;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.dashboard.DashboardFragment;
@@ -94,7 +94,8 @@
             Settings.Secure.getUriFor(ACCESSIBILITY_BUTTON_MODE);
     private static final Uri BUTTON_SHORTCUT_SETTING =
             Settings.Secure.getUriFor(ACCESSIBILITY_BUTTON_TARGETS);
-
+    private static final Uri GESTURE_SHORTCUT_SETTING =
+            Settings.Secure.getUriFor(ACCESSIBILITY_GESTURE_TARGETS);
     private static final Uri TRIPLE_TAP_SHORTCUT_SETTING =
             Settings.Secure.getUriFor(ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED);
     private static final Uri TWO_FINGERS_DOUBLE_TAP_SHORTCUT_SETTING =
@@ -108,6 +109,7 @@
             VOLUME_KEYS_SHORTCUT_SETTING,
             BUTTON_SHORTCUT_MODE_SETTING,
             BUTTON_SHORTCUT_SETTING,
+            GESTURE_SHORTCUT_SETTING,
             TRIPLE_TAP_SHORTCUT_SETTING,
             TWO_FINGERS_DOUBLE_TAP_SHORTCUT_SETTING,
             QUICK_SETTINGS_SHORTCUT_SETTING,
@@ -174,6 +176,8 @@
                 } else if (BUTTON_SHORTCUT_MODE_SETTING.equals(uri)
                         || BUTTON_SHORTCUT_SETTING.equals(uri)) {
                     refreshSoftwareShortcutControllers();
+                } else if (GESTURE_SHORTCUT_SETTING.equals(uri)) {
+                    refreshPreferenceController(GestureShortcutOptionController.class);
                 } else if (TRIPLE_TAP_SHORTCUT_SETTING.equals(uri)) {
                     refreshPreferenceController(TripleTapShortcutOptionController.class);
                 } else if (TWO_FINGERS_DOUBLE_TAP_SHORTCUT_SETTING.equals(uri)) {
@@ -199,8 +203,7 @@
         Activity activity = getActivity();
 
         if (!activity.getIntent().getAction().equals(
-                Settings.ACTION_ACCESSIBILITY_SHORTCUT_SETTINGS)
-                || !Flags.editShortcutsInFullScreen()) {
+                Settings.ACTION_ACCESSIBILITY_SHORTCUT_SETTINGS)) {
             return;
         }
 
diff --git a/src/com/android/settings/accessibility/shortcuts/FloatingButtonShortcutOptionController.java b/src/com/android/settings/accessibility/shortcuts/FloatingButtonShortcutOptionController.java
index 2242cab..20ff12d 100644
--- a/src/com/android/settings/accessibility/shortcuts/FloatingButtonShortcutOptionController.java
+++ b/src/com/android/settings/accessibility/shortcuts/FloatingButtonShortcutOptionController.java
@@ -50,7 +50,14 @@
 
     @Override
     protected boolean isShortcutAvailable() {
-        return AccessibilityUtil.isFloatingMenuEnabled(mContext);
+        if (android.provider.Flags.a11yStandaloneGestureEnabled()) {
+            // FAB should be available when in gesture navigation mode,
+            // or if we're in the FAB button mode while in navbar navigation mode.
+            return AccessibilityUtil.isGestureNavigateEnabled(mContext)
+                    || AccessibilityUtil.isFloatingMenuEnabled(mContext);
+        } else {
+            return AccessibilityUtil.isFloatingMenuEnabled(mContext);
+        }
     }
 
     @Nullable
diff --git a/src/com/android/settings/accessibility/shortcuts/GestureShortcutOptionController.java b/src/com/android/settings/accessibility/shortcuts/GestureShortcutOptionController.java
index e65aab9..3c19b5d 100644
--- a/src/com/android/settings/accessibility/shortcuts/GestureShortcutOptionController.java
+++ b/src/com/android/settings/accessibility/shortcuts/GestureShortcutOptionController.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.accessibility.shortcuts;
 
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.GESTURE;
+
 import android.content.Context;
 import android.text.SpannableStringBuilder;
 
@@ -52,10 +54,21 @@
     }
 
     @Override
+    protected int getShortcutType() {
+        return android.provider.Flags.a11yStandaloneGestureEnabled()
+                ? GESTURE : super.getShortcutType();
+    }
+
+    @Override
     protected boolean isShortcutAvailable() {
-        return !isInSetupWizard()
-                && !AccessibilityUtil.isFloatingMenuEnabled(mContext)
-                && AccessibilityUtil.isGestureNavigateEnabled(mContext);
+        if (android.provider.Flags.a11yStandaloneGestureEnabled()) {
+            return !isInSetupWizard()
+                    && AccessibilityUtil.isGestureNavigateEnabled(mContext);
+        } else {
+            return !isInSetupWizard()
+                    && AccessibilityUtil.isGestureNavigateEnabled(mContext)
+                    && !AccessibilityUtil.isFloatingMenuEnabled(mContext);
+        }
     }
 
     @Override
@@ -68,9 +81,8 @@
 
         final SpannableStringBuilder sb = new SpannableStringBuilder();
         sb.append(instruction);
-        if (!isInSetupWizard()) {
-            sb.append("\n\n");
-            sb.append(getCustomizeAccessibilityButtonLink());
+        if (!isInSetupWizard() && !android.provider.Flags.a11yStandaloneGestureEnabled()) {
+            sb.append("\n\n").append(getCustomizeAccessibilityButtonLink());
         }
 
         return sb;
diff --git a/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java b/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java
index f4c928c..72a0f08 100644
--- a/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java
+++ b/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java
@@ -43,7 +43,6 @@
 import com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling;
 import com.android.settings.biometrics.fingerprint.FingerprintEnrollIntroduction;
 import com.android.settings.biometrics.fingerprint.FingerprintEnrollIntroductionInternal;
-import com.android.settings.biometrics2.ui.view.FingerprintEnrollmentActivity;
 import com.android.settings.core.FeatureFlags;
 import com.android.settings.homepage.DeepLinkHomepageActivity;
 import com.android.settings.homepage.DeepLinkHomepageActivityInternal;
@@ -51,6 +50,7 @@
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.password.ChooseLockPattern;
 import com.android.settings.privatespace.PrivateSpaceSetupActivity;
+import com.android.settings.privatespace.delete.PrivateSpaceDeleteActivity;
 import com.android.settings.remoteauth.RemoteAuthActivity;
 import com.android.settings.remoteauth.RemoteAuthActivityInternal;
 
@@ -255,8 +255,6 @@
                     .buildSearchIntent(mContext, SettingsEnums.SETTINGS_HOMEPAGE);
             addActivityFilter(activityFilters, searchIntent);
         }
-        addActivityFilter(activityFilters, FingerprintEnrollmentActivity.class);
-        addActivityFilter(activityFilters, FingerprintEnrollmentActivity.InternalActivity.class);
         addActivityFilter(activityFilters, FingerprintEnrollIntroduction.class);
         addActivityFilter(activityFilters, FingerprintEnrollIntroductionInternal.class);
         addActivityFilter(activityFilters, FingerprintEnrollEnrolling.class);
@@ -266,6 +264,9 @@
         addActivityFilter(activityFilters, RemoteAuthActivityInternal.class);
         addActivityFilter(activityFilters, ChooseLockPattern.class);
         addActivityFilter(activityFilters, PrivateSpaceSetupActivity.class);
+        if (android.multiuser.Flags.fixLargeDisplayPrivateSpaceSettings()) {
+            addActivityFilter(activityFilters, PrivateSpaceDeleteActivity.class);
+        }
         String action = mContext.getString(R.string.config_avatar_picker_action);
         addActivityFilter(activityFilters, new Intent(action));
 
diff --git a/src/com/android/settings/activityembedding/EmbeddedDeepLinkUtils.kt b/src/com/android/settings/activityembedding/EmbeddedDeepLinkUtils.kt
index ab32fc1..9bbb723 100644
--- a/src/com/android/settings/activityembedding/EmbeddedDeepLinkUtils.kt
+++ b/src/com/android/settings/activityembedding/EmbeddedDeepLinkUtils.kt
@@ -34,7 +34,7 @@
     private const val TAG = "EmbeddedDeepLinkUtils"
 
     @JvmStatic
-    fun Activity.tryStartMultiPaneDeepLink(
+    fun Context.tryStartMultiPaneDeepLink(
         intent: Intent,
         highlightMenuKey: String? = null,
     ): Boolean {
diff --git a/src/com/android/settings/applications/AppInfoBase.java b/src/com/android/settings/applications/AppInfoBase.java
index 2c41be4..1d77482 100644
--- a/src/com/android/settings/applications/AppInfoBase.java
+++ b/src/com/android/settings/applications/AppInfoBase.java
@@ -18,6 +18,7 @@
 
 import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
 
+import android.Manifest;
 import android.app.Activity;
 import android.app.Dialog;
 import android.app.admin.DevicePolicyManager;
@@ -39,6 +40,7 @@
 import android.text.TextUtils;
 import android.util.Log;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.DialogFragment;
 import androidx.fragment.app.Fragment;
@@ -135,8 +137,13 @@
             }
         }
         if (intent != null && intent.hasExtra(Intent.EXTRA_USER_HANDLE)) {
-            mUserId = ((UserHandle) intent.getParcelableExtra(
-                    Intent.EXTRA_USER_HANDLE)).getIdentifier();
+            mUserId = ((UserHandle) intent.getParcelableExtra(Intent.EXTRA_USER_HANDLE))
+                    .getIdentifier();
+            if (mUserId != UserHandle.myUserId() && !hasInteractAcrossUsersFullPermission()) {
+                Log.w(TAG, "Intent not valid.");
+                finish();
+                return "";
+            }
         } else {
             mUserId = UserHandle.myUserId();
         }
@@ -163,6 +170,28 @@
         return mPackageName;
     }
 
+    @VisibleForTesting
+    protected boolean hasInteractAcrossUsersFullPermission() {
+        Activity activity = getActivity();
+        if (!(activity instanceof SettingsActivity)) {
+            return false;
+        }
+        final String callingPackageName =
+                ((SettingsActivity) activity).getInitialCallingPackage();
+
+        if (TextUtils.isEmpty(callingPackageName)) {
+            Log.w(TAG, "Not able to get calling package name for permission check");
+            return false;
+        }
+        if (mPm.checkPermission(Manifest.permission.INTERACT_ACROSS_USERS_FULL, callingPackageName)
+                != PackageManager.PERMISSION_GRANTED) {
+            Log.w(TAG, "Package " + callingPackageName + " does not have required permission "
+                    + Manifest.permission.INTERACT_ACROSS_USERS_FULL);
+            return false;
+        }
+        return true;
+    }
+
     protected void setIntentAndFinish(boolean appChanged) {
         Log.i(TAG, "appChanged=" + appChanged);
         Intent intent = new Intent();
diff --git a/src/com/android/settings/applications/AppStorageSettings.java b/src/com/android/settings/applications/AppStorageSettings.java
index e45657f..0f52053 100644
--- a/src/com/android/settings/applications/AppStorageSettings.java
+++ b/src/com/android/settings/applications/AppStorageSettings.java
@@ -324,9 +324,11 @@
     private void initMoveDialog() {
         final Context context = getActivity();
         final StorageManager storage = context.getSystemService(StorageManager.class);
-
-        final List<VolumeInfo> candidates = context.getPackageManager()
-                .getPackageCandidateVolumes(mAppEntry.info);
+        final PackageManager pm = context.getPackageManager();
+        final List<VolumeInfo> candidates =
+            mAppEntry != null && pm != null
+                ? pm.getPackageCandidateVolumes(mAppEntry.info)
+                : Collections.emptyList();
         if (candidates.size() > 1) {
             Collections.sort(candidates, VolumeInfo.getDescriptionComparator());
 
diff --git a/src/com/android/settings/applications/appinfo/AppLocaleDetails.java b/src/com/android/settings/applications/appinfo/AppLocaleDetails.java
index 1e7ca1e..b40f62f 100644
--- a/src/com/android/settings/applications/appinfo/AppLocaleDetails.java
+++ b/src/com/android/settings/applications/appinfo/AppLocaleDetails.java
@@ -33,6 +33,7 @@
 import android.view.ViewGroup;
 import android.widget.TextView;
 
+import androidx.annotation.Nullable;
 import androidx.preference.Preference;
 
 import com.android.internal.app.LocaleHelper;
@@ -62,6 +63,7 @@
     private LayoutPreference mPrefOfDescription;
     private Preference mPrefOfDisclaimer;
     private ApplicationInfo mApplicationInfo;
+    @Nullable private String mParentLocale;
 
     /**
      * Create a instance of AppLocaleDetails.
@@ -111,6 +113,12 @@
     public void onResume() {
         super.onResume();
         refreshUi();
+        final Activity activity = getActivity();
+        if (mParentLocale != null) {
+            activity.setTitle(mParentLocale);
+        } else {
+            activity.setTitle(R.string.app_locale_picker_title);
+        }
     }
 
     private void refreshUi() {
@@ -215,4 +223,8 @@
             return LocaleHelper.getDisplayName(appLocale.stripExtensions(), appLocale, true);
         }
     }
+
+    public void setParentLocale(@Nullable String localeName) {
+        mParentLocale = localeName;
+    }
 }
diff --git a/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java
index d40a075..5df5914 100644
--- a/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java
+++ b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java
@@ -72,9 +72,9 @@
 import com.android.settingslib.RestrictedSwitchPreference;
 import com.android.settingslib.widget.LayoutPreference;
 
-import java.util.Collections;
+import java.util.Arrays;
+import java.util.HashSet;
 import java.util.Optional;
-import java.util.Set;
 
 public class InteractAcrossProfilesDetails extends AppInfoBase
         implements Preference.OnPreferenceClickListener {
@@ -571,8 +571,8 @@
         String disallowedPackagesString = Settings.Global.getString(getContentResolver(),
                 CONNECTED_APPS_DISALLOWED_PACKAGES);
 
-        Set<String> allowedPackagesSet = getSetFromString(allowedPackagesString);
-        Set<String> disallowedPackagesSet = getSetFromString(disallowedPackagesString);
+        HashSet<String> allowedPackagesSet = getSetFromString(allowedPackagesString);
+        HashSet<String> disallowedPackagesSet = getSetFromString(disallowedPackagesString);
 
         if (enabled) {
             allowedPackagesSet.add(crossProfilePackage);
@@ -592,9 +592,9 @@
                 String.join(",", disallowedPackagesSet));
     }
 
-    private Set<String> getSetFromString(String packages) {
+    private HashSet<String> getSetFromString(String packages) {
         return Optional.ofNullable(packages)
-                .map(pkg -> Set.of(pkg.split(",")))
-                .orElse(Collections.emptySet());
+                .map(pkg -> new HashSet<>(Arrays.asList(pkg.split(","))))
+                .orElseGet(HashSet::new);
     }
 }
diff --git a/src/com/android/settings/applications/specialaccess/notificationaccess/FriendlyWarningDialogFragment.java b/src/com/android/settings/applications/specialaccess/notificationaccess/FriendlyWarningDialogFragment.java
index 3577946..c92f734 100644
--- a/src/com/android/settings/applications/specialaccess/notificationaccess/FriendlyWarningDialogFragment.java
+++ b/src/com/android/settings/applications/specialaccess/notificationaccess/FriendlyWarningDialogFragment.java
@@ -16,6 +16,7 @@
 package com.android.settings.applications.specialaccess.notificationaccess;
 
 import android.app.Dialog;
+import android.app.Flags;
 import android.app.settings.SettingsEnums;
 import android.content.ComponentName;
 import android.content.DialogInterface;
@@ -55,7 +56,10 @@
         NotificationAccessDetails parent = (NotificationAccessDetails) getTargetFragment();
 
         final String summary = getResources().getString(
-                R.string.notification_listener_disable_warning_summary, label);
+                Flags.modesApi() && Flags.modesUi()
+                        ? R.string.notification_listener_disable_modes_warning_summary
+                        : R.string.notification_listener_disable_warning_summary,
+                label);
         return new AlertDialog.Builder(getContext())
                 .setMessage(summary)
                 .setCancelable(true)
diff --git a/src/com/android/settings/applications/specialaccess/notificationaccess/ScaryWarningDialogFragment.java b/src/com/android/settings/applications/specialaccess/notificationaccess/ScaryWarningDialogFragment.java
index 747a125..53181fd 100644
--- a/src/com/android/settings/applications/specialaccess/notificationaccess/ScaryWarningDialogFragment.java
+++ b/src/com/android/settings/applications/specialaccess/notificationaccess/ScaryWarningDialogFragment.java
@@ -16,6 +16,7 @@
 package com.android.settings.applications.specialaccess.notificationaccess;
 
 import android.app.Dialog;
+import android.app.Flags;
 import android.app.settings.SettingsEnums;
 import android.content.ComponentName;
 import android.content.Context;
@@ -96,6 +97,11 @@
                 R.string.nls_warning_prompt, label);
         ((TextView) content.findViewById(R.id.prompt)).setText(prompt);
 
+        ((TextView) content.findViewById(R.id.settings_description)).setText(
+                Flags.modesApi() && Flags.modesUi()
+                        ? R.string.nls_feature_modes_settings_summary
+                        : R.string.nls_feature_settings_summary);
+
         Button allowButton = content.findViewById(R.id.allow_button);
         allowButton.setOnClickListener((view) -> {
             parent.enable(cn);
diff --git a/src/com/android/settings/applications/specialaccess/zenaccess/FriendlyWarningDialogFragment.java b/src/com/android/settings/applications/specialaccess/zenaccess/FriendlyWarningDialogFragment.java
index 5da2990..38317ed 100644
--- a/src/com/android/settings/applications/specialaccess/zenaccess/FriendlyWarningDialogFragment.java
+++ b/src/com/android/settings/applications/specialaccess/zenaccess/FriendlyWarningDialogFragment.java
@@ -17,6 +17,7 @@
 package com.android.settings.applications.specialaccess.zenaccess;
 
 import android.app.Dialog;
+import android.app.Flags;
 import android.app.settings.SettingsEnums;
 import android.os.Bundle;
 import android.text.TextUtils;
@@ -58,9 +59,14 @@
         final String label = args.getString(KEY_LABEL);
 
         final String title = getResources().getString(
-                R.string.zen_access_revoke_warning_dialog_title, label);
+                Flags.modesApi() && Flags.modesUi()
+                        ? R.string.zen_modes_access_revoke_warning_dialog_title
+                        : R.string.zen_access_revoke_warning_dialog_title,
+                label);
         final String summary = getResources()
-                .getString(R.string.zen_access_revoke_warning_dialog_summary);
+                .getString(Flags.modesApi() && Flags.modesUi()
+                        ? R.string.zen_modes_access_revoke_warning_dialog_summary
+                        : R.string.zen_access_revoke_warning_dialog_summary);
 
         ZenAccessDetails parent = (ZenAccessDetails) getTargetFragment();
         return new AlertDialog.Builder(getContext())
diff --git a/src/com/android/settings/applications/specialaccess/zenaccess/ScaryWarningDialogFragment.java b/src/com/android/settings/applications/specialaccess/zenaccess/ScaryWarningDialogFragment.java
index e4ef48b..b489602 100644
--- a/src/com/android/settings/applications/specialaccess/zenaccess/ScaryWarningDialogFragment.java
+++ b/src/com/android/settings/applications/specialaccess/zenaccess/ScaryWarningDialogFragment.java
@@ -17,6 +17,7 @@
 package com.android.settings.applications.specialaccess.zenaccess;
 
 import android.app.Dialog;
+import android.app.Flags;
 import android.app.settings.SettingsEnums;
 import android.os.Bundle;
 import android.text.TextUtils;
@@ -55,10 +56,15 @@
         final String pkg = args.getString(KEY_PKG);
         final String label = args.getString(KEY_LABEL);
 
-        final String title = getResources().getString(R.string.zen_access_warning_dialog_title,
+        final String title = getResources().getString(
+                Flags.modesApi() && Flags.modesUi()
+                        ? R.string.zen_modes_access_warning_dialog_title
+                        : R.string.zen_access_warning_dialog_title,
                 label);
         final String summary = getResources()
-                .getString(R.string.zen_access_warning_dialog_summary);
+                .getString(Flags.modesApi() && Flags.modesUi()
+                        ? R.string.zen_modes_access_warning_dialog_summary
+                        : R.string.zen_access_warning_dialog_summary);
 
         ZenAccessDetails parent = (ZenAccessDetails) getTargetFragment();
 
diff --git a/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessController.java b/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessController.java
index 6f4137c..cfeeb0d 100644
--- a/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessController.java
+++ b/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessController.java
@@ -18,6 +18,7 @@
 
 import android.app.ActivityManager;
 import android.app.AppGlobals;
+import android.app.Flags;
 import android.app.NotificationManager;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
@@ -28,7 +29,10 @@
 import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
 
+import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.overlay.FeatureFactory;
 
@@ -48,6 +52,16 @@
         return AVAILABLE;
     }
 
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        Preference preference = screen.findPreference(getPreferenceKey());
+        if (preference != null) {
+            preference.setTitle(Flags.modesApi() && Flags.modesUi()
+                    ? R.string.manage_zen_modes_access_title
+                    : R.string.manage_zen_access_title);
+        }
+    }
+
     public static Set<String> getPackagesRequestingNotificationPolicyAccess() {
         final String[] PERM = {
                 android.Manifest.permission.ACCESS_NOTIFICATION_POLICY
diff --git a/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessDetails.java b/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessDetails.java
index ffe13e6..74903c0 100644
--- a/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessDetails.java
+++ b/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessDetails.java
@@ -16,9 +16,11 @@
 
 package com.android.settings.applications.specialaccess.zenaccess;
 
+import android.app.Flags;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.Bundle;
+import android.os.UserManager;
 
 import androidx.appcompat.app.AlertDialog;
 import androidx.preference.TwoStatePreference;
@@ -42,6 +44,9 @@
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         addPreferencesFromResource(R.xml.zen_access_permission_details);
+        requireActivity().setTitle(Flags.modesApi() && Flags.modesUi()
+                ? R.string.manage_zen_modes_access_title
+                : R.string.manage_zen_access_title);
         getSettingsLifecycle().addObserver(
                 new ZenAccessSettingObserverMixin(getContext(), this /* listener */));
     }
@@ -49,6 +54,11 @@
     @Override
     protected boolean refreshUi() {
         final Context context = getContext();
+        // don't show for managed profiles
+        if (UserManager.get(context).isManagedProfile(context.getUserId())
+            && !ZenAccessController.hasAccess(context, mPackageName)) {
+            finish();
+        }
         // If this app didn't declare this permission in their manifest, don't bother showing UI.
         final Set<String> needAccessApps =
                 ZenAccessController.getPackagesRequestingNotificationPolicyAccess();
@@ -74,6 +84,9 @@
             preference.setSummary(getString(R.string.zen_access_disabled_package_warning));
             return;
         }
+        preference.setTitle(Flags.modesApi() && Flags.modesUi()
+                ? R.string.zen_modes_access_detail_switch
+                : R.string.zen_access_detail_switch);
         preference.setChecked(ZenAccessController.hasAccess(context, mPackageName));
         preference.setOnPreferenceChangeListener((p, newValue) -> {
             final boolean access = (Boolean) newValue;
diff --git a/src/com/android/settings/backup/SettingsBackupHelper.java b/src/com/android/settings/backup/SettingsBackupHelper.java
index 556ab72..73760a4 100644
--- a/src/com/android/settings/backup/SettingsBackupHelper.java
+++ b/src/com/android/settings/backup/SettingsBackupHelper.java
@@ -28,19 +28,30 @@
 /** Backup agent for Settings APK */
 public class SettingsBackupHelper extends BackupAgentHelper {
     public static final String SOUND_BACKUP_HELPER = "SoundSettingsBackup";
+    public static final String ACCESSIBILITY_APPEARANCE_BACKUP_HELPER =
+            "AccessibilityAppearanceSettingsBackup";
 
     @Override
     public void onCreate() {
         super.onCreate();
         BackupRestoreStorageManager.getInstance(this).addBackupAgentHelpers(this);
+        OnboardingFeatureProvider onboardingFeatureProvider =
+                FeatureFactory.getFeatureFactory().getOnboardingFeatureProvider();
+
         if (Flags.enableSoundBackup()) {
-            OnboardingFeatureProvider onboardingFeatureProvider =
-                    FeatureFactory.getFeatureFactory().getOnboardingFeatureProvider();
             if (onboardingFeatureProvider != null) {
                 addHelper(SOUND_BACKUP_HELPER, onboardingFeatureProvider.
                         getSoundBackupHelper(this, this.getBackupRestoreEventLogger()));
             }
         }
+
+        if (Flags.accessibilityAppearanceSettingsBackupEnabled()) {
+            if (onboardingFeatureProvider != null) {
+                addHelper(ACCESSIBILITY_APPEARANCE_BACKUP_HELPER,
+                        onboardingFeatureProvider.getAccessibilityAppearanceBackupHelper(
+                            this, this.getBackupRestoreEventLogger()));
+            }
+        }
     }
 
     @Override
diff --git a/src/com/android/settings/biometrics/BiometricEnrollActivity.java b/src/com/android/settings/biometrics/BiometricEnrollActivity.java
index c9616f1..dbbe30b 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollActivity.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollActivity.java
@@ -19,6 +19,7 @@
 import static android.provider.Settings.ACTION_BIOMETRIC_ENROLL;
 import static android.provider.Settings.EXTRA_BIOMETRIC_AUTHENTICATORS_ALLOWED;
 
+import static com.android.settings.biometrics.BiometricEnrollBase.BIOMETRIC_AUTH_REQUEST;
 import static com.android.settings.biometrics.BiometricEnrollBase.RESULT_CONSENT_DENIED;
 import static com.android.settings.biometrics.BiometricEnrollBase.RESULT_CONSENT_GRANTED;
 
@@ -51,6 +52,7 @@
 import com.android.internal.widget.LockPatternUtils;
 import com.android.settings.R;
 import com.android.settings.SetupWizardUtils;
+import com.android.settings.Utils;
 import com.android.settings.core.InstrumentedActivity;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.password.ChooseLockGeneric;
@@ -442,6 +444,16 @@
                     if (!mParentalConsentHelper.launchNext(this, REQUEST_CHOOSE_OPTIONS)) {
                         Log.e(TAG, "Nothing to prompt for consent (no modalities enabled)!");
                         finish();
+                    } else {
+                        final Utils.BiometricStatus biometricStatus =
+                                Utils.requestBiometricAuthenticationForMandatoryBiometrics(this,
+                                        false /* biometricsAuthenticationRequested */, mUserId);
+                        if (biometricStatus == Utils.BiometricStatus.OK) {
+                            Utils.launchBiometricPromptForMandatoryBiometrics(this,
+                                    BIOMETRIC_AUTH_REQUEST, mUserId, true /* hideBackground */);
+                        } else if (biometricStatus != Utils.BiometricStatus.NOT_ACTIVE) {
+                            finish();
+                        }
                     }
                 } else {
                     Log.d(TAG, "Unknown result for set/choose lock: " + resultCode);
@@ -473,6 +485,10 @@
                     finish();
                 }
                 break;
+            case BIOMETRIC_AUTH_REQUEST:
+                if (resultCode != RESULT_OK) {
+                    finish();
+                }
             default:
                 Log.w(TAG, "Unknown consenting requestCode: " + requestCode + ", finishing");
                 finish();
diff --git a/src/com/android/settings/biometrics/BiometricEnrollBase.java b/src/com/android/settings/biometrics/BiometricEnrollBase.java
index 335d0b9..3285a95 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollBase.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollBase.java
@@ -68,6 +68,8 @@
     public static final String EXTRA_FINISHED_ENROLL_FACE = "finished_enrolling_face";
     public static final String EXTRA_FINISHED_ENROLL_FINGERPRINT = "finished_enrolling_fingerprint";
     public static final String EXTRA_LAUNCHED_POSTURE_GUIDANCE = "launched_posture_guidance";
+    public static final String EXTRA_BIOMETRICS_AUTHENTICATED_SUCCESSFULLY =
+            "biometrics_authenticated_successfully";
 
     /**
      * Used by the choose fingerprint wizard to indicate the wizard is
@@ -122,6 +124,7 @@
      */
     public static final int ENROLL_NEXT_BIOMETRIC_REQUEST = 6;
     public static final int REQUEST_POSTURE_GUIDANCE = 7;
+    public static final int BIOMETRIC_AUTH_REQUEST = 8;
 
     protected boolean mLaunchedConfirmLock;
     protected boolean mLaunchedPostureGuidance;
diff --git a/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java b/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
index 5ebe9c7..6f9b94a 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
@@ -36,6 +36,7 @@
 import com.android.internal.widget.LockPatternUtils;
 import com.android.settings.R;
 import com.android.settings.SetupWizardUtils;
+import com.android.settings.Utils;
 import com.android.settings.password.ChooseLockGeneric;
 import com.android.settings.password.ChooseLockSettingsHelper;
 import com.android.settings.password.SetupSkipDialog;
@@ -417,6 +418,15 @@
                         getNextButton().setEnabled(true);
                     }));
                 }
+                final Utils.BiometricStatus biometricStatus =
+                        Utils.requestBiometricAuthenticationForMandatoryBiometrics(this,
+                                false /* biometricsAuthenticationRequested */, mUserId);
+                if (biometricStatus == Utils.BiometricStatus.OK) {
+                    Utils.launchBiometricPromptForMandatoryBiometrics(this,
+                            BIOMETRIC_AUTH_REQUEST, mUserId, true /* hideBackground */);
+                } else if (biometricStatus != Utils.BiometricStatus.NOT_ACTIVE) {
+                    finish();
+                }
             } else {
                 setResult(resultCode, data);
                 finish();
@@ -445,6 +455,10 @@
                 setResult(resultCode, data);
                 finish();
             }
+        } else if (requestCode == BIOMETRIC_AUTH_REQUEST) {
+            if (resultCode != RESULT_OK) {
+                finish();
+            }
         }
         super.onActivityResult(requestCode, resultCode, data);
     }
diff --git a/src/com/android/settings/biometrics/BiometricUtils.java b/src/com/android/settings/biometrics/BiometricUtils.java
index 3376d86..09b2dba 100644
--- a/src/com/android/settings/biometrics/BiometricUtils.java
+++ b/src/com/android/settings/biometrics/BiometricUtils.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.biometrics;
 
-import static android.util.FeatureFlagUtils.SETTINGS_BIOMETRICS2_ENROLLMENT;
 
 import android.annotation.IntDef;
 import android.app.Activity;
@@ -33,7 +32,6 @@
 import android.os.storage.StorageManager;
 import android.text.BidiFormatter;
 import android.text.SpannableStringBuilder;
-import android.util.FeatureFlagUtils;
 import android.util.Log;
 import android.view.Surface;
 
@@ -50,7 +48,6 @@
 import com.android.settings.biometrics.fingerprint.FingerprintEnrollIntroduction;
 import com.android.settings.biometrics.fingerprint.SetupFingerprintEnrollFindSensor;
 import com.android.settings.biometrics.fingerprint.SetupFingerprintEnrollIntroduction;
-import com.android.settings.biometrics2.ui.view.FingerprintEnrollmentActivity;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.password.ChooseLockGeneric;
 import com.android.settings.password.ChooseLockSettingsHelper;
@@ -254,17 +251,8 @@
     public static Intent getFingerprintFindSensorIntent(@NonNull Context context,
             @NonNull Intent activityIntent) {
         final boolean isSuw =  WizardManagerHelper.isAnySetupWizard(activityIntent);
-        final Intent intent;
-        if (FeatureFlagUtils.isEnabled(context, SETTINGS_BIOMETRICS2_ENROLLMENT)) {
-            intent = new Intent(context, isSuw
-                    ? FingerprintEnrollmentActivity.SetupActivity.class
-                    : FingerprintEnrollmentActivity.class);
-            intent.putExtra(BiometricEnrollActivity.EXTRA_SKIP_INTRO, true);
-        } else {
-            intent = new Intent(context, isSuw
-                    ? SetupFingerprintEnrollFindSensor.class
-                    : FingerprintEnrollFindSensor.class);
-        }
+        final Intent intent = new Intent(context, isSuw
+                ? SetupFingerprintEnrollFindSensor.class : FingerprintEnrollFindSensor.class);
         if (isSuw) {
             SetupWizardUtils.copySetupExtras(activityIntent, intent);
         }
@@ -279,16 +267,8 @@
     public static Intent getFingerprintIntroIntent(@NonNull Context context,
             @NonNull Intent activityIntent) {
         final boolean isSuw = WizardManagerHelper.isAnySetupWizard(activityIntent);
-        final Intent intent;
-        if (FeatureFlagUtils.isEnabled(context, SETTINGS_BIOMETRICS2_ENROLLMENT)) {
-            intent = new Intent(context, isSuw
-                    ? FingerprintEnrollmentActivity.SetupActivity.class
-                    : FingerprintEnrollmentActivity.class);
-        } else {
-            intent = new Intent(context, isSuw
-                    ? SetupFingerprintEnrollIntroduction.class
-                    : FingerprintEnrollIntroduction.class);
-        }
+        final Intent intent = new Intent(context, isSuw
+                ? SetupFingerprintEnrollIntroduction.class : FingerprintEnrollIntroduction.class);
         if (isSuw) {
             WizardManagerHelper.copyWizardManagerExtras(activityIntent, intent);
         }
diff --git a/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java b/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
index b174788..43b5da2 100644
--- a/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
+++ b/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
@@ -65,6 +65,8 @@
     static final int CONFIRM_REQUEST = 2001;
     private static final int CHOOSE_LOCK_REQUEST = 2002;
     protected static final int ACTIVE_UNLOCK_REQUEST = 2003;
+    @VisibleForTesting
+    static final int BIOMETRIC_AUTH_REQUEST = 2004;
 
     private static final String SAVE_STATE_CONFIRM_CREDETIAL = "confirm_credential";
     private static final String DO_NOT_FINISH_ACTIVITY = "do_not_finish_activity";
@@ -72,10 +74,12 @@
     static final String RETRY_PREFERENCE_KEY = "retry_preference_key";
     @VisibleForTesting
     static final String RETRY_PREFERENCE_BUNDLE = "retry_preference_bundle";
+    private static final String BIOMETRICS_AUTH_REQUESTED = "biometrics_auth_requested";
 
     protected int mUserId;
     protected long mGkPwHandle;
     private boolean mConfirmCredential;
+    private boolean mBiometricsAuthenticationRequested;
     @Nullable private FaceManager mFaceManager;
     @Nullable private FingerprintManager mFingerprintManager;
     // Do not finish() if choosing/confirming credential, showing fp/face settings, or launching
@@ -123,13 +127,14 @@
                 mGkPwHandle = savedInstanceState.getLong(
                         ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_GK_PW_HANDLE);
             }
+            mBiometricsAuthenticationRequested = savedInstanceState.getBoolean(
+                    BIOMETRICS_AUTH_REQUESTED);
         }
 
         if (mGkPwHandle == 0L && !mConfirmCredential) {
             mConfirmCredential = true;
             launchChooseOrConfirmLock();
         }
-
         updateUnlockPhonePreferenceSummary();
 
         final Preference useInAppsPreference = findPreference(getUseInAppsPreferenceKey());
@@ -288,6 +293,8 @@
             outState.putString(RETRY_PREFERENCE_KEY, mRetryPreferenceKey);
             outState.putBundle(RETRY_PREFERENCE_BUNDLE, mRetryPreferenceExtra);
         }
+        outState.putBoolean(BIOMETRICS_AUTH_REQUESTED,
+                mBiometricsAuthenticationRequested);
     }
 
     @Override
@@ -305,6 +312,20 @@
                                 com.google.android.setupdesign.R.anim.sud_slide_next_out);
                         retryPreferenceKey(mRetryPreferenceKey, mRetryPreferenceExtra);
                     }
+                    final Utils.BiometricStatus biometricAuthStatus =
+                            Utils.requestBiometricAuthenticationForMandatoryBiometrics(
+                                    getActivity(),
+                                    mBiometricsAuthenticationRequested,
+                                    mUserId);
+                    if (biometricAuthStatus == Utils.BiometricStatus.OK) {
+                        mBiometricsAuthenticationRequested = true;
+                        Utils.launchBiometricPromptForMandatoryBiometrics(this,
+                                BIOMETRIC_AUTH_REQUEST,
+                                mUserId, true /* hideBackground */);
+                    } else if (biometricAuthStatus != Utils.BiometricStatus.NOT_ACTIVE) {
+                        finish();
+                        return;
+                    }
                 } else {
                     Log.d(getLogTag(), "Data null or GK PW missing.");
                     finish();
@@ -315,6 +336,11 @@
             }
             mRetryPreferenceKey = null;
             mRetryPreferenceExtra = null;
+        } else if (requestCode == BIOMETRIC_AUTH_REQUEST) {
+            mBiometricsAuthenticationRequested = false;
+            if (resultCode != RESULT_OK) {
+                finish();
+            }
         }
     }
 
diff --git a/src/com/android/settings/biometrics/combination/CombinedBiometricSettings.java b/src/com/android/settings/biometrics/combination/CombinedBiometricSettings.java
index 671a5b6..7b3a724 100644
--- a/src/com/android/settings/biometrics/combination/CombinedBiometricSettings.java
+++ b/src/com/android/settings/biometrics/combination/CombinedBiometricSettings.java
@@ -24,14 +24,19 @@
 import android.os.Bundle;
 import android.os.UserHandle;
 
+import androidx.activity.result.ActivityResult;
+import androidx.activity.result.ActivityResultLauncher;
+import androidx.activity.result.contract.ActivityResultContracts;
 import androidx.annotation.Nullable;
 import androidx.preference.Preference;
 
 import com.android.settings.R;
+import com.android.settings.biometrics.BiometricEnrollBase;
 import com.android.settings.biometrics.activeunlock.ActiveUnlockContentListener.OnContentChangedListener;
 import com.android.settings.biometrics.activeunlock.ActiveUnlockDeviceNameListener;
 import com.android.settings.biometrics.activeunlock.ActiveUnlockRequireBiometricSetup;
 import com.android.settings.biometrics.activeunlock.ActiveUnlockStatusUtils;
+import com.android.settings.flags.Flags;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.search.SearchIndexable;
 
@@ -52,6 +57,10 @@
     private CombinedBiometricStatusUtils mCombinedBiometricStatusUtils;
     @Nullable private ActiveUnlockDeviceNameListener mActiveUnlockDeviceNameListener;
 
+    private final ActivityResultLauncher<Intent> mActiveUnlockPreferenceLauncher =
+            registerForActivityResult(new ActivityResultContracts.StartActivityForResult(),
+                    this::onActiveUnlockPreferenceResult);
+
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
@@ -158,12 +167,25 @@
             intent = mActiveUnlockStatusUtils.getIntent();
         }
         if (intent != null) {
-            startActivityForResult(intent, ACTIVE_UNLOCK_REQUEST);
+            if (Flags.activeUnlockFinishParent()) {
+                mActiveUnlockPreferenceLauncher.launch(intent);
+            } else {
+                startActivityForResult(intent, ACTIVE_UNLOCK_REQUEST);
+            }
         }
         return true;
 
     }
 
+    private void onActiveUnlockPreferenceResult(@Nullable ActivityResult result) {
+        if (result != null && result.getResultCode() == BiometricEnrollBase.RESULT_TIMEOUT) {
+            mDoNotFinishActivity = false;
+            // When "Watch Unlock" is closed due to entering onStop(),
+            // "Face & Fingerprint Unlock" shall also close itself and back to "Security" page.
+            finish();
+        }
+    }
+
     @Override
     protected String getUseAnyBiometricSummary() {
         // either Active Unlock is not enabled or no device is enrolled.
diff --git a/src/com/android/settings/biometrics/face/FaceSettings.java b/src/com/android/settings/biometrics/face/FaceSettings.java
index 8884ce3..d42b570 100644
--- a/src/com/android/settings/biometrics/face/FaceSettings.java
+++ b/src/com/android/settings/biometrics/face/FaceSettings.java
@@ -20,6 +20,7 @@
 import static android.app.admin.DevicePolicyResources.Strings.Settings.FACE_SETTINGS_FOR_WORK_TITLE;
 
 import static com.android.settings.Utils.isPrivateProfile;
+import static com.android.settings.biometrics.BiometricEnrollBase.BIOMETRIC_AUTH_REQUEST;
 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;
@@ -66,6 +67,8 @@
     private static final String TAG = "FaceSettings";
     private static final String KEY_TOKEN = "hw_auth_token";
     private static final String KEY_RE_ENROLL_FACE = "re_enroll_face_unlock";
+    private static final String KEY_BIOMETRICS_SUCCESSFULLY_AUTHENTICATED =
+            "biometrics_successfully_authenticated";
 
     private static final String PREF_KEY_DELETE_FACE_DATA =
             "security_settings_face_delete_faces_container";
@@ -93,6 +96,7 @@
     private FaceFeatureProvider mFaceFeatureProvider;
 
     private boolean mConfirmingPassword;
+    private boolean mBiometricsAuthenticationRequested;
 
     private final FaceSettingsRemoveButtonPreferenceController.Listener mRemovalListener = () -> {
 
@@ -312,12 +316,28 @@
                 final boolean hasEnrolled = mFaceManager.hasEnrolledTemplates(mUserId);
                 mEnrollButton.setVisible(!hasEnrolled);
                 mRemoveButton.setVisible(hasEnrolled);
+                final Utils.BiometricStatus biometricAuthStatus =
+                        Utils.requestBiometricAuthenticationForMandatoryBiometrics(getActivity(),
+                                mBiometricsAuthenticationRequested,
+                                mUserId);
+                if (biometricAuthStatus == Utils.BiometricStatus.OK) {
+                    Utils.launchBiometricPromptForMandatoryBiometrics(this,
+                            BIOMETRIC_AUTH_REQUEST,
+                            mUserId, true /* hideBackground */);
+                } else if (biometricAuthStatus != Utils.BiometricStatus.NOT_ACTIVE) {
+                    finish();
+                }
             }
         } else if (requestCode == ENROLL_REQUEST) {
             if (resultCode == RESULT_TIMEOUT) {
                 setResult(resultCode, data);
                 finish();
             }
+        } else if (requestCode == BIOMETRIC_AUTH_REQUEST) {
+            mBiometricsAuthenticationRequested = false;
+            if (resultCode != RESULT_OK) {
+                finish();
+            }
         }
     }
 
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
index 795f999..b32ab4f 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
@@ -74,6 +74,7 @@
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.display.DisplayDensityUtils;
+import com.android.systemui.unfold.compat.ScreenSizeFoldProvider;
 
 import com.airbnb.lottie.LottieAnimationView;
 import com.airbnb.lottie.LottieComposition;
@@ -89,7 +90,6 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.util.List;
-import java.util.function.Function;
 
 /**
  * Activity which handles the actual enrolling for fingerprint.
@@ -197,8 +197,10 @@
     private OrientationEventListener mOrientationEventListener;
     private int mPreviousRotation = 0;
 
-    @NonNull
-    private SfpsEnrollmentFeature mSfpsEnrollmentFeature = new EmptySfpsEnrollmentFeature();
+    private boolean mIsFolded = false;
+
+    private SfpsEnrollmentFeature mSfpsEnrollmentFeature;
+
     @Nullable
     private UdfpsEnrollCalibrator mCalibrator;
 
@@ -386,6 +388,7 @@
     @Override
     protected void onStart() {
         super.onStart();
+        setupScreenFoldCallbackWhenNecessary();
         updateProgress(false /* animate */);
         updateTitleAndDescription(true);
         if (mRestoring) {
@@ -393,6 +396,19 @@
         }
     }
 
+    private void setupScreenFoldCallbackWhenNecessary() {
+        if (mCanAssumeSfps) {
+            // These two fields will be cleaned up in BiometricEnrollBase#onStop.
+            mScreenSizeFoldProvider = new ScreenSizeFoldProvider(getApplicationContext());
+            mFoldCallback = isFolded -> {
+                mIsFolded = isFolded;
+                maybeHideSfpsText(getResources().getConfiguration());
+            };
+            // The callback will be unregistered in BiometricEnrollBase#onStop.
+            mScreenSizeFoldProvider.registerCallback(mFoldCallback, getMainExecutor());
+        }
+    }
+
     @Override
     public void onEnterAnimationComplete() {
         super.onEnterAnimationComplete();
@@ -1156,13 +1172,12 @@
     private void maybeHideSfpsText(@NonNull Configuration newConfig) {
         final HeaderMixin headerMixin = getLayout().getMixin(HeaderMixin.class);
         final DescriptionMixin descriptionMixin = getLayout().getMixin(DescriptionMixin.class);
-        final boolean isLandscape = newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE;
 
         if (mCanAssumeSfps) {
             // hide the description
             descriptionMixin.getTextView().setVisibility(View.GONE);
             headerMixin.getTextView().setHyphenationFrequency(HYPHENATION_FREQUENCY_NONE);
-            if (isLandscape) {
+            if (mSfpsEnrollmentFeature.shouldAdjustHeaderText(newConfig, mIsFolded)) {
                 headerMixin.setAutoTextSizeEnabled(true);
                 headerMixin.getTextView().setMinLines(0);
                 headerMixin.getTextView().setMaxLines(10);
@@ -1209,32 +1224,4 @@
         }
     }
 
-    private static class EmptySfpsEnrollmentFeature implements SfpsEnrollmentFeature {
-        private final String exceptionStr = "Assume sfps but no SfpsEnrollmentFeature impl.";
-
-        @Override
-        public int getCurrentSfpsEnrollStage(int progressSteps, Function<Integer, Integer> mapper) {
-            throw new IllegalStateException(exceptionStr);
-        }
-
-        @Override
-        public int getFeaturedStageHeaderResource(int stage) {
-            throw new IllegalStateException(exceptionStr);
-        }
-
-        @Override
-        public int getSfpsEnrollLottiePerStage(int stage) {
-            throw new IllegalStateException(exceptionStr);
-        }
-
-        @Override
-        public float getEnrollStageThreshold(@NonNull Context context, int index) {
-            throw new IllegalStateException(exceptionStr);
-        }
-
-        @Override
-        public Animator getHelpAnimator(@NonNull View target) {
-            throw new IllegalStateException(exceptionStr);
-        }
-    }
 }
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintRemoveSidecar.java b/src/com/android/settings/biometrics/fingerprint/FingerprintRemoveSidecar.java
index 73eccdc..2737d38 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintRemoveSidecar.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintRemoveSidecar.java
@@ -23,6 +23,7 @@
 import android.util.Log;
 
 import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.core.InstrumentedFragment;
 
@@ -51,7 +52,8 @@
         }
     }
 
-    private FingerprintManager.RemovalCallback
+    @VisibleForTesting
+    FingerprintManager.RemovalCallback
             mRemoveCallback = new FingerprintManager.RemovalCallback() {
         @Override
         public void onRemovalSucceeded(Fingerprint fingerprint, int remaining) {
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
index 4646134..125691f 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
@@ -23,6 +23,7 @@
 
 import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;
 import static com.android.settings.Utils.isPrivateProfile;
+import static com.android.settings.biometrics.BiometricEnrollBase.BIOMETRIC_AUTH_REQUEST;
 import static com.android.settings.biometrics.BiometricEnrollBase.EXTRA_FROM_SETTINGS_SUMMARY;
 import static com.android.settings.biometrics.BiometricEnrollBase.EXTRA_KEY_CHALLENGE;
 
@@ -41,10 +42,11 @@
 import android.os.Handler;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.os.VibrationEffect;
+import android.os.Vibrator;
 import android.text.InputFilter;
 import android.text.Spanned;
 import android.text.TextUtils;
-import android.util.FeatureFlagUtils;
 import android.util.Log;
 import android.view.View;
 import android.widget.ImeAwareEditText;
@@ -69,8 +71,6 @@
 import com.android.settings.biometrics.BiometricEnrollBase;
 import com.android.settings.biometrics.BiometricUtils;
 import com.android.settings.biometrics.GatekeeperPasswordProvider;
-import com.android.settings.biometrics2.ui.model.EnrollmentRequest;
-import com.android.settings.biometrics2.ui.view.FingerprintEnrollmentActivity;
 import com.android.settings.core.SettingsBaseActivity;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 import com.android.settings.dashboard.DashboardFragment;
@@ -111,6 +111,9 @@
     private static final int RESULT_FINISHED = BiometricEnrollBase.RESULT_FINISHED;
     private static final int RESULT_SKIP = BiometricEnrollBase.RESULT_SKIP;
     private static final int RESULT_TIMEOUT = BiometricEnrollBase.RESULT_TIMEOUT;
+    @VisibleForTesting
+    static final VibrationEffect SUCCESS_VIBRATION_EFFECT =
+            VibrationEffect.get(VibrationEffect.EFFECT_CLICK);
 
     @Override
     public Intent getIntent() {
@@ -161,11 +164,27 @@
 
         public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
                 new BaseSearchIndexProvider(R.xml.security_settings_fingerprint) {
+
+                    @Override
+                    protected boolean isPageSearchEnabled(Context context) {
+                        return super.isPageSearchEnabled(context) &&
+                                hasEnrolledFingerprints(context);
+                    }
+
                     @Override
                     public List<AbstractPreferenceController>
                             createPreferenceControllers(Context context) {
                         return createThePreferenceControllers(context);
                     }
+
+                    private boolean hasEnrolledFingerprints(Context context) {
+                        final FingerprintManager fingerprintManager =
+                                Utils.getFingerprintManagerOrNull(context);
+                        if (fingerprintManager != null) {
+                            return fingerprintManager.hasEnrolledTemplates(UserHandle.myUserId());
+                        }
+                        return false;
+                    }
                 };
 
         private static List<AbstractPreferenceController> createThePreferenceControllers(Context
@@ -218,12 +237,15 @@
                 "security_settings_fingerprint_unlock_category";
         private static final String KEY_FINGERPRINT_UNLOCK_FOOTER =
                 "security_settings_fingerprint_footer";
+        private static final String KEY_BIOMETRICS_AUTHENTICATION_REQUESTED =
+                "biometrics_authentication_requested";
 
         private static final int MSG_REFRESH_FINGERPRINT_TEMPLATES = 1000;
         private static final int MSG_FINGER_AUTH_SUCCESS = 1001;
         private static final int MSG_FINGER_AUTH_FAIL = 1002;
         private static final int MSG_FINGER_AUTH_ERROR = 1003;
         private static final int MSG_FINGER_AUTH_HELP = 1004;
+        private static final int MSG_RELOAD_FINGERPRINT_TEMPLATES = 1005;
 
         private static final int CONFIRM_REQUEST = 101;
         @VisibleForTesting
@@ -251,6 +273,7 @@
         private boolean mInFingerprintLockout;
         private byte[] mToken;
         private boolean mLaunchedConfirm;
+        private boolean mBiometricsAuthenticationRequested;
         private boolean mHasFirstEnrolled = true;
         private Drawable mHighlightDrawable;
         private int mUserId;
@@ -264,6 +287,7 @@
         private FingerprintAuthenticateSidecar mAuthenticateSidecar;
         private FingerprintRemoveSidecar mRemovalSidecar;
         private HashMap<Integer, String> mFingerprintsRenaming;
+        private Vibrator mVibrator;
 
         @Nullable
         private UdfpsEnrollCalibrator mCalibrator;
@@ -309,6 +333,8 @@
                         if (activity != null) {
                             Toast.makeText(activity, errString, Toast.LENGTH_SHORT);
                         }
+                        mHandler.obtainMessage(MSG_RELOAD_FINGERPRINT_TEMPLATES)
+                                .sendToTarget();
                         updateDialog();
                     }
 
@@ -327,11 +353,7 @@
                 switch (msg.what) {
                     case MSG_REFRESH_FINGERPRINT_TEMPLATES:
                         removeFingerprintPreference(msg.arg1);
-                        updateAddPreference();
-                        if (isSfps()) {
-                            updateFingerprintUnlockCategoryVisibility();
-                        }
-                        updatePreferences();
+                        updatePreferencesAfterFingerprintRemoved();
                         break;
                     case MSG_FINGER_AUTH_SUCCESS:
                         highlightFingerprintItem(msg.arg1);
@@ -343,10 +365,13 @@
                     case MSG_FINGER_AUTH_ERROR:
                         handleError(msg.arg1 /* errMsgId */, (CharSequence) msg.obj /* errStr */);
                         break;
+                    case MSG_RELOAD_FINGERPRINT_TEMPLATES:
+                        updatePreferencesAfterFingerprintRemoved();
+                        break;
                     case MSG_FINGER_AUTH_HELP: {
                         // Not used
+                        break;
                     }
-                    break;
                 }
             }
         };
@@ -464,6 +489,8 @@
                 mIsEnrolling = savedInstanceState.getBoolean(KEY_IS_ENROLLING, mIsEnrolling);
                 mHasFirstEnrolled = savedInstanceState.getBoolean(KEY_HAS_FIRST_ENROLLED,
                         mHasFirstEnrolled);
+                mBiometricsAuthenticationRequested = savedInstanceState.getBoolean(
+                        KEY_BIOMETRICS_AUTHENTICATION_REQUESTED);
             }
 
             // (mLaunchedConfirm or mIsEnrolling) means that we are waiting an activity result.
@@ -477,6 +504,7 @@
                     addFirstFingerprint(null);
                 }
             }
+            mVibrator = getContext().getSystemService(Vibrator.class);
             final PreferenceScreen root = getPreferenceScreen();
             root.removeAll();
             addPreferencesFromResource(getPreferenceScreenResId());
@@ -554,6 +582,7 @@
 
         protected void removeFingerprintPreference(int fingerprintId) {
             String name = genKey(fingerprintId);
+            Log.e(TAG, "removeFingerprintPreference : " + fingerprintId);
             Preference prefToRemove = findPreference(name);
             if (prefToRemove != null) {
                 if (!getPreferenceScreen().removePreference(prefToRemove)) {
@@ -678,6 +707,14 @@
                     });
         }
 
+        private void updatePreferencesAfterFingerprintRemoved() {
+            updateAddPreference();
+            if (isSfps()) {
+                updateFingerprintUnlockCategoryVisibility();
+            }
+            updatePreferences();
+        }
+
         private void updateAddPreference() {
             if (getActivity() == null) {
                 return; // Activity went away
@@ -798,6 +835,8 @@
             outState.putSerializable("mFingerprintsRenaming", mFingerprintsRenaming);
             outState.putBoolean(KEY_IS_ENROLLING, mIsEnrolling);
             outState.putBoolean(KEY_HAS_FIRST_ENROLLED, mHasFirstEnrolled);
+            outState.putBoolean(KEY_BIOMETRICS_AUTHENTICATION_REQUESTED,
+                    mBiometricsAuthenticationRequested);
         }
 
         @Override
@@ -806,15 +845,8 @@
             if (KEY_FINGERPRINT_ADD.equals(key)) {
                 mIsEnrolling = true;
                 Intent intent = new Intent();
-                if (FeatureFlagUtils.isEnabled(getContext(),
-                        FeatureFlagUtils.SETTINGS_BIOMETRICS2_ENROLLMENT)) {
-                    intent.setClassName(SETTINGS_PACKAGE_NAME,
-                            FingerprintEnrollmentActivity.InternalActivity.class.getName());
-                    intent.putExtra(EnrollmentRequest.EXTRA_SKIP_FIND_SENSOR, true);
-                } else {
-                    intent.setClassName(SETTINGS_PACKAGE_NAME,
-                            FingerprintEnrollEnrolling.class.getName());
-                }
+                intent.setClassName(SETTINGS_PACKAGE_NAME,
+                        FingerprintEnrollEnrolling.class.getName());
                 intent.putExtra(Intent.EXTRA_USER_ID, mUserId);
                 intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, mToken);
                 if (mCalibrator != null) {
@@ -968,6 +1000,18 @@
                                         updateAddPreference();
                                     });
                         }
+                        final Utils.BiometricStatus biometricAuthStatus =
+                                Utils.requestBiometricAuthenticationForMandatoryBiometrics(
+                                        getActivity(),
+                                        mBiometricsAuthenticationRequested,
+                                        mUserId);
+                        if (biometricAuthStatus == Utils.BiometricStatus.OK) {
+                            Utils.launchBiometricPromptForMandatoryBiometrics(this,
+                                    BIOMETRIC_AUTH_REQUEST,
+                                    mUserId, true /* hideBackground */);
+                        } else if (biometricAuthStatus != Utils.BiometricStatus.NOT_ACTIVE) {
+                            finish();
+                        }
                     } else {
                         Log.d(TAG, "Data null or GK PW missing");
                         finish();
@@ -1018,6 +1062,11 @@
                 mIsEnrolling = false;
                 mHasFirstEnrolled = true;
                 updateAddPreference();
+            } else if (requestCode == BIOMETRIC_AUTH_REQUEST) {
+                mBiometricsAuthenticationRequested = false;
+                if (resultCode != RESULT_OK) {
+                    finish();
+                }
             }
         }
 
@@ -1040,6 +1089,7 @@
         }
 
         private void highlightFingerprintItem(int fpId) {
+            mVibrator.vibrate(SUCCESS_VIBRATION_EFFECT);
             String prefName = genKey(fpId);
             FingerprintPreference fpref = (FingerprintPreference) findPreference(prefName);
             final Drawable highlight = getHighlightDrawable();
@@ -1092,12 +1142,7 @@
         private void addFirstFingerprint(@Nullable Long gkPwHandle) {
             Intent intent = new Intent();
             intent.setClassName(SETTINGS_PACKAGE_NAME,
-                    FeatureFlagUtils.isEnabled(getActivity(),
-                            FeatureFlagUtils.SETTINGS_BIOMETRICS2_ENROLLMENT)
-                            ? FingerprintEnrollmentActivity.InternalActivity.class.getName()
-                            : FingerprintEnrollIntroductionInternal.class.getName()
-            );
-
+                    FingerprintEnrollIntroductionInternal.class.getName());
             intent.putExtra(EXTRA_FROM_SETTINGS_SUMMARY, true);
             intent.putExtra(SettingsBaseActivity.EXTRA_PAGE_TRANSITION_TYPE,
                     SettingsTransitionHelper.TransitionType.TRANSITION_SLIDE);
@@ -1163,7 +1208,7 @@
 
             @Override
             public int getMetricsCategory() {
-                return SettingsEnums.DIALOG_FINGERPINT_EDIT;
+                return SettingsEnums.DIALOG_FINGERPRINT_DELETE;
             }
 
             @Override
@@ -1325,7 +1370,7 @@
 
             @Override
             public int getMetricsCategory() {
-                return SettingsEnums.DIALOG_FINGERPINT_EDIT;
+                return SettingsEnums.DIALOG_FINGERPRINT_RENAME;
             }
         }
 
diff --git a/src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeature.java b/src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeature.java
index bdf9530..2d31b0c 100644
--- a/src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeature.java
+++ b/src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeature.java
@@ -18,6 +18,7 @@
 
 import android.animation.Animator;
 import android.content.Context;
+import android.content.res.Configuration;
 import android.view.View;
 
 import androidx.annotation.NonNull;
@@ -114,4 +115,13 @@
      * @param remaining remaining
      */
     default void handleOnEnrollmentProgressChange(int steps, int remaining) {}
+
+    /**
+     * Indicates if the properties of header text view like auto text size or min / max lines
+     * should be adjusted.
+     * @param conf the current configuration
+     * @param isFolded is the device folded
+     * @return true if should adjust auto size and max lines of header; otherwise false
+     */
+    boolean shouldAdjustHeaderText(@NonNull Configuration conf, boolean isFolded);
 }
diff --git a/src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeatureImpl.java b/src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeatureImpl.java
index 60ced6e..bf97478 100644
--- a/src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeatureImpl.java
+++ b/src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeatureImpl.java
@@ -26,6 +26,7 @@
 import android.animation.Animator;
 import android.animation.ObjectAnimator;
 import android.content.Context;
+import android.content.res.Configuration;
 import android.hardware.fingerprint.FingerprintManager;
 import android.view.View;
 import android.view.animation.AccelerateInterpolator;
@@ -107,4 +108,9 @@
         help.setAutoCancel(false);
         return help;
     }
+
+    @Override
+    public boolean shouldAdjustHeaderText(@NonNull Configuration conf, boolean isFolded) {
+        return conf.orientation == Configuration.ORIENTATION_LANDSCAPE;
+    }
 }
diff --git a/src/com/android/settings/biometrics/fingerprint2/BiometricsEnvironment.kt b/src/com/android/settings/biometrics/fingerprint2/BiometricsEnvironment.kt
index 215692a..e3233ed 100644
--- a/src/com/android/settings/biometrics/fingerprint2/BiometricsEnvironment.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/BiometricsEnvironment.kt
@@ -19,7 +19,6 @@
 import android.hardware.fingerprint.FingerprintManager
 import android.view.MotionEvent
 import android.view.accessibility.AccessibilityManager
-import androidx.fragment.app.FragmentActivity
 import androidx.lifecycle.ViewModelStore
 import androidx.lifecycle.ViewModelStoreOwner
 import com.android.internal.widget.LockPatternUtils
@@ -27,33 +26,47 @@
 import com.android.settings.biometrics.GatekeeperPasswordProvider
 import com.android.settings.biometrics.fingerprint2.data.repository.DebuggingRepository
 import com.android.settings.biometrics.fingerprint2.data.repository.DebuggingRepositoryImpl
+import com.android.settings.biometrics.fingerprint2.data.repository.FingerprintEnrollmentRepositoryImpl
 import com.android.settings.biometrics.fingerprint2.data.repository.FingerprintSensorRepository
 import com.android.settings.biometrics.fingerprint2.data.repository.FingerprintSensorRepositoryImpl
+import com.android.settings.biometrics.fingerprint2.data.repository.FingerprintSettingsRepositoryImpl
+import com.android.settings.biometrics.fingerprint2.data.repository.UserRepoImpl
 import com.android.settings.biometrics.fingerprint2.debug.data.repository.UdfpsEnrollDebugRepositoryImpl
 import com.android.settings.biometrics.fingerprint2.debug.domain.interactor.DebugTouchEventInteractorImpl
 import com.android.settings.biometrics.fingerprint2.domain.interactor.AccessibilityInteractor
 import com.android.settings.biometrics.fingerprint2.domain.interactor.AccessibilityInteractorImpl
+import com.android.settings.biometrics.fingerprint2.domain.interactor.AuthenticateInteractorImpl
+import com.android.settings.biometrics.fingerprint2.domain.interactor.CanEnrollFingerprintsInteractorImpl
 import com.android.settings.biometrics.fingerprint2.domain.interactor.DebuggingInteractor
 import com.android.settings.biometrics.fingerprint2.domain.interactor.DebuggingInteractorImpl
 import com.android.settings.biometrics.fingerprint2.domain.interactor.DisplayDensityInteractor
 import com.android.settings.biometrics.fingerprint2.domain.interactor.DisplayDensityInteractorImpl
+import com.android.settings.biometrics.fingerprint2.domain.interactor.EnrollFingerprintInteractorImpl
 import com.android.settings.biometrics.fingerprint2.domain.interactor.EnrollStageInteractor
 import com.android.settings.biometrics.fingerprint2.domain.interactor.EnrollStageInteractorImpl
-import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintEnrollInteractor
-import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintEnrollInteractorImpl
-import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractorImpl
+import com.android.settings.biometrics.fingerprint2.domain.interactor.EnrolledFingerprintsInteractorImpl
 import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintSensorInteractor
 import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintSensorInteractorImpl
 import com.android.settings.biometrics.fingerprint2.domain.interactor.FoldStateInteractor
 import com.android.settings.biometrics.fingerprint2.domain.interactor.FoldStateInteractorImpl
+import com.android.settings.biometrics.fingerprint2.domain.interactor.GenerateChallengeInteractorImpl
 import com.android.settings.biometrics.fingerprint2.domain.interactor.OrientationInteractor
 import com.android.settings.biometrics.fingerprint2.domain.interactor.OrientationInteractorImpl
+import com.android.settings.biometrics.fingerprint2.domain.interactor.RemoveFingerprintsInteractorImpl
+import com.android.settings.biometrics.fingerprint2.domain.interactor.RenameFingerprintsInteractorImpl
+import com.android.settings.biometrics.fingerprint2.domain.interactor.SensorInteractorImpl
 import com.android.settings.biometrics.fingerprint2.domain.interactor.TouchEventInteractor
 import com.android.settings.biometrics.fingerprint2.domain.interactor.UdfpsEnrollInteractor
 import com.android.settings.biometrics.fingerprint2.domain.interactor.UdfpsEnrollInteractorImpl
 import com.android.settings.biometrics.fingerprint2.domain.interactor.VibrationInteractor
 import com.android.settings.biometrics.fingerprint2.domain.interactor.VibrationInteractorImpl
-import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.FingerprintManagerInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.AuthenitcateInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.CanEnrollFingerprintsInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.EnrollFingerprintInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.GenerateChallengeInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.RemoveFingerprintInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.RenameFingerprintInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.SensorInteractor
 import com.android.settings.biometrics.fingerprint2.lib.model.Settings
 import java.util.concurrent.Executors
 import kotlinx.coroutines.MainScope
@@ -68,36 +81,53 @@
  * This code is instantiated within the [SettingsApplication], all repos should be private &
  * immutable and all interactors should public and immutable
  */
-class BiometricsEnvironment(context: SettingsApplication) : ViewModelStoreOwner {
-
+class BiometricsEnvironment(
+  val context: SettingsApplication,
+  private val fingerprintManager: FingerprintManager,
+) : ViewModelStoreOwner {
   private val executorService = Executors.newSingleThreadExecutor()
   private val backgroundDispatcher = executorService.asCoroutineDispatcher()
   private val applicationScope = MainScope()
   private val gateKeeperPasswordProvider = GatekeeperPasswordProvider(LockPatternUtils(context))
-  private val fingerprintManager =
-    context.getSystemService(FragmentActivity.FINGERPRINT_SERVICE) as FingerprintManager?
 
+  private val userRepo = UserRepoImpl(context.userId)
+  private val fingerprintSettingsRepository =
+    FingerprintSettingsRepositoryImpl(
+      context.resources.getInteger(
+        com.android.internal.R.integer.config_fingerprintMaxTemplatesPerUser
+      )
+    )
+  private val fingerprintEnrollmentRepository =
+    FingerprintEnrollmentRepositoryImpl(fingerprintManager, userRepo, fingerprintSettingsRepository,
+      backgroundDispatcher, applicationScope)
   private val fingerprintSensorRepository: FingerprintSensorRepository =
     FingerprintSensorRepositoryImpl(fingerprintManager, backgroundDispatcher, applicationScope)
   private val debuggingRepository: DebuggingRepository = DebuggingRepositoryImpl()
   private val udfpsDebugRepo = UdfpsEnrollDebugRepositoryImpl()
 
-  /** For now, interactors are public to those with access to the [BiometricsEnvironment] class */
-  val fingerprintEnrollInteractor: FingerprintEnrollInteractor by lazy {
-    FingerprintEnrollInteractorImpl(context, fingerprintManager, Settings)
-  }
+  fun createSensorPropertiesInteractor(): SensorInteractor =
+    SensorInteractorImpl(fingerprintSensorRepository)
 
-  /** [FingerprintManagerInteractor] to be used to construct view models */
-  val fingerprintManagerInteractor: FingerprintManagerInteractor by lazy {
-    FingerprintManagerInteractorImpl(
-      context,
-      backgroundDispatcher,
-      fingerprintManager,
-      fingerprintSensorRepository,
-      gateKeeperPasswordProvider,
-      fingerprintEnrollInteractor,
-    )
-  }
+  fun createCanEnrollFingerprintsInteractor(): CanEnrollFingerprintsInteractor =
+    CanEnrollFingerprintsInteractorImpl(fingerprintEnrollmentRepository)
+
+  fun createGenerateChallengeInteractor(): GenerateChallengeInteractor =
+    GenerateChallengeInteractorImpl(fingerprintManager, context.userId, gateKeeperPasswordProvider)
+
+  fun createFingerprintEnrollInteractor(): EnrollFingerprintInteractor =
+    EnrollFingerprintInteractorImpl(context.userId, fingerprintManager, Settings)
+
+  fun createFingerprintsEnrolledInteractor(): EnrolledFingerprintsInteractorImpl =
+    EnrolledFingerprintsInteractorImpl(fingerprintManager, context.userId)
+
+  fun createAuthenticateInteractor(): AuthenitcateInteractor =
+    AuthenticateInteractorImpl(fingerprintManager, context.userId)
+
+  fun createRemoveFingerprintInteractor(): RemoveFingerprintInteractor =
+    RemoveFingerprintsInteractorImpl(fingerprintManager, context.userId)
+
+  fun createRenameFingerprintInteractor(): RenameFingerprintInteractor =
+    RenameFingerprintsInteractorImpl(fingerprintManager, context.userId, backgroundDispatcher)
 
   val accessibilityInteractor: AccessibilityInteractor by lazy {
     AccessibilityInteractorImpl(
diff --git a/src/com/android/settings/biometrics/fingerprint2/data/repository/FingerprintEnrollmentRepo.kt b/src/com/android/settings/biometrics/fingerprint2/data/repository/FingerprintEnrollmentRepo.kt
new file mode 100644
index 0000000..22904e9
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/data/repository/FingerprintEnrollmentRepo.kt
@@ -0,0 +1,98 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.fingerprint2.data.repository
+
+import android.hardware.biometrics.BiometricStateListener
+import android.hardware.fingerprint.FingerprintManager
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintData
+import kotlinx.coroutines.CoroutineDispatcher
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.channels.awaitClose
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.SharingStarted
+import kotlinx.coroutines.flow.callbackFlow
+import kotlinx.coroutines.flow.distinctUntilChanged
+import kotlinx.coroutines.flow.filterNotNull
+import kotlinx.coroutines.flow.flatMapLatest
+import kotlinx.coroutines.flow.flowOn
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.stateIn
+import kotlinx.coroutines.withContext
+
+/** Repository that contains information about fingerprint enrollments. */
+interface FingerprintEnrollmentRepository {
+  /** The current enrollments of the user */
+  val currentEnrollments: Flow<List<FingerprintData>?>
+
+  /** Indicates if a user can enroll another fingerprint */
+  val canEnrollUser: Flow<Boolean>
+
+  fun maxFingerprintsEnrollable(): Int
+}
+
+class FingerprintEnrollmentRepositoryImpl(
+  fingerprintManager: FingerprintManager,
+  userRepo: UserRepo,
+  private val settingsRepository: FingerprintSettingsRepository,
+  backgroundDispatcher: CoroutineDispatcher,
+  applicationScope: CoroutineScope,
+) : FingerprintEnrollmentRepository {
+
+  private val enrollmentChangedFlow: Flow<Int?> =
+    callbackFlow {
+        val callback =
+          object : BiometricStateListener() {
+            override fun onEnrollmentsChanged(userId: Int, sensorId: Int, hasEnrollments: Boolean) {
+              trySend(userId)
+            }
+          }
+        withContext(backgroundDispatcher) {
+          fingerprintManager.registerBiometricStateListener(callback)
+        }
+        awaitClose {
+          // no way to unregister
+        }
+      }
+      .stateIn(applicationScope, started = SharingStarted.Eagerly, initialValue = null)
+
+  override val currentEnrollments: Flow<List<FingerprintData>> =
+    userRepo.currentUser
+      .distinctUntilChanged()
+      .flatMapLatest { currentUser ->
+        enrollmentChangedFlow.map { enrollmentChanged ->
+          if (enrollmentChanged == null || enrollmentChanged == currentUser) {
+            fingerprintManager
+              .getEnrolledFingerprints(currentUser)
+              ?.map { (FingerprintData(it.name.toString(), it.biometricId, it.deviceId)) }
+              ?.toList()
+          } else {
+            null
+          }
+        }
+      }
+      .filterNotNull()
+      .flowOn(backgroundDispatcher)
+
+  override val canEnrollUser: Flow<Boolean> =
+    currentEnrollments.map {
+      it?.size?.let { it < settingsRepository.maxEnrollableFingerprints() } ?: false
+    }
+
+  override fun maxFingerprintsEnrollable(): Int {
+    return settingsRepository.maxEnrollableFingerprints()
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/data/repository/FingerprintSensorRepository.kt b/src/com/android/settings/biometrics/fingerprint2/data/repository/FingerprintSensorRepository.kt
index 516549e..1cca532 100644
--- a/src/com/android/settings/biometrics/fingerprint2/data/repository/FingerprintSensorRepository.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/data/repository/FingerprintSensorRepository.kt
@@ -31,6 +31,8 @@
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.SharingStarted
 import kotlinx.coroutines.flow.callbackFlow
+import kotlinx.coroutines.flow.flatMapLatest
+import kotlinx.coroutines.flow.flow
 import kotlinx.coroutines.flow.stateIn
 import kotlinx.coroutines.flow.transform
 import kotlinx.coroutines.withContext
@@ -43,10 +45,13 @@
 interface FingerprintSensorRepository {
   /** Get the [FingerprintSensor] */
   val fingerprintSensor: Flow<FingerprintSensor>
+
+  /** Indicates if this device supports the side fingerprint sensor */
+  val hasSideFps: Flow<Boolean>
 }
 
 class FingerprintSensorRepositoryImpl(
-  fingerprintManager: FingerprintManager?,
+  private val fingerprintManager: FingerprintManager,
   backgroundDispatcher: CoroutineDispatcher,
   activityScope: CoroutineScope,
 ) : FingerprintSensorRepository {
@@ -66,7 +71,7 @@
             }
           }
         withContext(backgroundDispatcher) {
-          fingerprintManager?.addAuthenticatorsRegisteredCallback(callback)
+          fingerprintManager.addAuthenticatorsRegisteredCallback(callback)
         }
         awaitClose {}
       }
@@ -75,6 +80,9 @@
   override val fingerprintSensor: Flow<FingerprintSensor> =
     fingerprintPropsInternal.transform { emit(it.toFingerprintSensor()) }
 
+  override val hasSideFps: Flow<Boolean> =
+    fingerprintSensor.flatMapLatest { flow { emit(fingerprintManager.isPowerbuttonFps()) } }
+
   companion object {
 
     private val DEFAULT_PROPS =
diff --git a/src/com/android/settings/biometrics/fingerprint2/data/repository/FingerprintSettingsRepository.kt b/src/com/android/settings/biometrics/fingerprint2/data/repository/FingerprintSettingsRepository.kt
new file mode 100644
index 0000000..fe6676c
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/data/repository/FingerprintSettingsRepository.kt
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.fingerprint2.data.repository
+
+/**
+ * Repository for storing metadata about fingerprint enrollments.
+ */
+interface FingerprintSettingsRepository {
+    /**
+     * Indicates the maximum number of fingerprints enrollable
+     */
+    fun maxEnrollableFingerprints(): Int
+}
+
+class FingerprintSettingsRepositoryImpl(private val maxFingerprintsEnrollable: Int) :
+    FingerprintSettingsRepository {
+    override fun maxEnrollableFingerprints() = maxFingerprintsEnrollable
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/data/repository/SimulatedTouchEventsRepository.kt b/src/com/android/settings/biometrics/fingerprint2/data/repository/SimulatedTouchEventsRepository.kt
index 3c355e7..9b7f280 100644
--- a/src/com/android/settings/biometrics/fingerprint2/data/repository/SimulatedTouchEventsRepository.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/data/repository/SimulatedTouchEventsRepository.kt
@@ -16,7 +16,6 @@
 
 package com.android.settings.biometrics.fingerprint2.data.repository
 
-import android.graphics.Point
 import android.view.MotionEvent
 import kotlinx.coroutines.flow.Flow
 
diff --git a/src/com/android/settings/biometrics/fingerprint2/data/repository/UserRepo.kt b/src/com/android/settings/biometrics/fingerprint2/data/repository/UserRepo.kt
new file mode 100644
index 0000000..720e778
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/data/repository/UserRepo.kt
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.fingerprint2.data.repository
+
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.flowOf
+
+/**
+ * A repository responsible for indicating the current user.
+ */
+interface UserRepo {
+    /**
+     * This flow indicates the current user.
+     */
+    val currentUser: Flow<Int>
+}
+
+class UserRepoImpl(val currUser: Int): UserRepo {
+    override val currentUser: Flow<Int> = flowOf(currUser)
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/debug/data/repository/UdfpsEnrollDebugRepository.kt b/src/com/android/settings/biometrics/fingerprint2/debug/data/repository/UdfpsEnrollDebugRepository.kt
index 0c3152a..bc48f07 100644
--- a/src/com/android/settings/biometrics/fingerprint2/debug/data/repository/UdfpsEnrollDebugRepository.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/debug/data/repository/UdfpsEnrollDebugRepository.kt
@@ -97,6 +97,8 @@
   }
 
   override val fingerprintSensor: Flow<FingerprintSensor> = flowOf(sensorProps)
+  override val hasSideFps: Flow<Boolean>
+    get() = flowOf(false)
 
   private fun pointToLeftOfSensor(sensorLocation: Rect): MotionEvent =
     MotionEvent.obtain(
diff --git a/src/com/android/settings/biometrics/fingerprint2/debug/domain/interactor/DebugTouchEventInteractorImpl.kt b/src/com/android/settings/biometrics/fingerprint2/debug/domain/interactor/DebugTouchEventInteractorImpl.kt
index fff6b66..f6627e1 100644
--- a/src/com/android/settings/biometrics/fingerprint2/debug/domain/interactor/DebugTouchEventInteractorImpl.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/debug/domain/interactor/DebugTouchEventInteractorImpl.kt
@@ -26,4 +26,4 @@
 ) : TouchEventInteractor {
   override val touchEvent: Flow<MotionEvent> =
     udfpsSimulatedTouchEventsRepository.touchExplorationDebug
-}
\ No newline at end of file
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/AuthenticateInteractorImpl.kt b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/AuthenticateInteractorImpl.kt
new file mode 100644
index 0000000..df93092
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/AuthenticateInteractorImpl.kt
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.fingerprint2.domain.interactor
+
+import android.hardware.fingerprint.FingerprintManager
+import android.os.CancellationSignal
+import android.util.Log
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.AuthenitcateInteractor
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintAuthAttemptModel
+import kotlin.coroutines.resume
+import kotlinx.coroutines.CancellableContinuation
+import kotlinx.coroutines.suspendCancellableCoroutine
+
+class AuthenticateInteractorImpl(
+  private val fingerprintManager: FingerprintManager,
+  private val userId: Int,
+) : AuthenitcateInteractor {
+
+  override suspend fun authenticate(): FingerprintAuthAttemptModel =
+    suspendCancellableCoroutine { c: CancellableContinuation<FingerprintAuthAttemptModel> ->
+      val authenticationCallback =
+        object : FingerprintManager.AuthenticationCallback() {
+
+          override fun onAuthenticationError(errorCode: Int, errString: CharSequence) {
+            super.onAuthenticationError(errorCode, errString)
+            if (c.isCompleted) {
+              Log.d(TAG, "framework sent down onAuthError after finish")
+              return
+            }
+            c.resume(FingerprintAuthAttemptModel.Error(errorCode, errString.toString()))
+          }
+
+          override fun onAuthenticationSucceeded(result: FingerprintManager.AuthenticationResult) {
+            super.onAuthenticationSucceeded(result)
+            if (c.isCompleted) {
+              Log.d(TAG, "framework sent down onAuthError after finish")
+              return
+            }
+            c.resume(FingerprintAuthAttemptModel.Success(result.fingerprint?.biometricId ?: -1))
+          }
+        }
+
+      val cancellationSignal = CancellationSignal()
+      c.invokeOnCancellation { cancellationSignal.cancel() }
+      fingerprintManager.authenticate(
+        null,
+        cancellationSignal,
+        authenticationCallback,
+        null,
+        userId,
+      )
+    }
+
+  companion object {
+    private const val TAG = "AuthenticateInteractor"
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/CanEnrollFingerprintsInteractorImpl.kt b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/CanEnrollFingerprintsInteractorImpl.kt
new file mode 100644
index 0000000..caeea4e
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/CanEnrollFingerprintsInteractorImpl.kt
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.fingerprint2.domain.interactor
+
+import com.android.settings.biometrics.fingerprint2.data.repository.FingerprintEnrollmentRepository
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.CanEnrollFingerprintsInteractor
+import kotlinx.coroutines.flow.Flow
+
+class CanEnrollFingerprintsInteractorImpl(
+  val fingerprintEnrollmentRepository: FingerprintEnrollmentRepository
+) : CanEnrollFingerprintsInteractor {
+  override val canEnrollFingerprints: Flow<Boolean> = fingerprintEnrollmentRepository.canEnrollUser
+  /** Indicates the maximum fingerprints enrollable for a given user */
+  override fun maxFingerprintsEnrollable(): Int {
+    return fingerprintEnrollmentRepository.maxFingerprintsEnrollable()
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/EnrollFingerprintInteractorImpl.kt b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/EnrollFingerprintInteractorImpl.kt
new file mode 100644
index 0000000..3e14a64
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/EnrollFingerprintInteractorImpl.kt
@@ -0,0 +1,146 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.fingerprint2.domain.interactor
+
+import android.hardware.fingerprint.FingerprintEnrollOptions
+import android.hardware.fingerprint.FingerprintManager
+import android.os.CancellationSignal
+import android.util.Log
+import com.android.settings.biometrics.fingerprint2.conversion.Util.toEnrollError
+import com.android.settings.biometrics.fingerprint2.conversion.Util.toOriginalReason
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.EnrollFingerprintInteractor
+import com.android.settings.biometrics.fingerprint2.lib.model.EnrollReason
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerEnrollState
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintFlow
+import com.android.settings.biometrics.fingerprint2.lib.model.SetupWizard
+import kotlinx.coroutines.channels.awaitClose
+import kotlinx.coroutines.channels.onFailure
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.callbackFlow
+import kotlinx.coroutines.flow.update
+
+class EnrollFingerprintInteractorImpl(
+  private val userId: Int,
+  private val fingerprintManager: FingerprintManager,
+  private val fingerprintFlow: FingerprintFlow,
+) : EnrollFingerprintInteractor {
+  private val enrollRequestOutstanding = MutableStateFlow(false)
+
+  override suspend fun enroll(
+    hardwareAuthToken: ByteArray?,
+    enrollReason: EnrollReason,
+    fingerprintEnrollOptions: FingerprintEnrollOptions,
+  ): Flow<FingerEnrollState> = callbackFlow {
+    // TODO (b/308456120) Improve this logic
+    if (enrollRequestOutstanding.value) {
+      Log.d(TAG, "Outstanding enroll request, waiting 150ms")
+      delay(150)
+      if (enrollRequestOutstanding.value) {
+        Log.e(TAG, "Request still present, continuing")
+      }
+    }
+
+    enrollRequestOutstanding.update { true }
+
+    var streamEnded = false
+    var totalSteps: Int? = null
+    val enrollmentCallback =
+      object : FingerprintManager.EnrollmentCallback() {
+        override fun onEnrollmentProgress(remaining: Int) {
+          // This is sort of an implementation detail, but unfortunately the API isn't
+          // very expressive. If anything we should look at changing the FingerprintManager API.
+          if (totalSteps == null) {
+            totalSteps = remaining + 1
+          }
+
+          trySend(FingerEnrollState.EnrollProgress(remaining, totalSteps!!)).onFailure { error ->
+            Log.d(TAG, "onEnrollmentProgress($remaining) failed to send, due to $error")
+          }
+
+          if (remaining == 0) {
+            streamEnded = true
+            enrollRequestOutstanding.update { false }
+          }
+        }
+
+        override fun onEnrollmentHelp(helpMsgId: Int, helpString: CharSequence?) {
+          trySend(FingerEnrollState.EnrollHelp(helpMsgId, helpString.toString())).onFailure { error
+            ->
+            Log.d(TAG, "onEnrollmentHelp failed to send, due to $error")
+          }
+        }
+
+        override fun onEnrollmentError(errMsgId: Int, errString: CharSequence?) {
+          trySend(errMsgId.toEnrollError(fingerprintFlow == SetupWizard)).onFailure { error ->
+            Log.d(TAG, "onEnrollmentError failed to send, due to $error")
+          }
+          Log.d(TAG, "onEnrollmentError($errMsgId)")
+          streamEnded = true
+          enrollRequestOutstanding.update { false }
+        }
+
+        override fun onUdfpsPointerDown(sensorId: Int) {
+          trySend(FingerEnrollState.PointerDown(sensorId)).onFailure { error ->
+            Log.d(TAG, "onUdfpsPointerDown failed to send, due to $error")
+          }
+        }
+
+        override fun onUdfpsPointerUp(sensorId: Int) {
+          trySend(FingerEnrollState.PointerUp(sensorId)).onFailure { error ->
+            Log.d(TAG, "onUdfpsPointerUp failed to send, due to $error")
+          }
+        }
+
+        override fun onUdfpsOverlayShown() {
+          trySend(FingerEnrollState.OverlayShown).onFailure { error ->
+            Log.d(TAG, "OverlayShown failed to send, due to $error")
+          }
+        }
+
+        override fun onAcquired(isAcquiredGood: Boolean) {
+          trySend(FingerEnrollState.Acquired(isAcquiredGood)).onFailure { error ->
+            Log.d(TAG, "Acquired failed to send, due to $error")
+          }
+        }
+      }
+
+    val cancellationSignal = CancellationSignal()
+
+    fingerprintManager.enroll(
+      hardwareAuthToken,
+      cancellationSignal,
+      userId,
+      enrollmentCallback,
+      enrollReason.toOriginalReason(),
+      fingerprintEnrollOptions,
+    )
+    awaitClose {
+      // If the stream has not been ended, and the user has stopped collecting the flow
+      // before it was over, send cancel.
+      if (!streamEnded) {
+        Log.e(TAG, "Cancel is sent from settings for enroll()")
+        cancellationSignal.cancel()
+      }
+    }
+  }
+
+  companion object {
+    private const val TAG = "FingerprintEnrollStateRepository"
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/EnrolledFingerprintsInteractorImpl.kt b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/EnrolledFingerprintsInteractorImpl.kt
new file mode 100644
index 0000000..83b532e
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/EnrolledFingerprintsInteractorImpl.kt
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.fingerprint2.domain.interactor
+
+import android.hardware.fingerprint.FingerprintManager
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.EnrolledFingerprintsInteractor
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintData
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.flow
+
+class EnrolledFingerprintsInteractorImpl(
+  private val fingerprintManager: FingerprintManager,
+  userId: Int,
+) : EnrolledFingerprintsInteractor {
+  override val enrolledFingerprints: Flow<List<FingerprintData>?> = flow {
+    emit(
+      fingerprintManager
+        .getEnrolledFingerprints(userId)
+        ?.map { (FingerprintData(it.name.toString(), it.biometricId, it.deviceId)) }
+        ?.toList()
+    )
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintEnrollInteractor.kt b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintEnrollInteractor.kt
index a36832d..56a1257 100644
--- a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintEnrollInteractor.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintEnrollInteractor.kt
@@ -16,7 +16,6 @@
 
 package com.android.settings.biometrics.fingerprint2.domain.interactor
 
-import android.content.Context
 import android.hardware.fingerprint.FingerprintEnrollOptions
 import android.hardware.fingerprint.FingerprintManager
 import android.os.CancellationSignal
@@ -49,7 +48,7 @@
 }
 
 class FingerprintEnrollInteractorImpl(
-  private val applicationContext: Context,
+  private val userId: Int,
   private val fingerprintManager: FingerprintManager?,
   private val fingerprintFlow: FingerprintFlow,
 ) : FingerprintEnrollInteractor {
@@ -138,7 +137,7 @@
     fingerprintManager?.enroll(
       hardwareAuthToken,
       cancellationSignal,
-      applicationContext.userId,
+      userId,
       enrollmentCallback,
       enrollReason.toOriginalReason(),
       fingerprintEnrollOptions,
diff --git a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintManagerInteractorImpl.kt b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintManagerInteractorImpl.kt
deleted file mode 100644
index f03c94e..0000000
--- a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintManagerInteractorImpl.kt
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.fingerprint2.domain.interactor
-
-import android.content.Context
-import android.content.Intent
-import android.hardware.fingerprint.FingerprintEnrollOptions
-import android.hardware.fingerprint.FingerprintManager
-import android.hardware.fingerprint.FingerprintManager.GenerateChallengeCallback
-import android.hardware.fingerprint.FingerprintManager.RemovalCallback
-import android.os.CancellationSignal
-import android.util.Log
-import com.android.settings.biometrics.GatekeeperPasswordProvider
-import com.android.settings.biometrics.fingerprint2.data.repository.FingerprintSensorRepository
-import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.FingerprintManagerInteractor
-import com.android.settings.biometrics.fingerprint2.lib.model.EnrollReason
-import com.android.settings.biometrics.fingerprint2.lib.model.FingerEnrollState
-import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintAuthAttemptModel
-import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintData
-import com.android.settings.password.ChooseLockSettingsHelper
-import kotlin.coroutines.resume
-import kotlin.coroutines.suspendCoroutine
-import kotlinx.coroutines.CancellableContinuation
-import kotlinx.coroutines.CoroutineDispatcher
-import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.flow
-import kotlinx.coroutines.suspendCancellableCoroutine
-import kotlinx.coroutines.withContext
-
-private const val TAG = "FingerprintManagerInteractor"
-
-class FingerprintManagerInteractorImpl(
-  applicationContext: Context,
-  private val backgroundDispatcher: CoroutineDispatcher,
-  private val fingerprintManager: FingerprintManager?,
-  fingerprintSensorRepository: FingerprintSensorRepository,
-  private val gatekeeperPasswordProvider: GatekeeperPasswordProvider,
-  private val fingerprintEnrollStateRepository: FingerprintEnrollInteractor,
-) : FingerprintManagerInteractor {
-
-  private val maxFingerprints =
-    applicationContext.resources.getInteger(
-      com.android.internal.R.integer.config_fingerprintMaxTemplatesPerUser
-    )
-  private val applicationContext = applicationContext.applicationContext
-
-  override suspend fun generateChallenge(gateKeeperPasswordHandle: Long): Pair<Long, ByteArray> =
-    suspendCoroutine {
-      val callback = GenerateChallengeCallback { _, userId, challenge ->
-        val intent = Intent()
-        intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, gateKeeperPasswordHandle)
-        val challengeToken =
-          gatekeeperPasswordProvider.requestGatekeeperHat(intent, challenge, userId)
-
-        gatekeeperPasswordProvider.removeGatekeeperPasswordHandle(intent, false)
-        val p = Pair(challenge, challengeToken)
-        it.resume(p)
-      }
-      fingerprintManager?.generateChallenge(applicationContext.userId, callback)
-    }
-
-  override val enrolledFingerprints: Flow<List<FingerprintData>?> = flow {
-    emit(
-      fingerprintManager?.getEnrolledFingerprints(applicationContext.userId)
-        ?.map { (FingerprintData(it.name.toString(), it.biometricId, it.deviceId)) }?.toList()
-    )
-  }
-
-  override val canEnrollFingerprints: Flow<Boolean> = flow {
-    emit(
-      fingerprintManager?.getEnrolledFingerprints(applicationContext.userId)?.size  ?: maxFingerprints < maxFingerprints
-    )
-  }
-
-  override val sensorPropertiesInternal = fingerprintSensorRepository.fingerprintSensor
-
-  override val maxEnrollableFingerprints = flow { emit(maxFingerprints) }
-
-  override suspend fun enroll(
-    hardwareAuthToken: ByteArray?,
-    enrollReason: EnrollReason,
-    fingerprintEnrollOptions: FingerprintEnrollOptions,
-  ): Flow<FingerEnrollState> =
-    fingerprintEnrollStateRepository.enroll(
-      hardwareAuthToken,
-      enrollReason,
-      fingerprintEnrollOptions,
-    )
-
-  override suspend fun removeFingerprint(fp: FingerprintData): Boolean = suspendCoroutine {
-    val callback =
-      object : RemovalCallback() {
-        override fun onRemovalError(
-          fp: android.hardware.fingerprint.Fingerprint,
-          errMsgId: Int,
-          errString: CharSequence,
-        ) {
-          it.resume(false)
-        }
-
-        override fun onRemovalSucceeded(
-          fp: android.hardware.fingerprint.Fingerprint?,
-          remaining: Int,
-        ) {
-          it.resume(true)
-        }
-      }
-    fingerprintManager?.remove(
-      android.hardware.fingerprint.Fingerprint(fp.name, fp.fingerId, fp.deviceId),
-      applicationContext.userId,
-      callback,
-    )
-  }
-
-  override suspend fun renameFingerprint(fp: FingerprintData, newName: String) {
-    withContext(backgroundDispatcher) {
-      fingerprintManager?.rename(fp.fingerId, applicationContext.userId, newName)
-    }
-  }
-
-  override suspend fun hasSideFps(): Boolean? = suspendCancellableCoroutine {
-    it.resume(fingerprintManager?.isPowerbuttonFps)
-  }
-
-  override suspend fun authenticate(): FingerprintAuthAttemptModel =
-    suspendCancellableCoroutine { c: CancellableContinuation<FingerprintAuthAttemptModel> ->
-      val authenticationCallback =
-        object : FingerprintManager.AuthenticationCallback() {
-
-          override fun onAuthenticationError(errorCode: Int, errString: CharSequence) {
-            super.onAuthenticationError(errorCode, errString)
-            if (c.isCompleted) {
-              Log.d(TAG, "framework sent down onAuthError after finish")
-              return
-            }
-            c.resume(FingerprintAuthAttemptModel.Error(errorCode, errString.toString()))
-          }
-
-          override fun onAuthenticationSucceeded(result: FingerprintManager.AuthenticationResult) {
-            super.onAuthenticationSucceeded(result)
-            if (c.isCompleted) {
-              Log.d(TAG, "framework sent down onAuthError after finish")
-              return
-            }
-            c.resume(FingerprintAuthAttemptModel.Success(result.fingerprint?.biometricId ?: -1))
-          }
-        }
-
-      val cancellationSignal = CancellationSignal()
-      c.invokeOnCancellation { cancellationSignal.cancel() }
-      fingerprintManager?.authenticate(
-        null,
-        cancellationSignal,
-        authenticationCallback,
-        null,
-        applicationContext.userId,
-      )
-    }
-}
diff --git a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintSensorInteractor.kt b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintSensorInteractor.kt
index 073629c..7b1d4fd 100644
--- a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintSensorInteractor.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintSensorInteractor.kt
@@ -20,9 +20,7 @@
 import com.android.systemui.biometrics.shared.model.FingerprintSensor
 import kotlinx.coroutines.flow.Flow
 
-/**
- * Interactor that propagates the type of [FingerprintSensor] this device supports.
- */
+/** Interactor that propagates the type of [FingerprintSensor] this device supports. */
 interface FingerprintSensorInteractor {
   /** Get the [FingerprintSensor] */
   val fingerprintSensor: Flow<FingerprintSensor>
diff --git a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/GenerateChallengeInteractorImpl.kt b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/GenerateChallengeInteractorImpl.kt
new file mode 100644
index 0000000..a2080fb
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/GenerateChallengeInteractorImpl.kt
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.fingerprint2.domain.interactor
+
+import android.content.Intent
+import android.hardware.fingerprint.FingerprintManager
+import com.android.settings.biometrics.GatekeeperPasswordProvider
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.GenerateChallengeInteractor
+import com.android.settings.password.ChooseLockSettingsHelper
+import kotlin.coroutines.resume
+import kotlin.coroutines.suspendCoroutine
+
+class GenerateChallengeInteractorImpl(
+  private val fingerprintManager: FingerprintManager,
+  private val userId: Int,
+  private val gatekeeperPasswordProvider: GatekeeperPasswordProvider,
+) : GenerateChallengeInteractor {
+
+  override suspend fun generateChallenge(gateKeeperPasswordHandle: Long): Pair<Long, ByteArray> =
+    suspendCoroutine {
+      val callback =
+        FingerprintManager.GenerateChallengeCallback { _, userId, challenge ->
+          val intent = Intent()
+          intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, gateKeeperPasswordHandle)
+          val challengeToken =
+            gatekeeperPasswordProvider.requestGatekeeperHat(intent, challenge, userId)
+
+          gatekeeperPasswordProvider.removeGatekeeperPasswordHandle(intent, false)
+          val p = Pair(challenge, challengeToken)
+          it.resume(p)
+        }
+      fingerprintManager.generateChallenge(userId, callback)
+    }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/RemoveFingerprintsInteractorImpl.kt b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/RemoveFingerprintsInteractorImpl.kt
new file mode 100644
index 0000000..4232963
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/RemoveFingerprintsInteractorImpl.kt
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.fingerprint2.domain.interactor
+
+import android.hardware.fingerprint.FingerprintManager
+import android.hardware.fingerprint.FingerprintManager.RemovalCallback
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.RemoveFingerprintInteractor
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintData
+import kotlin.coroutines.resume
+import kotlin.coroutines.suspendCoroutine
+
+class RemoveFingerprintsInteractorImpl(
+  private val fingerprintManager: FingerprintManager,
+  private val userId: Int,
+) : RemoveFingerprintInteractor {
+
+  override suspend fun removeFingerprint(fp: FingerprintData): Boolean = suspendCoroutine {
+    val callback =
+      object : RemovalCallback() {
+        override fun onRemovalError(
+          fp: android.hardware.fingerprint.Fingerprint,
+          errMsgId: Int,
+          errString: CharSequence,
+        ) {
+          it.resume(false)
+        }
+
+        override fun onRemovalSucceeded(
+          fp: android.hardware.fingerprint.Fingerprint?,
+          remaining: Int,
+        ) {
+          it.resume(true)
+        }
+      }
+    fingerprintManager.remove(
+      android.hardware.fingerprint.Fingerprint(fp.name, fp.fingerId, fp.deviceId),
+      userId,
+      callback,
+    )
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/RenameFingerprintsInteractorImpl.kt b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/RenameFingerprintsInteractorImpl.kt
new file mode 100644
index 0000000..f238e7c
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/RenameFingerprintsInteractorImpl.kt
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.fingerprint2.domain.interactor
+
+import android.hardware.fingerprint.FingerprintManager
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.RenameFingerprintInteractor
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintData
+import kotlinx.coroutines.CoroutineDispatcher
+import kotlinx.coroutines.withContext
+
+class RenameFingerprintsInteractorImpl(
+  private val fingerprintManager: FingerprintManager,
+  private val userId: Int,
+  private val backgroundDispatcher: CoroutineDispatcher,
+) : RenameFingerprintInteractor {
+
+  override suspend fun renameFingerprint(fp: FingerprintData, newName: String) {
+    withContext(backgroundDispatcher) { fingerprintManager.rename(fp.fingerId, userId, newName) }
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/SensorInteractorImpl.kt b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/SensorInteractorImpl.kt
new file mode 100644
index 0000000..7df0795
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/SensorInteractorImpl.kt
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.fingerprint2.domain.interactor
+
+import com.android.settings.biometrics.fingerprint2.data.repository.FingerprintSensorRepository
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.SensorInteractor
+import kotlinx.coroutines.flow.Flow
+
+class SensorInteractorImpl(private val repo: FingerprintSensorRepository) :
+  SensorInteractor {
+  override val sensorPropertiesInternal = repo.fingerprintSensor
+  override val hasSideFps: Flow<Boolean> = repo.hasSideFps
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/TouchEventInteractor.kt b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/TouchEventInteractor.kt
index 4ef2afa..778837d 100644
--- a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/TouchEventInteractor.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/TouchEventInteractor.kt
@@ -24,4 +24,3 @@
   /** A flow simulating user touches. */
   val touchEvent: Flow<MotionEvent>
 }
-
diff --git a/src/com/android/settings/biometrics/fingerprint2/lib/AndroidManifest.xml b/src/com/android/settings/biometrics/fingerprint2/lib/AndroidManifest.xml
index 250f0af..0b7ea28 100644
--- a/src/com/android/settings/biometrics/fingerprint2/lib/AndroidManifest.xml
+++ b/src/com/android/settings/biometrics/fingerprint2/lib/AndroidManifest.xml
@@ -13,6 +13,6 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License.
   -->
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+<manifest
     package="com.android.settings.biometrics.fingerprint2.lib">
 </manifest>
diff --git a/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/AuthenitcateInteractor.kt b/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/AuthenitcateInteractor.kt
new file mode 100644
index 0000000..4fc9413
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/AuthenitcateInteractor.kt
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.fingerprint2.lib.domain.interactor
+
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintAuthAttemptModel
+
+/** Interactor responsible for coordinating authentication. */
+interface AuthenitcateInteractor {
+  /** Runs the authenticate flow */
+  suspend fun authenticate(): FingerprintAuthAttemptModel
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/CanEnrollFingerprintsInteractor.kt b/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/CanEnrollFingerprintsInteractor.kt
new file mode 100644
index 0000000..11a9258
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/CanEnrollFingerprintsInteractor.kt
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.fingerprint2.lib.domain.interactor
+
+import kotlinx.coroutines.flow.Flow
+
+/** Returns whether or not a user can enroll a fingerprint */
+interface CanEnrollFingerprintsInteractor {
+  /** Returns true if a user can enroll a fingerprint false otherwise. */
+  val canEnrollFingerprints: Flow<Boolean>
+  /** Indicates the maximum fingerprints enrollable for a given user */
+  fun maxFingerprintsEnrollable(): Int
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/EnrollFingerprintInteractor.kt b/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/EnrollFingerprintInteractor.kt
new file mode 100644
index 0000000..be7b4d0
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/EnrollFingerprintInteractor.kt
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.fingerprint2.lib.domain.interactor
+
+import android.hardware.fingerprint.FingerprintEnrollOptions
+import com.android.settings.biometrics.fingerprint2.lib.model.EnrollReason
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerEnrollState
+import kotlinx.coroutines.flow.Flow
+
+/** Interactor that enrolls a fingerprint */
+interface EnrollFingerprintInteractor {
+  /**
+   * Runs [FingerprintManager.enroll] with the [hardwareAuthToken] and [EnrollReason] for this
+   * enrollment. If successful data in the [fingerprintEnrollState] should be populated.
+   */
+  suspend fun enroll(
+    hardwareAuthToken: ByteArray?,
+    enrollReason: EnrollReason,
+    fingerprintEnrollOptions: FingerprintEnrollOptions,
+  ): Flow<FingerEnrollState>
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/EnrolledFingerprintsInteractor.kt b/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/EnrolledFingerprintsInteractor.kt
new file mode 100644
index 0000000..14fc1e5
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/EnrolledFingerprintsInteractor.kt
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.fingerprint2.lib.domain.interactor
+
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintData
+import kotlinx.coroutines.flow.Flow
+
+/** Interface to obtain the enrolled fingerprints */
+interface EnrolledFingerprintsInteractor {
+  /** Returns the list of current fingerprints. */
+  val enrolledFingerprints: Flow<List<FingerprintData>?>
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/FingerprintManagerInteractor.kt b/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/FingerprintManagerInteractor.kt
deleted file mode 100644
index 5f4ceca..0000000
--- a/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/FingerprintManagerInteractor.kt
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.fingerprint2.lib.domain.interactor
-
-import android.hardware.fingerprint.FingerprintEnrollOptions
-import com.android.settings.biometrics.fingerprint2.lib.model.EnrollReason
-import com.android.settings.biometrics.fingerprint2.lib.model.FingerEnrollState
-import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintAuthAttemptModel
-import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintData
-import com.android.systemui.biometrics.shared.model.FingerprintSensor
-import kotlinx.coroutines.flow.Flow
-
-/**
- * Interface to obtain the necessary data for FingerprintEnrollment/Settings
- *
- * Note that this interface should not have dependencies on heavyweight libraries such as the
- * framework, hidl/aidl, etc. This makes it much easier to test and create fakes for.
- */
-interface FingerprintManagerInteractor {
-  /** Returns the list of current fingerprints. */
-  val enrolledFingerprints: Flow<List<FingerprintData>?>
-
-  /** Returns the max enrollable fingerprints, note during SUW this might be 1 */
-  val maxEnrollableFingerprints: Flow<Int>
-
-  /** Returns true if a user can enroll a fingerprint false otherwise. */
-  val canEnrollFingerprints: Flow<Boolean>
-
-  /** Retrieves the sensor properties of a device */
-  val sensorPropertiesInternal: Flow<FingerprintSensor?>
-
-  /** Runs the authenticate flow */
-  suspend fun authenticate(): FingerprintAuthAttemptModel
-
-  /**
-   * Generates a challenge with the provided [gateKeeperPasswordHandle] and on success returns a
-   * challenge and challenge token. This info can be used for secure operations such as enrollment
-   *
-   * @param gateKeeperPasswordHandle GateKeeper password handle generated by a Confirm
-   * @return A [Pair] of the challenge and challenge token
-   */
-  suspend fun generateChallenge(gateKeeperPasswordHandle: Long): Pair<Long, ByteArray>
-
-  /**
-   * Runs [FingerprintManager.enroll] with the [hardwareAuthToken] and [EnrollReason] for this
-   * enrollment. If successful data in the [fingerprintEnrollState] should be populated.
-   */
-  suspend fun enroll(
-    hardwareAuthToken: ByteArray?,
-    enrollReason: EnrollReason,
-    fingerprintEnrollOptions: FingerprintEnrollOptions,
-  ): Flow<FingerEnrollState>
-
-  /**
-   * Removes the given fingerprint, returning true if it was successfully removed and false
-   * otherwise
-   */
-  suspend fun removeFingerprint(fp: FingerprintData): Boolean
-
-  /** Renames the given fingerprint if one exists */
-  suspend fun renameFingerprint(fp: FingerprintData, newName: String)
-
-  /** Indicates if the device has side fingerprint */
-  suspend fun hasSideFps(): Boolean?
-}
diff --git a/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/GenerateChallengeInteractor.kt b/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/GenerateChallengeInteractor.kt
new file mode 100644
index 0000000..82667fe
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/GenerateChallengeInteractor.kt
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.fingerprint2.lib.domain.interactor
+
+/** This interactor is responsible for generating a challenge. */
+interface GenerateChallengeInteractor {
+  /**
+   * Generates a challenge with the provided [gateKeeperPasswordHandle] and on success returns a
+   * challenge and challenge token. This info can be used for secure operations such as enrollment
+   *
+   * @param gateKeeperPasswordHandle GateKeeper password handle generated by a Confirm
+   * @return A [Pair] of the challenge and challenge token
+   */
+  suspend fun generateChallenge(gateKeeperPasswordHandle: Long): Pair<Long, ByteArray>
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/RemoveFingerprintInteractor.kt b/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/RemoveFingerprintInteractor.kt
new file mode 100644
index 0000000..6d0e5641
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/RemoveFingerprintInteractor.kt
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.fingerprint2.lib.domain.interactor
+
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintData
+
+/** Interactor in charge of removing a fingerprint */
+interface RemoveFingerprintInteractor {
+  /**
+   * Removes the given fingerprint, returning true if it was successfully removed and false
+   * otherwise
+   */
+  suspend fun removeFingerprint(fp: FingerprintData): Boolean
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/RenameFingerprintInteractor.kt b/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/RenameFingerprintInteractor.kt
new file mode 100644
index 0000000..d7fe1c0
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/RenameFingerprintInteractor.kt
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.fingerprint2.lib.domain.interactor
+
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintData
+
+/** Interactor that can rename a fingerprint. */
+interface RenameFingerprintInteractor {
+  /** Renames the given fingerprint if one exists */
+  suspend fun renameFingerprint(fp: FingerprintData, newName: String)
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/SensorInteractor.kt b/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/SensorInteractor.kt
new file mode 100644
index 0000000..f265c32
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/SensorInteractor.kt
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.fingerprint2.lib.domain.interactor
+
+import com.android.systemui.biometrics.shared.model.FingerprintSensor
+import kotlinx.coroutines.flow.Flow
+
+/** Interactor that has various information about a fingerprint sensor */
+interface SensorInteractor {
+  /** Retrieves the sensor properties of the device */
+  val sensorPropertiesInternal: Flow<FingerprintSensor?>
+  /** Indicates if the device supports side fps */
+  val hasSideFps: Flow<Boolean>
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/activity/FingerprintEnrollmentV2Activity.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/activity/FingerprintEnrollmentV2Activity.kt
index 421548f..77d070e 100644
--- a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/activity/FingerprintEnrollmentV2Activity.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/activity/FingerprintEnrollmentV2Activity.kt
@@ -96,8 +96,8 @@
   }
 
   /**
-   * View models below this line are not used by this class but must be initialized
-   * in the activity view model store to be used by other view models.
+   * View models below this line are not used by this class but must be initialized in the activity
+   * view model store to be used by other view models.
    */
   private val fingerprintEnrollViewModel: FingerprintEnrollViewModel by viewModels {
     FingerprintEnrollViewModel.Factory
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/rfps/ui/viewmodel/RFPSViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/rfps/ui/viewmodel/RFPSViewModel.kt
index c95020d..932c408 100644
--- a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/rfps/ui/viewmodel/RFPSViewModel.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/rfps/ui/viewmodel/RFPSViewModel.kt
@@ -25,7 +25,7 @@
 import androidx.lifecycle.viewmodel.viewModelFactory
 import com.android.settings.SettingsApplication
 import com.android.settings.biometrics.fingerprint2.domain.interactor.OrientationInteractor
-import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.FingerprintManagerInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.SensorInteractor
 import com.android.settings.biometrics.fingerprint2.lib.model.FingerEnrollState
 import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintAction
 import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollEnrollingViewModel
@@ -46,10 +46,10 @@
 
 /** View Model used by the rear fingerprint enrollment fragment. */
 class RFPSViewModel(
-  private val fingerprintEnrollViewModel: FingerprintEnrollEnrollingViewModel,
-  private val navigationViewModel: FingerprintNavigationViewModel,
-  orientationInteractor: OrientationInteractor,
-  private val fingerprintManager: FingerprintManagerInteractor,
+    private val fingerprintEnrollViewModel: FingerprintEnrollEnrollingViewModel,
+    private val navigationViewModel: FingerprintNavigationViewModel,
+    orientationInteractor: OrientationInteractor,
+    private val sensorInteractor: SensorInteractor,
 ) : ViewModel() {
 
   private val _textViewIsVisible = MutableStateFlow(false)
@@ -62,7 +62,7 @@
   val shouldAnimateIcon = _shouldAnimateIcon
 
   private var enrollFlow: Flow<FingerEnrollState?> =
-    fingerprintManager.sensorPropertiesInternal.filterNotNull().combine(
+    sensorInteractor.sensorPropertiesInternal.filterNotNull().combine(
       fingerprintEnrollViewModel.enrollFlow
     ) { props, enroll ->
       if (props.sensorType == FingerprintSensorType.REAR) {
@@ -181,7 +181,7 @@
           provider[FingerprintEnrollEnrollingViewModel::class],
           provider[FingerprintNavigationViewModel::class],
           biometricEnvironment.orientationInteractor,
-          biometricEnvironment.fingerprintManagerInteractor,
+          biometricEnvironment.createSensorPropertiesInteractor(),
         )
       }
     }
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/udfps/ui/viewmodel/UdfpsViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/udfps/ui/viewmodel/UdfpsViewModel.kt
index 3396cdc..658c6c7 100644
--- a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/udfps/ui/viewmodel/UdfpsViewModel.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/udfps/ui/viewmodel/UdfpsViewModel.kt
@@ -38,7 +38,7 @@
 import com.android.settings.biometrics.fingerprint2.domain.interactor.TouchEventInteractor
 import com.android.settings.biometrics.fingerprint2.domain.interactor.UdfpsEnrollInteractor
 import com.android.settings.biometrics.fingerprint2.domain.interactor.VibrationInteractor
-import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.FingerprintManagerInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.SensorInteractor
 import com.android.settings.biometrics.fingerprint2.lib.model.FingerEnrollState
 import com.android.settings.biometrics.fingerprint2.ui.enrollment.modules.enrolling.udfps.ui.model.DescriptionText
 import com.android.settings.biometrics.fingerprint2.ui.enrollment.modules.enrolling.udfps.ui.model.HeaderText
@@ -76,17 +76,17 @@
   enrollStageInteractor: EnrollStageInteractor,
   orientationInteractor: OrientationInteractor,
   udfpsEnrollInteractor: UdfpsEnrollInteractor,
-  fingerprintManager: FingerprintManagerInteractor,
   accessibilityInteractor: AccessibilityInteractor,
   sensorRepository: FingerprintSensorInteractor,
   touchEventInteractor: TouchEventInteractor,
+  sensorInteractor: SensorInteractor,
 ) : ViewModel() {
 
   private val isSetupWizard = flowOf(false)
   private var shouldResetErollment = false
 
   private var _enrollState: Flow<FingerEnrollState?> =
-    fingerprintManager.sensorPropertiesInternal.filterNotNull().combine(
+    sensorInteractor.sensorPropertiesInternal.filterNotNull().combine(
       fingerprintEnrollEnrollingViewModel.enrollFlow
     ) { props, enroll ->
       if (props.sensorType.isUdfps()) {
@@ -198,8 +198,7 @@
       .distinctUntilChanged()
 
   private val _touchEvent: MutableStateFlow<MotionEvent?> = MutableStateFlow(null)
-  val touchEvent =
-    _touchEvent.asStateFlow().filterNotNull()
+  val touchEvent = _touchEvent.asStateFlow().filterNotNull()
 
   /** Determines the current [EnrollStageModel] enrollment is in */
   private val enrollStage: Flow<EnrollStageModel> =
@@ -267,11 +266,7 @@
       backgroundViewModel.background.filter { it }.collect { didGoToBackground() }
     }
 
-    viewModelScope.launch {
-      touchEventInteractor.touchEvent.collect {
-        _touchEvent.update { it }
-      }
-    }
+    viewModelScope.launch { touchEventInteractor.touchEvent.collect { _touchEvent.update { it } } }
   }
 
   /** Indicates if we should show the lottie. */
@@ -430,10 +425,10 @@
           biometricEnvironment.enrollStageInteractor,
           biometricEnvironment.orientationInteractor,
           biometricEnvironment.udfpsEnrollInteractor,
-          biometricEnvironment.fingerprintManagerInteractor,
           biometricEnvironment.accessibilityInteractor,
           biometricEnvironment.sensorInteractor,
           biometricEnvironment.touchEventInteractor,
+          biometricEnvironment.createSensorPropertiesInteractor(),
         )
       }
     }
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollConfirmationViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollConfirmationViewModel.kt
index 5ce2ed7..0803f89 100644
--- a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollConfirmationViewModel.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollConfirmationViewModel.kt
@@ -16,27 +16,27 @@
 
 package com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel
 
-import android.util.Log
 import androidx.lifecycle.VIEW_MODEL_STORE_OWNER_KEY
 import androidx.lifecycle.ViewModel
 import androidx.lifecycle.ViewModelProvider
 import androidx.lifecycle.viewmodel.initializer
 import androidx.lifecycle.viewmodel.viewModelFactory
 import com.android.settings.SettingsApplication
-import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.FingerprintManagerInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.CanEnrollFingerprintsInteractor
 import kotlinx.coroutines.flow.Flow
 
 /** Models the UI state for [FingerprintEnrollConfirmationV2Fragment] */
 class FingerprintEnrollConfirmationViewModel(
   private val navigationViewModel: FingerprintNavigationViewModel,
-  fingerprintInteractor: FingerprintManagerInteractor,
+  private val canEnrollFingerprintsInteractor: CanEnrollFingerprintsInteractor,
 ) : ViewModel() {
 
   /**
    * Indicates if the add another button is possible. This should only be true when the user is able
    * to enroll more fingerprints.
    */
-  val isAddAnotherButtonVisible: Flow<Boolean> = fingerprintInteractor.canEnrollFingerprints
+  val isAddAnotherButtonVisible: Flow<Boolean> =
+    canEnrollFingerprintsInteractor.canEnrollFingerprints
 
   /**
    * Indicates that the user has clicked the next button and is done with fingerprint enrollment.
@@ -64,7 +64,7 @@
         val provider = ViewModelProvider(this[VIEW_MODEL_STORE_OWNER_KEY]!!)
         FingerprintEnrollConfirmationViewModel(
           provider[FingerprintNavigationViewModel::class],
-          biometricEnvironment!!.fingerprintManagerInteractor,
+          biometricEnvironment!!.createCanEnrollFingerprintsInteractor(),
         )
       }
     }
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollFindSensorViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollFindSensorViewModel.kt
index 3568dbd..9b2cdde 100644
--- a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollFindSensorViewModel.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollFindSensorViewModel.kt
@@ -27,7 +27,7 @@
 import com.android.settings.biometrics.fingerprint2.domain.interactor.AccessibilityInteractor
 import com.android.settings.biometrics.fingerprint2.domain.interactor.FoldStateInteractor
 import com.android.settings.biometrics.fingerprint2.domain.interactor.OrientationInteractor
-import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.FingerprintManagerInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.SensorInteractor
 import com.android.settings.biometrics.fingerprint2.lib.model.FingerEnrollState
 import com.android.settings.biometrics.fingerprint2.lib.model.SetupWizard
 import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep.Education
@@ -44,20 +44,20 @@
 
 /** Models the UI state for fingerprint enroll education */
 class FingerprintEnrollFindSensorViewModel(
-  private val navigationViewModel: FingerprintNavigationViewModel,
-  private val fingerprintEnrollViewModel: FingerprintEnrollViewModel,
-  private val gatekeeperViewModel: FingerprintGatekeeperViewModel,
-  backgroundViewModel: BackgroundViewModel,
-  fingerprintFlowViewModel: FingerprintFlowViewModel,
-  accessibilityInteractor: AccessibilityInteractor,
-  foldStateInteractor: FoldStateInteractor,
-  orientationInteractor: OrientationInteractor,
-  fingerprintManagerInteractor: FingerprintManagerInteractor,
+    private val navigationViewModel: FingerprintNavigationViewModel,
+    private val fingerprintEnrollViewModel: FingerprintEnrollViewModel,
+    private val gatekeeperViewModel: FingerprintGatekeeperViewModel,
+    backgroundViewModel: BackgroundViewModel,
+    fingerprintFlowViewModel: FingerprintFlowViewModel,
+    accessibilityInteractor: AccessibilityInteractor,
+    foldStateInteractor: FoldStateInteractor,
+    orientationInteractor: OrientationInteractor,
+    sensorInteractor: SensorInteractor,
 ) : ViewModel() {
 
   /** Represents the stream of sensor type. */
   val sensorType: Flow<FingerprintSensorType> =
-    fingerprintManagerInteractor.sensorPropertiesInternal.filterNotNull().map { it.sensorType }
+    sensorInteractor.sensorPropertiesInternal.filterNotNull().map { it.sensorType }
   private val _isUdfps: Flow<Boolean> =
     sensorType.map {
       it == FingerprintSensorType.UDFPS_OPTICAL || it == FingerprintSensorType.UDFPS_ULTRASONIC
@@ -216,7 +216,7 @@
           biometricEnvironment.accessibilityInteractor,
           biometricEnvironment.foldStateInteractor,
           biometricEnvironment.orientationInteractor,
-          biometricEnvironment.fingerprintManagerInteractor,
+          biometricEnvironment.createSensorPropertiesInteractor(),
         )
       }
     }
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollIntroViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollIntroViewModel.kt
index 6ec2048..e103cbc 100644
--- a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollIntroViewModel.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollIntroViewModel.kt
@@ -22,7 +22,7 @@
 import androidx.lifecycle.viewmodel.initializer
 import androidx.lifecycle.viewmodel.viewModelFactory
 import com.android.settings.SettingsApplication
-import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.FingerprintManagerInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.SensorInteractor
 import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintFlow
 import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep.Introduction
 import com.android.systemui.biometrics.shared.model.FingerprintSensor
@@ -30,13 +30,13 @@
 
 /** A view model for fingerprint enroll introduction. */
 class FingerprintEnrollIntroViewModel(
-  val navigationViewModel: FingerprintNavigationViewModel,
-  fingerprintFlowViewModel: FingerprintFlowViewModel,
-  fingerprintManagerInteractor: FingerprintManagerInteractor,
+    val navigationViewModel: FingerprintNavigationViewModel,
+    fingerprintFlowViewModel: FingerprintFlowViewModel,
+    sensorInteractor: SensorInteractor,
 ) : ViewModel() {
 
   /** Represents a stream of [FingerprintSensor] */
-  val sensor: Flow<FingerprintSensor?> = fingerprintManagerInteractor.sensorPropertiesInternal
+  val sensor: Flow<FingerprintSensor?> = sensorInteractor.sensorPropertiesInternal
 
   /** Represents a stream of [FingerprintFlow] */
   val fingerprintFlow: Flow<FingerprintFlow?> = fingerprintFlowViewModel.fingerprintFlow
@@ -67,7 +67,7 @@
         FingerprintEnrollIntroViewModel(
           provider[FingerprintNavigationViewModel::class],
           provider[FingerprintFlowViewModel::class],
-          biometricEnvironment!!.fingerprintManagerInteractor,
+          biometricEnvironment!!.createSensorPropertiesInteractor(),
         )
       }
     }
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollViewModel.kt
index 2669b8b..fb8a182 100644
--- a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollViewModel.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollViewModel.kt
@@ -24,7 +24,8 @@
 import androidx.lifecycle.viewmodel.initializer
 import androidx.lifecycle.viewmodel.viewModelFactory
 import com.android.settings.SettingsApplication
-import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.FingerprintManagerInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.EnrollFingerprintInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.SensorInteractor
 import com.android.settings.biometrics.fingerprint2.lib.model.EnrollReason
 import com.android.settings.biometrics.fingerprint2.lib.model.FingerEnrollState
 import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep.Education
@@ -42,9 +43,10 @@
 
 /** Represents all of the fingerprint information needed for a fingerprint enrollment process. */
 class FingerprintEnrollViewModel(
-  private val fingerprintManagerInteractor: FingerprintManagerInteractor,
-  gatekeeperViewModel: FingerprintGatekeeperViewModel,
-  val navigationViewModel: FingerprintNavigationViewModel,
+    gatekeeperViewModel: FingerprintGatekeeperViewModel,
+    val navigationViewModel: FingerprintNavigationViewModel,
+    private val sensorInteractor: SensorInteractor,
+    private val fingerprintEnrollInteractor: EnrollFingerprintInteractor,
 ) : ViewModel() {
 
   /**
@@ -67,7 +69,7 @@
 
   /** Represents the stream of [FingerprintSensorType] */
   val sensorType: Flow<FingerprintSensorType?> =
-    fingerprintManagerInteractor.sensorPropertiesInternal.filterNotNull().map { it.sensorType }
+    sensorInteractor.sensorPropertiesInternal.filterNotNull().map { it.sensorType }
 
   /**
    * A flow that contains a [FingerprintEnrollViewModel] which contains the relevant information for
@@ -90,7 +92,7 @@
             enrollReason != null &&
             enrollOptions != null
         ) {
-          fingerprintManagerInteractor
+          fingerprintEnrollInteractor
             .enroll(hardwareAuthToken.token, enrollReason, enrollOptions)
             .collect { emit(it) }
         }
@@ -137,9 +139,10 @@
         val biometricEnvironment = settingsApplication.biometricEnvironment
         val provider = ViewModelProvider(this[VIEW_MODEL_STORE_OWNER_KEY]!!)
         FingerprintEnrollViewModel(
-          biometricEnvironment!!.fingerprintManagerInteractor,
           provider[FingerprintGatekeeperViewModel::class],
           provider[FingerprintNavigationViewModel::class],
+          biometricEnvironment!!.createSensorPropertiesInteractor(),
+          biometricEnvironment!!.createFingerprintEnrollInteractor(),
         )
       }
     }
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintGatekeeperViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintGatekeeperViewModel.kt
index b5be165..c2b0a0f 100644
--- a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintGatekeeperViewModel.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintGatekeeperViewModel.kt
@@ -24,7 +24,7 @@
 import androidx.lifecycle.viewmodel.initializer
 import androidx.lifecycle.viewmodel.viewModelFactory
 import com.android.settings.SettingsApplication
-import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.FingerprintManagerInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.GenerateChallengeInteractor
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.flow.asStateFlow
@@ -50,7 +50,7 @@
  * in as a parameter to this class.
  */
 class FingerprintGatekeeperViewModel(
-  private val fingerprintManagerInteractor: FingerprintManagerInteractor
+  private val generateChallengeInteractor: GenerateChallengeInteractor
 ) : ViewModel() {
 
   private var _gatekeeperInfo: MutableStateFlow<GatekeeperInfo?> = MutableStateFlow(null)
@@ -78,7 +78,7 @@
       _gatekeeperInfo.update { GatekeeperInfo.Invalid }
     } else {
       viewModelScope.launch {
-        val res = fingerprintManagerInteractor.generateChallenge(theGatekeeperPasswordHandle!!)
+        val res = generateChallengeInteractor.generateChallenge(theGatekeeperPasswordHandle!!)
         _gatekeeperInfo.update { GatekeeperInfo.GatekeeperPasswordInfo(res.second, res.first) }
         if (shouldStartTimer) {
           startTimeout()
@@ -119,7 +119,7 @@
         val settingsApplication =
           this[ViewModelProvider.AndroidViewModelFactory.APPLICATION_KEY] as SettingsApplication
         val biometricEnvironment = settingsApplication.biometricEnvironment
-        FingerprintGatekeeperViewModel(biometricEnvironment!!.fingerprintManagerInteractor)
+        FingerprintGatekeeperViewModel(biometricEnvironment!!.createGenerateChallengeInteractor())
       }
     }
   }
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintNavigationViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintNavigationViewModel.kt
index caf7d2a..d9bcf7f 100644
--- a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintNavigationViewModel.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintNavigationViewModel.kt
@@ -23,7 +23,7 @@
 import androidx.lifecycle.viewmodel.initializer
 import androidx.lifecycle.viewmodel.viewModelFactory
 import com.android.settings.SettingsApplication
-import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.FingerprintManagerInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.SensorInteractor
 import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintFlow
 import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep.Finish
 import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep.TransitionStep
@@ -46,7 +46,7 @@
  * fragments/viewmodels that want to consume these events. It should provide no additional
  * functionality beyond what is available in [FingerprintNavigationStep].
  */
-class FingerprintNavigationViewModel(fingerprintManagerInteractor: FingerprintManagerInteractor) :
+class FingerprintNavigationViewModel(sensorInteractor: SensorInteractor) :
   ViewModel() {
 
   private val _flowInternal: MutableStateFlow<FingerprintFlow?> = MutableStateFlow(null)
@@ -55,7 +55,7 @@
     combine(
         _flowInternal,
         _hasConfirmedDeviceCredential,
-        fingerprintManagerInteractor.sensorPropertiesInternal,
+        sensorInteractor.sensorPropertiesInternal,
       ) { flow, hasConfirmed, sensorType ->
         if (flow == null || sensorType == null) {
           return@combine null
@@ -144,7 +144,7 @@
         val settingsApplication =
           this[ViewModelProvider.AndroidViewModelFactory.APPLICATION_KEY] as SettingsApplication
         val biometricEnvironment = settingsApplication.biometricEnvironment
-        FingerprintNavigationViewModel(biometricEnvironment!!.fingerprintManagerInteractor)
+        FingerprintNavigationViewModel(biometricEnvironment!!.createSensorPropertiesInteractor())
       }
     }
   }
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintDeletionDialog.kt b/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintDeletionDialog.kt
index 46f64de..cb36721 100644
--- a/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintDeletionDialog.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintDeletionDialog.kt
@@ -42,7 +42,7 @@
   lateinit var onCancelListener: DialogInterface.OnCancelListener
 
   override fun getMetricsCategory(): Int {
-    return SettingsEnums.DIALOG_FINGERPINT_EDIT
+    return SettingsEnums.DIALOG_FINGERPRINT_DELETE
   }
 
   override fun onCancel(dialog: DialogInterface) {
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintSettingsRenameDialog.kt b/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintSettingsRenameDialog.kt
index 9fef0c5..2f251de 100644
--- a/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintSettingsRenameDialog.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintSettingsRenameDialog.kt
@@ -95,7 +95,7 @@
   }
 
   override fun getMetricsCategory(): Int {
-    return SettingsEnums.DIALOG_FINGERPINT_EDIT
+    return SettingsEnums.DIALOG_FINGERPRINT_RENAME
   }
 
   companion object {
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintSettingsV2Fragment.kt b/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintSettingsV2Fragment.kt
index 4c3773b..241eaea 100644
--- a/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintSettingsV2Fragment.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintSettingsV2Fragment.kt
@@ -35,19 +35,16 @@
 import androidx.lifecycle.lifecycleScope
 import androidx.preference.Preference
 import androidx.preference.PreferenceCategory
-import com.android.internal.widget.LockPatternUtils
 import com.android.settings.R
+import com.android.settings.SettingsApplication
 import com.android.settings.Utils.SETTINGS_PACKAGE_NAME
 import com.android.settings.biometrics.BiometricEnrollBase
 import com.android.settings.biometrics.BiometricEnrollBase.CONFIRM_REQUEST
 import com.android.settings.biometrics.BiometricEnrollBase.EXTRA_FROM_SETTINGS_SUMMARY
 import com.android.settings.biometrics.BiometricEnrollBase.RESULT_FINISHED
-import com.android.settings.biometrics.GatekeeperPasswordProvider
 import com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling
 import com.android.settings.biometrics.fingerprint.FingerprintEnrollIntroductionInternal
 import com.android.settings.biometrics.fingerprint2.data.repository.FingerprintSensorRepositoryImpl
-import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintEnrollInteractorImpl
-import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractorImpl
 import com.android.settings.biometrics.fingerprint2.domain.interactor.PressToAuthInteractorImpl
 import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintAuthAttemptModel
 import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintData
@@ -223,35 +220,24 @@
     val fingerprintSensorProvider =
       FingerprintSensorRepositoryImpl(fingerprintManager, backgroundDispatcher, lifecycleScope)
     val pressToAuthInteractor = PressToAuthInteractorImpl(context, backgroundDispatcher)
-    val fingerprintEnrollStateRepository =
-      FingerprintEnrollInteractorImpl(
-        requireContext().applicationContext,
-        fingerprintManager,
-        Settings,
-      )
-
-    val interactor =
-      FingerprintManagerInteractorImpl(
-        context.applicationContext,
-        backgroundDispatcher,
-        fingerprintManager,
-        fingerprintSensorProvider,
-        GatekeeperPasswordProvider(LockPatternUtils(context.applicationContext)),
-        fingerprintEnrollStateRepository,
-      )
 
     val token = intent.getByteArrayExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN)
     val challenge = intent.getLongExtra(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, -1L)
+    val application = requireActivity().application as SettingsApplication
+    val environment =
+      application.biometricEnvironment
+        ?: throw IllegalStateException("The biometric environment must be present")
 
     navigationViewModel =
       ViewModelProvider(
         this,
         FingerprintSettingsNavigationViewModel.FingerprintSettingsNavigationModelFactory(
           userId,
-          interactor,
           backgroundDispatcher,
           token,
           challenge,
+          environment.createFingerprintsEnrolledInteractor(),
+          environment.createGenerateChallengeInteractor(),
         ),
       )[FingerprintSettingsNavigationViewModel::class.java]
 
@@ -260,9 +246,14 @@
         this,
         FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
           userId,
-          interactor,
           backgroundDispatcher,
           navigationViewModel,
+          environment.createCanEnrollFingerprintsInteractor(),
+          environment.createSensorPropertiesInteractor(),
+          environment.createAuthenticateInteractor(),
+          environment.createRenameFingerprintInteractor(),
+          environment.createRemoveFingerprintInteractor(),
+          environment.createFingerprintsEnrolledInteractor(),
         ),
       )[FingerprintSettingsViewModel::class.java]
 
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/FingerprintSettingsNavigationViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/FingerprintSettingsNavigationViewModel.kt
index 8a694ae..73b2b1c 100644
--- a/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/FingerprintSettingsNavigationViewModel.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/FingerprintSettingsNavigationViewModel.kt
@@ -21,7 +21,8 @@
 import androidx.lifecycle.ViewModelProvider
 import androidx.lifecycle.viewModelScope
 import com.android.settings.biometrics.BiometricEnrollBase
-import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.FingerprintManagerInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.EnrolledFingerprintsInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.GenerateChallengeInteractor
 import kotlinx.coroutines.CoroutineDispatcher
 import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.flow.StateFlow
@@ -33,10 +34,11 @@
 /** A Viewmodel that represents the navigation of the FingerprintSettings activity. */
 class FingerprintSettingsNavigationViewModel(
   private val userId: Int,
-  private val fingerprintManagerInteractor: FingerprintManagerInteractor,
   private val backgroundDispatcher: CoroutineDispatcher,
   tokenInit: ByteArray?,
   challengeInit: Long?,
+  private val enrolledFingerprintsInteractor: EnrolledFingerprintsInteractor,
+  private val generateChallengeInteractor: GenerateChallengeInteractor,
 ) : ViewModel() {
 
   private var token = tokenInit
@@ -52,7 +54,7 @@
       _nextStep.update { LaunchConfirmDeviceCredential(userId) }
     } else {
       viewModelScope.launch {
-        if (fingerprintManagerInteractor.enrolledFingerprints.last()?.isEmpty() == true) {
+        if (enrolledFingerprintsInteractor.enrolledFingerprints.last()?.isEmpty() == true) {
           _nextStep.update { EnrollFirstFingerprint(userId, null, challenge, token) }
         } else {
           showSettingsHelper()
@@ -148,13 +150,13 @@
   }
 
   private suspend fun launchEnrollNextStep(gateKeeperPasswordHandle: Long?) {
-    fingerprintManagerInteractor.enrolledFingerprints.collect {
+    enrolledFingerprintsInteractor.enrolledFingerprints.collect {
       if (it?.isEmpty() == true) {
         _nextStep.update { EnrollFirstFingerprint(userId, gateKeeperPasswordHandle, null, null) }
       } else {
         viewModelScope.launch(backgroundDispatcher) {
           val challengePair =
-            fingerprintManagerInteractor.generateChallenge(gateKeeperPasswordHandle!!)
+            generateChallengeInteractor.generateChallenge(gateKeeperPasswordHandle!!)
           challenge = challengePair.first
           token = challengePair.second
 
@@ -174,10 +176,11 @@
 
   class FingerprintSettingsNavigationModelFactory(
     private val userId: Int,
-    private val interactor: FingerprintManagerInteractor,
     private val backgroundDispatcher: CoroutineDispatcher,
     private val token: ByteArray?,
     private val challenge: Long?,
+    private val enrolledFingerprintsInteractor: EnrolledFingerprintsInteractor,
+    private val generateChallengeInteractor: GenerateChallengeInteractor,
   ) : ViewModelProvider.Factory {
 
     @Suppress("UNCHECKED_CAST")
@@ -185,10 +188,11 @@
 
       return FingerprintSettingsNavigationViewModel(
         userId,
-        interactor,
         backgroundDispatcher,
         token,
         challenge,
+        enrolledFingerprintsInteractor,
+        generateChallengeInteractor,
       )
         as T
     }
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/FingerprintSettingsViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/FingerprintSettingsViewModel.kt
index cf8c527..c306c78 100644
--- a/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/FingerprintSettingsViewModel.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/FingerprintSettingsViewModel.kt
@@ -21,7 +21,12 @@
 import androidx.lifecycle.ViewModel
 import androidx.lifecycle.ViewModelProvider
 import androidx.lifecycle.viewModelScope
-import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.FingerprintManagerInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.AuthenitcateInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.CanEnrollFingerprintsInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.EnrolledFingerprintsInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.RemoveFingerprintInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.RenameFingerprintInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.SensorInteractor
 import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintAuthAttemptModel
 import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintData
 import com.android.systemui.biometrics.shared.model.FingerprintSensorType
@@ -49,9 +54,14 @@
 /** Models the UI state for fingerprint settings. */
 class FingerprintSettingsViewModel(
   private val userId: Int,
-  private val fingerprintManagerInteractor: FingerprintManagerInteractor,
   private val backgroundDispatcher: CoroutineDispatcher,
   private val navigationViewModel: FingerprintSettingsNavigationViewModel,
+  private val canEnrollFingerprintsInteractor: CanEnrollFingerprintsInteractor,
+  private val sensorInteractor: SensorInteractor,
+  private val authenticateInteractor: AuthenitcateInteractor,
+  private val renameFingerprintInteractor: RenameFingerprintInteractor,
+  private val removeFingerprintInteractor: RemoveFingerprintInteractor,
+  private val enrolledFingerprintsInteractor: EnrolledFingerprintsInteractor,
 ) : ViewModel() {
   private val _enrolledFingerprints: MutableStateFlow<List<FingerprintData>?> =
     MutableStateFlow(null)
@@ -62,19 +72,18 @@
 
   /** Represents the stream of the information of "Add Fingerprint" preference. */
   val addFingerprintPrefInfo: Flow<Pair<Boolean, Int>> =
-    _enrolledFingerprints.filterOnlyWhenSettingsIsShown().transform {
-      emit(
-        Pair(
-          fingerprintManagerInteractor.canEnrollFingerprints.first(),
-          fingerprintManagerInteractor.maxEnrollableFingerprints.first(),
-        )
-      )
+    _enrolledFingerprints.filterOnlyWhenSettingsIsShown().combine(
+      canEnrollFingerprintsInteractor.canEnrollFingerprints
+    ) { _, canEnrollFingerprints ->
+      Pair(canEnrollFingerprints, canEnrollFingerprintsInteractor.maxFingerprintsEnrollable())
     }
 
   /** Represents the stream of visibility of sfps preference. */
   val isSfpsPrefVisible: Flow<Boolean> =
-    _enrolledFingerprints.filterOnlyWhenSettingsIsShown().transform {
-      emit(fingerprintManagerInteractor.hasSideFps() == true && !it.isNullOrEmpty())
+    _enrolledFingerprints.filterOnlyWhenSettingsIsShown().combine(sensorInteractor.hasSideFps) {
+      fingerprints,
+      hasSideFps ->
+      hasSideFps && !fingerprints.isNullOrEmpty()
     }
 
   private val _isShowingDialog: MutableStateFlow<PreferenceViewModel?> = MutableStateFlow(null)
@@ -90,10 +99,10 @@
   private val _consumerShouldAuthenticate: MutableStateFlow<Boolean> = MutableStateFlow(false)
 
   private val _fingerprintSensorType: Flow<FingerprintSensorType> =
-    fingerprintManagerInteractor.sensorPropertiesInternal.filterNotNull().map { it.sensorType }
+    sensorInteractor.sensorPropertiesInternal.filterNotNull().map { it.sensorType }
 
   private val _sensorNullOrEmpty: Flow<Boolean> =
-    fingerprintManagerInteractor.sensorPropertiesInternal.map { it == null }
+    sensorInteractor.sensorPropertiesInternal.map { it == null }
 
   private val _isLockedOut: MutableStateFlow<FingerprintAuthAttemptModel.Error?> =
     MutableStateFlow(null)
@@ -172,7 +181,7 @@
           while (it && navigationViewModel.nextStep.value is ShowSettings) {
             Log.d(TAG, "canAuthenticate authing")
             attemptingAuth()
-            when (val authAttempt = fingerprintManagerInteractor.authenticate()) {
+            when (val authAttempt = authenticateInteractor.authenticate()) {
               is FingerprintAuthAttemptModel.Success -> {
                 onAuthSuccess(authAttempt)
                 emit(authAttempt)
@@ -243,7 +252,7 @@
   /** A request to delete a fingerprint */
   fun deleteFingerprint(fp: FingerprintData) {
     viewModelScope.launch(backgroundDispatcher) {
-      if (fingerprintManagerInteractor.removeFingerprint(fp)) {
+      if (removeFingerprintInteractor.removeFingerprint(fp)) {
         updateEnrolledFingerprints()
       }
     }
@@ -252,7 +261,7 @@
   /** A request to rename a fingerprint */
   fun renameFingerprint(fp: FingerprintData, newName: String) {
     viewModelScope.launch {
-      fingerprintManagerInteractor.renameFingerprint(fp, newName)
+      renameFingerprintInteractor.renameFingerprint(fp, newName)
       updateEnrolledFingerprints()
     }
   }
@@ -271,7 +280,7 @@
   }
 
   private suspend fun updateEnrolledFingerprints() {
-    _enrolledFingerprints.update { fingerprintManagerInteractor.enrolledFingerprints.first() }
+    _enrolledFingerprints.update { enrolledFingerprintsInteractor.enrolledFingerprints.first() }
   }
 
   /** Used to indicate whether the consumer of the view model is ready for authentication. */
@@ -288,9 +297,14 @@
 
   class FingerprintSettingsViewModelFactory(
     private val userId: Int,
-    private val interactor: FingerprintManagerInteractor,
     private val backgroundDispatcher: CoroutineDispatcher,
     private val navigationViewModel: FingerprintSettingsNavigationViewModel,
+    private val canEnrollFingerprintsInteractor: CanEnrollFingerprintsInteractor,
+    private val sensorInteractor: SensorInteractor,
+    private val authenticateInteractor: AuthenitcateInteractor,
+    private val renameFingerprintInteractor: RenameFingerprintInteractor,
+    private val removeFingerprintInteractor: RemoveFingerprintInteractor,
+    private val enrolledFingerprintsInteractor: EnrolledFingerprintsInteractor,
   ) : ViewModelProvider.Factory {
 
     @Suppress("UNCHECKED_CAST")
@@ -298,9 +312,14 @@
 
       return FingerprintSettingsViewModel(
         userId,
-        interactor,
         backgroundDispatcher,
         navigationViewModel,
+        canEnrollFingerprintsInteractor,
+        sensorInteractor,
+        authenticateInteractor,
+        renameFingerprintInteractor,
+        removeFingerprintInteractor,
+        enrolledFingerprintsInteractor,
       )
         as T
     }
diff --git a/src/com/android/settings/biometrics2/OWNERS b/src/com/android/settings/biometrics2/OWNERS
deleted file mode 100644
index ac806eb..0000000
--- a/src/com/android/settings/biometrics2/OWNERS
+++ /dev/null
@@ -1,4 +0,0 @@
-# The Android Biometric team should approve all changes to biometrics2 subdirectories.
-set noparent
-
-include /src/com/android/settings/biometrics/OWNERS
diff --git a/src/com/android/settings/biometrics2/data/repository/FingerprintRepository.java b/src/com/android/settings/biometrics2/data/repository/FingerprintRepository.java
deleted file mode 100644
index 6a9892a..0000000
--- a/src/com/android/settings/biometrics2/data/repository/FingerprintRepository.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.biometrics2.data.repository;
-
-import static android.hardware.biometrics.BiometricAuthenticator.TYPE_FINGERPRINT;
-
-import android.app.admin.DevicePolicyManager;
-import android.content.Context;
-import android.content.res.Resources;
-import android.hardware.fingerprint.Fingerprint;
-import android.hardware.fingerprint.FingerprintManager;
-import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
-import android.hardware.fingerprint.IFingerprintAuthenticatorsRegisteredCallback;
-import android.util.Log;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-import com.android.settings.R;
-import com.android.settings.biometrics.ParentalControlsUtils;
-import com.android.settingslib.RestrictedLockUtilsInternal;
-
-import java.util.List;
-
-/**
- * This repository is used to call all APIs in {@link FingerprintManager}
- */
-public class FingerprintRepository {
-
-    private static final String TAG = "FingerprintRepository";
-    @NonNull
-    private final FingerprintManager mFingerprintManager;
-
-    private List<FingerprintSensorPropertiesInternal> mSensorPropertiesCache;
-
-    public FingerprintRepository(@NonNull FingerprintManager fingerprintManager) {
-        mFingerprintManager = fingerprintManager;
-        mFingerprintManager.addAuthenticatorsRegisteredCallback(
-                new IFingerprintAuthenticatorsRegisteredCallback.Stub() {
-                    @Override
-                    public void onAllAuthenticatorsRegistered(
-                            List<FingerprintSensorPropertiesInternal> sensors) {
-                        mSensorPropertiesCache = sensors;
-                    }
-                });
-    }
-
-    /**
-     * The first sensor type is UDFPS sensor or not
-     */
-    public boolean canAssumeUdfps() {
-        FingerprintSensorPropertiesInternal prop = getFirstFingerprintSensorPropertiesInternal();
-        return prop != null && prop.isAnyUdfpsType();
-    }
-
-    /**
-     * The first sensor type is Side fps sensor or not
-     */
-    public boolean canAssumeSfps() {
-        FingerprintSensorPropertiesInternal prop = getFirstFingerprintSensorPropertiesInternal();
-        return prop != null && prop.isAnySidefpsType();
-    }
-
-    /**
-     * Get max possible number of fingerprints for a user
-     */
-    public int getMaxFingerprints() {
-        FingerprintSensorPropertiesInternal prop = getFirstFingerprintSensorPropertiesInternal();
-        return prop != null ? prop.maxEnrollmentsPerUser : 0;
-    }
-
-    /**
-     * Get number of fingerprints that this user enrolled.
-     */
-    public int getNumOfEnrolledFingerprintsSize(int userId) {
-        final List<Fingerprint> list = mFingerprintManager.getEnrolledFingerprints(userId);
-        return list != null ? list.size() : 0;
-    }
-
-    /**
-     * Get maximum possible fingerprints in setup wizard flow
-     */
-    public int getMaxFingerprintsInSuw(@NonNull Resources resources) {
-        return resources.getInteger(R.integer.suw_max_fingerprints_enrollable);
-    }
-
-    /**
-     * Gets the first FingerprintSensorPropertiesInternal from FingerprintManager
-     */
-    @Nullable
-    public FingerprintSensorPropertiesInternal getFirstFingerprintSensorPropertiesInternal() {
-        final List<FingerprintSensorPropertiesInternal> props = mSensorPropertiesCache;
-        if (props == null) {
-            // Handle this case if it really happens
-            Log.e(TAG, "Sensor properties cache is null");
-            return null;
-        }
-        return props.size() > 0 ? props.get(0) : null;
-    }
-
-    /**
-     * Call FingerprintManager to generate challenge for first sensor
-     */
-    public void generateChallenge(int userId,
-            @NonNull FingerprintManager.GenerateChallengeCallback callback) {
-        mFingerprintManager.generateChallenge(userId, callback);
-    }
-
-    /**
-     * Get parental consent required or not during enrollment process
-     */
-    public boolean isParentalConsentRequired(@NonNull Context context) {
-        return ParentalControlsUtils.parentConsentRequired(context, TYPE_FINGERPRINT) != null;
-    }
-
-    /**
-     * Get fingerprint is disable by admin or not
-     */
-    public boolean isDisabledByAdmin(@NonNull Context context, int userId) {
-        return RestrictedLockUtilsInternal.checkIfKeyguardFeaturesDisabled(
-                context, DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT, userId) != null;
-    }
-
-    /**
-     * Get fingerprint enroll stage threshold
-     */
-    public float getEnrollStageThreshold(int index) {
-        return mFingerprintManager.getEnrollStageThreshold(index);
-    }
-
-    /**
-     * Get fingerprint enroll stage count
-     */
-    public int getEnrollStageCount() {
-        return mFingerprintManager.getEnrollStageCount();
-    }
-}
diff --git a/src/com/android/settings/biometrics2/factory/BiometricsRepositoryProvider.java b/src/com/android/settings/biometrics2/factory/BiometricsRepositoryProvider.java
deleted file mode 100644
index fdc5745..0000000
--- a/src/com/android/settings/biometrics2/factory/BiometricsRepositoryProvider.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.biometrics2.factory;
-
-import android.app.Application;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-import com.android.settings.biometrics2.data.repository.FingerprintRepository;
-
-/**
- * Interface for BiometricsRepositoryProvider
- */
-public interface BiometricsRepositoryProvider {
-
-    /**
-     * Get FingerprintRepository
-     */
-    @Nullable
-    FingerprintRepository getFingerprintRepository(@NonNull Application application);
-}
diff --git a/src/com/android/settings/biometrics2/factory/BiometricsRepositoryProviderImpl.java b/src/com/android/settings/biometrics2/factory/BiometricsRepositoryProviderImpl.java
deleted file mode 100644
index 22409c8..0000000
--- a/src/com/android/settings/biometrics2/factory/BiometricsRepositoryProviderImpl.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.biometrics2.factory;
-
-import android.app.Application;
-import android.hardware.fingerprint.FingerprintManager;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-import com.android.settings.Utils;
-import com.android.settings.biometrics2.data.repository.FingerprintRepository;
-
-/**
- * Implementation for BiometricsRepositoryProvider
- */
-public class BiometricsRepositoryProviderImpl implements BiometricsRepositoryProvider {
-
-    private static volatile FingerprintRepository sFingerprintRepository;
-
-    /**
-     * Get FingerprintRepository
-     */
-    @Nullable
-    @Override
-    public FingerprintRepository getFingerprintRepository(@NonNull Application application) {
-        final FingerprintManager fingerprintManager =
-                Utils.getFingerprintManagerOrNull(application);
-        if (fingerprintManager == null) {
-            return null;
-        }
-        if (sFingerprintRepository == null) {
-            synchronized (FingerprintRepository.class) {
-                if (sFingerprintRepository == null) {
-                    sFingerprintRepository = new FingerprintRepository(fingerprintManager);
-                }
-            }
-        }
-        return sFingerprintRepository;
-    }
-}
diff --git a/src/com/android/settings/biometrics2/factory/BiometricsViewModelFactory.java b/src/com/android/settings/biometrics2/factory/BiometricsViewModelFactory.java
deleted file mode 100644
index 516f471..0000000
--- a/src/com/android/settings/biometrics2/factory/BiometricsViewModelFactory.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.biometrics2.factory;
-
-import android.app.Application;
-import android.util.Log;
-
-import androidx.annotation.NonNull;
-import androidx.lifecycle.ViewModel;
-import androidx.lifecycle.ViewModelProvider;
-import androidx.lifecycle.ViewModelProvider.AndroidViewModelFactory;
-import androidx.lifecycle.viewmodel.CreationExtras;
-
-import com.android.internal.widget.LockPatternUtils;
-import com.android.settings.biometrics.fingerprint.FingerprintUpdater;
-import com.android.settings.biometrics2.data.repository.FingerprintRepository;
-import com.android.settings.biometrics2.ui.model.CredentialModel;
-import com.android.settings.biometrics2.ui.model.EnrollmentRequest;
-import com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel;
-import com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.ChallengeGenerator;
-import com.android.settings.biometrics2.ui.viewmodel.DeviceFoldedViewModel;
-import com.android.settings.biometrics2.ui.viewmodel.DeviceRotationViewModel;
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel;
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollErrorDialogViewModel;
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFindSensorViewModel;
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFinishViewModel;
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroViewModel;
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollProgressViewModel;
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollmentViewModel;
-import com.android.settings.overlay.FeatureFactory;
-import com.android.systemui.unfold.compat.ScreenSizeFoldProvider;
-
-/**
- * View model factory for biometric enrollment fragment
- */
-public class BiometricsViewModelFactory implements ViewModelProvider.Factory {
-
-    private static final String TAG = "BiometricsViewModelFactory";
-
-    public static final CreationExtras.Key<ChallengeGenerator> CHALLENGE_GENERATOR_KEY =
-            new CreationExtras.Key<ChallengeGenerator>() {};
-    public static final CreationExtras.Key<EnrollmentRequest> ENROLLMENT_REQUEST_KEY =
-            new CreationExtras.Key<EnrollmentRequest>() {};
-    public static final CreationExtras.Key<CredentialModel> CREDENTIAL_MODEL_KEY =
-            new CreationExtras.Key<CredentialModel>() {};
-
-    @NonNull
-    @Override
-    @SuppressWarnings("unchecked")
-    public <T extends ViewModel> T create(@NonNull Class<T> modelClass,
-            @NonNull CreationExtras extras) {
-        final Application application = extras.get(AndroidViewModelFactory.APPLICATION_KEY);
-
-        if (application == null) {
-            Log.w(TAG, "create, null application");
-            return create(modelClass);
-        }
-        final FeatureFactory featureFactory = FeatureFactory.getFeatureFactory();
-        final BiometricsRepositoryProvider provider =
-                featureFactory.getBiometricsRepositoryProvider();
-
-        if (modelClass.isAssignableFrom(AutoCredentialViewModel.class)) {
-            final LockPatternUtils lockPatternUtils =
-                    featureFactory.getSecurityFeatureProvider().getLockPatternUtils(application);
-            final ChallengeGenerator challengeGenerator = extras.get(CHALLENGE_GENERATOR_KEY);
-            final CredentialModel credentialModel = extras.get(CREDENTIAL_MODEL_KEY);
-            if (challengeGenerator != null && credentialModel != null) {
-                return (T) new AutoCredentialViewModel(application, lockPatternUtils,
-                        challengeGenerator, credentialModel);
-            }
-        } else if (modelClass.isAssignableFrom(DeviceFoldedViewModel.class)) {
-            return (T) new DeviceFoldedViewModel(new ScreenSizeFoldProvider(application),
-                    application.getMainExecutor());
-        } else if (modelClass.isAssignableFrom(DeviceRotationViewModel.class)) {
-            return (T) new DeviceRotationViewModel(application);
-        } else if (modelClass.isAssignableFrom(FingerprintEnrollFindSensorViewModel.class)) {
-            final EnrollmentRequest request = extras.get(ENROLLMENT_REQUEST_KEY);
-            if (request != null) {
-                return (T) new FingerprintEnrollFindSensorViewModel(application, request.isSuw());
-            }
-        } else if (modelClass.isAssignableFrom(FingerprintEnrollIntroViewModel.class)) {
-            final FingerprintRepository repository = provider.getFingerprintRepository(application);
-            final EnrollmentRequest request = extras.get(ENROLLMENT_REQUEST_KEY);
-            final CredentialModel credentialModel = extras.get(CREDENTIAL_MODEL_KEY);
-            if (repository != null && request != null && credentialModel != null) {
-                return (T) new FingerprintEnrollIntroViewModel(application, repository, request,
-                        credentialModel.getUserId());
-            }
-        } else if (modelClass.isAssignableFrom(FingerprintEnrollmentViewModel.class)) {
-            final FingerprintRepository repository = provider.getFingerprintRepository(application);
-            final EnrollmentRequest request = extras.get(ENROLLMENT_REQUEST_KEY);
-            if (repository != null && request != null) {
-                return (T) new FingerprintEnrollmentViewModel(application, repository, request);
-            }
-        } else if (modelClass.isAssignableFrom(FingerprintEnrollProgressViewModel.class)) {
-            final CredentialModel credentialModel = extras.get(CREDENTIAL_MODEL_KEY);
-            if (credentialModel != null) {
-                return (T) new FingerprintEnrollProgressViewModel(application,
-                        new FingerprintUpdater(application), credentialModel.getUserId());
-            }
-        } else if (modelClass.isAssignableFrom(FingerprintEnrollEnrollingViewModel.class)) {
-            final CredentialModel credentialModel = extras.get(CREDENTIAL_MODEL_KEY);
-            final FingerprintRepository fingerprint = provider.getFingerprintRepository(
-                    application);
-            if (fingerprint != null && credentialModel != null) {
-                return (T) new FingerprintEnrollEnrollingViewModel(application,
-                        credentialModel.getUserId(), fingerprint);
-            }
-        } else if (modelClass.isAssignableFrom(FingerprintEnrollFinishViewModel.class)) {
-            final CredentialModel credentialModel = extras.get(CREDENTIAL_MODEL_KEY);
-            final EnrollmentRequest request = extras.get(ENROLLMENT_REQUEST_KEY);
-            final FingerprintRepository fingerprint = provider.getFingerprintRepository(
-                    application);
-            if (fingerprint != null && credentialModel != null && request != null) {
-                return (T) new FingerprintEnrollFinishViewModel(application,
-                        credentialModel.getUserId(), request, fingerprint);
-            }
-        } else if (modelClass.isAssignableFrom(FingerprintEnrollErrorDialogViewModel.class)) {
-            final EnrollmentRequest request = extras.get(ENROLLMENT_REQUEST_KEY);
-            if (request != null) {
-                return (T) new FingerprintEnrollErrorDialogViewModel(application, request.isSuw());
-            }
-        }
-        return create(modelClass);
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/model/CredentialModel.kt b/src/com/android/settings/biometrics2/ui/model/CredentialModel.kt
deleted file mode 100644
index 5350733..0000000
--- a/src/com/android/settings/biometrics2/ui/model/CredentialModel.kt
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.model
-
-import android.content.Intent.EXTRA_USER_ID
-import android.os.Bundle
-import android.os.UserHandle
-import androidx.annotation.VisibleForTesting
-import com.android.settings.biometrics.BiometricEnrollBase.EXTRA_KEY_CHALLENGE
-import com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN
-import com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE
-import java.time.Clock
-
-/**
- * Secret credential data including
- * 1. userId
- * 2. challenge
- * 3. token
- * 4. gkPwHandle
- */
-class CredentialModel(bundle: Bundle?, private val clock: Clock) {
-
-    private val mInitMillis = clock.millis()
-
-    /** userId for this credential */
-    val userId: Int = (bundle ?: Bundle()).getInt(EXTRA_USER_ID, UserHandle.myUserId())
-
-    private var clearGkPwHandleMillis: Long? = null
-
-    /** Gatekeeper password handle */
-    var gkPwHandle: Long = (bundle ?: Bundle()).getLong(EXTRA_KEY_GK_PW_HANDLE, INVALID_GK_PW_HANDLE)
-        private set
-
-    val isValidGkPwHandle: Boolean
-        get() = gkPwHandle != INVALID_GK_PW_HANDLE
-
-    /** Clear gatekeeper password handle data */
-    fun clearGkPwHandle() {
-        clearGkPwHandleMillis = clock.millis()
-        gkPwHandle = INVALID_GK_PW_HANDLE
-    }
-
-    /** Check user id is valid or not */
-    val isValidUserId: Boolean
-        get() = userId != UserHandle.USER_NULL
-
-    private var updateChallengeMillis: Long? = null
-
-    var challenge: Long = (bundle ?: Bundle()).getLong(EXTRA_KEY_CHALLENGE, INVALID_CHALLENGE)
-        set(value) {
-            updateChallengeMillis = clock.millis()
-            field = value
-        }
-
-    val isValidChallenge: Boolean
-        get() = challenge != INVALID_CHALLENGE
-
-    private var updateTokenMillis: Long? = null
-
-    /** Challenge token */
-    var token: ByteArray? = (bundle ?: Bundle()).getByteArray(EXTRA_KEY_CHALLENGE_TOKEN)
-        set(value) {
-            updateTokenMillis = clock.millis()
-            field = value
-        }
-
-    val isValidToken: Boolean
-        get() = token != null
-
-    /** Returns a string representation of the object */
-    override fun toString(): String {
-        val gkPwHandleLen = "$gkPwHandle".length
-        val tokenLen = token?.size ?: 0
-        val challengeLen = "$challenge".length
-        return (javaClass.simpleName + ":{initMillis:$mInitMillis"
-                + ", userId:$userId"
-                + ", challenge:{len:$challengeLen"
-                + ", updateMillis:$updateChallengeMillis}"
-                + ", token:{len:$tokenLen, isValid:$isValidToken"
-                + ", updateMillis:$updateTokenMillis}"
-                + ", gkPwHandle:{len:$gkPwHandleLen, isValid:$isValidGkPwHandle"
-                + ", clearMillis:$clearGkPwHandleMillis}"
-                + " }")
-    }
-
-    companion object {
-        /** Default value for an invalid challenge */
-        @VisibleForTesting
-        const val INVALID_CHALLENGE = -1L
-
-        /** Default value if GkPwHandle is invalid */
-        @VisibleForTesting
-        const val INVALID_GK_PW_HANDLE = 0L
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/model/EnrollmentProgress.kt b/src/com/android/settings/biometrics2/ui/model/EnrollmentProgress.kt
deleted file mode 100644
index 7b35a68..0000000
--- a/src/com/android/settings/biometrics2/ui/model/EnrollmentProgress.kt
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.model
-
-/** Biometric Enrollment progress */
-class EnrollmentProgress(val steps: Int, val remaining: Int) {
-
-    val isInitialStep: Boolean
-        get() = steps == INITIAL_STEPS
-
-    override fun toString(): String {
-        return ("${javaClass.simpleName}@${Integer.toHexString(hashCode())}"
-                + "{steps:$steps, remaining:$remaining}")
-    }
-
-    companion object {
-        const val INITIAL_STEPS = -1
-        const val INITIAL_REMAINING = 0
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/model/EnrollmentRequest.kt b/src/com/android/settings/biometrics2/ui/model/EnrollmentRequest.kt
deleted file mode 100644
index 4696c62..0000000
--- a/src/com/android/settings/biometrics2/ui/model/EnrollmentRequest.kt
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.model
-
-import android.content.Context
-import android.content.Intent
-import android.os.Bundle
-import com.android.settings.SetupWizardUtils
-import com.android.settings.biometrics.BiometricEnrollActivity.EXTRA_SKIP_INTRO
-import com.google.android.setupcompat.util.WizardManagerHelper
-import com.google.android.setupcompat.util.WizardManagerHelper.EXTRA_IS_SUW_SUGGESTED_ACTION_FLOW
-
-/**
- * Biometric enrollment generic intent data, which includes
- * 1. isSuw
- * 2. isAfterSuwOrSuwSuggestedAction
- * 3. theme
- * 4. isFromSettingsSummery
- * 5. isSkipIntro
- * 6. isSkipFindSensor
- * 7. a helper method, getSetupWizardExtras
- */
-class EnrollmentRequest(
-    intent: Intent,
-    context: Context,
-    isSetupActivity: Boolean
-) {
-    val isSuw: Boolean = isSetupActivity && WizardManagerHelper.isAnySetupWizard(intent)
-
-    val isAfterSuwOrSuwSuggestedAction = (isSetupActivity
-            && (WizardManagerHelper.isDeferredSetupWizard(intent)
-            || WizardManagerHelper.isPortalSetupWizard(intent)
-            || intent.getBooleanExtra(EXTRA_IS_SUW_SUGGESTED_ACTION_FLOW, false)))
-
-    private val _suwExtras = getSuwExtras(isSuw, intent)
-
-    val isSkipIntro = intent.getBooleanExtra(EXTRA_SKIP_INTRO, false)
-
-    val isSkipFindSensor = intent.getBooleanExtra(EXTRA_SKIP_FIND_SENSOR, false)
-
-    val theme = SetupWizardUtils.getTheme(context, intent)
-
-    val suwExtras: Bundle
-        get() = Bundle(_suwExtras)
-
-    /**
-     * Returns a string representation of the object
-     */
-    override fun toString(): String {
-        return (javaClass.simpleName + ":{isSuw:" + isSuw
-                + ", isAfterSuwOrSuwSuggestedAction:" + isAfterSuwOrSuwSuggestedAction
-                + "}")
-    }
-
-    companion object {
-        const val EXTRA_SKIP_FIND_SENSOR = "skip_find_sensor"
-        private fun getSuwExtras(isSuw: Boolean, intent: Intent): Bundle {
-            val toIntent = Intent()
-            if (isSuw) {
-                SetupWizardUtils.copySetupExtras(intent, toIntent)
-            }
-            return toIntent.extras ?: Bundle()
-        }
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/model/EnrollmentStatusMessage.kt b/src/com/android/settings/biometrics2/ui/model/EnrollmentStatusMessage.kt
deleted file mode 100644
index 6dd0c5c..0000000
--- a/src/com/android/settings/biometrics2/ui/model/EnrollmentStatusMessage.kt
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.model
-
-/** Enrolling status message (help or error) */
-class EnrollmentStatusMessage(val msgId: Int, string: CharSequence?) {
-
-    /** Status string */
-    val str: CharSequence = string ?: ""
-
-    override fun toString(): String {
-        return "${javaClass.simpleName}@${Integer.toHexString(hashCode())}{id:$msgId, str:$str}"
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/model/FingerprintEnrollIntroStatus.kt b/src/com/android/settings/biometrics2/ui/model/FingerprintEnrollIntroStatus.kt
deleted file mode 100644
index 4cbaffa..0000000
--- a/src/com/android/settings/biometrics2/ui/model/FingerprintEnrollIntroStatus.kt
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.model
-
-
-enum class FingerprintEnrollable {
-    // Unconfirmed case, this value is invalid, and view shall bypass this value
-    FINGERPRINT_ENROLLABLE_UNKNOWN,
-    // User is allowed to enrolled a new fingerprint
-    FINGERPRINT_ENROLLABLE_OK,
-    // User is not allowed to enroll because the number has reached maximum
-    FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX
-}
-
-/**
- * Fingerprint onboarding introduction page data, it contains following information which needs
- * to be passed from view model to view.
- * 1. mEnrollableStatus: User is allowed to enroll a new fingerprint or not.
- * 2. mHasScrollToBottom: User has scrolled to the bottom of this page or not.
- */
-class FingerprintEnrollIntroStatus(
-    private val mHasScrollToBottom: Boolean,
-    /** Enrollable status. It means that user is allowed to enroll a new fingerprint or not. */
-    val enrollableStatus: FingerprintEnrollable
-) {
-    /** Get info for this onboarding introduction page has scrolled to bottom or not */
-    fun hasScrollToBottom(): Boolean {
-        return mHasScrollToBottom
-    }
-
-    override fun toString(): String {
-        return ("${javaClass.simpleName}@${Integer.toHexString(hashCode())}"
-                + "{scrollToBottom:$mHasScrollToBottom"
-                + ", enrollableStatus:$enrollableStatus}")
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingIconTouchDialog.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingIconTouchDialog.kt
deleted file mode 100644
index 9f99d17..0000000
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingIconTouchDialog.kt
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.view
-
-import android.app.Dialog
-import android.content.Context
-import android.content.DialogInterface
-import android.os.Bundle
-import androidx.appcompat.app.AlertDialog
-import androidx.fragment.app.DialogFragment
-import com.android.settings.R
-
-/**
- * Icon Touch dialog
- */
-class FingerprintEnrollEnrollingIconTouchDialog : DialogFragment() {
-    override fun onCreateDialog(savedInstanceState: Bundle?): Dialog =
-        requireActivity().bindFingerprintEnrollEnrollingIconTouchDialog()
-}
-
-fun Context.bindFingerprintEnrollEnrollingIconTouchDialog(): AlertDialog =
-    AlertDialog.Builder(this, R.style.Theme_AlertDialog)
-        .setTitle(R.string.security_settings_fingerprint_enroll_touch_dialog_title)
-        .setMessage(R.string.security_settings_fingerprint_enroll_touch_dialog_message)
-        .setPositiveButton(R.string.security_settings_fingerprint_enroll_dialog_ok) {
-            dialog: DialogInterface?, _: Int -> dialog?.dismiss()
-        }
-        .create()
\ No newline at end of file
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingRfpsFragment.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingRfpsFragment.kt
deleted file mode 100644
index 2530628..0000000
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingRfpsFragment.kt
+++ /dev/null
@@ -1,513 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.view
-
-import android.animation.Animator
-import android.animation.ObjectAnimator
-import android.content.Context
-import android.graphics.PorterDuff
-import android.graphics.drawable.Animatable2
-import android.graphics.drawable.AnimatedVectorDrawable
-import android.graphics.drawable.Drawable
-import android.graphics.drawable.LayerDrawable
-import android.hardware.fingerprint.FingerprintManager.ENROLL_ENROLL
-import android.os.Bundle
-import android.text.TextUtils
-import android.util.Log
-import android.view.LayoutInflater
-import android.view.MotionEvent
-import android.view.View
-import android.view.ViewGroup
-import android.view.animation.AnimationUtils.loadInterpolator
-import android.view.animation.Interpolator
-import android.widget.ProgressBar
-import android.widget.TextView
-import androidx.activity.OnBackPressedCallback
-import androidx.fragment.app.Fragment
-import androidx.fragment.app.FragmentActivity
-import androidx.lifecycle.Lifecycle
-import androidx.lifecycle.Observer
-import androidx.lifecycle.ViewModelProvider
-import androidx.lifecycle.lifecycleScope
-import androidx.lifecycle.repeatOnLifecycle
-import com.android.settings.R
-import com.android.settings.biometrics2.ui.model.EnrollmentProgress
-import com.android.settings.biometrics2.ui.model.EnrollmentStatusMessage
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollErrorDialogViewModel
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollProgressViewModel
-import com.google.android.setupcompat.template.FooterBarMixin
-import com.google.android.setupcompat.template.FooterButton
-import com.google.android.setupdesign.GlifLayout
-import kotlinx.coroutines.launch
-
-/**
- * Fragment is used to handle enrolling process for rfps
- */
-class FingerprintEnrollEnrollingRfpsFragment : Fragment() {
-
-    private var _enrollingViewModel: FingerprintEnrollEnrollingViewModel? = null
-    private val enrollingViewModel: FingerprintEnrollEnrollingViewModel
-        get() = _enrollingViewModel!!
-
-    private var _progressViewModel: FingerprintEnrollProgressViewModel? = null
-    private val progressViewModel: FingerprintEnrollProgressViewModel
-        get() = _progressViewModel!!
-
-    private var _errorDialogViewModel: FingerprintEnrollErrorDialogViewModel? = null
-    private val errorDialogViewModel: FingerprintEnrollErrorDialogViewModel
-        get() = _errorDialogViewModel!!
-
-    private var fastOutSlowInInterpolator: Interpolator? = null
-    private var linearOutSlowInInterpolator: Interpolator? = null
-    private var fastOutLinearInInterpolator: Interpolator? = null
-
-    private var isAnimationCancelled = false
-
-    private var enrollingView: GlifLayout? = null
-    private val progressBar: ProgressBar
-        get() = enrollingView!!.findViewById(R.id.fingerprint_progress_bar)!!
-
-    private var progressAnim: ObjectAnimator? = null
-
-    private val errorText: TextView
-        get() = enrollingView!!.findViewById(R.id.error_text)!!
-
-    private val iconAnimationDrawable: AnimatedVectorDrawable?
-        get() = (progressBar.background as LayerDrawable)
-            .findDrawableByLayerId(R.id.fingerprint_animation) as AnimatedVectorDrawable?
-
-    private val iconBackgroundBlinksDrawable: AnimatedVectorDrawable?
-        get() = (progressBar.background as LayerDrawable)
-            .findDrawableByLayerId(R.id.fingerprint_background) as AnimatedVectorDrawable?
-
-    private var iconTouchCount = 0
-
-    private val touchAgainRunnable = Runnable {
-        showError(
-            // Use enrollingView to getString to prevent activity is missing during rotation
-            enrollingView!!.context.getString(
-                R.string.security_settings_fingerprint_enroll_lift_touch_again
-            )
-        )
-    }
-
-    private val onSkipClickListener = View.OnClickListener { _: View? ->
-        enrollingViewModel.setOnSkipPressed()
-        cancelEnrollment(true)
-    }
-
-    private var enrollingCancelSignal: Any? = null
-
-    private val progressObserver = Observer { progress: EnrollmentProgress? ->
-        if (progress != null && progress.steps >= 0) {
-            onEnrollmentProgressChange(progress)
-        }
-    }
-
-    private val helpMessageObserver = Observer { helpMessage: EnrollmentStatusMessage? ->
-        helpMessage?.let { onEnrollmentHelp(it) }
-    }
-
-    private val errorMessageObserver = Observer { errorMessage: EnrollmentStatusMessage? ->
-        Log.d(TAG, "errorMessageObserver($errorMessage)")
-        errorMessage?.let { onEnrollmentError(it) }
-   }
-
-    private val canceledSignalObserver = Observer { canceledSignal: Any? ->
-        canceledSignal?.let { onEnrollmentCanceled(it) }
-    }
-
-    private val onBackPressedCallback: OnBackPressedCallback =
-        object : OnBackPressedCallback(true) {
-            override fun handleOnBackPressed() {
-                isEnabled = false
-                enrollingViewModel.setOnBackPressed()
-                cancelEnrollment(true)
-            }
-        }
-
-    override fun onAttach(context: Context) {
-        ViewModelProvider(requireActivity()).let { provider ->
-            _enrollingViewModel = provider[FingerprintEnrollEnrollingViewModel::class.java]
-            _progressViewModel = provider[FingerprintEnrollProgressViewModel::class.java]
-            _errorDialogViewModel = provider[FingerprintEnrollErrorDialogViewModel::class.java]
-        }
-        super.onAttach(context)
-        requireActivity().onBackPressedDispatcher.addCallback(onBackPressedCallback)
-    }
-
-    override fun onDetach() {
-        onBackPressedCallback.isEnabled = false
-        super.onDetach()
-    }
-
-    override fun onCreateView(
-        inflater: LayoutInflater, container: ViewGroup?,
-        savedInstanceState: Bundle?
-    ): View {
-        enrollingView = inflater.inflate(
-                R.layout.fingerprint_enroll_enrolling, container, false
-        ) as GlifLayout
-        return enrollingView!!
-    }
-
-    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
-        super.onViewCreated(view, savedInstanceState)
-
-        iconAnimationDrawable!!.registerAnimationCallback(iconAnimationCallback)
-
-        progressBar.setOnTouchListener { _: View?, event: MotionEvent ->
-            if (event.actionMasked == MotionEvent.ACTION_DOWN) {
-                iconTouchCount++
-                if (iconTouchCount == ICON_TOUCH_COUNT_SHOW_UNTIL_DIALOG_SHOWN) {
-                    showIconTouchDialog()
-                } else {
-                    progressBar.postDelayed(
-                        showDialogRunnable,
-                        ICON_TOUCH_DURATION_UNTIL_DIALOG_SHOWN
-                    )
-                }
-            } else if (event.actionMasked == MotionEvent.ACTION_CANCEL
-                || event.actionMasked == MotionEvent.ACTION_UP
-            ) {
-                progressBar.removeCallbacks(showDialogRunnable)
-            }
-            true
-        }
-
-        requireActivity().bindFingerprintEnrollEnrollingRfpsView(
-            view = enrollingView!!,
-            onSkipClickListener = onSkipClickListener
-        )
-
-        fastOutSlowInInterpolator =
-            loadInterpolator(requireContext(), android.R.interpolator.fast_out_slow_in)
-        linearOutSlowInInterpolator =
-            loadInterpolator(requireContext(), android.R.interpolator.linear_out_slow_in)
-        fastOutLinearInInterpolator =
-            loadInterpolator(requireContext(), android.R.interpolator.fast_out_linear_in)
-
-        lifecycleScope.launch {
-            repeatOnLifecycle(Lifecycle.State.STARTED) {
-                errorDialogViewModel.triggerRetryFlow.collect { retryEnrollment() }
-            }
-        }
-    }
-
-    private fun retryEnrollment() {
-        isAnimationCancelled = false
-        startIconAnimation()
-        startEnrollment()
-
-        clearError()
-        updateProgress(false /* animate */, progressViewModel.progressLiveData.value!!)
-        updateTitleAndDescription()
-    }
-
-    override fun onStart() {
-        super.onStart()
-
-        val isEnrolling = progressViewModel.isEnrolling
-        val isErrorDialogShown = errorDialogViewModel.isDialogShown
-        Log.d(TAG, "onStart(), isEnrolling:$isEnrolling, isErrorDialog:$isErrorDialogShown")
-        if (!isErrorDialogShown) {
-            isAnimationCancelled = false
-            startIconAnimation()
-            startEnrollment()
-        }
-
-        updateProgress(false /* animate */, progressViewModel.progressLiveData.value!!)
-        updateTitleAndDescription()
-    }
-
-    private fun startIconAnimation() {
-        iconAnimationDrawable?.start()
-    }
-
-    private fun stopIconAnimation() {
-        isAnimationCancelled = true
-        iconAnimationDrawable?.stop()
-    }
-
-    override fun onStop() {
-        stopIconAnimation()
-        removeEnrollmentObservers()
-        val isEnrolling = progressViewModel.isEnrolling
-        val isConfigChange = requireActivity().isChangingConfigurations
-        Log.d(TAG, "onStop(), enrolling:$isEnrolling isConfigChange:$isConfigChange")
-        if (isEnrolling && !isConfigChange) {
-            cancelEnrollment(false)
-        }
-        super.onStop()
-    }
-
-    private fun removeEnrollmentObservers() {
-        progressViewModel.errorMessageLiveData.removeObserver(errorMessageObserver)
-        progressViewModel.progressLiveData.removeObserver(progressObserver)
-        progressViewModel.helpMessageLiveData.removeObserver(helpMessageObserver)
-    }
-
-    private fun cancelEnrollment(waitForLastCancelErrMsg: Boolean) {
-        if (!progressViewModel.isEnrolling) {
-            Log.d(TAG, "cancelEnrollment(), failed because isEnrolling is false")
-            return
-        }
-        removeEnrollmentObservers()
-        if (waitForLastCancelErrMsg) {
-            progressViewModel.canceledSignalLiveData.observe(this, canceledSignalObserver)
-        } else {
-            enrollingCancelSignal = null
-        }
-        val cancelResult: Boolean = progressViewModel.cancelEnrollment()
-        if (!cancelResult) {
-            Log.e(TAG, "cancelEnrollment(), failed to cancel enrollment")
-        }
-    }
-
-    private fun startEnrollment() {
-        enrollingCancelSignal = progressViewModel.startEnrollment(ENROLL_ENROLL)
-        if (enrollingCancelSignal == null) {
-            Log.e(TAG, "startEnrollment(), failed")
-        } else {
-            Log.d(TAG, "startEnrollment(), success")
-        }
-        progressViewModel.progressLiveData.observe(this, progressObserver)
-        progressViewModel.helpMessageLiveData.observe(this, helpMessageObserver)
-        progressViewModel.errorMessageLiveData.observe(this, errorMessageObserver)
-    }
-
-    private fun onEnrollmentHelp(helpMessage: EnrollmentStatusMessage) {
-        Log.d(TAG, "onEnrollmentHelp($helpMessage)")
-        val helpStr: CharSequence = helpMessage.str
-        if (!TextUtils.isEmpty(helpStr)) {
-            errorText.removeCallbacks(touchAgainRunnable)
-            showError(helpStr)
-        }
-    }
-
-    private fun onEnrollmentError(errorMessage: EnrollmentStatusMessage) {
-        stopIconAnimation()
-
-        cancelEnrollment(true)
-        lifecycleScope.launch {
-            Log.d(TAG, "newDialog $errorMessage")
-            errorDialogViewModel.newDialog(errorMessage.msgId)
-        }
-    }
-
-    private fun onEnrollmentCanceled(canceledSignal: Any) {
-        Log.d(
-            TAG,
-            "onEnrollmentCanceled enrolling:$enrollingCancelSignal, canceled:$canceledSignal"
-        )
-        if (enrollingCancelSignal === canceledSignal) {
-            progressViewModel.canceledSignalLiveData.removeObserver(canceledSignalObserver)
-            progressViewModel.clearProgressLiveData()
-            if (enrollingViewModel.onBackPressed) {
-                enrollingViewModel.onCancelledDueToOnBackPressed()
-            } else if (enrollingViewModel.onSkipPressed) {
-                enrollingViewModel.onCancelledDueToOnSkipPressed()
-            }
-        }
-    }
-
-    private fun onEnrollmentProgressChange(progress: EnrollmentProgress) {
-        updateProgress(true /* animate */, progress)
-        updateTitleAndDescription()
-        animateFlash()
-        errorText.removeCallbacks(touchAgainRunnable)
-        errorText.postDelayed(touchAgainRunnable, HINT_TIMEOUT_DURATION.toLong())
-    }
-
-    private fun updateProgress(animate: Boolean, enrollmentProgress: EnrollmentProgress) {
-        val progress = getProgress(enrollmentProgress)
-        Log.d(TAG, "updateProgress($animate, $enrollmentProgress), old:${progressBar.progress}"
-                + ", new:$progress")
-
-        // Only clear the error when progress has been made.
-        // TODO (b/234772728) Add tests.
-        if (progressBar.progress < progress) {
-            clearError()
-        }
-        if (animate) {
-            animateProgress(progress)
-        } else {
-            progressBar.progress = progress
-            if (progress >= PROGRESS_BAR_MAX) {
-                delayedFinishRunnable.run()
-            }
-        }
-    }
-
-    private fun getProgress(progress: EnrollmentProgress): Int {
-        if (progress.steps == -1) {
-            return 0
-        }
-        val displayProgress = 0.coerceAtLeast(progress.steps + 1 - progress.remaining)
-        return PROGRESS_BAR_MAX * displayProgress / (progress.steps + 1)
-    }
-
-    private fun showError(error: CharSequence) {
-        errorText.text = error
-        if (errorText.visibility == View.INVISIBLE) {
-            errorText.visibility = View.VISIBLE
-            errorText.translationY = enrollingView!!.context.resources.getDimensionPixelSize(
-                R.dimen.fingerprint_error_text_appear_distance
-            ).toFloat()
-            errorText.alpha = 0f
-            errorText.animate()
-                .alpha(1f)
-                .translationY(0f)
-                .setDuration(200)
-                .setInterpolator(linearOutSlowInInterpolator)
-                .start()
-        } else {
-            errorText.animate().cancel()
-            errorText.alpha = 1f
-            errorText.translationY = 0f
-        }
-        if (isResumed && enrollingViewModel.isAccessibilityEnabled) {
-            enrollingViewModel.vibrateError(javaClass.simpleName + "::showError")
-        }
-    }
-
-    private fun clearError() {
-        if (errorText.visibility == View.VISIBLE) {
-            errorText.animate()
-                .alpha(0f)
-                .translationY(
-                    resources.getDimensionPixelSize(
-                        R.dimen.fingerprint_error_text_disappear_distance
-                    ).toFloat()
-                )
-                .setDuration(100)
-                .setInterpolator(fastOutLinearInInterpolator)
-                .withEndAction { errorText.visibility = View.INVISIBLE }
-                .start()
-        }
-    }
-
-    private fun animateProgress(progress: Int) {
-        progressAnim?.cancel()
-        val anim = ObjectAnimator.ofInt(
-            progressBar /* target */,
-            "progress" /* propertyName */,
-            progressBar.progress /* values[0] */,
-            progress /* values[1] */
-        )
-        anim.addListener(progressAnimationListener)
-        anim.interpolator = fastOutSlowInInterpolator
-        anim.setDuration(ANIMATION_DURATION)
-        anim.start()
-        progressAnim = anim
-    }
-
-    private fun animateFlash() {
-        iconBackgroundBlinksDrawable?.start()
-    }
-
-    private fun updateTitleAndDescription() {
-        val progressLiveData: EnrollmentProgress = progressViewModel.progressLiveData.value!!
-        GlifLayoutHelper(activity!!, enrollingView!!).setDescriptionText(
-            enrollingView!!.context.getString(
-                if (progressLiveData.steps == -1)
-                    R.string.security_settings_fingerprint_enroll_start_message
-                else
-                    R.string.security_settings_fingerprint_enroll_repeat_message
-            )
-        )
-    }
-
-    private fun showIconTouchDialog() {
-        iconTouchCount = 0
-        enrollingViewModel.showIconTouchDialog()
-    }
-
-    private val showDialogRunnable = Runnable { showIconTouchDialog() }
-
-    private val progressAnimationListener: Animator.AnimatorListener =
-        object : Animator.AnimatorListener {
-            override fun onAnimationStart(animation: Animator) {
-                startIconAnimation()
-            }
-
-            override fun onAnimationRepeat(animation: Animator) {}
-            override fun onAnimationEnd(animation: Animator) {
-                stopIconAnimation()
-                if (progressBar.progress >= PROGRESS_BAR_MAX) {
-                    progressBar.postDelayed(delayedFinishRunnable, ANIMATION_DURATION)
-                }
-            }
-
-            override fun onAnimationCancel(animation: Animator) {}
-        }
-
-    // Give the user a chance to see progress completed before jumping to the next stage.
-    private val delayedFinishRunnable = Runnable { enrollingViewModel.onEnrollingDone() }
-
-    private val iconAnimationCallback: Animatable2.AnimationCallback =
-        object : Animatable2.AnimationCallback() {
-            override fun onAnimationEnd(d: Drawable) {
-                if (isAnimationCancelled) {
-                    return
-                }
-
-                // Start animation after it has ended.
-                progressBar.post { startIconAnimation() }
-            }
-        }
-
-    companion object {
-        private const val DEBUG = false
-        private const val TAG = "FingerprintEnrollEnrollingRfpsFragment"
-        private const val PROGRESS_BAR_MAX = 10000
-        private const val ANIMATION_DURATION = 250L
-        private const val ICON_TOUCH_DURATION_UNTIL_DIALOG_SHOWN: Long = 500
-        private const val ICON_TOUCH_COUNT_SHOW_UNTIL_DIALOG_SHOWN = 3
-
-        /**
-         * If we don't see progress during this time, we show an error message to remind the users that
-         * they need to lift the finger and touch again.
-         */
-        private const val HINT_TIMEOUT_DURATION = 2500
-    }
-}
-
-fun FragmentActivity.bindFingerprintEnrollEnrollingRfpsView(
-    view: GlifLayout,
-    onSkipClickListener: View.OnClickListener
-) {
-    GlifLayoutHelper(this, view).let {
-        it.setDescriptionText(
-            getString(
-                R.string.security_settings_fingerprint_enroll_start_message
-            )
-        )
-        it.setHeaderText(R.string.security_settings_fingerprint_enroll_repeat_title)
-    }
-
-    view.findViewById<ProgressBar>(R.id.fingerprint_progress_bar)!!
-        .progressBackgroundTintMode = PorterDuff.Mode.SRC
-
-    view.getMixin(FooterBarMixin::class.java).secondaryButton =
-        FooterButton.Builder(this)
-            .setText(R.string.security_settings_fingerprint_enroll_enrolling_skip)
-            .setListener(onSkipClickListener)
-            .setButtonType(FooterButton.ButtonType.SKIP)
-            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
-            .build()
-}
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingSfpsFragment.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingSfpsFragment.kt
deleted file mode 100644
index 7faeeac..0000000
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingSfpsFragment.kt
+++ /dev/null
@@ -1,669 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.view
-
-import android.animation.Animator
-import android.animation.ObjectAnimator
-import android.annotation.RawRes
-import android.content.Context
-import android.content.res.ColorStateList
-import android.content.res.Configuration
-import android.graphics.PorterDuff
-import android.graphics.PorterDuffColorFilter
-import android.hardware.fingerprint.FingerprintManager.ENROLL_ENROLL
-import android.os.Bundle
-import android.util.Log
-import android.view.LayoutInflater
-import android.view.MotionEvent
-import android.view.View
-import android.view.ViewGroup
-import android.view.animation.AccelerateDecelerateInterpolator
-import android.view.animation.AnimationUtils
-import android.view.animation.Interpolator
-import android.widget.ProgressBar
-import android.widget.RelativeLayout
-import androidx.activity.OnBackPressedCallback
-import androidx.fragment.app.Fragment
-import androidx.fragment.app.FragmentActivity
-import androidx.lifecycle.Lifecycle
-import androidx.lifecycle.Observer
-import androidx.lifecycle.ViewModelProvider
-import androidx.lifecycle.lifecycleScope
-import androidx.lifecycle.repeatOnLifecycle
-import com.airbnb.lottie.LottieAnimationView
-import com.airbnb.lottie.LottieComposition
-import com.airbnb.lottie.LottieCompositionFactory
-import com.airbnb.lottie.LottieProperty
-import com.airbnb.lottie.model.KeyPath
-import com.android.settings.R
-import com.android.settings.biometrics2.ui.model.EnrollmentProgress
-import com.android.settings.biometrics2.ui.model.EnrollmentStatusMessage
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollErrorDialogViewModel
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollProgressViewModel
-import com.google.android.setupcompat.template.FooterBarMixin
-import com.google.android.setupcompat.template.FooterButton
-import com.google.android.setupdesign.GlifLayout
-import com.google.android.setupdesign.template.DescriptionMixin
-import com.google.android.setupdesign.template.HeaderMixin
-import kotlin.math.roundToInt
-import kotlinx.coroutines.launch
-
-/**
- * Fragment is used to handle enrolling process for sfps
- */
-class FingerprintEnrollEnrollingSfpsFragment : Fragment() {
-
-    private var _enrollingViewModel: FingerprintEnrollEnrollingViewModel? = null
-    private val enrollingViewModel: FingerprintEnrollEnrollingViewModel
-        get() = _enrollingViewModel!!
-
-    private var _progressViewModel: FingerprintEnrollProgressViewModel? = null
-    private val progressViewModel: FingerprintEnrollProgressViewModel
-        get() = _progressViewModel!!
-
-    private var _errorDialogViewModel: FingerprintEnrollErrorDialogViewModel? = null
-    private val errorDialogViewModel: FingerprintEnrollErrorDialogViewModel
-        get() = _errorDialogViewModel!!
-
-    private val fastOutSlowInInterpolator: Interpolator
-        get() = AnimationUtils.loadInterpolator(
-            activity,
-            androidx.appcompat.R.interpolator.fast_out_slow_in,
-        )
-
-    private var enrollingView: GlifLayout? = null
-
-    private val progressBar: ProgressBar
-        get() = enrollingView!!.findViewById(R.id.fingerprint_progress_bar)!!
-
-    private var progressAnim: ObjectAnimator? = null
-
-    private val progressAnimationListener: Animator.AnimatorListener =
-        object : Animator.AnimatorListener {
-            override fun onAnimationStart(animation: Animator) {}
-            override fun onAnimationRepeat(animation: Animator) {}
-            override fun onAnimationEnd(animation: Animator) {
-                if (progressBar.progress >= PROGRESS_BAR_MAX) {
-                    progressBar.postDelayed(delayedFinishRunnable, PROGRESS_ANIMATION_DURATION)
-                }
-            }
-
-            override fun onAnimationCancel(animation: Animator) {}
-        }
-
-    private val illustrationLottie: LottieAnimationView
-        get() = enrollingView!!.findViewById(R.id.illustration_lottie)!!
-
-    private var haveShownSfpsNoAnimationLottie = false
-    private var haveShownSfpsCenterLottie = false
-    private var haveShownSfpsTipLottie = false
-    private var haveShownSfpsLeftEdgeLottie = false
-    private var haveShownSfpsRightEdgeLottie = false
-
-    private var helpAnimation: ObjectAnimator? = null
-
-    private var iconTouchCount = 0
-
-    private val showIconTouchDialogRunnable = Runnable { showIconTouchDialog() }
-
-    private var enrollingCancelSignal: Any? = null
-
-    // Give the user a chance to see progress completed before jumping to the next stage.
-    private val delayedFinishRunnable = Runnable { enrollingViewModel.onEnrollingDone() }
-
-    private val onSkipClickListener = View.OnClickListener { _: View? ->
-        enrollingViewModel.setOnSkipPressed()
-        cancelEnrollment(true)
-    }
-
-    private val progressObserver = Observer { progress: EnrollmentProgress? ->
-        if (progress != null && progress.steps >= 0) {
-            onEnrollmentProgressChange(progress)
-        }
-    }
-
-    private val helpMessageObserver = Observer { helpMessage: EnrollmentStatusMessage? ->
-        helpMessage?.let { onEnrollmentHelp(it) }
-    }
-
-    private val errorMessageObserver = Observer { errorMessage: EnrollmentStatusMessage? ->
-        Log.d(TAG, "errorMessageObserver($errorMessage)")
-        errorMessage?.let { onEnrollmentError(it) }
-    }
-
-    private val canceledSignalObserver = Observer { canceledSignal: Any? ->
-        Log.d(TAG, "canceledSignalObserver($canceledSignal)")
-        canceledSignal?.let { onEnrollmentCanceled(it) }
-    }
-
-    private val onBackPressedCallback: OnBackPressedCallback =
-        object : OnBackPressedCallback(true) {
-            override fun handleOnBackPressed() {
-                isEnabled = false
-                enrollingViewModel.setOnBackPressed()
-                cancelEnrollment(true)
-            }
-        }
-
-    override fun onAttach(context: Context) {
-        ViewModelProvider(requireActivity()).let { provider ->
-            _enrollingViewModel = provider[FingerprintEnrollEnrollingViewModel::class.java]
-            _progressViewModel = provider[FingerprintEnrollProgressViewModel::class.java]
-            _errorDialogViewModel = provider[FingerprintEnrollErrorDialogViewModel::class.java]
-        }
-        super.onAttach(context)
-        requireActivity().onBackPressedDispatcher.addCallback(onBackPressedCallback)
-    }
-
-    override fun onDetach() {
-        onBackPressedCallback.isEnabled = false
-        super.onDetach()
-    }
-
-    override fun onCreateView(
-        inflater: LayoutInflater, container: ViewGroup?,
-        savedInstanceState: Bundle?
-    ): View? {
-        enrollingView = inflater.inflate(
-            R.layout.sfps_enroll_enrolling,
-            container, false
-        ) as GlifLayout
-        return enrollingView
-    }
-
-    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
-        super.onViewCreated(view, savedInstanceState)
-
-        requireActivity().bindFingerprintEnrollEnrollingSfpsView(
-            view = enrollingView!!,
-            onSkipClickListener = onSkipClickListener
-        )
-
-        // setHelpAnimation()
-        helpAnimation = ObjectAnimator.ofFloat(
-            enrollingView!!.findViewById<RelativeLayout>(R.id.progress_lottie)!!,
-            "translationX" /* propertyName */,
-            0f,
-            HELP_ANIMATION_TRANSLATION_X,
-            -1 * HELP_ANIMATION_TRANSLATION_X,
-            HELP_ANIMATION_TRANSLATION_X,
-            0f
-        ).also {
-            it.interpolator = AccelerateDecelerateInterpolator()
-            it.setDuration(HELP_ANIMATION_DURATION)
-            it.setAutoCancel(false)
-        }
-
-        progressBar.setOnTouchListener { _: View?, event: MotionEvent ->
-            if (event.actionMasked == MotionEvent.ACTION_DOWN) {
-                iconTouchCount++
-                if (iconTouchCount == ICON_TOUCH_COUNT_SHOW_UNTIL_DIALOG_SHOWN) {
-                    showIconTouchDialog()
-                } else {
-                    progressBar.postDelayed(
-                        showIconTouchDialogRunnable,
-                        ICON_TOUCH_DURATION_UNTIL_DIALOG_SHOWN
-                    )
-                }
-            } else if (event.actionMasked == MotionEvent.ACTION_CANCEL
-                || event.actionMasked == MotionEvent.ACTION_UP
-            ) {
-                progressBar.removeCallbacks(showIconTouchDialogRunnable)
-            }
-            true
-        }
-
-        lifecycleScope.launch {
-            repeatOnLifecycle(Lifecycle.State.STARTED) {
-                errorDialogViewModel.triggerRetryFlow.collect { retryEnrollment() }
-            }
-        }
-    }
-
-    private fun retryEnrollment() {
-        startEnrollment()
-        updateProgress(false /* animate */, progressViewModel.progressLiveData.value!!)
-    }
-
-    override fun onStart() {
-        super.onStart()
-        val isEnrolling = progressViewModel.isEnrolling
-        val isErrorDialogShown = errorDialogViewModel.isDialogShown
-        Log.d(TAG, "onStart(), isEnrolling:$isEnrolling, isErrorDialog:$isErrorDialogShown")
-        if (!isErrorDialogShown) {
-            startEnrollment()
-        }
-
-        updateProgress(false /* animate */, progressViewModel.progressLiveData.value!!)
-        progressViewModel.helpMessageLiveData.value.let {
-            if (it != null) {
-                onEnrollmentHelp(it)
-            } else {
-                clearError()
-                updateTitleAndDescription()
-            }
-        }
-    }
-
-    override fun onStop() {
-        removeEnrollmentObservers()
-        val isEnrolling = progressViewModel.isEnrolling
-        val isConfigChange = requireActivity().isChangingConfigurations
-        Log.d(TAG, "onStop(), enrolling:$isEnrolling isConfigChange:$isConfigChange")
-        if (isEnrolling && !isConfigChange) {
-            cancelEnrollment(false)
-        }
-        super.onStop()
-    }
-
-    private fun removeEnrollmentObservers() {
-        progressViewModel.errorMessageLiveData.removeObserver(errorMessageObserver)
-        progressViewModel.progressLiveData.removeObserver(progressObserver)
-        progressViewModel.helpMessageLiveData.removeObserver(helpMessageObserver)
-    }
-
-    private fun cancelEnrollment(waitForLastCancelErrMsg: Boolean) {
-        if (!progressViewModel.isEnrolling) {
-            Log.d(TAG, "cancelEnrollment(), failed because isEnrolling is false")
-            return
-        }
-        removeEnrollmentObservers()
-        if (waitForLastCancelErrMsg) {
-            progressViewModel.canceledSignalLiveData.observe(this, canceledSignalObserver)
-        } else {
-            enrollingCancelSignal = null
-        }
-        val cancelResult: Boolean = progressViewModel.cancelEnrollment()
-        if (!cancelResult) {
-            Log.e(TAG, "cancelEnrollment(), failed to cancel enrollment")
-        }
-    }
-
-    private fun startEnrollment() {
-        enrollingCancelSignal = progressViewModel.startEnrollment(ENROLL_ENROLL)
-        if (enrollingCancelSignal == null) {
-            Log.e(TAG, "startEnrollment(), failed")
-        } else {
-            Log.d(TAG, "startEnrollment(), success")
-        }
-        progressViewModel.progressLiveData.observe(this, progressObserver)
-        progressViewModel.helpMessageLiveData.observe(this, helpMessageObserver)
-        progressViewModel.errorMessageLiveData.observe(this, errorMessageObserver)
-    }
-
-    private fun configureEnrollmentStage(description: CharSequence, @RawRes lottie: Int) {
-        GlifLayoutHelper(requireActivity(), enrollingView!!).setDescriptionText(description)
-        LottieCompositionFactory.fromRawRes(activity, lottie)
-            .addListener { c: LottieComposition ->
-                illustrationLottie.setComposition(c)
-                illustrationLottie.visibility = View.VISIBLE
-                illustrationLottie.playAnimation()
-            }
-    }
-
-    private val currentSfpsStage: Int
-        get() {
-            val progressLiveData: EnrollmentProgress =
-                progressViewModel.progressLiveData.value
-                    ?: return STAGE_UNKNOWN
-            val progressSteps: Int = progressLiveData.steps - progressLiveData.remaining
-            return if (progressSteps < getStageThresholdSteps(0)) {
-                SFPS_STAGE_NO_ANIMATION
-            } else if (progressSteps < getStageThresholdSteps(1)) {
-                SFPS_STAGE_CENTER
-            } else if (progressSteps < getStageThresholdSteps(2)) {
-                SFPS_STAGE_FINGERTIP
-            } else if (progressSteps < getStageThresholdSteps(3)) {
-                SFPS_STAGE_LEFT_EDGE
-            } else {
-                SFPS_STAGE_RIGHT_EDGE
-            }
-        }
-
-    private fun onEnrollmentHelp(helpMessage: EnrollmentStatusMessage) {
-        Log.d(TAG, "onEnrollmentHelp($helpMessage)")
-        val helpStr: CharSequence = helpMessage.str
-        if (helpStr.isNotEmpty()) {
-            showError(helpStr)
-        }
-    }
-
-    private fun onEnrollmentError(errorMessage: EnrollmentStatusMessage) {
-        cancelEnrollment(true)
-        lifecycleScope.launch {
-            Log.d(TAG, "newDialog $errorMessage")
-            errorDialogViewModel.newDialog(errorMessage.msgId)
-        }
-    }
-
-    private fun onEnrollmentCanceled(canceledSignal: Any) {
-        Log.d(
-            TAG,
-            "onEnrollmentCanceled enrolling:$enrollingCancelSignal, canceled:$canceledSignal"
-        )
-        if (enrollingCancelSignal === canceledSignal) {
-            progressViewModel.canceledSignalLiveData.removeObserver(canceledSignalObserver)
-            progressViewModel.clearProgressLiveData()
-            if (enrollingViewModel.onBackPressed) {
-                enrollingViewModel.onCancelledDueToOnBackPressed()
-            } else if (enrollingViewModel.onSkipPressed) {
-                enrollingViewModel.onCancelledDueToOnSkipPressed()
-            }
-        }
-    }
-
-    private fun announceEnrollmentProgress(announcement: CharSequence) {
-        enrollingViewModel.sendAccessibilityEvent(announcement)
-    }
-
-    private fun onEnrollmentProgressChange(progress: EnrollmentProgress) {
-        updateProgress(true /* animate */, progress)
-        if (enrollingViewModel.isAccessibilityEnabled) {
-            val percent: Int =
-                ((progress.steps - progress.remaining).toFloat() / progress.steps.toFloat() * 100).toInt()
-            val announcement: CharSequence = getString(
-                R.string.security_settings_sfps_enroll_progress_a11y_message, percent
-            )
-            announceEnrollmentProgress(announcement)
-            illustrationLottie.contentDescription =
-                getString(R.string.security_settings_sfps_animation_a11y_label, percent)
-        }
-        updateTitleAndDescription()
-    }
-
-    private fun updateProgress(animate: Boolean, enrollmentProgress: EnrollmentProgress) {
-        if (!progressViewModel.isEnrolling) {
-            Log.d(TAG, "Enrollment not started yet")
-            return
-        }
-
-        val progress = getProgress(enrollmentProgress)
-        Log.d(TAG, "updateProgress($animate, $enrollmentProgress), old:${progressBar.progress}"
-                + ", new:$progress")
-
-        // Only clear the error when progress has been made.
-        // TODO (b/234772728) Add tests.
-        if (progressBar.progress < progress) {
-            clearError()
-        }
-        if (animate) {
-            animateProgress(progress)
-        } else {
-            progressBar.progress = progress
-            if (progress >= PROGRESS_BAR_MAX) {
-                delayedFinishRunnable.run()
-            }
-        }
-    }
-
-    private fun getProgress(progress: EnrollmentProgress): Int {
-        if (progress.steps == -1) {
-            return 0
-        }
-        val displayProgress = 0.coerceAtLeast(progress.steps + 1 - progress.remaining)
-        return PROGRESS_BAR_MAX * displayProgress / (progress.steps + 1)
-    }
-
-    private fun showError(error: CharSequence) {
-        enrollingView!!.let {
-            it.headerText = error
-            it.headerTextView.contentDescription = error
-            GlifLayoutHelper(requireActivity(), it).setDescriptionText("")
-        }
-
-        if (isResumed && !helpAnimation!!.isRunning) {
-            helpAnimation!!.start()
-        }
-        applySfpsErrorDynamicColors(true)
-        if (isResumed && enrollingViewModel.isAccessibilityEnabled) {
-            enrollingViewModel.vibrateError(javaClass.simpleName + "::showError")
-        }
-    }
-
-    private fun clearError() {
-        applySfpsErrorDynamicColors(false)
-    }
-
-    private fun animateProgress(progress: Int) {
-        progressAnim?.cancel()
-        progressAnim = ObjectAnimator.ofInt(
-            progressBar,
-            "progress",
-            progressBar.progress,
-            progress
-        ).also {
-            it.addListener(progressAnimationListener)
-            it.interpolator = fastOutSlowInInterpolator
-            it.setDuration(PROGRESS_ANIMATION_DURATION)
-            it.start()
-        }
-    }
-
-    /**
-     * Applies dynamic colors corresponding to showing or clearing errors on the progress bar
-     * and finger lottie for SFPS
-     */
-    private fun applySfpsErrorDynamicColors(isError: Boolean) {
-        progressBar.applyProgressBarDynamicColor(requireContext(), isError)
-        illustrationLottie.applyLottieDynamicColor(requireContext(), isError)
-    }
-
-    private fun getStageThresholdSteps(index: Int): Int {
-        val progressLiveData: EnrollmentProgress? =
-            progressViewModel.progressLiveData.value
-        if (progressLiveData == null || progressLiveData.steps == -1) {
-            Log.w(TAG, "getStageThresholdSteps: Enrollment not started yet")
-            return 1
-        }
-        return (progressLiveData.steps
-                * enrollingViewModel.getEnrollStageThreshold(index)).roundToInt()
-    }
-
-    private fun updateTitleAndDescription() {
-        val helper = GlifLayoutHelper(requireActivity(), enrollingView!!)
-        if (enrollingViewModel.isAccessibilityEnabled) {
-            enrollingViewModel.clearTalkback()
-            helper.glifLayout.descriptionTextView.accessibilityLiveRegion =
-                View.ACCESSIBILITY_LIVE_REGION_POLITE
-        }
-        val stage = currentSfpsStage
-        if (DEBUG) {
-            Log.d(
-                TAG, "updateTitleAndDescription, stage:" + stage
-                        + ", noAnimation:" + haveShownSfpsNoAnimationLottie
-                        + ", center:" + haveShownSfpsCenterLottie
-                        + ", tip:" + haveShownSfpsTipLottie
-                        + ", leftEdge:" + haveShownSfpsLeftEdgeLottie
-                        + ", rightEdge:" + haveShownSfpsRightEdgeLottie
-            )
-        }
-        when (stage) {
-            SFPS_STAGE_NO_ANIMATION -> {
-                helper.setHeaderText(R.string.security_settings_fingerprint_enroll_repeat_title)
-                if (!haveShownSfpsNoAnimationLottie) {
-                    haveShownSfpsNoAnimationLottie = true
-                    illustrationLottie.contentDescription =
-                        getString(R.string.security_settings_sfps_animation_a11y_label, 0)
-                    configureEnrollmentStage(
-                        getString(R.string.security_settings_sfps_enroll_start_message),
-                        R.raw.sfps_lottie_no_animation
-                    )
-                }
-            }
-
-            SFPS_STAGE_CENTER -> {
-                helper.setHeaderText(R.string.security_settings_sfps_enroll_finger_center_title)
-                if (!haveShownSfpsCenterLottie) {
-                    haveShownSfpsCenterLottie = true
-                    configureEnrollmentStage(
-                        getString(R.string.security_settings_sfps_enroll_start_message),
-                        R.raw.sfps_lottie_pad_center
-                    )
-                }
-            }
-
-            SFPS_STAGE_FINGERTIP -> {
-                helper.setHeaderText(R.string.security_settings_sfps_enroll_fingertip_title)
-                if (!haveShownSfpsTipLottie) {
-                    haveShownSfpsTipLottie = true
-                    configureEnrollmentStage("", R.raw.sfps_lottie_tip)
-                }
-            }
-
-            SFPS_STAGE_LEFT_EDGE -> {
-                helper.setHeaderText(R.string.security_settings_sfps_enroll_left_edge_title)
-                if (!haveShownSfpsLeftEdgeLottie) {
-                    haveShownSfpsLeftEdgeLottie = true
-                    configureEnrollmentStage("", R.raw.sfps_lottie_left_edge)
-                }
-            }
-
-            SFPS_STAGE_RIGHT_EDGE -> {
-                helper.setHeaderText(R.string.security_settings_sfps_enroll_right_edge_title)
-                if (!haveShownSfpsRightEdgeLottie) {
-                    haveShownSfpsRightEdgeLottie = true
-                    configureEnrollmentStage("", R.raw.sfps_lottie_right_edge)
-                }
-            }
-
-            STAGE_UNKNOWN -> {
-                // Don't use BiometricEnrollBase#setHeaderText, since that invokes setTitle,
-                // which gets announced for a11y upon entering the page. For SFPS, we want to
-                // announce a different string for a11y upon entering the page.
-                helper.setHeaderText(R.string.security_settings_sfps_enroll_find_sensor_title)
-                helper.setDescriptionText(
-                    getString(R.string.security_settings_sfps_enroll_start_message)
-                )
-                val description: CharSequence = getString(
-                    R.string.security_settings_sfps_enroll_find_sensor_message
-                )
-                helper.glifLayout.headerTextView.contentDescription = description
-                helper.activity.title = description
-            }
-
-            else -> {
-                helper.setHeaderText(R.string.security_settings_sfps_enroll_find_sensor_title)
-                helper.setDescriptionText(
-                    getString(R.string.security_settings_sfps_enroll_start_message)
-                )
-                val description: CharSequence = getString(
-                    R.string.security_settings_sfps_enroll_find_sensor_message
-                )
-                helper.glifLayout.headerTextView.contentDescription = description
-                helper.activity.title = description
-            }
-        }
-    }
-
-    private fun showIconTouchDialog() {
-        iconTouchCount = 0
-        enrollingViewModel.showIconTouchDialog()
-    }
-
-    companion object {
-        private val TAG = FingerprintEnrollEnrollingSfpsFragment::class.java.simpleName
-        private const val DEBUG = false
-        private const val PROGRESS_BAR_MAX = 10000
-        private const val HELP_ANIMATION_DURATION = 550L
-        private const val HELP_ANIMATION_TRANSLATION_X = 40f
-        private const val PROGRESS_ANIMATION_DURATION = 250L
-        private const val ICON_TOUCH_DURATION_UNTIL_DIALOG_SHOWN: Long = 500
-        private const val ICON_TOUCH_COUNT_SHOW_UNTIL_DIALOG_SHOWN = 3
-        private const val STAGE_UNKNOWN = -1
-        private const val SFPS_STAGE_NO_ANIMATION = 0
-        private const val SFPS_STAGE_CENTER = 1
-        private const val SFPS_STAGE_FINGERTIP = 2
-        private const val SFPS_STAGE_LEFT_EDGE = 3
-        private const val SFPS_STAGE_RIGHT_EDGE = 4
-    }
-}
-
-fun FragmentActivity.bindFingerprintEnrollEnrollingSfpsView(
-    view: GlifLayout,
-    onSkipClickListener: View.OnClickListener
-) {
-    GlifLayoutHelper(this, view).setDescriptionText(
-        getString(R.string.security_settings_fingerprint_enroll_start_message)
-    )
-
-    view.getMixin(FooterBarMixin::class.java).secondaryButton = FooterButton.Builder(this)
-        .setText(R.string.security_settings_fingerprint_enroll_enrolling_skip)
-        .setListener(onSkipClickListener)
-        .setButtonType(FooterButton.ButtonType.SKIP)
-        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
-        .build()
-
-    view.findViewById<ProgressBar>(R.id.fingerprint_progress_bar)!!.progressBackgroundTintMode =
-        PorterDuff.Mode.SRC
-
-    view.findViewById<ProgressBar>(R.id.fingerprint_progress_bar)!!
-        .applyProgressBarDynamicColor(this, false)
-
-    view.findViewById<LottieAnimationView>(R.id.illustration_lottie)!!
-        .applyLottieDynamicColor(this, false)
-
-    view.maybeHideSfpsText(resources.configuration.orientation)
-}
-
-private fun ProgressBar.applyProgressBarDynamicColor(context: Context, isError: Boolean) {
-    progressTintList = ColorStateList.valueOf(
-        context.getColor(
-            if (isError)
-                R.color.sfps_enrollment_progress_bar_error_color
-            else
-                R.color.sfps_enrollment_progress_bar_fill_color
-        )
-    )
-    progressTintMode = PorterDuff.Mode.SRC
-    invalidate()
-}
-
-fun LottieAnimationView.applyLottieDynamicColor(context: Context, isError: Boolean) {
-    addValueCallback(
-        KeyPath(".blue100", "**"),
-        LottieProperty.COLOR_FILTER
-    ) {
-        PorterDuffColorFilter(
-            context.getColor(
-                if (isError)
-                    R.color.sfps_enrollment_fp_error_color
-                else
-                    R.color.sfps_enrollment_fp_captured_color
-            ),
-            PorterDuff.Mode.SRC_ATOP
-        )
-    }
-    invalidate()
-}
-
-fun GlifLayout.maybeHideSfpsText(@Configuration.Orientation orientation: Int) {
-    val headerMixin: HeaderMixin = getMixin(HeaderMixin::class.java)
-    val descriptionMixin: DescriptionMixin = getMixin(DescriptionMixin::class.java)
-
-    val isLandscape = (orientation == Configuration.ORIENTATION_LANDSCAPE)
-    headerMixin.setAutoTextSizeEnabled(isLandscape)
-    if (isLandscape) {
-        headerMixin.textView.minLines = 0
-        headerMixin.textView.maxLines = 10
-        descriptionMixin.textView.minLines = 0
-        descriptionMixin.textView.maxLines = 10
-    } else {
-        headerMixin.textView.setLines(4)
-        // hide the description
-        descriptionMixin.textView.setLines(0)
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingUdfpsFragment.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingUdfpsFragment.kt
deleted file mode 100644
index 7e754ac..0000000
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingUdfpsFragment.kt
+++ /dev/null
@@ -1,707 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.view
-
-import android.annotation.RawRes
-import android.content.Context
-import android.hardware.biometrics.BiometricFingerprintConstants
-import android.hardware.fingerprint.FingerprintManager.ENROLL_ENROLL
-import android.hardware.fingerprint.FingerprintSensorPropertiesInternal
-import android.os.Bundle
-import android.util.Log
-import android.view.LayoutInflater
-import android.view.Surface
-import android.view.Surface.ROTATION_270
-import android.view.Surface.ROTATION_90
-import android.view.View
-import android.view.ViewGroup
-import android.widget.Button
-import android.widget.ImageView
-import android.widget.RelativeLayout
-import android.widget.TextView
-import androidx.activity.OnBackPressedCallback
-import androidx.fragment.app.Fragment
-import androidx.fragment.app.FragmentActivity
-import androidx.lifecycle.Lifecycle
-import androidx.lifecycle.MutableLiveData
-import androidx.lifecycle.Observer
-import androidx.lifecycle.ViewModelProvider
-import androidx.lifecycle.lifecycleScope
-import androidx.lifecycle.repeatOnLifecycle
-import com.airbnb.lottie.LottieAnimationView
-import com.airbnb.lottie.LottieComposition
-import com.airbnb.lottie.LottieCompositionFactory
-import com.android.settings.R
-import com.android.settings.biometrics2.ui.model.EnrollmentProgress
-import com.android.settings.biometrics2.ui.model.EnrollmentStatusMessage
-import com.android.settings.biometrics2.ui.viewmodel.DeviceRotationViewModel
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollErrorDialogViewModel
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollProgressViewModel
-import com.android.settings.biometrics2.ui.widget.UdfpsEnrollView
-import com.android.settingslib.display.DisplayDensityUtils
-import kotlinx.coroutines.launch
-import kotlin.math.roundToInt
-
-/**
- * Fragment is used to handle enrolling process for udfps
- */
-class FingerprintEnrollEnrollingUdfpsFragment : Fragment() {
-
-    private var _enrollingViewModel: FingerprintEnrollEnrollingViewModel? = null
-    private val enrollingViewModel: FingerprintEnrollEnrollingViewModel
-        get() = _enrollingViewModel!!
-
-    private var _rotationViewModel: DeviceRotationViewModel? = null
-    private val rotationViewModel: DeviceRotationViewModel
-        get() = _rotationViewModel!!
-
-    private var _progressViewModel: FingerprintEnrollProgressViewModel? = null
-    private val progressViewModel: FingerprintEnrollProgressViewModel
-        get() = _progressViewModel!!
-
-    private var _errorDialogViewModel: FingerprintEnrollErrorDialogViewModel? = null
-    private val errorDialogViewModel: FingerprintEnrollErrorDialogViewModel
-        get() = _errorDialogViewModel!!
-
-    private var illustrationLottie: LottieAnimationView? = null
-
-    private var haveShownTipLottie = false
-    private var haveShownLeftEdgeLottie = false
-    private var haveShownRightEdgeLottie = false
-    private var haveShownCenterLottie = false
-    private var haveShownGuideLottie = false
-
-    private var enrollingView: RelativeLayout? = null
-
-    private val titleText: TextView
-        get() = enrollingView!!.findViewById(R.id.suc_layout_title)!!
-
-    private val subTitleText: TextView
-        get() = enrollingView!!.findViewById(R.id.sud_layout_subtitle)!!
-
-    private val udfpsEnrollView: UdfpsEnrollView
-        get() = enrollingView!!.findViewById(R.id.udfps_animation_view)!!
-
-    private val skipBtn: Button
-        get() = enrollingView!!.findViewById(R.id.skip_btn)!!
-
-    private val icon: ImageView
-        get() = enrollingView!!.findViewById(R.id.sud_layout_icon)!!
-
-    private val shouldShowLottie: Boolean
-        get() {
-            val displayDensity = DisplayDensityUtils(requireContext())
-            val currentDensityIndex: Int = displayDensity.currentIndexForDefaultDisplay
-            val currentDensity: Int =
-                displayDensity.defaultDisplayDensityValues[currentDensityIndex]
-            val defaultDensity: Int = displayDensity.defaultDensityForDefaultDisplay
-            return defaultDensity == currentDensity
-        }
-
-    private val isAccessibilityEnabled
-        get() = enrollingViewModel.isAccessibilityEnabled
-
-    private var rotation = -1
-
-    private var enrollingCancelSignal: Any? = null
-
-    private val onSkipClickListener = View.OnClickListener { _: View? ->
-        enrollingViewModel.setOnSkipPressed()
-        cancelEnrollment(true) // TODO Add test after b/273640000 fixed
-    }
-
-    private val progressObserver = Observer { progress: EnrollmentProgress? ->
-        if (progress != null && progress.steps >= 0) {
-            onEnrollmentProgressChange(progress)
-        }
-    }
-
-    private val helpMessageObserver = Observer { helpMessage: EnrollmentStatusMessage? ->
-        Log.d(TAG, "helpMessageObserver($helpMessage)")
-        helpMessage?.let { onEnrollmentHelp(it) }
-    }
-
-    private val errorMessageObserver = Observer { errorMessage: EnrollmentStatusMessage? ->
-        Log.d(TAG, "errorMessageObserver($errorMessage)")
-        errorMessage?.let { onEnrollmentError(it) }
-    }
-
-    private val canceledSignalObserver = Observer { canceledSignal: Any? ->
-        Log.d(TAG, "canceledSignalObserver($canceledSignal)")
-        canceledSignal?.let { onEnrollmentCanceled(it) }
-    }
-
-    private val acquireObserver =
-        Observer { isAcquiredGood: Boolean? -> isAcquiredGood?.let { onAcquired(it) } }
-
-    private val pointerDownObserver =
-        Observer { sensorId: Int? -> sensorId?.let { onPointerDown(it) } }
-
-    private val pointerUpObserver =
-        Observer { sensorId: Int? -> sensorId?.let { onPointerUp(it) } }
-
-    private val rotationObserver =
-        Observer { rotation: Int? -> rotation?.let { onRotationChanged(it) } }
-
-    private val onBackPressedCallback: OnBackPressedCallback =
-        object : OnBackPressedCallback(true) {
-            override fun handleOnBackPressed() {
-                isEnabled = false
-                enrollingViewModel.setOnBackPressed()
-                cancelEnrollment(true)
-            }
-        }
-
-    // Give the user a chance to see progress completed before jumping to the next stage.
-    private val delayedFinishRunnable = Runnable { enrollingViewModel.onEnrollingDone() }
-
-    override fun onAttach(context: Context) {
-        ViewModelProvider(requireActivity()).let { provider ->
-            _enrollingViewModel = provider[FingerprintEnrollEnrollingViewModel::class.java]
-            _rotationViewModel = provider[DeviceRotationViewModel::class.java]
-            _progressViewModel = provider[FingerprintEnrollProgressViewModel::class.java]
-            _errorDialogViewModel = provider[FingerprintEnrollErrorDialogViewModel::class.java]
-        }
-        super.onAttach(context)
-        requireActivity().onBackPressedDispatcher.addCallback(onBackPressedCallback)
-    }
-
-    override fun onDetach() {
-        onBackPressedCallback.isEnabled = false
-        super.onDetach()
-    }
-
-    override fun onCreateView(
-        inflater: LayoutInflater, container: ViewGroup?,
-        savedInstanceState: Bundle?
-    ): View = (inflater.inflate(
-        R.layout.udfps_enroll_enrolling_v2, container, false
-    ) as RelativeLayout).also {
-        enrollingView = it
-    }
-
-    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
-        super.onViewCreated(view, savedInstanceState)
-        rotation = rotationViewModel.liveData.value!!
-        updateIllustrationLottie(rotation)
-
-        requireActivity().bindFingerprintEnrollEnrollingUdfpsView(
-            view = enrollingView!!,
-            sensorProperties = enrollingViewModel.firstFingerprintSensorPropertiesInternal!!,
-            rotation = rotation,
-            onSkipClickListener = onSkipClickListener,
-        )
-
-        lifecycleScope.launch {
-            repeatOnLifecycle(Lifecycle.State.STARTED) {
-                errorDialogViewModel.triggerRetryFlow.collect { retryEnrollment() }
-            }
-        }
-    }
-
-    private fun retryEnrollment() {
-        reattachUdfpsEnrollView()
-
-        startEnrollment()
-
-        updateProgress(false /* animate */, progressViewModel.progressLiveData.value!!)
-        progressViewModel.helpMessageLiveData.value.let {
-            if (it != null) {
-                onEnrollmentHelp(it)
-            } else {
-                updateTitleAndDescription()
-            }
-        }
-    }
-
-    override fun onStart() {
-        super.onStart()
-        val isEnrolling = progressViewModel.isEnrolling
-        val isErrorDialogShown = errorDialogViewModel.isDialogShown
-        Log.d(TAG, "onStart(), isEnrolling:$isEnrolling, isErrorDialog:$isErrorDialogShown")
-        if (!isErrorDialogShown) {
-            startEnrollment()
-        }
-
-        updateProgress(false /* animate */, progressViewModel.progressLiveData.value!!)
-        progressViewModel.helpMessageLiveData.value.let {
-            if (it != null) {
-                onEnrollmentHelp(it)
-            } else {
-                updateTitleAndDescription()
-            }
-        }
-    }
-
-    private fun reattachUdfpsEnrollView() {
-        enrollingView!!.let {
-            val newUdfpsView = LayoutInflater.from(requireActivity()).inflate(
-                R.layout.udfps_enroll_enrolling_v2_udfps_view,
-                null
-            )
-            val index = it.indexOfChild(udfpsEnrollView)
-            val lp = udfpsEnrollView.layoutParams
-
-            it.removeView(udfpsEnrollView)
-            it.addView(newUdfpsView, index, lp)
-            udfpsEnrollView.setSensorProperties(
-                enrollingViewModel.firstFingerprintSensorPropertiesInternal
-            )
-        }
-
-        // Clear lottie status
-        haveShownTipLottie = false
-        haveShownLeftEdgeLottie = false
-        haveShownRightEdgeLottie = false
-        haveShownCenterLottie = false
-        haveShownGuideLottie = false
-        illustrationLottie?.let {
-            it.contentDescription = ""
-            it.visibility = View.GONE
-        }
-    }
-
-    override fun onResume() {
-        super.onResume()
-        rotationViewModel.liveData.observe(this, rotationObserver)
-    }
-
-    override fun onPause() {
-        rotationViewModel.liveData.removeObserver(rotationObserver)
-        super.onPause()
-    }
-
-    override fun onStop() {
-        removeEnrollmentObservers()
-        val isEnrolling = progressViewModel.isEnrolling
-        val isConfigChange = requireActivity().isChangingConfigurations
-        Log.d(TAG, "onStop(), enrolling:$isEnrolling isConfigChange:$isConfigChange")
-        if (isEnrolling && !isConfigChange) {
-            cancelEnrollment(false)
-        }
-        super.onStop()
-    }
-
-    private fun removeEnrollmentObservers() {
-        progressViewModel.errorMessageLiveData.removeObserver(errorMessageObserver)
-        progressViewModel.progressLiveData.removeObserver(progressObserver)
-        progressViewModel.helpMessageLiveData.removeObserver(helpMessageObserver)
-        progressViewModel.acquireLiveData.removeObserver(acquireObserver)
-        progressViewModel.pointerDownLiveData.removeObserver(pointerDownObserver)
-        progressViewModel.pointerUpLiveData.removeObserver(pointerUpObserver)
-    }
-
-    private fun cancelEnrollment(waitForLastCancelErrMsg: Boolean) {
-        if (!progressViewModel.isEnrolling) {
-            Log.d(TAG, "cancelEnrollment(), failed because isEnrolling is false")
-            return
-        }
-        removeEnrollmentObservers()
-        if (waitForLastCancelErrMsg) {
-            progressViewModel.canceledSignalLiveData.observe(this, canceledSignalObserver)
-        } else {
-            enrollingCancelSignal = null
-        }
-        val cancelResult: Boolean = progressViewModel.cancelEnrollment()
-        if (!cancelResult) {
-            Log.e(TAG, "cancelEnrollment(), failed to cancel enrollment")
-        }
-    }
-
-    private fun startEnrollment() {
-        enrollingCancelSignal = progressViewModel.startEnrollment(ENROLL_ENROLL)
-        if (enrollingCancelSignal == null) {
-            Log.e(TAG, "startEnrollment(), failed")
-        } else {
-            Log.d(TAG, "startEnrollment(), success")
-        }
-        progressViewModel.progressLiveData.observe(this, progressObserver)
-        progressViewModel.helpMessageLiveData.observe(this, helpMessageObserver)
-        progressViewModel.errorMessageLiveData.observe(this, errorMessageObserver)
-        progressViewModel.acquireLiveData.observe(this, acquireObserver)
-        progressViewModel.pointerDownLiveData.observe(this, pointerDownObserver)
-        progressViewModel.pointerUpLiveData.observe(this, pointerUpObserver)
-    }
-
-    private fun updateProgress(animate: Boolean, enrollmentProgress: EnrollmentProgress) {
-        if (!progressViewModel.isEnrolling) {
-            Log.d(TAG, "Enrollment not started yet")
-            return
-        }
-
-        val progress = getProgress(enrollmentProgress)
-        Log.d(TAG, "updateProgress($animate, $enrollmentProgress), progress:$progress")
-
-        if (enrollmentProgress.steps != -1) {
-            udfpsEnrollView.onEnrollmentProgress(
-                enrollmentProgress.remaining,
-                enrollmentProgress.steps
-            )
-        }
-
-        if (progress >= PROGRESS_BAR_MAX) {
-            if (animate) {
-                // Wait animations to finish, then proceed to next page
-                activity!!.mainThreadHandler.postDelayed(delayedFinishRunnable, 400L)
-            } else {
-                delayedFinishRunnable.run()
-            }
-        }
-    }
-
-    private fun getProgress(progress: EnrollmentProgress): Int {
-        if (progress.steps == -1) {
-            return 0
-        }
-        val displayProgress = 0.coerceAtLeast(progress.steps + 1 - progress.remaining)
-        return PROGRESS_BAR_MAX * displayProgress / (progress.steps + 1)
-    }
-
-    private fun updateTitleAndDescription() {
-        Log.d(TAG, "updateTitleAndDescription($currentStage)")
-        when (currentStage) {
-            STAGE_CENTER -> {
-                titleText.setText(R.string.security_settings_fingerprint_enroll_repeat_title)
-                if (isAccessibilityEnabled || illustrationLottie == null) {
-                    subTitleText.setText(R.string.security_settings_udfps_enroll_start_message)
-                } else if (!haveShownCenterLottie) {
-                    haveShownCenterLottie = true
-                    // Note: Update string reference when differentiate in between udfps & sfps
-                    illustrationLottie!!.contentDescription = getString(R.string.security_settings_sfps_enroll_finger_center_title)
-                    configureEnrollmentStage(R.raw.udfps_center_hint_lottie)
-                }
-            }
-
-            STAGE_GUIDED -> {
-                titleText.setText(R.string.security_settings_fingerprint_enroll_repeat_title)
-                if (isAccessibilityEnabled || illustrationLottie == null) {
-                    subTitleText.setText(
-                        R.string.security_settings_udfps_enroll_repeat_a11y_message
-                    )
-                } else if (!haveShownGuideLottie) {
-                    haveShownGuideLottie = true
-                    illustrationLottie!!.contentDescription =
-                        getString(R.string.security_settings_fingerprint_enroll_repeat_message)
-                    // TODO(b/228100413) Could customize guided lottie animation
-                    configureEnrollmentStage(R.raw.udfps_center_hint_lottie)
-                }
-            }
-
-            STAGE_FINGERTIP -> {
-                titleText.setText(R.string.security_settings_udfps_enroll_fingertip_title)
-                if (!haveShownTipLottie && illustrationLottie != null) {
-                    haveShownTipLottie = true
-                    illustrationLottie!!.contentDescription =
-                        getString(R.string.security_settings_udfps_tip_fingerprint_help)
-                    configureEnrollmentStage(R.raw.udfps_tip_hint_lottie)
-                }
-            }
-
-            STAGE_LEFT_EDGE -> {
-                titleText.setText(R.string.security_settings_udfps_enroll_left_edge_title)
-                if (!haveShownLeftEdgeLottie && illustrationLottie != null) {
-                    haveShownLeftEdgeLottie = true
-                    illustrationLottie!!.contentDescription =
-                        getString(R.string.security_settings_udfps_side_fingerprint_help)
-                    configureEnrollmentStage(R.raw.udfps_left_edge_hint_lottie)
-                } else if (illustrationLottie == null) {
-                    if (isStageHalfCompleted) {
-                        subTitleText.setText(
-                            R.string.security_settings_fingerprint_enroll_repeat_message
-                        )
-                    } else {
-                        subTitleText.setText(R.string.security_settings_udfps_enroll_edge_message)
-                    }
-                }
-            }
-
-            STAGE_RIGHT_EDGE -> {
-                titleText.setText(R.string.security_settings_udfps_enroll_right_edge_title)
-                if (!haveShownRightEdgeLottie && illustrationLottie != null) {
-                    haveShownRightEdgeLottie = true
-                    illustrationLottie!!.contentDescription =
-                        getString(R.string.security_settings_udfps_side_fingerprint_help)
-                    configureEnrollmentStage(R.raw.udfps_right_edge_hint_lottie)
-                } else if (illustrationLottie == null) {
-                    if (isStageHalfCompleted) {
-                        subTitleText.setText(
-                            R.string.security_settings_fingerprint_enroll_repeat_message
-                        )
-                    } else {
-                        subTitleText.setText(R.string.security_settings_udfps_enroll_edge_message)
-                    }
-                }
-            }
-
-            STAGE_UNKNOWN -> {
-                titleText.setText(R.string.security_settings_fingerprint_enroll_udfps_title)
-                subTitleText.setText(R.string.security_settings_udfps_enroll_start_message)
-                val description: CharSequence = getString(
-                    R.string.security_settings_udfps_enroll_a11y
-                )
-                requireActivity().title = description
-            }
-
-            else -> {
-                titleText.setText(R.string.security_settings_fingerprint_enroll_udfps_title)
-                subTitleText.setText(R.string.security_settings_udfps_enroll_start_message)
-                val description: CharSequence = getString(
-                    R.string.security_settings_udfps_enroll_a11y
-                )
-                requireActivity().title = description
-            }
-        }
-    }
-
-    private fun updateIllustrationLottie(@Surface.Rotation rotation: Int) {
-        if (rotation == ROTATION_90 || rotation == ROTATION_270) {
-            illustrationLottie = null
-        } else if (shouldShowLottie) {
-            illustrationLottie =
-                enrollingView!!.findViewById(R.id.illustration_lottie)
-        }
-    }
-
-    private val currentStage: Int
-        get() {
-            val progress = progressViewModel.progressLiveData.value!!
-            if (progress.steps == -1) {
-                return STAGE_UNKNOWN
-            }
-            val progressSteps: Int = progress.steps - progress.remaining
-            return if (progressSteps < getStageThresholdSteps(0)) {
-                STAGE_CENTER
-            } else if (progressSteps < getStageThresholdSteps(1)) {
-                STAGE_GUIDED
-            } else if (progressSteps < getStageThresholdSteps(2)) {
-                STAGE_FINGERTIP
-            } else if (progressSteps < getStageThresholdSteps(3)) {
-                STAGE_LEFT_EDGE
-            } else {
-                STAGE_RIGHT_EDGE
-            }
-        }
-
-    private val isStageHalfCompleted: Boolean
-        get() {
-            val progress: EnrollmentProgress = progressViewModel.progressLiveData.value!!
-            if (progress.steps == -1) {
-                return false
-            }
-            val progressSteps: Int = progress.steps - progress.remaining
-            var prevThresholdSteps = 0
-            for (i in 0 until enrollingViewModel.getEnrollStageCount()) {
-                val thresholdSteps = getStageThresholdSteps(i)
-                if (progressSteps in prevThresholdSteps until thresholdSteps) {
-                    val adjustedProgress = progressSteps - prevThresholdSteps
-                    val adjustedThreshold = thresholdSteps - prevThresholdSteps
-                    return adjustedProgress >= adjustedThreshold / 2
-                }
-                prevThresholdSteps = thresholdSteps
-            }
-
-            // After last enrollment step.
-            return true
-        }
-
-    private fun getStageThresholdSteps(index: Int): Int {
-        val progress: EnrollmentProgress = progressViewModel.progressLiveData.value!!
-        if (progress.steps == -1) {
-            Log.w(TAG, "getStageThresholdSteps: Enrollment not started yet")
-            return 1
-        }
-        return (progress.steps * enrollingViewModel.getEnrollStageThreshold(index)).roundToInt()
-    }
-
-    private fun configureEnrollmentStage(@RawRes lottie: Int) {
-        subTitleText.text = ""
-        LottieCompositionFactory.fromRawRes(activity, lottie)
-            .addListener { c: LottieComposition ->
-                illustrationLottie?.let {
-                    it.setComposition(c)
-                    it.visibility = View.VISIBLE
-                    it.playAnimation()
-                }
-            }
-    }
-
-    private fun onEnrollmentProgressChange(progress: EnrollmentProgress) {
-        updateProgress(true /* animate */, progress)
-        updateTitleAndDescription()
-        if (isAccessibilityEnabled) {
-            val steps: Int = progress.steps
-            val remaining: Int = progress.remaining
-            val percent = ((steps - remaining).toFloat() / steps.toFloat() * 100).toInt()
-            val announcement: CharSequence = activity!!.getString(
-                R.string.security_settings_udfps_enroll_progress_a11y_message, percent
-            )
-            enrollingViewModel.sendAccessibilityEvent(announcement)
-        }
-    }
-
-    private fun onEnrollmentHelp(helpMessage: EnrollmentStatusMessage) {
-        Log.d(TAG, "onEnrollmentHelp($helpMessage)")
-        val helpStr: CharSequence = helpMessage.str
-        if (helpStr.isNotEmpty()) {
-            showError(helpStr)
-            udfpsEnrollView.onEnrollmentHelp()
-        }
-    }
-
-    private fun onEnrollmentError(errorMessage: EnrollmentStatusMessage) {
-        cancelEnrollment(true)
-        lifecycleScope.launch {
-            Log.d(TAG, "newDialog $errorMessage")
-            errorDialogViewModel.newDialog(errorMessage.msgId)
-        }
-    }
-
-    private fun onEnrollmentCanceled(canceledSignal: Any) {
-        Log.d(
-            TAG,
-            "onEnrollmentCanceled enrolling:$enrollingCancelSignal, canceled:$canceledSignal"
-        )
-        if (enrollingCancelSignal === canceledSignal) {
-            progressViewModel.canceledSignalLiveData.removeObserver(canceledSignalObserver)
-            progressViewModel.clearProgressLiveData()
-            if (enrollingViewModel.onBackPressed) {
-                enrollingViewModel.onCancelledDueToOnBackPressed()
-            } else if (enrollingViewModel.onSkipPressed) {
-                enrollingViewModel.onCancelledDueToOnSkipPressed()
-            }
-        }
-    }
-
-    private fun onAcquired(isAcquiredGood: Boolean) {
-        udfpsEnrollView.onAcquired(isAcquiredGood)
-    }
-
-    private fun onPointerDown(sensorId: Int) {
-        udfpsEnrollView.onPointerDown(sensorId)
-    }
-
-    private fun onPointerUp(sensorId: Int) {
-        udfpsEnrollView.onPointerUp(sensorId)
-    }
-
-    private fun showError(error: CharSequence) {
-        titleText.text = error
-        titleText.contentDescription = error
-        subTitleText.contentDescription = ""
-    }
-
-    private fun onRotationChanged(newRotation: Int) {
-        if ((newRotation + 2) % 4 == rotation) {
-            rotation = newRotation
-            requireContext().configLayout(newRotation, titleText, subTitleText, icon, skipBtn)
-        }
-    }
-
-    companion object {
-        private val TAG = "FingerprintEnrollEnrollingUdfpsFragment"
-        private const val PROGRESS_BAR_MAX = 10000
-        private const val STAGE_UNKNOWN = -1
-        private const val STAGE_CENTER = 0
-        private const val STAGE_GUIDED = 1
-        private const val STAGE_FINGERTIP = 2
-        private const val STAGE_LEFT_EDGE = 3
-        private const val STAGE_RIGHT_EDGE = 4
-    }
-}
-
-
-fun FragmentActivity.bindFingerprintEnrollEnrollingUdfpsView(
-    view: RelativeLayout,
-    sensorProperties: FingerprintSensorPropertiesInternal,
-    @Surface.Rotation rotation: Int,
-    onSkipClickListener: View.OnClickListener
-) {
-    view.findViewById<UdfpsEnrollView>(R.id.udfps_animation_view)!!.setSensorProperties(
-        sensorProperties
-    )
-
-    val titleText = view.findViewById<TextView>(R.id.suc_layout_title)!!
-    val subTitleText = view.findViewById<TextView>(R.id.sud_layout_subtitle)!!
-    val icon = view.findViewById<ImageView>(R.id.sud_layout_icon)!!
-    val skipBtn = view.findViewById<Button>(R.id.skip_btn)!!.also {
-        it.setOnClickListener(onSkipClickListener)
-    }
-    configLayout(rotation, titleText, subTitleText, icon, skipBtn)
-}
-
-private fun Context.configLayout(
-    @Surface.Rotation newRotation: Int,
-    titleText: TextView,
-    subTitleText: TextView,
-    icon: ImageView,
-    skipBtn: Button
-) {
-    if (newRotation == ROTATION_270) {
-        val iconLP = RelativeLayout.LayoutParams(-2, -2)
-        iconLP.addRule(RelativeLayout.ALIGN_PARENT_TOP)
-        iconLP.addRule(RelativeLayout.END_OF, R.id.udfps_animation_view)
-        iconLP.topMargin = convertDpToPixel(76.64f)
-        iconLP.leftMargin = convertDpToPixel(151.54f)
-        icon.layoutParams = iconLP
-        val titleLP = RelativeLayout.LayoutParams(-1, -2)
-        titleLP.addRule(RelativeLayout.ALIGN_PARENT_TOP)
-        titleLP.addRule(RelativeLayout.END_OF, R.id.udfps_animation_view)
-        titleLP.topMargin = convertDpToPixel(138f)
-        titleLP.leftMargin = convertDpToPixel(144f)
-        titleText.layoutParams = titleLP
-        val subtitleLP = RelativeLayout.LayoutParams(-1, -2)
-        subtitleLP.addRule(RelativeLayout.ALIGN_PARENT_TOP)
-        subtitleLP.addRule(RelativeLayout.END_OF, R.id.udfps_animation_view)
-        subtitleLP.topMargin = convertDpToPixel(198f)
-        subtitleLP.leftMargin = convertDpToPixel(144f)
-        subTitleText.layoutParams = subtitleLP
-    } else if (newRotation == ROTATION_90) {
-        val metrics = resources.displayMetrics
-        val iconLP = RelativeLayout.LayoutParams(-2, -2)
-        iconLP.addRule(RelativeLayout.ALIGN_PARENT_TOP)
-        iconLP.addRule(RelativeLayout.ALIGN_PARENT_START)
-        iconLP.topMargin = convertDpToPixel(76.64f)
-        iconLP.leftMargin = convertDpToPixel(71.99f)
-        icon.layoutParams = iconLP
-        val titleLP = RelativeLayout.LayoutParams(
-            metrics.widthPixels / 2, -2
-        )
-        titleLP.addRule(RelativeLayout.ALIGN_PARENT_TOP)
-        titleLP.addRule(RelativeLayout.ALIGN_PARENT_START, R.id.udfps_animation_view)
-        titleLP.topMargin = convertDpToPixel(138f)
-        titleLP.leftMargin = convertDpToPixel(66f)
-        titleText.layoutParams = titleLP
-        val subtitleLP = RelativeLayout.LayoutParams(
-            metrics.widthPixels / 2, -2
-        )
-        subtitleLP.addRule(RelativeLayout.ALIGN_PARENT_TOP)
-        subtitleLP.addRule(RelativeLayout.ALIGN_PARENT_START)
-        subtitleLP.topMargin = convertDpToPixel(198f)
-        subtitleLP.leftMargin = convertDpToPixel(66f)
-        subTitleText.layoutParams = subtitleLP
-    }
-    if (newRotation == ROTATION_90 || newRotation == ROTATION_270) {
-        val skipBtnLP = skipBtn.layoutParams as RelativeLayout.LayoutParams
-        skipBtnLP.topMargin = convertDpToPixel(26f)
-        skipBtnLP.leftMargin = convertDpToPixel(54f)
-        skipBtn.requestLayout()
-    }
-}
-
-fun Context.convertDpToPixel(dp: Float): Int {
-    return (dp * resources.displayMetrics.density).toInt()
-}
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollErrorDialog.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollErrorDialog.kt
deleted file mode 100644
index 882cbcf..0000000
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollErrorDialog.kt
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.view
-
-import android.app.Dialog
-import android.content.Context
-import android.content.DialogInterface
-import android.hardware.biometrics.BiometricConstants
-import android.hardware.biometrics.BiometricFingerprintConstants.FINGERPRINT_ERROR_UNABLE_TO_PROCESS
-import android.hardware.fingerprint.FingerprintManager.FINGERPRINT_ERROR_HW_UNAVAILABLE
-import android.os.Bundle
-import android.util.Log
-import androidx.appcompat.app.AlertDialog
-import androidx.fragment.app.DialogFragment
-import androidx.lifecycle.ViewModelProvider
-import androidx.lifecycle.lifecycleScope
-import com.android.settings.R
-import com.android.settings.biometrics.fingerprint.FingerprintErrorDialog.getErrorMessage
-import com.android.settings.biometrics.fingerprint.FingerprintErrorDialog.getErrorTitle
-import com.android.settings.biometrics.fingerprint.FingerprintErrorDialog.getSetupErrorMessage
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollErrorDialogViewModel
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintErrorDialogSetResultAction.FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_FINISH
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintErrorDialogSetResultAction.FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_TIMEOUT
-import kotlinx.coroutines.launch
-
-/**
- * Fingerprint error dialog, will be shown when an error occurs during fingerprint enrollment.
- */
-class FingerprintEnrollErrorDialog : DialogFragment() {
-
-    private val viewModel: FingerprintEnrollErrorDialogViewModel?
-        get() = activity?.let {
-            ViewModelProvider(it)[FingerprintEnrollErrorDialogViewModel::class.java]
-        }
-
-    override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
-        val errorMsgId: Int = requireArguments().getInt(KEY_ERROR_MSG_ID)
-        val okButtonSetResultAction =
-            if (errorMsgId == BiometricConstants.BIOMETRIC_ERROR_TIMEOUT)
-                FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_TIMEOUT
-            else
-                FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_FINISH
-        return requireActivity().bindFingerprintEnrollEnrollingErrorDialog(
-                errorMsgId = errorMsgId,
-                isSuw = viewModel!!.isSuw,
-                tryAgainButtonClickListener = { dialog: DialogInterface?, _: Int ->
-                    activity?.lifecycleScope?.launch {
-                        Log.d(TAG, "tryAgain flow")
-                        viewModel?.triggerRetry()
-                        dialog?.dismiss()
-                    }
-                },
-                okButtonClickListener = { dialog: DialogInterface?, _: Int ->
-                    activity?.lifecycleScope?.launch {
-                        Log.d(TAG, "ok flow as $okButtonSetResultAction")
-                        viewModel?.setResultAndFinish(okButtonSetResultAction)
-                        dialog?.dismiss()
-                    }
-                }
-            )
-    }
-
-    companion object {
-        private const val TAG = "FingerprintEnrollErrorDialog"
-        private const val KEY_ERROR_MSG_ID = "error_msg_id"
-
-        fun newInstance(errorMsgId: Int): FingerprintEnrollErrorDialog {
-            val dialog = FingerprintEnrollErrorDialog()
-            val args = Bundle()
-            args.putInt(KEY_ERROR_MSG_ID, errorMsgId)
-            dialog.arguments = args
-            return dialog
-        }
-    }
-}
-
-fun Context.bindFingerprintEnrollEnrollingErrorDialog(
-    errorMsgId: Int,
-    isSuw: Boolean,
-    tryAgainButtonClickListener: DialogInterface.OnClickListener,
-    okButtonClickListener: DialogInterface.OnClickListener
-): AlertDialog = AlertDialog.Builder(this)
-    .setTitle(getString(getErrorTitle(errorMsgId)))
-    .setMessage(
-        getString(
-            if (isSuw)
-                getSetupErrorMessage(errorMsgId)
-            else
-                getErrorMessage(errorMsgId)
-        )
-    )
-    .setCancelable(false).apply {
-        if (errorMsgId == FINGERPRINT_ERROR_UNABLE_TO_PROCESS) {
-            setPositiveButton(
-                R.string.security_settings_fingerprint_enroll_dialog_try_again,
-                tryAgainButtonClickListener
-            )
-            setNegativeButton(
-                R.string.security_settings_fingerprint_enroll_dialog_ok,
-                okButtonClickListener
-            )
-        } else {
-            setPositiveButton(
-                R.string.security_settings_fingerprint_enroll_dialog_ok,
-                okButtonClickListener
-            )
-        }
-    }
-    .create()
-    .apply { setCanceledOnTouchOutside(false) }
\ No newline at end of file
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindRfpsFragment.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindRfpsFragment.kt
deleted file mode 100644
index be24fc6..0000000
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindRfpsFragment.kt
+++ /dev/null
@@ -1,295 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.view
-
-import android.content.Context
-import android.hardware.fingerprint.FingerprintManager.ENROLL_FIND_SENSOR
-import android.os.Bundle
-import android.util.Log
-import android.view.LayoutInflater
-import android.view.Surface
-import android.view.View
-import android.view.ViewGroup
-import androidx.fragment.app.Fragment
-import androidx.fragment.app.FragmentActivity
-import androidx.lifecycle.Lifecycle
-import androidx.lifecycle.LiveData
-import androidx.lifecycle.Observer
-import androidx.lifecycle.ViewModelProvider
-import androidx.lifecycle.lifecycleScope
-import androidx.lifecycle.repeatOnLifecycle
-import com.android.settings.R
-import com.android.settings.biometrics.fingerprint.FingerprintFindSensorAnimation
-import com.android.settings.biometrics2.ui.model.EnrollmentProgress
-import com.android.settings.biometrics2.ui.model.EnrollmentStatusMessage
-import com.android.settings.biometrics2.ui.viewmodel.DeviceRotationViewModel
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollErrorDialogViewModel
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFindSensorViewModel
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollProgressViewModel
-import com.google.android.setupcompat.template.FooterBarMixin
-import com.google.android.setupcompat.template.FooterButton
-import com.google.android.setupdesign.GlifLayout
-import kotlinx.coroutines.launch
-
-/**
- * Fragment explaining the side fingerprint sensor location for fingerprint enrollment.
- * It interacts with ProgressViewModel, and FingerprintFindSensorAnimation.
- * <pre>
- * | Has                 | UDFPS | SFPS | Other (Rear FPS) |
- * |---------------------|-------|------|------------------|
- * | Primary button      | Yes   | No   | No               |
- * | Illustration Lottie | Yes   | Yes  | No               |
- * | Animation           | No    | No   | Depend on layout |
- * | Progress ViewModel  | No    | Yes  | Yes              |
- * | Orientation detect  | No    | Yes  | No               |
- * | Foldable detect     | No    | Yes  | No               |
- * </pre>
- */
-class FingerprintEnrollFindRfpsFragment : Fragment() {
-
-    private var _viewModel: FingerprintEnrollFindSensorViewModel? = null
-    private val viewModel: FingerprintEnrollFindSensorViewModel
-        get() = _viewModel!!
-
-    private var _progressViewModel: FingerprintEnrollProgressViewModel? = null
-    private val progressViewModel: FingerprintEnrollProgressViewModel
-        get() = _progressViewModel!!
-
-    private var _rotationViewModel: DeviceRotationViewModel? = null
-    private val rotationViewModel: DeviceRotationViewModel
-        get() = _rotationViewModel!!
-
-    private var _errorDialogViewModel: FingerprintEnrollErrorDialogViewModel? = null
-    private val errorDialogViewModel: FingerprintEnrollErrorDialogViewModel
-        get() = _errorDialogViewModel!!
-
-    private var findRfpsView: GlifLayout? = null
-
-    private val onSkipClickListener =
-        View.OnClickListener { _: View? -> viewModel.onSkipButtonClick() }
-
-    private var animation: FingerprintFindSensorAnimation? = null
-
-    private var enrollingCancelSignal: Any? = null
-
-    @Surface.Rotation
-    private var lastRotation = -1
-
-    private val progressObserver = Observer { progress: EnrollmentProgress? ->
-        if (progress != null && !progress.isInitialStep) {
-            cancelEnrollment(true)
-        }
-    }
-
-    private val errorMessageObserver = Observer { errorMessage: EnrollmentStatusMessage? ->
-        Log.d(TAG, "errorMessageObserver($errorMessage)")
-        errorMessage?.let { onEnrollmentError(it) }
-    }
-
-    private val canceledSignalObserver = Observer { canceledSignal: Any? ->
-        canceledSignal?.let { onEnrollmentCanceled(it) }
-    }
-
-    override fun onCreateView(
-        inflater: LayoutInflater, container: ViewGroup?,
-        savedInstanceState: Bundle?
-    ): View {
-        findRfpsView = inflater.inflate(
-            R.layout.fingerprint_enroll_find_sensor,
-            container,
-            false
-        ) as GlifLayout
-
-        val animationView = findRfpsView!!.findViewById<View>(
-            R.id.fingerprint_sensor_location_animation
-        )
-        if (animationView is FingerprintFindSensorAnimation) {
-            animation = animationView
-        }
-
-        return findRfpsView!!
-    }
-
-    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
-        super.onViewCreated(view, savedInstanceState)
-        requireActivity().bindFingerprintEnrollFindRfpsView(
-            view = findRfpsView!!,
-            onSkipClickListener = onSkipClickListener
-        )
-
-        lifecycleScope.launch {
-            repeatOnLifecycle(Lifecycle.State.STARTED) {
-                errorDialogViewModel.triggerRetryFlow.collect { retryLookingForFingerprint() }
-            }
-        }
-    }
-
-    private fun retryLookingForFingerprint() {
-        startEnrollment()
-        animation?.let {
-            Log.d(TAG, "retry, start animation")
-            it.startAnimation()
-        }
-    }
-
-    override fun onStart() {
-        super.onStart()
-        val isErrorDialogShown = errorDialogViewModel.isDialogShown
-        Log.d(TAG, "onStart(), isEnrolling:${progressViewModel.isEnrolling}"
-                + ", isErrorDialog:$isErrorDialogShown")
-        if (!isErrorDialogShown) {
-            startEnrollment()
-        }
-    }
-
-    override fun onResume() {
-        val rotationLiveData: LiveData<Int> = rotationViewModel.liveData
-        lastRotation = rotationLiveData.value!!
-        if (!errorDialogViewModel.isDialogShown) {
-            animation?.let {
-                Log.d(TAG, "onResume(), start animation")
-                it.startAnimation()
-            }
-        }
-        super.onResume()
-    }
-
-    override fun onPause() {
-        animation?.let {
-            if (DEBUG) {
-                Log.d(TAG, "onPause(), pause animation")
-            }
-            it.pauseAnimation()
-        }
-        super.onPause()
-    }
-
-    override fun onStop() {
-        super.onStop()
-        removeEnrollmentObservers()
-        val isEnrolling = progressViewModel.isEnrolling
-        val isConfigChange = requireActivity().isChangingConfigurations
-        Log.d(TAG, "onStop(), enrolling:$isEnrolling isConfigChange:$isConfigChange")
-        if (isEnrolling && !isConfigChange) {
-            cancelEnrollment(false)
-        }
-    }
-
-    private fun removeEnrollmentObservers() {
-        progressViewModel.progressLiveData.removeObserver(progressObserver)
-        progressViewModel.helpMessageLiveData.removeObserver(errorMessageObserver)
-    }
-
-    private fun startEnrollment() {
-        enrollingCancelSignal = progressViewModel.startEnrollment(ENROLL_FIND_SENSOR)
-        if (enrollingCancelSignal == null) {
-            Log.e(TAG, "startEnrollment(), failed to start enrollment")
-        } else {
-            Log.d(TAG, "startEnrollment(), success")
-        }
-        progressViewModel.progressLiveData.observe(this, progressObserver)
-        progressViewModel.errorMessageLiveData.observe(this, errorMessageObserver)
-    }
-
-    private fun cancelEnrollment(waitForLastCancelErrMsg: Boolean) {
-        if (!progressViewModel.isEnrolling) {
-            Log.d(TAG, "cancelEnrollment(), failed because isEnrolling is false")
-            return
-        }
-        removeEnrollmentObservers()
-        if (waitForLastCancelErrMsg) {
-            progressViewModel.canceledSignalLiveData.observe(this, canceledSignalObserver)
-        } else {
-            enrollingCancelSignal = null
-        }
-        val cancelResult: Boolean = progressViewModel.cancelEnrollment()
-        if (!cancelResult) {
-            Log.e(TAG, "cancelEnrollment(), failed to cancel enrollment")
-        }
-    }
-
-    private fun onEnrollmentError(errorMessage: EnrollmentStatusMessage) {
-        cancelEnrollment(false)
-        lifecycleScope.launch {
-            Log.d(TAG, "newDialogFlow as $errorMessage")
-            errorDialogViewModel.newDialog(errorMessage.msgId)
-        }
-    }
-
-    private fun onEnrollmentCanceled(canceledSignal: Any) {
-        Log.d(
-            TAG,
-            "onEnrollmentCanceled enrolling:$enrollingCancelSignal, canceled:$canceledSignal"
-        )
-        if (enrollingCancelSignal === canceledSignal) {
-            val progress: EnrollmentProgress? = progressViewModel.progressLiveData.value
-            progressViewModel.canceledSignalLiveData.removeObserver(canceledSignalObserver)
-            progressViewModel.clearProgressLiveData()
-            if (progress != null && !progress.isInitialStep) {
-                viewModel.onStartButtonClick()
-            }
-        }
-    }
-
-    override fun onDestroy() {
-        animation?.let {
-            if (DEBUG) {
-                Log.d(TAG, "onDestroy(), stop animation")
-            }
-            it.stopAnimation()
-        }
-        super.onDestroy()
-    }
-
-    override fun onAttach(context: Context) {
-        ViewModelProvider(requireActivity()).let { provider ->
-            _viewModel = provider[FingerprintEnrollFindSensorViewModel::class.java]
-            _progressViewModel = provider[FingerprintEnrollProgressViewModel::class.java]
-            _rotationViewModel = provider[DeviceRotationViewModel::class.java]
-            _errorDialogViewModel = provider[FingerprintEnrollErrorDialogViewModel::class.java]
-        }
-        super.onAttach(context)
-    }
-
-    companion object {
-        private const val DEBUG = false
-        private const val TAG = "FingerprintEnrollFindRfpsFragment"
-    }
-}
-
-fun FragmentActivity.bindFingerprintEnrollFindRfpsView(
-    view: GlifLayout,
-    onSkipClickListener: View.OnClickListener,
-) {
-    GlifLayoutHelper(this, view).let {
-        it.setHeaderText(
-            R.string.security_settings_fingerprint_enroll_find_sensor_title
-        )
-        it.setDescriptionText(
-            getText(R.string.security_settings_fingerprint_enroll_find_sensor_message)
-        )
-    }
-
-    view.getMixin(FooterBarMixin::class.java).secondaryButton =
-        FooterButton.Builder(this)
-            .setText(R.string.security_settings_fingerprint_enroll_enrolling_skip)
-            .setButtonType(FooterButton.ButtonType.SKIP)
-            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
-            .build()
-            .also {
-                it.setOnClickListener(onSkipClickListener)
-            }
-}
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindSfpsFragment.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindSfpsFragment.kt
deleted file mode 100644
index 7455be1..0000000
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindSfpsFragment.kt
+++ /dev/null
@@ -1,319 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.view
-
-import android.content.Context
-import android.hardware.fingerprint.FingerprintManager.ENROLL_FIND_SENSOR
-import android.os.Bundle
-import android.util.Log
-import android.view.LayoutInflater
-import android.view.Surface
-import android.view.View
-import android.view.ViewGroup
-import androidx.annotation.RawRes
-import androidx.fragment.app.Fragment
-import androidx.fragment.app.FragmentActivity
-import androidx.lifecycle.Lifecycle
-import androidx.lifecycle.LiveData
-import androidx.lifecycle.Observer
-import androidx.lifecycle.ViewModelProvider
-import androidx.lifecycle.lifecycleScope
-import androidx.lifecycle.repeatOnLifecycle
-import com.airbnb.lottie.LottieAnimationView
-import com.android.settings.R
-import com.android.settings.biometrics2.ui.model.EnrollmentProgress
-import com.android.settings.biometrics2.ui.model.EnrollmentStatusMessage
-import com.android.settings.biometrics2.ui.viewmodel.DeviceFoldedViewModel
-import com.android.settings.biometrics2.ui.viewmodel.DeviceRotationViewModel
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollErrorDialogViewModel
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFindSensorViewModel
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollProgressViewModel
-import com.android.settingslib.widget.LottieColorUtils
-import com.google.android.setupcompat.template.FooterBarMixin
-import com.google.android.setupcompat.template.FooterButton
-import com.google.android.setupdesign.GlifLayout
-import kotlinx.coroutines.launch
-
-/**
- * Fragment explaining the side fingerprint sensor location for fingerprint enrollment.
- * It interacts with ProgressViewModel, FoldCallback (for different lottie), and
- * LottieAnimationView.
- * <pre>
- * | Has                 | UDFPS | SFPS | Other (Rear FPS) |
- * |---------------------|-------|------|------------------|
- * | Primary button      | Yes   | No   | No               |
- * | Illustration Lottie | Yes   | Yes  | No               |
- * | Animation           | No    | No   | Depend on layout |
- * | Progress ViewModel  | No    | Yes  | Yes              |
- * | Orientation detect  | No    | Yes  | No               |
- * | Foldable detect     | No    | Yes  | No               |
- * </pre>
- */
-class FingerprintEnrollFindSfpsFragment : Fragment() {
-
-    private var _viewModel: FingerprintEnrollFindSensorViewModel? = null
-    private val viewModel: FingerprintEnrollFindSensorViewModel
-        get() = _viewModel!!
-
-    private var _progressViewModel: FingerprintEnrollProgressViewModel? = null
-    private val progressViewModel: FingerprintEnrollProgressViewModel
-        get() = _progressViewModel!!
-
-    private var _rotationViewModel: DeviceRotationViewModel? = null
-    private val rotationViewModel: DeviceRotationViewModel
-        get() = _rotationViewModel!!
-
-    private var _foldedViewModel: DeviceFoldedViewModel? = null
-    private val foldedViewModel: DeviceFoldedViewModel
-        get() = _foldedViewModel!!
-
-    private var _errorDialogViewModel: FingerprintEnrollErrorDialogViewModel? = null
-    private val errorDialogViewModel: FingerprintEnrollErrorDialogViewModel
-        get() = _errorDialogViewModel!!
-
-    private var findSfpsView: GlifLayout? = null
-
-    private val onSkipClickListener =
-        View.OnClickListener { _: View? -> viewModel.onSkipButtonClick() }
-
-    private val illustrationLottie: LottieAnimationView
-        get() = findSfpsView!!.findViewById(R.id.illustration_lottie)!!
-
-    private var enrollingCancelSignal: Any? = null
-
-    @Surface.Rotation
-    private var animationRotation = -1
-
-    private val rotationObserver = Observer { rotation: Int? ->
-        rotation?.let { onRotationChanged(it) }
-    }
-
-    private val progressObserver = Observer { progress: EnrollmentProgress? ->
-        if (progress != null && !progress.isInitialStep) {
-            cancelEnrollment(true)
-        }
-    }
-
-    private val errorMessageObserver = Observer{ errorMessage: EnrollmentStatusMessage? ->
-        Log.d(TAG, "errorMessageObserver($errorMessage)")
-        errorMessage?.let { onEnrollmentError(it) }
-    }
-
-    private val canceledSignalObserver = Observer { canceledSignal: Any? ->
-        canceledSignal?.let { onEnrollmentCanceled(it) }
-    }
-
-    override fun onCreateView(
-        inflater: LayoutInflater, container: ViewGroup?,
-        savedInstanceState: Bundle?
-    ): View = (inflater.inflate(
-        R.layout.sfps_enroll_find_sensor_layout,
-        container,
-        false
-    ) as GlifLayout).also {
-        findSfpsView = it
-    }
-
-    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
-        super.onViewCreated(view, savedInstanceState)
-        requireActivity().bindFingerprintEnrollFindSfpsView(
-            view = findSfpsView!!,
-            onSkipClickListener = onSkipClickListener
-        )
-
-        lifecycleScope.launch {
-            repeatOnLifecycle(Lifecycle.State.STARTED) {
-                errorDialogViewModel.triggerRetryFlow.collect { startEnrollment() }
-            }
-        }
-    }
-
-    override fun onStart() {
-        super.onStart()
-        val isErrorDialogShown = errorDialogViewModel.isDialogShown
-        Log.d(TAG, "onStart(), isEnrolling:${progressViewModel.isEnrolling}"
-                + ", isErrorDialog:$isErrorDialogShown")
-        if (!isErrorDialogShown) {
-            startEnrollment()
-        }
-    }
-
-    override fun onResume() {
-        super.onResume()
-        val rotationLiveData: LiveData<Int> = rotationViewModel.liveData
-        playLottieAnimation(rotationLiveData.value!!)
-        rotationLiveData.observe(this, rotationObserver)
-    }
-
-    override fun onPause() {
-        rotationViewModel.liveData.removeObserver(rotationObserver)
-        super.onPause()
-    }
-
-    override fun onStop() {
-        super.onStop()
-        val isEnrolling = progressViewModel.isEnrolling
-        val isConfigChange = requireActivity().isChangingConfigurations
-        Log.d(TAG, "onStop(), enrolling:$isEnrolling isConfigChange:$isConfigChange")
-        if (isEnrolling && !isConfigChange) {
-            cancelEnrollment(false)
-        }
-    }
-
-    private fun removeEnrollmentObservers() {
-        progressViewModel.errorMessageLiveData.removeObserver(errorMessageObserver)
-        progressViewModel.progressLiveData.removeObserver(progressObserver)
-    }
-
-    private fun startEnrollment() {
-        enrollingCancelSignal = progressViewModel.startEnrollment(ENROLL_FIND_SENSOR)
-        if (enrollingCancelSignal == null) {
-            Log.e(TAG, "startEnrollment(), failed to start enrollment")
-        } else {
-            Log.d(TAG, "startEnrollment(), success")
-        }
-        progressViewModel.progressLiveData.observe(this, progressObserver)
-        progressViewModel.errorMessageLiveData.observe(this, errorMessageObserver)
-    }
-
-    private fun cancelEnrollment(waitForLastCancelErrMsg: Boolean) {
-        if (!progressViewModel.isEnrolling) {
-            Log.d(TAG, "cancelEnrollment(), failed because isEnrolling is false")
-            return
-        }
-        removeEnrollmentObservers()
-        if (waitForLastCancelErrMsg) {
-            progressViewModel.canceledSignalLiveData.observe(this, canceledSignalObserver)
-        } else {
-            enrollingCancelSignal = null
-        }
-        val cancelResult: Boolean = progressViewModel.cancelEnrollment()
-        if (!cancelResult) {
-            Log.e(TAG, "cancelEnrollment(), failed to cancel enrollment")
-        }
-    }
-
-    private fun onRotationChanged(@Surface.Rotation newRotation: Int) {
-        if (DEBUG) {
-            Log.d(TAG, "onRotationChanged() from $animationRotation to $newRotation")
-        }
-        if ((newRotation + 2) % 4 == animationRotation) {
-            // Fragment not changed, we just need to play correct rotation animation
-            playLottieAnimation(newRotation)
-        }
-    }
-
-    private fun onEnrollmentError(errorMessage: EnrollmentStatusMessage) {
-        progressViewModel.cancelEnrollment()
-        lifecycleScope.launch {
-            Log.d(TAG, "newDialogFlow as $errorMessage")
-            errorDialogViewModel.newDialog(errorMessage.msgId)
-        }
-    }
-
-    private fun onEnrollmentCanceled(canceledSignal: Any) {
-        Log.d(
-            TAG,
-            "onEnrollmentCanceled enrolling:$enrollingCancelSignal, canceled:$canceledSignal"
-        )
-        if (enrollingCancelSignal === canceledSignal) {
-            val progress: EnrollmentProgress? = progressViewModel.progressLiveData.value
-            progressViewModel.canceledSignalLiveData.removeObserver(canceledSignalObserver)
-            progressViewModel.clearProgressLiveData()
-            if (progress != null && !progress.isInitialStep) {
-                viewModel.onStartButtonClick()
-            }
-        }
-    }
-
-    private fun playLottieAnimation(@Surface.Rotation rotation: Int) {
-        @RawRes val animationRawRes = getSfpsLottieAnimationRawRes(rotation)
-        Log.d(
-            TAG,
-            "play lottie animation $animationRawRes, previous rotation:$animationRotation"
-                    + ", new rotation:" + rotation
-        )
-        animationRotation = rotation
-        illustrationLottie.setAnimation(animationRawRes)
-        LottieColorUtils.applyDynamicColors(activity, illustrationLottie)
-        illustrationLottie.visibility = View.VISIBLE
-        illustrationLottie.playAnimation()
-    }
-
-    @RawRes
-    private fun getSfpsLottieAnimationRawRes(@Surface.Rotation rotation: Int): Int {
-        val isFolded = java.lang.Boolean.FALSE != foldedViewModel.liveData.value
-        return when (rotation) {
-            Surface.ROTATION_90 ->
-                if (isFolded)
-                    R.raw.fingerprint_edu_lottie_folded_top_left
-                else
-                    R.raw.fingerprint_edu_lottie_portrait_top_left
-            Surface.ROTATION_180 ->
-                if (isFolded)
-                    R.raw.fingerprint_edu_lottie_folded_bottom_left
-                else
-                    R.raw.fingerprint_edu_lottie_landscape_bottom_left
-            Surface.ROTATION_270 ->
-                if (isFolded)
-                    R.raw.fingerprint_edu_lottie_folded_bottom_right
-                else
-                    R.raw.fingerprint_edu_lottie_portrait_bottom_right
-            else ->
-                if (isFolded)
-                    R.raw.fingerprint_edu_lottie_folded_top_right
-                else
-                    R.raw.fingerprint_edu_lottie_landscape_top_right
-        }
-    }
-
-    override fun onAttach(context: Context) {
-        ViewModelProvider(requireActivity()).let { provider ->
-            _viewModel = provider[FingerprintEnrollFindSensorViewModel::class.java]
-            _progressViewModel = provider[FingerprintEnrollProgressViewModel::class.java]
-            _rotationViewModel = provider[DeviceRotationViewModel::class.java]
-            _foldedViewModel = provider[DeviceFoldedViewModel::class.java]
-            _errorDialogViewModel = provider[FingerprintEnrollErrorDialogViewModel::class.java]
-        }
-        super.onAttach(context)
-    }
-
-    companion object {
-        private const val DEBUG = false
-        private const val TAG = "FingerprintEnrollFindSfpsFragment"
-    }
-}
-
-fun FragmentActivity.bindFingerprintEnrollFindSfpsView(
-    view: GlifLayout,
-    onSkipClickListener: View.OnClickListener
-) {
-    view.getMixin(FooterBarMixin::class.java).let {
-        it.secondaryButton = FooterButton.Builder(this)
-            .setText(R.string.security_settings_fingerprint_enroll_enrolling_skip)
-            .setButtonType(FooterButton.ButtonType.SKIP)
-            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
-            .build()
-        it.secondaryButton.setOnClickListener(onSkipClickListener)
-    }
-
-    GlifLayoutHelper(this, view).let {
-        it.setHeaderText(R.string.security_settings_sfps_enroll_find_sensor_title)
-        it.setDescriptionText(
-            getText(R.string.security_settings_sfps_enroll_find_sensor_message)
-        )
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindUdfpsFragment.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindUdfpsFragment.kt
deleted file mode 100644
index 3dce99c..0000000
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindUdfpsFragment.kt
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.view
-
-import android.content.Context
-import android.os.Bundle
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import androidx.fragment.app.Fragment
-import androidx.fragment.app.FragmentActivity
-import androidx.lifecycle.ViewModelProvider
-import com.airbnb.lottie.LottieAnimationView
-import com.android.settings.R
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFindSensorViewModel
-import com.google.android.setupcompat.template.FooterBarMixin
-import com.google.android.setupcompat.template.FooterButton
-import com.google.android.setupdesign.GlifLayout
-
-/**
- * Fragment explaining the under-display fingerprint sensor location for fingerprint enrollment.
- * It interacts with Primary button, and LottieAnimationView.
- * <pre>
- * | Has                 | UDFPS | SFPS | Other (Rear FPS) |
- * |---------------------|-------|------|------------------|
- * | Primary button      | Yes   | No   | No               |
- * | Illustration Lottie | Yes   | Yes  | No               |
- * | Animation           | No    | No   | Depend on layout |
- * | Progress ViewModel  | No    | Yes  | Yes              |
- * | Orientation detect  | No    | Yes  | No               |
- * | Foldable detect     | No    | Yes  | No               |
- * </pre>
- */
-class FingerprintEnrollFindUdfpsFragment : Fragment() {
-
-    private var _viewModel: FingerprintEnrollFindSensorViewModel? = null
-    private val mViewModel: FingerprintEnrollFindSensorViewModel
-        get() = _viewModel!!
-
-    private var findUdfpsView: GlifLayout? = null
-
-    private val mOnSkipClickListener =
-        View.OnClickListener { _: View? -> mViewModel.onSkipButtonClick() }
-
-    private val mOnStartClickListener =
-        View.OnClickListener { _: View? -> mViewModel.onStartButtonClick() }
-
-    override fun onCreateView(
-        inflater: LayoutInflater, container: ViewGroup?,
-        savedInstanceState: Bundle?
-    ): View = (inflater.inflate(
-        R.layout.udfps_enroll_find_sensor_layout,
-        container,
-        false
-    ) as GlifLayout).also {
-        findUdfpsView = it
-    }
-
-    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
-        super.onViewCreated(view, savedInstanceState)
-        requireActivity().bindFingerprintEnrollFindUdfpsView(
-            view = findUdfpsView!!,
-            isAccessibilityEnabled = mViewModel.isAccessibilityEnabled,
-            onSkipClickListener = mOnSkipClickListener,
-            onStartClickListener = mOnStartClickListener
-        )
-    }
-
-    override fun onAttach(context: Context) {
-        _viewModel = ViewModelProvider(requireActivity())[
-            FingerprintEnrollFindSensorViewModel::class.java
-        ]
-        super.onAttach(context)
-    }
-}
-
-fun FragmentActivity.bindFingerprintEnrollFindUdfpsView(
-    view: GlifLayout,
-    isAccessibilityEnabled: Boolean,
-    onSkipClickListener: View.OnClickListener,
-    onStartClickListener: View.OnClickListener,
-) {
-    GlifLayoutHelper(this, view).let { helper ->
-        helper.setHeaderText(R.string.security_settings_udfps_enroll_find_sensor_title)
-        helper.setDescriptionText(
-            getText(R.string.security_settings_udfps_enroll_find_sensor_message)
-        )
-    }
-
-    view.getMixin(FooterBarMixin::class.java)!!.let {
-        it.secondaryButton = FooterButton.Builder(this)
-            .setText(R.string.security_settings_fingerprint_enroll_enrolling_skip)
-            .setButtonType(FooterButton.ButtonType.SKIP)
-            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
-            .build()
-        it.secondaryButton.setOnClickListener(onSkipClickListener)
-
-        it.primaryButton = FooterButton.Builder(this)
-            .setText(R.string.security_settings_udfps_enroll_find_sensor_start_button)
-            .setButtonType(FooterButton.ButtonType.NEXT)
-            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
-            .build()
-        it.primaryButton.setOnClickListener(onStartClickListener)
-    }
-
-    view.findViewById<LottieAnimationView>(R.id.illustration_lottie)!!.let {
-        it.setOnClickListener(onStartClickListener)
-        if (isAccessibilityEnabled) {
-            it.setAnimation(R.raw.udfps_edu_a11y_lottie)
-        }
-    }
-}
\ No newline at end of file
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFinishFragment.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFinishFragment.kt
deleted file mode 100644
index 2af2dee..0000000
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFinishFragment.kt
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.view
-
-import android.content.Context
-import android.os.Bundle
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import androidx.fragment.app.Fragment
-import androidx.fragment.app.FragmentActivity
-import androidx.lifecycle.ViewModelProvider
-import com.android.settings.R
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFinishViewModel
-import com.google.android.setupcompat.template.FooterBarMixin
-import com.google.android.setupcompat.template.FooterButton
-import com.google.android.setupdesign.GlifLayout
-
-/**
- * Fragment which concludes fingerprint enrollment.
- */
-class FingerprintEnrollFinishFragment : Fragment() {
-
-    private var _viewModel: FingerprintEnrollFinishViewModel? = null
-    private val viewModel: FingerprintEnrollFinishViewModel
-        get() = _viewModel!!
-
-    private val addButtonClickListener =
-        View.OnClickListener { _: View? -> viewModel.onAddButtonClick() }
-
-    private val nextButtonClickListener =
-        View.OnClickListener { _: View? -> viewModel.onNextButtonClick() }
-    override fun onAttach(context: Context) {
-        super.onAttach(context)
-        _viewModel = ViewModelProvider(requireActivity())[
-            FingerprintEnrollFinishViewModel::class.java
-        ]
-    }
-
-    override fun onCreateView(
-        inflater: LayoutInflater, container: ViewGroup?,
-        savedInstanceState: Bundle?
-    ) : View = (inflater.inflate(
-            if (viewModel.canAssumeSfps())
-                R.layout.sfps_enroll_finish
-            else
-                R.layout.fingerprint_enroll_finish,
-            container,
-            false
-        ) as GlifLayout).also {
-            requireActivity().bindFingerprintEnrollFinishFragment(
-                view = it,
-                isSuw = viewModel.request.isSuw,
-                canAssumeSfps = viewModel.canAssumeSfps(),
-                isAnotherFingerprintEnrollable = viewModel.isAnotherFingerprintEnrollable,
-                nextButtonClickListener = nextButtonClickListener,
-                addButtonClickListener = addButtonClickListener
-            )
-        }
-}
-
-fun FragmentActivity.bindFingerprintEnrollFinishFragment(
-    view: GlifLayout,
-    isSuw: Boolean,
-    canAssumeSfps: Boolean,
-    isAnotherFingerprintEnrollable: Boolean,
-    nextButtonClickListener: View.OnClickListener,
-    addButtonClickListener: View.OnClickListener
-) {
-    GlifLayoutHelper(this, view).apply {
-        setHeaderText(R.string.security_settings_fingerprint_enroll_finish_title)
-        setDescriptionText(
-            getString(
-                if (canAssumeSfps && isAnotherFingerprintEnrollable)
-                    R.string.security_settings_fingerprint_enroll_finish_v2_add_fingerprint_message
-                else
-                    R.string.security_settings_fingerprint_enroll_finish_v2_message
-            )
-        )
-    }
-
-    view.getMixin(FooterBarMixin::class.java).also { footer ->
-        footer.primaryButton = FooterButton.Builder(this)
-            .setText(
-                if (isSuw)
-                    R.string.next_label
-                else
-                    R.string.security_settings_fingerprint_enroll_done
-            )
-            .setListener(nextButtonClickListener)
-            .setButtonType(FooterButton.ButtonType.NEXT)
-            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
-            .build()
-        if (isAnotherFingerprintEnrollable) {
-            footer.secondaryButton = FooterButton.Builder(this)
-                .setText(R.string.fingerprint_enroll_button_add)
-                .setListener(addButtonClickListener)
-                .setButtonType(FooterButton.ButtonType.SKIP)
-                .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
-                .build()
-        }
-    }
-
-}
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollIntroFragment.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollIntroFragment.kt
deleted file mode 100644
index d1b3799..0000000
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollIntroFragment.kt
+++ /dev/null
@@ -1,329 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.view
-
-import android.app.admin.DevicePolicyManager
-import android.app.admin.DevicePolicyResources.Strings.Settings.FINGERPRINT_UNLOCK_DISABLED
-import android.content.Context
-import android.graphics.PorterDuff
-import android.graphics.PorterDuffColorFilter
-import android.os.Bundle
-import android.text.Html
-import android.text.method.LinkMovementMethod
-import android.util.Log
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.ImageView
-import android.widget.ScrollView
-import android.widget.TextView
-import androidx.annotation.StringRes
-import androidx.fragment.app.Fragment
-import androidx.fragment.app.FragmentActivity
-import androidx.lifecycle.Lifecycle
-import androidx.lifecycle.ViewModelProvider
-import androidx.lifecycle.lifecycleScope
-import androidx.lifecycle.repeatOnLifecycle
-import com.android.settings.R
-import com.android.settings.biometrics2.ui.model.FingerprintEnrollIntroStatus
-import com.android.settings.biometrics2.ui.model.FingerprintEnrollable.FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX
-import com.android.settings.biometrics2.ui.model.FingerprintEnrollable.FINGERPRINT_ENROLLABLE_OK
-import com.android.settings.biometrics2.ui.model.FingerprintEnrollable.FINGERPRINT_ENROLLABLE_UNKNOWN
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroViewModel
-import com.google.android.setupcompat.template.FooterBarMixin
-import com.google.android.setupcompat.template.FooterButton
-import com.google.android.setupdesign.GlifLayout
-import com.google.android.setupdesign.template.RequireScrollMixin
-import com.google.android.setupdesign.util.DeviceHelper
-import com.google.android.setupdesign.util.DynamicColorPalette
-import com.google.android.setupdesign.util.DynamicColorPalette.ColorType.ACCENT
-import java.util.function.Supplier
-import kotlinx.coroutines.flow.first
-import kotlinx.coroutines.launch
-
-/**
- * Fingerprint intro onboarding page fragment implementation
- */
-class FingerprintEnrollIntroFragment : Fragment() {
-
-    private val viewModelProvider: ViewModelProvider
-        get() = ViewModelProvider(requireActivity())
-
-    private var _viewModel: FingerprintEnrollIntroViewModel? = null
-    private val viewModel: FingerprintEnrollIntroViewModel
-        get() = _viewModel!!
-
-    private var introView: GlifLayout? = null
-
-    private var primaryFooterButton: FooterButton? = null
-
-    private var secondaryFooterButton: FooterButton? = null
-
-    private val onNextClickListener =
-        View.OnClickListener { _: View? ->
-            activity?.lifecycleScope?.let {
-                viewModel.onNextButtonClick(it)
-            }
-        }
-
-    private val onSkipOrCancelClickListener =
-        View.OnClickListener { _: View? ->
-            activity?.lifecycleScope?.let {
-                viewModel.onSkipOrCancelButtonClick(it)
-            }
-        }
-
-    override fun onCreateView(
-        inflater: LayoutInflater,
-        container: ViewGroup?,
-        savedInstanceState: Bundle?
-    ): View {
-        introView = inflater.inflate(
-            R.layout.fingerprint_enroll_introduction,
-            container,
-            false
-        ) as GlifLayout
-        return introView!!
-    }
-
-    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
-        super.onViewCreated(view, savedInstanceState)
-        requireActivity().bindFingerprintEnrollIntroView(
-            view = introView!!,
-            canAssumeUdfps = viewModel.canAssumeUdfps,
-            isBiometricUnlockDisabledByAdmin = viewModel.isBiometricUnlockDisabledByAdmin,
-            isParentalConsentRequired = viewModel.isParentalConsentRequired,
-            descriptionDisabledByAdminSupplier = { getDescriptionDisabledByAdmin(view.context) }
-        )
-    }
-
-    override fun onStart() {
-        val context: Context = requireContext()
-        val footerBarMixin: FooterBarMixin = footerBarMixin
-        viewModel.updateEnrollableStatus(lifecycleScope)
-        initPrimaryFooterButton(context, footerBarMixin)
-        initSecondaryFooterButton(context, footerBarMixin)
-        collectPageStatusFlowIfNeed()
-        super.onStart()
-    }
-
-    private fun initPrimaryFooterButton(
-        context: Context,
-        footerBarMixin: FooterBarMixin
-    ) {
-        if (footerBarMixin.primaryButton != null) {
-            return
-        }
-        primaryFooterButton = FooterButton.Builder(context)
-            .setText(R.string.security_settings_fingerprint_enroll_introduction_agree)
-            .setButtonType(FooterButton.ButtonType.OPT_IN)
-            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
-            .build()
-            .also {
-                it.setOnClickListener(onNextClickListener)
-                footerBarMixin.primaryButton = it
-            }
-    }
-
-    private fun initSecondaryFooterButton(
-        context: Context,
-        footerBarMixin: FooterBarMixin
-    ) {
-        if (footerBarMixin.secondaryButton != null) {
-            return
-        }
-        secondaryFooterButton = FooterButton.Builder(context)
-            .setText(
-                if (viewModel.request.isAfterSuwOrSuwSuggestedAction)
-                    R.string.security_settings_fingerprint_enroll_introduction_cancel
-                else
-                    R.string.security_settings_fingerprint_enroll_introduction_no_thanks
-            )
-            .setButtonType(FooterButton.ButtonType.NEXT)
-            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
-            .build()
-            .also {
-                it.setOnClickListener(onSkipOrCancelClickListener)
-                footerBarMixin.setSecondaryButton(it, true /* usePrimaryStyle */)
-            }
-    }
-
-    private fun collectPageStatusFlowIfNeed() {
-        lifecycleScope.launch {
-            val status = viewModel.pageStatusFlow.first()
-            Log.d(TAG, "collectPageStatusFlowIfNeed status:$status")
-            if (status.hasScrollToBottom()
-                || status.enrollableStatus === FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX
-            ) {
-                // Update once and do not requireScrollWithButton() again when page has
-                // scrolled to bottom or User has enrolled at least a fingerprint, because if
-                // we requireScrollWithButton() again, primary button will become "More" after
-                // scrolling.
-                updateFooterButtons(status)
-            } else {
-                introView!!.getMixin(RequireScrollMixin::class.java).let {
-                    it.requireScrollWithButton(
-                        requireActivity(),
-                        primaryFooterButton!!,
-                        moreButtonTextRes,
-                        onNextClickListener
-                    )
-                    it.setOnRequireScrollStateChangedListener { scrollNeeded: Boolean ->
-                        viewModel.setHasScrolledToBottom(!scrollNeeded, lifecycleScope)
-                    }
-                }
-                repeatOnLifecycle(Lifecycle.State.STARTED) {
-                    viewModel.pageStatusFlow.collect(
-                        this@FingerprintEnrollIntroFragment::updateFooterButtons
-                    )
-                }
-            }
-        }
-    }
-
-    override fun onAttach(context: Context) {
-        _viewModel = viewModelProvider[FingerprintEnrollIntroViewModel::class.java]
-        super.onAttach(context)
-    }
-
-    private val footerBarMixin: FooterBarMixin
-        get() = introView!!.getMixin(FooterBarMixin::class.java)
-
-    private fun getDescriptionDisabledByAdmin(context: Context): String? {
-        val defaultStrId: Int =
-            R.string.security_settings_fingerprint_enroll_introduction_message_unlock_disabled
-        val devicePolicyManager: DevicePolicyManager =
-            checkNotNull(requireActivity().getSystemService(DevicePolicyManager::class.java))
-
-        return devicePolicyManager.resources.getString(FINGERPRINT_UNLOCK_DISABLED) {
-            context.getString(defaultStrId)
-        }
-    }
-
-    private fun updateFooterButtons(status: FingerprintEnrollIntroStatus) {
-        if (DEBUG) {
-            Log.d(TAG, "updateFooterButtons($status)")
-        }
-        primaryFooterButton!!.setText(
-            context,
-            if (status.enrollableStatus === FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX)
-                R.string.done
-            else if (status.hasScrollToBottom())
-                R.string.security_settings_fingerprint_enroll_introduction_agree
-            else
-                moreButtonTextRes
-        )
-        secondaryFooterButton!!.visibility =
-            if (status.hasScrollToBottom()
-                && status.enrollableStatus !== FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX
-                )
-                View.VISIBLE
-            else
-                View.INVISIBLE
-
-        view!!.requireViewById<TextView>(R.id.error_text).let {
-            when (status.enrollableStatus) {
-                FINGERPRINT_ENROLLABLE_OK -> {
-                    it.text = null
-                    it.visibility = View.GONE
-                }
-
-                FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX -> {
-                    it.setText(R.string.fingerprint_intro_error_max)
-                    it.visibility = View.VISIBLE
-                }
-
-                FINGERPRINT_ENROLLABLE_UNKNOWN -> {}
-            }
-        }
-    }
-
-    @get:StringRes
-    private val moreButtonTextRes: Int
-        get() = R.string.security_settings_face_enroll_introduction_more
-
-    companion object {
-        private const val TAG = "FingerprintEnrollIntroFragment"
-        private const val DEBUG = false
-    }
-}
-
-fun FragmentActivity.bindFingerprintEnrollIntroView(
-    view: GlifLayout,
-    canAssumeUdfps: Boolean,
-    isBiometricUnlockDisabledByAdmin: Boolean,
-    isParentalConsentRequired: Boolean,
-    descriptionDisabledByAdminSupplier: Supplier<String?>
-) {
-    val context = view.context
-
-    val iconFingerprint = view.findViewById<ImageView>(R.id.icon_fingerprint)!!
-    val iconDeviceLocked = view.findViewById<ImageView>(R.id.icon_device_locked)!!
-    val iconTrashCan = view.findViewById<ImageView>(R.id.icon_trash_can)!!
-    val iconInfo = view.findViewById<ImageView>(R.id.icon_info)!!
-    val iconShield = view.findViewById<ImageView>(R.id.icon_shield)!!
-    val iconLink = view.findViewById<ImageView>(R.id.icon_link)!!
-    val footerMessage6 = view.findViewById<TextView>(R.id.footer_message_6)!!
-
-    PorterDuffColorFilter(
-        DynamicColorPalette.getColor(context, ACCENT),
-        PorterDuff.Mode.SRC_IN
-    ).let { colorFilter ->
-        iconFingerprint.drawable.colorFilter = colorFilter
-        iconDeviceLocked.drawable.colorFilter = colorFilter
-        iconTrashCan.drawable.colorFilter = colorFilter
-        iconInfo.drawable.colorFilter = colorFilter
-        iconShield.drawable.colorFilter = colorFilter
-        iconLink.drawable.colorFilter = colorFilter
-    }
-
-    view.findViewById<TextView>(R.id.footer_learn_more)!!.let { learnMore ->
-        learnMore.movementMethod = LinkMovementMethod.getInstance()
-        val footerLinkStr: String = context.getString(
-            R.string.security_settings_fingerprint_v2_enroll_introduction_message_learn_more,
-            Html.FROM_HTML_MODE_LEGACY
-        )
-        learnMore.text = Html.fromHtml(footerLinkStr)
-    }
-
-    if (canAssumeUdfps) {
-        footerMessage6.visibility = View.VISIBLE
-        iconShield.visibility = View.VISIBLE
-    } else {
-        footerMessage6.visibility = View.GONE
-        iconShield.visibility = View.GONE
-    }
-    val glifLayoutHelper = GlifLayoutHelper(this, view)
-    if (isBiometricUnlockDisabledByAdmin && !isParentalConsentRequired) {
-        glifLayoutHelper.setHeaderText(
-            R.string.security_settings_fingerprint_enroll_introduction_title_unlock_disabled
-        )
-        glifLayoutHelper.setDescriptionText(descriptionDisabledByAdminSupplier.get())
-    } else {
-        glifLayoutHelper.setHeaderText(
-            R.string.security_settings_fingerprint_enroll_introduction_title
-        )
-        glifLayoutHelper.setDescriptionText(
-            getString(
-                R.string.security_settings_fingerprint_enroll_introduction_v3_message,
-                DeviceHelper.getDeviceName(context)
-            )
-        )
-    }
-
-    view.findViewById<ScrollView>(com.google.android.setupdesign.R.id.sud_scroll_view)
-        ?.importantForAccessibility = View.IMPORTANT_FOR_ACCESSIBILITY_YES
-}
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivity.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivity.kt
deleted file mode 100644
index ec96597..0000000
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivity.kt
+++ /dev/null
@@ -1,633 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.view
-
-import android.annotation.StyleRes
-import android.content.Intent
-import android.content.res.ColorStateList
-import android.content.res.Configuration
-import android.content.res.Resources.Theme
-import android.graphics.Color
-import android.os.Bundle
-import android.os.SystemClock
-import android.util.Log
-import androidx.activity.result.ActivityResult
-import androidx.activity.result.ActivityResultCallback
-import androidx.activity.result.ActivityResultLauncher
-import androidx.activity.result.contract.ActivityResultContracts.StartActivityForResult
-import androidx.annotation.ColorInt
-import androidx.fragment.app.Fragment
-import androidx.fragment.app.FragmentActivity
-import androidx.fragment.app.FragmentManager.POP_BACK_STACK_INCLUSIVE
-import androidx.lifecycle.Lifecycle
-import androidx.lifecycle.Observer
-import androidx.lifecycle.ViewModelProvider
-import androidx.lifecycle.lifecycleScope
-import androidx.lifecycle.repeatOnLifecycle
-import androidx.lifecycle.viewmodel.CreationExtras
-import androidx.lifecycle.viewmodel.MutableCreationExtras
-import com.android.settings.R
-import com.android.settings.Utils
-import com.android.settings.biometrics.BiometricEnrollBase
-import com.android.settings.biometrics2.factory.BiometricsViewModelFactory
-import com.android.settings.biometrics2.factory.BiometricsViewModelFactory.CHALLENGE_GENERATOR_KEY
-import com.android.settings.biometrics2.factory.BiometricsViewModelFactory.CREDENTIAL_MODEL_KEY
-import com.android.settings.biometrics2.factory.BiometricsViewModelFactory.ENROLLMENT_REQUEST_KEY
-import com.android.settings.biometrics2.ui.model.CredentialModel
-import com.android.settings.biometrics2.ui.model.EnrollmentRequest
-import com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel
-import com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.FingerprintChallengeGenerator
-import com.android.settings.biometrics2.ui.viewmodel.CredentialAction
-import com.android.settings.biometrics2.ui.viewmodel.DeviceFoldedViewModel
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ENROLL_ENROLLING_ACTION_DONE
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ENROLL_ENROLLING_ACTION_SHOW_ICON_TOUCH_DIALOG
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_BACK_PRESSED
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_USER_SKIP
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FingerprintEnrollEnrollingAction
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollErrorDialogViewModel
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFindSensorViewModel
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFindSensorViewModel.FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_DIALOG
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFindSensorViewModel.FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_SKIP
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFindSensorViewModel.FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_START
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFindSensorViewModel.FingerprintEnrollFindSensorAction
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFinishViewModel
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFinishViewModel.FINGERPRINT_ENROLL_FINISH_ACTION_ADD_BUTTON_CLICK
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFinishViewModel.FINGERPRINT_ENROLL_FINISH_ACTION_NEXT_BUTTON_CLICK
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFinishViewModel.FingerprintEnrollFinishAction
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroAction
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroViewModel
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollProgressViewModel
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollmentViewModel
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintErrorDialogSetResultAction.FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_FINISH
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintErrorDialogSetResultAction.FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_TIMEOUT
-import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
-import com.google.android.setupdesign.util.ThemeHelper
-import kotlinx.coroutines.launch
-
-/**
- * Fingerprint enrollment activity implementation
- */
-open class FingerprintEnrollmentActivity : FragmentActivity() {
-    /** SetupWizard activity*/
-    class SetupActivity : FingerprintEnrollmentActivity()
-
-    /** Internal activity for FingerprintSettings */
-    class InternalActivity : FingerprintEnrollmentActivity()
-
-    private val viewModelProvider: ViewModelProvider by lazy {
-        ViewModelProvider(this)
-    }
-
-    private val viewModel: FingerprintEnrollmentViewModel by lazy {
-        viewModelProvider[FingerprintEnrollmentViewModel::class.java]
-    }
-
-    private val autoCredentialViewModel: AutoCredentialViewModel by lazy {
-        viewModelProvider[AutoCredentialViewModel::class.java]
-    }
-
-    private val introViewModel: FingerprintEnrollIntroViewModel by lazy {
-        viewModelProvider[FingerprintEnrollIntroViewModel::class.java]
-    }
-
-    private val findSensorViewModel: FingerprintEnrollFindSensorViewModel by lazy {
-        viewModelProvider[FingerprintEnrollFindSensorViewModel::class.java]
-    }
-
-    private val progressViewModel: FingerprintEnrollProgressViewModel by lazy {
-        viewModelProvider[FingerprintEnrollProgressViewModel::class.java]
-    }
-
-    private val enrollingViewModel: FingerprintEnrollEnrollingViewModel by lazy {
-        viewModelProvider[FingerprintEnrollEnrollingViewModel::class.java]
-    }
-
-    private val finishViewModel: FingerprintEnrollFinishViewModel by lazy {
-        viewModelProvider[FingerprintEnrollFinishViewModel::class.java]
-    }
-
-    private val errorDialogViewModel: FingerprintEnrollErrorDialogViewModel by lazy {
-        viewModelProvider[FingerprintEnrollErrorDialogViewModel::class.java]
-    }
-
-    private var isFirstFragmentAdded = false
-
-    private val findSensorActionObserver = Observer<Int?> { action ->
-        if (DEBUG) {
-            Log.d(TAG, "findSensorActionObserver($action)")
-        }
-        action?.let { onFindSensorAction(it) }
-    }
-
-    private val enrollingActionObserver = Observer<Int?> { action ->
-        if (DEBUG) {
-            Log.d(TAG, "enrollingActionObserver($action)")
-        }
-        action?.let { onEnrollingAction(it) }
-    }
-
-    private val finishActionObserver = Observer<Int?> { action ->
-        if (DEBUG) {
-            Log.d(TAG, "finishActionObserver($action)")
-        }
-        action?.let { onFinishAction(it) }
-    }
-
-    private val chooseLockResultCallback: ActivityResultCallback<ActivityResult> =
-        ActivityResultCallback { result ->
-            onChooseOrConfirmLockResult(true /* isChooseLock */, result)
-        }
-
-    private val chooseLockLauncher: ActivityResultLauncher<Intent> =
-        registerForActivityResult(StartActivityForResult(), chooseLockResultCallback)
-
-    override fun onCreate(savedInstanceState: Bundle?) {
-        super.onCreate(savedInstanceState)
-
-        // Theme
-        setTheme(viewModel.request.theme)
-        ThemeHelper.trySetDynamicColor(this)
-        window.statusBarColor = Color.TRANSPARENT
-
-        // fragment
-        setContentView(R.layout.biometric_enrollment_container)
-        val fragment: Fragment? = supportFragmentManager.findFragmentById(
-            R.id.fragment_container_view
-        )
-        Log.d(
-            TAG,
-            "onCreate() has savedInstance:$(savedInstanceState != null), fragment:$fragment"
-        )
-
-        isFirstFragmentAdded = (savedInstanceState != null)
-        if (fragment == null) {
-            checkCredential()
-            if (viewModel.request.isSkipFindSensor) {
-                startEnrollingFragment()
-            } else if (viewModel.request.isSkipIntro) {
-                startFindSensorFragment()
-            } else {
-                startIntroFragment()
-            }
-        } else {
-            val tag: String? = fragment.tag
-            if (INTRO_TAG == tag) {
-                attachIntroViewModel()
-            } else if (FIND_SENSOR_TAG == tag) {
-                attachFindSensorViewModel()
-                attachIntroViewModel()
-            } else if (ENROLLING_TAG == tag) {
-                attachEnrollingViewModel()
-                attachFindSensorViewModel()
-                attachIntroViewModel()
-            } else if (FINISH_TAG == tag) {
-                attachFinishViewModel()
-                attachFindSensorViewModel()
-                attachIntroViewModel()
-            } else {
-                Log.e(TAG, "fragment tag $tag not found")
-                finish()
-                return
-            }
-        }
-
-        collectFlows()
-    }
-
-    private fun collectFlows() {
-        lifecycleScope.launch {
-            repeatOnLifecycle(Lifecycle.State.STARTED) {
-                viewModel.setResultFlow.collect {
-                    Log.d(TAG, "setResultLiveData($it)")
-                    onSetActivityResult(it)
-                }
-            }
-            repeatOnLifecycle(Lifecycle.State.STARTED) {
-                autoCredentialViewModel.generateChallengeFailedFlow.collect {
-                    Log.d(TAG, "generateChallengeFailedFlow($it)")
-                    onSetActivityResult(ActivityResult(RESULT_CANCELED, null))
-                }
-            }
-            repeatOnLifecycle(Lifecycle.State.STARTED) {
-                errorDialogViewModel.newDialogFlow.collect {
-                    Log.d(TAG, "newErrorDialogFlow($it)")
-                    FingerprintEnrollErrorDialog.newInstance(it).show(
-                        supportFragmentManager,
-                        ERROR_DIALOG_TAG
-                    )
-                }
-            }
-            repeatOnLifecycle(Lifecycle.State.STARTED) {
-                errorDialogViewModel.setResultFlow.collect {
-                    Log.d(TAG, "errorDialogSetResultFlow($it)")
-                    when (it) {
-                        FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_FINISH -> onSetActivityResult(
-                            ActivityResult(BiometricEnrollBase.RESULT_FINISHED, null)
-                        )
-
-                        FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_TIMEOUT -> onSetActivityResult(
-                            ActivityResult(BiometricEnrollBase.RESULT_TIMEOUT, null)
-                        )
-                    }
-                }
-            }
-        }
-    }
-
-    private fun startFragment(fragmentClass: Class<out Fragment>, tag: String) {
-        if (!isFirstFragmentAdded) {
-            supportFragmentManager.beginTransaction()
-                .setReorderingAllowed(true)
-                .replace(R.id.fragment_container_view, fragmentClass, null, tag)
-                .commit()
-            isFirstFragmentAdded = true
-        } else {
-            supportFragmentManager.beginTransaction()
-                .setReorderingAllowed(true)
-                .setCustomAnimations(
-                    com.google.android.setupdesign.R.anim.shared_x_axis_activity_open_enter_dynamic_color,
-                    com.google.android.setupdesign.R.anim.shared_x_axis_activity_open_exit,
-                    com.google.android.setupdesign.R.anim.shared_x_axis_activity_close_enter_dynamic_color,
-                    com.google.android.setupdesign.R.anim.shared_x_axis_activity_close_exit
-                )
-                .replace(R.id.fragment_container_view, fragmentClass, null, tag)
-                .addToBackStack(tag)
-                .commit()
-        }
-    }
-
-    private fun startIntroFragment() {
-        attachIntroViewModel()
-        startFragment(FingerprintEnrollIntroFragment::class.java, INTRO_TAG)
-    }
-
-    private fun attachIntroViewModel() {
-        val request: EnrollmentRequest = viewModel.request
-        if (request.isSkipIntro || request.isSkipFindSensor) {
-            return
-        }
-        lifecycleScope.launch {
-            repeatOnLifecycle(Lifecycle.State.STARTED) {
-                introViewModel.actionFlow.collect(this@FingerprintEnrollmentActivity::onIntroAction)
-            }
-        }
-    }
-
-    // We need to make sure token is valid before entering find sensor page
-    private fun startFindSensorFragment() {
-        // Always setToken into progressViewModel even it is not necessary action for UDFPS
-        progressViewModel.setToken(autoCredentialViewModel.token)
-        attachFindSensorViewModel()
-        val fragmentClass: Class<out Fragment> = if (viewModel.canAssumeUdfps) {
-            FingerprintEnrollFindUdfpsFragment::class.java
-        } else if (viewModel.canAssumeSfps) {
-            FingerprintEnrollFindSfpsFragment::class.java
-        } else {
-            FingerprintEnrollFindRfpsFragment::class.java
-        }
-        startFragment(fragmentClass, FIND_SENSOR_TAG)
-    }
-
-    private fun attachFindSensorViewModel() {
-        if (viewModel.request.isSkipFindSensor) {
-            return
-        }
-        findSensorViewModel.let {
-            // Clear ActionLiveData in FragmentViewModel to prevent getting previous action during
-            // recreate, like press 'Start' then press 'back' in FingerprintEnrollEnrolling
-            // activity.
-            it.clearActionLiveData()
-            it.actionLiveData.observe(this, findSensorActionObserver)
-        }
-    }
-
-    private fun startEnrollingFragment() {
-        // Always setToken into progressViewModel even it is not necessary action for SFPS or RFPS
-        progressViewModel.setToken(autoCredentialViewModel.token)
-        attachEnrollingViewModel()
-        val fragmentClass: Class<out Fragment> = if (viewModel.canAssumeUdfps) {
-            FingerprintEnrollEnrollingUdfpsFragment::class.java
-        } else if (viewModel.canAssumeSfps) {
-            FingerprintEnrollEnrollingSfpsFragment::class.java
-        } else {
-            FingerprintEnrollEnrollingRfpsFragment::class.java
-        }
-        startFragment(fragmentClass, ENROLLING_TAG)
-    }
-
-    private fun attachEnrollingViewModel() {
-        enrollingViewModel.let {
-            it.clearActionLiveData()
-            it.actionLiveData.observe(this, enrollingActionObserver)
-        }
-    }
-
-    private fun startFinishFragment() {
-        viewModel.isNewFingerprintAdded = true
-        attachFinishViewModel()
-        if (viewModel.request.isSkipFindSensor) {
-            // Set page to Finish
-            supportFragmentManager.beginTransaction()
-                .setReorderingAllowed(true)
-                .setCustomAnimations(
-                    com.google.android.setupdesign.R.anim.shared_x_axis_activity_open_enter_dynamic_color,
-                    com.google.android.setupdesign.R.anim.shared_x_axis_activity_open_exit,
-                    com.google.android.setupdesign.R.anim.shared_x_axis_activity_close_enter_dynamic_color,
-                    com.google.android.setupdesign.R.anim.shared_x_axis_activity_close_exit
-                )
-                .replace(
-                    R.id.fragment_container_view,
-                    FingerprintEnrollFinishFragment::class.java,
-                    null,
-                    FINISH_TAG
-                )
-                .commit()
-        } else {
-            // Remove Enrolling page
-            supportFragmentManager.popBackStack()
-
-            // Remove old Finish page if any
-            if (supportFragmentManager.findFragmentByTag(FINISH_TAG) != null) {
-                supportFragmentManager.popBackStack(FINISH_TAG, POP_BACK_STACK_INCLUSIVE)
-            }
-
-            // Remove FindSensor page if maxEnrolled
-            if (viewModel.isMaxEnrolledReached(autoCredentialViewModel.userId)
-                && supportFragmentManager.findFragmentByTag(FIND_SENSOR_TAG) != null
-            ) {
-                supportFragmentManager.popBackStack(FIND_SENSOR_TAG, POP_BACK_STACK_INCLUSIVE)
-            }
-
-            // Add Finish page
-            supportFragmentManager.beginTransaction()
-                .setReorderingAllowed(true)
-                .setCustomAnimations(
-                    com.google.android.setupdesign.R.anim.shared_x_axis_activity_open_enter_dynamic_color,
-                    com.google.android.setupdesign.R.anim.shared_x_axis_activity_open_exit,
-                    com.google.android.setupdesign.R.anim.shared_x_axis_activity_close_enter_dynamic_color,
-                    com.google.android.setupdesign.R.anim.shared_x_axis_activity_close_exit
-                )
-                .replace(
-                    R.id.fragment_container_view,
-                    FingerprintEnrollFinishFragment::class.java,
-                    null,
-                    FINISH_TAG
-                )
-                .addToBackStack(FINISH_TAG)
-                .commit()
-        }
-    }
-
-    private fun attachFinishViewModel() {
-        finishViewModel.let {
-            it.clearActionLiveData()
-            it.actionLiveData.observe(this, finishActionObserver)
-        }
-    }
-
-    private fun onSetActivityResult(result: ActivityResult) {
-        val challengeExtras: Bundle? = autoCredentialViewModel.createGeneratingChallengeExtras()
-        val overrideResult: ActivityResult = viewModel.getOverrideActivityResult(
-            result, challengeExtras
-        )
-        if (DEBUG) {
-            Log.d(
-                TAG, "onSetActivityResult(" + result + "), override:" + overrideResult
-                        + ") challengeExtras:" + challengeExtras
-            )
-        }
-        setResult(overrideResult.resultCode, overrideResult.data)
-        finish()
-    }
-
-    private fun checkCredential() {
-        when (autoCredentialViewModel.checkCredential(lifecycleScope)) {
-            CredentialAction.FAIL_NEED_TO_CHOOSE_LOCK -> {
-                val intent: Intent = autoCredentialViewModel.createChooseLockIntent(
-                    this,
-                    viewModel.request.isSuw,
-                    viewModel.request.suwExtras
-                )
-                if (!viewModel.isWaitingActivityResult.compareAndSet(false, true)) {
-                    Log.w(TAG, "chooseLock, fail to set isWaiting flag to true")
-                }
-                chooseLockLauncher.launch(intent)
-                return
-            }
-
-            CredentialAction.FAIL_NEED_TO_CONFIRM_LOCK -> {
-                val launched: Boolean = autoCredentialViewModel.createConfirmLockLauncher(
-                    this,
-                    LAUNCH_CONFIRM_LOCK_ACTIVITY,
-                    getString(R.string.security_settings_fingerprint_preference_title)
-                ).launch()
-                if (!launched) {
-                    // This shouldn't happen, as we should only end up at this step if a lock thingy
-                    // is already set.
-                    Log.e(TAG, "confirmLock, launched is true")
-                    finish()
-                } else if (!viewModel.isWaitingActivityResult.compareAndSet(false, true)) {
-                    Log.w(TAG, "confirmLock, fail to set isWaiting flag to true")
-                }
-                return
-            }
-
-            CredentialAction.CREDENTIAL_VALID,
-            CredentialAction.IS_GENERATING_CHALLENGE -> {}
-        }
-    }
-
-    private fun onChooseOrConfirmLockResult(
-        isChooseLock: Boolean,
-        activityResult: ActivityResult
-    ) {
-        if (!viewModel.isWaitingActivityResult.compareAndSet(true, false)) {
-            Log.w(TAG, "isChooseLock:$isChooseLock, fail to unset waiting flag")
-        }
-        if (!autoCredentialViewModel.generateChallengeAsCredentialActivityResult(
-                isChooseLock,
-                activityResult,
-                lifecycleScope
-            )
-        ) {
-            onSetActivityResult(activityResult)
-        }
-    }
-
-    private fun onIntroAction(action: FingerprintEnrollIntroAction) {
-        Log.d(TAG, "onIntroAction($action)")
-        when (action) {
-            FingerprintEnrollIntroAction.DONE_AND_FINISH -> {
-                onSetActivityResult(ActivityResult(BiometricEnrollBase.RESULT_FINISHED, null))
-                return
-            }
-
-            FingerprintEnrollIntroAction.SKIP_OR_CANCEL -> {
-                onSetActivityResult(ActivityResult(BiometricEnrollBase.RESULT_SKIP, null))
-                return
-            }
-
-            FingerprintEnrollIntroAction.CONTINUE_ENROLL -> {
-                startFindSensorFragment()
-            }
-        }
-    }
-
-    private fun onFindSensorAction(@FingerprintEnrollFindSensorAction action: Int) {
-        when (action) {
-            FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_SKIP -> {
-                onSetActivityResult(ActivityResult(BiometricEnrollBase.RESULT_SKIP, null))
-                return
-            }
-
-            FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_DIALOG -> {
-                SkipSetupFindFpsDialog().show(
-                    supportFragmentManager,
-                    SKIP_SETUP_FIND_FPS_DIALOG_TAG
-                )
-                return
-            }
-
-            FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_START -> {
-                startEnrollingFragment()
-            }
-        }
-    }
-
-    private fun onEnrollingAction(@FingerprintEnrollEnrollingAction action: Int) {
-        when (action) {
-            FINGERPRINT_ENROLL_ENROLLING_ACTION_DONE -> {
-                startFinishFragment()
-            }
-
-            FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_USER_SKIP -> {
-                onSetActivityResult(ActivityResult(BiometricEnrollBase.RESULT_SKIP, null))
-            }
-
-            FINGERPRINT_ENROLL_ENROLLING_ACTION_SHOW_ICON_TOUCH_DIALOG -> {
-                FingerprintEnrollEnrollingIconTouchDialog().show(
-                    supportFragmentManager,
-                    SKIP_SETUP_FIND_FPS_DIALOG_TAG
-                )
-            }
-
-            FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_BACK_PRESSED -> {
-                if (supportFragmentManager.backStackEntryCount > 0) {
-                    supportFragmentManager.popBackStack()
-                } else {
-                    onSetActivityResult(ActivityResult(RESULT_CANCELED, null))
-                }
-            }
-        }
-    }
-
-    private fun onFinishAction(@FingerprintEnrollFinishAction action: Int) {
-        when (action) {
-            FINGERPRINT_ENROLL_FINISH_ACTION_ADD_BUTTON_CLICK -> {
-                startEnrollingFragment()
-            }
-
-            FINGERPRINT_ENROLL_FINISH_ACTION_NEXT_BUTTON_CLICK -> {
-                val data: Intent? = if (viewModel.request.isSuw) {
-                    Intent().also {
-                        it.putExtras(
-                            viewModel.getSuwFingerprintCountExtra(
-                                autoCredentialViewModel.userId
-                            )
-                        )
-                    }
-                } else {
-                    null
-                }
-                onSetActivityResult(ActivityResult(BiometricEnrollBase.RESULT_FINISHED, data))
-            }
-        }
-    }
-
-    override fun onPause() {
-        super.onPause()
-        viewModel.checkFinishActivityDuringOnPause(
-            isFinishing,
-            isChangingConfigurations,
-            lifecycleScope
-        )
-    }
-
-    override fun onDestroy() {
-        viewModel.updateFingerprintSuggestionEnableState(autoCredentialViewModel.userId)
-        super.onDestroy()
-    }
-
-    override fun onApplyThemeResource(theme: Theme, @StyleRes resid: Int, first: Boolean) {
-        theme.applyStyle(R.style.SetupWizardPartnerResource, true)
-        super.onApplyThemeResource(theme, resid, first)
-    }
-
-    @Deprecated("Deprecated in Java")
-    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
-        if (requestCode == LAUNCH_CONFIRM_LOCK_ACTIVITY) {
-            onChooseOrConfirmLockResult(false, ActivityResult(resultCode, data))
-            return
-        }
-        super.onActivityResult(requestCode, resultCode, data)
-    }
-
-    override val defaultViewModelCreationExtras: CreationExtras
-        get() = MutableCreationExtras(super.defaultViewModelCreationExtras).also {
-            it[CHALLENGE_GENERATOR_KEY] = FingerprintChallengeGenerator(
-                featureFactory.biometricsRepositoryProvider.getFingerprintRepository(application)!!
-            )
-            it[ENROLLMENT_REQUEST_KEY] =
-                EnrollmentRequest(intent, applicationContext, this is SetupActivity)
-            it[CREDENTIAL_MODEL_KEY] =
-                CredentialModel(intent.extras, SystemClock.elapsedRealtimeClock())
-        }
-
-    override val defaultViewModelProviderFactory: ViewModelProvider.Factory
-        get() = BiometricsViewModelFactory()
-
-    override fun onAttachedToWindow() {
-        super.onAttachedToWindow()
-        window.statusBarColor = backgroundColor
-    }
-
-    @get:ColorInt
-    private val backgroundColor: Int
-        get() {
-            val stateList: ColorStateList? =
-                Utils.getColorAttr(this, android.R.attr.windowBackground)
-            return stateList?.defaultColor ?: Color.TRANSPARENT
-        }
-
-    override fun onConfigurationChanged(newConfig: Configuration) {
-        viewModelProvider[DeviceFoldedViewModel::class.java].onConfigurationChanged(newConfig)
-        super.onConfigurationChanged(newConfig)
-    }
-
-    companion object {
-        private const val DEBUG = false
-        private const val TAG = "FingerprintEnrollmentActivity"
-        protected const val LAUNCH_CONFIRM_LOCK_ACTIVITY = 1
-
-        private const val INTRO_TAG = "intro"
-        private const val FIND_SENSOR_TAG = "find-sensor"
-        private const val ENROLLING_TAG = "enrolling"
-        private const val FINISH_TAG = "finish"
-        private const val SKIP_SETUP_FIND_FPS_DIALOG_TAG = "skip-setup-dialog"
-        private const val ERROR_DIALOG_TAG = "error-dialog"
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/view/GlifLayoutHelper.kt b/src/com/android/settings/biometrics2/ui/view/GlifLayoutHelper.kt
deleted file mode 100644
index 756f309..0000000
--- a/src/com/android/settings/biometrics2/ui/view/GlifLayoutHelper.kt
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.view
-
-import android.app.Activity
-import android.text.TextUtils
-import android.view.View
-import androidx.annotation.StringRes
-import com.google.android.setupdesign.GlifLayout
-
-/**
- * Utils class for GlifLayout
- */
-class GlifLayoutHelper(val activity: Activity, val glifLayout: GlifLayout) {
-
-    /**
-     * Sets header text to GlifLayout
-     */
-    fun setHeaderText(@StringRes textResId: Int) {
-        val layoutTitle = glifLayout.headerTextView
-        val previousTitle = layoutTitle.text
-        val title = activity.getText(textResId)
-        if (previousTitle !== title) {
-            if (!TextUtils.isEmpty(previousTitle)) {
-                layoutTitle.accessibilityLiveRegion = View.ACCESSIBILITY_LIVE_REGION_POLITE
-            }
-            glifLayout.headerText = title
-            glifLayout.headerTextView.contentDescription = title
-            activity.title = title
-        }
-    }
-
-    /**
-     * Sets description text to GlifLayout
-     */
-    fun setDescriptionText(description: CharSequence?) {
-        val previousDescription = glifLayout.descriptionText
-        // Prevent a11y for re-reading the same string
-        if (!TextUtils.equals(previousDescription, description)) {
-            glifLayout.descriptionText = description
-        }
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/view/SkipSetupFindFpsDialog.kt b/src/com/android/settings/biometrics2/ui/view/SkipSetupFindFpsDialog.kt
deleted file mode 100644
index bb74e36..0000000
--- a/src/com/android/settings/biometrics2/ui/view/SkipSetupFindFpsDialog.kt
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.view
-
-import android.app.Dialog
-import android.content.Context
-import android.content.DialogInterface
-import android.os.Bundle
-import androidx.appcompat.app.AlertDialog
-import androidx.fragment.app.DialogFragment
-import androidx.lifecycle.ViewModelProvider
-import com.android.settings.R
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFindSensorViewModel
-
-/**
- * Skip dialog which shows when user clicks "Do it later" button in FingerprintFindSensor page.
- */
-class SkipSetupFindFpsDialog : DialogFragment() {
-
-    private var mViewModel: FingerprintEnrollFindSensorViewModel? = null
-
-    override fun onCreateDialog(savedInstanceState: Bundle?): Dialog =
-        requireActivity().bindSkipSetupFindFpsDialog {
-            _: DialogInterface?, _: Int -> mViewModel?.onSkipDialogButtonClick()
-        }
-
-    override fun onAttach(context: Context) {
-        mViewModel = ViewModelProvider(requireActivity())[
-            FingerprintEnrollFindSensorViewModel::class.java
-        ]
-        super.onAttach(context)
-    }
-}
-
-fun Context.bindSkipSetupFindFpsDialog(
-    positiveButtonClickListener: DialogInterface.OnClickListener
-): AlertDialog =
-    AlertDialog.Builder(this, R.style.Theme_AlertDialog)
-        .setTitle(R.string.setup_fingerprint_enroll_skip_title)
-        .setPositiveButton(R.string.skip_anyway_button_label, positiveButtonClickListener)
-        .setNegativeButton(R.string.go_back_button_label, null)
-        .setMessage(R.string.setup_fingerprint_enroll_skip_after_adding_lock_text)
-        .create()
diff --git a/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModel.kt b/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModel.kt
deleted file mode 100644
index 95aee4b..0000000
--- a/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModel.kt
+++ /dev/null
@@ -1,283 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.viewmodel
-
-import android.app.Activity
-import android.app.Application
-import android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED
-import android.content.Context
-import android.content.Intent
-import android.os.Bundle
-import android.util.Log
-import androidx.activity.result.ActivityResult
-import androidx.lifecycle.AndroidViewModel
-import com.android.internal.widget.LockPatternUtils
-import com.android.settings.biometrics.BiometricEnrollBase
-import com.android.settings.biometrics.BiometricUtils
-import com.android.settings.biometrics.BiometricUtils.GatekeeperCredentialNotMatchException
-import com.android.settings.biometrics2.data.repository.FingerprintRepository
-import com.android.settings.biometrics2.ui.model.CredentialModel
-import com.android.settings.password.ChooseLockGeneric
-import com.android.settings.password.ChooseLockPattern
-import com.android.settings.password.ChooseLockSettingsHelper
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.flow.MutableSharedFlow
-import kotlinx.coroutines.flow.SharedFlow
-import kotlinx.coroutines.flow.asSharedFlow
-import kotlinx.coroutines.launch
-
-/**
- * AutoCredentialViewModel which uses CredentialModel to determine next actions for activity, like
- * start ChooseLockActivity, start ConfirmLockActivity, GenerateCredential, or do nothing.
- */
-class AutoCredentialViewModel(
-    application: Application,
-    private val lockPatternUtils: LockPatternUtils,
-    private val challengeGenerator: ChallengeGenerator,
-    private val credentialModel: CredentialModel
-) : AndroidViewModel(application) {
-
-    /**
-     * Generic callback for FingerprintManager#generateChallenge or FaceManager#generateChallenge
-     */
-    interface GenerateChallengeCallback {
-        /** Generic generateChallenge method for FingerprintManager or FaceManager */
-        fun onChallengeGenerated(sensorId: Int, userId: Int, challenge: Long)
-    }
-
-    /**
-     * A generic interface class for calling different generateChallenge from FingerprintManager or
-     * FaceManager
-     */
-    interface ChallengeGenerator {
-
-        /** Callback that will be called later after challenge generated */
-        var callback: GenerateChallengeCallback?
-
-        /** Method for generating challenge from FingerprintManager or FaceManager */
-        fun generateChallenge(userId: Int)
-    }
-
-    /** Used to generate challenge through FingerprintRepository */
-    class FingerprintChallengeGenerator(
-        private val fingerprintRepository: FingerprintRepository
-    ) : ChallengeGenerator {
-
-        override var callback: GenerateChallengeCallback? = null
-
-        override fun generateChallenge(userId: Int) {
-            callback?.let {
-                fingerprintRepository.generateChallenge(userId) {
-                        sensorId: Int, uid: Int, challenge: Long ->
-                    it.onChallengeGenerated(sensorId, uid, challenge)
-                }
-            } ?:run {
-                Log.e(TAG, "generateChallenge, null callback")
-            }
-        }
-
-        companion object {
-            private const val TAG = "FingerprintChallengeGenerator"
-        }
-    }
-
-    private val _generateChallengeFailedFlow = MutableSharedFlow<Boolean>()
-    val generateChallengeFailedFlow: SharedFlow<Boolean>
-        get() = _generateChallengeFailedFlow.asSharedFlow()
-
-
-    // flag if token is generating through checkCredential()'s generateChallenge()
-    private var isGeneratingChallengeDuringCheckingCredential = false
-
-    /** Get bundle which passing back to FingerprintSettings for late generateChallenge() */
-    fun createGeneratingChallengeExtras(): Bundle? {
-        if (!isGeneratingChallengeDuringCheckingCredential
-            || !credentialModel.isValidToken
-            || !credentialModel.isValidChallenge
-        ) {
-            return null
-        }
-        val bundle = Bundle()
-        bundle.putByteArray(
-            ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN,
-            credentialModel.token
-        )
-        bundle.putLong(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, credentialModel.challenge)
-        return bundle
-    }
-
-    /** Check credential status for biometric enrollment. */
-    fun checkCredential(scope: CoroutineScope): CredentialAction {
-        return if (isValidCredential) {
-            CredentialAction.CREDENTIAL_VALID
-        } else if (isUnspecifiedPassword) {
-            CredentialAction.FAIL_NEED_TO_CHOOSE_LOCK
-        } else if (credentialModel.isValidGkPwHandle) {
-            val gkPwHandle = credentialModel.gkPwHandle
-            credentialModel.clearGkPwHandle()
-            // GkPwHandle is got through caller activity, we shall not revoke it after
-            // generateChallenge(). Let caller activity to make decision.
-            generateChallenge(gkPwHandle, false, scope)
-            isGeneratingChallengeDuringCheckingCredential = true
-            CredentialAction.IS_GENERATING_CHALLENGE
-        } else {
-            CredentialAction.FAIL_NEED_TO_CONFIRM_LOCK
-        }
-    }
-
-    private fun generateChallenge(
-        gkPwHandle: Long,
-        revokeGkPwHandle: Boolean,
-        scope: CoroutineScope
-    ) {
-        challengeGenerator.callback = object : GenerateChallengeCallback {
-            override fun onChallengeGenerated(sensorId: Int, userId: Int, challenge: Long) {
-                var illegalStateExceptionCaught = false
-                try {
-                    val newToken = requestGatekeeperHat(gkPwHandle, challenge, userId)
-                    credentialModel.challenge = challenge
-                    credentialModel.token = newToken
-                } catch (e: IllegalStateException) {
-                    Log.e(TAG, "generateChallenge, IllegalStateException", e)
-                    illegalStateExceptionCaught = true
-                } finally {
-                    if (revokeGkPwHandle) {
-                        lockPatternUtils.removeGatekeeperPasswordHandle(gkPwHandle)
-                    }
-                    Log.d(
-                        TAG,
-                        "generateChallenge(), model:$credentialModel"
-                                + ", revokeGkPwHandle:$revokeGkPwHandle"
-                    )
-                    // Check credential again
-                    if (!isValidCredential || illegalStateExceptionCaught) {
-                        Log.w(TAG, "generateChallenge, invalid Credential or IllegalStateException")
-                        scope.launch {
-                            _generateChallengeFailedFlow.emit(true)
-                        }
-                    }
-                }
-            }
-        }
-        challengeGenerator.generateChallenge(userId)
-    }
-
-    private val isValidCredential: Boolean
-        get() = !isUnspecifiedPassword && credentialModel.isValidToken
-
-    private val isUnspecifiedPassword: Boolean
-        get() = lockPatternUtils.getActivePasswordQuality(userId) == PASSWORD_QUALITY_UNSPECIFIED
-
-    /**
-     * Handle activity result from ChooseLockGeneric, ConfirmLockPassword, or ConfirmLockPattern
-     * @param isChooseLock true if result is coming from ChooseLockGeneric. False if result is
-     * coming from ConfirmLockPassword or ConfirmLockPattern
-     * @param result activity result
-     * @return if it is a valid result and viewModel is generating challenge
-     */
-    fun generateChallengeAsCredentialActivityResult(
-        isChooseLock: Boolean,
-        result: ActivityResult,
-        scope: CoroutineScope
-    ): Boolean {
-        if ((isChooseLock && result.resultCode == ChooseLockPattern.RESULT_FINISHED) ||
-            (!isChooseLock && result.resultCode == Activity.RESULT_OK)) {
-            result.data?.let {
-                val gkPwHandle = it.getLongExtra(
-                    ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE,
-                    CredentialModel.INVALID_GK_PW_HANDLE
-                )
-                // Revoke self requested GkPwHandle because it shall only used once inside this
-                // activity lifecycle.
-                generateChallenge(gkPwHandle, true, scope)
-                return true
-            }
-        }
-        return false
-    }
-
-    val userId: Int
-        get() = credentialModel.userId
-
-    val token: ByteArray?
-        get() = credentialModel.token
-
-    @Throws(IllegalStateException::class)
-    private fun requestGatekeeperHat(gkPwHandle: Long, challenge: Long, userId: Int): ByteArray? {
-        val response = lockPatternUtils
-            .verifyGatekeeperPasswordHandle(gkPwHandle, challenge, userId)
-        if (!response.isMatched) {
-            throw GatekeeperCredentialNotMatchException("Unable to request Gatekeeper HAT")
-        }
-        return response.gatekeeperHAT
-    }
-
-    /** Create Intent for choosing lock */
-    fun createChooseLockIntent(
-        context: Context, isSuw: Boolean,
-        suwExtras: Bundle
-    ): Intent {
-        val intent = BiometricUtils.getChooseLockIntent(
-            context, isSuw,
-            suwExtras
-        )
-        intent.putExtra(
-            ChooseLockGeneric.ChooseLockGenericFragment.HIDE_INSECURE_OPTIONS,
-            true
-        )
-        intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_GK_PW_HANDLE, true)
-        intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT, true)
-        if (credentialModel.isValidUserId) {
-            intent.putExtra(Intent.EXTRA_USER_ID, credentialModel.userId)
-        }
-        return intent
-    }
-
-    /** Create ConfirmLockLauncher */
-    fun createConfirmLockLauncher(
-        activity: Activity,
-        requestCode: Int, title: String
-    ): ChooseLockSettingsHelper {
-        val builder = ChooseLockSettingsHelper.Builder(activity)
-        builder.setRequestCode(requestCode)
-            .setTitle(title)
-            .setRequestGatekeeperPasswordHandle(true)
-            .setForegroundOnly(true)
-            .setReturnCredentials(true)
-        if (credentialModel.isValidUserId) {
-            builder.setUserId(credentialModel.userId)
-        }
-        return builder.build()
-    }
-
-    companion object {
-        private const val TAG = "AutoCredentialViewModel"
-    }
-}
-
-enum class CredentialAction {
-
-    CREDENTIAL_VALID,
-
-    /** Valid credential, activity does nothing. */
-    IS_GENERATING_CHALLENGE,
-
-    /** This credential looks good, but still need to run generateChallenge(). */
-    FAIL_NEED_TO_CHOOSE_LOCK,
-
-    /** Need activity to run confirm lock */
-    FAIL_NEED_TO_CONFIRM_LOCK
-}
diff --git a/src/com/android/settings/biometrics2/ui/viewmodel/DeviceFoldedViewModel.java b/src/com/android/settings/biometrics2/ui/viewmodel/DeviceFoldedViewModel.java
deleted file mode 100644
index 7dc1328..0000000
--- a/src/com/android/settings/biometrics2/ui/viewmodel/DeviceFoldedViewModel.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.biometrics2.ui.viewmodel;
-
-import android.content.res.Configuration;
-import android.util.Log;
-
-import androidx.annotation.NonNull;
-import androidx.lifecycle.LiveData;
-import androidx.lifecycle.MutableLiveData;
-import androidx.lifecycle.ViewModel;
-
-import com.android.systemui.unfold.compat.ScreenSizeFoldProvider;
-import com.android.systemui.unfold.updates.FoldProvider;
-
-import java.util.concurrent.Executor;
-
-/**
- * ViewModel explaining the fingerprint sensor location for fingerprint enrollment.
- */
-public class DeviceFoldedViewModel extends ViewModel {
-
-    private static final String TAG = "DeviceFoldedViewModel";
-
-    @NonNull private final MutableLiveData<Boolean> mLiveData =
-            new MutableLiveData<>(null);
-
-    private final ScreenSizeFoldProvider mScreenSizeFoldProvider;
-    private final FoldProvider.FoldCallback mIsFoldedCallback = isFolded -> {
-        Log.d(TAG, "onFoldUpdated= " + isFolded);
-        mLiveData.postValue(isFolded);
-    };
-
-    public DeviceFoldedViewModel(@NonNull ScreenSizeFoldProvider screenSizeFoldProvider,
-            @NonNull Executor executor) {
-        super();
-        mScreenSizeFoldProvider = screenSizeFoldProvider;
-        mScreenSizeFoldProvider.registerCallback(mIsFoldedCallback, executor);
-    }
-
-    /**
-     * Calls this method when activity gets configuration change
-     */
-    public void onConfigurationChanged(@NonNull Configuration newConfig) {
-        mScreenSizeFoldProvider.onConfigurationChange(newConfig);
-    }
-
-    /**
-     * Returns FoldedLiveData
-     */
-    public LiveData<Boolean> getLiveData() {
-        return mLiveData;
-    }
-
-    @Override
-    protected void onCleared() {
-        mScreenSizeFoldProvider.unregisterCallback(mIsFoldedCallback);
-        super.onCleared();
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/viewmodel/DeviceRotationViewModel.java b/src/com/android/settings/biometrics2/ui/viewmodel/DeviceRotationViewModel.java
deleted file mode 100644
index 07fe275..0000000
--- a/src/com/android/settings/biometrics2/ui/viewmodel/DeviceRotationViewModel.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.biometrics2.ui.viewmodel;
-
-import static android.hardware.display.DisplayManager.DisplayListener;
-
-import android.app.Application;
-import android.hardware.display.DisplayManager;
-import android.util.Log;
-import android.view.DisplayInfo;
-import android.view.Surface;
-
-import androidx.annotation.NonNull;
-import androidx.lifecycle.AndroidViewModel;
-import androidx.lifecycle.LiveData;
-import androidx.lifecycle.MutableLiveData;
-
-import com.android.internal.annotations.VisibleForTesting;
-
-/**
- * ViewModel explaining the fingerprint sensor location for fingerprint enrollment.
- */
-public class DeviceRotationViewModel extends AndroidViewModel {
-
-    private static final boolean DEBUG = false;
-    private static final String TAG = "DeviceRotationViewModel";
-
-    private final DisplayManager mDisplayManager;
-    private final boolean mIsReverseDefaultRotation;
-    @NonNull private final DisplayInfo mDisplayInfo = new DisplayInfo();
-
-    /** {@link android.hardware.display.DisplayManager} is a final class, set this member visibility
-     * to 'protected' for testing
-     */
-    @VisibleForTesting
-    protected final DisplayListener mDisplayListener = new DisplayListener() {
-        @Override
-        public void onDisplayAdded(int displayId) {
-        }
-
-        @Override
-        public void onDisplayRemoved(int displayId) {
-        }
-
-        @Override
-        public void onDisplayChanged(int displayId) {
-            final int rotation = getRotation();
-            Log.d(TAG, "onDisplayChanged(" + displayId + "), rotation:" + rotation);
-            mLiveData.postValue(rotation);
-        }
-    };
-
-    @NonNull private final MutableLiveData<Integer> mLiveData = new MutableLiveData<>();
-
-    public DeviceRotationViewModel(@NonNull Application application) {
-        super(application);
-        mDisplayManager = application.getSystemService(DisplayManager.class);
-        mDisplayManager.registerDisplayListener(mDisplayListener,
-                application.getMainThreadHandler());
-        mIsReverseDefaultRotation = application.getResources().getBoolean(
-                com.android.internal.R.bool.config_reverseDefaultRotation);
-    }
-
-    /**
-     * Returns current rotation.
-     *
-     * {@link android.view.Display} is a final class, set this method visibility to "protected" for
-     * inheriting it in test
-     */
-    @VisibleForTesting
-    @Surface.Rotation
-    protected int getRotation() {
-        getApplication().getDisplay().getDisplayInfo(mDisplayInfo);
-        if (mIsReverseDefaultRotation) {
-            return (mDisplayInfo.rotation + 1) % 4;
-        } else {
-            return mDisplayInfo.rotation;
-        }
-    }
-
-    /**
-     * Returns RotationLiveData
-     */
-    public LiveData<Integer> getLiveData() {
-        final Integer lastRotation = mLiveData.getValue();
-        @Surface.Rotation int newRotation = getRotation();
-        if (lastRotation == null || lastRotation != newRotation) {
-            Log.d(TAG, "getLiveData, update rotation from " + lastRotation + " to " + newRotation);
-            mLiveData.setValue(newRotation);
-        }
-        return mLiveData;
-    }
-
-    @Override
-    protected void onCleared() {
-        mDisplayManager.unregisterDisplayListener(mDisplayListener);
-        super.onCleared();
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollEnrollingViewModel.java b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollEnrollingViewModel.java
deleted file mode 100644
index eba6a15..0000000
--- a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollEnrollingViewModel.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.biometrics2.ui.viewmodel;
-
-import android.annotation.IntDef;
-import android.app.Application;
-import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
-import android.os.VibrationAttributes;
-import android.os.VibrationEffect;
-import android.os.Vibrator;
-import android.util.Log;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityManager;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.lifecycle.AndroidViewModel;
-import androidx.lifecycle.LiveData;
-import androidx.lifecycle.MutableLiveData;
-
-import com.android.settings.biometrics2.data.repository.FingerprintRepository;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * ViewModel explaining the fingerprint enrolling page
- */
-public class FingerprintEnrollEnrollingViewModel extends AndroidViewModel {
-
-    private static final String TAG = FingerprintEnrollEnrollingViewModel.class.getSimpleName();
-    private static final boolean DEBUG = false;
-
-    private static final VibrationEffect VIBRATE_EFFECT_ERROR =
-            VibrationEffect.createWaveform(new long[]{0, 5, 55, 60}, -1);
-    private static final VibrationAttributes FINGERPRINT_ENROLLING_SONFICATION_ATTRIBUTES =
-            VibrationAttributes.createForUsage(VibrationAttributes.USAGE_ACCESSIBILITY);
-
-    /**
-     * Enrolling finished
-     */
-    public static final int FINGERPRINT_ENROLL_ENROLLING_ACTION_DONE = 0;
-
-    /**
-     * Icon touch dialog show
-     */
-    public static final int FINGERPRINT_ENROLL_ENROLLING_ACTION_SHOW_ICON_TOUCH_DIALOG = 1;
-
-    /**
-     * Has got latest cancelled event due to user skip
-     */
-    public static final int FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_USER_SKIP = 2;
-
-    /**
-     * Has got latest cancelled event due to back key
-     */
-    public static final int FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_BACK_PRESSED = 3;
-
-    @IntDef(prefix = { "FINGERPRINT_ENROLL_ENROLLING_ACTION_" }, value = {
-            FINGERPRINT_ENROLL_ENROLLING_ACTION_DONE,
-            FINGERPRINT_ENROLL_ENROLLING_ACTION_SHOW_ICON_TOUCH_DIALOG,
-            FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_USER_SKIP
-    })
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface FingerprintEnrollEnrollingAction {}
-
-    private final int mUserId;
-    private boolean mOnBackPressed;
-    private boolean mOnSkipPressed;
-    @NonNull private final FingerprintRepository mFingerprintRepository;
-    private final AccessibilityManager mAccessibilityManager;
-    private final Vibrator mVibrator;
-
-    private final MutableLiveData<Integer> mActionLiveData = new MutableLiveData<>();
-
-    public FingerprintEnrollEnrollingViewModel(
-            @NonNull Application application,
-            int userId,
-            @NonNull FingerprintRepository fingerprintRepository
-    ) {
-        super(application);
-        mUserId = userId;
-        mFingerprintRepository = fingerprintRepository;
-        mAccessibilityManager = application.getSystemService(AccessibilityManager.class);
-        mVibrator = application.getSystemService(Vibrator.class);
-    }
-
-    public LiveData<Integer> getActionLiveData() {
-        return mActionLiveData;
-    }
-
-    /**
-     * Clears action live data
-     */
-    public void clearActionLiveData() {
-        mActionLiveData.setValue(null);
-    }
-
-    public boolean getOnSkipPressed() {
-        return mOnSkipPressed;
-    }
-
-    /**
-     * User clicks skip button
-     */
-    public void setOnSkipPressed() {
-        mOnSkipPressed = true;
-    }
-
-    /**
-     * Enrolling is cancelled because user clicks skip
-     */
-    public void onCancelledDueToOnSkipPressed() {
-        final int action = FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_USER_SKIP;
-        if (DEBUG) {
-            Log.d(TAG, "onSkipButtonClick, post action " + action);
-        }
-        mOnSkipPressed = false;
-        mActionLiveData.postValue(action);
-    }
-
-    /**
-     * Is enrolling finished
-     */
-    public void onEnrollingDone() {
-        final int action = FINGERPRINT_ENROLL_ENROLLING_ACTION_DONE;
-        if (DEBUG) {
-            Log.d(TAG, "onEnrollingDone, post action " + action);
-        }
-        mActionLiveData.postValue(action);
-    }
-
-    public boolean getOnBackPressed() {
-        return mOnBackPressed;
-    }
-
-    /**
-     * Back key is pressed.
-     */
-    public void setOnBackPressed() {
-        mOnBackPressed = true;
-    }
-
-    /**
-     * Enrollment is cancelled because back key is pressed.
-     */
-    public void onCancelledDueToOnBackPressed() {
-        final int action = FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_BACK_PRESSED;
-        if (DEBUG) {
-            Log.d(TAG, "onCancelledEventReceivedAfterOnBackPressed, post action " + action);
-        }
-        mOnBackPressed = false;
-        mActionLiveData.postValue(action);
-    }
-
-    /**
-     * Icon touch dialog show
-     */
-    public void showIconTouchDialog() {
-        final int action = FINGERPRINT_ENROLL_ENROLLING_ACTION_SHOW_ICON_TOUCH_DIALOG;
-        if (DEBUG) {
-            Log.d(TAG, "onIconTouchDialogShow, post action " + action);
-        }
-        mActionLiveData.postValue(action);
-    }
-
-    /**
-     * get enroll stage threshold
-     */
-    public float getEnrollStageThreshold(int index) {
-        return mFingerprintRepository.getEnrollStageThreshold(index);
-    }
-
-    /**
-     * Get enroll stage count
-     */
-    public int getEnrollStageCount() {
-        return mFingerprintRepository.getEnrollStageCount();
-    }
-
-    /**
-     * Requests interruption of the accessibility feedback from all accessibility services.
-     */
-    public void clearTalkback() {
-        mAccessibilityManager.interrupt();
-    }
-
-    /**
-     * Returns if the {@link AccessibilityManager} is enabled.
-     *
-     * @return True if this {@link AccessibilityManager} is enabled, false otherwise.
-     */
-    public boolean isAccessibilityEnabled() {
-        return mAccessibilityManager.isEnabled();
-    }
-
-    /**
-     * Sends an {@link AccessibilityEvent}.
-     */
-    public void sendAccessibilityEvent(CharSequence announcement) {
-        AccessibilityEvent e = AccessibilityEvent.obtain();
-        e.setEventType(AccessibilityEvent.TYPE_ANNOUNCEMENT);
-        e.setClassName(getClass().getName());
-        e.setPackageName(getApplication().getPackageName());
-        e.getText().add(announcement);
-        mAccessibilityManager.sendAccessibilityEvent(e);
-    }
-
-     /**
-     * Returns if the touch exploration in the system is enabled.
-     *
-     * @return True if touch exploration is enabled, false otherwise.
-     */
-    public boolean isTouchExplorationEnabled() {
-        return mAccessibilityManager.isTouchExplorationEnabled();
-    }
-
-    /**
-     * Like {@link #vibrate(VibrationEffect, VibrationAttributes)}, but allows the
-     * caller to specify the vibration is owned by someone else and set a reason for vibration.
-     */
-    public void vibrateError(String reason) {
-        mVibrator.vibrate(mUserId, getApplication().getOpPackageName(),
-                VIBRATE_EFFECT_ERROR, reason, FINGERPRINT_ENROLLING_SONFICATION_ATTRIBUTES);
-    }
-
-    /**
-     * Gets the first FingerprintSensorPropertiesInternal from FingerprintManager
-     */
-    @Nullable
-    public FingerprintSensorPropertiesInternal getFirstFingerprintSensorPropertiesInternal() {
-        return mFingerprintRepository.getFirstFingerprintSensorPropertiesInternal();
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollErrorDialogViewModel.kt b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollErrorDialogViewModel.kt
deleted file mode 100644
index b154fe7..0000000
--- a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollErrorDialogViewModel.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.android.settings.biometrics2.ui.viewmodel
-
-import android.app.Application
-import androidx.lifecycle.AndroidViewModel
-import kotlinx.atomicfu.AtomicBoolean
-import kotlinx.atomicfu.atomic
-import kotlinx.coroutines.flow.MutableSharedFlow
-import kotlinx.coroutines.flow.SharedFlow
-import kotlinx.coroutines.flow.asSharedFlow
-
-class FingerprintEnrollErrorDialogViewModel(
-    application: Application,
-    val isSuw: Boolean
-): AndroidViewModel(application) {
-
-    private val _isDialogShown: AtomicBoolean = atomic(false)
-    val isDialogShown: Boolean
-        get() = _isDialogShown.value
-
-    private val _newDialogFlow = MutableSharedFlow<Int>()
-    val newDialogFlow: SharedFlow<Int>
-        get() = _newDialogFlow.asSharedFlow()
-
-    private val _triggerRetryFlow = MutableSharedFlow<Any>()
-    val triggerRetryFlow: SharedFlow<Any>
-        get() = _triggerRetryFlow.asSharedFlow()
-
-    private val _setResultFlow = MutableSharedFlow<FingerprintErrorDialogSetResultAction>()
-    val setResultFlow: SharedFlow<FingerprintErrorDialogSetResultAction>
-        get() = _setResultFlow.asSharedFlow()
-
-    suspend fun newDialog(errorMsgId: Int) {
-        _isDialogShown.compareAndSet(expect = false, update = true)
-        _newDialogFlow.emit(errorMsgId)
-    }
-
-    suspend fun triggerRetry() {
-        _isDialogShown.compareAndSet(expect = true, update = false)
-        _triggerRetryFlow.emit(Any())
-    }
-
-    suspend fun setResultAndFinish(action: FingerprintErrorDialogSetResultAction) {
-        _isDialogShown.compareAndSet(expect = true, update = false)
-        _setResultFlow.emit(action)
-    }
-}
-
-enum class FingerprintErrorDialogSetResultAction {
-    FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_FINISH,
-    FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_TIMEOUT
-}
diff --git a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollFindSensorViewModel.java b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollFindSensorViewModel.java
deleted file mode 100644
index 00c67c4..0000000
--- a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollFindSensorViewModel.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.biometrics2.ui.viewmodel;
-
-import android.annotation.IntDef;
-import android.app.Application;
-import android.util.Log;
-import android.view.accessibility.AccessibilityManager;
-
-import androidx.annotation.NonNull;
-import androidx.lifecycle.AndroidViewModel;
-import androidx.lifecycle.LiveData;
-import androidx.lifecycle.MutableLiveData;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * ViewModel explaining the fingerprint sensor location for fingerprint enrollment.
- */
-public class FingerprintEnrollFindSensorViewModel extends AndroidViewModel {
-
-    private static final boolean DEBUG = false;
-    private static final String TAG = "FingerprintEnrollFindSensorViewModel";
-
-    /**
-     * User clicks 'Skip' button on this page in Settings
-     */
-    public static final int FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_SKIP = 0;
-
-    /**
-     * User clicks 'Skip' button on this page in SetupWizard flow
-     */
-    public static final int FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_DIALOG = 1;
-
-    /**
-     * User clicks 'Start' button on this page
-     */
-    public static final int FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_START = 2;
-
-    @IntDef(prefix = { "FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_" }, value = {
-            FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_SKIP,
-            FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_DIALOG,
-            FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_START
-    })
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface FingerprintEnrollFindSensorAction {}
-
-    private final AccessibilityManager mAccessibilityManager;
-
-    private final boolean mIsSuw;
-    @NonNull private final MutableLiveData<Integer> mActionLiveData = new MutableLiveData<>();
-
-    public FingerprintEnrollFindSensorViewModel(@NonNull Application application, boolean isSuw) {
-        super(application);
-        mAccessibilityManager = application.getSystemService(AccessibilityManager.class);
-        mIsSuw = isSuw;
-    }
-
-    /**
-     * Returns action live data that user chooses
-     */
-    public LiveData<Integer> getActionLiveData() {
-        return mActionLiveData;
-    }
-
-    /**
-     * Clear ActionLiveData to prevent get obsolete data
-     */
-    public void clearActionLiveData() {
-        mActionLiveData.setValue(null);
-    }
-
-    /**
-     * User clicks skip button on dialog
-     */
-    public void onSkipDialogButtonClick() {
-        final int action = FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_SKIP;
-        if (DEBUG) {
-            Log.d(TAG, "onSkipDialogButtonClick, post " + action);
-        }
-        mActionLiveData.postValue(action);
-    }
-
-    /**
-     * User clicks skip button
-     */
-    public void onSkipButtonClick() {
-        final int action = mIsSuw
-                ? FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_DIALOG
-                : FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_SKIP;
-        if (DEBUG) {
-            Log.d(TAG, "onSkipButtonClick, post action " + action);
-        }
-        mActionLiveData.postValue(action);
-    }
-
-    /**
-     * User clicks start button
-     */
-    public void onStartButtonClick() {
-        final int action = FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_START;
-        if (DEBUG) {
-            Log.d(TAG, "onStartButtonClick, post action " + action);
-        }
-        mActionLiveData.postValue(action);
-    }
-
-    /**
-     * Returns the info about accessibility is enabled or not
-     */
-    public boolean isAccessibilityEnabled() {
-        return mAccessibilityManager.isEnabled();
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollFinishViewModel.java b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollFinishViewModel.java
deleted file mode 100644
index ae67f74..0000000
--- a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollFinishViewModel.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.biometrics2.ui.viewmodel;
-
-import android.annotation.IntDef;
-import android.app.Application;
-import android.util.Log;
-
-import androidx.annotation.NonNull;
-import androidx.lifecycle.AndroidViewModel;
-import androidx.lifecycle.LiveData;
-import androidx.lifecycle.MutableLiveData;
-
-import com.android.settings.biometrics2.data.repository.FingerprintRepository;
-import com.android.settings.biometrics2.ui.model.EnrollmentRequest;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * Finish ViewModel handles the state of the fingerprint renroll final stage
- */
-public class FingerprintEnrollFinishViewModel extends AndroidViewModel {
-
-    private static final String TAG = FingerprintEnrollFinishViewModel.class.getSimpleName();
-    private static final boolean DEBUG = false;
-
-    /**
-     * User clicks "Add" button
-     */
-    public static final int FINGERPRINT_ENROLL_FINISH_ACTION_ADD_BUTTON_CLICK = 0;
-
-    /**
-     * User clicks "Next" button
-     */
-    public static final int FINGERPRINT_ENROLL_FINISH_ACTION_NEXT_BUTTON_CLICK = 1;
-
-    @IntDef(prefix = { "FINGERPRINT_ENROLL_FINISH_ACTION_" }, value = {
-            FINGERPRINT_ENROLL_FINISH_ACTION_ADD_BUTTON_CLICK,
-            FINGERPRINT_ENROLL_FINISH_ACTION_NEXT_BUTTON_CLICK
-    })
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface FingerprintEnrollFinishAction {}
-
-    @NonNull private final FingerprintRepository mFingerprintRepository;
-    @NonNull private final EnrollmentRequest mRequest;
-    private final int mUserId;
-
-    private final MutableLiveData<Integer> mActionLiveData = new MutableLiveData<>();
-
-    public FingerprintEnrollFinishViewModel(@NonNull Application application, int userId,
-            @NonNull EnrollmentRequest request,
-            @NonNull FingerprintRepository fingerprintRepository) {
-        super(application);
-        mUserId = userId;
-        mRequest = request;
-        mFingerprintRepository = fingerprintRepository;
-    }
-
-    @NonNull
-    public EnrollmentRequest getRequest() {
-        return mRequest;
-    }
-
-    /**
-     * The first sensor type is Side fps sensor or not
-     */
-    public boolean canAssumeSfps() {
-        return mFingerprintRepository.canAssumeSfps();
-    }
-
-    /**
-     * Device allows user to enroll another fingerprint or not.
-     */
-    public boolean isAnotherFingerprintEnrollable() {
-        return mFingerprintRepository.getNumOfEnrolledFingerprintsSize(mUserId)
-                < mFingerprintRepository.getMaxFingerprints();
-    }
-
-    /**
-     * Clear action LiveData
-     */
-    public void clearActionLiveData() {
-        mActionLiveData.setValue(null);
-    }
-
-    /**
-     * Get action LiveData
-     */
-    public LiveData<Integer> getActionLiveData() {
-        return mActionLiveData;
-    }
-
-    /**
-     * Handle add button Click
-     */
-    public void onAddButtonClick() {
-        final int action = FINGERPRINT_ENROLL_FINISH_ACTION_ADD_BUTTON_CLICK;
-        if (DEBUG) {
-            Log.d(TAG, "onAddButtonClick post(" + action + ")");
-        }
-        mActionLiveData.postValue(action);
-    }
-
-    /**
-     * Handle next button Click
-     */
-    public void onNextButtonClick() {
-        final int action = FINGERPRINT_ENROLL_FINISH_ACTION_NEXT_BUTTON_CLICK;
-        if (DEBUG) {
-            Log.d(TAG, "onNextButtonClick post(" + action + ")");
-        }
-        mActionLiveData.postValue(action);
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModel.kt b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModel.kt
deleted file mode 100644
index 98137b4..0000000
--- a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModel.kt
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.viewmodel
-
-import android.app.Application
-import android.util.Log
-import androidx.lifecycle.AndroidViewModel
-import com.android.settings.biometrics2.data.repository.FingerprintRepository
-import com.android.settings.biometrics2.ui.model.EnrollmentRequest
-import com.android.settings.biometrics2.ui.model.FingerprintEnrollIntroStatus
-import com.android.settings.biometrics2.ui.model.FingerprintEnrollable
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroAction.CONTINUE_ENROLL
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroAction.DONE_AND_FINISH
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroAction.SKIP_OR_CANCEL
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.MutableSharedFlow
-import kotlinx.coroutines.flow.MutableStateFlow
-import kotlinx.coroutines.flow.SharedFlow
-import kotlinx.coroutines.flow.asSharedFlow
-import kotlinx.coroutines.flow.combine
-import kotlinx.coroutines.launch
-
-/** Fingerprint intro onboarding page view model implementation */
-class FingerprintEnrollIntroViewModel(
-    application: Application,
-    private val fingerprintRepository: FingerprintRepository,
-    val request: EnrollmentRequest,
-    private val userId: Int
-) : AndroidViewModel(application) {
-
-    /** User's action flow (like clicking Agree, Skip, or Done) */
-    private val _actionFlow = MutableSharedFlow<FingerprintEnrollIntroAction>()
-    val actionFlow: SharedFlow<FingerprintEnrollIntroAction>
-        get() = _actionFlow.asSharedFlow()
-
-    private fun getEnrollableStatus(): FingerprintEnrollable {
-        val num = fingerprintRepository.getNumOfEnrolledFingerprintsSize(userId)
-        val max =
-            if (request.isSuw && !request.isAfterSuwOrSuwSuggestedAction)
-                fingerprintRepository.getMaxFingerprintsInSuw(
-                    getApplication<Application>().resources
-                )
-            else
-                fingerprintRepository.maxFingerprints
-        return if (num >= max)
-            FingerprintEnrollable.FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX
-        else
-            FingerprintEnrollable.FINGERPRINT_ENROLLABLE_OK
-    }
-
-    private val hasScrolledToBottomFlow = MutableStateFlow(HAS_SCROLLED_TO_BOTTOM_DEFAULT)
-    private val enrollableStatusFlow = MutableStateFlow(getEnrollableStatus())
-
-    /** Enrollable status and hasScrollToBottom live data */
-    val pageStatusFlow: Flow<FingerprintEnrollIntroStatus> =
-        hasScrolledToBottomFlow.combine(enrollableStatusFlow) {
-            hasScrolledToBottom: Boolean, enrollableStatus: FingerprintEnrollable ->
-            FingerprintEnrollIntroStatus(hasScrolledToBottom, enrollableStatus)
-        }
-
-    fun updateEnrollableStatus(scope: CoroutineScope) {
-        scope.launch {
-            enrollableStatusFlow.emit(getEnrollableStatus())
-        }
-    }
-
-    /** The first sensor type is UDFPS sensor or not */
-    val canAssumeUdfps: Boolean
-        get() = fingerprintRepository.canAssumeUdfps()
-
-    /** Update onboarding intro page has scrolled to bottom */
-    fun setHasScrolledToBottom(value: Boolean, scope: CoroutineScope) {
-        scope.launch {
-            hasScrolledToBottomFlow.emit(value)
-        }
-    }
-
-    /** Get parental consent required or not during enrollment process */
-    val isParentalConsentRequired: Boolean
-        get() = fingerprintRepository.isParentalConsentRequired(getApplication())
-
-    /** Get fingerprint is disable by admin or not */
-    val isBiometricUnlockDisabledByAdmin: Boolean
-        get() = fingerprintRepository.isDisabledByAdmin(getApplication(), userId)
-
-    /**
-     * User clicks next button
-     */
-    fun onNextButtonClick(scope: CoroutineScope) {
-        scope.launch {
-            when (val status = enrollableStatusFlow.value) {
-                FingerprintEnrollable.FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX ->
-                    _actionFlow.emit(DONE_AND_FINISH)
-
-                FingerprintEnrollable.FINGERPRINT_ENROLLABLE_OK ->
-                    _actionFlow.emit(CONTINUE_ENROLL)
-
-                else -> Log.w(TAG, "fail to click next, enrolled:$status")
-            }
-        }
-    }
-
-    /** User clicks skip/cancel button */
-    fun onSkipOrCancelButtonClick(scope: CoroutineScope) {
-        scope.launch {
-            _actionFlow.emit(SKIP_OR_CANCEL)
-        }
-    }
-
-    companion object {
-        private const val TAG = "FingerprintEnrollIntroViewModel"
-        private const val HAS_SCROLLED_TO_BOTTOM_DEFAULT = false
-        private val ENROLLABLE_STATUS_DEFAULT = FingerprintEnrollable.FINGERPRINT_ENROLLABLE_UNKNOWN
-    }
-}
-
-enum class FingerprintEnrollIntroAction {
-    /** User clicks 'Done' button on this page */
-    DONE_AND_FINISH,
-    /** User clicks 'Agree' button on this page */
-    CONTINUE_ENROLL,
-    /** User clicks 'Skip' button on this page */
-    SKIP_OR_CANCEL
-}
diff --git a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollProgressViewModel.java b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollProgressViewModel.java
deleted file mode 100644
index 1cfec52..0000000
--- a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollProgressViewModel.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.biometrics2.ui.viewmodel;
-
-import static android.hardware.biometrics.BiometricFingerprintConstants.FINGERPRINT_ERROR_CANCELED;
-import static android.hardware.fingerprint.FingerprintManager.ENROLL_ENROLL;
-
-import static com.android.settings.biometrics2.ui.model.EnrollmentProgress.INITIAL_REMAINING;
-import static com.android.settings.biometrics2.ui.model.EnrollmentProgress.INITIAL_STEPS;
-
-import android.app.Application;
-import android.content.Intent;
-import android.content.res.Resources;
-import android.hardware.fingerprint.FingerprintManager.EnrollReason;
-import android.hardware.fingerprint.FingerprintManager.EnrollmentCallback;
-import android.os.CancellationSignal;
-import android.os.SystemClock;
-import android.util.Log;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.lifecycle.AndroidViewModel;
-import androidx.lifecycle.LiveData;
-import androidx.lifecycle.MutableLiveData;
-
-import com.android.settings.R;
-import com.android.settings.biometrics.fingerprint.FingerprintUpdater;
-import com.android.settings.biometrics.fingerprint.MessageDisplayController;
-import com.android.settings.biometrics2.ui.model.EnrollmentProgress;
-import com.android.settings.biometrics2.ui.model.EnrollmentStatusMessage;
-
-import java.util.LinkedList;
-
-/**
- * Progress ViewModel handles the state around biometric enrollment. It manages the state of
- * enrollment throughout the activity lifecycle so the app can continue after an event like
- * rotation.
- */
-public class FingerprintEnrollProgressViewModel extends AndroidViewModel {
-
-    private static final boolean DEBUG = false;
-    private static final String TAG = "FingerprintEnrollProgressViewModel";
-
-    private final MutableLiveData<EnrollmentProgress> mProgressLiveData = new MutableLiveData<>(
-            new EnrollmentProgress(INITIAL_STEPS, INITIAL_REMAINING));
-    private final MutableLiveData<EnrollmentStatusMessage> mHelpMessageLiveData =
-            new MutableLiveData<>();
-    private final MutableLiveData<EnrollmentStatusMessage> mErrorMessageLiveData =
-            new MutableLiveData<>();
-    private final MutableLiveData<Object> mCanceledSignalLiveData = new MutableLiveData<>();
-    private final MutableLiveData<Boolean> mAcquireLiveData = new MutableLiveData<>();
-    private final MutableLiveData<Integer> mPointerDownLiveData = new MutableLiveData<>();
-    private final MutableLiveData<Integer> mPointerUpLiveData = new MutableLiveData<>();
-
-    private byte[] mToken = null;
-    private final int mUserId;
-
-    private final FingerprintUpdater mFingerprintUpdater;
-    @Nullable private CancellationSignal mCancellationSignal = null;
-    @NonNull private final LinkedList<CancellationSignal> mCancelingSignalQueue =
-            new LinkedList<>();
-    private final EnrollmentCallback mEnrollmentCallback = new EnrollmentCallback() {
-
-        @Override
-        public void onEnrollmentProgress(int remaining) {
-            final int currentSteps = getSteps();
-            final EnrollmentProgress progress = new EnrollmentProgress(
-                    currentSteps == INITIAL_STEPS ? remaining : getSteps(), remaining);
-            if (DEBUG) {
-                Log.d(TAG, "onEnrollmentProgress(" + remaining + "), steps: " + currentSteps
-                        + ", post progress as " + progress);
-            }
-            mHelpMessageLiveData.setValue(null);
-            mProgressLiveData.postValue(progress);
-        }
-
-        @Override
-        public void onEnrollmentHelp(int helpMsgId, CharSequence helpString) {
-            if (DEBUG) {
-                Log.d(TAG, "onEnrollmentHelp(" + helpMsgId + ", " + helpString + ")");
-            }
-            mHelpMessageLiveData.postValue(new EnrollmentStatusMessage(helpMsgId, helpString));
-        }
-
-        @Override
-        public void onEnrollmentError(int errMsgId, CharSequence errString) {
-            Log.d(TAG, "onEnrollmentError(" + errMsgId + ", " + errString
-                    + "), cancelingQueueSize:" + mCancelingSignalQueue.size());
-            if (FINGERPRINT_ERROR_CANCELED == errMsgId && mCancelingSignalQueue.size() > 0) {
-                mCanceledSignalLiveData.postValue(mCancelingSignalQueue.poll());
-            } else {
-                mErrorMessageLiveData.postValue(new EnrollmentStatusMessage(errMsgId, errString));
-            }
-        }
-
-        @Override
-        public void onAcquired(boolean isAcquiredGood) {
-            mAcquireLiveData.postValue(isAcquiredGood);
-        }
-
-        @Override
-        public void onUdfpsPointerDown(int sensorId) {
-            mPointerDownLiveData.postValue(sensorId);
-        }
-
-        @Override
-        public void onUdfpsPointerUp(int sensorId) {
-            mPointerUpLiveData.postValue(sensorId);
-        }
-    };
-
-    public FingerprintEnrollProgressViewModel(@NonNull Application application,
-            @NonNull FingerprintUpdater fingerprintUpdater, int userId) {
-        super(application);
-        mFingerprintUpdater = fingerprintUpdater;
-        mUserId = userId;
-    }
-
-    public void setToken(byte[] token) {
-        mToken = token;
-    }
-
-    /**
-     * clear progress
-     */
-    public void clearProgressLiveData() {
-        mProgressLiveData.setValue(new EnrollmentProgress(INITIAL_STEPS, INITIAL_REMAINING));
-        mHelpMessageLiveData.setValue(null);
-        mErrorMessageLiveData.setValue(null);
-    }
-
-    /**
-     * clear error message
-     */
-    public void clearErrorMessageLiveData() {
-        mErrorMessageLiveData.setValue(null);
-    }
-
-    public LiveData<EnrollmentProgress> getProgressLiveData() {
-        return mProgressLiveData;
-    }
-
-    public LiveData<EnrollmentStatusMessage> getHelpMessageLiveData() {
-        return mHelpMessageLiveData;
-    }
-
-    public LiveData<EnrollmentStatusMessage> getErrorMessageLiveData() {
-        return mErrorMessageLiveData;
-    }
-
-    public LiveData<Object> getCanceledSignalLiveData() {
-        return mCanceledSignalLiveData;
-    }
-
-    public LiveData<Boolean> getAcquireLiveData() {
-        return mAcquireLiveData;
-    }
-
-    public LiveData<Integer> getPointerDownLiveData() {
-        return mPointerDownLiveData;
-    }
-
-    public LiveData<Integer> getPointerUpLiveData() {
-        return mPointerUpLiveData;
-    }
-
-    /**
-     * Starts enrollment and return latest isEnrolling() result
-     */
-    public Object startEnrollment(@EnrollReason int reason) {
-        if (mToken == null) {
-            Log.e(TAG, "Null hardware auth token for enroll");
-            return null;
-        }
-        if (mCancellationSignal != null) {
-            Log.w(TAG, "Enrolling is running, shall not start again");
-            return mCancellationSignal;
-        }
-        if (DEBUG) {
-            Log.e(TAG, "startEnrollment(" + reason + ")");
-        }
-
-        // Clear data
-        mProgressLiveData.setValue(new EnrollmentProgress(INITIAL_STEPS, INITIAL_REMAINING));
-        mHelpMessageLiveData.setValue(null);
-        mErrorMessageLiveData.setValue(null);
-
-        mCancellationSignal = new CancellationSignal();
-
-        final Resources res = getApplication().getResources();
-        if (reason == ENROLL_ENROLL
-                && res.getBoolean(R.bool.enrollment_message_display_controller_flag)) {
-            final EnrollmentCallback callback = new MessageDisplayController(
-                    getApplication().getMainThreadHandler(),
-                    mEnrollmentCallback,
-                    SystemClock.elapsedRealtimeClock(),
-                    res.getInteger(R.integer.enrollment_help_minimum_time_display),
-                    res.getInteger(R.integer.enrollment_progress_minimum_time_display),
-                    res.getBoolean(R.bool.enrollment_progress_priority_over_help),
-                    res.getBoolean(R.bool.enrollment_prioritize_acquire_messages),
-                    res.getInteger(R.integer.enrollment_collect_time));
-            mFingerprintUpdater.enroll(mToken, mCancellationSignal, mUserId, callback, reason,
-                    new Intent());
-        } else {
-            mFingerprintUpdater.enroll(mToken, mCancellationSignal, mUserId, mEnrollmentCallback,
-                    reason, new Intent());
-        }
-        return mCancellationSignal;
-    }
-
-    /**
-     * Cancels enrollment and return latest isEnrolling result
-     */
-    public boolean cancelEnrollment() {
-        final CancellationSignal cancellationSignal = mCancellationSignal;
-        mCancellationSignal = null;
-
-        if (cancellationSignal == null) {
-            Log.e(TAG, "Fail to cancel enrollment, has cancelled or not start");
-            return false;
-        } else {
-            Log.d(TAG, "enrollment cancelled");
-        }
-        mCancelingSignalQueue.add(cancellationSignal);
-        cancellationSignal.cancel();
-
-        return true;
-    }
-
-    public boolean isEnrolling() {
-        return (mCancellationSignal != null);
-    }
-
-    private int getSteps() {
-        return mProgressLiveData.getValue().getSteps();
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollmentViewModel.kt b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollmentViewModel.kt
deleted file mode 100644
index 37b0052..0000000
--- a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollmentViewModel.kt
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.viewmodel
-
-import android.app.Application
-import android.content.ComponentName
-import android.content.Intent
-import android.content.pm.PackageManager
-import android.os.Bundle
-import android.util.Log
-import androidx.activity.result.ActivityResult
-import androidx.lifecycle.AndroidViewModel
-import com.android.settings.biometrics.BiometricEnrollBase
-import com.android.settings.biometrics.fingerprint.FingerprintEnrollFinish.FINGERPRINT_SUGGESTION_ACTIVITY
-import com.android.settings.biometrics.fingerprint.SetupFingerprintEnrollIntroduction
-import com.android.settings.biometrics2.data.repository.FingerprintRepository
-import com.android.settings.biometrics2.ui.model.EnrollmentRequest
-import kotlinx.atomicfu.AtomicBoolean
-import kotlinx.atomicfu.atomic
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.flow.MutableSharedFlow
-import kotlinx.coroutines.flow.SharedFlow
-import kotlinx.coroutines.flow.asSharedFlow
-import kotlinx.coroutines.launch
-
-/**
- * Fingerprint enrollment view model implementation
- */
-class FingerprintEnrollmentViewModel(
-    application: Application,
-    private val fingerprintRepository: FingerprintRepository,
-    val request: EnrollmentRequest
-) : AndroidViewModel(application) {
-
-    val isWaitingActivityResult: AtomicBoolean = atomic(false)
-
-    private val _setResultFlow = MutableSharedFlow<ActivityResult>()
-    val setResultFlow: SharedFlow<ActivityResult>
-        get() = _setResultFlow.asSharedFlow()
-
-    var isNewFingerprintAdded = false
-        set(value) {
-            // Only allow changing this value from false to true
-            if (!field) {
-                field = value
-            }
-        }
-
-    /**
-     * Get override activity result as current ViewModel status.
-     *
-     * FingerprintEnrollmentActivity supports user enrolls 2nd fingerprint or starts a new flow
-     * through Deferred-SUW, Portal-SUW, or SUW Suggestion. Use a method to get override activity
-     * result instead of putting these if-else on every setResult(), .
-     */
-    fun getOverrideActivityResult(
-        result: ActivityResult,
-        generatingChallengeExtras: Bundle?
-    ): ActivityResult {
-        val newResultCode = if (isNewFingerprintAdded)
-            BiometricEnrollBase.RESULT_FINISHED
-        else if (request.isAfterSuwOrSuwSuggestedAction)
-            BiometricEnrollBase.RESULT_CANCELED
-        else
-            result.resultCode
-
-        var newData = result.data
-        if (newResultCode == BiometricEnrollBase.RESULT_FINISHED
-            && generatingChallengeExtras != null
-        ) {
-            if (newData == null) {
-                newData = Intent()
-            }
-            newData.putExtras(generatingChallengeExtras)
-        }
-        return ActivityResult(newResultCode, newData)
-    }
-
-    /**
-     * Activity calls this method during onPause() to finish itself when back to background.
-     *
-     * @param isActivityFinishing Activity has called finish() or not
-     * @param isChangingConfigurations Activity is finished because of configuration changed or not.
-     */
-    fun checkFinishActivityDuringOnPause(
-        isActivityFinishing: Boolean,
-        isChangingConfigurations: Boolean,
-        scope: CoroutineScope
-    ) {
-        if (isChangingConfigurations || isActivityFinishing || request.isSuw
-            || isWaitingActivityResult.value
-        ) {
-            return
-        }
-        scope.launch {
-            _setResultFlow.emit(ActivityResult(BiometricEnrollBase.RESULT_TIMEOUT, null))
-        }
-    }
-
-    /**
-     * Get Suw fingerprint count extra for statistics
-     */
-    fun getSuwFingerprintCountExtra(userId: Int) = Bundle().also {
-        it.putInt(
-            SetupFingerprintEnrollIntroduction.EXTRA_FINGERPRINT_ENROLLED_COUNT,
-            fingerprintRepository.getNumOfEnrolledFingerprintsSize(userId)
-        )
-    }
-
-    /**
-     * Gets the result about fingerprint enrollable
-     */
-    fun isMaxEnrolledReached(userId: Int): Boolean = with(fingerprintRepository) {
-        maxFingerprints <= getNumOfEnrolledFingerprintsSize(userId)
-    }
-
-    val canAssumeUdfps: Boolean
-        get() = fingerprintRepository.canAssumeUdfps()
-
-    val canAssumeSfps: Boolean
-        get() = fingerprintRepository.canAssumeSfps()
-
-    /**
-     * Update FINGERPRINT_SUGGESTION_ACTIVITY into package manager
-     */
-    fun updateFingerprintSuggestionEnableState(userId: Int) {
-        // Only show "Add another fingerprint" if the user already enrolled one.
-        // "Add fingerprint" will be shown in the main flow if the user hasn't enrolled any
-        // fingerprints. If the user already added more than one fingerprint, they already know
-        // to add multiple fingerprints so we don't show the suggestion.
-        val state = if (fingerprintRepository.getNumOfEnrolledFingerprintsSize(userId) == 1)
-            PackageManager.COMPONENT_ENABLED_STATE_ENABLED
-        else
-            PackageManager.COMPONENT_ENABLED_STATE_DISABLED
-        getApplication<Application>().packageManager.setComponentEnabledSetting(
-            ComponentName(
-                getApplication(),
-                FINGERPRINT_SUGGESTION_ACTIVITY
-            ),
-            state,
-            PackageManager.DONT_KILL_APP
-        )
-        Log.d(TAG, "$FINGERPRINT_SUGGESTION_ACTIVITY enabled state: $state")
-    }
-
-    companion object {
-        private const val TAG = "FingerprintEnrollmentViewModel"
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/widget/UdfpsEnrollDrawable.java b/src/com/android/settings/biometrics2/ui/widget/UdfpsEnrollDrawable.java
deleted file mode 100644
index 4b0b624..0000000
--- a/src/com/android/settings/biometrics2/ui/widget/UdfpsEnrollDrawable.java
+++ /dev/null
@@ -1,436 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.biometrics2.ui.widget;
-
-import android.animation.Animator;
-import android.animation.AnimatorSet;
-import android.animation.ValueAnimator;
-import android.content.Context;
-import android.content.res.TypedArray;
-import android.graphics.Canvas;
-import android.graphics.ColorFilter;
-import android.graphics.Paint;
-import android.graphics.PointF;
-import android.graphics.Rect;
-import android.graphics.RectF;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.ShapeDrawable;
-import android.graphics.drawable.shapes.PathShape;
-import android.hardware.fingerprint.FingerprintManager;
-import android.os.Build;
-import android.os.UserHandle;
-import android.provider.Settings;
-import android.util.AttributeSet;
-import android.util.Log;
-import android.util.PathParser;
-import android.util.TypedValue;
-import android.view.accessibility.AccessibilityManager;
-import android.view.animation.AccelerateDecelerateInterpolator;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-import com.android.settings.R;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * UDFPS fingerprint drawable that is shown when enrolling
- */
-public class UdfpsEnrollDrawable extends Drawable {
-    private static final String TAG = "UdfpsAnimationEnroll";
-
-    private static final long TARGET_ANIM_DURATION_LONG = 800L;
-    private static final long TARGET_ANIM_DURATION_SHORT = 600L;
-    // 1 + SCALE_MAX is the maximum that the moving target will animate to
-    private static final float SCALE_MAX = 0.25f;
-    private static final float DEFAULT_STROKE_WIDTH = 3f;
-    private static final float SCALE = 0.5f;
-    private static final String SCALE_OVERRIDE =
-            "com.android.systemui.biometrics.UdfpsEnrollHelper.scale";
-    private static final String NEW_COORDS_OVERRIDE =
-            "com.android.systemui.biometrics.UdfpsNewCoords";
-
-    @NonNull
-    private final Drawable mMovingTargetFpIcon;
-    @NonNull
-    private final Paint mSensorOutlinePaint;
-    @NonNull
-    private final Paint mBlueFill;
-    @NonNull
-    private final ShapeDrawable mFingerprintDrawable;
-    private int mAlpha;
-    private boolean mSkipDraw = false;
-
-    @Nullable
-    private RectF mSensorRect;
-
-    // Moving target animator set
-    @Nullable
-    AnimatorSet mTargetAnimatorSet;
-    // Moving target location
-    float mCurrentX;
-    float mCurrentY;
-    // Moving target size
-    float mCurrentScale = 1.f;
-
-    @NonNull
-    private final Animator.AnimatorListener mTargetAnimListener;
-
-    private boolean mShouldShowTipHint = false;
-    private boolean mShouldShowEdgeHint = false;
-
-    private int mEnrollIcon;
-    private int mMovingTargetFill;
-
-    private int mTotalSteps = -1;
-    private int mRemainingSteps = -1;
-    private int mLocationsEnrolled = 0;
-    private int mCenterTouchCount = 0;
-
-    private FingerprintManager mFingerprintManager;
-
-    private boolean mAccessibilityEnabled;
-    private Context mContext;
-    private final List<PointF> mGuidedEnrollmentPoints;
-
-    UdfpsEnrollDrawable(@NonNull Context context, @Nullable AttributeSet attrs) {
-        mFingerprintDrawable = defaultFactory(context);
-
-        loadResources(context, attrs);
-        mSensorOutlinePaint = new Paint(0 /* flags */);
-        mSensorOutlinePaint.setAntiAlias(true);
-        mSensorOutlinePaint.setColor(mMovingTargetFill);
-        mSensorOutlinePaint.setStyle(Paint.Style.FILL);
-
-        mBlueFill = new Paint(0 /* flags */);
-        mBlueFill.setAntiAlias(true);
-        mBlueFill.setColor(mMovingTargetFill);
-        mBlueFill.setStyle(Paint.Style.FILL);
-
-        mMovingTargetFpIcon = context.getResources()
-                .getDrawable(R.drawable.ic_enrollment_fingerprint, null);
-        mMovingTargetFpIcon.setTint(mEnrollIcon);
-        mMovingTargetFpIcon.mutate();
-
-        mFingerprintDrawable.setTint(mEnrollIcon);
-
-        setAlpha(255);
-        mTargetAnimListener = new Animator.AnimatorListener() {
-            @Override
-            public void onAnimationStart(Animator animation) {
-            }
-
-            @Override
-            public void onAnimationEnd(Animator animation) {
-                updateTipHintVisibility();
-            }
-
-            @Override
-            public void onAnimationCancel(Animator animation) {
-            }
-
-            @Override
-            public void onAnimationRepeat(Animator animation) {
-            }
-        };
-        mContext = context;
-        mFingerprintManager = context.getSystemService(FingerprintManager.class);
-        final AccessibilityManager am = context.getSystemService(AccessibilityManager.class);
-        mAccessibilityEnabled = am.isEnabled();
-        mGuidedEnrollmentPoints = new ArrayList<>();
-        initEnrollPoint(context);
-    }
-
-    /** The [sensorRect] coordinates for the sensor area. */
-    void onSensorRectUpdated(@NonNull RectF sensorRect) {
-        int margin = ((int) sensorRect.height()) / 8;
-        Rect bounds = new Rect((int) (sensorRect.left) + margin, (int) (sensorRect.top) + margin,
-                (int) (sensorRect.right) - margin, (int) (sensorRect.bottom) - margin);
-        updateFingerprintIconBounds(bounds);
-        mSensorRect = sensorRect;
-    }
-
-    void setShouldSkipDraw(boolean skipDraw) {
-        if (mSkipDraw == skipDraw) {
-            return;
-        }
-        mSkipDraw = skipDraw;
-        invalidateSelf();
-    }
-
-    void updateFingerprintIconBounds(@NonNull Rect bounds) {
-        mFingerprintDrawable.setBounds(bounds);
-        invalidateSelf();
-        mMovingTargetFpIcon.setBounds(bounds);
-        invalidateSelf();
-    }
-
-    void onEnrollmentProgress(final int remaining, final int totalSteps) {
-        if (mTotalSteps == -1) {
-            mTotalSteps = totalSteps;
-        }
-
-        if (remaining != mRemainingSteps) {
-            mLocationsEnrolled++;
-            if (isCenterEnrollmentStage()) {
-                mCenterTouchCount++;
-            }
-        }
-        mRemainingSteps = remaining;
-
-        if (!isCenterEnrollmentStage()) {
-            if (mTargetAnimatorSet != null && mTargetAnimatorSet.isRunning()) {
-                mTargetAnimatorSet.end();
-            }
-
-            final PointF point = getNextGuidedEnrollmentPoint();
-            if (mCurrentX != point.x || mCurrentY != point.y) {
-                final ValueAnimator x = ValueAnimator.ofFloat(mCurrentX, point.x);
-                x.addUpdateListener(animation -> {
-                    mCurrentX = (float) animation.getAnimatedValue();
-                    invalidateSelf();
-                });
-
-                final ValueAnimator y = ValueAnimator.ofFloat(mCurrentY, point.y);
-                y.addUpdateListener(animation -> {
-                    mCurrentY = (float) animation.getAnimatedValue();
-                    invalidateSelf();
-                });
-
-                final boolean isMovingToCenter = point.x == 0f && point.y == 0f;
-                final long duration = isMovingToCenter
-                        ? TARGET_ANIM_DURATION_SHORT
-                        : TARGET_ANIM_DURATION_LONG;
-
-                final ValueAnimator scale = ValueAnimator.ofFloat(0, (float) Math.PI);
-                scale.setDuration(duration);
-                scale.addUpdateListener(animation -> {
-                    // Grow then shrink
-                    mCurrentScale = 1
-                            + SCALE_MAX * (float) Math.sin((float) animation.getAnimatedValue());
-                    invalidateSelf();
-                });
-
-                mTargetAnimatorSet = new AnimatorSet();
-
-                mTargetAnimatorSet.setInterpolator(new AccelerateDecelerateInterpolator());
-                mTargetAnimatorSet.setDuration(duration);
-                mTargetAnimatorSet.addListener(mTargetAnimListener);
-                mTargetAnimatorSet.playTogether(x, y, scale);
-                mTargetAnimatorSet.start();
-            } else {
-                updateTipHintVisibility();
-            }
-        } else {
-            updateTipHintVisibility();
-        }
-
-        updateEdgeHintVisibility();
-    }
-
-    @Override
-    public void draw(@NonNull Canvas canvas) {
-        if (mSkipDraw) {
-            return;
-        }
-
-        // Draw moving target
-        if (!isCenterEnrollmentStage()) {
-            canvas.save();
-            canvas.translate(mCurrentX, mCurrentY);
-
-            if (mSensorRect != null) {
-                canvas.scale(mCurrentScale, mCurrentScale,
-                        mSensorRect.centerX(), mSensorRect.centerY());
-                canvas.drawOval(mSensorRect, mBlueFill);
-            }
-
-            mMovingTargetFpIcon.draw(canvas);
-            canvas.restore();
-        } else {
-            if (mSensorRect != null) {
-                canvas.drawOval(mSensorRect, mSensorOutlinePaint);
-            }
-            mFingerprintDrawable.draw(canvas);
-            mFingerprintDrawable.setAlpha(getAlpha());
-            mSensorOutlinePaint.setAlpha(getAlpha());
-        }
-
-    }
-
-    @Override
-    public void setAlpha(int alpha) {
-        mAlpha = alpha;
-        mFingerprintDrawable.setAlpha(alpha);
-        mSensorOutlinePaint.setAlpha(alpha);
-        mBlueFill.setAlpha(alpha);
-        mMovingTargetFpIcon.setAlpha(alpha);
-        invalidateSelf();
-    }
-
-    @Override
-    public int getAlpha() {
-        return mAlpha;
-    }
-
-    @Override
-    public void setColorFilter(@Nullable ColorFilter colorFilter) {
-    }
-
-    @Override
-    public int getOpacity() {
-        return 0;
-    }
-
-    private void updateTipHintVisibility() {
-        final boolean shouldShow = isTipEnrollmentStage();
-        // With the new update, we will git rid of most of this code, and instead
-        // we will change the fingerprint icon.
-        if (mShouldShowTipHint == shouldShow) {
-            return;
-        }
-        mShouldShowTipHint = shouldShow;
-    }
-
-    private void updateEdgeHintVisibility() {
-        final boolean shouldShow = isEdgeEnrollmentStage();
-        if (mShouldShowEdgeHint == shouldShow) {
-            return;
-        }
-        mShouldShowEdgeHint = shouldShow;
-    }
-
-    private ShapeDrawable defaultFactory(Context context) {
-        String fpPath = context.getResources().getString(R.string.config_udfpsIcon);
-        ShapeDrawable drawable = new ShapeDrawable(
-                new PathShape(PathParser.createPathFromPathData(fpPath), 72f, 72f)
-        );
-        drawable.mutate();
-        drawable.getPaint().setStyle(Paint.Style.STROKE);
-        drawable.getPaint().setStrokeCap(Paint.Cap.ROUND);
-        drawable.getPaint().setStrokeWidth(DEFAULT_STROKE_WIDTH);
-        return drawable;
-    }
-
-    private void loadResources(Context context, @Nullable AttributeSet attrs) {
-        final TypedArray ta = context.obtainStyledAttributes(attrs,
-                R.styleable.BiometricsEnrollView, R.attr.biometricsEnrollStyle,
-                R.style.BiometricsEnrollStyle);
-        mEnrollIcon = ta.getColor(R.styleable.BiometricsEnrollView_biometricsEnrollIcon, 0);
-        mMovingTargetFill = ta.getColor(
-                R.styleable.BiometricsEnrollView_biometricsMovingTargetFill, 0);
-        ta.recycle();
-    }
-
-    private boolean isCenterEnrollmentStage() {
-        if (mTotalSteps == -1 || mRemainingSteps == -1) {
-            return true;
-        }
-        return mTotalSteps - mRemainingSteps < getStageThresholdSteps(mTotalSteps, 0);
-    }
-
-    private int getStageThresholdSteps(int totalSteps, int stageIndex) {
-        return Math.round(totalSteps * mFingerprintManager.getEnrollStageThreshold(stageIndex));
-    }
-
-    private PointF getNextGuidedEnrollmentPoint() {
-        if (mAccessibilityEnabled || !isGuidedEnrollmentStage()) {
-            return new PointF(0f, 0f);
-        }
-
-        float scale = SCALE;
-        if (Build.IS_ENG || Build.IS_USERDEBUG) {
-            scale = Settings.Secure.getFloatForUser(mContext.getContentResolver(),
-                    SCALE_OVERRIDE, SCALE,
-                    UserHandle.USER_CURRENT);
-        }
-        final int index = mLocationsEnrolled - mCenterTouchCount;
-        final PointF originalPoint = mGuidedEnrollmentPoints
-                .get(index % mGuidedEnrollmentPoints.size());
-        return new PointF(originalPoint.x * scale, originalPoint.y * scale);
-    }
-
-    private boolean isGuidedEnrollmentStage() {
-        if (mAccessibilityEnabled || mTotalSteps == -1 || mRemainingSteps == -1) {
-            return false;
-        }
-        final int progressSteps = mTotalSteps - mRemainingSteps;
-        return progressSteps >= getStageThresholdSteps(mTotalSteps, 0)
-                && progressSteps < getStageThresholdSteps(mTotalSteps, 1);
-    }
-
-    private boolean isTipEnrollmentStage() {
-        if (mTotalSteps == -1 || mRemainingSteps == -1) {
-            return false;
-        }
-        final int progressSteps = mTotalSteps - mRemainingSteps;
-        return progressSteps >= getStageThresholdSteps(mTotalSteps, 1)
-                && progressSteps < getStageThresholdSteps(mTotalSteps, 2);
-    }
-
-    private boolean isEdgeEnrollmentStage() {
-        if (mTotalSteps == -1 || mRemainingSteps == -1) {
-            return false;
-        }
-        return mTotalSteps - mRemainingSteps >= getStageThresholdSteps(mTotalSteps, 2);
-    }
-
-    private void initEnrollPoint(Context context) {
-        // Number of pixels per mm
-        float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_MM, 1,
-                context.getResources().getDisplayMetrics());
-        boolean useNewCoords = Settings.Secure.getIntForUser(mContext.getContentResolver(),
-                NEW_COORDS_OVERRIDE, 0,
-                UserHandle.USER_CURRENT) != 0;
-        if (useNewCoords && (Build.IS_ENG || Build.IS_USERDEBUG)) {
-            Log.v(TAG, "Using new coordinates");
-            mGuidedEnrollmentPoints.add(new PointF(-0.15f * px, -1.02f * px));
-            mGuidedEnrollmentPoints.add(new PointF(-0.15f * px, 1.02f * px));
-            mGuidedEnrollmentPoints.add(new PointF(0.29f * px, 0.00f * px));
-            mGuidedEnrollmentPoints.add(new PointF(2.17f * px, -2.35f * px));
-            mGuidedEnrollmentPoints.add(new PointF(1.07f * px, -3.96f * px));
-            mGuidedEnrollmentPoints.add(new PointF(-0.37f * px, -4.31f * px));
-            mGuidedEnrollmentPoints.add(new PointF(-1.69f * px, -3.29f * px));
-            mGuidedEnrollmentPoints.add(new PointF(-2.48f * px, -1.23f * px));
-            mGuidedEnrollmentPoints.add(new PointF(-2.48f * px, 1.23f * px));
-            mGuidedEnrollmentPoints.add(new PointF(-1.69f * px, 3.29f * px));
-            mGuidedEnrollmentPoints.add(new PointF(-0.37f * px, 4.31f * px));
-            mGuidedEnrollmentPoints.add(new PointF(1.07f * px, 3.96f * px));
-            mGuidedEnrollmentPoints.add(new PointF(2.17f * px, 2.35f * px));
-            mGuidedEnrollmentPoints.add(new PointF(2.58f * px, 0.00f * px));
-        } else {
-            Log.v(TAG, "Using old coordinates");
-            mGuidedEnrollmentPoints.add(new PointF(2.00f * px, 0.00f * px));
-            mGuidedEnrollmentPoints.add(new PointF(0.87f * px, -2.70f * px));
-            mGuidedEnrollmentPoints.add(new PointF(-1.80f * px, -1.31f * px));
-            mGuidedEnrollmentPoints.add(new PointF(-1.80f * px, 1.31f * px));
-            mGuidedEnrollmentPoints.add(new PointF(0.88f * px, 2.70f * px));
-            mGuidedEnrollmentPoints.add(new PointF(3.94f * px, -1.06f * px));
-            mGuidedEnrollmentPoints.add(new PointF(2.90f * px, -4.14f * px));
-            mGuidedEnrollmentPoints.add(new PointF(-0.52f * px, -5.95f * px));
-            mGuidedEnrollmentPoints.add(new PointF(-3.33f * px, -3.33f * px));
-            mGuidedEnrollmentPoints.add(new PointF(-3.99f * px, -0.35f * px));
-            mGuidedEnrollmentPoints.add(new PointF(-3.62f * px, 2.54f * px));
-            mGuidedEnrollmentPoints.add(new PointF(-1.49f * px, 5.57f * px));
-            mGuidedEnrollmentPoints.add(new PointF(2.29f * px, 4.92f * px));
-            mGuidedEnrollmentPoints.add(new PointF(3.82f * px, 1.78f * px));
-        }
-    }
-
-}
diff --git a/src/com/android/settings/biometrics2/ui/widget/UdfpsEnrollProgressBarDrawable.java b/src/com/android/settings/biometrics2/ui/widget/UdfpsEnrollProgressBarDrawable.java
deleted file mode 100644
index 8cb4bb2..0000000
--- a/src/com/android/settings/biometrics2/ui/widget/UdfpsEnrollProgressBarDrawable.java
+++ /dev/null
@@ -1,422 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.biometrics2.ui.widget;
-
-import android.animation.ValueAnimator;
-import android.content.Context;
-import android.content.res.TypedArray;
-import android.graphics.Canvas;
-import android.graphics.ColorFilter;
-import android.graphics.Paint;
-import android.graphics.drawable.Drawable;
-import android.os.Process;
-import android.os.VibrationAttributes;
-import android.os.VibrationEffect;
-import android.os.Vibrator;
-import android.util.AttributeSet;
-import android.util.DisplayMetrics;
-import android.view.accessibility.AccessibilityManager;
-import android.view.animation.DecelerateInterpolator;
-import android.view.animation.Interpolator;
-import android.view.animation.OvershootInterpolator;
-
-import androidx.annotation.ColorInt;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-import com.android.internal.annotations.VisibleForTesting;
-import com.android.settings.R;
-
-/**
- * UDFPS enrollment progress bar.
- */
-public class UdfpsEnrollProgressBarDrawable extends Drawable {
-    private static final String TAG = "UdfpsProgressBar";
-
-    private static final long CHECKMARK_ANIMATION_DELAY_MS = 200L;
-    private static final long CHECKMARK_ANIMATION_DURATION_MS = 300L;
-    private static final long FILL_COLOR_ANIMATION_DURATION_MS = 350L;
-    private static final long PROGRESS_ANIMATION_DURATION_MS = 400L;
-    private static final float STROKE_WIDTH_DP = 12f;
-    private static final Interpolator DEACCEL = new DecelerateInterpolator();
-
-    private static final VibrationEffect VIBRATE_EFFECT_ERROR =
-            VibrationEffect.createWaveform(new long[]{0, 5, 55, 60}, -1);
-    private static final VibrationAttributes FINGERPRINT_ENROLLING_SONFICATION_ATTRIBUTES =
-            VibrationAttributes.createForUsage(VibrationAttributes.USAGE_ACCESSIBILITY);
-
-    private static final VibrationAttributes HARDWARE_FEEDBACK_VIBRATION_ATTRIBUTES =
-            VibrationAttributes.createForUsage(VibrationAttributes.USAGE_HARDWARE_FEEDBACK);
-
-    private static final VibrationEffect SUCCESS_VIBRATION_EFFECT =
-            VibrationEffect.get(VibrationEffect.EFFECT_CLICK);
-
-    private final float mStrokeWidthPx;
-    @ColorInt
-    private final int mProgressColor;
-    @ColorInt
-    private final int mHelpColor;
-    @ColorInt
-    private final int mOnFirstBucketFailedColor;
-    @NonNull
-    private final Drawable mCheckmarkDrawable;
-    @NonNull
-    private final Interpolator mCheckmarkInterpolator;
-    @NonNull
-    private final Paint mBackgroundPaint;
-    @VisibleForTesting
-    @NonNull
-    final Paint mFillPaint;
-    @NonNull
-    private final Vibrator mVibrator;
-    @NonNull
-    private final boolean mIsAccessibilityEnabled;
-    @NonNull
-    private final Context mContext;
-
-    private boolean mAfterFirstTouch;
-
-    private int mRemainingSteps = 0;
-    private int mTotalSteps = 0;
-    private float mProgress = 0f;
-    @Nullable
-    private ValueAnimator mProgressAnimator;
-    @NonNull
-    private final ValueAnimator.AnimatorUpdateListener mProgressUpdateListener;
-
-    private boolean mShowingHelp = false;
-    @Nullable
-    private ValueAnimator mFillColorAnimator;
-    @NonNull
-    private final ValueAnimator.AnimatorUpdateListener mFillColorUpdateListener;
-
-    @Nullable
-    private ValueAnimator mBackgroundColorAnimator;
-    @NonNull
-    private final ValueAnimator.AnimatorUpdateListener mBackgroundColorUpdateListener;
-
-    private boolean mComplete = false;
-    private float mCheckmarkScale = 0f;
-    @Nullable
-    private ValueAnimator mCheckmarkAnimator;
-    @NonNull
-    private final ValueAnimator.AnimatorUpdateListener mCheckmarkUpdateListener;
-
-    private int mMovingTargetFill;
-    private int mMovingTargetFillError;
-    private int mEnrollProgress;
-    private int mEnrollProgressHelp;
-    private int mEnrollProgressHelpWithTalkback;
-
-    public UdfpsEnrollProgressBarDrawable(@NonNull Context context, @Nullable AttributeSet attrs) {
-        mContext = context;
-
-        loadResources(context, attrs);
-        float density = context.getResources().getDisplayMetrics().densityDpi;
-        mStrokeWidthPx = STROKE_WIDTH_DP * (density / DisplayMetrics.DENSITY_DEFAULT);
-        mProgressColor = mEnrollProgress;
-        final AccessibilityManager am = context.getSystemService(AccessibilityManager.class);
-        mIsAccessibilityEnabled = am.isTouchExplorationEnabled();
-        mOnFirstBucketFailedColor = mMovingTargetFillError;
-        if (!mIsAccessibilityEnabled) {
-            mHelpColor = mEnrollProgressHelp;
-        } else {
-            mHelpColor = mEnrollProgressHelpWithTalkback;
-        }
-        mCheckmarkDrawable = context.getDrawable(R.drawable.udfps_enroll_checkmark);
-        mCheckmarkDrawable.mutate();
-        mCheckmarkInterpolator = new OvershootInterpolator();
-
-        mBackgroundPaint = new Paint();
-        mBackgroundPaint.setStrokeWidth(mStrokeWidthPx);
-        mBackgroundPaint.setColor(mMovingTargetFill);
-        mBackgroundPaint.setAntiAlias(true);
-        mBackgroundPaint.setStyle(Paint.Style.STROKE);
-        mBackgroundPaint.setStrokeCap(Paint.Cap.ROUND);
-
-        // Progress fill should *not* use the extracted system color.
-        mFillPaint = new Paint();
-        mFillPaint.setStrokeWidth(mStrokeWidthPx);
-        mFillPaint.setColor(mProgressColor);
-        mFillPaint.setAntiAlias(true);
-        mFillPaint.setStyle(Paint.Style.STROKE);
-        mFillPaint.setStrokeCap(Paint.Cap.ROUND);
-
-        mVibrator = mContext.getSystemService(Vibrator.class);
-
-        mProgressUpdateListener = animation -> {
-            mProgress = (float) animation.getAnimatedValue();
-            invalidateSelf();
-        };
-
-        mFillColorUpdateListener = animation -> {
-            mFillPaint.setColor((int) animation.getAnimatedValue());
-            invalidateSelf();
-        };
-
-        mCheckmarkUpdateListener = animation -> {
-            mCheckmarkScale = (float) animation.getAnimatedValue();
-            invalidateSelf();
-        };
-
-        mBackgroundColorUpdateListener = animation -> {
-            mBackgroundPaint.setColor((int) animation.getAnimatedValue());
-            invalidateSelf();
-        };
-    }
-
-    void onEnrollmentProgress(final int remaining, final int totalSteps) {
-        mAfterFirstTouch = true;
-        updateState(remaining, totalSteps, false /* showingHelp */);
-    }
-
-    void onEnrollmentHelp(int remaining, int totalSteps) {
-        updateState(remaining, totalSteps, true /* showingHelp */);
-    }
-
-    void onLastStepAcquired() {
-        updateState(0, mTotalSteps, false /* showingHelp */);
-    }
-
-    private void updateState(int remainingSteps, int totalSteps, boolean showingHelp) {
-        updateProgress(remainingSteps, totalSteps, showingHelp);
-        updateFillColor(showingHelp);
-    }
-
-    private void updateProgress(int remainingSteps, int totalSteps, boolean showingHelp) {
-        if (mRemainingSteps == remainingSteps && mTotalSteps == totalSteps) {
-            return;
-        }
-
-        if (mShowingHelp) {
-            if (mVibrator != null && mIsAccessibilityEnabled) {
-                mVibrator.vibrate(Process.myUid(), mContext.getOpPackageName(),
-                        VIBRATE_EFFECT_ERROR, getClass().getSimpleName() + "::onEnrollmentHelp",
-                        FINGERPRINT_ENROLLING_SONFICATION_ATTRIBUTES);
-            }
-        } else {
-            // If the first touch is an error, remainingSteps will be -1 and the callback
-            // doesn't come from onEnrollmentHelp. If we are in the accessibility flow,
-            // we still would like to vibrate.
-            if (mVibrator != null) {
-                if (remainingSteps == -1 && mIsAccessibilityEnabled) {
-                    mVibrator.vibrate(Process.myUid(), mContext.getOpPackageName(),
-                            VIBRATE_EFFECT_ERROR,
-                            getClass().getSimpleName() + "::onFirstTouchError",
-                            FINGERPRINT_ENROLLING_SONFICATION_ATTRIBUTES);
-                } else if (remainingSteps != -1 && !mIsAccessibilityEnabled) {
-                    mVibrator.vibrate(Process.myUid(),
-                            mContext.getOpPackageName(),
-                            SUCCESS_VIBRATION_EFFECT,
-                            getClass().getSimpleName() + "::OnEnrollmentProgress",
-                            HARDWARE_FEEDBACK_VIBRATION_ATTRIBUTES);
-                }
-            }
-        }
-
-        mShowingHelp = showingHelp;
-        mRemainingSteps = remainingSteps;
-        mTotalSteps = totalSteps;
-
-        final int progressSteps = Math.max(0, totalSteps - remainingSteps);
-
-        // If needed, add 1 to progress and total steps to account for initial touch.
-        final int adjustedSteps = mAfterFirstTouch ? progressSteps + 1 : progressSteps;
-        final int adjustedTotal = mAfterFirstTouch ? mTotalSteps + 1 : mTotalSteps;
-
-        final float targetProgress = Math.min(1f, (float) adjustedSteps / (float) adjustedTotal);
-
-        if (mProgressAnimator != null && mProgressAnimator.isRunning()) {
-            mProgressAnimator.cancel();
-        }
-
-        mProgressAnimator = ValueAnimator.ofFloat(mProgress, targetProgress);
-        mProgressAnimator.setDuration(PROGRESS_ANIMATION_DURATION_MS);
-        mProgressAnimator.addUpdateListener(mProgressUpdateListener);
-        mProgressAnimator.start();
-
-        if (remainingSteps == 0) {
-            startCompletionAnimation();
-        } else if (remainingSteps > 0) {
-            rollBackCompletionAnimation();
-        }
-    }
-
-    private void animateBackgroundColor() {
-        if (mBackgroundColorAnimator != null && mBackgroundColorAnimator.isRunning()) {
-            mBackgroundColorAnimator.end();
-        }
-        mBackgroundColorAnimator = ValueAnimator.ofArgb(mBackgroundPaint.getColor(),
-                mOnFirstBucketFailedColor);
-        mBackgroundColorAnimator.setDuration(FILL_COLOR_ANIMATION_DURATION_MS);
-        mBackgroundColorAnimator.setRepeatCount(1);
-        mBackgroundColorAnimator.setRepeatMode(ValueAnimator.REVERSE);
-        mBackgroundColorAnimator.setInterpolator(DEACCEL);
-        mBackgroundColorAnimator.addUpdateListener(mBackgroundColorUpdateListener);
-        mBackgroundColorAnimator.start();
-    }
-
-    private void updateFillColor(boolean showingHelp) {
-        if (!mAfterFirstTouch && showingHelp) {
-            // If we are on the first touch, animate the background color
-            // instead of the progress color.
-            animateBackgroundColor();
-            return;
-        }
-
-        if (mFillColorAnimator != null && mFillColorAnimator.isRunning()) {
-            mFillColorAnimator.end();
-        }
-
-        @ColorInt final int targetColor = showingHelp ? mHelpColor : mProgressColor;
-        mFillColorAnimator = ValueAnimator.ofArgb(mFillPaint.getColor(), targetColor);
-        mFillColorAnimator.setDuration(FILL_COLOR_ANIMATION_DURATION_MS);
-        mFillColorAnimator.setRepeatCount(1);
-        mFillColorAnimator.setRepeatMode(ValueAnimator.REVERSE);
-        mFillColorAnimator.setInterpolator(DEACCEL);
-        mFillColorAnimator.addUpdateListener(mFillColorUpdateListener);
-        mFillColorAnimator.start();
-    }
-
-    private void startCompletionAnimation() {
-        if (mComplete) {
-            return;
-        }
-        mComplete = true;
-
-        if (mCheckmarkAnimator != null && mCheckmarkAnimator.isRunning()) {
-            mCheckmarkAnimator.cancel();
-        }
-
-        mCheckmarkAnimator = ValueAnimator.ofFloat(mCheckmarkScale, 1f);
-        mCheckmarkAnimator.setStartDelay(CHECKMARK_ANIMATION_DELAY_MS);
-        mCheckmarkAnimator.setDuration(CHECKMARK_ANIMATION_DURATION_MS);
-        mCheckmarkAnimator.setInterpolator(mCheckmarkInterpolator);
-        mCheckmarkAnimator.addUpdateListener(mCheckmarkUpdateListener);
-        mCheckmarkAnimator.start();
-    }
-
-    private void rollBackCompletionAnimation() {
-        if (!mComplete) {
-            return;
-        }
-        mComplete = false;
-
-        // Adjust duration based on how much of the completion animation has played.
-        final float animatedFraction = mCheckmarkAnimator != null
-                ? mCheckmarkAnimator.getAnimatedFraction()
-                : 0f;
-        final long durationMs = Math.round(CHECKMARK_ANIMATION_DELAY_MS * animatedFraction);
-
-        if (mCheckmarkAnimator != null && mCheckmarkAnimator.isRunning()) {
-            mCheckmarkAnimator.cancel();
-        }
-
-        mCheckmarkAnimator = ValueAnimator.ofFloat(mCheckmarkScale, 0f);
-        mCheckmarkAnimator.setDuration(durationMs);
-        mCheckmarkAnimator.addUpdateListener(mCheckmarkUpdateListener);
-        mCheckmarkAnimator.start();
-    }
-
-    private void loadResources(Context context, @Nullable AttributeSet attrs) {
-        final TypedArray ta = context.obtainStyledAttributes(attrs,
-                R.styleable.BiometricsEnrollView, R.attr.biometricsEnrollStyle,
-                R.style.BiometricsEnrollStyle);
-        mMovingTargetFill = ta.getColor(
-                R.styleable.BiometricsEnrollView_biometricsMovingTargetFill, 0);
-        mMovingTargetFillError = ta.getColor(
-                R.styleable.BiometricsEnrollView_biometricsMovingTargetFillError, 0);
-        mEnrollProgress = ta.getColor(
-                R.styleable.BiometricsEnrollView_biometricsEnrollProgress, 0);
-        mEnrollProgressHelp = ta.getColor(
-                R.styleable.BiometricsEnrollView_biometricsEnrollProgressHelp, 0);
-        mEnrollProgressHelpWithTalkback = ta.getColor(
-                R.styleable.BiometricsEnrollView_biometricsEnrollProgressHelpWithTalkback, 0);
-        ta.recycle();
-    }
-
-    @Override
-    public void draw(@NonNull Canvas canvas) {
-        canvas.save();
-
-        // Progress starts from the top, instead of the right
-        canvas.rotate(-90f, getBounds().centerX(), getBounds().centerY());
-
-        final float halfPaddingPx = mStrokeWidthPx / 2f;
-
-        if (mProgress < 1f) {
-            // Draw the background color of the progress circle.
-            canvas.drawArc(
-                    halfPaddingPx,
-                    halfPaddingPx,
-                    getBounds().right - halfPaddingPx,
-                    getBounds().bottom - halfPaddingPx,
-                    0f /* startAngle */,
-                    360f /* sweepAngle */,
-                    false /* useCenter */,
-                    mBackgroundPaint);
-        }
-
-        if (mProgress > 0f) {
-            // Draw the filled portion of the progress circle.
-            canvas.drawArc(
-                    halfPaddingPx,
-                    halfPaddingPx,
-                    getBounds().right - halfPaddingPx,
-                    getBounds().bottom - halfPaddingPx,
-                    0f /* startAngle */,
-                    360f * mProgress /* sweepAngle */,
-                    false /* useCenter */,
-                    mFillPaint);
-        }
-
-        canvas.restore();
-
-        if (mCheckmarkScale > 0f) {
-            final float offsetScale = (float) Math.sqrt(2) / 2f;
-            final float centerXOffset = (getBounds().width() - mStrokeWidthPx) / 2f * offsetScale;
-            final float centerYOffset = (getBounds().height() - mStrokeWidthPx) / 2f * offsetScale;
-            final float centerX = getBounds().centerX() + centerXOffset;
-            final float centerY = getBounds().centerY() + centerYOffset;
-
-            final float boundsXOffset =
-                    mCheckmarkDrawable.getIntrinsicWidth() / 2f * mCheckmarkScale;
-            final float boundsYOffset =
-                    mCheckmarkDrawable.getIntrinsicHeight() / 2f * mCheckmarkScale;
-
-            final int left = Math.round(centerX - boundsXOffset);
-            final int top = Math.round(centerY - boundsYOffset);
-            final int right = Math.round(centerX + boundsXOffset);
-            final int bottom = Math.round(centerY + boundsYOffset);
-            mCheckmarkDrawable.setBounds(left, top, right, bottom);
-            mCheckmarkDrawable.draw(canvas);
-        }
-    }
-
-    @Override
-    public void setAlpha(int alpha) {
-    }
-
-    @Override
-    public void setColorFilter(@Nullable ColorFilter colorFilter) {
-    }
-
-    @Override
-    public int getOpacity() {
-        return 0;
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/widget/UdfpsEnrollView.java b/src/com/android/settings/biometrics2/ui/widget/UdfpsEnrollView.java
deleted file mode 100644
index c99cb2d..0000000
--- a/src/com/android/settings/biometrics2/ui/widget/UdfpsEnrollView.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.biometrics2.ui.widget;
-
-import android.content.Context;
-import android.graphics.Rect;
-import android.graphics.RectF;
-import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
-import android.os.Handler;
-import android.os.Looper;
-import android.util.AttributeSet;
-import android.util.Log;
-import android.util.RotationUtils;
-import android.view.DisplayInfo;
-import android.view.Surface;
-import android.view.ViewGroup;
-import android.view.ViewTreeObserver;
-import android.widget.FrameLayout;
-import android.widget.ImageView;
-import android.widget.RelativeLayout;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-import com.android.settings.R;
-import com.android.systemui.biometrics.UdfpsUtils;
-import com.android.systemui.biometrics.shared.model.UdfpsOverlayParams;
-
-/**
- * View corresponding with udfps_enroll_view.xml
- */
-public class UdfpsEnrollView extends FrameLayout {
-    private static final String TAG = "UdfpsEnrollView";
-    @NonNull
-    private final UdfpsEnrollDrawable mFingerprintDrawable;
-    @NonNull
-    private final UdfpsEnrollProgressBarDrawable mFingerprintProgressDrawable;
-    @NonNull
-    private final Handler mHandler;
-
-    @NonNull
-    private ImageView mFingerprintProgressView;
-    private UdfpsUtils mUdfpsUtils;
-
-    private int mProgressBarRadius;
-
-    private Rect mSensorRect;
-    private UdfpsOverlayParams mOverlayParams;
-    private FingerprintSensorPropertiesInternal mSensorProperties;
-
-    private int mTotalSteps = -1;
-    private int mRemainingSteps = -1;
-    private int mLocationsEnrolled = 0;
-    private int mCenterTouchCount = 0;
-
-    public UdfpsEnrollView(Context context, @Nullable AttributeSet attrs) {
-        super(context, attrs);
-        mFingerprintDrawable = new UdfpsEnrollDrawable(mContext, attrs);
-        mFingerprintProgressDrawable = new UdfpsEnrollProgressBarDrawable(context, attrs);
-        mHandler = new Handler(Looper.getMainLooper());
-        mUdfpsUtils = new UdfpsUtils();
-    }
-
-    @Override
-    protected void onFinishInflate() {
-        ImageView fingerprintView = findViewById(R.id.udfps_enroll_animation_fp_view);
-        fingerprintView.setImageDrawable(mFingerprintDrawable);
-        mFingerprintProgressView = findViewById(R.id.udfps_enroll_animation_fp_progress_view);
-        mFingerprintProgressView.setImageDrawable(mFingerprintProgressDrawable);
-    }
-
-    /**
-     * Receive enroll progress information from FingerprintEnrollEnrollingUdfpsFragment
-     */
-    public void onEnrollmentProgress(int remaining, int totalSteps) {
-        if (mTotalSteps == -1) {
-            mTotalSteps = totalSteps;
-        }
-        mRemainingSteps = remaining;
-        mHandler.post(() -> {
-            mFingerprintProgressDrawable.onEnrollmentProgress(remaining, totalSteps);
-            mFingerprintDrawable.onEnrollmentProgress(remaining, totalSteps);
-        });
-    }
-
-    /**
-     * Receive enroll help information from FingerprintEnrollEnrollingUdfpsFragment
-     */
-    public void onEnrollmentHelp() {
-        mHandler.post(
-                () -> mFingerprintProgressDrawable.onEnrollmentHelp(mRemainingSteps, mTotalSteps));
-    }
-
-    /**
-     * Receive onAcquired from FingerprintEnrollEnrollingUdfpsFragment
-     */
-    public void onAcquired(boolean isAcquiredGood) {
-        final boolean animateIfLastStepGood =
-                isAcquiredGood && (mRemainingSteps <= 2 && mRemainingSteps >= 0);
-        mHandler.post(() -> {
-            onFingerUp();
-            if (animateIfLastStepGood) mFingerprintProgressDrawable.onLastStepAcquired();
-        });
-    }
-
-    /**
-     * Receive onPointerDown from FingerprintEnrollEnrollingUdfpsFragment
-     */
-    public void onPointerDown(int sensorId) {
-        onFingerDown();
-    }
-
-    /**
-     * Receive onPointerUp from FingerprintEnrollEnrollingUdfpsFragment
-     */
-    public void onPointerUp(int sensorId) {
-        onFingerUp();
-    }
-
-    private final ViewTreeObserver.OnDrawListener mOnDrawListener = this::updateOverlayParams;
-
-    /**
-     * setup SensorProperties
-     */
-    public void setSensorProperties(FingerprintSensorPropertiesInternal properties) {
-        mSensorProperties = properties;
-        ((ViewGroup) getParent()).getViewTreeObserver().addOnDrawListener(mOnDrawListener);
-    }
-
-    @Override
-    protected void onDetachedFromWindow() {
-        final ViewGroup parent = (ViewGroup) getParent();
-        if (parent != null) {
-            final ViewTreeObserver observer = parent.getViewTreeObserver();
-            if (observer != null) {
-                observer.removeOnDrawListener(mOnDrawListener);
-            }
-        }
-        super.onDetachedFromWindow();
-    }
-
-    private void onSensorRectUpdated() {
-        updateDimensions();
-
-        // Updates sensor rect in relation to the overlay view
-        mSensorRect.set(getPaddingX(), getPaddingY(),
-                (mOverlayParams.getSensorBounds().width() + getPaddingX()),
-                (mOverlayParams.getSensorBounds().height() + getPaddingY()));
-        mFingerprintDrawable.onSensorRectUpdated(new RectF(mSensorRect));
-    }
-
-    private void updateDimensions() {
-        // Original sensorBounds assume portrait mode.
-        final Rect rotatedBounds = new Rect(mOverlayParams.getSensorBounds());
-        int rotation = mOverlayParams.getRotation();
-        if (rotation == Surface.ROTATION_90 || rotation == Surface.ROTATION_270) {
-            RotationUtils.rotateBounds(
-                    rotatedBounds,
-                    mOverlayParams.getNaturalDisplayWidth(),
-                    mOverlayParams.getNaturalDisplayHeight(),
-                    rotation
-            );
-        }
-
-        RelativeLayout parent = ((RelativeLayout) getParent());
-        if (parent == null) {
-            Log.e(TAG, "Fail to updateDimensions for " + this + ", parent null");
-            return;
-        }
-        final int[] coords = parent.getLocationOnScreen();
-        final int parentLeft = coords[0];
-        final int parentTop = coords[1];
-        final int parentRight = parentLeft + parent.getWidth();
-        final int parentBottom = parentTop + parent.getHeight();
-
-
-        RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(getWidth(),
-                getHeight());
-        if (rotation == Surface.ROTATION_0 || rotation == Surface.ROTATION_180) {
-            params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
-            params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
-            params.rightMargin = parentRight - rotatedBounds.right - getPaddingX();
-            params.topMargin = rotatedBounds.top - parentTop - getPaddingY();
-        } else {
-            if (rotation == Surface.ROTATION_90) {
-                params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
-                params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
-                params.rightMargin = parentRight - rotatedBounds.right - getPaddingX();
-                params.bottomMargin = parentBottom - rotatedBounds.bottom - getPaddingY();
-            } else {
-                params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
-                params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
-                params.bottomMargin = parentBottom - rotatedBounds.bottom - getPaddingY();
-                params.leftMargin = rotatedBounds.left - parentLeft - getPaddingX();
-            }
-        }
-        params.height = rotatedBounds.height() + 2 * getPaddingX();
-        params.width = rotatedBounds.width() + 2 * getPaddingY();
-        setLayoutParams(params);
-    }
-
-    private void onFingerDown() {
-        mFingerprintDrawable.setShouldSkipDraw(true);
-        mFingerprintDrawable.invalidateSelf();
-    }
-
-    private void onFingerUp() {
-        mFingerprintDrawable.setShouldSkipDraw(false);
-        mFingerprintDrawable.invalidateSelf();
-    }
-
-    private int getPaddingX() {
-        return mProgressBarRadius;
-    }
-
-    private int getPaddingY() {
-        return mProgressBarRadius;
-    }
-
-    private void updateOverlayParams() {
-
-        if (mSensorProperties == null) {
-            android.util.Log.e(TAG, "There is no sensor info!");
-            return;
-        }
-
-        DisplayInfo displayInfo = new DisplayInfo();
-        if (getDisplay() == null) {
-            android.util.Log.e(TAG, "Can not get display");
-            return;
-        }
-        getDisplay().getDisplayInfo(displayInfo);
-        Rect udfpsBounds = mSensorProperties.getLocation().getRect();
-        float scaleFactor = mUdfpsUtils.getScaleFactor(displayInfo);
-        udfpsBounds.scale(scaleFactor);
-
-        final Rect overlayBounds = new Rect(
-                0, /* left */
-                displayInfo.getNaturalHeight() / 2, /* top */
-                displayInfo.getNaturalWidth(), /* right */
-                displayInfo.getNaturalHeight() /* botom */);
-
-        mOverlayParams = new UdfpsOverlayParams(
-                udfpsBounds,
-                overlayBounds,
-                displayInfo.getNaturalWidth(),
-                displayInfo.getNaturalHeight(),
-                scaleFactor,
-                displayInfo.rotation,
-                mSensorProperties.sensorType);
-
-        post(() -> {
-            mProgressBarRadius =
-                    (int) (mOverlayParams.getScaleFactor() * getContext().getResources().getInteger(
-                            R.integer.config_udfpsEnrollProgressBar));
-            mSensorRect = new Rect(mOverlayParams.getSensorBounds());
-
-            onSensorRectUpdated();
-        });
-
-    }
-}
-
diff --git a/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java b/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
index 1326831..02b8813 100644
--- a/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
+++ b/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
@@ -37,15 +37,19 @@
 import android.util.Pair;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.ImageButton;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
+import android.widget.ProgressBar;
 import android.widget.TextView;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.flags.Flags;
 import com.android.settings.fuelgauge.BatteryMeterView;
 import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
@@ -95,6 +99,7 @@
     private static final int MAIN_DEVICE_ID = 4;
     private static final float HALF_ALPHA = 0.5f;
 
+    PreferenceFragmentCompat mFragment;
     @VisibleForTesting
     LayoutPreference mLayoutPreference;
     @VisibleForTesting
@@ -168,8 +173,11 @@
         mIconCache.clear();
     }
 
-    public void init(CachedBluetoothDevice cachedBluetoothDevice) {
+    /** Initializes the controller. */
+    public void init(
+            CachedBluetoothDevice cachedBluetoothDevice, PreferenceFragmentCompat fragment) {
         mCachedDevice = cachedBluetoothDevice;
+        mFragment = fragment;
     }
 
     private void registerBluetoothDevice() {
@@ -323,6 +331,14 @@
                                     MAIN_DEVICE_ID);
                         }
                     });
+            if (Flags.enableBluetoothDeviceDetailsPolish()) {
+                ImageButton renameButton = mLayoutPreference.findViewById(R.id.rename_button);
+                renameButton.setVisibility(View.VISIBLE);
+                renameButton.setOnClickListener(view -> {
+                    RemoteDeviceNameDialogFragment.newInstance(mCachedDevice).show(
+                            mFragment.getFragmentManager(), RemoteDeviceNameDialogFragment.TAG);
+                });
+            }
         }
     }
 
@@ -456,18 +472,24 @@
                         com.android.settings.Utils.formatPercentage(batteryLevel));
                 batterySummaryView.setVisibility(View.VISIBLE);
                 showBatteryIcon(linearLayout, batteryLevel, lowBatteryLevel, charging);
+                showBatteryRing(linearLayout, batteryLevel);
             } else {
                 if (deviceId == MAIN_DEVICE_ID) {
                     linearLayout.setVisibility(View.VISIBLE);
                     linearLayout.findViewById(R.id.bt_battery_icon).setVisibility(View.GONE);
+
                     int level = preloadedNativeBatteryLevel.get();
                     if (level != BluetoothDevice.BATTERY_LEVEL_UNKNOWN
                             && level != BluetoothDevice.BATTERY_LEVEL_BLUETOOTH_OFF) {
                         batterySummaryView.setText(
                                 com.android.settings.Utils.formatPercentage(level));
                         batterySummaryView.setVisibility(View.VISIBLE);
+                        showBatteryRing(linearLayout, level);
                     } else {
                         batterySummaryView.setVisibility(View.GONE);
+                        if (Flags.enableBluetoothDeviceDetailsPolish()) {
+                            linearLayout.findViewById(R.id.battery_ring).setVisibility(View.GONE);
+                        }
                     }
                 } else {
                     // Hide it if it doesn't have battery information
@@ -481,6 +503,7 @@
                         com.android.settings.Utils.formatPercentage(batteryLevel));
                 batterySummaryView.setVisibility(View.VISIBLE);
                 showBatteryIcon(linearLayout, batteryLevel, lowBatteryLevel, charging);
+                showBatteryRing(linearLayout, batteryLevel);
             } else {
                 batterySummaryView.setVisibility(View.GONE);
             }
@@ -610,6 +633,14 @@
         imageView.setVisibility(View.VISIBLE);
     }
 
+    private void showBatteryRing(LinearLayout linearLayout, int level) {
+        if (Flags.enableBluetoothDeviceDetailsPolish()) {
+            ProgressBar batteryProgress = linearLayout.findViewById(R.id.battery_ring);
+            batteryProgress.setProgress(level);
+            batteryProgress.setVisibility(View.VISIBLE);
+        }
+    }
+
     private void updateDisconnectLayout() {
         mLayoutPreference.findViewById(R.id.layout_left).setVisibility(View.GONE);
         mLayoutPreference.findViewById(R.id.layout_right).setVisibility(View.GONE);
@@ -620,6 +651,9 @@
         linearLayout.findViewById(R.id.header_title).setVisibility(View.GONE);
         linearLayout.findViewById(R.id.bt_battery_summary).setVisibility(View.GONE);
         linearLayout.findViewById(R.id.bt_battery_icon).setVisibility(View.GONE);
+        if (Flags.enableBluetoothDeviceDetailsPolish()) {
+            linearLayout.findViewById(R.id.battery_ring).setVisibility(View.GONE);
+        }
 
         // Only show bluetooth icon
         final BluetoothDevice bluetoothDevice = mCachedDevice.getDevice();
diff --git a/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdater.java b/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdater.java
index b361bd2..22a39c8 100644
--- a/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdater.java
+++ b/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdater.java
@@ -23,10 +23,10 @@
 import androidx.preference.Preference;
 
 import com.android.settings.connecteddevice.DevicePreferenceCallback;
-import com.android.settings.connecteddevice.audiosharing.AudioSharingUtils;
 import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.utils.ThreadUtils;
 
 /** Controller to maintain available media Bluetooth devices */
 public class AvailableMediaBluetoothDeviceUpdater extends BluetoothDeviceUpdater
@@ -35,7 +35,7 @@
     private static final String TAG = "AvailableMediaBluetoothDeviceUpdater";
     private static final boolean DBG = Log.isLoggable(BluetoothDeviceUpdater.TAG, Log.DEBUG);
 
-    private static final String PREF_KEY = "available_media_bt";
+    private static final String PREF_KEY_PREFIX = "available_media_bt_";
 
     private final AudioManager mAudioManager;
     private final LocalBluetoothManager mLocalBtManager;
@@ -77,7 +77,7 @@
             // It would show in Available Devices group if the audio sharing flag is disabled or
             // the device is not in the audio sharing session.
             if (cachedDevice.isConnectedLeAudioDevice()) {
-                if (AudioSharingUtils.isFeatureEnabled()
+                if (BluetoothUtils.isAudioSharingEnabled()
                         && BluetoothUtils.hasConnectedBroadcastSource(
                                 cachedDevice, mLocalBtManager)) {
                     Log.d(
@@ -136,13 +136,15 @@
     @Override
     public boolean onPreferenceClick(Preference preference) {
         mMetricsFeatureProvider.logClickedPreference(preference, mMetricsCategory);
-        mDevicePreferenceCallback.onDeviceClick(preference);
+        var unused =
+                ThreadUtils.postOnBackgroundThread(
+                        () -> mDevicePreferenceCallback.onDeviceClick(preference));
         return true;
     }
 
     @Override
-    protected String getPreferenceKey() {
-        return PREF_KEY;
+    protected String getPreferenceKeyPrefix() {
+        return PREF_KEY_PREFIX;
     }
 
     @Override
diff --git a/src/com/android/settings/bluetooth/BlockingPrefWithSliceController.java b/src/com/android/settings/bluetooth/BlockingPrefWithSliceController.java
index 0690186..442acd2 100644
--- a/src/com/android/settings/bluetooth/BlockingPrefWithSliceController.java
+++ b/src/com/android/settings/bluetooth/BlockingPrefWithSliceController.java
@@ -101,7 +101,8 @@
         return mUri != null ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 
-    public void setSliceUri(Uri uri) {
+    /** Sets Slice uri for the preference. */
+    public void setSliceUri(@Nullable Uri uri) {
         mUri = uri;
         mLiveData = SliceLiveData.fromUri(mContext, mUri, (int type, Throwable source) -> {
             Log.w(TAG, "Slice may be null. uri = " + uri + ", error = " + type);
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsController.java b/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsController.java
index ad65ce4..93e1ff5 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsController.java
@@ -30,7 +30,6 @@
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.UserHandle;
-import android.provider.DeviceConfig;
 import android.text.TextUtils;
 import android.util.Log;
 
@@ -42,7 +41,6 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
-import com.android.settings.core.SettingsUIDeviceConfig;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -187,11 +185,9 @@
         // If the device is FastPair, remove CDM companion apps.
         final BluetoothFeatureProvider bluetoothFeatureProvider = FeatureFactory.getFeatureFactory()
                 .getBluetoothFeatureProvider();
-        final boolean sliceEnabled = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SETTINGS_UI,
-                SettingsUIDeviceConfig.BT_SLICE_SETTINGS_ENABLED, true);
         final Uri settingsUri = bluetoothFeatureProvider.getBluetoothDeviceSettingsUri(
                 mCachedDevice.getDevice());
-        if (sliceEnabled && settingsUri != null) {
+        if (settingsUri != null) {
             container.removeAll();
             return;
         }
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsHeaderController.java b/src/com/android/settings/bluetooth/BluetoothDetailsHeaderController.java
index 5ffa8cf..3fbd445 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsHeaderController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsHeaderController.java
@@ -26,6 +26,7 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
+import com.android.settings.flags.Flags;
 import com.android.settings.widget.EntityHeaderController;
 import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
@@ -47,7 +48,10 @@
 
     @Override
     public boolean isAvailable() {
-        boolean hasLeAudio = mCachedDevice.getConnectableProfiles()
+        if (Flags.enableBluetoothDeviceDetailsPolish()) {
+            return false;
+        }
+        boolean hasLeAudio = mCachedDevice.getUiAccessibleProfiles()
                 .stream()
                 .anyMatch(profile -> profile.getProfileId() == BluetoothProfile.LE_AUDIO);
         return !BluetoothUtils.isAdvancedDetailsHeader(mCachedDevice.getDevice()) && !hasLeAudio;
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsController.java b/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsController.java
index 564e138..25a99ed 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsController.java
@@ -38,6 +38,7 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.HapClientProfile;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
@@ -111,6 +112,7 @@
                 final int index = listPreference.findIndexOfValue(value);
                 final String presetName = listPreference.getEntries()[index].toString();
                 final int presetIndex = Integer.parseInt(value);
+                logPresetChangedIfNeeded();
                 listPreference.setSummary(presetName);
                 if (DEBUG) {
                     Log.d(TAG, "onPreferenceChange"
@@ -159,19 +161,22 @@
         mPreference.setEnabled(mCachedDevice.isConnectedHapClientDevice());
 
         loadAllPresetInfo();
+        mPreference.setSummary(null);
         if (mPreference.getEntries().length == 0) {
-            if (DEBUG) {
-                Log.w(TAG, "Disable the preference since preset info size = 0");
+            if (mPreference.isEnabled()) {
+                if (DEBUG) {
+                    Log.w(TAG, "Disable the preference since preset info size = 0");
+                }
+                mPreference.setEnabled(false);
+                mPreference.setSummary(mContext.getString(
+                        R.string.bluetooth_hearing_aids_presets_empty_list_message));
             }
-            mPreference.setEnabled(false);
         } else {
             int activePresetIndex = mHapClientProfile.getActivePresetIndex(
                     mCachedDevice.getDevice());
             if (activePresetIndex != BluetoothHapClient.PRESET_INDEX_UNAVAILABLE) {
                 mPreference.setValue(Integer.toString(activePresetIndex));
                 mPreference.setSummary(mPreference.getEntry());
-            } else {
-                mPreference.setSummary(null);
             }
         }
     }
@@ -273,7 +278,8 @@
             return;
         }
         List<BluetoothHapPresetInfo> infoList = mHapClientProfile.getAllPresetInfo(
-                mCachedDevice.getDevice());
+                mCachedDevice.getDevice()).stream().filter(
+                BluetoothHapPresetInfo::isAvailable).toList();
         CharSequence[] presetNames = new CharSequence[infoList.size()];
         CharSequence[] presetIndexes = new CharSequence[infoList.size()];
         for (int i = 0; i < infoList.size(); i++) {
@@ -369,4 +375,15 @@
             mHapClientProfile.selectPreset(memberDevice.getDevice(), presetIndex);
         }
     }
+
+    private void logPresetChangedIfNeeded() {
+        if (mPreference == null || mPreference.getEntries() == null) {
+            return;
+        }
+        if (mFragment instanceof BluetoothDeviceDetailsFragment) {
+            int category = ((BluetoothDeviceDetailsFragment) mFragment).getMetricsCategory();
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().changed(category,
+                    getPreferenceKey(), mPreference.getEntries().length);
+        }
+    }
 }
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsPairOtherController.java b/src/com/android/settings/bluetooth/BluetoothDetailsPairOtherController.java
index d1d00d8..e29dcb0 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsPairOtherController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsPairOtherController.java
@@ -50,7 +50,6 @@
             CachedBluetoothDevice device,
             Lifecycle lifecycle) {
         super(context, fragment, device, lifecycle);
-        lifecycle.addObserver(this);
     }
 
     @Override
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
index 3fa811a..e42c654 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
@@ -22,11 +22,11 @@
 import android.bluetooth.BluetoothProfile;
 import android.content.Context;
 import android.os.SystemProperties;
-import android.provider.DeviceConfig;
 import android.sysprop.BluetoothProperties;
 import android.text.TextUtils;
 import android.util.Log;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
@@ -36,14 +36,12 @@
 import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
-import com.android.settings.core.SettingsUIDeviceConfig;
 import com.android.settings.flags.Flags;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.bluetooth.A2dpProfile;
 import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.HeadsetProfile;
-import com.android.settingslib.bluetooth.HearingAidProfile;
 import com.android.settingslib.bluetooth.LeAudioProfile;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.bluetooth.LocalBluetoothProfile;
@@ -55,7 +53,9 @@
 import com.android.settingslib.utils.ThreadUtils;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -68,15 +68,14 @@
 public class BluetoothDetailsProfilesController extends BluetoothDetailsController
         implements Preference.OnPreferenceClickListener,
         LocalBluetoothProfileManager.ServiceListener {
+    public static final String HIGH_QUALITY_AUDIO_PREF_TAG = "A2dpProfileHighQualityAudio";
+
     private static final String TAG = "BtDetailsProfilesCtrl";
 
     private static final String KEY_PROFILES_GROUP = "bluetooth_profiles";
     private static final String KEY_BOTTOM_PREFERENCE = "bottom_preference";
     private static final int ORDINAL = 99;
 
-    @VisibleForTesting
-    static final String HIGH_QUALITY_AUDIO_PREF_TAG = "A2dpProfileHighQualityAudio";
-
     private static final String ENABLE_DUAL_MODE_AUDIO =
             "persist.bluetooth.enable_dual_mode_audio";
     private static final String LE_AUDIO_CONNECTION_BY_DEFAULT_PROPERTY =
@@ -85,28 +84,37 @@
     private static final String LE_AUDIO_TOGGLE_VISIBLE_PROPERTY =
             "persist.bluetooth.leaudio.toggle_visible";
 
-    private final AtomicReference<Set<String>> mInvisiblePreferenceKey = new AtomicReference<>();
+    private Set<String> mInvisibleProfiles = Collections.emptySet();
+    private final AtomicReference<Set<String>> mAdditionalInvisibleProfiles =
+            new AtomicReference<>();
 
     private LocalBluetoothManager mManager;
     private LocalBluetoothProfileManager mProfileManager;
     private CachedBluetoothDevice mCachedDevice;
-    private List<CachedBluetoothDevice> mAllOfCachedDevices;
+    private Set<CachedBluetoothDevice> mCachedDeviceGroup;
     private Map<String, List<CachedBluetoothDevice>> mProfileDeviceMap =
             new HashMap<String, List<CachedBluetoothDevice>>();
-    private boolean mIsLeContactSharingEnabled = false;
     private boolean mIsLeAudioToggleEnabled = false;
+    private boolean mIsLeAudioOnlyDevice = false;
 
     @VisibleForTesting
     PreferenceCategory mProfilesContainer;
 
-    public BluetoothDetailsProfilesController(Context context, PreferenceFragmentCompat fragment,
-            LocalBluetoothManager manager, CachedBluetoothDevice device, Lifecycle lifecycle) {
+    public BluetoothDetailsProfilesController(
+            Context context,
+            PreferenceFragmentCompat fragment,
+            LocalBluetoothManager manager,
+            CachedBluetoothDevice device,
+            Lifecycle lifecycle,
+            @Nullable List<String> invisibleProfiles) {
         super(context, fragment, device, lifecycle);
         mManager = manager;
         mProfileManager = mManager.getProfileManager();
         mCachedDevice = device;
-        mAllOfCachedDevices = Utils.getAllOfCachedBluetoothDevices(mManager, mCachedDevice);
-        lifecycle.addObserver(this);
+        mCachedDeviceGroup = Utils.findAllCachedBluetoothDevicesByGroupId(mManager, mCachedDevice);
+        if (invisibleProfiles != null) {
+            mInvisibleProfiles = Set.copyOf(invisibleProfiles);
+        }
     }
 
     @Override
@@ -173,16 +181,20 @@
             boolean isBusy = deviceList != null
                     && deviceList.stream().anyMatch(item -> item.isBusy());
             profilePref.setEnabled(!isBusy);
-        } else if (profile instanceof PbapServerProfile
-                && isLeAudioEnabled
-                && !mIsLeContactSharingEnabled) {
-            profilePref.setEnabled(false);
         } else {
             profilePref.setEnabled(!mCachedDevice.isBusy());
         }
 
         if (profile instanceof LeAudioProfile) {
-            profilePref.setVisible(mIsLeAudioToggleEnabled);
+            boolean showLeAudioToggle = mIsLeAudioToggleEnabled;
+            if (Flags.hideLeAudioToggleForLeAudioOnlyDevice() && mIsLeAudioOnlyDevice) {
+                showLeAudioToggle = false;
+                Log.d(
+                        TAG,
+                        "Hide LeAudio toggle for LeAudio-only Device: "
+                                + mCachedDevice.getDevice().getAnonymizedAddress());
+            }
+            profilePref.setVisible(showLeAudioToggle);
         }
 
         if (profile instanceof MapProfile) {
@@ -301,19 +313,18 @@
      * Helper to get the list of connectable and special profiles.
      */
     private List<LocalBluetoothProfile> getProfiles() {
-        List<LocalBluetoothProfile> result = new ArrayList<LocalBluetoothProfile>();
+        List<LocalBluetoothProfile> result = new ArrayList<>();
         mProfileDeviceMap.clear();
-        if (mAllOfCachedDevices == null || mAllOfCachedDevices.isEmpty()) {
+        if (mCachedDeviceGroup == null || mCachedDeviceGroup.isEmpty()) {
             return result;
         }
-        for (CachedBluetoothDevice cachedItem : mAllOfCachedDevices) {
-            List<LocalBluetoothProfile> tmpResult = cachedItem.getConnectableProfiles();
+        for (CachedBluetoothDevice cachedItem : mCachedDeviceGroup) {
+            List<LocalBluetoothProfile> tmpResult = cachedItem.getUiAccessibleProfiles();
             for (LocalBluetoothProfile profile : tmpResult) {
                 if (mProfileDeviceMap.containsKey(profile.toString())) {
                     mProfileDeviceMap.get(profile.toString()).add(cachedItem);
                 } else {
-                    List<CachedBluetoothDevice> tmpCachedDeviceList =
-                            new ArrayList<CachedBluetoothDevice>();
+                    List<CachedBluetoothDevice> tmpCachedDeviceList = new ArrayList<>();
                     tmpCachedDeviceList.add(cachedItem);
                     mProfileDeviceMap.put(profile.toString(), tmpCachedDeviceList);
                     result.add(profile);
@@ -326,12 +337,14 @@
         // Only provide PBAP cabability if the client device has requested PBAP.
         if (pbapPermission != BluetoothDevice.ACCESS_UNKNOWN) {
             final PbapServerProfile psp = mManager.getProfileManager().getPbapProfile();
-            result.add(psp);
+            if (psp != null) {
+                result.add(psp);
+            }
         }
 
         final MapProfile mapProfile = mManager.getProfileManager().getMapProfile();
         final int mapPermission = device.getMessageAccessPermission();
-        if (mapPermission != BluetoothDevice.ACCESS_UNKNOWN) {
+        if (mapPermission != BluetoothDevice.ACCESS_UNKNOWN && mapProfile != null) {
             result.add(mapProfile);
         }
 
@@ -345,6 +358,15 @@
             result.remove(mManager.getProfileManager().getA2dpProfile());
             result.remove(mManager.getProfileManager().getHeadsetProfile());
         }
+        boolean hearingAidSupported = result.contains(
+                mManager.getProfileManager().getHearingAidProfile());
+        // Remove hearing aids toggle anyway since showing the toggle will confuse users
+        if (hearingAidSupported) {
+            result.remove(mManager.getProfileManager().getHearingAidProfile());
+        }
+        if (leAudioSupported && !classicAudioSupported && !hearingAidSupported) {
+            mIsLeAudioOnlyDevice = true;
+        }
         Log.d(TAG, "getProfiles:Map:" + mProfileDeviceMap);
         return result;
     }
@@ -497,7 +519,7 @@
 
     @Override
     public void onPause() {
-        for (CachedBluetoothDevice item : mAllOfCachedDevices) {
+        for (CachedBluetoothDevice item : mCachedDeviceGroup) {
             item.unregisterCallback(this);
         }
         mProfileManager.removeServiceListener(this);
@@ -506,53 +528,30 @@
     @Override
     public void onResume() {
         updateLeAudioConfig();
-        for (CachedBluetoothDevice item : mAllOfCachedDevices) {
+        for (CachedBluetoothDevice item : mCachedDeviceGroup) {
             item.registerCallback(this);
         }
         mProfileManager.addServiceListener(this);
         refresh();
     }
 
-    private boolean isLeAudioOnlyDevice() {
-        if (mCachedDevice.getProfiles().stream()
-                .noneMatch(profile -> profile instanceof LeAudioProfile)) {
-            return false;
-        }
-        return mCachedDevice.getProfiles().stream()
-                .noneMatch(
-                        profile ->
-                                profile instanceof HearingAidProfile
-                                        || profile instanceof A2dpProfile
-                                        || profile instanceof HeadsetProfile);
-    }
-
     private void updateLeAudioConfig() {
-        mIsLeContactSharingEnabled = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SETTINGS_UI,
-                SettingsUIDeviceConfig.BT_LE_AUDIO_CONTACT_SHARING_ENABLED, true);
         boolean isLeAudioToggleVisible = SystemProperties.getBoolean(
                 LE_AUDIO_TOGGLE_VISIBLE_PROPERTY, LE_AUDIO_TOGGLE_VISIBLE_DEFAULT_VALUE);
         boolean isLeEnabledByDefault =
                 SystemProperties.getBoolean(LE_AUDIO_CONNECTION_BY_DEFAULT_PROPERTY, true);
         mIsLeAudioToggleEnabled = isLeAudioToggleVisible || isLeEnabledByDefault;
-        if (Flags.hideLeAudioToggleForLeAudioOnlyDevice() && isLeAudioOnlyDevice()) {
-            mIsLeAudioToggleEnabled = false;
-            Log.d(
-                    TAG,
-                    "Hide LeAudio toggle for LeAudio-only Device: "
-                            + mCachedDevice.getDevice().getAnonymizedAddress());
-        }
-        Log.d(TAG, "BT_LE_AUDIO_CONTACT_SHARING_ENABLED:" + mIsLeContactSharingEnabled
-                + ", LE_AUDIO_TOGGLE_VISIBLE_PROPERTY:" + isLeAudioToggleVisible
+        Log.d(TAG, "LE_AUDIO_TOGGLE_VISIBLE_PROPERTY:" + isLeAudioToggleVisible
                 + ", LE_AUDIO_CONNECTION_BY_DEFAULT_PROPERTY:" + isLeEnabledByDefault);
     }
 
     @Override
     public void onDeviceAttributesChanged() {
-        for (CachedBluetoothDevice item : mAllOfCachedDevices) {
+        for (CachedBluetoothDevice item : mCachedDeviceGroup) {
             item.unregisterCallback(this);
         }
-        mAllOfCachedDevices = Utils.getAllOfCachedBluetoothDevices(mManager, mCachedDevice);
-        for (CachedBluetoothDevice item : mAllOfCachedDevices) {
+        mCachedDeviceGroup = Utils.findAllCachedBluetoothDevicesByGroupId(mManager, mCachedDevice);
+        for (CachedBluetoothDevice item : mCachedDeviceGroup) {
             item.registerCallback(this);
         }
 
@@ -575,19 +574,15 @@
      */
     @Override
     protected void refresh() {
-        if (Flags.enableBluetoothProfileToggleVisibilityChecker()) {
-            ThreadUtils.postOnBackgroundThread(
-                    () -> {
-                        mInvisiblePreferenceKey.set(
-                                FeatureFactory.getFeatureFactory()
-                                        .getBluetoothFeatureProvider()
-                                        .getInvisibleProfilePreferenceKeys(
-                                                mContext, mCachedDevice.getDevice()));
-                        ThreadUtils.postOnMainThread(this::refreshUi);
-                    });
-        } else {
-            refreshUi();
-        }
+        ThreadUtils.postOnBackgroundThread(
+                () -> {
+                    mAdditionalInvisibleProfiles.set(
+                            FeatureFactory.getFeatureFactory()
+                                    .getBluetoothFeatureProvider()
+                                    .getInvisibleProfilePreferenceKeys(
+                                            mContext, mCachedDevice.getDevice()));
+                    ThreadUtils.postOnMainThread(this::refreshUi);
+                });
     }
 
     private void refreshUi() {
@@ -622,14 +617,15 @@
             mProfilesContainer.addPreference(preference);
         }
 
-        if (Flags.enableBluetoothProfileToggleVisibilityChecker()) {
-            Set<String> invisibleKeys = mInvisiblePreferenceKey.get();
-            if (invisibleKeys != null) {
-                for (int i = 0; i < mProfilesContainer.getPreferenceCount(); ++i) {
-                    Preference pref = mProfilesContainer.getPreference(i);
-                    pref.setVisible(pref.isVisible() && !invisibleKeys.contains(pref.getKey()));
-                }
-            }
+        Set<String> additionalInvisibleProfiles = mAdditionalInvisibleProfiles.get();
+        HashSet<String> combinedInvisibleProfiles = new HashSet<>(mInvisibleProfiles);
+        if (additionalInvisibleProfiles != null) {
+            combinedInvisibleProfiles.addAll(additionalInvisibleProfiles);
+        }
+        Log.i(TAG, "Invisible profiles: " + combinedInvisibleProfiles);
+        for (int i = 0; i < mProfilesContainer.getPreferenceCount(); ++i) {
+            Preference pref = mProfilesContainer.getPreference(i);
+            pref.setVisible(pref.isVisible() && !combinedInvisibleProfiles.contains(pref.getKey()));
         }
     }
 
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioController.java b/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioController.java
index 4ff7136..398edb6 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioController.java
@@ -39,8 +39,8 @@
 
 import com.android.settings.R;
 import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
-import com.android.settingslib.bluetooth.LocalBluetoothProfile;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.flags.Flags;
 import com.android.settingslib.utils.ThreadUtils;
@@ -299,57 +299,14 @@
                         + " profiles: "
                         + mCachedDevice.getProfiles());
 
-        AudioDeviceAttributes saDevice = null;
-        for (LocalBluetoothProfile profile : mCachedDevice.getProfiles()) {
-            // pick first enabled profile that is compatible with spatial audio
-            if (SA_PROFILES.contains(profile.getProfileId())
-                    && profile.isEnabled(mCachedDevice.getDevice())) {
-                switch (profile.getProfileId()) {
-                    case BluetoothProfile.A2DP:
-                        saDevice =
-                                new AudioDeviceAttributes(
-                                        AudioDeviceAttributes.ROLE_OUTPUT,
-                                        AudioDeviceInfo.TYPE_BLUETOOTH_A2DP,
-                                        mCachedDevice.getAddress());
-                        break;
-                    case BluetoothProfile.LE_AUDIO:
-                        if (mAudioManager.getBluetoothAudioDeviceCategory(
-                                mCachedDevice.getAddress())
-                                == AudioManager.AUDIO_DEVICE_CATEGORY_SPEAKER) {
-                            saDevice =
-                                    new AudioDeviceAttributes(
-                                            AudioDeviceAttributes.ROLE_OUTPUT,
-                                            AudioDeviceInfo.TYPE_BLE_SPEAKER,
-                                            mCachedDevice.getAddress());
-                        } else {
-                            saDevice =
-                                    new AudioDeviceAttributes(
-                                            AudioDeviceAttributes.ROLE_OUTPUT,
-                                            AudioDeviceInfo.TYPE_BLE_HEADSET,
-                                            mCachedDevice.getAddress());
-                        }
-
-                        break;
-                    case BluetoothProfile.HEARING_AID:
-                        saDevice =
-                                new AudioDeviceAttributes(
-                                        AudioDeviceAttributes.ROLE_OUTPUT,
-                                        AudioDeviceInfo.TYPE_HEARING_AID,
-                                        mCachedDevice.getAddress());
-                        break;
-                    default:
-                        Log.i(
-                                TAG,
-                                "unrecognized profile for spatial audio: "
-                                        + profile.getProfileId());
-                        break;
-                }
-                break;
-            }
-        }
-        mAudioDevice = null;
+        AudioDeviceAttributes saDevice =
+                BluetoothUtils.getAudioDeviceAttributesForSpatialAudio(
+                        mCachedDevice,
+                        mAudioManager.getBluetoothAudioDeviceCategory(mCachedDevice.getAddress()));
         if (saDevice != null && mSpatializer.isAvailableForDevice(saDevice)) {
             mAudioDevice = saDevice;
+        } else {
+            mAudioDevice = null;
         }
 
         Log.d(
diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
index 5f9957b..0e51d17 100644
--- a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
@@ -30,7 +30,6 @@
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.UserManager;
-import android.provider.DeviceConfig;
 import android.text.TextUtils;
 import android.util.FeatureFlagUtils;
 import android.util.Log;
@@ -43,13 +42,16 @@
 import android.view.ViewGroup;
 import android.view.ViewTreeObserver;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.R;
+import com.android.settings.bluetooth.ui.model.FragmentTypeModel;
+import com.android.settings.bluetooth.ui.view.DeviceDetailsFragmentFormatter;
 import com.android.settings.connecteddevice.stylus.StylusDevicesController;
-import com.android.settings.core.SettingsUIDeviceConfig;
 import com.android.settings.dashboard.RestrictedDashboardFragment;
+import com.android.settings.flags.Flags;
 import com.android.settings.inputmethod.KeyboardSettingsPreferenceController;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.slices.SlicePreferenceController;
@@ -59,9 +61,11 @@
 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 java.util.ArrayList;
 import java.util.List;
+import java.util.function.Consumer;
 
 public class BluetoothDeviceDetailsFragment extends RestrictedDashboardFragment {
     public static final String KEY_DEVICE_ADDRESS = "device_address";
@@ -97,6 +101,8 @@
     @VisibleForTesting
     CachedBluetoothDevice mCachedDevice;
     BluetoothAdapter mBluetoothAdapter;
+    @VisibleForTesting
+    DeviceDetailsFragmentFormatter mFormatter;
 
     @Nullable
     InputDevice mInputDevice;
@@ -213,18 +219,25 @@
             finish();
             return;
         }
-        use(AdvancedBluetoothDetailsHeaderController.class).init(mCachedDevice);
-        use(LeAudioBluetoothDetailsHeaderController.class).init(mCachedDevice, mManager);
-        use(KeyboardSettingsPreferenceController.class).init(mCachedDevice);
+        getController(
+                AdvancedBluetoothDetailsHeaderController.class,
+                controller -> controller.init(mCachedDevice, this));
+        getController(
+                LeAudioBluetoothDetailsHeaderController.class,
+                controller -> controller.init(mCachedDevice, mManager, this));
+        getController(
+                KeyboardSettingsPreferenceController.class,
+                controller -> controller.init(mCachedDevice));
 
         final BluetoothFeatureProvider featureProvider =
                 FeatureFactory.getFeatureFactory().getBluetoothFeatureProvider();
-        final boolean sliceEnabled = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SETTINGS_UI,
-                SettingsUIDeviceConfig.BT_SLICE_SETTINGS_ENABLED, true);
 
-        use(BlockingPrefWithSliceController.class).setSliceUri(sliceEnabled
-                ? featureProvider.getBluetoothDeviceSettingsUri(mCachedDevice.getDevice())
-                : null);
+        getController(
+                BlockingPrefWithSliceController.class,
+                controller ->
+                        controller.setSliceUri(
+                                featureProvider.getBluetoothDeviceSettingsUri(
+                                        mCachedDevice.getDevice())));
 
         mManager.getEventManager().registerCallback(mBluetoothCallback);
         mBluetoothAdapter.addOnMetadataChangedListener(
@@ -237,15 +250,22 @@
     public void onDetach() {
         super.onDetach();
         mManager.getEventManager().unregisterCallback(mBluetoothCallback);
-        mBluetoothAdapter.removeOnMetadataChangedListener(
-                mCachedDevice.getDevice(), mExtraControlMetadataListener);
+        BluetoothDevice device = mCachedDevice.getDevice();
+        try {
+            mBluetoothAdapter.removeOnMetadataChangedListener(
+                    device, mExtraControlMetadataListener);
+        } catch (IllegalArgumentException e) {
+            Log.w(
+                    TAG,
+                    "Unable to unregister metadata change callback for "
+                            + mCachedDevice,
+                    e);
+        }
     }
 
     private void updateExtraControlUri(int viewWidth) {
         BluetoothFeatureProvider featureProvider =
                 FeatureFactory.getFeatureFactory().getBluetoothFeatureProvider();
-        boolean sliceEnabled = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SETTINGS_UI,
-                SettingsUIDeviceConfig.BT_SLICE_SETTINGS_ENABLED, true);
         Uri controlUri = null;
         String uri = featureProvider.getBluetoothDeviceControlUri(mCachedDevice.getDevice());
         if (!TextUtils.isEmpty(uri)) {
@@ -256,21 +276,36 @@
             }
         }
         mExtraControlUriLoaded |= controlUri != null;
-        final SlicePreferenceController slicePreferenceController = use(
-                SlicePreferenceController.class);
-        slicePreferenceController.setSliceUri(sliceEnabled ? controlUri : null);
-        slicePreferenceController.onStart();
-        slicePreferenceController.displayPreference(getPreferenceScreen());
+
+        Uri finalControlUri = controlUri;
+        getController(
+                SlicePreferenceController.class,
+                controller -> {
+                    controller.setSliceUri(finalControlUri);
+                    controller.onStart();
+                    controller.displayPreference(getPreferenceScreen());
+                });
 
         // Temporarily fix the issue that the page will be automatically scrolled to a wrong
         // position when entering the page. This will make sure the bluetooth header is shown on top
         // of the page.
-        use(LeAudioBluetoothDetailsHeaderController.class).displayPreference(
-                getPreferenceScreen());
-        use(AdvancedBluetoothDetailsHeaderController.class).displayPreference(
-                getPreferenceScreen());
-        use(BluetoothDetailsHeaderController.class).displayPreference(
-                getPreferenceScreen());
+        getController(
+                LeAudioBluetoothDetailsHeaderController.class,
+                controller -> controller.displayPreference(getPreferenceScreen()));
+        getController(
+                AdvancedBluetoothDetailsHeaderController.class,
+                controller -> controller.displayPreference(getPreferenceScreen()));
+        getController(
+                BluetoothDetailsHeaderController.class,
+                controller -> controller.displayPreference(getPreferenceScreen()));
+    }
+
+    protected <T extends AbstractPreferenceController> void getController(Class<T> clazz,
+            Consumer<T> action) {
+        T controller = use(clazz);
+        if (controller != null) {
+            action.accept(controller);
+        }
     }
 
     private final ViewTreeObserver.OnGlobalLayoutListener mOnGlobalLayoutListener =
@@ -308,6 +343,14 @@
     }
 
     @Override
+    public void onCreatePreferences(@NonNull Bundle savedInstanceState, @NonNull String rootKey) {
+        super.onCreatePreferences(savedInstanceState, rootKey);
+        if (Flags.enableBluetoothDeviceDetailsPolish()) {
+            mFormatter.updateLayout(FragmentTypeModel.DeviceDetailsMainFragment.INSTANCE);
+        }
+    }
+
+    @Override
     public void onResume() {
         super.onResume();
         finishFragmentIfNecessary();
@@ -338,7 +381,7 @@
 
     @Override
     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
-        if (!mUserManager.isGuestUser()) {
+        if (!Flags.enableBluetoothDeviceDetailsPolish() && !mUserManager.isGuestUser()) {
             MenuItem item = menu.add(0, EDIT_DEVICE_NAME_ITEM_ID, 0,
                     R.string.bluetooth_rename_button);
             item.setIcon(com.android.internal.R.drawable.ic_mode_edit);
@@ -358,13 +401,44 @@
     }
 
     @Override
+    protected void addPreferenceController(AbstractPreferenceController controller) {
+        if (Flags.enableBluetoothDeviceDetailsPolish()) {
+            List<String> keys =
+                    mFormatter.getVisiblePreferenceKeys(
+                            FragmentTypeModel.DeviceDetailsMainFragment.INSTANCE);
+            Lifecycle lifecycle = getSettingsLifecycle();
+            if (keys == null || keys.contains(controller.getPreferenceKey())) {
+                super.addPreferenceController(controller);
+            } else if (controller instanceof LifecycleObserver) {
+                lifecycle.removeObserver((LifecycleObserver) controller);
+            }
+        } else {
+            super.addPreferenceController(controller);
+        }
+    }
+
+    @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        List<String> invisibleProfiles = List.of();
+        if (Flags.enableBluetoothDeviceDetailsPolish()) {
+            mFormatter =
+                    FeatureFactory.getFeatureFactory()
+                            .getBluetoothFeatureProvider()
+                            .getDeviceDetailsFragmentFormatter(
+                                    requireContext(), this, mBluetoothAdapter, mCachedDevice);
+            invisibleProfiles =
+                    mFormatter.getInvisibleBluetoothProfiles(
+                            FragmentTypeModel.DeviceDetailsMainFragment.INSTANCE);
+        }
         ArrayList<AbstractPreferenceController> controllers = new ArrayList<>();
 
         if (mCachedDevice != null) {
             Lifecycle lifecycle = getSettingsLifecycle();
             controllers.add(new BluetoothDetailsHeaderController(context, this, mCachedDevice,
                     lifecycle));
+            controllers.add(
+                    new GeneralBluetoothDetailsHeaderController(
+                            context, this, mCachedDevice, lifecycle));
             controllers.add(new BluetoothDetailsButtonsController(context, this, mCachedDevice,
                     lifecycle));
             controllers.add(new BluetoothDetailsCompanionAppsController(context, this,
@@ -374,7 +448,7 @@
             controllers.add(new BluetoothDetailsSpatialAudioController(context, this, mCachedDevice,
                     lifecycle));
             controllers.add(new BluetoothDetailsProfilesController(context, this, mManager,
-                    mCachedDevice, lifecycle));
+                    mCachedDevice, lifecycle, invisibleProfiles));
             controllers.add(new BluetoothDetailsMacAddressController(context, this, mCachedDevice,
                     lifecycle));
             controllers.add(new StylusDevicesController(context, mInputDevice, mCachedDevice,
diff --git a/src/com/android/settings/bluetooth/BluetoothDevicePreference.java b/src/com/android/settings/bluetooth/BluetoothDevicePreference.java
index ac0c63b..209c900 100644
--- a/src/com/android/settings/bluetooth/BluetoothDevicePreference.java
+++ b/src/com/android/settings/bluetooth/BluetoothDevicePreference.java
@@ -46,6 +46,7 @@
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.widget.GearPreference;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.utils.ThreadUtils;
 
@@ -55,6 +56,7 @@
 import java.util.Set;
 import java.util.concurrent.RejectedExecutionException;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.stream.Collectors;
 
 /**
  * BluetoothDevicePreference is the preference type used to display each remote
@@ -76,7 +78,10 @@
     }
 
     private final CachedBluetoothDevice mCachedDevice;
+    private Set<CachedBluetoothDevice> mCachedDeviceGroup;
+
     private final UserManager mUserManager;
+    private final LocalBluetoothManager mLocalBtManager;
 
     private Set<BluetoothDevice> mBluetoothDevices;
     @VisibleForTesting
@@ -113,6 +118,21 @@
         @Override
         public void onDeviceAttributesChanged() {
             onPreferenceAttributesChanged();
+            Set<CachedBluetoothDevice> newCachedDeviceGroup = new HashSet<>(
+                    Utils.findAllCachedBluetoothDevicesByGroupId(mLocalBtManager, mCachedDevice));
+            if (!mCachedDeviceGroup.equals(newCachedDeviceGroup)) {
+                for (CachedBluetoothDevice cachedBluetoothDevice : mCachedDeviceGroup) {
+                    cachedBluetoothDevice.unregisterCallback(this);
+                }
+                unregisterMetadataChangedListener();
+
+                mCachedDeviceGroup = newCachedDeviceGroup;
+
+                for (CachedBluetoothDevice cachedBluetoothDevice : mCachedDeviceGroup) {
+                    cachedBluetoothDevice.registerCallback(getContext().getMainExecutor(), this);
+                }
+                registerMetadataChangedListener();
+            }
         }
     }
 
@@ -121,6 +141,7 @@
         super(context, null);
         mResources = getContext().getResources();
         mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
+        mLocalBtManager = Utils.getLocalBluetoothManager(context);
         mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
         mShowDevicesWithoutNames = showDeviceWithoutNames;
 
@@ -131,6 +152,8 @@
         }
 
         mCachedDevice = cachedDevice;
+        mCachedDeviceGroup = new HashSet<>(
+                Utils.findAllCachedBluetoothDevicesByGroupId(mLocalBtManager, mCachedDevice));
         mCallback = new BluetoothDevicePreferenceCallback();
         mId = sNextId.getAndIncrement();
         mType = type;
@@ -164,7 +187,9 @@
     protected void onPrepareForRemoval() {
         super.onPrepareForRemoval();
         if (!mIsCallbackRemoved) {
-            mCachedDevice.unregisterCallback(mCallback);
+            for (CachedBluetoothDevice cachedBluetoothDevice : mCachedDeviceGroup) {
+                cachedBluetoothDevice.unregisterCallback(mCallback);
+            }
             unregisterMetadataChangedListener();
             mIsCallbackRemoved = true;
         }
@@ -178,7 +203,9 @@
     public void onAttached() {
         super.onAttached();
         if (mIsCallbackRemoved) {
-            mCachedDevice.registerCallback(mCallback);
+            for (CachedBluetoothDevice cachedBluetoothDevice : mCachedDeviceGroup) {
+                cachedBluetoothDevice.registerCallback(getContext().getMainExecutor(), mCallback);
+            }
             registerMetadataChangedListener();
             mIsCallbackRemoved = false;
         }
@@ -189,7 +216,9 @@
     public void onDetached() {
         super.onDetached();
         if (!mIsCallbackRemoved) {
-            mCachedDevice.unregisterCallback(mCallback);
+            for (CachedBluetoothDevice cachedBluetoothDevice : mCachedDeviceGroup) {
+                cachedBluetoothDevice.unregisterCallback(mCallback);
+            }
             unregisterMetadataChangedListener();
             mIsCallbackRemoved = true;
         }
@@ -200,16 +229,11 @@
             Log.d(TAG, "No mBluetoothAdapter");
             return;
         }
-        if (mBluetoothDevices == null) {
-            mBluetoothDevices = new HashSet<>();
-        }
-        mBluetoothDevices.clear();
-        if (mCachedDevice.getDevice() != null) {
-            mBluetoothDevices.add(mCachedDevice.getDevice());
-        }
-        for (CachedBluetoothDevice cbd : mCachedDevice.getMemberDevice()) {
-            mBluetoothDevices.add(cbd.getDevice());
-        }
+
+        mBluetoothDevices = mCachedDeviceGroup.stream()
+                .map(CachedBluetoothDevice::getDevice)
+                .collect(Collectors.toCollection(HashSet::new));
+
         if (mBluetoothDevices.isEmpty()) {
             Log.d(TAG, "No BT device to register.");
             return;
diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java b/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java
index 4b21b2e..965bb94 100644
--- a/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java
+++ b/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java
@@ -213,9 +213,9 @@
     public abstract boolean isFilterMatched(CachedBluetoothDevice cachedBluetoothDevice);
 
     /**
-     * Return a preference key for logging
+     * Return a preference key prefix for logging
      */
-    protected abstract String getPreferenceKey();
+    protected abstract String getPreferenceKeyPrefix();
 
     /**
      * Update whether to show {@link CachedBluetoothDevice} in the list.
@@ -248,7 +248,7 @@
                     new BluetoothDevicePreference(mPrefContext, cachedDevice,
                             true /* showDeviceWithoutNames */,
                             type);
-            btPreference.setKey(getPreferenceKey());
+            btPreference.setKey(getPreferenceKeyPrefix() + cachedDevice.hashCode());
             btPreference.setOnGearClickListener(mDeviceProfilesListener);
             if (this instanceof Preference.OnPreferenceClickListener) {
                 btPreference.setOnPreferenceClickListener(
diff --git a/src/com/android/settings/bluetooth/BluetoothEnabler.java b/src/com/android/settings/bluetooth/BluetoothEnabler.java
index df5cc72..a5d0bc6 100644
--- a/src/com/android/settings/bluetooth/BluetoothEnabler.java
+++ b/src/com/android/settings/bluetooth/BluetoothEnabler.java
@@ -132,7 +132,7 @@
 
         new Thread(() -> {
             try {
-                mIsSatelliteOn.set(mSatelliteRepository.requestIsEnabled(
+                mIsSatelliteOn.set(mSatelliteRepository.requestIsSessionStarted(
                         Executors.newSingleThreadExecutor()).get(3000, TimeUnit.MILLISECONDS));
             } catch (InterruptedException | ExecutionException | TimeoutException e) {
                 Log.e(TAG, "Error to get satellite status : " + e);
diff --git a/src/com/android/settings/bluetooth/BluetoothFeatureProvider.java b/src/com/android/settings/bluetooth/BluetoothFeatureProvider.java
index 1751082..be0f6f3 100644
--- a/src/com/android/settings/bluetooth/BluetoothFeatureProvider.java
+++ b/src/com/android/settings/bluetooth/BluetoothFeatureProvider.java
@@ -16,15 +16,23 @@
 
 package com.android.settings.bluetooth;
 
+import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothDevice;
 import android.content.ComponentName;
 import android.content.Context;
+import android.media.AudioManager;
 import android.media.Spatializer;
 import android.net.Uri;
 
+import androidx.annotation.NonNull;
+import androidx.lifecycle.LifecycleCoroutineScope;
 import androidx.preference.Preference;
 
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.bluetooth.domain.interactor.SpatialAudioInteractor;
+import com.android.settings.bluetooth.ui.view.DeviceDetailsFragmentFormatter;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.devicesettings.data.repository.DeviceSettingRepository;
 
 import java.util.List;
 import java.util.Set;
@@ -84,4 +92,26 @@
      */
     Set<String> getInvisibleProfilePreferenceKeys(
             Context context, BluetoothDevice bluetoothDevice);
+
+    /** Gets DeviceSettingRepository. */
+    @NonNull
+    DeviceSettingRepository getDeviceSettingRepository(
+            @NonNull Context context,
+            @NonNull BluetoothAdapter bluetoothAdapter,
+            @NonNull LifecycleCoroutineScope scope);
+
+    /** Gets spatial audio interactor. */
+    @NonNull
+    SpatialAudioInteractor getSpatialAudioInteractor(
+            @NonNull Context context,
+            @NonNull AudioManager audioManager,
+            @NonNull LifecycleCoroutineScope scope);
+
+    /** Gets device details fragment layout formatter. */
+    @NonNull
+    DeviceDetailsFragmentFormatter getDeviceDetailsFragmentFormatter(
+            @NonNull Context context,
+            @NonNull SettingsPreferenceFragment fragment,
+            @NonNull BluetoothAdapter bluetoothAdapter,
+            @NonNull CachedBluetoothDevice cachedDevice);
 }
diff --git a/src/com/android/settings/bluetooth/BluetoothFeatureProviderImpl.java b/src/com/android/settings/bluetooth/BluetoothFeatureProviderImpl.java
deleted file mode 100644
index 2d4ac49..0000000
--- a/src/com/android/settings/bluetooth/BluetoothFeatureProviderImpl.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.bluetooth;
-
-import android.bluetooth.BluetoothDevice;
-import android.content.ComponentName;
-import android.content.Context;
-import android.media.AudioManager;
-import android.media.Spatializer;
-import android.net.Uri;
-
-import androidx.preference.Preference;
-
-import com.android.settingslib.bluetooth.BluetoothUtils;
-import com.android.settingslib.bluetooth.CachedBluetoothDevice;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-
-import java.util.List;
-import java.util.Set;
-
-/**
- * Impl of {@link BluetoothFeatureProvider}
- */
-public class BluetoothFeatureProviderImpl implements BluetoothFeatureProvider {
-
-    @Override
-    public Uri getBluetoothDeviceSettingsUri(BluetoothDevice bluetoothDevice) {
-        final byte[] uriByte = bluetoothDevice.getMetadata(
-                BluetoothDevice.METADATA_ENHANCED_SETTINGS_UI_URI);
-        return uriByte == null ? null : Uri.parse(new String(uriByte));
-    }
-
-    @Override
-    public String getBluetoothDeviceControlUri(BluetoothDevice bluetoothDevice) {
-        return BluetoothUtils.getControlUriMetaData(bluetoothDevice);
-    }
-
-    @Override
-    public List<ComponentName> getRelatedTools() {
-        return null;
-    }
-
-    @Override
-    public Spatializer getSpatializer(Context context) {
-        AudioManager audioManager = context.getSystemService(AudioManager.class);
-        return audioManager.getSpatializer();
-    }
-
-    @Override
-    public List<Preference> getBluetoothExtraOptions(Context context,
-            CachedBluetoothDevice device) {
-        return ImmutableList.of();
-    }
-
-    @Override
-    public Set<String> getInvisibleProfilePreferenceKeys(
-            Context context, BluetoothDevice bluetoothDevice) {
-        return ImmutableSet.of();
-    }
-}
diff --git a/src/com/android/settings/bluetooth/BluetoothFeatureProviderImpl.kt b/src/com/android/settings/bluetooth/BluetoothFeatureProviderImpl.kt
new file mode 100644
index 0000000..25c586e
--- /dev/null
+++ b/src/com/android/settings/bluetooth/BluetoothFeatureProviderImpl.kt
@@ -0,0 +1,112 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.settings.bluetooth
+
+import android.bluetooth.BluetoothAdapter
+import android.bluetooth.BluetoothDevice
+import android.content.ComponentName
+import android.content.Context
+import android.media.AudioManager
+import android.media.Spatializer
+import android.net.Uri
+import androidx.lifecycle.LifecycleCoroutineScope
+import androidx.preference.Preference
+import com.android.settings.SettingsPreferenceFragment
+import com.android.settings.bluetooth.domain.interactor.SpatialAudioInteractor
+import com.android.settings.bluetooth.domain.interactor.SpatialAudioInteractorImpl
+import com.android.settings.bluetooth.ui.view.DeviceDetailsFragmentFormatter
+import com.android.settings.bluetooth.ui.view.DeviceDetailsFragmentFormatterImpl
+import com.android.settingslib.bluetooth.BluetoothUtils
+import com.android.settingslib.bluetooth.CachedBluetoothDevice
+import com.android.settingslib.bluetooth.devicesettings.data.repository.DeviceSettingRepository
+import com.android.settingslib.bluetooth.devicesettings.data.repository.DeviceSettingRepositoryImpl
+import com.android.settingslib.media.data.repository.SpatializerRepositoryImpl
+import com.android.settingslib.media.domain.interactor.SpatializerInteractor
+import com.google.common.collect.ImmutableList
+import com.google.common.collect.ImmutableSet
+import kotlinx.coroutines.Dispatchers
+
+/** Impl of [BluetoothFeatureProvider] */
+open class BluetoothFeatureProviderImpl : BluetoothFeatureProvider {
+    override fun getBluetoothDeviceSettingsUri(bluetoothDevice: BluetoothDevice): Uri? {
+        val uriByte = bluetoothDevice.getMetadata(BluetoothDevice.METADATA_ENHANCED_SETTINGS_UI_URI)
+        return uriByte?.let { Uri.parse(String(it)) }
+    }
+
+    override fun getBluetoothDeviceControlUri(bluetoothDevice: BluetoothDevice): String? {
+        return BluetoothUtils.getControlUriMetaData(bluetoothDevice)
+    }
+
+    override fun getRelatedTools(): List<ComponentName>? {
+        return null
+    }
+
+    override fun getSpatializer(context: Context): Spatializer {
+        val audioManager = context.getSystemService(AudioManager::class.java)
+        return audioManager.spatializer
+    }
+
+    override fun getBluetoothExtraOptions(
+        context: Context,
+        device: CachedBluetoothDevice
+    ): List<Preference>? {
+        return ImmutableList.of<Preference>()
+    }
+
+    override fun getInvisibleProfilePreferenceKeys(
+        context: Context,
+        bluetoothDevice: BluetoothDevice
+    ): Set<String> {
+        return ImmutableSet.of()
+    }
+
+    override fun getDeviceSettingRepository(
+        context: Context,
+        bluetoothAdapter: BluetoothAdapter,
+        scope: LifecycleCoroutineScope
+    ): DeviceSettingRepository =
+        DeviceSettingRepositoryImpl(context, bluetoothAdapter, scope, Dispatchers.IO)
+
+    override fun getSpatialAudioInteractor(
+        context: Context,
+        audioManager: AudioManager,
+        scope: LifecycleCoroutineScope
+    ): SpatialAudioInteractor {
+        return SpatialAudioInteractorImpl(
+            context, audioManager,
+            SpatializerInteractor(
+                SpatializerRepositoryImpl(
+                    getSpatializer(context),
+                    Dispatchers.IO
+                )
+            ), scope, Dispatchers.IO)
+    }
+
+    override fun getDeviceDetailsFragmentFormatter(
+        context: Context,
+        fragment: SettingsPreferenceFragment,
+        bluetoothAdapter: BluetoothAdapter,
+        cachedDevice: CachedBluetoothDevice
+    ): DeviceDetailsFragmentFormatter {
+        return DeviceDetailsFragmentFormatterImpl(
+            context,
+            fragment,
+            bluetoothAdapter,
+            cachedDevice,
+            Dispatchers.IO
+        )
+    }
+}
diff --git a/src/com/android/settings/bluetooth/BluetoothKeyMissingDialog.java b/src/com/android/settings/bluetooth/BluetoothKeyMissingDialog.java
new file mode 100644
index 0000000..46975f7
--- /dev/null
+++ b/src/com/android/settings/bluetooth/BluetoothKeyMissingDialog.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.bluetooth;
+
+import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
+
+import android.bluetooth.BluetoothDevice;
+import android.content.Intent;
+import android.os.Bundle;
+
+import androidx.annotation.Nullable;
+import androidx.fragment.app.FragmentActivity;
+
+/** A dialog to ask the user to forget a bluetooth device when the key is missing. */
+public class BluetoothKeyMissingDialog extends FragmentActivity {
+    public static final String FRAGMENT_TAG = "BtKeyMissingFrg";
+
+    @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        getWindow().addSystemFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+        Intent intent = getIntent();
+        BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
+        if (device == null) {
+            finish();
+            return;
+        }
+        BluetoothKeyMissingDialogFragment fragment = new BluetoothKeyMissingDialogFragment(device);
+        fragment.show(getSupportFragmentManager(), FRAGMENT_TAG);
+        closeSystemDialogs();
+    }
+}
diff --git a/src/com/android/settings/bluetooth/BluetoothKeyMissingDialogFragment.java b/src/com/android/settings/bluetooth/BluetoothKeyMissingDialogFragment.java
new file mode 100644
index 0000000..a8e3aae
--- /dev/null
+++ b/src/com/android/settings/bluetooth/BluetoothKeyMissingDialogFragment.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.settings.bluetooth;
+
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.bluetooth.BluetoothDevice;
+import android.content.DialogInterface;
+import android.content.DialogInterface.OnClickListener;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.View;
+import android.widget.TextView;
+
+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;
+
+/**
+ * A dialogFragment used by {@link BluetoothKeyMissingDialog} to create a dialog for the
+ * bluetooth device.
+ */
+public class BluetoothKeyMissingDialogFragment extends InstrumentedDialogFragment
+        implements OnClickListener {
+
+    private static final String TAG = "BTKeyMissingDialogFragment";
+
+    private BluetoothDevice mBluetoothDevice;
+
+    public BluetoothKeyMissingDialogFragment(@NonNull BluetoothDevice bluetoothDevice) {
+        mBluetoothDevice = bluetoothDevice;
+    }
+
+    @NonNull
+    @Override
+    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+        View view = getActivity().getLayoutInflater().inflate(R.layout.bluetooth_key_missing, null);
+        TextView keyMissingTitle = view.findViewById(R.id.bluetooth_key_missing_title);
+        keyMissingTitle.setText(
+                getString(R.string.bluetooth_key_missing_title, mBluetoothDevice.getName()));
+        builder.setView(view);
+        builder.setPositiveButton(getString(R.string.bluetooth_key_missing_forget), this);
+        builder.setNegativeButton(getString(R.string.bluetooth_key_missing_cancel), this);
+        AlertDialog dialog = builder.create();
+        dialog.setCanceledOnTouchOutside(false);
+        return dialog;
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        if (!getActivity().isFinishing()) {
+            getActivity().finish();
+        }
+    }
+
+    @Override
+    public void onClick(DialogInterface dialog, int which) {
+        if (which == DialogInterface.BUTTON_POSITIVE) {
+            Log.i(
+                    TAG,
+                    "Positive button clicked, remove bond for "
+                            + mBluetoothDevice.getAnonymizedAddress());
+            mBluetoothDevice.removeBond();
+        } else if (which == DialogInterface.BUTTON_NEGATIVE) {
+            Log.i(TAG, "Negative button clicked for " + mBluetoothDevice.getAnonymizedAddress());
+        }
+        if (!getActivity().isFinishing()) {
+            getActivity().finish();
+        }
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.BLUETOOTH_KEY_MISSING_DIALOG_FRAGMENT;
+    }
+}
diff --git a/src/com/android/settings/bluetooth/BluetoothKeyMissingReceiver.java b/src/com/android/settings/bluetooth/BluetoothKeyMissingReceiver.java
new file mode 100644
index 0000000..d7a5343
--- /dev/null
+++ b/src/com/android/settings/bluetooth/BluetoothKeyMissingReceiver.java
@@ -0,0 +1,122 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.bluetooth;
+
+import android.app.Notification;
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
+import android.bluetooth.BluetoothDevice;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.os.PowerManager;
+import android.os.UserHandle;
+import android.text.TextUtils;
+import android.util.Log;
+
+import androidx.core.app.NotificationCompat;
+
+import com.android.settings.R;
+import com.android.settings.flags.Flags;
+
+/**
+ * BluetoothKeyMissingReceiver is a receiver for Bluetooth key missing error when reconnecting to a
+ * bonded bluetooth device.
+ */
+public final class BluetoothKeyMissingReceiver extends BroadcastReceiver {
+    private static final String TAG = "BtKeyMissingReceiver";
+    private static final String CHANNEL_ID = "bluetooth_notification_channel";
+    private static final int NOTIFICATION_ID = android.R.drawable.stat_sys_data_bluetooth;
+
+    @Override
+    public void onReceive(Context context, Intent intent) {
+        if (!Flags.enableBluetoothKeyMissingDialog()) {
+            return;
+        }
+        String action = intent.getAction();
+        if (action == null) {
+            return;
+        }
+
+        BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
+        PowerManager powerManager = context.getSystemService(PowerManager.class);
+        if (TextUtils.equals(action, BluetoothDevice.ACTION_KEY_MISSING)) {
+            Log.d(TAG, "Receive ACTION_KEY_MISSING");
+            if (shouldShowDialog(context, device, powerManager)) {
+                Intent pairingIntent = getKeyMissingDialogIntent(context, device);
+                Log.d(TAG, "Show key missing dialog:" + device);
+                context.startActivityAsUser(pairingIntent, UserHandle.CURRENT);
+            } else {
+                Log.d(TAG, "Show key missing notification: " + device);
+                showNotification(context, device);
+            }
+        }
+    }
+
+    private Intent getKeyMissingDialogIntent(Context context, BluetoothDevice device) {
+        Intent pairingIntent = new Intent();
+        pairingIntent.setClass(context, BluetoothKeyMissingDialog.class);
+        pairingIntent.putExtra(BluetoothDevice.EXTRA_DEVICE, device);
+        pairingIntent.setAction(BluetoothDevice.ACTION_KEY_MISSING);
+        pairingIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        return pairingIntent;
+    }
+
+    private boolean shouldShowDialog(
+            Context context, BluetoothDevice device, PowerManager powerManager) {
+        return LocalBluetoothPreferences.shouldShowDialogInForeground(context, device)
+                && powerManager.isInteractive();
+    }
+
+    private void showNotification(Context context, BluetoothDevice bluetoothDevice) {
+        NotificationManager nm = context.getSystemService(NotificationManager.class);
+        NotificationChannel notificationChannel =
+                new NotificationChannel(
+                        CHANNEL_ID,
+                        context.getString(R.string.bluetooth),
+                        NotificationManager.IMPORTANCE_HIGH);
+        nm.createNotificationChannel(notificationChannel);
+
+        PendingIntent pairIntent =
+                PendingIntent.getActivity(
+                        context,
+                        0,
+                        getKeyMissingDialogIntent(context, bluetoothDevice),
+                        PendingIntent.FLAG_ONE_SHOT
+                                | PendingIntent.FLAG_UPDATE_CURRENT
+                                | PendingIntent.FLAG_IMMUTABLE);
+
+        NotificationCompat.Builder builder = new NotificationCompat.Builder(context,
+                CHANNEL_ID)
+                .setSmallIcon(android.R.drawable.stat_sys_data_bluetooth)
+                .setTicker(context.getString(R.string.bluetooth_notif_ticker))
+                .setLocalOnly(true);
+        builder.setContentTitle(
+                        context.getString(
+                                R.string.bluetooth_key_missing_title, bluetoothDevice.getName()))
+                .setContentText(context.getString(R.string.bluetooth_key_missing_message))
+                .setContentIntent(pairIntent)
+                .setAutoCancel(true)
+                .setDefaults(Notification.DEFAULT_SOUND)
+                .setColor(
+                        context.getColor(
+                                com.android.internal.R.color.system_notification_accent_color));
+
+        nm.notify(NOTIFICATION_ID, builder.build());
+    }
+}
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingController.java b/src/com/android/settings/bluetooth/BluetoothPairingController.java
index dc7d4dc..f141bcc 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingController.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingController.java
@@ -20,7 +20,6 @@
 import android.bluetooth.BluetoothProfile;
 import android.content.Context;
 import android.content.Intent;
-import android.provider.DeviceConfig;
 import android.text.Editable;
 import android.util.Log;
 import android.widget.CompoundButton;
@@ -30,7 +29,6 @@
 
 import com.android.settings.R;
 import com.android.settings.bluetooth.BluetoothPairingDialogFragment.BluetoothPairingDialogListener;
-import com.android.settings.core.SettingsUIDeviceConfig;
 import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
@@ -71,7 +69,6 @@
     private boolean mPbapAllowed;
     private boolean mIsCoordinatedSetMember;
     private boolean mIsLeAudio;
-    private boolean mIsLeContactSharingEnabled;
     private boolean mIsLateBonding;
 
     /**
@@ -106,7 +103,6 @@
 
         mIsCoordinatedSetMember = false;
         mIsLeAudio = false;
-        mIsLeContactSharingEnabled = true;
         if (cachedDevice != null) {
             mIsCoordinatedSetMember = cachedDevice.isCoordinatedSetMemberDevice();
 
@@ -115,13 +111,7 @@
                     mIsLeAudio = true;
                 }
             }
-
-            mIsLeContactSharingEnabled = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SETTINGS_UI,
-                    SettingsUIDeviceConfig.BT_LE_AUDIO_CONTACT_SHARING_ENABLED, true);
-            Log.d(TAG,
-                "BT_LE_AUDIO_CONTACT_SHARING_ENABLED is "
-                    + mIsLeContactSharingEnabled + " isCooridnatedSetMember "
-                    + mIsCoordinatedSetMember);
+            Log.d(TAG, "isCooridnatedSetMember: " + mIsCoordinatedSetMember);
         }
     }
 
@@ -221,23 +211,13 @@
         return mIsLeAudio;
     }
 
-    @VisibleForTesting
-    boolean isLeContactSharingEnabled() {
-        return mIsLeContactSharingEnabled;
-    }
-
     /**
      * A method whether the device allows to show the le audio's contact sharing.
      *
      * @return A boolean whether the device allows to show the contact sharing.
      */
     public boolean isContactSharingVisible() {
-        boolean isContactSharingVisible = !isProfileReady();
-        // If device do not support the ContactSharing of LE audio device, hiding ContactSharing UI
-        if (isLeAudio() && !isLeContactSharingEnabled()) {
-            isContactSharingVisible = false;
-        }
-        return isContactSharingVisible;
+        return !isProfileReady();
     }
 
     /**
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingDetail.java b/src/com/android/settings/bluetooth/BluetoothPairingDetail.java
index ca53854..ebb07bd 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingDetail.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingDetail.java
@@ -79,7 +79,7 @@
         boolean isSatelliteOn = true;
         try {
             isSatelliteOn =
-                    satelliteRepository.requestIsEnabled(
+                    satelliteRepository.requestIsSessionStarted(
                             Executors.newSingleThreadExecutor()).get(3000, TimeUnit.MILLISECONDS);
         } catch (InterruptedException | ExecutionException | TimeoutException e) {
             Log.e(TAG, "Error to get satellite status : " + e);
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java b/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java
index 33e6fc3..e6b197c 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java
@@ -41,6 +41,7 @@
 
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settings.flags.Flags;
 
 /**
  * A dialogFragment used by {@link BluetoothPairingDialog} to create an appropriately styled dialog
@@ -87,12 +88,15 @@
     @Override
     public void onDestroy() {
         super.onDestroy();
-        if (mPairingController.getDialogType()
-                != BluetoothPairingController.DISPLAY_PASSKEY_DIALOG) {
-            /* Cancel pairing unless explicitly accepted by user */
-            if (!mPositiveClicked) {
-                mPairingController.onCancel();
-            }
+        /* Cancel pairing unless 1) explicitly accepted by user 2) the event is triggered by
+         * orientation change. */
+        boolean shouldCancelPairing =
+                Flags.disableBondingCancellationForOrientationChange()
+                        ? !mPositiveClicked && !getActivity().isChangingConfigurations()
+                        : !mPositiveClicked;
+        if (mPairingController.getDialogType() != BluetoothPairingController.DISPLAY_PASSKEY_DIALOG
+                && shouldCancelPairing) {
+            mPairingController.onCancel();
         }
     }
 
diff --git a/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdater.java b/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdater.java
index d15696b..2107569 100644
--- a/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdater.java
+++ b/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdater.java
@@ -36,7 +36,7 @@
     private static final String TAG = "ConnBluetoothDeviceUpdater";
     private static final boolean DBG = Log.isLoggable(BluetoothDeviceUpdater.TAG, Log.DEBUG);
 
-    private static final String PREF_KEY = "connected_bt";
+    private static final String PREF_KEY_PREFIX = "connected_bt_";
 
     private final AudioManager mAudioManager;
 
@@ -126,8 +126,8 @@
     }
 
     @Override
-    protected String getPreferenceKey() {
-        return PREF_KEY;
+    protected String getPreferenceKeyPrefix() {
+        return PREF_KEY_PREFIX;
     }
 
     @Override
diff --git a/src/com/android/settings/bluetooth/GeneralBluetoothDetailsHeaderController.java b/src/com/android/settings/bluetooth/GeneralBluetoothDetailsHeaderController.java
new file mode 100644
index 0000000..57a1027
--- /dev/null
+++ b/src/com/android/settings/bluetooth/GeneralBluetoothDetailsHeaderController.java
@@ -0,0 +1,108 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.bluetooth;
+
+import android.bluetooth.BluetoothProfile;
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.util.Pair;
+import android.view.View;
+import android.widget.ImageButton;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.PreferenceFragmentCompat;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.flags.Flags;
+import com.android.settingslib.bluetooth.BluetoothUtils;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.widget.LayoutPreference;
+
+/** This class adds a header with device name and status (connected/disconnected, etc.). */
+public class GeneralBluetoothDetailsHeaderController extends BluetoothDetailsController {
+    private static final String KEY_GENERAL_DEVICE_HEADER = "general_bluetooth_device_header";
+
+    @Nullable
+    private LayoutPreference mLayoutPreference;
+
+    public GeneralBluetoothDetailsHeaderController(
+            Context context,
+            PreferenceFragmentCompat fragment,
+            CachedBluetoothDevice device,
+            Lifecycle lifecycle) {
+        super(context, fragment, device, lifecycle);
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!Flags.enableBluetoothDeviceDetailsPolish()) {
+            return false;
+        }
+        boolean hasLeAudio =
+                mCachedDevice.getUiAccessibleProfiles().stream()
+                        .anyMatch(profile -> profile.getProfileId() == BluetoothProfile.LE_AUDIO);
+        return !BluetoothUtils.isAdvancedDetailsHeader(mCachedDevice.getDevice()) && !hasLeAudio;
+    }
+
+    @Override
+    protected void init(PreferenceScreen screen) {
+        mLayoutPreference = screen.findPreference(KEY_GENERAL_DEVICE_HEADER);
+    }
+
+    @Override
+    protected void refresh() {
+        if (!isAvailable() || mLayoutPreference == null) {
+            return;
+        }
+        ImageView imageView = mLayoutPreference.findViewById(R.id.bt_header_icon);
+        if (imageView != null) {
+            final Pair<Drawable, String> pair =
+                    BluetoothUtils.getBtRainbowDrawableWithDescription(mContext, mCachedDevice);
+            imageView.setImageDrawable(pair.first);
+            imageView.setContentDescription(pair.second);
+        }
+
+        TextView title = mLayoutPreference.findViewById(R.id.bt_header_device_name);
+        if (title != null) {
+            title.setText(mCachedDevice.getName());
+        }
+        TextView summary = mLayoutPreference.findViewById(R.id.bt_header_connection_summary);
+        if (summary != null) {
+            summary.setText(mCachedDevice.getConnectionSummary());
+        }
+        ImageButton renameButton = mLayoutPreference.findViewById(R.id.rename_button);
+        renameButton.setVisibility(View.VISIBLE);
+        renameButton.setOnClickListener(
+                view -> {
+                    RemoteDeviceNameDialogFragment.newInstance(mCachedDevice)
+                            .show(
+                                    mFragment.getFragmentManager(),
+                                    RemoteDeviceNameDialogFragment.TAG);
+                });
+    }
+
+    @Override
+    @NonNull
+    public String getPreferenceKey() {
+        return KEY_GENERAL_DEVICE_HEADER;
+    }
+}
diff --git a/src/com/android/settings/bluetooth/LeAudioBluetoothDetailsHeaderController.java b/src/com/android/settings/bluetooth/LeAudioBluetoothDetailsHeaderController.java
index a64874d..2524894 100644
--- a/src/com/android/settings/bluetooth/LeAudioBluetoothDetailsHeaderController.java
+++ b/src/com/android/settings/bluetooth/LeAudioBluetoothDetailsHeaderController.java
@@ -27,14 +27,17 @@
 import android.util.Log;
 import android.util.Pair;
 import android.view.View;
+import android.widget.ImageButton;
 import android.widget.ImageView;
 import android.widget.TextView;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.flags.Flags;
 import com.android.settings.fuelgauge.BatteryMeterView;
 import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
@@ -47,7 +50,7 @@
 import com.android.settingslib.core.lifecycle.events.OnStop;
 import com.android.settingslib.widget.LayoutPreference;
 
-import java.util.List;
+import java.util.Set;
 
 /**
  * This class adds a header with device name and status (connected/disconnected, etc.).
@@ -86,11 +89,12 @@
     @VisibleForTesting
     static final int INVALID_RESOURCE_ID = -1;
 
+    PreferenceFragmentCompat mFragment;
     @VisibleForTesting
     LayoutPreference mLayoutPreference;
     LocalBluetoothManager mManager;
     private CachedBluetoothDevice mCachedDevice;
-    private List<CachedBluetoothDevice> mAllOfCachedDevices;
+    private Set<CachedBluetoothDevice> mCachedDeviceGroup;
     @VisibleForTesting
     Handler mHandler = new Handler(Looper.getMainLooper());
     @VisibleForTesting
@@ -107,7 +111,7 @@
         if (mCachedDevice == null || mProfileManager == null) {
             return CONDITIONALLY_UNAVAILABLE;
         }
-        boolean hasLeAudio = mCachedDevice.getConnectableProfiles()
+        boolean hasLeAudio = mCachedDevice.getUiAccessibleProfiles()
                 .stream()
                 .anyMatch(profile -> profile.getProfileId() == BluetoothProfile.LE_AUDIO);
 
@@ -128,7 +132,7 @@
             return;
         }
         mIsRegisterCallback = true;
-        for (CachedBluetoothDevice item : mAllOfCachedDevices) {
+        for (CachedBluetoothDevice item : mCachedDeviceGroup) {
             item.registerCallback(this);
         }
         refresh();
@@ -139,7 +143,7 @@
         if (!mIsRegisterCallback) {
             return;
         }
-        for (CachedBluetoothDevice item : mAllOfCachedDevices) {
+        for (CachedBluetoothDevice item : mCachedDeviceGroup) {
             item.unregisterCallback(this);
         }
 
@@ -151,11 +155,12 @@
     }
 
     public void init(CachedBluetoothDevice cachedBluetoothDevice,
-            LocalBluetoothManager bluetoothManager) {
+            LocalBluetoothManager bluetoothManager, PreferenceFragmentCompat fragment) {
         mCachedDevice = cachedBluetoothDevice;
         mManager = bluetoothManager;
         mProfileManager = bluetoothManager.getProfileManager();
-        mAllOfCachedDevices = Utils.getAllOfCachedBluetoothDevices(mManager, mCachedDevice);
+        mCachedDeviceGroup = Utils.findAllCachedBluetoothDevicesByGroupId(mManager, mCachedDevice);
+        mFragment = fragment;
     }
 
     @VisibleForTesting
@@ -163,6 +168,14 @@
         if (mLayoutPreference == null || mCachedDevice == null) {
             return;
         }
+        if (Flags.enableBluetoothDeviceDetailsPolish()) {
+            ImageButton renameButton = mLayoutPreference.findViewById(R.id.rename_button);
+            renameButton.setVisibility(View.VISIBLE);
+            renameButton.setOnClickListener(view -> {
+                RemoteDeviceNameDialogFragment.newInstance(mCachedDevice).show(
+                        mFragment.getFragmentManager(), RemoteDeviceNameDialogFragment.TAG);
+            });
+        }
         final ImageView imageView = mLayoutPreference.findViewById(R.id.entity_header_icon);
         if (imageView != null) {
             final Pair<Drawable, String> pair =
@@ -230,7 +243,7 @@
         // Init the battery layouts.
         hideAllOfBatteryLayouts();
         LeAudioProfile leAudioProfile = mProfileManager.getLeAudioProfile();
-        if (mAllOfCachedDevices.isEmpty()) {
+        if (mCachedDeviceGroup.isEmpty()) {
             Log.e(TAG, "There is no LeAudioProfile.");
             return;
         }
@@ -244,7 +257,7 @@
             return;
         }
 
-        for (CachedBluetoothDevice cachedDevice : mAllOfCachedDevices) {
+        for (CachedBluetoothDevice cachedDevice : mCachedDeviceGroup) {
             int deviceId = leAudioProfile.getAudioLocation(cachedDevice.getDevice());
             Log.d(TAG, "LeAudioDevices:" + cachedDevice.getDevice().getAnonymizedAddress()
                     + ", deviceId:" + deviceId);
@@ -300,15 +313,15 @@
 
     @Override
     public void onDeviceAttributesChanged() {
-        for (CachedBluetoothDevice item : mAllOfCachedDevices) {
+        for (CachedBluetoothDevice item : mCachedDeviceGroup) {
             item.unregisterCallback(this);
         }
-        mAllOfCachedDevices = Utils.getAllOfCachedBluetoothDevices(mManager, mCachedDevice);
-        for (CachedBluetoothDevice item : mAllOfCachedDevices) {
+        mCachedDeviceGroup = Utils.findAllCachedBluetoothDevicesByGroupId(mManager, mCachedDevice);
+        for (CachedBluetoothDevice item : mCachedDeviceGroup) {
             item.registerCallback(this);
         }
 
-        if (!mAllOfCachedDevices.isEmpty()) {
+        if (!mCachedDeviceGroup.isEmpty()) {
             refresh();
         }
     }
diff --git a/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java b/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java
index ed1be7a..d7c0366 100644
--- a/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java
+++ b/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java
@@ -41,7 +41,7 @@
 
     private static final String TAG = "SavedBluetoothDeviceUpdater";
 
-    private static final String PREF_KEY = "saved_bt";
+    private static final String PREF_KEY_PREFIX = "saved_bt_";
 
     private final boolean mShowConnectedDevice;
 
@@ -134,8 +134,8 @@
     }
 
     @Override
-    protected String getPreferenceKey() {
-        return PREF_KEY;
+    protected String getPreferenceKeyPrefix() {
+        return PREF_KEY_PREFIX;
     }
 
     @Override
diff --git a/src/com/android/settings/bluetooth/Utils.java b/src/com/android/settings/bluetooth/Utils.java
index ea293b1..6404f31 100644
--- a/src/com/android/settings/bluetooth/Utils.java
+++ b/src/com/android/settings/bluetooth/Utils.java
@@ -48,8 +48,9 @@
 
 import com.google.common.base.Supplier;
 
-import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.FutureTask;
 
@@ -239,12 +240,12 @@
      * @param cachedBluetoothDevice The main cachedBluetoothDevice.
      * @return all cachedBluetoothDevices with the same groupId.
      */
-    public static List<CachedBluetoothDevice> getAllOfCachedBluetoothDevices(
+    public static Set<CachedBluetoothDevice> findAllCachedBluetoothDevicesByGroupId(
             LocalBluetoothManager localBtMgr,
             CachedBluetoothDevice cachedBluetoothDevice) {
-        List<CachedBluetoothDevice> cachedBluetoothDevices = new ArrayList<>();
+        Set<CachedBluetoothDevice> cachedBluetoothDevices = new HashSet<>();
         if (cachedBluetoothDevice == null) {
-            Log.e(TAG, "getAllOfCachedBluetoothDevices: no cachedBluetoothDevice");
+            Log.e(TAG, "findAllCachedBluetoothDevicesByGroupId: no cachedBluetoothDevice");
             return cachedBluetoothDevices;
         }
         int deviceGroupId = cachedBluetoothDevice.getGroupId();
@@ -254,7 +255,7 @@
         }
 
         if (localBtMgr == null) {
-            Log.e(TAG, "getAllOfCachedBluetoothDevices: no LocalBluetoothManager");
+            Log.e(TAG, "findAllCachedBluetoothDevicesByGroupId: no LocalBluetoothManager");
             return cachedBluetoothDevices;
         }
         CachedBluetoothDevice mainDevice =
@@ -262,16 +263,14 @@
                         .filter(cachedDevice -> cachedDevice.getGroupId() == deviceGroupId)
                         .findFirst().orElse(null);
         if (mainDevice == null) {
-            Log.e(TAG, "getAllOfCachedBluetoothDevices: groupId = " + deviceGroupId
+            Log.e(TAG, "findAllCachedBluetoothDevicesByGroupId: groupId = " + deviceGroupId
                     + ", no main device.");
             return cachedBluetoothDevices;
         }
         cachedBluetoothDevice = mainDevice;
         cachedBluetoothDevices.add(cachedBluetoothDevice);
-        for (CachedBluetoothDevice member : cachedBluetoothDevice.getMemberDevice()) {
-            cachedBluetoothDevices.add(member);
-        }
-        Log.d(TAG, "getAllOfCachedBluetoothDevices: groupId = " + deviceGroupId
+        cachedBluetoothDevices.addAll(cachedBluetoothDevice.getMemberDevice());
+        Log.d(TAG, "findAllCachedBluetoothDevicesByGroupId: groupId = " + deviceGroupId
                 + " , cachedBluetoothDevice = " + cachedBluetoothDevice
                 + " , deviceList = " + cachedBluetoothDevices);
         return cachedBluetoothDevices;
diff --git a/src/com/android/settings/bluetooth/domain/interactor/SpatialAudioInteractor.kt b/src/com/android/settings/bluetooth/domain/interactor/SpatialAudioInteractor.kt
new file mode 100644
index 0000000..6b72b53
--- /dev/null
+++ b/src/com/android/settings/bluetooth/domain/interactor/SpatialAudioInteractor.kt
@@ -0,0 +1,155 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.bluetooth.domain.interactor
+
+import android.content.Context
+import android.media.AudioManager
+import android.util.Log
+import com.android.settings.R
+import com.android.settingslib.bluetooth.BluetoothUtils
+import com.android.settingslib.bluetooth.CachedBluetoothDevice
+import com.android.settingslib.bluetooth.devicesettings.DeviceSettingId
+import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingIcon
+import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingModel
+import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingStateModel
+import com.android.settingslib.bluetooth.devicesettings.shared.model.ToggleModel
+import com.android.settingslib.media.domain.interactor.SpatializerInteractor
+import kotlin.coroutines.CoroutineContext
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.MutableSharedFlow
+import kotlinx.coroutines.flow.SharingStarted
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.onStart
+import kotlinx.coroutines.flow.stateIn
+import kotlinx.coroutines.launch
+
+/** Provides device setting for spatial audio. */
+interface SpatialAudioInteractor {
+    /** Gets device setting for spatial audio */
+    fun getDeviceSetting(
+        cachedDevice: CachedBluetoothDevice,
+    ): Flow<DeviceSettingModel?>
+}
+
+class SpatialAudioInteractorImpl(
+    private val context: Context,
+    private val audioManager: AudioManager,
+    private val spatializerInteractor: SpatializerInteractor,
+    private val coroutineScope: CoroutineScope,
+    private val backgroundCoroutineContext: CoroutineContext,
+) : SpatialAudioInteractor {
+    private val spatialAudioOffToggle =
+        ToggleModel(
+            context.getString(R.string.spatial_audio_multi_toggle_off),
+            DeviceSettingIcon.ResourceIcon(R.drawable.ic_spatial_audio_off))
+    private val spatialAudioOnToggle =
+        ToggleModel(
+            context.getString(R.string.spatial_audio_multi_toggle_on),
+            DeviceSettingIcon.ResourceIcon(R.drawable.ic_spatial_audio))
+    private val headTrackingOnToggle =
+        ToggleModel(
+            context.getString(R.string.spatial_audio_multi_toggle_head_tracking_on),
+            DeviceSettingIcon.ResourceIcon(R.drawable.ic_head_tracking))
+    private val changes = MutableSharedFlow<Unit>()
+
+    override fun getDeviceSetting(
+        cachedDevice: CachedBluetoothDevice,
+    ): Flow<DeviceSettingModel?> =
+        changes
+            .onStart { emit(Unit) }
+            .map { getSpatialAudioDeviceSettingModel(cachedDevice) }
+            .stateIn(coroutineScope, SharingStarted.WhileSubscribed(), initialValue = null)
+
+    private suspend fun getSpatialAudioDeviceSettingModel(
+        cachedDevice: CachedBluetoothDevice,
+    ): DeviceSettingModel? {
+        // TODO(b/343317785): use audio repository instead of calling AudioManager directly.
+        Log.i(TAG, "CachedDevice: $cachedDevice profiles: ${cachedDevice.profiles}")
+        val attributes =
+            BluetoothUtils.getAudioDeviceAttributesForSpatialAudio(
+                cachedDevice, audioManager.getBluetoothAudioDeviceCategory(cachedDevice.address))
+                ?: run {
+                    Log.i(TAG, "No audio profiles in cachedDevice: ${cachedDevice.address}.")
+                    return null
+                }
+
+        Log.i(TAG, "Audio device attributes for ${cachedDevice.address}: $attributes.")
+        val spatialAudioAvailable = spatializerInteractor.isSpatialAudioAvailable(attributes)
+        if (!spatialAudioAvailable) {
+            Log.i(TAG, "Spatial audio is not available for ${cachedDevice.address}")
+            return null
+        }
+        val headTrackingAvailable =
+            spatialAudioAvailable && spatializerInteractor.isHeadTrackingAvailable(attributes)
+        val toggles =
+            if (headTrackingAvailable) {
+                listOf(spatialAudioOffToggle, spatialAudioOnToggle, headTrackingOnToggle)
+            } else {
+                listOf(spatialAudioOffToggle, spatialAudioOnToggle)
+            }
+        val spatialAudioEnabled = spatializerInteractor.isSpatialAudioEnabled(attributes)
+        val headTrackingEnabled =
+            spatialAudioEnabled && spatializerInteractor.isHeadTrackingEnabled(attributes)
+
+        val activeIndex =
+            when {
+                headTrackingEnabled -> INDEX_HEAD_TRACKING_ENABLED
+                spatialAudioEnabled -> INDEX_SPATIAL_AUDIO_ON
+                else -> INDEX_SPATIAL_AUDIO_OFF
+            }
+        Log.i(
+            TAG,
+            "Head tracking available: $headTrackingAvailable, " +
+                "spatial audio enabled: $spatialAudioEnabled, " +
+                "head tracking enabled: $headTrackingEnabled")
+        return DeviceSettingModel.MultiTogglePreference(
+            cachedDevice = cachedDevice,
+            id = DeviceSettingId.DEVICE_SETTING_ID_SPATIAL_AUDIO_MULTI_TOGGLE,
+            title = context.getString(R.string.spatial_audio_multi_toggle_title),
+            toggles = toggles,
+            isActive = spatialAudioEnabled,
+            state = DeviceSettingStateModel.MultiTogglePreferenceState(activeIndex),
+            isAllowedChangingState = true,
+            updateState = { newState ->
+                coroutineScope.launch(backgroundCoroutineContext) {
+                    Log.i(TAG, "Update spatial audio state: $newState")
+                    when (newState.selectedIndex) {
+                        INDEX_SPATIAL_AUDIO_OFF -> {
+                            spatializerInteractor.setSpatialAudioEnabled(attributes, false)
+                        }
+                        INDEX_SPATIAL_AUDIO_ON -> {
+                            spatializerInteractor.setSpatialAudioEnabled(attributes, true)
+                            spatializerInteractor.setHeadTrackingEnabled(attributes, false)
+                        }
+                        INDEX_HEAD_TRACKING_ENABLED -> {
+                            spatializerInteractor.setSpatialAudioEnabled(attributes, true)
+                            spatializerInteractor.setHeadTrackingEnabled(attributes, true)
+                        }
+                    }
+                    changes.emit(Unit)
+                }
+            })
+    }
+
+    companion object {
+        private const val TAG = "SpatialAudioInteractorImpl"
+        private const val INDEX_SPATIAL_AUDIO_OFF = 0
+        private const val INDEX_SPATIAL_AUDIO_ON = 1
+        private const val INDEX_HEAD_TRACKING_ENABLED = 2
+    }
+}
diff --git a/src/com/android/settings/bluetooth/ui/composable/Icon.kt b/src/com/android/settings/bluetooth/ui/composable/Icon.kt
new file mode 100644
index 0000000..676bd14
--- /dev/null
+++ b/src/com/android/settings/bluetooth/ui/composable/Icon.kt
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.bluetooth.ui.composable
+
+import androidx.compose.material3.LocalContentColor
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.asImageBitmap
+import androidx.compose.ui.res.painterResource
+import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingIcon
+
+@Composable
+fun Icon(
+    icon: DeviceSettingIcon,
+    modifier: Modifier = Modifier,
+    tint: Color = LocalContentColor.current,
+) {
+    when (icon) {
+        is DeviceSettingIcon.BitmapIcon ->
+            androidx.compose.material3.Icon(
+                icon.bitmap.asImageBitmap(),
+                contentDescription = null,
+                modifier = modifier,
+                tint = LocalContentColor.current)
+        is DeviceSettingIcon.ResourceIcon ->
+            androidx.compose.material3.Icon(
+                painterResource(icon.resId),
+                contentDescription = null,
+                modifier = modifier,
+                tint = tint)
+        else -> {}
+    }
+}
diff --git a/src/com/android/settings/bluetooth/ui/composable/MultiTogglePreferenceGroup.kt b/src/com/android/settings/bluetooth/ui/composable/MultiTogglePreferenceGroup.kt
new file mode 100644
index 0000000..d29795e
--- /dev/null
+++ b/src/com/android/settings/bluetooth/ui/composable/MultiTogglePreferenceGroup.kt
@@ -0,0 +1,270 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.bluetooth.ui.composable
+
+import androidx.compose.animation.core.animateFloatAsState
+import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Arrangement
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.PaddingValues
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.Spacer
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.offset
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.layout.width
+import androidx.compose.foundation.shape.RoundedCornerShape
+import androidx.compose.material3.BasicAlertDialog
+import androidx.compose.material3.Button
+import androidx.compose.material3.ButtonDefaults
+import androidx.compose.material3.Card
+import androidx.compose.material3.ExperimentalMaterial3Api
+import androidx.compose.material3.Icon
+import androidx.compose.material3.LocalContentColor
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Surface
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.setValue
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.geometry.Rect
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.layout.boundsInParent
+import androidx.compose.ui.layout.onGloballyPositioned
+import androidx.compose.ui.platform.LocalDensity
+import androidx.compose.ui.res.painterResource
+import androidx.compose.ui.semantics.Role
+import androidx.compose.ui.semantics.contentDescription
+import androidx.compose.ui.semantics.role
+import androidx.compose.ui.semantics.semantics
+import androidx.compose.ui.semantics.toggleableState
+import androidx.compose.ui.state.ToggleableState
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.unit.dp
+import androidx.compose.ui.unit.sp
+import androidx.compose.ui.window.DialogProperties
+import com.android.settings.R
+import com.android.settings.bluetooth.ui.model.DeviceSettingPreferenceModel
+import com.android.settings.bluetooth.ui.composable.Icon as DeviceSettingComposeIcon
+import com.android.settingslib.spa.framework.theme.SettingsDimension
+import com.android.settingslib.spa.widget.dialog.getDialogWidth
+
+@Composable
+fun MultiTogglePreferenceGroup(
+    preferenceModels: List<DeviceSettingPreferenceModel.MultiTogglePreference>,
+) {
+    var settingIdForPopUp by remember { mutableStateOf<Int?>(null) }
+
+    settingIdForPopUp?.let { id ->
+        preferenceModels.find { it.id == id }?.let { dialog(it) { settingIdForPopUp = null } }
+    }
+
+    Row(
+        modifier = Modifier.padding(SettingsDimension.itemPadding),
+        verticalAlignment = Alignment.CenterVertically,
+        horizontalArrangement = Arrangement.spacedBy(24.dp),
+    ) {
+        preferenceModels.forEach { preferenceModel ->
+            Column(
+                modifier = Modifier.weight(1f),
+                verticalArrangement = Arrangement.Top,
+                horizontalAlignment = Alignment.CenterHorizontally,
+            ) {
+                Row {
+                    Surface(
+                        modifier = Modifier.height(64.dp),
+                        shape = RoundedCornerShape(28.dp),
+                        color = MaterialTheme.colorScheme.surface) {
+                            Button(
+                                modifier =
+                                    Modifier.fillMaxSize().padding(8.dp).semantics {
+                                        role = Role.Switch
+                                        toggleableState =
+                                            if (preferenceModel.isActive) {
+                                                ToggleableState.On
+                                            } else {
+                                                ToggleableState.Off
+                                            }
+                                        contentDescription = preferenceModel.title
+                                    },
+                                onClick = { settingIdForPopUp = preferenceModel.id },
+                                shape = RoundedCornerShape(20.dp),
+                                colors = getButtonColors(preferenceModel.isActive),
+                                contentPadding = PaddingValues(0.dp)) {
+                                    DeviceSettingComposeIcon(
+                                        preferenceModel.toggles[preferenceModel.selectedIndex]
+                                            .icon,
+                                        modifier = Modifier.size(24.dp))
+                                }
+                        }
+                }
+                Row { Text(text = preferenceModel.title, fontSize = 12.sp) }
+            }
+        }
+    }
+}
+
+@Composable
+private fun getButtonColors(isActive: Boolean) =
+    if (isActive) {
+        ButtonDefaults.buttonColors(
+            containerColor = MaterialTheme.colorScheme.tertiaryContainer,
+            contentColor = MaterialTheme.colorScheme.onTertiaryContainer,
+        )
+    } else {
+        ButtonDefaults.buttonColors(
+            containerColor = Color.Transparent,
+            contentColor = MaterialTheme.colorScheme.onSurfaceVariant,
+        )
+    }
+
+@OptIn(ExperimentalMaterial3Api::class)
+@Composable
+private fun dialog(
+    multiTogglePreference: DeviceSettingPreferenceModel.MultiTogglePreference,
+    onDismiss: () -> Unit
+) {
+    BasicAlertDialog(
+        onDismissRequest = { onDismiss() },
+        modifier = Modifier.width(getDialogWidth()),
+        properties = DialogProperties(usePlatformDefaultWidth = false),
+        content = {
+            Card(
+                shape = RoundedCornerShape(28.dp),
+                modifier = Modifier.fillMaxWidth().height(192.dp),
+                content = {
+                    Box {
+                        Button(
+                            onClick = { onDismiss() },
+                            modifier = Modifier.padding(8.dp).align(Alignment.TopEnd).size(48.dp),
+                            contentPadding = PaddingValues(12.dp),
+                            colors =
+                                ButtonDefaults.buttonColors(containerColor = Color.Transparent),
+                        ) {
+                            Icon(
+                                painterResource(id = R.drawable.ic_close),
+                                null,
+                                tint = MaterialTheme.colorScheme.inverseSurface)
+                        }
+                        Box(modifier = Modifier.padding(horizontal = 8.dp, vertical = 20.dp)) {
+                            dialogContent(multiTogglePreference)
+                        }
+                    }
+                },
+            )
+        })
+}
+
+@Composable
+private fun dialogContent(multiTogglePreference: DeviceSettingPreferenceModel.MultiTogglePreference) {
+    Column {
+        Row(
+            modifier = Modifier.fillMaxWidth().height(24.dp),
+            verticalAlignment = Alignment.CenterVertically,
+            horizontalArrangement = Arrangement.SpaceEvenly,
+        ) {
+            Text(text = multiTogglePreference.title, fontSize = 16.sp)
+        }
+        Spacer(modifier = Modifier.height(20.dp))
+        var selectedRect by remember { mutableStateOf<Rect?>(null) }
+        val offset =
+            selectedRect?.let { rect ->
+                animateFloatAsState(targetValue = rect.left, finishedListener = {}).value
+            }
+
+        Row(
+            modifier =
+                Modifier.fillMaxWidth()
+                    .height(64.dp)
+                    .background(
+                        MaterialTheme.colorScheme.surface, shape = RoundedCornerShape(28.dp)),
+            verticalAlignment = Alignment.CenterVertically,
+            horizontalArrangement = Arrangement.SpaceEvenly,
+        ) {
+            Box {
+                offset?.let { offset ->
+                    with(LocalDensity.current) {
+                        Box(
+                            modifier =
+                                Modifier.offset(offset.toDp(), 0.dp)
+                                    .height(selectedRect!!.height.toDp())
+                                    .width(selectedRect!!.width.toDp())
+                                    .background(
+                                        MaterialTheme.colorScheme.tertiaryContainer,
+                                        shape = RoundedCornerShape(20.dp)))
+                    }
+                }
+                Row {
+                    for ((idx, toggle) in multiTogglePreference.toggles.withIndex()) {
+                        val selected = idx == multiTogglePreference.selectedIndex
+                        Column(
+                            modifier =
+                                Modifier.weight(1f)
+                                    .padding(horizontal = 8.dp)
+                                    .height(48.dp)
+                                    .background(
+                                        Color.Transparent, shape = RoundedCornerShape(28.dp))
+                                    .onGloballyPositioned { layoutCoordinates ->
+                                        if (selected) {
+                                            selectedRect = layoutCoordinates.boundsInParent()
+                                        }
+                                    },
+                            verticalArrangement = Arrangement.Center,
+                            horizontalAlignment = Alignment.CenterHorizontally,
+                        ) {
+                            Button(
+                                onClick = {
+                                    multiTogglePreference.onSelectedChange(idx)
+                                },
+                                modifier = Modifier.fillMaxSize(),
+                                colors =
+                                    ButtonDefaults.buttonColors(
+                                        containerColor = Color.Transparent,
+                                        contentColor = LocalContentColor.current),
+                            ) {
+                                DeviceSettingComposeIcon(
+                                    toggle.icon, modifier = Modifier.size(24.dp))
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        Spacer(modifier = Modifier.height(12.dp))
+        Row(
+            modifier = Modifier.fillMaxWidth().height(32.dp),
+            verticalAlignment = Alignment.CenterVertically,
+            horizontalArrangement = Arrangement.SpaceEvenly,
+        ) {
+            for (toggle in multiTogglePreference.toggles) {
+                Text(
+                    text = toggle.label,
+                    fontSize = 12.sp,
+                    textAlign = TextAlign.Center,
+                    modifier = Modifier.weight(1f).padding(horizontal = 8.dp))
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/bluetooth/ui/layout/DeviceSettingLayout.kt b/src/com/android/settings/bluetooth/ui/layout/DeviceSettingLayout.kt
new file mode 100644
index 0000000..87e2e8b
--- /dev/null
+++ b/src/com/android/settings/bluetooth/ui/layout/DeviceSettingLayout.kt
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.bluetooth.ui.layout
+
+import kotlinx.coroutines.flow.Flow
+
+/** Represent the layout of device settings. */
+data class DeviceSettingLayout(val rows: List<DeviceSettingLayoutRow>)
+
+/** Represent a row in the layout. */
+data class DeviceSettingLayoutRow(val settingIds: Flow<List<Int>>)
diff --git a/src/com/android/settings/bluetooth/ui/model/DeviceSettingPreferenceModel.kt b/src/com/android/settings/bluetooth/ui/model/DeviceSettingPreferenceModel.kt
new file mode 100644
index 0000000..f6e6f16
--- /dev/null
+++ b/src/com/android/settings/bluetooth/ui/model/DeviceSettingPreferenceModel.kt
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.bluetooth.ui.model
+
+import com.android.settingslib.bluetooth.devicesettings.DeviceSettingId
+import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingIcon
+import com.android.settingslib.bluetooth.devicesettings.shared.model.ToggleModel
+
+/** Models a device setting preference. */
+sealed interface DeviceSettingPreferenceModel {
+    @DeviceSettingId
+    val id: Int
+
+    /** Models a plain preference. */
+    data class PlainPreference(
+        @DeviceSettingId override val id: Int,
+        val title: String,
+        val summary: String? = null,
+        val icon: DeviceSettingIcon? = null,
+        val onClick: (() -> Unit)? = null,
+    ) : DeviceSettingPreferenceModel
+
+    /** Models a switch preference. */
+    data class SwitchPreference(
+        @DeviceSettingId override val id: Int,
+        val title: String,
+        val summary: String? = null,
+        val icon: DeviceSettingIcon? = null,
+        val checked: Boolean,
+        val onCheckedChange: ((Boolean) -> Unit),
+        val onPrimaryClick: (() -> Unit)? = null,
+    ) : DeviceSettingPreferenceModel
+
+    /** Models a multi-toggle preference. */
+    data class MultiTogglePreference(
+        @DeviceSettingId override val id: Int,
+        val title: String,
+        val toggles: List<ToggleModel>,
+        val isActive: Boolean,
+        val selectedIndex: Int,
+        val isAllowedChangingState: Boolean,
+        val onSelectedChange: (Int) -> Unit,
+    ) : DeviceSettingPreferenceModel
+
+    /** Models a footer preference. */
+    data class FooterPreference(
+        @DeviceSettingId override val id: Int,
+        val footerText: String,
+    ) : DeviceSettingPreferenceModel
+
+    /** Models a preference which could navigate to more settings fragment. */
+    data class MoreSettingsPreference(
+        @DeviceSettingId override val id: Int,
+    ) : DeviceSettingPreferenceModel
+
+    /** Models a help button on the top right corner of the fragment. */
+    data class HelpPreference(
+        @DeviceSettingId override val id: Int,
+        val icon: DeviceSettingIcon,
+        val onClick: (() -> Unit),
+    ) : DeviceSettingPreferenceModel
+}
diff --git a/src/com/android/settings/bluetooth/ui/model/FragmentTypeModel.kt b/src/com/android/settings/bluetooth/ui/model/FragmentTypeModel.kt
new file mode 100644
index 0000000..19858c4
--- /dev/null
+++ b/src/com/android/settings/bluetooth/ui/model/FragmentTypeModel.kt
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.bluetooth.ui.model
+
+/** Models a device details fragment type. */
+sealed interface FragmentTypeModel {
+    /** Device details main page. */
+    data object DeviceDetailsMainFragment : FragmentTypeModel
+    /** Device details more settings page. */
+    data object DeviceDetailsMoreSettingsFragment : FragmentTypeModel
+}
diff --git a/src/com/android/settings/bluetooth/ui/view/DeviceDetailsFragmentFormatter.kt b/src/com/android/settings/bluetooth/ui/view/DeviceDetailsFragmentFormatter.kt
new file mode 100644
index 0000000..f2a569d
--- /dev/null
+++ b/src/com/android/settings/bluetooth/ui/view/DeviceDetailsFragmentFormatter.kt
@@ -0,0 +1,306 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.bluetooth.ui.view
+
+import android.bluetooth.BluetoothAdapter
+import android.content.Context
+import android.media.AudioManager
+import android.os.Bundle
+import androidx.compose.foundation.layout.size
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.remember
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.res.stringResource
+import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.compose.collectAsStateWithLifecycle
+import androidx.lifecycle.lifecycleScope
+import androidx.preference.Preference
+import com.android.settings.R
+import com.android.settings.SettingsPreferenceFragment
+import com.android.settings.bluetooth.ui.composable.Icon
+import com.android.settings.bluetooth.ui.composable.MultiTogglePreferenceGroup
+import com.android.settings.bluetooth.ui.layout.DeviceSettingLayout
+import com.android.settings.bluetooth.ui.model.DeviceSettingPreferenceModel
+import com.android.settings.bluetooth.ui.model.FragmentTypeModel
+import com.android.settings.bluetooth.ui.view.DeviceDetailsMoreSettingsFragment.Companion.KEY_DEVICE_ADDRESS
+import com.android.settings.bluetooth.ui.viewmodel.BluetoothDeviceDetailsViewModel
+import com.android.settings.core.SubSettingLauncher
+import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
+import com.android.settings.spa.preference.ComposePreference
+import com.android.settingslib.bluetooth.CachedBluetoothDevice
+import com.android.settingslib.bluetooth.devicesettings.DeviceSettingId
+import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingConfigItemModel
+import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingIcon
+import com.android.settingslib.spa.framework.theme.SettingsDimension
+import com.android.settingslib.spa.widget.preference.Preference as SpaPreference
+import com.android.settingslib.spa.widget.preference.PreferenceModel
+import com.android.settingslib.spa.widget.preference.SwitchPreference
+import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
+import com.android.settingslib.spa.widget.preference.TwoTargetSwitchPreference
+import com.android.settingslib.spa.widget.ui.Footer
+import kotlin.coroutines.CoroutineContext
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.combine
+import kotlinx.coroutines.flow.emitAll
+import kotlinx.coroutines.flow.flatMapLatest
+import kotlinx.coroutines.flow.flow
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.runBlocking
+
+/** Handles device details fragment layout according to config. */
+interface DeviceDetailsFragmentFormatter {
+    /** Gets keys of visible preferences in built-in preference in xml. */
+    fun getVisiblePreferenceKeys(fragmentType: FragmentTypeModel): List<String>?
+
+    /** Updates device details fragment layout. */
+    fun getInvisibleBluetoothProfiles(fragmentType: FragmentTypeModel): List<String>?
+
+    /** Updates device details fragment layout. */
+    fun updateLayout(fragmentType: FragmentTypeModel)
+
+    /** Gets the menu items of the fragment. */
+    fun getMenuItem(
+        fragmentType: FragmentTypeModel
+    ): Flow<DeviceSettingPreferenceModel.HelpPreference?>
+}
+
+@OptIn(ExperimentalCoroutinesApi::class)
+class DeviceDetailsFragmentFormatterImpl(
+    private val context: Context,
+    private val fragment: SettingsPreferenceFragment,
+    bluetoothAdapter: BluetoothAdapter,
+    private val cachedDevice: CachedBluetoothDevice,
+    private val backgroundCoroutineContext: CoroutineContext,
+) : DeviceDetailsFragmentFormatter {
+    private val repository =
+        featureFactory.bluetoothFeatureProvider.getDeviceSettingRepository(
+            context, bluetoothAdapter, fragment.lifecycleScope)
+    private val spatialAudioInteractor =
+        featureFactory.bluetoothFeatureProvider.getSpatialAudioInteractor(
+            context, context.getSystemService(AudioManager::class.java), fragment.lifecycleScope)
+    private val viewModel: BluetoothDeviceDetailsViewModel =
+        ViewModelProvider(
+                fragment,
+                BluetoothDeviceDetailsViewModel.Factory(
+                    fragment.requireActivity().application,
+                    repository,
+                    spatialAudioInteractor,
+                    cachedDevice,
+                    backgroundCoroutineContext,
+                ))
+            .get(BluetoothDeviceDetailsViewModel::class.java)
+
+    override fun getVisiblePreferenceKeys(fragmentType: FragmentTypeModel): List<String>? =
+        runBlocking {
+            viewModel
+                .getItems(fragmentType)
+                ?.filterIsInstance<DeviceSettingConfigItemModel.BuiltinItem>()
+                ?.map { it.preferenceKey }
+        }
+
+    override fun getInvisibleBluetoothProfiles(fragmentType: FragmentTypeModel): List<String>? =
+        runBlocking {
+            viewModel
+                .getItems(fragmentType)
+                ?.filterIsInstance<DeviceSettingConfigItemModel.BuiltinItem.BluetoothProfilesItem>()
+                ?.first()?.invisibleProfiles
+        }
+
+    /** Updates bluetooth device details fragment layout. */
+    override fun updateLayout(fragmentType: FragmentTypeModel) = runBlocking {
+        val items = viewModel.getItems(fragmentType) ?: return@runBlocking
+        val layout = viewModel.getLayout(fragmentType) ?: return@runBlocking
+
+        val prefKeyToSettingId =
+            items
+                .filterIsInstance<DeviceSettingConfigItemModel.BuiltinItem>()
+                .associateBy({ it.preferenceKey }, { it.settingId })
+
+        val settingIdToXmlPreferences: MutableMap<Int, Preference> = HashMap()
+        for (i in 0 until fragment.preferenceScreen.preferenceCount) {
+            val pref = fragment.preferenceScreen.getPreference(i)
+            prefKeyToSettingId[pref.key]?.let { id -> settingIdToXmlPreferences[id] = pref }
+        }
+        fragment.preferenceScreen.removeAll()
+
+        for (row in items.indices) {
+            val settingId = items[row].settingId
+            if (settingIdToXmlPreferences.containsKey(settingId)) {
+                fragment.preferenceScreen.addPreference(
+                    settingIdToXmlPreferences[settingId]!!.apply { order = row })
+            } else {
+                val pref =
+                    ComposePreference(context)
+                        .apply {
+                            key = getPreferenceKey(settingId)
+                            order = row
+                        }
+                        .also { pref -> pref.setContent { buildPreference(layout, row) } }
+                fragment.preferenceScreen.addPreference(pref)
+            }
+        }
+        // TODO(b/343317785): figure out how to remove the foot preference.
+        fragment.preferenceScreen.addPreference(Preference(context).apply { order = 10000 })
+    }
+
+    override fun getMenuItem(
+        fragmentType: FragmentTypeModel
+    ): Flow<DeviceSettingPreferenceModel.HelpPreference?> = flow {
+        val t = viewModel.getHelpItem(fragmentType)
+
+        t?.let { item ->
+            emitAll(
+                viewModel.getDeviceSetting(cachedDevice, item.settingId).map {
+                    it as? DeviceSettingPreferenceModel.HelpPreference
+                })
+        } ?: emit(null)
+    }
+
+    @Composable
+    private fun buildPreference(layout: DeviceSettingLayout, row: Int) {
+        val contents by
+            remember(row) {
+                    layout.rows[row].settingIds.flatMapLatest { settingIds ->
+                        if (settingIds.isEmpty()) {
+                            flowOf(emptyList<DeviceSettingPreferenceModel>())
+                        } else {
+                            combine(
+                                settingIds.map { settingId ->
+                                    viewModel.getDeviceSetting(cachedDevice, settingId)
+                                }) {
+                                    it.toList()
+                                }
+                        }
+                    }
+                }
+                .collectAsStateWithLifecycle(initialValue = listOf())
+
+        val settings = contents
+        when (settings.size) {
+            0 -> {}
+            1 -> {
+                when (val setting = settings[0]) {
+                    is DeviceSettingPreferenceModel.PlainPreference -> {
+                        buildPlainPreference(setting)
+                    }
+                    is DeviceSettingPreferenceModel.SwitchPreference -> {
+                        buildSwitchPreference(setting)
+                    }
+                    is DeviceSettingPreferenceModel.MultiTogglePreference -> {
+                        buildMultiTogglePreference(listOf(setting))
+                    }
+                    is DeviceSettingPreferenceModel.FooterPreference -> {
+                        buildFooterPreference(setting)
+                    }
+                    is DeviceSettingPreferenceModel.MoreSettingsPreference -> {
+                        buildMoreSettingsPreference()
+                    }
+                    is DeviceSettingPreferenceModel.HelpPreference -> {}
+                    null -> {}
+                }
+            }
+            else -> {
+                if (!settings.all { it is DeviceSettingPreferenceModel.MultiTogglePreference }) {
+                    return
+                }
+                buildMultiTogglePreference(
+                    settings.filterIsInstance<DeviceSettingPreferenceModel.MultiTogglePreference>())
+            }
+        }
+    }
+
+    @Composable
+    private fun buildMultiTogglePreference(
+        prefs: List<DeviceSettingPreferenceModel.MultiTogglePreference>
+    ) {
+        MultiTogglePreferenceGroup(prefs)
+    }
+
+    @Composable
+    private fun buildSwitchPreference(model: DeviceSettingPreferenceModel.SwitchPreference) {
+        val switchPrefModel =
+            object : SwitchPreferenceModel {
+                override val title = model.title
+                override val summary = { model.summary ?: "" }
+                override val checked = { model.checked }
+                override val onCheckedChange = { newChecked: Boolean ->
+                    model.onCheckedChange(newChecked)
+                }
+                override val icon = @Composable { deviceSettingIcon(model.icon) }
+            }
+        if (model.onPrimaryClick != null) {
+            TwoTargetSwitchPreference(
+                switchPrefModel, primaryOnClick = model.onPrimaryClick::invoke)
+        } else {
+            SwitchPreference(switchPrefModel)
+        }
+    }
+
+    @Composable
+    private fun buildPlainPreference(model: DeviceSettingPreferenceModel.PlainPreference) {
+        SpaPreference(
+            object : PreferenceModel {
+                override val title = model.title
+                override val summary = { model.summary ?: "" }
+                override val onClick = {
+                    model.onClick?.invoke()
+                    Unit
+                }
+                override val icon = @Composable { deviceSettingIcon(model.icon) }
+            })
+    }
+
+    @Composable
+    fun buildMoreSettingsPreference() {
+        SpaPreference(
+            object : PreferenceModel {
+                override val title =
+                    stringResource(R.string.bluetooth_device_more_settings_preference_title)
+                override val summary = {
+                    context.getString(R.string.bluetooth_device_more_settings_preference_summary)
+                }
+                override val onClick = {
+                    SubSettingLauncher(context)
+                        .setDestination(DeviceDetailsMoreSettingsFragment::class.java.name)
+                        .setSourceMetricsCategory(fragment.getMetricsCategory())
+                        .setArguments(
+                            Bundle().apply { putString(KEY_DEVICE_ADDRESS, cachedDevice.address) })
+                        .launch()
+                }
+                override val icon = @Composable { deviceSettingIcon(null) }
+            })
+    }
+
+    @Composable
+    fun buildFooterPreference(model: DeviceSettingPreferenceModel.FooterPreference) {
+        Footer(footerText = model.footerText)
+    }
+
+    @Composable
+    private fun deviceSettingIcon(icon: DeviceSettingIcon?) {
+        icon?.let { Icon(it, modifier = Modifier.size(SettingsDimension.itemIconSize)) }
+    }
+
+    private fun getPreferenceKey(settingId: Int) = "DEVICE_SETTING_${settingId}"
+
+    companion object {
+        const val TAG = "DeviceDetailsFormatter"
+    }
+}
diff --git a/src/com/android/settings/bluetooth/ui/view/DeviceDetailsMoreSettingsFragment.kt b/src/com/android/settings/bluetooth/ui/view/DeviceDetailsMoreSettingsFragment.kt
new file mode 100644
index 0000000..c0fbd4f
--- /dev/null
+++ b/src/com/android/settings/bluetooth/ui/view/DeviceDetailsMoreSettingsFragment.kt
@@ -0,0 +1,150 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.bluetooth.ui.view
+
+import android.bluetooth.BluetoothDevice
+import android.bluetooth.BluetoothManager
+import android.content.Context
+import android.graphics.PorterDuff
+import android.os.Bundle
+import android.view.Menu
+import android.view.MenuItem
+import androidx.lifecycle.lifecycleScope
+import com.android.settings.R
+import com.android.settings.bluetooth.BluetoothDetailsProfilesController
+import com.android.settings.bluetooth.Utils
+import com.android.settings.bluetooth.ui.model.DeviceSettingPreferenceModel
+import com.android.settings.bluetooth.ui.model.FragmentTypeModel
+import com.android.settings.dashboard.DashboardFragment
+import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
+import com.android.settingslib.bluetooth.CachedBluetoothDevice
+import com.android.settingslib.bluetooth.LocalBluetoothManager
+import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingIcon
+import com.android.settingslib.core.AbstractPreferenceController
+import com.android.settingslib.core.lifecycle.LifecycleObserver
+import kotlinx.coroutines.flow.SharingStarted
+import kotlinx.coroutines.flow.StateFlow
+import kotlinx.coroutines.flow.filterNotNull
+import kotlinx.coroutines.flow.stateIn
+import kotlinx.coroutines.launch
+
+class DeviceDetailsMoreSettingsFragment : DashboardFragment() {
+    private lateinit var formatter: DeviceDetailsFragmentFormatter
+    private lateinit var localBluetoothManager: LocalBluetoothManager
+    private lateinit var cachedDevice: CachedBluetoothDevice
+    private lateinit var helpItem: StateFlow<DeviceSettingPreferenceModel.HelpPreference?>
+
+    // TODO(b/343317785): add metrics category
+    override fun getMetricsCategory(): Int = 0
+
+    override fun onPrepareOptionsMenu(menu: Menu) {
+        super.onPrepareOptionsMenu(menu)
+        lifecycleScope.launch {
+            helpItem.filterNotNull().collect { item ->
+                val iconRes = item.icon as? DeviceSettingIcon.ResourceIcon ?: return@collect
+                val item: MenuItem =
+                    menu.add(0, MENU_HELP_ITEM_ID, 0, R.string.bluetooth_device_tip_support)
+                item.setIcon(iconRes.resId)
+                item.icon?.setColorFilter(
+                    resources.getColor(
+                        com.android.settingslib.widget.theme.R.color
+                            .settingslib_materialColorOnSurface
+                    ),
+                    PorterDuff.Mode.SRC_ATOP,
+                )
+                item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS)
+            }
+        }
+    }
+
+    override fun onOptionsItemSelected(menuItem: MenuItem): Boolean {
+        if (menuItem.itemId == MENU_HELP_ITEM_ID) {
+            helpItem.value?.let { it.onClick() }
+            return true
+        }
+        return super.onOptionsItemSelected(menuItem)
+    }
+
+    override fun getPreferenceScreenResId(): Int {
+        return R.xml.bluetooth_device_more_settings_fragment
+    }
+
+    override fun addPreferenceController(controller: AbstractPreferenceController) {
+        val keys: List<String>? =
+            formatter.getVisiblePreferenceKeys(FragmentTypeModel.DeviceDetailsMoreSettingsFragment)
+        val lifecycle = settingsLifecycle
+        if (keys == null || keys.contains(controller.preferenceKey)) {
+            super.addPreferenceController(controller)
+        } else if (controller is LifecycleObserver) {
+            lifecycle.removeObserver((controller as LifecycleObserver))
+        }
+    }
+
+    private fun getCachedDevice(): CachedBluetoothDevice? {
+        val bluetoothAddress = arguments?.getString(KEY_DEVICE_ADDRESS) ?: return null
+        localBluetoothManager = Utils.getLocalBtManager(context) ?: return null
+        val remoteDevice: BluetoothDevice =
+            localBluetoothManager.bluetoothAdapter.getRemoteDevice(bluetoothAddress) ?: return null
+        return Utils.getLocalBtManager(context).cachedDeviceManager.findDevice(remoteDevice)
+    }
+
+    override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
+        super.onCreatePreferences(savedInstanceState, rootKey)
+        formatter.updateLayout(FragmentTypeModel.DeviceDetailsMoreSettingsFragment)
+    }
+
+    override fun createPreferenceControllers(context: Context): List<AbstractPreferenceController> {
+        val bluetoothManager = context.getSystemService(BluetoothManager::class.java)
+        cachedDevice =
+            getCachedDevice()
+                ?: run {
+                    finish()
+                    return emptyList()
+                }
+        formatter =
+            featureFactory.bluetoothFeatureProvider.getDeviceDetailsFragmentFormatter(
+                requireContext(),
+                this,
+                bluetoothManager.adapter,
+                cachedDevice,
+            )
+        helpItem =
+            formatter
+                .getMenuItem(FragmentTypeModel.DeviceDetailsMoreSettingsFragment)
+                .stateIn(lifecycleScope, SharingStarted.WhileSubscribed(), initialValue = null)
+        return listOf(
+            BluetoothDetailsProfilesController(
+                context,
+                this,
+                localBluetoothManager,
+                cachedDevice,
+                settingsLifecycle,
+                formatter.getInvisibleBluetoothProfiles(
+                    FragmentTypeModel.DeviceDetailsMoreSettingsFragment
+                ),
+            )
+        )
+    }
+
+    override fun getLogTag(): String = TAG
+
+    companion object {
+        const val TAG: String = "DeviceMoreSettingsFrg"
+        const val KEY_DEVICE_ADDRESS: String = "device_address"
+        const val MENU_HELP_ITEM_ID = Menu.FIRST
+    }
+}
diff --git a/src/com/android/settings/bluetooth/ui/viewmodel/BluetoothDeviceDetailsViewModel.kt b/src/com/android/settings/bluetooth/ui/viewmodel/BluetoothDeviceDetailsViewModel.kt
new file mode 100644
index 0000000..1071adc
--- /dev/null
+++ b/src/com/android/settings/bluetooth/ui/viewmodel/BluetoothDeviceDetailsViewModel.kt
@@ -0,0 +1,199 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.bluetooth.ui.viewmodel
+
+import android.app.Application
+import androidx.lifecycle.AndroidViewModel
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.viewModelScope
+import com.android.settings.R
+import com.android.settings.bluetooth.domain.interactor.SpatialAudioInteractor
+import com.android.settings.bluetooth.ui.layout.DeviceSettingLayout
+import com.android.settings.bluetooth.ui.layout.DeviceSettingLayoutRow
+import com.android.settings.bluetooth.ui.model.DeviceSettingPreferenceModel
+import com.android.settings.bluetooth.ui.model.FragmentTypeModel
+import com.android.settingslib.bluetooth.CachedBluetoothDevice
+import com.android.settingslib.bluetooth.devicesettings.DeviceSettingId
+import com.android.settingslib.bluetooth.devicesettings.data.repository.DeviceSettingRepository
+import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingConfigItemModel
+import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingIcon
+import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingModel
+import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingStateModel
+import kotlin.coroutines.CoroutineContext
+import kotlinx.coroutines.CoroutineStart
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.async
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.SharingStarted
+import kotlinx.coroutines.flow.combine
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.stateIn
+
+class BluetoothDeviceDetailsViewModel(
+    private val application: Application,
+    private val deviceSettingRepository: DeviceSettingRepository,
+    private val spatialAudioInteractor: SpatialAudioInteractor,
+    private val cachedDevice: CachedBluetoothDevice,
+    backgroundCoroutineContext: CoroutineContext,
+) : AndroidViewModel(application){
+
+    private val items =
+        viewModelScope.async(backgroundCoroutineContext, start = CoroutineStart.LAZY) {
+            deviceSettingRepository.getDeviceSettingsConfig(cachedDevice)
+        }
+
+    suspend fun getItems(fragment: FragmentTypeModel): List<DeviceSettingConfigItemModel>? =
+        when (fragment) {
+            is FragmentTypeModel.DeviceDetailsMainFragment -> items.await()?.mainItems
+            is FragmentTypeModel.DeviceDetailsMoreSettingsFragment ->
+                items.await()?.moreSettingsItems
+        }
+
+    suspend fun getHelpItem(fragment: FragmentTypeModel): DeviceSettingConfigItemModel? =
+        when (fragment) {
+            is FragmentTypeModel.DeviceDetailsMainFragment -> null
+            is FragmentTypeModel.DeviceDetailsMoreSettingsFragment ->
+                items.await()?.moreSettingsHelpItem
+        }
+
+    fun getDeviceSetting(
+        cachedDevice: CachedBluetoothDevice,
+        @DeviceSettingId settingId: Int
+    ): Flow<DeviceSettingPreferenceModel?> {
+        if (settingId == DeviceSettingId.DEVICE_SETTING_ID_MORE_SETTINGS) {
+            return flowOf(DeviceSettingPreferenceModel.MoreSettingsPreference(settingId))
+        }
+        return when (settingId) {
+            DeviceSettingId.DEVICE_SETTING_ID_SPATIAL_AUDIO_MULTI_TOGGLE ->
+                spatialAudioInteractor.getDeviceSetting(cachedDevice)
+            else -> deviceSettingRepository.getDeviceSetting(cachedDevice, settingId)
+        }.map { it?.toPreferenceModel() }
+    }
+
+    private fun DeviceSettingModel.toPreferenceModel(): DeviceSettingPreferenceModel? {
+        return when (this) {
+            is DeviceSettingModel.ActionSwitchPreference -> {
+                if (switchState != null) {
+                    DeviceSettingPreferenceModel.SwitchPreference(
+                        id = id,
+                        title = title,
+                        summary = summary,
+                        icon = icon,
+                        checked = switchState?.checked ?: false,
+                        onCheckedChange = { newState ->
+                            updateState?.invoke(
+                                DeviceSettingStateModel.ActionSwitchPreferenceState(newState))
+                        },
+                        onPrimaryClick = { intent?.let { application.startActivity(it) } })
+                } else {
+                    DeviceSettingPreferenceModel.PlainPreference(
+                        id = id,
+                        title = title,
+                        summary = summary,
+                        icon = icon,
+                        onClick = { intent?.let { application.startActivity(it) } })
+                }
+            }
+            is DeviceSettingModel.FooterPreference ->
+                DeviceSettingPreferenceModel.FooterPreference(id = id, footerText = footerText)
+            is DeviceSettingModel.HelpPreference ->
+                DeviceSettingPreferenceModel.HelpPreference(
+                    id = id,
+                    icon = DeviceSettingIcon.ResourceIcon(R.drawable.ic_help),
+                    onClick = {
+                        application.startActivity(intent)
+                    })
+            is DeviceSettingModel.MultiTogglePreference ->
+                DeviceSettingPreferenceModel.MultiTogglePreference(
+                    id = id,
+                    title = title,
+                    toggles = toggles,
+                    isActive = isActive,
+                    selectedIndex = state.selectedIndex,
+                    isAllowedChangingState = isAllowedChangingState,
+                    onSelectedChange = { newState ->
+                        updateState(DeviceSettingStateModel.MultiTogglePreferenceState(newState))
+                    })
+            is DeviceSettingModel.Unknown -> null
+        }
+    }
+
+    suspend fun getLayout(fragment: FragmentTypeModel): DeviceSettingLayout? {
+        val configItems = getItems(fragment) ?: return null
+        val idToDeviceSetting =
+            configItems
+                .filterIsInstance<DeviceSettingConfigItemModel.AppProvidedItem>()
+                .associateBy({ it.settingId }, { getDeviceSetting(cachedDevice, it.settingId) })
+
+        val configDeviceSetting =
+            configItems.map { idToDeviceSetting[it.settingId] ?: flowOf(null) }
+        val positionToSettingIds =
+            combine(configDeviceSetting) { settings ->
+                    val positionMapping = mutableMapOf<Int, List<Int>>()
+                    var multiToggleSettingIds: MutableList<Int>? = null
+                    for (i in settings.indices) {
+                        val configItem = configItems[i]
+                        val setting = settings[i]
+                        val isXmlPreference = configItem is DeviceSettingConfigItemModel.BuiltinItem
+                        if (!isXmlPreference && setting == null) {
+                            continue
+                        }
+                        if (setting !is DeviceSettingPreferenceModel.MultiTogglePreference) {
+                            multiToggleSettingIds = null
+                            positionMapping[i] = listOf(configItem.settingId)
+                            continue
+                        }
+
+                        if (multiToggleSettingIds != null) {
+                            multiToggleSettingIds.add(setting.id)
+                        } else {
+                            multiToggleSettingIds = mutableListOf(setting.id)
+                            positionMapping[i] = multiToggleSettingIds
+                        }
+                    }
+                    positionMapping
+                }
+                .stateIn(viewModelScope, SharingStarted.WhileSubscribed(), initialValue = mapOf())
+        return DeviceSettingLayout(
+            configItems.indices.map { idx ->
+                DeviceSettingLayoutRow(positionToSettingIds.map { it[idx] ?: emptyList() })
+            })
+    }
+
+    class Factory(
+        private val application: Application,
+        private val deviceSettingRepository: DeviceSettingRepository,
+        private val spatialAudioInteractor: SpatialAudioInteractor,
+        private val cachedDevice: CachedBluetoothDevice,
+        private val backgroundCoroutineContext: CoroutineContext,
+    ) : ViewModelProvider.Factory {
+        override fun <T : ViewModel> create(modelClass: Class<T>): T {
+            @Suppress("UNCHECKED_CAST")
+            return BluetoothDeviceDetailsViewModel(
+                application, deviceSettingRepository, spatialAudioInteractor,
+                cachedDevice,
+                backgroundCoroutineContext)
+                as T
+        }
+    }
+
+    companion object {
+        private const val TAG = "BluetoothDeviceDetailsViewModel"
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupController.java b/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupController.java
index 420fb97..c67995a 100644
--- a/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupController.java
+++ b/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupController.java
@@ -45,7 +45,6 @@
 import com.android.settings.bluetooth.BluetoothDeviceUpdater;
 import com.android.settings.bluetooth.Utils;
 import com.android.settings.connecteddevice.audiosharing.AudioSharingDialogHandler;
-import com.android.settings.connecteddevice.audiosharing.AudioSharingUtils;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.overlay.FeatureFactory;
@@ -180,7 +179,7 @@
         super(context, KEY);
         mBtManager = Utils.getLocalBtManager(mContext);
         mExecutor = Executors.newSingleThreadExecutor();
-        if (AudioSharingUtils.isFeatureEnabled()) {
+        if (BluetoothUtils.isAudioSharingEnabled()) {
             mBroadcast =
                     mBtManager == null
                             ? null
@@ -201,7 +200,7 @@
             Log.d(TAG, "onStart() Bluetooth is not supported on this device");
             return;
         }
-        if (AudioSharingUtils.isFeatureEnabled()) {
+        if (BluetoothUtils.isAudioSharingEnabled()) {
             registerAudioSharingCallbacks();
         }
         mBtManager.getEventManager().registerCallback(this);
@@ -217,7 +216,7 @@
             Log.d(TAG, "onStop() Bluetooth is not supported on this device");
             return;
         }
-        if (AudioSharingUtils.isFeatureEnabled()) {
+        if (BluetoothUtils.isAudioSharingEnabled()) {
             unregisterAudioSharingCallbacks();
         }
         if (mBluetoothDeviceUpdater != null) {
@@ -279,7 +278,7 @@
     public void onDeviceClick(Preference preference) {
         final CachedBluetoothDevice cachedDevice =
                 ((BluetoothDevicePreference) preference).getBluetoothDevice();
-        if (AudioSharingUtils.isFeatureEnabled() && mDialogHandler != null) {
+        if (BluetoothUtils.isAudioSharingEnabled() && mDialogHandler != null) {
             mDialogHandler.handleDeviceConnected(cachedDevice, /* userTriggered= */ true);
             FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                     .action(mContext, SettingsEnums.ACTION_MEDIA_DEVICE_CLICK);
@@ -295,7 +294,7 @@
                         fragment.getContext(),
                         AvailableMediaDeviceGroupController.this,
                         fragment.getMetricsCategory());
-        if (AudioSharingUtils.isFeatureEnabled()) {
+        if (BluetoothUtils.isAudioSharingEnabled()) {
             mDialogHandler = new AudioSharingDialogHandler(mContext, fragment);
         }
     }
@@ -342,8 +341,8 @@
                             if (isAudioModeOngoingCall(mContext)) {
                                 // in phone call
                                 titleResId = R.string.connected_device_call_device_title;
-                            } else if (AudioSharingUtils.isFeatureEnabled()
-                                    && AudioSharingUtils.isBroadcasting(mBtManager)) {
+                            } else if (BluetoothUtils.isAudioSharingEnabled()
+                                    && BluetoothUtils.isBroadcasting(mBtManager)) {
                                 // without phone call, in audio sharing
                                 titleResId = R.string.audio_sharing_media_device_group_title;
                             } else {
diff --git a/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java b/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java
index 27001d6..37b7186 100644
--- a/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java
+++ b/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java
@@ -18,7 +18,6 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.net.Uri;
-import android.provider.DeviceConfig;
 import android.text.TextUtils;
 import android.util.Log;
 
@@ -28,13 +27,12 @@
 import com.android.settings.SettingsActivity;
 import com.android.settings.Utils;
 import com.android.settings.connecteddevice.audiosharing.AudioSharingDevicePreferenceController;
-import com.android.settings.connecteddevice.audiosharing.AudioSharingUtils;
-import com.android.settings.core.SettingsUIDeviceConfig;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.overlay.SurveyFeatureProvider;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.slices.SlicePreferenceController;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.HearingAidStatsLogUtils;
 import com.android.settingslib.search.SearchIndexable;
 
@@ -71,11 +69,6 @@
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
-        final boolean nearbyEnabled =
-                DeviceConfig.getBoolean(
-                        DeviceConfig.NAMESPACE_SETTINGS_UI,
-                        SettingsUIDeviceConfig.BT_NEAR_BY_SUGGESTION_ENABLED,
-                        true);
         String callingAppPackageName =
                 ((SettingsActivity) getActivity()).getInitialCallingPackage();
         String action = getIntent() != null ? getIntent().getAction() : "";
@@ -87,17 +80,14 @@
                             + ", action : "
                             + action);
         }
-        if (AudioSharingUtils.isFeatureEnabled()) {
+        if (BluetoothUtils.isAudioSharingEnabled()) {
             use(AudioSharingDevicePreferenceController.class).init(this);
         }
         use(AvailableMediaDeviceGroupController.class).init(this);
         use(ConnectedDeviceGroupController.class).init(this);
         use(PreviouslyConnectedDevicePreferenceController.class).init(this);
         use(SlicePreferenceController.class)
-                .setSliceUri(
-                        nearbyEnabled
-                                ? Uri.parse(getString(R.string.config_nearby_devices_slice_uri))
-                                : null);
+                .setSliceUri(Uri.parse(getString(R.string.config_nearby_devices_slice_uri)));
         use(DiscoverableFooterPreferenceController.class)
                 .setAlwaysDiscoverable(isAlwaysDiscoverable(callingAppPackageName, action));
 
diff --git a/src/com/android/settings/connecteddevice/ConnectedDeviceGroupController.java b/src/com/android/settings/connecteddevice/ConnectedDeviceGroupController.java
index 56a3005..2548b95 100644
--- a/src/com/android/settings/connecteddevice/ConnectedDeviceGroupController.java
+++ b/src/com/android/settings/connecteddevice/ConnectedDeviceGroupController.java
@@ -15,6 +15,8 @@
  */
 package com.android.settings.connecteddevice;
 
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isExternalDisplaySettingsPageEnabled;
+
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.hardware.input.InputManager;
@@ -22,6 +24,8 @@
 import android.util.Log;
 import android.view.InputDevice;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceGroup;
@@ -31,12 +35,15 @@
 import com.android.settings.bluetooth.BluetoothDeviceUpdater;
 import com.android.settings.bluetooth.ConnectedBluetoothDeviceUpdater;
 import com.android.settings.bluetooth.Utils;
+import com.android.settings.connecteddevice.display.ExternalDisplayUpdater;
 import com.android.settings.connecteddevice.dock.DockUpdater;
 import com.android.settings.connecteddevice.stylus.StylusDeviceUpdater;
 import com.android.settings.connecteddevice.usb.ConnectedUsbDeviceUpdater;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.flags.FeatureFlags;
+import com.android.settings.flags.FeatureFlagsImpl;
 import com.android.settings.flags.Flags;
 import com.android.settings.overlay.DockUpdaterFeatureProvider;
 import com.android.settings.overlay.FeatureFactory;
@@ -64,6 +71,8 @@
 
     @VisibleForTesting
     PreferenceGroup mPreferenceGroup;
+    @Nullable
+    private ExternalDisplayUpdater mExternalDisplayUpdater;
     private BluetoothDeviceUpdater mBluetoothDeviceUpdater;
     private ConnectedUsbDeviceUpdater mConnectedUsbDeviceUpdater;
     private DockUpdater mConnectedDockUpdater;
@@ -71,6 +80,8 @@
     private final PackageManager mPackageManager;
     private final InputManager mInputManager;
     private final LocalBluetoothManager mLocalBluetoothManager;
+    @NonNull
+    private final FeatureFlags mFeatureFlags = new FeatureFlagsImpl();
 
     public ConnectedDeviceGroupController(Context context) {
         super(context, KEY);
@@ -81,6 +92,10 @@
 
     @Override
     public void onStart() {
+        if (mExternalDisplayUpdater != null) {
+            mExternalDisplayUpdater.registerCallback();
+        }
+
         if (mBluetoothDeviceUpdater != null) {
             mBluetoothDeviceUpdater.registerCallback();
             mBluetoothDeviceUpdater.refreshPreference();
@@ -101,6 +116,10 @@
 
     @Override
     public void onStop() {
+        if (mExternalDisplayUpdater != null) {
+            mExternalDisplayUpdater.unregisterCallback();
+        }
+
         if (mBluetoothDeviceUpdater != null) {
             mBluetoothDeviceUpdater.unregisterCallback();
         }
@@ -127,6 +146,10 @@
 
         if (isAvailable()) {
             final Context context = screen.getContext();
+            if (mExternalDisplayUpdater != null) {
+                mExternalDisplayUpdater.initPreference(context);
+            }
+
             if (mBluetoothDeviceUpdater != null) {
                 mBluetoothDeviceUpdater.setPrefContext(context);
                 mBluetoothDeviceUpdater.forceUpdate();
@@ -150,7 +173,8 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return (hasBluetoothFeature()
+        return (hasExternalDisplayFeature()
+                || hasBluetoothFeature()
                 || hasUsbFeature()
                 || hasUsiStylusFeature()
                 || mConnectedDockUpdater != null)
@@ -180,11 +204,13 @@
     }
 
     @VisibleForTesting
-    void init(BluetoothDeviceUpdater bluetoothDeviceUpdater,
+    void init(@Nullable ExternalDisplayUpdater externalDisplayUpdater,
+            BluetoothDeviceUpdater bluetoothDeviceUpdater,
             ConnectedUsbDeviceUpdater connectedUsbDeviceUpdater,
             DockUpdater connectedDockUpdater,
             StylusDeviceUpdater connectedStylusDeviceUpdater) {
 
+        mExternalDisplayUpdater = externalDisplayUpdater;
         mBluetoothDeviceUpdater = bluetoothDeviceUpdater;
         mConnectedUsbDeviceUpdater = connectedUsbDeviceUpdater;
         mConnectedDockUpdater = connectedDockUpdater;
@@ -197,7 +223,10 @@
                 FeatureFactory.getFeatureFactory().getDockUpdaterFeatureProvider();
         final DockUpdater connectedDockUpdater =
                 dockUpdaterFeatureProvider.getConnectedDockUpdater(context, this);
-        init(hasBluetoothFeature()
+        init(hasExternalDisplayFeature()
+                        ? new ExternalDisplayUpdater(this, fragment.getMetricsCategory())
+                        : null,
+                hasBluetoothFeature()
                         ? new ConnectedBluetoothDeviceUpdater(context, this,
                         fragment.getMetricsCategory())
                         : null,
@@ -210,6 +239,19 @@
                         : null);
     }
 
+    /**
+     * @return trunk stable feature flags.
+     */
+    @VisibleForTesting
+    @NonNull
+    public FeatureFlags getFeatureFlags() {
+        return mFeatureFlags;
+    }
+
+    private boolean hasExternalDisplayFeature() {
+        return isExternalDisplaySettingsPageEnabled(getFeatureFlags());
+    }
+
     private boolean hasBluetoothFeature() {
         return mPackageManager.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH);
     }
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingActivity.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingActivity.java
index 1ec53f9..08b21a1 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingActivity.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingActivity.java
@@ -19,12 +19,13 @@
 import android.os.Bundle;
 
 import com.android.settings.SettingsActivity;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 
 public class AudioSharingActivity extends SettingsActivity {
     @Override
     protected void onCreate(Bundle savedState) {
         super.onCreate(savedState);
-        if (!AudioSharingUtils.isFeatureEnabled()) {
+        if (!BluetoothUtils.isAudioSharingEnabled()) {
             finish();
         }
     }
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingBasePreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingBasePreferenceController.java
index e933e41..96c5d45 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingBasePreferenceController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingBasePreferenceController.java
@@ -29,6 +29,7 @@
 
 import com.android.settings.bluetooth.Utils;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
@@ -54,7 +55,7 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AudioSharingUtils.isFeatureEnabled() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+        return BluetoothUtils.isAudioSharingEnabled() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 
     @Override
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingBluetoothDeviceUpdater.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingBluetoothDeviceUpdater.java
index 4d7e699..60a8a13 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingBluetoothDeviceUpdater.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingBluetoothDeviceUpdater.java
@@ -21,6 +21,7 @@
 import android.util.Log;
 
 import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 
 import com.android.settings.bluetooth.BluetoothDeviceUpdater;
@@ -35,7 +36,8 @@
 
     private static final String TAG = "AudioSharingBluetoothDeviceUpdater";
 
-    private static final String PREF_KEY = "audio_sharing_bt";
+    @VisibleForTesting
+    static final String PREF_KEY_PREFIX = "audio_sharing_bt_";
 
     @Nullable private LocalBluetoothManager mLocalBtManager;
 
@@ -53,7 +55,7 @@
         if (isDeviceConnected(cachedDevice) && isDeviceInCachedDevicesList(cachedDevice)) {
             // If device is LE audio device and has a broadcast source,
             // it would show in audio sharing devices group.
-            if (AudioSharingUtils.isFeatureEnabled()
+            if (BluetoothUtils.isAudioSharingEnabled()
                     && cachedDevice.isConnectedLeAudioDevice()
                     && BluetoothUtils.hasConnectedBroadcastSource(cachedDevice, mLocalBtManager)) {
                 isFilterMatched = true;
@@ -76,8 +78,8 @@
     }
 
     @Override
-    protected String getPreferenceKey() {
-        return PREF_KEY;
+    protected String getPreferenceKeyPrefix() {
+        return PREF_KEY_PREFIX;
     }
 
     @Override
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCallAudioDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCallAudioDialogFragment.java
index 75b4acf..fa9f94d 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCallAudioDialogFragment.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCallAudioDialogFragment.java
@@ -19,6 +19,7 @@
 import android.app.Dialog;
 import android.app.settings.SettingsEnums;
 import android.os.Bundle;
+import android.util.Log;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
@@ -28,6 +29,7 @@
 
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 
 import java.util.List;
 
@@ -35,6 +37,7 @@
 public class AudioSharingCallAudioDialogFragment extends InstrumentedDialogFragment {
     private static final String TAG = "CallsAndAlarmsDialog";
     private static final String BUNDLE_KEY_DEVICE_ITEMS = "bundle_key_device_items";
+    private static final String BUNDLE_KEY_CHECKED_ITEM_INDEX = "bundle_key_checked_index";
 
     // The host creates an instance of this dialog fragment must implement this interface to receive
     // event callbacks.
@@ -64,13 +67,21 @@
     public static void show(
             @NonNull Fragment host,
             @NonNull List<AudioSharingDeviceItem> deviceItems,
+            int checkedItemIndex,
             @NonNull DialogEventListener listener) {
-        if (!AudioSharingUtils.isFeatureEnabled()) return;
-        final FragmentManager manager = host.getChildFragmentManager();
+        if (!BluetoothUtils.isAudioSharingEnabled()) return;
+        final FragmentManager manager;
+        try {
+            manager = host.getChildFragmentManager();
+        } catch (IllegalStateException e) {
+            Log.d(TAG, "Fail to show dialog: " + e.getMessage());
+            return;
+        }
         sListener = listener;
         if (manager.findFragmentByTag(TAG) == null) {
             final Bundle bundle = new Bundle();
             bundle.putParcelableList(BUNDLE_KEY_DEVICE_ITEMS, deviceItems);
+            bundle.putInt(BUNDLE_KEY_CHECKED_ITEM_INDEX, checkedItemIndex);
             final AudioSharingCallAudioDialogFragment dialog =
                     new AudioSharingCallAudioDialogFragment();
             dialog.setArguments(bundle);
@@ -79,30 +90,29 @@
     }
 
     @Override
+    @NonNull
     public Dialog onCreateDialog(Bundle savedInstanceState) {
         Bundle arguments = requireArguments();
         List<AudioSharingDeviceItem> deviceItems =
                 arguments.getParcelable(BUNDLE_KEY_DEVICE_ITEMS, List.class);
-        int checkedItem = -1;
-        for (AudioSharingDeviceItem item : deviceItems) {
-            int fallbackActiveGroupId = AudioSharingUtils.getFallbackActiveGroupId(getContext());
-            if (item.getGroupId() == fallbackActiveGroupId) {
-                checkedItem = deviceItems.indexOf(item);
-            }
+        int checkedItemIndex = arguments.getInt(BUNDLE_KEY_CHECKED_ITEM_INDEX, -1);
+        AlertDialog.Builder builder =
+                new AlertDialog.Builder(getActivity())
+                        .setTitle(R.string.audio_sharing_call_audio_title);
+        if (deviceItems == null) {
+            Log.d(TAG, "Create dialog error: null deviceItems");
+            return builder.create();
         }
         String[] choices =
                 deviceItems.stream().map(AudioSharingDeviceItem::getName).toArray(String[]::new);
-        AlertDialog.Builder builder =
-                new AlertDialog.Builder(getActivity())
-                        .setTitle(R.string.audio_sharing_call_audio_title)
-                        .setSingleChoiceItems(
-                                choices,
-                                checkedItem,
-                                (dialog, which) -> {
-                                    if (sListener != null) {
-                                        sListener.onItemClick(deviceItems.get(which));
-                                    }
-                                });
+        builder.setSingleChoiceItems(
+                choices,
+                checkedItemIndex,
+                (dialog, which) -> {
+                    if (sListener != null) {
+                        sListener.onItemClick(deviceItems.get(which));
+                    }
+                });
         return builder.create();
     }
 }
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCallAudioPreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCallAudioPreferenceController.java
index 6ba7183..168fce5 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCallAudioPreferenceController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCallAudioPreferenceController.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.connecteddevice.audiosharing;
 
-import static com.android.settings.connecteddevice.audiosharing.AudioSharingUtils.SETTINGS_KEY_FALLBACK_DEVICE_GROUP_ID;
-
 import android.app.settings.SettingsEnums;
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothCsipSetCoordinator;
@@ -68,7 +66,7 @@
 /** PreferenceController to control the dialog to choose the active device for calls and alarms */
 public class AudioSharingCallAudioPreferenceController extends AudioSharingBasePreferenceController
         implements BluetoothCallback {
-    private static final String TAG = "CallsAndAlarmsPreferenceController";
+    private static final String TAG = "CallAudioPrefController";
     private static final String PREF_KEY = "calls_and_alarms";
 
     @VisibleForTesting
@@ -87,7 +85,7 @@
     private final ContentObserver mSettingsObserver;
     private final MetricsFeatureProvider mMetricsFeatureProvider;
     @Nullable private Fragment mFragment;
-    Map<Integer, List<CachedBluetoothDevice>> mGroupedConnectedDevices = new HashMap<>();
+    Map<Integer, List<BluetoothDevice>> mGroupedConnectedDevices = new HashMap<>();
     private List<AudioSharingDeviceItem> mDeviceItemsInSharingSession = new ArrayList<>();
     private final AtomicBoolean mCallbacksRegistered = new AtomicBoolean(false);
 
@@ -197,24 +195,27 @@
                         }
                         updateDeviceItemsInSharingSession();
                         if (!mDeviceItemsInSharingSession.isEmpty()) {
+                            int checkedItemIndex = getActiveItemIndex(mDeviceItemsInSharingSession);
                             AudioSharingCallAudioDialogFragment.show(
                                     mFragment,
                                     mDeviceItemsInSharingSession,
+                                    checkedItemIndex,
                                     (AudioSharingDeviceItem item) -> {
                                         int currentGroupId =
-                                                AudioSharingUtils.getFallbackActiveGroupId(
-                                                        mContext);
+                                                BluetoothUtils.getPrimaryGroupIdForBroadcast(
+                                                        mContext.getContentResolver());
                                         if (item.getGroupId() == currentGroupId) {
                                             Log.d(
                                                     TAG,
                                                     "Skip set fallback active device: unchanged");
                                             return;
                                         }
-                                        List<CachedBluetoothDevice> devices =
+                                        List<BluetoothDevice> devices =
                                                 mGroupedConnectedDevices.getOrDefault(
                                                         item.getGroupId(), ImmutableList.of());
                                         CachedBluetoothDevice lead =
-                                                AudioSharingUtils.getLeadDevice(devices);
+                                                AudioSharingUtils.getLeadDevice(
+                                                        mCacheManager, devices);
                                         if (lead != null) {
                                             Log.d(
                                                     TAG,
@@ -300,7 +301,7 @@
             Log.d(TAG, "registerCallbacks()");
             mEventManager.registerCallback(this);
             mContentResolver.registerContentObserver(
-                    Settings.Secure.getUriFor(SETTINGS_KEY_FALLBACK_DEVICE_GROUP_ID),
+                    Settings.Secure.getUriFor(BluetoothUtils.getPrimaryGroupIdUriForBroadcast()),
                     false,
                     mSettingsObserver);
             mAssistant.registerServiceCallBack(mExecutor, mBroadcastAssistantCallback);
@@ -347,7 +348,8 @@
      */
     private void updateSummary() {
         updateDeviceItemsInSharingSession();
-        int fallbackActiveGroupId = AudioSharingUtils.getFallbackActiveGroupId(mContext);
+        int fallbackActiveGroupId =
+                BluetoothUtils.getPrimaryGroupIdForBroadcast(mContext.getContentResolver());
         if (fallbackActiveGroupId != BluetoothCsipSetCoordinator.GROUP_ID_INVALID) {
             for (AudioSharingDeviceItem item : mDeviceItemsInSharingSession) {
                 if (item.getGroupId() == fallbackActiveGroupId) {
@@ -386,6 +388,18 @@
                         mBtManager, mGroupedConnectedDevices, /* filterByInSharing= */ true);
     }
 
+    private int getActiveItemIndex(List<AudioSharingDeviceItem> deviceItems) {
+        int checkedItemIndex = -1;
+        int fallbackActiveGroupId =
+                BluetoothUtils.getPrimaryGroupIdForBroadcast(mContext.getContentResolver());
+        for (AudioSharingDeviceItem item : deviceItems) {
+            if (item.getGroupId() == fallbackActiveGroupId) {
+                return deviceItems.indexOf(item);
+            }
+        }
+        return checkedItemIndex;
+    }
+
     @VisibleForTesting
     void logCallAudioDeviceChange(int currentGroupId, CachedBluetoothDevice target) {
         var unused =
@@ -393,7 +407,7 @@
                         () -> {
                             ChangeCallAudioType type = ChangeCallAudioType.UNKNOWN;
                             if (mCacheManager != null) {
-                                int targetDeviceGroupId = AudioSharingUtils.getGroupId(target);
+                                int targetDeviceGroupId = BluetoothUtils.getGroupId(target);
                                 List<BluetoothDevice> mostRecentDevices =
                                         BluetoothAdapter.getDefaultAdapter()
                                                 .getMostRecentlyConnectedDevices();
@@ -405,7 +419,7 @@
                                             mCacheManager.findDevice(device);
                                     int groupId =
                                             cachedDevice != null
-                                                    ? AudioSharingUtils.getGroupId(cachedDevice)
+                                                    ? BluetoothUtils.getGroupId(cachedDevice)
                                                     : BluetoothCsipSetCoordinator.GROUP_ID_INVALID;
                                     if (groupId != BluetoothCsipSetCoordinator.GROUP_ID_INVALID) {
                                         if (groupId == targetDeviceGroupId) {
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCompatibilityPreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCompatibilityPreferenceController.java
index 42a9038..52df1d3 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCompatibilityPreferenceController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCompatibilityPreferenceController.java
@@ -34,6 +34,7 @@
 import com.android.settings.bluetooth.Utils;
 import com.android.settings.core.TogglePreferenceController;
 import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
@@ -154,7 +155,7 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AudioSharingUtils.isFeatureEnabled() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+        return BluetoothUtils.isAudioSharingEnabled() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 
     @Override
@@ -242,7 +243,7 @@
         var unused =
                 ThreadUtils.postOnBackgroundThread(
                         () -> {
-                            boolean isBroadcasting = AudioSharingUtils.isBroadcasting(mBtManager);
+                            boolean isBroadcasting = BluetoothUtils.isBroadcasting(mBtManager);
                             AudioSharingUtils.postOnMainThread(
                                     mContext,
                                     () -> {
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingConfirmDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingConfirmDialogFragment.java
index e9013d7..3750cf1 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingConfirmDialogFragment.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingConfirmDialogFragment.java
@@ -21,6 +21,7 @@
 import android.os.Bundle;
 import android.util.Log;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.Fragment;
@@ -28,6 +29,7 @@
 
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 
 public class AudioSharingConfirmDialogFragment extends InstrumentedDialogFragment {
     private static final String TAG = "AudioSharingConfirmDialog";
@@ -43,8 +45,14 @@
      * @param host The Fragment this dialog will be hosted.
      */
     public static void show(Fragment host) {
-        if (!AudioSharingUtils.isFeatureEnabled()) return;
-        FragmentManager manager = host.getChildFragmentManager();
+        if (!BluetoothUtils.isAudioSharingEnabled()) return;
+        final FragmentManager manager;
+        try {
+            manager = host.getChildFragmentManager();
+        } catch (IllegalStateException e) {
+            Log.d(TAG, "Fail to show dialog: " + e.getMessage());
+            return;
+        }
         AlertDialog dialog = AudioSharingDialogHelper.getDialogIfShowing(manager, TAG);
         if (dialog != null) {
             Log.d(TAG, "Dialog is showing, return.");
@@ -56,6 +64,7 @@
     }
 
     @Override
+    @NonNull
     public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
         AlertDialog dialog =
                 AudioSharingDialogFactory.newBuilder(getActivity())
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceController.java
index b932a7e..8b4c7f2 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceController.java
@@ -18,6 +18,7 @@
 
 import static com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast.EXTRA_BLUETOOTH_DEVICE;
 
+import android.app.settings.SettingsEnums;
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothDevice;
 import android.bluetooth.BluetoothLeBroadcastAssistant;
@@ -44,6 +45,7 @@
 import com.android.settings.connecteddevice.DevicePreferenceCallback;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.bluetooth.A2dpProfile;
 import com.android.settingslib.bluetooth.BluetoothCallback;
 import com.android.settingslib.bluetooth.BluetoothEventManager;
@@ -56,6 +58,8 @@
 import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+import com.android.settingslib.utils.ThreadUtils;
 
 import java.util.Locale;
 import java.util.concurrent.Executor;
@@ -80,6 +84,7 @@
     @Nullable private final LocalBluetoothProfileManager mProfileManager;
     @Nullable private final LocalBluetoothLeBroadcastAssistant mAssistant;
     private final Executor mExecutor;
+    private final MetricsFeatureProvider mMetricsFeatureProvider;
     @Nullable private PreferenceGroup mPreferenceGroup;
     @Nullable private Preference mAudioSharingSettingsPreference;
     @Nullable private BluetoothDeviceUpdater mBluetoothDeviceUpdater;
@@ -114,6 +119,10 @@
                         @NonNull BluetoothDevice sink,
                         @NonNull BluetoothLeBroadcastMetadata source,
                         int reason) {
+                    mMetricsFeatureProvider.action(
+                            mContext,
+                            SettingsEnums.ACTION_AUDIO_SHARING_JOIN_FAILED,
+                            SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY);
                     AudioSharingUtils.toastMessage(
                             mContext,
                             String.format(
@@ -143,6 +152,10 @@
                 @Override
                 public void onSourceRemoveFailed(
                         @NonNull BluetoothDevice sink, int sourceId, int reason) {
+                    mMetricsFeatureProvider.action(
+                            mContext,
+                            SettingsEnums.ACTION_AUDIO_SHARING_LEAVE_FAILED,
+                            SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY);
                     AudioSharingUtils.toastMessage(
                             mContext,
                             String.format(
@@ -183,6 +196,7 @@
                         ? null
                         : mProfileManager.getLeAudioBroadcastAssistantProfile();
         mExecutor = Executors.newSingleThreadExecutor();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
@@ -274,7 +288,8 @@
             if (AudioSharingUtils.isAudioSharingProfileReady(mProfileManager)) {
                 if (!mIntentHandled.get()) {
                     Log.d(TAG, "displayPreference: profile ready, handleDeviceClickFromIntent");
-                    handleDeviceClickFromIntent();
+                    var unused =
+                            ThreadUtils.postOnBackgroundThread(() -> handleDeviceClickFromIntent());
                     mIntentHandled.set(true);
                 }
             }
@@ -283,7 +298,7 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AudioSharingUtils.isFeatureEnabled() && mBluetoothDeviceUpdater != null
+        return BluetoothUtils.isAudioSharingEnabled() && mBluetoothDeviceUpdater != null
                 ? AVAILABLE_UNSEARCHABLE
                 : UNSUPPORTED_ON_DEVICE;
     }
@@ -424,7 +439,7 @@
     }
 
     private boolean isMediaDevice(CachedBluetoothDevice cachedDevice) {
-        return cachedDevice.getConnectableProfiles().stream()
+        return cachedDevice.getUiAccessibleProfiles().stream()
                 .anyMatch(
                         profile ->
                                 profile instanceof A2dpProfile
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeControlUpdater.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeControlUpdater.java
index 660229d..548d17c 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeControlUpdater.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeControlUpdater.java
@@ -16,15 +16,12 @@
 
 package com.android.settings.connecteddevice.audiosharing;
 
-import android.app.settings.SettingsEnums;
-import android.bluetooth.BluetoothCsipSetCoordinator;
 import android.bluetooth.BluetoothDevice;
 import android.content.Context;
-import android.media.AudioManager;
 import android.util.Log;
-import android.widget.SeekBar;
 
 import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 
 import com.android.settings.bluetooth.BluetoothDevicePreference;
@@ -39,9 +36,10 @@
 public class AudioSharingDeviceVolumeControlUpdater extends BluetoothDeviceUpdater
         implements Preference.OnPreferenceClickListener {
 
-    private static final String TAG = "AudioSharingDeviceVolumeControlUpdater";
+    private static final String TAG = "AudioSharingVolUpdater";
 
-    private static final String PREF_KEY = "audio_sharing_volume_control";
+    @VisibleForTesting
+    static final String PREF_KEY_PREFIX = "audio_sharing_volume_control_";
 
     @Nullable private final LocalBluetoothManager mBtManager;
     @Nullable private final VolumeControlProfile mVolumeControl;
@@ -65,7 +63,7 @@
             // If device is LE audio device and in a sharing session on current sharing device,
             // it would show in volume control group.
             if (cachedDevice.isConnectedLeAudioDevice()
-                    && AudioSharingUtils.isBroadcasting(mBtManager)
+                    && BluetoothUtils.isBroadcasting(mBtManager)
                     && BluetoothUtils.hasConnectedBroadcastSource(cachedDevice, mBtManager)) {
                 isFilterMatched = true;
             }
@@ -89,37 +87,10 @@
         if (cachedDevice == null) return;
         final BluetoothDevice device = cachedDevice.getDevice();
         if (!mPreferenceMap.containsKey(device)) {
-            SeekBar.OnSeekBarChangeListener listener =
-                    new SeekBar.OnSeekBarChangeListener() {
-                        @Override
-                        public void onProgressChanged(
-                                SeekBar seekBar, int progress, boolean fromUser) {}
-
-                        @Override
-                        public void onStartTrackingTouch(SeekBar seekBar) {}
-
-                        @Override
-                        public void onStopTrackingTouch(SeekBar seekBar) {
-                            int progress = seekBar.getProgress();
-                            int groupId = AudioSharingUtils.getGroupId(cachedDevice);
-                            if (groupId != BluetoothCsipSetCoordinator.GROUP_ID_INVALID
-                                    && groupId
-                                            == AudioSharingUtils.getFallbackActiveGroupId(
-                                                    mContext)) {
-                                // Set media stream volume for primary buds, audio manager will
-                                // update all buds volume in the audio sharing.
-                                setAudioManagerStreamVolume(progress);
-                            } else {
-                                // Set buds volume for other buds.
-                                setDeviceVolume(cachedDevice, progress);
-                            }
-                        }
-                    };
             AudioSharingDeviceVolumePreference vPreference =
                     new AudioSharingDeviceVolumePreference(mPrefContext, cachedDevice);
             vPreference.initialize();
-            vPreference.setOnSeekBarChangeListener(listener);
-            vPreference.setKey(getPreferenceKey());
+            vPreference.setKey(getPreferenceKeyPrefix() + cachedDevice.hashCode());
             vPreference.setIcon(com.android.settingslib.R.drawable.ic_bt_untethered_earbuds);
             vPreference.setTitle(cachedDevice.getName());
             mPreferenceMap.put(device, vPreference);
@@ -128,8 +99,8 @@
     }
 
     @Override
-    protected String getPreferenceKey() {
-        return PREF_KEY;
+    protected String getPreferenceKeyPrefix() {
+        return PREF_KEY_PREFIX;
     }
 
     @Override
@@ -152,35 +123,4 @@
 
     @Override
     public void refreshPreference() {}
-
-    private void setDeviceVolume(CachedBluetoothDevice cachedDevice, int progress) {
-        if (mVolumeControl != null) {
-            mVolumeControl.setDeviceVolume(
-                    cachedDevice.getDevice(), progress, /* isGroupOp= */ true);
-            mMetricsFeatureProvider.action(
-                    mContext,
-                    SettingsEnums.ACTION_AUDIO_SHARING_CHANGE_MEDIA_DEVICE_VOLUME,
-                    /* isPrimary= */ false);
-        }
-    }
-
-    private void setAudioManagerStreamVolume(int progress) {
-        int seekbarRange =
-                AudioSharingDeviceVolumePreference.MAX_VOLUME
-                        - AudioSharingDeviceVolumePreference.MIN_VOLUME;
-        try {
-            AudioManager audioManager = mContext.getSystemService(AudioManager.class);
-            int streamVolumeRange =
-                    audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC)
-                            - audioManager.getStreamMinVolume(AudioManager.STREAM_MUSIC);
-            int volume = Math.round((float) progress * streamVolumeRange / seekbarRange);
-            audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, volume, 0);
-            mMetricsFeatureProvider.action(
-                    mContext,
-                    SettingsEnums.ACTION_AUDIO_SHARING_CHANGE_MEDIA_DEVICE_VOLUME,
-                    /* isPrimary= */ true);
-        } catch (RuntimeException e) {
-            Log.e(TAG, "Fail to setAudioManagerStreamVolumeForFallbackDevice, error = " + e);
-        }
-    }
 }
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeGroupController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeGroupController.java
index ee2ba7b..42de10a 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeGroupController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeGroupController.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.connecteddevice.audiosharing;
 
-import static com.android.settings.connecteddevice.audiosharing.AudioSharingUtils.SETTINGS_KEY_FALLBACK_DEVICE_GROUP_ID;
-
 import android.annotation.IntRange;
 import android.bluetooth.BluetoothCsipSetCoordinator;
 import android.bluetooth.BluetoothDevice;
@@ -63,7 +61,7 @@
 
 public class AudioSharingDeviceVolumeGroupController extends AudioSharingBasePreferenceController
         implements DevicePreferenceCallback {
-    private static final String TAG = "AudioSharingDeviceVolumeGroupController";
+    private static final String TAG = "AudioSharingVolCtlr";
     private static final String KEY = "audio_sharing_device_volume_group";
 
     @Nullable private final LocalBluetoothManager mBtManager;
@@ -91,11 +89,11 @@
                                     ? null
                                     : mBtManager.getCachedDeviceManager().findDevice(device);
                     if (cachedDevice == null) return;
-                    int groupId = AudioSharingUtils.getGroupId(cachedDevice);
+                    int groupId = BluetoothUtils.getGroupId(cachedDevice);
                     mValueMap.put(groupId, volume);
                     for (AudioSharingDeviceVolumePreference preference : mVolumePreferences) {
                         if (preference.getCachedDevice() != null
-                                && AudioSharingUtils.getGroupId(preference.getCachedDevice())
+                                && BluetoothUtils.getGroupId(preference.getCachedDevice())
                                         == groupId) {
                             // If the callback return invalid volume, try to
                             // get the volume from AudioManager.STREAM_MUSIC
@@ -256,7 +254,7 @@
             volumePref.setOrder(getPreferenceOrderForDevice(cachedDevice));
             mVolumePreferences.add(volumePref);
             if (volumePref.getProgress() > 0) return;
-            int volume = mValueMap.getOrDefault(AudioSharingUtils.getGroupId(cachedDevice), -1);
+            int volume = mValueMap.getOrDefault(BluetoothUtils.getGroupId(cachedDevice), -1);
             // If the volume is invalid, try to get the volume from AudioManager.STREAM_MUSIC
             int finalVolume = getAudioVolumeIfNeeded(volume);
             Log.d(
@@ -369,7 +367,7 @@
             mVolumeControl.registerCallback(mExecutor, mVolumeControlCallback);
             mBluetoothDeviceUpdater.registerCallback();
             mContentResolver.registerContentObserver(
-                    Settings.Secure.getUriFor(SETTINGS_KEY_FALLBACK_DEVICE_GROUP_ID),
+                    Settings.Secure.getUriFor(BluetoothUtils.getPrimaryGroupIdUriForBroadcast()),
                     false,
                     mSettingsObserver);
             mCallbacksRegistered.set(true);
@@ -415,10 +413,10 @@
     }
 
     private int getPreferenceOrderForDevice(@NonNull CachedBluetoothDevice cachedDevice) {
-        int groupId = AudioSharingUtils.getGroupId(cachedDevice);
+        int groupId = BluetoothUtils.getGroupId(cachedDevice);
         // The fallback device rank first among the audio sharing device list.
         return (groupId != BluetoothCsipSetCoordinator.GROUP_ID_INVALID
-                        && groupId == AudioSharingUtils.getFallbackActiveGroupId(mContext))
+                && groupId == BluetoothUtils.getPrimaryGroupIdForBroadcast(mContentResolver))
                 ? 0
                 : 1;
     }
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumePreference.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumePreference.java
index 01afc02..816ec6e 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumePreference.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumePreference.java
@@ -16,27 +16,46 @@
 
 package com.android.settings.connecteddevice.audiosharing;
 
+import android.app.settings.SettingsEnums;
+import android.bluetooth.BluetoothCsipSetCoordinator;
+import android.bluetooth.BluetoothDevice;
 import android.content.Context;
+import android.media.AudioManager;
+import android.util.Log;
 import android.widget.SeekBar;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
 import com.android.settings.R;
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.widget.SeekBarPreference;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.bluetooth.VolumeControlProfile;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+import com.android.settingslib.utils.ThreadUtils;
 
 public class AudioSharingDeviceVolumePreference extends SeekBarPreference {
+    private static final String TAG = "AudioSharingVolPref";
+
     public static final int MIN_VOLUME = 0;
     public static final int MAX_VOLUME = 255;
 
+    private final Context mContext;
     private final CachedBluetoothDevice mCachedDevice;
     @Nullable protected SeekBar mSeekBar;
+    private Boolean mTrackingTouch = false;
+    private MetricsFeatureProvider mMetricsFeatureProvider =
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
     public AudioSharingDeviceVolumePreference(
             Context context, @NonNull CachedBluetoothDevice device) {
         super(context);
         setLayoutResource(R.layout.preference_volume_slider);
+        mContext = context;
         mCachedDevice = device;
     }
 
@@ -54,4 +73,95 @@
         setMax(MAX_VOLUME);
         setMin(MIN_VOLUME);
     }
+
+    @Override
+    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
+        super.onProgressChanged(seekBar, progress, fromUser);
+        // When user use talk back swipe up/down or use Switch Access to change the volume bar
+        // progress, there is no onStopTrackingTouch triggered. So we need to check this scenario
+        // and update the device volume here.
+        if (fromUser && !mTrackingTouch) {
+            Log.d(TAG, "onProgressChanged from user and not in touch, handleProgressChange.");
+            handleProgressChange(progress);
+        }
+    }
+
+    @Override
+    public void onStartTrackingTouch(SeekBar seekBar) {
+        mTrackingTouch = true;
+        super.onStartTrackingTouch(seekBar);
+    }
+
+    @Override
+    public void onStopTrackingTouch(SeekBar seekBar) {
+        mTrackingTouch = false;
+        super.onStopTrackingTouch(seekBar);
+        // When user touch the volume bar to change volume, we only update the device volume when
+        // user stop touching the bar.
+        Log.d(TAG, "onStopTrackingTouch, handleProgressChange.");
+        handleProgressChange(seekBar.getProgress());
+    }
+
+    private void handleProgressChange(int progress) {
+        var unused =
+                ThreadUtils.postOnBackgroundThread(
+                        () -> {
+                            int groupId = BluetoothUtils.getGroupId(mCachedDevice);
+                            if (groupId != BluetoothCsipSetCoordinator.GROUP_ID_INVALID
+                                    && groupId
+                                            == BluetoothUtils.getPrimaryGroupIdForBroadcast(
+                                                    mContext.getContentResolver())) {
+                                // Set media stream volume for primary buds, audio manager will
+                                // update all buds volume in the audio sharing.
+                                setAudioManagerStreamVolume(progress);
+                            } else {
+                                // Set buds volume for other buds.
+                                setDeviceVolume(mCachedDevice.getDevice(), progress);
+                            }
+                        });
+    }
+
+    private void setDeviceVolume(@Nullable BluetoothDevice device, int progress) {
+        if (device == null) {
+            Log.d(TAG, "Skip set device volume, device is null");
+            return;
+        }
+        LocalBluetoothManager btManager = Utils.getLocalBtManager(mContext);
+        VolumeControlProfile vc =
+                btManager == null ? null : btManager.getProfileManager().getVolumeControlProfile();
+        if (vc != null) {
+            vc.setDeviceVolume(device, progress, /* isGroupOp= */ true);
+            mMetricsFeatureProvider.action(
+                    mContext,
+                    SettingsEnums.ACTION_AUDIO_SHARING_CHANGE_MEDIA_DEVICE_VOLUME,
+                    /* isPrimary= */ false);
+            Log.d(
+                    TAG,
+                    "set device volume, device = "
+                            + device.getAnonymizedAddress()
+                            + " volume = "
+                            + progress);
+        }
+    }
+
+    private void setAudioManagerStreamVolume(int progress) {
+        int seekbarRange =
+                AudioSharingDeviceVolumePreference.MAX_VOLUME
+                        - AudioSharingDeviceVolumePreference.MIN_VOLUME;
+        try {
+            AudioManager audioManager = mContext.getSystemService(AudioManager.class);
+            int streamVolumeRange =
+                    audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC)
+                            - audioManager.getStreamMinVolume(AudioManager.STREAM_MUSIC);
+            int volume = Math.round((float) progress * streamVolumeRange / seekbarRange);
+            audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, volume, 0);
+            mMetricsFeatureProvider.action(
+                    mContext,
+                    SettingsEnums.ACTION_AUDIO_SHARING_CHANGE_MEDIA_DEVICE_VOLUME,
+                    /* isPrimary= */ true);
+            Log.d(TAG, "set music stream volume, volume = " + progress);
+        } catch (RuntimeException e) {
+            Log.e(TAG, "Fail to setAudioManagerStreamVolumeForFallbackDevice, error = " + e);
+        }
+    }
 }
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragment.java
index e787be3..1ae541c 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragment.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragment.java
@@ -30,7 +30,11 @@
 import androidx.fragment.app.FragmentManager;
 
 import com.android.settings.R;
+import com.android.settings.bluetooth.BluetoothPairingDetail;
+import com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsQrCodeFragment;
+import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 
 import com.google.common.collect.Iterables;
 
@@ -76,8 +80,14 @@
             @NonNull List<AudioSharingDeviceItem> deviceItems,
             @NonNull DialogEventListener listener,
             @NonNull Pair<Integer, Object>[] eventData) {
-        if (!AudioSharingUtils.isFeatureEnabled()) return;
-        final FragmentManager manager = host.getChildFragmentManager();
+        if (!BluetoothUtils.isAudioSharingEnabled()) return;
+        final FragmentManager manager;
+        try {
+            manager = host.getChildFragmentManager();
+        } catch (IllegalStateException e) {
+            Log.d(TAG, "Fail to show dialog: " + e.getMessage());
+            return;
+        }
         sListener = listener;
         sEventData = eventData;
         AlertDialog dialog = AudioSharingDialogHelper.getDialogIfShowing(manager, TAG);
@@ -123,9 +133,27 @@
             builder.setTitle(R.string.audio_sharing_share_dialog_title)
                     .setCustomImage(R.drawable.audio_sharing_guidance)
                     .setCustomMessage(R.string.audio_sharing_dialog_connect_device_content)
-                    .setNegativeButton(
-                            R.string.audio_sharing_close_button_label,
-                            (dig, which) -> onCancelClick());
+                    .setCustomPositiveButton(
+                            R.string.audio_sharing_pair_button_label,
+                            v -> {
+                                dismiss();
+                                new SubSettingLauncher(getContext())
+                                        .setDestination(BluetoothPairingDetail.class.getName())
+                                        .setSourceMetricsCategory(getMetricsCategory())
+                                        .launch();
+                                logDialogPositiveBtnClick();
+                            })
+                    .setCustomNegativeButton(
+                            R.string.audio_sharing_qrcode_button_label,
+                            v -> {
+                                dismiss();
+                                new SubSettingLauncher(getContext())
+                                        .setTitleRes(R.string.audio_streams_qr_code_page_title)
+                                        .setDestination(AudioStreamsQrCodeFragment.class.getName())
+                                        .setSourceMetricsCategory(getMetricsCategory())
+                                        .launch();
+                                logDialogNegativeBtnClick();
+                            });
         } else if (deviceItems.size() == 1) {
             AudioSharingDeviceItem deviceItem = Iterables.getOnlyElement(deviceItems);
             builder.setTitle(
@@ -138,11 +166,7 @@
                             v -> {
                                 if (sListener != null) {
                                     sListener.onItemClick(deviceItem);
-                                    mMetricsFeatureProvider.action(
-                                            getContext(),
-                                            SettingsEnums
-                                            .ACTION_AUDIO_SHARING_DIALOG_POSITIVE_BTN_CLICKED,
-                                            sEventData);
+                                    logDialogPositiveBtnClick();
                                 }
                                 dismiss();
                             })
@@ -158,6 +182,7 @@
                                     (AudioSharingDeviceItem item) -> {
                                         if (sListener != null) {
                                             sListener.onItemClick(item);
+                                            logDialogPositiveBtnClick();
                                         }
                                         dismiss();
                                     },
@@ -171,11 +196,22 @@
     private void onCancelClick() {
         if (sListener != null) {
             sListener.onCancelClick();
-            mMetricsFeatureProvider.action(
-                    getContext(),
-                    SettingsEnums.ACTION_AUDIO_SHARING_DIALOG_NEGATIVE_BTN_CLICKED,
-                    sEventData);
+            logDialogNegativeBtnClick();
         }
         dismiss();
     }
+
+    private void logDialogPositiveBtnClick() {
+        mMetricsFeatureProvider.action(
+                getContext(),
+                SettingsEnums.ACTION_AUDIO_SHARING_DIALOG_POSITIVE_BTN_CLICKED,
+                sEventData);
+    }
+
+    private void logDialogNegativeBtnClick() {
+        mMetricsFeatureProvider.action(
+                getContext(),
+                SettingsEnums.ACTION_AUDIO_SHARING_DIALOG_NEGATIVE_BTN_CLICKED,
+                sEventData);
+    }
 }
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHandler.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHandler.java
index 8d69cf6..396144a 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHandler.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHandler.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.connecteddevice.audiosharing;
 
+import static com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast.EXTRA_START_LE_AUDIO_SHARING;
+
 import android.app.settings.SettingsEnums;
 import android.bluetooth.BluetoothCsipSetCoordinator;
 import android.bluetooth.BluetoothDevice;
@@ -23,6 +25,8 @@
 import android.bluetooth.BluetoothLeBroadcastMetadata;
 import android.bluetooth.BluetoothLeBroadcastReceiveState;
 import android.content.Context;
+import android.media.AudioManager;
+import android.os.Bundle;
 import android.util.Log;
 import android.util.Pair;
 
@@ -32,12 +36,14 @@
 import androidx.fragment.app.DialogFragment;
 import androidx.fragment.app.Fragment;
 
+import com.android.settings.R;
 import com.android.settings.bluetooth.Utils;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
 import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
 import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
@@ -49,18 +55,19 @@
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
-import java.util.Objects;
 import java.util.concurrent.Executor;
 
 public class AudioSharingDialogHandler {
-    private static final String TAG = "AudioSharingDialogHandler";
+    private static final String TAG = "AudioSharingDlgHandler";
     private final Context mContext;
     private final Fragment mHostFragment;
     @Nullable private final LocalBluetoothManager mLocalBtManager;
+    @Nullable private final CachedBluetoothDeviceManager mDeviceManager;
     @Nullable private final LocalBluetoothLeBroadcast mBroadcast;
     @Nullable private final LocalBluetoothLeBroadcastAssistant mAssistant;
+    @Nullable private final AudioManager mAudioManager;
     private final MetricsFeatureProvider mMetricsFeatureProvider;
-    private List<BluetoothDevice> mTargetSinks = new ArrayList<>();
+    private boolean mIsStoppingBroadcast = false;
 
     @VisibleForTesting
     final BluetoothLeBroadcast.Callback mBroadcastCallback =
@@ -78,8 +85,6 @@
                 @Override
                 public void onBroadcastStartFailed(int reason) {
                     Log.d(TAG, "onBroadcastStartFailed(), reason = " + reason);
-                    AudioSharingUtils.toastMessage(
-                            mContext, "Fail to start broadcast, reason " + reason);
                 }
 
                 @Override
@@ -101,13 +106,24 @@
                                     + reason
                                     + ", broadcastId = "
                                     + broadcastId);
+                    AudioSharingUtils.toastMessage(
+                            mContext,
+                            mContext.getString(R.string.audio_sharing_sharing_stopped_label));
+                    mIsStoppingBroadcast = false;
                 }
 
                 @Override
                 public void onBroadcastStopFailed(int reason) {
                     Log.d(TAG, "onBroadcastStopFailed(), reason = " + reason);
-                    AudioSharingUtils.toastMessage(
-                            mContext, "Fail to stop broadcast, reason " + reason);
+                    if (mIsStoppingBroadcast) {
+                        mMetricsFeatureProvider.action(
+                                mContext,
+                                SettingsEnums.ACTION_AUDIO_SHARING_STOP_FAILED,
+                                SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY);
+                        AudioSharingUtils.toastMessage(
+                                mContext, "Fail to stop broadcast, reason " + reason);
+                        mIsStoppingBroadcast = false;
+                    }
                 }
 
                 @Override
@@ -124,18 +140,6 @@
                                     + reason
                                     + ", broadcastId = "
                                     + broadcastId);
-                    if (!mTargetSinks.isEmpty()) {
-                        AudioSharingUtils.addSourceToTargetSinks(mTargetSinks, mLocalBtManager);
-                        new SubSettingLauncher(mContext)
-                                .setDestination(AudioSharingDashboardFragment.class.getName())
-                                .setSourceMetricsCategory(
-                                        (mHostFragment instanceof DashboardFragment)
-                                                ? ((DashboardFragment) mHostFragment)
-                                                        .getMetricsCategory()
-                                                : SettingsEnums.PAGE_UNKNOWN)
-                                .launch();
-                        mTargetSinks = new ArrayList<>();
-                    }
                 }
 
                 @Override
@@ -146,6 +150,7 @@
         mContext = context;
         mHostFragment = fragment;
         mLocalBtManager = Utils.getLocalBluetoothManager(context);
+        mDeviceManager = mLocalBtManager != null ? mLocalBtManager.getCachedDeviceManager() : null;
         mBroadcast =
                 mLocalBtManager != null
                         ? mLocalBtManager.getProfileManager().getLeAudioBroadcastProfile()
@@ -154,6 +159,7 @@
                 mLocalBtManager != null
                         ? mLocalBtManager.getProfileManager().getLeAudioBroadcastAssistantProfile()
                         : null;
+        mAudioManager = context.getSystemService(AudioManager.class);
         mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
@@ -175,6 +181,22 @@
     public void handleDeviceConnected(
             @NonNull CachedBluetoothDevice cachedDevice, boolean userTriggered) {
         String anonymizedAddress = cachedDevice.getDevice().getAnonymizedAddress();
+        if (mAudioManager != null) {
+            int audioMode = mAudioManager.getMode();
+            if (audioMode == AudioManager.MODE_RINGTONE
+                    || audioMode == AudioManager.MODE_IN_CALL
+                    || audioMode == AudioManager.MODE_IN_COMMUNICATION) {
+                Log.d(TAG, "Skip handleDeviceConnected, audio mode = " + audioMode);
+                // TODO: add metric for this case
+                if (userTriggered) {
+                    // If this method is called with user triggered, e.g. manual click on the
+                    // "Connected devices" page, we need call setActive for the device, since user
+                    // intend to switch active device for the call.
+                    cachedDevice.setActive();
+                }
+                return;
+            }
+        }
         boolean isBroadcasting = isBroadcasting();
         boolean isLeAudioSupported = AudioSharingUtils.isLeAudioSupported(cachedDevice);
         if (!isLeAudioSupported) {
@@ -195,7 +217,7 @@
         if (isBroadcasting) {
             // Show stop audio sharing dialog when an ineligible (non LE audio) remote device
             // connected during a sharing session.
-            Map<Integer, List<CachedBluetoothDevice>> groupedDevices =
+            Map<Integer, List<BluetoothDevice>> groupedDevices =
                     AudioSharingUtils.fetchConnectedDevicesByGroupId(mLocalBtManager);
             List<AudioSharingDeviceItem> deviceItemsInSharingSession =
                     AudioSharingUtils.buildOrderedConnectedLeadAudioSharingDeviceItem(
@@ -203,6 +225,7 @@
             AudioSharingStopDialogFragment.DialogEventListener listener =
                     () -> {
                         cachedDevice.setActive();
+                        mIsStoppingBroadcast = true;
                         AudioSharingUtils.stopBroadcasting(mLocalBtManager);
                     };
             Pair<Integer, Object>[] eventData =
@@ -238,25 +261,27 @@
             @NonNull CachedBluetoothDevice cachedDevice,
             boolean isBroadcasting,
             boolean userTriggered) {
-        Map<Integer, List<CachedBluetoothDevice>> groupedDevices =
+        Map<Integer, List<BluetoothDevice>> groupedDevices =
                 AudioSharingUtils.fetchConnectedDevicesByGroupId(mLocalBtManager);
+        BluetoothDevice btDevice = cachedDevice.getDevice();
+        String deviceAddress = btDevice == null ? "" : btDevice.getAnonymizedAddress();
+        int groupId = BluetoothUtils.getGroupId(cachedDevice);
         if (isBroadcasting) {
             // If another device within the same is already in the sharing session, add source to
             // the device automatically.
-            int groupId = AudioSharingUtils.getGroupId(cachedDevice);
             if (groupedDevices.containsKey(groupId)
                     && groupedDevices.get(groupId).stream()
                             .anyMatch(
                                     device ->
-                                            BluetoothUtils.hasConnectedBroadcastSource(
+                                            BluetoothUtils.hasConnectedBroadcastSourceForBtDevice(
                                                     device, mLocalBtManager))) {
                 Log.d(
                         TAG,
                         "Automatically add another device within the same group to the sharing: "
-                                + cachedDevice.getDevice().getAnonymizedAddress());
+                                + deviceAddress);
                 if (mAssistant != null && mBroadcast != null) {
                     mAssistant.addSource(
-                            cachedDevice.getDevice(),
+                            btDevice,
                             mBroadcast.getLatestBluetoothLeBroadcastMetadata(),
                             /* isGroupOp= */ false);
                 }
@@ -295,6 +320,7 @@
                                     cachedDevice,
                                     listener,
                                     eventData);
+                            Log.d(TAG, "Show disconnect dialog, device = " + deviceAddress);
                         });
             } else {
                 // Show audio sharing join dialog when the first or second eligible (LE audio)
@@ -325,37 +351,43 @@
                                     cachedDevice,
                                     listener,
                                     eventData);
+                            Log.d(TAG, "Show join dialog, device = " + deviceAddress);
                         });
             }
         } else {
+            // Build a list of AudioSharingDeviceItem for connected devices other than cachedDevice.
             List<AudioSharingDeviceItem> deviceItems = new ArrayList<>();
-            for (List<CachedBluetoothDevice> devices : groupedDevices.values()) {
+            for (Map.Entry<Integer, List<BluetoothDevice>> entry : groupedDevices.entrySet()) {
+                if (entry.getKey() == groupId) continue;
                 // Use random device in the group within the sharing session to represent the group.
-                CachedBluetoothDevice device = devices.get(0);
-                if (AudioSharingUtils.getGroupId(device)
-                        == AudioSharingUtils.getGroupId(cachedDevice)) {
-                    continue;
+                for (BluetoothDevice device : entry.getValue()) {
+                    CachedBluetoothDevice cDevice =
+                            mDeviceManager != null ? mDeviceManager.findDevice(device) : null;
+                    if (cDevice != null) {
+                        deviceItems.add(AudioSharingUtils.buildAudioSharingDeviceItem(cDevice));
+                        break;
+                    }
                 }
-                deviceItems.add(AudioSharingUtils.buildAudioSharingDeviceItem(device));
             }
             // Show audio sharing join dialog when the second eligible (LE audio) remote
             // device connect and no sharing session.
-            if (deviceItems.size() == 1) {
+            if (groupedDevices.size() == 2 && deviceItems.size() == 1) {
                 AudioSharingJoinDialogFragment.DialogEventListener listener =
                         new AudioSharingJoinDialogFragment.DialogEventListener() {
                             @Override
                             public void onShareClick() {
-                                mTargetSinks = new ArrayList<>();
-                                for (List<CachedBluetoothDevice> devices :
-                                        groupedDevices.values()) {
-                                    for (CachedBluetoothDevice device : devices) {
-                                        mTargetSinks.add(device.getDevice());
-                                    }
-                                }
-                                Log.d(TAG, "Start broadcast with sinks = " + mTargetSinks.size());
-                                if (mBroadcast != null) {
-                                    mBroadcast.startPrivateBroadcast();
-                                }
+                                Bundle args = new Bundle();
+                                args.putBoolean(EXTRA_START_LE_AUDIO_SHARING, true);
+                                new SubSettingLauncher(mContext)
+                                        .setDestination(
+                                                AudioSharingDashboardFragment.class.getName())
+                                        .setSourceMetricsCategory(
+                                                (mHostFragment instanceof DashboardFragment)
+                                                        ? ((DashboardFragment) mHostFragment)
+                                                                .getMetricsCategory()
+                                                        : SettingsEnums.PAGE_UNKNOWN)
+                                        .setArguments(args)
+                                        .launch();
                             }
 
                             @Override
@@ -378,16 +410,26 @@
                             closeOpeningDialogsOtherThan(AudioSharingJoinDialogFragment.tag());
                             AudioSharingJoinDialogFragment.show(
                                     mHostFragment, deviceItems, cachedDevice, listener, eventData);
+                            Log.d(TAG, "Show start dialog, device = " + deviceAddress);
                         });
             } else if (userTriggered) {
                 cachedDevice.setActive();
+                Log.d(TAG, "Set active device = " + deviceAddress);
+            } else {
+                Log.d(TAG, "Fail to handle LE audio device connected, device = " + deviceAddress);
             }
         }
     }
 
     private void closeOpeningDialogsOtherThan(String tag) {
         if (mHostFragment == null) return;
-        List<Fragment> fragments = mHostFragment.getChildFragmentManager().getFragments();
+        List<Fragment> fragments;
+        try {
+            fragments = mHostFragment.getChildFragmentManager().getFragments();
+        } catch (IllegalStateException e) {
+            Log.d(TAG, "Fail to closeOpeningDialogsOtherThan " + tag + ": " + e.getMessage());
+            return;
+        }
         for (Fragment fragment : fragments) {
             if (fragment instanceof DialogFragment
                     && fragment.getTag() != null
@@ -402,13 +444,19 @@
     /** Close opening dialogs for le audio device */
     public void closeOpeningDialogsForLeaDevice(@NonNull CachedBluetoothDevice cachedDevice) {
         if (mHostFragment == null) return;
-        int groupId = AudioSharingUtils.getGroupId(cachedDevice);
-        List<Fragment> fragments = mHostFragment.getChildFragmentManager().getFragments();
+        int groupId = BluetoothUtils.getGroupId(cachedDevice);
+        List<Fragment> fragments;
+        try {
+            fragments = mHostFragment.getChildFragmentManager().getFragments();
+        } catch (IllegalStateException e) {
+            Log.d(TAG, "Fail to closeOpeningDialogsForLeaDevice: " + e.getMessage());
+            return;
+        }
         for (Fragment fragment : fragments) {
             CachedBluetoothDevice device = getCachedBluetoothDeviceFromDialog(fragment);
             if (device != null
                     && groupId != BluetoothCsipSetCoordinator.GROUP_ID_INVALID
-                    && AudioSharingUtils.getGroupId(device) == groupId) {
+                    && BluetoothUtils.getGroupId(device) == groupId) {
                 Log.d(TAG, "Remove staled opening dialog for group " + groupId);
                 ((DialogFragment) fragment).dismiss();
                 logDialogDismissEvent(fragment);
@@ -420,7 +468,13 @@
     public void closeOpeningDialogsForNonLeaDevice(@NonNull CachedBluetoothDevice cachedDevice) {
         if (mHostFragment == null) return;
         String address = cachedDevice.getAddress();
-        List<Fragment> fragments = mHostFragment.getChildFragmentManager().getFragments();
+        List<Fragment> fragments;
+        try {
+            fragments = mHostFragment.getChildFragmentManager().getFragments();
+        } catch (IllegalStateException e) {
+            Log.d(TAG, "Fail to closeOpeningDialogsForNonLeaDevice: " + e.getMessage());
+            return;
+        }
         for (Fragment fragment : fragments) {
             CachedBluetoothDevice device = getCachedBluetoothDeviceFromDialog(fragment);
             if (device != null && address != null && address.equals(device.getAddress())) {
@@ -448,9 +502,9 @@
     }
 
     private void removeSourceForGroup(
-            int groupId, Map<Integer, List<CachedBluetoothDevice>> groupedDevices) {
+            int groupId, Map<Integer, List<BluetoothDevice>> groupedDevices) {
         if (mAssistant == null) {
-            Log.d(TAG, "Fail to add source due to null profiles, group = " + groupId);
+            Log.d(TAG, "Fail to remove source due to null profiles, group = " + groupId);
             return;
         }
         if (!groupedDevices.containsKey(groupId)) {
@@ -458,8 +512,6 @@
             return;
         }
         groupedDevices.getOrDefault(groupId, ImmutableList.of()).stream()
-                .map(CachedBluetoothDevice::getDevice)
-                .filter(Objects::nonNull)
                 .forEach(
                         device -> {
                             for (BluetoothLeBroadcastReceiveState source :
@@ -470,7 +522,7 @@
     }
 
     private void addSourceForGroup(
-            int groupId, Map<Integer, List<CachedBluetoothDevice>> groupedDevices) {
+            int groupId, Map<Integer, List<BluetoothDevice>> groupedDevices) {
         if (mBroadcast == null || mAssistant == null) {
             Log.d(TAG, "Fail to add source due to null profiles, group = " + groupId);
             return;
@@ -480,8 +532,6 @@
             return;
         }
         groupedDevices.getOrDefault(groupId, ImmutableList.of()).stream()
-                .map(CachedBluetoothDevice::getDevice)
-                .filter(Objects::nonNull)
                 .forEach(
                         device ->
                                 mAssistant.addSource(
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHelper.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHelper.java
index 69001aa..010a3ba 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHelper.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHelper.java
@@ -51,12 +51,13 @@
     public static AlertDialog getDialogIfShowing(
             @NonNull FragmentManager manager, @NonNull String tag) {
         Fragment dialog = manager.findFragmentByTag(tag);
-        return dialog != null
-                        && dialog instanceof DialogFragment
-                        && ((DialogFragment) dialog).getDialog() != null
-                        && ((DialogFragment) dialog).getDialog().isShowing()
-                        && ((DialogFragment) dialog).getDialog() instanceof AlertDialog
+        return dialog instanceof DialogFragment
+                && ((DialogFragment) dialog).getDialog() != null
+                && ((DialogFragment) dialog).getDialog().isShowing()
+                && ((DialogFragment) dialog).getDialog() instanceof AlertDialog
                 ? (AlertDialog) ((DialogFragment) dialog).getDialog()
                 : null;
     }
+
+    private AudioSharingDialogHelper() {}
 }
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragment.java
index dcd8a3b..7d91644 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragment.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragment.java
@@ -32,6 +32,7 @@
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.utils.ThreadUtils;
 
@@ -83,12 +84,18 @@
             @NonNull CachedBluetoothDevice newDevice,
             @NonNull DialogEventListener listener,
             @NonNull Pair<Integer, Object>[] eventData) {
-        if (!AudioSharingUtils.isFeatureEnabled()) return;
-        FragmentManager manager = host.getChildFragmentManager();
+        if (!BluetoothUtils.isAudioSharingEnabled()) return;
+        final FragmentManager manager;
+        try {
+            manager = host.getChildFragmentManager();
+        } catch (IllegalStateException e) {
+            Log.d(TAG, "Fail to show dialog: " + e.getMessage());
+            return;
+        }
         AlertDialog dialog = AudioSharingDialogHelper.getDialogIfShowing(manager, TAG);
         if (dialog != null) {
-            int newGroupId = AudioSharingUtils.getGroupId(newDevice);
-            if (sNewDevice != null && newGroupId == AudioSharingUtils.getGroupId(sNewDevice)) {
+            int newGroupId = BluetoothUtils.getGroupId(newDevice);
+            if (sNewDevice != null && newGroupId == BluetoothUtils.getGroupId(sNewDevice)) {
                 Log.d(
                         TAG,
                         String.format(
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingIncompatibleDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingIncompatibleDialogFragment.java
new file mode 100644
index 0000000..5de615e
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingIncompatibleDialogFragment.java
@@ -0,0 +1,113 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.audiosharing;
+
+import android.app.Dialog;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.bluetooth.BluetoothUtils;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+
+public class AudioSharingIncompatibleDialogFragment extends InstrumentedDialogFragment {
+    private static final String TAG = "AudioSharingIncompatDlg";
+
+    private static final String BUNDLE_KEY_DEVICE_NAME = "bundle_key_device_name";
+
+    // The host creates an instance of this dialog fragment must implement this interface to receive
+    // event callbacks.
+    public interface DialogEventListener {
+        /**
+         * Called when the dialog is dismissed.
+         */
+        void onDialogDismissed();
+    }
+
+    @Nullable
+    private static DialogEventListener sListener;
+
+    @Override
+    public int getMetricsCategory() {
+        // TODO: add metrics
+        return 0;
+    }
+
+    /**
+     * Display the {@link AudioSharingIncompatibleDialogFragment} dialog.
+     *
+     * @param host The Fragment this dialog will be hosted.
+     */
+    public static void show(@Nullable Fragment host, @NonNull CachedBluetoothDevice cachedDevice,
+            @NonNull DialogEventListener listener) {
+        if (host == null || !BluetoothUtils.isAudioSharingEnabled()) return;
+        final FragmentManager manager;
+        try {
+            manager = host.getChildFragmentManager();
+        } catch (IllegalStateException e) {
+            Log.d(TAG, "Fail to show dialog: " + e.getMessage());
+            return;
+        }
+        sListener = listener;
+        AlertDialog dialog = AudioSharingDialogHelper.getDialogIfShowing(manager, TAG);
+        if (dialog != null) {
+            Log.d(TAG, "Dialog is showing, return.");
+            return;
+        }
+        Log.d(TAG, "Show up the incompatible device dialog.");
+        final Bundle bundle = new Bundle();
+        bundle.putString(BUNDLE_KEY_DEVICE_NAME, cachedDevice.getName());
+        AudioSharingIncompatibleDialogFragment dialogFrag =
+                new AudioSharingIncompatibleDialogFragment();
+        dialogFrag.setArguments(bundle);
+        dialogFrag.show(manager, TAG);
+    }
+
+    @Override
+    @NonNull
+    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+        Bundle arguments = requireArguments();
+        String deviceName = arguments.getString(BUNDLE_KEY_DEVICE_NAME);
+        // TODO: move strings to res once they are finalized
+        AlertDialog dialog =
+                AudioSharingDialogFactory.newBuilder(getActivity())
+                        .setTitle("Can't share audio with " + deviceName)
+                        .setTitleIcon(com.android.settings.R.drawable.ic_warning_24dp)
+                        .setIsCustomBodyEnabled(true)
+                        .setCustomMessage(
+                                "Audio sharing only works with headphones that support LE Audio.")
+                        .setPositiveButton(com.android.settings.R.string.okay, (d, w) -> {})
+                        .build();
+        dialog.setCanceledOnTouchOutside(true);
+        return dialog;
+    }
+
+    @Override
+    public void onDismiss(@NonNull DialogInterface dialog) {
+        super.onDismiss(dialog);
+        if (sListener != null) {
+            sListener.onDialogDismissed();
+        }
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragment.java
index ec669bf..ef461eb 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragment.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragment.java
@@ -32,6 +32,7 @@
 import com.android.settings.R;
 import com.android.settings.bluetooth.Utils;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 
 import java.util.List;
@@ -58,7 +59,7 @@
 
     @Override
     public int getMetricsCategory() {
-        return AudioSharingUtils.isBroadcasting(Utils.getLocalBtManager(getContext()))
+        return BluetoothUtils.isBroadcasting(Utils.getLocalBtManager(getContext()))
                 ? SettingsEnums.DIALOG_AUDIO_SHARING_ADD_DEVICE
                 : SettingsEnums.DIALOG_START_AUDIO_SHARING;
     }
@@ -80,8 +81,14 @@
             @NonNull CachedBluetoothDevice newDevice,
             @NonNull DialogEventListener listener,
             @NonNull Pair<Integer, Object>[] eventData) {
-        if (!AudioSharingUtils.isFeatureEnabled()) return;
-        final FragmentManager manager = host.getChildFragmentManager();
+        if (!BluetoothUtils.isAudioSharingEnabled()) return;
+        final FragmentManager manager;
+        try {
+            manager = host.getChildFragmentManager();
+        } catch (IllegalStateException e) {
+            Log.d(TAG, "Fail to show dialog: " + e.getMessage());
+            return;
+        }
         sListener = listener;
         sNewDevice = newDevice;
         sEventData = eventData;
@@ -151,7 +158,11 @@
                                     dismiss();
                                 })
                         .setCustomNegativeButton(
-                                R.string.audio_sharing_no_thanks_button_label,
+                                getMetricsCategory() == SettingsEnums.DIALOG_START_AUDIO_SHARING
+                                        ? getString(
+                                                R.string.audio_sharing_switch_active_button_label,
+                                                newDeviceName)
+                                        : getString(R.string.audio_sharing_no_thanks_button_label),
                                 v -> {
                                     if (sListener != null) {
                                         sListener.onCancelClick();
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingLoadingStateDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingLoadingStateDialogFragment.java
new file mode 100644
index 0000000..b00f407
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingLoadingStateDialogFragment.java
@@ -0,0 +1,138 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.audiosharing;
+
+import android.app.Dialog;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Looper;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+
+import com.android.settings.R;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.bluetooth.BluetoothUtils;
+
+import com.google.common.base.Strings;
+
+import java.util.concurrent.TimeUnit;
+
+public class AudioSharingLoadingStateDialogFragment extends InstrumentedDialogFragment {
+    private static final String TAG = "AudioSharingLoadingDlg";
+
+    private static final String BUNDLE_KEY_MESSAGE = "bundle_key_message";
+    private static final long AUTO_DISMISS_TIME_THRESHOLD_MS = TimeUnit.SECONDS.toMillis(10);
+    private static final int AUTO_DISMISS_MESSAGE_ID = R.id.message;
+
+    private static String sMessage = "";
+    @Nullable
+    private Handler mHandler;
+
+    @Override
+    public int getMetricsCategory() {
+        // TODO: add metrics
+        return 0;
+    }
+
+    /**
+     * Display the {@link AudioSharingLoadingStateDialogFragment} dialog.
+     *
+     * @param host    The Fragment this dialog will be hosted by.
+     * @param message The content to be shown on the dialog.
+     */
+    public static void show(@Nullable Fragment host, @NonNull String message) {
+        if (host == null || !BluetoothUtils.isAudioSharingEnabled()) return;
+        final FragmentManager manager;
+        try {
+            manager = host.getChildFragmentManager();
+        } catch (IllegalStateException e) {
+            Log.d(TAG, "Fail to show dialog: " + e.getMessage());
+            return;
+        }
+        AlertDialog dialog = AudioSharingDialogHelper.getDialogIfShowing(manager, TAG);
+        if (dialog != null) {
+            if (sMessage.equals(message)) {
+                Log.d(TAG, "Dialog is showing with same message, return.");
+                return;
+            } else {
+                Log.d(TAG, "Dialog is showing with different message, dismiss and reshow.");
+                dialog.dismiss();
+            }
+        }
+        sMessage = message;
+        Log.d(TAG, "Show up the loading dialog.");
+        Bundle args = new Bundle();
+        args.putString(BUNDLE_KEY_MESSAGE, message);
+        AudioSharingLoadingStateDialogFragment dialogFrag =
+                new AudioSharingLoadingStateDialogFragment();
+        dialogFrag.setArguments(args);
+        dialogFrag.show(manager, TAG);
+    }
+
+    /** Dismiss the {@link AudioSharingLoadingStateDialogFragment} dialog. */
+    public static void dismiss(@Nullable Fragment host) {
+        if (host == null || !BluetoothUtils.isAudioSharingEnabled()) return;
+        final FragmentManager manager;
+        try {
+            manager = host.getChildFragmentManager();
+        } catch (IllegalStateException e) {
+            Log.d(TAG, "Fail to dismiss dialog: " + e.getMessage());
+            return;
+        }
+        AlertDialog dialog = AudioSharingDialogHelper.getDialogIfShowing(manager, TAG);
+        if (dialog != null) {
+            Log.d(TAG, "Dialog is showing, dismiss.");
+            dialog.dismiss();
+        }
+    }
+
+    @Override
+    @NonNull
+    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+        mHandler = new Handler(Looper.getMainLooper());
+        mHandler.postDelayed(() -> dismiss(), AUTO_DISMISS_MESSAGE_ID,
+                AUTO_DISMISS_TIME_THRESHOLD_MS);
+        Bundle args = requireArguments();
+        String message = args.getString(BUNDLE_KEY_MESSAGE, "");
+        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+        LayoutInflater inflater = LayoutInflater.from(builder.getContext());
+        View customView = inflater.inflate(R.layout.dialog_audio_sharing_loading_state, /* root= */
+                null);
+        TextView textView = customView.findViewById(R.id.message);
+        if (!Strings.isNullOrEmpty(message)) textView.setText(message);
+        AlertDialog dialog = builder.setView(customView).setCancelable(false).create();
+        dialog.setCanceledOnTouchOutside(false);
+        return dialog;
+    }
+
+    @Override
+    public void onDismiss(@NonNull DialogInterface dialog) {
+        super.onDismiss(dialog);
+        if (mHandler != null) {
+            mHandler.removeMessages(AUTO_DISMISS_MESSAGE_ID);
+        }
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreference.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreference.java
index 0bb6b60..0a90e7b 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreference.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreference.java
@@ -92,17 +92,19 @@
         shareButton.setVisibility(View.VISIBLE);
         shareButton.setImageDrawable(getContext().getDrawable(R.drawable.ic_qrcode_24dp));
         shareButton.setOnClickListener(unused -> launchAudioSharingQrCodeFragment());
+        shareButton.setContentDescription(
+                getContext().getString(R.string.audio_sharing_qrcode_button_label));
     }
 
     private void configureInvisibleStateForQrCodeIcon(ImageButton shareButton, View divider) {
-        divider.setVisibility(View.INVISIBLE);
-        shareButton.setVisibility(View.INVISIBLE);
+        divider.setVisibility(View.GONE);
+        shareButton.setVisibility(View.GONE);
         shareButton.setOnClickListener(null);
     }
 
     private void launchAudioSharingQrCodeFragment() {
         new SubSettingLauncher(getContext())
-                .setTitleText(getContext().getString(R.string.audio_streams_qr_code_page_title))
+                .setTitleRes(R.string.audio_streams_qr_code_page_title)
                 .setDestination(AudioStreamsQrCodeFragment.class.getName())
                 .setSourceMetricsCategory(SettingsEnums.AUDIO_SHARING_SETTINGS)
                 .launch();
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceController.java
index 24b8f20..a1a9698 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceController.java
@@ -16,7 +16,7 @@
 
 package com.android.settings.connecteddevice.audiosharing;
 
-import static com.android.settings.connecteddevice.audiosharing.AudioSharingUtils.isBroadcasting;
+import static com.android.settingslib.bluetooth.BluetoothUtils.isBroadcasting;
 
 import android.app.settings.SettingsEnums;
 import android.bluetooth.BluetoothLeBroadcast;
@@ -26,6 +26,7 @@
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
 import androidx.lifecycle.DefaultLifecycleObserver;
 import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.Preference;
@@ -56,7 +57,8 @@
     private static final boolean DEBUG = BluetoothUtils.D;
     private static final String PREF_KEY = "audio_sharing_stream_name";
 
-    private final BluetoothLeBroadcast.Callback mBroadcastCallback =
+    @VisibleForTesting
+    final BluetoothLeBroadcast.Callback mBroadcastCallback =
             new BluetoothLeBroadcast.Callback() {
                 @Override
                 public void onBroadcastMetadataChanged(
@@ -172,7 +174,7 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AudioSharingUtils.isFeatureEnabled() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+        return BluetoothUtils.isAudioSharingEnabled() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 
     @Override
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordPreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordPreferenceController.java
index 258cf3b..9a27a93 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordPreferenceController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordPreferenceController.java
@@ -16,15 +16,22 @@
 
 package com.android.settings.connecteddevice.audiosharing;
 
-import static com.android.settings.connecteddevice.audiosharing.AudioSharingUtils.isBroadcasting;
+import static com.android.settingslib.bluetooth.BluetoothUtils.isBroadcasting;
 
 import android.app.settings.SettingsEnums;
+import android.content.ContentResolver;
 import android.content.Context;
 import android.content.SharedPreferences;
+import android.database.ContentObserver;
+import android.os.Handler;
+import android.os.Looper;
+import android.provider.Settings;
 import android.util.Log;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
+import androidx.lifecycle.DefaultLifecycleObserver;
+import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
@@ -32,6 +39,7 @@
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.widget.ValidatedEditTextPreference;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -41,15 +49,19 @@
 
 public class AudioSharingPasswordPreferenceController extends BasePreferenceController
         implements ValidatedEditTextPreference.Validator,
-                AudioSharingPasswordPreference.OnDialogEventListener {
-
+                AudioSharingPasswordPreference.OnDialogEventListener,
+                DefaultLifecycleObserver {
     private static final String TAG = "AudioSharingPasswordPreferenceController";
     private static final String PREF_KEY = "audio_sharing_stream_password";
     private static final String SHARED_PREF_NAME = "audio_sharing_settings";
     private static final String SHARED_PREF_KEY = "default_password";
+    @Nullable private final ContentResolver mContentResolver;
+    @Nullable private final SharedPreferences mSharedPref;
     @Nullable private final LocalBluetoothManager mBtManager;
     @Nullable private final LocalBluetoothLeBroadcast mBroadcast;
     @Nullable private AudioSharingPasswordPreference mPreference;
+    private final ContentObserver mSettingsObserver;
+    private final SharedPreferences.OnSharedPreferenceChangeListener mSharedPrefChangeListener;
     private final AudioSharingPasswordValidator mAudioSharingPasswordValidator;
     private final MetricsFeatureProvider mMetricsFeatureProvider;
 
@@ -61,12 +73,47 @@
                         ? mBtManager.getProfileManager().getLeAudioBroadcastProfile()
                         : null;
         mAudioSharingPasswordValidator = new AudioSharingPasswordValidator();
+        mContentResolver = context.getContentResolver();
+        mSettingsObserver = new PasswordSettingsObserver();
+        mSharedPref = context.getSharedPreferences(SHARED_PREF_NAME, Context.MODE_PRIVATE);
+        mSharedPrefChangeListener = new PasswordSharedPrefChangeListener();
         mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
+    public void onStart(@NonNull LifecycleOwner owner) {
+        if (!isAvailable()) {
+            Log.d(TAG, "Feature is not available.");
+            return;
+        }
+        if (mContentResolver != null) {
+            mContentResolver.registerContentObserver(
+                    Settings.Secure.getUriFor(Settings.Secure.BLUETOOTH_LE_BROADCAST_CODE),
+                    false,
+                    mSettingsObserver);
+        }
+        if (mSharedPref != null) {
+            mSharedPref.registerOnSharedPreferenceChangeListener(mSharedPrefChangeListener);
+        }
+    }
+
+    @Override
+    public void onStop(@NonNull LifecycleOwner owner) {
+        if (!isAvailable()) {
+            Log.d(TAG, "Feature is not available.");
+            return;
+        }
+        if (mContentResolver != null) {
+            mContentResolver.unregisterContentObserver(mSettingsObserver);
+        }
+        if (mSharedPref != null) {
+            mSharedPref.unregisterOnSharedPreferenceChangeListener(mSharedPrefChangeListener);
+        }
+    }
+
+    @Override
     public int getAvailabilityStatus() {
-        return AudioSharingUtils.isFeatureEnabled() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+        return BluetoothUtils.isAudioSharingEnabled() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 
     @Override
@@ -125,7 +172,6 @@
                             persistDefaultPassword(mContext, password);
                             mBroadcast.setBroadcastCode(
                                     isPublicBroadcast ? new byte[0] : password.getBytes());
-                            updatePreference();
                             mMetricsFeatureProvider.action(
                                     mContext,
                                     SettingsEnums.ACTION_AUDIO_STREAM_PASSWORD_UPDATED,
@@ -164,32 +210,52 @@
                         });
     }
 
-    private static void persistDefaultPassword(Context context, String defaultPassword) {
+    private class PasswordSettingsObserver extends ContentObserver {
+        PasswordSettingsObserver() {
+            super(new Handler(Looper.getMainLooper()));
+        }
+
+        @Override
+        public void onChange(boolean selfChange) {
+            Log.d(TAG, "onChange, broadcast password has been changed");
+            updatePreference();
+        }
+    }
+
+    private class PasswordSharedPrefChangeListener
+            implements SharedPreferences.OnSharedPreferenceChangeListener {
+        @Override
+        public void onSharedPreferenceChanged(
+                SharedPreferences sharedPreferences, @Nullable String key) {
+            if (!SHARED_PREF_KEY.equals(key)) {
+                return;
+            }
+            Log.d(TAG, "onSharedPreferenceChanged, default password has been changed");
+            updatePreference();
+        }
+    }
+
+    private void persistDefaultPassword(Context context, String defaultPassword) {
         if (getDefaultPassword(context).equals(defaultPassword)) {
             return;
         }
-
-        SharedPreferences sharedPref =
-                context.getSharedPreferences(SHARED_PREF_NAME, Context.MODE_PRIVATE);
-        if (sharedPref == null) {
+        if (mSharedPref == null) {
             Log.w(TAG, "persistDefaultPassword(): sharedPref is empty!");
             return;
         }
 
-        SharedPreferences.Editor editor = sharedPref.edit();
+        SharedPreferences.Editor editor = mSharedPref.edit();
         editor.putString(SHARED_PREF_KEY, defaultPassword);
         editor.apply();
     }
 
-    private static String getDefaultPassword(Context context) {
-        SharedPreferences sharedPref =
-                context.getSharedPreferences(SHARED_PREF_NAME, Context.MODE_PRIVATE);
-        if (sharedPref == null) {
+    private String getDefaultPassword(Context context) {
+        if (mSharedPref == null) {
             Log.w(TAG, "getDefaultPassword(): sharedPref is empty!");
             return "";
         }
 
-        String value = sharedPref.getString(SHARED_PREF_KEY, "");
+        String value = mSharedPref.getString(SHARED_PREF_KEY, "");
         if (value != null && value.isEmpty()) {
             Log.w(TAG, "getDefaultPassword(): default password is empty!");
         }
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPlaySoundPreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPlaySoundPreferenceController.java
index 11b195c..59494db 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPlaySoundPreferenceController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPlaySoundPreferenceController.java
@@ -33,6 +33,7 @@
 
 import com.android.settings.R;
 import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class AudioSharingPlaySoundPreferenceController
@@ -56,7 +57,7 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return (mRingtone != null && AudioSharingUtils.isFeatureEnabled())
+        return (mRingtone != null && BluetoothUtils.isAudioSharingEnabled())
                 ? AVAILABLE
                 : UNSUPPORTED_ON_DEVICE;
     }
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPreferenceController.java
index 0244889..3c078ef 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPreferenceController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPreferenceController.java
@@ -34,6 +34,7 @@
 import com.android.settings.core.BasePreferenceController;
 import com.android.settingslib.bluetooth.BluetoothCallback;
 import com.android.settingslib.bluetooth.BluetoothEventManager;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.utils.ThreadUtils;
@@ -134,12 +135,12 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AudioSharingUtils.isFeatureEnabled() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+        return BluetoothUtils.isAudioSharingEnabled() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 
     @Override
     public CharSequence getSummary() {
-        return AudioSharingUtils.isBroadcasting(mBtManager)
+        return BluetoothUtils.isBroadcasting(mBtManager)
                 ? mContext.getString(R.string.audio_sharing_summary_on)
                 : mContext.getString(R.string.audio_sharing_summary_off);
     }
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingReceiver.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingReceiver.java
index 2b976d2..371613f 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingReceiver.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingReceiver.java
@@ -32,6 +32,7 @@
 import com.android.settings.R;
 import com.android.settings.bluetooth.Utils;
 import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -48,7 +49,7 @@
 
     @Override
     public void onReceive(Context context, Intent intent) {
-        if (!AudioSharingUtils.isFeatureEnabled()) {
+        if (!BluetoothUtils.isAudioSharingEnabled()) {
             Log.w(TAG, "Skip handling received intent, flag is off.");
             return;
         }
@@ -80,9 +81,15 @@
                 break;
             case ACTION_LE_AUDIO_SHARING_STOP:
                 LocalBluetoothManager manager = Utils.getLocalBtManager(context);
-                AudioSharingUtils.stopBroadcasting(manager);
-                metricsFeatureProvider.action(
-                        context, SettingsEnums.ACTION_STOP_AUDIO_SHARING_FROM_NOTIFICATION);
+                if (BluetoothUtils.isBroadcasting(manager)) {
+                    AudioSharingUtils.stopBroadcasting(manager);
+                    metricsFeatureProvider.action(
+                            context, SettingsEnums.ACTION_STOP_AUDIO_SHARING_FROM_NOTIFICATION);
+                } else {
+                    cancelSharingNotification(context);
+                    metricsFeatureProvider.action(
+                            context, SettingsEnums.ACTION_CANCEL_AUDIO_SHARING_NOTIFICATION);
+                }
                 break;
             default:
                 Log.w(TAG, "Received unexpected intent " + intent.getAction());
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingRetryDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingRetryDialogFragment.java
new file mode 100644
index 0000000..822e053
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingRetryDialogFragment.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.audiosharing;
+
+import android.app.Dialog;
+import android.os.Bundle;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.bluetooth.BluetoothUtils;
+
+public class AudioSharingRetryDialogFragment extends InstrumentedDialogFragment {
+    private static final String TAG = "AudioSharingRetryDialog";
+
+    @Override
+    public int getMetricsCategory() {
+        // TODO: add metrics
+        return 0;
+    }
+
+    /**
+     * Display the {@link AudioSharingRetryDialogFragment} dialog.
+     *
+     * @param host The Fragment this dialog will be hosted.
+     */
+    public static void show(@Nullable Fragment host) {
+        if (host == null || !BluetoothUtils.isAudioSharingEnabled()) return;
+        final FragmentManager manager;
+        try {
+            manager = host.getChildFragmentManager();
+        } catch (IllegalStateException e) {
+            Log.d(TAG, "Fail to show dialog: " + e.getMessage());
+            return;
+        }
+        AlertDialog dialog = AudioSharingDialogHelper.getDialogIfShowing(manager, TAG);
+        if (dialog != null) {
+            Log.d(TAG, "Dialog is showing, return.");
+            return;
+        }
+        Log.d(TAG, "Show up the retry dialog.");
+        AudioSharingRetryDialogFragment dialogFrag = new AudioSharingRetryDialogFragment();
+        dialogFrag.show(manager, TAG);
+    }
+
+    @Override
+    @NonNull
+    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+        // TODO: put strings to res till they are finalized
+        AlertDialog dialog =
+                AudioSharingDialogFactory.newBuilder(getActivity())
+                        .setTitle("Couldn't share audio")
+                        .setTitleIcon(com.android.settings.R.drawable.ic_warning_24dp)
+                        .setIsCustomBodyEnabled(true)
+                        .setCustomMessage("Something went wrong. Please try again.")
+                        .setPositiveButton(com.android.settings.R.string.okay, (d, w) -> {
+                        })
+                        .build();
+        dialog.setCanceledOnTouchOutside(true);
+        return dialog;
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragment.java
index 59593ba..5b71f51 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragment.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragment.java
@@ -32,6 +32,7 @@
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.utils.ThreadUtils;
 
@@ -80,13 +81,19 @@
             @NonNull CachedBluetoothDevice newDevice,
             @NonNull DialogEventListener listener,
             @NonNull Pair<Integer, Object>[] eventData) {
-        if (!AudioSharingUtils.isFeatureEnabled()) return;
-        final FragmentManager manager = host.getChildFragmentManager();
+        if (!BluetoothUtils.isAudioSharingEnabled()) return;
+        final FragmentManager manager;
+        try {
+            manager = host.getChildFragmentManager();
+        } catch (IllegalStateException e) {
+            Log.d(TAG, "Fail to show dialog: " + e.getMessage());
+            return;
+        }
         AlertDialog dialog = AudioSharingDialogHelper.getDialogIfShowing(manager, TAG);
         if (dialog != null) {
-            int newGroupId = AudioSharingUtils.getGroupId(newDevice);
+            int newGroupId = BluetoothUtils.getGroupId(newDevice);
             if (sCachedDevice != null
-                    && newGroupId == AudioSharingUtils.getGroupId(sCachedDevice)) {
+                    && newGroupId == BluetoothUtils.getGroupId(sCachedDevice)) {
                 Log.d(
                         TAG,
                         String.format(
@@ -140,6 +147,13 @@
         return sCachedDevice;
     }
 
+    /** Test only: get the {@link DialogEventListener} passed to the dialog. */
+    @VisibleForTesting
+    @Nullable
+    DialogEventListener getListener() {
+        return sListener;
+    }
+
     /** Test only: get the event data passed to the dialog. */
     @VisibleForTesting
     @NonNull
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java
index 89d2c95..2040694 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.connecteddevice.audiosharing;
 
+import static com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast.EXTRA_START_LE_AUDIO_SHARING;
+
 import android.app.settings.SettingsEnums;
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothDevice;
@@ -23,14 +25,17 @@
 import android.bluetooth.BluetoothLeBroadcastAssistant;
 import android.bluetooth.BluetoothLeBroadcastMetadata;
 import android.bluetooth.BluetoothLeBroadcastReceiveState;
-import android.bluetooth.BluetoothProfile;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
+import android.os.Bundle;
 import android.util.FeatureFlagUtils;
 import android.util.Log;
 import android.util.Pair;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.accessibility.AccessibilityEvent;
 import android.widget.CompoundButton;
 import android.widget.CompoundButton.OnCheckedChangeListener;
 
@@ -41,10 +46,15 @@
 import androidx.lifecycle.DefaultLifecycleObserver;
 import androidx.lifecycle.LifecycleOwner;
 
+import com.android.settings.R;
+import com.android.settings.SettingsActivity;
 import com.android.settings.bluetooth.Utils;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.widget.SettingsMainSwitchBar;
+import com.android.settingslib.bluetooth.BluetoothCallback;
+import com.android.settingslib.bluetooth.BluetoothEventManager;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
 import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
@@ -60,17 +70,17 @@
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
-import java.util.Objects;
 import java.util.concurrent.Executor;
 import java.util.concurrent.Executors;
 import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.stream.Collectors;
+import java.util.concurrent.atomic.AtomicInteger;
 
 public class AudioSharingSwitchBarController extends BasePreferenceController
         implements DefaultLifecycleObserver,
                 OnCheckedChangeListener,
-                LocalBluetoothProfileManager.ServiceListener {
-    private static final String TAG = "AudioSharingSwitchBarCtl";
+                LocalBluetoothProfileManager.ServiceListener,
+                BluetoothCallback {
+    private static final String TAG = "AudioSharingSwitchCtlr";
     private static final String PREF_KEY = "audio_sharing_main_switch";
 
     interface OnAudioSharingStateChangedListener {
@@ -93,6 +103,7 @@
     private final SettingsMainSwitchBar mSwitchBar;
     private final BluetoothAdapter mBluetoothAdapter;
     @Nullable private final LocalBluetoothManager mBtManager;
+    @Nullable private final BluetoothEventManager mEventManager;
     @Nullable private final LocalBluetoothProfileManager mProfileManager;
     @Nullable private final LocalBluetoothLeBroadcast mBroadcast;
     @Nullable private final LocalBluetoothLeBroadcastAssistant mAssistant;
@@ -100,11 +111,13 @@
     private final Executor mExecutor;
     private final MetricsFeatureProvider mMetricsFeatureProvider;
     private final OnAudioSharingStateChangedListener mListener;
-    private Map<Integer, List<CachedBluetoothDevice>> mGroupedConnectedDevices = new HashMap<>();
+    private Map<Integer, List<BluetoothDevice>> mGroupedConnectedDevices = new HashMap<>();
     private List<BluetoothDevice> mTargetActiveSinks = new ArrayList<>();
     private List<AudioSharingDeviceItem> mDeviceItemsForSharing = new ArrayList<>();
     @VisibleForTesting IntentFilter mIntentFilter;
     private final AtomicBoolean mCallbacksRegistered = new AtomicBoolean(false);
+    private AtomicInteger mIntentHandleStage =
+            new AtomicInteger(StartIntentHandleStage.TO_HANDLE.ordinal());
 
     @VisibleForTesting
     BroadcastReceiver mReceiver =
@@ -128,14 +141,19 @@
                                     + ", broadcastId = "
                                     + broadcastId);
                     updateSwitch();
+                    AudioSharingUtils.toastMessage(
+                            mContext, mContext.getString(R.string.audio_sharing_sharing_label));
                     mListener.onAudioSharingStateChanged();
                 }
 
                 @Override
                 public void onBroadcastStartFailed(int reason) {
                     Log.d(TAG, "onBroadcastStartFailed(), reason = " + reason);
-                    // TODO: handle broadcast start fail
                     updateSwitch();
+                    mMetricsFeatureProvider.action(
+                            mContext,
+                            SettingsEnums.ACTION_AUDIO_SHARING_START_FAILED,
+                            SettingsEnums.AUDIO_SHARING_SETTINGS);
                 }
 
                 @Override
@@ -158,14 +176,20 @@
                                     + ", broadcastId = "
                                     + broadcastId);
                     updateSwitch();
+                    AudioSharingUtils.toastMessage(
+                            mContext,
+                            mContext.getString(R.string.audio_sharing_sharing_stopped_label));
                     mListener.onAudioSharingStateChanged();
                 }
 
                 @Override
                 public void onBroadcastStopFailed(int reason) {
                     Log.d(TAG, "onBroadcastStopFailed(), reason = " + reason);
-                    // TODO: handle broadcast stop fail
                     updateSwitch();
+                    mMetricsFeatureProvider.action(
+                            mContext,
+                            SettingsEnums.ACTION_AUDIO_SHARING_STOP_FAILED,
+                            SettingsEnums.AUDIO_SHARING_SETTINGS);
                 }
 
                 @Override
@@ -182,6 +206,19 @@
                                     + reason
                                     + ", broadcastId = "
                                     + broadcastId);
+                    if (mAssistant == null
+                            || mAssistant.getAllConnectedDevices().stream()
+                                    .anyMatch(
+                                            device -> BluetoothUtils
+                                                    .hasActiveLocalBroadcastSourceForBtDevice(
+                                                            device, mBtManager))) {
+                        Log.d(
+                                TAG,
+                                "Skip handleOnBroadcastReady: null assistant or "
+                                        + "sink has active local source.");
+                        cleanUp();
+                        return;
+                    }
                     handleOnBroadcastReady();
                 }
 
@@ -189,7 +226,8 @@
                 public void onPlaybackStopped(int reason, int broadcastId) {}
             };
 
-    private final BluetoothLeBroadcastAssistant.Callback mBroadcastAssistantCallback =
+    @VisibleForTesting
+    final BluetoothLeBroadcastAssistant.Callback mBroadcastAssistantCallback =
             new BluetoothLeBroadcastAssistant.Callback() {
                 @Override
                 public void onSearchStarted(int reason) {}
@@ -207,16 +245,8 @@
                 public void onSourceFound(@NonNull BluetoothLeBroadcastMetadata source) {}
 
                 @Override
-                public void onSourceAdded(@NonNull BluetoothDevice sink, int sourceId, int reason) {
-                    Log.d(
-                            TAG,
-                            "onSourceAdded(), sink = "
-                                    + sink
-                                    + ", sourceId = "
-                                    + sourceId
-                                    + ", reason = "
-                                    + reason);
-                }
+                public void onSourceAdded(
+                        @NonNull BluetoothDevice sink, int sourceId, int reason) {}
 
                 @Override
                 public void onSourceAddFailed(
@@ -231,6 +261,10 @@
                                     + source
                                     + ", reason = "
                                     + reason);
+                    mMetricsFeatureProvider.action(
+                            mContext,
+                            SettingsEnums.ACTION_AUDIO_SHARING_JOIN_FAILED,
+                            SettingsEnums.AUDIO_SHARING_SETTINGS);
                     AudioSharingUtils.toastMessage(
                             mContext,
                             String.format(
@@ -273,6 +307,7 @@
         mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
         mIntentFilter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED);
         mBtManager = Utils.getLocalBtManager(context);
+        mEventManager = mBtManager == null ? null : mBtManager.getEventManager();
         mProfileManager = mBtManager == null ? null : mBtManager.getProfileManager();
         mBroadcast = mProfileManager == null ? null : mProfileManager.getLeAudioBroadcastProfile();
         mAssistant =
@@ -281,6 +316,7 @@
                         : mProfileManager.getLeAudioBroadcastAssistantProfile();
         mExecutor = Executors.newSingleThreadExecutor();
         mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
+        mSwitchBar.getRootView().setAccessibilityDelegate(new MainSwitchAccessibilityDelegate());
     }
 
     @Override
@@ -299,6 +335,12 @@
             return;
         }
         registerCallbacks();
+        if (mIntentHandleStage.compareAndSet(
+                StartIntentHandleStage.TO_HANDLE.ordinal(),
+                StartIntentHandleStage.HANDLE_AUTO_ADD.ordinal())) {
+            Log.d(TAG, "onStart: handleStartAudioSharingFromIntent");
+            handleStartAudioSharingFromIntent();
+        }
     }
 
     @Override
@@ -318,26 +360,25 @@
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         // Filter out unnecessary callbacks when switch is disabled.
         if (!buttonView.isEnabled()) return;
+        if (mBroadcast == null || mAssistant == null) {
+            mSwitchBar.setChecked(false);
+            Log.d(TAG, "Skip onCheckedChanged, profile not support.");
+            return;
+        }
+        mSwitchBar.setEnabled(false);
+        boolean isBroadcasting = BluetoothUtils.isBroadcasting(mBtManager);
         if (isChecked) {
-            mSwitchBar.setEnabled(false);
-            boolean isBroadcasting = AudioSharingUtils.isBroadcasting(mBtManager);
-            if (mAssistant == null || mBroadcast == null || isBroadcasting) {
-                Log.d(TAG, "Skip startAudioSharing, already broadcasting or not support.");
+            if (isBroadcasting) {
+                Log.d(TAG, "Skip startAudioSharing, already broadcasting.");
                 mSwitchBar.setEnabled(true);
-                if (!isBroadcasting) {
-                    mSwitchBar.setChecked(false);
-                }
                 return;
             }
             // FeatureFlagUtils.SETTINGS_NEED_CONNECTED_BLE_DEVICE_FOR_BROADCAST is always true in
             // prod. We can turn off the flag for debug purpose.
             if (FeatureFlagUtils.isEnabled(
-                            mContext,
-                            FeatureFlagUtils.SETTINGS_NEED_CONNECTED_BLE_DEVICE_FOR_BROADCAST)
-                    && mAssistant
-                            .getDevicesMatchingConnectionStates(
-                                    new int[] {BluetoothProfile.STATE_CONNECTED})
-                            .isEmpty()) {
+                    mContext,
+                    FeatureFlagUtils.SETTINGS_NEED_CONNECTED_BLE_DEVICE_FOR_BROADCAST)
+                    && hasEmptyConnectedSink()) {
                 // Pop up dialog to ask users to connect at least one lea buds before audio sharing.
                 AudioSharingUtils.postOnMainThread(
                         mContext,
@@ -352,13 +393,18 @@
             }
             startAudioSharing();
         } else {
+            if (!isBroadcasting) {
+                Log.d(TAG, "Skip stopAudioSharing, already not broadcasting.");
+                mSwitchBar.setEnabled(true);
+                return;
+            }
             stopAudioSharing();
         }
     }
 
     @Override
     public int getAvailabilityStatus() {
-        return AudioSharingUtils.isFeatureEnabled() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+        return BluetoothUtils.isAudioSharingEnabled() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 
     @Override
@@ -372,6 +418,12 @@
             if (mProfileManager != null) {
                 mProfileManager.removeServiceListener(this);
             }
+            if (mIntentHandleStage.compareAndSet(
+                    StartIntentHandleStage.TO_HANDLE.ordinal(),
+                    StartIntentHandleStage.HANDLE_AUTO_ADD.ordinal())) {
+                Log.d(TAG, "onServiceConnected: handleStartAudioSharingFromIntent");
+                handleStartAudioSharingFromIntent();
+            }
         }
     }
 
@@ -381,6 +433,17 @@
         // Do nothing.
     }
 
+    @Override
+    public void onActiveDeviceChanged(@Nullable CachedBluetoothDevice activeDevice,
+            int bluetoothProfile) {
+        if (activeDevice != null) {
+            Log.d(TAG, "onActiveDeviceChanged: device = "
+                    + activeDevice.getDevice().getAnonymizedAddress()
+                    + ", profile = " + bluetoothProfile);
+            updateSwitch();
+        }
+    }
+
     /**
      * Initialize the controller.
      *
@@ -401,7 +464,7 @@
             Log.d(TAG, "Skip registerCallbacks(). Feature is not available.");
             return;
         }
-        if (mBroadcast == null || mAssistant == null) {
+        if (mBroadcast == null || mAssistant == null || mEventManager == null) {
             Log.d(TAG, "Skip registerCallbacks(). Profile not support on this device.");
             return;
         }
@@ -410,6 +473,7 @@
             mSwitchBar.addOnSwitchChangeListener(this);
             mBroadcast.registerServiceCallBack(mExecutor, mBroadcastCallback);
             mAssistant.registerServiceCallBack(mExecutor, mBroadcastAssistantCallback);
+            mEventManager.registerCallback(this);
             mCallbacksRegistered.set(true);
         }
     }
@@ -419,7 +483,7 @@
             Log.d(TAG, "Skip unregisterCallbacks(). Feature is not available.");
             return;
         }
-        if (mBroadcast == null || mAssistant == null) {
+        if (mBroadcast == null || mAssistant == null || mEventManager == null) {
             Log.d(TAG, "Skip unregisterCallbacks(). Profile not support on this device.");
             return;
         }
@@ -428,6 +492,7 @@
             mSwitchBar.removeOnSwitchChangeListener(this);
             mBroadcast.unregisterServiceCallBack(mBroadcastCallback);
             mAssistant.unregisterServiceCallBack(mBroadcastAssistantCallback);
+            mEventManager.unregisterCallback(this);
             mCallbacksRegistered.set(false);
         }
     }
@@ -443,29 +508,27 @@
         mDeviceItemsForSharing = new ArrayList<>(deviceItems);
         mTargetActiveSinks = new ArrayList<>();
         if (!deviceItems.isEmpty() && deviceItems.get(0).isActive()) {
-            for (CachedBluetoothDevice device :
+            // If active device exists for audio sharing, share to it
+            // automatically once the broadcast is started.
+            mTargetActiveSinks =
                     mGroupedConnectedDevices.getOrDefault(
-                            deviceItems.get(0).getGroupId(), ImmutableList.of())) {
-                // If active device exists for audio sharing, share to it
-                // automatically once the broadcast is started.
-                mTargetActiveSinks.add(device.getDevice());
-            }
+                            deviceItems.get(0).getGroupId(), ImmutableList.of());
             mDeviceItemsForSharing.remove(0);
         }
         if (mBroadcast != null) {
             mBroadcast.startPrivateBroadcast();
+            mMetricsFeatureProvider.action(
+                    mContext,
+                    SettingsEnums.ACTION_AUDIO_SHARING_MAIN_SWITCH_ON,
+                    deviceItems.size());
         }
     }
 
     private void stopAudioSharing() {
-        mSwitchBar.setEnabled(false);
-        if (!AudioSharingUtils.isBroadcasting(mBtManager)) {
-            Log.d(TAG, "Skip stopAudioSharing, already not broadcasting or broadcast not support.");
-            mSwitchBar.setEnabled(true);
-            return;
-        }
         if (mBroadcast != null) {
             mBroadcast.stopBroadcast(mBroadcast.getLatestBroadcastId());
+            mMetricsFeatureProvider.action(
+                    mContext, SettingsEnums.ACTION_AUDIO_SHARING_MAIN_SWITCH_OFF);
         }
     }
 
@@ -473,11 +536,22 @@
         var unused =
                 ThreadUtils.postOnBackgroundThread(
                         () -> {
-                            boolean isBroadcasting = AudioSharingUtils.isBroadcasting(mBtManager);
+                            boolean isBroadcasting = BluetoothUtils.isBroadcasting(mBtManager);
+                            boolean hasActiveDevice =
+                                    AudioSharingUtils.hasActiveConnectedLeadDevice(mBtManager);
+                            boolean hasEmptyConnectedDevice = hasEmptyConnectedSink();
                             boolean isStateReady =
                                     isBluetoothOn()
                                             && AudioSharingUtils.isAudioSharingProfileReady(
-                                                    mProfileManager);
+                                            mProfileManager)
+                                            && (isBroadcasting
+                                            // Always enable toggle when no connected sink. We have
+                                            // dialog to guide users to connect compatible devices
+                                            // for audio sharing.
+                                            || hasEmptyConnectedDevice
+                                            // Disable toggle till device gets active after
+                                            // broadcast ends.
+                                            || hasActiveDevice);
                             AudioSharingUtils.postOnMainThread(
                                     mContext,
                                     () -> {
@@ -501,6 +575,10 @@
         return mBluetoothAdapter != null && mBluetoothAdapter.isEnabled();
     }
 
+    private boolean hasEmptyConnectedSink() {
+        return mAssistant != null && mAssistant.getAllConnectedDevices().isEmpty();
+    }
+
     private void handleOnBroadcastReady() {
         Pair<Integer, Object>[] eventData =
                 AudioSharingUtils.buildAudioSharingDialogEventData(
@@ -514,11 +592,26 @@
             AudioSharingUtils.addSourceToTargetSinks(mTargetActiveSinks, mBtManager);
             mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_AUTO_JOIN_AUDIO_SHARING);
             mTargetActiveSinks.clear();
+            if (mIntentHandleStage.compareAndSet(
+                            StartIntentHandleStage.HANDLE_AUTO_ADD.ordinal(),
+                            StartIntentHandleStage.HANDLED.ordinal())
+                    && mDeviceItemsForSharing.size() == 1) {
+                Log.d(TAG, "handleOnBroadcastReady: auto add source to the second device");
+                AudioSharingUtils.addSourceToTargetSinks(
+                        mGroupedConnectedDevices.getOrDefault(
+                                mDeviceItemsForSharing.get(0).getGroupId(), ImmutableList.of()),
+                        mBtManager);
+                cleanUp();
+                // TODO: Add metric for auto add by intent
+                return;
+            }
         }
+        mIntentHandleStage.compareAndSet(
+                StartIntentHandleStage.HANDLE_AUTO_ADD.ordinal(),
+                StartIntentHandleStage.HANDLED.ordinal());
         if (mFragment == null) {
             Log.d(TAG, "handleOnBroadcastReady: dialog fail to show due to null fragment.");
-            mGroupedConnectedDevices.clear();
-            mDeviceItemsForSharing.clear();
+            cleanUp();
             return;
         }
         showDialog(eventData);
@@ -530,21 +623,15 @@
                     @Override
                     public void onItemClick(@NonNull AudioSharingDeviceItem item) {
                         AudioSharingUtils.addSourceToTargetSinks(
-                                mGroupedConnectedDevices
-                                        .getOrDefault(item.getGroupId(), ImmutableList.of())
-                                        .stream()
-                                        .map(CachedBluetoothDevice::getDevice)
-                                        .filter(Objects::nonNull)
-                                        .collect(Collectors.toList()),
+                                mGroupedConnectedDevices.getOrDefault(
+                                        item.getGroupId(), ImmutableList.of()),
                                 mBtManager);
-                        mGroupedConnectedDevices.clear();
-                        mDeviceItemsForSharing.clear();
+                        cleanUp();
                     }
 
                     @Override
                     public void onCancelClick() {
-                        mGroupedConnectedDevices.clear();
-                        mDeviceItemsForSharing.clear();
+                        cleanUp();
                     }
                 };
         AudioSharingUtils.postOnMainThread(
@@ -557,4 +644,70 @@
                     }
                 });
     }
+
+    private static final class MainSwitchAccessibilityDelegate extends View.AccessibilityDelegate {
+        @Override
+        public boolean onRequestSendAccessibilityEvent(
+                @NonNull ViewGroup host, @NonNull View view, @NonNull AccessibilityEvent event) {
+            if (event.getEventType() == AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED
+                    && (event.getContentChangeTypes()
+                                    & AccessibilityEvent.CONTENT_CHANGE_TYPE_ENABLED)
+                            != 0) {
+                Log.d(TAG, "Skip accessibility event for CONTENT_CHANGE_TYPE_ENABLED");
+                return false;
+            }
+            return super.onRequestSendAccessibilityEvent(host, view, event);
+        }
+    }
+
+    private void handleStartAudioSharingFromIntent() {
+        var unused =
+                ThreadUtils.postOnBackgroundThread(
+                        () -> {
+                            if (mFragment == null
+                                    || mFragment.getActivity() == null
+                                    || mFragment.getActivity().getIntent() == null) {
+                                Log.d(
+                                        TAG,
+                                        "Skip handleStartAudioSharingFromIntent, "
+                                                + "fragment intent is null");
+                                return;
+                            }
+                            Intent intent = mFragment.getActivity().getIntent();
+                            Bundle args =
+                                    intent.getBundleExtra(
+                                            SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS);
+                            Boolean shouldStart =
+                                    args != null
+                                            && args.getBoolean(EXTRA_START_LE_AUDIO_SHARING, false);
+                            if (!shouldStart) {
+                                Log.d(TAG, "Skip handleStartAudioSharingFromIntent, arg false");
+                                mIntentHandleStage.compareAndSet(
+                                        StartIntentHandleStage.HANDLE_AUTO_ADD.ordinal(),
+                                        StartIntentHandleStage.HANDLED.ordinal());
+                                return;
+                            }
+                            if (BluetoothUtils.isBroadcasting(mBtManager)) {
+                                Log.d(TAG, "Skip handleStartAudioSharingFromIntent, in broadcast");
+                                mIntentHandleStage.compareAndSet(
+                                        StartIntentHandleStage.HANDLE_AUTO_ADD.ordinal(),
+                                        StartIntentHandleStage.HANDLED.ordinal());
+                                return;
+                            }
+                            Log.d(TAG, "HandleStartAudioSharingFromIntent, start broadcast");
+                            AudioSharingUtils.postOnMainThread(
+                                    mContext, () -> mSwitchBar.setChecked(true));
+                        });
+    }
+
+    private void cleanUp() {
+        mGroupedConnectedDevices.clear();
+        mDeviceItemsForSharing.clear();
+    }
+
+    private enum StartIntentHandleStage {
+        TO_HANDLE,
+        HANDLE_AUTO_ADD,
+        HANDLED,
+    }
 }
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingUtils.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingUtils.java
index 29f605c..a662809 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingUtils.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingUtils.java
@@ -22,14 +22,12 @@
 import static com.android.settings.connecteddevice.audiosharing.AudioSharingUtils.MetricKey.METRIC_KEY_SOURCE_PAGE_ID;
 import static com.android.settings.connecteddevice.audiosharing.AudioSharingUtils.MetricKey.METRIC_KEY_USER_TRIGGERED;
 
-import android.bluetooth.BluetoothAdapter;
+import static java.util.stream.Collectors.toList;
+
 import android.bluetooth.BluetoothCsipSetCoordinator;
 import android.bluetooth.BluetoothDevice;
 import android.bluetooth.BluetoothLeBroadcastMetadata;
-import android.bluetooth.BluetoothProfile;
-import android.bluetooth.BluetoothStatusCodes;
 import android.content.Context;
-import android.provider.Settings;
 import android.util.Log;
 import android.util.Pair;
 import android.widget.Toast;
@@ -44,20 +42,17 @@
 import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
 import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
-import com.android.settingslib.bluetooth.LocalBluetoothProfile;
 import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
 import com.android.settingslib.bluetooth.VolumeControlProfile;
-import com.android.settingslib.flags.Flags;
 
 import java.util.ArrayList;
+import java.util.Comparator;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.stream.Collectors;
+import java.util.Objects;
 
 public class AudioSharingUtils {
-    public static final String SETTINGS_KEY_FALLBACK_DEVICE_GROUP_ID =
-            "bluetooth_le_broadcast_fallback_active_group_id";
     private static final String TAG = "AudioSharingUtils";
     private static final boolean DEBUG = BluetoothUtils.D;
 
@@ -70,15 +65,15 @@
     }
 
     /**
-     * Fetch {@link CachedBluetoothDevice}s connected to the broadcast assistant. The devices are
-     * grouped by CSIP group id.
+     * Fetch {@link BluetoothDevice}s connected to the broadcast assistant. The devices are grouped
+     * by CSIP group id.
      *
      * @param localBtManager The BT manager to provide BT functions.
      * @return A map of connected devices grouped by CSIP group id.
      */
-    public static Map<Integer, List<CachedBluetoothDevice>> fetchConnectedDevicesByGroupId(
+    public static Map<Integer, List<BluetoothDevice>> fetchConnectedDevicesByGroupId(
             @Nullable LocalBluetoothManager localBtManager) {
-        Map<Integer, List<CachedBluetoothDevice>> groupedDevices = new HashMap<>();
+        Map<Integer, List<BluetoothDevice>> groupedDevices = new HashMap<>();
         if (localBtManager == null) {
             Log.d(TAG, "Skip fetchConnectedDevicesByGroupId due to bt manager is null");
             return groupedDevices;
@@ -89,9 +84,7 @@
             Log.d(TAG, "Skip fetchConnectedDevicesByGroupId due to assistant profile is null");
             return groupedDevices;
         }
-        List<BluetoothDevice> connectedDevices =
-                assistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED});
+        List<BluetoothDevice> connectedDevices = assistant.getAllConnectedDevices();
         CachedBluetoothDeviceManager cacheManager = localBtManager.getCachedDeviceManager();
         for (BluetoothDevice device : connectedDevices) {
             CachedBluetoothDevice cachedDevice = cacheManager.findDevice(device);
@@ -99,7 +92,7 @@
                 Log.d(TAG, "Skip device due to not being cached: " + device.getAnonymizedAddress());
                 continue;
             }
-            int groupId = getGroupId(cachedDevice);
+            int groupId = BluetoothUtils.getGroupId(cachedDevice);
             if (groupId == BluetoothCsipSetCoordinator.GROUP_ID_INVALID) {
                 Log.d(
                         TAG,
@@ -109,7 +102,7 @@
             if (!groupedDevices.containsKey(groupId)) {
                 groupedDevices.put(groupId, new ArrayList<>());
             }
-            groupedDevices.get(groupId).add(cachedDevice);
+            groupedDevices.get(groupId).add(device);
         }
         if (DEBUG) {
             Log.d(TAG, "fetchConnectedDevicesByGroupId: " + groupedDevices);
@@ -122,7 +115,7 @@
      * sharing. The active device is placed in the first place if it exists. The devices can be
      * filtered by whether it is already in the audio sharing session.
      *
-     * @param localBtManager The BT manager to provide BT functions. *
+     * @param localBtManager The BT manager to provide BT functions.
      * @param groupedConnectedDevices devices connected to broadcast assistant grouped by CSIP group
      *     id.
      * @param filterByInSharing Whether to filter the device by if is already in the sharing
@@ -132,11 +125,16 @@
      */
     public static List<CachedBluetoothDevice> buildOrderedConnectedLeadDevices(
             @Nullable LocalBluetoothManager localBtManager,
-            Map<Integer, List<CachedBluetoothDevice>> groupedConnectedDevices,
+            Map<Integer, List<BluetoothDevice>> groupedConnectedDevices,
             boolean filterByInSharing) {
         List<CachedBluetoothDevice> orderedDevices = new ArrayList<>();
-        for (List<CachedBluetoothDevice> devices : groupedConnectedDevices.values()) {
-            CachedBluetoothDevice leadDevice = getLeadDevice(devices);
+        if (localBtManager == null) {
+            Log.d(TAG, "Skip buildOrderedConnectedLeadDevices due to bt manager is null");
+            return orderedDevices;
+        }
+        CachedBluetoothDeviceManager deviceManager = localBtManager.getCachedDeviceManager();
+        for (List<BluetoothDevice> devices : groupedConnectedDevices.values()) {
+            CachedBluetoothDevice leadDevice = getLeadDevice(deviceManager, devices);
             if (leadDevice == null) {
                 Log.d(TAG, "Skip due to no lead device");
                 continue;
@@ -151,52 +149,39 @@
             }
             orderedDevices.add(leadDevice);
         }
-        orderedDevices.sort(
-                (CachedBluetoothDevice d1, CachedBluetoothDevice d2) -> {
-                    // Active above not inactive
-                    int comparison =
-                            (isActiveLeAudioDevice(d2) ? 1 : 0)
-                                    - (isActiveLeAudioDevice(d1) ? 1 : 0);
-                    if (comparison != 0) return comparison;
-                    // Bonded above not bonded
-                    comparison =
-                            (d2.getBondState() == BluetoothDevice.BOND_BONDED ? 1 : 0)
-                                    - (d1.getBondState() == BluetoothDevice.BOND_BONDED ? 1 : 0);
-                    if (comparison != 0) return comparison;
-                    // Bond timestamp available above unavailable
-                    comparison =
-                            (d2.getBondTimestamp() != null ? 1 : 0)
-                                    - (d1.getBondTimestamp() != null ? 1 : 0);
-                    if (comparison != 0) return comparison;
-                    // Order by bond timestamp if it is available
-                    // Otherwise order by device name
-                    return d1.getBondTimestamp() != null
-                            ? d1.getBondTimestamp().compareTo(d2.getBondTimestamp())
-                            : d1.getName().compareTo(d2.getName());
-                });
+        orderedDevices.sort(sCachedDeviceComparator);
         return orderedDevices;
     }
 
     /**
      * Get the lead device from a list of devices with same group id.
      *
+     * @param deviceManager CachedBluetoothDeviceManager
      * @param devices A list of devices with same group id.
      * @return The lead device
      */
     @Nullable
     public static CachedBluetoothDevice getLeadDevice(
-            @NonNull List<CachedBluetoothDevice> devices) {
-        if (devices.isEmpty()) return null;
-        for (CachedBluetoothDevice device : devices) {
-            if (!device.getMemberDevice().isEmpty()) {
-                return device;
+            @Nullable CachedBluetoothDeviceManager deviceManager,
+            @NonNull List<BluetoothDevice> devices) {
+        if (deviceManager == null || devices.isEmpty()) return null;
+        List<CachedBluetoothDevice> cachedDevices =
+                devices.stream()
+                        .map(device -> deviceManager.findDevice(device))
+                        .filter(Objects::nonNull)
+                        .collect(toList());
+        for (CachedBluetoothDevice cachedDevice : cachedDevices) {
+            if (!cachedDevice.getMemberDevice().isEmpty()) {
+                return cachedDevice;
             }
         }
-        CachedBluetoothDevice leadDevice = devices.get(0);
+        CachedBluetoothDevice leadDevice = cachedDevices.isEmpty() ? null : cachedDevices.get(0);
         Log.d(
                 TAG,
                 "No lead device in the group, pick arbitrary device as the lead: "
-                        + leadDevice.getDevice().getAnonymizedAddress());
+                        + (leadDevice == null
+                                ? "null"
+                                : leadDevice.getDevice().getAnonymizedAddress()));
         return leadDevice;
     }
 
@@ -205,7 +190,7 @@
      * sharing. The active device is placed in the first place if it exists. The devices can be
      * filtered by whether it is already in the audio sharing session.
      *
-     * @param localBtManager The BT manager to provide BT functions. *
+     * @param localBtManager The BT manager to provide BT functions.
      * @param groupedConnectedDevices devices connected to broadcast assistant grouped by CSIP group
      *     id.
      * @param filterByInSharing Whether to filter the device by if is already in the sharing
@@ -216,13 +201,26 @@
     @NonNull
     public static List<AudioSharingDeviceItem> buildOrderedConnectedLeadAudioSharingDeviceItem(
             @Nullable LocalBluetoothManager localBtManager,
-            Map<Integer, List<CachedBluetoothDevice>> groupedConnectedDevices,
+            Map<Integer, List<BluetoothDevice>> groupedConnectedDevices,
             boolean filterByInSharing) {
         return buildOrderedConnectedLeadDevices(
                         localBtManager, groupedConnectedDevices, filterByInSharing)
                 .stream()
                 .map(AudioSharingUtils::buildAudioSharingDeviceItem)
-                .collect(Collectors.toList());
+                .collect(toList());
+    }
+
+    /** Return if there exists active connected lead device. */
+    public static boolean hasActiveConnectedLeadDevice(
+            @Nullable LocalBluetoothManager localBtManager) {
+        CachedBluetoothDeviceManager deviceManager =
+                localBtManager == null ? null : localBtManager.getCachedDeviceManager();
+        if (deviceManager == null) {
+            Log.d(TAG, "hasActiveConnectedLeadDevice return false due to null device manager.");
+            return false;
+        }
+        return deviceManager.getCachedDevicesCopy().stream().anyMatch(
+                BluetoothUtils::isActiveMediaDevice);
     }
 
     /** Build {@link AudioSharingDeviceItem} from {@link CachedBluetoothDevice}. */
@@ -230,7 +228,7 @@
             CachedBluetoothDevice cachedDevice) {
         return new AudioSharingDeviceItem(
                 cachedDevice.getName(),
-                getGroupId(cachedDevice),
+                BluetoothUtils.getGroupId(cachedDevice),
                 isActiveLeAudioDevice(cachedDevice));
     }
 
@@ -240,8 +238,8 @@
      * @param cachedDevice The cached bluetooth device to check.
      * @return Whether the device is an active le audio device.
      */
-    public static boolean isActiveLeAudioDevice(CachedBluetoothDevice cachedDevice) {
-        return BluetoothUtils.isActiveLeAudioDevice(cachedDevice);
+    public static boolean isActiveLeAudioDevice(@Nullable CachedBluetoothDevice cachedDevice) {
+        return cachedDevice != null && BluetoothUtils.isActiveLeAudioDevice(cachedDevice);
     }
 
     /** Toast message on main thread. */
@@ -250,16 +248,6 @@
                 .execute(() -> Toast.makeText(context, message, Toast.LENGTH_LONG).show());
     }
 
-    /** Returns if the le audio sharing is enabled. */
-    public static boolean isFeatureEnabled() {
-        BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
-        return Flags.enableLeAudioSharing()
-                && adapter.isLeAudioBroadcastSourceSupported()
-                        == BluetoothStatusCodes.FEATURE_SUPPORTED
-                && adapter.isLeAudioBroadcastAssistantSupported()
-                        == BluetoothStatusCodes.FEATURE_SUPPORTED;
-    }
-
     /** Add source to target sinks. */
     public static void addSourceToTargetSinks(
             List<BluetoothDevice> sinks, @Nullable LocalBluetoothManager localBtManager) {
@@ -289,9 +277,7 @@
             Log.d(TAG, "skip addSourceToTargetDevices: There is no broadcastMetadata.");
             return;
         }
-        List<BluetoothDevice> connectedDevices =
-                assistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED});
+        List<BluetoothDevice> connectedDevices = assistant.getAllConnectedDevices();
         for (BluetoothDevice sink : sinks) {
             if (connectedDevices.contains(sink)) {
                 Log.d(
@@ -312,14 +298,6 @@
         }
     }
 
-    /** Returns if the broadcast is on-going. */
-    public static boolean isBroadcasting(@Nullable LocalBluetoothManager manager) {
-        if (manager == null) return false;
-        LocalBluetoothLeBroadcast broadcast =
-                manager.getProfileManager().getLeAudioBroadcastProfile();
-        return broadcast != null && broadcast.isEnabled(null);
-    }
-
     /** Stops the latest broadcast. */
     public static void stopBroadcasting(@Nullable LocalBluetoothManager manager) {
         if (manager == null) {
@@ -335,37 +313,6 @@
         }
     }
 
-    /**
-     * Get CSIP group id for {@link CachedBluetoothDevice}.
-     *
-     * <p>If CachedBluetoothDevice#getGroupId is invalid, fetch group id from
-     * LeAudioProfile#getGroupId.
-     */
-    public static int getGroupId(CachedBluetoothDevice cachedDevice) {
-        int groupId = cachedDevice.getGroupId();
-        String anonymizedAddress = cachedDevice.getDevice().getAnonymizedAddress();
-        if (groupId != BluetoothCsipSetCoordinator.GROUP_ID_INVALID) {
-            Log.d(TAG, "getGroupId by CSIP profile for device: " + anonymizedAddress);
-            return groupId;
-        }
-        for (LocalBluetoothProfile profile : cachedDevice.getProfiles()) {
-            if (profile instanceof LeAudioProfile) {
-                Log.d(TAG, "getGroupId by LEA profile for device: " + anonymizedAddress);
-                return ((LeAudioProfile) profile).getGroupId(cachedDevice.getDevice());
-            }
-        }
-        Log.d(TAG, "getGroupId return invalid id for device: " + anonymizedAddress);
-        return BluetoothCsipSetCoordinator.GROUP_ID_INVALID;
-    }
-
-    /** Get the fallback active group id from SettingsProvider. */
-    public static int getFallbackActiveGroupId(@NonNull Context context) {
-        return Settings.Secure.getInt(
-                context.getContentResolver(),
-                SETTINGS_KEY_FALLBACK_DEVICE_GROUP_ID,
-                BluetoothCsipSetCoordinator.GROUP_ID_INVALID);
-    }
-
     /** Post the runnable to main thread. */
     public static void postOnMainThread(@NonNull Context context, @NonNull Runnable runnable) {
         context.getMainExecutor().execute(runnable);
@@ -422,4 +369,27 @@
             Pair.create(METRIC_KEY_CANDIDATE_DEVICE_COUNT.ordinal(), candidateDeviceCount)
         };
     }
+
+    private static final Comparator<CachedBluetoothDevice> sCachedDeviceComparator =
+            (CachedBluetoothDevice d1, CachedBluetoothDevice d2) -> {
+                // Active above not inactive
+                int comparison =
+                        (isActiveLeAudioDevice(d2) ? 1 : 0) - (isActiveLeAudioDevice(d1) ? 1 : 0);
+                if (comparison != 0) return comparison;
+                // Bonded above not bonded
+                comparison =
+                        (d2.getBondState() == BluetoothDevice.BOND_BONDED ? 1 : 0)
+                                - (d1.getBondState() == BluetoothDevice.BOND_BONDED ? 1 : 0);
+                if (comparison != 0) return comparison;
+                // Bond timestamp available above unavailable
+                comparison =
+                        (d2.getBondTimestamp() != null ? 1 : 0)
+                                - (d1.getBondTimestamp() != null ? 1 : 0);
+                if (comparison != 0) return comparison;
+                // Order by bond timestamp if it is available
+                // Otherwise order by device name
+                return d1.getBondTimestamp() != null
+                        ? d1.getBondTimestamp().compareTo(d2.getBondTimestamp())
+                        : d1.getName().compareTo(d2.getName());
+            };
 }
diff --git a/src/com/android/settings/connecteddevice/audiosharing/StreamSettingsCategoryController.java b/src/com/android/settings/connecteddevice/audiosharing/StreamSettingsCategoryController.java
index e9953a5..40f86d0 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/StreamSettingsCategoryController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/StreamSettingsCategoryController.java
@@ -33,6 +33,7 @@
 
 import com.android.settings.bluetooth.Utils;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
 
@@ -90,7 +91,7 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AudioSharingUtils.isFeatureEnabled() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+        return BluetoothUtils.isAudioSharingEnabled() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 
     @Override
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceWaitForResponseState.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceWaitForResponseState.java
index 24a28dd..7be01a2 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceWaitForResponseState.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceWaitForResponseState.java
@@ -36,7 +36,8 @@
 
     @Nullable private static AddSourceWaitForResponseState sInstance = null;
 
-    private AddSourceWaitForResponseState() {}
+    @VisibleForTesting
+    AddSourceWaitForResponseState() {}
 
     static AddSourceWaitForResponseState getInstance() {
         if (sInstance == null) {
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamButtonController.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamButtonController.java
index 2661072..939dd5c 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamButtonController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamButtonController.java
@@ -27,6 +27,7 @@
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
 import androidx.lifecycle.DefaultLifecycleObserver;
 import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.PreferenceScreen;
@@ -48,7 +49,9 @@
     private static final String TAG = "AudioStreamButtonController";
     private static final String KEY = "audio_stream_button";
     private static final int SOURCE_ORIGIN_REPOSITORY = SourceOriginForLogging.REPOSITORY.ordinal();
-    private final BluetoothLeBroadcastAssistant.Callback mBroadcastAssistantCallback =
+
+    @VisibleForTesting
+    final BluetoothLeBroadcastAssistant.Callback mBroadcastAssistantCallback =
             new AudioStreamsBroadcastAssistantCallback() {
                 @Override
                 public void onSourceRemoved(BluetoothDevice sink, int sourceId, int reason) {
@@ -97,8 +100,7 @@
                 }
             };
 
-    private final AudioStreamsRepository mAudioStreamsRepository =
-            AudioStreamsRepository.getInstance();
+    private AudioStreamsRepository mAudioStreamsRepository = AudioStreamsRepository.getInstance();
     private final Executor mExecutor;
     private final AudioStreamsHelper mAudioStreamsHelper;
     private final @Nullable LocalBluetoothLeBroadcastAssistant mLeBroadcastAssistant;
@@ -228,4 +230,9 @@
     void init(int broadcastId) {
         mBroadcastId = broadcastId;
     }
+
+    @VisibleForTesting
+    void setAudioStreamsRepositoryForTesting(AudioStreamsRepository repository) {
+        mAudioStreamsRepository = repository;
+    }
 }
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialog.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialog.java
index 6c449a4..958740b 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialog.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialog.java
@@ -23,7 +23,6 @@
 import android.app.settings.SettingsEnums;
 import android.bluetooth.BluetoothDevice;
 import android.bluetooth.BluetoothLeBroadcastMetadata;
-import android.bluetooth.BluetoothProfile;
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
@@ -31,21 +30,25 @@
 import android.util.Log;
 
 import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.R;
 import com.android.settings.bluetooth.Utils;
 import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
-import com.android.settings.connecteddevice.audiosharing.AudioSharingUtils;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 import com.android.settingslib.bluetooth.BluetoothLeBroadcastMetadataExt;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
 
 public class AudioStreamConfirmDialog extends InstrumentedDialogFragment {
     private static final String TAG = "AudioStreamConfirmDialog";
-    private static final int DEFAULT_DEVICE_NAME = R.string.audio_streams_dialog_default_device;
+
+    @VisibleForTesting
+    static final int DEFAULT_DEVICE_NAME = R.string.audio_streams_dialog_default_device;
+
     private Context mContext;
-    @Nullable private Activity mActivity;
+    @VisibleForTesting @Nullable Activity mActivity;
     @Nullable private BluetoothLeBroadcastMetadata mBroadcastMetadata;
     @Nullable private BluetoothDevice mConnectedDevice;
     private int mAudioStreamConfirmDialogId = SettingsEnums.PAGE_UNKNOWN;
@@ -126,6 +129,10 @@
     private Dialog getUnsupportedDialog() {
         return new AudioStreamsDialogFragment.DialogBuilder(getActivity())
                 .setTitle(getString(R.string.audio_streams_dialog_cannot_listen))
+                .setSubTitle1(
+                        mBroadcastMetadata != null
+                                ? AudioStreamsHelper.getBroadcastName(mBroadcastMetadata)
+                                : "")
                 .setSubTitle2(getString(R.string.audio_streams_dialog_unsupported_device_subtitle))
                 .setRightButtonText(getString(R.string.audio_streams_dialog_close))
                 .setRightButtonOnClickListener(
@@ -207,7 +214,7 @@
     }
 
     private int getDialogId(boolean hasMetadata, boolean hasConnectedDevice) {
-        if (!AudioSharingUtils.isFeatureEnabled()) {
+        if (!BluetoothUtils.isAudioSharingEnabled()) {
             return SettingsEnums.DIALOG_AUDIO_STREAM_CONFIRM_FEATURE_UNSUPPORTED;
         }
         if (!hasConnectedDevice) {
@@ -229,9 +236,7 @@
         if (assistant == null) {
             return null;
         }
-        var devices =
-                assistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED});
+        var devices = assistant.getAllConnectedDevices();
         return devices.isEmpty() ? null : devices.get(0);
     }
 
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialogActivity.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialogActivity.java
index 88e2322..3437524 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialogActivity.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialogActivity.java
@@ -25,6 +25,7 @@
 import com.android.settings.SettingsActivity;
 import com.android.settings.bluetooth.Utils;
 import com.android.settings.connecteddevice.audiosharing.AudioSharingUtils;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
 
 public class AudioStreamConfirmDialogActivity extends SettingsActivity
@@ -49,7 +50,7 @@
 
     @Override
     protected void createUiFromIntent(@Nullable Bundle savedState, Intent intent) {
-        if (AudioSharingUtils.isFeatureEnabled()
+        if (BluetoothUtils.isAudioSharingEnabled()
                 && !AudioSharingUtils.isAudioSharingProfileReady(mProfileManager)) {
             Log.d(TAG, "createUiFromIntent() : supported but not ready, skip createUiFromIntent");
             mSavedState = savedState;
@@ -66,7 +67,7 @@
 
     @Override
     public void onStart() {
-        if (AudioSharingUtils.isFeatureEnabled()
+        if (BluetoothUtils.isAudioSharingEnabled()
                 && !AudioSharingUtils.isAudioSharingProfileReady(mProfileManager)) {
             Log.d(TAG, "onStart() : supported but not ready, listen to service ready");
             if (mProfileManager != null) {
@@ -86,7 +87,7 @@
 
     @Override
     public void onServiceConnected() {
-        if (AudioSharingUtils.isFeatureEnabled()
+        if (BluetoothUtils.isAudioSharingEnabled()
                 && AudioSharingUtils.isAudioSharingProfileReady(mProfileManager)) {
             if (mProfileManager != null) {
                 mProfileManager.removeServiceListener(this);
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamHeaderController.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamHeaderController.java
index 860e62e..e1a178d 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamHeaderController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamHeaderController.java
@@ -54,7 +54,9 @@
     private final Executor mExecutor;
     private final AudioStreamsHelper mAudioStreamsHelper;
     @Nullable private final LocalBluetoothLeBroadcastAssistant mLeBroadcastAssistant;
-    private final BluetoothLeBroadcastAssistant.Callback mBroadcastAssistantCallback =
+
+    @VisibleForTesting
+    final BluetoothLeBroadcastAssistant.Callback mBroadcastAssistantCallback =
             new AudioStreamsBroadcastAssistantCallback() {
                 @Override
                 public void onSourceRemoved(BluetoothDevice sink, int sourceId, int reason) {
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamMediaService.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamMediaService.java
index 6d297f4..d5be2bb 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamMediaService.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamMediaService.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.connecteddevice.audiosharing.audiostreams;
 
+import static java.util.Collections.emptyList;
+
 import android.app.Notification;
 import android.app.NotificationChannel;
 import android.app.NotificationManager;
@@ -41,19 +43,23 @@
 
 import com.android.settings.R;
 import com.android.settings.bluetooth.Utils;
-import com.android.settings.connecteddevice.audiosharing.AudioSharingUtils;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.bluetooth.BluetoothCallback;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
 import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.bluetooth.VolumeControlProfile;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+import com.android.settingslib.utils.ThreadUtils;
 
-import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
 
 public class AudioStreamMediaService extends Service {
     static final String BROADCAST_ID = "audio_stream_media_service_broadcast_id";
@@ -62,102 +68,13 @@
     private static final String TAG = "AudioStreamMediaService";
     private static final int NOTIFICATION_ID = 1;
     private static final int BROADCAST_CONTENT_TEXT = R.string.audio_streams_listening_now;
-    private static final String LEAVE_BROADCAST_ACTION = "leave_broadcast_action";
+    @VisibleForTesting static final String LEAVE_BROADCAST_ACTION = "leave_broadcast_action";
     private static final String LEAVE_BROADCAST_TEXT = "Leave Broadcast";
     private static final String CHANNEL_ID = "bluetooth_notification_channel";
     private static final String DEFAULT_DEVICE_NAME = "";
     private static final int STATIC_PLAYBACK_DURATION = 100;
     private static final int STATIC_PLAYBACK_POSITION = 30;
     private static final int ZERO_PLAYBACK_SPEED = 0;
-    private final AudioStreamsBroadcastAssistantCallback mBroadcastAssistantCallback =
-            new AudioStreamsBroadcastAssistantCallback() {
-                @Override
-                public void onSourceLost(int broadcastId) {
-                    super.onSourceLost(broadcastId);
-                    if (broadcastId == mBroadcastId) {
-                        stopSelf();
-                    }
-                }
-
-                @Override
-                public void onSourceRemoved(BluetoothDevice sink, int sourceId, int reason) {
-                    super.onSourceRemoved(sink, sourceId, reason);
-                    if (mAudioStreamsHelper != null
-                            && mAudioStreamsHelper.getAllConnectedSources().stream()
-                                    .map(BluetoothLeBroadcastReceiveState::getBroadcastId)
-                                    .noneMatch(id -> id == mBroadcastId)) {
-                        stopSelf();
-                    }
-                }
-            };
-
-    private final BluetoothCallback mBluetoothCallback =
-            new BluetoothCallback() {
-                @Override
-                public void onBluetoothStateChanged(int bluetoothState) {
-                    if (BluetoothAdapter.STATE_OFF == bluetoothState) {
-                        stopSelf();
-                    }
-                }
-
-                @Override
-                public void onProfileConnectionStateChanged(
-                        @NonNull CachedBluetoothDevice cachedDevice,
-                        @ConnectionState int state,
-                        int bluetoothProfile) {
-                    if (state == BluetoothAdapter.STATE_DISCONNECTED
-                            && bluetoothProfile == BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT
-                            && mDevices != null) {
-                        mDevices.remove(cachedDevice.getDevice());
-                        cachedDevice
-                                .getMemberDevice()
-                                .forEach(
-                                        m -> {
-                                            // Check nullability to pass NullAway check
-                                            if (mDevices != null) {
-                                                mDevices.remove(m.getDevice());
-                                            }
-                                        });
-                    }
-                    if (mDevices == null || mDevices.isEmpty()) {
-                        stopSelf();
-                    }
-                }
-            };
-
-    private final BluetoothVolumeControl.Callback mVolumeControlCallback =
-            new BluetoothVolumeControl.Callback() {
-                @Override
-                public void onDeviceVolumeChanged(
-                        @NonNull BluetoothDevice device,
-                        @IntRange(from = -255, to = 255) int volume) {
-                    if (mDevices == null || mDevices.isEmpty()) {
-                        Log.w(TAG, "active device or device has source is null!");
-                        return;
-                    }
-                    if (mDevices.contains(device)) {
-                        Log.d(
-                                TAG,
-                                "onDeviceVolumeChanged() bluetoothDevice : "
-                                        + device
-                                        + " volume: "
-                                        + volume);
-                        if (volume == 0) {
-                            mIsMuted = true;
-                        } else {
-                            mIsMuted = false;
-                            mLatestPositiveVolume = volume;
-                        }
-                        if (mLocalSession != null) {
-                            mLocalSession.setPlaybackState(getPlaybackState());
-                            if (mNotificationManager != null) {
-                                mNotificationManager.notify(NOTIFICATION_ID, buildNotification());
-                            }
-                        }
-                    }
-                }
-            };
-
     private final PlaybackState.Builder mPlayStatePlayingBuilder =
             new PlaybackState.Builder()
                     .setActions(PlaybackState.ACTION_PAUSE | PlaybackState.ACTION_SEEK_TO)
@@ -184,24 +101,28 @@
     private final MetricsFeatureProvider mMetricsFeatureProvider =
             FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     private final ExecutorService mExecutor = Executors.newSingleThreadExecutor();
+    private final AtomicBoolean mIsMuted = new AtomicBoolean(false);
+    // Set 25 as default as the volume range from `VolumeControlProfile` is from 0 to 255.
+    // If the initial volume from `onDeviceVolumeChanged` is larger than zero (not muted), we will
+    // override this value. Otherwise, we raise the volume to 25 when the play button is clicked.
+    private final AtomicInteger mLatestPositiveVolume = new AtomicInteger(25);
+    private final AtomicBoolean mHasStopped = new AtomicBoolean(false);
     private int mBroadcastId;
-    @Nullable private ArrayList<BluetoothDevice> mDevices;
+    @Nullable private List<BluetoothDevice> mDevices;
     @Nullable private LocalBluetoothManager mLocalBtManager;
     @Nullable private AudioStreamsHelper mAudioStreamsHelper;
     @Nullable private LocalBluetoothLeBroadcastAssistant mLeBroadcastAssistant;
     @Nullable private VolumeControlProfile mVolumeControl;
     @Nullable private NotificationManager mNotificationManager;
-
-    // Set 25 as default as the volume range from `VolumeControlProfile` is from 0 to 255.
-    // If the initial volume from `onDeviceVolumeChanged` is larger than zero (not muted), we will
-    // override this value. Otherwise, we raise the volume to 25 when the play button is clicked.
-    private int mLatestPositiveVolume = 25;
-    private boolean mIsMuted = false;
-    @VisibleForTesting @Nullable MediaSession mLocalSession;
+    @Nullable private MediaSession mLocalSession;
+    @VisibleForTesting @Nullable AudioStreamsBroadcastAssistantCallback mBroadcastAssistantCallback;
+    @VisibleForTesting @Nullable BluetoothCallback mBluetoothCallback;
+    @VisibleForTesting @Nullable BluetoothVolumeControl.Callback mVolumeControlCallback;
+    @VisibleForTesting @Nullable MediaSession.Callback mMediaSessionCallback;
 
     @Override
     public void onCreate() {
-        if (!AudioSharingUtils.isFeatureEnabled()) {
+        if (!BluetoothUtils.isAudioSharingEnabled()) {
             return;
         }
 
@@ -234,30 +155,33 @@
             mNotificationManager.createNotificationChannel(notificationChannel);
         }
 
+        mBluetoothCallback = new BtCallback();
         mLocalBtManager.getEventManager().registerCallback(mBluetoothCallback);
 
         mVolumeControl = mLocalBtManager.getProfileManager().getVolumeControlProfile();
         if (mVolumeControl != null) {
+            mVolumeControlCallback = new VolumeControlCallback();
             mVolumeControl.registerCallback(mExecutor, mVolumeControlCallback);
         }
 
+        mBroadcastAssistantCallback = new AssistantCallback();
         mLeBroadcastAssistant.registerServiceCallBack(mExecutor, mBroadcastAssistantCallback);
     }
 
     @Override
     public void onDestroy() {
+        Log.d(TAG, "onDestroy()");
         super.onDestroy();
-
-        if (!AudioSharingUtils.isFeatureEnabled()) {
+        if (!BluetoothUtils.isAudioSharingEnabled()) {
             return;
         }
         if (mLocalBtManager != null) {
             mLocalBtManager.getEventManager().unregisterCallback(mBluetoothCallback);
         }
-        if (mLeBroadcastAssistant != null) {
+        if (mLeBroadcastAssistant != null && mBroadcastAssistantCallback != null) {
             mLeBroadcastAssistant.unregisterServiceCallBack(mBroadcastAssistantCallback);
         }
-        if (mVolumeControl != null) {
+        if (mVolumeControl != null && mVolumeControlCallback != null) {
             mVolumeControl.unregisterCallback(mVolumeControlCallback);
         }
         if (mLocalSession != null) {
@@ -269,27 +193,31 @@
     @Override
     public int onStartCommand(@Nullable Intent intent, int flags, int startId) {
         Log.d(TAG, "onStartCommand()");
-
-        mBroadcastId = intent != null ? intent.getIntExtra(BROADCAST_ID, -1) : -1;
+        if (intent == null) {
+            Log.w(TAG, "Intent is null. Service will not start.");
+            mHasStopped.set(true);
+            stopSelf();
+            return START_NOT_STICKY;
+        }
+        mBroadcastId = intent.getIntExtra(BROADCAST_ID, -1);
         if (mBroadcastId == -1) {
             Log.w(TAG, "Invalid broadcast ID. Service will not start.");
+            mHasStopped.set(true);
             stopSelf();
             return START_NOT_STICKY;
         }
-
-        if (intent != null) {
-            mDevices = intent.getParcelableArrayListExtra(DEVICES, BluetoothDevice.class);
-        }
-        if (mDevices == null || mDevices.isEmpty()) {
+        var extra = intent.getParcelableArrayListExtra(DEVICES, BluetoothDevice.class);
+        if (extra == null || extra.isEmpty()) {
             Log.w(TAG, "No device. Service will not start.");
+            mHasStopped.set(true);
             stopSelf();
             return START_NOT_STICKY;
         }
-        if (intent != null) {
-            createLocalMediaSession(intent.getStringExtra(BROADCAST_TITLE));
-            startForeground(NOTIFICATION_ID, buildNotification());
-        }
-
+        mDevices = Collections.synchronizedList(extra);
+        createLocalMediaSession(intent.getStringExtra(BROADCAST_TITLE));
+        startForeground(NOTIFICATION_ID, buildNotification());
+        // Reset in case the service is previously stopped but not yet destroyed.
+        mHasStopped.set(false);
         return START_NOT_STICKY;
     }
 
@@ -302,78 +230,12 @@
                         .build());
         mLocalSession.setActive(true);
         mLocalSession.setPlaybackState(getPlaybackState());
-        mLocalSession.setCallback(
-                new MediaSession.Callback() {
-                    public void onSeekTo(long pos) {
-                        Log.d(TAG, "onSeekTo: " + pos);
-                        if (mLocalSession != null) {
-                            mLocalSession.setPlaybackState(getPlaybackState());
-                            if (mNotificationManager != null) {
-                                mNotificationManager.notify(NOTIFICATION_ID, buildNotification());
-                            }
-                        }
-                    }
-
-                    @Override
-                    public void onPause() {
-                        if (mDevices == null || mDevices.isEmpty()) {
-                            Log.w(TAG, "active device or device has source is null!");
-                            return;
-                        }
-                        Log.d(
-                                TAG,
-                                "onPause() setting volume for device : "
-                                        + mDevices.get(0)
-                                        + " volume: "
-                                        + 0);
-                        if (mVolumeControl != null) {
-                            mVolumeControl.setDeviceVolume(mDevices.get(0), 0, true);
-                            mMetricsFeatureProvider.action(
-                                    getApplicationContext(),
-                                    SettingsEnums
-                                            .ACTION_AUDIO_STREAM_NOTIFICATION_MUTE_BUTTON_CLICK,
-                                    1);
-                        }
-                    }
-
-                    @Override
-                    public void onPlay() {
-                        if (mDevices == null || mDevices.isEmpty()) {
-                            Log.w(TAG, "active device or device has source is null!");
-                            return;
-                        }
-                        Log.d(
-                                TAG,
-                                "onPlay() setting volume for device : "
-                                        + mDevices.get(0)
-                                        + " volume: "
-                                        + mLatestPositiveVolume);
-                        if (mVolumeControl != null) {
-                            mVolumeControl.setDeviceVolume(
-                                    mDevices.get(0), mLatestPositiveVolume, true);
-                        }
-                        mMetricsFeatureProvider.action(
-                                getApplicationContext(),
-                                SettingsEnums.ACTION_AUDIO_STREAM_NOTIFICATION_MUTE_BUTTON_CLICK,
-                                0);
-                    }
-
-                    @Override
-                    public void onCustomAction(@NonNull String action, Bundle extras) {
-                        Log.d(TAG, "onCustomAction: " + action);
-                        if (action.equals(LEAVE_BROADCAST_ACTION) && mAudioStreamsHelper != null) {
-                            mAudioStreamsHelper.removeSource(mBroadcastId);
-                            mMetricsFeatureProvider.action(
-                                    getApplicationContext(),
-                                    SettingsEnums
-                                            .ACTION_AUDIO_STREAM_NOTIFICATION_LEAVE_BUTTON_CLICK);
-                        }
-                    }
-                });
+        mMediaSessionCallback = new MediaSessionCallback();
+        mLocalSession.setCallback(mMediaSessionCallback);
     }
 
     private PlaybackState getPlaybackState() {
-        return mIsMuted ? mPlayStatePausingBuilder.build() : mPlayStatePlayingBuilder.build();
+        return mIsMuted.get() ? mPlayStatePausingBuilder.build() : mPlayStatePlayingBuilder.build();
     }
 
     private String getDeviceName() {
@@ -414,4 +276,167 @@
     public IBinder onBind(Intent intent) {
         return null;
     }
+
+    private class AssistantCallback extends AudioStreamsBroadcastAssistantCallback {
+        @Override
+        public void onSourceLost(int broadcastId) {
+            super.onSourceLost(broadcastId);
+            handleRemoveSource();
+        }
+
+        @Override
+        public void onSourceRemoved(BluetoothDevice sink, int sourceId, int reason) {
+            super.onSourceRemoved(sink, sourceId, reason);
+            handleRemoveSource();
+        }
+
+        private void handleRemoveSource() {
+            var unused =
+                    ThreadUtils.postOnBackgroundThread(
+                            () -> {
+                                List<BluetoothLeBroadcastReceiveState> connected =
+                                        mAudioStreamsHelper == null
+                                                ? emptyList()
+                                                : mAudioStreamsHelper.getAllConnectedSources();
+                                if (connected.stream()
+                                        .map(BluetoothLeBroadcastReceiveState::getBroadcastId)
+                                        .noneMatch(id -> id == mBroadcastId)) {
+                                    mHasStopped.set(true);
+                                    stopSelf();
+                                }
+                            });
+        }
+    }
+
+    private class VolumeControlCallback implements BluetoothVolumeControl.Callback {
+        @Override
+        public void onDeviceVolumeChanged(
+                @NonNull BluetoothDevice device, @IntRange(from = -255, to = 255) int volume) {
+            if (mDevices == null || mDevices.isEmpty()) {
+                Log.w(TAG, "active device or device has source is null!");
+                return;
+            }
+            Log.d(
+                    TAG,
+                    "onDeviceVolumeChanged() bluetoothDevice : " + device + " volume: " + volume);
+            if (mDevices.contains(device)) {
+                if (volume == 0) {
+                    mIsMuted.set(true);
+                } else {
+                    mIsMuted.set(false);
+                    mLatestPositiveVolume.set(volume);
+                }
+                updateNotification(getPlaybackState());
+            }
+        }
+    }
+
+    private class BtCallback implements BluetoothCallback {
+        @Override
+        public void onBluetoothStateChanged(int bluetoothState) {
+            if (BluetoothAdapter.STATE_OFF == bluetoothState) {
+                Log.d(TAG, "onBluetoothStateChanged() : stopSelf");
+                mHasStopped.set(true);
+                stopSelf();
+            }
+        }
+
+        @Override
+        public void onProfileConnectionStateChanged(
+                @NonNull CachedBluetoothDevice cachedDevice,
+                @ConnectionState int state,
+                int bluetoothProfile) {
+            if (state == BluetoothAdapter.STATE_DISCONNECTED
+                    && bluetoothProfile == BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT
+                    && mDevices != null) {
+                mDevices.remove(cachedDevice.getDevice());
+                cachedDevice
+                        .getMemberDevice()
+                        .forEach(
+                                m -> {
+                                    // Check nullability to pass NullAway check
+                                    if (mDevices != null) {
+                                        mDevices.remove(m.getDevice());
+                                    }
+                                });
+            }
+            if (mDevices == null || mDevices.isEmpty()) {
+                Log.d(TAG, "onProfileConnectionStateChanged() : stopSelf");
+                mHasStopped.set(true);
+                stopSelf();
+            }
+        }
+    }
+
+    private class MediaSessionCallback extends MediaSession.Callback {
+        public void onSeekTo(long pos) {
+            Log.d(TAG, "onSeekTo: " + pos);
+            updateNotification(getPlaybackState());
+        }
+
+        @Override
+        public void onPause() {
+            if (mDevices == null || mDevices.isEmpty()) {
+                Log.w(TAG, "active device or device has source is null!");
+                return;
+            }
+            Log.d(
+                    TAG,
+                    "onPause() setting volume for device : " + mDevices.get(0) + " volume: " + 0);
+            setDeviceVolume(mDevices.get(0), /* volume= */ 0);
+        }
+
+        @Override
+        public void onPlay() {
+            if (mDevices == null || mDevices.isEmpty()) {
+                Log.w(TAG, "active device or device has source is null!");
+                return;
+            }
+            Log.d(
+                    TAG,
+                    "onPlay() setting volume for device : "
+                            + mDevices.get(0)
+                            + " volume: "
+                            + mLatestPositiveVolume.get());
+            setDeviceVolume(mDevices.get(0), mLatestPositiveVolume.get());
+        }
+
+        @Override
+        public void onCustomAction(@NonNull String action, Bundle extras) {
+            Log.d(TAG, "onCustomAction: " + action);
+            if (action.equals(LEAVE_BROADCAST_ACTION) && mAudioStreamsHelper != null) {
+                mAudioStreamsHelper.removeSource(mBroadcastId);
+                mMetricsFeatureProvider.action(
+                        getApplicationContext(),
+                        SettingsEnums.ACTION_AUDIO_STREAM_NOTIFICATION_LEAVE_BUTTON_CLICK);
+            }
+        }
+
+        private void setDeviceVolume(BluetoothDevice device, int volume) {
+            int event = SettingsEnums.ACTION_AUDIO_STREAM_NOTIFICATION_MUTE_BUTTON_CLICK;
+            var unused =
+                    ThreadUtils.postOnBackgroundThread(
+                            () -> {
+                                if (mVolumeControl != null) {
+                                    mVolumeControl.setDeviceVolume(device, volume, true);
+                                    mMetricsFeatureProvider.action(
+                                            getApplicationContext(), event, volume == 0 ? 1 : 0);
+                                }
+                            });
+        }
+    }
+
+    private void updateNotification(PlaybackState playbackState) {
+        var unused =
+                ThreadUtils.postOnBackgroundThread(
+                        () -> {
+                            if (mLocalSession != null) {
+                                mLocalSession.setPlaybackState(playbackState);
+                                if (mNotificationManager != null && !mHasStopped.get()) {
+                                    mNotificationManager.notify(
+                                            NOTIFICATION_ID, buildNotification());
+                                }
+                            }
+                        });
+    }
 }
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamPreference.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamPreference.java
index 071cf57..175e037 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamPreference.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamPreference.java
@@ -43,23 +43,12 @@
      * Update preference UI based on connection status
      *
      * @param isConnected Is this stream connected
-     * @param summary Summary text
-     * @param onPreferenceClickListener Click listener for the preference
      */
-    void setIsConnected(
-            boolean isConnected,
-            String summary,
-            @Nullable OnPreferenceClickListener onPreferenceClickListener) {
-        if (mIsConnected == isConnected
-                && getSummary() == summary
-                && getOnPreferenceClickListener() == onPreferenceClickListener) {
-            // Nothing to update.
-            return;
+    void setIsConnected(boolean isConnected) {
+        if (mIsConnected != isConnected) {
+            mIsConnected = isConnected;
+            notifyChanged();
         }
-        mIsConnected = isConnected;
-        setSummary(summary);
-        setOnPreferenceClickListener(onPreferenceClickListener);
-        notifyChanged();
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamStateHandler.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamStateHandler.java
index b0c5b6b..758984f 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamStateHandler.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamStateHandler.java
@@ -16,8 +16,12 @@
 
 package com.android.settings.connecteddevice.audiosharing.audiostreams;
 
+import static android.text.Spanned.SPAN_EXCLUSIVE_INCLUSIVE;
+
 import android.os.Handler;
 import android.os.Looper;
+import android.text.SpannableString;
+import android.text.style.ForegroundColorSpan;
 import android.util.Log;
 
 import androidx.annotation.Nullable;
@@ -26,6 +30,7 @@
 import androidx.preference.Preference;
 
 import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.Utils;
 import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.utils.ThreadUtils;
@@ -35,10 +40,10 @@
     private static final boolean DEBUG = BluetoothUtils.D;
     @VisibleForTesting static final int EMPTY_STRING_RES = 0;
 
-    final AudioStreamsRepository mAudioStreamsRepository = AudioStreamsRepository.getInstance();
     final Handler mHandler = new Handler(Looper.getMainLooper());
     final MetricsFeatureProvider mMetricsFeatureProvider =
             FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
+    AudioStreamsRepository mAudioStreamsRepository = AudioStreamsRepository.getInstance();
 
     AudioStreamStateHandler() {}
 
@@ -68,15 +73,31 @@
 
         // Update UI
         ThreadUtils.postOnMainThread(
-                () ->
-                        preference.setIsConnected(
-                                newState
-                                        == AudioStreamsProgressCategoryController.AudioStreamState
-                                                .SOURCE_ADDED,
-                                getSummary() != EMPTY_STRING_RES
-                                        ? preference.getContext().getString(getSummary())
-                                        : "",
-                                getOnClickListener(controller)));
+                () -> {
+                    String summary =
+                            getSummary() != EMPTY_STRING_RES
+                                    ? preference.getContext().getString(getSummary())
+                                    : "";
+                    if (newState
+                            == AudioStreamsProgressCategoryController.AudioStreamState
+                                    .ADD_SOURCE_BAD_CODE) {
+                        SpannableString summarySpan = new SpannableString(summary);
+                        int colorError = Utils.getColorErrorDefaultColor(preference.getContext());
+                        summarySpan.setSpan(
+                                new ForegroundColorSpan(colorError),
+                                0,
+                                summary.length(),
+                                SPAN_EXCLUSIVE_INCLUSIVE);
+                        preference.setSummary(summarySpan);
+                    } else {
+                        preference.setSummary(summary);
+                    }
+                    preference.setIsConnected(
+                            newState
+                                    == AudioStreamsProgressCategoryController.AudioStreamState
+                                            .SOURCE_ADDED);
+                    preference.setOnPreferenceClickListener(getOnClickListener(controller));
+                });
     }
 
     /**
@@ -112,4 +133,9 @@
     AudioStreamsProgressCategoryController.AudioStreamState getStateEnum() {
         return AudioStreamsProgressCategoryController.AudioStreamState.UNKNOWN;
     }
+
+    @VisibleForTesting
+    void setAudioStreamsRepositoryForTesting(AudioStreamsRepository repository) {
+        mAudioStreamsRepository = repository;
+    }
 }
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceSummaryUpdater.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceSummaryUpdater.java
index ab22b07..47ee440 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceSummaryUpdater.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceSummaryUpdater.java
@@ -16,24 +16,22 @@
 
 package com.android.settings.connecteddevice.audiosharing.audiostreams;
 
+import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothProfile;
 import android.content.Context;
 import android.text.TextUtils;
-import android.util.Log;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
 import com.android.settings.R;
 import com.android.settings.bluetooth.Utils;
 import com.android.settingslib.bluetooth.BluetoothCallback;
-import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.utils.ThreadUtils;
 
 public class AudioStreamsActiveDeviceSummaryUpdater implements BluetoothCallback {
-    private static final String TAG = "AudioStreamsActiveDeviceSummaryUpdater";
-    private static final boolean DEBUG = BluetoothUtils.D;
     private final LocalBluetoothManager mBluetoothManager;
     private Context mContext;
     @Nullable private String mSummary;
@@ -47,17 +45,20 @@
     }
 
     @Override
-    public void onActiveDeviceChanged(
-            @Nullable CachedBluetoothDevice activeDevice, int bluetoothProfile) {
-        if (DEBUG) {
-            Log.d(
-                    TAG,
-                    "onActiveDeviceChanged() with activeDevice : "
-                            + (activeDevice == null ? "null" : activeDevice.getAddress())
-                            + " on profile : "
-                            + bluetoothProfile);
+    public void onBluetoothStateChanged(@AdapterState int bluetoothState) {
+        if (bluetoothState == BluetoothAdapter.STATE_OFF) {
+            notifyChangeIfNeeded();
         }
-        if (bluetoothProfile == BluetoothProfile.LE_AUDIO) {
+    }
+
+    @Override
+    public void onProfileConnectionStateChanged(
+            @NonNull CachedBluetoothDevice cachedDevice,
+            @ConnectionState int state,
+            int bluetoothProfile) {
+        if (bluetoothProfile == BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT
+                && (state == BluetoothAdapter.STATE_CONNECTED
+                        || state == BluetoothAdapter.STATE_DISCONNECTED)) {
             notifyChangeIfNeeded();
         }
     }
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsCategoryController.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsCategoryController.java
index 3174ace..0107c6e 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsCategoryController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsCategoryController.java
@@ -16,12 +16,12 @@
 
 package com.android.settings.connecteddevice.audiosharing.audiostreams;
 
+import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothProfile;
 import android.content.Context;
 import android.util.Log;
 
 import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
 import androidx.lifecycle.LifecycleOwner;
 
 import com.android.settings.bluetooth.Utils;
@@ -44,9 +44,13 @@
     private final BluetoothCallback mBluetoothCallback =
             new BluetoothCallback() {
                 @Override
-                public void onActiveDeviceChanged(
-                        @Nullable CachedBluetoothDevice activeDevice, int bluetoothProfile) {
-                    if (bluetoothProfile == BluetoothProfile.LE_AUDIO) {
+                public void onProfileConnectionStateChanged(
+                        @NonNull CachedBluetoothDevice cachedDevice,
+                        @ConnectionState int state,
+                        int bluetoothProfile) {
+                    if (bluetoothProfile == BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT
+                            && (state == BluetoothAdapter.STATE_CONNECTED
+                                    || state == BluetoothAdapter.STATE_DISCONNECTED)) {
                         updateVisibility();
                     }
                 }
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDashboardFragment.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDashboardFragment.java
index ce32cdb..ae5cb6e 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDashboardFragment.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDashboardFragment.java
@@ -23,7 +23,6 @@
 import android.bluetooth.BluetoothLeBroadcastMetadata;
 import android.content.Context;
 import android.content.Intent;
-import android.os.Bundle;
 import android.util.Log;
 
 import androidx.annotation.Nullable;
@@ -64,11 +63,6 @@
     }
 
     @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-    }
-
-    @Override
     public void onAttach(Context context) {
         super.onAttach(context);
         use(AudioStreamsScanQrCodeController.class).setFragment(this);
@@ -92,11 +86,6 @@
     }
 
     @Override
-    public void onActivityCreated(Bundle savedInstanceState) {
-        super.onActivityCreated(savedInstanceState);
-    }
-
-    @Override
     public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
         if (DEBUG) {
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsHelper.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsHelper.java
index 775186a..c219e0b 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsHelper.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsHelper.java
@@ -26,13 +26,15 @@
 import android.bluetooth.BluetoothLeAudioContentMetadata;
 import android.bluetooth.BluetoothLeBroadcastMetadata;
 import android.bluetooth.BluetoothLeBroadcastReceiveState;
-import android.bluetooth.BluetoothProfile;
 import android.content.Context;
 import android.content.Intent;
+import android.content.res.Configuration;
 import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.FragmentActivity;
 
+import com.android.settings.R;
 import com.android.settings.connecteddevice.audiosharing.AudioSharingUtils;
 import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
@@ -41,6 +43,7 @@
 import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
 import com.android.settingslib.utils.ThreadUtils;
 
+import com.google.android.material.appbar.AppBarLayout;
 import com.google.common.base.Strings;
 
 import java.util.ArrayList;
@@ -71,7 +74,8 @@
      *
      * @param source The LE broadcast metadata representing the audio source.
      */
-    void addSource(BluetoothLeBroadcastMetadata source) {
+    @VisibleForTesting
+    public void addSource(BluetoothLeBroadcastMetadata source) {
         if (mLeBroadcastAssistant == null) {
             Log.w(TAG, "addSource(): LeBroadcastAssistant is null!");
             return;
@@ -97,7 +101,8 @@
     }
 
     /** Removes sources from LE broadcasts associated for all active sinks based on broadcast Id. */
-    void removeSource(int broadcastId) {
+    @VisibleForTesting
+    public void removeSource(int broadcastId) {
         if (mLeBroadcastAssistant == null) {
             Log.w(TAG, "removeSource(): LeBroadcastAssistant is null!");
             return;
@@ -275,9 +280,7 @@
             Log.w(TAG, "getConnectedBluetoothDevices(): LeBroadcastAssistant is null!");
             return emptyList();
         }
-        List<BluetoothDevice> connectedDevices =
-                leBroadcastAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED});
+        List<BluetoothDevice> connectedDevices = leBroadcastAssistant.getAllConnectedDevices();
         Optional<CachedBluetoothDevice> cachedBluetoothDevice =
                 inSharingOnly
                         ? getCachedBluetoothDeviceInSharing(manager)
@@ -347,4 +350,16 @@
         intent.putParcelableArrayListExtra(DEVICES, new ArrayList<>(devices));
         context.startService(intent);
     }
+
+    static void configureAppBarByOrientation(@Nullable FragmentActivity activity) {
+        if (activity != null) {
+            AppBarLayout appBarLayout = activity.findViewById(R.id.app_bar);
+            if (appBarLayout != null) {
+                boolean canAppBarExpand =
+                        activity.getResources().getConfiguration().orientation
+                                == Configuration.ORIENTATION_PORTRAIT;
+                appBarLayout.setExpanded(canAppBarExpand);
+            }
+        }
+    }
 }
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryCallback.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryCallback.java
index cb3a0da..3370d8d 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryCallback.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryCallback.java
@@ -19,7 +19,6 @@
 import android.bluetooth.BluetoothDevice;
 import android.bluetooth.BluetoothLeBroadcastMetadata;
 import android.bluetooth.BluetoothLeBroadcastReceiveState;
-import android.util.Log;
 
 public class AudioStreamsProgressCategoryCallback extends AudioStreamsBroadcastAssistantCallback {
     private static final String TAG = "AudioStreamsProgressCategoryCallback";
@@ -53,10 +52,6 @@
     @Override
     public void onSearchStarted(int reason) {
         super.onSearchStarted(reason);
-        if (mCategoryController == null) {
-            Log.w(TAG, "onSearchStarted() : mCategoryController is null!");
-            return;
-        }
         mCategoryController.setScanning(true);
     }
 
@@ -69,10 +64,6 @@
     @Override
     public void onSearchStopped(int reason) {
         super.onSearchStopped(reason);
-        if (mCategoryController == null) {
-            Log.w(TAG, "onSearchStopped() : mCategoryController is null!");
-            return;
-        }
         mCategoryController.setScanning(false);
     }
 
@@ -86,10 +77,6 @@
     @Override
     public void onSourceFound(BluetoothLeBroadcastMetadata source) {
         super.onSourceFound(source);
-        if (mCategoryController == null) {
-            Log.w(TAG, "onSourceFound() : mCategoryController is null!");
-            return;
-        }
         mCategoryController.handleSourceFound(source);
     }
 
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryController.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryController.java
index 890879e..9bbf135 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryController.java
@@ -20,6 +20,7 @@
 
 import android.app.AlertDialog;
 import android.app.settings.SettingsEnums;
+import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothLeBroadcastMetadata;
 import android.bluetooth.BluetoothLeBroadcastReceiveState;
 import android.bluetooth.BluetoothProfile;
@@ -27,10 +28,12 @@
 import android.util.Log;
 
 import androidx.annotation.NonNull;
+import androidx.fragment.app.Fragment;
 import androidx.lifecycle.DefaultLifecycleObserver;
 import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.PreferenceScreen;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settings.bluetooth.Utils;
 import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
@@ -55,13 +58,35 @@
         implements DefaultLifecycleObserver {
     private static final String TAG = "AudioStreamsProgressCategoryController";
     private static final boolean DEBUG = BluetoothUtils.D;
-    private static final int UNSET_BROADCAST_ID = -1;
-    private final BluetoothCallback mBluetoothCallback =
+    @VisibleForTesting static final int UNSET_BROADCAST_ID = -1;
+
+    @VisibleForTesting
+    final BluetoothCallback mBluetoothCallback =
             new BluetoothCallback() {
                 @Override
-                public void onActiveDeviceChanged(
-                        @Nullable CachedBluetoothDevice activeDevice, int bluetoothProfile) {
-                    if (bluetoothProfile == BluetoothProfile.LE_AUDIO) {
+                public void onBluetoothStateChanged(@AdapterState int bluetoothState) {
+                    Log.d(TAG, "onBluetoothStateChanged() with bluetoothState : " + bluetoothState);
+                    if (bluetoothState == BluetoothAdapter.STATE_OFF) {
+                        mExecutor.execute(() -> init());
+                    }
+                }
+
+                @Override
+                public void onProfileConnectionStateChanged(
+                        @NonNull CachedBluetoothDevice cachedDevice,
+                        @ConnectionState int state,
+                        int bluetoothProfile) {
+                    Log.d(
+                            TAG,
+                            "onProfileConnectionStateChanged() with cachedDevice : "
+                                    + cachedDevice.getAddress()
+                                    + " with state : "
+                                    + state
+                                    + " on profile : "
+                                    + bluetoothProfile);
+                    if (bluetoothProfile == BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT
+                            && (state == BluetoothAdapter.STATE_CONNECTED
+                                    || state == BluetoothAdapter.STATE_DISCONNECTED)) {
                         mExecutor.execute(() -> init());
                     }
                 }
@@ -92,7 +117,7 @@
         SOURCE_ADDED,
     }
 
-    private final Executor mExecutor;
+    @VisibleForTesting Executor mExecutor;
     private final AudioStreamsProgressCategoryCallback mBroadcastAssistantCallback;
     private final AudioStreamsHelper mAudioStreamsHelper;
     private final MediaControlHelper mMediaControlHelper;
@@ -103,7 +128,7 @@
     private @Nullable BluetoothLeBroadcastMetadata mSourceFromQrCode;
     private SourceOriginForLogging mSourceFromQrCodeOriginForLogging;
     @Nullable private AudioStreamsProgressCategoryPreference mCategoryPreference;
-    @Nullable private AudioStreamsDashboardFragment mFragment;
+    @Nullable private Fragment mFragment;
 
     public AudioStreamsProgressCategoryController(Context context, String preferenceKey) {
         super(context, preferenceKey);
@@ -142,12 +167,12 @@
         mExecutor.execute(this::stopScanning);
     }
 
-    void setFragment(AudioStreamsDashboardFragment fragment) {
+    void setFragment(Fragment fragment) {
         mFragment = fragment;
     }
 
     @Nullable
-    AudioStreamsDashboardFragment getFragment() {
+    Fragment getFragment() {
         return mFragment;
     }
 
@@ -546,7 +571,8 @@
         return preference;
     }
 
-    private void moveToState(AudioStreamPreference preference, AudioStreamState state) {
+    @VisibleForTesting
+    void moveToState(AudioStreamPreference preference, AudioStreamState state) {
         AudioStreamStateHandler stateHandler =
                 switch (state) {
                     case SYNCED -> SyncedState.getInstance();
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsQrCodeFragment.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsQrCodeFragment.java
index e4c0794..3c362c0 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsQrCodeFragment.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsQrCodeFragment.java
@@ -55,12 +55,14 @@
     @Override
     public final View onCreateView(
             LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
-        return inflater.inflate(R.xml.bluetooth_audio_streams_qr_code, container, false);
+        return inflater.inflate(R.layout.bluetooth_audio_streams_qr_code, container, false);
     }
 
     @Override
     public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
+        // Collapse or expand the app bar based on orientation for better display the qr code image.
+        AudioStreamsHelper.configureAppBarByOrientation(getActivity());
         var unused = ThreadUtils.postOnBackgroundThread(
                 () -> {
                     BluetoothLeBroadcastMetadata broadcastMetadata = getBroadcastMetadata();
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsQrCodeScanFragment.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsQrCodeScanFragment.java
index 8df4317..76854a4 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsQrCodeScanFragment.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsQrCodeScanFragment.java
@@ -116,6 +116,8 @@
     @Override
     public final View onCreateView(
             LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+        // Collapse or expand the app bar based on orientation for better display the qr camera.
+        AudioStreamsHelper.configureAppBarByOrientation(getActivity());
         return inflater.inflate(
                 R.layout.qrcode_scanner_fragment, container, /* attachToRoot */ false);
     }
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsScanQrCodeController.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsScanQrCodeController.java
index 5f50be7..d0d82fb 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsScanQrCodeController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsScanQrCodeController.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.connecteddevice.audiosharing.audiostreams;
 
+import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothProfile;
 import android.content.Context;
 import android.util.Log;
@@ -47,9 +48,13 @@
     final BluetoothCallback mBluetoothCallback =
             new BluetoothCallback() {
                 @Override
-                public void onActiveDeviceChanged(
-                        @Nullable CachedBluetoothDevice activeDevice, int bluetoothProfile) {
-                    if (bluetoothProfile == BluetoothProfile.LE_AUDIO) {
+                public void onProfileConnectionStateChanged(
+                        @NonNull CachedBluetoothDevice cachedDevice,
+                        @ConnectionState int state,
+                        int bluetoothProfile) {
+                    if (bluetoothProfile == BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT
+                            && (state == BluetoothAdapter.STATE_CONNECTED
+                                    || state == BluetoothAdapter.STATE_DISCONNECTED)) {
                         updateVisibility();
                     }
                 }
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/SourceAddedState.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/SourceAddedState.java
index ee84429..88393ab 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/SourceAddedState.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/SourceAddedState.java
@@ -25,6 +25,7 @@
 
 import com.android.settings.R;
 import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.dashboard.DashboardFragment;
 
 class SourceAddedState extends AudioStreamStateHandler {
     @VisibleForTesting
@@ -32,7 +33,8 @@
 
     @Nullable private static SourceAddedState sInstance = null;
 
-    private SourceAddedState() {}
+    @VisibleForTesting
+    SourceAddedState() {}
 
     static SourceAddedState getInstance() {
         if (sInstance == null) {
@@ -80,13 +82,13 @@
                     AudioStreamDetailsFragment.BROADCAST_ID_ARG, p.getAudioStreamBroadcastId());
 
             new SubSettingLauncher(p.getContext())
-                    .setTitleText(
-                            p.getContext().getString(R.string.audio_streams_detail_page_title))
+                    .setTitleRes(R.string.audio_streams_detail_page_title)
                     .setDestination(AudioStreamDetailsFragment.class.getName())
                     .setSourceMetricsCategory(
-                            controller.getFragment() == null
+                            !(controller.getFragment() instanceof DashboardFragment)
                                     ? SettingsEnums.PAGE_UNKNOWN
-                                    : controller.getFragment().getMetricsCategory())
+                                    : ((DashboardFragment) controller.getFragment())
+                                            .getMetricsCategory())
                     .setArguments(broadcast)
                     .launch();
             return true;
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/WaitForSyncState.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/WaitForSyncState.java
index 55f61fd..9689b26 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/WaitForSyncState.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/WaitForSyncState.java
@@ -39,7 +39,8 @@
 
     @Nullable private static WaitForSyncState sInstance = null;
 
-    private WaitForSyncState() {}
+    @VisibleForTesting
+    WaitForSyncState() {}
 
     static WaitForSyncState getInstance() {
         if (sInstance == null) {
@@ -114,7 +115,8 @@
                 SettingsEnums.DIALOG_AUDIO_STREAM_MAIN_WAIT_FOR_SYNC_TIMEOUT);
     }
 
-    private void launchQrCodeScanFragment(Context context, Fragment fragment) {
+    @VisibleForTesting
+    void launchQrCodeScanFragment(Context context, Fragment fragment) {
         new SubSettingLauncher(context)
                 .setTitleRes(R.string.audio_streams_main_page_scan_qr_code_title)
                 .setDestination(AudioStreamsQrCodeScanFragment.class.getName())
diff --git a/src/com/android/settings/connecteddevice/display/ExternalDisplayPreferenceFragment.java b/src/com/android/settings/connecteddevice/display/ExternalDisplayPreferenceFragment.java
new file mode 100644
index 0000000..7b5bef6
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/display/ExternalDisplayPreferenceFragment.java
@@ -0,0 +1,537 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.display;
+
+
+import static android.view.Display.INVALID_DISPLAY;
+
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.EXTERNAL_DISPLAY_HELP_URL;
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.DISPLAY_ID_ARG;
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.EXTERNAL_DISPLAY_NOT_FOUND_RESOURCE;
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isDisplayAllowed;
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isUseDisplaySettingEnabled;
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isResolutionSettingEnabled;
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isRotationSettingEnabled;
+
+import android.app.Activity;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.Bundle;
+import android.view.Display;
+import android.view.View;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.ListPreference;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
+import com.android.settings.SettingsPreferenceFragmentBase;
+import com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.DisplayListener;
+import com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.Injector;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settingslib.widget.FooterPreference;
+import com.android.settingslib.widget.IllustrationPreference;
+import com.android.settingslib.widget.MainSwitchPreference;
+import com.android.settingslib.widget.TwoTargetPreference;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The Settings screen for External Displays configuration and connection management.
+ */
+public class ExternalDisplayPreferenceFragment extends SettingsPreferenceFragmentBase {
+    static final int EXTERNAL_DISPLAY_SETTINGS_RESOURCE = R.xml.external_display_settings;
+    static final String DISPLAYS_LIST_PREFERENCE_KEY = "displays_list_preference";
+    static final String EXTERNAL_DISPLAY_USE_PREFERENCE_KEY = "external_display_use_preference";
+    static final String EXTERNAL_DISPLAY_ROTATION_KEY = "external_display_rotation";
+    static final String EXTERNAL_DISPLAY_RESOLUTION_PREFERENCE_KEY = "external_display_resolution";
+    static final int EXTERNAL_DISPLAY_CHANGE_RESOLUTION_FOOTER_RESOURCE =
+            R.string.external_display_change_resolution_footer_title;
+    static final int EXTERNAL_DISPLAY_LANDSCAPE_DRAWABLE =
+            R.drawable.external_display_mirror_landscape;
+    static final int EXTERNAL_DISPLAY_TITLE_RESOURCE =
+            R.string.external_display_settings_title;
+    static final int EXTERNAL_DISPLAY_USE_TITLE_RESOURCE =
+            R.string.external_display_use_title;
+    static final int EXTERNAL_DISPLAY_NOT_FOUND_FOOTER_RESOURCE =
+            R.string.external_display_not_found_footer_title;
+    static final int EXTERNAL_DISPLAY_PORTRAIT_DRAWABLE =
+            R.drawable.external_display_mirror_portrait;
+    static final int EXTERNAL_DISPLAY_ROTATION_TITLE_RESOURCE =
+            R.string.external_display_rotation;
+    static final int EXTERNAL_DISPLAY_RESOLUTION_TITLE_RESOURCE =
+            R.string.external_display_resolution_settings_title;
+    @VisibleForTesting
+    static final String PREVIOUSLY_SHOWN_LIST_KEY = "mPreviouslyShownListOfDisplays";
+    private boolean mStarted;
+    @Nullable
+    private MainSwitchPreference mUseDisplayPref;
+    @Nullable
+    private IllustrationPreference mImagePreference;
+    @Nullable
+    private Preference mResolutionPreference;
+    @Nullable
+    private ListPreference mRotationPref;
+    @Nullable
+    private FooterPreference mFooterPreference;
+    @Nullable
+    private PreferenceCategory mDisplaysPreference;
+    @Nullable
+    private Injector mInjector;
+    @Nullable
+    private String[] mRotationEntries;
+    @Nullable
+    private String[] mRotationEntriesValues;
+    @NonNull
+    private final Runnable mUpdateRunnable = this::update;
+    private final DisplayListener mListener = new DisplayListener() {
+        @Override
+        public void update(int displayId) {
+            scheduleUpdate();
+        }
+    };
+    private boolean mPreviouslyShownListOfDisplays;
+
+    public ExternalDisplayPreferenceFragment() {}
+
+    @VisibleForTesting
+    ExternalDisplayPreferenceFragment(@NonNull Injector injector) {
+        mInjector = injector;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY;
+    }
+
+    @Override
+    public int getHelpResource() {
+        return EXTERNAL_DISPLAY_HELP_URL;
+    }
+
+    @Override
+    public void onSaveInstanceStateCallback(@NonNull Bundle outState) {
+        outState.putSerializable(PREVIOUSLY_SHOWN_LIST_KEY,
+                (Serializable) mPreviouslyShownListOfDisplays);
+    }
+
+    @Override
+    public void onCreateCallback(@Nullable Bundle icicle) {
+        if (mInjector == null) {
+            mInjector = new Injector(getPrefContext());
+        }
+        addPreferencesFromResource(EXTERNAL_DISPLAY_SETTINGS_RESOURCE);
+    }
+
+    @Override
+    public void onActivityCreatedCallback(@Nullable Bundle savedInstanceState) {
+        restoreState(savedInstanceState);
+        View view = getView();
+        TextView emptyView = null;
+        if (view != null) {
+            emptyView = (TextView) view.findViewById(android.R.id.empty);
+        }
+        if (emptyView != null) {
+            emptyView.setText(EXTERNAL_DISPLAY_NOT_FOUND_RESOURCE);
+            setEmptyView(emptyView);
+        }
+    }
+
+    @Override
+    public void onStartCallback() {
+        mStarted = true;
+        if (mInjector == null) {
+            return;
+        }
+        mInjector.registerDisplayListener(mListener);
+        scheduleUpdate();
+    }
+
+    @Override
+    public void onStopCallback() {
+        mStarted = false;
+        if (mInjector == null) {
+            return;
+        }
+        mInjector.unregisterDisplayListener(mListener);
+        unscheduleUpdate();
+    }
+
+    /**
+     * @return id of the preference.
+     */
+    @Override
+    protected int getPreferenceScreenResId() {
+        return EXTERNAL_DISPLAY_SETTINGS_RESOURCE;
+    }
+
+    @VisibleForTesting
+    protected void launchResolutionSelector(@NonNull final Context context, final int displayId) {
+        final Bundle args = new Bundle();
+        args.putInt(DISPLAY_ID_ARG, displayId);
+        new SubSettingLauncher(context)
+                .setDestination(ResolutionPreferenceFragment.class.getName())
+                .setArguments(args)
+                .setSourceMetricsCategory(getMetricsCategory()).launch();
+    }
+
+    @VisibleForTesting
+    protected void launchDisplaySettings(final int displayId) {
+        final Bundle args = new Bundle();
+        var context = getPrefContext();
+        args.putInt(DISPLAY_ID_ARG, displayId);
+        new SubSettingLauncher(context)
+                .setDestination(this.getClass().getName())
+                .setArguments(args)
+                .setSourceMetricsCategory(getMetricsCategory()).launch();
+    }
+
+    /**
+     * Returns the preference for the footer.
+     */
+    @NonNull
+    @VisibleForTesting
+    FooterPreference getFooterPreference(@NonNull Context context) {
+        if (mFooterPreference == null) {
+            mFooterPreference = new FooterPreference(context);
+            mFooterPreference.setPersistent(false);
+        }
+        return mFooterPreference;
+    }
+
+    @NonNull
+    @VisibleForTesting
+    ListPreference getRotationPreference(@NonNull Context context) {
+        if (mRotationPref == null) {
+            mRotationPref = new ListPreference(context);
+            mRotationPref.setPersistent(false);
+        }
+        return mRotationPref;
+    }
+
+    @NonNull
+    @VisibleForTesting
+    Preference getResolutionPreference(@NonNull Context context) {
+        if (mResolutionPreference == null) {
+            mResolutionPreference = new Preference(context);
+            mResolutionPreference.setPersistent(false);
+        }
+        return mResolutionPreference;
+    }
+
+    @NonNull
+    @VisibleForTesting
+    MainSwitchPreference getUseDisplayPreference(@NonNull Context context) {
+        if (mUseDisplayPref == null) {
+            mUseDisplayPref = new MainSwitchPreference(context);
+            mUseDisplayPref.setPersistent(false);
+        }
+        return mUseDisplayPref;
+    }
+
+    @NonNull
+    @VisibleForTesting
+    IllustrationPreference getIllustrationPreference(@NonNull Context context) {
+        if (mImagePreference == null) {
+            mImagePreference = new IllustrationPreference(context);
+            mImagePreference.setPersistent(false);
+        }
+        return mImagePreference;
+    }
+
+    /**
+     * @return return display id argument of this settings page.
+     */
+    @VisibleForTesting
+    protected int getDisplayIdArg() {
+        var args = getArguments();
+        return args != null ? args.getInt(DISPLAY_ID_ARG, INVALID_DISPLAY) : INVALID_DISPLAY;
+    }
+
+    @NonNull
+    private PreferenceCategory getDisplaysListPreference(@NonNull Context context) {
+        if (mDisplaysPreference == null) {
+            mDisplaysPreference = new PreferenceCategory(context);
+            mDisplaysPreference.setPersistent(false);
+        }
+        return mDisplaysPreference;
+    }
+
+    private void restoreState(@Nullable Bundle savedInstanceState) {
+        if (savedInstanceState == null) {
+            return;
+        }
+        mPreviouslyShownListOfDisplays = Boolean.TRUE.equals(savedInstanceState.getSerializable(
+                PREVIOUSLY_SHOWN_LIST_KEY, Boolean.class));
+    }
+
+    private void update() {
+        final var screen = getPreferenceScreen();
+        if (screen == null || mInjector == null || mInjector.getContext() == null) {
+            return;
+        }
+        screen.removeAll();
+        updateScreenForDisplayId(getDisplayIdArg(), screen, mInjector.getContext());
+    }
+
+    private void updateScreenForDisplayId(final int displayId,
+            @NonNull final PreferenceScreen screen, @NonNull Context context) {
+        final var displaysToShow = getDisplaysToShow(displayId);
+        if (displaysToShow.isEmpty() && displayId == INVALID_DISPLAY) {
+            showTextWhenNoDisplaysToShow(screen, context);
+        } else if (displaysToShow.size() == 1
+                && ((displayId == INVALID_DISPLAY && !mPreviouslyShownListOfDisplays)
+                        || displaysToShow.get(0).getDisplayId() == displayId)) {
+            showDisplaySettings(displaysToShow.get(0), screen, context);
+        } else if (displayId == INVALID_DISPLAY) {
+            // If ever shown a list of displays - keep showing it for consistency after
+            // disconnecting one of the displays, and only one display is left.
+            mPreviouslyShownListOfDisplays = true;
+            showDisplaysList(displaysToShow, screen, context);
+        }
+        updateSettingsTitle(displaysToShow, displayId);
+    }
+
+    private void updateSettingsTitle(@NonNull final List<Display> displaysToShow, int displayId) {
+        final Activity activity = getCurrentActivity();
+        if (activity == null) {
+            return;
+        }
+        if (displaysToShow.size() == 1 && displaysToShow.get(0).getDisplayId() == displayId) {
+            var displayName = displaysToShow.get(0).getName();
+            if (!displayName.isEmpty()) {
+                activity.setTitle(displayName.substring(0, Math.min(displayName.length(), 40)));
+                return;
+            }
+        }
+        activity.setTitle(EXTERNAL_DISPLAY_TITLE_RESOURCE);
+    }
+
+    private void showTextWhenNoDisplaysToShow(@NonNull final PreferenceScreen screen,
+            @NonNull Context context) {
+        if (isUseDisplaySettingEnabled(mInjector)) {
+            screen.addPreference(updateUseDisplayPreferenceNoDisplaysFound(context));
+        }
+        screen.addPreference(updateFooterPreference(context,
+                EXTERNAL_DISPLAY_NOT_FOUND_FOOTER_RESOURCE));
+    }
+
+    private void showDisplaySettings(@NonNull Display display, @NonNull PreferenceScreen screen,
+            @NonNull Context context) {
+        final var isEnabled = mInjector != null && mInjector.isDisplayEnabled(display);
+        if (isUseDisplaySettingEnabled(mInjector)) {
+            screen.addPreference(updateUseDisplayPreference(context, display, isEnabled));
+        }
+        if (!isEnabled) {
+            // Skip all other settings
+            return;
+        }
+        final var displayRotation = getDisplayRotation(display.getDisplayId());
+        screen.addPreference(updateIllustrationImage(context, displayRotation));
+        screen.addPreference(updateResolutionPreference(context, display));
+        screen.addPreference(updateRotationPreference(context, display, displayRotation));
+        if (isResolutionSettingEnabled(mInjector)) {
+            screen.addPreference(updateFooterPreference(context,
+                    EXTERNAL_DISPLAY_CHANGE_RESOLUTION_FOOTER_RESOURCE));
+        }
+    }
+
+    private void showDisplaysList(@NonNull List<Display> displaysToShow,
+            @NonNull PreferenceScreen screen, @NonNull Context context) {
+        var pref = getDisplaysListPreference(context);
+        pref.setKey(DISPLAYS_LIST_PREFERENCE_KEY);
+        pref.removeAll();
+        if (!displaysToShow.isEmpty()) {
+            screen.addPreference(pref);
+        }
+        for (var display : displaysToShow) {
+            pref.addPreference(new DisplayPreference(context, display));
+        }
+    }
+
+    private List<Display> getDisplaysToShow(int displayIdToShow) {
+        if (mInjector == null) {
+            return List.of();
+        }
+        if (displayIdToShow != INVALID_DISPLAY) {
+            var display = mInjector.getDisplay(displayIdToShow);
+            if (display != null && isDisplayAllowed(display, mInjector)) {
+                return List.of(display);
+            }
+        }
+        var displaysToShow = new ArrayList<Display>();
+        for (var display : mInjector.getAllDisplays()) {
+            if (display != null && isDisplayAllowed(display, mInjector)) {
+                displaysToShow.add(display);
+            }
+        }
+        return displaysToShow;
+    }
+
+    private Preference updateUseDisplayPreferenceNoDisplaysFound(@NonNull Context context) {
+        final var pref = getUseDisplayPreference(context);
+        pref.setKey(EXTERNAL_DISPLAY_USE_PREFERENCE_KEY);
+        pref.setTitle(EXTERNAL_DISPLAY_USE_TITLE_RESOURCE);
+        pref.setChecked(false);
+        pref.setEnabled(false);
+        pref.setOnPreferenceChangeListener(null);
+        return pref;
+    }
+
+    private Preference updateUseDisplayPreference(@NonNull final Context context,
+            @NonNull final Display display, boolean isEnabled) {
+        final var pref = getUseDisplayPreference(context);
+        pref.setKey(EXTERNAL_DISPLAY_USE_PREFERENCE_KEY);
+        pref.setTitle(EXTERNAL_DISPLAY_USE_TITLE_RESOURCE);
+        pref.setChecked(isEnabled);
+        pref.setEnabled(true);
+        pref.setOnPreferenceChangeListener((p, newValue) -> {
+            writePreferenceClickMetric(p);
+            final boolean result;
+            if (mInjector == null) {
+                return false;
+            }
+            if ((Boolean) newValue) {
+                result = mInjector.enableConnectedDisplay(display.getDisplayId());
+            } else {
+                result = mInjector.disableConnectedDisplay(display.getDisplayId());
+            }
+            if (result) {
+                pref.setChecked((Boolean) newValue);
+            }
+            return result;
+        });
+        return pref;
+    }
+
+    private Preference updateIllustrationImage(@NonNull final Context context,
+            final int displayRotation) {
+        var pref = getIllustrationPreference(context);
+        if (displayRotation % 2 == 0) {
+            pref.setLottieAnimationResId(EXTERNAL_DISPLAY_PORTRAIT_DRAWABLE);
+        } else {
+            pref.setLottieAnimationResId(EXTERNAL_DISPLAY_LANDSCAPE_DRAWABLE);
+        }
+        return pref;
+    }
+
+    private Preference updateFooterPreference(@NonNull final Context context, final int title) {
+        var pref = getFooterPreference(context);
+        pref.setTitle(title);
+        return pref;
+    }
+
+    private Preference updateRotationPreference(@NonNull final Context context,
+            @NonNull final Display display, final int displayRotation) {
+        var pref = getRotationPreference(context);
+        pref.setKey(EXTERNAL_DISPLAY_ROTATION_KEY);
+        pref.setTitle(EXTERNAL_DISPLAY_ROTATION_TITLE_RESOURCE);
+        if (mRotationEntries == null || mRotationEntriesValues == null) {
+            mRotationEntries = new String[] {
+                    context.getString(R.string.external_display_standard_rotation),
+                    context.getString(R.string.external_display_rotation_90),
+                    context.getString(R.string.external_display_rotation_180),
+                    context.getString(R.string.external_display_rotation_270)};
+            mRotationEntriesValues = new String[] {"0", "1", "2", "3"};
+        }
+        pref.setEntries(mRotationEntries);
+        pref.setEntryValues(mRotationEntriesValues);
+        pref.setValueIndex(displayRotation);
+        pref.setSummary(mRotationEntries[displayRotation]);
+        pref.setOnPreferenceChangeListener((p, newValue) -> {
+            writePreferenceClickMetric(p);
+            var rotation = Integer.parseInt((String) newValue);
+            var displayId = display.getDisplayId();
+            if (mInjector == null || !mInjector.freezeDisplayRotation(displayId, rotation)) {
+                return false;
+            }
+            pref.setValueIndex(rotation);
+            return true;
+        });
+        pref.setEnabled(isRotationSettingEnabled(mInjector));
+        return pref;
+    }
+
+    private Preference updateResolutionPreference(@NonNull final Context context,
+            @NonNull final Display display) {
+        var pref = getResolutionPreference(context);
+        pref.setKey(EXTERNAL_DISPLAY_RESOLUTION_PREFERENCE_KEY);
+        pref.setTitle(EXTERNAL_DISPLAY_RESOLUTION_TITLE_RESOURCE);
+        pref.setSummary(display.getMode().getPhysicalWidth() + " x "
+                + display.getMode().getPhysicalHeight());
+        pref.setOnPreferenceClickListener((Preference p) -> {
+            writePreferenceClickMetric(p);
+            launchResolutionSelector(context, display.getDisplayId());
+            return true;
+        });
+        pref.setEnabled(isResolutionSettingEnabled(mInjector));
+        return pref;
+    }
+
+    private int getDisplayRotation(int displayId) {
+        if (mInjector == null) {
+            return 0;
+        }
+        return Math.min(3, Math.max(0, mInjector.getDisplayUserRotation(displayId)));
+    }
+
+    private void scheduleUpdate() {
+        if (mInjector == null || !mStarted) {
+            return;
+        }
+        unscheduleUpdate();
+        mInjector.getHandler().post(mUpdateRunnable);
+    }
+
+    private void unscheduleUpdate() {
+        if (mInjector == null || !mStarted) {
+            return;
+        }
+        mInjector.getHandler().removeCallbacks(mUpdateRunnable);
+    }
+
+    @VisibleForTesting
+    class DisplayPreference extends TwoTargetPreference
+            implements Preference.OnPreferenceClickListener {
+        private final int mDisplayId;
+
+        DisplayPreference(@NonNull final Context context, @NonNull final Display display) {
+            super(context);
+            mDisplayId = display.getDisplayId();
+            setPersistent(false);
+            setKey("display_id_" + mDisplayId);
+            setTitle(display.getName());
+            setSummary(display.getMode().getPhysicalWidth() + " x "
+                               + display.getMode().getPhysicalHeight());
+            setOnPreferenceClickListener(this);
+        }
+
+        @Override
+        public boolean onPreferenceClick(@NonNull Preference preference) {
+            launchDisplaySettings(mDisplayId);
+            writePreferenceClickMetric(preference);
+            return true;
+        }
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/display/ExternalDisplaySettingsConfiguration.java b/src/com/android/settings/connecteddevice/display/ExternalDisplaySettingsConfiguration.java
new file mode 100644
index 0000000..c9ea8ae
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/display/ExternalDisplaySettingsConfiguration.java
@@ -0,0 +1,350 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.display;
+
+import static android.content.Context.DISPLAY_SERVICE;
+import static android.hardware.display.DisplayManager.DISPLAY_CATEGORY_ALL_INCLUDING_DISABLED;
+import static android.hardware.display.DisplayManager.EVENT_FLAG_DISPLAY_ADDED;
+import static android.hardware.display.DisplayManager.EVENT_FLAG_DISPLAY_CHANGED;
+import static android.hardware.display.DisplayManager.EVENT_FLAG_DISPLAY_CONNECTION_CHANGED;
+import static android.hardware.display.DisplayManager.EVENT_FLAG_DISPLAY_REMOVED;
+import static android.view.Display.INVALID_DISPLAY;
+
+import static com.android.server.display.feature.flags.Flags.enableModeLimitForExternalDisplay;
+
+import android.content.Context;
+import android.hardware.display.DisplayManager;
+import android.hardware.display.DisplayManagerGlobal;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.RemoteException;
+import android.os.SystemProperties;
+import android.view.Display;
+import android.view.Display.Mode;
+import android.view.IWindowManager;
+import android.view.WindowManagerGlobal;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.android.settings.R;
+import com.android.settings.flags.FeatureFlags;
+import com.android.settings.flags.FeatureFlagsImpl;
+
+public class ExternalDisplaySettingsConfiguration {
+    static final String VIRTUAL_DISPLAY_PACKAGE_NAME_SYSTEM_PROPERTY =
+            "persist.demo.userrotation.package_name";
+    static final String DISPLAY_ID_ARG = "display_id";
+    static final int EXTERNAL_DISPLAY_NOT_FOUND_RESOURCE = R.string.external_display_not_found;
+    static final int EXTERNAL_DISPLAY_HELP_URL = R.string.help_url_external_display;
+
+    public static class SystemServicesProvider {
+        @Nullable
+        private IWindowManager mWindowManager;
+        @Nullable
+        private DisplayManager mDisplayManager;
+        @Nullable
+        protected Context mContext;
+        /**
+         * @param name of a system property.
+         * @return the value of the system property.
+         */
+        @NonNull
+        public String getSystemProperty(@NonNull String name) {
+            return SystemProperties.get(name);
+        }
+
+        /**
+         * @return return public Display manager.
+         */
+        @Nullable
+        public DisplayManager getDisplayManager() {
+            if (mDisplayManager == null && getContext() != null) {
+                mDisplayManager = (DisplayManager) getContext().getSystemService(DISPLAY_SERVICE);
+            }
+            return mDisplayManager;
+        }
+
+        /**
+         * @return internal IWindowManager
+         */
+        @Nullable
+        public IWindowManager getWindowManager() {
+            if (mWindowManager == null) {
+                mWindowManager = WindowManagerGlobal.getWindowManagerService();
+            }
+            return mWindowManager;
+        }
+
+        /**
+         * @return context.
+         */
+        @Nullable
+        public Context getContext() {
+            return mContext;
+        }
+    }
+
+    public static class Injector extends SystemServicesProvider {
+        @NonNull
+        private final FeatureFlags mFlags;
+        @NonNull
+        private final Handler mHandler;
+
+        Injector(@Nullable Context context) {
+            this(context, new FeatureFlagsImpl(), new Handler(Looper.getMainLooper()));
+        }
+
+        Injector(@Nullable Context context, @NonNull FeatureFlags flags, @NonNull Handler handler) {
+            mContext = context;
+            mFlags = flags;
+            mHandler = handler;
+        }
+
+        /**
+         * @return all displays including disabled.
+         */
+        @NonNull
+        public Display[] getAllDisplays() {
+            var dm = getDisplayManager();
+            if (dm == null) {
+                return new Display[0];
+            }
+            return dm.getDisplays(DISPLAY_CATEGORY_ALL_INCLUDING_DISABLED);
+        }
+
+        /**
+         * @return enabled displays only.
+         */
+        @NonNull
+        public Display[] getEnabledDisplays() {
+            var dm = getDisplayManager();
+            if (dm == null) {
+                return new Display[0];
+            }
+            return dm.getDisplays();
+        }
+
+        /**
+         * @return true if the display is enabled
+         */
+        public boolean isDisplayEnabled(@NonNull Display display) {
+            for (var enabledDisplay : getEnabledDisplays()) {
+                if (enabledDisplay.getDisplayId() == display.getDisplayId()) {
+                    return true;
+                }
+            }
+            return false;
+        }
+
+        /**
+         * Register display listener.
+         */
+        public void registerDisplayListener(@NonNull DisplayManager.DisplayListener listener) {
+            var dm = getDisplayManager();
+            if (dm == null) {
+                return;
+            }
+            dm.registerDisplayListener(listener, mHandler, EVENT_FLAG_DISPLAY_ADDED
+                    | EVENT_FLAG_DISPLAY_CHANGED | EVENT_FLAG_DISPLAY_REMOVED
+                    | EVENT_FLAG_DISPLAY_CONNECTION_CHANGED);
+        }
+
+        /**
+         * Unregister display listener.
+         */
+        public void unregisterDisplayListener(@NonNull DisplayManager.DisplayListener listener) {
+            var dm = getDisplayManager();
+            if (dm == null) {
+                return;
+            }
+            dm.unregisterDisplayListener(listener);
+        }
+
+        /**
+         * @return feature flags.
+         */
+        @NonNull
+        public FeatureFlags getFlags() {
+            return mFlags;
+        }
+
+        /**
+         * Enable connected display.
+         */
+        public boolean enableConnectedDisplay(int displayId) {
+            var dm = getDisplayManager();
+            if (dm == null) {
+                return false;
+            }
+            dm.enableConnectedDisplay(displayId);
+            return true;
+        }
+
+        /**
+         * Disable connected display.
+         */
+        public boolean disableConnectedDisplay(int displayId) {
+            var dm = getDisplayManager();
+            if (dm == null) {
+                return false;
+            }
+            dm.disableConnectedDisplay(displayId);
+            return true;
+        }
+
+        /**
+         * @param displayId which must be returned
+         * @return display object for the displayId
+         */
+        @Nullable
+        public Display getDisplay(int displayId) {
+            if (displayId == INVALID_DISPLAY) {
+                return null;
+            }
+            var dm = getDisplayManager();
+            if (dm == null) {
+                return null;
+            }
+            return dm.getDisplay(displayId);
+        }
+
+        /**
+         * @return handler
+         */
+        @NonNull
+        public Handler getHandler() {
+            return mHandler;
+        }
+
+        /**
+         * Get display rotation
+         * @param displayId display identifier
+         * @return rotation
+         */
+        public int getDisplayUserRotation(int displayId) {
+            var wm = getWindowManager();
+            if (wm == null) {
+                return 0;
+            }
+            try {
+                return wm.getDisplayUserRotation(displayId);
+            } catch (RemoteException e) {
+                return 0;
+            }
+        }
+
+        /**
+         * Freeze rotation of the display in the specified rotation.
+         * @param displayId display identifier
+         * @param rotation [0, 1, 2, 3]
+         * @return true if successful
+         */
+        public boolean freezeDisplayRotation(int displayId, int rotation) {
+            var wm = getWindowManager();
+            if (wm == null) {
+                return false;
+            }
+            try {
+                wm.freezeDisplayRotation(displayId, rotation,
+                        "ExternalDisplayPreferenceFragment");
+                return true;
+            } catch (RemoteException e) {
+                return false;
+            }
+        }
+
+        /**
+         * Enforce display mode on the given display.
+         */
+        public void setUserPreferredDisplayMode(int displayId, @NonNull Mode mode) {
+            DisplayManagerGlobal.getInstance().setUserPreferredDisplayMode(displayId, mode);
+        }
+
+        /**
+         * @return true if the display mode limit flag enabled.
+         */
+        public boolean isModeLimitForExternalDisplayEnabled() {
+            return enableModeLimitForExternalDisplay();
+        }
+    }
+
+    public abstract static class DisplayListener implements DisplayManager.DisplayListener {
+        @Override
+        public void onDisplayAdded(int displayId) {
+            update(displayId);
+        }
+
+        @Override
+        public void onDisplayRemoved(int displayId) {
+            update(displayId);
+        }
+
+        @Override
+        public void onDisplayChanged(int displayId) {
+            update(displayId);
+        }
+
+        @Override
+        public void onDisplayConnected(int displayId) {
+            update(displayId);
+        }
+
+        @Override
+        public void onDisplayDisconnected(int displayId) {
+            update(displayId);
+        }
+
+        /**
+         * Called from other listener methods to trigger update of the settings page.
+         */
+        public abstract void update(int displayId);
+    }
+
+    /**
+     * @return whether the settings page is enabled or not.
+     */
+    public static boolean isExternalDisplaySettingsPageEnabled(@NonNull FeatureFlags flags) {
+        return flags.rotationConnectedDisplaySetting()
+                || flags.resolutionAndEnableConnectedDisplaySetting();
+    }
+
+    static boolean isDisplayAllowed(@NonNull Display display,
+            @NonNull SystemServicesProvider props) {
+        return display.getType() == Display.TYPE_EXTERNAL
+                || display.getType() == Display.TYPE_OVERLAY
+                || isVirtualDisplayAllowed(display, props);
+    }
+
+    static boolean isVirtualDisplayAllowed(@NonNull Display display,
+            @NonNull SystemServicesProvider properties) {
+        var sysProp = properties.getSystemProperty(VIRTUAL_DISPLAY_PACKAGE_NAME_SYSTEM_PROPERTY);
+        return !sysProp.isEmpty() && display.getType() == Display.TYPE_VIRTUAL
+                       && sysProp.equals(display.getOwnerPackageName());
+    }
+
+    static boolean isUseDisplaySettingEnabled(@Nullable Injector injector) {
+        return injector != null && injector.getFlags().resolutionAndEnableConnectedDisplaySetting();
+    }
+
+    static boolean isResolutionSettingEnabled(@Nullable Injector injector) {
+        return injector != null && injector.getFlags().resolutionAndEnableConnectedDisplaySetting();
+    }
+
+    static boolean isRotationSettingEnabled(@Nullable Injector injector) {
+        return injector != null && injector.getFlags().rotationConnectedDisplaySetting();
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/display/ExternalDisplayUpdater.java b/src/com/android/settings/connecteddevice/display/ExternalDisplayUpdater.java
new file mode 100644
index 0000000..64dd7bb
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/display/ExternalDisplayUpdater.java
@@ -0,0 +1,181 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.display;
+
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isDisplayAllowed;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.os.UserHandle;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.connecteddevice.DevicePreferenceCallback;
+import com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.DisplayListener;
+import com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.Injector;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedLockUtilsInternal;
+import com.android.settingslib.RestrictedPreference;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+
+public class ExternalDisplayUpdater {
+
+    private static final String PREF_KEY = "external_display_settings";
+    private final int mMetricsCategory;
+    @NonNull
+    private final MetricsFeatureProvider mMetricsFeatureProvider;
+    @NonNull
+    private final Runnable mUpdateRunnable = this::update;
+    @NonNull
+    private final DevicePreferenceCallback mDevicePreferenceCallback;
+    @Nullable
+    private RestrictedPreference mPreference;
+    @Nullable
+    private Injector mInjector;
+    private final DisplayListener mListener =  new DisplayListener() {
+        @Override
+        public void update(int displayId) {
+            scheduleUpdate();
+        }
+    };
+
+    public ExternalDisplayUpdater(@NonNull DevicePreferenceCallback callback, int metricsCategory) {
+        mDevicePreferenceCallback = callback;
+        mMetricsCategory = metricsCategory;
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
+    }
+
+    /**
+     * Set the context to generate the {@link Preference}, so it could get the correct theme.
+     */
+    public void initPreference(@NonNull Context context) {
+        initPreference(context, new Injector(context));
+    }
+
+    @VisibleForTesting
+    void initPreference(@NonNull Context context, Injector injector) {
+        mInjector = injector;
+        mPreference = new RestrictedPreference(context, null /* AttributeSet */);
+        mPreference.setTitle(R.string.external_display_settings_title);
+        mPreference.setSummary(getSummary());
+        mPreference.setIcon(getDrawable(context));
+        mPreference.setKey(PREF_KEY);
+        mPreference.setDisabledByAdmin(checkIfUsbDataSignalingIsDisabled(context));
+        mPreference.setOnPreferenceClickListener((Preference p) -> {
+            mMetricsFeatureProvider.logClickedPreference(p, mMetricsCategory);
+            // New version - uses a separate screen.
+            new SubSettingLauncher(context)
+                    .setDestination(ExternalDisplayPreferenceFragment.class.getName())
+                    .setTitleRes(R.string.external_display_settings_title)
+                    .setSourceMetricsCategory(mMetricsCategory)
+                    .launch();
+            return true;
+        });
+
+        scheduleUpdate();
+    }
+
+    /**
+     * Unregister the display listener.
+     */
+    public void unregisterCallback() {
+        if (mInjector != null) {
+            mInjector.unregisterDisplayListener(mListener);
+        }
+    }
+
+    /**
+     * Register the display listener.
+     */
+    public void registerCallback() {
+        if (mInjector != null) {
+            mInjector.registerDisplayListener(mListener);
+        }
+    }
+
+    @VisibleForTesting
+    @Nullable
+    protected RestrictedLockUtils.EnforcedAdmin checkIfUsbDataSignalingIsDisabled(Context context) {
+        return RestrictedLockUtilsInternal.checkIfUsbDataSignalingIsDisabled(context,
+                    UserHandle.myUserId());
+    }
+
+    @VisibleForTesting
+    @Nullable
+    protected Drawable getDrawable(Context context) {
+        return context.getDrawable(R.drawable.ic_external_display_32dp);
+    }
+
+    @Nullable
+    protected CharSequence getSummary() {
+        if (mInjector == null) {
+            return null;
+        }
+        var context = mInjector.getContext();
+        if (context == null) {
+            return null;
+        }
+
+        for (var display : mInjector.getEnabledDisplays()) {
+            if (display != null && isDisplayAllowed(display, mInjector)) {
+                return context.getString(R.string.external_display_on);
+            }
+        }
+
+        for (var display : mInjector.getAllDisplays()) {
+            if (display != null && isDisplayAllowed(display, mInjector)) {
+                return context.getString(R.string.external_display_off);
+            }
+        }
+
+        return null;
+    }
+
+    private void scheduleUpdate() {
+        if (mInjector == null) {
+            return;
+        }
+        unscheduleUpdate();
+        mInjector.getHandler().post(mUpdateRunnable);
+    }
+
+    private void unscheduleUpdate() {
+        if (mInjector == null) {
+            return;
+        }
+        mInjector.getHandler().removeCallbacks(mUpdateRunnable);
+    }
+
+    private void update() {
+        var summary = getSummary();
+        if (mPreference == null) {
+            return;
+        }
+        mPreference.setSummary(summary);
+        if (summary != null) {
+            mDevicePreferenceCallback.onDeviceAdded(mPreference);
+        } else {
+            mDevicePreferenceCallback.onDeviceRemoved(mPreference);
+        }
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/display/OWNERS b/src/com/android/settings/connecteddevice/display/OWNERS
new file mode 100644
index 0000000..78aecb9
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/display/OWNERS
@@ -0,0 +1,7 @@
+# Default reviewers for this and subdirectories.
+santoscordon@google.com
+petsjonkin@google.com
+flc@google.com
+wilczynskip@google.com
+brup@google.com
+olb@google.com
diff --git a/src/com/android/settings/connecteddevice/display/ResolutionPreferenceFragment.java b/src/com/android/settings/connecteddevice/display/ResolutionPreferenceFragment.java
new file mode 100644
index 0000000..db81be8
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/display/ResolutionPreferenceFragment.java
@@ -0,0 +1,358 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.display;
+
+import static android.view.Display.INVALID_DISPLAY;
+
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.DISPLAY_ID_ARG;
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.EXTERNAL_DISPLAY_HELP_URL;
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.EXTERNAL_DISPLAY_NOT_FOUND_RESOURCE;
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isDisplayAllowed;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.res.Resources;
+import android.os.Bundle;
+import android.util.Log;
+import android.util.Pair;
+import android.view.Display;
+import android.view.Display.Mode;
+import android.view.View;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceGroup;
+import androidx.preference.PreferenceScreen;
+
+import com.android.internal.util.ToBooleanFunction;
+import com.android.settings.R;
+import com.android.settings.SettingsPreferenceFragmentBase;
+import com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.DisplayListener;
+import com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.Injector;
+import com.android.settingslib.widget.SelectorWithWidgetPreference;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+
+public class ResolutionPreferenceFragment extends SettingsPreferenceFragmentBase {
+    private static final String TAG = "ResolutionPreference";
+    static final int DEFAULT_LOW_REFRESH_RATE = 60;
+    static final String MORE_OPTIONS_KEY = "more_options";
+    static final String TOP_OPTIONS_KEY = "top_options";
+    static final int MORE_OPTIONS_TITLE_RESOURCE =
+            R.string.external_display_more_options_title;
+    static final int EXTERNAL_DISPLAY_RESOLUTION_SETTINGS_RESOURCE =
+            R.xml.external_display_resolution_settings;
+    static final String DISPLAY_MODE_LIMIT_OVERRIDE_PROP = "persist.sys.com.android.server.display"
+            + ".feature.flags.enable_mode_limit_for_external_display-override";
+    @Nullable
+    private Injector mInjector;
+    @Nullable
+    private PreferenceCategory mTopOptionsPreference;
+    @Nullable
+    private PreferenceCategory mMoreOptionsPreference;
+    private boolean mStarted;
+    private final HashSet<String> mResolutionPreferences = new HashSet<>();
+    private int mExternalDisplayPeakWidth;
+    private int mExternalDisplayPeakHeight;
+    private int mExternalDisplayPeakRefreshRate;
+    private boolean mRefreshRateSynchronizationEnabled;
+    private boolean mMoreOptionsExpanded;
+    private final Runnable mUpdateRunnable = this::update;
+    private final DisplayListener mListener = new DisplayListener() {
+        @Override
+        public void update(int displayId) {
+            scheduleUpdate();
+        }
+    };
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY;
+    }
+
+    @Override
+    public int getHelpResource() {
+        return EXTERNAL_DISPLAY_HELP_URL;
+    }
+
+    @Override
+    public void onCreateCallback(@Nullable Bundle icicle) {
+        if (mInjector == null) {
+            mInjector = new Injector(getPrefContext());
+        }
+        addPreferencesFromResource(EXTERNAL_DISPLAY_RESOLUTION_SETTINGS_RESOURCE);
+        updateDisplayModeLimits(mInjector.getContext());
+    }
+
+    @Override
+    public void onActivityCreatedCallback(@Nullable Bundle savedInstanceState) {
+        View view = getView();
+        TextView emptyView = null;
+        if (view != null) {
+            emptyView = (TextView) view.findViewById(android.R.id.empty);
+        }
+        if (emptyView != null) {
+            emptyView.setText(EXTERNAL_DISPLAY_NOT_FOUND_RESOURCE);
+            setEmptyView(emptyView);
+        }
+    }
+
+    @Override
+    public void onStartCallback() {
+        mStarted = true;
+        if (mInjector == null) {
+            return;
+        }
+        mInjector.registerDisplayListener(mListener);
+        scheduleUpdate();
+    }
+
+    @Override
+    public void onStopCallback() {
+        mStarted = false;
+        if (mInjector == null) {
+            return;
+        }
+        mInjector.unregisterDisplayListener(mListener);
+        unscheduleUpdate();
+    }
+
+    public ResolutionPreferenceFragment() {}
+
+    @VisibleForTesting
+    ResolutionPreferenceFragment(@NonNull Injector injector) {
+        mInjector = injector;
+    }
+
+    @VisibleForTesting
+    protected int getDisplayIdArg() {
+        var args = getArguments();
+        return args != null ? args.getInt(DISPLAY_ID_ARG, INVALID_DISPLAY) : INVALID_DISPLAY;
+    }
+
+    @VisibleForTesting
+    @NonNull
+    protected Resources getResources(@NonNull Context context) {
+        return context.getResources();
+    }
+
+    private void update() {
+        final PreferenceScreen screen = getPreferenceScreen();
+        if (screen == null || mInjector == null) {
+            return;
+        }
+        var context = mInjector.getContext();
+        if (context == null) {
+            return;
+        }
+        var display = mInjector.getDisplay(getDisplayIdArg());
+        if (display == null || !isDisplayAllowed(display, mInjector)) {
+            screen.removeAll();
+            mTopOptionsPreference = null;
+            mMoreOptionsPreference = null;
+            return;
+        }
+        mResolutionPreferences.clear();
+        var remainingModes = addModePreferences(context,
+                getTopPreference(context, screen),
+                display.getSupportedModes(), this::isTopMode, display);
+        addRemainingPreferences(context,
+                getMorePreference(context, screen),
+                display, remainingModes.first, remainingModes.second);
+    }
+
+    private PreferenceCategory getTopPreference(@NonNull Context context,
+            @NonNull PreferenceScreen screen) {
+        if (mTopOptionsPreference == null) {
+            mTopOptionsPreference = new PreferenceCategory(context);
+            mTopOptionsPreference.setPersistent(false);
+            mTopOptionsPreference.setKey(TOP_OPTIONS_KEY);
+            screen.addPreference(mTopOptionsPreference);
+        } else {
+            mTopOptionsPreference.removeAll();
+        }
+        return mTopOptionsPreference;
+    }
+
+    private PreferenceCategory getMorePreference(@NonNull Context context,
+            @NonNull PreferenceScreen screen) {
+        if (mMoreOptionsPreference == null) {
+            mMoreOptionsPreference = new PreferenceCategory(context);
+            mMoreOptionsPreference.setPersistent(false);
+            mMoreOptionsPreference.setTitle(MORE_OPTIONS_TITLE_RESOURCE);
+            mMoreOptionsPreference.setOnExpandButtonClickListener(() -> {
+                mMoreOptionsExpanded = true;
+            });
+            mMoreOptionsPreference.setKey(MORE_OPTIONS_KEY);
+            screen.addPreference(mMoreOptionsPreference);
+        } else {
+            mMoreOptionsPreference.removeAll();
+        }
+        return mMoreOptionsPreference;
+    }
+
+    private void addRemainingPreferences(@NonNull Context context,
+            @NonNull PreferenceCategory group, @NonNull Display display,
+            boolean isSelectedModeFound, @NonNull Mode[] moreModes) {
+        if (moreModes.length == 0) {
+            return;
+        }
+        mMoreOptionsExpanded |= !isSelectedModeFound;
+        group.setInitialExpandedChildrenCount(mMoreOptionsExpanded ? Integer.MAX_VALUE : 0);
+        addModePreferences(context, group, moreModes, /*checkMode=*/ null, display);
+    }
+
+    private Pair<Boolean, Mode[]> addModePreferences(@NonNull Context context,
+            @NonNull PreferenceGroup group,
+            @NonNull Mode[] modes,
+            @Nullable ToBooleanFunction<Mode> checkMode,
+            @NonNull Display display) {
+        Display.Mode curMode = display.getMode();
+        var currentResolution = curMode.getPhysicalWidth() + "x" + curMode.getPhysicalHeight();
+        var rotatedResolution = curMode.getPhysicalHeight() + "x" + curMode.getPhysicalWidth();
+        var skippedModes = new ArrayList<Mode>();
+        var isAnyOfModesSelected = false;
+        for (var mode : modes) {
+            var modeStr = mode.getPhysicalWidth() + "x" + mode.getPhysicalHeight();
+            SelectorWithWidgetPreference pref = group.findPreference(modeStr);
+            if (pref != null) {
+                continue;
+            }
+            if (checkMode != null && !checkMode.apply(mode)) {
+                skippedModes.add(mode);
+                continue;
+            }
+            var isCurrentMode =
+                    currentResolution.equals(modeStr) || rotatedResolution.equals(modeStr);
+            if (!isCurrentMode && !isAllowedMode(mode)) {
+                continue;
+            }
+            if (mResolutionPreferences.contains(modeStr)) {
+                // Added to "Top modes" already.
+                continue;
+            }
+            mResolutionPreferences.add(modeStr);
+            pref = new SelectorWithWidgetPreference(context);
+            pref.setPersistent(false);
+            pref.setKey(modeStr);
+            pref.setTitle(mode.getPhysicalWidth() + " x " + mode.getPhysicalHeight());
+            pref.setSingleLineTitle(true);
+            pref.setOnClickListener(preference -> onDisplayModeClicked(preference, display));
+            pref.setChecked(isCurrentMode);
+            isAnyOfModesSelected |= isCurrentMode;
+            group.addPreference(pref);
+        }
+        return new Pair<>(isAnyOfModesSelected, skippedModes.toArray(Mode.EMPTY_ARRAY));
+    }
+
+    private boolean isTopMode(@NonNull Mode mode) {
+        return mTopOptionsPreference != null
+                && mTopOptionsPreference.getPreferenceCount() < 3;
+    }
+
+    private boolean isAllowedMode(@NonNull Mode mode) {
+        if (mRefreshRateSynchronizationEnabled
+                && (mode.getRefreshRate() < DEFAULT_LOW_REFRESH_RATE - 1
+                        || mode.getRefreshRate() > DEFAULT_LOW_REFRESH_RATE + 1)) {
+            Log.d(TAG, mode + " refresh rate is out of synchronization range");
+            return false;
+        }
+        if (mExternalDisplayPeakHeight > 0
+                && mode.getPhysicalHeight() > mExternalDisplayPeakHeight) {
+            Log.d(TAG, mode + " height is above the allowed limit");
+            return false;
+        }
+        if (mExternalDisplayPeakWidth > 0
+                && mode.getPhysicalWidth() > mExternalDisplayPeakWidth) {
+            Log.d(TAG, mode + " width is above the allowed limit");
+            return false;
+        }
+        if (mExternalDisplayPeakRefreshRate > 0
+                && mode.getRefreshRate() > mExternalDisplayPeakRefreshRate) {
+            Log.d(TAG, mode + " refresh rate is above the allowed limit");
+            return false;
+        }
+        return true;
+    }
+
+    private void scheduleUpdate() {
+        if (mInjector == null || !mStarted) {
+            return;
+        }
+        unscheduleUpdate();
+        mInjector.getHandler().post(mUpdateRunnable);
+    }
+
+    private void unscheduleUpdate() {
+        if (mInjector == null || !mStarted) {
+            return;
+        }
+        mInjector.getHandler().removeCallbacks(mUpdateRunnable);
+    }
+
+    private void onDisplayModeClicked(@NonNull SelectorWithWidgetPreference preference,
+            @NonNull Display display) {
+        if (mInjector == null) {
+            return;
+        }
+        String[] modeResolution = preference.getKey().split("x");
+        int width = Integer.parseInt(modeResolution[0]);
+        int height = Integer.parseInt(modeResolution[1]);
+        for (var mode : display.getSupportedModes()) {
+            if (mode.getPhysicalWidth() == width && mode.getPhysicalHeight() == height
+                        && isAllowedMode(mode)) {
+                mInjector.setUserPreferredDisplayMode(display.getDisplayId(), mode);
+                return;
+            }
+        }
+    }
+
+    private boolean isDisplayResolutionLimitEnabled() {
+        if (mInjector == null) {
+            return false;
+        }
+        var flagOverride = mInjector.getSystemProperty(DISPLAY_MODE_LIMIT_OVERRIDE_PROP);
+        var isOverrideEnabled = "true".equals(flagOverride);
+        var isOverrideEnabledOrNotSet = !"false".equals(flagOverride);
+        return (mInjector.isModeLimitForExternalDisplayEnabled() && isOverrideEnabledOrNotSet)
+                || isOverrideEnabled;
+    }
+
+    private void updateDisplayModeLimits(@Nullable Context context) {
+        if (context == null) {
+            return;
+        }
+        mExternalDisplayPeakRefreshRate = getResources(context).getInteger(
+                    com.android.internal.R.integer.config_externalDisplayPeakRefreshRate);
+        if (isDisplayResolutionLimitEnabled()) {
+            mExternalDisplayPeakWidth = getResources(context).getInteger(
+                    com.android.internal.R.integer.config_externalDisplayPeakWidth);
+            mExternalDisplayPeakHeight = getResources(context).getInteger(
+                    com.android.internal.R.integer.config_externalDisplayPeakHeight);
+        }
+        mRefreshRateSynchronizationEnabled = getResources(context).getBoolean(
+                    com.android.internal.R.bool.config_refreshRateSynchronizationEnabled);
+        Log.d(TAG, "mExternalDisplayPeakRefreshRate=" + mExternalDisplayPeakRefreshRate);
+        Log.d(TAG, "mExternalDisplayPeakWidth=" + mExternalDisplayPeakWidth);
+        Log.d(TAG, "mExternalDisplayPeakHeight=" + mExternalDisplayPeakHeight);
+        Log.d(TAG, "mRefreshRateSynchronizationEnabled=" + mRefreshRateSynchronizationEnabled);
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceGroupController.java b/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceGroupController.java
index 52ad91c..6b77b47 100644
--- a/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceGroupController.java
+++ b/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceGroupController.java
@@ -35,7 +35,6 @@
 import com.android.settings.connecteddevice.DevicePreferenceCallback;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settings.flags.Flags;
 import com.android.settings.overlay.FeatureFactory;
 
 /**
@@ -66,15 +65,11 @@
 
     public FastPairDeviceGroupController(Context context) {
         super(context, KEY);
-        if (Flags.enableSubsequentPairSettingsIntegration()) {
-            FastPairFeatureProvider fastPairFeatureProvider =
-                    FeatureFactory.getFeatureFactory().getFastPairFeatureProvider();
-            mFastPairDeviceUpdater =
-                    fastPairFeatureProvider.getFastPairDeviceUpdater(context, this);
-        } else {
-            Log.d(TAG, "Flag disabled. Ignored.");
-            mFastPairDeviceUpdater = null;
-        }
+        FastPairFeatureProvider fastPairFeatureProvider =
+                FeatureFactory.getFeatureFactory().getFastPairFeatureProvider();
+        mFastPairDeviceUpdater =
+                fastPairFeatureProvider.getFastPairDeviceUpdater(context, this);
+
         mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
         mIntentFilter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED);
     }
diff --git a/src/com/android/settings/connecteddevice/fastpair/FastPairDevicePreferenceController.java b/src/com/android/settings/connecteddevice/fastpair/FastPairDevicePreferenceController.java
index a1c6d18..cb365a5 100644
--- a/src/com/android/settings/connecteddevice/fastpair/FastPairDevicePreferenceController.java
+++ b/src/com/android/settings/connecteddevice/fastpair/FastPairDevicePreferenceController.java
@@ -34,8 +34,8 @@
 
 import com.android.settings.connecteddevice.DevicePreferenceCallback;
 import com.android.settings.core.BasePreferenceController;
-import com.android.settings.flags.Flags;
 import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.utils.ThreadUtils;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -75,43 +75,22 @@
     public FastPairDevicePreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
 
-        if (Flags.enableSubsequentPairSettingsIntegration()) {
-            FastPairFeatureProvider fastPairFeatureProvider =
-                    FeatureFactory.getFeatureFactory().getFastPairFeatureProvider();
-            mFastPairDeviceUpdater =
-                    fastPairFeatureProvider.getFastPairDeviceUpdater(context, this);
-        } else {
-            Log.d(TAG, "Flag disabled. Ignore.");
-            mFastPairDeviceUpdater = null;
-        }
+        FastPairFeatureProvider fastPairFeatureProvider =
+                FeatureFactory.getFeatureFactory().getFastPairFeatureProvider();
+        mFastPairDeviceUpdater =
+                fastPairFeatureProvider.getFastPairDeviceUpdater(context, this);
         mIntentFilter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED);
         mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
     }
 
     @Override
     public void onStart(@NonNull LifecycleOwner owner) {
-        if (mFastPairDeviceUpdater != null) {
-            mFastPairDeviceUpdater.setPreferenceContext(mContext);
-            mFastPairDeviceUpdater.registerCallback();
-        } else {
-            if (DEBUG) {
-                Log.d(TAG, "Callback register: Fast Pair device updater is null. Ignore.");
-            }
-        }
-        mContext.registerReceiver(mReceiver, mIntentFilter, Context.RECEIVER_EXPORTED_UNAUDITED);
+        var unused = ThreadUtils.postOnBackgroundThread(() -> registerCallbacks());
     }
 
     @Override
     public void onStop(@NonNull LifecycleOwner owner) {
-        if (mFastPairDeviceUpdater != null) {
-            mFastPairDeviceUpdater.setPreferenceContext(null);
-            mFastPairDeviceUpdater.unregisterCallback();
-        } else {
-            if (DEBUG) {
-                Log.d(TAG, "Callback unregister: Fast Pair device updater is null. Ignore.");
-            }
-        }
-        mContext.unregisterReceiver(mReceiver);
+        var unused = ThreadUtils.postOnBackgroundThread(() -> unregisterCallbacks());
     }
 
     @Override
@@ -208,4 +187,28 @@
             mSeeAllPreference.setVisible(false);
         }
     }
+
+    private void registerCallbacks() {
+        if (mFastPairDeviceUpdater != null) {
+            mFastPairDeviceUpdater.setPreferenceContext(mContext);
+            mFastPairDeviceUpdater.registerCallback();
+        } else {
+            if (DEBUG) {
+                Log.d(TAG, "Callback register: Fast Pair device updater is null. Ignore.");
+            }
+        }
+        mContext.registerReceiver(mReceiver, mIntentFilter, Context.RECEIVER_EXPORTED_UNAUDITED);
+    }
+
+    private void unregisterCallbacks() {
+        if (mFastPairDeviceUpdater != null) {
+            mFastPairDeviceUpdater.setPreferenceContext(null);
+            mFastPairDeviceUpdater.unregisterCallback();
+        } else {
+            if (DEBUG) {
+                Log.d(TAG, "Callback unregister: Fast Pair device updater is null. Ignore.");
+            }
+        }
+        mContext.unregisterReceiver(mReceiver);
+    }
 }
diff --git a/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java b/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java
index 7fbaf3c..341a49e 100644
--- a/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java
+++ b/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java
@@ -79,6 +79,8 @@
 
     private static final String TAG = "StylusDevicesController";
 
+    private final boolean mConfigEnableDefaultNotesForWorkProfile;
+
     @Nullable
     private final InputDevice mInputDevice;
 
@@ -97,6 +99,8 @@
         mInputDevice = inputDevice;
         mCachedBluetoothDevice = cachedBluetoothDevice;
         lifecycle.addObserver(this);
+        mConfigEnableDefaultNotesForWorkProfile = mContext.getResources().getBoolean(
+                android.R.bool.config_enableDefaultNotesForWorkProfile);
     }
 
     @Override
@@ -317,25 +321,27 @@
         final List<UserHandle> userProfiles = new ArrayList<>();
         userProfiles.add(currentUser);
 
-        final List<UserInfo> userInfos = um.getProfiles(currentUser.getIdentifier());
-        for (UserInfo userInfo : userInfos) {
-            if (userInfo.isManagedProfile()
-                    || (android.os.Flags.allowPrivateProfile()
-                        && android.multiuser.Flags.enablePrivateSpaceFeatures()
-                        && android.multiuser.Flags.handleInterleavedSettingsForPrivateSpace()
-                        && userInfo.isPrivateProfile())) {
-                userProfiles.add(userInfo.getUserHandle());
+        if (mConfigEnableDefaultNotesForWorkProfile) {
+            final List<UserInfo> userInfos = um.getProfiles(currentUser.getIdentifier());
+            for (UserInfo userInfo : userInfos) {
+                if (userInfo.isManagedProfile()) {
+                    userProfiles.add(userInfo.getUserHandle());
+                }
             }
         }
         return userProfiles;
     }
 
     private UserHandle getDefaultNoteTaskProfile() {
-        final int userId = Secure.getInt(
-                mContext.getContentResolver(),
-                Secure.DEFAULT_NOTE_TASK_PROFILE,
-                UserHandle.myUserId());
-        return UserHandle.of(userId);
+        final int currentUserId = UserHandle.myUserId();
+        if (mConfigEnableDefaultNotesForWorkProfile) {
+            final int userId = Secure.getInt(
+                    mContext.getContentResolver(),
+                    Secure.DEFAULT_NOTE_TASK_PROFILE,
+                    currentUserId);
+            return UserHandle.of(userId);
+        }
+        return UserHandle.of(currentUserId);
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java b/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java
index 04fab7d..ae9dbeb 100644
--- a/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java
+++ b/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java
@@ -31,6 +31,7 @@
 
 import com.android.settings.R;
 import com.android.settings.Utils;
+import com.android.settings.flags.Flags;
 import com.android.settingslib.widget.SelectorWithWidgetPreference;
 
 import java.util.LinkedHashMap;
@@ -130,39 +131,54 @@
 
     @Override
     public void onRadioButtonClicked(SelectorWithWidgetPreference preference) {
-        requireAuthAndExecute(() -> {
-            final long function = UsbBackend.usbFunctionsFromString(preference.getKey());
-            final long previousFunction = mUsbBackend.getCurrentFunctions();
-            if (DEBUG) {
-                Log.d(TAG, "onRadioButtonClicked() function : " + function + ", toString() : "
-                        + UsbManager.usbFunctionsToString(function) + ", previousFunction : "
-                        + previousFunction + ", toString() : "
-                        + UsbManager.usbFunctionsToString(previousFunction));
-            }
-            if (function != previousFunction && !Utils.isMonkeyRunning()
-                    && !isClickEventIgnored(function, previousFunction)) {
-                mPreviousFunction = previousFunction;
+        final long function = UsbBackend.usbFunctionsFromString(preference.getKey());
+        if (isAuthRequired(function)) {
+            requireAuthAndExecute(()->handleRadioButtonClicked(preference, function));
+        } else {
+            handleRadioButtonClicked(preference, function);
+        }
+    }
 
-                //Update the UI in advance to make it looks smooth
-                final SelectorWithWidgetPreference prevPref =
-                        (SelectorWithWidgetPreference) mProfilesContainer.findPreference(
-                                UsbBackend.usbFunctionsToString(mPreviousFunction));
-                if (prevPref != null) {
-                    prevPref.setChecked(false);
-                    preference.setChecked(true);
-                }
+    private void handleRadioButtonClicked(SelectorWithWidgetPreference preference, long function) {
+        final long previousFunction = mUsbBackend.getCurrentFunctions();
+        if (DEBUG) {
+            Log.d(TAG, "onRadioButtonClicked() function : " + function + ", toString() : "
+                    + UsbManager.usbFunctionsToString(function) + ", previousFunction : "
+                    + previousFunction + ", toString() : "
+                    + UsbManager.usbFunctionsToString(previousFunction));
+        }
+        if (function != previousFunction && !Utils.isMonkeyRunning()
+                && !isClickEventIgnored(function, previousFunction)) {
+            mPreviousFunction = previousFunction;
 
-                if (function == UsbManager.FUNCTION_RNDIS || function == UsbManager.FUNCTION_NCM) {
-                    // We need to have entitlement check for usb tethering, so use API in
-                    // TetheringManager.
-                    mTetheringManager.startTethering(
-                            TetheringManager.TETHERING_USB, new HandlerExecutor(mHandler),
-                            mOnStartTetheringCallback);
-                } else {
-                    mUsbBackend.setCurrentFunctions(function);
-                }
+            //Update the UI in advance to make it looks smooth
+            final SelectorWithWidgetPreference prevPref =
+                    (SelectorWithWidgetPreference) mProfilesContainer.findPreference(
+                            UsbBackend.usbFunctionsToString(mPreviousFunction));
+            if (prevPref != null) {
+                prevPref.setChecked(false);
+                preference.setChecked(true);
             }
-        });
+
+            if (function == UsbManager.FUNCTION_RNDIS || function == UsbManager.FUNCTION_NCM) {
+                // We need to have entitlement check for usb tethering, so use API in
+                // TetheringManager.
+                mTetheringManager.startTethering(
+                        TetheringManager.TETHERING_USB, new HandlerExecutor(mHandler),
+                        mOnStartTetheringCallback);
+            } else {
+                mUsbBackend.setCurrentFunctions(function);
+            }
+        }
+    }
+
+    private boolean isAuthRequired(long function) {
+        if (!Flags.excludeWebcamAuthChallenge()) {
+            return true;
+        }
+        // Since webcam and MIDI don't transfer any persistent data over USB
+        // don't require authentication.
+        return !(function == UsbManager.FUNCTION_UVC || function == UsbManager.FUNCTION_MIDI);
     }
 
     private boolean isClickEventIgnored(long function, long previousFunction) {
diff --git a/src/com/android/settings/core/BasePreferenceController.java b/src/com/android/settings/core/BasePreferenceController.java
index 5763d3b..3f91fb7 100644
--- a/src/com/android/settings/core/BasePreferenceController.java
+++ b/src/com/android/settings/core/BasePreferenceController.java
@@ -263,6 +263,16 @@
                 || availabilityStatus == DISABLED_DEPENDENT_SETTING);
     }
 
+    private boolean isAvailableForSearch() {
+        if (mIsForWork && mWorkProfileUser == null) {
+            return false;
+        }
+
+        final int availabilityStatus = getAvailabilityStatus();
+        return (availabilityStatus == AVAILABLE
+                || availabilityStatus == DISABLED_DEPENDENT_SETTING);
+    }
+
     /**
      * @return {@code false} if the setting is not applicable to the device. This covers both
      * settings which were only introduced in future versions of android, or settings that have
@@ -303,18 +313,12 @@
      * Called by SearchIndexProvider#getNonIndexableKeys
      */
     public void updateNonIndexableKeys(List<String> keys) {
-        final boolean shouldSuppressFromSearch = !isAvailable()
-                || getAvailabilityStatus() == AVAILABLE_UNSEARCHABLE;
-        if (shouldSuppressFromSearch) {
-            final String key = getPreferenceKey();
-            if (TextUtils.isEmpty(key)) {
-                Log.w(TAG, "Skipping updateNonIndexableKeys due to empty key " + toString());
-                return;
-            }
-            if (keys.contains(key)) {
-                Log.w(TAG, "Skipping updateNonIndexableKeys, key already in list. " + toString());
-                return;
-            }
+        final String key = getPreferenceKey();
+        if (TextUtils.isEmpty(key)) {
+            Log.w(TAG, "Skipping updateNonIndexableKeys due to empty key " + this);
+            return;
+        }
+        if (!keys.contains(key) && !isAvailableForSearch()) {
             keys.add(key);
         }
     }
diff --git a/src/com/android/settings/core/SettingsUIDeviceConfig.java b/src/com/android/settings/core/SettingsUIDeviceConfig.java
index 94074df..fd1bc5b 100644
--- a/src/com/android/settings/core/SettingsUIDeviceConfig.java
+++ b/src/com/android/settings/core/SettingsUIDeviceConfig.java
@@ -22,23 +22,6 @@
  */
 public class SettingsUIDeviceConfig {
     /**
-     * {@code true} if slice settings is enabled in BT device detail page
-     */
-    public static final String BT_SLICE_SETTINGS_ENABLED = "bt_slice_settings_enabled";
-    /**
-     * {@code true} if advanced header is enabled in BT device detail page
-     */
-    public static final String BT_ADVANCED_HEADER_ENABLED = "bt_advanced_header_enabled";
-    /**
-     * {@code true} if near by device suggestion is enabled in connected device page
-     */
-    public static final String BT_NEAR_BY_SUGGESTION_ENABLED = "bt_near_by_suggestion_enabled";
-    /**
-     * {@code true} if le audio contact sharing is enabled in BT device detail page
-     */
-    public static final String BT_LE_AUDIO_CONTACT_SHARING_ENABLED =
-            "bt_le_audio_contact_sharing_enabled";
-    /**
      * {@code true} whether or not event_log for generic actions is enabled. Default is true.
      */
     public static final String GENERIC_EVENT_LOGGING_ENABLED = "event_logging_enabled";
diff --git a/src/com/android/settings/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java
index 1c14712..734bddc 100644
--- a/src/com/android/settings/core/gateway/SettingsGateway.java
+++ b/src/com/android/settings/core/gateway/SettingsGateway.java
@@ -156,12 +156,15 @@
 import com.android.settings.notification.ConfigureNotificationSettings;
 import com.android.settings.notification.NotificationAccessSettings;
 import com.android.settings.notification.NotificationAssistantPicker;
+import com.android.settings.notification.PoliteNotificationsPreferenceFragment;
 import com.android.settings.notification.SoundSettings;
 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.app.ConversationListSettings;
 import com.android.settings.notification.history.NotificationStation;
+import com.android.settings.notification.modes.ZenModeFragment;
+import com.android.settings.notification.modes.ZenModesListFragment;
 import com.android.settings.notification.zen.ZenAccessSettings;
 import com.android.settings.notification.zen.ZenModeAutomationSettings;
 import com.android.settings.notification.zen.ZenModeBlockedEffectsSettings;
@@ -312,6 +315,7 @@
             AppInfoDashboardFragment.class.getName(),
             BatterySaverSettings.class.getName(),
             AppNotificationSettings.class.getName(),
+            PoliteNotificationsPreferenceFragment.class.getName(),
             NotificationAssistantPicker.class.getName(),
             ChannelNotificationSettings.class.getName(),
             SatelliteSetting.class.getName(),
@@ -396,6 +400,8 @@
             CellularSecuritySettingsFragment.class.getName(),
             AccessibilityHearingAidsFragment.class.getName(),
             HearingDevicePairingFragment.class.getName(),
+            ZenModesListFragment.class.getName(),
+            ZenModeFragment.class.getName()
     };
 
     public static final String[] SETTINGS_FOR_RESTRICTED = {
diff --git a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
index ffc97dc..791b629 100644
--- a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
+++ b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
@@ -52,6 +52,7 @@
 import android.util.Pair;
 import android.widget.Toast;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.fragment.app.FragmentActivity;
 import androidx.preference.Preference;
@@ -63,6 +64,7 @@
 import com.android.settings.activityembedding.ActivityEmbeddingRulesController;
 import com.android.settings.activityembedding.ActivityEmbeddingUtils;
 import com.android.settings.dashboard.profileselector.ProfileSelectDialog;
+import com.android.settings.flags.Flags;
 import com.android.settings.homepage.TopLevelHighlightMixin;
 import com.android.settings.homepage.TopLevelSettings;
 import com.android.settings.overlay.FeatureFactory;
@@ -413,13 +415,23 @@
                         METHOD_GET_PROVIDER_ICON);
                 final Pair<String, Integer> iconInfo = TileUtils.getIconFromUri(
                         mContext, packageName, uri, providerMap);
-                if (iconInfo == null) {
+                final Icon icon;
+                if (iconInfo != null) {
+                    icon = Icon.createWithResource(iconInfo.first, iconInfo.second);
+                } else if (Flags.supportRawDynamicIcons()) {
+                    icon = TileUtils.getRawIconFromUri(mContext, uri, providerMap);
+                } else {
+                    icon = null;
+                }
+                if (icon == null) {
                     Log.w(TAG, "Failed to get icon from uri " + uri);
                     return;
                 }
-                final Icon icon = Icon.createWithResource(iconInfo.first, iconInfo.second);
+
+                final String iconPackage = (iconInfo != null) ? iconInfo.first : null;
+
                 ThreadUtils.postOnMainThread(() -> {
-                    setPreferenceIcon(preference, tile, forceRoundedIcon, iconInfo.first, icon);
+                    setPreferenceIcon(preference, tile, forceRoundedIcon, iconPackage, icon);
                 });
             });
             return;
@@ -435,14 +447,21 @@
     }
 
     private void setPreferenceIcon(Preference preference, Tile tile, boolean forceRoundedIcon,
-            String iconPackage, Icon icon) {
+            @Nullable String iconPackage, Icon icon) {
         Drawable iconDrawable = icon.loadDrawable(preference.getContext());
         if (iconDrawable == null) {
             Log.w(TAG, "Set null preference icon for: " + iconPackage);
             preference.setIcon(null);
             return;
         }
+        // Tint homepage icons
         if (TextUtils.equals(tile.getCategory(), CategoryKey.CATEGORY_HOMEPAGE)) {
+            // Skip tinting and Adaptive Icon transformation for homepage account type raw icons
+            if (TextUtils.equals(tile.getGroupKey(), "top_level_account_category")
+                    && iconPackage == null) {
+                preference.setIcon(iconDrawable);
+                return;
+            }
             iconDrawable.setTint(Utils.getHomepageIconColor(preference.getContext()));
         }
 
diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java
index 9abc6c2..09dd1dd 100644
--- a/src/com/android/settings/dashboard/DashboardFragment.java
+++ b/src/com/android/settings/dashboard/DashboardFragment.java
@@ -15,6 +15,8 @@
  */
 package com.android.settings.dashboard;
 
+import static com.android.settingslib.flags.Flags.settingsCatalyst;
+
 import android.app.Activity;
 import android.app.settings.SettingsEnums;
 import android.content.ContentResolver;
@@ -53,6 +55,7 @@
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.drawer.DashboardCategory;
 import com.android.settingslib.drawer.Tile;
+import com.android.settingslib.metadata.PreferenceScreenRegistry;
 import com.android.settingslib.search.Indexable;
 
 import java.util.ArrayList;
@@ -97,30 +100,35 @@
                 R.array.config_suppress_injected_tile_keys));
         mDashboardFeatureProvider =
                 FeatureFactory.getFeatureFactory().getDashboardFeatureProvider();
-        // Load preference controllers from code
-        final List<AbstractPreferenceController> controllersFromCode =
-                createPreferenceControllers(context);
-        // Load preference controllers from xml definition
-        final List<BasePreferenceController> controllersFromXml = PreferenceControllerListHelper
-                .getPreferenceControllersFromXml(context, getPreferenceScreenResId());
-        // Filter xml-based controllers in case a similar controller is created from code already.
-        final List<BasePreferenceController> uniqueControllerFromXml =
-                PreferenceControllerListHelper.filterControllers(
-                        controllersFromXml, controllersFromCode);
 
-        // Add unique controllers to list.
-        if (controllersFromCode != null) {
-            mControllers.addAll(controllersFromCode);
-        }
-        mControllers.addAll(uniqueControllerFromXml);
+        if (!usePreferenceScreenMetadata() || PreferenceScreenRegistry.INSTANCE.get(
+                getPreferenceScreenBindingKey(context)) == null) {
+            // Load preference controllers from code
+            final List<AbstractPreferenceController> controllersFromCode =
+                    createPreferenceControllers(context);
+            // Load preference controllers from xml definition
+            final List<BasePreferenceController> controllersFromXml = PreferenceControllerListHelper
+                    .getPreferenceControllersFromXml(context, getPreferenceScreenResId());
+            // Filter xml-based controllers in case a similar controller is created from code
+            // already.
+            final List<BasePreferenceController> uniqueControllerFromXml =
+                    PreferenceControllerListHelper.filterControllers(
+                            controllersFromXml, controllersFromCode);
 
-        // And wire up with lifecycle.
-        final Lifecycle lifecycle = getSettingsLifecycle();
-        uniqueControllerFromXml.forEach(controller -> {
-            if (controller instanceof LifecycleObserver) {
-                lifecycle.addObserver((LifecycleObserver) controller);
+            // Add unique controllers to list.
+            if (controllersFromCode != null) {
+                mControllers.addAll(controllersFromCode);
             }
-        });
+            mControllers.addAll(uniqueControllerFromXml);
+
+            // And wire up with lifecycle.
+            final Lifecycle lifecycle = getSettingsLifecycle();
+            uniqueControllerFromXml.forEach(controller -> {
+                if (controller instanceof LifecycleObserver) {
+                    lifecycle.addObserver((LifecycleObserver) controller);
+                }
+            });
+        }
 
         // Set metrics category for BasePreferenceController.
         final int metricCategory = getMetricsCategory();
@@ -273,6 +281,11 @@
     }
 
     @Override
+    protected final int getPreferenceScreenResId(@NonNull Context context) {
+        return getPreferenceScreenResId();
+    }
+
+    @Override
     protected abstract int getPreferenceScreenResId();
 
     @Override
@@ -364,12 +377,32 @@
         if (resId <= 0) {
             return;
         }
-        addPreferencesFromResource(resId);
-        final PreferenceScreen screen = getPreferenceScreen();
+        PreferenceScreen screen;
+        if (usePreferenceScreenMetadata()) {
+            screen = createPreferenceScreen();
+            setPreferenceScreen(screen);
+            requireActivity().setTitle(screen.getTitle());
+        } else {
+            addPreferencesFromResource(resId);
+            screen = getPreferenceScreen();
+        }
         screen.setOnExpandButtonClickListener(this);
         displayResourceTilesToScreen(screen);
     }
 
+    @Override
+    protected final boolean usePreferenceScreenMetadata() {
+        return settingsCatalyst() && enableCatalyst();
+    }
+
+    /**
+     * Returns if settings catalyst should be enabled (e.g. check trunk stable flag) on current
+     * screen.
+     */
+    protected boolean enableCatalyst() {
+        return false;
+    }
+
     /**
      * Perform {@link AbstractPreferenceController#displayPreference(PreferenceScreen)}
      * on all {@link AbstractPreferenceController}s.
@@ -649,8 +682,12 @@
             DynamicDataObserver observer) {
         Log.d(TAG, "register observer: @" + Integer.toHexString(observer.hashCode())
                 + ", uri: " + observer.getUri());
-        resolver.registerContentObserver(observer.getUri(), false, observer);
-        mRegisteredObservers.add(observer);
+        try {
+            resolver.registerContentObserver(observer.getUri(), false, observer);
+            mRegisteredObservers.add(observer);
+        } catch (Exception e) {
+            Log.w(TAG, "Cannot register observer: " + observer.getUri(), e);
+        }
     }
 
     private void unregisterDynamicDataObservers(List<DynamicDataObserver> observers) {
@@ -661,8 +698,13 @@
         observers.forEach(observer -> {
             Log.d(TAG, "unregister observer: @" + Integer.toHexString(observer.hashCode())
                     + ", uri: " + observer.getUri());
-            mRegisteredObservers.remove(observer);
-            resolver.unregisterContentObserver(observer);
+            if (mRegisteredObservers.remove(observer)) {
+                try {
+                    resolver.unregisterContentObserver(observer);
+                } catch (Exception e) {
+                    Log.w(TAG, "Cannot unregister observer: " + observer.getUri(), e);
+                }
+            }
         });
     }
 
diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java
index fe97759..6c4d1ad 100644
--- a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java
+++ b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java
@@ -21,6 +21,7 @@
 import android.content.SharedPreferences;
 
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.fragment.app.Fragment;
 
 /** Interface should be implemented if you have added new suggestions */
@@ -46,6 +47,20 @@
 
     /**
      * Returns the class of {@link Fragment} that supports contextual suggestion.
+     *
+     * @deprecated - use {@link SuggestionFeatureProvider#getSuggestionFragment()} instead.
      */
-    Class<? extends Fragment> getContextualSuggestionFragment();
+    @Deprecated
+    @Nullable
+    default Class<? extends Fragment> getContextualSuggestionFragment() {
+        return null;
+    }
+
+    /**
+     * Returns the class of {@link Fragment} that provides the UI for Suggestions.
+     */
+    @Nullable
+    default Class<? extends Fragment> getSuggestionFragment() {
+        return getContextualSuggestionFragment();
+    }
 }
diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
index 0669010..5e8e374 100644
--- a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
+++ b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
@@ -22,12 +22,14 @@
 import android.content.SharedPreferences;
 
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.fragment.app.Fragment;
 
 import com.android.settings.Settings.NightDisplaySuggestionActivity;
 import com.android.settings.biometrics.fingerprint.FingerprintEnrollSuggestionActivity;
 import com.android.settings.biometrics.fingerprint.FingerprintSuggestionActivity;
 import com.android.settings.display.NightDisplayPreferenceController;
+import com.android.settings.flags.Flags;
 import com.android.settings.notification.zen.ZenOnboardingActivity;
 import com.android.settings.notification.zen.ZenSuggestionActivity;
 import com.android.settings.password.ScreenLockSuggestionActivity;
@@ -81,8 +83,13 @@
         return context.getSharedPreferences(SHARED_PREF_FILENAME, Context.MODE_PRIVATE);
     }
 
+    @Nullable
     @Override
-    public Class<? extends Fragment> getContextualSuggestionFragment() {
-        return null;
+    public Class<? extends Fragment> getSuggestionFragment() {
+        if (Flags.updatedSuggestionCardAosp()) {
+            return SuggestionFragment.class;
+        } else {
+            return null;
+        }
     }
 }
diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionFragment.kt b/src/com/android/settings/dashboard/suggestions/SuggestionFragment.kt
new file mode 100644
index 0000000..760ddc9
--- /dev/null
+++ b/src/com/android/settings/dashboard/suggestions/SuggestionFragment.kt
@@ -0,0 +1,238 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.suggestions
+
+import android.app.ActivityOptions
+import android.app.PendingIntent
+import android.app.settings.SettingsEnums
+import android.content.Context
+import android.os.Bundle
+import android.os.SystemClock
+import android.service.settings.suggestions.Suggestion
+import android.util.Log
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import com.android.settings.core.InstrumentedFragment
+import com.android.settings.homepage.SettingsHomepageActivity
+import com.android.settings.homepage.SplitLayoutListener
+import com.android.settings.overlay.FeatureFactory
+import com.android.settings.R
+import com.android.settingslib.suggestions.SuggestionController
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.Job
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
+
+private const val SUGGESTIONS = "suggestions"
+private const val TAG = "ContextualSuggestFrag"
+private const val FLAG_IS_DISMISSIBLE = 1 shl 2
+
+/**
+ * Fragment to control display and interaction logic for [Suggestion]s
+ */
+class SuggestionFragment : InstrumentedFragment(),
+    SplitLayoutListener, SuggestionController.ServiceConnectionListener {
+
+    private val scope = CoroutineScope(Job() + Dispatchers.Main)
+    private lateinit var suggestionController: SuggestionController
+    private lateinit var suggestionTile: View
+    private var icon: ImageView? = null
+    private var iconFrame: View? = null
+    private var title: TextView? = null
+    private var summary: TextView? = null
+    private var dismiss: ImageView? = null
+    private var iconVisible = true
+    private var startTime: Long = 0
+    private var suggestionsRestored = false
+    private var splitLayoutSupported = false
+
+    override fun onAttach(context: Context) {
+        super.onAttach(context)
+        val component = FeatureFactory.featureFactory
+            .suggestionFeatureProvider
+            .suggestionServiceComponent
+        suggestionController = SuggestionController(context, component, this)
+    }
+
+    override fun onCreateView(
+        inflater: LayoutInflater,
+        container: ViewGroup?,
+        savedInstanceState: Bundle?
+    ): View? {
+        suggestionTile = inflater.inflate(R.layout.suggestion_tile, container, true)
+        icon = suggestionTile.findViewById(android.R.id.icon)
+        iconFrame = suggestionTile.findViewById(android.R.id.icon_frame)
+        title = suggestionTile.findViewById(android.R.id.title)
+        summary = suggestionTile.findViewById(android.R.id.summary)
+        dismiss = suggestionTile.findViewById(android.R.id.closeButton)
+        if (!iconVisible) {
+            onSplitLayoutChanged(false)
+        }
+        // Restore the suggestion and skip reloading
+        if (savedInstanceState != null) {
+            Log.d(TAG, "Restoring suggestions")
+            savedInstanceState.getParcelableArrayList(
+                SUGGESTIONS,
+                Suggestion::class.java
+            )?.let { suggestions ->
+                suggestionsRestored = true
+                startTime = SystemClock.uptimeMillis()
+                updateState(suggestions)
+            }
+        }
+
+        return super.onCreateView(inflater, container, savedInstanceState)
+    }
+
+    override fun onSaveInstanceState(outState: Bundle) {
+        outState.putParcelableArrayList(SUGGESTIONS, currentSuggestions)
+        super.onSaveInstanceState(outState)
+    }
+
+    override fun onStart() {
+        super.onStart()
+        suggestionController.start()
+    }
+
+    override fun onStop() {
+        suggestionController.stop()
+        super.onStop()
+    }
+
+    override fun getMetricsCategory(): Int {
+        return SettingsEnums.SETTINGS_HOMEPAGE
+    }
+
+    override fun setSplitLayoutSupported(supported: Boolean) {
+        splitLayoutSupported = supported
+    }
+
+    override fun onSplitLayoutChanged(isRegularLayout: Boolean) {
+        iconVisible = isRegularLayout
+        if (splitLayoutSupported) {
+            iconFrame?.visibility = if (iconVisible) View.VISIBLE else View.GONE
+        }
+    }
+
+    override fun onServiceConnected() {
+        loadSuggestions()
+    }
+
+    override fun onServiceDisconnected() {
+        // no-op
+    }
+
+    private fun loadSuggestions() {
+        if (suggestionsRestored) {
+            // Skip first suggestion loading when restored
+            suggestionsRestored = false
+            return
+        }
+
+        startTime = SystemClock.uptimeMillis()
+        scope.launch(Dispatchers.IO) {
+            Log.d(TAG, "Start loading suggestions")
+            val suggestions = suggestionController.suggestions
+            Log.d(TAG, "Loaded suggestions: ${suggestions?.size}")
+            withContext(Dispatchers.Main) {
+                updateState(suggestions)
+            }
+        }
+    }
+
+    private fun updateState(suggestions: List<Suggestion>?) {
+        currentSuggestions.clear()
+        if (suggestions.isNullOrEmpty()) {
+            Log.d(TAG, "Remove suggestions")
+            showSuggestionTile(false)
+            return
+        }
+        currentSuggestions.addAll(suggestions)
+
+        // Only take top suggestion; we assume this is the highest rank.
+        val suggestion = suggestions.first()
+        icon?.setImageIcon(suggestion.icon)
+        suggestion.title?.let {
+            title?.text = it
+        } ?: run {
+            Log.d(TAG, "No suggestion title, removing")
+            showSuggestionTile(false)
+            return
+        }
+        val suggestionSummary = suggestion.summary
+        if (suggestionSummary.isNullOrEmpty()) {
+            summary?.visibility = View.GONE
+        } else {
+            summary?.visibility = View.VISIBLE
+            summary?.text = suggestionSummary
+        }
+        if (suggestion.flags and FLAG_IS_DISMISSIBLE != 0) {
+            dismiss?.let { dismissView ->
+                dismissView.visibility = View.VISIBLE
+                dismissView.setOnClickListener {
+                    scope.launch(Dispatchers.IO) {
+                        suggestionController.dismissSuggestions(suggestion)
+                    }
+                    if (suggestions.size > 1) {
+                        dismissView.visibility = View.GONE
+                        updateState(suggestions.subList(1, suggestions.size))
+                    } else {
+                        currentSuggestions.clear()
+                        suggestionTile.visibility = View.GONE
+                    }
+                }
+            }
+        }
+        suggestionTile.setOnClickListener {
+            // Notify service that suggestion is being launched. Note that the service does not
+            // actually start the suggestion on our behalf, instead simply logging metrics.
+            scope.launch(Dispatchers.IO) {
+                suggestionController.launchSuggestion(suggestion)
+            }
+            currentSuggestions.clear()
+            try {
+                val options = ActivityOptions.makeBasic()
+                    .setPendingIntentBackgroundActivityStartMode(
+                        ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_ALLOWED
+                    )
+                suggestion.pendingIntent.send(options.toBundle())
+            } catch (e: PendingIntent.CanceledException) {
+                Log.e(TAG, "Failed to start suggestion ${suggestion.title}", e)
+            }
+        }
+        showSuggestionTile(true)
+    }
+
+    private fun showSuggestionTile(show: Boolean) {
+        val totalTime = SystemClock.uptimeMillis() - startTime
+        Log.d(TAG, "Total loading time: $totalTime ms")
+        mMetricsFeatureProvider.action(
+            context,
+            SettingsEnums.ACTION_CONTEXTUAL_HOME_SHOW,
+            totalTime.toInt()
+        )
+        (activity as? SettingsHomepageActivity)?.showHomepageWithSuggestion(show)
+    }
+
+    private companion object {
+        val currentSuggestions = arrayListOf<Suggestion>()
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/datausage/BillingCyclePreferenceController.java b/src/com/android/settings/datausage/BillingCyclePreferenceController.java
deleted file mode 100644
index 8b55585..0000000
--- a/src/com/android/settings/datausage/BillingCyclePreferenceController.java
+++ /dev/null
@@ -1,52 +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.datausage;
-
-import android.content.Context;
-import android.net.NetworkTemplate;
-
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.core.BasePreferenceController;
-import com.android.settings.datausage.lib.DataUsageLib;
-
-public class BillingCyclePreferenceController extends BasePreferenceController {
-    private int mSubscriptionId;
-
-    public BillingCyclePreferenceController(Context context, String preferenceKey) {
-        super(context, preferenceKey);
-    }
-
-    public void init(int subscriptionId) {
-        mSubscriptionId = subscriptionId;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        BillingCyclePreference preference = screen.findPreference(getPreferenceKey());
-
-        NetworkTemplate template = DataUsageLib.getMobileTemplate(mContext, mSubscriptionId);
-
-        preference.setTemplate(template, mSubscriptionId);
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        return DataUsageUtils.hasMobileData(mContext) ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
-    }
-}
diff --git a/src/com/android/settings/datausage/BillingCyclePreferenceController.kt b/src/com/android/settings/datausage/BillingCyclePreferenceController.kt
new file mode 100644
index 0000000..f699743
--- /dev/null
+++ b/src/com/android/settings/datausage/BillingCyclePreferenceController.kt
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.datausage
+
+import android.content.Context
+import android.telephony.SubscriptionManager
+import androidx.preference.PreferenceScreen
+import com.android.settings.R
+import com.android.settings.core.BasePreferenceController
+import com.android.settings.datausage.lib.DataUsageLib.getMobileTemplate
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchItem
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchResult
+
+class BillingCyclePreferenceController(context: Context, preferenceKey: String) :
+    BasePreferenceController(context, preferenceKey) {
+    private var subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID
+
+    fun init(subId: Int) {
+        this.subId = subId
+    }
+
+    override fun getAvailabilityStatus() =
+        if (DataUsageUtils.hasMobileData(mContext)) AVAILABLE else CONDITIONALLY_UNAVAILABLE
+
+    override fun displayPreference(screen: PreferenceScreen) {
+        super.displayPreference(screen)
+        val preference = screen.findPreference<BillingCyclePreference>(preferenceKey)
+        val template = getMobileTemplate(mContext, subId)
+        preference?.setTemplate(template, subId)
+    }
+
+    companion object {
+        class BillingCycleSearchItem(private val context: Context) :
+            MobileNetworkSettingsSearchItem {
+            override fun getSearchResult(subId: Int): MobileNetworkSettingsSearchResult? {
+                if (!DataUsageUtils.hasMobileData(context)) return null
+                return MobileNetworkSettingsSearchResult(
+                    key = "billing_preference",
+                    title = context.getString(R.string.billing_cycle),
+                )
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/datausage/DataUsageList.kt b/src/com/android/settings/datausage/DataUsageList.kt
index af115d9..a293277 100644
--- a/src/com/android/settings/datausage/DataUsageList.kt
+++ b/src/com/android/settings/datausage/DataUsageList.kt
@@ -33,13 +33,10 @@
 import com.android.settings.dashboard.DashboardFragment
 import com.android.settings.datausage.lib.BillingCycleRepository
 import com.android.settings.datausage.lib.NetworkUsageData
-import com.android.settings.network.MobileNetworkRepository
 import com.android.settings.network.SubscriptionUtil
-import com.android.settings.network.telephony.requireSubscriptionManager
-import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity
+import com.android.settings.network.telephony.SubscriptionRepository
 import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
 import com.android.settingslib.spaprivileged.framework.common.userManager
-import com.android.settingslib.utils.ThreadUtils
 import kotlin.jvm.optionals.getOrNull
 
 /**
@@ -59,7 +56,6 @@
     private lateinit var billingCycleRepository: BillingCycleRepository
 
     private var usageAmount: Preference? = null
-    private var subscriptionInfoEntity: SubscriptionInfoEntity? = null
     private var dataUsageListAppsController: DataUsageListAppsController? = null
     private var chartDataUsagePreferenceController: ChartDataUsagePreferenceController? = null
     private var dataUsageListHeaderController: DataUsageListHeaderController? = null
@@ -90,7 +86,6 @@
             finish()
             return
         }
-        updateSubscriptionInfoEntity()
         dataUsageListAppsController = use(DataUsageListAppsController::class.java).apply {
             init(template)
         }
@@ -132,6 +127,16 @@
         viewModel.chartDataFlow.collectLatestWithLifecycle(viewLifecycleOwner) { chartData ->
             chartDataUsagePreferenceController?.update(chartData)
         }
+        finishIfSubscriptionDisabled()
+    }
+
+    private fun finishIfSubscriptionDisabled() {
+        if (SubscriptionManager.isUsableSubscriptionId(subId)) {
+            SubscriptionRepository(requireContext()).isSubscriptionEnabledFlow(subId)
+                .collectLatestWithLifecycle(viewLifecycleOwner) { isSubscriptionEnabled ->
+                    if (!isSubscriptionEnabled) finish()
+                }
+        }
     }
 
     override fun getPreferenceScreenResId() = R.xml.data_usage_list
@@ -155,23 +160,12 @@
         }
     }
 
-    private fun updateSubscriptionInfoEntity() {
-        ThreadUtils.postOnBackgroundThread {
-            subscriptionInfoEntity =
-                MobileNetworkRepository.getInstance(context).getSubInfoById(subId.toString())
-        }
-    }
-
     /** Update chart sweeps and cycle list to reflect [NetworkPolicy] for current [template]. */
     private fun updatePolicy(isModifiable: Boolean) {
-        val isBillingCycleModifiable = isModifiable && isActiveSubscription()
-        dataUsageListHeaderController?.setConfigButtonVisible(isBillingCycleModifiable)
-        chartDataUsagePreferenceController?.setBillingCycleModifiable(isBillingCycleModifiable)
+        dataUsageListHeaderController?.setConfigButtonVisible(isModifiable)
+        chartDataUsagePreferenceController?.setBillingCycleModifiable(isModifiable)
     }
 
-    private fun isActiveSubscription(): Boolean =
-            requireContext().requireSubscriptionManager().getActiveSubscriptionInfo(subId) != null
-
     /**
      * Updates the chart and detail data when initial loaded or selected cycle changed.
      */
@@ -187,7 +181,7 @@
     /** Updates applications data usage. */
     private fun updateApps(usageData: NetworkUsageData) {
         dataUsageListAppsController?.update(
-            carrierId = subscriptionInfoEntity?.carrierId,
+            subId = subId,
             startTime = usageData.startTime,
             endTime = usageData.endTime,
         )
diff --git a/src/com/android/settings/datausage/DataUsageListAppsController.kt b/src/com/android/settings/datausage/DataUsageListAppsController.kt
index 93623f4..d8bddde 100644
--- a/src/com/android/settings/datausage/DataUsageListAppsController.kt
+++ b/src/com/android/settings/datausage/DataUsageListAppsController.kt
@@ -20,6 +20,7 @@
 import android.content.Context
 import android.net.NetworkTemplate
 import android.os.Bundle
+import android.telephony.SubscriptionManager
 import androidx.annotation.OpenForTesting
 import androidx.annotation.VisibleForTesting
 import androidx.lifecycle.LifecycleCoroutineScope
@@ -32,6 +33,7 @@
 import com.android.settings.core.SubSettingLauncher
 import com.android.settings.datausage.lib.AppDataUsageRepository
 import com.android.settings.datausage.lib.NetworkUsageData
+import com.android.settings.network.telephony.requireSubscriptionManager
 import com.android.settingslib.AppItem
 import com.android.settingslib.net.UidDetailProvider
 import kotlinx.coroutines.Dispatchers
@@ -74,8 +76,11 @@
         this.cycleData = cycleData
     }
 
-    fun update(carrierId: Int?, startTime: Long, endTime: Long) = lifecycleScope.launch {
+    fun update(subId: Int, startTime: Long, endTime: Long) = lifecycleScope.launch {
         val apps = withContext(Dispatchers.Default) {
+            val carrierId = if (SubscriptionManager.isValidSubscriptionId(subId)) {
+                mContext.requireSubscriptionManager().getActiveSubscriptionInfo(subId)?.carrierId
+            } else null
             repository.getAppPercent(carrierId, startTime, endTime).map { (appItem, percent) ->
                 AppDataUsagePreference(mContext, appItem, percent, uidDetailProvider).apply {
                     setOnPreferenceClickListener {
diff --git a/src/com/android/settings/datausage/lib/AppDataUsageRepository.kt b/src/com/android/settings/datausage/lib/AppDataUsageRepository.kt
index 0055463..6ed9f7c 100644
--- a/src/com/android/settings/datausage/lib/AppDataUsageRepository.kt
+++ b/src/com/android/settings/datausage/lib/AppDataUsageRepository.kt
@@ -28,6 +28,7 @@
 import android.util.SparseBooleanArray
 import androidx.annotation.VisibleForTesting
 import androidx.core.util.keyIterator
+import androidx.core.util.valueIterator
 import com.android.settings.R
 import com.android.settings.datausage.lib.NetworkStatsRepository.Companion.Bucket
 import com.android.settingslib.AppItem
@@ -49,33 +50,30 @@
 
     @VisibleForTesting
     fun getAppPercent(carrierId: Int?, buckets: List<Bucket>): List<Pair<AppItem, Int>> {
-        val items = ArrayList<AppItem>()
         val knownItems = SparseArray<AppItem>()
         val profiles = context.userManager.userProfiles
         val userManager : UserManager = context.getSystemService(Context.USER_SERVICE) as UserManager
         val userIdToIsHiddenMap = profiles.associate { profile ->
             profile.identifier to shouldSkipProfile(userManager, profile)
         }
-        bindStats(buckets, userIdToIsHiddenMap, knownItems, items)
+        bindStats(buckets, userIdToIsHiddenMap, knownItems)
         val restrictedUids = context.getSystemService(NetworkPolicyManager::class.java)!!
             .getUidsWithPolicy(NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND)
         for (uid in restrictedUids) {
             // Only splice in restricted state for current user or managed users
-            if (!profiles.contains(UserHandle.getUserHandleForUid(uid))) {
-                continue
-            }
-            var item = knownItems[uid]
-            if (item == null) {
-                item = AppItem(uid)
-                item.total = 0
-                item.addUid(uid)
-                items.add(item)
-                knownItems.put(item.key, item)
-            }
+            if (UserHandle.getUserHandleForUid(uid) !in profiles) continue
+            val item =
+                knownItems[uid]
+                    ?: AppItem(uid).apply {
+                        category = AppItem.CATEGORY_APP
+                        addUid(uid)
+                        knownItems.put(uid, this)
+                    }
             item.restricted = true
         }
 
-        val filteredItems = filterItems(carrierId, items).sorted()
+        val filteredItems =
+            filterItems(carrierId, knownItems.valueIterator().asSequence().toList()).sorted()
         val largest: Long = filteredItems.maxOfOrNull { it.total } ?: 0
         return filteredItems.map { item ->
             val percentTotal = if (largest > 0) (item.total * 100 / largest).toInt() else 0
@@ -106,7 +104,6 @@
         buckets: List<Bucket>,
         userIdToIsHiddenMap: Map<Int, Boolean>,
         knownItems: SparseArray<AppItem>,
-        items: ArrayList<AppItem>,
     ) {
         for (bucket in buckets) {
             // Decide how to collapse items together
@@ -126,7 +123,6 @@
                             knownItems = knownItems,
                             bucket = bucket,
                             itemCategory = AppItem.CATEGORY_USER,
-                            items = items,
                         )
                     }
                     collapseKey = getAppUid(uid)
@@ -157,7 +153,6 @@
                 knownItems = knownItems,
                 bucket = bucket,
                 itemCategory = category,
-                items = items,
             )
         }
     }
@@ -187,15 +182,13 @@
         knownItems: SparseArray<AppItem>,
         bucket: Bucket,
         itemCategory: Int,
-        items: ArrayList<AppItem>,
     ) {
-        var item = knownItems[collapseKey]
-        if (item == null) {
-            item = AppItem(collapseKey)
-            item.category = itemCategory
-            items.add(item)
-            knownItems.put(item.key, item)
-        }
+        val item =
+            knownItems[collapseKey]
+                ?: AppItem(collapseKey).apply {
+                    category = itemCategory
+                    knownItems.put(collapseKey, this)
+                }
         item.addUid(bucket.uid)
         item.total += bucket.bytes
     }
diff --git a/src/com/android/settings/datausage/lib/BillingCycleRepository.kt b/src/com/android/settings/datausage/lib/BillingCycleRepository.kt
index d324c75..59c853d 100644
--- a/src/com/android/settings/datausage/lib/BillingCycleRepository.kt
+++ b/src/com/android/settings/datausage/lib/BillingCycleRepository.kt
@@ -21,7 +21,7 @@
 import android.os.ServiceManager
 import android.util.Log
 import androidx.annotation.OpenForTesting
-import com.android.settings.network.telephony.TelephonyRepository
+import com.android.settings.network.telephony.MobileDataRepository
 import com.android.settingslib.spaprivileged.framework.common.userManager
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.flow.Flow
@@ -36,13 +36,13 @@
         INetworkManagementService.Stub.asInterface(
             ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE)
         ),
-    private val telephonyRepository: TelephonyRepository = TelephonyRepository(context),
+    private val mobileDataRepository: MobileDataRepository = MobileDataRepository(context),
 ) {
     private val userManager = context.userManager
 
     fun isModifiableFlow(subId: Int): Flow<Boolean> =
-        telephonyRepository.isDataEnabledFlow(subId).map { isDataEnabled ->
-            isDataEnabled && isBandwidthControlEnabled() && userManager.isAdminUser
+        mobileDataRepository.isMobileDataEnabledFlow(subId).map { mobileDataEnabled ->
+            mobileDataEnabled && isBandwidthControlEnabled() && userManager.isAdminUser
         }.conflate().flowOn(Dispatchers.Default)
 
     open fun isBandwidthControlEnabled(): Boolean = try {
diff --git a/src/com/android/settings/datetime/AutoTimePreferenceController.java b/src/com/android/settings/datetime/AutoTimePreferenceController.java
index 434eba9..2942acb 100644
--- a/src/com/android/settings/datetime/AutoTimePreferenceController.java
+++ b/src/com/android/settings/datetime/AutoTimePreferenceController.java
@@ -39,6 +39,11 @@
     public AutoTimePreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
         mTimeManager = context.getSystemService(TimeManager.class);
+        // This is a no-op implementation of UpdateTimeAndDateCallback to avoid a NPE when
+        // setTimeAndDateCallback() isn't called, e.g. for slices and other cases where the
+        // controller is instantiated outside of the context of the real Date & Time settings
+        // screen.
+        mCallback  = (c) -> {};
     }
 
     public void setDateAndTimeCallback(UpdateTimeAndDateCallback callback) {
diff --git a/src/com/android/settings/datetime/AutoTimeZonePreferenceController.java b/src/com/android/settings/datetime/AutoTimeZonePreferenceController.java
index 011cc97..8eccf31 100644
--- a/src/com/android/settings/datetime/AutoTimeZonePreferenceController.java
+++ b/src/com/android/settings/datetime/AutoTimeZonePreferenceController.java
@@ -27,6 +27,8 @@
 import android.app.time.TimeZoneConfiguration;
 import android.content.Context;
 
+import androidx.preference.Preference;
+
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
@@ -40,6 +42,11 @@
     public AutoTimeZonePreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
         mTimeManager = context.getSystemService(TimeManager.class);
+        // This is a no-op implementation of UpdateTimeAndDateCallback to avoid a NPE when
+        // setTimeAndDateCallback() isn't called, e.g. for slices and other cases where the
+        // controller is instantiated outside of the context of the real Date & Time settings
+        // screen.
+        mCallback  = (c) -> {};
     }
 
     /**
@@ -111,6 +118,12 @@
     }
 
     @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        refreshSummary(preference);
+    }
+
+    @Override
     public CharSequence getSummary() {
         // If auto time zone cannot enable telephony fallback and is capable of location, then auto
         // time zone must use location.
diff --git a/src/com/android/settings/datetime/TimeFormatPreferenceController.java b/src/com/android/settings/datetime/TimeFormatPreferenceController.java
index 22f7509..19805ad 100644
--- a/src/com/android/settings/datetime/TimeFormatPreferenceController.java
+++ b/src/com/android/settings/datetime/TimeFormatPreferenceController.java
@@ -43,6 +43,11 @@
     public TimeFormatPreferenceController(Context context, String key) {
         super(context, key);
         mDummyDate = Calendar.getInstance();
+        // This is a no-op implementation of UpdateTimeAndDateCallback to avoid a NPE when
+        // setTimeAndDateCallback() isn't called, e.g. for slices and other cases where the
+        // controller is instantiated outside of the context of the real Date & Time settings
+        // screen.
+        mUpdateTimeAndDateCallback  = (c) -> {};
     }
 
     /**
diff --git a/src/com/android/settings/datetime/timezone/BaseTimeZoneAdapter.java b/src/com/android/settings/datetime/timezone/BaseTimeZoneAdapter.java
index 66735c8..e3ece21 100644
--- a/src/com/android/settings/datetime/timezone/BaseTimeZoneAdapter.java
+++ b/src/com/android/settings/datetime/timezone/BaseTimeZoneAdapter.java
@@ -33,9 +33,11 @@
 import com.android.settings.R;
 import com.android.settings.datetime.timezone.BaseTimeZonePicker.OnListItemClickListener;
 
+import java.text.Normalizer;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Locale;
+import java.util.regex.Pattern;
 
 /**
  * Used with {@class BaseTimeZonePicker}. It renders text in each item into list view. A list of
@@ -48,6 +50,9 @@
     @VisibleForTesting
     static final int TYPE_ITEM = 1;
 
+    private static final Pattern PATTERN_REMOVE_DIACRITICS = Pattern.compile(
+            "\\p{InCombiningDiacriticalMarks}+");
+
     private final List<T> mOriginalItems;
     private final OnListItemClickListener<T> mOnListItemClickListener;
     private final Locale mLocale;
@@ -183,6 +188,19 @@
         }
     }
 
+    /**
+     * Removes diacritics (e.g. accents) from a string
+     */
+    private static String removeDiacritics(final String str) {
+        if (str == null || str.isEmpty()) {
+            return str;
+        }
+        // decomposes the original characters into a base character and a diacritic sign
+        final String decomposed = Normalizer.normalize(str, Normalizer.Form.NFKD);
+        // replaces the diacritic signs with empty strings
+        return PATTERN_REMOVE_DIACRITICS.matcher(decomposed).replaceAll("");
+    }
+
     @VisibleForTesting
     public static class ItemViewHolder<T extends BaseTimeZoneAdapter.AdapterItem>
             extends RecyclerView.ViewHolder implements View.OnClickListener {
@@ -241,13 +259,14 @@
             if (TextUtils.isEmpty(prefix)) {
                 newItems = mOriginalItems;
             } else {
-                final String prefixString = prefix.toString().toLowerCase(mLocale);
+                final String prefixString = removeDiacritics(
+                        prefix.toString().toLowerCase(mLocale));
                 newItems = new ArrayList<>();
 
                 for (T item : mOriginalItems) {
                     outer:
                     for (String searchKey : item.getSearchKeys()) {
-                        searchKey = searchKey.toLowerCase(mLocale);
+                        searchKey = removeDiacritics(searchKey.toLowerCase(mLocale));
                         // First match against the whole, non-splitted value
                         if (searchKey.startsWith(prefixString)) {
                             newItems.add(item);
diff --git a/src/com/android/settings/datetime/timezone/RegionZonePicker.java b/src/com/android/settings/datetime/timezone/RegionZonePicker.java
index 1bc68a1..06c0db5 100644
--- a/src/com/android/settings/datetime/timezone/RegionZonePicker.java
+++ b/src/com/android/settings/datetime/timezone/RegionZonePicker.java
@@ -111,7 +111,7 @@
 
     /**
      * Returns a list of {@link TimeZoneInfo} objects. The returned list will be sorted properly for
-     * display in the locale.It may be smaller than the input collection, if equivalent IDs are
+     * display in the locale. It may be smaller than the input collection, if equivalent IDs are
      * passed in.
      *
      * @param timeZoneIds a list of Olson IDs.
diff --git a/src/com/android/settings/development/DesktopModePreferenceController.java b/src/com/android/settings/development/DesktopModePreferenceController.java
index c6b2397..3f8ddab 100644
--- a/src/com/android/settings/development/DesktopModePreferenceController.java
+++ b/src/com/android/settings/development/DesktopModePreferenceController.java
@@ -16,33 +16,39 @@
 
 package com.android.settings.development;
 
-import static android.provider.Settings.Global.DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS;
+import static android.provider.Settings.Global.DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES;
+
+import static com.android.wm.shell.shared.desktopmode.DesktopModeFlags.convertToToggleOverrideWithFallback;
+import static com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_OFF;
+import static com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_ON;
+import static com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_UNSET;
 
 import android.content.Context;
-import android.os.Build;
 import android.provider.Settings;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
-import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
+import com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride;
+import com.android.wm.shell.shared.desktopmode.DesktopModeStatus;
 
+/**
+ * Preference controller to control Desktop mode features
+ */
 public class DesktopModePreferenceController extends DeveloperOptionsPreferenceController
         implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin,
         RebootConfirmationDialogHost {
 
-    private static final String FORCE_DESKTOP_MODE_KEY = "force_desktop_mode_on_external_displays";
+    private static final String OVERRIDE_DESKTOP_MODE_FEATURES_KEY =
+            "override_desktop_mode_features";
 
-    @VisibleForTesting
-    static final int SETTING_VALUE_OFF = 0;
-    @VisibleForTesting
-    static final int SETTING_VALUE_ON = 1;
-
-    @Nullable private final DevelopmentSettingsDashboardFragment mFragment;
+    @Nullable
+    private final DevelopmentSettingsDashboardFragment mFragment;
 
     public DesktopModePreferenceController(
             Context context, @Nullable DevelopmentSettingsDashboardFragment fragment) {
@@ -51,40 +57,47 @@
     }
 
     @Override
-    public String getPreferenceKey() {
-        return FORCE_DESKTOP_MODE_KEY;
+    public boolean isAvailable() {
+        return DesktopModeStatus.canShowDesktopModeDevOption(mContext);
     }
 
     @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
+    public String getPreferenceKey() {
+        return OVERRIDE_DESKTOP_MODE_FEATURES_KEY;
+    }
+
+    @Override
+    public boolean onPreferenceChange(@NonNull Preference preference, Object newValue) {
         final boolean isEnabled = (Boolean) newValue;
         Settings.Global.putInt(mContext.getContentResolver(),
-                DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS,
-                isEnabled ? SETTING_VALUE_ON : SETTING_VALUE_OFF);
-        if (isEnabled) {
+                DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES,
+                isEnabled ? OVERRIDE_ON.getSetting() : OVERRIDE_OFF.getSetting());
+        if (mFragment != null) {
             RebootConfirmationDialogFragment.show(
-                    mFragment, R.string.reboot_dialog_force_desktop_mode, this);
+                    mFragment, R.string.reboot_dialog_override_desktop_mode, this);
         }
         return true;
     }
 
     @Override
     public void updateState(Preference preference) {
-        final int mode = Settings.Global.getInt(mContext.getContentResolver(),
-                DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, SETTING_VALUE_OFF);
-        ((TwoStatePreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
+        // Use overridden state, if not present, then use default state
+        final int overrideInt = Settings.Global.getInt(mContext.getContentResolver(),
+                DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, OVERRIDE_UNSET.getSetting());
+        final ToggleOverride toggleOverride = convertToToggleOverrideWithFallback(overrideInt,
+                OVERRIDE_UNSET);
+        final boolean shouldDevOptionBeEnabled = switch (toggleOverride) {
+            case OVERRIDE_OFF -> false;
+            case OVERRIDE_ON -> true;
+            case OVERRIDE_UNSET -> DesktopModeStatus.shouldDevOptionBeEnabledByDefault();
+        };
+        ((TwoStatePreference) mPreference).setChecked(shouldDevOptionBeEnabled);
     }
 
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
         Settings.Global.putInt(mContext.getContentResolver(),
-                DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, SETTING_VALUE_OFF);
-        ((TwoStatePreference) mPreference).setChecked(false);
-    }
-
-    @VisibleForTesting
-    String getBuildType() {
-        return Build.TYPE;
+                DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, OVERRIDE_UNSET.getSetting());
     }
 }
diff --git a/src/com/android/settings/development/DesktopModeSecondaryDisplayPreferenceController.java b/src/com/android/settings/development/DesktopModeSecondaryDisplayPreferenceController.java
new file mode 100644
index 0000000..2bce9ad
--- /dev/null
+++ b/src/com/android/settings/development/DesktopModeSecondaryDisplayPreferenceController.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.development;
+
+import static android.provider.Settings.Global.DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS;
+
+import android.content.Context;
+import android.os.Build;
+import android.provider.Settings;
+
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.TwoStatePreference;
+
+import com.android.settings.R;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.development.DeveloperOptionsPreferenceController;
+
+/**
+ * Preference controller to control Desktop mode features on secondary display
+ */
+public class DesktopModeSecondaryDisplayPreferenceController extends
+        DeveloperOptionsPreferenceController
+        implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin,
+        RebootConfirmationDialogHost {
+
+    private static final String ENABLE_DESKTOP_MODE_ON_SECONDARY_DISPLAY =
+            "force_desktop_mode_on_external_displays";
+
+    @VisibleForTesting
+    static final int SETTING_VALUE_OFF = 0;
+    @VisibleForTesting
+    static final int SETTING_VALUE_ON = 1;
+
+    @Nullable
+    private final DevelopmentSettingsDashboardFragment mFragment;
+
+    public DesktopModeSecondaryDisplayPreferenceController(
+            Context context, @Nullable DevelopmentSettingsDashboardFragment fragment) {
+        super(context);
+        mFragment = fragment;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return ENABLE_DESKTOP_MODE_ON_SECONDARY_DISPLAY;
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final boolean isEnabled = (Boolean) newValue;
+        Settings.Global.putInt(mContext.getContentResolver(),
+                DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS,
+                isEnabled ? SETTING_VALUE_ON : SETTING_VALUE_OFF);
+        // Update freeform window support on device.
+        // DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT setting enables freeform support on device
+        // where it's not present by default.
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT,
+                isEnabled ? SETTING_VALUE_ON : SETTING_VALUE_OFF);
+        if (isEnabled && mFragment != null) {
+            RebootConfirmationDialogFragment.show(
+                    mFragment, R.string.reboot_dialog_enable_desktop_mode_on_secondary_display,
+                    this);
+        }
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        final int mode = Settings.Global.getInt(mContext.getContentResolver(),
+                DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
+    }
+
+    @Override
+    protected void onDeveloperOptionsSwitchDisabled() {
+        super.onDeveloperOptionsSwitchDisabled();
+        Settings.Global.putInt(mContext.getContentResolver(),
+                DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(false);
+    }
+
+    @VisibleForTesting
+    String getBuildType() {
+        return Build.TYPE;
+    }
+}
diff --git a/src/com/android/settings/development/DevelopmentMemtagFooterPreferenceController.java b/src/com/android/settings/development/DevelopmentMemtagFooterPreferenceController.java
index a5612ca..f2c9f59 100644
--- a/src/com/android/settings/development/DevelopmentMemtagFooterPreferenceController.java
+++ b/src/com/android/settings/development/DevelopmentMemtagFooterPreferenceController.java
@@ -14,7 +14,7 @@
  * limitations under the License
  */
 
-package com.android.settings.security;
+package com.android.settings.development;
 
 import android.content.Context;
 import android.text.TextUtils;
diff --git a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
index 46d74fa..5933015 100644
--- a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
+++ b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.development;
 
+import static android.app.Activity.RESULT_OK;
 import static android.provider.Settings.Global.DEVELOPMENT_SETTINGS_ENABLED;
 import static android.service.quicksettings.TileService.ACTION_QS_TILE_PREFERENCES;
 import static android.view.flags.Flags.sensitiveContentAppProtectionApi;
@@ -99,11 +100,13 @@
         NfcRebootDialog.OnNfcRebootDialogConfirmedListener, BluetoothSnoopLogHost {
 
     private static final String TAG = "DevSettingsDashboard";
+    @VisibleForTesting static final int REQUEST_BIOMETRIC_PROMPT = 100;
 
     private final BluetoothA2dpConfigStore mBluetoothA2dpConfigStore =
             new BluetoothA2dpConfigStore();
 
     private boolean mIsAvailable = true;
+    private boolean mIsBiometricsAuthenticated;
     private SettingsMainSwitchBar mSwitchBar;
     private DevelopmentSwitchBarController mSwitchBarController;
     private List<AbstractPreferenceController> mPreferenceControllers = new ArrayList<>();
@@ -215,6 +218,7 @@
     public void onStart() {
         super.onStart();
         final ContentResolver cr = getContext().getContentResolver();
+        mIsBiometricsAuthenticated = false;
         cr.registerContentObserver(mDevelopEnabled, false, mDeveloperSettingsObserver);
 
         // Restore UI state based on whether developer options is enabled
@@ -359,7 +363,25 @@
                 DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(getContext());
         if (isChecked != developmentEnabledState) {
             if (isChecked) {
-                EnableDevelopmentSettingWarningDialog.show(this /* host */);
+                final int userId = getContext().getUserId();
+
+                final Utils.BiometricStatus biometricAuthStatus =
+                        Utils.requestBiometricAuthenticationForMandatoryBiometrics(
+                                getContext(),
+                                mIsBiometricsAuthenticated,
+                                userId);
+                if (biometricAuthStatus == Utils.BiometricStatus.OK) {
+                    mSwitchBar.setChecked(false);
+                    Utils.launchBiometricPromptForMandatoryBiometrics(this,
+                            REQUEST_BIOMETRIC_PROMPT,
+                            userId, false /* hideBackground */);
+                } else if (biometricAuthStatus != Utils.BiometricStatus.NOT_ACTIVE) {
+                    mSwitchBar.setChecked(false);
+                } else {
+                    //Reset biometrics once enable dialog is shown
+                    mIsBiometricsAuthenticated = false;
+                    EnableDevelopmentSettingWarningDialog.show(this /* host */);
+                }
             } else {
                 final BluetoothA2dpHwOffloadPreferenceController a2dpController =
                         getDevelopmentOptionsController(
@@ -533,6 +555,12 @@
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         boolean handledResult = false;
+        if (requestCode == REQUEST_BIOMETRIC_PROMPT) {
+            if (resultCode == RESULT_OK) {
+                mIsBiometricsAuthenticated = true;
+                mSwitchBar.setChecked(true);
+            }
+        }
         for (AbstractPreferenceController controller : mPreferenceControllers) {
             if (controller instanceof OnActivityResultListener) {
                 // We do not break early because it is possible for multiple controllers to
@@ -714,6 +742,7 @@
         controllers.add(new ShowTapsPreferenceController(context));
         controllers.add(new PointerLocationPreferenceController(context));
         controllers.add(new ShowKeyPressesPreferenceController(context));
+        controllers.add(new TouchpadVisualizerPreferenceController(context));
         controllers.add(new ShowSurfaceUpdatesPreferenceController(context));
         controllers.add(new ShowLayoutBoundsPreferenceController(context));
         controllers.add(new ShowHdrSdrRatioPreferenceController(context));
@@ -748,6 +777,7 @@
         controllers.add(new ResizableActivityPreferenceController(context));
         controllers.add(new FreeformWindowsPreferenceController(context, fragment));
         controllers.add(new DesktopModePreferenceController(context, fragment));
+        controllers.add(new DesktopModeSecondaryDisplayPreferenceController(context, fragment));
         controllers.add(new NonResizableMultiWindowPreferenceController(context));
         controllers.add(new ShortcutManagerThrottlingPreferenceController(context));
         controllers.add(new EnableGnssRawMeasFullTrackingPreferenceController(context));
diff --git a/src/com/android/settings/development/FreeformWindowsPreferenceController.java b/src/com/android/settings/development/FreeformWindowsPreferenceController.java
index 7cf7738..c02ffa7 100644
--- a/src/com/android/settings/development/FreeformWindowsPreferenceController.java
+++ b/src/com/android/settings/development/FreeformWindowsPreferenceController.java
@@ -16,8 +16,9 @@
 
 package com.android.settings.development;
 
+import static android.content.pm.PackageManager.FEATURE_FREEFORM_WINDOW_MANAGEMENT;
+
 import android.content.Context;
-import android.os.Build;
 import android.provider.Settings;
 
 import androidx.annotation.Nullable;
@@ -40,7 +41,8 @@
     @VisibleForTesting
     static final int SETTING_VALUE_ON = 1;
 
-    @Nullable private final DevelopmentSettingsDashboardFragment mFragment;
+    @Nullable
+    private final DevelopmentSettingsDashboardFragment mFragment;
 
     public FreeformWindowsPreferenceController(
             Context context, @Nullable DevelopmentSettingsDashboardFragment fragment) {
@@ -49,6 +51,13 @@
     }
 
     @Override
+    public boolean isAvailable() {
+        // When devices have the system feature FEATURE_FREEFORM_WINDOW_MANAGEMENT, freeform
+        // mode is enabled automatically, and this toggle is not needed.
+        return !mContext.getPackageManager().hasSystemFeature(FEATURE_FREEFORM_WINDOW_MANAGEMENT);
+    }
+
+    @Override
     public String getPreferenceKey() {
         return ENABLE_FREEFORM_SUPPORT_KEY;
     }
@@ -80,9 +89,4 @@
                 Settings.Global.DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT, SETTING_VALUE_OFF);
         ((TwoStatePreference) mPreference).setChecked(false);
     }
-
-    @VisibleForTesting
-    String getBuildType() {
-        return Build.TYPE;
-    }
 }
diff --git a/src/com/android/settings/development/OWNERS b/src/com/android/settings/development/OWNERS
index 081c44f..d780615 100644
--- a/src/com/android/settings/development/OWNERS
+++ b/src/com/android/settings/development/OWNERS
@@ -16,3 +16,6 @@
 # ADB
 per-file Adb*=set noparent
 per-file Adb*=file:platform/packages/modules/adb:/OWNERS
+
+#TouchpadVisualizerPreferenceController
+per-file TouchpadVisualizerPreferenceController.java=file:platform/frameworks/base:/INPUT_OWNERS
diff --git a/src/com/android/settings/development/RebootConfirmationDialogFragment.java b/src/com/android/settings/development/RebootConfirmationDialogFragment.java
index 45c3697..44bef57 100644
--- a/src/com/android/settings/development/RebootConfirmationDialogFragment.java
+++ b/src/com/android/settings/development/RebootConfirmationDialogFragment.java
@@ -21,6 +21,7 @@
 import android.content.DialogInterface;
 import android.os.Bundle;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentManager;
@@ -57,7 +58,8 @@
         }
     }
 
-    private RebootConfirmationDialogFragment(
+    @VisibleForTesting
+    RebootConfirmationDialogFragment(
             int messageId, int cancelButtonId, RebootConfirmationDialogHost host) {
         mMessageId = messageId;
         mCancelButtonId = cancelButtonId;
@@ -92,4 +94,11 @@
         super.onDismiss(dialog);
         mHost.onRebootDialogDismissed();
     }
+
+    @Override
+    public void onPause() {
+        dismiss();
+
+        super.onPause();
+    }
 }
diff --git a/src/com/android/settings/development/TouchpadVisualizerPreferenceController.java b/src/com/android/settings/development/TouchpadVisualizerPreferenceController.java
new file mode 100644
index 0000000..04ae92b
--- /dev/null
+++ b/src/com/android/settings/development/TouchpadVisualizerPreferenceController.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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.hardware.input.InputSettings;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.development.DeveloperOptionsPreferenceController;
+
+/** PreferenceController that controls the "Show touchpad input" developer option. */
+public class TouchpadVisualizerPreferenceController extends
+        DeveloperOptionsPreferenceController implements
+        Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
+
+    private static final String TOUCHPAD_VISUALIZER_KEY = "touchpad_visualizer";
+
+    public TouchpadVisualizerPreferenceController(@NonNull Context context) {
+        super(context);
+    }
+
+    @Override
+    public @NonNull String getPreferenceKey() {
+        return TOUCHPAD_VISUALIZER_KEY;
+    }
+
+    @Override
+    public boolean isAvailable(){
+        return InputSettings.isTouchpadVisualizerFeatureFlagEnabled();
+    }
+
+    @Override
+    public boolean onPreferenceChange(@NonNull Preference preference, @Nullable Object newValue) {
+        final boolean isEnabled = newValue != null ? (Boolean) newValue : false;
+        InputSettings.setTouchpadVisualizer(mContext, isEnabled);
+
+        return true;
+    }
+
+    @Override
+    public void updateState(@NonNull Preference preference) {
+        boolean touchpadVisualizerEnabled = InputSettings.useTouchpadVisualizer(mContext);
+        ((SwitchPreference) mPreference).setChecked(touchpadVisualizerEnabled);
+    }
+
+    @Override
+    protected void onDeveloperOptionsSwitchDisabled() {
+        super.onDeveloperOptionsSwitchDisabled();
+        InputSettings.setTouchpadVisualizer(mContext, false);
+
+        ((SwitchPreference) mPreference).setChecked(false);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/development/bluetooth/BluetoothStackLogPreferenceController.java b/src/com/android/settings/development/bluetooth/BluetoothStackLogPreferenceController.java
index 23d4cc6..9f7512c 100644
--- a/src/com/android/settings/development/bluetooth/BluetoothStackLogPreferenceController.java
+++ b/src/com/android/settings/development/bluetooth/BluetoothStackLogPreferenceController.java
@@ -30,85 +30,184 @@
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
+/**
+ * This preference represents the default log level for the Bluetooth stack
+ *
+ * The default log level is captured and held in an Android Log Framework log tag, using "bluetooth"
+ * as the tag name. The Log framework does not provide methods to directly write a log tag value,
+ * but instead leverages special system properties to hold the value of a log tag.
+ *
+ * This preferences aims to keep the selection in sync with the currently set log tag value. It
+ * writes directly to the system properties that hold the level associated with the bluetooth log
+ * tag. It leverages the Log.isLoggable("bluetooth", level) function to discern the current value.
+ * The default level is INFO.
+ *
+ * This value is read once at start of the Bluetooth stack. To use a new value once setting it, be
+ * sure to turn Bluetooth off and back on again.
+ */
 public class BluetoothStackLogPreferenceController extends DeveloperOptionsPreferenceController
         implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
+    private static final String TAG = BluetoothStackLogPreferenceController.class.getSimpleName();
+
+    private static final String PREFERENCE_KEY = "bt_stack_log_level";
 
     /* Ensure that the indexes match with bt_stack_log_values and bt_stack_log_entries ordering */
-    private static final String PREFERENCE_KEY = "bt_stack_log_level";
-    @VisibleForTesting static final int BTSTACK_LOG_MODE_VERBOSE_INDEX = 0;
-    @VisibleForTesting static final int BTSTACK_LOG_MODE_DEBUG_INDEX = 1;
-    @VisibleForTesting static final int BTSTACK_LOG_MODE_INFO_INDEX = 2;
-    @VisibleForTesting static final int BTSTACK_LOG_MODE_WARN_INDEX = 3;
-    @VisibleForTesting static final int BTSTACK_LOG_MODE_ERROR_INDEX = 4;
+    private static final int BT_LOG_LEVEL_VERBOSE_INDEX = 0;
+    private static final int BT_LOG_LEVEL_DEBUG_INDEX = 1;
+    private static final int BT_LOG_LEVEL_INFO_INDEX = 2;
+    private static final int BT_LOG_LEVEL_WARN_INDEX = 3;
+    private static final int BT_LOG_LEVEL_ERROR_INDEX = 4;
+    @VisibleForTesting static final int BT_LOG_LEVEL_DEFAULT_INDEX = BT_LOG_LEVEL_INFO_INDEX;
 
-    @VisibleForTesting
-    static final String BLUETOOTH_BTSTACK_LOG_MODE_PROPERTY_PERSIST = "persist.log.tag.bluetooth";
-    static final String BLUETOOTH_BTSTACK_LOG_MODE_PROPERTY = "log.tag.bluetooth";
-    static final String BLUETOOTH_STRING_NAME = "bluetooth";
-    static final int DEFAULT_MODE = BTSTACK_LOG_MODE_INFO_INDEX;
+    private static final String BT_LOG_TAG = "bluetooth";
+    @VisibleForTesting static final String BT_LOG_LEVEL_PROP_PERSIST = "persist.log.tag.bluetooth";
+    @VisibleForTesting static final String BT_LOG_LEVEL_PROP = "log.tag.bluetooth";
 
-    private final String[] mListValues;
-    private final String[] mListEntries;
+    // Values represents the untranslatable log level strings that should be used for writing to
+    // system properties. Entries represents the translatable log level strings that should be used
+    // in the UI to communicate to the user their options for this preference.
+    private String[] mListValues;
+    private String[] mListEntries;
 
-
+    /**
+     * Create a BluetoothStackLogPreferenceController instance
+     */
     public BluetoothStackLogPreferenceController(@NonNull Context context) {
         super(context);
         mListValues = context.getResources().getStringArray(R.array.bt_stack_log_level_values);
         mListEntries = context.getResources().getStringArray(R.array.bt_stack_log_level_entries);
     }
 
-    /** returns default log level index of INFO */
-    public int getDefaultModeIndex() {
-        return DEFAULT_MODE;
-    }
-
+    /**
+     * Returns the preference key associated with this preference
+     *
+     * Note that this key is _usually_ a system property in and of itself, which is expected to hold
+     * the value of the preference. In this case though, this key *does not* hold the preference. It
+     * is only really used to tie this controller to the list preference defined in the XML file.
+     *
+     * @return the preference key associated with this preference
+     */
     @Override
     @Nullable
     public String getPreferenceKey() {
         return PREFERENCE_KEY;
     }
 
+    /**
+     * Update the state of the preference based on what the user has selected
+     *
+     * This function is invoked when the user has selected a new value for this preference. The new
+     * value is the entry value at the index of the list the user has selected. This value will be
+     * one of the values from the array returned in getEntryValues(). Specifically, this array is
+     * set using R.array.bt_stack_log_level_values
+     *
+     * @param preference - the preference object to set the value of
+     * @param newValue - the value the user has selected, as an Object
+     * @return True when updated successfully
+     */
     @Override
     public boolean onPreferenceChange(@NonNull Preference preference, @NonNull Object newValue) {
-        SystemProperties.set(BLUETOOTH_BTSTACK_LOG_MODE_PROPERTY_PERSIST, newValue.toString());
-        SystemProperties.set(BLUETOOTH_BTSTACK_LOG_MODE_PROPERTY, newValue.toString());
-        updateState(mPreference);
+        Log.v(TAG, "onPreferenceChange(pref=" + preference + "value=" + newValue.toString() + ")");
+        setBluetoothLogTag(newValue.toString());
+        setBluetoothLogLevelIndex(getBluetoothLogLevelIndex());
         return true;
     }
 
+    /**
+     * Refresh the state of this preference based on the state stored on the system
+     *
+     * Read the Bluetooth stack log level from the underlying system property/log tag, and map that
+     * level to the proper index in the values and entries array. Use those strings to set the value
+     * and summary of the preference.
+     *
+     * @param preference - the preference object to refresh the state of
+     */
     @Override
     public void updateState(@NonNull Preference preference) {
-        final ListPreference listPreference = (ListPreference) preference;
-        int index = getBluetoothLogLevelIndex();
-        listPreference.setValue(mListValues[index]);
-        listPreference.setSummary(mListEntries[index]);
+        Log.v(TAG, "updateState(pref=" + preference + "): refresh preference state");
+        setBluetoothLogLevelIndex(getBluetoothLogLevelIndex());
     }
 
     /**
-     *  Returns the current log level from Log.isLoggable().
+     * Notify this developer options preference of a change to developer options visibility
+     *
+     * We developer options are closed, we should clear out the value of this developer option
+     * preference and revert it back to the default state of INFO.
      */
-    @VisibleForTesting
-    public int getBluetoothLogLevelIndex() {
-        if (Log.isLoggable(BLUETOOTH_STRING_NAME, Log.VERBOSE)) {
-            return BTSTACK_LOG_MODE_VERBOSE_INDEX;
-        } else if (Log.isLoggable(BLUETOOTH_STRING_NAME, Log.DEBUG)) {
-            return BTSTACK_LOG_MODE_DEBUG_INDEX;
-        } else if (Log.isLoggable(BLUETOOTH_STRING_NAME, Log.INFO)) {
-            return BTSTACK_LOG_MODE_INFO_INDEX;
-        } else if (Log.isLoggable(BLUETOOTH_STRING_NAME, Log.WARN)) {
-            return BTSTACK_LOG_MODE_WARN_INDEX;
-        } else if (Log.isLoggable(BLUETOOTH_STRING_NAME, Log.ERROR)) {
-            return BTSTACK_LOG_MODE_ERROR_INDEX;
-        }
-        return BTSTACK_LOG_MODE_INFO_INDEX;
-    }
-
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
-        SystemProperties.set(BLUETOOTH_BTSTACK_LOG_MODE_PROPERTY_PERSIST, null);
-        SystemProperties.set(BLUETOOTH_BTSTACK_LOG_MODE_PROPERTY, null);
-        ((ListPreference) mPreference).setValue(mListValues[getDefaultModeIndex()]);
-        ((ListPreference) mPreference).setSummary(mListEntries[getDefaultModeIndex()]);
+        Log.v(TAG, "onDeveloperOptionsSwitchDisabled(): Revert stack log to default");
+        setBluetoothLogTag(null);
+        setBluetoothLogLevelIndex(BT_LOG_LEVEL_DEFAULT_INDEX);
+    }
+
+    /**
+     * Set the system property values used by the Log framework to read the "bluetooth" log tag
+     *
+     * @param logLevel - the log level to set the Bluetooth stack minimum log level to
+     */
+    private void setBluetoothLogTag(@Nullable String logLevel) {
+        Log.i(TAG, "setBluetoothLogTag(logLevel=" + logLevel + "): Set properties for log tag");
+        SystemProperties.set(BT_LOG_LEVEL_PROP_PERSIST, logLevel);
+        SystemProperties.set(BT_LOG_LEVEL_PROP, logLevel);
+    }
+
+    /**
+     * Get the entry and value index corresponding to the current Bluetooth stack log level
+     *
+     * Since this preference uses an actual log tag and not a specific/private system property, we
+     * can read the value using the Log.isLoggable() function with our "bluetooth" log tag that
+     * represents the log level of the Bluetooth stack. This is safer than trying to replacate the
+     * logic used in the Log framework around the various persist, ro, and blank variants of the tag
+     *
+     * If no value is present, INFO is used.
+     *
+     * @return the entry/value index corresponding to the current log level of the tag "bluetooth"
+     */
+    @VisibleForTesting
+    public int getBluetoothLogLevelIndex() {
+        int level = BT_LOG_LEVEL_DEFAULT_INDEX;
+        if (Log.isLoggable(BT_LOG_TAG, Log.VERBOSE)) {
+            level = BT_LOG_LEVEL_VERBOSE_INDEX;
+        } else if (Log.isLoggable(BT_LOG_TAG, Log.DEBUG)) {
+            level = BT_LOG_LEVEL_DEBUG_INDEX;
+        } else if (Log.isLoggable(BT_LOG_TAG, Log.INFO)) {
+            level = BT_LOG_LEVEL_INFO_INDEX;
+        } else if (Log.isLoggable(BT_LOG_TAG, Log.WARN)) {
+            level = BT_LOG_LEVEL_WARN_INDEX;
+        } else if (Log.isLoggable(BT_LOG_TAG, Log.ERROR)) {
+            level = BT_LOG_LEVEL_ERROR_INDEX;
+        }
+        Log.v(TAG, "getBluetoothLogLevelIndex() -> " + level);
+        return level;
+    }
+
+    /**
+     * Set the current Bluetooth stack log level displayed in the list for this preference
+     *
+     * @param index - the index representing the log level choice of this preference
+     */
+    private void setBluetoothLogLevelIndex(int index) {
+        if (index < BT_LOG_LEVEL_VERBOSE_INDEX || index > BT_LOG_LEVEL_ERROR_INDEX) {
+            Log.e(TAG, "setBluetoothLogLevelIndex(index=" + index + "): Log level invalid");
+            return;
+        }
+
+        String value = mListValues[index];
+        String entryValue = mListEntries[index];
+
+        ListPreference preference = ((ListPreference) mPreference);
+        if (preference == null) {
+            Log.e(TAG, "setBluetoothLogLevelIndex(index=" + index + "): mPreference is null");
+            return;
+        }
+
+        preference.setValue(value);
+        preference.setSummary(entryValue);
+
+        Log.i(TAG, "setBluetoothLogLevelIndex(index=" + index
+                + "): Updated Bluetooth stack log level to value='" + value + "', entryValue='"
+                + entryValue + "'");
     }
 }
diff --git a/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java b/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
index 6fe3ca4..a9f94b4 100644
--- a/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
@@ -55,6 +55,7 @@
 
     static final int TAPS_TO_BE_A_DEVELOPER = 7;
     static final int REQUEST_CONFIRM_PASSWORD_FOR_DEV_PREF = 100;
+    static final int REQUEST_IDENTITY_CHECK_FOR_DEV_PREF = 101;
 
     private Activity mActivity;
     private InstrumentedPreferenceFragment mFragment;
@@ -217,10 +218,26 @@
      * @return if activity result is handled.
      */
     public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (requestCode != REQUEST_CONFIRM_PASSWORD_FOR_DEV_PREF) {
+        if (requestCode != REQUEST_CONFIRM_PASSWORD_FOR_DEV_PREF
+                && requestCode != REQUEST_IDENTITY_CHECK_FOR_DEV_PREF) {
             return false;
         }
-        if (resultCode == Activity.RESULT_OK) {
+        if (requestCode == REQUEST_CONFIRM_PASSWORD_FOR_DEV_PREF
+                && resultCode == Activity.RESULT_OK) {
+            final int userId = mContext.getUserId();
+            final Utils.BiometricStatus biometricAuthStatus =
+                    Utils.requestBiometricAuthenticationForMandatoryBiometrics(mContext,
+                            false /* biometricsAuthenticationRequested */,
+                            userId);
+            if (biometricAuthStatus == Utils.BiometricStatus.OK) {
+                Utils.launchBiometricPromptForMandatoryBiometrics(mFragment,
+                        REQUEST_IDENTITY_CHECK_FOR_DEV_PREF,
+                        userId, false /* hideBackground */);
+            } else if (biometricAuthStatus == Utils.BiometricStatus.NOT_ACTIVE) {
+                enableDevelopmentSettings();
+            }
+        } else if (requestCode == REQUEST_IDENTITY_CHECK_FOR_DEV_PREF
+                && resultCode == Activity.RESULT_OK) {
             enableDevelopmentSettings();
         }
         mProcessingLastDevHit = false;
diff --git a/src/com/android/settings/deviceinfo/StorageItemPreference.java b/src/com/android/settings/deviceinfo/StorageItemPreference.java
index 91102a0..62c0a6a 100644
--- a/src/com/android/settings/deviceinfo/StorageItemPreference.java
+++ b/src/com/android/settings/deviceinfo/StorageItemPreference.java
@@ -22,6 +22,7 @@
 import android.util.AttributeSet;
 import android.widget.ProgressBar;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceViewHolder;
 
@@ -48,6 +49,7 @@
         setLayoutResource(R.layout.storage_item);
     }
 
+    @VisibleForTesting
     public void setStorageSize(long size, long total) {
         setStorageSize(size, total, false /* animate */);
     }
diff --git a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogRepository.kt b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogRepository.kt
index 5ed6993..760f8b6 100644
--- a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogRepository.kt
+++ b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogRepository.kt
@@ -23,10 +23,10 @@
 import androidx.lifecycle.LifecycleOwner
 import androidx.lifecycle.lifecycleScope
 import androidx.lifecycle.repeatOnLifecycle
+import com.android.settings.network.telephony.CarrierConfigRepository
 import com.android.settings.network.telephony.SimSlotRepository
 import com.android.settings.network.telephony.ims.ImsMmTelRepository
 import com.android.settings.network.telephony.ims.ImsMmTelRepositoryImpl
-import com.android.settings.network.telephony.safeGetConfig
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.ExperimentalCoroutinesApi
 import kotlinx.coroutines.flow.Flow
@@ -39,7 +39,9 @@
 import kotlinx.coroutines.launch
 
 @OptIn(ExperimentalCoroutinesApi::class)
-class SimStatusDialogRepository @JvmOverloads constructor(
+class SimStatusDialogRepository
+@JvmOverloads
+constructor(
     private val context: Context,
     private val simSlotRepository: SimSlotRepository = SimSlotRepository(context),
     private val signalStrengthRepository: SignalStrengthRepository =
@@ -48,7 +50,7 @@
         ImsMmTelRepositoryImpl(context, subId)
     },
 ) {
-    private val carrierConfigManager = context.getSystemService(CarrierConfigManager::class.java)!!
+    private val carrierConfigRepository = CarrierConfigRepository(context)
 
     data class SimStatusDialogInfo(
         val signalStrength: String? = null,
@@ -73,7 +75,8 @@
     }
 
     private fun simStatusDialogInfoBySlotFlow(simSlotIndex: Int): Flow<SimStatusDialogInfo> =
-        simSlotRepository.subIdInSimSlotFlow(simSlotIndex)
+        simSlotRepository
+            .subIdInSimSlotFlow(simSlotIndex)
             .flatMapLatest { subId ->
                 if (SubscriptionManager.isValidSubscriptionId(subId)) {
                     simStatusDialogInfoFlow(subId)
@@ -99,22 +102,16 @@
         }
 
     private fun showUpFlow(subId: Int) = flow {
-        val config = carrierConfigManager.safeGetConfig(
-            keys = listOf(
-                CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL,
-                CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL,
-            ),
-            subId = subId,
-        )
-        val visibility = SimStatusDialogVisibility(
-            signalStrengthShowUp = config.getBoolean(
-                CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL,
-                true,  // by default we show the signal strength in sim status
-            ),
-            imsRegisteredShowUp = config.getBoolean(
-                CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL
-            ),
-        )
+        val visibility =
+            carrierConfigRepository.transformConfig(subId) {
+                SimStatusDialogVisibility(
+                    signalStrengthShowUp =
+                        getBoolean(
+                            CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL),
+                    imsRegisteredShowUp =
+                        getBoolean(CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL),
+                )
+            }
         emit(visibility)
     }
 }
diff --git a/src/com/android/settings/display/darkmode/AutoDarkTheme.java b/src/com/android/settings/display/darkmode/AutoDarkTheme.java
new file mode 100644
index 0000000..670258b
--- /dev/null
+++ b/src/com/android/settings/display/darkmode/AutoDarkTheme.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 static android.app.UiModeManager.MODE_ATTENTION_THEME_OVERLAY_NIGHT;
+import static android.app.UiModeManager.MODE_NIGHT_AUTO;
+import static android.app.UiModeManager.MODE_NIGHT_CUSTOM_TYPE_BEDTIME;
+import static android.app.UiModeManager.MODE_NIGHT_CUSTOM_TYPE_SCHEDULE;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import android.app.Flags;
+import android.app.UiModeManager;
+import android.content.Context;
+
+import com.android.settings.R;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+import java.time.LocalTime;
+import java.util.List;
+
+class AutoDarkTheme {
+
+    static String getStatus(Context context, boolean active) {
+        UiModeManager uiModeManager = checkNotNull(context.getSystemService(UiModeManager.class));
+        final int mode = uiModeManager.getNightMode();
+
+        if (mode == MODE_NIGHT_AUTO) {
+            return context.getString(active
+                    ? R.string.dark_ui_summary_on_auto_mode_auto
+                    : R.string.dark_ui_summary_off_auto_mode_auto);
+        }
+
+        if (Flags.modesUi()) {
+            if (active && uiModeManager.getAttentionModeThemeOverlay()
+                    == MODE_ATTENTION_THEME_OVERLAY_NIGHT) {
+                List<String> modes = getActiveModesThatChangeDarkTheme(context);
+                if (!modes.isEmpty()) {
+                    return context.getString(R.string.dark_ui_summary_on_auto_mode_modes,
+                            modes.get(0));
+                }
+            } else if (!active) {
+                List<String> modes = getModesThatChangeDarkTheme(context);
+                if (!modes.isEmpty()) {
+                    return context.getString(R.string.dark_ui_summary_off_auto_mode_modes,
+                            modes.get(0));
+                }
+            }
+        }
+
+        if (mode == UiModeManager.MODE_NIGHT_CUSTOM) {
+            int modeCustomType = uiModeManager.getNightModeCustomType();
+            if (!Flags.modesUi() && modeCustomType == MODE_NIGHT_CUSTOM_TYPE_BEDTIME) {
+                return context.getString(active
+                        ? R.string.dark_ui_summary_on_auto_mode_custom_bedtime
+                        : R.string.dark_ui_summary_off_auto_mode_custom_bedtime);
+            }
+            if (modeCustomType == MODE_NIGHT_CUSTOM_TYPE_SCHEDULE) {
+                final LocalTime time = active
+                        ? uiModeManager.getCustomNightModeEnd()
+                        : uiModeManager.getCustomNightModeStart();
+                final String timeStr = new TimeFormatter(context).of(time);
+                return context.getString(active
+                        ? R.string.dark_ui_summary_on_auto_mode_custom
+                        : R.string.dark_ui_summary_off_auto_mode_custom, timeStr);
+            }
+        }
+
+        return context.getString(active
+                ? R.string.dark_ui_summary_on_auto_mode_never
+                : R.string.dark_ui_summary_off_auto_mode_never);
+    }
+
+    static List<String> getModesThatChangeDarkTheme(Context context) {
+        return ZenModesBackend.getInstance(context)
+                .getModes().stream()
+                .filter(m -> m.getDeviceEffects().shouldUseNightMode())
+                .map(ZenMode::getName)
+                .toList();
+    }
+
+    static List<String> getActiveModesThatChangeDarkTheme(Context context) {
+        return ZenModesBackend.getInstance(context)
+                .getModes().stream()
+                .filter(ZenMode::isActive)
+                .filter(m -> m.getDeviceEffects().shouldUseNightMode())
+                .map(ZenMode::getName)
+                .toList();
+    }
+}
diff --git a/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceController.java b/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceController.java
index 5f441be..b136ed0 100644
--- a/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceController.java
+++ b/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceController.java
@@ -24,14 +24,11 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.widget.MainSwitchPreference;
 
-import java.time.LocalTime;
-
 /**
  * Controller for activate/deactivate night mode button
  */
@@ -40,22 +37,14 @@
 
     private final UiModeManager mUiModeManager;
     private final MetricsFeatureProvider mMetricsFeatureProvider;
-    private TimeFormatter mFormat;
     private MainSwitchPreference mPreference;
 
     public DarkModeActivationPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
         mUiModeManager = context.getSystemService(UiModeManager.class);
-        mFormat = new TimeFormatter(context);
         mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
-    public DarkModeActivationPreferenceController(Context context, String preferenceKey,
-            TimeFormatter f) {
-        this(context, preferenceKey);
-        mFormat = f;
-    }
-
     @Override
     public final void updateState(Preference preference) {
         final boolean active = (mContext.getResources().getConfiguration().uiMode
@@ -67,32 +56,7 @@
     public CharSequence getSummary() {
         final boolean isActivated = (mContext.getResources().getConfiguration().uiMode
                 & Configuration.UI_MODE_NIGHT_YES) != 0;
-        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) {
-            if (mUiModeManager.getNightModeCustomType()
-                    == UiModeManager.MODE_NIGHT_CUSTOM_TYPE_BEDTIME) {
-                return mContext.getString(isActivated
-                        ? R.string.dark_ui_summary_on_auto_mode_custom_bedtime
-                        : R.string.dark_ui_summary_off_auto_mode_custom_bedtime);
-            }
-
-            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
-                    : R.string.dark_ui_summary_off_auto_mode_never);
-        }
+        return AutoDarkTheme.getStatus(mContext, isActivated);
     }
 
     @Override
diff --git a/src/com/android/settings/display/darkmode/DarkModeCustomBedtimePreferenceController.java b/src/com/android/settings/display/darkmode/DarkModeCustomBedtimePreferenceController.java
deleted file mode 100644
index 488befb..0000000
--- a/src/com/android/settings/display/darkmode/DarkModeCustomBedtimePreferenceController.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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 static android.app.UiModeManager.MODE_NIGHT_CUSTOM_TYPE_BEDTIME;
-
-import android.app.UiModeManager;
-import android.content.Context;
-import android.content.Intent;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.core.BasePreferenceController;
-import com.android.settingslib.widget.FooterPreference;
-
-/** Controller for the night mode bedtime custom mode footer. */
-public class DarkModeCustomBedtimePreferenceController extends BasePreferenceController {
-    private final UiModeManager mUiModeManager;
-    private FooterPreference mFooterPreference;
-    private BedtimeSettings mBedtimeSettings;
-
-    public DarkModeCustomBedtimePreferenceController(Context context, String key) {
-        super(context, key);
-        mUiModeManager = context.getSystemService(UiModeManager.class);
-        mBedtimeSettings = new BedtimeSettings(context);
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        return mBedtimeSettings.getBedtimeSettingsIntent() == null
-                ? UNSUPPORTED_ON_DEVICE
-                : AVAILABLE_UNSEARCHABLE;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mFooterPreference = screen.findPreference(getPreferenceKey());
-        mFooterPreference.setLearnMoreAction(
-                v -> {
-                    Intent bedtimeSettingsIntent = mBedtimeSettings.getBedtimeSettingsIntent();
-                    if (bedtimeSettingsIntent != null) {
-                        v.getContext().startActivity(bedtimeSettingsIntent);
-                    }
-                });
-        mFooterPreference.setLearnMoreText(
-                mContext.getString(R.string.dark_ui_bedtime_footer_action));
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        if (mUiModeManager.getNightModeCustomType() != MODE_NIGHT_CUSTOM_TYPE_BEDTIME) {
-            preference.setVisible(false);
-            return;
-        }
-        preference.setVisible(true);
-    }
-}
diff --git a/src/com/android/settings/display/darkmode/DarkModeCustomModesPreferenceController.java b/src/com/android/settings/display/darkmode/DarkModeCustomModesPreferenceController.java
new file mode 100644
index 0000000..f774b29
--- /dev/null
+++ b/src/com/android/settings/display/darkmode/DarkModeCustomModesPreferenceController.java
@@ -0,0 +1,112 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 static android.app.UiModeManager.MODE_NIGHT_CUSTOM_TYPE_BEDTIME;
+import static android.app.settings.SettingsEnums.DARK_UI_SETTINGS;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import android.app.Flags;
+import android.app.UiModeManager;
+import android.content.Context;
+import android.content.Intent;
+import android.icu.text.MessageFormat;
+
+import androidx.annotation.NonNull;
+import androidx.preference.Preference;
+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.notification.modes.ZenModesListFragment;
+import com.android.settingslib.widget.FooterPreference;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+
+/** Controller for the dark theme Modes / Bedtime custom footer. */
+public class DarkModeCustomModesPreferenceController extends BasePreferenceController {
+    private final UiModeManager mUiModeManager;
+    private final BedtimeSettings mBedtimeSettings;
+
+    public DarkModeCustomModesPreferenceController(@NonNull Context context, @NonNull String key) {
+        super(context, key);
+        mUiModeManager = context.getSystemService(UiModeManager.class);
+        mBedtimeSettings = new BedtimeSettings(context);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return (Flags.modesUi() || mBedtimeSettings.getBedtimeSettingsIntent() != null)
+                ? AVAILABLE_UNSEARCHABLE
+                : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public void displayPreference(@NonNull PreferenceScreen screen) {
+        super.displayPreference(screen);
+        FooterPreference footerPreference = checkNotNull(screen.findPreference(getPreferenceKey()));
+        if (Flags.modesUi()) {
+            List<String> modesUsingDarkTheme = AutoDarkTheme.getModesThatChangeDarkTheme(
+                    screen.getContext());
+
+            MessageFormat titleFormat = new MessageFormat(
+                    mContext.getString(R.string.dark_ui_modes_footer_summary),
+                    Locale.getDefault());
+            Map<String, Object> args = new HashMap<>();
+            args.put("count", modesUsingDarkTheme.size());
+            for (int i = 0; i < modesUsingDarkTheme.size() && i < 3; i++) {
+                args.put("mode_" + (i + 1), modesUsingDarkTheme.get(i));
+            }
+            footerPreference.setTitle(titleFormat.format(args));
+
+            footerPreference.setLearnMoreAction(
+                    v -> new SubSettingLauncher(v.getContext())
+                            .setDestination(ZenModesListFragment.class.getName())
+                            .setSourceMetricsCategory(DARK_UI_SETTINGS)
+                            .launch());
+            footerPreference.setLearnMoreText(
+                    mContext.getString(R.string.dark_ui_modes_footer_action));
+        } else {
+            footerPreference.setTitle(R.string.dark_ui_bedtime_footer_summary);
+            footerPreference.setLearnMoreAction(
+                    v -> {
+                        Intent bedtimeSettingsIntent = mBedtimeSettings.getBedtimeSettingsIntent();
+                        if (bedtimeSettingsIntent != null) {
+                            v.getContext().startActivity(bedtimeSettingsIntent);
+                        }
+                    });
+            footerPreference.setLearnMoreText(
+                    mContext.getString(R.string.dark_ui_bedtime_footer_action));
+        }
+    }
+
+    @Override
+    public void updateState(@NonNull Preference preference) {
+        if (!Flags.modesUi()) {
+            if (mUiModeManager.getNightModeCustomType() != MODE_NIGHT_CUSTOM_TYPE_BEDTIME) {
+                preference.setVisible(false);
+                return;
+            }
+            preference.setVisible(true);
+        }
+    }
+}
diff --git a/src/com/android/settings/display/darkmode/DarkModePreference.java b/src/com/android/settings/display/darkmode/DarkModePreference.java
index 4e1e308..a1440ee 100644
--- a/src/com/android/settings/display/darkmode/DarkModePreference.java
+++ b/src/com/android/settings/display/darkmode/DarkModePreference.java
@@ -23,8 +23,6 @@
 import com.android.settings.R;
 import com.android.settingslib.PrimarySwitchPreference;
 
-import java.time.LocalTime;
-
 /**
  * component for the display settings dark ui summary
  */
@@ -71,36 +69,8 @@
                     ? 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 int mode = mUiModeManager.getNightMode();
-        String summary;
-
-        if (mode == UiModeManager.MODE_NIGHT_AUTO) {
-            summary = getContext().getString(active
-                    ? 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) {
-            if (mUiModeManager.getNightModeCustomType()
-                    == UiModeManager.MODE_NIGHT_CUSTOM_TYPE_BEDTIME) {
-                summary = getContext().getString(active
-                        ? R.string.dark_ui_summary_on_auto_mode_custom_bedtime
-                        : R.string.dark_ui_summary_off_auto_mode_custom_bedtime);
-            } else {
-                final LocalTime time = active
-                        ? mUiModeManager.getCustomNightModeEnd()
-                        : mUiModeManager.getCustomNightModeStart();
-                final String timeStr = mFormat.of(time);
-                summary = getContext().getString(active
-                        ? R.string.dark_ui_summary_on_auto_mode_custom
-                        : R.string.dark_ui_summary_off_auto_mode_custom, timeStr);
-            }
         } else {
-            summary = getContext().getString(active
-                    ? R.string.dark_ui_summary_on_auto_mode_never
-                    : R.string.dark_ui_summary_off_auto_mode_never);
+            setSummary(AutoDarkTheme.getStatus(getContext(), active));
         }
-
-        setSummary(summary);
     }
 }
diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
index 005c073..e922f70 100644
--- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
@@ -269,20 +269,26 @@
     }
 
     @Override
+    protected boolean shouldSkipForInitialSUW() {
+        return true;
+    }
+
+    @Override
     public void onPause() {
         super.onPause();
 
         final int currentOptimizeMode = mBatteryOptimizeUtils.getAppOptimizationMode();
+        final Context applicationContext = requireContext().getApplicationContext();
         mLogStringBuilder.append(", onPause mode = ").append(currentOptimizeMode);
         logMetricCategory(currentOptimizeMode);
         mExecutor.execute(
                 () -> {
                     if (currentOptimizeMode != mOptimizationMode) {
                         AppOptModeSharedPreferencesUtils.deleteAppOptimizationModeEventByUid(
-                                getContext(), mBatteryOptimizeUtils.getUid());
+                                applicationContext, mBatteryOptimizeUtils.getUid());
                     }
                     BatteryOptimizeLogUtils.writeLog(
-                            getContext().getApplicationContext(),
+                            applicationContext,
                             Action.LEAVE,
                             BatteryOptimizeLogUtils.getPackageNameWithUserId(
                                     mBatteryOptimizeUtils.getPackageName(), UserHandle.myUserId()),
diff --git a/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java b/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java
index 7d15858..891a997 100644
--- a/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java
@@ -81,7 +81,10 @@
             return mContext.getString(
                     com.android.settingslib.R.string.battery_info_status_not_charging);
         }
-        if (BatteryUtils.isBatteryDefenderOn(info)) {
+        if (BatteryUtils.isBatteryDefenderOn(info)
+                || FeatureFactory.getFeatureFactory()
+                .getPowerUsageFeatureProvider()
+                .isExtraDefend()) {
             return mContext.getString(
                     com.android.settingslib.R.string.battery_info_status_charging_on_hold);
         }
@@ -89,8 +92,7 @@
                 && mBatterySettingsFeatureProvider.isChargingOptimizationMode(mContext)) {
             return info.remainingLabel;
         }
-        if (info.remainingLabel == null
-                || info.batteryStatus == BatteryManager.BATTERY_STATUS_NOT_CHARGING) {
+        if (info.batteryStatus == BatteryManager.BATTERY_STATUS_NOT_CHARGING) {
             return info.statusLabel;
         }
         if (info.pluggedStatus == BatteryManager.BATTERY_PLUGGED_WIRELESS) {
@@ -103,6 +105,9 @@
                 return wirelessChargingLabel;
             }
         }
+        if (info.remainingLabel == null) {
+            return info.statusLabel;
+        }
         if (info.statusLabel != null && !info.discharging) {
             // Charging state
             if (com.android.settingslib.fuelgauge.BatteryUtils.isChargingStringV2Enabled()) {
diff --git a/src/com/android/settings/fuelgauge/BatteryInfo.java b/src/com/android/settings/fuelgauge/BatteryInfo.java
index b54801a..fa30253 100644
--- a/src/com/android/settings/fuelgauge/BatteryInfo.java
+++ b/src/com/android/settings/fuelgauge/BatteryInfo.java
@@ -53,7 +53,8 @@
     public int batteryStatus;
     public int pluggedStatus;
     public boolean discharging = true;
-    public boolean isBatteryDefender;
+    public boolean isBatteryDefender = false;
+    public boolean isLongLife = false;
     public boolean isFastCharging;
     public long remainingTimeUs = 0;
     public long averageTimeToDischarge = EstimateKt.AVERAGE_TIME_TO_DISCHARGE_UNKNOWN;
@@ -306,12 +307,13 @@
         info.pluggedStatus = batteryBroadcast.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0);
         info.mCharging = info.pluggedStatus != 0;
         info.averageTimeToDischarge = estimate.getAverageDischargeTime();
-        info.isBatteryDefender =
-                batteryBroadcast.getIntExtra(
-                                BatteryManager.EXTRA_CHARGING_STATUS,
-                                BatteryManager.CHARGING_POLICY_DEFAULT)
-                        == BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE;
 
+        final int chargingPolicy =
+                batteryBroadcast.getIntExtra(
+                        BatteryManager.EXTRA_CHARGING_STATUS,
+                        BatteryManager.CHARGING_POLICY_DEFAULT);
+
+        info.isLongLife = chargingPolicy == BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE;
         info.statusLabel = Utils.getBatteryStatus(context, batteryBroadcast, isCompactStatus);
         info.batteryStatus =
                 batteryBroadcast.getIntExtra(
@@ -319,13 +321,21 @@
         info.isFastCharging =
                 BatteryStatus.getChargingSpeed(context, batteryBroadcast)
                         == BatteryStatus.CHARGING_FAST;
-        if (info.isBatteryDefender) {
+        if (info.isLongLife) {
             info.isBatteryDefender =
                     FeatureFactory.getFeatureFactory()
                             .getPowerUsageFeatureProvider()
                             .isBatteryDefend(info);
         }
-        if (!info.mCharging) {
+        Log.d(
+                TAG,
+                "chargingPolicy = "
+                        + chargingPolicy
+                        + ", pluggedStatus = "
+                        + info.pluggedStatus
+                        + ", batteryStatus = "
+                        + info.batteryStatus);
+        if (!isPluggedIn(context, info.mCharging, chargingPolicy)) {
             updateBatteryInfoDischarging(context, shortString, estimate, info);
         } else {
             updateBatteryInfoCharging(
@@ -555,6 +565,14 @@
         }
     }
 
+    private static boolean isPluggedIn(Context context, boolean isCharging, int chargingPolicy) {
+        return isCharging
+                || (chargingPolicy == BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE
+                        && FeatureFactory.getFeatureFactory()
+                                .getBatterySettingsFeatureProvider()
+                                .isChargingOptimizationMode(context));
+    }
+
     public interface BatteryDataParser {
         void onParsingStarted(long startTime, long endTime);
 
diff --git a/src/com/android/settings/fuelgauge/BatteryUtils.java b/src/com/android/settings/fuelgauge/BatteryUtils.java
index 9e08664..7cb5733 100644
--- a/src/com/android/settings/fuelgauge/BatteryUtils.java
+++ b/src/com/android/settings/fuelgauge/BatteryUtils.java
@@ -600,12 +600,12 @@
                             context.getContentResolver(), SETTINGS_GLOBAL_DOCK_DEFENDER_BYPASS, 0)
                     == 1) {
                 return DockDefenderMode.TEMPORARILY_BYPASSED;
-            } else if (batteryInfo.isBatteryDefender
+            } else if (batteryInfo.isLongLife
                     && FeatureFactory.getFeatureFactory()
                             .getPowerUsageFeatureProvider()
                             .isExtraDefend()) {
                 return DockDefenderMode.ACTIVE;
-            } else if (!batteryInfo.isBatteryDefender) {
+            } else if (!batteryInfo.isLongLife) {
                 return DockDefenderMode.FUTURE_BYPASS;
             }
         }
diff --git a/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetail.java b/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetail.java
index 2d2c838..e59cc4ad 100644
--- a/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetail.java
@@ -117,17 +117,17 @@
         super.onPause();
 
         final int currentOptimizeMode = mBatteryOptimizeUtils.getAppOptimizationMode();
+        final Context applicationContext = requireContext().getApplicationContext();
         mLogStringBuilder.append(", onPause mode = ").append(currentOptimizeMode);
         logMetricCategory(currentOptimizeMode);
-
         mExecutor.execute(
                 () -> {
                     if (currentOptimizeMode != mOptimizationMode) {
                         AppOptModeSharedPreferencesUtils.deleteAppOptimizationModeEventByUid(
-                                getContext(), mBatteryOptimizeUtils.getUid());
+                                applicationContext, mBatteryOptimizeUtils.getUid());
                     }
                     BatteryOptimizeLogUtils.writeLog(
-                            getContext().getApplicationContext(),
+                            applicationContext,
                             Action.LEAVE,
                             BatteryOptimizeLogUtils.getPackageNameWithUserId(
                                     mBatteryOptimizeUtils.getPackageName(), UserHandle.myUserId()),
diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
index 570a863..e441b85 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
@@ -44,6 +44,12 @@
     /** Check whether the battery tips card is enabled in the battery usage page */
     boolean isBatteryTipsEnabled();
 
+    /** Check whether overwrite the app optimization mode to restricted mode is enabled */
+    boolean isRestrictedModeOverwriteEnabled();
+
+    /** Check whether force expire the app optimization mode. */
+    boolean isForceExpireAppOptimizationModeEnabled();
+
     /** Check whether to log the optimization mode of app entry in period job */
     boolean isAppOptimizationModeLogged();
 
diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
index 1226267..bdb236a 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
@@ -89,6 +89,16 @@
     }
 
     @Override
+    public boolean isRestrictedModeOverwriteEnabled() {
+        return false;
+    }
+
+    @Override
+    public boolean isForceExpireAppOptimizationModeEnabled() {
+        return false;
+    }
+
+    @Override
     public boolean isAppOptimizationModeLogged() {
         return false;
     }
@@ -243,7 +253,7 @@
 
     @Override
     public boolean isBatteryDefend(BatteryInfo info) {
-        return info.isBatteryDefender && !isExtraDefend();
+        return info.isLongLife && !isExtraDefend();
     }
 
     @Override
diff --git a/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetector.java b/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetector.java
index 639b3c7..6ff2665 100644
--- a/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetector.java
+++ b/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetector.java
@@ -21,7 +21,6 @@
 import com.android.settings.fuelgauge.BatteryInfo;
 import com.android.settings.fuelgauge.batterytip.tips.BatteryDefenderTip;
 import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
-import com.android.settings.overlay.FeatureFactory;
 
 /** Detect whether the battery is overheated */
 public class BatteryDefenderDetector implements BatteryTipDetector {
@@ -35,12 +34,10 @@
 
     @Override
     public BatteryTip detect() {
-        final boolean isBasicBatteryDefend =
-                FeatureFactory.getFeatureFactory()
-                        .getPowerUsageFeatureProvider()
-                        .isBatteryDefend(mBatteryInfo);
         final int state =
-                isBasicBatteryDefend ? BatteryTip.StateType.NEW : BatteryTip.StateType.INVISIBLE;
+                mBatteryInfo.isBatteryDefender
+                        ? BatteryTip.StateType.NEW
+                        : BatteryTip.StateType.INVISIBLE;
         final boolean isPluggedIn = mBatteryInfo.pluggedStatus != 0;
         return new BatteryDefenderTip(state, isPluggedIn);
     }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapper.java b/src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapper.java
index be5de06..c62728b 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapper.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapper.java
@@ -28,10 +28,11 @@
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
 import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.widget.TipCardPreference;
 
 import java.util.function.Function;
 
-final class AnomalyEventWrapper {
+class AnomalyEventWrapper {
     private static final String TAG = "AnomalyEventWrapper";
 
     private final Context mContext;
@@ -235,16 +236,16 @@
         return mHighlightSlotPair;
     }
 
-    boolean updateTipsCardPreference(BatteryTipsCardPreference preference) {
+    boolean updateTipsCardPreference(TipCardPreference preference) {
         final String titleString = getTitleString();
         if (TextUtils.isEmpty(titleString)) {
             return false;
         }
         preference.setTitle(titleString);
-        preference.setIconResourceId(getIconResId());
-        preference.setButtonColorResourceId(getColorResId());
-        preference.setMainButtonLabel(getMainBtnString());
-        preference.setDismissButtonLabel(getDismissBtnString());
+        preference.setIconResId(getIconResId());
+        preference.setTintColorResId(getColorResId());
+        preference.setPrimaryButtonText(getDismissBtnString());
+        preference.setSecondaryButtonText(getMainBtnString());
         return true;
     }
 
diff --git a/src/com/android/settings/fuelgauge/batteryusage/AppOptModeSharedPreferencesUtils.kt b/src/com/android/settings/fuelgauge/batteryusage/AppOptModeSharedPreferencesUtils.kt
index 1111bd4..508c4df 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/AppOptModeSharedPreferencesUtils.kt
+++ b/src/com/android/settings/fuelgauge/batteryusage/AppOptModeSharedPreferencesUtils.kt
@@ -25,6 +25,7 @@
 import com.android.settings.fuelgauge.BatteryOptimizeHistoricalLogEntry.Action
 import com.android.settings.fuelgauge.BatteryOptimizeUtils
 import com.android.settings.fuelgauge.BatteryUtils
+import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
 
 /** A util to store and update app optimization mode expiration event data. */
 object AppOptModeSharedPreferencesUtils {
@@ -74,10 +75,13 @@
     @JvmStatic
     fun resetExpiredAppOptModeBeforeTimestamp(context: Context, queryTimestampMs: Long) =
         synchronized(appOptimizationModeLock) {
+            val forceExpireEnabled =
+                featureFactory.powerUsageFeatureProvider.isForceExpireAppOptimizationModeEnabled
             val eventsMap = getAppOptModeEventsMap(context)
             val expirationUids = ArrayList<Int>(eventsMap.size)
             for ((uid, event) in eventsMap) {
-                if (event.expirationTime > queryTimestampMs) {
+                // Not reset the mode if forceExpireEnabled is false and not expired.
+                if (!forceExpireEnabled && event.expirationTime > queryTimestampMs) {
                     continue
                 }
                 updateBatteryOptimizationMode(
@@ -108,12 +112,22 @@
         getBatteryOptimizeUtils: (Int, String) -> BatteryOptimizeUtils,
     ) =
         synchronized(appOptimizationModeLock) {
+            val restrictedModeOverwriteEnabled =
+                featureFactory.powerUsageFeatureProvider.isRestrictedModeOverwriteEnabled
             val eventsMap = getAppOptModeEventsMap(context)
             val expirationEvents: MutableMap<Int, AppOptimizationModeEvent> = ArrayMap()
             for (i in uids.indices) {
                 val uid = uids[i]
                 val packageName = packageNames[i]
                 val optimizationMode = optimizationModes[i]
+                if (
+                    !restrictedModeOverwriteEnabled &&
+                        optimizationMode == BatteryOptimizeUtils.MODE_RESTRICTED
+                ) {
+                    // Unable to set restricted mode due to flag protection.
+                    Log.w(TAG, "setOptimizationMode($packageName) into restricted ignored")
+                    continue
+                }
                 val originalOptMode: Int =
                     updateBatteryOptimizationMode(
                         context,
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntry.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntry.java
index 5b05e34..4d1545a 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntry.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntry.java
@@ -422,7 +422,8 @@
             return;
         }
         final boolean isValidPackage =
-                BatteryUtils.getInstance(mContext).getPackageUid(getPackageName())
+                BatteryUtils.getInstance(mContext)
+                                .getPackageUidAsUser(getPackageName(), (int) mUserId)
                         != BatteryUtils.UID_NULL;
         if (!isValidPackage) {
             mValidForRestriction = false;
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java
index ddb8ecb..fef3056 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java
@@ -22,7 +22,6 @@
 import android.content.pm.IPackageManager;
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.pm.UserInfo;
 import android.graphics.drawable.Drawable;
 import android.os.BatteryConsumer;
@@ -176,18 +175,7 @@
                 }
             }
             if (mDefaultPackageName != null) {
-                PackageManager pm = context.getPackageManager();
-                try {
-                    ApplicationInfo appInfo =
-                            pm.getApplicationInfo(mDefaultPackageName, 0 /* no flags */);
-                    mName = pm.getApplicationLabel(appInfo).toString();
-                } catch (NameNotFoundException e) {
-                    Log.d(
-                            TAG,
-                            "PackageManager failed to retrieve ApplicationInfo for: "
-                                    + mDefaultPackageName);
-                    mName = mDefaultPackageName;
-                }
+                mName = mDefaultPackageName;
             }
             mTimeInForegroundMs =
                     uidBatteryConsumer.getTimeInProcessStateMs(
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryOptimizationModeCache.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryOptimizationModeCache.java
index 6b35fb9..2084b66 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryOptimizationModeCache.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryOptimizationModeCache.java
@@ -17,38 +17,47 @@
 package com.android.settings.fuelgauge.batteryusage;
 
 import android.content.Context;
-import android.util.ArrayMap;
+import android.util.SparseArray;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.core.util.Pair;
 
 import com.android.settings.fuelgauge.BatteryOptimizeUtils;
 import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
 
-import java.util.Map;
-
 /** A cache to log battery optimization mode of an app */
 final class BatteryOptimizationModeCache {
     private static final String TAG = "BatteryOptimizationModeCache";
 
-    @VisibleForTesting final Map<Integer, BatteryOptimizationMode> mBatteryOptimizeModeCacheMap;
+    /* Stores the battery optimization mode and mutable state for each UID. */
+    @VisibleForTesting
+    final SparseArray<Pair<BatteryOptimizationMode, Boolean>> mBatteryOptimizeModeCache;
 
     private final Context mContext;
 
     BatteryOptimizationModeCache(final Context context) {
         mContext = context;
-        mBatteryOptimizeModeCacheMap = new ArrayMap<>();
+        mBatteryOptimizeModeCache = new SparseArray<>();
         PowerAllowlistBackend.getInstance(mContext).refreshList();
     }
 
-    BatteryOptimizationMode getBatteryOptimizeMode(final int uid, final String packageName) {
-        if (!mBatteryOptimizeModeCacheMap.containsKey(uid)) {
+    Pair<BatteryOptimizationMode, Boolean> getBatteryOptimizeModeInfo(
+            final int uid, final String packageName) {
+        if (!mBatteryOptimizeModeCache.contains(uid)) {
             final BatteryOptimizeUtils batteryOptimizeUtils =
                     new BatteryOptimizeUtils(mContext, uid, packageName);
-            mBatteryOptimizeModeCacheMap.put(
+            mBatteryOptimizeModeCache.put(
                     uid,
-                    BatteryOptimizationMode.forNumber(
-                            batteryOptimizeUtils.getAppOptimizationMode(/* refreshList= */ false)));
+                    Pair.create(
+                            BatteryOptimizationMode.forNumber(
+                                    batteryOptimizeUtils.getAppOptimizationMode(
+                                            /* refreshList= */ false)),
+                            batteryOptimizeUtils.isOptimizeModeMutable()));
         }
-        return mBatteryOptimizeModeCacheMap.get(uid);
+        final Pair<BatteryOptimizationMode, Boolean> batteryOptimizeModeInfo =
+                mBatteryOptimizeModeCache.get(uid);
+        return batteryOptimizeModeInfo != null
+                ? batteryOptimizeModeInfo
+                : new Pair<>(BatteryOptimizationMode.MODE_UNKNOWN, false);
     }
 }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreference.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreference.java
deleted file mode 100644
index bbd1099..0000000
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreference.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.batteryusage;
-
-import android.content.Context;
-import android.text.TextUtils;
-import android.util.AttributeSet;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceViewHolder;
-
-import com.android.settings.R;
-
-import com.google.android.material.button.MaterialButton;
-
-/** A preference for displaying the battery tips card view. */
-public class BatteryTipsCardPreference extends Preference implements View.OnClickListener {
-
-    private static final String TAG = "BatteryTipsCardPreference";
-
-    interface OnConfirmListener {
-        void onConfirm();
-    }
-
-    interface OnRejectListener {
-        void onReject();
-    }
-
-    private OnConfirmListener mOnConfirmListener;
-    private OnRejectListener mOnRejectListener;
-    private int mIconResourceId = 0;
-    private int mButtonColorResourceId = 0;
-
-    @VisibleForTesting CharSequence mMainButtonLabel;
-    @VisibleForTesting CharSequence mDismissButtonLabel;
-
-    public BatteryTipsCardPreference(Context context, AttributeSet attrs) {
-        super(context, attrs);
-        setLayoutResource(R.layout.battery_tips_card);
-        setViewId(R.id.battery_tips_card);
-        setSelectable(false);
-    }
-
-    public void setOnConfirmListener(OnConfirmListener listener) {
-        mOnConfirmListener = listener;
-    }
-
-    public void setOnRejectListener(OnRejectListener listener) {
-        mOnRejectListener = listener;
-    }
-
-    /**
-     * Sets the icon in tips card.
-     */
-    public void setIconResourceId(int resourceId) {
-        if (mIconResourceId != resourceId) {
-            mIconResourceId = resourceId;
-            notifyChanged();
-        }
-    }
-
-    /**
-     * Sets the background color for main button and the text color for dismiss button.
-     */
-    public void setButtonColorResourceId(int resourceId) {
-        if (mButtonColorResourceId != resourceId) {
-            mButtonColorResourceId = resourceId;
-            notifyChanged();
-        }
-    }
-
-    /**
-     * Sets the label of main button in tips card.
-     */
-    public void setMainButtonLabel(CharSequence label) {
-        if (!TextUtils.equals(mMainButtonLabel, label)) {
-            mMainButtonLabel = label;
-            notifyChanged();
-        }
-    }
-
-    /**
-     * Sets the label of dismiss button in tips card.
-     */
-    public void setDismissButtonLabel(CharSequence label) {
-        if (!TextUtils.equals(mDismissButtonLabel, label)) {
-            mDismissButtonLabel = label;
-            notifyChanged();
-        }
-    }
-
-    @Override
-    public void onClick(View view) {
-        final int viewId = view.getId();
-        if (viewId == R.id.main_button || viewId == R.id.battery_tips_card) {
-            if (mOnConfirmListener != null) {
-                mOnConfirmListener.onConfirm();
-            }
-        } else if (viewId == R.id.dismiss_button) {
-            if (mOnRejectListener != null) {
-                mOnRejectListener.onReject();
-            }
-        }
-    }
-
-    @Override
-    public void onBindViewHolder(PreferenceViewHolder view) {
-        super.onBindViewHolder(view);
-
-        ((TextView) view.findViewById(R.id.title)).setText(getTitle());
-
-        final LinearLayout tipsCard = (LinearLayout) view.findViewById(R.id.battery_tips_card);
-        tipsCard.setOnClickListener(this);
-        final MaterialButton mainButton = (MaterialButton) view.findViewById(R.id.main_button);
-        mainButton.setOnClickListener(this);
-        mainButton.setText(mMainButtonLabel);
-        final MaterialButton dismissButton =
-                (MaterialButton) view.findViewById(R.id.dismiss_button);
-        dismissButton.setOnClickListener(this);
-        dismissButton.setText(mDismissButtonLabel);
-        if (mButtonColorResourceId != 0) {
-            final int colorInt = getContext().getColor(mButtonColorResourceId);
-            mainButton.setBackgroundColor(colorInt);
-            dismissButton.setTextColor(colorInt);
-        }
-
-        if (mIconResourceId != 0) {
-            ((ImageView) view.findViewById(R.id.icon)).setImageResource(mIconResourceId);
-        }
-    }
-}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsController.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsController.java
index 821c868..405b786 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsController.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsController.java
@@ -25,6 +25,7 @@
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.widget.TipCardPreference;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 /** Controls the update for battery tips card */
@@ -50,10 +51,9 @@
         void onAnomalyReject();
     }
 
-    private OnAnomalyConfirmListener mOnAnomalyConfirmListener;
-    private OnAnomalyRejectListener mOnAnomalyRejectListener;
-
-    @VisibleForTesting BatteryTipsCardPreference mCardPreference;
+    @VisibleForTesting OnAnomalyConfirmListener mOnAnomalyConfirmListener;
+    @VisibleForTesting OnAnomalyRejectListener mOnAnomalyRejectListener;
+    @VisibleForTesting TipCardPreference mCardPreference;
     @VisibleForTesting AnomalyEventWrapper mAnomalyEventWrapper = null;
     @VisibleForTesting Boolean mIsAcceptable = false;
 
@@ -117,42 +117,20 @@
             return;
         }
 
-        // Set battery tips card listener
-        mCardPreference.setOnConfirmListener(
+        mCardPreference.setPrimaryButtonAction(
                 () -> {
-                    mCardPreference.setVisible(false);
-                    if (mOnAnomalyConfirmListener != null) {
-                        mOnAnomalyConfirmListener.onAnomalyConfirm();
-                    } else if (mAnomalyEventWrapper.updateSystemSettingsIfAvailable()
-                            || mAnomalyEventWrapper.launchSubSetting()) {
-                        mMetricsFeatureProvider.action(
-                                /* attribution= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                                /* action= */ SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT,
-                                /* pageId= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                                /* key= */ ANOMALY_KEY,
-                                /* value= */ anomalyKeyNumber);
-                    }
+                    onBatteryTipsCardDismiss(anomalyKeyNumber);
+                    return null;
                 });
-        mCardPreference.setOnRejectListener(
+        mCardPreference.setSecondaryButtonAction(
                 () -> {
-                    mCardPreference.setVisible(false);
-                    if (mOnAnomalyRejectListener != null) {
-                        mOnAnomalyRejectListener.onAnomalyReject();
-                    }
-                    // For anomaly events with same record key, dismissed until next time full
-                    // charged.
-                    final String dismissRecordKey = mAnomalyEventWrapper.getDismissRecordKey();
-                    if (!TextUtils.isEmpty(dismissRecordKey)) {
-                        DatabaseUtils.setDismissedPowerAnomalyKeys(mContext, dismissRecordKey);
-                    }
-                    mMetricsFeatureProvider.action(
-                            /* attribution= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                            /* action= */ SettingsEnums.ACTION_BATTERY_TIPS_CARD_DISMISS,
-                            /* pageId= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                            /* key= */ ANOMALY_KEY,
-                            /* value= */ anomalyKeyNumber);
+                    onBatteryTipsCardAccept(anomalyKeyNumber);
+                    return null;
                 });
 
+        mCardPreference.setPrimaryButtonVisibility(true);
+        mCardPreference.setSecondaryButtonVisibility(true);
+        mCardPreference.buildContent();
         mCardPreference.setVisible(true);
         mMetricsFeatureProvider.action(
                 /* attribution= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
@@ -161,4 +139,37 @@
                 /* key= */ ANOMALY_KEY,
                 /* value= */ anomalyKeyNumber);
     }
+
+    private void onBatteryTipsCardDismiss(final int anomalyKeyNumber) {
+        mCardPreference.setVisible(false);
+        if (mOnAnomalyRejectListener != null) {
+            mOnAnomalyRejectListener.onAnomalyReject();
+        }
+        // For anomaly events with same record key, dismissed until next time full charged.
+        final String dismissRecordKey = mAnomalyEventWrapper.getDismissRecordKey();
+        if (!TextUtils.isEmpty(dismissRecordKey)) {
+            DatabaseUtils.setDismissedPowerAnomalyKeys(mContext, dismissRecordKey);
+        }
+        mMetricsFeatureProvider.action(
+                /* attribution= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                /* action= */ SettingsEnums.ACTION_BATTERY_TIPS_CARD_DISMISS,
+                /* pageId= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                /* key= */ ANOMALY_KEY,
+                /* value= */ anomalyKeyNumber);
+    }
+
+    private void onBatteryTipsCardAccept(final int anomalyKeyNumber) {
+        mCardPreference.setVisible(false);
+        if (mOnAnomalyConfirmListener != null) {
+            mOnAnomalyConfirmListener.onAnomalyConfirm();
+        } else if (mAnomalyEventWrapper.updateSystemSettingsIfAvailable()
+                || mAnomalyEventWrapper.launchSubSetting()) {
+            mMetricsFeatureProvider.action(
+                    /* attribution= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                    /* action= */ SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT,
+                    /* pageId= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                    /* key= */ ANOMALY_KEY,
+                    /* value= */ anomalyKeyNumber);
+        }
+    }
 }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownController.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownController.java
index f451f0a..09940b3 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownController.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownController.java
@@ -20,6 +20,7 @@
 import android.content.Context;
 import android.content.res.Configuration;
 import android.graphics.drawable.Drawable;
+import android.os.Bundle;
 import android.os.Handler;
 import android.os.Looper;
 import android.text.TextUtils;
@@ -46,9 +47,13 @@
 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.OnCreate;
 import com.android.settingslib.core.lifecycle.events.OnDestroy;
 import com.android.settingslib.core.lifecycle.events.OnResume;
+import com.android.settingslib.core.lifecycle.events.OnSaveInstanceState;
 import com.android.settingslib.widget.FooterPreference;
+import com.android.settingslib.widget.SettingsSpinnerAdapter;
+import com.android.settingslib.widget.SettingsSpinnerPreference;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -58,7 +63,7 @@
 
 /** Controller for battery usage breakdown preference group. */
 public class BatteryUsageBreakdownController extends BasePreferenceController
-        implements LifecycleObserver, OnResume, OnDestroy {
+        implements LifecycleObserver, OnResume, OnDestroy, OnCreate, OnSaveInstanceState {
     private static final String TAG = "BatteryUsageBreakdownController";
     private static final String ROOT_PREFERENCE_KEY = "battery_usage_breakdown";
     private static final String FOOTER_PREFERENCE_KEY = "battery_usage_footer";
@@ -67,6 +72,7 @@
     private static final String PACKAGE_NAME_NONE = "none";
     private static final String SLOT_TIMESTAMP = "slot_timestamp";
     private static final String ANOMALY_KEY = "anomaly_key";
+    private static final String KEY_SPINNER_POSITION = "spinner_position";
     private static final List<BatteryDiffEntry> EMPTY_ENTRY_LIST = new ArrayList<>();
 
     private static int sUiMode = Configuration.UI_MODE_NIGHT_UNDEFINED;
@@ -78,12 +84,12 @@
 
     @VisibleForTesting final Map<String, Preference> mPreferenceCache = new ArrayMap<>();
 
-    private int mSpinnerPosition;
     private String mSlotInformation;
+    private SettingsSpinnerPreference mSpinnerPreference;
+    private SettingsSpinnerAdapter<CharSequence> mSpinnerAdapter;
 
     @VisibleForTesting Context mPrefContext;
     @VisibleForTesting PreferenceCategory mRootPreference;
-    @VisibleForTesting SpinnerPreference mSpinnerPreference;
     @VisibleForTesting PreferenceGroup mAppListPreferenceGroup;
     @VisibleForTesting FooterPreference mFooterPreference;
     @VisibleForTesting BatteryDiffData mBatteryDiffData;
@@ -92,6 +98,7 @@
     @VisibleForTesting String mPercentLessThanThresholdContentDescription;
     @VisibleForTesting boolean mIsHighlightSlot;
     @VisibleForTesting int mAnomalyKeyNumber;
+    @VisibleForTesting int mSpinnerPosition;
     @VisibleForTesting String mAnomalyEntryKey;
     @VisibleForTesting String mAnomalyHintString;
     @VisibleForTesting String mAnomalyHintPrefKey;
@@ -111,6 +118,15 @@
     }
 
     @Override
+    public void onCreate(Bundle savedInstanceState) {
+        if (savedInstanceState == null) {
+            return;
+        }
+        mSpinnerPosition = savedInstanceState.getInt(KEY_SPINNER_POSITION, mSpinnerPosition);
+        Log.d(TAG, "onCreate() spinnerPosition=" + mSpinnerPosition);
+    }
+
+    @Override
     public void onResume() {
         final int currentUiMode =
                 mContext.getResources().getConfiguration().uiMode
@@ -140,6 +156,15 @@
         return false;
     }
 
+    @Override
+    public void onSaveInstanceState(Bundle savedInstanceState) {
+        if (savedInstanceState == null) {
+            return;
+        }
+        savedInstanceState.putInt(KEY_SPINNER_POSITION, mSpinnerPosition);
+        Log.d(TAG, "onSaveInstanceState() spinnerPosition=" + mSpinnerPosition);
+    }
+
     private boolean isAnomalyBatteryDiffEntry(BatteryDiffEntry entry) {
         return mIsHighlightSlot
                 && mAnomalyEntryKey != null
@@ -218,11 +243,14 @@
                         formatPercentage);
 
         mAppListPreferenceGroup.setOrderingAsAdded(false);
-        mSpinnerPreference.initializeSpinner(
+        mSpinnerAdapter = new SettingsSpinnerAdapter<>(mPrefContext);
+        mSpinnerAdapter.addAll(
                 new String[] {
                     mPrefContext.getString(R.string.battery_usage_spinner_view_by_apps),
                     mPrefContext.getString(R.string.battery_usage_spinner_view_by_systems)
-                },
+                });
+        mSpinnerPreference.setAdapter(mSpinnerAdapter);
+        mSpinnerPreference.setOnItemSelectedListener(
                 new AdapterView.OnItemSelectedListener() {
                     @Override
                     public void onItemSelected(
@@ -244,6 +272,7 @@
                     @Override
                     public void onNothingSelected(AdapterView<?> parent) {}
                 });
+        mSpinnerPreference.setSelection(mSpinnerPosition);
     }
 
     /**
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiver.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiver.java
index bfa501c..f710c71 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiver.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiver.java
@@ -63,8 +63,8 @@
         }
         final String action = intent.getAction();
         Log.d(TAG, "onReceive:" + action);
-        if (com.android.settingslib.fuelgauge.BatteryUtils.isWorkProfile(context)) {
-            Log.w(TAG, "do nothing for work profile action=" + action);
+        if (com.android.settingslib.fuelgauge.BatteryUtils.isAdditionalProfile(context)) {
+            Log.w(TAG, "do nothing for an additional profile action=" + action);
             return;
         }
         DatabaseUtils.recordDateTime(context, action);
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageContentProvider.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageContentProvider.java
index 095a65a..52010af 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageContentProvider.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageContentProvider.java
@@ -110,8 +110,8 @@
 
     @Override
     public boolean onCreate() {
-        if (BatteryUtils.isWorkProfile(getContext())) {
-            Log.w(TAG, "do not create provider for work profile");
+        if (BatteryUtils.isAdditionalProfile(getContext())) {
+            Log.w(TAG, "do not create provider for an additional profile");
             return false;
         }
         mClock = Clock.systemUTC();
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiver.java b/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiver.java
index b758df4..45d724f 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiver.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiver.java
@@ -54,8 +54,8 @@
     @Override
     public void onReceive(Context context, Intent intent) {
         final String action = intent == null ? "" : intent.getAction();
-        if (BatteryUtils.isWorkProfile(context)) {
-            Log.w(TAG, "do not start job for work profile action=" + action);
+        if (BatteryUtils.isAdditionalProfile(context)) {
+            Log.w(TAG, "do not start job for an additional profile action=" + action);
             return;
         }
 
diff --git a/src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java b/src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java
index 8f4d4dd..391a57a 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java
@@ -35,6 +35,7 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
+import androidx.core.util.Pair;
 
 import com.android.settings.fuelgauge.BatteryUtils;
 import com.android.settings.fuelgauge.batteryusage.db.AppUsageEventEntity;
@@ -542,9 +543,11 @@
         }
         // Log the battery optimization mode of AppEntry while converting to batteryUsageSlot.
         if (optimizationModeCache != null && !batteryDiffEntry.isSystemEntry()) {
-            builder.setAppOptimizationMode(
-                    optimizationModeCache.getBatteryOptimizeMode(
-                            (int) batteryDiffEntry.mUid, batteryDiffEntry.getPackageName()));
+            final Pair<BatteryOptimizationMode, Boolean> batteryOptimizationModeInfo =
+                    optimizationModeCache.getBatteryOptimizeModeInfo(
+                            (int) batteryDiffEntry.mUid, batteryDiffEntry.getPackageName());
+            builder.setAppOptimizationMode(batteryOptimizationModeInfo.first)
+                    .setIsAppOptimizationModeMutable(batteryOptimizationModeInfo.second);
         }
         return builder.build();
     }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java b/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java
index da8481d..ebe7996 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java
@@ -172,13 +172,21 @@
     /** Gets the {@link BatteryUsageStats} from system service. */
     @Nullable
     public static BatteryUsageStats getBatteryUsageStats(final Context context) {
+        final long startTime = System.currentTimeMillis();
         final BatteryUsageStatsQuery batteryUsageStatsQuery =
                 new BatteryUsageStatsQuery.Builder()
                         .includeBatteryHistory()
                         .includeProcessStateData()
                         .build();
-        return context.getSystemService(BatteryStatsManager.class)
-                .getBatteryUsageStats(batteryUsageStatsQuery);
+        final BatteryUsageStats batteryUsageStats =
+                context.getSystemService(BatteryStatsManager.class)
+                        .getBatteryUsageStats(batteryUsageStatsQuery);
+        Log.d(
+                TAG,
+                String.format(
+                        "getBatteryUsageStats() from BatteryStatsManager in %d/ms",
+                        System.currentTimeMillis() - startTime));
+        return batteryUsageStats;
     }
 
     /** Gets the {@link UsageEvents} from system service for all unlocked users. */
@@ -1693,8 +1701,14 @@
         final UserManager userManager = context.getSystemService(UserManager.class);
         final SparseArray<BatteryEntry> batteryEntryList = new SparseArray<>();
         final ArrayList<BatteryEntry> results = new ArrayList<>();
+        final long startTime = System.currentTimeMillis();
         final List<UidBatteryConsumer> uidBatteryConsumers =
                 batteryUsageStats.getUidBatteryConsumers();
+        Log.d(
+                TAG,
+                String.format(
+                        "get %d uidBatteryConsumers from BatteryUsageStats in %d/ms",
+                        uidBatteryConsumers.size(), (System.currentTimeMillis() - startTime)));
 
         // Sort to have all apps with "real" UIDs first, followed by apps that are supposed
         // to be combined with the real ones.
@@ -1763,9 +1777,11 @@
                             deviceConsumer.getConsumedPowerForCustomComponent(componentId)));
         }
 
+        final int numComponentEntries = batteryEntryList.size();
         final List<UserBatteryConsumer> userBatteryConsumers =
                 batteryUsageStats.getUserBatteryConsumers();
-        for (int i = 0, size = userBatteryConsumers.size(); i < size; i++) {
+        final int numUserEntries = userBatteryConsumers.size();
+        for (int i = 0; i < numUserEntries; i++) {
             final UserBatteryConsumer consumer = userBatteryConsumers.get(i);
             results.add(
                     new BatteryEntry(
@@ -1785,6 +1801,13 @@
             results.add(batteryEntryList.valueAt(i));
         }
 
+        Log.d(
+                TAG,
+                String.format(
+                        "getCoalescedUsageList(): uidEntries = %d, "
+                                + "userEntries = %d, componentEntries = %d",
+                        numUidSippers, numUserEntries, numComponentEntries));
+
         // The sort order must have changed, so re-sort based on total power use.
         results.sort(BatteryEntry.COMPARATOR);
         return results;
diff --git a/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java b/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java
index dcdd060..ad487ef 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java
@@ -70,6 +70,7 @@
 
     /** Clear memory threshold for device booting phase. */
     private static final long CLEAR_MEMORY_THRESHOLD_MS = Duration.ofMinutes(5).toMillis();
+
     private static final long CLEAR_MEMORY_DELAYED_MS = Duration.ofSeconds(2).toMillis();
     private static final long INVALID_TIMESTAMP = 0L;
 
@@ -447,12 +448,28 @@
                         database.batteryEventDao().clearAllAfter(startTimestamp);
                         database.batteryStateDao().clearAllAfter(startTimestamp);
                         database.batteryUsageSlotDao().clearAllAfter(startTimestamp);
+                        database.batteryReattributeDao().clearAllAfter(startTimestamp);
                     } catch (RuntimeException e) {
                         Log.e(TAG, "clearAllAfter() failed", e);
                     }
                 });
     }
 
+    /** Clears generated cache data in the battery usage database. */
+    public static void clearEvenHourCacheData(Context context) {
+        AsyncTask.execute(
+                () -> {
+                    try {
+                        final BatteryStateDatabase database =
+                                BatteryStateDatabase.getInstance(context.getApplicationContext());
+                        database.batteryEventDao().clearEvenHourEvent();
+                        database.batteryUsageSlotDao().clearAll();
+                    } catch (RuntimeException e) {
+                        Log.e(TAG, "clearEvenHourCacheData() failed", e);
+                    }
+                });
+    }
+
     /** Clears all out-of-date data in the battery usage database. */
     public static void clearExpiredDataIfNeeded(Context context) {
         AsyncTask.execute(
@@ -526,9 +543,11 @@
         return startCalendar.getTimeInMillis();
     }
 
-    /** Returns the context with profile parent identity when current user is work profile. */
+    /**
+     * Returns the context with profile parent identity when current user is an additional profile.
+     */
     public static Context getParentContext(Context context) {
-        if (com.android.settingslib.fuelgauge.BatteryUtils.isWorkProfile(context)) {
+        if (com.android.settingslib.fuelgauge.BatteryUtils.isAdditionalProfile(context)) {
             try {
                 return context.createPackageContextAsUser(
                         /* packageName= */ context.getPackageName(),
@@ -919,14 +938,12 @@
         final String logInfo =
                 String.format(
                         Locale.ENGLISH,
-                        "clear database for new time zone = %s",
+                        "clear database cache for new time zone = %s",
                         TimeZone.getDefault().toString());
         BatteryUsageLogUtils.writeLog(context, Action.TIMEZONE_UPDATED, logInfo);
         Log.d(TAG, logInfo);
-        DatabaseUtils.clearAll(context);
+        DatabaseUtils.clearEvenHourCacheData(context);
         PeriodicJobManager.getInstance(context).refreshJob(/* fromBoot= */ false);
-        // Take a snapshot of battery usage data immediately
-        BatteryUsageDataLoader.enqueueWork(context, /* isFullChargeStart= */ true);
     }
 
     private static long loadLongFromContentProvider(
diff --git a/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiver.java b/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiver.java
index 5c73adb..982cf40 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiver.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiver.java
@@ -50,10 +50,10 @@
             Log.w(TAG, "receive unexpected action=" + action);
             return;
         }
-        if (BatteryUtils.isWorkProfile(context)) {
+        if (BatteryUtils.isAdditionalProfile(context)) {
             BatteryUsageLogUtils.writeLog(
-                    context, Action.SCHEDULE_JOB, "do not refresh job for work profile");
-            Log.w(TAG, "do not refresh job for work profile action=" + action);
+                    context, Action.SCHEDULE_JOB, "do not refresh job for an additional profile");
+            Log.w(TAG, "do not refresh job for an additional profile action=" + action);
             return;
         }
         BatteryUsageLogUtils.writeLog(context, Action.EXECUTE_JOB, "");
diff --git a/src/com/android/settings/fuelgauge/batteryusage/SpinnerPreference.java b/src/com/android/settings/fuelgauge/batteryusage/SpinnerPreference.java
deleted file mode 100644
index 886d00d..0000000
--- a/src/com/android/settings/fuelgauge/batteryusage/SpinnerPreference.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.batteryusage;
-
-import android.content.Context;
-import android.os.Parcelable;
-import android.util.AttributeSet;
-import android.util.Log;
-import android.widget.AdapterView;
-import android.widget.Spinner;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceViewHolder;
-
-import com.android.internal.annotations.VisibleForTesting;
-import com.android.settings.R;
-import com.android.settingslib.widget.SettingsSpinnerAdapter;
-
-/** A preference which contains a spinner. */
-public class SpinnerPreference extends Preference {
-    private static final String TAG = "SpinnerPreference";
-
-    private AdapterView.OnItemSelectedListener mOnItemSelectedListener;
-
-    @VisibleForTesting Spinner mSpinner;
-    @VisibleForTesting String[] mItems;
-    @VisibleForTesting int mSavedSpinnerPosition;
-
-    public SpinnerPreference(Context context, AttributeSet attrs) {
-        super(context, attrs);
-        setLayoutResource(R.layout.preference_spinner);
-    }
-
-    void initializeSpinner(
-            String[] items, AdapterView.OnItemSelectedListener onItemSelectedListener) {
-        mItems = items;
-        mOnItemSelectedListener = onItemSelectedListener;
-    }
-
-    @Override
-    public void onBindViewHolder(PreferenceViewHolder view) {
-        if (mSpinner != null) {
-            return;
-        }
-
-        mSpinner = (Spinner) view.findViewById(R.id.spinner);
-        mSpinner.setAdapter(new SpinnerAdapter(getContext(), mItems));
-        mSpinner.setSelection(mSavedSpinnerPosition);
-        mSpinner.setLongClickable(false);
-        if (mOnItemSelectedListener != null) {
-            mSpinner.setOnItemSelectedListener(mOnItemSelectedListener);
-        }
-    }
-
-    @Override
-    protected Parcelable onSaveInstanceState() {
-        if (mSpinner == null) {
-            return super.onSaveInstanceState();
-        }
-        Log.d(TAG, "onSaveInstanceState() spinnerPosition=" + mSpinner.getSelectedItemPosition());
-        return new SavedState(super.onSaveInstanceState(), mSpinner.getSelectedItemPosition());
-    }
-
-    @Override
-    protected void onRestoreInstanceState(Parcelable state) {
-        if (state == null || state == BaseSavedState.EMPTY_STATE) {
-            super.onRestoreInstanceState(state);
-            return;
-        }
-        if (!(state instanceof SavedState)) {
-            // To avoid the IllegalArgumentException, return the BaseSavedState.EMPTY_STATE.
-            super.onRestoreInstanceState(BaseSavedState.EMPTY_STATE);
-            return;
-        }
-        SavedState savedState = (SavedState) state;
-        super.onRestoreInstanceState(savedState.getSuperState());
-        mSavedSpinnerPosition = savedState.getSpinnerPosition();
-        if (mOnItemSelectedListener != null) {
-            mOnItemSelectedListener.onItemSelected(
-                    /* parent= */ null,
-                    /* view= */ null,
-                    savedState.getSpinnerPosition(),
-                    /* id= */ 0);
-        }
-        Log.d(TAG, "onRestoreInstanceState() spinnerPosition=" + savedState.getSpinnerPosition());
-    }
-
-    @VisibleForTesting
-    static class SavedState extends BaseSavedState {
-        private int mSpinnerPosition;
-
-        SavedState(Parcelable superState, int spinnerPosition) {
-            super(superState);
-            mSpinnerPosition = spinnerPosition;
-        }
-
-        int getSpinnerPosition() {
-            return mSpinnerPosition;
-        }
-    }
-
-    private static class SpinnerAdapter extends SettingsSpinnerAdapter<CharSequence> {
-        private final String[] mItems;
-
-        SpinnerAdapter(Context context, String[] items) {
-            super(context);
-            mItems = items;
-        }
-
-        @Override
-        public int getCount() {
-            return mItems.length;
-        }
-
-        @Override
-        public CharSequence getItem(int position) {
-            return mItems[position];
-        }
-    }
-}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProvider.java b/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProvider.java
index 7e759ee..e829a3c 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProvider.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProvider.java
@@ -49,8 +49,8 @@
             Log.w(TAG, "failed to dump BatteryUsage state: null application context");
             return;
         }
-        if (BatteryUtils.isWorkProfile(context)) {
-            Log.w(TAG, "ignore battery usage states dump in the work profile");
+        if (BatteryUtils.isAdditionalProfile(context)) {
+            Log.w(TAG, "ignore battery usage states dump in the additional profile");
             return;
         }
         writer.println("dump BatteryUsage and AppUsage states:");
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventDao.java b/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventDao.java
deleted file mode 100644
index 2497801..0000000
--- a/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventDao.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.batteryusage.db;
-
-import android.database.Cursor;
-
-import androidx.room.Dao;
-import androidx.room.Insert;
-import androidx.room.OnConflictStrategy;
-import androidx.room.Query;
-
-import java.util.List;
-
-/** Data access object for accessing {@link AppUsageEventEntity} in the database. */
-@Dao
-public interface AppUsageEventDao {
-
-    /** Inserts a {@link AppUsageEventEntity} data into the database. */
-    @Insert(onConflict = OnConflictStrategy.REPLACE)
-    void insert(AppUsageEventEntity event);
-
-    /** Inserts {@link AppUsageEventEntity} data into the database. */
-    @Insert(onConflict = OnConflictStrategy.REPLACE)
-    void insertAll(List<AppUsageEventEntity> events);
-
-    /** Lists all recorded data after a specific timestamp. */
-    @Query("SELECT * FROM AppUsageEventEntity WHERE timestamp > :timestamp ORDER BY timestamp DESC")
-    List<AppUsageEventEntity> getAllAfter(long timestamp);
-
-    /** Gets the {@link Cursor} of all recorded data after a specific timestamp of the users. */
-    @Query(
-            "SELECT * FROM AppUsageEventEntity WHERE timestamp >= :timestamp"
-                    + " AND userId IN (:userIds) ORDER BY timestamp ASC")
-    Cursor getAllForUsersAfter(List<Long> userIds, long timestamp);
-
-    /** Gets the {@link Cursor} of the latest timestamp of the specific user. */
-    @Query("SELECT MAX(timestamp) as timestamp FROM AppUsageEventEntity WHERE userId = :userId")
-    Cursor getLatestTimestampOfUser(long userId);
-
-    /** Deletes all recorded data before a specific timestamp. */
-    @Query("DELETE FROM AppUsageEventEntity WHERE timestamp <= :timestamp")
-    void clearAllBefore(long timestamp);
-
-    /** Deletes all recorded data after a specific timestamp. */
-    @Query("DELETE FROM AppUsageEventEntity WHERE timestamp >= :timestamp")
-    void clearAllAfter(long timestamp);
-
-    /** Clears all recorded data in the database. */
-    @Query("DELETE FROM AppUsageEventEntity")
-    void clearAll();
-}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventDao.kt b/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventDao.kt
new file mode 100644
index 0000000..fa5fbc7
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventDao.kt
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.batteryusage.db
+
+import android.database.Cursor
+import androidx.room.Dao
+import androidx.room.Insert
+import androidx.room.OnConflictStrategy
+import androidx.room.Query
+
+/** Data access object for accessing [AppUsageEventEntity] in the database. */
+@Dao
+interface AppUsageEventDao {
+    /** Inserts a [AppUsageEventEntity] data into the database. */
+    @Insert(onConflict = OnConflictStrategy.REPLACE) fun insert(event: AppUsageEventEntity)
+
+    /** Inserts [AppUsageEventEntity] data into the database. */
+    @Insert(onConflict = OnConflictStrategy.REPLACE)
+    fun insertAll(events: List<AppUsageEventEntity>)
+
+    /** Lists all recorded data after a specific timestamp. */
+    @Query("SELECT * FROM AppUsageEventEntity WHERE timestamp > :timestamp ORDER BY timestamp DESC")
+    fun getAllAfter(timestamp: Long): List<AppUsageEventEntity>
+
+    /** Gets the [Cursor] of all recorded data after a specific timestamp of the users. */
+    @Query(
+        "SELECT * FROM AppUsageEventEntity WHERE timestamp >= :timestamp" +
+            " AND userId IN (:userIds) ORDER BY timestamp ASC"
+    )
+    fun getAllForUsersAfter(userIds: List<Long>, timestamp: Long): Cursor
+
+    /** Gets the [Cursor] of the latest timestamp of the specific user. */
+    @Query("SELECT MAX(timestamp) as timestamp FROM AppUsageEventEntity WHERE userId = :userId")
+    fun getLatestTimestampOfUser(userId: Long): Cursor
+
+    /** Deletes all recorded data before a specific timestamp. */
+    @Query("DELETE FROM AppUsageEventEntity WHERE timestamp <= :timestamp")
+    fun clearAllBefore(timestamp: Long)
+
+    /** Deletes all recorded data after a specific timestamp. */
+    @Query("DELETE FROM AppUsageEventEntity WHERE timestamp >= :timestamp")
+    fun clearAllAfter(timestamp: Long)
+
+    /** Clears all recorded data in the database. */
+    @Query("DELETE FROM AppUsageEventEntity") fun clearAll()
+}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventDao.java b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventDao.java
deleted file mode 100644
index 19d2043..0000000
--- a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventDao.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.batteryusage.db;
-
-import android.database.Cursor;
-
-import androidx.room.Dao;
-import androidx.room.Insert;
-import androidx.room.OnConflictStrategy;
-import androidx.room.Query;
-
-import java.util.List;
-
-/** Data access object for accessing {@link BatteryEventEntity} in the database. */
-@Dao
-public interface BatteryEventDao {
-    /** Inserts a {@link BatteryEventEntity} data into the database. */
-    @Insert(onConflict = OnConflictStrategy.REPLACE)
-    void insert(BatteryEventEntity event);
-
-    /** Gets all recorded data. */
-    @Query("SELECT * FROM BatteryEventEntity ORDER BY timestamp DESC")
-    List<BatteryEventEntity> getAll();
-
-    /** Gets the {@link Cursor} of the last full charge time . */
-    @Query(
-            "SELECT MAX(timestamp) FROM BatteryEventEntity"
-                    + " WHERE batteryEventType = 3") // BatteryEventType.FULL_CHARGED = 3
-    Cursor getLastFullChargeTimestamp();
-
-    /** Gets the {@link Long} of the last full charge time . */
-    @Query(
-            "SELECT MAX(timestamp) FROM BatteryEventEntity"
-                    + " WHERE batteryEventType = 3") // BatteryEventType.FULL_CHARGED = 3
-    Long getLastFullChargeTimestampForLog();
-
-    /** Gets the {@link Cursor} of all recorded data after a specific timestamp. */
-    @Query(
-            "SELECT * FROM BatteryEventEntity"
-                    + " WHERE timestamp >= :timestamp AND batteryEventType IN (:batteryEventTypes)"
-                    + " ORDER BY timestamp DESC")
-    Cursor getAllAfter(long timestamp, List<Integer> batteryEventTypes);
-
-    /** Gets all recorded data after a specific timestamp for log.*/
-    @Query(
-            "SELECT * FROM BatteryEventEntity "
-                    + "WHERE timestamp >= :timestamp ORDER BY timestamp DESC")
-    List<BatteryEventEntity> getAllAfterForLog(long timestamp);
-
-    /** Deletes all recorded data before a specific timestamp. */
-    @Query("DELETE FROM BatteryEventEntity WHERE timestamp <= :timestamp")
-    void clearAllBefore(long timestamp);
-
-    /** Deletes all recorded data after a specific timestamp. */
-    @Query("DELETE FROM BatteryEventEntity WHERE timestamp >= :timestamp")
-    void clearAllAfter(long timestamp);
-
-    /** Clears all recorded data in the database. */
-    @Query("DELETE FROM BatteryEventEntity")
-    void clearAll();
-}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventDao.kt b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventDao.kt
new file mode 100644
index 0000000..351b086
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventDao.kt
@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.batteryusage.db
+
+import android.database.Cursor
+import androidx.room.Dao
+import androidx.room.Insert
+import androidx.room.OnConflictStrategy
+import androidx.room.Query
+import com.android.settings.fuelgauge.batteryusage.BatteryEventType
+
+/** Data access object for accessing [BatteryEventEntity] in the database. */
+@Dao
+interface BatteryEventDao {
+    /** Inserts a [BatteryEventEntity] data into the database. */
+    @Insert(onConflict = OnConflictStrategy.REPLACE)
+    fun insert(event: BatteryEventEntity)
+
+    /** Gets all recorded data. */
+    @Query("SELECT * FROM BatteryEventEntity ORDER BY timestamp DESC")
+    fun getAll(): List<BatteryEventEntity>
+
+    /** Gets the [Cursor] of the last full charge time. */
+    @Query(
+        "SELECT MAX(timestamp) FROM BatteryEventEntity" +
+            " WHERE batteryEventType = 3" // BatteryEventType.FULL_CHARGED = 3
+    )
+    fun getLastFullChargeTimestamp(): Cursor
+
+    /** Gets the [Long] of the last full charge time. */
+    @Query(
+        "SELECT MAX(timestamp) FROM BatteryEventEntity" +
+            " WHERE batteryEventType = 3" // BatteryEventType.FULL_CHARGED = 3
+    )
+    fun getLastFullChargeTimestampForLog(): Long?
+
+    /** Gets the [Cursor] of all recorded data after a specific timestamp. */
+    @Query(
+        "SELECT * FROM BatteryEventEntity" +
+            " WHERE timestamp >= :timestamp AND batteryEventType IN (:batteryEventTypes)" +
+            " ORDER BY timestamp DESC"
+    )
+    fun getAllAfter(timestamp: Long, batteryEventTypes: List<Int>): Cursor
+
+    /** Gets all recorded data after a specific timestamp for log. */
+    @Query(
+        "SELECT * FROM BatteryEventEntity " +
+            "WHERE timestamp >= :timestamp ORDER BY timestamp DESC"
+    )
+    fun getAllAfterForLog(timestamp: Long): List<BatteryEventEntity>
+
+    /** Deletes all recorded data before a specific timestamp. */
+    @Query("DELETE FROM BatteryEventEntity WHERE timestamp <= :timestamp")
+    fun clearAllBefore(timestamp: Long)
+
+    /** Deletes all recorded data after a specific timestamp. */
+    @Query("DELETE FROM BatteryEventEntity WHERE timestamp >= :timestamp")
+    fun clearAllAfter(timestamp: Long)
+
+    /** Deletes even_hour event data in the database. */
+    @Query(
+        "DELETE FROM BatteryEventEntity " +
+            "WHERE batteryEventType = 4" // BatteryEventType.EVEN_HOUR = 4
+    )
+    fun clearEvenHourEvent()
+
+    /** Clears all recorded data in the database. */
+    @Query("DELETE FROM BatteryEventEntity")
+    fun clearAll()
+}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryReattributeDao.kt b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryReattributeDao.kt
index 79c9d00..4151a5b 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryReattributeDao.kt
+++ b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryReattributeDao.kt
@@ -21,11 +21,9 @@
 import androidx.room.OnConflictStrategy;
 import androidx.room.Query;
 
-import java.util.List;
-
 /** DAO for accessing {@link BatteryReattributeEntity} in the database. */
 @Dao
-public interface BatteryReattributeDao {
+interface BatteryReattributeDao {
 
     /** Inserts a {@link BatteryReattributeEntity} data into the database. */
     @Insert(onConflict = OnConflictStrategy.REPLACE)
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryReattributeEntity.java b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryReattributeEntity.java
index 1a0c087..0ee2260 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryReattributeEntity.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryReattributeEntity.java
@@ -18,14 +18,14 @@
 
 import static com.android.settings.fuelgauge.batteryusage.ConvertUtils.utcToLocalTimeForLogging;
 
-import com.android.settings.fuelgauge.batteryusage.BatteryReattribute;
-import com.android.settings.fuelgauge.batteryusage.ConvertUtils;
-
 import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
 import androidx.room.Entity;
 import androidx.room.PrimaryKey;
 
+import com.android.settings.fuelgauge.batteryusage.BatteryReattribute;
+import com.android.settings.fuelgauge.batteryusage.ConvertUtils;
+
 /** A {@link Entity} for battery usage reattribution data in the database. */
 @Entity
 public class BatteryReattributeEntity {
@@ -38,7 +38,7 @@
     public final long timestampEnd;
 
     /** The battery usage reattribution data for corresponding  uids. */
-    public final String reattributeData;
+    @NonNull public final String reattributeData;
 
     public BatteryReattributeEntity(@NonNull BatteryReattribute batteryReattribute) {
         this(
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDao.java b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDao.java
deleted file mode 100644
index 049251e..0000000
--- a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDao.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.batteryusage.db;
-
-import android.database.Cursor;
-
-import androidx.room.Dao;
-import androidx.room.Insert;
-import androidx.room.OnConflictStrategy;
-import androidx.room.Query;
-
-import java.util.List;
-
-/** Data access object for accessing {@link BatteryState} in the database. */
-@Dao
-public interface BatteryStateDao {
-
-    /** Inserts a {@link BatteryState} data into the database. */
-    @Insert(onConflict = OnConflictStrategy.REPLACE)
-    void insert(BatteryState state);
-
-    /** Inserts {@link BatteryState} data into the database. */
-    @Insert(onConflict = OnConflictStrategy.REPLACE)
-    void insertAll(List<BatteryState> states);
-
-    /** Gets the {@link Cursor} of the latest record timestamp no later than the given timestamp. */
-    @Query("SELECT MAX(timestamp) FROM BatteryState WHERE timestamp <= :timestamp")
-    Cursor getLatestTimestampBefore(long timestamp);
-
-    /** Lists all recorded battery states after a specific timestamp. */
-    @Query("SELECT * FROM BatteryState WHERE timestamp >= :timestamp ORDER BY timestamp ASC")
-    Cursor getBatteryStatesAfter(long timestamp);
-
-    /** Lists all recorded data after a specific timestamp. */
-    @Query("SELECT * FROM BatteryState WHERE timestamp > :timestamp ORDER BY timestamp DESC")
-    List<BatteryState> getAllAfter(long timestamp);
-
-    /** Get the count of distinct timestamp after a specific timestamp. */
-    @Query("SELECT COUNT(DISTINCT timestamp) FROM BatteryState WHERE timestamp > :timestamp")
-    int getDistinctTimestampCount(long timestamp);
-
-    /** Lists all distinct timestamps after a specific timestamp. */
-    @Query("SELECT DISTINCT timestamp FROM BatteryState WHERE timestamp > :timestamp")
-    List<Long> getDistinctTimestamps(long timestamp);
-
-    /** Deletes all recorded data before a specific timestamp. */
-    @Query("DELETE FROM BatteryState WHERE timestamp <= :timestamp")
-    void clearAllBefore(long timestamp);
-
-    /** Deletes all recorded data after a specific timestamp. */
-    @Query("DELETE FROM BatteryState WHERE timestamp >= :timestamp")
-    void clearAllAfter(long timestamp);
-
-    /** Clears all recorded data in the database. */
-    @Query("DELETE FROM BatteryState")
-    void clearAll();
-}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDao.kt b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDao.kt
new file mode 100644
index 0000000..6d31e07
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDao.kt
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.batteryusage.db
+
+import android.database.Cursor
+import androidx.room.Dao
+import androidx.room.Insert
+import androidx.room.OnConflictStrategy
+import androidx.room.Query
+
+/** Data access object for accessing [BatteryState] in the database. */
+@Dao
+interface BatteryStateDao {
+    /** Inserts a [BatteryState] data into the database. */
+    @Insert(onConflict = OnConflictStrategy.REPLACE) fun insert(state: BatteryState)
+
+    /** Inserts [BatteryState] data into the database. */
+    @Insert(onConflict = OnConflictStrategy.REPLACE) fun insertAll(states: List<BatteryState>)
+
+    /** Gets the [Cursor] of the latest record timestamp no later than the given timestamp. */
+    @Query("SELECT MAX(timestamp) FROM BatteryState WHERE timestamp <= :timestamp")
+    fun getLatestTimestampBefore(timestamp: Long): Cursor
+
+    /** Lists all recorded battery states after a specific timestamp. */
+    @Query("SELECT * FROM BatteryState WHERE timestamp >= :timestamp ORDER BY timestamp ASC")
+    fun getBatteryStatesAfter(timestamp: Long): Cursor
+
+    /** Lists all recorded data after a specific timestamp. */
+    @Query("SELECT * FROM BatteryState WHERE timestamp > :timestamp ORDER BY timestamp DESC")
+    fun getAllAfter(timestamp: Long): List<BatteryState>
+
+    /** Get the count of distinct timestamp after a specific timestamp. */
+    @Query("SELECT COUNT(DISTINCT timestamp) FROM BatteryState WHERE timestamp > :timestamp")
+    fun getDistinctTimestampCount(timestamp: Long): Int
+
+    /** Lists all distinct timestamps after a specific timestamp. */
+    @Query("SELECT DISTINCT timestamp FROM BatteryState WHERE timestamp > :timestamp")
+    fun getDistinctTimestamps(timestamp: Long): List<Long>
+
+    /** Deletes all recorded data before a specific timestamp. */
+    @Query("DELETE FROM BatteryState WHERE timestamp <= :timestamp")
+    fun clearAllBefore(timestamp: Long)
+
+    /** Deletes all recorded data after a specific timestamp. */
+    @Query("DELETE FROM BatteryState WHERE timestamp >= :timestamp")
+    fun clearAllAfter(timestamp: Long)
+
+    /** Clears all recorded data in the database. */
+    @Query("DELETE FROM BatteryState") fun clearAll()
+}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDatabase.java b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDatabase.java
index 8e3d6e3..c3aea08 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDatabase.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDatabase.java
@@ -33,10 +33,10 @@
             BatteryUsageSlotEntity.class,
             BatteryReattributeEntity.class
         },
-        version = 2)
+        version = 3)
 public abstract class BatteryStateDatabase extends RoomDatabase {
     private static final String TAG = "BatteryStateDatabase";
-    private static final String DB_FILE_NAME = "battery-usage-db-v10";
+    private static final String DB_FILE_NAME = "battery-usage-db-v11";
 
     private static BatteryStateDatabase sBatteryStateDatabase;
 
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotDao.java b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotDao.java
deleted file mode 100644
index d53b0cf..0000000
--- a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotDao.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.batteryusage.db;
-
-import android.database.Cursor;
-
-import androidx.room.Dao;
-import androidx.room.Insert;
-import androidx.room.OnConflictStrategy;
-import androidx.room.Query;
-
-import java.util.List;
-
-/** Data access object for accessing {@link BatteryUsageSlotEntity} in the database. */
-@Dao
-public interface BatteryUsageSlotDao {
-    /** Inserts a {@link BatteryUsageSlotEntity} data into the database. */
-    @Insert(onConflict = OnConflictStrategy.REPLACE)
-    void insert(BatteryUsageSlotEntity event);
-
-    /** Gets all recorded data. */
-    @Query("SELECT * FROM BatteryUsageSlotEntity ORDER BY timestamp ASC")
-    List<BatteryUsageSlotEntity> getAll();
-
-    /** Gets the {@link Cursor} of all recorded data after a specific timestamp. */
-    @Query(
-            "SELECT * FROM BatteryUsageSlotEntity WHERE timestamp >= :timestamp"
-                    + " ORDER BY timestamp ASC")
-    Cursor getAllAfter(long timestamp);
-
-    /** Gets all recorded data after a specific timestamp for log.*/
-    @Query(
-            "SELECT * FROM BatteryUsageSlotEntity WHERE timestamp >= :timestamp"
-                    + " ORDER BY timestamp DESC")
-    List<BatteryUsageSlotEntity> getAllAfterForLog(long timestamp);
-
-    /** Deletes all recorded data before a specific timestamp. */
-    @Query("DELETE FROM BatteryUsageSlotEntity WHERE timestamp <= :timestamp")
-    void clearAllBefore(long timestamp);
-
-    /** Deletes all recorded data after a specific timestamp. */
-    @Query("DELETE FROM BatteryUsageSlotEntity WHERE timestamp >= :timestamp")
-    void clearAllAfter(long timestamp);
-
-    /** Clears all recorded data in the database. */
-    @Query("DELETE FROM BatteryUsageSlotEntity")
-    void clearAll();
-}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotDao.kt b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotDao.kt
new file mode 100644
index 0000000..434c61a
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotDao.kt
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.batteryusage.db
+
+import android.database.Cursor
+import androidx.room.Dao
+import androidx.room.Insert
+import androidx.room.OnConflictStrategy
+import androidx.room.Query
+
+/** Data access object for accessing [BatteryUsageSlotEntity] in the database. */
+@Dao
+interface BatteryUsageSlotDao {
+    /** Inserts a [BatteryUsageSlotEntity] data into the database. */
+    @Insert(onConflict = OnConflictStrategy.REPLACE) fun insert(event: BatteryUsageSlotEntity)
+
+    /** Gets all recorded data. */
+    @Query("SELECT * FROM BatteryUsageSlotEntity ORDER BY timestamp ASC")
+    fun getAll(): List<BatteryUsageSlotEntity>
+
+    /** Gets the [Cursor] of all recorded data after a specific timestamp. */
+    @Query(
+        "SELECT * FROM BatteryUsageSlotEntity WHERE timestamp >= :timestamp" +
+            " ORDER BY timestamp ASC"
+    )
+    fun getAllAfter(timestamp: Long): Cursor
+
+    /** Gets all recorded data after a specific timestamp for log. */
+    @Query(
+        "SELECT * FROM BatteryUsageSlotEntity WHERE timestamp >= :timestamp" +
+            " ORDER BY timestamp DESC"
+    )
+    fun getAllAfterForLog(timestamp: Long): List<BatteryUsageSlotEntity>
+
+    /** Deletes all recorded data before a specific timestamp. */
+    @Query("DELETE FROM BatteryUsageSlotEntity WHERE timestamp <= :timestamp")
+    fun clearAllBefore(timestamp: Long)
+
+    /** Deletes all recorded data after a specific timestamp. */
+    @Query("DELETE FROM BatteryUsageSlotEntity WHERE timestamp >= :timestamp")
+    fun clearAllAfter(timestamp: Long)
+
+    /** Clears all recorded data in the database. */
+    @Query("DELETE FROM BatteryUsageSlotEntity") fun clearAll()
+}
diff --git a/src/com/android/settings/fuelgauge/datasaver/DynamicDenylistManager.java b/src/com/android/settings/fuelgauge/datasaver/DynamicDenylistManager.java
index b77d5eb..ecb2a48 100644
--- a/src/com/android/settings/fuelgauge/datasaver/DynamicDenylistManager.java
+++ b/src/com/android/settings/fuelgauge/datasaver/DynamicDenylistManager.java
@@ -78,6 +78,11 @@
             return;
         }
 
+        if (mNetworkPolicyManager == null) {
+            Log.w(TAG, "syncPolicyIfNeeded: invalid mNetworkPolicyManager");
+            return;
+        }
+
         final SharedPreferences.Editor editor = getManualDenylistPref().edit();
         final int[] existedUids = mNetworkPolicyManager
                 .getUidsWithPolicy(POLICY_REJECT_METERED_BACKGROUND);
@@ -91,6 +96,11 @@
 
     /** Set policy flags for specific UID. */
     public void setUidPolicyLocked(int uid, int policy) {
+        if (mNetworkPolicyManager == null) {
+            Log.w(TAG, "setUidPolicyLocked: invalid mNetworkPolicyManager");
+            return;
+        }
+
         Log.i(TAG, "setUidPolicyLocked: uid=" + uid + " policy=" + policy);
         synchronized (mLock) {
             mNetworkPolicyManager.setUidPolicy(uid, policy);
@@ -100,7 +110,7 @@
 
     /** Suggest a list of package to set as POLICY_REJECT. */
     public void setDenylist(Set<Integer> denylistTargetUids) {
-        if (denylistTargetUids == null) {
+        if (denylistTargetUids == null || mNetworkPolicyManager == null) {
             return;
         }
         final Set<Integer> manualDenylistUids = getDenylistAllUids(getManualDenylistPref());
@@ -164,6 +174,12 @@
             Log.w(TAG, "resetDenylistIfNeeded: invalid conditions");
             return;
         }
+
+        if (mNetworkPolicyManager == null) {
+            Log.w(TAG, "setUidPolicyLocked: invalid mNetworkPolicyManager");
+            return;
+        }
+
         synchronized (mLock) {
             final int[] uids = mNetworkPolicyManager
                     .getUidsWithPolicy(POLICY_REJECT_METERED_BACKGROUND);
diff --git a/src/com/android/settings/fuelgauge/protos/battery_usage_slot.proto b/src/com/android/settings/fuelgauge/protos/battery_usage_slot.proto
index 4e3e3c4..da2bd4f 100644
--- a/src/com/android/settings/fuelgauge/protos/battery_usage_slot.proto
+++ b/src/com/android/settings/fuelgauge/protos/battery_usage_slot.proto
@@ -40,4 +40,5 @@
   optional int64 screen_on_time = 16;
   optional int64 foreground_service_usage_time = 17;
   optional BatteryOptimizationMode app_optimization_mode = 18;
+  optional bool is_app_optimization_mode_mutable = 19;
 }
diff --git a/src/com/android/settings/gestures/OneHandedSettings.java b/src/com/android/settings/gestures/OneHandedSettings.java
index c84b9ea..0a1ab64 100644
--- a/src/com/android/settings/gestures/OneHandedSettings.java
+++ b/src/com/android/settings/gestures/OneHandedSettings.java
@@ -23,9 +23,14 @@
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.ViewGroup;
+
+import androidx.recyclerview.widget.RecyclerView;
 
 import com.android.internal.accessibility.AccessibilityShortcutController;
 import com.android.settings.R;
+import com.android.settings.accessibility.AccessibilityFragmentUtils;
 import com.android.settings.accessibility.AccessibilityShortcutPreferenceFragment;
 import com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType;
 import com.android.settings.search.BaseSearchIndexProvider;
@@ -176,4 +181,12 @@
                     return OneHandedSettingsUtils.isSupportOneHandedMode();
                 }
             };
+
+    @Override
+    public RecyclerView onCreateRecyclerView(LayoutInflater inflater, ViewGroup parent,
+            Bundle savedInstanceState) {
+        RecyclerView recyclerView =
+                super.onCreateRecyclerView(inflater, parent, savedInstanceState);
+        return AccessibilityFragmentUtils.addCollectionInfoToAccessibilityDelegate(recyclerView);
+    }
 }
diff --git a/src/com/android/settings/homepage/SettingsHomepageActivity.java b/src/com/android/settings/homepage/SettingsHomepageActivity.java
index 7a2f52a..4b9f6a8 100644
--- a/src/com/android/settings/homepage/SettingsHomepageActivity.java
+++ b/src/com/android/settings/homepage/SettingsHomepageActivity.java
@@ -276,7 +276,8 @@
             final boolean scrollNeeded = mIsEmbeddingActivityEnabled
                     && !TextUtils.equals(getString(DEFAULT_HIGHLIGHT_MENU_KEY), highlightMenuKey);
             showSuggestionFragment(scrollNeeded);
-            if (FeatureFlagUtils.isEnabled(this, FeatureFlags.CONTEXTUAL_HOME)) {
+            if (!Flags.updatedSuggestionCardAosp()
+                    && FeatureFlagUtils.isEnabled(this, FeatureFlags.CONTEXTUAL_HOME)) {
                 showFragment(() -> new ContextualCardsFragment(), R.id.contextual_cards_content);
                 ((FrameLayout) findViewById(R.id.main_content))
                         .getLayoutTransition().enableTransitionType(LayoutTransition.CHANGING);
@@ -477,7 +478,7 @@
 
     private void showSuggestionFragment(boolean scrollNeeded) {
         final Class<? extends Fragment> fragmentClass = FeatureFactory.getFeatureFactory()
-                .getSuggestionFeatureProvider().getContextualSuggestionFragment();
+                .getSuggestionFeatureProvider().getSuggestionFragment();
         if (fragmentClass == null) {
             return;
         }
diff --git a/src/com/android/settings/homepage/contextualcards/conditional/DndConditionCardController.java b/src/com/android/settings/homepage/contextualcards/conditional/DndConditionCardController.java
index e69a336..6362068 100644
--- a/src/com/android/settings/homepage/contextualcards/conditional/DndConditionCardController.java
+++ b/src/com/android/settings/homepage/contextualcards/conditional/DndConditionCardController.java
@@ -105,7 +105,8 @@
                         + mAppContext.getText(R.string.condition_zen_title))
                 .setTitleText(mAppContext.getText(R.string.condition_zen_title).toString())
                 .setSummaryText(getSummary())
-                .setIconDrawable(mAppContext.getDrawable(R.drawable.ic_do_not_disturb_on_24dp))
+                .setIconDrawable(mAppContext.getDrawable(
+                        com.android.settingslib.R.drawable.ic_do_not_disturb_on_24dp))
                 .setViewType(ConditionContextualCardRenderer.VIEW_TYPE_HALF_WIDTH)
                 .build();
     }
diff --git a/src/com/android/settings/inputmethod/KeyboardAccessibilityBounceKeysController.java b/src/com/android/settings/inputmethod/KeyboardAccessibilityBounceKeysController.java
new file mode 100644
index 0000000..6dad8c0
--- /dev/null
+++ b/src/com/android/settings/inputmethod/KeyboardAccessibilityBounceKeysController.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.content.Context;
+import android.hardware.input.InputSettings;
+import android.net.Uri;
+import android.provider.Settings;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.LifecycleObserver;
+
+import com.android.settings.R;
+
+public class KeyboardAccessibilityBounceKeysController extends
+        KeyboardAccessibilityController implements
+        LifecycleObserver {
+    public static final int BOUNCE_KEYS_THRESHOLD = 500;
+
+    public KeyboardAccessibilityBounceKeysController(@NonNull Context context,
+            @NonNull String key) {
+        super(context, key);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return (super.getAvailabilityStatus() == AVAILABLE)
+                && InputSettings.isAccessibilityBounceKeysFeatureEnabled() ? AVAILABLE
+                : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public boolean isChecked() {
+        return InputSettings.isAccessibilityBounceKeysEnabled(mContext);
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        InputSettings.setAccessibilityBounceKeysThreshold(mContext,
+                isChecked ? BOUNCE_KEYS_THRESHOLD : 0);
+        return true;
+    }
+
+    @NonNull
+    @Override
+    public CharSequence getSummary() {
+        return mContext.getString(R.string.bounce_keys_summary, BOUNCE_KEYS_THRESHOLD);
+    }
+
+    @Override
+    protected void updateKeyboardAccessibilitySettings() {
+        setChecked(
+                InputSettings.isAccessibilityBounceKeysEnabled(mContext));
+    }
+
+    @Override
+    protected Uri getSettingUri() {
+        return Settings.Secure.getUriFor(
+                Settings.Secure.ACCESSIBILITY_BOUNCE_KEYS);
+    }
+}
diff --git a/src/com/android/settings/inputmethod/KeyboardAccessibilityController.java b/src/com/android/settings/inputmethod/KeyboardAccessibilityController.java
new file mode 100644
index 0000000..25a93b0
--- /dev/null
+++ b/src/com/android/settings/inputmethod/KeyboardAccessibilityController.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 androidx.lifecycle.Lifecycle.Event.ON_PAUSE;
+import static androidx.lifecycle.Lifecycle.Event.ON_RESUME;
+
+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 androidx.annotation.NonNull;
+import androidx.lifecycle.LifecycleObserver;
+import androidx.lifecycle.OnLifecycleEvent;
+import androidx.preference.Preference;
+
+import com.android.settings.core.TogglePreferenceController;
+import com.android.settings.keyboard.Flags;
+
+/**
+ * Abstract class for toggle controllers of Keyboard accessibility related function.
+ */
+public abstract class KeyboardAccessibilityController extends TogglePreferenceController implements
+        LifecycleObserver {
+    private final ContentResolver mContentResolver;
+    private final ContentObserver mContentObserver = new ContentObserver(new Handler(true)) {
+        @Override
+        public void onChange(boolean selfChange, Uri uri) {
+            if (getSettingUri().equals(uri)) {
+                updateKeyboardAccessibilitySettings();
+            }
+        }
+    };
+
+    protected abstract void updateKeyboardAccessibilitySettings();
+
+    protected abstract Uri getSettingUri();
+
+    public KeyboardAccessibilityController(@NonNull Context context,
+            @NonNull String preferenceKey) {
+        super(context, preferenceKey);
+        mContentResolver = context.getContentResolver();
+    }
+
+    @Override
+    public void updateState(@NonNull Preference preference) {
+        super.updateState(preference);
+        refreshSummary(preference);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return Flags.keyboardAndTouchpadA11yNewPageEnabled() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public int getSliceHighlightMenuRes() {
+        return 0;
+    }
+
+    /** Invoked when the panel is resumed. */
+    @OnLifecycleEvent(ON_RESUME)
+    public void onResume() {
+        registerSettingsObserver();
+    }
+
+    /** Invoked when the panel is paused. */
+    @OnLifecycleEvent(ON_PAUSE)
+    public void onPause() {
+        unregisterSettingsObserver();
+    }
+
+    private void registerSettingsObserver() {
+        unregisterSettingsObserver();
+        mContentResolver.registerContentObserver(
+                getSettingUri(),
+                false,
+                mContentObserver,
+                UserHandle.myUserId());
+        updateKeyboardAccessibilitySettings();
+    }
+
+    private void unregisterSettingsObserver() {
+        mContentResolver.unregisterContentObserver(mContentObserver);
+    }
+}
diff --git a/src/com/android/settings/inputmethod/KeyboardAccessibilityMouseKeysController.java b/src/com/android/settings/inputmethod/KeyboardAccessibilityMouseKeysController.java
new file mode 100644
index 0000000..7c7ad37
--- /dev/null
+++ b/src/com/android/settings/inputmethod/KeyboardAccessibilityMouseKeysController.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.content.Context;
+import android.hardware.input.InputSettings;
+import android.net.Uri;
+import android.provider.Settings;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.LifecycleObserver;
+
+public class KeyboardAccessibilityMouseKeysController extends
+        KeyboardAccessibilityController implements
+        LifecycleObserver {
+    public KeyboardAccessibilityMouseKeysController(@NonNull Context context, @NonNull String key) {
+        super(context, key);
+    }
+
+    @Override
+    public boolean isChecked() {
+        return InputSettings.isAccessibilityMouseKeysEnabled(mContext);
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        InputSettings.setAccessibilityMouseKeysEnabled(mContext,
+                isChecked);
+        return true;
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return (super.getAvailabilityStatus() == AVAILABLE)
+                && InputSettings.isAccessibilityMouseKeysFeatureFlagEnabled() ? AVAILABLE
+                : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    protected void updateKeyboardAccessibilitySettings() {
+        setChecked(
+                InputSettings.isAccessibilityMouseKeysEnabled(mContext));
+    }
+
+    @Override
+    protected Uri getSettingUri() {
+        return Settings.Secure.getUriFor(
+                Settings.Secure.ACCESSIBILITY_MOUSE_KEYS_ENABLED);
+    }
+}
diff --git a/src/com/android/settings/inputmethod/KeyboardAccessibilitySlowKeysController.java b/src/com/android/settings/inputmethod/KeyboardAccessibilitySlowKeysController.java
new file mode 100644
index 0000000..5110663
--- /dev/null
+++ b/src/com/android/settings/inputmethod/KeyboardAccessibilitySlowKeysController.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.content.Context;
+import android.hardware.input.InputSettings;
+import android.net.Uri;
+import android.provider.Settings;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.LifecycleObserver;
+
+import com.android.settings.R;
+
+public class KeyboardAccessibilitySlowKeysController extends
+        KeyboardAccessibilityController implements
+        LifecycleObserver {
+    public static final int SLOW_KEYS_THRESHOLD = 500;
+
+    public KeyboardAccessibilitySlowKeysController(@NonNull Context context, @NonNull String key) {
+        super(context, key);
+    }
+
+    @Override
+    public boolean isChecked() {
+        return InputSettings.isAccessibilitySlowKeysEnabled(mContext);
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        InputSettings.setAccessibilitySlowKeysThreshold(mContext,
+                isChecked ? SLOW_KEYS_THRESHOLD : 0);
+        return true;
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return (super.getAvailabilityStatus() == AVAILABLE)
+                && InputSettings.isAccessibilitySlowKeysFeatureFlagEnabled() ? AVAILABLE
+                : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @NonNull
+    @Override
+    public CharSequence getSummary() {
+        return mContext.getString(R.string.slow_keys_summary, SLOW_KEYS_THRESHOLD);
+    }
+
+    @Override
+    protected void updateKeyboardAccessibilitySettings() {
+        setChecked(
+                InputSettings.isAccessibilitySlowKeysEnabled(mContext));
+    }
+
+    @Override
+    protected Uri getSettingUri() {
+        return Settings.Secure.getUriFor(
+                Settings.Secure.ACCESSIBILITY_SLOW_KEYS);
+    }
+}
diff --git a/src/com/android/settings/inputmethod/KeyboardAccessibilityStickyKeysController.java b/src/com/android/settings/inputmethod/KeyboardAccessibilityStickyKeysController.java
new file mode 100644
index 0000000..a62d80b
--- /dev/null
+++ b/src/com/android/settings/inputmethod/KeyboardAccessibilityStickyKeysController.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.content.Context;
+import android.hardware.input.InputSettings;
+import android.net.Uri;
+import android.provider.Settings;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.LifecycleObserver;
+
+public class KeyboardAccessibilityStickyKeysController extends
+        KeyboardAccessibilityController implements
+        LifecycleObserver {
+    public KeyboardAccessibilityStickyKeysController(@NonNull Context context,
+            @NonNull String key) {
+        super(context, key);
+    }
+
+    @Override
+    public boolean isChecked() {
+        return InputSettings.isAccessibilityStickyKeysEnabled(mContext);
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        InputSettings.setAccessibilityStickyKeysEnabled(mContext,
+                isChecked);
+        return true;
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return (super.getAvailabilityStatus() == AVAILABLE)
+                && InputSettings.isAccessibilitySlowKeysFeatureFlagEnabled() ? AVAILABLE
+                : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    protected void updateKeyboardAccessibilitySettings() {
+        setChecked(
+                InputSettings.isAccessibilityStickyKeysEnabled(mContext));
+    }
+
+    @Override
+    protected Uri getSettingUri() {
+        return Settings.Secure.getUriFor(
+                Settings.Secure.ACCESSIBILITY_STICKY_KEYS);
+    }
+}
diff --git a/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java b/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java
index 2bbb567..7a58857 100644
--- a/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java
+++ b/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java
@@ -88,8 +88,14 @@
                 break;
             }
             case ProfileSelectFragment.ProfileType.PERSONAL: {
-                final UserHandle primaryUser = userManager.getPrimaryUser().getUserHandle();
-                newUserId = primaryUser.getIdentifier();
+                // Use the parent user of the current user if the current user is profile.
+                final UserHandle currentUser = UserHandle.of(currentUserId);
+                final UserHandle userProfileParent = userManager.getProfileParent(currentUser);
+                if (userProfileParent != null) {
+                    newUserId = userProfileParent.getIdentifier();
+                } else {
+                    newUserId = currentUserId;
+                }
                 break;
             }
             default:
@@ -163,6 +169,19 @@
         preferenceScreen.removeAll();
         List<InputMethodInfo> infoList =
                 mImm.getEnabledInputMethodListAsUser(UserHandle.of(mUserId));
+
+        // Remove IMEs with no suitable ime subtypes
+        infoList.removeIf(imeInfo -> {
+            List<InputMethodSubtype> subtypes =
+                    mImm.getEnabledInputMethodSubtypeListAsUser(imeInfo.getId(), true,
+                            UserHandle.of(mUserId));
+            for (InputMethodSubtype subtype : subtypes) {
+                if (subtype.isSuitableForPhysicalKeyboardLayoutMapping()) {
+                    return false;
+                }
+            }
+            return true;
+        });
         Collections.sort(infoList, new Comparator<InputMethodInfo>() {
             public int compare(InputMethodInfo o1, InputMethodInfo o2) {
                 String s1 = o1.loadLabel(mContext.getPackageManager()).toString();
diff --git a/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java b/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java
index 8f1e5c8..f7a9aca 100644
--- a/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java
+++ b/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java
@@ -66,6 +66,20 @@
         return false;
     }
 
+    static boolean isMouse() {
+        for (int deviceId : InputDevice.getDeviceIds()) {
+            final InputDevice device = InputDevice.getDevice(deviceId);
+            if (device == null) {
+                continue;
+            }
+            if ((device.getSources() & InputDevice.SOURCE_MOUSE)
+                    == InputDevice.SOURCE_MOUSE) {
+                return true;
+            }
+        }
+        return false;
+    }
+
     @SuppressLint("MissingPermission")
     @Nullable
     static String getSelectedKeyboardLayoutLabelForUser(Context context, @UserIdInt int userId,
diff --git a/src/com/android/settings/inputmethod/PhysicalKeyboardA11yFragment.java b/src/com/android/settings/inputmethod/PhysicalKeyboardA11yFragment.java
new file mode 100644
index 0000000..117aadb
--- /dev/null
+++ b/src/com/android/settings/inputmethod/PhysicalKeyboardA11yFragment.java
@@ -0,0 +1,113 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.android.settings.inputmethod.PhysicalKeyboardFragment.getHardKeyboards;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.hardware.input.InputManager;
+
+import androidx.annotation.NonNull;
+
+import com.android.internal.util.Preconditions;
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.keyboard.Flags;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.utils.ThreadUtils;
+
+import java.util.List;
+
+@SearchIndexable
+public class PhysicalKeyboardA11yFragment extends DashboardFragment
+        implements InputManager.InputDeviceListener {
+    private static final String TAG = "KeyboardAndTouchA11yFragment";
+
+    private InputManager mInputManager;
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.PHYSICAL_KEYBOARD_A11Y;
+    }
+
+    @Override
+    public void onAttach(@NonNull Context context) {
+        super.onAttach(context);
+        mInputManager = Preconditions.checkNotNull(getActivity()
+                .getSystemService(InputManager.class));
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        finishEarlyIfNeeded();
+        mInputManager.registerInputDeviceListener(this, null);
+    }
+
+    @Override
+    public void onPause() {
+        super.onPause();
+        mInputManager.unregisterInputDeviceListener(this);
+    }
+
+    private void finishEarlyIfNeeded() {
+        final Context context = getContext();
+        ThreadUtils.postOnBackgroundThread(() -> {
+            final List<PhysicalKeyboardFragment.HardKeyboardDeviceInfo> newHardKeyboards =
+                    getHardKeyboards(context);
+            if (newHardKeyboards.isEmpty()) {
+                getActivity().finish();
+            }
+        });
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.physical_keyboard_a11y_settings;
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.physical_keyboard_a11y_settings) {
+                @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    return Flags.keyboardAndTouchpadA11yNewPageEnabled()
+                            && !getHardKeyboards(context).isEmpty();
+                }
+            };
+
+    @Override
+    public void onInputDeviceAdded(int deviceId) {
+        finishEarlyIfNeeded();
+    }
+
+    @Override
+    public void onInputDeviceRemoved(int deviceId) {
+        finishEarlyIfNeeded();
+    }
+
+    @Override
+    public void onInputDeviceChanged(int deviceId) {
+        finishEarlyIfNeeded();
+    }
+}
diff --git a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
index 5ba1c84..a000f9e 100644
--- a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
@@ -50,6 +50,7 @@
 import com.android.settings.Settings;
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.keyboard.Flags;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.search.SearchIndexable;
@@ -70,10 +71,11 @@
 
     private static final String KEYBOARD_OPTIONS_CATEGORY = "keyboard_options_category";
     private static final String KEYBOARD_A11Y_CATEGORY = "keyboard_a11y_category";
-    private static final String SHOW_VIRTUAL_KEYBOARD_SWITCH = "show_virtual_keyboard_switch";
     private static final String ACCESSIBILITY_BOUNCE_KEYS = "accessibility_bounce_keys";
     private static final String ACCESSIBILITY_SLOW_KEYS = "accessibility_slow_keys";
     private static final String ACCESSIBILITY_STICKY_KEYS = "accessibility_sticky_keys";
+    private static final String ACCESSIBILITY_MOUSE_KEYS = "accessibility_mouse_keys";
+    private static final String ACCESSIBILITY_PHYSICAL_KEYBOARD_A11Y = "physical_keyboard_a11y";
     private static final String KEYBOARD_SHORTCUTS_HELPER = "keyboard_shortcuts_helper";
     private static final String MODIFIER_KEYS_SETTINGS = "modifier_keys_settings";
     private static final String EXTRA_AUTO_SELECTION = "auto_selection";
@@ -85,6 +87,8 @@
             Secure.ACCESSIBILITY_SLOW_KEYS);
     private static final Uri sAccessibilityStickyKeysUri = Secure.getUriFor(
             Secure.ACCESSIBILITY_STICKY_KEYS);
+    private static final Uri sAccessibilityMouseKeysUri = Secure.getUriFor(
+            Secure.ACCESSIBILITY_MOUSE_KEYS_ENABLED);
     public static final int BOUNCE_KEYS_THRESHOLD = 500;
     public static final int SLOW_KEYS_THRESHOLD = 500;
 
@@ -100,14 +104,13 @@
     @Nullable
     private PreferenceCategory mKeyboardA11yCategory = null;
     @Nullable
-    private TwoStatePreference mShowVirtualKeyboardSwitch = null;
-    @Nullable
     private TwoStatePreference mAccessibilityBounceKeys = null;
     @Nullable
     private TwoStatePreference mAccessibilitySlowKeys = null;
     @Nullable
     private TwoStatePreference mAccessibilityStickyKeys = null;
-
+    @Nullable
+    private TwoStatePreference mAccessibilityMouseKeys = null;
 
     private Intent mIntentWaitingForResult;
     private boolean mSupportsFirmwareUpdate;
@@ -129,8 +132,6 @@
         mImm = Preconditions.checkNotNull(activity.getSystemService(InputMethodManager.class));
         mKeyboardAssistanceCategory = Preconditions.checkNotNull(
                 findPreference(KEYBOARD_OPTIONS_CATEGORY));
-        mShowVirtualKeyboardSwitch = Objects.requireNonNull(
-                mKeyboardAssistanceCategory.findPreference(SHOW_VIRTUAL_KEYBOARD_SWITCH));
 
         mKeyboardA11yCategory = Objects.requireNonNull(findPreference(KEYBOARD_A11Y_CATEGORY));
         mAccessibilityBounceKeys = Objects.requireNonNull(
@@ -143,6 +144,8 @@
                 getContext().getString(R.string.slow_keys_summary, SLOW_KEYS_THRESHOLD));
         mAccessibilityStickyKeys = Objects.requireNonNull(
                 mKeyboardA11yCategory.findPreference(ACCESSIBILITY_STICKY_KEYS));
+        mAccessibilityMouseKeys = Objects.requireNonNull(
+                mKeyboardA11yCategory.findPreference(ACCESSIBILITY_MOUSE_KEYS));
 
         FeatureFactory featureFactory = FeatureFactory.getFeatureFactory();
         mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider();
@@ -153,18 +156,34 @@
         }
         boolean isModifierKeySettingsEnabled = FeatureFlagUtils
                 .isEnabled(getContext(), FeatureFlagUtils.SETTINGS_NEW_KEYBOARD_MODIFIER_KEY);
+        boolean isKeyboardAndTouchpadA11yNewPageEnabled =
+                Flags.keyboardAndTouchpadA11yNewPageEnabled();
         if (!isModifierKeySettingsEnabled) {
             mKeyboardAssistanceCategory.removePreference(findPreference(MODIFIER_KEYS_SETTINGS));
         }
-        if (!InputSettings.isAccessibilityBounceKeysFeatureEnabled()) {
+        if (!isKeyboardAndTouchpadA11yNewPageEnabled) {
+            mKeyboardAssistanceCategory.removePreference(
+                    findPreference(ACCESSIBILITY_PHYSICAL_KEYBOARD_A11Y));
+        }
+        if (!InputSettings.isAccessibilityBounceKeysFeatureEnabled()
+                || isKeyboardAndTouchpadA11yNewPageEnabled) {
             mKeyboardA11yCategory.removePreference(mAccessibilityBounceKeys);
         }
-        if (!InputSettings.isAccessibilitySlowKeysFeatureFlagEnabled()) {
+        if (!InputSettings.isAccessibilitySlowKeysFeatureFlagEnabled()
+                || isKeyboardAndTouchpadA11yNewPageEnabled) {
             mKeyboardA11yCategory.removePreference(mAccessibilitySlowKeys);
         }
-        if (!InputSettings.isAccessibilityStickyKeysFeatureEnabled()) {
+        if (!InputSettings.isAccessibilityStickyKeysFeatureEnabled()
+                || isKeyboardAndTouchpadA11yNewPageEnabled) {
             mKeyboardA11yCategory.removePreference(mAccessibilityStickyKeys);
         }
+        if (!InputSettings.isAccessibilityMouseKeysFeatureFlagEnabled()
+                || isKeyboardAndTouchpadA11yNewPageEnabled) {
+            mKeyboardA11yCategory.removePreference(mAccessibilityMouseKeys);
+        }
+        if (isKeyboardAndTouchpadA11yNewPageEnabled) {
+            mKeyboardA11yCategory.setVisible(false);
+        }
         InputDeviceIdentifier inputDeviceIdentifier = activity.getIntent().getParcelableExtra(
                 KeyboardLayoutPickerFragment.EXTRA_INPUT_DEVICE_IDENTIFIER,
                 InputDeviceIdentifier.class);
@@ -207,14 +226,14 @@
         mLastHardKeyboards.clear();
         scheduleUpdateHardKeyboards();
         mIm.registerInputDeviceListener(this, null);
-        Objects.requireNonNull(mShowVirtualKeyboardSwitch).setOnPreferenceChangeListener(
-                mShowVirtualKeyboardSwitchPreferenceChangeListener);
         Objects.requireNonNull(mAccessibilityBounceKeys).setOnPreferenceChangeListener(
                 mAccessibilityBounceKeysSwitchPreferenceChangeListener);
         Objects.requireNonNull(mAccessibilitySlowKeys).setOnPreferenceChangeListener(
                 mAccessibilitySlowKeysSwitchPreferenceChangeListener);
         Objects.requireNonNull(mAccessibilityStickyKeys).setOnPreferenceChangeListener(
                 mAccessibilityStickyKeysSwitchPreferenceChangeListener);
+        Objects.requireNonNull(mAccessibilityMouseKeys).setOnPreferenceChangeListener(
+                mAccessibilityMouseKeysSwitchPreferenceChangeListener);
         registerSettingsObserver();
     }
 
@@ -223,10 +242,10 @@
         super.onPause();
         mLastHardKeyboards.clear();
         mIm.unregisterInputDeviceListener(this);
-        Objects.requireNonNull(mShowVirtualKeyboardSwitch).setOnPreferenceChangeListener(null);
         Objects.requireNonNull(mAccessibilityBounceKeys).setOnPreferenceChangeListener(null);
         Objects.requireNonNull(mAccessibilitySlowKeys).setOnPreferenceChangeListener(null);
         Objects.requireNonNull(mAccessibilityStickyKeys).setOnPreferenceChangeListener(null);
+        Objects.requireNonNull(mAccessibilityMouseKeys).setOnPreferenceChangeListener(null);
         unregisterSettingsObserver();
     }
 
@@ -314,16 +333,17 @@
         if (mSupportsFirmwareUpdate) {
             mFeatureProvider.addFirmwareUpdateCategory(getPrefContext(), preferenceScreen);
         }
-        updateShowVirtualKeyboardSwitch();
 
         if (InputSettings.isAccessibilityBounceKeysFeatureEnabled()
                 || InputSettings.isAccessibilityStickyKeysFeatureEnabled()
-                || InputSettings.isAccessibilitySlowKeysFeatureFlagEnabled()) {
+                || InputSettings.isAccessibilitySlowKeysFeatureFlagEnabled()
+                || InputSettings.isAccessibilityMouseKeysFeatureFlagEnabled()) {
             Objects.requireNonNull(mKeyboardA11yCategory).setOrder(2);
             preferenceScreen.addPreference(mKeyboardA11yCategory);
             updateAccessibilityBounceKeysSwitch();
             updateAccessibilitySlowKeysSwitch();
             updateAccessibilityStickyKeysSwitch();
+            updateAccessibilityMouseKeysSwitch();
         }
     }
 
@@ -374,21 +394,23 @@
                     mContentObserver,
                     UserHandle.myUserId());
         }
-        updateShowVirtualKeyboardSwitch();
+        if (InputSettings.isAccessibilityMouseKeysFeatureFlagEnabled()) {
+            contentResolver.registerContentObserver(
+                    sAccessibilityMouseKeysUri,
+                    false,
+                    mContentObserver,
+                    UserHandle.myUserId());
+        }
         updateAccessibilityBounceKeysSwitch();
         updateAccessibilitySlowKeysSwitch();
         updateAccessibilityStickyKeysSwitch();
+        updateAccessibilityMouseKeysSwitch();
     }
 
     private void unregisterSettingsObserver() {
         getActivity().getContentResolver().unregisterContentObserver(mContentObserver);
     }
 
-    private void updateShowVirtualKeyboardSwitch() {
-        Objects.requireNonNull(mShowVirtualKeyboardSwitch).setChecked(
-                Secure.getInt(getContentResolver(), Secure.SHOW_IME_WITH_HARD_KEYBOARD, 0) != 0);
-    }
-
     private void updateAccessibilityBounceKeysSwitch() {
         if (!InputSettings.isAccessibilityBounceKeysFeatureEnabled()) {
             return;
@@ -413,19 +435,18 @@
                 InputSettings.isAccessibilityStickyKeysEnabled(getContext()));
     }
 
+    private void updateAccessibilityMouseKeysSwitch() {
+        if (!InputSettings.isAccessibilityMouseKeysFeatureFlagEnabled()) {
+            return;
+        }
+        Objects.requireNonNull(mAccessibilityMouseKeys).setChecked(
+                InputSettings.isAccessibilityMouseKeysEnabled(getContext()));
+    }
+
     private void toggleKeyboardShortcutsMenu() {
         getActivity().requestShowKeyboardShortcuts();
     }
 
-    private final OnPreferenceChangeListener mShowVirtualKeyboardSwitchPreferenceChangeListener =
-            (preference, newValue) -> {
-                final ContentResolver cr = getContentResolver();
-                Secure.putInt(cr, Secure.SHOW_IME_WITH_HARD_KEYBOARD, ((Boolean) newValue) ? 1 : 0);
-                cr.notifyChange(Secure.getUriFor(Secure.SHOW_IME_WITH_HARD_KEYBOARD),
-                        null /* observer */, ContentResolver.NOTIFY_NO_DELAY);
-                return true;
-            };
-
     private final OnPreferenceChangeListener
             mAccessibilityBounceKeysSwitchPreferenceChangeListener = (preference, newValue) -> {
                 InputSettings.setAccessibilityBounceKeysThreshold(getContext(),
@@ -446,17 +467,23 @@
                 return true;
             };
 
+    private final OnPreferenceChangeListener
+            mAccessibilityMouseKeysSwitchPreferenceChangeListener = (preference, newValue) -> {
+                InputSettings.setAccessibilityMouseKeysEnabled(getContext(), (Boolean) newValue);
+                return true;
+            };
+
     private final ContentObserver mContentObserver = new ContentObserver(new Handler(true)) {
         @Override
         public void onChange(boolean selfChange, Uri uri) {
-            if (sVirtualKeyboardSettingsUri.equals(uri)) {
-                updateShowVirtualKeyboardSwitch();
-            } else if (sAccessibilityBounceKeysUri.equals(uri)) {
+            if (sAccessibilityBounceKeysUri.equals(uri)) {
                 updateAccessibilityBounceKeysSwitch();
             } else if (sAccessibilitySlowKeysUri.equals(uri)) {
                 updateAccessibilitySlowKeysSwitch();
             } else if (sAccessibilityStickyKeysUri.equals(uri)) {
                 updateAccessibilityStickyKeysSwitch();
+            } else if (sAccessibilityMouseKeysUri.equals(uri)) {
+                updateAccessibilityMouseKeysSwitch();
             }
         }
     };
diff --git a/src/com/android/settings/inputmethod/PointerFillStylePreferenceController.java b/src/com/android/settings/inputmethod/PointerFillStylePreferenceController.java
index 5abc383..bd6bbd5 100644
--- a/src/com/android/settings/inputmethod/PointerFillStylePreferenceController.java
+++ b/src/com/android/settings/inputmethod/PointerFillStylePreferenceController.java
@@ -16,25 +16,39 @@
 
 package com.android.settings.inputmethod;
 
+import static android.view.PointerIcon.POINTER_ICON_VECTOR_STYLE_FILL_BLACK;
+
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.UserHandle;
 import android.provider.Settings;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
+import androidx.lifecycle.Lifecycle;
+import androidx.lifecycle.LifecycleEventObserver;
+import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceDataStore;
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
-public class PointerFillStylePreferenceController extends BasePreferenceController {
+public class PointerFillStylePreferenceController extends BasePreferenceController
+    implements LifecycleEventObserver {
+
+    private MetricsFeatureProvider mMetricsFeatureProvider;
 
     @VisibleForTesting
     static final String KEY_POINTER_FILL_STYLE = "pointer_fill_style";
 
     public PointerFillStylePreferenceController(@NonNull Context context) {
         super(context, KEY_POINTER_FILL_STYLE);
+
+        mMetricsFeatureProvider =
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @AvailabilityStatus
@@ -64,4 +78,17 @@
             }
         });
     }
+
+    @Override
+    public void onStateChanged(@NonNull LifecycleOwner lifecycleOwner,
+            @NonNull Lifecycle.Event event) {
+        if (event == Lifecycle.Event.ON_PAUSE) {
+            int currentValue =
+                    Settings.System.getIntForUser(mContext.getContentResolver(),
+                            Settings.System.POINTER_FILL_STYLE,
+                            POINTER_ICON_VECTOR_STYLE_FILL_BLACK, UserHandle.USER_CURRENT);
+            mMetricsFeatureProvider.action(mContext,
+                        SettingsEnums.ACTION_POINTER_ICON_FILL_STYLE_CHANGED, currentValue);
+        }
+    }
 }
diff --git a/src/com/android/settings/inputmethod/PointerScaleSeekBarController.java b/src/com/android/settings/inputmethod/PointerScaleSeekBarController.java
new file mode 100644
index 0000000..509cdd6
--- /dev/null
+++ b/src/com/android/settings/inputmethod/PointerScaleSeekBarController.java
@@ -0,0 +1,121 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 android.view.PointerIcon.DEFAULT_POINTER_SCALE;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.res.Resources;
+import android.os.UserHandle;
+import android.provider.Settings;
+import android.widget.SeekBar;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.Lifecycle;
+import androidx.lifecycle.LifecycleEventObserver;
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.widget.LabeledSeekBarPreference;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+
+public class PointerScaleSeekBarController extends BasePreferenceController
+    implements LifecycleEventObserver {
+
+    private final int mProgressMin;
+    private final int mProgressMax;
+    private final float mScaleMin;
+    private final float mScaleMax;
+
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+
+    public PointerScaleSeekBarController(@NonNull Context context, @NonNull String key) {
+        super(context, key);
+
+        Resources res =  context.getResources();
+        mProgressMin = res.getInteger(R.integer.pointer_scale_seek_bar_start);
+        mProgressMax = res.getInteger(R.integer.pointer_scale_seek_bar_end);
+        mScaleMin = res.getFloat(R.dimen.pointer_scale_size_start);
+        mScaleMax = res.getFloat(R.dimen.pointer_scale_size_end);
+
+        mMetricsFeatureProvider =
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
+    }
+
+    @AvailabilityStatus
+    public int getAvailabilityStatus() {
+        return android.view.flags.Flags.enableVectorCursorA11ySettings() ? AVAILABLE
+                : CONDITIONALLY_UNAVAILABLE;
+    }
+
+    @Override
+    public void displayPreference(@NonNull PreferenceScreen screen) {
+        super.displayPreference(screen);
+
+        LabeledSeekBarPreference seekBarPreference = screen.findPreference(getPreferenceKey());
+        seekBarPreference.setMax(mProgressMax);
+        seekBarPreference.setContinuousUpdates(/* continuousUpdates= */ true);
+        seekBarPreference.setProgress(scaleToProgress(
+                Settings.System.getFloatForUser(mContext.getContentResolver(),
+                        Settings.System.POINTER_SCALE, DEFAULT_POINTER_SCALE,
+                        UserHandle.USER_CURRENT)));
+        seekBarPreference.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
+            @Override
+            public void onProgressChanged(@NonNull SeekBar seekBar, int progress,
+                    boolean fromUser) {
+                Settings.System.putFloatForUser(mContext.getContentResolver(),
+                        Settings.System.POINTER_SCALE, progressToScale(progress),
+                        UserHandle.USER_CURRENT);
+            }
+
+            @Override
+            public void onStartTrackingTouch(@NonNull SeekBar seekBar) {}
+
+            @Override
+            public void onStopTrackingTouch(@NonNull SeekBar seekBar) {}
+        });
+    }
+
+    private float progressToScale(int progress) {
+        return (((progress - mProgressMin) * (mScaleMax - mScaleMin)) / (mProgressMax
+                - mProgressMin)) + mScaleMin;
+    }
+
+    private int scaleToProgress(float scale) {
+        return (int) (
+                (((scale - mScaleMin) * (mProgressMax - mProgressMin)) / (mScaleMax - mScaleMin))
+                        + mProgressMin);
+    }
+
+    @Override
+    public void onStateChanged(@NonNull LifecycleOwner lifecycleOwner,
+            @NonNull Lifecycle.Event event) {
+        if (event == Lifecycle.Event.ON_PAUSE) {
+            float currentValue =
+                    Settings.System.getFloatForUser(mContext.getContentResolver(),
+                            Settings.System.POINTER_SCALE, DEFAULT_POINTER_SCALE,
+                            UserHandle.USER_CURRENT);
+            mMetricsFeatureProvider.action(mContext,
+                        SettingsEnums.ACTION_POINTER_ICON_SCALE_CHANGED,
+                        Float.toString(currentValue));
+        }
+    }
+}
diff --git a/src/com/android/settings/inputmethod/PointerStrokeStylePreference.java b/src/com/android/settings/inputmethod/PointerStrokeStylePreference.java
new file mode 100644
index 0000000..1c02332
--- /dev/null
+++ b/src/com/android/settings/inputmethod/PointerStrokeStylePreference.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 android.view.PointerIcon.POINTER_ICON_VECTOR_STYLE_STROKE_BLACK;
+import static android.view.PointerIcon.POINTER_ICON_VECTOR_STYLE_STROKE_NONE;
+import static android.view.PointerIcon.POINTER_ICON_VECTOR_STYLE_STROKE_WHITE;
+
+import android.content.Context;
+import android.provider.Settings;
+import android.util.AttributeSet;
+import android.view.PointerIcon;
+import android.widget.LinearLayout;
+import android.widget.RadioButton;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+
+public class PointerStrokeStylePreference extends Preference {
+
+    public PointerStrokeStylePreference(@NonNull Context context, @Nullable AttributeSet attrs) {
+        super(context, attrs);
+        setLayoutResource(R.layout.pointer_icon_stroke_style_layout);
+    }
+
+    @Override
+    public void onBindViewHolder(@NonNull PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+
+        LinearLayout buttonHolder = (LinearLayout) holder.findViewById(R.id.button_holder);
+        // Intercept hover events so setting row does not highlight when hovering buttons.
+        buttonHolder.setOnHoverListener((v, e) -> true);
+
+        int currentStroke = getPreferenceDataStore().getInt(Settings.System.POINTER_STROKE_STYLE,
+                POINTER_ICON_VECTOR_STYLE_STROKE_WHITE);
+        initRadioButton(holder, R.id.stroke_style_white, POINTER_ICON_VECTOR_STYLE_STROKE_WHITE,
+                currentStroke);
+        initRadioButton(holder, R.id.stroke_style_black, POINTER_ICON_VECTOR_STYLE_STROKE_BLACK,
+                currentStroke);
+        initRadioButton(holder, R.id.stroke_style_none, POINTER_ICON_VECTOR_STYLE_STROKE_NONE,
+                currentStroke);
+    }
+
+    private void initRadioButton(@NonNull PreferenceViewHolder holder, int id, int strokeStyle,
+            int currentStroke) {
+        RadioButton radioButton = (RadioButton) holder.findViewById(id);
+        if (radioButton == null) {
+            return;
+        }
+        radioButton.setOnCheckedChangeListener((v, isChecked) -> {
+            if (isChecked) {
+                getPreferenceDataStore().putInt(Settings.System.POINTER_STROKE_STYLE, strokeStyle);
+            }
+        });
+        radioButton.setChecked(currentStroke == strokeStyle);
+        radioButton.setPointerIcon(PointerIcon.getSystemIcon(getContext(), PointerIcon.TYPE_ARROW));
+    }
+}
diff --git a/src/com/android/settings/inputmethod/PointerStrokeStylePreferenceController.java b/src/com/android/settings/inputmethod/PointerStrokeStylePreferenceController.java
new file mode 100644
index 0000000..714e7b5
--- /dev/null
+++ b/src/com/android/settings/inputmethod/PointerStrokeStylePreferenceController.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 android.view.PointerIcon.POINTER_ICON_VECTOR_STYLE_STROKE_WHITE;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.UserHandle;
+import android.provider.Settings;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.VisibleForTesting;
+import androidx.lifecycle.Lifecycle;
+import androidx.lifecycle.LifecycleEventObserver;
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceDataStore;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+
+public class PointerStrokeStylePreferenceController extends BasePreferenceController
+    implements LifecycleEventObserver {
+
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+
+    @VisibleForTesting
+    static final String KEY_POINTER_STROKE_STYLE = "pointer_stroke_style";
+
+    public PointerStrokeStylePreferenceController(@NonNull Context context) {
+        super(context, KEY_POINTER_STROKE_STYLE);
+
+        mMetricsFeatureProvider =
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
+    }
+
+    @AvailabilityStatus
+    public int getAvailabilityStatus() {
+        return android.view.flags.Flags.enableVectorCursorA11ySettings() ? AVAILABLE
+                : CONDITIONALLY_UNAVAILABLE;
+    }
+
+    @Override
+    public void displayPreference(@NonNull PreferenceScreen screen) {
+        super.displayPreference(screen);
+        Preference pointerStrokeStylePreference = screen.findPreference(KEY_POINTER_STROKE_STYLE);
+        if (pointerStrokeStylePreference == null) {
+            return;
+        }
+        pointerStrokeStylePreference.setPreferenceDataStore(new PreferenceDataStore() {
+            @Override
+            public void putInt(@NonNull String key, int value) {
+                Settings.System.putIntForUser(mContext.getContentResolver(), key, value,
+                        UserHandle.USER_CURRENT);
+            }
+
+            @Override
+            public int getInt(@NonNull String key, int defValue) {
+                return Settings.System.getIntForUser(mContext.getContentResolver(), key, defValue,
+                        UserHandle.USER_CURRENT);
+            }
+        });
+    }
+
+    @Override
+        public void onStateChanged(@NonNull LifecycleOwner lifecycleOwner,
+                @NonNull Lifecycle.Event event) {
+            if (event == Lifecycle.Event.ON_PAUSE) {
+                int currentValue =
+                        Settings.System.getIntForUser(mContext.getContentResolver(),
+                                Settings.System.POINTER_STROKE_STYLE,
+                                POINTER_ICON_VECTOR_STYLE_STROKE_WHITE, UserHandle.USER_CURRENT);
+                mMetricsFeatureProvider.action(mContext,
+                            SettingsEnums.ACTION_POINTER_ICON_STROKE_STYLE_CHANGED, currentValue);
+            }
+        }
+}
diff --git a/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java b/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java
index 648a3e6..71fa28b 100644
--- a/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java
@@ -16,13 +16,18 @@
 
 package com.android.settings.inputmethod;
 
+import static com.android.systemui.shared.Flags.newTouchpadGesturesTutorial;
+
 import android.app.settings.SettingsEnums;
 import android.content.Context;
+import android.content.Intent;
+import android.os.UserHandle;
 import android.util.FeatureFlagUtils;
 
 import androidx.fragment.app.Fragment;
 import androidx.preference.PreferenceScreen;
 
+import com.android.settings.Utils;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -34,6 +39,7 @@
     private static final int ORDER_BOTTOM = 100;
     private static final String PREFERENCE_KEY = "trackpad_touch_gesture";
     private static final String GESTURE_DIALOG_TAG = "GESTURE_DIALOG_TAG";
+    private static final String TUTORIAL_ACTION = "com.android.systemui.action.TOUCHPAD_TUTORIAL";
 
     private Fragment mParent;
     private MetricsFeatureProvider mMetricsFeatureProvider;
@@ -68,13 +74,23 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AVAILABLE;
+        boolean isTouchpad = NewKeyboardSettingsUtils.isTouchpad();
+        return isTouchpad ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
     }
 
     private void showTouchpadGestureEducation() {
         mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_LEARN_TOUCHPAD_GESTURE_CLICK);
-        TrackpadGestureDialogFragment fragment = new TrackpadGestureDialogFragment();
-        fragment.setTargetFragment(mParent, 0);
-        fragment.show(mParent.getActivity().getSupportFragmentManager(), GESTURE_DIALOG_TAG);
+        if (newTouchpadGesturesTutorial()) {
+            Intent intent = new Intent(TUTORIAL_ACTION)
+                    .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
+                    .setPackage(Utils.SYSTEMUI_PACKAGE_NAME);
+            // touchpad tutorial must be started as system user as it needs to have access to state
+            // of user 0 sysui instance
+            mContext.startActivityAsUser(intent, UserHandle.SYSTEM);
+        } else {
+            TrackpadGestureDialogFragment fragment = new TrackpadGestureDialogFragment();
+            fragment.setTargetFragment(mParent, 0);
+            fragment.show(mParent.getActivity().getSupportFragmentManager(), GESTURE_DIALOG_TAG);
+        }
     }
 }
diff --git a/src/com/android/settings/inputmethod/TrackpadBottomPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadBottomPreferenceController.java
index d410a1b..a92ebd4 100644
--- a/src/com/android/settings/inputmethod/TrackpadBottomPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadBottomPreferenceController.java
@@ -49,7 +49,8 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AVAILABLE;
+        boolean isTouchpad = NewKeyboardSettingsUtils.isTouchpad();
+        return isTouchpad ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
     }
 
     @Override
diff --git a/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceController.java
index 042126d..ca086a9 100644
--- a/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceController.java
@@ -49,7 +49,8 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AVAILABLE;
+        boolean isTouchpad = NewKeyboardSettingsUtils.isTouchpad();
+        return isTouchpad ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
     }
 
     @Override
diff --git a/src/com/android/settings/inputmethod/TrackpadSettings.java b/src/com/android/settings/inputmethod/TrackpadSettings.java
index 4955933..dca418a 100644
--- a/src/com/android/settings/inputmethod/TrackpadSettings.java
+++ b/src/com/android/settings/inputmethod/TrackpadSettings.java
@@ -56,7 +56,8 @@
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
                     return FeatureFlagUtils
-                            .isEnabled(context, FeatureFlagUtils.SETTINGS_NEW_KEYBOARD_TRACKPAD);
+                            .isEnabled(context, FeatureFlagUtils.SETTINGS_NEW_KEYBOARD_TRACKPAD)
+                            && NewKeyboardSettingsUtils.isTouchpad();
                 }
             };
 }
diff --git a/src/com/android/settings/inputmethod/TrackpadSettingsController.java b/src/com/android/settings/inputmethod/TrackpadSettingsController.java
index 3de58e4..d88b282 100644
--- a/src/com/android/settings/inputmethod/TrackpadSettingsController.java
+++ b/src/com/android/settings/inputmethod/TrackpadSettingsController.java
@@ -84,6 +84,10 @@
         boolean isFeatureOn = FeatureFlagUtils
                 .isEnabled(mContext, FeatureFlagUtils.SETTINGS_NEW_KEYBOARD_TRACKPAD);
         boolean isTouchpad = NewKeyboardSettingsUtils.isTouchpad();
-        return (isFeatureOn && isTouchpad) ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+        boolean isPointerCustomizationEnabled =
+                android.view.flags.Flags.enableVectorCursorA11ySettings();
+        boolean isMouse = NewKeyboardSettingsUtils.isMouse();
+        return (isFeatureOn && isTouchpad) || (isPointerCustomizationEnabled && isMouse) ? AVAILABLE
+                : CONDITIONALLY_UNAVAILABLE;
     }
 }
diff --git a/src/com/android/settings/inputmethod/TrackpadTapDraggingPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadTapDraggingPreferenceController.java
index 30253a8..b2bb617 100644
--- a/src/com/android/settings/inputmethod/TrackpadTapDraggingPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadTapDraggingPreferenceController.java
@@ -49,7 +49,8 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return InputSettings.isTouchpadTapDraggingFeatureFlagEnabled()
+        boolean isTouchpad = NewKeyboardSettingsUtils.isTouchpad();
+        return (InputSettings.isTouchpadTapDraggingFeatureFlagEnabled() && isTouchpad)
                 ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
     }
 
diff --git a/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceController.java
index f78c81e..c25cc4e 100644
--- a/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceController.java
@@ -49,7 +49,8 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AVAILABLE;
+        boolean isTouchpad = NewKeyboardSettingsUtils.isTouchpad();
+        return isTouchpad ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
     }
 
     @Override
diff --git a/src/com/android/settings/inputmethod/TrackpadTouchGestureSettings.java b/src/com/android/settings/inputmethod/TrackpadTouchGestureSettings.java
index 9a4b90f..a6af3f6 100644
--- a/src/com/android/settings/inputmethod/TrackpadTouchGestureSettings.java
+++ b/src/com/android/settings/inputmethod/TrackpadTouchGestureSettings.java
@@ -58,7 +58,8 @@
                     return FeatureFlagUtils
                             .isEnabled(
                                     context,
-                                    FeatureFlagUtils.SETTINGS_NEW_KEYBOARD_TRACKPAD_GESTURE);
+                                    FeatureFlagUtils.SETTINGS_NEW_KEYBOARD_TRACKPAD_GESTURE)
+                            && NewKeyboardSettingsUtils.isTouchpad();
                 }
             };
 }
diff --git a/src/com/android/settings/inputmethod/TrackpadTouchGestureSettingsController.java b/src/com/android/settings/inputmethod/TrackpadTouchGestureSettingsController.java
index 8f04aee..7949727 100644
--- a/src/com/android/settings/inputmethod/TrackpadTouchGestureSettingsController.java
+++ b/src/com/android/settings/inputmethod/TrackpadTouchGestureSettingsController.java
@@ -31,6 +31,7 @@
     public int getAvailabilityStatus() {
         boolean isFeatureOn = FeatureFlagUtils
                 .isEnabled(mContext, FeatureFlagUtils.SETTINGS_NEW_KEYBOARD_TRACKPAD_GESTURE);
-        return isFeatureOn ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+        boolean isTouchpad = NewKeyboardSettingsUtils.isTouchpad();
+        return (isFeatureOn && isTouchpad) ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
     }
 }
diff --git a/src/com/android/settings/localepicker/AppLocalePickerActivity.java b/src/com/android/settings/localepicker/AppLocalePickerActivity.java
index b284c8d..2294b9b 100644
--- a/src/com/android/settings/localepicker/AppLocalePickerActivity.java
+++ b/src/com/android/settings/localepicker/AppLocalePickerActivity.java
@@ -37,6 +37,7 @@
 import android.widget.FrameLayout;
 import android.widget.ListView;
 
+import androidx.annotation.Nullable;
 import androidx.core.app.NotificationCompat;
 import androidx.core.view.ViewCompat;
 
@@ -67,6 +68,7 @@
     private View mAppLocaleDetailContainer;
     private NotificationController mNotificationController;
     private MetricsFeatureProvider mMetricsFeatureProvider;
+    @Nullable private String mParentLocale;
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -130,6 +132,11 @@
     }
 
     @Override
+    public void onParentLocaleSelected(LocaleStore.LocaleInfo localeInfo) {
+        mParentLocale = localeInfo.getFullNameNative();
+    }
+
+    @Override
     public boolean onMenuItemActionCollapse(MenuItem item) {
         mAppBarLayout.setExpanded(false /*expanded*/, false /*animate*/);
         ViewCompat.setNestedScrollingEnabled(mAppLocaleDetails.getListView(), true);
@@ -258,6 +265,12 @@
                         super.onFragmentViewCreated(fm, f, v, s);
                         ListView listView = (ListView) v.findViewById(android.R.id.list);
                         if (listView != null) {
+                            if (mParentLocale != null) {
+                                mAppLocaleDetails = AppLocaleDetails.newInstance(mPackageName,
+                                        getUserId());
+                                mAppLocaleDetailContainer = launchAppLocaleDetailsPage();
+                                mAppLocaleDetails.setParentLocale(mParentLocale);
+                            }
                             listView.addHeaderView(mAppLocaleDetailContainer);
                         }
                     }
diff --git a/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java b/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
index 8d60ef2..ef129ff 100644
--- a/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
+++ b/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
@@ -54,6 +54,7 @@
     private static final String TAG = "LocaleDragAndDropAdapter";
     private static final String CFGKEY_SELECTED_LOCALES = "selectedLocales";
     private static final String CFGKEY_DRAG_LOCALE = "dragLocales";
+    private static final String CFGKEY_MOVE_LOCALE_TO= "localeMoveTo";
 
     private final Context mContext;
     private final ItemTouchHelper mItemTouchHelper;
@@ -65,6 +66,7 @@
     private boolean mDragEnabled = true;
     private NumberFormat mNumberFormatter = NumberFormat.getNumberInstance();
     private LocaleStore.LocaleInfo mDragLocale;
+    private int mMovedLocaleTo;
 
     class CustomViewHolder extends RecyclerView.ViewHolder implements View.OnTouchListener {
         private final LocaleDragCell mLocaleDragCell;
@@ -229,6 +231,7 @@
             mFeedItemList.remove(fromPosition);
             mFeedItemList.add(toPosition, saved);
             mDragLocale = saved;
+            mMovedLocaleTo = toPosition;
         } else {
             // TODO: It looks like sometimes the RecycleView tries to swap item -1
             // I did not see it in a while, but if it happens, investigate and file a bug.
@@ -391,6 +394,7 @@
             outInstanceState.putStringArrayList(CFGKEY_SELECTED_LOCALES, selectedLocales);
             // Save the dragged locale before rotation
             outInstanceState.putSerializable(CFGKEY_DRAG_LOCALE, mDragLocale);
+            outInstanceState.putInt(CFGKEY_MOVE_LOCALE_TO, mMovedLocaleTo);
         }
     }
 
@@ -418,11 +422,12 @@
                 // drag locale's original position to the top.
                 mDragLocale = (LocaleStore.LocaleInfo) savedInstanceState.getSerializable(
                         CFGKEY_DRAG_LOCALE);
+                mMovedLocaleTo = savedInstanceState.getInt(CFGKEY_MOVE_LOCALE_TO);
                 if (mDragLocale != null) {
                     mFeedItemList.removeIf(
                             localeInfo -> TextUtils.equals(localeInfo.getId(),
                                     mDragLocale.getId()));
-                    mFeedItemList.add(0, mDragLocale);
+                    mFeedItemList.add(mMovedLocaleTo, mDragLocale);
                     notifyItemRangeChanged(0, mFeedItemList.size());
                 }
             }
diff --git a/src/com/android/settings/localepicker/LocalePickerWithRegionActivity.java b/src/com/android/settings/localepicker/LocalePickerWithRegionActivity.java
index 6e596e1..05cb6a4 100644
--- a/src/com/android/settings/localepicker/LocalePickerWithRegionActivity.java
+++ b/src/com/android/settings/localepicker/LocalePickerWithRegionActivity.java
@@ -39,6 +39,7 @@
         implements LocalePickerWithRegion.LocaleSelectedListener, MenuItem.OnActionExpandListener {
     private static final String TAG = LocalePickerWithRegionActivity.class.getSimpleName();
     private static final String PARENT_FRAGMENT_NAME = "localeListEditor";
+    private static final String CHILD_FRAGMENT_NAME = "LocalePickerWithRegion";
 
     private LocalePickerWithRegion mSelector;
 
@@ -68,12 +69,15 @@
                 explicitLocales,
                 null /* appPackageName */,
                 this);
-        getFragmentManager()
-                .beginTransaction()
-                .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
-                .replace(R.id.content_frame, mSelector)
-                .addToBackStack(PARENT_FRAGMENT_NAME)
-                .commit();
+
+        if (getFragmentManager().findFragmentByTag(CHILD_FRAGMENT_NAME) == null) {
+            getFragmentManager()
+                    .beginTransaction()
+                    .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
+                    .replace(R.id.content_frame, mSelector, CHILD_FRAGMENT_NAME)
+                    .addToBackStack(PARENT_FRAGMENT_NAME)
+                    .commit();
+        }
     }
 
     @Override
diff --git a/src/com/android/settings/network/AirplaneModePreferenceController.java b/src/com/android/settings/network/AirplaneModePreferenceController.java
index b1f6e50..d4bd4a3 100644
--- a/src/com/android/settings/network/AirplaneModePreferenceController.java
+++ b/src/com/android/settings/network/AirplaneModePreferenceController.java
@@ -162,7 +162,8 @@
     public void onResume() {
         try {
             mIsSatelliteOn.set(
-                    mSatelliteRepository.requestIsEnabled(Executors.newSingleThreadExecutor())
+                    mSatelliteRepository
+                            .requestIsSessionStarted(Executors.newSingleThreadExecutor())
                             .get(2000, TimeUnit.MILLISECONDS));
         } catch (ExecutionException | TimeoutException | InterruptedException e) {
             Log.e(TAG, "Error to get satellite status : " + e);
diff --git a/src/com/android/settings/network/InternetPreferenceController.java b/src/com/android/settings/network/InternetPreferenceController.java
deleted file mode 100644
index aed44d5..0000000
--- a/src/com/android/settings/network/InternetPreferenceController.java
+++ /dev/null
@@ -1,316 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.network;
-
-import static androidx.lifecycle.Lifecycle.Event.ON_PAUSE;
-import static androidx.lifecycle.Lifecycle.Event.ON_RESUME;
-
-import static com.android.settings.network.InternetUpdater.INTERNET_CELLULAR;
-import static com.android.settings.network.InternetUpdater.INTERNET_ETHERNET;
-import static com.android.settings.network.InternetUpdater.INTERNET_NETWORKS_AVAILABLE;
-import static com.android.settings.network.InternetUpdater.INTERNET_OFF;
-import static com.android.settings.network.InternetUpdater.INTERNET_WIFI;
-import static com.android.settingslib.wifi.WifiUtils.getHotspotIconResource;
-
-import android.content.Context;
-import android.graphics.drawable.Drawable;
-import android.telephony.SubscriptionManager;
-
-import androidx.annotation.IdRes;
-import androidx.annotation.VisibleForTesting;
-import androidx.lifecycle.Lifecycle;
-import androidx.lifecycle.LifecycleObserver;
-import androidx.lifecycle.LifecycleOwner;
-import androidx.lifecycle.OnLifecycleEvent;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.widget.SummaryUpdater;
-import com.android.settings.wifi.WifiPickerTrackerHelper;
-import com.android.settings.wifi.WifiSummaryUpdater;
-import com.android.settings.wifi.repository.SharedConnectivityRepository;
-import com.android.settingslib.Utils;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
-import com.android.settingslib.utils.ThreadUtils;
-import com.android.wifitrackerlib.HotspotNetworkEntry;
-import com.android.wifitrackerlib.WifiEntry;
-import com.android.wifitrackerlib.WifiPickerTracker;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * PreferenceController to update the internet state.
- */
-public class InternetPreferenceController extends AbstractPreferenceController implements
-        LifecycleObserver, SummaryUpdater.OnSummaryChangeListener,
-        InternetUpdater.InternetChangeListener, MobileNetworkRepository.MobileNetworkCallback,
-        DefaultSubscriptionReceiver.DefaultSubscriptionListener,
-        WifiPickerTracker.WifiPickerTrackerCallback {
-
-    public static final String KEY = "internet_settings";
-
-    private Preference mPreference;
-    @VisibleForTesting
-    WifiSummaryUpdater mSummaryHelper;
-    private InternetUpdater mInternetUpdater;
-    private @InternetUpdater.InternetType int mInternetType;
-    private LifecycleOwner mLifecycleOwner;
-    private MobileNetworkRepository mMobileNetworkRepository;
-    private List<SubscriptionInfoEntity> mSubInfoEntityList = new ArrayList<>();
-    private int mDefaultDataSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
-    private DefaultSubscriptionReceiver mDataSubscriptionChangedReceiver;
-    private boolean mIsHotspotNetworkEnabled = SharedConnectivityRepository.isDeviceConfigEnabled();
-    @VisibleForTesting
-    WifiPickerTrackerHelper mWifiPickerTrackerHelper;
-
-    @VisibleForTesting
-    static Map<Integer, Integer> sIconMap = new HashMap<>();
-    static {
-        sIconMap.put(INTERNET_OFF, R.drawable.ic_no_internet_unavailable);
-        sIconMap.put(INTERNET_NETWORKS_AVAILABLE, R.drawable.ic_no_internet_available);
-        sIconMap.put(INTERNET_WIFI, R.drawable.ic_wifi_signal_4);
-        sIconMap.put(INTERNET_CELLULAR, R.drawable.ic_network_cell);
-        sIconMap.put(INTERNET_ETHERNET, R.drawable.ic_settings_ethernet);
-    }
-
-    private static Map<Integer, Integer> sSummaryMap = new HashMap<>();
-    static {
-        sSummaryMap.put(INTERNET_OFF, R.string.condition_airplane_title);
-        sSummaryMap.put(INTERNET_NETWORKS_AVAILABLE, R.string.networks_available);
-        sSummaryMap.put(INTERNET_WIFI, 0);
-        sSummaryMap.put(INTERNET_CELLULAR, 0);
-        sSummaryMap.put(INTERNET_ETHERNET, R.string.to_switch_networks_disconnect_ethernet);
-    }
-
-    public InternetPreferenceController(Context context, Lifecycle lifecycle,
-            LifecycleOwner lifecycleOwner) {
-        super(context);
-        if (lifecycle == null) {
-            throw new IllegalArgumentException("Lifecycle must be set");
-        }
-        mSummaryHelper = new WifiSummaryUpdater(mContext, this);
-        mInternetUpdater = new InternetUpdater(context, lifecycle, this);
-        mInternetType = mInternetUpdater.getInternetType();
-        mLifecycleOwner = lifecycleOwner;
-        mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
-        mDataSubscriptionChangedReceiver = new DefaultSubscriptionReceiver(context, this);
-        if (mIsHotspotNetworkEnabled) {
-            mWifiPickerTrackerHelper = new WifiPickerTrackerHelper(lifecycle, context, this);
-        }
-        lifecycle.addObserver(this);
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(KEY);
-    }
-
-    private void drawIcon(int iconResId) {
-        Drawable drawable = mContext.getDrawable(iconResId);
-        if (drawable != null) {
-            drawable.setTintList(Utils.getColorAttr(mContext, android.R.attr.colorControlNormal));
-            mPreference.setIcon(drawable);
-        }
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        if (mPreference == null) {
-            return;
-        }
-
-        if (mInternetType == INTERNET_WIFI && updateHotspotNetwork()) {
-            return;
-        }
-
-        final @IdRes int icon = sIconMap.get(mInternetType);
-        if (icon != 0) {
-            drawIcon(icon);
-        }
-
-        if (mInternetType == INTERNET_WIFI) {
-            mPreference.setSummary(mSummaryHelper.getSummary());
-            return;
-        }
-
-        if (mInternetType == INTERNET_CELLULAR) {
-            updateCellularSummary();
-            return;
-        }
-
-        final @IdRes int summary = sSummaryMap.get(mInternetType);
-        if (summary != 0) {
-            mPreference.setSummary(summary);
-        }
-    }
-
-    @VisibleForTesting
-    boolean updateHotspotNetwork() {
-        if (mWifiPickerTrackerHelper == null) {
-            return false;
-        }
-        WifiEntry entry = mWifiPickerTrackerHelper.getWifiPickerTracker().getConnectedWifiEntry();
-        if (!(entry instanceof HotspotNetworkEntry)) {
-            return false;
-        }
-        drawIcon(getHotspotIconResource(((HotspotNetworkEntry) entry).getDeviceType()));
-        mPreference.setSummary(((HotspotNetworkEntry) entry).getAlternateSummary());
-        return true;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return mContext.getResources().getBoolean(R.bool.config_show_internet_settings);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    /** @OnLifecycleEvent(ON_RESUME) */
-    @OnLifecycleEvent(ON_RESUME)
-    public void onResume() {
-        mMobileNetworkRepository.addRegister(mLifecycleOwner, this,
-                SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-        mMobileNetworkRepository.updateEntity();
-        mSummaryHelper.register(true);
-        mDataSubscriptionChangedReceiver.registerReceiver();
-        mDefaultDataSubId = SubscriptionManager.getDefaultDataSubscriptionId();
-    }
-
-    /** @OnLifecycleEvent(ON_PAUSE) */
-    @OnLifecycleEvent(ON_PAUSE)
-    public void onPause() {
-        mMobileNetworkRepository.removeRegister(this);
-        mSummaryHelper.register(false);
-        mDataSubscriptionChangedReceiver.unRegisterReceiver();
-    }
-
-    /**
-     * Called when internet type is changed.
-     *
-     * @param internetType the internet type
-     */
-    @Override
-    public void onInternetTypeChanged(@InternetUpdater.InternetType int internetType) {
-        final boolean needUpdate = (internetType != mInternetType);
-        mInternetType = internetType;
-        if (needUpdate) {
-            ThreadUtils.postOnMainThread(() -> {
-                updateState(mPreference);
-            });
-        }
-    }
-
-    /**
-     * Called when airplane mode state is changed.
-     */
-    @Override
-    public void onAirplaneModeChanged(boolean isAirplaneModeOn) {
-        ThreadUtils.postOnMainThread(() -> {
-            updateState(mPreference);
-        });
-    }
-
-    @Override
-    public void onSummaryChanged(String summary) {
-        if (mInternetType == INTERNET_WIFI) {
-            updateState(mPreference);
-        }
-    }
-
-    @VisibleForTesting
-    void updateCellularSummary() {
-        CharSequence summary = null;
-        SubscriptionInfoEntity activeSubInfo = null;
-        SubscriptionInfoEntity defaultSubInfo = null;
-
-        for (SubscriptionInfoEntity subInfo : getSubscriptionInfoList()) {
-            if (subInfo.isActiveDataSubscriptionId) {
-                activeSubInfo = subInfo;
-            }
-            if (subInfo.getSubId() == getDefaultDataSubscriptionId()) {
-                defaultSubInfo = subInfo;
-            }
-        }
-        if (activeSubInfo == null || defaultSubInfo == null) {
-            return;
-        }
-        activeSubInfo = activeSubInfo.isSubscriptionVisible ? activeSubInfo : defaultSubInfo;
-
-        if (activeSubInfo.equals(defaultSubInfo)) {
-            // DDS is active
-            summary = activeSubInfo.uniqueName;
-        } else {
-            summary = mContext.getString(
-                    R.string.mobile_data_temp_using, activeSubInfo.uniqueName);
-        }
-
-        mPreference.setSummary(summary);
-    }
-
-    @VisibleForTesting
-    protected List<SubscriptionInfoEntity> getSubscriptionInfoList() {
-        return mSubInfoEntityList;
-    }
-
-    @VisibleForTesting
-    protected int getDefaultDataSubscriptionId() {
-        return mDefaultDataSubId;
-    }
-
-    @Override
-    public void onAvailableSubInfoChanged(List<SubscriptionInfoEntity> subInfoEntityList) {
-        mSubInfoEntityList = subInfoEntityList;
-        updateState(mPreference);
-    }
-
-    @Override
-    public void onDefaultDataChanged(int defaultDataSubId) {
-        mDefaultDataSubId = defaultDataSubId;
-        updateState(mPreference);
-    }
-
-    @Override
-    public void onWifiEntriesChanged() {
-        if (mInternetType == INTERNET_WIFI) {
-            updateState(mPreference);
-        }
-    }
-
-    @Override
-    public void onWifiStateChanged() {
-        // Do nothing
-    }
-
-    @Override
-    public void onNumSavedNetworksChanged() {
-        // Do nothing
-    }
-
-    @Override
-    public void onNumSavedSubscriptionsChanged() {
-        // Do nothing
-    }
-}
diff --git a/src/com/android/settings/network/InternetPreferenceControllerV2.kt b/src/com/android/settings/network/InternetPreferenceControllerV2.kt
index a181abd..3c79342 100644
--- a/src/com/android/settings/network/InternetPreferenceControllerV2.kt
+++ b/src/com/android/settings/network/InternetPreferenceControllerV2.kt
@@ -28,7 +28,7 @@
 class InternetPreferenceControllerV2(context: Context, preferenceKey: String) :
     BasePreferenceController(context, preferenceKey) {
 
-    private val repository = InternetPreferenceRepository(mContext)
+    private val repository by lazy { InternetPreferenceRepository(mContext) }
     private var preference: Preference? = null
 
     override fun getAvailabilityStatus() =
diff --git a/src/com/android/settings/network/MobileDataEnabledFlow.kt b/src/com/android/settings/network/MobileDataEnabledFlow.kt
deleted file mode 100644
index 1f995a9..0000000
--- a/src/com/android/settings/network/MobileDataEnabledFlow.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.provider.Settings
-import android.telephony.SubscriptionManager
-import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalChangeFlow
-import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.merge
-
-/**
- * Flow for mobile data enabled changed event.
- *
- * Note: This flow can only notify enabled status changes, cannot provide the latest status.
- */
-fun Context.mobileDataEnabledFlow(subId: Int, sendInitialValue: Boolean = true): Flow<Unit> {
-    val flow = settingsGlobalChangeFlow(Settings.Global.MOBILE_DATA, sendInitialValue)
-    return when (subId) {
-        SubscriptionManager.INVALID_SUBSCRIPTION_ID -> flow
-        else -> {
-            val subIdFlow = settingsGlobalChangeFlow(
-                name = Settings.Global.MOBILE_DATA + subId,
-                sendInitialValue = false,
-            )
-            merge(flow, subIdFlow)
-        }
-    }
-}
diff --git a/src/com/android/settings/network/MobileNetworkListFragment.kt b/src/com/android/settings/network/MobileNetworkListFragment.kt
index eb0d16c..bb88330 100644
--- a/src/com/android/settings/network/MobileNetworkListFragment.kt
+++ b/src/com/android/settings/network/MobileNetworkListFragment.kt
@@ -27,7 +27,7 @@
 import com.android.settings.SettingsPreferenceFragment
 import com.android.settings.dashboard.DashboardFragment
 import com.android.settings.flags.Flags
-import com.android.settings.network.telephony.MobileNetworkUtils
+import com.android.settings.network.telephony.euicc.EuiccRepository
 import com.android.settings.search.BaseSearchIndexProvider
 import com.android.settings.spa.SpaActivity.Companion.startSpaActivity
 import com.android.settings.spa.network.NetworkCellularGroupProvider
@@ -58,7 +58,7 @@
         listView.itemAnimator = null
 
         findPreference<Preference>(KEY_ADD_SIM)!!.isVisible =
-            MobileNetworkUtils.showEuiccSettings(context)
+            EuiccRepository(requireContext()).showEuiccSettings()
     }
 
     override fun getPreferenceScreenResId() = R.xml.network_provider_sims_list
diff --git a/src/com/android/settings/network/MobileNetworkRepository.java b/src/com/android/settings/network/MobileNetworkRepository.java
index 8ee5389..f5763eb 100644
--- a/src/com/android/settings/network/MobileNetworkRepository.java
+++ b/src/com/android/settings/network/MobileNetworkRepository.java
@@ -29,7 +29,6 @@
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyCallback;
 import android.telephony.TelephonyManager;
-import android.telephony.UiccCardInfo;
 import android.telephony.UiccPortInfo;
 import android.telephony.UiccSlotInfo;
 import android.util.ArrayMap;
@@ -41,7 +40,6 @@
 import androidx.lifecycle.LifecycleOwner;
 
 import com.android.internal.telephony.flags.Flags;
-import com.android.settings.network.telephony.MobileNetworkUtils;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.mobile.dataservice.MobileNetworkDatabase;
@@ -49,7 +47,6 @@
 import com.android.settingslib.mobile.dataservice.MobileNetworkInfoEntity;
 import com.android.settingslib.mobile.dataservice.SubscriptionInfoDao;
 import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
-import com.android.settingslib.mobile.dataservice.UiccInfoDao;
 import com.android.settingslib.mobile.dataservice.UiccInfoEntity;
 
 import java.util.ArrayList;
@@ -81,23 +78,13 @@
     private SubscriptionManager mSubscriptionManager;
     private MobileNetworkDatabase mMobileNetworkDatabase;
     private SubscriptionInfoDao mSubscriptionInfoDao;
-    private UiccInfoDao mUiccInfoDao;
     private MobileNetworkInfoDao mMobileNetworkInfoDao;
     private List<SubscriptionInfoEntity> mAvailableSubInfoEntityList = new ArrayList<>();
     private List<SubscriptionInfoEntity> mActiveSubInfoEntityList = new ArrayList<>();
-    private List<UiccInfoEntity> mUiccInfoEntityList = new ArrayList<>();
-    private List<MobileNetworkInfoEntity> mMobileNetworkInfoEntityList = new ArrayList<>();
     private Context mContext;
     private AirplaneModeObserver mAirplaneModeObserver;
-    private DataRoamingObserver mDataRoamingObserver;
     private MetricsFeatureProvider mMetricsFeatureProvider;
     private int mPhysicalSlotIndex = SubscriptionManager.INVALID_SIM_SLOT_INDEX;
-    private int mLogicalSlotIndex = SubscriptionManager.INVALID_SIM_SLOT_INDEX;
-    private int mCardState = UiccSlotInfo.CARD_STATE_INFO_ABSENT;
-    private int mPortIndex = TelephonyManager.INVALID_PORT_INDEX;
-    private int mCardId = TelephonyManager.UNINITIALIZED_CARD_ID;
-    private boolean mIsEuicc = false;
-    private boolean mIsRemovable = false;
     private boolean mIsActive = false;
     private Map<Integer, SubscriptionInfo> mSubscriptionInfoMap = new ArrayMap<>();
     private Map<Integer, TelephonyManager> mTelephonyManagerMap = new HashMap<>();
@@ -124,10 +111,8 @@
         mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_MOBILE_NETWORK_DB_CREATED);
         mSubscriptionManager = context.getSystemService(SubscriptionManager.class);
         mSubscriptionInfoDao = mMobileNetworkDatabase.mSubscriptionInfoDao();
-        mUiccInfoDao = mMobileNetworkDatabase.mUiccInfoDao();
         mMobileNetworkInfoDao = mMobileNetworkDatabase.mMobileNetworkInfoDao();
         mAirplaneModeObserver = new AirplaneModeObserver(new Handler(Looper.getMainLooper()));
-        mDataRoamingObserver = new DataRoamingObserver(new Handler(Looper.getMainLooper()));
     }
 
     private class AirplaneModeObserver extends ContentObserver {
@@ -158,47 +143,6 @@
         }
     }
 
-    private class DataRoamingObserver extends ContentObserver {
-        private int mRegSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
-        private String mBaseField = Settings.Global.DATA_ROAMING;
-
-        DataRoamingObserver(Handler handler) {
-            super(handler);
-        }
-
-        public void register(Context context, int subId) {
-            mRegSubId = subId;
-            String lastField = mBaseField;
-            createTelephonyManagerBySubId(subId);
-            TelephonyManager tm = mTelephonyManagerMap.get(subId);
-            if (tm.getSimCount() != 1) {
-                lastField += subId;
-            }
-            context.getContentResolver().registerContentObserver(
-                    Settings.Global.getUriFor(lastField), false, this);
-        }
-
-        public void unRegister(Context context) {
-            context.getContentResolver().unregisterContentObserver(this);
-        }
-
-        @Override
-        public void onChange(boolean selfChange, Uri uri) {
-            TelephonyManager tm = mTelephonyManagerMap.get(mRegSubId);
-            if (tm == null) {
-                return;
-            }
-            sExecutor.execute(() -> {
-                Log.d(TAG, "DataRoamingObserver changed");
-                insertMobileNetworkInfo(mContext, mRegSubId, tm);
-            });
-            boolean isDataRoamingEnabled = tm.isDataRoamingEnabled();
-            for (MobileNetworkCallback callback : sCallbacks) {
-                callback.onDataRoamingChanged(mRegSubId, isDataRoamingEnabled);
-            }
-        }
-    }
-
     /**
      * Register all callbacks and listener.
      *
@@ -224,7 +168,6 @@
         observeAllMobileNetworkInfo(lifecycleOwner);
         if (subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
             createTelephonyManagerBySubId(subId);
-            mDataRoamingObserver.register(mContext, subId);
         }
         // When one client registers callback first time, convey the cached results to the client
         // so that the client is aware of the content therein.
@@ -288,7 +231,6 @@
         if (sCallbacks.isEmpty()) {
             mSubscriptionManager.removeOnSubscriptionsChangedListener(this);
             mAirplaneModeObserver.unRegister(mContext);
-            mDataRoamingObserver.unRegister(mContext);
 
             mTelephonyManagerMap.forEach((id, manager) -> {
                 TelephonyCallback callback = mTelephonyCallbackMap.get(id);
@@ -338,22 +280,6 @@
                 lifecycleOwner, this::onAllMobileNetworkInfoChanged);
     }
 
-    public List<SubscriptionInfoEntity> getAvailableSubInfoEntityList() {
-        return mAvailableSubInfoEntityList;
-    }
-
-    public List<SubscriptionInfoEntity> getActiveSubscriptionInfoList() {
-        return mActiveSubInfoEntityList;
-    }
-
-    public List<UiccInfoEntity> getUiccInfoEntityList() {
-        return mUiccInfoEntityList;
-    }
-
-    public List<MobileNetworkInfoEntity> getMobileNetworkInfoEntityList() {
-        return mMobileNetworkInfoEntityList;
-    }
-
     public SubscriptionInfoEntity getSubInfoById(String subId) {
         return mSubscriptionInfoDao.querySubInfoById(subId);
     }
@@ -368,19 +294,13 @@
             UiccSlotInfo curSlotInfo = uiccSlotInfos[i];
             if (curSlotInfo != null && curSlotInfo.getCardStateInfo() == CARD_STATE_INFO_PRESENT) {
                 final int index = i;
-                mIsEuicc = curSlotInfo.getIsEuicc();
-                mCardState = curSlotInfo.getCardStateInfo();
-                mIsRemovable = curSlotInfo.isRemovable();
-                mCardId = subInfo.getCardId();
 
                 Collection<UiccPortInfo> uiccPortInfos = curSlotInfo.getPorts();
                 uiccPortInfos.forEach(portInfo -> {
                     if (portInfo.getPortIndex() == subInfo.getPortIndex()
                             && portInfo.getLogicalSlotIndex() == subInfo.getSimSlotIndex()) {
                         mPhysicalSlotIndex = index;
-                        mLogicalSlotIndex = portInfo.getLogicalSlotIndex();
                         mIsActive = portInfo.isActive();
-                        mPortIndex = portInfo.getPortIndex();
                     } else if (DEBUG) {
                         Log.d(TAG, "Can not get port index and physicalSlotIndex for subId "
                                 + subInfo.getSubscriptionId());
@@ -464,7 +384,6 @@
     }
 
     private void onAllUiccInfoChanged(List<UiccInfoEntity> uiccInfoEntityList) {
-        mUiccInfoEntityList = new ArrayList<>(uiccInfoEntityList);
         for (MobileNetworkCallback callback : sCallbacks) {
             callback.onAllUiccInfoChanged(uiccInfoEntityList);
         }
@@ -474,7 +393,6 @@
 
     private void onAllMobileNetworkInfoChanged(
             List<MobileNetworkInfoEntity> mobileNetworkInfoEntityList) {
-        mMobileNetworkInfoEntityList = new ArrayList<>(mobileNetworkInfoEntityList);
         for (MobileNetworkCallback callback : sCallbacks) {
             callback.onAllMobileNetworkInfoChanged(mobileNetworkInfoEntityList);
         }
@@ -502,8 +420,8 @@
                 mMobileNetworkDatabase.insertSubsInfo(subInfoEntity);
                 mMetricsFeatureProvider.action(mContext,
                         SettingsEnums.ACTION_MOBILE_NETWORK_DB_INSERT_SUB_INFO, subId);
-                insertUiccInfo(subId, telephonyManager);
-                insertMobileNetworkInfo(context, subId, telephonyManager);
+                insertUiccInfo(subId);
+                insertMobileNetworkInfo(subId, telephonyManager);
             }
         } else if (DEBUG) {
             Log.d(TAG, "Can not insert subInfo, the entity is null");
@@ -515,8 +433,6 @@
         mMobileNetworkDatabase.deleteSubInfoBySubId(subId);
         mMobileNetworkDatabase.deleteUiccInfoBySubId(subId);
         mMobileNetworkDatabase.deleteMobileNetworkInfoBySubId(subId);
-        mUiccInfoEntityList.removeIf(info -> info.subId.equals(subId));
-        mMobileNetworkInfoEntityList.removeIf(info -> info.subId.equals(subId));
         int id = Integer.parseInt(subId);
         removerRegisterBySubId(id);
         mSubscriptionInfoMap.remove(id);
@@ -545,36 +461,22 @@
             return null;
         } else {
             getUiccInfoBySubscriptionInfo(uiccSlotInfos, subInfo);
-            SubscriptionInfo firstRemovableSubInfo = SubscriptionUtil.getFirstRemovableSubscription(
-                    context);
             if (DEBUG) {
                 Log.d(TAG, "convert subscriptionInfo to entity for subId = " + subId);
             }
-            return new SubscriptionInfoEntity(String.valueOf(subId),
-                    subInfo.getSimSlotIndex(),
-                    subInfo.getCarrierId(), subInfo.getDisplayName().toString(),
-                    subInfo.getCarrierName() != null ? subInfo.getCarrierName().toString() : "",
-                    subInfo.getDataRoaming(), subInfo.getMccString(), subInfo.getMncString(),
-                    subInfo.getCountryIso(), subInfo.isEmbedded(), mCardId,
-                    subInfo.getPortIndex(), subInfo.isOpportunistic(),
-                    String.valueOf(subInfo.getGroupUuid()),
-                    subInfo.getSubscriptionType(),
+            return new SubscriptionInfoEntity(String.valueOf(subId), subInfo.getSimSlotIndex(),
+                    subInfo.isEmbedded(), subInfo.isOpportunistic(),
                     SubscriptionUtil.getUniqueSubscriptionDisplayName(subInfo, context).toString(),
                     SubscriptionUtil.isSubscriptionVisible(mSubscriptionManager, context, subInfo),
-                    SubscriptionUtil.getFormattedPhoneNumber(context, subInfo),
-                    firstRemovableSubInfo == null ? false
-                            : firstRemovableSubInfo.getSubscriptionId() == subId,
                     SubscriptionUtil.isDefaultSubscription(context, subId),
                     mSubscriptionManager.isValidSubscriptionId(subId),
-                    mSubscriptionManager.isUsableSubscriptionId(subId),
                     mSubscriptionManager.isActiveSubscriptionId(subId),
-                    true /*availableSubInfo*/,
                     mSubscriptionManager.getActiveDataSubscriptionId() == subId);
         }
     }
 
-    private void insertUiccInfo(int subId, TelephonyManager telephonyManager) {
-        UiccInfoEntity uiccInfoEntity = convertToUiccInfoEntity(subId, telephonyManager);
+    private void insertUiccInfo(int subId) {
+        UiccInfoEntity uiccInfoEntity = convertToUiccInfoEntity(subId);
         if (DEBUG) {
             Log.d(TAG, "uiccInfoEntity = " + uiccInfoEntity);
         }
@@ -587,20 +489,13 @@
         }
     }
 
-    private void insertMobileNetworkInfo(Context context, int subId,
-            TelephonyManager telephonyManager) {
-        MobileNetworkInfoEntity mobileNetworkInfoEntity = convertToMobileNetworkInfoEntity(context,
-                subId, telephonyManager);
-
+    private void insertMobileNetworkInfo(int subId, TelephonyManager telephonyManager) {
+        MobileNetworkInfoEntity mobileNetworkInfoEntity =
+                convertToMobileNetworkInfoEntity(subId, telephonyManager);
 
         Log.d(TAG, "insertMobileNetworkInfo, mobileNetworkInfoEntity = "
                 + mobileNetworkInfoEntity);
 
-
-        if (mobileNetworkInfoEntity == null) {
-            return;
-        }
-
         if (!sCacheMobileNetworkInfoEntityMap.containsKey(subId)
                 || !sCacheMobileNetworkInfoEntityMap.get(subId).equals(mobileNetworkInfoEntity)) {
             sCacheMobileNetworkInfoEntityMap.put(subId, mobileNetworkInfoEntity);
@@ -610,53 +505,22 @@
         }
     }
 
-    private MobileNetworkInfoEntity convertToMobileNetworkInfoEntity(Context context, int subId,
+    private MobileNetworkInfoEntity convertToMobileNetworkInfoEntity(int subId,
             TelephonyManager telephonyManager) {
         boolean isDataEnabled = false;
-        boolean isDataRoamingEnabled = false;
         if (telephonyManager != null) {
             isDataEnabled = telephonyManager.isDataEnabled();
-            isDataRoamingEnabled = telephonyManager.isDataRoamingEnabled();
         } else {
             Log.d(TAG, "TelephonyManager is null, subId = " + subId);
         }
 
-        return new MobileNetworkInfoEntity(String.valueOf(subId),
-                MobileNetworkUtils.isContactDiscoveryEnabled(context, subId),
-                MobileNetworkUtils.isContactDiscoveryVisible(context, subId),
-                isDataEnabled,
-                MobileNetworkUtils.isCdmaOptions(context, subId),
-                MobileNetworkUtils.isGsmOptions(context, subId),
-                MobileNetworkUtils.isWorldMode(context, subId),
-                MobileNetworkUtils.shouldDisplayNetworkSelectOptions(context, subId),
-                MobileNetworkUtils.isTdscdmaSupported(context, subId),
-                MobileNetworkUtils.activeNetworkIsCellular(context),
-                SubscriptionUtil.showToggleForPhysicalSim(mSubscriptionManager),
-                isDataRoamingEnabled
+        return new MobileNetworkInfoEntity(String.valueOf(subId), isDataEnabled,
+                SubscriptionUtil.showToggleForPhysicalSim(mSubscriptionManager)
         );
     }
 
-    private UiccInfoEntity convertToUiccInfoEntity(int subId, TelephonyManager telephonyManager) {
-        return new UiccInfoEntity(String.valueOf(subId), String.valueOf(mPhysicalSlotIndex),
-                mLogicalSlotIndex, mCardId, mIsEuicc,
-                isMultipleEnabledProfilesSupported(telephonyManager), mCardState, mIsRemovable,
-                mIsActive, mPortIndex
-        );
-    }
-
-    private boolean isMultipleEnabledProfilesSupported(TelephonyManager telephonyManager) {
-        if (telephonyManager == null) {
-            Log.d(TAG, "TelephonyManager is null");
-            return false;
-        }
-
-        List<UiccCardInfo> cardInfos = telephonyManager.getUiccCardsInfo();
-        if (cardInfos == null) {
-            Log.d(TAG, "UICC card info list is empty.");
-            return false;
-        }
-        return cardInfos.stream().anyMatch(
-                cardInfo -> cardInfo.isMultipleEnabledProfilesSupported());
+    private UiccInfoEntity convertToUiccInfoEntity(int subId) {
+        return new UiccInfoEntity(String.valueOf(subId), mIsActive);
     }
 
     @Override
@@ -741,7 +605,6 @@
     }
 
     private class PhoneCallStateTelephonyCallback extends TelephonyCallback implements
-            TelephonyCallback.CallStateListener,
             TelephonyCallback.UserMobileDataStateListener {
 
         private int mSubId;
@@ -751,18 +614,10 @@
         }
 
         @Override
-        public void onCallStateChanged(int state) {
-            for (MobileNetworkCallback callback : sCallbacks) {
-                callback.onCallStateChanged(state);
-            }
-        }
-
-        @Override
         public void onUserMobileDataStateChanged(boolean enabled) {
             Log.d(TAG, "onUserMobileDataStateChanged enabled " + enabled + " on SUB " + mSubId);
             sExecutor.execute(() -> {
-                insertMobileNetworkInfo(mContext, mSubId,
-                        getTelephonyManagerBySubId(mContext, mSubId));
+                insertMobileNetworkInfo(mSubId, getTelephonyManagerBySubId(mContext, mSubId));
             });
         }
     }
@@ -787,15 +642,6 @@
 
         default void onAirplaneModeChanged(boolean enabled) {
         }
-
-        /**
-         * Notify clients data roaming changed of subscription.
-         */
-        default void onDataRoamingChanged(int subId, boolean enabled) {
-        }
-
-        default void onCallStateChanged(int state) {
-        }
     }
 
     public void dump(IndentingPrintWriter printwriter) {
@@ -803,8 +649,6 @@
         printwriter.increaseIndent();
         printwriter.println(" availableSubInfoEntityList= " + mAvailableSubInfoEntityList);
         printwriter.println(" activeSubInfoEntityList=" + mActiveSubInfoEntityList);
-        printwriter.println(" mobileNetworkInfoEntityList= " + mMobileNetworkInfoEntityList);
-        printwriter.println(" uiccInfoEntityList= " + mUiccInfoEntityList);
         printwriter.println(" CacheSubscriptionInfoEntityMap= " + sCacheSubscriptionInfoEntityMap);
         printwriter.println(" SubscriptionInfoMap= " + mSubscriptionInfoMap);
         printwriter.flush();
diff --git a/src/com/android/settings/network/MobileNetworkSummaryController.java b/src/com/android/settings/network/MobileNetworkSummaryController.java
index 4627a25..9bf6915 100644
--- a/src/com/android/settings/network/MobileNetworkSummaryController.java
+++ b/src/com/android/settings/network/MobileNetworkSummaryController.java
@@ -35,7 +35,7 @@
 import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.network.telephony.MobileNetworkUtils;
+import com.android.settings.network.telephony.euicc.EuiccRepository;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.RestrictedPreference;
 import com.android.settingslib.Utils;
@@ -118,7 +118,7 @@
         if ((mSubInfoEntityList == null || mSubInfoEntityList.isEmpty()) || (
                 mUiccInfoEntityList == null || mUiccInfoEntityList.isEmpty()) || (
                 mMobileNetworkInfoEntityList == null || mMobileNetworkInfoEntityList.isEmpty())) {
-            if (MobileNetworkUtils.showEuiccSettingsDetecting(mContext)) {
+            if (new EuiccRepository(mContext).showEuiccSettings()) {
                 return mContext.getResources().getString(
                         R.string.mobile_network_summary_add_a_network);
             }
@@ -168,7 +168,7 @@
                 || (mUiccInfoEntityList == null || mUiccInfoEntityList.isEmpty())
                 || (mMobileNetworkInfoEntityList == null
                 || mMobileNetworkInfoEntityList.isEmpty()))) {
-            if (MobileNetworkUtils.showEuiccSettingsDetecting(mContext)) {
+            if (new EuiccRepository(mContext).showEuiccSettings()) {
                 mPreference.setOnPreferenceClickListener((Preference pref) -> {
                     logPreferenceClick(pref);
                     startAddSimFlow();
diff --git a/src/com/android/settings/network/NetworkDashboardFragment.java b/src/com/android/settings/network/NetworkDashboardFragment.java
index 3bc5358..aff9130 100644
--- a/src/com/android/settings/network/NetworkDashboardFragment.java
+++ b/src/com/android/settings/network/NetworkDashboardFragment.java
@@ -25,7 +25,6 @@
 import com.android.settings.SettingsDumpService;
 import com.android.settings.core.OnActivityResultListener;
 import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.flags.Flags;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -90,14 +89,6 @@
 
         controllers.add(new MobileNetworkSummaryController(context, lifecycle, lifecycleOwner));
         controllers.add(vpnPreferenceController);
-
-        if (Flags.internetPreferenceControllerV2()) {
-            controllers.add(
-                    new InternetPreferenceControllerV2(context, InternetPreferenceController.KEY));
-        } else {
-            controllers.add(new InternetPreferenceController(context, lifecycle, lifecycleOwner));
-        }
-
         controllers.add(privateDnsPreferenceController);
 
         // Start SettingsDumpService after the MobileNetworkRepository is created.
diff --git a/src/com/android/settings/network/NetworkProviderSettings.java b/src/com/android/settings/network/NetworkProviderSettings.java
index a4193f8..69183ff 100644
--- a/src/com/android/settings/network/NetworkProviderSettings.java
+++ b/src/com/android/settings/network/NetworkProviderSettings.java
@@ -19,6 +19,8 @@
 import static android.net.wifi.WifiConfiguration.NetworkSelectionStatus.NETWORK_SELECTION_ENABLED;
 import static android.os.UserManager.DISALLOW_CONFIG_WIFI;
 
+import static com.android.wifitrackerlib.WifiEntry.CONNECTED_STATE_CONNECTED;
+
 import android.app.Activity;
 import android.app.Dialog;
 import android.app.settings.SettingsEnums;
@@ -36,6 +38,7 @@
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.provider.Settings;
+import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 import android.text.TextUtils;
 import android.util.EventLog;
@@ -370,7 +373,7 @@
         mDataUsagePreference = findPreference(PREF_KEY_DATA_USAGE);
         mDataUsagePreference.setVisible(DataUsageUtils.hasWifiRadio(getContext()));
         mDataUsagePreference.setTemplate(new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI)
-                        .build(), 0 /*subId*/);
+                        .build(), SubscriptionManager.INVALID_SUBSCRIPTION_ID);
         mResetInternetPreference = findPreference(PREF_KEY_RESET_INTERNET);
         if (mResetInternetPreference != null) {
             mResetInternetPreference.setVisible(false);
@@ -668,7 +671,7 @@
     @VisibleForTesting
     void addModifyMenuIfSuitable(ContextMenu menu, WifiEntry wifiEntry) {
         if (mIsAdmin && wifiEntry.isSaved()
-                && wifiEntry.getConnectedState() != WifiEntry.CONNECTED_STATE_CONNECTED) {
+                && wifiEntry.getConnectedState() != CONNECTED_STATE_CONNECTED) {
             menu.add(Menu.NONE, MENU_ID_MODIFY, 0 /* order */, R.string.wifi_modify);
         }
     }
@@ -764,7 +767,7 @@
 
     private void showDialog(WifiEntry wifiEntry, int dialogMode) {
         if (WifiUtils.isNetworkLockedDown(getActivity(), wifiEntry.getWifiConfiguration())
-                && wifiEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTED) {
+                && wifiEntry.getConnectedState() == CONNECTED_STATE_CONNECTED) {
             RestrictedLockUtils.sendShowAdminSupportDetailsIntent(getActivity(),
                     RestrictedLockUtilsInternal.getDeviceOwner(getActivity()));
             return;
@@ -1067,6 +1070,10 @@
     @VisibleForTesting
     void launchNetworkDetailsFragment(LongPressWifiEntryPreference pref) {
         final WifiEntry wifiEntry = pref.getWifiEntry();
+        if (!wifiEntry.isSaved() && wifiEntry.getConnectedState() != CONNECTED_STATE_CONNECTED) {
+            Log.w(TAG, "Don't launch Wi-Fi details because WifiEntry is not saved or connected!");
+            return;
+        }
         final Context context = requireContext();
 
         final Bundle bundle = new Bundle();
diff --git a/src/com/android/settings/network/NetworkProviderSimListController.java b/src/com/android/settings/network/NetworkProviderSimListController.java
index 46a66a6..51059a7 100644
--- a/src/com/android/settings/network/NetworkProviderSimListController.java
+++ b/src/com/android/settings/network/NetworkProviderSimListController.java
@@ -113,7 +113,7 @@
                     if (!info.isEmbedded && !isActiveSubscriptionId
                             && !SubscriptionUtil.showToggleForPhysicalSim(mSubscriptionManager)) {
                         SubscriptionUtil.startToggleSubscriptionDialogActivity(mContext, subId,
-                                true);
+                                true, false);
                     } else {
                         MobileNetworkUtils.launchMobileNetworkSettings(mContext, info);
                     }
diff --git a/src/com/android/settings/network/ProviderModelSliceHelper.java b/src/com/android/settings/network/ProviderModelSliceHelper.java
index 686990b..c60594d 100644
--- a/src/com/android/settings/network/ProviderModelSliceHelper.java
+++ b/src/com/android/settings/network/ProviderModelSliceHelper.java
@@ -264,7 +264,8 @@
         }
         String summary = networkTypeDescription;
         if (isDataSimActive()) {
-            summary = mContext.getString(R.string.preference_summary_default_combination,
+            summary = mContext.getString(
+                    com.android.settingslib.R.string.preference_summary_default_combination,
                     mContext.getString(R.string.mobile_data_connection_active),
                     networkTypeDescription);
         }
diff --git a/src/com/android/settings/network/ResetNetworkOperationBuilder.java b/src/com/android/settings/network/ResetNetworkOperationBuilder.java
index 47c06d4..dfcca52 100644
--- a/src/com/android/settings/network/ResetNetworkOperationBuilder.java
+++ b/src/com/android/settings/network/ResetNetworkOperationBuilder.java
@@ -65,6 +65,8 @@
 
     private Context mContext;
     private List<Runnable> mResetSequence = new ArrayList<Runnable>();
+    @Nullable
+    private Consumer<Boolean> mResetEsimResultCallback = null;
 
     /**
      * Constructor of builder.
@@ -129,31 +131,32 @@
     }
 
     /**
-     * Append a step of resetting E-SIM.
-     * @param callerPackage package name of caller
+     * Append a result callback of resetting E-SIM.
+     * @param resultCallback a callback dealing with result of resetting eSIM
      * @return this
      */
-    public ResetNetworkOperationBuilder resetEsim(String callerPackage) {
-        resetEsim(callerPackage, null);
+    public ResetNetworkOperationBuilder resetEsimResultCallback(Consumer<Boolean> resultCallback) {
+        mResetEsimResultCallback = resultCallback;
         return this;
     }
 
     /**
      * Append a step of resetting E-SIM.
      * @param callerPackage package name of caller
-     * @param resultCallback a Consumer<Boolean> dealing with result of resetting eSIM
      * @return this
      */
-    public ResetNetworkOperationBuilder resetEsim(String callerPackage,
-            Consumer<Boolean> resultCallback) {
+    public ResetNetworkOperationBuilder resetEsim(String callerPackage) {
         Runnable runnable = () -> {
             long startTime = SystemClock.elapsedRealtime();
 
-            if (!DRY_RUN) {
-                Boolean wipped = RecoverySystem.wipeEuiccData(mContext, callerPackage);
-                if (resultCallback != null) {
-                    resultCallback.accept(wipped);
-                }
+            boolean wipped;
+            if (DRY_RUN) {
+                wipped = true;
+            } else {
+                wipped = RecoverySystem.wipeEuiccData(mContext, callerPackage);
+            }
+            if (mResetEsimResultCallback != null) {
+                mResetEsimResultCallback.accept(wipped);
             }
 
             long endTime = SystemClock.elapsedRealtime();
diff --git a/src/com/android/settings/network/SatelliteRepository.kt b/src/com/android/settings/network/SatelliteRepository.kt
index 565fbf3..b7c25f4 100644
--- a/src/com/android/settings/network/SatelliteRepository.kt
+++ b/src/com/android/settings/network/SatelliteRepository.kt
@@ -25,6 +25,7 @@
 import androidx.concurrent.futures.CallbackToFutureAdapter
 import com.google.common.util.concurrent.Futures.immediateFuture
 import com.google.common.util.concurrent.ListenableFuture
+import java.util.concurrent.Executor
 import kotlinx.coroutines.CoroutineDispatcher
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.asExecutor
@@ -32,7 +33,6 @@
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.callbackFlow
 import kotlinx.coroutines.flow.flowOf
-import java.util.concurrent.Executor
 import kotlinx.coroutines.flow.flowOn
 
 /**
@@ -58,20 +58,26 @@
         }
 
         return CallbackToFutureAdapter.getFuture { completer ->
-            satelliteManager.requestIsEnabled(executor,
-                object : OutcomeReceiver<Boolean, SatelliteManager.SatelliteException> {
-                    override fun onResult(result: Boolean) {
-                        Log.i(TAG, "Satellite modem enabled status: $result")
-                        completer.set(result)
-                    }
+            try {
+                satelliteManager.requestIsEnabled(executor,
+                    object : OutcomeReceiver<Boolean, SatelliteManager.SatelliteException> {
+                        override fun onResult(result: Boolean) {
+                            Log.i(TAG, "Satellite modem enabled status: $result")
+                            completer.set(result)
+                        }
 
-                    override fun onError(error: SatelliteManager.SatelliteException) {
-                        super.onError(error)
-                        Log.w(TAG, "Can't get satellite modem enabled status", error)
-                        completer.set(false)
-                    }
-                })
-            "requestIsEnabled"
+                        override fun onError(error: SatelliteManager.SatelliteException) {
+                            super.onError(error)
+                            Log.w(TAG, "Can't get satellite modem enabled status", error)
+                            completer.set(false)
+                        }
+                    })
+                "requestIsEnabled"
+            } catch (e: IllegalStateException) {
+                Log.w(TAG, "IllegalStateException $e")
+                completer.set(false)
+            }
+
         }
     }
 
@@ -96,14 +102,21 @@
             val callback = object : SatelliteModemStateCallback {
                 override fun onSatelliteModemStateChanged(state: Int) {
                     val isSessionStarted = isSatelliteSessionStarted(state)
-                    Log.i(TAG, "Satellite modem state changed: state=$state"
-                            + ", isSessionStarted=$isSessionStarted")
+                    Log.i(
+                        TAG, "Satellite modem state changed: state=$state"
+                            + ", isSessionStarted=$isSessionStarted"
+                    )
                     completer.set(isSessionStarted)
                     satelliteManager.unregisterForModemStateChanged(this)
                 }
             }
 
-            val registerResult = satelliteManager.registerForModemStateChanged(executor, callback)
+            var registerResult = SatelliteManager.SATELLITE_MODEM_STATE_UNKNOWN
+            try {
+                registerResult = satelliteManager.registerForModemStateChanged(executor, callback)
+            } catch (e: IllegalStateException) {
+                Log.w(TAG, "IllegalStateException $e")
+            }
             if (registerResult != SatelliteManager.SATELLITE_RESULT_SUCCESS) {
                 Log.w(TAG, "Failed to register for satellite modem state change: $registerResult")
                 completer.set(false)
@@ -132,15 +145,21 @@
         return callbackFlow {
             val callback = SatelliteModemStateCallback { state ->
                 val isSessionStarted = isSatelliteSessionStarted(state)
-                Log.i(TAG, "Satellite modem state changed: state=$state"
-                    + ", isSessionStarted=$isSessionStarted")
+                Log.i(
+                    TAG, "Satellite modem state changed: state=$state"
+                        + ", isSessionStarted=$isSessionStarted"
+                )
                 trySend(isSessionStarted)
             }
-
-            val registerResult = satelliteManager.registerForModemStateChanged(
-                defaultDispatcher.asExecutor(),
-                callback
-            )
+            var registerResult: Int = SatelliteManager.SATELLITE_RESULT_ERROR
+            try {
+                registerResult = satelliteManager.registerForModemStateChanged(
+                    defaultDispatcher.asExecutor(),
+                    callback
+                )
+            } catch (e: IllegalStateException) {
+                Log.w(TAG, "IllegalStateException $e")
+            }
 
             if (registerResult != SatelliteManager.SATELLITE_RESULT_SUCCESS) {
                 // If the registration failed (e.g., device doesn't support satellite),
@@ -150,7 +169,13 @@
                 trySend(false)
             }
 
-            awaitClose { satelliteManager.unregisterForModemStateChanged(callback) }
+            awaitClose {
+                try {
+                    satelliteManager.unregisterForModemStateChanged(callback)
+                } catch (e: IllegalStateException) {
+                    Log.w(TAG, "IllegalStateException $e")
+                }
+            }
         }.flowOn(Dispatchers.Default)
     }
 
diff --git a/src/com/android/settings/network/SimOnboardingActivity.kt b/src/com/android/settings/network/SimOnboardingActivity.kt
index bef10cd..25afb66 100644
--- a/src/com/android/settings/network/SimOnboardingActivity.kt
+++ b/src/com/android/settings/network/SimOnboardingActivity.kt
@@ -221,6 +221,7 @@
                         "showRestartDialog:${showRestartDialog.value}")
                 showStartingDialog.value = false
             } else if (onboardingService.activeSubInfoList.isNotEmpty()) {
+                Log.d(TAG, "status: showStartingDialog.value:${showStartingDialog.value}")
                 showStartingDialog.value = true
             }
         }
@@ -328,20 +329,7 @@
     @Composable
     fun ErrorDialogImpl(){
         // EuiccSlotSidecar showErrorDialog
-        val errorDialogPresenterForEuiccSlotSidecar = rememberAlertDialogPresenter(
-                confirmButton = AlertDialogButton(
-                        stringResource(android.R.string.ok)
-                ) {
-                    finish()
-                },
-                title = stringResource(R.string.privileged_action_disable_fail_title),
-                text = {
-                    Text(stringResource(R.string.privileged_action_disable_fail_text))
-                },
-        )
-
-        // RemovableSlotSidecar showErrorDialog
-        val errorDialogPresenterForRemovableSlotSidecar = rememberAlertDialogPresenter(
+        val errorDialogPresenterForSimSwitching = rememberAlertDialogPresenter(
                 confirmButton = AlertDialogButton(
                         stringResource(android.R.string.ok)
                 ) {
@@ -368,8 +356,7 @@
 
         // show error
         when (showError.value) {
-            ErrorType.ERROR_EUICC_SLOT -> errorDialogPresenterForEuiccSlotSidecar.open()
-            ErrorType.ERROR_REMOVABLE_SLOT -> errorDialogPresenterForRemovableSlotSidecar.open()
+            ErrorType.ERROR_SIM_SWITCHING -> errorDialogPresenterForSimSwitching.open()
             ErrorType.ERROR_ENABLE_DSDS -> errorDialogPresenterForMultiSimSidecar.open()
             else -> {}
         }
@@ -455,7 +442,7 @@
             SidecarFragment.State.ERROR -> {
                 Log.i(TAG, "Failed to enable the eSIM profile.")
                 switchToEuiccSubscriptionSidecar!!.reset()
-                showError.value = ErrorType.ERROR_EUICC_SLOT
+                showError.value = ErrorType.ERROR_SIM_SWITCHING
                 callbackListener(CallbackType.CALLBACK_ERROR)
             }
         }
@@ -475,18 +462,18 @@
             SidecarFragment.State.ERROR -> {
                 Log.e(TAG, "Failed switching to removable slot.")
                 switchToRemovableSlotSidecar!!.reset()
-                showError.value = ErrorType.ERROR_REMOVABLE_SLOT
+                showError.value = ErrorType.ERROR_SIM_SWITCHING
                 callbackListener(CallbackType.CALLBACK_ERROR)
             }
         }
     }
 
     fun handleEnableMultiSimSidecarStateChange() {
-        showDsdsProgressDialog.value = false
         when (enableMultiSimSidecar!!.state) {
             SidecarFragment.State.SUCCESS -> {
                 enableMultiSimSidecar!!.reset()
                 Log.i(TAG, "Successfully switched to DSDS without reboot.")
+                showDsdsProgressDialog.value = false
                 // refresh data
                 initServiceData(this, onboardingService.targetSubId, callbackListener)
                 startSimOnboardingProvider()
@@ -494,6 +481,7 @@
 
             SidecarFragment.State.ERROR -> {
                 enableMultiSimSidecar!!.reset()
+                showDsdsProgressDialog.value = false
                 Log.i(TAG, "Failed to switch to DSDS without rebooting.")
                 showError.value = ErrorType.ERROR_ENABLE_DSDS
                 callbackListener(CallbackType.CALLBACK_ERROR)
@@ -588,11 +576,14 @@
         fun startSimOnboardingActivity(
             context: Context,
             subId: Int,
+            isNewTask: Boolean = false,
         ) {
             val intent = Intent(context, SimOnboardingActivity::class.java).apply {
                 putExtra(SUB_ID, subId)
+                if(isNewTask) {
+                    setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
+                }
             }
-            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
             context.startActivity(intent)
         }
 
@@ -602,9 +593,8 @@
 
         enum class ErrorType(val value:Int){
             ERROR_NONE(-1),
-            ERROR_EUICC_SLOT(1),
-            ERROR_REMOVABLE_SLOT(2),
-            ERROR_ENABLE_DSDS(3)
+            ERROR_SIM_SWITCHING(1),
+            ERROR_ENABLE_DSDS(2)
         }
 
         enum class CallbackType(val value:Int){
diff --git a/src/com/android/settings/network/SimOnboardingService.kt b/src/com/android/settings/network/SimOnboardingService.kt
index f6c6065..e4f17e2 100644
--- a/src/com/android/settings/network/SimOnboardingService.kt
+++ b/src/com/android/settings/network/SimOnboardingService.kt
@@ -24,12 +24,11 @@
 import android.telephony.SubscriptionManager
 import android.telephony.TelephonyManager
 import android.telephony.UiccCardInfo
-import android.telephony.UiccSlotInfo
 import android.util.Log
 import com.android.settings.network.SimOnboardingActivity.Companion.CallbackType
-import com.android.settings.network.telephony.TelephonyRepository
+import com.android.settings.network.telephony.MobileDataRepository
+import com.android.settings.network.telephony.UiccSlotRepository
 import com.android.settings.sim.SimActivationNotifier
-import com.android.settings.spa.network.setAutomaticData
 import com.android.settings.spa.network.setDefaultData
 import com.android.settings.spa.network.setDefaultSms
 import com.android.settings.spa.network.setDefaultVoice
@@ -47,7 +46,6 @@
     var targetSubInfo: SubscriptionInfo? = null
     var availableSubInfoList: List<SubscriptionInfo> = listOf()
     var activeSubInfoList: List<SubscriptionInfo> = listOf()
-    var slotInfoList: List<UiccSlotInfo> = listOf()
     var uiccCardInfoList: List<UiccCardInfo> = listOf()
     var targetPrimarySimCalls: Int = INVALID_SUBSCRIPTION_ID
     var targetPrimarySimTexts: Int = INVALID_SUBSCRIPTION_ID
@@ -74,14 +72,6 @@
             }
             return  uiccCardInfoList.any { it.isMultipleEnabledProfilesSupported }
         }
-    var isRemovablePsimProfileEnabled: Boolean = false
-        get() {
-            if(slotInfoList.isEmpty()) {
-                Log.w(TAG, "UICC Slot info list is empty.")
-                return false
-            }
-            return UiccSlotUtil.isRemovableSimEnabled(slotInfoList)
-        }
     var isEsimProfileEnabled: Boolean = false
         get() {
             activeSubInfoList.stream().anyMatch { it.isEmbedded }
@@ -138,19 +128,11 @@
             return telephonyManager?.doesSwitchMultiSimConfigTriggerReboot() ?: false
         }
 
-    fun isValid(): Boolean {
-        return targetSubId != INVALID_SUBSCRIPTION_ID
-            && targetSubInfo != null
-            && activeSubInfoList.isNotEmpty()
-            && slotInfoList.isNotEmpty()
-    }
-
     fun clear() {
         targetSubId = -1
         targetSubInfo = null
         availableSubInfoList = listOf()
         activeSubInfoList = listOf()
-        slotInfoList = listOf()
         uiccCardInfoList = listOf()
         targetPrimarySimCalls = -1
         targetPrimarySimTexts = -1
@@ -182,8 +164,6 @@
                 availableSubInfoList.find { subInfo -> subInfo.subscriptionId == targetSubId }
             targetSubInfo?.let { userSelectedSubInfoList.add(it) }
             Log.d(TAG, "targetSubId: $targetSubId , targetSubInfo: $targetSubInfo")
-            slotInfoList = telephonyManager?.uiccSlotsInfo?.toList() ?: listOf()
-            Log.d(TAG, "slotInfoList: $slotInfoList.")
             uiccCardInfoList = telephonyManager?.uiccCardsInfo!!
             Log.d(TAG, "uiccCardInfoList: $uiccCardInfoList")
 
@@ -193,7 +173,6 @@
 
             Log.d(
                 TAG,"doesTargetSimHaveEsimOperation: $doesTargetSimHaveEsimOperation" +
-                    ", isRemovableSimEnabled: $isRemovablePsimProfileEnabled" +
                     ", isMultipleEnabledProfilesSupported: $isMultipleEnabledProfilesSupported" +
                     ", targetPrimarySimCalls: $targetPrimarySimCalls" +
                     ", targetPrimarySimTexts: $targetPrimarySimTexts" +
@@ -238,6 +217,7 @@
 
     fun addItemForRenaming(subInfo: SubscriptionInfo, newName: String) {
         if (subInfo.displayName == newName) {
+            renameMutableMap.remove(subInfo.subscriptionId)
             return
         }
         renameMutableMap[subInfo.subscriptionId] = newName
@@ -317,14 +297,15 @@
             return true
         }
 
-        if (doesTargetSimHaveEsimOperation && isRemovablePsimProfileEnabled) {
-            Log.d(TAG,
-                "eSIM operation and removable PSIM is enabled. DSDS condition satisfied."
-            )
-            return true
-        }
-
-        if (!doesTargetSimHaveEsimOperation && isEsimProfileEnabled) {
+        if (doesTargetSimHaveEsimOperation) {
+            if (UiccSlotRepository(telephonyManager).anyRemovablePhysicalSimEnabled()) {
+                Log.d(
+                    TAG,
+                    "eSIM operation and removable PSIM is enabled. DSDS condition satisfied."
+                )
+                return true
+            }
+        } else if (isEsimProfileEnabled) {
             Log.d(TAG,
                 "Removable SIM operation and eSIM profile is enabled. DSDS condition"
                         + " satisfied."
@@ -366,7 +347,7 @@
                     wifiPickerTrackerHelper,
                     targetPrimarySimMobileData
                 )
-                TelephonyRepository(context).setAutomaticData(
+                MobileDataRepository(context).setAutoDataSwitch(
                     targetNonDds,
                     targetPrimarySimAutoDataSwitch.value
                 )
diff --git a/src/com/android/settings/network/SubscriptionUtil.java b/src/com/android/settings/network/SubscriptionUtil.java
index 74a10e9..fcf1599 100644
--- a/src/com/android/settings/network/SubscriptionUtil.java
+++ b/src/com/android/settings/network/SubscriptionUtil.java
@@ -24,6 +24,7 @@
 import static com.android.internal.util.CollectionUtils.emptyIfNull;
 
 import android.content.Context;
+import android.content.Intent;
 import android.content.SharedPreferences;
 import android.net.ConnectivityManager;
 import android.net.NetworkCapabilities;
@@ -515,18 +516,23 @@
      * @param context {@code Context}
      * @param subId The id of subscription need to be enabled or disabled.
      * @param enable Whether the subscription with {@code subId} should be enabled or disabled.
+     * @param isNewTask Whether the start activity add the new task or not
      */
     public static void startToggleSubscriptionDialogActivity(
-            Context context, int subId, boolean enable) {
+            Context context, int subId, boolean enable, boolean isNewTask) {
         if (!SubscriptionManager.isUsableSubscriptionId(subId)) {
             Log.i(TAG, "Unable to toggle subscription due to invalid subscription ID.");
             return;
         }
         if (enable && Flags.isDualSimOnboardingEnabled()) {
-            SimOnboardingActivity.startSimOnboardingActivity(context, subId);
+            SimOnboardingActivity.startSimOnboardingActivity(context, subId, isNewTask);
             return;
         }
-        context.startActivity(ToggleSubscriptionDialogActivity.getIntent(context, subId, enable));
+        Intent intent = ToggleSubscriptionDialogActivity.getIntent(context, subId, enable);
+        if (isNewTask) {
+            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        }
+        context.startActivity(intent);
     }
 
     /**
diff --git a/src/com/android/settings/network/SubscriptionsPreferenceController.java b/src/com/android/settings/network/SubscriptionsPreferenceController.java
index d9a6464..cdbf456 100644
--- a/src/com/android/settings/network/SubscriptionsPreferenceController.java
+++ b/src/com/android/settings/network/SubscriptionsPreferenceController.java
@@ -241,6 +241,8 @@
         if (mSubsGearPref == null) {
             mPreferenceGroup.removeAll();
             mSubsGearPref = new MutableGearPreference(mContext, null);
+            mSubsGearPref
+                    .checkRestrictionAndSetDisabled(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS);
             mSubsGearPref.setOnPreferenceClickListener(preference -> {
                 connectCarrierNetwork();
                 return true;
@@ -301,7 +303,8 @@
                 return connectionState;
             } else {
                 result = mContext.getString(
-                        R.string.preference_summary_default_combination, connectionState, result);
+                        com.android.settingslib.R.string.preference_summary_default_combination,
+                        connectionState, result);
             }
         } else if (!isDataInService) {
             return mContext.getString(R.string.mobile_data_no_connection);
diff --git a/src/com/android/settings/network/SwitchToEuiccSubscriptionSidecar.java b/src/com/android/settings/network/SwitchToEuiccSubscriptionSidecar.java
index a26aa8a..8f6c32a 100644
--- a/src/com/android/settings/network/SwitchToEuiccSubscriptionSidecar.java
+++ b/src/com/android/settings/network/SwitchToEuiccSubscriptionSidecar.java
@@ -30,8 +30,6 @@
 import com.android.settings.SidecarFragment;
 import com.android.settings.network.telephony.EuiccOperationSidecar;
 
-import com.google.common.collect.ImmutableList;
-
 import java.util.Collection;
 import java.util.Comparator;
 import java.util.List;
@@ -205,10 +203,10 @@
     }
 
     private int getLogicalSlotIndex(int physicalSlotIndex, int portIndex) {
-        ImmutableList<UiccSlotInfo> slotInfos = UiccSlotUtil.getSlotInfos(mTelephonyManager);
-        if (slotInfos != null && physicalSlotIndex >= 0 && physicalSlotIndex < slotInfos.size()
-                && slotInfos.get(physicalSlotIndex) != null) {
-            for (UiccPortInfo portInfo : slotInfos.get(physicalSlotIndex).getPorts()) {
+        UiccSlotInfo[] slotInfos = mTelephonyManager.getUiccSlotsInfo();
+        if (slotInfos != null && physicalSlotIndex >= 0 && physicalSlotIndex < slotInfos.length
+                && slotInfos[physicalSlotIndex] != null) {
+            for (UiccPortInfo portInfo : slotInfos[physicalSlotIndex].getPorts()) {
                 if (portInfo.getPortIndex() == portIndex) {
                     return portInfo.getLogicalSlotIndex();
                 }
diff --git a/src/com/android/settings/network/UiccSlotUtil.java b/src/com/android/settings/network/UiccSlotUtil.java
index 5ae0a36..8a5a22c 100644
--- a/src/com/android/settings/network/UiccSlotUtil.java
+++ b/src/com/android/settings/network/UiccSlotUtil.java
@@ -33,8 +33,6 @@
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.settingslib.utils.ThreadUtils;
 
-import com.google.common.collect.ImmutableList;
-
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.util.ArrayList;
@@ -106,18 +104,6 @@
     }
 
     /**
-     * Returns an immutable list of all UICC slots. If TelephonyManager#getUiccSlotsInfo returns, it
-     * returns an empty list instead.
-     */
-    public static ImmutableList<UiccSlotInfo> getSlotInfos(TelephonyManager telMgr) {
-        UiccSlotInfo[] slotInfos = telMgr.getUiccSlotsInfo();
-        if (slotInfos == null) {
-            return ImmutableList.of();
-        }
-        return ImmutableList.copyOf(slotInfos);
-    }
-
-    /**
      * Switches to the removable slot. It waits for SIM_STATE_LOADED after switch. If slotId is
      * INVALID_PHYSICAL_SLOT_ID, the method will use the first detected inactive removable slot.
      *
@@ -219,14 +205,13 @@
      */
     public static int getEsimSlotId(Context context, int subId) {
         TelephonyManager telMgr = context.getSystemService(TelephonyManager.class);
-        List<UiccCardInfo> uiccCardInfos = telMgr.getUiccCardsInfo();
-        ImmutableList<UiccSlotInfo> slotInfos = UiccSlotUtil.getSlotInfos(telMgr);
         SubscriptionManager subscriptionManager = context.getSystemService(
                 SubscriptionManager.class).createForAllUserProfiles();
         SubscriptionInfo subInfo = SubscriptionUtil.getSubById(subscriptionManager, subId);
 
         // checking whether this is the removable esim. If it is, then return the removable slot id.
         if (subInfo != null && subInfo.isEmbedded()) {
+            List<UiccCardInfo> uiccCardInfos = telMgr.getUiccCardsInfo();
             for (UiccCardInfo uiccCardInfo : uiccCardInfos) {
                 if (uiccCardInfo.getCardId() == subInfo.getCardId()
                         && uiccCardInfo.getCardId() > TelephonyManager.UNSUPPORTED_CARD_ID
@@ -238,10 +223,12 @@
             }
         }
 
-        int firstEsimSlot = IntStream.range(0, slotInfos.size())
+        UiccSlotInfo[] slotInfos = telMgr.getUiccSlotsInfo();
+        if (slotInfos == null) return -1;
+        int firstEsimSlot = IntStream.range(0, slotInfos.length)
                 .filter(
                         index -> {
-                            UiccSlotInfo slotInfo = slotInfos.get(index);
+                            UiccSlotInfo slotInfo = slotInfos[index];
                             if (slotInfo == null) {
                                 return false;
                             }
@@ -421,41 +408,6 @@
                 .orElse(INVALID_LOGICAL_SLOT_ID);
     }
 
-    /**
-     * Return whether the removable psim is enabled.
-     *
-     * @param telMgr is a TelephonyManager.
-     * @return whether the removable psim is enabled.
-     */
-    public static boolean isRemovableSimEnabled(TelephonyManager telMgr) {
-        if (telMgr == null) {
-            return false;
-        }
-        List<UiccSlotInfo> slotInfos = UiccSlotUtil.getSlotInfos(telMgr);
-        return isRemovableSimEnabled(slotInfos);
-    }
-
-    /**
-     * Return whether the removable psim is enabled.
-     *
-     * @param slotInfos is a List of UiccSlotInfo.
-     * @return whether the removable psim is enabled.
-     */
-    public static boolean isRemovableSimEnabled(List<UiccSlotInfo> slotInfos) {
-        boolean isRemovableSimEnabled =
-                slotInfos.stream()
-                        .anyMatch(
-                                slot -> slot != null
-                                        && slot.isRemovable()
-                                        && !slot.getIsEuicc()
-                                        && slot.getPorts().stream()
-                                                .anyMatch(port -> port.isActive())
-                                        && slot.getCardStateInfo()
-                                        == UiccSlotInfo.CARD_STATE_INFO_PRESENT);
-        Log.i(TAG, "isRemovableSimEnabled: " + isRemovableSimEnabled);
-        return isRemovableSimEnabled;
-    }
-
     private static boolean isMultipleEnabledProfilesSupported(TelephonyManager telMgr) {
         List<UiccCardInfo> cardInfos = telMgr.getUiccCardsInfo();
         if (cardInfos == null) {
diff --git a/src/com/android/settings/network/apn/ApnEditCarrierEnabled.kt b/src/com/android/settings/network/apn/ApnEditCarrierEnabled.kt
new file mode 100644
index 0000000..bd58da8
--- /dev/null
+++ b/src/com/android/settings/network/apn/ApnEditCarrierEnabled.kt
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.apn
+
+import android.provider.Telephony
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.res.booleanResource
+import androidx.compose.ui.res.stringResource
+import com.android.settings.R
+import com.android.settingslib.spa.widget.preference.SwitchPreference
+import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
+
+@Composable
+fun ApnEditCarrierEnabled(apnData: ApnData, onCarrierEnabledChanged: (Boolean) -> Unit) {
+    SwitchPreference(
+        object : SwitchPreferenceModel {
+            override val title = stringResource(R.string.carrier_enabled)
+            val allowEdit = booleanResource(R.bool.config_allow_edit_carrier_enabled)
+            override val changeable = {
+                allowEdit && apnData.isFieldEnabled(Telephony.Carriers.CARRIER_ENABLED)
+            }
+            override val checked = { apnData.carrierEnabled }
+            override val onCheckedChange = onCarrierEnabledChanged
+        }
+    )
+}
diff --git a/src/com/android/settings/network/apn/ApnEditPageProvider.kt b/src/com/android/settings/network/apn/ApnEditPageProvider.kt
index 099e2fa..5442082 100644
--- a/src/com/android/settings/network/apn/ApnEditPageProvider.kt
+++ b/src/com/android/settings/network/apn/ApnEditPageProvider.kt
@@ -235,19 +235,7 @@
                 enabled = apnData.isFieldEnabled(Telephony.Carriers.ROAMING_PROTOCOL),
             ) { apnData = apnData.copy(apnRoaming = it) }
             ApnNetworkTypeCheckBox(apnData) { apnData = apnData.copy(networkType = it) }
-            SwitchPreference(
-                object : SwitchPreferenceModel {
-                    override val title = stringResource(R.string.carrier_enabled)
-                    override val changeable = {
-                        apnData.apnEnableEnabled &&
-                            apnData.isFieldEnabled(Telephony.Carriers.CARRIER_ENABLED)
-                    }
-                    override val checked = { apnData.apnEnable }
-                    override val onCheckedChange = { newChecked: Boolean ->
-                        apnData = apnData.copy(apnEnable = newChecked)
-                    }
-                }
-            )
+            ApnEditCarrierEnabled(apnData) { apnData = apnData.copy(carrierEnabled = it) }
         }
     }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/network/apn/ApnPreference.java b/src/com/android/settings/network/apn/ApnPreference.java
index 879fcb6..55258c1 100644
--- a/src/com/android/settings/network/apn/ApnPreference.java
+++ b/src/com/android/settings/network/apn/ApnPreference.java
@@ -85,10 +85,11 @@
         final RelativeLayout textArea = (RelativeLayout) view.findViewById(R.id.text_layout);
         textArea.setOnClickListener(this);
 
+        final View radioButtonFrame = view.itemView.requireViewById(R.id.apn_radio_button_frame);
         final RadioButton rb = view.itemView.requireViewById(R.id.apn_radiobutton);
         mRadioButton = rb;
         if (mDefaultSelectable) {
-            view.itemView.requireViewById(R.id.apn_radio_button_frame).setOnClickListener((v) -> {
+            radioButtonFrame.setOnClickListener((v) -> {
                 rb.performClick();
             });
             rb.setOnCheckedChangeListener(this);
@@ -96,9 +97,9 @@
             mProtectFromCheckedChange = true;
             rb.setChecked(mIsChecked);
             mProtectFromCheckedChange = false;
-            rb.setVisibility(View.VISIBLE);
+            radioButtonFrame.setVisibility(View.VISIBLE);
         } else {
-            rb.setVisibility(View.GONE);
+            radioButtonFrame.setVisibility(View.GONE);
         }
     }
 
diff --git a/src/com/android/settings/network/apn/ApnRepository.kt b/src/com/android/settings/network/apn/ApnRepository.kt
index 2d41976..7ed0c86 100644
--- a/src/com/android/settings/network/apn/ApnRepository.kt
+++ b/src/com/android/settings/network/apn/ApnRepository.kt
@@ -21,10 +21,10 @@
 import android.database.Cursor
 import android.net.Uri
 import android.provider.Telephony
-import android.telephony.SubscriptionManager
 import android.telephony.TelephonyManager
 import android.util.Log
 import com.android.settings.R
+import com.android.settings.network.telephony.telephonyManager
 import com.android.settingslib.utils.ThreadUtils
 import java.util.Locale
 
@@ -90,7 +90,7 @@
                 apnRoaming = context.convertProtocol2Options(
                     cursor.getString(Telephony.Carriers.ROAMING_PROTOCOL)
                 ),
-                apnEnable = cursor.getInt(Telephony.Carriers.CARRIER_ENABLED) == 1,
+                carrierEnabled = cursor.getInt(Telephony.Carriers.CARRIER_ENABLED) == 1,
                 networkType = cursor.getLong(Telephony.Carriers.NETWORK_TYPE_BITMASK),
                 edited = cursor.getInt(Telephony.Carriers.EDITED_STATUS),
                 userEditable = cursor.getInt(Telephony.Carriers.USER_EDITABLE),
@@ -178,12 +178,11 @@
 }
 
 fun Context.getApnIdMap(subId: Int): Map<String, Any> {
-    val subInfo = getSystemService(SubscriptionManager::class.java)!!
-        .getActiveSubscriptionInfo(subId)
-    val carrierId = subInfo.carrierId
+    val telephonyManager = telephonyManager(subId)
+    val carrierId = telephonyManager.simSpecificCarrierId
     return if (carrierId != TelephonyManager.UNKNOWN_CARRIER_ID) {
         mapOf(Telephony.Carriers.CARRIER_ID to carrierId)
     } else {
-        mapOf(Telephony.Carriers.NUMERIC to subInfo.mccString + subInfo.mncString)
+        mapOf(Telephony.Carriers.NUMERIC to telephonyManager.simOperator)
     }.also { Log.d(TAG, "[$subId] New APN item with id: $it") }
 }
diff --git a/src/com/android/settings/network/apn/ApnStatus.kt b/src/com/android/settings/network/apn/ApnStatus.kt
index dc50452..6492d39 100644
--- a/src/com/android/settings/network/apn/ApnStatus.kt
+++ b/src/com/android/settings/network/apn/ApnStatus.kt
@@ -44,11 +44,10 @@
     val apnType: String = "",
     val apnProtocol: Int = -1,
     val apnRoaming: Int = -1,
-    val apnEnable: Boolean = true,
+    val carrierEnabled: Boolean = true,
     val networkType: Long = 0,
     val edited: Int = Telephony.Carriers.USER_EDITED,
     val userEditable: Int = 1,
-    val apnEnableEnabled: Boolean = true,
     val newApn: Boolean = false,
     val subId: Int = -1,
     val validEnabled: Boolean = false,
@@ -72,7 +71,7 @@
         Telephony.Carriers.NETWORK_TYPE_BITMASK to networkType,
         // Copy network type into lingering network type.
         Telephony.Carriers.LINGERING_NETWORK_TYPE_BITMASK to networkType,
-        Telephony.Carriers.CARRIER_ENABLED to apnEnable,
+        Telephony.Carriers.CARRIER_ENABLED to carrierEnabled,
         Telephony.Carriers.EDITED_STATUS to Telephony.Carriers.USER_EDITED,
     )
 
@@ -134,10 +133,6 @@
         )
     }
 
-    apnDataInit = apnDataInit.copy(
-        apnEnableEnabled =
-        context.resources.getBoolean(R.bool.config_allow_edit_carrier_enabled)
-    )
     // TODO: mIsCarrierIdApn
     return disableInit(apnDataInit)
 }
diff --git a/src/com/android/settings/network/ims/VtQueryImsState.java b/src/com/android/settings/network/ims/VtQueryImsState.java
index 5c48ff0..7351b83 100644
--- a/src/com/android/settings/network/ims/VtQueryImsState.java
+++ b/src/com/android/settings/network/ims/VtQueryImsState.java
@@ -18,24 +18,17 @@
 
 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;
 
 /**
  * Controller class for querying VT status
  */
-public class VtQueryImsState extends ImsQueryController {
+public class VtQueryImsState {
 
-    private static final String LOG_TAG = "VtQueryImsState";
-
-    private Context mContext;
-    private int mSubId;
+    private final Context mContext;
+    private final int mSubId;
 
     /**
      * Constructor
@@ -44,9 +37,6 @@
      * @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;
     }
@@ -63,24 +53,6 @@
     }
 
     /**
-     * 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() {
-        if (!isProvisionedOnDevice(mSubId)) {
-            return false;
-        }
-
-        try {
-            return isEnabledByPlatform(mSubId) && isServiceStateReady(mSubId);
-        } catch (InterruptedException | IllegalArgumentException | ImsException exception) {
-            Log.w(LOG_TAG, "fail to get Vt ready. subId=" + mSubId, exception);
-        }
-        return false;
-    }
-
-    /**
      * Get allowance status for user to alter configuration
      *
      * @return true when changing configuration by user is allowed.
@@ -89,8 +61,7 @@
         if (!SubscriptionManager.isValidSubscriptionId(mSubId)) {
             return false;
         }
-        return ((!isTtyEnabled(mContext))
-                || (isTtyOnVolteEnabled(mSubId)));
+        return !isTtyEnabled(mContext) || new ImsQueryTtyOnVolteStat(mSubId).query();
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/network/telephony/AutoDataSwitchPreferenceController.java b/src/com/android/settings/network/telephony/AutoDataSwitchPreferenceController.java
index fcbfdef..6d6e41f 100644
--- a/src/com/android/settings/network/telephony/AutoDataSwitchPreferenceController.java
+++ b/src/com/android/settings/network/telephony/AutoDataSwitchPreferenceController.java
@@ -38,7 +38,6 @@
 import com.android.settings.flags.Flags;
 import com.android.settings.network.MobileDataContentObserver;
 import com.android.settings.network.SubscriptionsChangeListener;
-import com.android.settings.network.telephony.wificalling.CrossSimCallingViewModel;
 
 /**
  * Controls whether switch mobile data to the non-default SIM if the non-default SIM has better
@@ -63,8 +62,6 @@
     @Nullable
     private MobileDataContentObserver mMobileDataContentObserver;
     @Nullable
-    private CrossSimCallingViewModel mCrossSimCallingViewModel;
-    @Nullable
     private PreferenceScreen mScreen;
 
     public AutoDataSwitchPreferenceController(
@@ -72,10 +69,9 @@
         super(context, preferenceKey);
     }
 
-    void init(int subId, @Nullable CrossSimCallingViewModel crossSimCallingViewModel) {
+    void init(int subId) {
         this.mSubId = subId;
         mManager = mContext.getSystemService(TelephonyManager.class).createForSubscriptionId(subId);
-        mCrossSimCallingViewModel = crossSimCallingViewModel;
     }
 
     @OnLifecycleEvent(ON_RESUME)
@@ -122,9 +118,6 @@
                     TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
                     isChecked);
         }
-        if (mCrossSimCallingViewModel != null) {
-            mCrossSimCallingViewModel.updateCrossSimCalling();
-        }
         return true;
     }
 
diff --git a/src/com/android/settings/network/telephony/CallStateRepository.kt b/src/com/android/settings/network/telephony/CallStateRepository.kt
index 4b6cdc8..e5a21bf 100644
--- a/src/com/android/settings/network/telephony/CallStateRepository.kt
+++ b/src/com/android/settings/network/telephony/CallStateRepository.kt
@@ -25,14 +25,17 @@
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.combine
 import kotlinx.coroutines.flow.conflate
+import kotlinx.coroutines.flow.distinctUntilChanged
 import kotlinx.coroutines.flow.flatMapLatest
 import kotlinx.coroutines.flow.flowOf
 import kotlinx.coroutines.flow.flowOn
 import kotlinx.coroutines.flow.onEach
 
 @OptIn(ExperimentalCoroutinesApi::class)
-class CallStateRepository(private val context: Context) {
-    private val subscriptionManager = context.requireSubscriptionManager()
+class CallStateRepository(
+    private val context: Context,
+    private val subscriptionRepository: SubscriptionRepository = SubscriptionRepository(context),
+) {
 
     /** Flow for call state of given [subId]. */
     fun callStateFlow(subId: Int): Flow<Int> = context.telephonyCallbackFlow(subId) {
@@ -48,9 +51,8 @@
      *
      * @return true if any active subscription's call state is not idle.
      */
-    fun isInCallFlow(): Flow<Boolean> = context.subscriptionsChangedFlow()
-        .flatMapLatest {
-            val subIds = subscriptionManager.activeSubscriptionIdList
+    fun isInCallFlow(): Flow<Boolean> = subscriptionRepository.activeSubscriptionIdListFlow()
+        .flatMapLatest { subIds ->
             if (subIds.isEmpty()) {
                 flowOf(false)
             } else {
@@ -59,9 +61,10 @@
                 }
             }
         }
+        .distinctUntilChanged()
         .conflate()
-        .flowOn(Dispatchers.Default)
         .onEach { Log.d(TAG, "isInCallFlow: $it") }
+        .flowOn(Dispatchers.Default)
 
     private companion object {
         private const val TAG = "CallStateRepository"
diff --git a/src/com/android/settings/network/telephony/CarrierConfigManagerExt.kt b/src/com/android/settings/network/telephony/CarrierConfigManagerExt.kt
index 05b4c07..5408ab0 100644
--- a/src/com/android/settings/network/telephony/CarrierConfigManagerExt.kt
+++ b/src/com/android/settings/network/telephony/CarrierConfigManagerExt.kt
@@ -24,6 +24,7 @@
 /**
  * Gets the configuration values of the specified config keys applied.
  */
+@Deprecated("Use CarrierConfigRepository instead")
 fun CarrierConfigManager.safeGetConfig(
     keys: List<String>,
     subId: Int = SubscriptionManager.getDefaultSubscriptionId(),
diff --git a/src/com/android/settings/network/telephony/CarrierConfigRepository.kt b/src/com/android/settings/network/telephony/CarrierConfigRepository.kt
new file mode 100644
index 0000000..99683a8
--- /dev/null
+++ b/src/com/android/settings/network/telephony/CarrierConfigRepository.kt
@@ -0,0 +1,275 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.Build
+import android.os.PersistableBundle
+import android.telephony.CarrierConfigManager
+import android.telephony.SubscriptionManager
+import android.util.Log
+import androidx.annotation.VisibleForTesting
+import java.util.concurrent.ConcurrentHashMap
+import kotlinx.atomicfu.atomic
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.asExecutor
+
+class CarrierConfigRepository(private val context: Context) {
+
+    private val carrierConfigManager: CarrierConfigManager? =
+        context.getSystemService(CarrierConfigManager::class.java)
+
+    private enum class KeyType {
+        BOOLEAN,
+        INT,
+        INT_ARRAY,
+        STRING,
+    }
+
+    interface CarrierConfigAccessor {
+        fun getBoolean(key: String): Boolean
+
+        fun getInt(key: String): Int
+
+        fun getIntArray(key: String): IntArray?
+
+        fun getString(key: String): String?
+    }
+
+    private class Accessor(private val cache: ConfigCache) : CarrierConfigAccessor {
+        private val keysToRetrieve = mutableMapOf<String, KeyType>()
+        private var isKeysToRetrieveFrozen = false
+
+        override fun getBoolean(key: String): Boolean {
+            checkBooleanKey(key)
+            val value = cache[key]
+            return if (value == null) {
+                addKeyToRetrieve(key, KeyType.BOOLEAN)
+                DefaultConfig.getBoolean(key)
+            } else {
+                check(value is BooleanConfigValue) { "Boolean value type wrong" }
+                value.value
+            }
+        }
+
+        override fun getInt(key: String): Int {
+            check(key.endsWith("_int")) { "Int key should ends with _int" }
+            val value = cache[key]
+            return if (value == null) {
+                addKeyToRetrieve(key, KeyType.INT)
+                DefaultConfig.getInt(key)
+            } else {
+                check(value is IntConfigValue) { "Int value type wrong" }
+                value.value
+            }
+        }
+
+        override fun getIntArray(key: String): IntArray? {
+            checkIntArrayKey(key)
+            val value = cache[key]
+            return if (value == null) {
+                addKeyToRetrieve(key, KeyType.INT_ARRAY)
+                DefaultConfig.getIntArray(key)
+            } else {
+                check(value is IntArrayConfigValue) { "Int array value type wrong" }
+                value.value
+            }
+        }
+
+        override fun getString(key: String): String? {
+            check(key.endsWith("_string")) { "String key should ends with _string" }
+            val value = cache[key]
+            return if (value == null) {
+                addKeyToRetrieve(key, KeyType.STRING)
+                DefaultConfig.getString(key)
+            } else {
+                check(value is StringConfigValue) { "String value type wrong" }
+                value.value
+            }
+        }
+
+        private fun addKeyToRetrieve(key: String, type: KeyType) {
+            if (keysToRetrieve.put(key, type) == null && Build.IS_DEBUGGABLE) {
+                check(!isKeysToRetrieveFrozen) { "implement error for key $key" }
+            }
+        }
+
+        /**
+         * Gets the keys to retrieve.
+         *
+         * After this function is called, the keys to retrieve is frozen.
+         */
+        fun getAndFrozeKeysToRetrieve(): Map<String, KeyType> {
+            isKeysToRetrieveFrozen = true
+            return keysToRetrieve
+        }
+    }
+
+    /**
+     * Gets the configuration values for the given [subId].
+     *
+     * Configuration values could be accessed in [block]. Note: [block] could be called multiple
+     * times, so it should be pure function without side effort. Please also make sure every key is
+     * retrieved every time, for example, we need avoid expression shortcut.
+     */
+    fun <T> transformConfig(subId: Int, block: CarrierConfigAccessor.() -> T): T {
+        val perSubCache = getPerSubCache(subId)
+        val accessor = Accessor(perSubCache)
+        val result = accessor.block()
+        val keysToRetrieve = accessor.getAndFrozeKeysToRetrieve()
+        // If all keys found in the first pass, no need to collect again
+        if (keysToRetrieve.isEmpty()) return result
+
+        perSubCache.update(subId, keysToRetrieve)
+
+        return accessor.block()
+    }
+
+    /** Gets the configuration boolean for the given [subId] and [key]. */
+    fun getBoolean(subId: Int, key: String): Boolean = transformConfig(subId) { getBoolean(key) }
+
+    /** Gets the configuration int for the given [subId] and [key]. */
+    fun getInt(subId: Int, key: String): Int = transformConfig(subId) { getInt(key) }
+
+    /** Gets the configuration int array for the given [subId] and [key]. */
+    fun getIntArray(subId: Int, key: String): IntArray? =
+        transformConfig(subId) { getIntArray(key) }
+
+    /** Gets the configuration string for the given [subId] and [key]. */
+    fun getString(subId: Int, key: String): String? = transformConfig(subId) { getString(key) }
+
+    private fun ConfigCache.update(subId: Int, keysToRetrieve: Map<String, KeyType>) {
+        val config = safeGetConfig(subId, keysToRetrieve.keys) ?: return
+        for ((key, type) in keysToRetrieve) {
+            when (type) {
+                KeyType.BOOLEAN -> this[key] = BooleanConfigValue(config.getBoolean(key))
+                KeyType.INT -> this[key] = IntConfigValue(config.getInt(key))
+                KeyType.INT_ARRAY -> this[key] = IntArrayConfigValue(config.getIntArray(key))
+                KeyType.STRING -> this[key] = StringConfigValue(config.getString(key))
+            }
+        }
+    }
+
+    /** Gets the configuration values of the specified config keys applied. */
+    private fun safeGetConfig(subId: Int, keys: Collection<String>): PersistableBundle? {
+        if (carrierConfigManager == null || !SubscriptionManager.isValidSubscriptionId(subId)) {
+            return null
+        }
+        tryRegisterListener(context)
+        return try {
+            carrierConfigManager.getConfigForSubId(subId, *keys.toTypedArray())
+        } catch (e: Exception) {
+            Log.e(TAG, "safeGetConfig: exception", e)
+            // The CarrierConfigLoader (the service implemented the CarrierConfigManager) hasn't
+            // been initialized yet. This may occurs during very early phase of phone booting up
+            // or when Phone process has been restarted.
+            // Settings should not assume Carrier config loader (and any other system services
+            // as well) are always available. If not available, use default value instead.
+            null
+        }
+    }
+
+    companion object {
+        private const val TAG = "CarrierConfigRepository"
+
+        private val DefaultConfig = CarrierConfigManager.getDefaultConfig()
+
+        /** Cache of config values for each subscription. */
+        private val Cache = ConcurrentHashMap<Int, ConfigCache>()
+
+        private fun getPerSubCache(subId: Int) =
+            Cache.computeIfAbsent(subId) { ConcurrentHashMap() }
+
+        /** To make sure the registerCarrierConfigChangeListener is only called once. */
+        private val ListenerRegistered = atomic(false)
+
+        private fun tryRegisterListener(context: Context) {
+            if (ListenerRegistered.compareAndSet(expect = false, update = true)) {
+                val carrierConfigManager =
+                    context.applicationContext.getSystemService(CarrierConfigManager::class.java)
+                if (carrierConfigManager != null) {
+                    carrierConfigManager.registerCarrierConfigChangeListener()
+                } else {
+                    ListenerRegistered.getAndSet(false)
+                }
+            }
+        }
+
+        private fun CarrierConfigManager.registerCarrierConfigChangeListener() {
+            val executor = Dispatchers.Default.asExecutor()
+            registerCarrierConfigChangeListener(executor) { _, subId, _, _ ->
+                Log.d(TAG, "[$subId] onCarrierConfigChanged")
+                Cache.remove(subId)
+            }
+        }
+
+        @VisibleForTesting
+        fun resetForTest() {
+            Cache.clear()
+            ListenerRegistered.getAndSet(false)
+        }
+
+        private val BooleanKeysWhichNotFollowingsNamingConventions =
+            listOf(CarrierConfigManager.KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS)
+
+        private fun checkBooleanKey(key: String) {
+            check(key.endsWith("_bool") || key in BooleanKeysWhichNotFollowingsNamingConventions) {
+                "Boolean key should ends with _bool"
+            }
+        }
+
+        private fun checkIntArrayKey(key: String) {
+            check(key.endsWith("_int_array")) { "Int array key should ends with _int_array" }
+        }
+
+        @VisibleForTesting
+        fun setBooleanForTest(subId: Int, key: String, value: Boolean) {
+            checkBooleanKey(key)
+            getPerSubCache(subId)[key] = BooleanConfigValue(value)
+        }
+
+        @VisibleForTesting
+        fun setIntForTest(subId: Int, key: String, value: Int) {
+            check(key.endsWith("_int")) { "Int key should ends with _int" }
+            getPerSubCache(subId)[key] = IntConfigValue(value)
+        }
+
+        @VisibleForTesting
+        fun setIntArrayForTest(subId: Int, key: String, value: IntArray?) {
+            checkIntArrayKey(key)
+            getPerSubCache(subId)[key] = IntArrayConfigValue(value)
+        }
+
+        @VisibleForTesting
+        fun setStringForTest(subId: Int, key: String, value: String?) {
+            check(key.endsWith("_string")) { "String key should ends with _string" }
+            getPerSubCache(subId)[key] = StringConfigValue(value)
+        }
+    }
+}
+
+private sealed interface ConfigValue
+
+private data class BooleanConfigValue(val value: Boolean) : ConfigValue
+
+private data class IntConfigValue(val value: Int) : ConfigValue
+
+private class IntArrayConfigValue(val value: IntArray?) : ConfigValue
+
+private data class StringConfigValue(val value: String?) : ConfigValue
+
+private typealias ConfigCache = ConcurrentHashMap<String, ConfigValue>
diff --git a/src/com/android/settings/network/telephony/CarrierSettingsVersionPreferenceController.java b/src/com/android/settings/network/telephony/CarrierSettingsVersionPreferenceController.java
deleted file mode 100644
index 575d19c..0000000
--- a/src/com/android/settings/network/telephony/CarrierSettingsVersionPreferenceController.java
+++ /dev/null
@@ -1,56 +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 android.content.Context;
-import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
-import android.telephony.SubscriptionManager;
-import android.text.TextUtils;
-
-import com.android.settings.core.BasePreferenceController;
-import com.android.settings.network.CarrierConfigCache;
-
-public class CarrierSettingsVersionPreferenceController extends BasePreferenceController {
-
-    private int mSubscriptionId;
-    private CarrierConfigCache mCarrierConfigCache;
-
-    public CarrierSettingsVersionPreferenceController(Context context, String preferenceKey) {
-        super(context, preferenceKey);
-        mCarrierConfigCache = CarrierConfigCache.getInstance(context);
-        mSubscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
-    }
-
-    public void init(int subscriptionId) {
-        mSubscriptionId = subscriptionId;
-    }
-
-    @Override
-    public CharSequence getSummary() {
-        final PersistableBundle config = mCarrierConfigCache.getConfigForSubId(mSubscriptionId);
-        if (config == null) {
-            return null;
-        }
-        return config.getString(CarrierConfigManager.KEY_CARRIER_CONFIG_VERSION_STRING);
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        return TextUtils.isEmpty(getSummary()) ? UNSUPPORTED_ON_DEVICE : AVAILABLE;
-    }
-}
diff --git a/src/com/android/settings/network/telephony/CarrierSettingsVersionPreferenceController.kt b/src/com/android/settings/network/telephony/CarrierSettingsVersionPreferenceController.kt
new file mode 100644
index 0000000..f949ab8
--- /dev/null
+++ b/src/com/android/settings/network/telephony/CarrierSettingsVersionPreferenceController.kt
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.telephony.CarrierConfigManager
+import android.telephony.SubscriptionManager
+import com.android.settings.R
+import com.android.settings.core.BasePreferenceController
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchItem
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchResult
+
+class CarrierSettingsVersionPreferenceController(context: Context, preferenceKey: String) :
+    BasePreferenceController(context, preferenceKey) {
+
+    private var subId: Int = SubscriptionManager.INVALID_SUBSCRIPTION_ID
+    private val searchItem = CarrierSettingsVersionSearchItem(context)
+
+    fun init(subId: Int) {
+        this.subId = subId
+    }
+
+    override fun getSummary() = searchItem.getSummary(subId)
+
+    override fun getAvailabilityStatus() =
+        if (searchItem.isAvailable(subId)) AVAILABLE else CONDITIONALLY_UNAVAILABLE
+
+    companion object {
+        class CarrierSettingsVersionSearchItem(private val context: Context) :
+            MobileNetworkSettingsSearchItem {
+            private val carrierConfigRepository = CarrierConfigRepository(context)
+
+            fun getSummary(subId: Int): String? =
+                carrierConfigRepository.getString(
+                    subId, CarrierConfigManager.KEY_CARRIER_CONFIG_VERSION_STRING)
+
+            fun isAvailable(subId: Int): Boolean = !getSummary(subId).isNullOrEmpty()
+
+            override fun getSearchResult(subId: Int): MobileNetworkSettingsSearchResult? {
+                if (!isAvailable(subId)) return null
+                return MobileNetworkSettingsSearchResult(
+                    key = "carrier_settings_version_key",
+                    title = context.getString(R.string.carrier_settings_version),
+                )
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/network/telephony/DataSubscriptionRepository.kt b/src/com/android/settings/network/telephony/DataSubscriptionRepository.kt
index 99f639b..829c4c0 100644
--- a/src/com/android/settings/network/telephony/DataSubscriptionRepository.kt
+++ b/src/com/android/settings/network/telephony/DataSubscriptionRepository.kt
@@ -33,6 +33,7 @@
 import kotlinx.coroutines.flow.distinctUntilChanged
 import kotlinx.coroutines.flow.flowOn
 import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.onEach
 import kotlinx.coroutines.flow.onStart
 
 class DataSubscriptionRepository(
@@ -51,46 +52,42 @@
             )
             .map { it.getIntExtra(SUBSCRIPTION_KEY, SubscriptionManager.INVALID_SUBSCRIPTION_ID) }
             .onStart { emit(SubscriptionManager.getDefaultDataSubscriptionId()) }
+            .distinctUntilChanged()
             .conflate()
+            .onEach { Log.d(TAG, "defaultDataSubscriptionIdFlow: $it") }
             .flowOn(Dispatchers.Default)
 
     fun activeDataSubscriptionIdFlow(): Flow<Int> =
-        telephonyManager.telephonyCallbackFlow {
-            object : TelephonyCallback(), TelephonyCallback.ActiveDataSubscriptionIdListener {
-                override fun onActiveDataSubscriptionIdChanged(subId: Int) {
-                    trySend(subId)
-                    Log.d(TAG, "activeDataSubscriptionIdFlow: $subId")
+        telephonyManager
+            .telephonyCallbackFlow {
+                object : TelephonyCallback(), TelephonyCallback.ActiveDataSubscriptionIdListener {
+                    override fun onActiveDataSubscriptionIdChanged(subId: Int) {
+                        trySend(subId)
+                        Log.d(TAG, "activeDataSubscriptionIdFlow: $subId")
+                    }
                 }
             }
-        }
+            .distinctUntilChanged()
 
     fun dataSummaryFlow(): Flow<String> =
         combine(defaultDataSubscriptionIdFlow(), activeDataSubscriptionIdFlow()) {
-                defaultSubId,
-                activeSubId ->
-                DataSubscriptionIds(defaultSubId, activeSubId)
+                defaultDataSubId,
+                activeDataSubId ->
+                getDataSummary(defaultDataSubId, activeDataSubId)
             }
-            .distinctUntilChanged()
-            .map { it.getDataSummary() }
             .conflate()
             .flowOn(Dispatchers.Default)
 
-    private data class DataSubscriptionIds(
-        val defaultSubId: Int,
-        val activeSubId: Int,
-    )
-
-    private fun DataSubscriptionIds.getDataSummary(): String {
-        val activeSubInfo = subscriptionManager.getActiveSubscriptionInfo(activeSubId) ?: return ""
+    private fun getDataSummary(defaultDataSubId: Int, activeDataSubId: Int): String {
+        if (defaultDataSubId == activeDataSubId) return getDisplayName(defaultDataSubId)
+        val activeSubInfo =
+            subscriptionManager.getActiveSubscriptionInfo(activeDataSubId)
+                ?: return getDisplayName(defaultDataSubId)
         if (!SubscriptionUtil.isSubscriptionVisible(subscriptionManager, context, activeSubInfo)) {
-            return getDisplayName(defaultSubId)
+            return getDisplayName(defaultDataSubId)
         }
-        val uniqueName = getDisplayName(activeSubId)
-        return if (activeSubId == defaultSubId) {
-            uniqueName
-        } else {
-            context.getString(R.string.mobile_data_temp_using, uniqueName)
-        }
+        // non-DDS is active
+        return context.getString(R.string.mobile_data_temp_using, getDisplayName(activeDataSubId))
     }
 
     companion object {
diff --git a/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt b/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt
index d47a246..aa113b6 100644
--- a/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt
+++ b/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt
@@ -29,35 +29,32 @@
 import androidx.preference.Preference
 import androidx.preference.PreferenceScreen
 import com.android.settings.R
+import com.android.settings.core.BasePreferenceController
 import com.android.settings.datausage.DataUsageUtils
 import com.android.settings.datausage.lib.DataUsageFormatter.FormattedDataUsage
 import com.android.settings.datausage.lib.DataUsageLib
 import com.android.settings.datausage.lib.NetworkCycleDataRepository
 import com.android.settings.datausage.lib.NetworkStatsRepository.Companion.AllTimeRange
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchItem
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchResult
 import com.android.settingslib.spaprivileged.framework.compose.getPlaceholder
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.withContext
 
-/**
- * Preference controller for "Data usage"
- */
+/** Preference controller for "Data usage" */
 class DataUsagePreferenceController(context: Context, key: String) :
-    TelephonyBasePreferenceController(context, key) {
+    BasePreferenceController(context, key) {
 
+    private var subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID
     private lateinit var preference: Preference
     private var networkTemplate: NetworkTemplate? = null
 
     fun init(subId: Int) {
-        mSubId = subId
+        this.subId = subId
     }
 
-    override fun getAvailabilityStatus(subId: Int): Int = when {
-        SubscriptionManager.isValidSubscriptionId(subId) &&
-            DataUsageUtils.hasMobileData(mContext) -> AVAILABLE
-
-        else -> AVAILABLE_UNSEARCHABLE
-    }
+    override fun getAvailabilityStatus() = AVAILABLE
 
     override fun displayPreference(screen: PreferenceScreen) {
         super.displayPreference(screen)
@@ -75,11 +72,12 @@
 
     override fun handlePreferenceTreeClick(preference: Preference): Boolean {
         if (preference.key != preferenceKey || networkTemplate == null) return false
-        val intent = Intent(Settings.ACTION_MOBILE_DATA_USAGE).apply {
-            setPackage(mContext.packageName)
-            putExtra(Settings.EXTRA_NETWORK_TEMPLATE, networkTemplate)
-            putExtra(Settings.EXTRA_SUB_ID, mSubId)
-        }
+        val intent =
+            Intent(Settings.ACTION_MOBILE_DATA_USAGE).apply {
+                setPackage(mContext.packageName)
+                putExtra(Settings.EXTRA_NETWORK_TEMPLATE, networkTemplate)
+                putExtra(Settings.EXTRA_SUB_ID, subId)
+            }
         mContext.startActivity(intent)
         return true
     }
@@ -93,13 +91,10 @@
         preference.summary = summary?.displayText
     }
 
-    private fun getNetworkTemplate(): NetworkTemplate? = when {
-        SubscriptionManager.isValidSubscriptionId(mSubId) -> {
-            DataUsageLib.getMobileTemplate(mContext, mSubId)
-        }
-
-        else -> null
-    }
+    private fun getNetworkTemplate(): NetworkTemplate? =
+        if (SubscriptionManager.isValidSubscriptionId(subId)) {
+            DataUsageLib.getMobileTemplate(mContext, subId)
+        } else null
 
     @VisibleForTesting
     fun createNetworkCycleDataRepository(): NetworkCycleDataRepository? =
@@ -118,4 +113,16 @@
         val allTimeUsage = repository.queryUsage(AllTimeRange)
         return allTimeUsage.getDataUsedString(mContext) to (allTimeUsage.usage > 0)
     }
+
+    companion object {
+        class DataUsageSearchItem(private val context: Context) : MobileNetworkSettingsSearchItem {
+            override fun getSearchResult(subId: Int): MobileNetworkSettingsSearchResult? {
+                if (!DataUsageUtils.hasMobileData(context)) return null
+                return MobileNetworkSettingsSearchResult(
+                    key = "data_usage_summary",
+                    title = context.getString(R.string.app_cellular_data_usage),
+                )
+            }
+        }
+    }
 }
diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
index e92d999..7d5230d 100644
--- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
@@ -19,9 +19,11 @@
 import static androidx.lifecycle.Lifecycle.Event.ON_START;
 import static androidx.lifecycle.Lifecycle.Event.ON_STOP;
 
+import static com.android.settings.network.telephony.EnabledNetworkModePreferenceControllerHelperKt.getNetworkModePreferenceType;
 import static com.android.settings.network.telephony.EnabledNetworkModePreferenceControllerHelperKt.setAllowedNetworkTypes;
 
 import android.content.Context;
+import android.content.res.Resources;
 import android.os.PersistableBundle;
 import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionInfo;
@@ -44,6 +46,7 @@
 
 import com.android.internal.telephony.flags.Flags;
 import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
 import com.android.settings.network.AllowedNetworkTypesListener;
 import com.android.settings.network.CarrierConfigCache;
 import com.android.settings.network.SubscriptionsChangeListener;
@@ -61,16 +64,17 @@
  * Preference controller for "Enabled network mode"
  */
 public class EnabledNetworkModePreferenceController extends
-        TelephonyBasePreferenceController implements
+        BasePreferenceController implements
         ListPreference.OnPreferenceChangeListener, LifecycleObserver,
         SubscriptionsChangeListener.SubscriptionsChangeListenerClient {
 
     private static final String LOG_TAG = "EnabledNetworkMode";
+
+    private int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
     private AllowedNetworkTypesListener mAllowedNetworkTypesListener;
     private Preference mPreference;
     private PreferenceScreen mPreferenceScreen;
     private TelephonyManager mTelephonyManager;
-    private CarrierConfigCache mCarrierConfigCache;
     private PreferenceEntriesBuilder mBuilder;
     private SubscriptionsChangeListener mSubscriptionsListener;
     private int mCallState = TelephonyManager.CALL_STATE_IDLE;
@@ -81,36 +85,16 @@
     public EnabledNetworkModePreferenceController(Context context, String key) {
         super(context, key);
         mSubscriptionsListener = new SubscriptionsChangeListener(context, this);
-        mCarrierConfigCache = CarrierConfigCache.getInstance(context);
         if (mTelephonyCallback == null) {
             mTelephonyCallback = new PhoneCallStateTelephonyCallback();
         }
     }
 
     @Override
-    public int getAvailabilityStatus(int subId) {
-        boolean visible;
-
-        final PersistableBundle carrierConfig = mCarrierConfigCache.getConfigForSubId(subId);
-        if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
-            visible = false;
-        } else if (carrierConfig == null
-                || !CarrierConfigManager.isConfigForIdentifiedCarrier(carrierConfig)) {
-            visible = false;
-        } else if (carrierConfig.getBoolean(
-                CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL)
-                || carrierConfig.getBoolean(
-                CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL)) {
-            visible = false;
-        } else if (carrierConfig.getBoolean(CarrierConfigManager.KEY_WORLD_PHONE_BOOL)) {
-            visible = false;
-        } else if (!isCallStateIdle()) {
-            return AVAILABLE_UNSEARCHABLE;
-        } else {
-            visible = true;
-        }
-
-        return visible ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+    public int getAvailabilityStatus() {
+        return getNetworkModePreferenceType(mContext, mSubId)
+                == NetworkModePreferenceType.EnabledNetworkMode
+                ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
     }
 
     protected boolean isCallStateIdle() {
@@ -953,9 +937,14 @@
         }
     }
 
+    /**
+     * Returns the resources associated with Subscription.
+     *
+     * @return Resources associated with Subscription.
+     */
     @VisibleForTesting
-    PhoneCallStateTelephonyCallback getTelephonyCallback() {
-        return mTelephonyCallback;
+    Resources getResourcesForSubId() {
+        return SubscriptionManager.getResourcesForSubId(mContext, mSubId);
     }
 
     @Override
diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerHelper.kt b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerHelper.kt
index eab5d74..d297e1c 100644
--- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerHelper.kt
+++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerHelper.kt
@@ -16,9 +16,15 @@
 
 package com.android.settings.network.telephony
 
+import android.content.Context
+import android.telephony.CarrierConfigManager
+import android.telephony.SubscriptionManager
 import android.telephony.TelephonyManager
 import androidx.lifecycle.LifecycleOwner
 import androidx.lifecycle.lifecycleScope
+import com.android.settings.R
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchItem
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchResult
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.launch
 
@@ -33,3 +39,62 @@
         )
     }
 }
+
+enum class NetworkModePreferenceType {
+    EnabledNetworkMode,
+    PreferredNetworkMode,
+    None,
+}
+
+fun getNetworkModePreferenceType(context: Context, subId: Int): NetworkModePreferenceType {
+    if (!SubscriptionManager.isValidSubscriptionId(subId)) return NetworkModePreferenceType.None
+    data class Config(
+        val carrierConfigApplied: Boolean,
+        val hideCarrierNetworkSettings: Boolean,
+        val hidePreferredNetworkType: Boolean,
+        val worldPhone: Boolean,
+    )
+
+    val config =
+        CarrierConfigRepository(context).transformConfig(subId) {
+            Config(
+                carrierConfigApplied =
+                    getBoolean(CarrierConfigManager.KEY_CARRIER_CONFIG_APPLIED_BOOL),
+                hideCarrierNetworkSettings =
+                    getBoolean(CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL),
+                hidePreferredNetworkType =
+                    getBoolean(CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL),
+                worldPhone = getBoolean(CarrierConfigManager.KEY_WORLD_PHONE_BOOL),
+            )
+        }
+
+    return when {
+        !config.carrierConfigApplied ||
+            config.hideCarrierNetworkSettings ||
+            config.hidePreferredNetworkType -> NetworkModePreferenceType.None
+        config.worldPhone -> NetworkModePreferenceType.PreferredNetworkMode
+        else -> NetworkModePreferenceType.EnabledNetworkMode
+    }
+}
+
+class PreferredNetworkModeSearchItem(private val context: Context) :
+    MobileNetworkSettingsSearchItem {
+    private val title: String = context.getString(R.string.preferred_network_mode_title)
+
+    override fun getSearchResult(subId: Int): MobileNetworkSettingsSearchResult? =
+        when (getNetworkModePreferenceType(context, subId)) {
+            NetworkModePreferenceType.PreferredNetworkMode ->
+                MobileNetworkSettingsSearchResult(
+                    key = "preferred_network_mode_key",
+                    title = title,
+                )
+
+            NetworkModePreferenceType.EnabledNetworkMode ->
+                MobileNetworkSettingsSearchResult(
+                    key = "enabled_networks_key",
+                    title = title,
+                )
+
+            else -> null
+        }
+}
diff --git a/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java b/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java
index 1a71e5a..d1988c4 100644
--- a/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java
+++ b/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java
@@ -34,7 +34,6 @@
 import androidx.preference.TwoStatePreference;
 
 import com.android.internal.telephony.flags.Flags;
-import com.android.internal.telephony.util.ArrayUtils;
 import com.android.settings.R;
 import com.android.settings.network.ims.VolteQueryImsState;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
@@ -56,8 +55,6 @@
     Preference mPreference;
     private PhoneCallStateTelephonyCallback mTelephonyCallback;
     private boolean mShow5gLimitedDialog;
-    boolean mIsNrEnabledFromCarrierConfig;
-    private boolean mHas5gCapability;
     private Integer mCallState;
     private final List<On4gLteUpdateListener> m4gLteListeners;
 
@@ -94,9 +91,6 @@
         mShow5gLimitedDialog = carrierConfig.getBoolean(
                 CarrierConfigManager.KEY_VOLTE_5G_LIMITED_ALERT_DIALOG_BOOL);
 
-        int[] nrAvailabilities = carrierConfig.getIntArray(
-                CarrierConfigManager.KEY_CARRIER_NR_AVAILABILITIES_INT_ARRAY);
-        mIsNrEnabledFromCarrierConfig = !ArrayUtils.isEmpty(nrAvailabilities);
         return this;
     }
 
@@ -247,10 +241,6 @@
             }
             mTelephonyManager.registerTelephonyCallback(
                     mContext.getMainExecutor(), mTelephonyCallback);
-
-            final long supportedRadioBitmask = mTelephonyManager.getSupportedRadioAccessFamily();
-            mHas5gCapability =
-                    (supportedRadioBitmask & TelephonyManager.NETWORK_TYPE_BITMASK_NR) > 0;
         }
 
         public void unregister() {
@@ -269,8 +259,7 @@
     }
 
     private boolean isDialogNeeded() {
-        Log.d(TAG, "Has5gCapability:" + mHas5gCapability);
-        return mShow5gLimitedDialog && mHas5gCapability && mIsNrEnabledFromCarrierConfig;
+        return mShow5gLimitedDialog && new NrRepository(mContext).isNrAvailable(mSubId);
     }
 
     private void show5gLimitedDialog(ImsMmTelManager imsMmTelManager) {
diff --git a/src/com/android/settings/network/telephony/EuiccPreferenceController.java b/src/com/android/settings/network/telephony/EuiccPreferenceController.java
deleted file mode 100644
index 5052379..0000000
--- a/src/com/android/settings/network/telephony/EuiccPreferenceController.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.content.Intent;
-import android.telephony.TelephonyManager;
-import android.telephony.euicc.EuiccManager;
-import android.text.TextUtils;
-
-import androidx.preference.Preference;
-
-import com.android.settings.Utils;
-
-/**
- * Preference controller for "Euicc preference"
- */
-public class EuiccPreferenceController extends TelephonyBasePreferenceController {
-
-    private TelephonyManager mTelephonyManager;
-
-    public EuiccPreferenceController(Context context, String key) {
-        super(context, key);
-        mTelephonyManager = context.getSystemService(TelephonyManager.class);
-    }
-
-    @Override
-    public int getAvailabilityStatus(int subId) {
-        return MobileNetworkUtils.showEuiccSettings(mContext)
-                ? AVAILABLE
-                : CONDITIONALLY_UNAVAILABLE;
-    }
-
-    @Override
-    public CharSequence getSummary() {
-        return mTelephonyManager.getSimOperatorName();
-    }
-
-    public void init(int subId) {
-        mSubId = subId;
-        mTelephonyManager = mContext.getSystemService(TelephonyManager.class)
-                .createForSubscriptionId(mSubId);
-    }
-
-    @Override
-    public boolean handlePreferenceTreeClick(Preference preference) {
-        if (TextUtils.equals(preference.getKey(), getPreferenceKey())) {
-            Intent intent = new Intent(EuiccManager.ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS)
-                    .setPackage(Utils.PHONE_PACKAGE_NAME);
-            mContext.startActivity(intent);
-            return true;
-        }
-
-        return false;
-    }
-}
diff --git a/src/com/android/settings/network/telephony/MmsMessagePreferenceController.kt b/src/com/android/settings/network/telephony/MmsMessagePreferenceController.kt
index e14d5f8..220218c 100644
--- a/src/com/android/settings/network/telephony/MmsMessagePreferenceController.kt
+++ b/src/com/android/settings/network/telephony/MmsMessagePreferenceController.kt
@@ -20,49 +20,42 @@
 import android.telephony.SubscriptionManager
 import android.telephony.TelephonyManager
 import android.telephony.data.ApnSetting
+import androidx.annotation.VisibleForTesting
 import androidx.lifecycle.LifecycleOwner
 import androidx.preference.PreferenceScreen
-import com.android.settings.network.mobileDataEnabledFlow
+import com.android.settings.R
+import com.android.settings.Settings.MobileNetworkActivity.EXTRA_MMS_MESSAGE
+import com.android.settings.core.TogglePreferenceController
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchResult
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchItem
 import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
 import kotlinx.coroutines.flow.combine
 
-/**
- * Preference controller for "MMS messages"
- */
-class MmsMessagePreferenceController @JvmOverloads constructor(
+/** Preference controller for "MMS messages" */
+class MmsMessagePreferenceController
+@JvmOverloads
+constructor(
     context: Context,
     key: String,
     private val getDefaultDataSubId: () -> Int = {
         SubscriptionManager.getDefaultDataSubscriptionId()
     },
-) : TelephonyTogglePreferenceController(context, key) {
+) : TogglePreferenceController(context, key) {
 
-    private lateinit var telephonyManager: TelephonyManager
+    private var subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID
+    private var telephonyManager: TelephonyManager =
+        context.getSystemService(TelephonyManager::class.java)!!
 
     private var preferenceScreen: PreferenceScreen? = null
 
     fun init(subId: Int) {
-        mSubId = subId
-        telephonyManager = mContext.getSystemService(TelephonyManager::class.java)!!
-            .createForSubscriptionId(subId)
+        this.subId = subId
+        telephonyManager = telephonyManager.createForSubscriptionId(subId)
     }
 
-    override fun getAvailabilityStatus(subId: Int) =
-        if (subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID &&
-            this::telephonyManager.isInitialized &&
-            !telephonyManager.isDataEnabled &&
-            telephonyManager.isApnMetered(ApnSetting.TYPE_MMS) &&
-            !isFallbackDataEnabled()
-        ) AVAILABLE else CONDITIONALLY_UNAVAILABLE
-
-    private fun isFallbackDataEnabled(): Boolean {
-        val defaultDataSubId = getDefaultDataSubId()
-        return defaultDataSubId != mSubId &&
-            telephonyManager.createForSubscriptionId(defaultDataSubId).isDataEnabled &&
-            telephonyManager.isMobileDataPolicyEnabled(
-                TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH
-            )
-    }
+    override fun getAvailabilityStatus() =
+        if (getAvailabilityStatus(telephonyManager, subId, getDefaultDataSubId)) AVAILABLE
+        else CONDITIONALLY_UNAVAILABLE
 
     override fun displayPreference(screen: PreferenceScreen) {
         super.displayPreference(screen)
@@ -71,16 +64,20 @@
 
     override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
         combine(
-            mContext.mobileDataEnabledFlow(mSubId),
-            mContext.subscriptionsChangedFlow(), // Capture isMobileDataPolicyEnabled() changes
-        ) { _, _ -> }.collectLatestWithLifecycle(viewLifecycleOwner) {
-            preferenceScreen?.let { super.displayPreference(it) }
-        }
+                MobileDataRepository(mContext).mobileDataEnabledChangedFlow(subId),
+                mContext.subscriptionsChangedFlow(), // Capture isMobileDataPolicyEnabled() changes
+            ) { _, _ ->
+            }
+            .collectLatestWithLifecycle(viewLifecycleOwner) {
+                preferenceScreen?.let { super.displayPreference(it) }
+            }
     }
 
-    override fun isChecked(): Boolean = telephonyManager.isMobileDataPolicyEnabled(
-        TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED
-    )
+    override fun getSliceHighlightMenuRes() = NO_RES
+
+    override fun isChecked(): Boolean =
+        telephonyManager.isMobileDataPolicyEnabled(
+            TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED)
 
     override fun setChecked(isChecked: Boolean): Boolean {
         telephonyManager.setMobileDataPolicyEnabled(
@@ -89,4 +86,51 @@
         )
         return true
     }
+
+    companion object {
+        private fun getAvailabilityStatus(
+            telephonyManager: TelephonyManager,
+            subId: Int,
+            getDefaultDataSubId: () -> Int,
+        ): Boolean {
+            return SubscriptionManager.isValidSubscriptionId(subId) &&
+                !telephonyManager.isDataEnabled &&
+                telephonyManager.isApnMetered(ApnSetting.TYPE_MMS) &&
+                !isFallbackDataEnabled(telephonyManager, subId, getDefaultDataSubId())
+        }
+
+        private fun isFallbackDataEnabled(
+            telephonyManager: TelephonyManager,
+            subId: Int,
+            defaultDataSubId: Int,
+        ): Boolean {
+            return defaultDataSubId != subId &&
+                telephonyManager.createForSubscriptionId(defaultDataSubId).isDataEnabled &&
+                telephonyManager.isMobileDataPolicyEnabled(
+                    TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH)
+        }
+
+        class MmsMessageSearchItem(
+            private val context: Context,
+            private val getDefaultDataSubId: () -> Int = {
+                SubscriptionManager.getDefaultDataSubscriptionId()
+            },
+        ) : MobileNetworkSettingsSearchItem {
+            private var telephonyManager: TelephonyManager =
+                context.getSystemService(TelephonyManager::class.java)!!
+
+            @VisibleForTesting
+            fun isAvailable(subId: Int): Boolean =
+                getAvailabilityStatus(
+                    telephonyManager.createForSubscriptionId(subId), subId, getDefaultDataSubId)
+
+            override fun getSearchResult(subId: Int): MobileNetworkSettingsSearchResult? {
+                if (!isAvailable(subId)) return null
+                return MobileNetworkSettingsSearchResult(
+                    key = EXTRA_MMS_MESSAGE,
+                    title = context.getString(R.string.mms_message_title),
+                )
+            }
+        }
+    }
 }
diff --git a/src/com/android/settings/network/telephony/MobileDataRepository.kt b/src/com/android/settings/network/telephony/MobileDataRepository.kt
new file mode 100644
index 0000000..5a0dff7
--- /dev/null
+++ b/src/com/android/settings/network/telephony/MobileDataRepository.kt
@@ -0,0 +1,136 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.provider.Settings
+import android.telephony.SubscriptionManager
+import android.telephony.TelephonyManager
+import android.telephony.TelephonyManager.MobileDataPolicy
+import android.util.Log
+import com.android.settings.wifi.WifiPickerTrackerHelper
+import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalChangeFlow
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.catch
+import kotlinx.coroutines.flow.conflate
+import kotlinx.coroutines.flow.distinctUntilChanged
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.flow.flowOn
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.merge
+import kotlinx.coroutines.flow.onEach
+
+class MobileDataRepository(
+    private val context: Context,
+    private val subscriptionsChangedFlow: Flow<Unit> = context.subscriptionsChangedFlow(),
+) {
+    fun isMobileDataPolicyEnabledFlow(subId: Int, @MobileDataPolicy policy: Int): Flow<Boolean> {
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) return flowOf(false)
+        val telephonyManager = context.telephonyManager(subId)
+        return subscriptionsChangedFlow
+            .map { telephonyManager.isMobileDataPolicyEnabled(policy) }
+            .distinctUntilChanged()
+            .conflate()
+            .onEach { Log.d(TAG, "[$subId] isMobileDataPolicyEnabled($policy): $it") }
+            .flowOn(Dispatchers.Default)
+    }
+
+    fun setMobileDataPolicyEnabled(subId: Int, @MobileDataPolicy policy: Int, enabled: Boolean) {
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) return
+        Log.d(TAG, "[$subId] setMobileDataPolicyEnabled($policy): $enabled")
+        context.telephonyManager(subId).setMobileDataPolicyEnabled(policy, enabled)
+    }
+
+    fun setAutoDataSwitch(subId: Int, newEnabled: Boolean) {
+        setMobileDataPolicyEnabled(
+            subId = subId,
+            policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
+            enabled = newEnabled,
+        )
+    }
+
+    /**
+     * Flow for mobile data enabled changed event.
+     *
+     * Note: This flow can only notify enabled status changes, cannot provide the latest status.
+     */
+    fun mobileDataEnabledChangedFlow(subId: Int, sendInitialValue: Boolean = true): Flow<Unit> =
+        mobileSettingsGlobalChangedFlow(Settings.Global.MOBILE_DATA, subId, sendInitialValue)
+
+    private fun mobileSettingsGlobalChangedFlow(
+        name: String,
+        subId: Int,
+        sendInitialValue: Boolean = true,
+    ): Flow<Unit> {
+        val flow = context.settingsGlobalChangeFlow(name, sendInitialValue)
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) return flow
+        val subIdFlow =
+            context.settingsGlobalChangeFlow(name = name + subId, sendInitialValue = false)
+        return merge(flow, subIdFlow)
+    }
+
+    fun isMobileDataEnabledFlow(subId: Int): Flow<Boolean> {
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) return flowOf(false)
+        val telephonyManager = context.telephonyManager(subId)
+        return mobileDataEnabledChangedFlow(subId)
+            .map {
+                telephonyManager.isDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER)
+            }
+            .catch { e ->
+                Log.w(TAG, "[$subId] isMobileDataEnabledFlow: exception", e)
+                emit(false)
+            }
+            .distinctUntilChanged()
+            .conflate()
+            .onEach { Log.d(TAG, "[$subId] isMobileDataEnabledFlow: $it") }
+            .flowOn(Dispatchers.Default)
+    }
+
+    fun setMobileDataEnabled(
+        subId: Int,
+        enabled: Boolean,
+        wifiPickerTrackerHelper: WifiPickerTrackerHelper? = null,
+    ) {
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) return
+
+        Log.d(TAG, "setMobileDataEnabled: $enabled")
+        MobileNetworkUtils.setMobileDataEnabled(
+            context, subId, enabled, /* disableOtherSubscriptions= */ true)
+
+        if (wifiPickerTrackerHelper != null &&
+            !wifiPickerTrackerHelper.isCarrierNetworkProvisionEnabled(subId)) {
+            wifiPickerTrackerHelper.setCarrierNetworkEnabled(enabled)
+        }
+    }
+
+    /** Creates an instance of a cold Flow for whether data roaming is enabled of given [subId]. */
+    fun isDataRoamingEnabledFlow(subId: Int): Flow<Boolean> {
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) return flowOf(false)
+        val telephonyManager = context.telephonyManager(subId)
+        return mobileSettingsGlobalChangedFlow(Settings.Global.DATA_ROAMING, subId)
+            .map { telephonyManager.isDataRoamingEnabled }
+            .distinctUntilChanged()
+            .conflate()
+            .onEach { Log.d(TAG, "[$subId] isDataRoamingEnabledFlow: $it") }
+            .flowOn(Dispatchers.Default)
+    }
+
+    private companion object {
+        private const val TAG = "MobileDataRepository"
+    }
+}
diff --git a/src/com/android/settings/network/telephony/MobileDataSlice.java b/src/com/android/settings/network/telephony/MobileDataSlice.java
index fd65e85..f5e734d 100644
--- a/src/com/android/settings/network/telephony/MobileDataSlice.java
+++ b/src/com/android/settings/network/telephony/MobileDataSlice.java
@@ -29,6 +29,7 @@
 import android.net.Uri;
 import android.os.Handler;
 import android.os.Looper;
+import android.os.UserManager;
 import android.provider.Settings;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
@@ -79,19 +80,24 @@
 
     @Override
     public Slice getSlice() {
+        ListBuilder listBuilder = createListBuilder();
+        if (!isConfigMobileNetworksAllowed()) {
+            return listBuilder.build();
+        }
+
         final IconCompat icon = IconCompat.createWithResource(mContext,
                 R.drawable.ic_network_cell);
         final String title = mContext.getText(R.string.mobile_data_settings_title).toString();
         @ColorInt final int color = Utils.getColorAccentDefaultColor(mContext);
 
-        // Return null until we can show a disabled-action Slice, blaming Airplane mode.
+        // Return empty slice until we can show a disabled-action Slice, blaming Airplane mode.
         if (isAirplaneModeEnabled()) {
-            return null;
+            return listBuilder.build();
         }
 
-        // Return null until we can show a disabled-action Slice.
+        // Return empty slice until we can show a disabled-action Slice.
         if (!isMobileDataAvailable()) {
-            return null;
+            return listBuilder.build();
         }
 
         final CharSequence summary = getSummary();
@@ -109,11 +115,15 @@
             rowBuilder.setSubtitle(summary);
         }
 
-        final ListBuilder listBuilder = new ListBuilder(mContext, getUri(),
-                ListBuilder.INFINITY)
+        return listBuilder
                 .setAccentColor(color)
-                .addRow(rowBuilder);
-        return listBuilder.build();
+                .addRow(rowBuilder)
+                .build();
+    }
+
+    @VisibleForTesting
+    ListBuilder createListBuilder() {
+        return new ListBuilder(mContext, getUri(), ListBuilder.INFINITY);
     }
 
     @Override
@@ -211,6 +221,19 @@
         return mTelephonyManager.isDataEnabled();
     }
 
+    @VisibleForTesting
+    boolean isConfigMobileNetworksAllowed() {
+        if (mContext == null) return true;
+        UserManager userManager = mContext.getSystemService(UserManager.class);
+        if (userManager == null) return true;
+        boolean isAllowed = userManager.isAdminUser() && !userManager.hasUserRestriction(
+                UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS);
+        if (!isAllowed) {
+            Log.w(TAG, "The user is not allowed to configure Mobile Networks.");
+        }
+        return isAllowed;
+    }
+
     /**
      * Listener for mobile data state changes.
      *
diff --git a/src/com/android/settings/network/telephony/MobileNetworkEidPreferenceController.kt b/src/com/android/settings/network/telephony/MobileNetworkEidPreferenceController.kt
index 1e635a5..621465e 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkEidPreferenceController.kt
+++ b/src/com/android/settings/network/telephony/MobileNetworkEidPreferenceController.kt
@@ -91,7 +91,6 @@
             )
             return
         }
-        preference.isVisible = false
 
         val viewModel by lazyViewModel
         coroutineScope = viewLifecycleOwner.lifecycleScope
@@ -127,7 +126,6 @@
         preference.title = title
         preference.dialogTitle = title
         preference.summary = eid
-        preference.isVisible = eid.isNotEmpty()
     }
 
     override fun handlePreferenceTreeClick(preference: Preference): Boolean {
diff --git a/src/com/android/settings/network/telephony/MobileNetworkImeiPreferenceController.kt b/src/com/android/settings/network/telephony/MobileNetworkImeiPreferenceController.kt
index a6fb7ba..6b3f903 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkImeiPreferenceController.kt
+++ b/src/com/android/settings/network/telephony/MobileNetworkImeiPreferenceController.kt
@@ -113,7 +113,6 @@
     private fun refreshUi(){
         preference.title = title
         preference.summary = imei
-        preference.isVisible = true
     }
 
     override fun handlePreferenceTreeClick(preference: Preference): Boolean {
diff --git a/src/com/android/settings/network/telephony/MobileNetworkPhoneNumberPreferenceController.kt b/src/com/android/settings/network/telephony/MobileNetworkPhoneNumberPreferenceController.kt
index 10a8b53..db16acd 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkPhoneNumberPreferenceController.kt
+++ b/src/com/android/settings/network/telephony/MobileNetworkPhoneNumberPreferenceController.kt
@@ -17,49 +17,37 @@
 package com.android.settings.network.telephony
 
 import android.content.Context
-import android.telephony.SubscriptionInfo
 import android.telephony.SubscriptionManager
-import android.util.Log
-import androidx.annotation.VisibleForTesting
-import androidx.fragment.app.Fragment
-import androidx.fragment.app.viewModels
 import androidx.lifecycle.LifecycleOwner
-import androidx.lifecycle.lifecycleScope
 import androidx.preference.Preference
 import androidx.preference.PreferenceScreen
 import com.android.settings.R
 import com.android.settings.flags.Flags
-import com.android.settings.network.SubscriptionInfoListViewModel
 import com.android.settings.network.SubscriptionUtil
 import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.flow.flowOn
-import kotlinx.coroutines.flow.map
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.withContext
 
-/**
- * Preference controller for "Phone number"
- */
-class MobileNetworkPhoneNumberPreferenceController(context: Context, key: String) :
-    TelephonyBasePreferenceController(context, key) {
+/** Preference controller for "Phone number" */
+class MobileNetworkPhoneNumberPreferenceController
+@JvmOverloads
+constructor(
+    context: Context,
+    key: String,
+    private val subscriptionRepository: SubscriptionRepository = SubscriptionRepository(context),
+) : TelephonyBasePreferenceController(context, key) {
 
-    private lateinit var lazyViewModel: Lazy<SubscriptionInfoListViewModel>
     private lateinit var preference: Preference
 
-    private var phoneNumber = String()
-
-    fun init(fragment: Fragment, subId: Int) {
-        lazyViewModel = fragment.viewModels()
+    fun init(subId: Int) {
         mSubId = subId
     }
 
-    override fun getAvailabilityStatus(subId: Int): Int = when {
-        !Flags.isDualSimOnboardingEnabled() -> CONDITIONALLY_UNAVAILABLE
-        SubscriptionManager.isValidSubscriptionId(subId)
-                && SubscriptionUtil.isSimHardwareVisible(mContext) -> AVAILABLE
-        else -> CONDITIONALLY_UNAVAILABLE
-    }
+    override fun getAvailabilityStatus(subId: Int): Int =
+        when {
+            !Flags.isDualSimOnboardingEnabled() -> CONDITIONALLY_UNAVAILABLE
+            SubscriptionManager.isValidSubscriptionId(subId) &&
+                SubscriptionUtil.isSimHardwareVisible(mContext) -> AVAILABLE
+            else -> CONDITIONALLY_UNAVAILABLE
+        }
 
     override fun displayPreference(screen: PreferenceScreen) {
         super.displayPreference(screen)
@@ -67,51 +55,10 @@
     }
 
     override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
-        if (!this::lazyViewModel.isInitialized) {
-            Log.e(
-                this.javaClass.simpleName,
-                "lateinit property lazyViewModel has not been initialized"
-            )
-            return
-        }
-        val viewModel by lazyViewModel
-        val coroutineScope = viewLifecycleOwner.lifecycleScope
-
-        viewModel.subscriptionInfoListFlow
-            .map { subscriptionInfoList ->
-                subscriptionInfoList
-                    .firstOrNull { subInfo -> subInfo.subscriptionId == mSubId }
+        subscriptionRepository.phoneNumberFlow(mSubId).collectLatestWithLifecycle(
+            viewLifecycleOwner) { phoneNumber ->
+                preference.summary = phoneNumber ?: getStringUnknown()
             }
-            .flowOn(Dispatchers.Default)
-            .collectLatestWithLifecycle(viewLifecycleOwner) {
-                it?.let {
-                    coroutineScope.launch {
-                        refreshData(it)
-                    }
-                }
-            }
-    }
-
-    @VisibleForTesting
-    suspend fun refreshData(subscriptionInfo: SubscriptionInfo){
-        withContext(Dispatchers.Default) {
-            phoneNumber = getFormattedPhoneNumber(subscriptionInfo)
-        }
-        refreshUi()
-    }
-
-    private fun refreshUi(){
-        preference.summary = phoneNumber
-    }
-
-    private fun getFormattedPhoneNumber(subscriptionInfo: SubscriptionInfo?): String {
-        val phoneNumber = SubscriptionUtil.getBidiFormattedPhoneNumber(
-            mContext,
-            subscriptionInfo
-        )
-        return phoneNumber
-            ?.let { return it.ifEmpty { getStringUnknown() } }
-            ?: getStringUnknown()
     }
 
     private fun getStringUnknown(): String {
diff --git a/src/com/android/settings/network/telephony/MobileNetworkSettings.java b/src/com/android/settings/network/telephony/MobileNetworkSettings.java
index 8b927a9..91874c4 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkSettings.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkSettings.java
@@ -20,11 +20,14 @@
 
 import android.app.Activity;
 import android.app.settings.SettingsEnums;
+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.telephony.TelephonyManager;
@@ -38,6 +41,7 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
+import androidx.lifecycle.LifecycleOwner;
 import androidx.lifecycle.ViewModelProvider;
 import androidx.preference.Preference;
 
@@ -63,6 +67,8 @@
 import com.android.settingslib.search.SearchIndexable;
 import com.android.settingslib.utils.ThreadUtils;
 
+import kotlin.Unit;
+
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -79,7 +85,6 @@
     @VisibleForTesting
     static final String KEY_CLICKED_PREF = "key_clicked_pref";
 
-    private static final String KEY_ROAMING_PREF = "button_roaming_key";
     private static final String KEY_CALLS_PREF = "calls_preference";
     private static final String KEY_SMS_PREF = "sms_preference";
     private static final String KEY_MOBILE_DATA_PREF = "mobile_data_enable";
@@ -107,6 +112,15 @@
     private SubscriptionInfoEntity mSubscriptionInfoEntity;
     private MobileNetworkInfoEntity mMobileNetworkInfoEntity;
 
+    private BroadcastReceiver mBrocastReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            if (intent.getAction().equals(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED)) {
+                redrawPreferenceControllers();
+            }
+        }
+    };
+
     public MobileNetworkSettings() {
         super(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS);
     }
@@ -178,8 +192,6 @@
 
         return Arrays.asList(
                 new DataUsageSummaryPreferenceController(context, mSubId),
-                new RoamingPreferenceController(context, KEY_ROAMING_PREF, getSettingsLifecycle(),
-                        this, mSubId),
                 new CallsDefaultSubscriptionController(context, KEY_CALLS_PREF,
                         getSettingsLifecycle(), this),
                 new SmsDefaultSubscriptionController(context, KEY_SMS_PREF, getSettingsLifecycle(),
@@ -193,7 +205,6 @@
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
-
         if (mSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
             Log.d(LOG_TAG, "Invalid subId, get the default subscription to show.");
             SubscriptionInfo info = SubscriptionUtil.getSubscriptionOrDefault(context, mSubId);
@@ -238,16 +249,17 @@
         use(CarrierSettingsVersionPreferenceController.class).init(mSubId);
         use(BillingCyclePreferenceController.class).init(mSubId);
         use(MmsMessagePreferenceController.class).init(mSubId);
-        final var crossSimCallingViewModel =
-                new ViewModelProvider(this).get(CrossSimCallingViewModel.class);
-        use(AutoDataSwitchPreferenceController.class).init(mSubId, crossSimCallingViewModel);
+        // CrossSimCallingViewModel is responsible for maintaining the correct cross sim calling
+        // settings (backup calling).
+        new ViewModelProvider(this).get(CrossSimCallingViewModel.class);
+        use(AutoDataSwitchPreferenceController.class).init(mSubId);
         use(DisabledSubscriptionController.class).init(mSubId);
         use(DeleteSimProfilePreferenceController.class).init(mSubId);
         use(DisableSimFooterPreferenceController.class).init(mSubId);
         use(NrDisabledInDsdsFooterPreferenceController.class).init(mSubId);
 
         use(MobileNetworkSpnPreferenceController.class).init(this, mSubId);
-        use(MobileNetworkPhoneNumberPreferenceController.class).init(this, mSubId);
+        use(MobileNetworkPhoneNumberPreferenceController.class).init(mSubId);
         use(MobileNetworkImeiPreferenceController.class).init(this, mSubId);
 
         final MobileDataPreferenceController mobileDataPreferenceController =
@@ -263,8 +275,7 @@
         final RoamingPreferenceController roamingPreferenceController =
                 use(RoamingPreferenceController.class);
         if (roamingPreferenceController != null) {
-            roamingPreferenceController.init(getFragmentManager(), mSubId,
-                    mMobileNetworkInfoEntity);
+            roamingPreferenceController.init(getParentFragmentManager(), mSubId);
         }
         final SatelliteSettingPreferenceController satelliteSettingPreferenceController = use(
                 SatelliteSettingPreferenceController.class);
@@ -332,6 +343,11 @@
                 setTelephonyAvailabilityStatus(getPreferenceControllersAsList());
 
         super.onCreate(icicle);
+        if (isUiRestricted()) {
+            Log.d(LOG_TAG, "Mobile network page is disallowed.");
+            finish();
+            return;
+        }
         final Context context = getContext();
         mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
         mTelephonyManager = context.getSystemService(TelephonyManager.class)
@@ -346,6 +362,16 @@
     public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
         collectAirplaneModeAndFinishIfOn(this);
+
+        LifecycleOwner viewLifecycleOwner = getViewLifecycleOwner();
+        new SubscriptionRepository(requireContext())
+                .collectSubscriptionVisible(mSubId, viewLifecycleOwner, (isVisible) -> {
+                    if (!isVisible) {
+                        Log.d(LOG_TAG, "Due to subscription not visible, closes page");
+                        finishFragment();
+                    }
+                    return Unit.INSTANCE;
+                });
     }
 
     @Override
@@ -355,6 +381,10 @@
         mMobileNetworkRepository.updateEntity();
         // TODO: remove log after fixing b/182326102
         Log.d(LOG_TAG, "onResume() subId=" + mSubId);
+
+        IntentFilter intentFilter = new IntentFilter();
+        intentFilter.addAction(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED);
+        getContext().registerReceiver(mBrocastReceiver, intentFilter, Context.RECEIVER_EXPORTED);
     }
 
     private void onSubscriptionDetailChanged() {
@@ -374,6 +404,7 @@
     @Override
     public void onPause() {
         mMobileNetworkRepository.removeRegister(this);
+        getContext().unregisterReceiver(mBrocastReceiver);
         super.onPause();
     }
 
@@ -453,14 +484,10 @@
 
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider(R.xml.mobile_network_settings) {
-
-                /** suppress full page if user is not admin */
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
-                    boolean isAirplaneOff = Settings.Global.getInt(context.getContentResolver(),
-                            Settings.Global.AIRPLANE_MODE_ON, 0) == 0;
-                    return isAirplaneOff && SubscriptionUtil.isSimHardwareVisible(context)
-                            && context.getSystemService(UserManager.class).isAdminUser();
+                    return MobileNetworkSettingsSearchIndex
+                            .isMobileNetworkSettingsSearchable(context);
                 }
             };
 
@@ -518,11 +545,6 @@
                 Log.d(LOG_TAG, "Set subInfo to default subInfo.");
             }
         }
-        if (mSubscriptionInfoEntity == null && getActivity() != null) {
-            // If the current subId is not existed, finish it.
-            finishFragment();
-            return;
-        }
         onSubscriptionDetailChanged();
     }
 }
diff --git a/src/com/android/settings/network/telephony/MobileNetworkSettingsSearchIndex.kt b/src/com/android/settings/network/telephony/MobileNetworkSettingsSearchIndex.kt
new file mode 100644
index 0000000..83e3a31
--- /dev/null
+++ b/src/com/android/settings/network/telephony/MobileNetworkSettingsSearchIndex.kt
@@ -0,0 +1,132 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.provider.Settings
+import android.telephony.SubscriptionInfo
+import com.android.settings.R
+import com.android.settings.datausage.BillingCyclePreferenceController.Companion.BillingCycleSearchItem
+import com.android.settings.network.SubscriptionUtil
+import com.android.settings.network.telephony.CarrierSettingsVersionPreferenceController.Companion.CarrierSettingsVersionSearchItem
+import com.android.settings.network.telephony.DataUsagePreferenceController.Companion.DataUsageSearchItem
+import com.android.settings.network.telephony.MmsMessagePreferenceController.Companion.MmsMessageSearchItem
+import com.android.settings.network.telephony.NrAdvancedCallingPreferenceController.Companion.NrAdvancedCallingSearchItem
+import com.android.settings.network.telephony.RoamingPreferenceController.Companion.RoamingSearchItem
+import com.android.settings.network.telephony.VideoCallingPreferenceController.Companion.VideoCallingSearchItem
+import com.android.settings.network.telephony.WifiCallingPreferenceController.Companion.WifiCallingSearchItem
+import com.android.settings.spa.SpaSearchLanding.BundleValue
+import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingFragment
+import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingKey
+import com.android.settings.spa.search.SpaSearchRepository.Companion.createSearchIndexableRaw
+import com.android.settings.spa.search.SpaSearchRepository.Companion.searchIndexProviderOf
+import com.android.settingslib.search.SearchIndexableData
+import com.android.settingslib.search.SearchIndexableRaw
+import com.android.settingslib.spaprivileged.framework.common.userManager
+import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalBoolean
+
+class MobileNetworkSettingsSearchIndex(
+    private val searchItemsFactory: (context: Context) -> List<MobileNetworkSettingsSearchItem> =
+        ::createSearchItems,
+) {
+    data class MobileNetworkSettingsSearchResult(
+        val key: String,
+        val title: String,
+        val keywords: String? = null,
+    )
+
+    interface MobileNetworkSettingsSearchItem {
+        fun getSearchResult(subId: Int): MobileNetworkSettingsSearchResult?
+    }
+
+    fun createSearchIndexableData(): SearchIndexableData {
+        val searchIndexProvider = searchIndexProviderOf { context ->
+            if (!isMobileNetworkSettingsSearchable(context)) {
+                return@searchIndexProviderOf emptyList()
+            }
+            val subInfos = context.requireSubscriptionManager().activeSubscriptionInfoList
+            if (subInfos.isNullOrEmpty()) {
+                return@searchIndexProviderOf emptyList()
+            }
+            searchItemsFactory(context).flatMap { searchItem ->
+                searchIndexableRawList(context, searchItem, subInfos)
+            }
+        }
+        return SearchIndexableData(MobileNetworkSettings::class.java, searchIndexProvider)
+    }
+
+    private fun searchIndexableRawList(
+        context: Context,
+        searchItem: MobileNetworkSettingsSearchItem,
+        subInfos: List<SubscriptionInfo>
+    ): List<SearchIndexableRaw> =
+        subInfos.mapNotNull { subInfo ->
+            searchItem.getSearchResult(subInfo.subscriptionId)?.let { searchResult ->
+                searchIndexableRaw(context, searchResult, subInfo)
+            }
+        }
+
+    private fun searchIndexableRaw(
+        context: Context,
+        searchResult: MobileNetworkSettingsSearchResult,
+        subInfo: SubscriptionInfo,
+    ): SearchIndexableRaw {
+        val key =
+            SpaSearchLandingKey.newBuilder()
+                .setFragment(
+                    SpaSearchLandingFragment.newBuilder()
+                        .setFragmentName(MobileNetworkSettings::class.java.name)
+                        .setPreferenceKey(searchResult.key)
+                        .putArguments(
+                            Settings.EXTRA_SUB_ID,
+                            BundleValue.newBuilder().setIntValue(subInfo.subscriptionId).build()))
+                .build()
+        val simsTitle = context.getString(R.string.provider_network_settings_title)
+        return createSearchIndexableRaw(
+            context = context,
+            spaSearchLandingKey = key,
+            itemTitle = searchResult.title,
+            keywords = searchResult.keywords,
+            indexableClass = MobileNetworkSettings::class.java,
+            pageTitle = "$simsTitle > ${subInfo.displayName}",
+        )
+    }
+
+    companion object {
+        /** suppress full page if user is not admin */
+        @JvmStatic
+        fun isMobileNetworkSettingsSearchable(context: Context): Boolean {
+            val isAirplaneMode by context.settingsGlobalBoolean(Settings.Global.AIRPLANE_MODE_ON)
+            return SubscriptionUtil.isSimHardwareVisible(context) &&
+                !isAirplaneMode &&
+                context.userManager.isAdminUser
+        }
+
+        fun createSearchItems(context: Context): List<MobileNetworkSettingsSearchItem> =
+            listOf(
+                BillingCycleSearchItem(context),
+                CarrierSettingsVersionSearchItem(context),
+                DataUsageSearchItem(context),
+                MmsMessageSearchItem(context),
+                NrAdvancedCallingSearchItem(context),
+                PreferredNetworkModeSearchItem(context),
+                RoamingSearchItem(context),
+                VideoCallingSearchItem(context),
+                WifiCallingSearchItem(context),
+            )
+    }
+}
diff --git a/src/com/android/settings/network/telephony/MobileNetworkUtils.java b/src/com/android/settings/network/telephony/MobileNetworkUtils.java
index 517f66a..235418e 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkUtils.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkUtils.java
@@ -32,7 +32,6 @@
 import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA;
 
 import android.app.KeyguardManager;
-import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
@@ -51,8 +50,6 @@
 import android.os.Handler;
 import android.os.Looper;
 import android.os.PersistableBundle;
-import android.os.SystemClock;
-import android.os.SystemProperties;
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.provider.Settings;
@@ -89,32 +86,17 @@
 import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants;
 import com.android.settings.network.telephony.wificalling.WifiCallingRepository;
 import com.android.settingslib.core.instrumentation.Instrumentable;
-import com.android.settingslib.development.DevelopmentSettingsEnabler;
 import com.android.settingslib.graph.SignalDrawable;
 import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
-import com.android.settingslib.utils.ThreadUtils;
 
-import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Future;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
 
 public class MobileNetworkUtils {
 
     private static final String TAG = "MobileNetworkUtils";
 
-    // CID of the device.
-    private static final String KEY_CID = "ro.boot.cid";
-    // CIDs of devices which should not show anything related to eSIM.
-    private static final String KEY_ESIM_CID_IGNORE = "ro.setupwizard.esim_cid_ignore";
-    // System Property which is used to decide whether the default eSIM UI will be shown,
-    // the default value is false.
-    private static final String KEY_ENABLE_ESIM_UI_BY_DEFAULT =
-            "esim.enable_esim_system_ui_by_default";
     private static final String LEGACY_ACTION_CONFIGURE_PHONE_ACCOUNT =
             "android.telecom.action.CONNECTION_SERVICE_CONFIGURE";
     private static final String RTL_MARK = "\u200F";
@@ -283,64 +265,6 @@
     }
 
     /**
-     * Whether to show the entry point to eUICC settings.
-     *
-     * <p>We show the entry point on any device which supports eUICC as long as either the eUICC
-     * was ever provisioned (that is, at least one profile was ever downloaded onto it), or if
-     * the user has enabled development mode.
-     */
-    public static boolean showEuiccSettings(Context context) {
-        if (!SubscriptionUtil.isSimHardwareVisible(context)) {
-            return false;
-        }
-        long timeForAccess = SystemClock.elapsedRealtime();
-        try {
-            Boolean isShow = ((Future<Boolean>) ThreadUtils.postOnBackgroundThread(() -> {
-                        try {
-                            return showEuiccSettingsDetecting(context);
-                        } catch (Exception threadException) {
-                            Log.w(TAG, "Accessing Euicc failure", threadException);
-                        }
-                        return Boolean.FALSE;
-                    })).get(3, TimeUnit.SECONDS);
-            return ((isShow != null) && isShow.booleanValue());
-        } catch (ExecutionException | InterruptedException | TimeoutException exception) {
-            timeForAccess = SystemClock.elapsedRealtime() - timeForAccess;
-            Log.w(TAG, "Accessing Euicc takes too long: +" + timeForAccess + "ms");
-        }
-        return false;
-    }
-
-    // The same as #showEuiccSettings(Context context)
-    public static Boolean showEuiccSettingsDetecting(Context context) {
-        final EuiccManager euiccManager =
-                (EuiccManager) context.getSystemService(EuiccManager.class);
-        if (euiccManager == null || !euiccManager.isEnabled()) {
-            Log.w(TAG, "EuiccManager is not enabled.");
-            return false;
-        }
-
-        final ContentResolver cr = context.getContentResolver();
-        final boolean esimIgnoredDevice =
-                Arrays.asList(TextUtils.split(SystemProperties.get(KEY_ESIM_CID_IGNORE, ""), ","))
-                        .contains(SystemProperties.get(KEY_CID));
-        final boolean enabledEsimUiByDefault =
-                SystemProperties.getBoolean(KEY_ENABLE_ESIM_UI_BY_DEFAULT, true);
-        final boolean euiccProvisioned =
-                Settings.Global.getInt(cr, Settings.Global.EUICC_PROVISIONED, 0) != 0;
-        final boolean inDeveloperMode =
-                DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(context);
-        Log.i(TAG,
-                String.format("showEuiccSettings: esimIgnoredDevice: %b, enabledEsimUiByDefault: "
-                        + "%b, euiccProvisioned: %b, inDeveloperMode: %b.",
-                esimIgnoredDevice, enabledEsimUiByDefault, euiccProvisioned, inDeveloperMode));
-        return (euiccProvisioned
-                || (!esimIgnoredDevice && inDeveloperMode)
-                || (!esimIgnoredDevice && enabledEsimUiByDefault
-                        && isCurrentCountrySupported(context)));
-    }
-
-    /**
      * Return {@code true} if mobile data is enabled
      */
     public static boolean isMobileDataEnabled(Context context) {
diff --git a/src/com/android/settings/network/telephony/NetworkSelectRepository.kt b/src/com/android/settings/network/telephony/NetworkSelectRepository.kt
index 1f5fbc2..d95c90e 100644
--- a/src/com/android/settings/network/telephony/NetworkSelectRepository.kt
+++ b/src/com/android/settings/network/telephony/NetworkSelectRepository.kt
@@ -18,8 +18,10 @@
 
 import android.content.Context
 import android.telephony.AccessNetworkConstants
+import android.telephony.CarrierConfigManager
 import android.telephony.NetworkRegistrationInfo
 import android.telephony.TelephonyManager
+import android.telephony.satellite.SatelliteManager
 import androidx.lifecycle.Lifecycle
 import androidx.lifecycle.LifecycleOwner
 import androidx.lifecycle.lifecycleScope
@@ -28,9 +30,11 @@
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.withContext
 
-class NetworkSelectRepository(context: Context, subId: Int) {
+class NetworkSelectRepository(context: Context, private val subId: Int) {
     private val telephonyManager =
         context.getSystemService(TelephonyManager::class.java)!!.createForSubscriptionId(subId)
+    private val satelliteManager = context.getSystemService(SatelliteManager::class.java)
+    private val carrierConfigManager = context.getSystemService(CarrierConfigManager::class.java)
 
     data class NetworkRegistrationAndForbiddenInfo(
         val networkList: List<NetworkRegistrationInfo>,
@@ -55,10 +59,21 @@
         if (telephonyManager.dataState != TelephonyManager.DATA_CONNECTED) return null
         // Try to get the network registration states
         val serviceState = telephonyManager.serviceState ?: return null
-        val networkList = serviceState.getNetworkRegistrationInfoListForTransportType(
+        var networkList = serviceState.getNetworkRegistrationInfoListForTransportType(
             AccessNetworkConstants.TRANSPORT_TYPE_WWAN
         )
         if (networkList.isEmpty()) return null
+
+        val satellitePlmn = getSatellitePlmns()
+        // If connected network is Satellite, filter out
+        if (satellitePlmn.isNotEmpty()) {
+            val filteredNetworkList = networkList.filter {
+                val cellIdentity = it.cellIdentity
+                val plmn = cellIdentity?.plmn
+                plmn != null && !satellitePlmn.contains(plmn)
+            }
+            networkList = filteredNetworkList
+        }
         // Due to the aggregation of cell between carriers, it's possible to get CellIdentity
         // containing forbidden PLMN.
         // Getting current network from ServiceState is no longer a good idea.
@@ -72,4 +87,24 @@
     private fun getForbiddenPlmns(): List<String> {
         return telephonyManager.forbiddenPlmns?.toList() ?: emptyList()
     }
+
+    /**
+     * Update satellite PLMNs from the satellite framework.
+     */
+    private fun getSatellitePlmns(): List<String> {
+        val config = carrierConfigManager.getConfigForSubId(
+            subId,
+            CarrierConfigManager.KEY_REMOVE_SATELLITE_PLMN_IN_MANUAL_NETWORK_SCAN_BOOL
+        )
+
+        val shouldFilter = config.getBoolean(
+            CarrierConfigManager.KEY_REMOVE_SATELLITE_PLMN_IN_MANUAL_NETWORK_SCAN_BOOL,
+            true)
+
+        return if (shouldFilter) {
+            satelliteManager.getSatellitePlmnsForCarrier(subId)
+        } else {
+            emptyList();
+        }
+    }
 }
diff --git a/src/com/android/settings/network/telephony/NrAdvancedCallingPreferenceController.kt b/src/com/android/settings/network/telephony/NrAdvancedCallingPreferenceController.kt
index cf47c1f..b79e818 100644
--- a/src/com/android/settings/network/telephony/NrAdvancedCallingPreferenceController.kt
+++ b/src/com/android/settings/network/telephony/NrAdvancedCallingPreferenceController.kt
@@ -25,52 +25,71 @@
 import androidx.compose.ui.res.stringResource
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchItem
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchResult
 import com.android.settings.spa.preference.ComposePreferenceController
 import com.android.settingslib.spa.widget.preference.SwitchPreference
 import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
-import kotlinx.coroutines.flow.flowOf
 import kotlinx.coroutines.launch
 
-/**
- * Preference controller for "Voice over NR".
- */
-class NrAdvancedCallingPreferenceController @JvmOverloads constructor(
+/** Preference controller for "Voice over NR". */
+class NrAdvancedCallingPreferenceController
+@JvmOverloads
+constructor(
     context: Context,
     key: String,
-    private val callStateRepository : CallStateRepository = CallStateRepository(context),
+    private val voNrRepository: VoNrRepository = VoNrRepository(context),
+    private val callStateRepository: CallStateRepository = CallStateRepository(context),
 ) : ComposePreferenceController(context, key) {
     private var subId: Int = SubscriptionManager.INVALID_SUBSCRIPTION_ID
-    private var repository: VoNrRepository? = null
+    private val searchItem = NrAdvancedCallingSearchItem(context)
 
     /** Initial this PreferenceController. */
-    @JvmOverloads
-    fun init(subId: Int, repository: VoNrRepository = VoNrRepository(mContext, subId)) {
+    fun init(subId: Int) {
         this.subId = subId
-        this.repository = repository
     }
 
     override fun getAvailabilityStatus() =
-        if (repository?.isVoNrAvailable() == true) AVAILABLE else CONDITIONALLY_UNAVAILABLE
+        if (searchItem.isAvailable(subId)) AVAILABLE else CONDITIONALLY_UNAVAILABLE
 
     @Composable
     override fun Content() {
         val summary = stringResource(R.string.nr_advanced_calling_summary)
-        val isInCall by remember { callStateRepository.isInCallFlow() }
-            .collectAsStateWithLifecycle(initialValue = false)
-        val isEnabled by remember {
-            repository?.isVoNrEnabledFlow() ?: flowOf(false)
-        }.collectAsStateWithLifecycle(initialValue = false)
+        val isInCall by
+            remember { callStateRepository.isInCallFlow() }
+                .collectAsStateWithLifecycle(initialValue = false)
+        val isVoNrEnabled by
+            remember { voNrRepository.isVoNrEnabledFlow(subId) }
+                .collectAsStateWithLifecycle(initialValue = false)
         val coroutineScope = rememberCoroutineScope()
-        SwitchPreference(object : SwitchPreferenceModel {
-            override val title = stringResource(R.string.nr_advanced_calling_title)
-            override val summary = { summary }
-            override val changeable = { !isInCall }
-            override val checked = { isEnabled }
-            override val onCheckedChange: (Boolean) -> Unit = { newChecked ->
-                coroutineScope.launch {
-                    repository?.setVoNrEnabled(newChecked)
+        SwitchPreference(
+            object : SwitchPreferenceModel {
+                override val title = stringResource(R.string.nr_advanced_calling_title)
+                override val summary = { summary }
+                override val changeable = { !isInCall }
+                override val checked = { isVoNrEnabled }
+                override val onCheckedChange: (Boolean) -> Unit = { newChecked ->
+                    coroutineScope.launch { voNrRepository.setVoNrEnabled(subId, newChecked) }
                 }
             }
-        })
+        )
+    }
+
+    companion object {
+        class NrAdvancedCallingSearchItem(private val context: Context) :
+            MobileNetworkSettingsSearchItem {
+            private val voNrRepository = VoNrRepository(context)
+
+            fun isAvailable(subId: Int): Boolean = voNrRepository.isVoNrAvailable(subId)
+
+            override fun getSearchResult(subId: Int): MobileNetworkSettingsSearchResult? {
+                if (!isAvailable(subId)) return null
+                return MobileNetworkSettingsSearchResult(
+                    key = "nr_advanced_calling",
+                    title = context.getString(R.string.nr_advanced_calling_title),
+                    keywords = context.getString(R.string.keywords_nr_advanced_calling),
+                )
+            }
+        }
     }
 }
diff --git a/src/com/android/settings/network/telephony/NrRepository.kt b/src/com/android/settings/network/telephony/NrRepository.kt
new file mode 100644
index 0000000..e6247fd
--- /dev/null
+++ b/src/com/android/settings/network/telephony/NrRepository.kt
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.telephony.CarrierConfigManager
+import android.telephony.SubscriptionManager
+import android.telephony.TelephonyManager
+import android.util.Log
+
+class NrRepository(private val context: Context) {
+    private val carrierConfigRepository = CarrierConfigRepository(context)
+
+    fun isNrAvailable(subId: Int): Boolean {
+        if (!SubscriptionManager.isValidSubscriptionId(subId) || !has5gCapability(subId)) {
+            return false
+        }
+        val carrierNrAvailabilities =
+            carrierConfigRepository.getIntArray(
+                subId = subId,
+                key = CarrierConfigManager.KEY_CARRIER_NR_AVAILABILITIES_INT_ARRAY,
+            )
+        return carrierNrAvailabilities?.isNotEmpty() ?: false
+    }
+
+    private fun has5gCapability(subId: Int): Boolean {
+        val telephonyManager = context.telephonyManager(subId)
+        return (telephonyManager.supportedRadioAccessFamily and
+                TelephonyManager.NETWORK_TYPE_BITMASK_NR > 0)
+            .also { Log.d(TAG, "[$subId] has5gCapability: $it") }
+    }
+
+    private companion object {
+        private const val TAG = "NrRepository"
+    }
+}
diff --git a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
index bdfeace..210cd87 100644
--- a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.network.telephony;
 
+import static com.android.settings.network.telephony.EnabledNetworkModePreferenceControllerHelperKt.getNetworkModePreferenceType;
+
 import android.content.Context;
 import android.os.PersistableBundle;
 import android.telephony.CarrierConfigManager;
@@ -27,16 +29,18 @@
 import androidx.preference.Preference;
 
 import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
 import com.android.settings.network.CarrierConfigCache;
 import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants;
 
 /**
  * Preference controller for "Preferred network mode"
  */
-public class PreferredNetworkModePreferenceController extends TelephonyBasePreferenceController
+public class PreferredNetworkModePreferenceController extends BasePreferenceController
         implements ListPreference.OnPreferenceChangeListener {
     private static final String TAG = "PrefNetworkModeCtrl";
 
+    private int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
     private CarrierConfigCache mCarrierConfigCache;
     private TelephonyManager mTelephonyManager;
     private boolean mIsGlobalCdma;
@@ -47,25 +51,10 @@
     }
 
     @Override
-    public int getAvailabilityStatus(int subId) {
-        final PersistableBundle carrierConfig = mCarrierConfigCache.getConfigForSubId(subId);
-        boolean visible;
-        if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
-            visible = false;
-        } else if (carrierConfig == null) {
-            visible = false;
-        } else if (carrierConfig.getBoolean(
-                CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL)
-                || carrierConfig.getBoolean(
-                CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL)) {
-            visible = false;
-        } else if (carrierConfig.getBoolean(CarrierConfigManager.KEY_WORLD_PHONE_BOOL)) {
-            visible = true;
-        } else {
-            visible = false;
-        }
-
-        return visible ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+    public int getAvailabilityStatus() {
+        return getNetworkModePreferenceType(mContext, mSubId)
+                == NetworkModePreferenceType.PreferredNetworkMode
+                ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
     }
 
     @Override
diff --git a/src/com/android/settings/network/telephony/RoamingPreferenceController.java b/src/com/android/settings/network/telephony/RoamingPreferenceController.java
deleted file mode 100644
index bf02308..0000000
--- a/src/com/android/settings/network/telephony/RoamingPreferenceController.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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 androidx.lifecycle.Lifecycle.Event.ON_START;
-import static androidx.lifecycle.Lifecycle.Event.ON_STOP;
-
-import android.content.Context;
-import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.util.Log;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.fragment.app.FragmentManager;
-import androidx.lifecycle.LifecycleObserver;
-import androidx.lifecycle.LifecycleOwner;
-import androidx.lifecycle.OnLifecycleEvent;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.network.MobileNetworkRepository;
-import com.android.settingslib.RestrictedSwitchPreference;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.mobile.dataservice.MobileNetworkInfoEntity;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Preference controller for "Roaming"
- */
-public class RoamingPreferenceController extends TelephonyTogglePreferenceController implements
-        LifecycleObserver, MobileNetworkRepository.MobileNetworkCallback {
-    private static final String TAG = "RoamingController";
-    private static final String DIALOG_TAG = "MobileDataDialog";
-
-    private RestrictedSwitchPreference mSwitchPreference;
-    private TelephonyManager mTelephonyManager;
-    private CarrierConfigManager mCarrierConfigManager;
-    protected MobileNetworkRepository mMobileNetworkRepository;
-    protected LifecycleOwner mLifecycleOwner;
-    private List<MobileNetworkInfoEntity> mMobileNetworkInfoEntityList = new ArrayList<>();
-
-    @VisibleForTesting
-    FragmentManager mFragmentManager;
-    MobileNetworkInfoEntity mMobileNetworkInfoEntity;
-
-    public RoamingPreferenceController(Context context, String key, Lifecycle lifecycle,
-            LifecycleOwner lifecycleOwner, int subId) {
-        this(context, key);
-        mSubId = subId;
-        mLifecycleOwner = lifecycleOwner;
-        if (lifecycle != null) {
-            lifecycle.addObserver(this);
-        }
-    }
-
-    public RoamingPreferenceController(Context context, String key) {
-        super(context, key);
-        mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
-        mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
-        if (carrierConfig != null && carrierConfig.getBoolean(
-                CarrierConfigManager.KEY_FORCE_HOME_NETWORK_BOOL)) {
-            return CONDITIONALLY_UNAVAILABLE;
-        }
-        return AVAILABLE;
-    }
-
-    @OnLifecycleEvent(ON_START)
-    public void onStart() {
-        mMobileNetworkRepository.addRegister(mLifecycleOwner, this, mSubId);
-        mMobileNetworkRepository.updateEntity();
-    }
-
-    @OnLifecycleEvent(ON_STOP)
-    public void onStop() {
-        mMobileNetworkRepository.removeRegister(this);
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mSwitchPreference = screen.findPreference(getPreferenceKey());
-    }
-
-    @Override
-    public int getAvailabilityStatus(int subId) {
-        return mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID
-                ? AVAILABLE
-                : AVAILABLE_UNSEARCHABLE;
-    }
-
-    @Override
-    public boolean setChecked(boolean isChecked) {
-        if (isDialogNeeded()) {
-            showDialog();
-        } else {
-            // Update data directly if we don't need dialog
-            mTelephonyManager.setDataRoamingEnabled(isChecked);
-            return true;
-        }
-
-        return false;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        mSwitchPreference = (RestrictedSwitchPreference) preference;
-        update();
-    }
-
-    private void update() {
-        if (mSwitchPreference == null) {
-            return;
-        }
-        if (!mSwitchPreference.isDisabledByAdmin()) {
-            mSwitchPreference.setEnabled(mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-            mSwitchPreference.setChecked(isChecked());
-        }
-    }
-
-    @VisibleForTesting
-    boolean isDialogNeeded() {
-        final boolean isRoamingEnabled = mMobileNetworkInfoEntity == null ? false
-                : mMobileNetworkInfoEntity.isDataRoamingEnabled;
-        final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(
-                mSubId);
-        // Need dialog if we need to turn on roaming and the roaming charge indication is allowed
-        if (!isRoamingEnabled && (carrierConfig == null || !carrierConfig.getBoolean(
-                CarrierConfigManager.KEY_DISABLE_CHARGE_INDICATION_BOOL))) {
-            return true;
-        }
-        return false;
-    }
-
-    @Override
-    public boolean isChecked() {
-        return mMobileNetworkInfoEntity == null ? false
-                : mMobileNetworkInfoEntity.isDataRoamingEnabled;
-    }
-
-    public void init(FragmentManager fragmentManager, int subId, MobileNetworkInfoEntity entity) {
-        mFragmentManager = fragmentManager;
-        mSubId = subId;
-        mMobileNetworkInfoEntity = entity;
-        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() {
-        final RoamingDialogFragment dialogFragment = RoamingDialogFragment.newInstance(mSubId);
-
-        dialogFragment.show(mFragmentManager, DIALOG_TAG);
-    }
-
-    @VisibleForTesting
-    public void setMobileNetworkInfoEntity(MobileNetworkInfoEntity mobileNetworkInfoEntity) {
-        mMobileNetworkInfoEntity = mobileNetworkInfoEntity;
-    }
-
-    @Override
-    public void onAllMobileNetworkInfoChanged(
-            List<MobileNetworkInfoEntity> mobileNetworkInfoEntityList) {
-        mMobileNetworkInfoEntityList = mobileNetworkInfoEntityList;
-        mMobileNetworkInfoEntityList.forEach(entity -> {
-            if (Integer.parseInt(entity.subId) == mSubId) {
-                mMobileNetworkInfoEntity = entity;
-                update();
-                refreshSummary(mSwitchPreference);
-                return;
-            }
-        });
-    }
-
-    @Override
-    public void onDataRoamingChanged(int subId, boolean enabled) {
-        if (subId != mSubId) {
-            Log.d(TAG, "onDataRoamingChanged - wrong subId : " + subId + " / " + enabled);
-            return;
-        }
-        update();
-    }
-}
diff --git a/src/com/android/settings/network/telephony/RoamingPreferenceController.kt b/src/com/android/settings/network/telephony/RoamingPreferenceController.kt
new file mode 100644
index 0000000..a5ac7d6
--- /dev/null
+++ b/src/com/android/settings/network/telephony/RoamingPreferenceController.kt
@@ -0,0 +1,119 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.UserManager
+import android.telephony.CarrierConfigManager
+import android.telephony.SubscriptionManager
+import android.telephony.TelephonyManager
+import androidx.annotation.VisibleForTesting
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.remember
+import androidx.compose.ui.res.stringResource
+import androidx.fragment.app.FragmentManager
+import androidx.lifecycle.compose.collectAsStateWithLifecycle
+import com.android.settings.R
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchResult
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchItem
+import com.android.settings.spa.preference.ComposePreferenceController
+import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
+import com.android.settingslib.spaprivileged.model.enterprise.Restrictions
+import com.android.settingslib.spaprivileged.template.preference.RestrictedSwitchPreference
+
+/** Preference controller for "Roaming" */
+class RoamingPreferenceController
+@JvmOverloads
+constructor(
+    context: Context,
+    key: String,
+    private val mobileDataRepository: MobileDataRepository = MobileDataRepository(context),
+) : ComposePreferenceController(context, key) {
+    @VisibleForTesting var fragmentManager: FragmentManager? = null
+    private var subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID
+
+    private var telephonyManager = context.getSystemService(TelephonyManager::class.java)!!
+    private val carrierConfigRepository = CarrierConfigRepository(context)
+    private val roamingSearchItem = RoamingSearchItem(context)
+
+    fun init(fragmentManager: FragmentManager, subId: Int) {
+        this.fragmentManager = fragmentManager
+        this.subId = subId
+        telephonyManager = telephonyManager.createForSubscriptionId(subId)
+    }
+
+    override fun getAvailabilityStatus() =
+        if (roamingSearchItem.isAvailable(subId)) AVAILABLE else CONDITIONALLY_UNAVAILABLE
+
+    @Composable
+    override fun Content() {
+        val summary = stringResource(R.string.roaming_enable)
+        val isDataRoamingEnabled by
+            remember { mobileDataRepository.isDataRoamingEnabledFlow(subId) }
+                .collectAsStateWithLifecycle(null)
+        RestrictedSwitchPreference(
+            model =
+                object : SwitchPreferenceModel {
+                    override val title = stringResource(R.string.roaming)
+                    override val summary = { summary }
+                    override val checked = { isDataRoamingEnabled }
+                    override val onCheckedChange: (Boolean) -> Unit = { newChecked ->
+                        if (newChecked && isDialogNeeded()) {
+                            showDialog()
+                        } else {
+                            // Update data directly if we don't need dialog
+                            telephonyManager.isDataRoamingEnabled = newChecked
+                        }
+                    }
+                },
+            restrictions = Restrictions(keys = listOf(UserManager.DISALLOW_DATA_ROAMING)),
+        )
+    }
+
+    @VisibleForTesting
+    fun isDialogNeeded(): Boolean {
+        // Need dialog if we need to turn on roaming and the roaming charge indication is allowed
+        return !carrierConfigRepository.getBoolean(
+            subId, CarrierConfigManager.KEY_DISABLE_CHARGE_INDICATION_BOOL)
+    }
+
+    private fun showDialog() {
+        fragmentManager?.let { RoamingDialogFragment.newInstance(subId).show(it, DIALOG_TAG) }
+    }
+
+    companion object {
+        private const val DIALOG_TAG = "MobileDataDialog"
+
+        class RoamingSearchItem(private val context: Context) : MobileNetworkSettingsSearchItem {
+            private val carrierConfigRepository = CarrierConfigRepository(context)
+
+            fun isAvailable(subId: Int): Boolean =
+                SubscriptionManager.isValidSubscriptionId(subId) &&
+                    !carrierConfigRepository.getBoolean(
+                        subId, CarrierConfigManager.KEY_FORCE_HOME_NETWORK_BOOL)
+
+            override fun getSearchResult(subId: Int): MobileNetworkSettingsSearchResult? {
+                if (!isAvailable(subId)) return null
+                return MobileNetworkSettingsSearchResult(
+                    key = "button_roaming_key",
+                    title = context.getString(R.string.roaming),
+                )
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/network/telephony/SatelliteSetting.java b/src/com/android/settings/network/telephony/SatelliteSetting.java
index 314fb3a..df58048 100644
--- a/src/com/android/settings/network/telephony/SatelliteSetting.java
+++ b/src/com/android/settings/network/telephony/SatelliteSetting.java
@@ -92,6 +92,14 @@
         }
 
         mActivity = getActivity();
+
+        mSatelliteManager = mActivity.getSystemService(SatelliteManager.class);
+        if (mSatelliteManager == null) {
+            Log.d(TAG, "SatelliteManager is null, do nothing.");
+            finish();
+            return;
+        }
+
         mSubId = mActivity.getIntent().getIntExtra(SUB_ID,
                 SubscriptionManager.INVALID_SUBSCRIPTION_ID);
 
@@ -104,7 +112,6 @@
         }
 
         mTelephonymanager = mActivity.getSystemService(TelephonyManager.class);
-        mSatelliteManager = mActivity.getSystemService(SatelliteManager.class);
     }
 
     @Override
@@ -143,7 +150,7 @@
             /* In case satellite is allowed by carrier's entitlement server, the page will show
                the check icon with guidance that satellite is included in user's mobile plan */
             preference.setTitle(R.string.title_have_satellite_plan);
-            icon = getResources().getDrawable(R.drawable.ic_check_circle_24px);
+            icon = getContext().getDrawable(R.drawable.ic_check_circle_24px);
         } else {
             /* Or, it will show the blocked icon with the guidance that satellite is not included
                in user's mobile plan */
diff --git a/src/com/android/settings/network/telephony/SatelliteSettingPreferenceController.java b/src/com/android/settings/network/telephony/SatelliteSettingPreferenceController.java
index 153698c..9ca0294 100644
--- a/src/com/android/settings/network/telephony/SatelliteSettingPreferenceController.java
+++ b/src/com/android/settings/network/telephony/SatelliteSettingPreferenceController.java
@@ -64,6 +64,10 @@
             return UNSUPPORTED_ON_DEVICE;
         }
 
+        if (mSatelliteManager == null) {
+            return UNSUPPORTED_ON_DEVICE;
+        }
+
         final PersistableBundle carrierConfig = mCarrierConfigCache.getConfigForSubId(subId);
         final boolean isSatelliteAttachSupported = carrierConfig.getBoolean(
                 CarrierConfigManager.KEY_SATELLITE_ATTACH_SUPPORTED_BOOL);
diff --git a/src/com/android/settings/network/telephony/SubscriptionRepository.kt b/src/com/android/settings/network/telephony/SubscriptionRepository.kt
index 3ee8548..26ea9b3 100644
--- a/src/com/android/settings/network/telephony/SubscriptionRepository.kt
+++ b/src/com/android/settings/network/telephony/SubscriptionRepository.kt
@@ -24,12 +24,14 @@
 import com.android.settings.network.SubscriptionUtil
 import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
 import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.ExperimentalCoroutinesApi
 import kotlinx.coroutines.asExecutor
 import kotlinx.coroutines.channels.awaitClose
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.callbackFlow
 import kotlinx.coroutines.flow.conflate
-import kotlinx.coroutines.flow.filterNot
+import kotlinx.coroutines.flow.distinctUntilChanged
+import kotlinx.coroutines.flow.flatMapLatest
 import kotlinx.coroutines.flow.flowOf
 import kotlinx.coroutines.flow.flowOn
 import kotlinx.coroutines.flow.map
@@ -48,10 +50,35 @@
     fun getSelectableSubscriptionInfoList(): List<SubscriptionInfo> =
         context.getSelectableSubscriptionInfoList()
 
+    /** Flow of whether the subscription visible for the given [subId]. */
+    fun isSubscriptionVisibleFlow(subId: Int): Flow<Boolean> {
+        return subscriptionsChangedFlow()
+            .map {
+                val subInfo =
+                    subscriptionManager.availableSubscriptionInfoList?.firstOrNull { subInfo ->
+                        subInfo.subscriptionId == subId
+                    }
+                subInfo != null &&
+                    SubscriptionUtil.isSubscriptionVisible(subscriptionManager, context, subInfo)
+            }
+            .conflate()
+            .onEach { Log.d(TAG, "[$subId] isSubscriptionVisibleFlow: $it") }
+            .flowOn(Dispatchers.Default)
+    }
+
+    /** TODO: Move this to UI layer, when UI layer migrated to Kotlin. */
+    fun collectSubscriptionVisible(
+        subId: Int,
+        lifecycleOwner: LifecycleOwner,
+        action: (Boolean) -> Unit,
+    ) {
+        isSubscriptionVisibleFlow(subId).collectLatestWithLifecycle(lifecycleOwner, action = action)
+    }
+
     /** Flow of whether the subscription enabled for the given [subId]. */
     fun isSubscriptionEnabledFlow(subId: Int): Flow<Boolean> {
         if (!SubscriptionManager.isValidSubscriptionId(subId)) return flowOf(false)
-        return context.subscriptionsChangedFlow()
+        return subscriptionsChangedFlow()
             .map { subscriptionManager.isSubscriptionEnabled(subId) }
             .conflate()
             .onEach { Log.d(TAG, "[$subId] isSubscriptionEnabledFlow: $it") }
@@ -68,6 +95,48 @@
     }
 
     fun canDisablePhysicalSubscription() = subscriptionManager.canDisablePhysicalSubscription()
+
+    /** Flow for subscriptions changes. */
+    fun subscriptionsChangedFlow() = callbackFlow {
+        val listener = object : SubscriptionManager.OnSubscriptionsChangedListener() {
+            override fun onSubscriptionsChanged() {
+                trySend(Unit)
+            }
+        }
+
+        subscriptionManager.addOnSubscriptionsChangedListener(
+            Dispatchers.Default.asExecutor(),
+            listener,
+        )
+
+        awaitClose { subscriptionManager.removeOnSubscriptionsChangedListener(listener) }
+    }.conflate().onEach { Log.d(TAG, "subscriptions changed") }.flowOn(Dispatchers.Default)
+
+    /** Flow of active subscription ids. */
+    fun activeSubscriptionIdListFlow(): Flow<List<Int>> =
+        subscriptionsChangedFlow()
+            .map { subscriptionManager.activeSubscriptionIdList.sorted() }
+            .distinctUntilChanged()
+            .conflate()
+            .onEach { Log.d(TAG, "activeSubscriptionIdList: $it") }
+            .flowOn(Dispatchers.Default)
+
+    fun activeSubscriptionInfoFlow(subId: Int): Flow<SubscriptionInfo?> =
+        subscriptionsChangedFlow()
+            .map { subscriptionManager.getActiveSubscriptionInfo(subId) }
+            .distinctUntilChanged()
+            .conflate()
+            .flowOn(Dispatchers.Default)
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    fun phoneNumberFlow(subId: Int): Flow<String?> =
+        activeSubscriptionInfoFlow(subId).flatMapLatest { subInfo ->
+            if (subInfo != null) {
+                context.phoneNumberFlow(subInfo)
+            } else {
+                flowOf(null)
+            }
+        }
 }
 
 val Context.subscriptionManager: SubscriptionManager?
@@ -75,26 +144,15 @@
 
 fun Context.requireSubscriptionManager(): SubscriptionManager = subscriptionManager!!
 
-fun Context.phoneNumberFlow(subscriptionInfo: SubscriptionInfo) = subscriptionsChangedFlow().map {
-    SubscriptionUtil.getBidiFormattedPhoneNumber(this, subscriptionInfo)
-}.filterNot { it.isNullOrEmpty() }.flowOn(Dispatchers.Default)
+fun Context.phoneNumberFlow(subscriptionInfo: SubscriptionInfo): Flow<String?> =
+    subscriptionsChangedFlow()
+        .map { SubscriptionUtil.getBidiFormattedPhoneNumber(this, subscriptionInfo) }
+        .distinctUntilChanged()
+        .conflate()
+        .flowOn(Dispatchers.Default)
 
-fun Context.subscriptionsChangedFlow() = callbackFlow {
-    val subscriptionManager = requireSubscriptionManager()
-
-    val listener = object : SubscriptionManager.OnSubscriptionsChangedListener() {
-        override fun onSubscriptionsChanged() {
-            trySend(Unit)
-        }
-    }
-
-    subscriptionManager.addOnSubscriptionsChangedListener(
-        Dispatchers.Default.asExecutor(),
-        listener,
-    )
-
-    awaitClose { subscriptionManager.removeOnSubscriptionsChangedListener(listener) }
-}.conflate().onEach { Log.d(TAG, "subscriptions changed") }.flowOn(Dispatchers.Default)
+fun Context.subscriptionsChangedFlow(): Flow<Unit> =
+    SubscriptionRepository(this).subscriptionsChangedFlow()
 
 /**
  * Return a list of subscriptions that are available and visible to the user.
diff --git a/src/com/android/settings/network/telephony/TelephonyBasePreferenceController.java b/src/com/android/settings/network/telephony/TelephonyBasePreferenceController.java
index 3972f39..ee15520 100644
--- a/src/com/android/settings/network/telephony/TelephonyBasePreferenceController.java
+++ b/src/com/android/settings/network/telephony/TelephonyBasePreferenceController.java
@@ -17,9 +17,6 @@
 package com.android.settings.network.telephony;
 
 import android.content.Context;
-import android.content.res.Resources;
-import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionManager;
 
 import com.android.settings.core.BasePreferenceController;
@@ -59,29 +56,4 @@
     public void unsetAvailabilityStatus() {
         mSetSessionCount.getAndDecrement();
     }
-
-    /**
-     * Get carrier config based on specific subscription id.
-     *
-     * @param subId is the subscription id
-     * @return {@link PersistableBundle} of carrier config, or {@code null} when carrier config
-     * is not available.
-     */
-    public PersistableBundle getCarrierConfigForSubId(int subId) {
-        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
-            return null;
-        }
-        final CarrierConfigManager carrierConfigMgr =
-                mContext.getSystemService(CarrierConfigManager.class);
-        return carrierConfigMgr.getConfigForSubId(subId);
-    }
-
-    /**
-     * Returns the resources associated with Subscription.
-     *
-     * @return Resources associated with Subscription.
-     */
-    public Resources getResourcesForSubId() {
-        return SubscriptionManager.getResourcesForSubId(mContext, mSubId);
-    }
 }
diff --git a/src/com/android/settings/network/telephony/TelephonyRepository.kt b/src/com/android/settings/network/telephony/TelephonyRepository.kt
index 7c334ee..3317c71 100644
--- a/src/com/android/settings/network/telephony/TelephonyRepository.kt
+++ b/src/com/android/settings/network/telephony/TelephonyRepository.kt
@@ -17,98 +17,16 @@
 package com.android.settings.network.telephony
 
 import android.content.Context
-import android.telephony.SubscriptionManager
 import android.telephony.TelephonyCallback
 import android.telephony.TelephonyManager
-import android.util.Log
-import com.android.settings.network.mobileDataEnabledFlow
-import com.android.settings.wifi.WifiPickerTrackerHelper
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.asExecutor
 import kotlinx.coroutines.channels.ProducerScope
 import kotlinx.coroutines.channels.awaitClose
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.callbackFlow
-import kotlinx.coroutines.flow.catch
 import kotlinx.coroutines.flow.conflate
-import kotlinx.coroutines.flow.flowOf
 import kotlinx.coroutines.flow.flowOn
-import kotlinx.coroutines.flow.map
-import kotlinx.coroutines.flow.onEach
-
-class TelephonyRepository(
-    private val context: Context,
-    private val subscriptionsChangedFlow: Flow<Unit> = context.subscriptionsChangedFlow(),
-) {
-    fun isMobileDataPolicyEnabledFlow(
-        subId: Int,
-        @TelephonyManager.MobileDataPolicy policy: Int,
-    ): Flow<Boolean> {
-        if (!SubscriptionManager.isValidSubscriptionId(subId)) return flowOf(false)
-
-        val telephonyManager = context.telephonyManager(subId)
-
-        return subscriptionsChangedFlow.map {
-            telephonyManager.isMobileDataPolicyEnabled(policy)
-                .also { Log.d(TAG, "[$subId] isMobileDataPolicyEnabled($policy): $it") }
-        }.conflate().flowOn(Dispatchers.Default)
-    }
-
-    fun setMobileDataPolicyEnabled(
-        subId: Int,
-        @TelephonyManager.MobileDataPolicy policy: Int,
-        enabled: Boolean,
-    ) {
-        if (!SubscriptionManager.isValidSubscriptionId(subId)) return
-
-        val telephonyManager = context.telephonyManager(subId)
-        Log.d(TAG, "[$subId] setMobileDataPolicyEnabled($policy): $enabled")
-        telephonyManager.setMobileDataPolicyEnabled(policy, enabled)
-    }
-
-    fun isDataEnabledFlow(subId: Int): Flow<Boolean> {
-        if (!SubscriptionManager.isValidSubscriptionId(subId)) return flowOf(false)
-
-        return context.mobileDataEnabledFlow(subId)
-            .map {
-                val telephonyManager = context.telephonyManager(subId)
-                telephonyManager.isDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER)
-            }
-            .catch {
-                Log.w(TAG, "[$subId] isDataEnabledFlow: exception", it)
-                emit(false)
-            }
-            .onEach { Log.d(TAG, "[$subId] isDataEnabledFlow: isDataEnabled() = $it") }
-            .conflate()
-            .flowOn(Dispatchers.Default)
-    }
-
-    fun setMobileData(
-        subId: Int,
-        enabled: Boolean,
-        wifiPickerTrackerHelper: WifiPickerTrackerHelper? = null
-    ) {
-        if (!SubscriptionManager.isValidSubscriptionId(subId)) return
-
-        Log.d(TAG, "setMobileData: $enabled")
-        MobileNetworkUtils.setMobileDataEnabled(
-            context,
-            subId,
-            enabled /* enabled */,
-            true /* disableOtherSubscriptions */
-        )
-
-        if (wifiPickerTrackerHelper != null
-            && !wifiPickerTrackerHelper.isCarrierNetworkProvisionEnabled(subId)
-        ) {
-            wifiPickerTrackerHelper.setCarrierNetworkEnabled(enabled)
-        }
-    }
-
-    private companion object {
-        private const val TAG = "TelephonyRepository"
-    }
-}
 
 /** Creates an instance of a cold Flow for Telephony callback of given [subId]. */
 fun <T> Context.telephonyCallbackFlow(
diff --git a/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java b/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java
index 78eb832..f9751f1 100644
--- a/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java
+++ b/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java
@@ -76,7 +76,6 @@
         Intent intent = new Intent(context, ToggleSubscriptionDialogActivity.class);
         intent.putExtra(ARG_SUB_ID, subId);
         intent.putExtra(ARG_enable, enable);
-        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         return intent;
     }
 
@@ -253,8 +252,8 @@
                 mSwitchToEuiccSubscriptionSidecar.reset();
                 dismissProgressDialog();
                 showErrorDialog(
-                        getString(R.string.privileged_action_disable_fail_title),
-                        getString(R.string.privileged_action_disable_fail_text));
+                        getString(R.string.sim_action_enable_sim_fail_title),
+                        getString(R.string.sim_action_enable_sim_fail_text));
                 break;
         }
     }
@@ -584,7 +583,7 @@
     }
 
     private boolean isRemovableSimEnabled() {
-        return UiccSlotUtil.isRemovableSimEnabled(mTelMgr);
+        return new UiccSlotRepository(mTelMgr).anyRemovablePhysicalSimEnabled();
     }
 
     private boolean isMultipleEnabledProfilesSupported() {
diff --git a/src/com/android/settings/network/telephony/UiccSlotRepository.kt b/src/com/android/settings/network/telephony/UiccSlotRepository.kt
new file mode 100644
index 0000000..3a83805
--- /dev/null
+++ b/src/com/android/settings/network/telephony/UiccSlotRepository.kt
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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
+import android.telephony.UiccSlotInfo
+import android.util.Log
+
+class UiccSlotRepository(private val telephonyManager: TelephonyManager?) {
+
+    /** Returns whether any removable physical sim is enabled. */
+    fun anyRemovablePhysicalSimEnabled(): Boolean {
+        val result =
+            telephonyManager?.uiccSlotsInfo?.any { uiccSlotInfo: UiccSlotInfo? ->
+                uiccSlotInfo.isRemovablePhysicalSimEnabled()
+            } ?: false
+        Log.i(TAG, "anyRemovablePhysicalSimEnabled: $result")
+        return result
+    }
+
+    private fun UiccSlotInfo?.isRemovablePhysicalSimEnabled(): Boolean {
+        return this != null &&
+            isRemovable &&
+            !isEuicc &&
+            ports.any { port -> port.isActive } &&
+            cardStateInfo == UiccSlotInfo.CARD_STATE_INFO_PRESENT
+    }
+
+    companion object {
+        private const val TAG = "UiccRepository"
+    }
+}
diff --git a/src/com/android/settings/network/telephony/VideoCallingPreferenceController.java b/src/com/android/settings/network/telephony/VideoCallingPreferenceController.java
deleted file mode 100644
index f803efd..0000000
--- a/src/com/android/settings/network/telephony/VideoCallingPreferenceController.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.content.pm.PackageManager;
-import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyCallback;
-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.TwoStatePreference;
-
-import com.android.internal.telephony.flags.Flags;
-import com.android.settings.network.CarrierConfigCache;
-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;
-
-/**
- * Preference controller for "Video Calling"
- */
-public class VideoCallingPreferenceController extends TelephonyTogglePreferenceController implements
-        LifecycleObserver, OnStart, OnStop,
-        MobileDataEnabledListener.Client,
-        Enhanced4gBasePreferenceController.On4gLteUpdateListener {
-
-    private static final String TAG = "VideoCallingPreference";
-
-    private Preference mPreference;
-    private PhoneTelephonyCallback mTelephonyCallback;
-    @VisibleForTesting
-    Integer mCallState;
-    private MobileDataEnabledListener mDataContentObserver;
-    private CallingPreferenceCategoryController mCallingPreferenceCategoryController;
-
-    public VideoCallingPreferenceController(Context context, String key) {
-        super(context, key);
-        mDataContentObserver = new MobileDataEnabledListener(context, this);
-        mTelephonyCallback = new PhoneTelephonyCallback();
-    }
-
-    @Override
-    public int getAvailabilityStatus(int subId) {
-        return SubscriptionManager.isValidSubscriptionId(subId)
-                && isVideoCallEnabled(subId)
-                ? AVAILABLE
-                : CONDITIONALLY_UNAVAILABLE;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(getPreferenceKey());
-    }
-
-    @Override
-    public void onStart() {
-        mTelephonyCallback.register(mContext, mSubId);
-        mDataContentObserver.start(mSubId);
-    }
-
-    @Override
-    public void onStop() {
-        mTelephonyCallback.unregister();
-        mDataContentObserver.stop();
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        if ((mCallState == null) || (preference == null)) {
-            Log.d(TAG, "Skip update under mCallState=" + mCallState);
-            return;
-        }
-        final TwoStatePreference switchPreference = (TwoStatePreference) preference;
-        final boolean videoCallEnabled = isVideoCallEnabled(mSubId);
-        switchPreference.setVisible(videoCallEnabled);
-        mCallingPreferenceCategoryController
-                .updateChildVisible(getPreferenceKey(), videoCallEnabled);
-        if (videoCallEnabled) {
-            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) {
-        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 queryImsState(mSubId).isEnabledByUser();
-    }
-
-    @VisibleForTesting
-    protected boolean isImsSupported() {
-        return mContext.getPackageManager().hasSystemFeature(
-                PackageManager.FEATURE_TELEPHONY_IMS);
-    }
-
-    /**
-     * Init instance of VideoCallingPreferenceController.
-     */
-    public VideoCallingPreferenceController init(
-            int subId, CallingPreferenceCategoryController callingPreferenceCategoryController) {
-        mSubId = subId;
-        mCallingPreferenceCategoryController = callingPreferenceCategoryController;
-
-        return this;
-    }
-
-    @VisibleForTesting
-    boolean isVideoCallEnabled(int subId) {
-        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
-            return false;
-        }
-
-        final PersistableBundle carrierConfig =
-                CarrierConfigCache.getInstance(mContext).getConfigForSubId(subId);
-        if (carrierConfig == null) {
-            return false;
-        }
-
-        if (!carrierConfig.getBoolean(
-                CarrierConfigManager.KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS)
-                && (!mContext.getSystemService(TelephonyManager.class)
-                    .createForSubscriptionId(subId).isDataEnabled())) {
-            return false;
-        }
-
-        return isImsSupported() && queryImsState(subId).isReadyToVideoCall();
-    }
-
-    @Override
-    public void on4gLteUpdated() {
-        updateState(mPreference);
-    }
-
-    private class PhoneTelephonyCallback extends TelephonyCallback implements
-            TelephonyCallback.CallStateListener {
-
-        private TelephonyManager mTelephonyManager;
-
-        @Override
-        public void onCallStateChanged(int state) {
-            mCallState = state;
-            updateState(mPreference);
-        }
-
-        public void register(Context context, int subId) {
-            mTelephonyManager = context.getSystemService(TelephonyManager.class);
-            if (SubscriptionManager.isValidSubscriptionId(subId)) {
-                mTelephonyManager = mTelephonyManager.createForSubscriptionId(subId);
-            }
-            // assign current call state so that it helps to show correct preference state even
-            // before first onCallStateChanged() by initial registration.
-            if (Flags.enforceTelephonyFeatureMappingForPublicApis()) {
-                try {
-                    mCallState = mTelephonyManager.getCallState(subId);
-                } catch (UnsupportedOperationException e) {
-                    // Device doesn't support FEATURE_TELEPHONY_CALLING
-                    mCallState = TelephonyManager.CALL_STATE_IDLE;
-                }
-            } else {
-                mCallState = mTelephonyManager.getCallState(subId);
-            }
-            mTelephonyManager.registerTelephonyCallback(context.getMainExecutor(), this);
-        }
-
-        public void unregister() {
-            mCallState = null;
-            mTelephonyManager.unregisterTelephonyCallback(this);
-        }
-    }
-
-    /**
-     * Implementation of MobileDataEnabledListener.Client
-     */
-    public void onMobileDataEnabledChange() {
-        updateState(mPreference);
-    }
-
-    @VisibleForTesting
-    VtQueryImsState queryImsState(int subId) {
-        return new VtQueryImsState(mContext, subId);
-    }
-
-    @VisibleForTesting
-    VolteQueryImsState queryVoLteState(int subId) {
-        return new VolteQueryImsState(mContext, subId);
-    }
-}
diff --git a/src/com/android/settings/network/telephony/VideoCallingPreferenceController.kt b/src/com/android/settings/network/telephony/VideoCallingPreferenceController.kt
new file mode 100644
index 0000000..e6b3f31
--- /dev/null
+++ b/src/com/android/settings/network/telephony/VideoCallingPreferenceController.kt
@@ -0,0 +1,147 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.telephony.SubscriptionManager
+import android.telephony.TelephonyManager
+import android.telephony.ims.ImsManager
+import android.util.Log
+import androidx.annotation.VisibleForTesting
+import androidx.lifecycle.LifecycleOwner
+import androidx.preference.Preference
+import androidx.preference.PreferenceScreen
+import androidx.preference.TwoStatePreference
+import com.android.settings.R
+import com.android.settings.core.TogglePreferenceController
+import com.android.settings.network.ims.VolteQueryImsState
+import com.android.settings.network.ims.VtQueryImsState
+import com.android.settings.network.telephony.Enhanced4gBasePreferenceController.On4gLteUpdateListener
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchItem
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchResult
+import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
+import kotlinx.coroutines.flow.first
+import kotlinx.coroutines.runBlocking
+
+/** Preference controller for "Video Calling" */
+class VideoCallingPreferenceController
+@JvmOverloads
+constructor(
+    context: Context,
+    key: String,
+    private val callStateRepository: CallStateRepository = CallStateRepository(context),
+) : TogglePreferenceController(context, key), On4gLteUpdateListener {
+
+    private var subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID
+    private var preference: TwoStatePreference? = null
+    private var callingPreferenceCategoryController: CallingPreferenceCategoryController? = null
+    private val repository = VideoCallingRepository(context)
+
+    private var videoCallEditable = false
+    private var isInCall = false
+
+    /** Init instance of VideoCallingPreferenceController. */
+    fun init(
+        subId: Int,
+        callingPreferenceCategoryController: CallingPreferenceCategoryController?,
+    ): VideoCallingPreferenceController {
+        this.subId = subId
+        this.callingPreferenceCategoryController = callingPreferenceCategoryController
+
+        return this
+    }
+
+    // Availability is controlled in onViewCreated() and VideoCallingSearchItem.
+    override fun getAvailabilityStatus() = AVAILABLE
+
+    override fun displayPreference(screen: PreferenceScreen) {
+        super.displayPreference(screen)
+        preference = screen.findPreference(preferenceKey)
+    }
+
+    override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
+        repository.isVideoCallReadyFlow(subId).collectLatestWithLifecycle(viewLifecycleOwner) {
+            isReady ->
+            preference?.isVisible = isReady
+            callingPreferenceCategoryController?.updateChildVisible(preferenceKey, isReady)
+        }
+        callStateRepository.callStateFlow(subId).collectLatestWithLifecycle(viewLifecycleOwner) {
+            callState ->
+            isInCall = callState != TelephonyManager.CALL_STATE_IDLE
+            updatePreference()
+        }
+    }
+
+    override fun updateState(preference: Preference) {
+        super.updateState(preference)
+        videoCallEditable =
+            queryVoLteState(subId).isEnabledByUser && queryImsState(subId).isAllowUserControl
+        updatePreference()
+    }
+
+    private fun updatePreference() {
+        preference?.isEnabled = videoCallEditable && !isInCall
+        preference?.isChecked = videoCallEditable && isChecked
+    }
+
+    override fun getSliceHighlightMenuRes() = NO_RES
+
+    override fun setChecked(isChecked: Boolean): Boolean {
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
+            return false
+        }
+        val imsMmTelManager = ImsManager(mContext).getImsMmTelManager(subId)
+        try {
+            imsMmTelManager.isVtSettingEnabled = isChecked
+            return true
+        } catch (exception: IllegalArgumentException) {
+            Log.w(TAG, "[$subId] Unable to set VT status $isChecked", exception)
+        }
+        return false
+    }
+
+    override fun isChecked(): Boolean = queryImsState(subId).isEnabledByUser
+
+    override fun on4gLteUpdated() {
+        preference?.let { updateState(it) }
+    }
+
+    @VisibleForTesting fun queryImsState(subId: Int) = VtQueryImsState(mContext, subId)
+
+    @VisibleForTesting fun queryVoLteState(subId: Int) = VolteQueryImsState(mContext, subId)
+
+    companion object {
+        private const val TAG = "VideoCallingPreferenceController"
+
+        class VideoCallingSearchItem(private val context: Context) :
+            MobileNetworkSettingsSearchItem {
+            private val repository = VideoCallingRepository(context)
+
+            private fun isAvailable(subId: Int): Boolean = runBlocking {
+                repository.isVideoCallReadyFlow(subId).first()
+            }
+
+            override fun getSearchResult(subId: Int): MobileNetworkSettingsSearchResult? {
+                if (!isAvailable(subId)) return null
+                return MobileNetworkSettingsSearchResult(
+                    key = "video_calling_key",
+                    title = context.getString(R.string.video_calling_settings_title),
+                )
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/network/telephony/VideoCallingRepository.kt b/src/com/android/settings/network/telephony/VideoCallingRepository.kt
new file mode 100644
index 0000000..634eb28
--- /dev/null
+++ b/src/com/android/settings/network/telephony/VideoCallingRepository.kt
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.telephony.AccessNetworkConstants
+import android.telephony.CarrierConfigManager
+import android.telephony.SubscriptionManager
+import android.telephony.ims.feature.MmTelFeature
+import android.telephony.ims.stub.ImsRegistrationImplBase
+import com.android.settings.network.telephony.ims.ImsFeatureRepository
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.flatMapLatest
+import kotlinx.coroutines.flow.flowOf
+
+@OptIn(ExperimentalCoroutinesApi::class)
+class VideoCallingRepository(
+    context: Context,
+    private val mobileDataRepository: MobileDataRepository = MobileDataRepository(context),
+    private val imsFeatureRepositoryFactory: (Int) -> ImsFeatureRepository = { subId ->
+        ImsFeatureRepository(context, subId)
+    },
+) {
+    private val carrierConfigRepository = CarrierConfigRepository(context)
+
+    fun isVideoCallReadyFlow(subId: Int): Flow<Boolean> {
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) return flowOf(false)
+
+        return isPreconditionMeetFlow(subId).flatMapLatest { isPreconditionMeet ->
+            if (isPreconditionMeet) {
+                imsFeatureRepositoryFactory(subId)
+                    .isReadyFlow(
+                        capability = MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO,
+                        tech = ImsRegistrationImplBase.REGISTRATION_TECH_LTE,
+                        transportType = AccessNetworkConstants.TRANSPORT_TYPE_WWAN,
+                    )
+            } else {
+                flowOf(false)
+            }
+        }
+    }
+
+    private fun isPreconditionMeetFlow(subId: Int): Flow<Boolean> =
+        if (carrierConfigRepository.getBoolean(
+            subId, CarrierConfigManager.KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS)) {
+            flowOf(true)
+        } else {
+            mobileDataRepository.isMobileDataEnabledFlow(subId)
+        }
+}
diff --git a/src/com/android/settings/network/telephony/VoNrRepository.kt b/src/com/android/settings/network/telephony/VoNrRepository.kt
index 35af284..635c572 100644
--- a/src/com/android/settings/network/telephony/VoNrRepository.kt
+++ b/src/com/android/settings/network/telephony/VoNrRepository.kt
@@ -19,7 +19,6 @@
 import android.content.Context
 import android.telephony.CarrierConfigManager
 import android.telephony.SubscriptionManager
-import android.telephony.TelephonyManager
 import android.util.Log
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.flow.Flow
@@ -29,43 +28,43 @@
 import kotlinx.coroutines.flow.onEach
 import kotlinx.coroutines.withContext
 
-class VoNrRepository(private val context: Context, private val subId: Int) {
-    private val telephonyManager = context.telephonyManager(subId)
-    private val carrierConfigManager = context.getSystemService(CarrierConfigManager::class.java)!!
+class VoNrRepository(
+    private val context: Context,
+    private val nrRepository: NrRepository = NrRepository(context),
+) {
+    private val carrierConfigRepository = CarrierConfigRepository(context)
 
-    fun isVoNrAvailable(): Boolean {
-        if (!SubscriptionManager.isValidSubscriptionId(subId) || !has5gCapability()) return false
-        val carrierConfig = carrierConfigManager.safeGetConfig(
-            keys = listOf(
-                CarrierConfigManager.KEY_VONR_ENABLED_BOOL,
-                CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL,
-                CarrierConfigManager.KEY_CARRIER_NR_AVAILABILITIES_INT_ARRAY,
-            ),
-            subId = subId,
-        )
-        return carrierConfig.getBoolean(CarrierConfigManager.KEY_VONR_ENABLED_BOOL) &&
-            carrierConfig.getBoolean(CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL) &&
-            (carrierConfig.getIntArray(CarrierConfigManager.KEY_CARRIER_NR_AVAILABILITIES_INT_ARRAY)
-                ?.isNotEmpty() ?: false)
+    fun isVoNrAvailable(subId: Int): Boolean {
+        if (!nrRepository.isNrAvailable(subId)) return false
+        data class Config(val isVoNrEnabled: Boolean, val isVoNrSettingVisibility: Boolean)
+        val carrierConfig =
+            carrierConfigRepository.transformConfig(subId) {
+                Config(
+                    isVoNrEnabled = getBoolean(CarrierConfigManager.KEY_VONR_ENABLED_BOOL),
+                    isVoNrSettingVisibility =
+                        getBoolean(CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL),
+                )
+            }
+        return carrierConfig.isVoNrEnabled && carrierConfig.isVoNrSettingVisibility
     }
 
-    private fun has5gCapability() =
-        ((telephonyManager.supportedRadioAccessFamily and
-            TelephonyManager.NETWORK_TYPE_BITMASK_NR) > 0)
-            .also { Log.d(TAG, "[$subId] has5gCapability: $it") }
-
-    fun isVoNrEnabledFlow(): Flow<Boolean> = context.subscriptionsChangedFlow()
-        .map { telephonyManager.isVoNrEnabled }
-        .conflate()
-        .onEach { Log.d(TAG, "[$subId] isVoNrEnabled: $it") }
-        .flowOn(Dispatchers.Default)
-
-    suspend fun setVoNrEnabled(enabled: Boolean) = withContext(Dispatchers.Default) {
-        if (!SubscriptionManager.isValidSubscriptionId(subId)) return@withContext
-        val result = telephonyManager.setVoNrEnabled(enabled)
-        Log.d(TAG, "[$subId] setVoNrEnabled: $enabled, result: $result")
+    fun isVoNrEnabledFlow(subId: Int): Flow<Boolean> {
+        val telephonyManager = context.telephonyManager(subId)
+        return context
+            .subscriptionsChangedFlow()
+            .map { telephonyManager.isVoNrEnabled }
+            .conflate()
+            .onEach { Log.d(TAG, "[$subId] isVoNrEnabled: $it") }
+            .flowOn(Dispatchers.Default)
     }
 
+    suspend fun setVoNrEnabled(subId: Int, enabled: Boolean) =
+        withContext(Dispatchers.Default) {
+            if (!SubscriptionManager.isValidSubscriptionId(subId)) return@withContext
+            val result = context.telephonyManager(subId).setVoNrEnabled(enabled)
+            Log.d(TAG, "[$subId] setVoNrEnabled: $enabled, result: $result")
+        }
+
     private companion object {
         private const val TAG = "VoNrRepository"
     }
diff --git a/src/com/android/settings/network/telephony/WifiCallingPreferenceController.kt b/src/com/android/settings/network/telephony/WifiCallingPreferenceController.kt
index 3bb2679..9b68970 100644
--- a/src/com/android/settings/network/telephony/WifiCallingPreferenceController.kt
+++ b/src/com/android/settings/network/telephony/WifiCallingPreferenceController.kt
@@ -22,14 +22,18 @@
 import android.telephony.SubscriptionManager
 import android.telephony.TelephonyManager
 import android.telephony.ims.ImsMmTelManager
-import android.util.Log
 import androidx.lifecycle.LifecycleOwner
 import androidx.preference.Preference
 import androidx.preference.PreferenceScreen
 import com.android.settings.R
+import com.android.settings.core.BasePreferenceController
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchResult
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchItem
 import com.android.settings.network.telephony.wificalling.WifiCallingRepository
 import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
 import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.first
+import kotlinx.coroutines.runBlocking
 import kotlinx.coroutines.withContext
 
 /**
@@ -44,20 +48,21 @@
     private val wifiCallingRepositoryFactory: (subId: Int) -> WifiCallingRepository = { subId ->
         WifiCallingRepository(context, subId)
     },
-) : TelephonyBasePreferenceController(context, key) {
+) : BasePreferenceController(context, key) {
 
+    private var subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID
     private lateinit var preference: Preference
     private lateinit var callingPreferenceCategoryController: CallingPreferenceCategoryController
 
     private val resourcesForSub by lazy {
-        SubscriptionManager.getResourcesForSubId(mContext, mSubId)
+        SubscriptionManager.getResourcesForSubId(mContext, subId)
     }
 
     fun init(
         subId: Int,
         callingPreferenceCategoryController: CallingPreferenceCategoryController,
     ): WifiCallingPreferenceController {
-        mSubId = subId
+        this.subId = subId
         this.callingPreferenceCategoryController = callingPreferenceCategoryController
         return this
     }
@@ -65,39 +70,38 @@
     /**
      * Note: Visibility also controlled by [onViewCreated].
      */
-    override fun getAvailabilityStatus(subId: Int) =
+    override fun getAvailabilityStatus() =
         if (SubscriptionManager.isValidSubscriptionId(subId)) AVAILABLE
         else CONDITIONALLY_UNAVAILABLE
 
     override fun displayPreference(screen: PreferenceScreen) {
         // Not call super here, to avoid preference.isVisible changed unexpectedly
         preference = screen.findPreference(preferenceKey)!!
-        preference.intent?.putExtra(Settings.EXTRA_SUB_ID, mSubId)
+        preference.intent?.putExtra(Settings.EXTRA_SUB_ID, subId)
     }
 
     override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
-        if(mSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID){
-            Log.e(
-                this.javaClass.simpleName,
-                "mSubId is INVALID_SUBSCRIPTION_ID"
-            )
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
+            // Sub id could invalid, if this page is opened from external action and no sim is
+            // active.
+            // Ignore this case, since this page will be finished soon.
             return
         }
-        wifiCallingRepositoryFactory(mSubId).wifiCallingReadyFlow()
+        wifiCallingRepositoryFactory(subId).wifiCallingReadyFlow()
             .collectLatestWithLifecycle(viewLifecycleOwner) { isReady ->
                 preference.isVisible = isReady
                 callingPreferenceCategoryController.updateChildVisible(preferenceKey, isReady)
                 if (isReady) update()
             }
 
-        callStateRepository.callStateFlow(mSubId).collectLatestWithLifecycle(viewLifecycleOwner) {
+        callStateRepository.callStateFlow(subId).collectLatestWithLifecycle(viewLifecycleOwner) {
             preference.isEnabled = (it == TelephonyManager.CALL_STATE_IDLE)
         }
     }
 
     private suspend fun update() {
         val simCallManager = mContext.getSystemService(TelecomManager::class.java)
-            ?.getSimCallManagerForSubscription(mSubId)
+            ?.getSimCallManagerForSubscription(subId)
         if (simCallManager != null) {
             val intent = withContext(Dispatchers.Default) {
                 MobileNetworkUtils.buildPhoneAccountConfigureIntent(mContext, simCallManager)
@@ -116,7 +120,7 @@
     }
 
     private fun getSummaryForWfcMode(): String {
-        val resId = when (wifiCallingRepositoryFactory(mSubId).getWiFiCallingMode()) {
+        val resId = when (wifiCallingRepositoryFactory(subId).getWiFiCallingMode()) {
             ImsMmTelManager.WIFI_MODE_WIFI_ONLY ->
                 com.android.internal.R.string.wfc_mode_wifi_only_summary
 
@@ -130,4 +134,22 @@
         }
         return resourcesForSub.getString(resId)
     }
+
+    companion object {
+        class WifiCallingSearchItem(
+            private val context: Context,
+        ) : MobileNetworkSettingsSearchItem {
+            private fun isAvailable(subId: Int): Boolean = runBlocking {
+                WifiCallingRepository(context, subId).wifiCallingReadyFlow().first()
+            }
+
+            override fun getSearchResult(subId: Int): MobileNetworkSettingsSearchResult? {
+                if (!isAvailable(subId)) return null
+                return MobileNetworkSettingsSearchResult(
+                    key = "wifi_calling",
+                    title = context.getString(R.string.wifi_calling_settings_title),
+                )
+            }
+        }
+    }
 }
diff --git a/src/com/android/settings/network/telephony/euicc/EuiccRepository.kt b/src/com/android/settings/network/telephony/euicc/EuiccRepository.kt
new file mode 100644
index 0000000..74b5313
--- /dev/null
+++ b/src/com/android/settings/network/telephony/euicc/EuiccRepository.kt
@@ -0,0 +1,129 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.euicc
+
+import android.content.Context
+import android.os.SystemProperties
+import android.provider.Settings
+import android.telephony.TelephonyManager
+import android.telephony.euicc.EuiccManager
+import android.util.Log
+import com.android.settings.network.SubscriptionUtil
+import com.android.settingslib.development.DevelopmentSettingsEnabler
+import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalBoolean
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.conflate
+import kotlinx.coroutines.flow.distinctUntilChanged
+import kotlinx.coroutines.flow.flow
+import kotlinx.coroutines.flow.flowOn
+
+class EuiccRepository
+@JvmOverloads
+constructor(
+    private val context: Context,
+    private val isEuiccProvisioned: () -> Boolean = {
+        val euiccProvisioned by context.settingsGlobalBoolean(Settings.Global.EUICC_PROVISIONED)
+        euiccProvisioned
+    },
+    private val isDevelopmentSettingsEnabled: () -> Boolean = {
+        DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(context)
+    },
+) {
+
+    private val euiccManager = context.getSystemService(EuiccManager::class.java)
+    private val telephonyManager = context.getSystemService(TelephonyManager::class.java)
+
+    fun showEuiccSettingsFlow() =
+        flow { emit(showEuiccSettings()) }
+            .distinctUntilChanged()
+            .conflate()
+            .flowOn(Dispatchers.Default)
+
+    /**
+     * Whether to show the entry point to eUICC settings.
+     *
+     * We show the entry point on any device which supports eUICC as long as either the eUICC was
+     * ever provisioned (that is, at least one profile was ever downloaded onto it), or if the user
+     * has enabled development mode.
+     */
+    fun showEuiccSettings(): Boolean {
+        if (!SubscriptionUtil.isSimHardwareVisible(context)) return false
+        if (euiccManager == null || !euiccManager.isEnabled) {
+            Log.w(TAG, "EuiccManager is not enabled.")
+            return false
+        }
+        if (isEuiccProvisioned()) {
+            Log.i(TAG, "showEuiccSettings: euicc provisioned")
+            return true
+        }
+        val ignoredCids =
+            SystemProperties.get(KEY_ESIM_CID_IGNORE).split(',').filter { it.isNotEmpty() }
+        val cid = SystemProperties.get(KEY_CID)
+        if (cid in ignoredCids) {
+            Log.i(TAG, "showEuiccSettings: cid ignored")
+            return false
+        }
+        if (isDevelopmentSettingsEnabled()) {
+            Log.i(TAG, "showEuiccSettings: development settings enabled")
+            return true
+        }
+        val enabledEsimUiByDefault =
+            SystemProperties.getBoolean(KEY_ENABLE_ESIM_UI_BY_DEFAULT, true)
+        Log.i(TAG, "showEuiccSettings: enabledEsimUiByDefault=$enabledEsimUiByDefault")
+        return enabledEsimUiByDefault && isCurrentCountrySupported()
+    }
+
+    /**
+     * Loop through all the device logical slots to check whether the user's current country
+     * supports eSIM.
+     */
+    private fun isCurrentCountrySupported(): Boolean {
+        val euiccManager = euiccManager ?: return false
+        val telephonyManager = telephonyManager ?: return false
+        val visitedCountrySet = mutableSetOf<String>()
+        for (slotIndex in 0 until telephonyManager.getActiveModemCount()) {
+            val countryCode = telephonyManager.getNetworkCountryIso(slotIndex)
+            if (
+                countryCode.isNotEmpty() &&
+                    visitedCountrySet.add(countryCode) &&
+                    euiccManager.isSupportedCountry(countryCode)
+            ) {
+                Log.i(TAG, "isCurrentCountrySupported: $countryCode is supported")
+                return true
+            }
+        }
+        Log.i(TAG, "isCurrentCountrySupported: no country is supported")
+        return false
+    }
+
+    companion object {
+        private const val TAG = "EuiccRepository"
+
+        /** CID of the device. */
+        private const val KEY_CID: String = "ro.boot.cid"
+
+        /** CIDs of devices which should not show anything related to eSIM. */
+        private const val KEY_ESIM_CID_IGNORE: String = "ro.setupwizard.esim_cid_ignore"
+
+        /**
+         * System Property which is used to decide whether the default eSIM UI will be shown, the
+         * default value is false.
+         */
+        private const val KEY_ENABLE_ESIM_UI_BY_DEFAULT: String =
+            "esim.enable_esim_system_ui_by_default"
+    }
+}
diff --git a/src/com/android/settings/network/telephony/ims/ImsFeatureProvisionedFlow.kt b/src/com/android/settings/network/telephony/ims/ImsFeatureProvisionedFlow.kt
deleted file mode 100644
index 6769498..0000000
--- a/src/com/android/settings/network/telephony/ims/ImsFeatureProvisionedFlow.kt
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.ims
-
-import android.telephony.ims.ProvisioningManager
-import android.telephony.ims.ProvisioningManager.FeatureProvisioningCallback
-import android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability
-import android.telephony.ims.stub.ImsRegistrationImplBase.ImsRegistrationTech
-import android.util.Log
-import androidx.annotation.VisibleForTesting
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.asExecutor
-import kotlinx.coroutines.channels.awaitClose
-import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.callbackFlow
-import kotlinx.coroutines.flow.catch
-import kotlinx.coroutines.flow.conflate
-import kotlinx.coroutines.flow.flowOn
-import kotlinx.coroutines.flow.onEach
-
-private const val TAG = "ImsFeatureProvisioned"
-
-fun imsFeatureProvisionedFlow(
-    subId: Int,
-    @MmTelCapability capability: Int,
-    @ImsRegistrationTech tech: Int,
-): Flow<Boolean> = imsFeatureProvisionedFlow(
-    subId = subId,
-    capability = capability,
-    tech = tech,
-    provisioningManager = ProvisioningManager.createForSubscriptionId(subId),
-)
-
-@VisibleForTesting
-fun imsFeatureProvisionedFlow(
-    subId: Int,
-    @MmTelCapability capability: Int,
-    @ImsRegistrationTech tech: Int,
-    provisioningManager : ProvisioningManager,
-): Flow<Boolean> = callbackFlow {
-    val callback = object : FeatureProvisioningCallback() {
-        override fun onFeatureProvisioningChanged(
-            receivedCapability: Int,
-            receivedTech: Int,
-            isProvisioned: Boolean,
-        ) {
-            if (capability == receivedCapability && tech == receivedTech) trySend(isProvisioned)
-        }
-
-        override fun onRcsFeatureProvisioningChanged(
-            capability: Int,
-            tech: Int,
-            isProvisioned: Boolean,
-        ) {
-        }
-    }
-
-    provisioningManager.registerFeatureProvisioningChangedCallback(
-        Dispatchers.Default.asExecutor(),
-        callback,
-    )
-    trySend(provisioningManager.getProvisioningStatusForCapability(capability, tech))
-
-    awaitClose { provisioningManager.unregisterFeatureProvisioningChangedCallback(callback) }
-}.catch { e ->
-    Log.w(TAG, "[$subId] error while imsFeatureProvisionedFlow", e)
-}.conflate().onEach {
-    Log.d(TAG, "[$subId] changed: capability=$capability tech=$tech isProvisioned=$it")
-}.flowOn(Dispatchers.Default)
diff --git a/src/com/android/settings/network/telephony/ims/ImsFeatureRepository.kt b/src/com/android/settings/network/telephony/ims/ImsFeatureRepository.kt
new file mode 100644
index 0000000..ba33257
--- /dev/null
+++ b/src/com/android/settings/network/telephony/ims/ImsFeatureRepository.kt
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.ims
+
+import android.content.Context
+import android.telephony.AccessNetworkConstants.TransportType
+import android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability
+import android.telephony.ims.stub.ImsRegistrationImplBase.ImsRegistrationTech
+import com.android.settings.network.telephony.subscriptionsChangedFlow
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.combine
+import kotlinx.coroutines.flow.flatMapLatest
+
+/**
+ * A repository for the IMS feature.
+ *
+ * @throws IllegalArgumentException if the [subId] is invalid.
+ */
+@OptIn(ExperimentalCoroutinesApi::class)
+class ImsFeatureRepository(
+    private val context: Context,
+    private val subId: Int,
+    private val provisioningRepository: ProvisioningRepository = ProvisioningRepository(context),
+    private val imsMmTelRepository: ImsMmTelRepository = ImsMmTelRepositoryImpl(context, subId)
+) {
+    /**
+     * A cold flow that determines the provisioning status for the specified IMS MmTel capability,
+     * and whether or not the requested MmTel capability is supported by the carrier on the
+     * specified network transport.
+     *
+     * @return true if the feature is provisioned and supported, false otherwise.
+     */
+    fun isReadyFlow(
+        @MmTelCapability capability: Int,
+        @ImsRegistrationTech tech: Int,
+        @TransportType transportType: Int,
+    ): Flow<Boolean> =
+        context.subscriptionsChangedFlow().flatMapLatest {
+            combine(
+                provisioningRepository.imsFeatureProvisionedFlow(subId, capability, tech),
+                imsMmTelRepository.isSupportedFlow(capability, transportType),
+            ) { imsFeatureProvisioned, isSupported ->
+                imsFeatureProvisioned && isSupported
+            }
+        }
+}
diff --git a/src/com/android/settings/network/telephony/ims/ImsMmTelRepository.kt b/src/com/android/settings/network/telephony/ims/ImsMmTelRepository.kt
index 9bc10e5..e891204 100644
--- a/src/com/android/settings/network/telephony/ims/ImsMmTelRepository.kt
+++ b/src/com/android/settings/network/telephony/ims/ImsMmTelRepository.kt
@@ -27,6 +27,7 @@
 import android.telephony.ims.RegistrationManager
 import android.telephony.ims.feature.MmTelFeature
 import android.util.Log
+import androidx.annotation.VisibleForTesting
 import kotlin.coroutines.resume
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.asExecutor
@@ -36,6 +37,7 @@
 import kotlinx.coroutines.flow.catch
 import kotlinx.coroutines.flow.conflate
 import kotlinx.coroutines.flow.flowOn
+import kotlinx.coroutines.flow.map
 import kotlinx.coroutines.suspendCancellableCoroutine
 import kotlinx.coroutines.withContext
 
@@ -47,14 +49,19 @@
 
     fun imsReadyFlow(): Flow<Boolean>
 
-    suspend fun isSupported(
+    fun isSupportedFlow(
         @MmTelFeature.MmTelCapabilities.MmTelCapability capability: Int,
         @AccessNetworkConstants.TransportType transportType: Int,
-    ): Boolean
+    ): Flow<Boolean>
 
     suspend fun setCrossSimCallingEnabled(enabled: Boolean)
 }
 
+/**
+ * A repository for the IMS MMTel.
+ *
+ * @throws IllegalArgumentException if the [subId] is invalid.
+ */
 class ImsMmTelRepositoryImpl(
     context: Context,
     private val subId: Int,
@@ -126,9 +133,14 @@
         awaitClose { imsMmTelManager.unregisterImsStateCallback(callback) }
     }.catch { e ->
         Log.w(TAG, "[$subId] error while imsReadyFlow", e)
+        emit(false)
     }.conflate().flowOn(Dispatchers.Default)
 
-    override suspend fun isSupported(
+    override fun isSupportedFlow(capability: Int, transportType: Int): Flow<Boolean> =
+        imsReadyFlow().map { imsReady -> imsReady && isSupported(capability, transportType) }
+
+    @VisibleForTesting
+    suspend fun isSupported(
         @MmTelFeature.MmTelCapabilities.MmTelCapability capability: Int,
         @AccessNetworkConstants.TransportType transportType: Int,
     ): Boolean = withContext(Dispatchers.Default) {
diff --git a/src/com/android/settings/network/telephony/ims/ProvisioningRepository.kt b/src/com/android/settings/network/telephony/ims/ProvisioningRepository.kt
new file mode 100644
index 0000000..521b364
--- /dev/null
+++ b/src/com/android/settings/network/telephony/ims/ProvisioningRepository.kt
@@ -0,0 +1,99 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.ims
+
+import android.content.Context
+import android.content.pm.PackageManager
+import android.telephony.SubscriptionManager
+import android.telephony.ims.ProvisioningManager
+import android.telephony.ims.ProvisioningManager.FeatureProvisioningCallback
+import android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability
+import android.telephony.ims.stub.ImsRegistrationImplBase.ImsRegistrationTech
+import android.util.Log
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.asExecutor
+import kotlinx.coroutines.channels.awaitClose
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.callbackFlow
+import kotlinx.coroutines.flow.catch
+import kotlinx.coroutines.flow.conflate
+import kotlinx.coroutines.flow.distinctUntilChanged
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.flow.flowOn
+import kotlinx.coroutines.flow.onEach
+
+class ProvisioningRepository(
+    private val context: Context,
+    private val provisioningManagerFactory: (Int) -> ProvisioningManager =
+        ProvisioningManager::createForSubscriptionId,
+) {
+
+    fun imsFeatureProvisionedFlow(
+        subId: Int,
+        @MmTelCapability capability: Int,
+        @ImsRegistrationTech tech: Int,
+    ): Flow<Boolean> {
+        if (!SubscriptionManager.isValidSubscriptionId(subId) ||
+            !context.packageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY_IMS)) {
+            return flowOf(false)
+        }
+        val provisioningManager = provisioningManagerFactory(subId)
+        return callbackFlow {
+                val callback =
+                    object : FeatureProvisioningCallback() {
+                        override fun onFeatureProvisioningChanged(
+                            receivedCapability: Int,
+                            receivedTech: Int,
+                            isProvisioned: Boolean,
+                        ) {
+                            if (capability == receivedCapability && tech == receivedTech)
+                                trySend(isProvisioned)
+                        }
+
+                        override fun onRcsFeatureProvisioningChanged(
+                            capability: Int,
+                            tech: Int,
+                            isProvisioned: Boolean,
+                        ) {}
+                    }
+
+                provisioningManager.registerFeatureProvisioningChangedCallback(
+                    Dispatchers.Default.asExecutor(),
+                    callback,
+                )
+                trySend(provisioningManager.getProvisioningStatusForCapability(capability, tech))
+
+                awaitClose {
+                    provisioningManager.unregisterFeatureProvisioningChangedCallback(callback)
+                }
+            }
+            .catch { e ->
+                Log.w(TAG, "[$subId] error while imsFeatureProvisionedFlow", e)
+                emit(false)
+            }
+            .distinctUntilChanged()
+            .conflate()
+            .onEach {
+                Log.d(TAG, "[$subId] changed: capability=$capability tech=$tech isProvisioned=$it")
+            }
+            .flowOn(Dispatchers.Default)
+    }
+
+    companion object {
+        private const val TAG = "ProvisioningRepository"
+    }
+}
diff --git a/src/com/android/settings/network/telephony/scan/NetworkScanRepository.kt b/src/com/android/settings/network/telephony/scan/NetworkScanRepository.kt
index 0e15033..caf8549 100644
--- a/src/com/android/settings/network/telephony/scan/NetworkScanRepository.kt
+++ b/src/com/android/settings/network/telephony/scan/NetworkScanRepository.kt
@@ -30,8 +30,8 @@
 import com.android.settings.network.telephony.CellInfoUtil.getNetworkTitle
 import com.android.settings.network.telephony.telephonyManager
 import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
+import java.util.concurrent.Executors
 import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.asExecutor
 import kotlinx.coroutines.channels.awaitClose
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.callbackFlow
@@ -96,7 +96,9 @@
 
         val networkScan = telephonyManager.requestNetworkScan(
             createNetworkScan(),
-            Dispatchers.Default.asExecutor(),
+            // requestNetworkScan() could call callbacks concurrently, so we use a single thread
+            // to avoid racing conditions.
+            Executors.newSingleThreadExecutor(),
             callback,
         )
 
diff --git a/src/com/android/settings/network/telephony/wificalling/CrossSimCallingViewModel.kt b/src/com/android/settings/network/telephony/wificalling/CrossSimCallingViewModel.kt
index 5dcac1e..cab27ca 100644
--- a/src/com/android/settings/network/telephony/wificalling/CrossSimCallingViewModel.kt
+++ b/src/com/android/settings/network/telephony/wificalling/CrossSimCallingViewModel.kt
@@ -21,99 +21,116 @@
 import android.telephony.CarrierConfigManager
 import android.telephony.SubscriptionManager
 import android.telephony.TelephonyManager
+import android.util.Log
 import androidx.lifecycle.AndroidViewModel
 import androidx.lifecycle.viewModelScope
 import com.android.settings.R
-import com.android.settings.network.mobileDataEnabledFlow
+import com.android.settings.network.telephony.CarrierConfigRepository
+import com.android.settings.network.telephony.DataSubscriptionRepository
+import com.android.settings.network.telephony.MobileDataRepository
+import com.android.settings.network.telephony.SubscriptionRepository
 import com.android.settings.network.telephony.ims.ImsMmTelRepositoryImpl
-import com.android.settings.network.telephony.requireSubscriptionManager
-import com.android.settings.network.telephony.safeGetConfig
-import com.android.settings.network.telephony.subscriptionsChangedFlow
-import com.android.settings.network.telephony.telephonyManager
 import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.ExperimentalCoroutinesApi
-import kotlinx.coroutines.channels.Channel
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.combine
+import kotlinx.coroutines.flow.conflate
 import kotlinx.coroutines.flow.distinctUntilChanged
 import kotlinx.coroutines.flow.flatMapLatest
+import kotlinx.coroutines.flow.flowOf
 import kotlinx.coroutines.flow.launchIn
 import kotlinx.coroutines.flow.map
-import kotlinx.coroutines.flow.merge
 import kotlinx.coroutines.flow.onEach
-import kotlinx.coroutines.flow.receiveAsFlow
 import kotlinx.coroutines.plus
 
 @OptIn(ExperimentalCoroutinesApi::class)
-class CrossSimCallingViewModel(
-    private val application: Application,
-) : AndroidViewModel(application) {
+class CrossSimCallingViewModel(private val application: Application) :
+    AndroidViewModel(application) {
 
-    private val subscriptionManager = application.requireSubscriptionManager()
-    private val carrierConfigManager =
-        application.getSystemService(CarrierConfigManager::class.java)!!
+    private val subscriptionRepository = SubscriptionRepository(application)
+    private val dataSubscriptionRepository = DataSubscriptionRepository(application)
+    private val mobileDataRepository = MobileDataRepository(application)
+    private val carrierConfigRepository = CarrierConfigRepository(application)
     private val scope = viewModelScope + Dispatchers.Default
     private val metricsFeatureProvider = featureFactory.metricsFeatureProvider
-    private val updateChannel = Channel<Unit>()
 
     init {
         val resources = application.resources
         if (resources.getBoolean(R.bool.config_auto_data_switch_enables_cross_sim_calling)) {
-            application.subscriptionsChangedFlow()
-                .flatMapLatest {
-                    val activeSubIds = subscriptionManager.activeSubscriptionIdList.toList()
-                    merge(
-                        activeSubIds.anyMobileDataEnableChangedFlow(),
-                        updateChannel.receiveAsFlow(),
-                    ).map {
-                        activeSubIds to crossSimCallNewEnabled(activeSubIds)
+            combine(
+                    subscriptionRepository.activeSubscriptionIdListFlow(),
+                    dataSubscriptionRepository.defaultDataSubscriptionIdFlow(),
+                ) { activeSubIds, defaultDataSubId ->
+                    updatableSubIdsFlow(activeSubIds) to
+                        crossSimCallNewEnabledFlow(activeSubIds, defaultDataSubId)
+                }
+                .flatMapLatest { (updatableSubIdsFlow, crossSimCallNewEnabledFlow) ->
+                    combine(updatableSubIdsFlow, crossSimCallNewEnabledFlow) {
+                        updatableSubIds,
+                        newEnabled ->
+                        updatableSubIds to newEnabled
                     }
                 }
                 .distinctUntilChanged()
-                .onEach { (activeSubIds, newEnabled) ->
-                    updateCrossSimCalling(activeSubIds, newEnabled)
+                .conflate()
+                .onEach { (updatableSubIds, newEnabled) ->
+                    Log.d(TAG, "updatableSubIds: $updatableSubIds newEnabled: $newEnabled")
+                    updateCrossSimCalling(updatableSubIds, newEnabled)
                 }
                 .launchIn(scope)
         }
     }
 
-    fun updateCrossSimCalling() {
-        updateChannel.trySend(Unit)
+    private fun updatableSubIdsFlow(activeSubIds: List<Int>): Flow<List<Int>> {
+        val updatableSubIdFlows =
+            activeSubIds.map { subId ->
+                WifiCallingRepository(application, subId).wifiCallingReadyFlow().map { isReady ->
+                    subId.takeIf { isReady && isCrossSimImsAvailable(subId) }
+                }
+            }
+        return combine(updatableSubIdFlows) { subIds -> subIds.filterNotNull() }
+            .distinctUntilChanged()
+            .conflate()
     }
 
-    private fun List<Int>.anyMobileDataEnableChangedFlow() = map { subId ->
-        application.mobileDataEnabledFlow(subId = subId, sendInitialValue = false)
-    }.merge()
+    private fun isCrossSimImsAvailable(subId: Int) =
+        carrierConfigRepository.getBoolean(
+            subId,
+            CarrierConfigManager.KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL,
+        )
 
-    private suspend fun updateCrossSimCalling(activeSubIds: List<Int>, newEnabled: Boolean) {
+    private fun crossSimCallNewEnabledFlow(
+        activeSubscriptionIdList: List<Int>,
+        defaultDataSubId: Int,
+    ): Flow<Boolean> {
+        if (!SubscriptionManager.isValidSubscriptionId(defaultDataSubId)) return flowOf(false)
+        val isMobileDataPolicyEnabledFlows =
+            activeSubscriptionIdList
+                .filter { subId -> subId != defaultDataSubId }
+                .map { subId ->
+                    mobileDataRepository.isMobileDataPolicyEnabledFlow(
+                        subId,
+                        TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
+                    )
+                }
+        return combine(isMobileDataPolicyEnabledFlows) { true in it }
+            .distinctUntilChanged()
+            .conflate()
+    }
+
+    private suspend fun updateCrossSimCalling(subIds: List<Int>, newEnabled: Boolean) {
         metricsFeatureProvider.action(
             application,
             SettingsEnums.ACTION_UPDATE_CROSS_SIM_CALLING_ON_AUTO_DATA_SWITCH_EVENT,
             newEnabled,
         )
-        activeSubIds.filter { crossSimAvailable(it) }.forEach { subId ->
-            ImsMmTelRepositoryImpl(application, subId)
-                .setCrossSimCallingEnabled(newEnabled)
+        for (subId in subIds) {
+            ImsMmTelRepositoryImpl(application, subId).setCrossSimCallingEnabled(newEnabled)
         }
     }
 
-    private suspend fun crossSimAvailable(subId: Int): Boolean =
-        WifiCallingRepository(application, subId).isWifiCallingSupported() &&
-            crossSimImsAvailable(subId)
-
-    private fun crossSimImsAvailable(subId: Int): Boolean =
-        carrierConfigManager.safeGetConfig(
-            keys = listOf(CarrierConfigManager.KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL),
-            subId = subId,
-        ).getBoolean(CarrierConfigManager.KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL, false)
-
-    private fun crossSimCallNewEnabled(activeSubscriptionIdList: List<Int>): Boolean {
-        val defaultDataSubId = SubscriptionManager.getDefaultDataSubscriptionId()
-        return SubscriptionManager.isValidSubscriptionId(defaultDataSubId) &&
-            activeSubscriptionIdList.any { subId ->
-                subId != defaultDataSubId &&
-                    application.telephonyManager(subId).isMobileDataPolicyEnabled(
-                        TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH
-                    )
-            }
+    companion object {
+        private const val TAG = "CrossSimCallingVM"
     }
 }
diff --git a/src/com/android/settings/network/telephony/wificalling/WifiCallingRepository.kt b/src/com/android/settings/network/telephony/wificalling/WifiCallingRepository.kt
index a5d4ba8..a6a47fa 100644
--- a/src/com/android/settings/network/telephony/wificalling/WifiCallingRepository.kt
+++ b/src/com/android/settings/network/telephony/wificalling/WifiCallingRepository.kt
@@ -20,31 +20,31 @@
 import android.telephony.AccessNetworkConstants
 import android.telephony.CarrierConfigManager
 import android.telephony.CarrierConfigManager.KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL
-import android.telephony.SubscriptionManager
-import android.telephony.TelephonyManager
 import android.telephony.ims.ImsMmTelManager.WiFiCallingMode
 import android.telephony.ims.feature.MmTelFeature
 import android.telephony.ims.stub.ImsRegistrationImplBase
+import androidx.lifecycle.LifecycleOwner
+import com.android.settings.network.telephony.ims.ImsFeatureRepository
 import com.android.settings.network.telephony.ims.ImsMmTelRepository
 import com.android.settings.network.telephony.ims.ImsMmTelRepositoryImpl
-import com.android.settings.network.telephony.ims.imsFeatureProvisionedFlow
-import com.android.settings.network.telephony.subscriptionsChangedFlow
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.ExperimentalCoroutinesApi
+import com.android.settings.network.telephony.telephonyManager
+import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
 import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.combine
-import kotlinx.coroutines.flow.flatMapLatest
-import kotlinx.coroutines.flow.flowOf
-import kotlinx.coroutines.flow.map
-import kotlinx.coroutines.withContext
 
-class WifiCallingRepository(
+interface IWifiCallingRepository {
+    /** TODO: Move this to UI layer, when UI layer migrated to Kotlin. */
+    fun collectIsWifiCallingReadyFlow(lifecycleOwner: LifecycleOwner, action: (Boolean) -> Unit)
+}
+
+class WifiCallingRepository
+@JvmOverloads
+constructor(
     private val context: Context,
     private val subId: Int,
-    private val imsMmTelRepository: ImsMmTelRepository = ImsMmTelRepositoryImpl(context, subId)
-) {
-    private val telephonyManager = context.getSystemService(TelephonyManager::class.java)!!
-        .createForSubscriptionId(subId)
+    private val imsFeatureRepository: ImsFeatureRepository = ImsFeatureRepository(context, subId),
+    private val imsMmTelRepository: ImsMmTelRepository = ImsMmTelRepositoryImpl(context, subId),
+) : IWifiCallingRepository {
+    private val telephonyManager = context.telephonyManager(subId)
 
     private val carrierConfigManager = context.getSystemService(CarrierConfigManager::class.java)!!
 
@@ -59,33 +59,18 @@
             .getConfigForSubId(subId, KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL)
             .getBoolean(KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL)
 
-    @OptIn(ExperimentalCoroutinesApi::class)
-    fun wifiCallingReadyFlow(): Flow<Boolean> {
-        if (!SubscriptionManager.isValidSubscriptionId(subId)) return flowOf(false)
-        return context.subscriptionsChangedFlow().flatMapLatest {
-            combine(
-                imsFeatureProvisionedFlow(
-                    subId = subId,
-                    capability = MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
-                    tech = ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN,
-                ),
-                isWifiCallingSupportedFlow(),
-            ) { imsFeatureProvisioned, isWifiCallingSupported ->
-                imsFeatureProvisioned && isWifiCallingSupported
-            }
-        }
+    /** TODO: Move this to UI layer, when UI layer migrated to Kotlin. */
+    override fun collectIsWifiCallingReadyFlow(
+        lifecycleOwner: LifecycleOwner,
+        action: (Boolean) -> Unit,
+    ) {
+        wifiCallingReadyFlow().collectLatestWithLifecycle(lifecycleOwner, action = action)
     }
 
-    private fun isWifiCallingSupportedFlow(): Flow<Boolean> {
-        return imsMmTelRepository.imsReadyFlow().map { imsReady ->
-            imsReady && isWifiCallingSupported()
-        }
-    }
-
-    suspend fun isWifiCallingSupported(): Boolean = withContext(Dispatchers.Default) {
-        imsMmTelRepository.isSupported(
+    fun wifiCallingReadyFlow(): Flow<Boolean> =
+        imsFeatureRepository.isReadyFlow(
             capability = MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
+            tech = ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN,
             transportType = AccessNetworkConstants.TRANSPORT_TYPE_WLAN,
         )
-    }
 }
diff --git a/src/com/android/settings/notification/NotificationBackend.java b/src/com/android/settings/notification/NotificationBackend.java
index 0661de7..d6f810c 100644
--- a/src/com/android/settings/notification/NotificationBackend.java
+++ b/src/com/android/settings/notification/NotificationBackend.java
@@ -21,6 +21,8 @@
 import static android.content.pm.LauncherApps.ShortcutQuery.FLAG_MATCH_DYNAMIC;
 import static android.content.pm.LauncherApps.ShortcutQuery.FLAG_MATCH_PINNED_BY_ANY_LAUNCHER;
 
+import static com.android.server.notification.Flags.notificationHideUnusedChannels;
+
 import android.app.INotificationManager;
 import android.app.NotificationChannel;
 import android.app.NotificationChannelGroup;
@@ -78,6 +80,9 @@
 
     public AppRow loadAppRow(Context context, PackageManager pm, ApplicationInfo app) {
         final AppRow row = new AppRow();
+        if (notificationHideUnusedChannels()) {
+            row.showAllChannels = false;
+        }
         row.pkg = app.packageName;
         row.uid = app.uid;
         try {
@@ -357,19 +362,6 @@
         }
     }
 
-    /**
-     * Returns all of a user's packages that have at least one channel that will bypass DND
-     */
-    public List<String> getPackagesBypassingDnd(int userId,
-            boolean includeConversationChannels) {
-        try {
-            return sINM.getPackagesBypassingDnd(userId, includeConversationChannels);
-        } catch (Exception e) {
-            Log.w(TAG, "Error calling NoMan", e);
-            return new ArrayList<>();
-        }
-    }
-
     public void updateChannel(String pkg, int uid, NotificationChannel channel) {
         try {
             sINM.updateNotificationChannelForPackage(pkg, uid, channel);
@@ -699,5 +691,6 @@
         public int channelCount;
         public Map<String, NotificationsSentState> sentByChannel;
         public NotificationsSentState sentByApp;
+        public boolean showAllChannels = true;
     }
 }
diff --git a/src/com/android/settings/notification/SettingsEnableZenModeDialog.java b/src/com/android/settings/notification/SettingsEnableZenModeDialog.java
index 880db35..d851caf 100644
--- a/src/com/android/settings/notification/SettingsEnableZenModeDialog.java
+++ b/src/com/android/settings/notification/SettingsEnableZenModeDialog.java
@@ -21,13 +21,13 @@
 import android.os.Bundle;
 
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.notification.modes.EnableZenModeDialog;
 
 public class SettingsEnableZenModeDialog extends InstrumentedDialogFragment {
 
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
-         return new com.android.settingslib.notification.EnableZenModeDialog(
-                 getContext()).createDialog();
+         return new EnableZenModeDialog(getContext()).createDialog();
     }
 
     @Override
diff --git a/src/com/android/settings/notification/app/AppChannelsBypassingDndPreferenceController.java b/src/com/android/settings/notification/app/AppChannelsBypassingDndPreferenceController.java
index 200a47b..778c788 100644
--- a/src/com/android/settings/notification/app/AppChannelsBypassingDndPreferenceController.java
+++ b/src/com/android/settings/notification/app/AppChannelsBypassingDndPreferenceController.java
@@ -226,7 +226,10 @@
                         .setArguments(channelArgs)
                         .setUserHandle(UserHandle.of(mAppRow.userId))
                         .setTitleRes(com.android.settings.R.string.notification_channel_title)
-                        .setSourceMetricsCategory(SettingsEnums.DND_APPS_BYPASSING)
+                        .setSourceMetricsCategory(
+                                android.app.Flags.modesUi()
+                                    ? SettingsEnums.NOTIFICATION_ZEN_MODE_OVERRIDING_APP_CHANNELS
+                                        : SettingsEnums.DND_APPS_BYPASSING)
                         .launch();
                 return true;
             });
diff --git a/src/com/android/settings/notification/app/AppChannelsBypassingDndSettings.java b/src/com/android/settings/notification/app/AppChannelsBypassingDndSettings.java
index 4fab7e2..b5e2b13 100644
--- a/src/com/android/settings/notification/app/AppChannelsBypassingDndSettings.java
+++ b/src/com/android/settings/notification/app/AppChannelsBypassingDndSettings.java
@@ -40,7 +40,9 @@
 
     @Override
     public int getMetricsCategory() {
-        return SettingsEnums.DND_APPS_BYPASSING;
+        return android.app.Flags.modesUi()
+                ? SettingsEnums.NOTIFICATION_ZEN_MODE_OVERRIDING_APP_CHANNELS
+                : SettingsEnums.DND_APPS_BYPASSING;
     }
 
     @Override
diff --git a/src/com/android/settings/notification/app/AppNotificationSettings.java b/src/com/android/settings/notification/app/AppNotificationSettings.java
index 89756b7..046f0ce 100644
--- a/src/com/android/settings/notification/app/AppNotificationSettings.java
+++ b/src/com/android/settings/notification/app/AppNotificationSettings.java
@@ -16,16 +16,10 @@
 
 package com.android.settings.notification.app;
 
-import static com.android.server.notification.Flags.notificationHideUnusedChannels;
-
-
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.text.TextUtils;
 import android.util.Log;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.MenuItem;
 
 import com.android.internal.widget.LockPatternUtils;
 import com.android.settings.R;
@@ -107,38 +101,9 @@
         mControllers.add(new BubbleSummaryPreferenceController(context, mBackend));
         mControllers.add(new NotificationsOffPreferenceController(context));
         mControllers.add(new DeletedChannelsPreferenceController(context, mBackend));
+        mControllers.add(new ShowMorePreferenceController(
+                context, mDependentFieldListener, mBackend));
+        mControllers.add(new BundleListPreferenceController(context, mBackend));
         return new ArrayList<>(mControllers);
     }
-
-    private final int SHOW_ALL_CHANNELS = 1;
-
-    @Override
-    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
-        if (notificationHideUnusedChannels()) {
-            menu.add(Menu.NONE, SHOW_ALL_CHANNELS, Menu.NONE,
-                    mShowAll ? R.string.hide_unused_channels : R.string.show_unused_channels);
-        }
-        super.onCreateOptionsMenu(menu, inflater);
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        if (!notificationHideUnusedChannels()) {
-            return super.onOptionsItemSelected(item);
-        }
-        switch (item.getItemId()) {
-            case SHOW_ALL_CHANNELS:
-                mShowAll = !mShowAll;
-                item.setTitle(mShowAll
-                        ? R.string.hide_unused_channels
-                        : R.string.show_unused_channels);
-                ChannelListPreferenceController list =
-                        use(ChannelListPreferenceController.class);
-                list.setShowAll(mShowAll);
-                list.updateState(findPreference(list.getPreferenceKey()));
-                return true;
-            default:
-                return super.onOptionsItemSelected(item);
-        }
-    }
 }
diff --git a/src/com/android/settings/notification/app/BundleListPreferenceController.java b/src/com/android/settings/notification/app/BundleListPreferenceController.java
new file mode 100644
index 0000000..82e910c
--- /dev/null
+++ b/src/com/android/settings/notification/app/BundleListPreferenceController.java
@@ -0,0 +1,171 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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.NEWS_ID;
+import static android.app.NotificationChannel.PROMOTIONS_ID;
+import static android.app.NotificationChannel.RECS_ID;
+import static android.app.NotificationChannel.SOCIAL_MEDIA_ID;
+import static android.app.NotificationManager.IMPORTANCE_LOW;
+import static android.app.NotificationManager.IMPORTANCE_NONE;
+
+import static com.android.server.notification.Flags.notificationHideUnusedChannels;
+
+import android.app.NotificationChannel;
+import android.app.NotificationChannelGroup;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.os.AsyncTask;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.service.notification.Flags;
+import android.text.TextUtils;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceGroup;
+import androidx.preference.TwoStatePreference;
+
+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.settingslib.PrimarySwitchPreference;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+public class BundleListPreferenceController extends NotificationPreferenceController {
+
+    private static final String KEY = "bundles";
+
+    public BundleListPreferenceController(Context context, NotificationBackend backend) {
+        super(context, backend);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!Flags.notificationClassification()) {
+            return false;
+        }
+        if (mAppRow == null) {
+            return false;
+        }
+        if (mAppRow.banned || mAppRow.lockedImportance || mAppRow.systemApp) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    boolean isIncludedInFilter() {
+        return false;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        PreferenceCategory category = (PreferenceCategory) preference;
+
+        createOrUpdatePrefForChannel(category,
+                mBackend.getChannel(mAppRow.pkg, mAppRow.uid, PROMOTIONS_ID));
+        createOrUpdatePrefForChannel(category,
+                mBackend.getChannel(mAppRow.pkg, mAppRow.uid, RECS_ID));
+        createOrUpdatePrefForChannel(category,
+                mBackend.getChannel(mAppRow.pkg, mAppRow.uid, SOCIAL_MEDIA_ID));
+        createOrUpdatePrefForChannel(category,
+                mBackend.getChannel(mAppRow.pkg, mAppRow.uid, NEWS_ID));
+    }
+
+    @NonNull
+    private void createOrUpdatePrefForChannel(
+            @NonNull PreferenceGroup groupPrefGroup, NotificationChannel channel) {
+        int preferenceCount = groupPrefGroup.getPreferenceCount();
+        for (int i = 0; i < preferenceCount; i++) {
+            Preference preference = groupPrefGroup.getPreference(i);
+            if (channel.getId().equals(preference.getKey())) {
+                updateSingleChannelPrefs((PrimarySwitchPreference) preference, channel);
+                return;
+            }
+        }
+        PrimarySwitchPreference channelPref = new PrimarySwitchPreference(mContext);
+        channelPref.setKey(channel.getId());
+        updateSingleChannelPrefs(channelPref, channel);
+        groupPrefGroup.addPreference(channelPref);
+    }
+
+    /** Update the properties of the channel preference with the values from the channel object. */
+    private void updateSingleChannelPrefs(@NonNull final PrimarySwitchPreference channelPref,
+            @NonNull final NotificationChannel channel) {
+        channelPref.setSwitchEnabled(mAdmin == null);
+        if (channel.getImportance() > IMPORTANCE_LOW) {
+            channelPref.setIcon(getAlertingIcon());
+        } else {
+            channelPref.setIcon(mContext.getDrawable(R.drawable.empty_icon));
+        }
+        channelPref.setIconSize(PrimarySwitchPreference.ICON_SIZE_SMALL);
+        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());
+        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
+                            ? Math.max(channel.getOriginalImportance(), IMPORTANCE_LOW)
+                            : IMPORTANCE_NONE;
+                    channel.setImportance(importance);
+                    channel.lockFields(NotificationChannel.USER_LOCKED_IMPORTANCE);
+                    PrimarySwitchPreference channelPref1 = (PrimarySwitchPreference) preference;
+                    channelPref1.setIcon(R.drawable.empty_icon);
+                    if (channel.getImportance() > IMPORTANCE_LOW) {
+                        channelPref1.setIcon(getAlertingIcon());
+                    }
+                    mBackend.updateChannel(mAppRow.pkg, mAppRow.uid, channel);
+
+                    return true;
+                });
+    }
+
+    private Drawable getAlertingIcon() {
+        Drawable icon = mContext.getDrawable(R.drawable.ic_notifications_alert);
+        icon.setTintList(Utils.getColorAccent(mContext));
+        return icon;
+    }
+
+}
diff --git a/src/com/android/settings/notification/app/ChannelListPreferenceController.java b/src/com/android/settings/notification/app/ChannelListPreferenceController.java
index 7077592..b8dfb6a 100644
--- a/src/com/android/settings/notification/app/ChannelListPreferenceController.java
+++ b/src/com/android/settings/notification/app/ChannelListPreferenceController.java
@@ -59,8 +59,6 @@
     private List<NotificationChannelGroup> mChannelGroupList;
     private PreferenceCategory mPreference;
 
-    private boolean mShowAll;
-
     public ChannelListPreferenceController(Context context, NotificationBackend backend) {
         super(context, backend);
     }
@@ -100,7 +98,7 @@
             @Override
             protected Void doInBackground(Void... unused) {
                 if (notificationHideUnusedChannels()) {
-                    if (mShowAll) {
+                    if (mAppRow.showAllChannels) {
                         mChannelGroupList = mBackend.getGroups(mAppRow.pkg, mAppRow.uid).getList();
                     } else {
                         mChannelGroupList = mBackend.getGroupsWithRecentBlockedFilter(mAppRow.pkg,
@@ -123,10 +121,6 @@
         }.execute();
     }
 
-    protected void setShowAll(boolean showAll) {
-        mShowAll = showAll;
-    }
-
     /**
      * Update the preferences group to match the
      * @param groupPrefsList
diff --git a/src/com/android/settings/notification/app/DeletedChannelsPreferenceController.java b/src/com/android/settings/notification/app/DeletedChannelsPreferenceController.java
index 6a1d4cb..07b7fda 100644
--- a/src/com/android/settings/notification/app/DeletedChannelsPreferenceController.java
+++ b/src/com/android/settings/notification/app/DeletedChannelsPreferenceController.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.notification.app;
 
+import static com.android.server.notification.Flags.notificationHideUnusedChannels;
+
 import android.content.Context;
 
 import androidx.preference.Preference;
@@ -44,6 +46,9 @@
         if (!super.isAvailable()) {
             return false;
         }
+        if (notificationHideUnusedChannels()) {
+            return false;
+        }
         // only visible on app screen
         if (mChannel != null || hasValidGroup()) {
             return false;
diff --git a/src/com/android/settings/notification/app/ShowMorePreferenceController.java b/src/com/android/settings/notification/app/ShowMorePreferenceController.java
new file mode 100644
index 0000000..dbc279a
--- /dev/null
+++ b/src/com/android/settings/notification/app/ShowMorePreferenceController.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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.server.notification.Flags.notificationHideUnusedChannels;
+
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.notification.NotificationBackend;
+
+import org.jetbrains.annotations.NotNull;
+
+public class ShowMorePreferenceController extends NotificationPreferenceController {
+
+    private static final String KEY = "more";
+    private NotificationSettings.DependentFieldListener mDependentFieldListener;
+
+    public ShowMorePreferenceController(Context context,
+            NotificationSettings.DependentFieldListener dependentFieldListener,
+            NotificationBackend backend) {
+        super(context, backend);
+        mDependentFieldListener = dependentFieldListener;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!notificationHideUnusedChannels()) {
+            return false;
+        }
+        if (mAppRow == null) {
+            return false;
+        }
+        if (mAppRow.banned || mAppRow.showAllChannels) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    boolean isIncludedInFilter() {
+        return false;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        preference.setOnPreferenceClickListener(preference1 -> {
+            mAppRow.showAllChannels = true;
+            mDependentFieldListener.onFieldValueChanged();
+            return true;
+        });
+    }
+}
diff --git a/src/com/android/settings/notification/modes/AbstractZenModeHeaderController.java b/src/com/android/settings/notification/modes/AbstractZenModeHeaderController.java
new file mode 100644
index 0000000..1d1b07d
--- /dev/null
+++ b/src/com/android/settings/notification/modes/AbstractZenModeHeaderController.java
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.settings.notification.modes;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import android.app.Flags;
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+
+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.dashboard.DashboardFragment;
+import com.android.settings.widget.EntityHeaderController;
+import com.android.settingslib.notification.modes.ZenIcon;
+import com.android.settingslib.notification.modes.ZenIconLoader;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.widget.LayoutPreference;
+
+import com.google.common.base.Objects;
+
+import java.util.function.Function;
+
+abstract class AbstractZenModeHeaderController extends AbstractZenModePreferenceController {
+
+    private final DashboardFragment mFragment;
+    private final ZenIconLoader mIconLoader;
+    private EntityHeaderController mHeaderController;
+    @Nullable private ZenIcon.Key mCurrentIconKey;
+
+    AbstractZenModeHeaderController(
+            @NonNull Context context,
+            @NonNull ZenIconLoader iconLoader,
+            @NonNull String key,
+            @NonNull DashboardFragment fragment) {
+        super(context, key);
+        mFragment = fragment;
+        mIconLoader = iconLoader;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return Flags.modesApi() && Flags.modesUi();
+    }
+
+    protected void setUpHeader(PreferenceScreen screen, int iconSizePx) {
+        LayoutPreference preference = checkNotNull(screen.findPreference(getPreferenceKey()));
+        preference.setSelectable(false);
+
+        ImageView iconView = checkNotNull(preference.findViewById(R.id.entity_header_icon));
+        ViewGroup.LayoutParams layoutParams = iconView.getLayoutParams();
+        if (layoutParams.width != iconSizePx || layoutParams.height != iconSizePx) {
+            layoutParams.width = iconSizePx;
+            layoutParams.height = iconSizePx;
+            iconView.setLayoutParams(layoutParams);
+        }
+
+        if (mHeaderController == null) {
+            mHeaderController = EntityHeaderController.newInstance(
+                    mFragment.getActivity(),
+                    mFragment,
+                    preference.findViewById(R.id.entity_header));
+            mHeaderController.done(false); // Make the space for the (unused) name go away.
+        }
+    }
+
+    protected void updateIcon(Preference preference, @NonNull ZenMode zenMode,
+            Function<Drawable, Drawable> iconStylist, boolean isSelected) {
+
+        ImageView iconView = checkNotNull(
+                ((LayoutPreference) preference).findViewById(R.id.entity_header_icon));
+        iconView.setSelected(isSelected);
+
+        if (!Objects.equal(mCurrentIconKey, zenMode.getIconKey())) {
+            mCurrentIconKey = zenMode.getIconKey();
+            FutureUtil.whenDone(
+                    mIconLoader.getIcon(mContext, zenMode),
+                    icon -> {
+                        checkNotNull(mHeaderController)
+                                .setIcon(iconStylist.apply(icon.drawable()))
+                                .done(/* rebindActions= */ false);
+                        iconView.jumpDrawablesToCurrentState(); // Skip animation on first load.
+                    },
+                    mContext.getMainExecutor());
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/modes/AbstractZenModePreferenceController.java b/src/com/android/settings/notification/modes/AbstractZenModePreferenceController.java
index aebc4eb..b27292a 100644
--- a/src/com/android/settings/notification/modes/AbstractZenModePreferenceController.java
+++ b/src/com/android/settings/notification/modes/AbstractZenModePreferenceController.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.notification.modes;
 
+import static com.google.common.base.Preconditions.checkState;
+
 import android.app.Flags;
 import android.content.Context;
 import android.service.notification.ZenPolicy;
@@ -23,11 +25,14 @@
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.core.AbstractPreferenceController;
-
-import com.google.common.base.Preconditions;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
 
 import java.util.function.Function;
 
@@ -38,8 +43,7 @@
 
     private static final String TAG = "AbstractZenModePreferenceController";
 
-    @Nullable
-    protected ZenModesBackend mBackend;
+    @Nullable protected final ZenModesBackend mBackend;
 
     @Nullable  // only until setZenMode() is called
     private ZenMode mZenMode;
@@ -47,14 +51,31 @@
     @NonNull
     private final String mKey;
 
-    // ZenModesBackend should only be passed in if the preference controller may set the user's
-    // policy for this zen mode. Otherwise, if the preference controller is essentially read-only
-    // and leads to a further Settings screen, backend should be null.
-    AbstractZenModePreferenceController(@NonNull Context context, @NonNull String key,
-            @Nullable ZenModesBackend backend) {
+    @NonNull private final MetricsFeatureProvider mMetricsFeatureProvider;
+
+    /**
+     * Constructor suitable for "read-only" controllers (e.g. link to a different sub-screen.
+     * Controllers that call this constructor to initialize themselves <em>cannot</em> call
+     * {@link #saveMode} or {@link #savePolicy} later.
+     */
+    AbstractZenModePreferenceController(@NonNull Context context, @NonNull String key) {
         super(context);
-        mBackend = backend;
         mKey = key;
+        mBackend = null;
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
+    }
+
+    /**
+     * Constructor suitable for controllers that will update the associated {@link ZenMode}.
+     * Controllers that call this constructor to initialize themselves may call {@link #saveMode} or
+     * {@link #savePolicy} later.
+     */
+    AbstractZenModePreferenceController(@NonNull Context context, @NonNull String key,
+            @NonNull ZenModesBackend backend) {
+        super(context);
+        mKey = key;
+        mBackend = backend;
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
@@ -63,6 +84,11 @@
         return mKey;
     }
 
+    @NonNull
+    public MetricsFeatureProvider getMetricsFeatureProvider() {
+        return mMetricsFeatureProvider;
+    }
+
     @Override
     public boolean isAvailable() {
         if (mZenMode != null) {
@@ -76,19 +102,14 @@
         return true;
     }
 
-    // Called by parent Fragment onAttach, for any methods (such as isAvailable()) that need
-    // zen mode info before onStart. Most callers should use updateZenMode instead, which will
-    // do any further necessary propagation.
-    protected final void setZenMode(@NonNull ZenMode zenMode) {
+    /**
+     * Assigns the {@link ZenMode} of this controller, so that it can be used later from
+     * {@link #isAvailable()} and {@link #updateState(Preference)}.
+     */
+    final void setZenMode(@NonNull ZenMode zenMode) {
         mZenMode = zenMode;
     }
 
-    // Called by the parent Fragment onStart, which means it will happen before resume.
-    public void updateZenMode(@NonNull Preference preference, @NonNull ZenMode zenMode) {
-        mZenMode = zenMode;
-        updateState(preference);
-    }
-
     @Override
     public final void updateState(Preference preference) {
         super.updateState(preference);
@@ -122,7 +143,7 @@
      *                instance is ok.
      */
     protected final boolean saveMode(Function<ZenMode, ZenMode> updater) {
-        Preconditions.checkState(mBackend != null);
+        checkState(mBackend != null);
         ZenMode mode = mZenMode;
         if (mode == null) {
             Log.wtf(TAG, "Cannot save mode, it hasn't been loaded (" + getClass() + ")");
@@ -141,4 +162,20 @@
             return mode;
         });
     }
+
+    @VisibleForTesting(otherwise = VisibleForTesting.NONE)
+    @Nullable
+    ZenMode getZenMode() {
+        return mZenMode;
+    }
+
+    /**
+     * Convenience method for tests. Assigns the {@link ZenMode} of this controller, and calls
+     * {@link #updateState(Preference)} immediately.
+     */
+    @VisibleForTesting(otherwise = VisibleForTesting.NONE)
+    final void updateZenMode(@NonNull Preference preference, @NonNull ZenMode zenMode) {
+        mZenMode = zenMode;
+        updateState(preference);
+    }
 }
diff --git a/src/com/android/settings/notification/modes/CircularIconSet.java b/src/com/android/settings/notification/modes/CircularIconSet.java
new file mode 100644
index 0000000..eb7289a
--- /dev/null
+++ b/src/com/android/settings/notification/modes/CircularIconSet.java
@@ -0,0 +1,128 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.graphics.drawable.Drawable;
+
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+
+import com.google.common.base.Equivalence;
+import com.google.common.base.MoreObjects;
+import com.google.common.collect.ImmutableList;
+import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.ListeningExecutorService;
+import com.google.common.util.concurrent.MoreExecutors;
+
+import java.util.List;
+import java.util.Optional;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.function.Function;
+
+/**
+ * A set of icons to be displayed in a {@link CircularIconsPreference}
+ *
+ * @param <T> The type of the items in the set. Can be an arbitrary type, the only requirement
+ *           being that the {@code drawableLoader} supplied to the constructor is able to produce
+ *           a {@link Drawable} from it (for example a resource id, a Content Uri, etc).
+ */
+class CircularIconSet<T> {
+
+    @VisibleForTesting // Can be set by tests, before creating instances.
+    static ExecutorService sExecutorService = Executors.newCachedThreadPool();
+
+    static final CircularIconSet<?> EMPTY = new CircularIconSet<>(ImmutableList.of(),
+            unused -> new ColorDrawable(Color.BLACK));
+
+    private final ImmutableList<T> mItems;
+    private final Function<T, Drawable> mDrawableLoader;
+    private final ListeningExecutorService mBackgroundExecutor;
+
+    private final ConcurrentHashMap<T, Drawable> mCachedIcons;
+
+    CircularIconSet(List<T> items, Function<T, Drawable> drawableLoader) {
+        mItems = ImmutableList.copyOf(items);
+        mDrawableLoader = drawableLoader;
+        mBackgroundExecutor = MoreExecutors.listeningDecorator(sExecutorService);
+        mCachedIcons = new ConcurrentHashMap<>();
+    }
+
+    @Override
+    public String toString() {
+        return MoreObjects.toStringHelper(this).add("items", mItems).toString();
+    }
+
+    @SuppressWarnings("unchecked")
+    <OtherT> boolean hasSameItemsAs(CircularIconSet<OtherT> other,
+            @Nullable Equivalence<OtherT> equivalence) {
+        if (other == null) {
+            return false;
+        }
+        if (other == this) {
+            return true;
+        }
+        if (equivalence == null) {
+            return mItems.equals(other.mItems);
+        }
+        // Check that types match before applying equivalence (statically unsafe). :(
+        Optional<Class<?>> thisItemClass = this.mItems.stream().findFirst().map(T::getClass);
+        Optional<Class<?>> otherItemClass = other.mItems.stream().findFirst().map(OtherT::getClass);
+        if (!thisItemClass.equals(otherItemClass)) {
+            return false;
+        }
+        return equivalence.pairwise().equivalent((Iterable<OtherT>) this.mItems, other.mItems);
+    }
+
+    int size() {
+        return mItems.size();
+    }
+
+    /**
+     * Loads all icons from the set, using the supplied {@code drawableLoader}, in a background
+     * thread.
+     */
+    List<ListenableFuture<Drawable>> getIcons() {
+        return getIcons(Integer.MAX_VALUE);
+    }
+
+    /**
+     * Loads up to {@code maxSize} icons from the set, using the supplied {@code drawableLoader}, in
+     * a background thread.
+     */
+    List<ListenableFuture<Drawable>> getIcons(int maxNumber) {
+        return mItems.stream().limit(maxNumber)
+                .map(this::loadIcon)
+                .toList();
+    }
+
+    private ListenableFuture<Drawable> loadIcon(T item) {
+        return mBackgroundExecutor.submit(() -> {
+            if (mCachedIcons.containsKey(item)) {
+                return mCachedIcons.get(item);
+            }
+            Drawable drawable = mDrawableLoader.apply(item);
+            if (drawable != null) {
+                mCachedIcons.put(item, drawable);
+            }
+            return drawable;
+        });
+    }
+}
diff --git a/src/com/android/settings/notification/modes/CircularIconsPreference.java b/src/com/android/settings/notification/modes/CircularIconsPreference.java
new file mode 100644
index 0000000..5a89352
--- /dev/null
+++ b/src/com/android/settings/notification/modes/CircularIconsPreference.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static android.view.View.GONE;
+import static android.view.View.VISIBLE;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import android.content.Context;
+import android.util.AttributeSet;
+
+import androidx.annotation.Nullable;
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+import com.android.settingslib.RestrictedPreference;
+
+import com.google.common.base.Equivalence;
+
+public class CircularIconsPreference extends RestrictedPreference {
+
+    private CircularIconSet<?> mIconSet = CircularIconSet.EMPTY;
+
+    public CircularIconsPreference(Context context) {
+        super(context);
+        init();
+    }
+
+    public CircularIconsPreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        init();
+    }
+
+    public CircularIconsPreference(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        init();
+    }
+
+    public CircularIconsPreference(Context context, AttributeSet attrs, int defStyleAttr,
+            int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+        init();
+    }
+
+    private void init() {
+        setLayoutResource(R.layout.preference_circular_icons);
+    }
+
+    <T> void setIcons(CircularIconSet<T> iconSet) {
+        setIcons(iconSet, null);
+    }
+
+    <T> void setIcons(CircularIconSet<T> iconSet, @Nullable Equivalence<T> itemEquivalence) {
+        if (mIconSet.hasSameItemsAs(iconSet, itemEquivalence)) {
+            return;
+        }
+
+        mIconSet = iconSet;
+        notifyChanged();
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+        CircularIconsView iconContainer = checkNotNull(
+                (CircularIconsView) holder.findViewById(R.id.circles_container));
+
+        iconContainer.setVisibility(mIconSet != null && mIconSet.size() == 0 ? GONE : VISIBLE);
+        iconContainer.setEnabled(isEnabled());
+        iconContainer.setIcons(mIconSet);
+    }
+}
diff --git a/src/com/android/settings/notification/modes/CircularIconsView.java b/src/com/android/settings/notification/modes/CircularIconsView.java
new file mode 100644
index 0000000..b0e4280
--- /dev/null
+++ b/src/com/android/settings/notification/modes/CircularIconsView.java
@@ -0,0 +1,232 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.graphics.drawable.Drawable;
+import android.util.AttributeSet;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+
+import com.android.settings.R;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
+
+import java.util.List;
+import java.util.concurrent.Executor;
+
+public class CircularIconsView extends LinearLayout {
+
+    private static final float DISABLED_ITEM_ALPHA = 0.3f;
+
+    record Icons(ImmutableList<Drawable> icons, int extraItems) { }
+
+    private Executor mUiExecutor;
+    private int mNumberOfCirclesThatFit;
+
+    // Chronologically, fields will be set top-to-bottom.
+    @Nullable private CircularIconSet<?> mIconSet;
+    @Nullable private ListenableFuture<List<Drawable>> mPendingLoadIconsFuture;
+    @Nullable private Icons mDisplayedIcons;
+
+    public CircularIconsView(Context context) {
+        super(context);
+        setUiExecutor(context.getMainExecutor());
+    }
+
+    public CircularIconsView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        setUiExecutor(context.getMainExecutor());
+    }
+
+    public CircularIconsView(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        setUiExecutor(context.getMainExecutor());
+    }
+
+    public CircularIconsView(Context context, AttributeSet attrs, int defStyleAttr,
+            int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+        setUiExecutor(context.getMainExecutor());
+    }
+
+    @VisibleForTesting
+    void setUiExecutor(Executor uiExecutor) {
+        mUiExecutor = uiExecutor;
+    }
+
+    <T> void setIcons(CircularIconSet<T> iconSet) {
+        if (mIconSet != null && mIconSet.equals(iconSet)) {
+            return;
+        }
+
+        mIconSet = checkNotNull(iconSet);
+        cancelPendingTasks();
+        if (getMeasuredWidth() != 0) {
+            startLoadingIcons(iconSet);
+        }
+    }
+
+    private void cancelPendingTasks() {
+        mDisplayedIcons = null;
+        if (mPendingLoadIconsFuture != null) {
+            mPendingLoadIconsFuture.cancel(true);
+            mPendingLoadIconsFuture = null;
+        }
+    }
+
+    @Override
+    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
+        super.onLayout(changed, left, top, right, bottom);
+
+        int numFitting = getNumberOfCirclesThatFit();
+        if (mNumberOfCirclesThatFit != numFitting) {
+            // View has been measured for the first time OR its dimensions have changed since then.
+            // Keep track, because we want to reload stuff if more (or less) items fit.
+            mNumberOfCirclesThatFit = numFitting;
+
+            if (mIconSet != null) {
+                cancelPendingTasks();
+                startLoadingIcons(mIconSet);
+            }
+        }
+    }
+
+    private int getNumberOfCirclesThatFit() {
+        Resources res = getContext().getResources();
+        int availableSpace = getMeasuredWidth();
+        int iconHorizontalSpace = res.getDimensionPixelSize(R.dimen.zen_mode_circular_icon_diameter)
+                + res.getDimensionPixelSize(R.dimen.zen_mode_circular_icon_margin_between);
+        return availableSpace / iconHorizontalSpace;
+    }
+
+    private void startLoadingIcons(CircularIconSet<?> iconSet) {
+        int numCirclesThatFit = getNumberOfCirclesThatFit();
+
+        List<ListenableFuture<Drawable>> iconFutures;
+        int extraItems;
+        if (iconSet.size() > numCirclesThatFit) {
+            // Reserve one space for the (+xx) textview.
+            int numIconsToShow = numCirclesThatFit - 1;
+            if (numIconsToShow < 0) {
+                numIconsToShow = 0;
+            }
+            iconFutures = iconSet.getIcons(numIconsToShow);
+            extraItems = iconSet.size() - numIconsToShow;
+        } else {
+            // Fit exactly or with remaining space.
+            iconFutures = iconSet.getIcons();
+            extraItems = 0;
+        }
+
+        // Display icons when all are ready (more consistent than randomly loading).
+        mPendingLoadIconsFuture = Futures.allAsList(iconFutures);
+        FutureUtil.whenDone(
+                mPendingLoadIconsFuture,
+                icons -> setDrawables(new Icons(ImmutableList.copyOf(icons), extraItems)),
+                mUiExecutor);
+    }
+
+    private void setDrawables(Icons icons) {
+        mDisplayedIcons = icons;
+
+        // Rearrange child views until we have <numImages> ImageViews...
+        LayoutInflater inflater = LayoutInflater.from(getContext());
+        int numImages = icons.icons.size();
+        int numImageViews = getChildCount(ImageView.class);
+        if (numImages > numImageViews) {
+            for (int i = 0; i < numImages - numImageViews; i++) {
+                ImageView imageView = (ImageView) inflater.inflate(
+                        R.layout.preference_circular_icons_item, this, false);
+                addView(imageView, 0);
+            }
+        } else if (numImageViews > numImages) {
+            for (int i = 0; i < numImageViews - numImages; i++) {
+                removeViewAt(0);
+            }
+        }
+        // ... plus 0/1 TextViews at the end.
+        if (icons.extraItems > 0 && !(getLastChild() instanceof TextView)) {
+            TextView plusView = (TextView) inflater.inflate(
+                    R.layout.preference_circular_icons_plus_item, this, false);
+            this.addView(plusView);
+        } else if (icons.extraItems == 0 && (getLastChild() instanceof TextView)) {
+            removeViewAt(getChildCount() - 1);
+        }
+
+        // Show images (and +n if needed).
+        for (int i = 0; i < numImages; i++) {
+            ImageView imageView = (ImageView) getChildAt(i);
+            imageView.setImageDrawable(icons.icons.get(i));
+        }
+        if (icons.extraItems > 0) {
+            TextView textView = (TextView) checkNotNull(getLastChild());
+            textView.setText(getContext().getString(R.string.zen_mode_plus_n_items,
+                    icons.extraItems));
+        }
+
+        applyEnabledDisabledAppearance(isEnabled());
+    }
+
+    @Override
+    public void setEnabled(boolean enabled) {
+        super.setEnabled(enabled);
+        applyEnabledDisabledAppearance(isEnabled());
+    }
+
+    private void applyEnabledDisabledAppearance(boolean enabled) {
+        for (int i = 0; i < getChildCount(); i++) {
+            View child = getChildAt(i);
+            child.setAlpha(enabled ? 1.0f : DISABLED_ITEM_ALPHA);
+        }
+    }
+
+    private int getChildCount(Class<? extends View> childClass) {
+        int count = 0;
+        for (int i = 0; i < getChildCount(); i++) {
+            if (childClass.isInstance(getChildAt(i))) {
+                count++;
+            }
+        }
+        return count;
+    }
+
+    @Nullable
+    private View getLastChild() {
+        if (getChildCount() == 0) {
+            return null;
+        }
+        return getChildAt(getChildCount() - 1);
+    }
+
+    @VisibleForTesting(otherwise = VisibleForTesting.NONE)
+    @Nullable
+    Icons getDisplayedIcons() {
+        return mDisplayedIcons;
+    }
+}
diff --git a/src/com/android/settings/notification/modes/ConfigurationActivityHelper.java b/src/com/android/settings/notification/modes/ConfigurationActivityHelper.java
new file mode 100644
index 0000000..d001651
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ConfigurationActivityHelper.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static android.app.NotificationManager.EXTRA_AUTOMATIC_RULE_ID;
+
+import android.content.ComponentName;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.ComponentInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.service.notification.ConditionProviderService;
+import android.util.Log;
+
+import androidx.annotation.Nullable;
+
+import com.android.settingslib.notification.modes.ZenMode;
+
+import java.util.List;
+import java.util.function.Function;
+
+class ConfigurationActivityHelper {
+
+    private static final String TAG = "ConfigurationActivityHelper";
+
+    private final PackageManager mPm;
+
+    ConfigurationActivityHelper(PackageManager pm) {
+        mPm = pm;
+    }
+
+    @Nullable
+    Intent getConfigurationActivityIntentForMode(ZenMode zenMode,
+            Function<ComponentName, ComponentInfo> approvedServiceFinder) {
+
+        String owner = zenMode.getRule().getPackageName();
+        ComponentName configActivity = null;
+        if (zenMode.getRule().getConfigurationActivity() != null) {
+            // If a configuration activity is present, use that directly in the intent
+            configActivity = zenMode.getRule().getConfigurationActivity();
+        } else {
+            // Otherwise, look for a condition provider service for the rule's package
+            ComponentInfo ci = approvedServiceFinder.apply(zenMode.getRule().getOwner());
+            if (ci != null) {
+                configActivity = extractConfigurationActivityFromComponent(ci);
+            }
+        }
+
+        if (configActivity != null
+                && (owner == null || isSameOwnerPackage(owner, configActivity))
+                && isResolvableActivity(configActivity)) {
+            return new Intent()
+                    .setComponent(configActivity)
+                    .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
+                    .putExtra(ConditionProviderService.EXTRA_RULE_ID, zenMode.getId())
+                    .putExtra(EXTRA_AUTOMATIC_RULE_ID, zenMode.getId());
+        } else {
+            return null;
+        }
+    }
+
+    @Nullable
+    ComponentName getConfigurationActivityFromApprovedComponent(ComponentInfo ci) {
+        ComponentName configActivity = extractConfigurationActivityFromComponent(ci);
+        if (configActivity != null
+                && isSameOwnerPackage(ci.packageName, configActivity)
+                && isResolvableActivity(configActivity)) {
+            return configActivity;
+        } else {
+            return null;
+        }
+    }
+
+    /**
+     * Extract the {@link ComponentName} corresponding to the mode configuration <em>activity</em>
+     * from the component declaring the rule (which may be the Activity itself, or a CPS that points
+     * to the activity in question in its metadata).
+     *
+     * <p>This method doesn't perform any validation, so the activity may or may not exist.
+     */
+    @Nullable
+    private ComponentName extractConfigurationActivityFromComponent(ComponentInfo ci) {
+        if (ci instanceof ActivityInfo) {
+            // New (activity-backed) rule.
+            return new ComponentName(ci.packageName, ci.name);
+        } else if (ci.metaData != null) {
+            // Old (service-backed) rule.
+            final String configurationActivity = ci.metaData.getString(
+                    ConditionProviderService.META_DATA_CONFIGURATION_ACTIVITY);
+            if (configurationActivity != null) {
+                return ComponentName.unflattenFromString(configurationActivity);
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Verifies that the activity is the same package as the rule owner.
+     */
+    private boolean isSameOwnerPackage(String ownerPkg, ComponentName activityName) {
+        try {
+            int ownerUid = mPm.getPackageUid(ownerPkg, 0);
+            int configActivityOwnerUid = mPm.getPackageUid(activityName.getPackageName(), 0);
+            if (ownerUid == configActivityOwnerUid) {
+                return true;
+            } else {
+                Log.w(TAG, String.format("Config activity (%s) not in owner package (%s)",
+                        activityName, ownerPkg));
+                return false;
+            }
+        } catch (PackageManager.NameNotFoundException e) {
+            Log.e(TAG, "Failed to find config activity " + activityName);
+            return false;
+        }
+    }
+
+    /** Verifies that the activity exists and hasn't been disabled. */
+    private boolean isResolvableActivity(ComponentName activityName) {
+        Intent intent = new Intent().setComponent(activityName);
+        List<ResolveInfo> results = mPm.queryIntentActivities(intent, /* flags= */ 0);
+
+        if (intent.resolveActivity(mPm) == null || results.isEmpty()) {
+            Log.w(TAG, "Cannot resolve: " + activityName);
+            return false;
+        }
+        return true;
+    }
+}
diff --git a/src/com/android/settings/notification/modes/FutureUtil.java b/src/com/android/settings/notification/modes/FutureUtil.java
index e7bf8b9..b9a4300 100644
--- a/src/com/android/settings/notification/modes/FutureUtil.java
+++ b/src/com/android/settings/notification/modes/FutureUtil.java
@@ -18,10 +18,13 @@
 
 import android.util.Log;
 
+import androidx.annotation.NonNull;
+
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
 
+import java.util.concurrent.CancellationException;
 import java.util.concurrent.Executor;
 import java.util.function.Consumer;
 
@@ -42,8 +45,10 @@
             }
 
             @Override
-            public void onFailure(Throwable throwable) {
-                Log.e(TAG, String.format(errorLogMessage, errorLogMessageArgs), throwable);
+            public void onFailure(@NonNull Throwable throwable) {
+                if (!(throwable instanceof CancellationException)) {
+                    Log.e(TAG, String.format(errorLogMessage, errorLogMessageArgs), throwable);
+                }
             }
         }, executor);
     }
diff --git a/src/com/android/settings/notification/modes/IconLoader.java b/src/com/android/settings/notification/modes/IconLoader.java
deleted file mode 100644
index c590285..0000000
--- a/src/com/android/settings/notification/modes/IconLoader.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification.modes;
-
-import static com.google.common.util.concurrent.Futures.immediateFuture;
-
-import static java.util.Objects.requireNonNull;
-
-import android.annotation.Nullable;
-import android.app.AutomaticZenRule;
-import android.content.Context;
-import android.graphics.drawable.AdaptiveIconDrawable;
-import android.graphics.drawable.ColorDrawable;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.InsetDrawable;
-import android.service.notification.SystemZenRules;
-import android.text.TextUtils;
-import android.util.Log;
-import android.util.LruCache;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.VisibleForTesting;
-import androidx.appcompat.content.res.AppCompatResources;
-
-import com.google.common.util.concurrent.FluentFuture;
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.common.util.concurrent.ListeningExecutorService;
-import com.google.common.util.concurrent.MoreExecutors;
-
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-class IconLoader {
-
-    private static final String TAG = "ZenIconLoader";
-
-    private static final Drawable MISSING = new ColorDrawable();
-
-    @Nullable // Until first usage
-    private static IconLoader sInstance;
-
-    private final LruCache<String, Drawable> mCache;
-    private final ListeningExecutorService mBackgroundExecutor;
-
-    static IconLoader getInstance() {
-        if (sInstance == null) {
-            sInstance = new IconLoader();
-        }
-        return sInstance;
-    }
-
-    private IconLoader() {
-        this(Executors.newFixedThreadPool(4));
-    }
-
-    @VisibleForTesting
-    IconLoader(ExecutorService backgroundExecutor) {
-        mCache = new LruCache<>(50);
-        mBackgroundExecutor =
-                MoreExecutors.listeningDecorator(backgroundExecutor);
-    }
-
-    @NonNull
-    ListenableFuture<Drawable> getIcon(Context context, @NonNull AutomaticZenRule rule) {
-        if (rule.getIconResId() == 0) {
-            return Futures.immediateFuture(getFallbackIcon(context, rule.getType()));
-        }
-
-        return FluentFuture.from(loadIcon(context, rule.getPackageName(), rule.getIconResId()))
-                .transform(icon ->
-                        icon != null ? icon : getFallbackIcon(context, rule.getType()),
-                        MoreExecutors.directExecutor());
-    }
-
-    @NonNull
-    private ListenableFuture</* @Nullable */ Drawable> loadIcon(Context context, String pkg,
-            int iconResId) {
-        String cacheKey = pkg + ":" + iconResId;
-        synchronized (mCache) {
-            Drawable cachedValue = mCache.get(cacheKey);
-            if (cachedValue != null) {
-                return immediateFuture(cachedValue != MISSING ? cachedValue : null);
-            }
-        }
-
-        return FluentFuture.from(mBackgroundExecutor.submit(() -> {
-            if (TextUtils.isEmpty(pkg) || SystemZenRules.PACKAGE_ANDROID.equals(pkg)) {
-                return context.getDrawable(iconResId);
-            } else {
-                Context appContext = context.createPackageContext(pkg, 0);
-                Drawable appDrawable = AppCompatResources.getDrawable(appContext, iconResId);
-                return getMonochromeIconIfPresent(appDrawable);
-            }
-        })).catching(Exception.class, ex -> {
-            // If we cannot resolve the icon, then store MISSING in the cache below, so
-            // we don't try again.
-            Log.e(TAG, "Error while loading icon " + cacheKey, ex);
-            return null;
-        }, MoreExecutors.directExecutor()).transform(drawable -> {
-            synchronized (mCache) {
-                mCache.put(cacheKey, drawable != null ? drawable : MISSING);
-            }
-            return drawable;
-        }, MoreExecutors.directExecutor());
-    }
-
-    private static Drawable getFallbackIcon(Context context, int ruleType) {
-        int iconResIdFromType = switch (ruleType) {
-            case AutomaticZenRule.TYPE_UNKNOWN ->
-                    com.android.internal.R.drawable.ic_zen_mode_type_unknown;
-            case AutomaticZenRule.TYPE_OTHER ->
-                    com.android.internal.R.drawable.ic_zen_mode_type_other;
-            case AutomaticZenRule.TYPE_SCHEDULE_TIME ->
-                    com.android.internal.R.drawable.ic_zen_mode_type_schedule_time;
-            case AutomaticZenRule.TYPE_SCHEDULE_CALENDAR ->
-                    com.android.internal.R.drawable.ic_zen_mode_type_schedule_calendar;
-            case AutomaticZenRule.TYPE_BEDTIME ->
-                    com.android.internal.R.drawable.ic_zen_mode_type_bedtime;
-            case AutomaticZenRule.TYPE_DRIVING ->
-                    com.android.internal.R.drawable.ic_zen_mode_type_driving;
-            case AutomaticZenRule.TYPE_IMMERSIVE ->
-                    com.android.internal.R.drawable.ic_zen_mode_type_immersive;
-            case AutomaticZenRule.TYPE_THEATER ->
-                    com.android.internal.R.drawable.ic_zen_mode_type_theater;
-            case AutomaticZenRule.TYPE_MANAGED ->
-                    com.android.internal.R.drawable.ic_zen_mode_type_managed;
-            default ->
-                    com.android.internal.R.drawable.ic_zen_mode_type_unknown;
-        };
-        return requireNonNull(context.getDrawable(iconResIdFromType));
-    }
-
-    private static Drawable getMonochromeIconIfPresent(Drawable icon) {
-        // For created rules, the app should've provided a monochrome Drawable. However, implicit
-        // rules have the app's icon, which is not -- but might have a monochrome layer. Thus
-        // we choose it, if present.
-        if (icon instanceof AdaptiveIconDrawable adaptiveIcon) {
-            if (adaptiveIcon.getMonochrome() != null) {
-                // Wrap with negative inset => scale icon (inspired from BaseIconFactory)
-                return new InsetDrawable(adaptiveIcon.getMonochrome(),
-                        -2.0f * AdaptiveIconDrawable.getExtraInsetFraction());
-            }
-        }
-        return icon;
-    }
-}
diff --git a/src/com/android/settings/notification/modes/IconUtil.java b/src/com/android/settings/notification/modes/IconUtil.java
index c6ecaa0..33d0d96 100644
--- a/src/com/android/settings/notification/modes/IconUtil.java
+++ b/src/com/android/settings/notification/modes/IconUtil.java
@@ -19,51 +19,217 @@
 import static com.google.common.base.Preconditions.checkNotNull;
 
 import android.content.Context;
+import android.content.res.ColorStateList;
+import android.content.res.Resources;
+import android.graphics.Bitmap;
+import android.graphics.Canvas;
+import android.graphics.Paint;
+import android.graphics.Rect;
+import android.graphics.Typeface;
+import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.LayerDrawable;
 import android.graphics.drawable.ShapeDrawable;
+import android.graphics.drawable.StateListDrawable;
 import android.graphics.drawable.shapes.OvalShape;
+import android.util.StateSet;
+import android.view.Gravity;
 
+import androidx.annotation.AttrRes;
 import androidx.annotation.DrawableRes;
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.Px;
 
 import com.android.settings.R;
 import com.android.settingslib.Utils;
 
+import com.google.common.base.Strings;
+
+import java.util.Locale;
+
 class IconUtil {
 
-    static Drawable applyTint(@NonNull Context context, @NonNull Drawable icon) {
+    static Drawable applyNormalTint(@NonNull Context context, @NonNull Drawable icon) {
+        return applyTint(context, icon, android.R.attr.colorControlNormal);
+    }
+
+    static Drawable applyAccentTint(@NonNull Context context, @NonNull Drawable icon) {
+        return applyTint(context, icon, android.R.attr.colorAccent);
+    }
+
+    private static Drawable applyTint(@NonNull Context context, @NonNull Drawable icon,
+            @AttrRes int colorAttr) {
         icon = icon.mutate();
-        icon.setTintList(
-                Utils.getColorAttr(context, android.R.attr.colorControlNormal));
+        icon.setTintList(Utils.getColorAttr(context, colorAttr));
         return icon;
     }
 
     /**
-     * Returns a variant of the supplied {@code icon} to be used in the icon picker. The inner icon
-     * is 36x36dp and it's contained into a circle of diameter 54dp.
+     * Returns a variant of the supplied mode icon to be used as the header in the mode page. The
+     * mode icon is contained in a 12-sided-cookie. The color combination is "material secondary"
+     * when unselected and "material primary" when selected; the switch between these two color sets
+     * is animated with a cross-fade. The selected colors should be used when the mode is currently
+     * active.
      */
-    static Drawable makeIconCircle(@NonNull Context context, @NonNull Drawable icon) {
-        ShapeDrawable background = new ShapeDrawable(new OvalShape());
-        background.getPaint().setColor(Utils.getColorAttrDefaultColor(context,
-                com.android.internal.R.attr.materialColorSecondaryContainer));
-        icon.setTint(Utils.getColorAttrDefaultColor(context,
-                com.android.internal.R.attr.materialColorOnSecondaryContainer));
+    static Drawable makeModeHeader(@NonNull Context context, Drawable modeIcon) {
+        Resources res = context.getResources();
+        Drawable background = checkNotNull(context.getDrawable(R.drawable.ic_zen_mode_icon_cookie));
+        @Px int outerSizePx = res.getDimensionPixelSize(R.dimen.zen_mode_header_size);
+        @Px int innerSizePx = res.getDimensionPixelSize(R.dimen.zen_mode_header_inner_icon_size);
 
-        LayerDrawable layerDrawable = new LayerDrawable(new Drawable[] { background, icon });
+        Drawable base = composeIcons(
+                context.getResources(),
+                background,
+                Utils.getColorAttr(context,
+                        com.android.internal.R.attr.materialColorSecondaryContainer),
+                outerSizePx,
+                modeIcon,
+                Utils.getColorAttr(context,
+                        com.android.internal.R.attr.materialColorOnSecondaryContainer),
+                innerSizePx);
 
-        int circleDiameter = context.getResources().getDimensionPixelSize(
-                R.dimen.zen_mode_icon_list_circle_diameter);
-        int iconSize = context.getResources().getDimensionPixelSize(
-                R.dimen.zen_mode_icon_list_icon_size);
-        int iconPadding = (circleDiameter - iconSize) / 2;
-        layerDrawable.setBounds(0, 0, circleDiameter, circleDiameter);
-        layerDrawable.setLayerInset(1, iconPadding, iconPadding, iconPadding, iconPadding);
+        Drawable selected = composeIcons(
+                context.getResources(),
+                background,
+                Utils.getColorAttr(context, com.android.internal.R.attr.materialColorPrimary),
+                outerSizePx,
+                modeIcon,
+                Utils.getColorAttr(context, com.android.internal.R.attr.materialColorOnPrimary),
+                innerSizePx);
 
-        return layerDrawable;
+        StateListDrawable result = new StateListDrawable();
+        result.setEnterFadeDuration(res.getInteger(android.R.integer.config_mediumAnimTime));
+        result.setExitFadeDuration(res.getInteger(android.R.integer.config_mediumAnimTime));
+        result.addState(new int[] { android.R.attr.state_selected }, selected);
+        result.addState(StateSet.WILD_CARD, base);
+        result.setBounds(0, 0, outerSizePx, outerSizePx);
+        return result;
     }
 
-    static Drawable makeIconCircle(@NonNull Context context, @DrawableRes int iconResId) {
-        return makeIconCircle(context, checkNotNull(context.getDrawable(iconResId)));
+    /**
+     * Returns a variant of the supplied {@code icon} to be used as the header in the icon picker
+     * (large icon within large circle, with the "material secondary" color combination).
+     */
+    static Drawable makeIconPickerHeader(@NonNull Context context, Drawable icon) {
+        return composeIconCircle(
+                context.getResources(),
+                Utils.getColorAttr(context,
+                        com.android.internal.R.attr.materialColorSecondaryContainer),
+                context.getResources().getDimensionPixelSize(
+                        R.dimen.zen_mode_icon_list_header_circle_diameter),
+                icon,
+                Utils.getColorAttr(context,
+                        com.android.internal.R.attr.materialColorOnSecondaryContainer),
+                context.getResources().getDimensionPixelSize(
+                        R.dimen.zen_mode_icon_list_header_icon_size));
+    }
+
+    /**
+     * Returns a variant of the supplied {@code icon} to be used as an option in the icon picker
+     * (small icon in small circle, with "material secondary" colors for the normal state and
+     * "material primary" colors for the selected state).
+     */
+    static Drawable makeIconPickerItem(@NonNull Context context, @DrawableRes int iconResId) {
+        return composeIconCircle(
+                context.getResources(),
+                context.getColorStateList(R.color.modes_icon_selectable_background),
+                context.getResources().getDimensionPixelSize(
+                        R.dimen.zen_mode_icon_list_item_circle_diameter),
+                checkNotNull(context.getDrawable(iconResId)),
+                context.getColorStateList(R.color.modes_icon_selectable_icon),
+                context.getResources().getDimensionPixelSize(
+                        R.dimen.zen_mode_icon_list_item_icon_size));
+    }
+
+    /**
+     * Returns a variant of the supplied icon to be used in a {@link CircularIconsPreference}. The
+     * inner icon is 20x20 dp and it's contained in a circle of diameter 32dp, and is tinted
+     * with the "material secondary" color combination.
+     */
+    static Drawable makeCircularIconPreferenceItem(@NonNull Context context,
+            @DrawableRes int iconResId) {
+        return composeIconCircle(
+                context.getResources(),
+                Utils.getColorAttr(context,
+                        com.android.internal.R.attr.materialColorSecondaryContainer),
+                context.getResources().getDimensionPixelSize(
+                        R.dimen.zen_mode_circular_icon_diameter),
+                checkNotNull(context.getDrawable(iconResId)),
+                Utils.getColorAttr(context,
+                        com.android.internal.R.attr.materialColorOnSecondaryContainer),
+                context.getResources().getDimensionPixelSize(
+                        R.dimen.zen_mode_circular_icon_inner_icon_size));
+    }
+
+    /**
+     * Returns an icon representing a contact that doesn't have an associated photo, to be used in
+     * a {@link CircularIconsPreference}, tinted with the "material tertiary". If the contact's
+     * display name is not empty, it's the contact's monogram, otherwise it's a generic icon.
+     */
+    static Drawable makeContactMonogram(@NonNull Context context, @Nullable String displayName) {
+        Resources res = context.getResources();
+        if (Strings.isNullOrEmpty(displayName)) {
+            return composeIconCircle(
+                    context.getResources(),
+                    Utils.getColorAttr(context,
+                            com.android.internal.R.attr.materialColorTertiaryContainer),
+                    res.getDimensionPixelSize(R.dimen.zen_mode_circular_icon_diameter),
+                    checkNotNull(context.getDrawable(R.drawable.ic_zen_mode_generic_contact)),
+                    Utils.getColorAttr(context,
+                            com.android.internal.R.attr.materialColorOnTertiaryContainer),
+                    res.getDimensionPixelSize(R.dimen.zen_mode_circular_icon_inner_icon_size));
+        }
+
+        float diameter = res.getDimensionPixelSize(R.dimen.zen_mode_circular_icon_diameter);
+        Bitmap bitmap = Bitmap.createBitmap((int) diameter, (int) diameter,
+                Bitmap.Config.ARGB_8888);
+        Canvas canvas = new Canvas(bitmap);
+
+        Paint circlePaint = new Paint();
+        circlePaint.setColor(Utils.getColorAttrDefaultColor(context,
+                com.android.internal.R.attr.materialColorTertiaryContainer));
+        circlePaint.setFlags(Paint.ANTI_ALIAS_FLAG);
+        canvas.drawCircle(diameter / 2f, diameter / 2f, diameter / 2f, circlePaint);
+
+        Paint textPaint = new Paint();
+        textPaint.setColor(Utils.getColorAttrDefaultColor(context,
+                com.android.internal.R.attr.materialColorOnTertiaryContainer));
+        textPaint.setTypeface(Typeface.create("sans-serif", Typeface.NORMAL));
+        textPaint.setTextAlign(Paint.Align.LEFT);
+        textPaint.setTextSize(res.getDimensionPixelSize(R.dimen.zen_mode_circular_icon_text_size));
+
+        String text = displayName.substring(0, 1).toUpperCase(Locale.getDefault());
+        Rect textRect = new Rect();
+        textPaint.getTextBounds(text, 0, text.length(), textRect);
+
+        float textX = diameter / 2f - textRect.width() / 2f - textRect.left;
+        float textY = diameter / 2f + textRect.height() / 2f - textRect.bottom;
+        canvas.drawText(text, textX, textY, textPaint);
+
+        return new BitmapDrawable(context.getResources(), bitmap);
+    }
+
+    private static Drawable composeIconCircle(Resources res, ColorStateList circleColor,
+            @Px int circleDiameterPx, Drawable icon, ColorStateList iconColor, @Px int iconSizePx) {
+        return composeIcons(res, new ShapeDrawable(new OvalShape()), circleColor, circleDiameterPx,
+                icon, iconColor, iconSizePx);
+    }
+
+    private static Drawable composeIcons(Resources res, Drawable outer, ColorStateList outerColor,
+            @Px int outerSizePx, Drawable icon, ColorStateList iconColor, @Px int iconSizePx) {
+        Drawable background = checkNotNull(outer.getConstantState()).newDrawable(res).mutate();
+        background.setTintList(outerColor);
+        Drawable foreground = checkNotNull(icon.getConstantState()).newDrawable(res).mutate();
+        foreground.setTintList(iconColor);
+
+        LayerDrawable layerDrawable = new LayerDrawable(new Drawable[] { background, foreground });
+
+        layerDrawable.setLayerSize(0, outerSizePx, outerSizePx);
+        layerDrawable.setLayerGravity(1, Gravity.CENTER);
+        layerDrawable.setLayerSize(1, iconSizePx, iconSizePx);
+
+        layerDrawable.setBounds(0, 0, outerSizePx, outerSizePx);
+        return layerDrawable;
     }
 }
diff --git a/src/com/android/settings/notification/modes/InterruptionFilterPreferenceController.java b/src/com/android/settings/notification/modes/InterruptionFilterPreferenceController.java
new file mode 100644
index 0000000..e5c6570
--- /dev/null
+++ b/src/com/android/settings/notification/modes/InterruptionFilterPreferenceController.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
+import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
+
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.preference.Preference;
+import androidx.preference.TwoStatePreference;
+
+import com.android.settings.R;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+class InterruptionFilterPreferenceController extends AbstractZenModePreferenceController
+        implements Preference.OnPreferenceChangeListener {
+
+    public InterruptionFilterPreferenceController(Context context, String key,
+            ZenModesBackend backend) {
+        super(context, key, backend);
+    }
+
+    @Override
+    public boolean isAvailable(ZenMode zenMode) {
+        return !zenMode.isManualDnd();
+    }
+
+    @Override
+    public void updateState(Preference preference, @NonNull ZenMode zenMode) {
+        preference.setEnabled(zenMode.isEnabled() && zenMode.canEditPolicy());
+        boolean allowingAll = zenMode.getInterruptionFilter() == INTERRUPTION_FILTER_ALL;
+
+        ((TwoStatePreference) preference).setChecked(allowingAll);
+        preference.setSummary(allowingAll
+                ? mContext.getString(R.string.zen_mode_all_notifications_allowed)
+                : "");
+    }
+
+    @Override
+    public boolean onPreferenceChange(@NonNull Preference preference, Object newValue) {
+        final boolean allowAll = ((Boolean) newValue);
+        return saveMode(zenMode -> {
+            zenMode.setInterruptionFilter(allowAll
+                    ? INTERRUPTION_FILTER_ALL
+                    : INTERRUPTION_FILTER_PRIORITY);
+            return zenMode;
+        });
+    }
+}
diff --git a/src/com/android/settings/notification/modes/ManualDurationHelper.java b/src/com/android/settings/notification/modes/ManualDurationHelper.java
new file mode 100644
index 0000000..da9f420
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ManualDurationHelper.java
@@ -0,0 +1,123 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import android.annotation.Nullable;
+import android.content.Context;
+import android.database.ContentObserver;
+import android.icu.text.MessageFormat;
+import android.net.Uri;
+import android.provider.Settings;
+
+import androidx.annotation.NonNull;
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+
+/**
+ * Class to contain shared utilities for reading and observing the Settings ZEN_DURATION value.
+ */
+class ManualDurationHelper {
+    private Context mContext;
+
+    ManualDurationHelper(@NonNull Context context) {
+        mContext = context;
+    }
+
+    int getZenDuration() {
+        return Settings.Secure.getInt(mContext.getContentResolver(), Settings.Secure.ZEN_DURATION,
+                0);
+    }
+
+    /**
+     * Generates a summary of the duration that manual DND will be on when turned on from
+     * quick settings, for example "Until you turn off" or "[number] hours", based on the given
+     * setting value.
+     */
+    public String getSummary() {
+        int zenDuration = getZenDuration();
+        String summary;
+        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) {
+                MessageFormat msgFormat = new MessageFormat(
+                        mContext.getString(R.string.zen_mode_duration_summary_time_hours),
+                        Locale.getDefault());
+                Map<String, Object> msgArgs = new HashMap<>();
+                msgArgs.put("count", zenDuration / 60);
+                summary = msgFormat.format(msgArgs);
+            } else {
+                MessageFormat msgFormat = new MessageFormat(
+                        mContext.getString(R.string.zen_mode_duration_summary_time_minutes),
+                        Locale.getDefault());
+                Map<String, Object> msgArgs = new HashMap<>();
+                msgArgs.put("count", zenDuration);
+                summary = msgFormat.format(msgArgs);
+            }
+        }
+        return summary;
+    }
+
+    SettingsObserver makeSettingsObserver(@NonNull AbstractZenModePreferenceController controller) {
+        return new SettingsObserver(controller);
+    }
+
+    final class SettingsObserver extends ContentObserver {
+        private static final Uri ZEN_MODE_DURATION_URI = Settings.Secure.getUriFor(
+                Settings.Secure.ZEN_DURATION);
+
+        private final AbstractZenModePreferenceController mPrefController;
+        private Preference mPreference;
+
+        /**
+         * Create a settings observer attached to the provided PreferenceController, whose
+         * updateState method should be called onChange.
+         */
+        SettingsObserver(@NonNull AbstractZenModePreferenceController prefController) {
+            super(mContext.getMainExecutor(), 0);
+            mPrefController = prefController;
+        }
+
+        void setPreference(Preference preference) {
+            mPreference = preference;
+        }
+
+        public void register() {
+            mContext.getContentResolver().registerContentObserver(ZEN_MODE_DURATION_URI, false,
+                    this);
+        }
+
+        public void unregister() {
+            mContext.getContentResolver().unregisterContentObserver(this);
+        }
+
+        @Override
+        public void onChange(boolean selfChange, @Nullable Uri uri) {
+            super.onChange(selfChange, uri);
+            if (ZEN_MODE_DURATION_URI.equals(uri) && mPreference != null) {
+                mPrefController.updateState(mPreference);
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/modes/ManualDurationPreferenceController.java b/src/com/android/settings/notification/modes/ManualDurationPreferenceController.java
new file mode 100644
index 0000000..28aac63
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ManualDurationPreferenceController.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.fragment.app.Fragment;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.notification.zen.SettingsZenDurationDialog;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+public class ManualDurationPreferenceController extends AbstractZenModePreferenceController {
+    private static final String TAG = "QsDurationPrefController";
+
+    private final Fragment mParent;
+    private final ManualDurationHelper mDurationHelper;
+    private final ManualDurationHelper.SettingsObserver mSettingsObserver;
+
+    ManualDurationPreferenceController(Context context, String key, Fragment parent,
+            ZenModesBackend backend) {
+        super(context, key, backend);
+        mParent = parent;
+        mDurationHelper = new ManualDurationHelper(context);
+        mSettingsObserver = mDurationHelper.makeSettingsObserver(this);
+    }
+
+    @Override
+    public boolean isAvailable(ZenMode zenMode) {
+        if (!super.isAvailable(zenMode)) {
+            return false;
+        }
+        return zenMode.isManualDnd();
+    }
+
+    // Called by parent fragment onStart().
+    void registerSettingsObserver() {
+        mSettingsObserver.register();
+    }
+
+    // Called by parent fragment onStop().
+    void unregisterSettingsObserver() {
+        mSettingsObserver.unregister();
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        Preference pref = screen.findPreference(getPreferenceKey());
+        if (pref != null) {
+            mSettingsObserver.setPreference(pref);
+        }
+    }
+
+    @Override
+    public void updateState(Preference preference, @NonNull ZenMode unusedZenMode) {
+        // This controller is a link between a Settings value (ZEN_DURATION) and the manual DND
+        // mode. The status of the zen mode object itself doesn't affect the preference
+        // value, as that comes from settings; that value from settings will determine the
+        // condition that is attached to the mode on manual activation. Thus we ignore the actual
+        // zen mode value provided here.
+        preference.setSummary(mDurationHelper.getSummary());
+        preference.setOnPreferenceClickListener(pref -> {
+            // The new setting value is set by the dialog, so we don't need to do it here.
+            final SettingsZenDurationDialog durationDialog = new SettingsZenDurationDialog();
+            durationDialog.show(mParent.getParentFragmentManager(), TAG);
+            return true;
+        });
+    }
+}
diff --git a/src/com/android/settings/notification/modes/SetupInterstitialActivity.java b/src/com/android/settings/notification/modes/SetupInterstitialActivity.java
new file mode 100644
index 0000000..fcd5fd5
--- /dev/null
+++ b/src/com/android/settings/notification/modes/SetupInterstitialActivity.java
@@ -0,0 +1,235 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static android.app.AutomaticZenRule.TYPE_BEDTIME;
+import static android.app.AutomaticZenRule.TYPE_DRIVING;
+import static android.app.AutomaticZenRule.TYPE_IMMERSIVE;
+import static android.app.AutomaticZenRule.TYPE_MANAGED;
+import static android.app.AutomaticZenRule.TYPE_OTHER;
+import static android.app.AutomaticZenRule.TYPE_SCHEDULE_CALENDAR;
+import static android.app.AutomaticZenRule.TYPE_SCHEDULE_TIME;
+import static android.app.AutomaticZenRule.TYPE_THEATER;
+import static android.app.AutomaticZenRule.TYPE_UNKNOWN;
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
+
+import android.annotation.SuppressLint;
+import android.app.ActionBar;
+import android.app.AutomaticZenRule;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.View;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.TextView;
+import android.widget.Toast;
+import android.widget.Toolbar;
+
+import androidx.activity.EdgeToEdge;
+import androidx.annotation.NonNull;
+import androidx.annotation.StringRes;
+import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.FragmentActivity;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+/**
+ * Interstitial page for modes that are disabled, but not disabled by the user. This page
+ * provides a button to enable the mode, and then goes to the mode setup page.
+ */
+public class SetupInterstitialActivity extends FragmentActivity {
+    private static final String TAG = "ModeSetupInterstitial";
+    private ZenModesBackend mBackend;
+
+    /**
+     * Returns an intent leading to this page for the given mode and context.
+     */
+    public static @NonNull Intent getIntent(@NonNull Context context, @NonNull ZenMode mode) {
+        return new Intent(Intent.ACTION_MAIN)
+                .setClass(context, SetupInterstitialActivity.class)
+                .setPackage(context.getPackageName())
+                .setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT)
+                .putExtra(EXTRA_AUTOMATIC_ZEN_RULE_ID, mode.getId());
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        EdgeToEdge.enable(this);
+        Utils.setupEdgeToEdge(this);
+        super.onCreate(savedInstanceState);
+        mBackend = ZenModesBackend.getInstance(this);
+        setContentView(R.layout.mode_interstitial_layout);
+
+        // Set up toolbar to only have a back button & no title
+        Toolbar toolbar = findViewById(R.id.action_bar);
+        setActionBar(toolbar);
+        ActionBar actionBar = getActionBar();
+        if (actionBar != null) {
+            actionBar.setDisplayHomeAsUpEnabled(true);
+            actionBar.setHomeButtonEnabled(true);
+            actionBar.setDisplayShowTitleEnabled(false);
+        }
+    }
+
+    @Override
+    public boolean onNavigateUp() {
+        // have the home button on the action bar go back
+        getOnBackPressedDispatcher().onBackPressed();
+        return true;
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+
+        // See if we have mode data
+        final Intent intent = getIntent();
+        if (intent == null) {
+            Log.w(TAG, "no intent found for modes interstitial");
+            finish();
+            return;
+        }
+
+        String modeId = intent.getStringExtra(EXTRA_AUTOMATIC_ZEN_RULE_ID);
+        if (modeId == null) {
+            Log.w(TAG, "no mode id included in intent: " + intent);
+            finish();
+            return;
+        }
+
+        ZenMode mode = mBackend.getMode(modeId);
+        if (mode == null) {
+            Log.w(TAG, "mode not found for mode id: " + modeId);
+            finish();
+            return;
+        }
+        setTitle(mode.getName());
+
+        TextView title = findViewById(R.id.mode_name_title);
+        if (title != null) {
+            title.setText(mode.getName());
+        }
+
+        TextView subtitle = findViewById(R.id.mode_name_subtitle);
+        if (subtitle != null) {
+            subtitle.setText(getSubtitle(mode));
+        }
+
+        ImageView img = findViewById(R.id.image);
+        if (img != null) {
+            setImage(img, mode);
+        }
+
+        Button button = findViewById(R.id.enable_mode_button);
+        if (button != null) {
+            setupButton(button, mode);
+        }
+    }
+
+    @StringRes
+    @SuppressLint("SwitchIntDef")
+    private static int getSubtitle(ZenMode mode) {
+        if (mode.isSystemOwned()) {
+            return switch (mode.getType()) {
+                case TYPE_SCHEDULE_TIME -> R.string.zen_mode_inspiration_schedule_time;
+                case TYPE_SCHEDULE_CALENDAR -> R.string.zen_mode_inspiration_schedule_calendar;
+                default -> R.string.zen_mode_inspiration_generic; // Custom Manual
+            };
+        } else {
+            return switch (mode.getType()) {
+                case TYPE_BEDTIME -> R.string.zen_mode_inspiration_bedtime;
+                case TYPE_DRIVING -> R.string.zen_mode_inspiration_driving;
+                case TYPE_IMMERSIVE -> R.string.zen_mode_inspiration_immersive;
+                case TYPE_THEATER -> R.string.zen_mode_inspiration_theater;
+                case TYPE_MANAGED -> R.string.zen_mode_inspiration_managed;
+                default -> R.string.zen_mode_inspiration_generic; // Including OTHER, UNKNOWN.
+            };
+        }
+    }
+
+    private void setImage(@NonNull ImageView img, @NonNull ZenMode mode) {
+        int drawableRes = switch (mode.getType()) {
+            case TYPE_BEDTIME -> R.drawable.modes_interstitial_bedtime;
+            case TYPE_DRIVING -> R.drawable.modes_interstitial_driving;
+            case TYPE_IMMERSIVE -> R.drawable.modes_interstitial_immersive;
+            case TYPE_THEATER -> R.drawable.modes_interstitial_theater;
+            case TYPE_MANAGED -> R.drawable.modes_interstitial_managed;
+            case TYPE_OTHER, TYPE_SCHEDULE_CALENDAR, TYPE_SCHEDULE_TIME ->
+                    R.drawable.modes_interstitial_other;
+            case TYPE_UNKNOWN -> R.drawable.modes_interstitial_unknown;
+            default -> R.drawable.modes_interstitial_unknown;
+        };
+
+        img.setImageResource(drawableRes);
+    }
+
+    private void setupButton(Button button, @NonNull ZenMode mode) {
+        button.setText(getString(R.string.zen_mode_setup_button_label, mode.getName()));
+        button.setOnClickListener(enableButtonListener(mode.getId(), mode.getType()));
+    }
+
+    @VisibleForTesting
+    View.OnClickListener enableButtonListener(String modeId, @AutomaticZenRule.Type int modeType) {
+        return unused -> {
+            // When clicked, we first reload mode info in case it has changed in the interim,
+            // then enable the mode and then send the user to the mode's configuration page.
+            boolean updated = enableMode(modeId);
+
+            int metricsCategory = switch (modeType) {
+                case TYPE_BEDTIME -> SettingsEnums.ZEN_MODE_INTERSTITIAL_BEDTIME;
+                case TYPE_DRIVING -> SettingsEnums.ZEN_MODE_INTERSTITIAL_DRIVING;
+                default -> SettingsEnums.ZEN_MODE_INTERSTITIAL;
+            };
+
+            // Don't come back to this activity after sending the user to the modes page, if
+            // they happen to go back. Forward the activity result in case we got here (indirectly)
+            // from some app that is waiting for the result.
+            if (updated) {
+                ZenSubSettingLauncher.forModeFragment(this, ZenModeFragment.class, modeId,
+                                metricsCategory)
+                        .addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT).launch();
+            }
+            finish();
+        };
+    }
+
+    // Enables the given mode after first refreshing its data from the backend. Returns true if
+    // the update went through, and false if for some reason the mode wasn't found.
+    private boolean enableMode(@NonNull String modeId) {
+        if (mBackend == null) {
+            return false;
+        }
+
+        ZenMode modeToUpdate = mBackend.getMode(modeId);
+        if (modeToUpdate == null) {
+            // tell the user the mode isn't found, for some reason
+            Toast.makeText(this, R.string.zen_mode_rule_not_found_text, Toast.LENGTH_SHORT)
+                    .show();
+            return false;
+        }
+
+        modeToUpdate.setEnabled(true);
+        mBackend.updateMode(modeToUpdate);
+        return true;
+    }
+}
diff --git a/src/com/android/settings/notification/modes/ZenHelperBackend.java b/src/com/android/settings/notification/modes/ZenHelperBackend.java
new file mode 100644
index 0000000..bf91678
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenHelperBackend.java
@@ -0,0 +1,188 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import android.annotation.Nullable;
+import android.app.INotificationManager;
+import android.content.Context;
+import android.content.pm.ParceledListSlice;
+import android.database.Cursor;
+import android.graphics.drawable.Drawable;
+import android.net.Uri;
+import android.os.ServiceManager;
+import android.provider.ContactsContract;
+import android.service.notification.ConversationChannelWrapper;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.core.graphics.drawable.RoundedBitmapDrawable;
+import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory;
+
+import com.google.common.base.Strings;
+import com.google.common.collect.ImmutableList;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Class used for Settings-system_server interactions that are not <em>directly</em> related to
+ * Mode management, but still used in the UI of its Settings pages (such as listing priority
+ * conversations, contacts, etc).
+ */
+class ZenHelperBackend {
+
+    private static final String TAG = "ZenHelperBackend";
+
+    @Nullable // Until first usage
+    private static ZenHelperBackend sInstance;
+
+    private final Context mContext;
+    private final INotificationManager mInm;
+
+    static ZenHelperBackend getInstance(Context context) {
+        if (sInstance == null) {
+            sInstance = new ZenHelperBackend(context.getApplicationContext());
+        }
+        return sInstance;
+    }
+
+    ZenHelperBackend(Context context) {
+        mContext = context;
+        mInm = INotificationManager.Stub.asInterface(
+                ServiceManager.getService(Context.NOTIFICATION_SERVICE));
+    }
+
+    /**
+     * Returns all of a user's packages that have at least one channel that will bypass DND
+     */
+    List<String> getPackagesBypassingDnd(int userId,
+            boolean includeConversationChannels) {
+        try {
+            return mInm.getPackagesBypassingDnd(userId, includeConversationChannels);
+        } catch (Exception e) {
+            Log.w(TAG, "Error calling NoMan", e);
+            return new ArrayList<>();
+        }
+    }
+
+    ImmutableList<ConversationChannelWrapper> getAllConversations() {
+        return getConversations(false);
+    }
+
+    ImmutableList<ConversationChannelWrapper> getImportantConversations() {
+        return getConversations(true);
+    }
+
+    @SuppressWarnings("unchecked")
+    private ImmutableList<ConversationChannelWrapper> getConversations(boolean onlyImportant) {
+        try {
+            ImmutableList.Builder<ConversationChannelWrapper> list = new ImmutableList.Builder<>();
+            ParceledListSlice<ConversationChannelWrapper> parceledList = mInm.getConversations(
+                    onlyImportant);
+            if (parceledList != null) {
+                for (ConversationChannelWrapper conversation : parceledList.getList()) {
+                    if (!conversation.getNotificationChannel().isDemoted()) {
+                        list.add(conversation);
+                    }
+                }
+            }
+            return list.build();
+        } catch (Exception e) {
+            Log.w(TAG, "Error calling NoMan", e);
+            return ImmutableList.of();
+        }
+    }
+
+    record Contact(long id, @Nullable String displayName, @Nullable Uri photoUri) { }
+
+    ImmutableList<Contact> getAllContacts() {
+        try (Cursor cursor = queryAllContactsData()) {
+            return getContactsFromCursor(cursor);
+        }
+    }
+
+    ImmutableList<Contact> getStarredContacts() {
+        try (Cursor cursor = queryStarredContactsData()) {
+            return getContactsFromCursor(cursor);
+        }
+    }
+
+    private ImmutableList<Contact> getContactsFromCursor(Cursor cursor) {
+        ImmutableList.Builder<Contact> list = new ImmutableList.Builder<>();
+        if (cursor != null && cursor.moveToFirst()) {
+            do {
+                long id = cursor.getLong(0);
+                String name = Strings.emptyToNull(cursor.getString(1));
+                String photoUriStr = cursor.getString(2);
+                Uri photoUri = !Strings.isNullOrEmpty(photoUriStr) ? Uri.parse(photoUriStr) : null;
+                list.add(new Contact(id, name, photoUri));
+            } while (cursor.moveToNext());
+        }
+        return list.build();
+    }
+
+    int getAllContactsCount() {
+        try (Cursor cursor = queryAllContactsData()) {
+            return cursor != null ? cursor.getCount() : 0;
+        }
+    }
+
+    private static final String[] CONTACTS_PROJECTION = new String[] {
+            ContactsContract.Contacts._ID,
+            ContactsContract.Contacts.DISPLAY_NAME_PRIMARY,
+            ContactsContract.Contacts.PHOTO_THUMBNAIL_URI
+    };
+
+    private Cursor queryStarredContactsData() {
+        return mContext.getContentResolver().query(
+                ContactsContract.Contacts.CONTENT_URI,
+                CONTACTS_PROJECTION,
+                /* selection= */ ContactsContract.Data.STARRED + "=1", /* selectionArgs= */ null,
+                /* sortOrder= */ ContactsContract.Contacts.DISPLAY_NAME_PRIMARY);
+    }
+
+    private Cursor queryAllContactsData() {
+        return mContext.getContentResolver().query(
+                ContactsContract.Contacts.CONTENT_URI,
+                CONTACTS_PROJECTION,
+                /* selection= */ null, /* selectionArgs= */ null,
+                /* sortOrder= */ ContactsContract.Contacts.DISPLAY_NAME_PRIMARY);
+    }
+
+    @NonNull
+    Drawable getContactPhoto(Contact contact) {
+        if (contact.photoUri != null) {
+            try (InputStream is = mContext.getContentResolver().openInputStream(contact.photoUri)) {
+                if (is != null) {
+                    RoundedBitmapDrawable rbd = RoundedBitmapDrawableFactory.create(
+                            mContext.getResources(), is);
+                    if (rbd != null && rbd.getBitmap() != null) {
+                        rbd.setCircular(true);
+                        return rbd;
+                    }
+                }
+            } catch (IOException e) {
+                Log.w(TAG, "Couldn't load photo for " + contact, e);
+            }
+        }
+
+        // Fall back to a monogram if no picture.
+        return IconUtil.makeContactMonogram(mContext, contact.displayName);
+    }
+}
diff --git a/src/com/android/settings/notification/modes/ZenMode.java b/src/com/android/settings/notification/modes/ZenMode.java
deleted file mode 100644
index cbe915b..0000000
--- a/src/com/android/settings/notification/modes/ZenMode.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification.modes;
-
-import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-
-import static java.util.Objects.requireNonNull;
-
-import android.annotation.SuppressLint;
-import android.app.AutomaticZenRule;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.graphics.drawable.Drawable;
-import android.service.notification.ZenDeviceEffects;
-import android.service.notification.ZenPolicy;
-import android.util.Log;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-import com.android.settings.R;
-
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
-
-import java.util.Objects;
-
-/**
- * Represents either an {@link AutomaticZenRule} or the manual DND rule in a unified way.
- *
- * <p>It also adapts other rule features that we don't want to expose in the UI, such as
- * interruption filters other than {@code PRIORITY}, rules without specific icons, etc.
- */
-class ZenMode {
-
-    private static final String TAG = "ZenMode";
-
-    /**
-     * Additional value for the {@code @ZenPolicy.ChannelType} enumeration that indicates that all
-     * channels can bypass DND when this policy is active.
-     *
-     * <p>This value shouldn't be used on "real" ZenPolicy objects sent to or returned from
-     * {@link android.app.NotificationManager}; it's a way of representing rules with interruption
-     * filter = {@link NotificationManager#INTERRUPTION_FILTER_ALL} in the UI.
-     */
-    public static final int CHANNEL_POLICY_ALL = -1;
-
-    static final String MANUAL_DND_MODE_ID = "manual_dnd";
-
-    @SuppressLint("WrongConstant")
-    private static final ZenPolicy POLICY_INTERRUPTION_FILTER_ALL =
-            new ZenPolicy.Builder()
-                    .allowChannels(CHANNEL_POLICY_ALL)
-                    .allowAllSounds()
-                    .showAllVisualEffects()
-                    .build();
-
-    // Must match com.android.server.notification.ZenModeHelper#applyCustomPolicy.
-    private static final ZenPolicy POLICY_INTERRUPTION_FILTER_ALARMS =
-            new ZenPolicy.Builder()
-                    .disallowAllSounds()
-                    .allowAlarms(true)
-                    .allowMedia(true)
-                    .allowPriorityChannels(false)
-                    .build();
-
-    // Must match com.android.server.notification.ZenModeHelper#applyCustomPolicy.
-    private static final ZenPolicy POLICY_INTERRUPTION_FILTER_NONE =
-            new ZenPolicy.Builder()
-                    .disallowAllSounds()
-                    .hideAllVisualEffects()
-                    .allowPriorityChannels(false)
-                    .build();
-
-    private final String mId;
-    private AutomaticZenRule mRule;
-    private final boolean mIsActive;
-    private final boolean mIsManualDnd;
-
-    ZenMode(String id, AutomaticZenRule rule, boolean isActive) {
-        this(id, rule, isActive, false);
-    }
-
-    private ZenMode(String id, AutomaticZenRule rule, boolean isActive, boolean isManualDnd) {
-        mId = id;
-        mRule = rule;
-        mIsActive = isActive;
-        mIsManualDnd = isManualDnd;
-    }
-
-    static ZenMode manualDndMode(AutomaticZenRule manualRule, boolean isActive) {
-        return new ZenMode(MANUAL_DND_MODE_ID, manualRule, isActive, true);
-    }
-
-    @NonNull
-    public String getId() {
-        return mId;
-    }
-
-    @NonNull
-    public AutomaticZenRule getRule() {
-        return mRule;
-    }
-
-    @NonNull
-    public ListenableFuture<Drawable> getIcon(@NonNull Context context,
-            @NonNull IconLoader iconLoader) {
-        if (mIsManualDnd) {
-            return Futures.immediateFuture(requireNonNull(
-                    context.getDrawable(R.drawable.ic_do_not_disturb_on_24dp)));
-        }
-
-        return iconLoader.getIcon(context, mRule);
-    }
-
-    @NonNull
-    public ZenPolicy getPolicy() {
-        switch (mRule.getInterruptionFilter()) {
-            case INTERRUPTION_FILTER_PRIORITY:
-                return requireNonNull(mRule.getZenPolicy());
-
-            case NotificationManager.INTERRUPTION_FILTER_ALL:
-                return POLICY_INTERRUPTION_FILTER_ALL;
-
-            case NotificationManager.INTERRUPTION_FILTER_ALARMS:
-                return POLICY_INTERRUPTION_FILTER_ALARMS;
-
-            case NotificationManager.INTERRUPTION_FILTER_NONE:
-                return POLICY_INTERRUPTION_FILTER_NONE;
-
-            case NotificationManager.INTERRUPTION_FILTER_UNKNOWN:
-            default:
-                Log.wtf(TAG, "Rule " + mId + " with unexpected interruptionFilter "
-                        + mRule.getInterruptionFilter());
-                return requireNonNull(mRule.getZenPolicy());
-        }
-    }
-
-    /**
-     * Updates the {@link ZenPolicy} of the associated {@link AutomaticZenRule} based on the
-     * supplied policy. In some cases this involves conversions, so that the following call
-     * to {@link #getPolicy} might return a different policy from the one supplied here.
-     */
-    @SuppressLint("WrongConstant")
-    public void setPolicy(@NonNull ZenPolicy policy) {
-        ZenPolicy currentPolicy = getPolicy();
-        if (currentPolicy.equals(policy)) {
-            return;
-        }
-
-        // A policy with CHANNEL_POLICY_ALL is only a UI representation of the
-        // INTERRUPTION_FILTER_ALL filter. Thus, switching to or away to this value only updates
-        // the filter, discarding the rest of the supplied policy.
-        if (policy.getAllowedChannels() == CHANNEL_POLICY_ALL
-                && currentPolicy.getAllowedChannels() != CHANNEL_POLICY_ALL) {
-            if (mIsManualDnd) {
-                throw new IllegalArgumentException("Manual DND cannot have CHANNEL_POLICY_ALL");
-            }
-            mRule.setInterruptionFilter(INTERRUPTION_FILTER_ALL);
-            // Preserve the existing policy, e.g. if the user goes PRIORITY -> ALL -> PRIORITY that
-            // shouldn't discard all other policy customizations. The existing policy will be a
-            // synthetic one if the rule originally had filter NONE or ALARMS_ONLY and that's fine.
-            if (mRule.getZenPolicy() == null) {
-                mRule.setZenPolicy(currentPolicy);
-            }
-            return;
-        } else if (policy.getAllowedChannels() != CHANNEL_POLICY_ALL
-                && currentPolicy.getAllowedChannels() == CHANNEL_POLICY_ALL) {
-            mRule.setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY);
-            // Go back to whatever policy the rule had before, unless the rule never had one, in
-            // which case we use the supplied policy (which we know has a valid allowedChannels).
-            if (mRule.getZenPolicy() == null) {
-                mRule.setZenPolicy(policy);
-            }
-            return;
-        }
-
-        // If policy is customized from any of the "special" ones, make the rule PRIORITY.
-        if (mRule.getInterruptionFilter() != INTERRUPTION_FILTER_PRIORITY) {
-            mRule.setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY);
-        }
-        mRule.setZenPolicy(policy);
-    }
-
-    @NonNull
-    public ZenDeviceEffects getDeviceEffects() {
-        return mRule.getDeviceEffects() != null
-                ? mRule.getDeviceEffects()
-                : new ZenDeviceEffects.Builder().build();
-    }
-
-    public boolean canEditName() {
-        return !isManualDnd();
-    }
-
-    public boolean canEditIcon() {
-        return !isManualDnd();
-    }
-
-    public boolean canBeDeleted() {
-        return !mIsManualDnd;
-    }
-
-    public boolean isManualDnd() {
-        return mIsManualDnd;
-    }
-
-    public boolean isActive() {
-        return mIsActive;
-    }
-
-    @Override
-    public boolean equals(@Nullable Object obj) {
-        return obj instanceof ZenMode other
-                && mId.equals(other.mId)
-                && mRule.equals(other.mRule)
-                && mIsActive == other.mIsActive;
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(mId, mRule, mIsActive);
-    }
-
-    @Override
-    public String toString() {
-        return mId + "(" + (mIsActive ? "active" : "inactive") + ") -> " + mRule;
-    }
-}
diff --git a/src/com/android/settings/notification/modes/ZenModeActionsPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeActionsPreferenceController.java
deleted file mode 100644
index 8585234..0000000
--- a/src/com/android/settings/notification/modes/ZenModeActionsPreferenceController.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification.modes;
-
-import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
-
-import android.content.Context;
-import android.os.Bundle;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settings.core.SubSettingLauncher;
-import com.android.settingslib.widget.ActionButtonsPreference;
-
-class ZenModeActionsPreferenceController extends AbstractZenModePreferenceController {
-
-    ZenModeActionsPreferenceController(@NonNull Context context, @NonNull String key,
-            @Nullable ZenModesBackend backend) {
-        super(context, key, backend);
-    }
-
-    @Override
-    void updateState(Preference preference, @NonNull ZenMode zenMode) {
-        ActionButtonsPreference buttonsPreference = (ActionButtonsPreference) preference;
-
-        // TODO: b/346278854 - Add rename action (with setButton1Enabled(zenMode.canEditName())
-        buttonsPreference.setButton1Text(R.string.zen_mode_action_change_name);
-        buttonsPreference.setButton1Icon(R.drawable.ic_mode_edit);
-        buttonsPreference.setButton1Enabled(false);
-
-        buttonsPreference.setButton2Text(R.string.zen_mode_action_change_icon);
-        buttonsPreference.setButton2Icon(R.drawable.ic_zen_mode_action_change_icon);
-        buttonsPreference.setButton2Enabled(zenMode.canEditIcon());
-        buttonsPreference.setButton2OnClickListener(v -> {
-            Bundle bundle = new Bundle();
-            bundle.putString(MODE_ID, zenMode.getId());
-            new SubSettingLauncher(mContext)
-                    .setDestination(ZenModeIconPickerFragment.class.getName())
-                    // TODO: b/332937635 - Update metrics category
-                    .setSourceMetricsCategory(0)
-                    .setArguments(bundle)
-                    .launch();
-        });
-    }
-}
diff --git a/src/com/android/settings/notification/modes/ZenModeAppsFragment.java b/src/com/android/settings/notification/modes/ZenModeAppsFragment.java
index 73329a2..ec72c83 100644
--- a/src/com/android/settings/notification/modes/ZenModeAppsFragment.java
+++ b/src/com/android/settings/notification/modes/ZenModeAppsFragment.java
@@ -37,10 +37,6 @@
                 context, ZenModeAppsPreferenceController.KEY_PRIORITY, mBackend));
         controllers.add(new ZenModeAppsPreferenceController(
                 context, ZenModeAppsPreferenceController.KEY_NONE, mBackend));
-        // TODO: b/308819928 - The manual DND mode cannot have the ALL type;
-        // unify the controllers into one and only create a preference if isManualDnd is false.
-        controllers.add(new ZenModeAppsPreferenceController(
-                context, ZenModeAppsPreferenceController.KEY_ALL, mBackend));
         return controllers;
     }
 
@@ -51,7 +47,6 @@
 
     @Override
     public int getMetricsCategory() {
-        // TODO: b/332937635 - make this the correct metrics category
-        return SettingsEnums.NOTIFICATION_ZEN_MODE_PRIORITY;
+        return SettingsEnums.NOTIFICATION_ZEN_MODE_OVERRIDING_APPS;
     }
 }
diff --git a/src/com/android/settings/notification/modes/ZenModeAppsLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeAppsLinkPreferenceController.java
index 581fff5..c133f51 100644
--- a/src/com/android/settings/notification/modes/ZenModeAppsLinkPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeAppsLinkPreferenceController.java
@@ -16,27 +16,42 @@
 
 package com.android.settings.notification.modes;
 
-import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
+import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
 
+import android.app.Application;
+import android.app.settings.SettingsEnums;
 import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.graphics.drawable.Drawable;
 import android.os.Bundle;
-import android.util.ArraySet;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.service.notification.ZenPolicy;
+import android.text.TextUtils;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
-import androidx.core.text.BidiFormatter;
 import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 
-import com.android.settings.core.SubSettingLauncher;
-import com.android.settings.notification.NotificationBackend;
+import com.android.settings.R;
+import com.android.settings.Utils;
 import com.android.settingslib.applications.ApplicationsState;
+import com.android.settingslib.applications.ApplicationsState.AppEntry;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+import com.google.common.base.Equivalence;
+import com.google.common.collect.HashMultimap;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Multimap;
 
 import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.Comparator;
 import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.Objects;
+import java.util.function.Function;
 
 /**
  * Preference with a link and summary about what apps can break through the mode
@@ -46,36 +61,73 @@
     private static final String TAG = "ZenModeAppsLinkPreferenceController";
 
     private final ZenModeSummaryHelper mSummaryHelper;
+    private final ApplicationsState mApplicationsState;
+    private final UserManager mUserManager;
     private ApplicationsState.Session mAppSession;
-    private NotificationBackend mNotificationBackend = new NotificationBackend();
+    private final ZenHelperBackend mHelperBackend;
     private ZenMode mZenMode;
-    private Preference mPreference;
+    private CircularIconsPreference mPreference;
+    private final Fragment mHost;
+    private final Function<ApplicationInfo, Drawable> mAppIconRetriever;
 
     ZenModeAppsLinkPreferenceController(Context context, String key, Fragment host,
-            ApplicationsState applicationsState, ZenModesBackend backend) {
+            ZenModesBackend backend, ZenHelperBackend helperBackend) {
+        this(context, key, host,
+                ApplicationsState.getInstance((Application) context.getApplicationContext()),
+                backend, helperBackend, appInfo -> Utils.getBadgedIcon(context, appInfo));
+    }
+
+    @VisibleForTesting
+    ZenModeAppsLinkPreferenceController(Context context, String key, Fragment host,
+            ApplicationsState applicationsState, ZenModesBackend backend,
+            ZenHelperBackend helperBackend, Function<ApplicationInfo, Drawable> appIconRetriever) {
         super(context, key, backend);
-        mSummaryHelper = new ZenModeSummaryHelper(mContext, mBackend);
-        if (applicationsState != null && host != null) {
-            mAppSession = applicationsState.newSession(mAppSessionCallbacks, host.getLifecycle());
-        }
+        mSummaryHelper = new ZenModeSummaryHelper(mContext, helperBackend);
+        mHelperBackend = helperBackend;
+        mApplicationsState = applicationsState;
+        mUserManager = context.getSystemService(UserManager.class);
+        mHost = host;
+        mAppIconRetriever = appIconRetriever;
+    }
+
+    @Override
+    public boolean isAvailable(ZenMode zenMode) {
+        return zenMode.getInterruptionFilter() != INTERRUPTION_FILTER_ALL;
     }
 
     @Override
     public void updateState(Preference preference, @NonNull ZenMode zenMode) {
         Bundle bundle = new Bundle();
-        bundle.putString(MODE_ID, zenMode.getId());
-        // TODO(b/332937635): Update metrics category
-        preference.setIntent(new SubSettingLauncher(mContext)
-                .setDestination(ZenModeAppsFragment.class.getName())
-                .setSourceMetricsCategory(0)
-                .setArguments(bundle)
-                .toIntent());
+        bundle.putString(EXTRA_AUTOMATIC_ZEN_RULE_ID, zenMode.getId());
+        preference.setIntent(
+                ZenSubSettingLauncher.forModeFragment(mContext, ZenModeAppsFragment.class,
+                        zenMode.getId(), SettingsEnums.ZEN_PRIORITY_MODE).toIntent());
+        preference.setEnabled(zenMode.isEnabled() && zenMode.canEditPolicy());
+
         mZenMode = zenMode;
-        mPreference = preference;
-        triggerUpdateAppsBypassingDndSummaryText();
+        mPreference = (CircularIconsPreference) preference;
+
+        if (zenMode.getPolicy().getAllowedChannels() == ZenPolicy.CHANNEL_POLICY_NONE) {
+            mPreference.setSummary(R.string.zen_mode_apps_none_apps);
+            mPreference.setIcons(CircularIconSet.EMPTY);
+            if (mAppSession != null) {
+                mAppSession.deactivateSession();
+            }
+        } else {
+            if (TextUtils.isEmpty(mPreference.getSummary())) {
+                mPreference.setSummary(R.string.zen_mode_apps_calculating);
+            }
+            if (mAppSession == null) {
+                mAppSession = mApplicationsState.newSession(mAppSessionCallbacks,
+                        mHost.getLifecycle());
+            } else {
+                mAppSession.activateSession();
+            }
+            triggerUpdateAppsBypassingDnd();
+        }
     }
 
-    private void triggerUpdateAppsBypassingDndSummaryText() {
+    private void triggerUpdateAppsBypassingDnd() {
         if (mAppSession == null) {
             return;
         }
@@ -90,64 +142,88 @@
         mAppSession.rebuild(filter, ApplicationsState.ALPHA_COMPARATOR, false);
     }
 
-    private void updateAppsBypassingDndSummaryText(List<ApplicationsState.AppEntry> apps) {
-        Set<String> appNames = getAppsBypassingDnd(apps);
-        mPreference.setSummary(mSummaryHelper.getAppsSummary(mZenMode, appNames));
+    private void displayAppsBypassingDnd(List<AppEntry> allApps) {
+        if (mZenMode.getPolicy().getAllowedChannels() == ZenPolicy.CHANNEL_POLICY_NONE) {
+            // Can get this callback when resuming, if we had CHANNEL_POLICY_PRIORITY and just
+            // switched to CHANNEL_POLICY_NONE.
+            return;
+        }
+
+        ImmutableList<AppEntry> apps = getAppsBypassingDndSortedByName(allApps);
+        mPreference.setSummary(mSummaryHelper.getAppsSummary(mZenMode, apps));
+        mPreference.setIcons(new CircularIconSet<>(apps,
+                app -> mAppIconRetriever.apply(app.info)),
+                APP_ENTRY_EQUIVALENCE);
     }
 
     @VisibleForTesting
-    ArraySet<String> getAppsBypassingDnd(@NonNull List<ApplicationsState.AppEntry> apps) {
-        ArraySet<String> appsBypassingDnd = new ArraySet<>();
+    ImmutableList<AppEntry> getAppsBypassingDndSortedByName(@NonNull List<AppEntry> allApps) {
+        Multimap<Integer, String> packagesBypassingDnd = HashMultimap.create();
+        for (UserHandle userHandle : mUserManager.getUserProfiles()) {
+            packagesBypassingDnd.putAll(userHandle.getIdentifier(),
+                    mHelperBackend.getPackagesBypassingDnd(userHandle.getIdentifier(),
+                            /* includeConversationChannels= */ false));
+        }
 
-        Map<String, String> pkgLabelMap = new HashMap<String, String>();
-        for (ApplicationsState.AppEntry entry : apps) {
-            if (entry.info != null) {
-                pkgLabelMap.put(entry.info.packageName, entry.label);
-            }
-        }
-        for (String pkg : mNotificationBackend.getPackagesBypassingDnd(mContext.getUserId(),
-                /* includeConversationChannels= */ false)) {
-            // Settings may hide some packages from the user, so if they're not present here
-            // we skip displaying them, even if they bypass dnd.
-            if (pkgLabelMap.get(pkg) == null) {
-                continue;
-            }
-            appsBypassingDnd.add(BidiFormatter.getInstance().unicodeWrap(pkgLabelMap.get(pkg)));
-        }
-        return appsBypassingDnd;
+        return ImmutableList.copyOf(
+                allApps.stream()
+                        .filter(app -> packagesBypassingDnd.containsEntry(
+                                UserHandle.getUserId(app.info.uid), app.info.packageName))
+                        .sorted(Comparator.comparing((AppEntry app) -> app.label)
+                                .thenComparing(app -> UserHandle.getUserId(app.info.uid)))
+                        .toList());
     }
 
-    @VisibleForTesting final ApplicationsState.Callbacks mAppSessionCallbacks =
+    private static final Equivalence<AppEntry> APP_ENTRY_EQUIVALENCE = new Equivalence<>() {
+        @Override
+        protected boolean doEquivalent(@NonNull AppEntry a, @NonNull AppEntry b) {
+            return a.info.uid == b.info.uid
+                    && Objects.equals(a.info.packageName, b.info.packageName);
+        }
+
+        @Override
+        protected int doHash(@NonNull AppEntry entry) {
+            return Objects.hash(entry.info.uid, entry.info.packageName);
+        }
+    };
+
+    @VisibleForTesting
+    final ApplicationsState.Callbacks mAppSessionCallbacks =
             new ApplicationsState.Callbacks() {
 
                 @Override
-                public void onRunningStateChanged(boolean running) { }
+                public void onRunningStateChanged(boolean running) {
+                }
 
                 @Override
                 public void onPackageListChanged() {
-                    triggerUpdateAppsBypassingDndSummaryText();
+                    triggerUpdateAppsBypassingDnd();
                 }
 
                 @Override
                 public void onRebuildComplete(ArrayList<ApplicationsState.AppEntry> apps) {
-                    updateAppsBypassingDndSummaryText(apps);
+                    displayAppsBypassingDnd(apps);
                 }
 
                 @Override
-                public void onPackageIconChanged() { }
+                public void onPackageIconChanged() {
+                }
 
                 @Override
-                public void onPackageSizeChanged(String packageName) { }
+                public void onPackageSizeChanged(String packageName) {
+                }
 
                 @Override
-                public void onAllSizesComputed() { }
+                public void onAllSizesComputed() {
+                }
 
                 @Override
-                public void onLauncherInfoChanged() { }
+                public void onLauncherInfoChanged() {
+                }
 
                 @Override
                 public void onLoadEntriesCompleted() {
-                    triggerUpdateAppsBypassingDndSummaryText();
+                    triggerUpdateAppsBypassingDnd();
                 }
             };
 }
diff --git a/src/com/android/settings/notification/modes/ZenModeAppsPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeAppsPreferenceController.java
index 704bce0..c44661a 100644
--- a/src/com/android/settings/notification/modes/ZenModeAppsPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeAppsPreferenceController.java
@@ -16,7 +16,7 @@
 
 package com.android.settings.notification.modes;
 
-import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
@@ -24,13 +24,14 @@
 import android.service.notification.ZenPolicy;
 
 import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.SubSettingLauncher;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
 import com.android.settingslib.widget.SelectorWithWidgetPreference;
 
 public class ZenModeAppsPreferenceController extends
@@ -38,13 +39,11 @@
 
     static final String KEY_PRIORITY = "zen_mode_apps_priority";
     static final String KEY_NONE = "zen_mode_apps_none";
-    static final String KEY_ALL = "zen_mode_apps_all";
 
     String mModeId;
 
-
     public ZenModeAppsPreferenceController(@NonNull Context context,
-            @NonNull String key, @Nullable ZenModesBackend backend) {
+            @NonNull String key, @NonNull ZenModesBackend backend) {
         super(context, key, backend);
     }
 
@@ -79,13 +78,6 @@
                         == ZenPolicy.CHANNEL_POLICY_NONE;
                 pref.setChecked(policy_none);
                 break;
-            case KEY_ALL:
-                // A UI-only setting; the underlying policy never actually has this value,
-                // but ZenMode acts as though it does for the sake of UI consistency.
-                boolean policy_all = zenMode.getPolicy().getAllowedChannels()
-                        == ZenMode.CHANNEL_POLICY_ALL;
-                pref.setChecked(policy_all);
-                break;
         }
     }
 
@@ -96,8 +88,6 @@
                 return savePolicy(p -> p.allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY));
             case KEY_NONE:
                 return savePolicy(p -> p.allowChannels(ZenPolicy.CHANNEL_POLICY_NONE));
-            case KEY_ALL:
-                return savePolicy(p -> p.allowChannels(ZenMode.CHANNEL_POLICY_ALL));
         }
         return true;
     }
@@ -114,12 +104,11 @@
     private void launchPrioritySettings() {
         Bundle bundle = new Bundle();
         if (mModeId != null) {
-            bundle.putString(MODE_ID, mModeId);
+            bundle.putString(EXTRA_AUTOMATIC_ZEN_RULE_ID, mModeId);
         }
-        // TODO(b/332937635): Update metrics category
         new SubSettingLauncher(mContext)
                 .setDestination(ZenModeSelectBypassingAppsFragment.class.getName())
-                .setSourceMetricsCategory(SettingsEnums.SETTINGS_ZEN_NOTIFICATIONS)
+                .setSourceMetricsCategory(SettingsEnums.NOTIFICATION_ZEN_MODE_OVERRIDING_APPS)
                 .setArguments(bundle)
                 .launch();
     }
diff --git a/src/com/android/settings/notification/modes/ZenModeBlurbPreference.java b/src/com/android/settings/notification/modes/ZenModeBlurbPreference.java
new file mode 100644
index 0000000..5850ae6
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenModeBlurbPreference.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.util.TypedValue;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+import com.android.settingslib.widget.TopIntroPreference;
+
+public class ZenModeBlurbPreference extends TopIntroPreference {
+
+    public ZenModeBlurbPreference(Context context) {
+        super(context);
+    }
+
+    public ZenModeBlurbPreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+        if (holder.findViewById(android.R.id.title) instanceof TextView textView) {
+            textView.setTextSize(TypedValue.COMPLEX_UNIT_PX,
+                    getContext().getResources().getDimensionPixelSize(
+                            R.dimen.zen_mode_blurb_text_size));
+
+            textView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
+
+            ViewGroup.LayoutParams layoutParams = textView.getLayoutParams();
+            if (layoutParams.width != MATCH_PARENT) {
+                layoutParams.width = MATCH_PARENT;
+                textView.setLayoutParams(layoutParams);
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/modes/ZenModeBlurbPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeBlurbPreferenceController.java
new file mode 100644
index 0000000..097b40d
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenModeBlurbPreferenceController.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static android.app.AutomaticZenRule.TYPE_BEDTIME;
+import static android.app.AutomaticZenRule.TYPE_DRIVING;
+import static android.app.AutomaticZenRule.TYPE_IMMERSIVE;
+import static android.app.AutomaticZenRule.TYPE_MANAGED;
+import static android.app.AutomaticZenRule.TYPE_SCHEDULE_CALENDAR;
+import static android.app.AutomaticZenRule.TYPE_SCHEDULE_TIME;
+import static android.app.AutomaticZenRule.TYPE_THEATER;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.StringRes;
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settingslib.notification.modes.ZenMode;
+
+class ZenModeBlurbPreferenceController extends AbstractZenModePreferenceController {
+
+    ZenModeBlurbPreferenceController(@NonNull Context context, @NonNull String key) {
+        super(context, key);
+    }
+
+    @Override
+    void updateState(Preference preference, @NonNull ZenMode zenMode) {
+        preference.setTitle(getModeBlurb(zenMode));
+    }
+
+    @StringRes
+    @SuppressLint("SwitchIntDef")
+    private static int getModeBlurb(ZenMode mode) {
+        if (mode.isSystemOwned()) {
+            return switch (mode.getType()) {
+                case TYPE_SCHEDULE_TIME -> R.string.zen_mode_blurb_schedule_time;
+                case TYPE_SCHEDULE_CALENDAR -> R.string.zen_mode_blurb_schedule_calendar;
+                default -> R.string.zen_mode_blurb_generic; // Custom Manual
+            };
+        } else {
+            return switch (mode.getType()) {
+                case TYPE_BEDTIME -> R.string.zen_mode_blurb_bedtime;
+                case TYPE_DRIVING -> R.string.zen_mode_blurb_driving;
+                case TYPE_IMMERSIVE -> R.string.zen_mode_blurb_immersive;
+                case TYPE_THEATER -> R.string.zen_mode_blurb_theater;
+                case TYPE_MANAGED -> R.string.zen_mode_blurb_managed;
+                default -> R.string.zen_mode_blurb_generic; // Including OTHER, UNKNOWN.
+            };
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/modes/ZenModeButtonPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeButtonPreferenceController.java
index 1846dfc..bb9d23c 100644
--- a/src/com/android/settings/notification/modes/ZenModeButtonPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeButtonPreferenceController.java
@@ -16,26 +16,42 @@
 
 package com.android.settings.notification.modes;
 
+import static com.google.common.base.Preconditions.checkNotNull;
+
 import android.annotation.NonNull;
 import android.content.Context;
+import android.provider.Settings;
 import android.widget.Button;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 
 import com.android.settings.R;
+import com.android.settings.notification.SettingsEnableZenModeDialog;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
 import com.android.settingslib.widget.LayoutPreference;
 
-public class ZenModeButtonPreferenceController extends AbstractZenModePreferenceController {
+import java.time.Duration;
+
+class ZenModeButtonPreferenceController extends AbstractZenModePreferenceController {
+    private static final String TAG = "ZenModeButtonPrefController";
 
     private Button mZenButton;
+    private final Fragment mParent;
+    private final ManualDurationHelper mDurationHelper;
 
-    public ZenModeButtonPreferenceController(Context context, String key, ZenModesBackend backend) {
+    ZenModeButtonPreferenceController(Context context, String key, Fragment parent,
+            ZenModesBackend backend) {
         super(context, key, backend);
+        mParent = parent;
+        mDurationHelper = new ManualDurationHelper(context);
     }
 
     @Override
     public boolean isAvailable(ZenMode zenMode) {
-        return zenMode.getRule().isManualInvocationAllowed() && zenMode.getRule().isEnabled();
+        return zenMode.isEnabled()
+                && (zenMode.isActive() || zenMode.getRule().isManualInvocationAllowed());
     }
 
     @Override
@@ -44,16 +60,33 @@
             mZenButton = ((LayoutPreference) preference).findViewById(R.id.activate_mode);
         }
         mZenButton.setOnClickListener(v -> {
+            checkNotNull(mBackend, "Backend not available!");
             if (zenMode.isActive()) {
                 mBackend.deactivateMode(zenMode);
             } else {
-                mBackend.activateMode(zenMode, null);
+                if (zenMode.isManualDnd()) {
+                    // if manual DND, potentially ask for or use desired duration
+                    int zenDuration = mDurationHelper.getZenDuration();
+                    switch (zenDuration) {
+                        case Settings.Secure.ZEN_DURATION_PROMPT:
+                            new SettingsEnableZenModeDialog().show(
+                                    mParent.getParentFragmentManager(), TAG);
+                            break;
+                        case Settings.Secure.ZEN_DURATION_FOREVER:
+                            mBackend.activateMode(zenMode, null);
+                            break;
+                        default:
+                            mBackend.activateMode(zenMode, Duration.ofMinutes(zenDuration));
+                    }
+                } else {
+                    mBackend.activateMode(zenMode, null);
+                }
             }
         });
         if (zenMode.isActive()) {
-            mZenButton.setText(R.string.zen_mode_button_turn_off);
+            mZenButton.setText(R.string.zen_mode_action_deactivate);
         } else {
-            mZenButton.setText(R.string.zen_mode_button_turn_on);
+            mZenButton.setText(R.string.zen_mode_action_activate);
         }
     }
 }
diff --git a/src/com/android/settings/notification/modes/ZenModeCallsFragment.java b/src/com/android/settings/notification/modes/ZenModeCallsFragment.java
index 4c85bf5..ac05328 100644
--- a/src/com/android/settings/notification/modes/ZenModeCallsFragment.java
+++ b/src/com/android/settings/notification/modes/ZenModeCallsFragment.java
@@ -18,6 +18,7 @@
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
+
 import com.android.settings.R;
 import com.android.settingslib.core.AbstractPreferenceController;
 
@@ -34,7 +35,7 @@
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
         List<AbstractPreferenceController> controllers = new ArrayList<>();
         controllers.add(new ZenModePrioritySendersPreferenceController(context,
-                "zen_mode_settings_category_calls", false, mBackend));
+                "zen_mode_settings_category_calls", false, mBackend, mHelperBackend));
         controllers.add(new ZenModeRepeatCallersPreferenceController(context,
                 "zen_mode_repeat_callers", mBackend,
                 context.getResources().getInteger(com.android.internal.R.integer
@@ -49,7 +50,6 @@
 
     @Override
     public int getMetricsCategory() {
-        // TODO: b/332937635 - make this the correct metrics category
         return SettingsEnums.DND_CALLS;
     }
 
diff --git a/src/com/android/settings/notification/modes/ZenModeCallsLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeCallsLinkPreferenceController.java
index 746af44..efddcf9 100644
--- a/src/com/android/settings/notification/modes/ZenModeCallsLinkPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeCallsLinkPreferenceController.java
@@ -16,8 +16,9 @@
 
 package com.android.settings.notification.modes;
 
-import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.Bundle;
 
@@ -25,25 +26,25 @@
 import androidx.preference.Preference;
 
 import com.android.settings.core.SubSettingLauncher;
+import com.android.settingslib.notification.modes.ZenMode;
 
 class ZenModeCallsLinkPreferenceController extends AbstractZenModePreferenceController  {
 
     private final ZenModeSummaryHelper mSummaryHelper;
 
     public ZenModeCallsLinkPreferenceController(Context context, String key,
-            ZenModesBackend backend) {
-        super(context, key, backend);
-        mSummaryHelper = new ZenModeSummaryHelper(context, backend);
+            ZenHelperBackend helperBackend) {
+        super(context, key);
+        mSummaryHelper = new ZenModeSummaryHelper(context, helperBackend);
     }
 
     @Override
     public void updateState(Preference preference, @NonNull ZenMode zenMode) {
         Bundle bundle = new Bundle();
-        bundle.putString(MODE_ID, zenMode.getId());
-        // TODO(b/332937635): Update metrics category
+        bundle.putString(EXTRA_AUTOMATIC_ZEN_RULE_ID, zenMode.getId());
         preference.setIntent(new SubSettingLauncher(mContext)
                 .setDestination(ZenModeCallsFragment.class.getName())
-                .setSourceMetricsCategory(0)
+                .setSourceMetricsCategory(SettingsEnums.DND_PEOPLE)
                 .setArguments(bundle)
                 .toIntent());
         preference.setSummary(mSummaryHelper.getCallsSettingSummary(zenMode));
diff --git a/src/com/android/settings/notification/modes/ZenModeDisplayEffectPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeDisplayEffectPreferenceController.java
index bca7b55..afd9b76 100644
--- a/src/com/android/settings/notification/modes/ZenModeDisplayEffectPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeDisplayEffectPreferenceController.java
@@ -23,7 +23,10 @@
 import androidx.preference.Preference;
 import androidx.preference.TwoStatePreference;
 
-public class ZenModeDisplayEffectPreferenceController extends AbstractZenModePreferenceController
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+class ZenModeDisplayEffectPreferenceController extends AbstractZenModePreferenceController
         implements Preference.OnPreferenceChangeListener {
 
     public ZenModeDisplayEffectPreferenceController(Context context, String key,
@@ -34,24 +37,20 @@
     @Override
     public void updateState(Preference preference, @NonNull ZenMode zenMode) {
         TwoStatePreference pref = (TwoStatePreference) preference;
-        ZenDeviceEffects effects =  zenMode.getRule().getDeviceEffects();
-        if (effects == null) {
-            pref.setChecked(false);
-        } else {
-            switch (getPreferenceKey()) {
-                case "effect_greyscale":
-                    pref.setChecked(effects.shouldDisplayGrayscale());
-                    break;
-                case "effect_aod":
-                    pref.setChecked(effects.shouldSuppressAmbientDisplay());
-                    break;
-                case "effect_wallpaper":
-                    pref.setChecked(effects.shouldDimWallpaper());
-                    break;
-                case "effect_dark_theme":
-                    pref.setChecked(effects.shouldUseNightMode());
-                    break;
-            }
+        ZenDeviceEffects effects =  zenMode.getDeviceEffects();
+        switch (getPreferenceKey()) {
+            case "effect_greyscale":
+                pref.setChecked(effects.shouldDisplayGrayscale());
+                break;
+            case "effect_aod":
+                pref.setChecked(effects.shouldSuppressAmbientDisplay());
+                break;
+            case "effect_wallpaper":
+                pref.setChecked(effects.shouldDimWallpaper());
+                break;
+            case "effect_dark_theme":
+                pref.setChecked(effects.shouldUseNightMode());
+                break;
         }
     }
 
@@ -75,7 +74,7 @@
                     updatedEffects.setShouldUseNightMode(allow);
                     break;
             }
-            zenMode.getRule().setDeviceEffects(updatedEffects.build());
+            zenMode.setDeviceEffects(updatedEffects.build());
             return zenMode;
         });
     }
diff --git a/src/com/android/settings/notification/modes/ZenModeDisplayFragment.java b/src/com/android/settings/notification/modes/ZenModeDisplayFragment.java
index 0972049..74ed38f 100644
--- a/src/com/android/settings/notification/modes/ZenModeDisplayFragment.java
+++ b/src/com/android/settings/notification/modes/ZenModeDisplayFragment.java
@@ -18,6 +18,7 @@
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
+
 import com.android.settings.R;
 import com.android.settingslib.core.AbstractPreferenceController;
 
@@ -34,7 +35,7 @@
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
         List<AbstractPreferenceController> prefControllers = new ArrayList<>();
         prefControllers.add(new ZenModeNotifVisLinkPreferenceController(
-                context, "notification_visibility", mBackend));
+                context, "notification_visibility", mHelperBackend));
         prefControllers.add(new ZenModeDisplayEffectPreferenceController(
                 context, "effect_greyscale", mBackend));
         prefControllers.add(new ZenModeDisplayEffectPreferenceController(
@@ -53,7 +54,6 @@
 
     @Override
     public int getMetricsCategory() {
-        // TODO: b/332937635 - make this the correct metrics category
-        return SettingsEnums.DND_PEOPLE;
+        return SettingsEnums.ZEN_MODE_DISPLAY_SETTINGS;
     }
 }
diff --git a/src/com/android/settings/notification/modes/ZenModeDisplayLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeDisplayLinkPreferenceController.java
index 8720a4b..14c8cb6 100644
--- a/src/com/android/settings/notification/modes/ZenModeDisplayLinkPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeDisplayLinkPreferenceController.java
@@ -16,36 +16,36 @@
 
 package com.android.settings.notification.modes;
 
-import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.Bundle;
 
 import androidx.annotation.NonNull;
 import androidx.preference.Preference;
 
-import com.android.settings.core.SubSettingLauncher;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
 
 class ZenModeDisplayLinkPreferenceController extends AbstractZenModePreferenceController  {
 
     private final ZenModeSummaryHelper mSummaryHelper;
 
     public ZenModeDisplayLinkPreferenceController(Context context, String key,
-            ZenModesBackend backend) {
+            ZenModesBackend backend, ZenHelperBackend helperBackend) {
         super(context, key, backend);
-        mSummaryHelper = new ZenModeSummaryHelper(context, backend);
+        mSummaryHelper = new ZenModeSummaryHelper(context, helperBackend);
     }
 
     @Override
     void updateState(Preference preference, @NonNull ZenMode zenMode) {
         Bundle bundle = new Bundle();
-        bundle.putString(MODE_ID, zenMode.getId());
-        // TODO(b/332937635): Update metrics category
-        preference.setIntent(new SubSettingLauncher(mContext)
-                .setDestination(ZenModeDisplayFragment.class.getName())
-                .setSourceMetricsCategory(0)
-                .setArguments(bundle)
-                .toIntent());
+        bundle.putString(EXTRA_AUTOMATIC_ZEN_RULE_ID, zenMode.getId());
+        preference.setIntent(
+                ZenSubSettingLauncher.forModeFragment(mContext, ZenModeDisplayFragment.class,
+                        zenMode.getId(), SettingsEnums.ZEN_PRIORITY_MODE).toIntent());
+        preference.setEnabled(zenMode.isEnabled() && zenMode.canEditPolicy());
     }
 
     @Override
diff --git a/src/com/android/settings/notification/modes/ZenModeEditDonePreferenceController.java b/src/com/android/settings/notification/modes/ZenModeEditDonePreferenceController.java
new file mode 100644
index 0000000..de1adc7
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenModeEditDonePreferenceController.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import android.content.Context;
+import android.widget.Button;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.widget.LayoutPreference;
+
+class ZenModeEditDonePreferenceController extends AbstractZenModePreferenceController {
+
+    private final Runnable mConfirmSave;
+    @Nullable private Button mButton;
+
+    ZenModeEditDonePreferenceController(@NonNull Context context, @NonNull String key,
+            Runnable confirmSave) {
+        super(context, key);
+        mConfirmSave = confirmSave;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        LayoutPreference pref = screen.findPreference(getPreferenceKey());
+        if (pref != null) {
+            mButton = pref.findViewById(R.id.done);
+            if (mButton != null) {
+                mButton.setOnClickListener(v -> mConfirmSave.run());
+            }
+        }
+    }
+
+    @Override
+    void updateState(Preference preference, @NonNull ZenMode zenMode) {
+        if (mButton != null) {
+            mButton.setEnabled(!zenMode.getName().isBlank());
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/modes/ZenModeEditNameIconFragment.java b/src/com/android/settings/notification/modes/ZenModeEditNameIconFragment.java
new file mode 100644
index 0000000..60f7316
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenModeEditNameIconFragment.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
+
+import android.app.settings.SettingsEnums;
+import android.os.Bundle;
+import android.util.Log;
+
+import androidx.annotation.Nullable;
+
+import com.android.settings.R;
+import com.android.settingslib.notification.modes.ZenMode;
+
+public class ZenModeEditNameIconFragment extends ZenModeEditNameIconFragmentBase {
+
+    @Nullable
+    @Override
+    protected ZenMode onCreateInstantiateZenMode() {
+        String modeId = getModeIdFromArguments();
+        return modeId != null ? requireBackend().getMode(modeId) : null;
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+        requireActivity().setTitle(R.string.zen_mode_rename_title);
+    }
+
+    @Override
+    void saveMode(ZenMode mode) {
+        String modeId = getModeIdFromArguments();
+        ZenMode modeToUpdate = modeId != null ? requireBackend().getMode(modeId) : null;
+        if (modeToUpdate == null) {
+            // Huh, maybe it was deleted while we were choosing the icon? Unusual...
+            Log.w(getLogTag(), "Couldn't fetch mode with id " + modeId
+                    + " from the backend for saving. Discarding changes!");
+            finish();
+            return;
+        }
+
+        modeToUpdate.getRule().setName(mode.getRule().getName());
+        modeToUpdate.getRule().setIconResId(mode.getRule().getIconResId());
+        requireBackend().updateMode(modeToUpdate);
+        finish();
+    }
+
+    @Nullable
+    private String getModeIdFromArguments() {
+        Bundle bundle = getArguments();
+        if (bundle != null && bundle.containsKey(EXTRA_AUTOMATIC_ZEN_RULE_ID)) {
+            return bundle.getString(EXTRA_AUTOMATIC_ZEN_RULE_ID);
+        } else {
+            return null;
+        }
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.ZEN_MODE_EDIT_NAME_ICON;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return "ZenModeEditNameIconFragment";
+    }
+}
diff --git a/src/com/android/settings/notification/modes/ZenModeEditNameIconFragmentBase.java b/src/com/android/settings/notification/modes/ZenModeEditNameIconFragmentBase.java
new file mode 100644
index 0000000..6dd9076
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenModeEditNameIconFragmentBase.java
@@ -0,0 +1,167 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.common.base.Preconditions.checkState;
+
+import android.content.Context;
+import android.os.Bundle;
+
+import androidx.annotation.DrawableRes;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.notification.modes.ZenIconLoader;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+import com.google.common.base.Strings;
+import com.google.common.collect.ImmutableList;
+
+import java.util.List;
+
+/**
+ * Base class for the "add a mode" and "edit mode name and icon" fragments. In both cases we are
+ * editing a {@link ZenMode}, but the mode shouldn't be saved immediately after each atomic change
+ * -- instead, it will be saved to the backend upon user confirmation.
+ *
+ * <p>As a result, instead of using {@link ZenModesBackend} to apply each change, we instead modify
+ * an in-memory {@link ZenMode}, that is preserved/restored in extras. This also means we don't
+ * listen to changes -- whatever the user sees should be applied.
+ */
+public abstract class ZenModeEditNameIconFragmentBase extends DashboardFragment {
+
+    private static final String MODE_KEY = "ZenMode";
+
+    @Nullable private ZenMode mZenMode;
+
+    private ZenModesBackend mBackend;
+
+    @VisibleForTesting(otherwise = VisibleForTesting.NONE)
+    void setBackend(ZenModesBackend backend) {
+        mBackend = backend;
+    }
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        if (mBackend == null) {
+            mBackend = ZenModesBackend.getInstance(context);
+        }
+    }
+
+    @Override
+    public final void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+        mZenMode = icicle != null
+                ? icicle.getParcelable(MODE_KEY, ZenMode.class)
+                : onCreateInstantiateZenMode();
+
+        if (mZenMode != null) {
+            for (var controller : getZenPreferenceControllers()) {
+                controller.setZenMode(mZenMode);
+            }
+        } else {
+            finish();
+        }
+    }
+
+    /**
+     * Provides the mode that will be edited. Called in {@link #onCreate}, the first time (the
+     * value returned here is persisted on Fragment recreation).
+     *
+     * <p>If {@code null} is returned, the fragment will {@link #finish()}.
+     */
+    @Nullable
+    protected abstract ZenMode onCreateInstantiateZenMode();
+
+    @Override
+    protected final int getPreferenceScreenResId() {
+        return R.xml.modes_edit_name_icon;
+    }
+
+    @Override
+    protected final List<AbstractPreferenceController> createPreferenceControllers(
+            Context context) {
+        return ImmutableList.of(
+                new ZenModeIconPickerIconPreferenceController(context, ZenIconLoader.getInstance(),
+                        "chosen_icon", this),
+                new ZenModeEditNamePreferenceController(context, "name", this::setModeName),
+                new ZenModeIconPickerListPreferenceController(context, "icon_list",
+                        this::setModeIcon),
+                new ZenModeEditDonePreferenceController(context, "done", this::saveMode)
+        );
+    }
+
+    private Iterable<AbstractZenModePreferenceController> getZenPreferenceControllers() {
+        return getPreferenceControllers().stream()
+                .flatMap(List::stream)
+                .filter(AbstractZenModePreferenceController.class::isInstance)
+                .map(AbstractZenModePreferenceController.class::cast)
+                .toList();
+    }
+
+    @VisibleForTesting(otherwise = VisibleForTesting.NONE)
+    @Nullable
+    ZenMode getZenMode() {
+        return mZenMode;
+    }
+
+    @VisibleForTesting
+    final void setModeName(String name) {
+        checkNotNull(mZenMode).getRule().setName(Strings.nullToEmpty(name));
+        forceUpdatePreferences(); // Updates confirmation button.
+    }
+
+    @VisibleForTesting
+    final void setModeIcon(@DrawableRes int iconResId) {
+        checkNotNull(mZenMode).getRule().setIconResId(iconResId);
+        forceUpdatePreferences();  // Updates icon at the top.
+    }
+
+
+    @VisibleForTesting
+    final void saveMode() {
+        saveMode(checkNotNull(mZenMode));
+    }
+
+    /**
+     * Called to actually save the mode, after the user confirms. This method is also responsible
+     * for calling {@link #finish()}, if appropriate.
+     *
+     * <p>Note that {@code mode} is the <em>in-memory</em> mode and, as such, may have obsolete
+     * data. If the concrete fragment is editing an existing mode, it should first fetch it from
+     * the backend, and copy the new name and icon before saving. */
+    abstract void saveMode(ZenMode mode);
+
+    @NonNull
+    protected ZenModesBackend requireBackend() {
+        checkState(mBackend != null);
+        return mBackend;
+    }
+
+    @Override
+    public void onSaveInstanceState(Bundle outState) {
+        super.onSaveInstanceState(outState);
+        outState.putParcelable(MODE_KEY, mZenMode);
+    }
+}
diff --git a/src/com/android/settings/notification/modes/ZenModeEditNamePreferenceController.java b/src/com/android/settings/notification/modes/ZenModeEditNamePreferenceController.java
new file mode 100644
index 0000000..78cbfe0
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenModeEditNamePreferenceController.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import android.content.Context;
+import android.text.Editable;
+import android.text.TextWatcher;
+import android.widget.EditText;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.widget.LayoutPreference;
+
+import java.util.function.Consumer;
+
+class ZenModeEditNamePreferenceController extends AbstractZenModePreferenceController {
+
+    private final Consumer<String> mModeNameSetter;
+    @Nullable private EditText mEditText;
+    private boolean mIsSettingText;
+
+    ZenModeEditNamePreferenceController(@NonNull Context context, @NonNull String key,
+            @NonNull Consumer<String> modeNameSetter) {
+        super(context, key);
+        mModeNameSetter = modeNameSetter;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        if (mEditText == null) {
+            LayoutPreference pref = checkNotNull(screen.findPreference(getPreferenceKey()));
+            mEditText = pref.findViewById(android.R.id.edit);
+
+            mEditText.addTextChangedListener(new TextWatcher() {
+                @Override
+                public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
+
+                @Override
+                public void onTextChanged(CharSequence s, int start, int before, int count) { }
+
+                @Override
+                public void afterTextChanged(Editable s) {
+                    if (!mIsSettingText) {
+                        mModeNameSetter.accept(s.toString());
+                    }
+                }
+            });
+        }
+    }
+
+    @Override
+    void updateState(Preference preference, @NonNull ZenMode zenMode) {
+        if (mEditText != null) {
+            mIsSettingText = true;
+            try {
+                String currentText = mEditText.getText().toString();
+                String modeName = zenMode.getName();
+                if (!modeName.equals(currentText)) {
+                    mEditText.setText(modeName);
+                }
+            } finally {
+                mIsSettingText = false;
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/modes/ZenModeExitAtAlarmPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeExitAtAlarmPreferenceController.java
index 8517af1..18e3fc1 100644
--- a/src/com/android/settings/notification/modes/ZenModeExitAtAlarmPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeExitAtAlarmPreferenceController.java
@@ -23,6 +23,9 @@
 import androidx.preference.Preference;
 import androidx.preference.TwoStatePreference;
 
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
 /**
  * Preference controller controlling whether a time schedule-based mode ends at the next alarm.
  */
@@ -47,7 +50,8 @@
         if (mSchedule.exitAtAlarm != exitAtAlarm) {
             mSchedule.exitAtAlarm = exitAtAlarm;
             return saveMode(mode -> {
-                mode.getRule().setConditionId(ZenModeConfig.toScheduleConditionId(mSchedule));
+                mode.setCustomModeConditionId(mContext,
+                        ZenModeConfig.toScheduleConditionId(mSchedule));
                 return mode;
             });
         }
diff --git a/src/com/android/settings/notification/modes/ZenModeFragment.java b/src/com/android/settings/notification/modes/ZenModeFragment.java
index e4d81fe..08075b4 100644
--- a/src/com/android/settings/notification/modes/ZenModeFragment.java
+++ b/src/com/android/settings/notification/modes/ZenModeFragment.java
@@ -16,20 +16,37 @@
 
 package com.android.settings.notification.modes;
 
-import android.app.Application;
-import android.app.AutomaticZenRule;
+import static com.android.settingslib.notification.modes.ZenMode.Status.DISABLED_BY_OTHER;
+
+import android.app.AlertDialog;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+
+import androidx.activity.ComponentActivity;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.core.view.MenuProvider;
 
 import com.android.settings.R;
-import com.android.settingslib.applications.ApplicationsState;
 import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.notification.modes.ZenIconLoader;
+import com.android.settingslib.notification.modes.ZenMode;
 
 import java.util.ArrayList;
 import java.util.List;
 
 public class ZenModeFragment extends ZenModeFragmentBase {
 
+    // for mode context menu
+    private static final int RENAME_MODE = 1;
+    private static final int DELETE_MODE = 2;
+
+    private ModeMenuProvider mModeMenuProvider;
+    private boolean mSettingsObserverRegistered = false; // for ManualDurationPreferenceController
+
     @Override
     protected int getPreferenceScreenResId() {
         return R.xml.modes_rule_settings;
@@ -38,40 +55,136 @@
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
         List<AbstractPreferenceController> prefControllers = new ArrayList<>();
-        prefControllers.add(new ZenModeHeaderController(context, "header", this, mBackend));
-        prefControllers.add(new ZenModeButtonPreferenceController(context, "activate", mBackend));
-        prefControllers.add(new ZenModeActionsPreferenceController(context, "actions", mBackend));
+        prefControllers.add(
+                new ZenModeHeaderController(context, ZenIconLoader.getInstance(), "header", this));
+        prefControllers.add(new ZenModeBlurbPreferenceController(context, "mode_blurb"));
+        prefControllers.add(
+                new ZenModeButtonPreferenceController(context, "activate", this, mBackend));
+        prefControllers.add(new ZenModePreferenceCategoryController(context, "modes_filters"));
         prefControllers.add(new ZenModePeopleLinkPreferenceController(
-                context, "zen_mode_people", mBackend));
+                context, "zen_mode_people", mHelperBackend));
         prefControllers.add(new ZenModeAppsLinkPreferenceController(
-                context, "zen_mode_apps", this,
-                ApplicationsState.getInstance((Application) context.getApplicationContext()),
-                mBackend));
+                context, "zen_mode_apps", this, mBackend, mHelperBackend));
         prefControllers.add(new ZenModeOtherLinkPreferenceController(
-                context, "zen_other_settings", mBackend));
+                context, "zen_other_settings", mHelperBackend));
+        prefControllers.add(
+                new ZenModePreferenceCategoryController(context, "modes_additional_actions"));
         prefControllers.add(new ZenModeDisplayLinkPreferenceController(
-                context, "mode_display_settings", mBackend));
-        prefControllers.add(new ZenModeSetTriggerLinkPreferenceController(context,
-                "zen_automatic_trigger_category", mBackend));
+                context, "mode_display_settings", mBackend, mHelperBackend));
+        prefControllers.add(new ZenModeTriggerCategoryPreferenceController(context,
+                "zen_automatic_trigger_category"));
+        prefControllers.add(new ZenModeTriggerUpdatePreferenceController(context,
+                "zen_automatic_trigger_settings", mBackend));
+        prefControllers.add(
+                new ZenModeTriggerAddPreferenceController(context, "zen_add_automatic_trigger",
+                        this, mBackend));
+        prefControllers.add(new InterruptionFilterPreferenceController(
+                context, "allow_all", mBackend));
+        prefControllers.add(new ManualDurationPreferenceController(
+                context, "mode_manual_duration", this, mBackend));
         return prefControllers;
     }
 
     @Override
     public void onStart() {
         super.onStart();
-
-        // Set title for the entire screen
         ZenMode mode = getMode();
-        AutomaticZenRule azr = getAZR();
-        if (mode == null || azr == null) {
+
+        // Consider redirecting to the interstitial if the mode is disabled (but not by the user).
+        if (maybeRedirectToInterstitial(mode)) {
             return;
         }
-        getActivity().setTitle(azr.getName());
+
+        // Set title for the entire screen
+        ComponentActivity activity = getActivity();
+        if (mode != null && activity != null) {
+            activity.setTitle(mode.getName());
+            mModeMenuProvider = new ModeMenuProvider(mode);
+            activity.addMenuProvider(mModeMenuProvider);
+        }
+
+        // allow duration preference controller to listen for settings changes
+        use(ManualDurationPreferenceController.class).registerSettingsObserver();
+        mSettingsObserverRegistered = true;
+    }
+
+    private boolean maybeRedirectToInterstitial(@Nullable ZenMode mode) {
+        if (mode == null || mode.getStatus() != DISABLED_BY_OTHER) {
+            return false;
+        }
+
+        mContext.startActivity(SetupInterstitialActivity.getIntent(mContext, mode));
+        // don't come back here from the interstitial
+        finish();
+        return true;
+    }
+
+    @Override
+    public void onStop() {
+        if (getActivity() != null && mModeMenuProvider != null) {
+            getActivity().removeMenuProvider(mModeMenuProvider);
+        }
+        if (mSettingsObserverRegistered) {
+            use(ManualDurationPreferenceController.class).unregisterSettingsObserver();
+        }
+        super.onStop();
     }
 
     @Override
     public int getMetricsCategory() {
-        // TODO: b/332937635 - make this the correct metrics category
-        return SettingsEnums.NOTIFICATION_ZEN_MODE_AUTOMATION;
+        return SettingsEnums.ZEN_PRIORITY_MODE;
+    }
+
+    @Override
+    protected void onUpdatedZenModeState() {
+        // Because this fragment may be asked to finish by the delete menu but not be done doing
+        // so yet, ignore any attempts to update info in that case.
+        if (getActivity() != null && getActivity().isFinishing()) {
+            return;
+        }
+        super.onUpdatedZenModeState();
+    }
+
+    private class ModeMenuProvider implements MenuProvider {
+        @NonNull private final ZenMode mZenMode;
+
+        ModeMenuProvider(@NonNull ZenMode mode) {
+            mZenMode = mode;
+        }
+
+        @Override
+        public void onCreateMenu(@NonNull Menu menu, @NonNull MenuInflater menuInflater) {
+            if (mZenMode.canEditNameAndIcon()) {
+                menu.add(Menu.NONE, RENAME_MODE, Menu.NONE, R.string.zen_mode_menu_rename_mode);
+            }
+            if (mZenMode.canBeDeleted()) {
+                // Only deleteable modes should get a delete menu option.
+                menu.add(Menu.NONE, DELETE_MODE, Menu.NONE, R.string.zen_mode_menu_delete_mode);
+            }
+        }
+
+        @Override
+        public boolean onMenuItemSelected(@NonNull MenuItem menuItem) {
+            if (menuItem.getItemId() == RENAME_MODE) {
+                ZenSubSettingLauncher.forModeFragment(mContext, ZenModeEditNameIconFragment.class,
+                        mZenMode.getId(), getMetricsCategory()).launch();
+            } else if (menuItem.getItemId() == DELETE_MODE) {
+                new AlertDialog.Builder(mContext)
+                        .setTitle(mContext.getString(R.string.zen_mode_delete_mode_confirmation,
+                                mZenMode.getName()))
+                        .setPositiveButton(R.string.zen_mode_schedule_delete,
+                                (dialog, which) -> {
+                                    // start finishing before calling removeMode() so that we
+                                    // don't try to update this activity with a nonexistent mode
+                                    // when the zen mode config is updated
+                                    finish();
+                                    mBackend.removeMode(mZenMode);
+                                })
+                        .setNegativeButton(R.string.cancel, null)
+                        .show();
+                return true;
+            }
+            return false;
+        }
     }
 }
diff --git a/src/com/android/settings/notification/modes/ZenModeFragmentBase.java b/src/com/android/settings/notification/modes/ZenModeFragmentBase.java
index e086524..ed3a71c 100644
--- a/src/com/android/settings/notification/modes/ZenModeFragmentBase.java
+++ b/src/com/android/settings/notification/modes/ZenModeFragmentBase.java
@@ -16,19 +16,18 @@
 
 package com.android.settings.notification.modes;
 
-import android.app.AutomaticZenRule;
-import android.content.Context;
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
+
 import android.os.Bundle;
 import android.util.Log;
 import android.widget.Toast;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
+import androidx.lifecycle.Lifecycle;
 
 import com.android.settings.R;
-import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.notification.modes.ZenMode;
 
 import java.util.List;
 
@@ -37,116 +36,102 @@
  */
 abstract class ZenModeFragmentBase extends ZenModesFragmentBase {
     static final String TAG = "ZenModeSettings";
-    static final String MODE_ID = "MODE_ID";
 
-    @Nullable  // only until reloadMode() is called
-    private ZenMode mZenMode;
+    @Nullable private ZenMode mZenMode;
+    @Nullable private ZenMode mModeOnLastControllerUpdate;
 
     @Override
-    public void onAttach(@NonNull Context context) {
-        super.onAttach(context);
-
-        // TODO: b/322373473 - Update if modes page ends up using a different method of passing id
-        Bundle bundle = getArguments();
-        if (bundle != null && bundle.containsKey(MODE_ID)) {
-            String id = bundle.getString(MODE_ID);
-            if (!reloadMode(id)) {
-                Log.e(TAG, "Mode id " + id + " not found");
-                toastAndFinish();
-                return;
+    public void onCreate(Bundle icicle) {
+        mZenMode = loadModeFromArguments();
+        if (mZenMode != null) {
+            // Propagate mode info through to controllers. Must be done before super.onCreate(),
+            // because that one calls AbstractPreferenceController.isAvailable().
+            for (var controller : getZenPreferenceControllers()) {
+                controller.setZenMode(mZenMode);
             }
         } else {
-            Log.e(TAG, "Mode id required to set mode config settings");
             toastAndFinish();
-            return;
         }
-        if (mZenMode != null) {
-            // Propagate mode info through to controllers.
-            for (List<AbstractPreferenceController> list : getPreferenceControllers()) {
-                try {
-                    for (AbstractPreferenceController controller : list) {
-                        // mZenMode guaranteed non-null from reloadMode() above
-                        ((AbstractZenModePreferenceController) controller).setZenMode(mZenMode);
-                    }
-                } catch (ClassCastException e) {
-                    // ignore controllers that aren't AbstractZenModePreferenceController
-                }
-            }
-        }
+
+        super.onCreate(icicle);
     }
 
-    /**
-     * Refresh stored ZenMode data.
-     * @param id the mode ID
-     * @return whether we successfully got mode data from the backend.
-     */
-    private boolean reloadMode(String id) {
-        mZenMode = mBackend.getMode(id);
-        if (mZenMode == null) {
-            return false;
+    @Nullable
+    private ZenMode loadModeFromArguments() {
+        String id = null;
+        if (getActivity() != null && getActivity().getIntent() != null) {
+            id = getActivity().getIntent().getStringExtra(EXTRA_AUTOMATIC_ZEN_RULE_ID);
         }
-        return true;
+        Bundle bundle = getArguments();
+        if (id == null && bundle != null && bundle.containsKey(EXTRA_AUTOMATIC_ZEN_RULE_ID)) {
+            id = bundle.getString(EXTRA_AUTOMATIC_ZEN_RULE_ID);
+        }
+        if (id == null) {
+            Log.d(TAG, "No id provided");
+            return null;
+        }
+
+        ZenMode mode = mBackend.getMode(id);
+        if (mode == null) {
+            Log.d(TAG, "Mode with id " + id + " not found");
+            return null;
+        }
+        return mode;
     }
 
-    /**
-     * Refresh ZenMode data any time the system's zen mode state changes (either the zen mode value
-     * itself, or the config), and also (once updated) update the info for all controllers.
-     */
+    private Iterable<AbstractZenModePreferenceController> getZenPreferenceControllers() {
+        return getPreferenceControllers().stream()
+                .flatMap(List::stream)
+                .filter(AbstractZenModePreferenceController.class::isInstance)
+                .map(AbstractZenModePreferenceController.class::cast)
+                .toList();
+    }
+
     @Override
-    protected void updateZenModeState() {
+    protected void onUpdatedZenModeState() {
         if (mZenMode == null) {
-            // This shouldn't happen, but guard against it in case
+            Log.wtf(TAG, "mZenMode is null in onUpdatedZenModeState");
             toastAndFinish();
             return;
         }
+
         String id = mZenMode.getId();
-        if (!reloadMode(id)) {
+        ZenMode mode = mBackend.getMode(id);
+        if (mode == null) {
             Log.d(TAG, "Mode id=" + id + " not found");
             toastAndFinish();
             return;
         }
-        updateControllers();
+
+        mZenMode = mode;
+        maybeUpdateControllersState(mode);
     }
 
-    private void updateControllers() {
-        if (getPreferenceControllers() == null || mZenMode == null) {
-            return;
+    /**
+     * Updates all {@link AbstractZenModePreferenceController} based on the loaded mode info.
+     * For each controller, {@link AbstractZenModePreferenceController#setZenMode} will be called.
+     * Then, {@link AbstractZenModePreferenceController#updateState} will be called as well, unless
+     * we determine it's not necessary (for example, if we know that {@code DashboardFragment} will
+     * do it soon).
+     */
+    private void maybeUpdateControllersState(@NonNull ZenMode zenMode) {
+        boolean needsFullUpdate =
+                getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.RESUMED)
+                && (mModeOnLastControllerUpdate == null
+                        || !mModeOnLastControllerUpdate.equals(zenMode));
+        mModeOnLastControllerUpdate = zenMode.copy();
+
+        for (var controller : getZenPreferenceControllers()) {
+            controller.setZenMode(zenMode);
         }
 
-        final PreferenceScreen screen = getPreferenceScreen();
-        if (screen == null) {
-            Log.d(TAG, "PreferenceScreen not found");
-            return;
-        }
-        for (List<AbstractPreferenceController> list : getPreferenceControllers()) {
-            for (AbstractPreferenceController controller : list) {
-                if (!controller.isAvailable()) {
-                    continue;
-                }
-
-                try {
-                    // Find preference associated with controller
-                    final String key = controller.getPreferenceKey();
-                    final Preference preference = screen.findPreference(key);
-                    if (preference != null) {
-                        AbstractZenModePreferenceController zenController =
-                                (AbstractZenModePreferenceController) controller;
-                        zenController.updateZenMode(preference, mZenMode);
-                    } else {
-                        Log.d(TAG,
-                                String.format("Cannot find preference with key %s in Controller %s",
-                                        key, controller.getClass().getSimpleName()));
-                    }
-                } catch (ClassCastException e) {
-                    // Skip any controllers that aren't AbstractZenModePreferenceController.
-                    Log.d(TAG, "Could not cast: " + controller.getClass().getSimpleName());
-                }
-            }
+        if (needsFullUpdate) {
+            forceUpdatePreferences();
         }
     }
 
     private void toastAndFinish() {
-        Toast.makeText(mContext, R.string.zen_mode_rule_not_found_text, Toast.LENGTH_SHORT)
+        Toast.makeText(mContext, R.string.zen_mode_not_found_text, Toast.LENGTH_SHORT)
                 .show();
         this.finish();
     }
@@ -158,15 +143,4 @@
     public ZenMode getMode() {
         return mZenMode;
     }
-
-    /**
-     * Get AutomaticZenRule associated with current mode data, or null if it doesn't exist.
-     */
-    @Nullable
-    public AutomaticZenRule getAZR() {
-        if (mZenMode == null) {
-            return null;
-        }
-        return mZenMode.getRule();
-    }
 }
diff --git a/src/com/android/settings/notification/modes/ZenModeHeaderController.java b/src/com/android/settings/notification/modes/ZenModeHeaderController.java
index d8f0a67..e901b9f 100644
--- a/src/com/android/settings/notification/modes/ZenModeHeaderController.java
+++ b/src/com/android/settings/notification/modes/ZenModeHeaderController.java
@@ -15,56 +15,35 @@
  */
 package com.android.settings.notification.modes;
 
-import android.app.Flags;
 import android.content.Context;
 
 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.dashboard.DashboardFragment;
-import com.android.settings.widget.EntityHeaderController;
-import com.android.settingslib.widget.LayoutPreference;
+import com.android.settingslib.notification.modes.ZenIconLoader;
+import com.android.settingslib.notification.modes.ZenMode;
 
-class ZenModeHeaderController extends AbstractZenModePreferenceController {
+class ZenModeHeaderController extends AbstractZenModeHeaderController {
 
-    private final DashboardFragment mFragment;
-    private EntityHeaderController mHeaderController;
-
-    ZenModeHeaderController(
-            @NonNull  Context context,
-            @NonNull String key,
-            @NonNull DashboardFragment fragment,
-            @Nullable ZenModesBackend backend) {
-        super(context, key, backend);
-        mFragment = fragment;
+    ZenModeHeaderController(@NonNull Context context, @NonNull ZenIconLoader iconLoader,
+            @NonNull String key, @NonNull DashboardFragment fragment) {
+        super(context, iconLoader, key, fragment);
     }
 
     @Override
-    public boolean isAvailable() {
-        return Flags.modesApi();
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        setUpHeader(screen,
+                mContext.getResources().getDimensionPixelSize(R.dimen.zen_mode_header_size));
     }
 
     @Override
     public void updateState(Preference preference, @NonNull ZenMode zenMode) {
-        if (mFragment == null) {
-            return;
-        }
-        preference.setSelectable(false);
-
-        if (mHeaderController == null) {
-            final LayoutPreference pref = (LayoutPreference) preference;
-            mHeaderController = EntityHeaderController.newInstance(
-                    mFragment.getActivity(),
-                    mFragment,
-                    pref.findViewById(R.id.entity_header));
-        }
-
-        FutureUtil.whenDone(
-                zenMode.getIcon(mContext, IconLoader.getInstance()),
-                icon -> mHeaderController.setIcon(IconUtil.applyTint(mContext, icon))
-                        .done(/* rebindActions= */ false),
-                mContext.getMainExecutor());
+        updateIcon(preference, zenMode,
+                icon -> IconUtil.makeModeHeader(mContext, icon),
+                /* isSelected= */ zenMode.isActive());
     }
 }
diff --git a/src/com/android/settings/notification/modes/ZenModeIconPickerFragment.java b/src/com/android/settings/notification/modes/ZenModeIconPickerFragment.java
deleted file mode 100644
index 760b183..0000000
--- a/src/com/android/settings/notification/modes/ZenModeIconPickerFragment.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification.modes;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-
-import com.android.settings.R;
-import com.android.settingslib.core.AbstractPreferenceController;
-
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-public class ZenModeIconPickerFragment extends ZenModeFragmentBase {
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.modes_icon_picker;
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        // TODO: b/332937635 - make this the correct metrics category
-        return SettingsEnums.NOTIFICATION_ZEN_MODE_AUTOMATION;
-    }
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return ImmutableList.of(
-                new ZenModeIconPickerIconPreferenceController(context, "current_icon", this,
-                        mBackend),
-                new ZenModeIconPickerListPreferenceController(context, "icon_list", this,
-                        new IconOptionsProviderImpl(mContext), mBackend));
-    }
-}
diff --git a/src/com/android/settings/notification/modes/ZenModeIconPickerIconPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeIconPickerIconPreferenceController.java
index 9eaaa97..dc0be10 100644
--- a/src/com/android/settings/notification/modes/ZenModeIconPickerIconPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeIconPickerIconPreferenceController.java
@@ -19,41 +19,34 @@
 import android.content.Context;
 
 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.dashboard.DashboardFragment;
-import com.android.settings.widget.EntityHeaderController;
-import com.android.settingslib.widget.LayoutPreference;
+import com.android.settingslib.notification.modes.ZenIconLoader;
+import com.android.settingslib.notification.modes.ZenMode;
 
-class ZenModeIconPickerIconPreferenceController extends AbstractZenModePreferenceController {
+/** Controller used for displaying the currently-chosen icon at the top of the icon picker. */
+class ZenModeIconPickerIconPreferenceController extends AbstractZenModeHeaderController {
 
-    private final DashboardFragment mFragment;
-    private EntityHeaderController mHeaderController;
+    ZenModeIconPickerIconPreferenceController(@NonNull Context context,
+            @NonNull ZenIconLoader iconLoader, @NonNull String key,
+            @NonNull DashboardFragment fragment) {
+        super(context, iconLoader, key, fragment);
+    }
 
-    ZenModeIconPickerIconPreferenceController(@NonNull Context context, @NonNull String key,
-            @NonNull DashboardFragment fragment, @Nullable ZenModesBackend backend) {
-        super(context, key, backend);
-        mFragment = fragment;
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        setUpHeader(screen, mContext.getResources().getDimensionPixelSize(
+                R.dimen.zen_mode_icon_list_header_circle_diameter));
     }
 
     @Override
     void updateState(Preference preference, @NonNull ZenMode zenMode) {
-        preference.setSelectable(false);
-
-        if (mHeaderController == null) {
-            final LayoutPreference pref = (LayoutPreference) preference;
-            mHeaderController = EntityHeaderController.newInstance(
-                            mFragment.getActivity(),
-                            mFragment,
-                            pref.findViewById(R.id.entity_header));
-        }
-
-        FutureUtil.whenDone(
-                zenMode.getIcon(mContext, IconLoader.getInstance()),
-                icon -> mHeaderController.setIcon(IconUtil.applyTint(mContext, icon))
-                        .done(/* rebindActions= */ false),
-                mContext.getMainExecutor());
+        updateIcon(preference, zenMode,
+                icon -> IconUtil.makeIconPickerHeader(mContext, icon),
+                /* isSelected= */ false);
     }
 }
diff --git a/src/com/android/settings/notification/modes/ZenModeIconPickerListPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeIconPickerListPreferenceController.java
index fc991dc..b5aa263 100644
--- a/src/com/android/settings/notification/modes/ZenModeIconPickerListPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeIconPickerListPreferenceController.java
@@ -17,6 +17,7 @@
 package com.android.settings.notification.modes;
 
 import android.content.Context;
+import android.graphics.drawable.Drawable;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -30,24 +31,36 @@
 import androidx.preference.PreferenceScreen;
 import androidx.recyclerview.widget.GridLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.SimpleItemAnimator;
 
 import com.android.settings.R;
-import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.notification.modes.ZenMode;
 import com.android.settingslib.widget.LayoutPreference;
 
 import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Iterables;
+
+import java.util.HashMap;
+import java.util.Map;
 
 class ZenModeIconPickerListPreferenceController extends AbstractZenModePreferenceController {
 
-    private final DashboardFragment mFragment;
     private final IconOptionsProvider mIconOptionsProvider;
+    private final IconPickerListener mListener;
     @Nullable private IconAdapter mAdapter;
+    private @DrawableRes int mCurrentIconResId;
 
     ZenModeIconPickerListPreferenceController(@NonNull Context context, @NonNull String key,
-            @NonNull DashboardFragment fragment, @NonNull IconOptionsProvider iconOptionsProvider,
-            @Nullable ZenModesBackend backend) {
-        super(context, key, backend);
-        mFragment = fragment;
+            @NonNull IconPickerListener listener) {
+        this(context, key, listener, new IconOptionsProviderImpl(context));
+    }
+
+    @VisibleForTesting
+    ZenModeIconPickerListPreferenceController(@NonNull Context context, @NonNull String key,
+            @NonNull IconPickerListener listener,
+            @NonNull IconOptionsProvider iconOptionsProvider) {
+        super(context, key);
+        mListener = listener;
         mIconOptionsProvider = iconOptionsProvider;
     }
 
@@ -66,20 +79,35 @@
         recyclerView.setLayoutManager(new AutoFitGridLayoutManager(mContext));
         recyclerView.setAdapter(mAdapter);
         recyclerView.setHasFixedSize(true);
-    }
-
-    @VisibleForTesting
-    void onIconSelected(@DrawableRes int resId) {
-        saveMode(mode -> {
-            mode.getRule().setIconResId(resId);
-            return mode;
-        });
-        mFragment.finish();
+        if (recyclerView.getItemAnimator() instanceof SimpleItemAnimator animator) {
+            animator.setSupportsChangeAnimations(true);
+        }
     }
 
     @Override
     void updateState(Preference preference, @NonNull ZenMode zenMode) {
-        // Nothing to do, the current icon is shown in a different preference.
+        @DrawableRes int iconResId = zenMode.getIconKey().resId();
+        updateIconSelection(iconResId);
+    }
+
+    private void updateIconSelection(@DrawableRes int iconResId) {
+        if (iconResId != mCurrentIconResId) {
+            int oldIconResId = mCurrentIconResId;
+            mCurrentIconResId = iconResId;
+            if (mAdapter != null) {
+                mAdapter.notifyIconChanged(oldIconResId);
+                mAdapter.notifyIconChanged(mCurrentIconResId);
+            }
+        }
+    }
+
+    private void onIconSelected(@DrawableRes int iconResId) {
+        updateIconSelection(iconResId);
+        mListener.onIconSelected(iconResId);
+    }
+
+    interface IconPickerListener {
+        void onIconSelected(@DrawableRes int iconResId);
     }
 
     private class IconHolder extends RecyclerView.ViewHolder {
@@ -91,20 +119,25 @@
             mImageView = itemView.findViewById(R.id.icon_image_view);
         }
 
-        void bindIcon(IconOptionsProvider.IconInfo icon) {
-            mImageView.setImageDrawable(
-                    IconUtil.makeIconCircle(itemView.getContext(), icon.resId()));
+        void bindIcon(IconOptionsProvider.IconInfo icon, Drawable iconDrawable) {
+            mImageView.setImageDrawable(iconDrawable);
             itemView.setContentDescription(icon.description());
-            itemView.setOnClickListener(v -> onIconSelected(icon.resId()));
+            itemView.setOnClickListener(v -> {
+                itemView.setSelected(true); // Immediately, to avoid flicker until we rebind.
+                onIconSelected(icon.resId());
+            });
+            itemView.setSelected(icon.resId() == mCurrentIconResId);
         }
     }
 
     private class IconAdapter extends RecyclerView.Adapter<IconHolder> {
 
         private final ImmutableList<IconOptionsProvider.IconInfo> mIconResources;
+        private final Map<IconOptionsProvider.IconInfo, Drawable> mIconCache;
 
         private IconAdapter(IconOptionsProvider iconOptionsProvider) {
             mIconResources = iconOptionsProvider.getIcons();
+            mIconCache = new HashMap<>();
         }
 
         @NonNull
@@ -117,13 +150,24 @@
 
         @Override
         public void onBindViewHolder(@NonNull IconHolder holder, int position) {
-            holder.bindIcon(mIconResources.get(position));
+            IconOptionsProvider.IconInfo iconInfo = mIconResources.get(position);
+            Drawable iconDrawable = mIconCache.computeIfAbsent(iconInfo,
+                    info -> IconUtil.makeIconPickerItem(mContext, info.resId()));
+            holder.bindIcon(iconInfo, iconDrawable);
         }
 
         @Override
         public int getItemCount() {
             return mIconResources.size();
         }
+
+        private void notifyIconChanged(@DrawableRes int iconResId) {
+            int position = Iterables.indexOf(mIconResources,
+                    iconInfo -> iconInfo.resId() == iconResId);
+            if (position != -1) {
+                notifyItemChanged(position);
+            }
+        }
     }
 
     private static class AutoFitGridLayoutManager extends GridLayoutManager {
diff --git a/src/com/android/settings/notification/modes/ZenModeMessagesFragment.java b/src/com/android/settings/notification/modes/ZenModeMessagesFragment.java
index c86f8dd..709e5da 100644
--- a/src/com/android/settings/notification/modes/ZenModeMessagesFragment.java
+++ b/src/com/android/settings/notification/modes/ZenModeMessagesFragment.java
@@ -18,6 +18,7 @@
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
+
 import com.android.settings.R;
 import com.android.settingslib.core.AbstractPreferenceController;
 
@@ -34,7 +35,7 @@
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
         List<AbstractPreferenceController> controllers = new ArrayList<>();
         controllers.add(new ZenModePrioritySendersPreferenceController(context,
-                "zen_mode_settings_category_messages", true, mBackend));
+                "zen_mode_settings_category_messages", true, mBackend, mHelperBackend));
         return controllers;
     }
 
@@ -45,7 +46,6 @@
 
     @Override
     public int getMetricsCategory() {
-        // TODO: b/332937635 - make this the correct metrics category
         return SettingsEnums.DND_MESSAGES;
     }
 
diff --git a/src/com/android/settings/notification/modes/ZenModeMessagesLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeMessagesLinkPreferenceController.java
index 300ebbc..50d7958 100644
--- a/src/com/android/settings/notification/modes/ZenModeMessagesLinkPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeMessagesLinkPreferenceController.java
@@ -16,8 +16,9 @@
 
 package com.android.settings.notification.modes;
 
-import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.Bundle;
 
@@ -25,24 +26,24 @@
 import androidx.preference.Preference;
 
 import com.android.settings.core.SubSettingLauncher;
+import com.android.settingslib.notification.modes.ZenMode;
 
 class ZenModeMessagesLinkPreferenceController extends AbstractZenModePreferenceController {
     private final ZenModeSummaryHelper mSummaryHelper;
 
     public ZenModeMessagesLinkPreferenceController(Context context, String key,
-            ZenModesBackend backend) {
-        super(context, key, backend);
-        mSummaryHelper = new ZenModeSummaryHelper(context, backend);
+            ZenHelperBackend helperBackend) {
+        super(context, key);
+        mSummaryHelper = new ZenModeSummaryHelper(context, helperBackend);
     }
 
     @Override
     public void updateState(Preference preference, @NonNull ZenMode zenMode) {
         Bundle bundle = new Bundle();
-        bundle.putString(MODE_ID, zenMode.getId());
-        // TODO(b/332937635): Update metrics category
+        bundle.putString(EXTRA_AUTOMATIC_ZEN_RULE_ID, zenMode.getId());
         preference.setIntent(new SubSettingLauncher(mContext)
                 .setDestination(ZenModeMessagesFragment.class.getName())
-                .setSourceMetricsCategory(0)
+                .setSourceMetricsCategory(SettingsEnums.DND_PEOPLE)
                 .setArguments(bundle)
                 .toIntent());
 
diff --git a/src/com/android/settings/notification/modes/ZenModeNewCustomFragment.java b/src/com/android/settings/notification/modes/ZenModeNewCustomFragment.java
new file mode 100644
index 0000000..d7dbaaf
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenModeNewCustomFragment.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import android.app.settings.SettingsEnums;
+
+import androidx.annotation.Nullable;
+
+import com.android.settings.R;
+import com.android.settingslib.notification.modes.ZenMode;
+
+import com.google.common.base.Strings;
+
+public class ZenModeNewCustomFragment extends ZenModeEditNameIconFragmentBase {
+
+    @Nullable
+    @Override
+    protected ZenMode onCreateInstantiateZenMode() {
+        return ZenMode.newCustomManual(
+                requireContext().getString(R.string.zen_mode_new_custom_default_name),
+                /* iconResId= */ 0);
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+        requireActivity().setTitle(R.string.zen_mode_new_custom_title);
+    }
+
+    @Override
+    void saveMode(ZenMode mode) {
+        String modeName = Strings.isNullOrEmpty(mode.getName())
+                ? requireContext().getString(R.string.zen_mode_new_custom_default_name)
+                : mode.getName();
+
+        ZenMode created = requireBackend().addCustomManualMode(modeName,
+                mode.getRule().getIconResId());
+        if (created != null) {
+            // Open the mode view fragment and close the "add mode" fragment, so exiting the mode
+            // view goes back to previous screen (which should be the modes list).
+            ZenSubSettingLauncher.forModeFragment(requireContext(), ZenModeFragment.class,
+                    created.getId(), getMetricsCategory()).launch();
+            finish();
+        }
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.ZEN_MODE_ADD_NEW;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return "ZenModeNewCustomFragment";
+    }
+}
diff --git a/src/com/android/settings/notification/modes/ZenModeNotifVisFragment.java b/src/com/android/settings/notification/modes/ZenModeNotifVisFragment.java
index 3fdfec6..d1bd493 100644
--- a/src/com/android/settings/notification/modes/ZenModeNotifVisFragment.java
+++ b/src/com/android/settings/notification/modes/ZenModeNotifVisFragment.java
@@ -19,6 +19,7 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.service.notification.ZenPolicy;
+
 import com.android.settings.R;
 import com.android.settingslib.core.AbstractPreferenceController;
 
@@ -57,7 +58,6 @@
 
     @Override
     public int getMetricsCategory() {
-        // TODO: b/332937635 - make this the correct metrics category
-        return SettingsEnums.DND_PEOPLE;
+        return SettingsEnums.ZEN_CUSTOM_RULE_VIS_EFFECTS;
     }
 }
diff --git a/src/com/android/settings/notification/modes/ZenModeNotifVisLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeNotifVisLinkPreferenceController.java
index da3b3be..f08a05d 100644
--- a/src/com/android/settings/notification/modes/ZenModeNotifVisLinkPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeNotifVisLinkPreferenceController.java
@@ -16,8 +16,10 @@
 
 package com.android.settings.notification.modes;
 
-import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
+import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.Bundle;
 
@@ -25,25 +27,30 @@
 import androidx.preference.Preference;
 
 import com.android.settings.core.SubSettingLauncher;
+import com.android.settingslib.notification.modes.ZenMode;
 
 class ZenModeNotifVisLinkPreferenceController extends AbstractZenModePreferenceController  {
 
     private final ZenModeSummaryHelper mSummaryBuilder;
 
     public ZenModeNotifVisLinkPreferenceController(Context context, String key,
-            ZenModesBackend backend) {
-        super(context, key, backend);
-        mSummaryBuilder = new ZenModeSummaryHelper(context, backend);
+            ZenHelperBackend helperBackend) {
+        super(context, key);
+        mSummaryBuilder = new ZenModeSummaryHelper(context, helperBackend);
+    }
+
+    @Override
+    public boolean isAvailable(ZenMode zenMode) {
+        return zenMode.getInterruptionFilter() != INTERRUPTION_FILTER_ALL;
     }
 
     @Override
     public void updateState(Preference preference, @NonNull ZenMode zenMode) {
         Bundle bundle = new Bundle();
-        bundle.putString(MODE_ID, zenMode.getId());
-        // TODO(b/332937635): Update metrics category
+        bundle.putString(EXTRA_AUTOMATIC_ZEN_RULE_ID, zenMode.getId());
         preference.setIntent(new SubSettingLauncher(mContext)
                 .setDestination(ZenModeNotifVisFragment.class.getName())
-                .setSourceMetricsCategory(0)
+                .setSourceMetricsCategory(SettingsEnums.ZEN_MODE_DISPLAY_SETTINGS)
                 .setArguments(bundle)
                 .toIntent());
     }
diff --git a/src/com/android/settings/notification/modes/ZenModeNotifVisPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeNotifVisPreferenceController.java
index f918b25..3d9f713 100644
--- a/src/com/android/settings/notification/modes/ZenModeNotifVisPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeNotifVisPreferenceController.java
@@ -21,19 +21,21 @@
 
 import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
-import androidx.preference.CheckBoxPreference;
 import androidx.preference.Preference;
 import androidx.preference.TwoStatePreference;
 
-import com.android.settings.widget.DisabledCheckBoxPreference;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
 
 public class ZenModeNotifVisPreferenceController extends AbstractZenModePreferenceController
         implements Preference.OnPreferenceChangeListener {
 
-    @VisibleForTesting protected @ZenPolicy.VisualEffect int mEffect;
+    @VisibleForTesting
+    protected @ZenPolicy.VisualEffect int mEffect;
 
     // if any of these effects are suppressed, this effect must be too
-    @VisibleForTesting protected @ZenPolicy.VisualEffect int[] mParentSuppressedEffects;
+    @VisibleForTesting
+    protected @ZenPolicy.VisualEffect int[] mParentSuppressedEffects;
 
     public ZenModeNotifVisPreferenceController(Context context, String key,
             @ZenPolicy.VisualEffect int visualEffect,
diff --git a/src/com/android/settings/notification/modes/ZenModeOtherFragment.java b/src/com/android/settings/notification/modes/ZenModeOtherFragment.java
index 1149cd1..28b2e54 100644
--- a/src/com/android/settings/notification/modes/ZenModeOtherFragment.java
+++ b/src/com/android/settings/notification/modes/ZenModeOtherFragment.java
@@ -16,14 +16,9 @@
 
 package com.android.settings.notification.modes;
 
-import static android.service.notification.ZenPolicy.PRIORITY_CATEGORY_ALARMS;
-import static android.service.notification.ZenPolicy.PRIORITY_CATEGORY_EVENTS;
-import static android.service.notification.ZenPolicy.PRIORITY_CATEGORY_MEDIA;
-import static android.service.notification.ZenPolicy.PRIORITY_CATEGORY_REMINDERS;
-import static android.service.notification.ZenPolicy.PRIORITY_CATEGORY_SYSTEM;
-
 import android.app.settings.SettingsEnums;
 import android.content.Context;
+
 import com.android.settings.R;
 import com.android.settingslib.core.AbstractPreferenceController;
 
@@ -58,7 +53,6 @@
 
     @Override
     public int getMetricsCategory() {
-        // TODO: b/332937635 - make this the correct metrics category
         return SettingsEnums.NOTIFICATION_ZEN_MODE_PRIORITY;
     }
 }
diff --git a/src/com/android/settings/notification/modes/ZenModeOtherLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeOtherLinkPreferenceController.java
index 1a00207..9adc768 100644
--- a/src/com/android/settings/notification/modes/ZenModeOtherLinkPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeOtherLinkPreferenceController.java
@@ -16,38 +16,73 @@
 
 package com.android.settings.notification.modes;
 
-import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
+import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
+import static android.service.notification.ZenPolicy.PRIORITY_CATEGORY_ALARMS;
+import static android.service.notification.ZenPolicy.PRIORITY_CATEGORY_EVENTS;
+import static android.service.notification.ZenPolicy.PRIORITY_CATEGORY_MEDIA;
+import static android.service.notification.ZenPolicy.PRIORITY_CATEGORY_REMINDERS;
+import static android.service.notification.ZenPolicy.PRIORITY_CATEGORY_SYSTEM;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.os.Bundle;
+import android.service.notification.ZenPolicy;
 
 import androidx.annotation.NonNull;
 import androidx.preference.Preference;
 
-import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.R;
+import com.android.settingslib.notification.modes.ZenMode;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+
+import java.util.Map;
 
 /**
  * Preference with a link and summary about what other sounds can break through the mode
  */
 class ZenModeOtherLinkPreferenceController extends AbstractZenModePreferenceController {
 
+    private static final ImmutableMap</* @PriorityCategory */ Integer, /* @DrawableRes */ Integer>
+            PRIORITIES_TO_ICONS = ImmutableMap.of(
+                    PRIORITY_CATEGORY_ALARMS, R.drawable.ic_zen_mode_sound_alarms,
+                    PRIORITY_CATEGORY_MEDIA, R.drawable.ic_zen_mode_sound_media,
+                    PRIORITY_CATEGORY_SYSTEM, R.drawable.ic_zen_mode_sound_system,
+                    PRIORITY_CATEGORY_REMINDERS, R.drawable.ic_zen_mode_sound_reminders,
+                    PRIORITY_CATEGORY_EVENTS, R.drawable.ic_zen_mode_sound_events);
+
     private final ZenModeSummaryHelper mSummaryHelper;
 
     public ZenModeOtherLinkPreferenceController(Context context, String key,
-            ZenModesBackend backend) {
-        super(context, key, backend);
-        mSummaryHelper = new ZenModeSummaryHelper(mContext, mBackend);
+            ZenHelperBackend helperBackend) {
+        super(context, key);
+        mSummaryHelper = new ZenModeSummaryHelper(mContext, helperBackend);
+    }
+
+    @Override
+    public boolean isAvailable(ZenMode zenMode) {
+        return zenMode.getInterruptionFilter() != INTERRUPTION_FILTER_ALL;
     }
 
     @Override
     public void updateState(Preference preference, @NonNull ZenMode zenMode) {
-        Bundle bundle = new Bundle();
-        bundle.putString(MODE_ID, zenMode.getId());
-        preference.setIntent(new SubSettingLauncher(mContext)
-                .setDestination(ZenModeOtherFragment.class.getName())
-                .setSourceMetricsCategory(0)
-                .setArguments(bundle)
-                .toIntent());
+        preference.setIntent(
+                ZenSubSettingLauncher.forModeFragment(mContext, ZenModeOtherFragment.class,
+                        zenMode.getId(), SettingsEnums.ZEN_PRIORITY_MODE).toIntent());
+
+        preference.setEnabled(zenMode.isEnabled() && zenMode.canEditPolicy());
         preference.setSummary(mSummaryHelper.getOtherSoundCategoriesSummary(zenMode));
+        ((CircularIconsPreference) preference).setIcons(getSoundIcons(zenMode.getPolicy()));
+    }
+
+    private CircularIconSet<Integer> getSoundIcons(ZenPolicy policy) {
+        ImmutableList.Builder<Integer> icons = new ImmutableList.Builder<>();
+        for (Map.Entry<Integer, Integer> entry : PRIORITIES_TO_ICONS.entrySet()) {
+            if (policy.isCategoryAllowed(entry.getKey(), false)) {
+                icons.add(entry.getValue());
+            }
+        }
+        return new CircularIconSet<>(icons.build(),
+                iconResId -> IconUtil.makeCircularIconPreferenceItem(mContext, iconResId));
     }
 }
diff --git a/src/com/android/settings/notification/modes/ZenModeOtherPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeOtherPreferenceController.java
index a770164e..ad5fa6a 100644
--- a/src/com/android/settings/notification/modes/ZenModeOtherPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeOtherPreferenceController.java
@@ -28,6 +28,9 @@
 import androidx.preference.Preference;
 import androidx.preference.TwoStatePreference;
 
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
 class ZenModeOtherPreferenceController extends AbstractZenModePreferenceController
         implements Preference.OnPreferenceChangeListener {
 
diff --git a/src/com/android/settings/notification/modes/ZenModePeopleFragment.java b/src/com/android/settings/notification/modes/ZenModePeopleFragment.java
index e1f753c..11e4453 100644
--- a/src/com/android/settings/notification/modes/ZenModePeopleFragment.java
+++ b/src/com/android/settings/notification/modes/ZenModePeopleFragment.java
@@ -18,6 +18,7 @@
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
+
 import com.android.settings.R;
 import com.android.settingslib.core.AbstractPreferenceController;
 
@@ -34,9 +35,9 @@
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
         List<AbstractPreferenceController> prefControllers = new ArrayList<>();
         prefControllers.add(new ZenModeCallsLinkPreferenceController(
-                context, "zen_mode_people_calls", mBackend));
+                context, "zen_mode_people_calls", mHelperBackend));
         prefControllers.add(new ZenModeMessagesLinkPreferenceController(
-                context, "zen_mode_people_messages", mBackend));
+                context, "zen_mode_people_messages", mHelperBackend));
         return prefControllers;
     }
 
@@ -47,7 +48,6 @@
 
     @Override
     public int getMetricsCategory() {
-        // TODO: b/332937635 - make this the correct metrics category
         return SettingsEnums.DND_PEOPLE;
     }
 }
diff --git a/src/com/android/settings/notification/modes/ZenModePeopleLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModePeopleLinkPreferenceController.java
index 55a83d6..c635ad8 100644
--- a/src/com/android/settings/notification/modes/ZenModePeopleLinkPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModePeopleLinkPreferenceController.java
@@ -16,39 +16,216 @@
 
 package com.android.settings.notification.modes;
 
-import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
+import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
+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 static android.service.notification.ZenPolicy.PEOPLE_TYPE_ANYONE;
+import static android.service.notification.ZenPolicy.PEOPLE_TYPE_CONTACTS;
+import static android.service.notification.ZenPolicy.PEOPLE_TYPE_NONE;
+import static android.service.notification.ZenPolicy.PEOPLE_TYPE_STARRED;
+import static android.service.notification.ZenPolicy.STATE_ALLOW;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.os.Bundle;
+import android.content.pm.LauncherApps;
+import android.graphics.drawable.Drawable;
+import android.service.notification.ConversationChannelWrapper;
+import android.service.notification.ZenPolicy;
+import android.service.notification.ZenPolicy.ConversationSenders;
+import android.service.notification.ZenPolicy.PeopleType;
+import android.util.IconDrawableFactory;
 
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.annotation.WorkerThread;
 import androidx.preference.Preference;
 
-import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.R;
+import com.android.settings.notification.modes.ZenHelperBackend.Contact;
+import com.android.settingslib.notification.ConversationIconFactory;
+import com.android.settingslib.notification.modes.ZenMode;
+
+import com.google.common.base.Equivalence;
+import com.google.common.collect.ImmutableList;
+
+import java.util.Objects;
 
 /**
- * Preference with a link and summary about what calls and messages can break through the mode
+ * Preference with a link and summary about what calls and messages can break through the mode,
+ * and icons representing those people.
  */
 class ZenModePeopleLinkPreferenceController extends AbstractZenModePreferenceController {
 
     private final ZenModeSummaryHelper mSummaryHelper;
+    private final ZenHelperBackend mHelperBackend;
+    private final ConversationIconFactory mConversationIconFactory;
 
-    public ZenModePeopleLinkPreferenceController(Context context, String key,
-            ZenModesBackend backend) {
-        super(context, key, backend);
-        mSummaryHelper = new ZenModeSummaryHelper(mContext, mBackend);
+    ZenModePeopleLinkPreferenceController(Context context, String key,
+            ZenHelperBackend helperBackend) {
+        this(context, key, helperBackend,
+                new ConversationIconFactory(context,
+                        context.getSystemService(LauncherApps.class),
+                        context.getPackageManager(),
+                        IconDrawableFactory.newInstance(context, false),
+                        context.getResources().getDimensionPixelSize(
+                                R.dimen.zen_mode_circular_icon_diameter)));
+    }
+
+    @VisibleForTesting
+    ZenModePeopleLinkPreferenceController(Context context, String key,
+            ZenHelperBackend helperBackend, ConversationIconFactory conversationIconFactory) {
+        super(context, key);
+        mSummaryHelper = new ZenModeSummaryHelper(mContext, helperBackend);
+        mHelperBackend = helperBackend;
+        mConversationIconFactory = conversationIconFactory;
+    }
+
+    @Override
+    public boolean isAvailable(ZenMode zenMode) {
+        return zenMode.getInterruptionFilter() != INTERRUPTION_FILTER_ALL;
     }
 
     @Override
     public void updateState(Preference preference, @NonNull ZenMode zenMode) {
-        Bundle bundle = new Bundle();
-        bundle.putString(MODE_ID, zenMode.getId());
-        // TODO(b/332937635): Update metrics category
-        preference.setIntent(new SubSettingLauncher(mContext)
-                .setDestination(ZenModePeopleFragment.class.getName())
-                .setSourceMetricsCategory(0)
-                .setArguments(bundle)
-                .toIntent());
-        preference.setSummary(mSummaryHelper.getPeopleSummary(zenMode));
+        // Passes in source ZenModeFragment metric category.
+        preference.setIntent(
+                ZenSubSettingLauncher.forModeFragment(mContext, ZenModePeopleFragment.class,
+                        zenMode.getId(), SettingsEnums.ZEN_PRIORITY_MODE).toIntent());
+
+        preference.setEnabled(zenMode.isEnabled() && zenMode.canEditPolicy());
+        preference.setSummary(mSummaryHelper.getPeopleSummary(zenMode.getPolicy()));
+        ((CircularIconsPreference) preference).setIcons(getPeopleIcons(zenMode.getPolicy()),
+                PEOPLE_ITEM_EQUIVALENCE);
+    }
+
+    // Represents "Either<All, Contact, ConversationChannelWrapper>".
+    private record PeopleItem(boolean all,
+                              @Nullable Contact contact,
+                              @Nullable ConversationChannelWrapper conversation) {
+
+        private static final PeopleItem ALL = new PeopleItem(true, null, null);
+
+        PeopleItem(@NonNull Contact contact) {
+            this(false, contact, null);
+        }
+
+        PeopleItem(@NonNull ConversationChannelWrapper conversation) {
+            this(false, null, conversation);
+        }
+    }
+
+    private static final Equivalence<PeopleItem> PEOPLE_ITEM_EQUIVALENCE = new Equivalence<>() {
+        @Override
+        protected boolean doEquivalent(@NonNull PeopleItem a, @NonNull PeopleItem b) {
+            if (a.all && b.all) {
+                return true;
+            } else if (a.contact != null && b.contact != null) {
+                return a.contact.equals(b.contact);
+            } else if (a.conversation != null && b.conversation != null) {
+                ConversationChannelWrapper c1 = a.conversation;
+                ConversationChannelWrapper c2 = b.conversation;
+                // Skip comparing ShortcutInfo which doesn't implement equals(). We assume same
+                // conversation channel means same icon (which is not 100% correct but unlikely to
+                // change while on this screen).
+                return Objects.equals(c1.getNotificationChannel(), c2.getNotificationChannel())
+                        && Objects.equals(c1.getGroupLabel(), c2.getGroupLabel())
+                        && Objects.equals(c1.getParentChannelLabel(), c2.getParentChannelLabel())
+                        && Objects.equals(c1.getPkg(), c2.getPkg())
+                        && Objects.equals(c1.getUid(), c2.getUid());
+            } else {
+                return false;
+            }
+        }
+
+        @Override
+        protected int doHash(@NonNull PeopleItem item) {
+            return Objects.hash(item.all, item.contact, item.conversation);
+        }
+    };
+
+    private CircularIconSet<PeopleItem> getPeopleIcons(ZenPolicy policy) {
+        if (getCallersOrMessagesAllowed(policy) == PEOPLE_TYPE_ANYONE) {
+            return new CircularIconSet<>(
+                    ImmutableList.of(PeopleItem.ALL),
+                    this::loadPeopleIcon);
+        }
+
+        ImmutableList.Builder<PeopleItem> peopleItems = ImmutableList.builder();
+        fetchContactsAllowed(policy, peopleItems);
+        fetchConversationsAllowed(policy, peopleItems);
+        return new CircularIconSet<>(peopleItems.build(), this::loadPeopleIcon);
+    }
+
+    /**
+     * Adds {@link PeopleItem} entries corresponding to the set of people (contacts) who can
+     * break through via either call OR message.
+     */
+    private void fetchContactsAllowed(ZenPolicy policy,
+            ImmutableList.Builder<PeopleItem> peopleItems) {
+        @PeopleType int peopleAllowed = getCallersOrMessagesAllowed(policy);
+
+        ImmutableList<Contact> contactsAllowed = ImmutableList.of();
+        if (peopleAllowed == PEOPLE_TYPE_CONTACTS) {
+            contactsAllowed = mHelperBackend.getAllContacts();
+        } else if (peopleAllowed == PEOPLE_TYPE_STARRED) {
+            contactsAllowed = mHelperBackend.getStarredContacts();
+        }
+
+        for (Contact contact : contactsAllowed) {
+            peopleItems.add(new PeopleItem(contact));
+        }
+    }
+
+    /**
+     * Adds {@link PeopleItem} entries corresponding to the set of conversation channels that can
+     * break through.
+     */
+    private void fetchConversationsAllowed(ZenPolicy policy,
+            ImmutableList.Builder<PeopleItem> peopleItems) {
+        @ConversationSenders int conversationSendersAllowed =
+                policy.getPriorityCategoryConversations() == STATE_ALLOW
+                        ? policy.getPriorityConversationSenders()
+                        : CONVERSATION_SENDERS_NONE;
+        ImmutableList<ConversationChannelWrapper> conversationsAllowed = ImmutableList.of();
+        if (conversationSendersAllowed == CONVERSATION_SENDERS_ANYONE) {
+            conversationsAllowed = mHelperBackend.getAllConversations();
+        } else if (conversationSendersAllowed == CONVERSATION_SENDERS_IMPORTANT) {
+            conversationsAllowed = mHelperBackend.getImportantConversations();
+        }
+
+        for (ConversationChannelWrapper conversation : conversationsAllowed) {
+            peopleItems.add(new PeopleItem(conversation));
+        }
+    }
+
+    /** Returns the broadest set of people who can call OR message. */
+    private @PeopleType int getCallersOrMessagesAllowed(ZenPolicy policy) {
+        @PeopleType int callersAllowed = policy.getPriorityCategoryCalls() == STATE_ALLOW
+                ? policy.getPriorityCallSenders() : PEOPLE_TYPE_NONE;
+        @PeopleType int messagesAllowed = policy.getPriorityCategoryMessages() == STATE_ALLOW
+                ? policy.getPriorityMessageSenders() : PEOPLE_TYPE_NONE;
+
+        // Order is ANYONE -> CONTACTS -> STARRED -> NONE, so just taking the minimum works.
+        return Math.min(callersAllowed, messagesAllowed);
+    }
+
+    @WorkerThread
+    private Drawable loadPeopleIcon(PeopleItem peopleItem) {
+        if (peopleItem.all) {
+            return IconUtil.makeCircularIconPreferenceItem(mContext,
+                    R.drawable.ic_zen_mode_people_all);
+        } else if (peopleItem.contact != null) {
+            return mHelperBackend.getContactPhoto(peopleItem.contact);
+        } else if (peopleItem.conversation != null) {
+            return mConversationIconFactory.getConversationDrawable(
+                    peopleItem.conversation.getShortcutInfo(),
+                    peopleItem.conversation.getPkg(),
+                    peopleItem.conversation.getUid(),
+                    peopleItem.conversation.getNotificationChannel().isImportantConversation());
+        } else {
+            throw new IllegalArgumentException("Neither all nor contact nor conversation!");
+        }
     }
 }
diff --git a/src/com/android/settings/notification/modes/ZenModePreferenceCategoryController.java b/src/com/android/settings/notification/modes/ZenModePreferenceCategoryController.java
new file mode 100644
index 0000000..6ebcb1f
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenModePreferenceCategoryController.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.preference.Preference;
+
+import com.android.settingslib.notification.modes.ZenMode;
+
+/**
+ * Simple {@link AbstractZenModePreferenceController} used for all {@code PreferenceCategory}
+ * entries in {@link ZenModeFragment} that should be disabled when the mode is disabled.
+ */
+class ZenModePreferenceCategoryController extends AbstractZenModePreferenceController {
+    ZenModePreferenceCategoryController(@NonNull Context context, @NonNull String key) {
+        super(context, key);
+    }
+
+    @Override
+    void updateState(Preference preference, @NonNull ZenMode zenMode) {
+        preference.setEnabled(zenMode.isEnabled());
+    }
+}
diff --git a/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceController.java b/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceController.java
index 43f4d7f..11b65bd 100644
--- a/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceController.java
@@ -26,19 +26,18 @@
 import static android.service.notification.ZenPolicy.PEOPLE_TYPE_STARRED;
 import static android.service.notification.ZenPolicy.PEOPLE_TYPE_UNSET;
 
+import static com.google.common.base.Preconditions.checkNotNull;
+
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
-import android.content.pm.ParceledListSlice;
 import android.icu.text.MessageFormat;
 import android.provider.Contacts;
-import android.service.notification.ConversationChannelWrapper;
 import android.service.notification.ZenPolicy;
 import android.view.View;
 
 import androidx.annotation.NonNull;
-import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
@@ -46,13 +45,17 @@
 import com.android.settings.R;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.notification.app.ConversationListSettings;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
 import com.android.settingslib.widget.SelectorWithWidgetPreference;
 
-import java.util.ArrayList;
+import com.google.common.collect.ImmutableSet;
+
 import java.util.HashMap;
-import java.util.List;
+import java.util.LinkedHashMap;
 import java.util.Locale;
 import java.util.Map;
+import java.util.Set;
 
 /**
  * Common preference controller functionality for zen mode priority senders preferences for both
@@ -69,9 +72,11 @@
     static final String KEY_ANY = "senders_anyone";
     static final String KEY_CONTACTS = "senders_contacts";
     static final String KEY_STARRED = "senders_starred_contacts";
-    static final String KEY_IMPORTANT = "conversations_important";
+    static final String KEY_IMPORTANT_CONVERSATIONS = "conversations_important";
+    static final String KEY_ANY_CONVERSATIONS = "conversations_any";
     static final String KEY_NONE = "senders_none";
 
+    private int mNumAllConversations = 0;
     private int mNumImportantConversations = 0;
 
     private static final Intent ALL_CONTACTS_INTENT =
@@ -83,16 +88,19 @@
     private static final Intent FALLBACK_INTENT = new Intent(Intent.ACTION_MAIN)
             .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
 
+    private final ZenHelperBackend mHelperBackend;
     private final PackageManager mPackageManager;
     private PreferenceCategory mPreferenceCategory;
-    private List<SelectorWithWidgetPreference> mSelectorPreferences = new ArrayList<>();
+    private final LinkedHashMap<String, SelectorWithWidgetPreference> mOptions =
+            new LinkedHashMap<>();
 
     private final ZenModeSummaryHelper mZenModeSummaryHelper;
 
     public ZenModePrioritySendersPreferenceController(Context context, String key,
-            boolean isMessages, ZenModesBackend backend) {
+            boolean isMessages, ZenModesBackend backend, ZenHelperBackend helperBackend) {
         super(context, key, backend);
         mIsMessages = isMessages;
+        mHelperBackend = helperBackend;
 
         String contactsPackage = context.getString(R.string.config_contacts_package_name);
         ALL_CONTACTS_INTENT.setPackage(contactsPackage);
@@ -103,58 +111,97 @@
         if (!FALLBACK_INTENT.hasCategory(Intent.CATEGORY_APP_CONTACTS)) {
             FALLBACK_INTENT.addCategory(Intent.CATEGORY_APP_CONTACTS);
         }
-        mZenModeSummaryHelper = new ZenModeSummaryHelper(mContext, mBackend);
+        mZenModeSummaryHelper = new ZenModeSummaryHelper(mContext, mHelperBackend);
     }
 
     @Override
     public void displayPreference(PreferenceScreen screen) {
-        mPreferenceCategory = screen.findPreference(getPreferenceKey());
+        mPreferenceCategory = checkNotNull(screen.findPreference(getPreferenceKey()));
         if (mPreferenceCategory.getPreferenceCount() == 0) {
             makeSelectorPreference(KEY_STARRED,
-                    com.android.settings.R.string.zen_mode_from_starred, mIsMessages);
+                    com.android.settings.R.string.zen_mode_from_starred, mIsMessages, true);
             makeSelectorPreference(KEY_CONTACTS,
-                    com.android.settings.R.string.zen_mode_from_contacts, mIsMessages);
+                    com.android.settings.R.string.zen_mode_from_contacts, mIsMessages, true);
             if (mIsMessages) {
-                makeSelectorPreference(KEY_IMPORTANT,
-                        com.android.settings.R.string.zen_mode_from_important_conversations, true);
+                // "Any conversations" will only be available as option if it is the current value.
+                // Because it's confusing and we don't want users setting it up that way, but apps
+                // could create such ZenPolicies and we must show that.
+                makeSelectorPreference(KEY_ANY_CONVERSATIONS,
+                        com.android.settings.R.string.zen_mode_from_all_conversations, true,
+                        /* isVisibleByDefault= */ false);
+                makeSelectorPreference(KEY_IMPORTANT_CONVERSATIONS,
+                        com.android.settings.R.string.zen_mode_from_important_conversations, true,
+                        true);
             }
             makeSelectorPreference(KEY_ANY,
-                    com.android.settings.R.string.zen_mode_from_anyone, mIsMessages);
+                    com.android.settings.R.string.zen_mode_from_anyone, mIsMessages, true);
             makeSelectorPreference(KEY_NONE,
-                    com.android.settings.R.string.zen_mode_none_messages, mIsMessages);
+                    com.android.settings.R.string.zen_mode_none_messages, mIsMessages, true);
         }
         super.displayPreference(screen);
     }
 
     @Override
     public void updateState(Preference preference, @NonNull ZenMode zenMode) {
+        final int contacts = getPrioritySenders(zenMode.getPolicy());
+        final int conversations = getPriorityConversationSenders(zenMode.getPolicy());
+
         if (mIsMessages) {
             updateChannelCounts();
-        }
-        final int currContactsSetting = getPrioritySenders(zenMode.getPolicy());
-        final int currConversationsSetting = getPriorityConversationSenders(zenMode.getPolicy());
-        for (SelectorWithWidgetPreference pref : mSelectorPreferences) {
-            // for each preference, check whether the current state matches what this state
-            // would look like if the button were checked.
-            final int[] checkedState = keyToSettingEndState(pref.getKey(), true);
-            final int checkedContactsSetting = checkedState[0];
-            final int checkedConversationsSetting = checkedState[1];
 
-            boolean match = checkedContactsSetting == currContactsSetting;
-            if (mIsMessages && checkedConversationsSetting != CONVERSATION_SENDERS_UNSET) {
-                // "CONVERSATION_SENDERS_UNSET" in checkedContactsSetting means this preference
-                // doesn't govern the priority senders setting, so the full match happens when
-                // either the priority senders setting matches or if it's CONVERSATION_SENDERS_UNSET
-                // so only the conversation setting needs to match.
-                match = (match || checkedContactsSetting == PEOPLE_TYPE_UNSET)
-                        && (checkedConversationsSetting == currConversationsSetting);
+            if (contacts == PEOPLE_TYPE_ANYONE) {
+                setSelectedOption(KEY_ANY);
+            } else if (contacts == PEOPLE_TYPE_NONE && conversations == CONVERSATION_SENDERS_NONE) {
+                setSelectedOption(KEY_NONE);
+            } else {
+                ImmutableSet.Builder<String> selectedOptions = new ImmutableSet.Builder<>();
+                if (contacts == PEOPLE_TYPE_STARRED) {
+                    selectedOptions.add(KEY_STARRED);
+                } else if (contacts == PEOPLE_TYPE_CONTACTS) {
+                    selectedOptions.add(KEY_CONTACTS);
+                }
+                if (conversations == CONVERSATION_SENDERS_IMPORTANT) {
+                    selectedOptions.add(KEY_IMPORTANT_CONVERSATIONS);
+                } else if (conversations == CONVERSATION_SENDERS_ANYONE) {
+                    selectedOptions.add(KEY_ANY_CONVERSATIONS);
+                }
+                setSelectedOptions(selectedOptions.build());
             }
-
-            pref.setChecked(match);
+        } else {
+            // Calls is easy!
+            switch (contacts) {
+                case PEOPLE_TYPE_ANYONE -> setSelectedOption(KEY_ANY);
+                case PEOPLE_TYPE_CONTACTS -> setSelectedOption(KEY_CONTACTS);
+                case PEOPLE_TYPE_STARRED -> setSelectedOption(KEY_STARRED);
+                case PEOPLE_TYPE_NONE -> setSelectedOption(KEY_NONE);
+                default -> throw new IllegalArgumentException("Unexpected PeopleType: " + contacts);
+            }
         }
+
         updateSummaries();
     }
 
+    private void setSelectedOption(String key) {
+        setSelectedOptions(ImmutableSet.of(key));
+    }
+
+    private void setSelectedOptions(Set<String> keys) {
+        if (keys.isEmpty()) {
+            throw new IllegalArgumentException("At least one option should be selected!");
+        }
+
+        for (SelectorWithWidgetPreference optionPreference : mOptions.values()) {
+            optionPreference.setChecked(keys.contains(optionPreference.getKey()));
+            if (optionPreference.isChecked()) {
+                // Ensure selected options are visible. This is to support "Any conversations"
+                // which is only shown if the policy has Conversations=Anyone (and doesn't have
+                // messages=Anyone), and then remains visible until the user exits the page
+                // (so that toggling back and forth is possible without the option disappearing).
+                optionPreference.setVisible(true);
+            }
+        }
+    }
+
     public void onResume() {
         if (mIsMessages) {
             updateChannelCounts();
@@ -163,17 +210,8 @@
     }
 
     private void updateChannelCounts() {
-        ParceledListSlice<ConversationChannelWrapper> impConversations =
-                mBackend.getConversations(true);
-        int numImportantConversations = 0;
-        if (impConversations != null) {
-            for (ConversationChannelWrapper conversation : impConversations.getList()) {
-                if (!conversation.getNotificationChannel().isDemoted()) {
-                    numImportantConversations++;
-                }
-            }
-        }
-        mNumImportantConversations = numImportantConversations;
+        mNumAllConversations = mHelperBackend.getAllConversations().size();
+        mNumImportantConversations = mHelperBackend.getImportantConversations().size();
     }
 
     private int getPrioritySenders(ZenPolicy policy) {
@@ -191,13 +229,14 @@
         return CONVERSATION_SENDERS_UNSET;
     }
 
-    private SelectorWithWidgetPreference makeSelectorPreference(String key, int titleId,
-            boolean isCheckbox) {
+    private void makeSelectorPreference(String key, int titleId,
+            boolean isCheckbox, boolean isVisibleByDefault) {
         final SelectorWithWidgetPreference pref =
                 new SelectorWithWidgetPreference(mPreferenceCategory.getContext(), isCheckbox);
         pref.setKey(key);
         pref.setTitle(titleId);
         pref.setOnClickListener(mSelectorClickListener);
+        pref.setVisible(isVisibleByDefault);
 
         View.OnClickListener widgetClickListener = getWidgetClickListener(key);
         if (widgetClickListener != null) {
@@ -205,12 +244,12 @@
         }
 
         mPreferenceCategory.addPreference(pref);
-        mSelectorPreferences.add(pref);
-        return pref;
+        mOptions.put(key, pref);
     }
 
     private View.OnClickListener getWidgetClickListener(String key) {
-        if (!KEY_CONTACTS.equals(key) && !KEY_STARRED.equals(key) && !KEY_IMPORTANT.equals(key)) {
+        if (!KEY_CONTACTS.equals(key) && !KEY_STARRED.equals(key)
+                && !KEY_ANY_CONVERSATIONS.equals(key) && !KEY_IMPORTANT_CONVERSATIONS.equals(key)) {
             return null;
         }
 
@@ -229,11 +268,11 @@
             } else if (KEY_CONTACTS.equals(key)
                     && ALL_CONTACTS_INTENT.resolveActivity(mPackageManager) != null) {
                 mContext.startActivity(ALL_CONTACTS_INTENT);
-            } else if (KEY_IMPORTANT.equals(key)) {
-                // TODO: b/332937635 - set correct metrics category
+            } else if (KEY_ANY_CONVERSATIONS.equals(key)
+                    || KEY_IMPORTANT_CONVERSATIONS.equals(key)) {
                 new SubSettingLauncher(mContext)
                         .setDestination(ConversationListSettings.class.getName())
-                        .setSourceMetricsCategory(SettingsEnums.DND_CONVERSATIONS)
+                        .setSourceMetricsCategory(SettingsEnums.DND_MESSAGES)
                         .launch();
             } else {
                 mContext.startActivity(FALLBACK_INTENT);
@@ -252,7 +291,7 @@
     }
 
     void updateSummaries() {
-        for (SelectorWithWidgetPreference pref : mSelectorPreferences) {
+        for (SelectorWithWidgetPreference pref : mOptions.values()) {
             pref.setSummary(getSummary(pref.getKey()));
         }
     }
@@ -263,7 +302,7 @@
     // Returns an integer array with 2 entries. The first entry is the setting for priority senders
     // and the second entry is for priority conversation senders; if isMessages is false, then
     // no changes will ever be prescribed for conversation senders.
-    int[] keyToSettingEndState(String key, boolean checked) {
+    private int[] keyToSettingEndState(String key, boolean checked) {
         int[] endState = new int[]{ PEOPLE_TYPE_UNSET, CONVERSATION_SENDERS_UNSET };
         if (!checked) {
             // Unchecking any priority-senders-based state should reset the state to NONE.
@@ -276,11 +315,12 @@
                     endState[0] = PEOPLE_TYPE_NONE;
             }
 
-            // For messages, unchecking "priority conversations" and "any" should reset conversation
-            // state to "NONE" as well.
+            // For messages, unchecking "priority/any conversations" and "any" should reset
+            // conversation state to "NONE" as well.
             if (mIsMessages) {
                 switch (key) {
-                    case KEY_IMPORTANT:
+                    case KEY_IMPORTANT_CONVERSATIONS:
+                    case KEY_ANY_CONVERSATIONS:
                     case KEY_ANY:
                     case KEY_NONE:
                         endState[1] = CONVERSATION_SENDERS_NONE;
@@ -305,9 +345,10 @@
             // In the messages case *only*, also handle changing of conversation settings.
             if (mIsMessages) {
                 switch (key) {
-                    case KEY_IMPORTANT:
+                    case KEY_IMPORTANT_CONVERSATIONS:
                         endState[1] = CONVERSATION_SENDERS_IMPORTANT;
                         break;
+                    case KEY_ANY_CONVERSATIONS:
                     case KEY_ANY:
                         endState[1] = CONVERSATION_SENDERS_ANYONE;
                         break;
@@ -343,7 +384,7 @@
     //     the contacts setting is additionally reset to "none".
     //   - if "anyone" is previously selected, and the user clicks one of the contacts values,
     //     then the conversations setting is additionally reset to "none".
-    int[] settingsToSaveOnClick(String key, boolean checked,
+    private int[] settingsToSaveOnClick(String key, boolean checked,
             int currSendersSetting, int currConvosSetting) {
         int[] savedSettings = new int[]{ PEOPLE_TYPE_UNSET, CONVERSATION_SENDERS_UNSET };
 
@@ -368,15 +409,18 @@
             // Special-case handling for the "priority conversations" checkbox:
             // If a specific selection exists for priority senders (starred, contacts), we leave
             // it untouched. Otherwise (when the senders is set to "any"), set it to NONE.
-            if (key.equals(KEY_IMPORTANT)
+            if ((key.equals(KEY_IMPORTANT_CONVERSATIONS) || key.equals(KEY_ANY_CONVERSATIONS))
                     && currSendersSetting == PEOPLE_TYPE_ANYONE) {
                 savedSettings[0] = PEOPLE_TYPE_NONE;
             }
 
-            // Flip-side special case for clicking either "contacts" option: if a specific selection
-            // exists for priority conversations, leave it untouched; otherwise, set to none.
+            // The flip-side case for the "contacts" option is slightly different -- we only
+            // reset conversations if leaving PEOPLE_ANY by selecting a contact option, but not
+            // if switching contact options. That's because starting from Anyone, checking Contacts,
+            // and then "important conversations" also shown checked because it was there (albeit
+            // subsumed into PEOPLE_ANY) would be weird.
             if ((key.equals(KEY_STARRED) || key.equals(KEY_CONTACTS))
-                    && currConvosSetting == CONVERSATION_SENDERS_ANYONE) {
+                    && currSendersSetting == PEOPLE_TYPE_ANYONE) {
                 savedSettings[1] = CONVERSATION_SENDERS_NONE;
             }
         }
@@ -390,8 +434,10 @@
                 return mZenModeSummaryHelper.getStarredContactsSummary();
             case KEY_CONTACTS:
                 return mZenModeSummaryHelper.getContactsNumberSummary();
-            case KEY_IMPORTANT:
-                return getConversationSummary();
+            case KEY_ANY_CONVERSATIONS:
+                return getConversationSummary(mNumAllConversations);
+            case KEY_IMPORTANT_CONVERSATIONS:
+                return getConversationSummary(mNumImportantConversations);
             case KEY_ANY:
                 return mContext.getResources().getString(mIsMessages
                         ? R.string.zen_mode_all_messages_summary
@@ -402,9 +448,7 @@
         }
     }
 
-    private String getConversationSummary() {
-        final int numConversations = mNumImportantConversations;
-
+    private String getConversationSummary(int numConversations) {
         if (numConversations == CONVERSATION_SENDERS_UNSET) {
             return null;
         } else {
@@ -417,8 +461,7 @@
         }
     }
 
-    @VisibleForTesting
-    SelectorWithWidgetPreference.OnClickListener mSelectorClickListener =
+    private final SelectorWithWidgetPreference.OnClickListener mSelectorClickListener =
             new SelectorWithWidgetPreference.OnClickListener() {
                 @Override
                 public void onRadioButtonClicked(SelectorWithWidgetPreference preference) {
diff --git a/src/com/android/settings/notification/modes/ZenModeRepeatCallersPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeRepeatCallersPreferenceController.java
index 7569051..ae62e35 100644
--- a/src/com/android/settings/notification/modes/ZenModeRepeatCallersPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeRepeatCallersPreferenceController.java
@@ -26,6 +26,8 @@
 import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
 
 class ZenModeRepeatCallersPreferenceController extends AbstractZenModePreferenceController
         implements Preference.OnPreferenceChangeListener {
diff --git a/src/com/android/settings/notification/modes/ZenModeScheduleChooserDialog.java b/src/com/android/settings/notification/modes/ZenModeScheduleChooserDialog.java
new file mode 100644
index 0000000..370199a
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenModeScheduleChooserDialog.java
@@ -0,0 +1,166 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.common.base.Preconditions.checkState;
+
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.net.Uri;
+import android.os.Bundle;
+import android.service.notification.ZenModeConfig;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ArrayAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.DrawableRes;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
+import androidx.appcompat.app.AlertDialog;
+
+import com.android.settings.R;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settings.dashboard.DashboardFragment;
+
+import com.google.common.collect.ImmutableList;
+
+public class ZenModeScheduleChooserDialog extends InstrumentedDialogFragment {
+
+    private static final String TAG = "ZenModeScheduleChooserDialog";
+
+    static final int OPTION_TIME = 0;
+    static final int OPTION_CALENDAR = 1;
+
+    private record ScheduleOption(@StringRes int nameResId,
+                                  @Nullable @StringRes Integer exampleResId,
+                                  @DrawableRes int iconResId) { }
+
+    private static final ImmutableList<ScheduleOption> SCHEDULE_OPTIONS = ImmutableList.of(
+            new ScheduleOption(R.string.zen_mode_select_schedule_time,
+                    R.string.zen_mode_select_schedule_time_example,
+                    com.android.internal.R.drawable.ic_zen_mode_type_schedule_time),
+            new ScheduleOption(R.string.zen_mode_select_schedule_calendar,
+                    null,
+                    com.android.internal.R.drawable.ic_zen_mode_type_schedule_calendar));
+
+    private OnScheduleOptionListener mOptionListener;
+
+    interface OnScheduleOptionListener {
+        void onScheduleSelected(Uri conditionId);
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.ZEN_SCHEDULE_CHOOSER_DIALOG;
+    }
+
+    static void show(DashboardFragment parent, OnScheduleOptionListener optionListener) {
+        ZenModeScheduleChooserDialog dialog = new ZenModeScheduleChooserDialog();
+        dialog.mOptionListener = optionListener;
+        dialog.setTargetFragment(parent, 0);
+        dialog.show(parent.getParentFragmentManager(), TAG);
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        if (mOptionListener == null) {
+            // Probably the dialog fragment was recreated after its activity being destroyed.
+            // It's pointless to re-show the dialog if we can't do anything when its options are
+            // selected, so we don't.
+            dismiss();
+        }
+    }
+
+    @NonNull
+    @Override
+    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+        checkState(getContext() != null);
+        return new AlertDialog.Builder(getContext())
+                .setTitle(R.string.zen_mode_select_schedule_title)
+                .setAdapter(new OptionsAdapter(getContext()),
+                        (dialog, which) -> onScheduleTypeSelected(which))
+                .setNegativeButton(R.string.cancel, null)
+                .create();
+    }
+
+    private static class OptionsAdapter extends ArrayAdapter<ScheduleOption> {
+
+        private final LayoutInflater mInflater;
+
+        OptionsAdapter(@NonNull Context context) {
+            super(context, R.layout.zen_mode_type_item, SCHEDULE_OPTIONS);
+            mInflater = LayoutInflater.from(context);
+        }
+
+        @NonNull
+        @Override
+        public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
+            if (convertView == null) {
+                convertView = mInflater.inflate(R.layout.zen_mode_type_item, parent, false);
+            }
+            // No need for holder pattern since we have only 2 items.
+            ImageView imageView = checkNotNull(convertView.findViewById(R.id.icon));
+            TextView title = checkNotNull(convertView.findViewById(R.id.title));
+            TextView subtitle = checkNotNull(convertView.findViewById(R.id.subtitle));
+
+            ScheduleOption option = checkNotNull(getItem(position));
+            imageView.setImageResource(option.iconResId());
+            title.setText(option.nameResId());
+            if (option.exampleResId() != null) {
+                subtitle.setVisibility(View.VISIBLE);
+                subtitle.setText(option.exampleResId());
+            } else {
+                subtitle.setVisibility(View.GONE);
+            }
+
+            return convertView;
+        }
+    }
+
+    private void onScheduleTypeSelected(int whichOption) {
+        Uri conditionId = switch (whichOption) {
+            case OPTION_TIME -> getDefaultScheduleTimeCondition();
+            case OPTION_CALENDAR -> getDefaultScheduleCalendarCondition();
+            default -> ZenModeConfig.toCustomManualConditionId();
+        };
+
+        mOptionListener.onScheduleSelected(conditionId);
+    }
+
+    private static Uri getDefaultScheduleTimeCondition() {
+        ZenModeConfig.ScheduleInfo schedule = new ZenModeConfig.ScheduleInfo();
+        schedule.days = ZenModeConfig.ALL_DAYS;
+        schedule.startHour = 9;
+        schedule.startMinute = 30;
+        schedule.endHour = 17;
+        return ZenModeConfig.toScheduleConditionId(schedule);
+    }
+
+    private static Uri getDefaultScheduleCalendarCondition() {
+        ZenModeConfig.EventInfo eventInfo = new ZenModeConfig.EventInfo();
+        eventInfo.calendarId = null; // All calendars of the current user.
+        eventInfo.reply = ZenModeConfig.EventInfo.REPLY_ANY_EXCEPT_NO;
+        return ZenModeConfig.toEventConditionId(eventInfo);
+    }
+}
diff --git a/src/com/android/settings/notification/modes/ZenModeSelectBypassingAppsFragment.java b/src/com/android/settings/notification/modes/ZenModeSelectBypassingAppsFragment.java
index 8b682b9..1f5438d 100644
--- a/src/com/android/settings/notification/modes/ZenModeSelectBypassingAppsFragment.java
+++ b/src/com/android/settings/notification/modes/ZenModeSelectBypassingAppsFragment.java
@@ -74,8 +74,7 @@
 
     @Override
     public int getMetricsCategory() {
-        // TODO(b/332937635): Update metrics category
-        return SettingsEnums.NOTIFICATION_ZEN_MODE_OVERRIDING_APPS;
+        return SettingsEnums.NOTIFICATION_ZEN_MODE_OVERRIDING_APP;
     }
 
     /**
diff --git a/src/com/android/settings/notification/modes/ZenModeSetCalendarFragment.java b/src/com/android/settings/notification/modes/ZenModeSetCalendarFragment.java
index f0206ef..a266c8b 100644
--- a/src/com/android/settings/notification/modes/ZenModeSetCalendarFragment.java
+++ b/src/com/android/settings/notification/modes/ZenModeSetCalendarFragment.java
@@ -46,7 +46,6 @@
 
     @Override
     public int getMetricsCategory() {
-        // TODO: b/332937635 - make this the correct metrics category
         return SettingsEnums.NOTIFICATION_ZEN_MODE_EVENT_RULE;
     }
 }
diff --git a/src/com/android/settings/notification/modes/ZenModeSetCalendarPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeSetCalendarPreferenceController.java
index 2841309..4f45c5c8 100644
--- a/src/com/android/settings/notification/modes/ZenModeSetCalendarPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeSetCalendarPreferenceController.java
@@ -16,14 +16,12 @@
 
 package com.android.settings.notification.modes;
 
-import android.app.Flags;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.database.Cursor;
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.provider.CalendarContract;
-import android.service.notification.SystemZenRules;
 import android.service.notification.ZenModeConfig;
 
 import androidx.annotation.NonNull;
@@ -33,6 +31,8 @@
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -42,7 +42,7 @@
 import java.util.Objects;
 import java.util.function.Function;
 
-public class ZenModeSetCalendarPreferenceController extends AbstractZenModePreferenceController {
+class ZenModeSetCalendarPreferenceController extends AbstractZenModePreferenceController {
     @VisibleForTesting
     protected static final String KEY_CALENDAR = "calendar";
     @VisibleForTesting
@@ -122,11 +122,7 @@
     @VisibleForTesting
     protected Function<ZenMode, ZenMode> updateEventMode(ZenModeConfig.EventInfo event) {
         return (zenMode) -> {
-            zenMode.getRule().setConditionId(ZenModeConfig.toEventConditionId(event));
-            if (Flags.modesApi() && Flags.modesUi()) {
-                zenMode.getRule().setTriggerDescription(
-                        SystemZenRules.getTriggerDescriptionForScheduleEvent(mContext, event));
-            }
+            zenMode.setCustomModeConditionId(mContext, ZenModeConfig.toEventConditionId(event));
             return zenMode;
         };
     }
diff --git a/src/com/android/settings/notification/modes/ZenModeSetScheduleFragment.java b/src/com/android/settings/notification/modes/ZenModeSetScheduleFragment.java
index 4d58097..9119784 100644
--- a/src/com/android/settings/notification/modes/ZenModeSetScheduleFragment.java
+++ b/src/com/android/settings/notification/modes/ZenModeSetScheduleFragment.java
@@ -48,7 +48,6 @@
 
     @Override
     public int getMetricsCategory() {
-        // TODO: b/332937635 - make this the correct metrics category
         return SettingsEnums.NOTIFICATION_ZEN_MODE_SCHEDULE_RULE;
     }
 }
diff --git a/src/com/android/settings/notification/modes/ZenModeSetSchedulePreferenceController.java b/src/com/android/settings/notification/modes/ZenModeSetSchedulePreferenceController.java
index a6008cc..e4c3f32 100644
--- a/src/com/android/settings/notification/modes/ZenModeSetSchedulePreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeSetSchedulePreferenceController.java
@@ -16,9 +16,7 @@
 
 package com.android.settings.notification.modes;
 
-import android.app.Flags;
 import android.content.Context;
-import android.service.notification.SystemZenRules;
 import android.service.notification.ZenModeConfig;
 import android.text.format.DateFormat;
 import android.util.ArraySet;
@@ -33,6 +31,8 @@
 import androidx.preference.Preference;
 
 import com.android.settings.R;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
 import com.android.settingslib.widget.LayoutPreference;
 
 import java.text.SimpleDateFormat;
@@ -67,12 +67,18 @@
         LayoutPreference layoutPref = (LayoutPreference) preference;
 
         TextView start = layoutPref.findViewById(R.id.start_time);
-        start.setText(timeString(mSchedule.startHour, mSchedule.startMinute));
+        String startTimeString = timeString(mSchedule.startHour, mSchedule.startMinute);
+        start.setText(startTimeString);
+        start.setContentDescription(
+                mContext.getString(R.string.zen_mode_start_time) + "\n" + startTimeString);
         start.setOnClickListener(
                 timePickerLauncher(mSchedule.startHour, mSchedule.startMinute, mStartSetter));
 
         TextView end = layoutPref.findViewById(R.id.end_time);
-        end.setText(timeString(mSchedule.endHour, mSchedule.endMinute));
+        String endTimeString = timeString(mSchedule.endHour, mSchedule.endMinute);
+        end.setText(endTimeString);
+        end.setContentDescription(
+                mContext.getString(R.string.zen_mode_end_time) + "\n" + endTimeString);
         end.setOnClickListener(
                 timePickerLauncher(mSchedule.endHour, mSchedule.endMinute, mEndSetter));
 
@@ -116,16 +122,13 @@
     @VisibleForTesting
     protected Function<ZenMode, ZenMode> updateScheduleMode(ZenModeConfig.ScheduleInfo schedule) {
         return (zenMode) -> {
-            zenMode.getRule().setConditionId(ZenModeConfig.toScheduleConditionId(schedule));
-            if (Flags.modesApi() && Flags.modesUi()) {
-                zenMode.getRule().setTriggerDescription(
-                        SystemZenRules.getTriggerDescriptionForScheduleTime(mContext, schedule));
-            }
+            zenMode.setCustomModeConditionId(mContext,
+                    ZenModeConfig.toScheduleConditionId(schedule));
             return zenMode;
         };
     }
 
-    private ZenModeTimePickerFragment.TimeSetter mStartSetter = (hour, minute) -> {
+    private final ZenModeTimePickerFragment.TimeSetter mStartSetter = (hour, minute) -> {
         if (!isValidTime(hour, minute)) {
             return;
         }
@@ -137,7 +140,7 @@
         saveMode(updateScheduleMode(mSchedule));
     };
 
-    private ZenModeTimePickerFragment.TimeSetter mEndSetter = (hour, minute) -> {
+    private final ZenModeTimePickerFragment.TimeSetter mEndSetter = (hour, minute) -> {
         if (!isValidTime(hour, minute)) {
             return;
         }
@@ -201,7 +204,10 @@
             // day label.
             dayToggle.setTextOn(mShortDayFormat.format(c.getTime()));
             dayToggle.setTextOff(mShortDayFormat.format(c.getTime()));
-            dayToggle.setContentDescription(mLongDayFormat.format(c.getTime()));
+            String state = dayEnabled
+                    ? mContext.getString(com.android.internal.R.string.capital_on)
+                    : mContext.getString(com.android.internal.R.string.capital_off);
+            dayToggle.setStateDescription(mLongDayFormat.format(c.getTime()) + ", " + state);
 
             dayToggle.setChecked(dayEnabled);
             dayToggle.setOnCheckedChangeListener((buttonView, isChecked) -> {
diff --git a/src/com/android/settings/notification/modes/ZenModeSetTriggerLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeSetTriggerLinkPreferenceController.java
deleted file mode 100644
index 14d5d59..0000000
--- a/src/com/android/settings/notification/modes/ZenModeSetTriggerLinkPreferenceController.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.notification.modes;
-
-import static android.app.AutomaticZenRule.TYPE_SCHEDULE_CALENDAR;
-import static android.app.AutomaticZenRule.TYPE_SCHEDULE_TIME;
-
-import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
-
-import android.content.Context;
-import android.os.Bundle;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceCategory;
-
-import com.android.settings.R;
-import com.android.settings.core.SubSettingLauncher;
-import com.android.settingslib.PrimarySwitchPreference;
-
-/**
- * Preference controller for the link to an individual mode's configuration page.
- */
-class ZenModeSetTriggerLinkPreferenceController extends AbstractZenModePreferenceController {
-    @VisibleForTesting
-    protected static final String AUTOMATIC_TRIGGER_PREF_KEY = "zen_automatic_trigger_settings";
-
-    ZenModeSetTriggerLinkPreferenceController(Context context, String key,
-            ZenModesBackend backend) {
-        super(context, key, backend);
-    }
-
-    @Override
-    public boolean isAvailable(@NonNull ZenMode zenMode) {
-        return !zenMode.isManualDnd();
-    }
-
-    @Override
-    public void updateState(Preference preference, @NonNull ZenMode zenMode) {
-        // This controller is expected to govern a preference category so that it controls the
-        // availability of the entire preference category if the mode doesn't have a way to
-        // automatically trigger (such as manual DND).
-        Preference switchPref = ((PreferenceCategory) preference).findPreference(
-                AUTOMATIC_TRIGGER_PREF_KEY);
-        if (switchPref == null) {
-            return;
-        }
-        ((PrimarySwitchPreference) switchPref).setChecked(zenMode.getRule().isEnabled());
-        switchPref.setOnPreferenceChangeListener(mSwitchChangeListener);
-
-        Bundle bundle = new Bundle();
-        bundle.putString(MODE_ID, zenMode.getId());
-
-        // TODO: b/341961712 - direct preference to app-owned intent if available
-        switch (zenMode.getRule().getType()) {
-            case TYPE_SCHEDULE_TIME:
-                switchPref.setTitle(R.string.zen_mode_set_schedule_link);
-                switchPref.setSummary(zenMode.getRule().getTriggerDescription());
-                switchPref.setIntent(new SubSettingLauncher(mContext)
-                        .setDestination(ZenModeSetScheduleFragment.class.getName())
-                        // TODO: b/332937635 - set correct metrics category
-                        .setSourceMetricsCategory(0)
-                        .setArguments(bundle)
-                        .toIntent());
-                break;
-            case TYPE_SCHEDULE_CALENDAR:
-                switchPref.setTitle(R.string.zen_mode_set_calendar_link);
-                switchPref.setSummary(zenMode.getRule().getTriggerDescription());
-                switchPref.setIntent(new SubSettingLauncher(mContext)
-                        .setDestination(ZenModeSetCalendarFragment.class.getName())
-                        // TODO: b/332937635 - set correct metrics category
-                        .setSourceMetricsCategory(0)
-                        .setArguments(bundle)
-                        .toIntent());
-                break;
-            default:
-                // TODO: b/342156843 - change this to allow adding a trigger condition for system
-                //                     rules that don't yet have a type selected
-                switchPref.setTitle("not implemented");
-        }
-    }
-
-    @VisibleForTesting
-    protected Preference.OnPreferenceChangeListener mSwitchChangeListener = (p, newValue) -> {
-        final boolean newEnabled = (Boolean) newValue;
-        return saveMode((zenMode) -> {
-            if (newEnabled != zenMode.getRule().isEnabled()) {
-                zenMode.getRule().setEnabled(newEnabled);
-            }
-            return zenMode;
-        });
-    };
-}
diff --git a/src/com/android/settings/notification/modes/ZenModeSummaryHelper.java b/src/com/android/settings/notification/modes/ZenModeSummaryHelper.java
index 77f364c..483b8f0 100644
--- a/src/com/android/settings/notification/modes/ZenModeSummaryHelper.java
+++ b/src/com/android/settings/notification/modes/ZenModeSummaryHelper.java
@@ -15,6 +15,7 @@
  */
 package com.android.settings.notification.modes;
 
+import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
 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;
@@ -30,6 +31,7 @@
 import static android.service.notification.ZenPolicy.PRIORITY_CATEGORY_REMINDERS;
 import static android.service.notification.ZenPolicy.PRIORITY_CATEGORY_REPEAT_CALLERS;
 import static android.service.notification.ZenPolicy.PRIORITY_CATEGORY_SYSTEM;
+import static android.service.notification.ZenPolicy.STATE_ALLOW;
 import static android.service.notification.ZenPolicy.VISUAL_EFFECT_AMBIENT;
 import static android.service.notification.ZenPolicy.VISUAL_EFFECT_BADGE;
 import static android.service.notification.ZenPolicy.VISUAL_EFFECT_FULL_SCREEN_INTENT;
@@ -42,27 +44,34 @@
 import android.icu.text.MessageFormat;
 import android.service.notification.ZenDeviceEffects;
 import android.service.notification.ZenPolicy;
+import android.service.notification.ZenPolicy.ConversationSenders;
+import android.service.notification.ZenPolicy.PeopleType;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.core.text.BidiFormatter;
 
 import com.android.settings.R;
+import com.android.settingslib.applications.ApplicationsState.AppEntry;
+import com.android.settingslib.notification.modes.ZenMode;
+
+import com.google.common.base.Strings;
+import com.google.common.collect.ImmutableList;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
-import java.util.Set;
 import java.util.function.Predicate;
 
 class ZenModeSummaryHelper {
 
     private final Context mContext;
-    private final ZenModesBackend mBackend;
+    private final ZenHelperBackend mBackend;
 
-    public ZenModeSummaryHelper(Context context, ZenModesBackend backend) {
+    ZenModeSummaryHelper(Context context, ZenHelperBackend backend) {
         mContext = context;
         mBackend = backend;
     }
@@ -79,14 +88,18 @@
             PRIORITY_CATEGORY_REPEAT_CALLERS,
     };
 
+    static final ImmutableList</* @PriorityCategory */ Integer> OTHER_SOUND_CATEGORIES =
+            ImmutableList.of(
+                PRIORITY_CATEGORY_ALARMS,
+                PRIORITY_CATEGORY_MEDIA,
+                PRIORITY_CATEGORY_SYSTEM,
+                PRIORITY_CATEGORY_REMINDERS,
+                PRIORITY_CATEGORY_EVENTS);
+
     String getOtherSoundCategoriesSummary(ZenMode zenMode) {
         List<String> enabledCategories = getEnabledCategories(
                 zenMode.getPolicy(),
-                category -> PRIORITY_CATEGORY_ALARMS == category
-                        || PRIORITY_CATEGORY_MEDIA == category
-                        || PRIORITY_CATEGORY_SYSTEM == category
-                        || PRIORITY_CATEGORY_REMINDERS == category
-                        || PRIORITY_CATEGORY_EVENTS == category,
+                OTHER_SOUND_CATEGORIES::contains,
                 true);
         int numCategories = enabledCategories.size();
         MessageFormat msgFormat = new MessageFormat(
@@ -124,6 +137,14 @@
     }
 
     String getMessagesSettingSummary(ZenPolicy policy) {
+        if (policy.getPriorityCategoryMessages() == STATE_ALLOW
+                && policy.getPriorityMessageSenders() == PEOPLE_TYPE_ANYONE) {
+            // Messages=anyone means anyone. Even if conversation senders is specially configured,
+            // saying "Anyone and priority conversations" 1) makes no sense and 2) is incorrect
+            // because conversations WILL get through by virtue of also being messages.
+            return mContext.getString(R.string.zen_mode_from_anyone);
+        }
+
         List<String> enabledCategories = getEnabledCategories(policy,
                 category -> PRIORITY_CATEGORY_MESSAGES == category
                         || PRIORITY_CATEGORY_CONVERSATIONS == category, true);
@@ -187,48 +208,47 @@
     String getDisplayEffectsSummary(ZenMode zenMode) {
         boolean isFirst = true;
         List<String> enabledEffects = new ArrayList<>();
-        if (!zenMode.getPolicy().shouldShowAllVisualEffects()) {
+        if (!zenMode.getPolicy().shouldShowAllVisualEffects()
+                && zenMode.getInterruptionFilter() != INTERRUPTION_FILTER_ALL) {
             enabledEffects.add(getBlockedEffectsSummary(zenMode));
             isFirst = false;
         }
-        ZenDeviceEffects currEffects =  zenMode.getRule().getDeviceEffects();
-        if (currEffects != null) {
-            if (currEffects.shouldDisplayGrayscale()) {
-                if (isFirst) {
-                    enabledEffects.add(mContext.getString(R.string.mode_grayscale_title));
-                } else {
-                    enabledEffects.add(mContext.getString(
-                            R.string.mode_grayscale_title_secondary_list));
-                }
-                isFirst = false;
+        ZenDeviceEffects currEffects = zenMode.getDeviceEffects();
+        if (currEffects.shouldDisplayGrayscale()) {
+            if (isFirst) {
+                enabledEffects.add(mContext.getString(R.string.mode_grayscale_title));
+            } else {
+                enabledEffects.add(mContext.getString(
+                        R.string.mode_grayscale_title_secondary_list));
             }
-            if (currEffects.shouldSuppressAmbientDisplay()) {
-                if (isFirst) {
-                    enabledEffects.add(mContext.getString(R.string.mode_aod_title));
-                } else {
-                    enabledEffects.add(mContext.getString(
-                            R.string.mode_aod_title_secondary_list));
-                }
-                isFirst = false;
+            isFirst = false;
+        }
+        if (currEffects.shouldSuppressAmbientDisplay()) {
+            if (isFirst) {
+                enabledEffects.add(mContext.getString(R.string.mode_aod_title));
+            } else {
+                enabledEffects.add(mContext.getString(
+                        R.string.mode_aod_title_secondary_list));
             }
-            if (currEffects.shouldDimWallpaper()) {
-                if (isFirst) {
-                    enabledEffects.add(mContext.getString(R.string.mode_wallpaper_title));
-                } else {
-                    enabledEffects.add(mContext.getString(
-                            R.string.mode_wallpaper_title_secondary_list));
-                }
-                isFirst = false;
+            isFirst = false;
+        }
+        if (currEffects.shouldDimWallpaper()) {
+            if (isFirst) {
+                enabledEffects.add(mContext.getString(R.string.mode_wallpaper_title));
+            } else {
+                enabledEffects.add(mContext.getString(
+                        R.string.mode_wallpaper_title_secondary_list));
             }
-            if (currEffects.shouldUseNightMode()) {
-                if (isFirst) {
-                    enabledEffects.add(mContext.getString(R.string.mode_dark_theme_title));
-                } else {
-                    enabledEffects.add(mContext.getString(
-                            R.string.mode_dark_theme_title_secondary_list));
-                }
-                isFirst = false;
+            isFirst = false;
+        }
+        if (currEffects.shouldUseNightMode()) {
+            if (isFirst) {
+                enabledEffects.add(mContext.getString(R.string.mode_dark_theme_title));
+            } else {
+                enabledEffects.add(mContext.getString(
+                        R.string.mode_dark_theme_title_secondary_list));
             }
+            isFirst = false;
         }
 
         int numCategories = enabledEffects.size();
@@ -261,10 +281,11 @@
                     continue;
                 }
 
-                // For conversations, only the "priority conversations" setting is relevant; any
-                // other setting is subsumed by the messages-specific messaging.
+                // For conversations, only the "all/priority conversations" settings are relevant;
+                // any other setting is subsumed by the messages-specific messaging.
                 if (category == PRIORITY_CATEGORY_CONVERSATIONS
                         && policy.isCategoryAllowed(PRIORITY_CATEGORY_CONVERSATIONS, false)
+                        && policy.getPriorityConversationSenders() != CONVERSATION_SENDERS_ANYONE
                         && policy.getPriorityConversationSenders()
                         != CONVERSATION_SENDERS_IMPORTANT) {
                     continue;
@@ -303,13 +324,20 @@
             } else {
                 return mContext.getString(R.string.zen_mode_from_starred);
             }
-        } else if (category == PRIORITY_CATEGORY_CONVERSATIONS
-                && policy.getPriorityConversationSenders() == CONVERSATION_SENDERS_IMPORTANT) {
-            if (isFirst) {
-                return mContext.getString(R.string.zen_mode_from_important_conversations);
-            } else {
-                return mContext.getString(
-                        R.string.zen_mode_from_important_conversations_second);
+        } else if (category == PRIORITY_CATEGORY_CONVERSATIONS) {
+            if (policy.getPriorityConversationSenders() == CONVERSATION_SENDERS_IMPORTANT) {
+                if (isFirst) {
+                    return mContext.getString(R.string.zen_mode_from_important_conversations);
+                } else {
+                    return mContext.getString(
+                            R.string.zen_mode_from_important_conversations_second);
+                }
+            } else if (policy.getPriorityConversationSenders() == CONVERSATION_SENDERS_ANYONE) {
+                if (isFirst) {
+                    return mContext.getString(R.string.zen_mode_from_all_conversations);
+                } else {
+                    return mContext.getString(R.string.zen_mode_from_all_conversations_second);
+                }
             }
         } else if (category == PRIORITY_CATEGORY_EVENTS) {
             if (isFirst) {
@@ -352,7 +380,12 @@
     }
 
     public String getStarredContactsSummary() {
-        List<String> starredContacts = mBackend.getStarredContacts();
+        List<String> starredContacts = mBackend.getStarredContacts().stream()
+                .map(ZenHelperBackend.Contact::displayName)
+                .map(name -> Strings.isNullOrEmpty(name)
+                        ? mContext.getString(R.string.zen_mode_starred_contacts_empty_name)
+                        : name)
+                .toList();
         int numStarredContacts = starredContacts.size();
         MessageFormat msgFormat = new MessageFormat(
                 mContext.getString(R.string.zen_mode_starred_contacts_summary_contacts),
@@ -376,26 +409,32 @@
                 mContext.getString(R.string.zen_mode_contacts_count),
                 Locale.getDefault());
         Map<String, Object> args = new HashMap<>();
-        args.put("count", mBackend.queryAllContactsData().getCount());
+        args.put("count", mBackend.getAllContactsCount());
         return msgFormat.format(args);
     }
 
-    public String getPeopleSummary(ZenMode zenMode) {
-        final int callersAllowed = zenMode.getPolicy().getPriorityCallSenders();
-        final int messagesAllowed = zenMode.getPolicy().getPriorityMessageSenders();
-        final int conversationsAllowed = zenMode.getPolicy().getPriorityConversationSenders();
+    public String getPeopleSummary(ZenPolicy policy) {
+        @PeopleType int callersAllowed = policy.getPriorityCategoryCalls() == STATE_ALLOW
+                ? policy.getPriorityCallSenders() : PEOPLE_TYPE_NONE;
+        @PeopleType int messagesAllowed = policy.getPriorityCategoryMessages() == STATE_ALLOW
+                ? policy.getPriorityMessageSenders() : PEOPLE_TYPE_NONE;
+        @ConversationSenders int conversationsAllowed =
+                policy.getPriorityCategoryConversations() == STATE_ALLOW
+                        ? policy.getPriorityConversationSenders()
+                        : CONVERSATION_SENDERS_NONE;
         final boolean areRepeatCallersAllowed =
-                zenMode.getPolicy().isCategoryAllowed(PRIORITY_CATEGORY_REPEAT_CALLERS, false);
+                policy.isCategoryAllowed(PRIORITY_CATEGORY_REPEAT_CALLERS, false);
 
         if (callersAllowed == PEOPLE_TYPE_ANYONE
                 && messagesAllowed == PEOPLE_TYPE_ANYONE
                 && conversationsAllowed == CONVERSATION_SENDERS_ANYONE) {
-            return mContext.getResources().getString(R.string.zen_mode_people_all);
+            return mContext.getString(R.string.zen_mode_people_all);
         } else if (callersAllowed == PEOPLE_TYPE_NONE
                 && messagesAllowed == PEOPLE_TYPE_NONE
-                && conversationsAllowed == CONVERSATION_SENDERS_NONE
-                && !areRepeatCallersAllowed) {
-            return mContext.getResources().getString(R.string.zen_mode_people_none);
+                && conversationsAllowed == CONVERSATION_SENDERS_NONE) {
+            return mContext.getString(
+                    areRepeatCallersAllowed ? R.string.zen_mode_people_repeat_callers
+                            : R.string.zen_mode_people_none);
         } else {
             return mContext.getResources().getString(R.string.zen_mode_people_some);
         }
@@ -406,13 +445,11 @@
      * on the given mode and provided set of apps.
      */
     public @NonNull String getAppsSummary(@NonNull ZenMode zenMode,
-            @Nullable Set<String> appsBypassing) {
+            @Nullable List<AppEntry> appsBypassing) {
         if (zenMode.getPolicy().getAllowedChannels() == ZenPolicy.CHANNEL_POLICY_PRIORITY) {
             return formatAppsList(appsBypassing);
         } else if (zenMode.getPolicy().getAllowedChannels() == ZenPolicy.CHANNEL_POLICY_NONE) {
             return mContext.getResources().getString(R.string.zen_mode_apps_none_apps);
-        } else if (zenMode.getPolicy().getAllowedChannels() == ZenMode.CHANNEL_POLICY_ALL) {
-            return mContext.getResources().getString(R.string.zen_mode_apps_all_apps);
         }
         return "";
     }
@@ -420,31 +457,70 @@
     /**
      * Generates a formatted string declaring which apps can interrupt in the style of
      * "App, App2, and 4 more can interrupt."
-     * Apps selected for explicit mention are selected in order from the provided set sorted
-     * alphabetically.
+     * Apps selected for explicit mention are picked in order from the provided list.
      */
-    public @NonNull String formatAppsList(@Nullable Set<String> appsBypassingDnd) {
+    @VisibleForTesting
+    public @NonNull String formatAppsList(@Nullable List<AppEntry> appsBypassingDnd) {
         if (appsBypassingDnd == null) {
             return mContext.getResources().getString(R.string.zen_mode_apps_priority_apps);
         }
-        final int numAppsBypassingDnd = appsBypassingDnd.size();
-        String[] appsBypassingDndArr = appsBypassingDnd.toArray(new String[numAppsBypassingDnd]);
-        // Sorts the provided apps alphabetically.
-        Arrays.sort(appsBypassingDndArr);
+        List<String> appNames = appsBypassingDnd.stream().limit(3)
+                .map(app -> {
+                    String appName = BidiFormatter.getInstance().unicodeWrap(app.label);
+                    if (app.isManagedProfile()) {
+                        appName = mContext.getString(R.string.zen_mode_apps_work_app, appName);
+                    }
+                    return appName;
+                })
+                .toList();
+
         MessageFormat msgFormat = new MessageFormat(
                 mContext.getString(R.string.zen_mode_apps_subtext),
                 Locale.getDefault());
         Map<String, Object> args = new HashMap<>();
-        args.put("count", numAppsBypassingDnd);
-        if (numAppsBypassingDnd >= 1) {
-            args.put("app_1", appsBypassingDndArr[0]);
-            if (numAppsBypassingDnd >= 2) {
-                args.put("app_2", appsBypassingDndArr[1]);
-                if (numAppsBypassingDnd == 3) {
-                    args.put("app_3", appsBypassingDndArr[2]);
+        args.put("count", appsBypassingDnd.size());
+        if (appNames.size() >= 1) {
+            args.put("app_1", appNames.get(0));
+            if (appNames.size() >= 2) {
+                args.put("app_2", appNames.get(1));
+                if (appNames.size() == 3) {
+                    args.put("app_3", appNames.get(2));
                 }
             }
         }
         return msgFormat.format(args);
     }
+
+    String getModesSummary(List<ZenMode> modes) {
+        List<ZenMode> activeModes = modes.stream().filter(ZenMode::isActive).toList();
+
+        if (!activeModes.isEmpty()) {
+            MessageFormat msgFormat = new MessageFormat(
+                    mContext.getString(R.string.zen_modes_summary_some_active),
+                    Locale.getDefault());
+
+            Map<String, Object> args = new HashMap<>();
+            args.put("count", activeModes.size());
+            args.put("mode_1", activeModes.get(0).getName());
+            if (activeModes.size() >= 2) {
+                args.put("mode_2", activeModes.get(1).getName());
+                if (activeModes.size() == 3) {
+                    args.put("mode_3", activeModes.get(2).getName());
+                }
+            }
+
+            return msgFormat.format(args);
+        } else {
+            int automaticModeCount = (int) modes.stream()
+                    .filter(m -> m.isEnabled() && !m.isManualDnd() && !m.isCustomManual())
+                    .count();
+
+            MessageFormat msgFormat = new MessageFormat(
+                    mContext.getString(R.string.zen_modes_summary_none_active),
+                    Locale.getDefault());
+            Map<String, Object> msgArgs = Map.of("count", automaticModeCount);
+            return msgFormat.format(msgArgs);
+        }
+    }
+
 }
diff --git a/src/com/android/settings/notification/modes/ZenModeTimePickerFragment.java b/src/com/android/settings/notification/modes/ZenModeTimePickerFragment.java
index d8e1b38..3fa5394 100644
--- a/src/com/android/settings/notification/modes/ZenModeTimePickerFragment.java
+++ b/src/com/android/settings/notification/modes/ZenModeTimePickerFragment.java
@@ -62,7 +62,6 @@
 
     @Override
     public int getMetricsCategory() {
-        // TODO: b/332937635 - set correct metrics category (or decide to keep this one?)
         return SettingsEnums.DIALOG_ZEN_TIMEPICKER;
     }
 
diff --git a/src/com/android/settings/notification/modes/ZenModeTriggerAddPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeTriggerAddPreferenceController.java
new file mode 100644
index 0000000..68cc167
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenModeTriggerAddPreferenceController.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+class ZenModeTriggerAddPreferenceController extends AbstractZenModePreferenceController {
+
+    private final DashboardFragment mFragment;
+
+    ZenModeTriggerAddPreferenceController(@NonNull Context context,
+            @NonNull String key, DashboardFragment fragment, ZenModesBackend backend) {
+        super(context, key, backend);
+        mFragment = fragment;
+    }
+
+    @Override
+    public boolean isAvailable(@NonNull ZenMode zenMode) {
+        return zenMode.isCustomManual();
+    }
+
+    @Override
+    void updateState(Preference preference, @NonNull ZenMode zenMode) {
+        if (!isAvailable(zenMode)) {
+            return;
+        }
+
+        preference.setOnPreferenceClickListener(unused -> {
+            ZenModeScheduleChooserDialog.show(mFragment, mOnScheduleOptionListener);
+            return true;
+        });
+    }
+
+    @VisibleForTesting
+    final ZenModeScheduleChooserDialog.OnScheduleOptionListener mOnScheduleOptionListener =
+            conditionId -> saveMode(mode -> {
+                mode.setCustomModeConditionId(mContext, conditionId);
+                return mode;
+                // TODO: b/342156843 - Maybe jump to the corresponding schedule editing screen?
+            });
+}
diff --git a/src/com/android/settings/notification/modes/ZenModeTriggerCategoryPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeTriggerCategoryPreferenceController.java
new file mode 100644
index 0000000..5fc3fda
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenModeTriggerCategoryPreferenceController.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.preference.Preference;
+
+import com.android.settingslib.notification.modes.ZenMode;
+
+/**
+ * Preference controller for the "Turn on automatically" category
+ */
+class ZenModeTriggerCategoryPreferenceController extends AbstractZenModePreferenceController {
+
+    ZenModeTriggerCategoryPreferenceController(Context context, String key) {
+        super(context, key);
+    }
+
+    @Override
+    public boolean isAvailable(@NonNull ZenMode zenMode) {
+        return !zenMode.isManualDnd();
+    }
+
+    @Override
+    public void updateState(Preference preference, @NonNull ZenMode zenMode) {
+        // Nothing to update here (except visibility via isAvailable()).
+    }
+}
diff --git a/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceController.java b/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceController.java
new file mode 100644
index 0000000..1933635
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceController.java
@@ -0,0 +1,229 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static android.app.AutomaticZenRule.TYPE_BEDTIME;
+import static android.app.AutomaticZenRule.TYPE_DRIVING;
+import static android.app.AutomaticZenRule.TYPE_SCHEDULE_CALENDAR;
+import static android.app.AutomaticZenRule.TYPE_SCHEDULE_TIME;
+import static android.service.notification.ZenModeConfig.tryParseScheduleConditionId;
+
+import android.annotation.SuppressLint;
+import android.app.AlertDialog;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.service.notification.SystemZenRules;
+import android.service.notification.ZenModeConfig;
+import android.util.Log;
+
+import androidx.annotation.DrawableRes;
+import androidx.annotation.NonNull;
+import androidx.annotation.StringRes;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settingslib.PrimarySwitchPreference;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+import com.google.common.base.Strings;
+
+class ZenModeTriggerUpdatePreferenceController extends AbstractZenModePreferenceController {
+
+    private static final String TAG = "ZenModeTriggerUpdate";
+
+    private final PackageManager mPackageManager;
+    private final ConfigurationActivityHelper mConfigurationActivityHelper;
+    private final ZenServiceListing mServiceListing;
+
+    private String mModeName;
+
+    ZenModeTriggerUpdatePreferenceController(Context context, String key,
+            ZenModesBackend backend) {
+        this(context, key, backend, context.getPackageManager(),
+                new ConfigurationActivityHelper(context.getPackageManager()),
+                new ZenServiceListing(context));
+    }
+
+    @VisibleForTesting
+    ZenModeTriggerUpdatePreferenceController(Context context, String key,
+            ZenModesBackend backend, PackageManager packageManager,
+            ConfigurationActivityHelper configurationActivityHelper,
+            ZenServiceListing serviceListing) {
+        super(context, key, backend);
+        mPackageManager = packageManager;
+        mConfigurationActivityHelper = configurationActivityHelper;
+        mServiceListing = serviceListing;
+    }
+
+    @Override
+    public boolean isAvailable(@NonNull ZenMode zenMode) {
+        return !zenMode.isCustomManual() && !zenMode.isManualDnd();
+    }
+
+    @Override
+    void updateState(Preference preference, @NonNull ZenMode zenMode) {
+        if (!isAvailable(zenMode)) {
+            return;
+        }
+
+        mModeName = zenMode.getName();
+        PrimarySwitchPreference triggerPref = (PrimarySwitchPreference) preference;
+        triggerPref.setChecked(zenMode.isEnabled());
+        triggerPref.setOnPreferenceChangeListener(mSwitchChangeListener);
+        if (zenMode.isSystemOwned()) {
+            setUpForSystemOwnedTrigger(triggerPref, zenMode);
+        } else {
+            setUpForAppTrigger(triggerPref, zenMode);
+        }
+    }
+
+    private void setUpForSystemOwnedTrigger(Preference preference, ZenMode mode) {
+        if (mode.getType() == TYPE_SCHEDULE_TIME) {
+            preference.setIntent(ZenSubSettingLauncher.forModeFragment(mContext,
+                    ZenModeSetScheduleFragment.class, mode.getId(),
+                    SettingsEnums.ZEN_PRIORITY_MODE).toIntent());
+
+            // [Clock Icon] 9:00 - 17:00 / Sun-Mon
+            preference.setIcon(com.android.internal.R.drawable.ic_zen_mode_type_schedule_time);
+            ZenModeConfig.ScheduleInfo schedule =
+                    tryParseScheduleConditionId(mode.getRule().getConditionId());
+            if (schedule != null) {
+                preference.setTitle(SystemZenRules.getTimeSummary(mContext, schedule));
+                preference.setSummary(SystemZenRules.getShortDaysSummary(mContext, schedule));
+            } else {
+                // Fallback, but shouldn't happen.
+                Log.wtf(TAG, "SCHEDULE_TIME mode without schedule: " + mode);
+                preference.setTitle(R.string.zen_mode_set_schedule_link);
+                preference.setSummary(null);
+            }
+        } else if (mode.getType() == TYPE_SCHEDULE_CALENDAR) {
+            preference.setIntent(ZenSubSettingLauncher.forModeFragment(mContext,
+                    ZenModeSetCalendarFragment.class, mode.getId(),
+                    SettingsEnums.ZEN_PRIORITY_MODE).toIntent());
+
+            // [Event Icon] Calendar Events / <Calendar name>
+            preference.setIcon(
+                    com.android.internal.R.drawable.ic_zen_mode_type_schedule_calendar);
+            preference.setTitle(R.string.zen_mode_trigger_title_schedule_calendar);
+            preference.setSummary(mode.getTriggerDescription());
+        } else {
+            Log.wtf(TAG, "Unexpected type for system-owned mode: " + mode);
+        }
+    }
+
+    @SuppressLint("SwitchIntDef")
+    private void setUpForAppTrigger(Preference preference, ZenMode mode) {
+        // App-owned mode may have triggerDescription, configurationActivity, or both/neither.
+        mServiceListing.loadApprovedComponents(mode.getRule().getPackageName());
+        Intent configurationIntent =
+                mConfigurationActivityHelper.getConfigurationActivityIntentForMode(
+                        mode, mServiceListing::findService);
+
+        @StringRes int title = switch (mode.getType()) {
+            case TYPE_BEDTIME -> R.string.zen_mode_trigger_title_bedtime;
+            case TYPE_DRIVING -> R.string.zen_mode_trigger_title_driving;
+            default -> R.string.zen_mode_trigger_title_generic;
+        };
+
+        String summary;
+        if (!Strings.isNullOrEmpty(mode.getTriggerDescription())) {
+            summary = mode.getTriggerDescription();
+        } else if (!Strings.isNullOrEmpty(mode.getRule().getPackageName())) {
+            String appName = null;
+            try {
+                ApplicationInfo appInfo = mPackageManager.getApplicationInfo(
+                        mode.getRule().getPackageName(), 0);
+                appName = appInfo.loadLabel(mPackageManager).toString();
+            } catch (PackageManager.NameNotFoundException e) {
+                Log.e(TAG, "Couldn't resolve owner for mode: " + mode);
+            }
+
+            if (appName != null) {
+                summary = mContext.getString(
+                        configurationIntent != null
+                                ? R.string.zen_mode_trigger_summary_settings_in_app
+                                : R.string.zen_mode_trigger_summary_managed_by_app,
+                        appName);
+            } else {
+                summary = null;
+            }
+        } else {
+            Log.e(TAG, "Mode without package! " + mode);
+            summary = null;
+        }
+
+        @DrawableRes int icon;
+        if (mode.getType() == TYPE_BEDTIME) {
+            icon = com.android.internal.R.drawable.ic_zen_mode_type_schedule_time; // Clock
+        } else if (mode.getType() == TYPE_DRIVING) {
+            icon = com.android.internal.R.drawable.ic_zen_mode_type_driving; // Car
+        } else {
+            icon = configurationIntent != null ? R.drawable.ic_zen_mode_trigger_with_activity
+                    : R.drawable.ic_zen_mode_trigger_without_activity;
+        }
+
+        preference.setTitle(title);
+        preference.setSummary(summary);
+        preference.setIcon(icon);
+        preference.setIntent(configurationIntent);
+    }
+
+    private final Preference.OnPreferenceChangeListener mSwitchChangeListener = (p, newValue) -> {
+        confirmChangeEnabled(p, (boolean) newValue);
+        return true;
+    };
+
+    private void confirmChangeEnabled(Preference preference, boolean enabled) {
+        @StringRes int titleFormat = enabled ? R.string.zen_mode_confirm_enable_mode_title
+                : R.string.zen_mode_confirm_disable_mode_title;
+        @StringRes int message = enabled ? R.string.zen_mode_confirm_enable_message
+                : R.string.zen_mode_confirm_disable_message;
+        @StringRes int confirmButton = enabled ? R.string.zen_mode_action_enable
+                : R.string.zen_mode_action_disable;
+
+        new AlertDialog.Builder(mContext)
+                .setTitle(mContext.getString(titleFormat, mModeName))
+                .setMessage(message)
+                .setPositiveButton(confirmButton,
+                        (dialog, which) -> setModeEnabled(enabled))
+                .setNegativeButton(R.string.cancel,
+                        (dialog, which) -> undoToggleSwitch(preference, enabled))
+                .setOnCancelListener(dialog -> undoToggleSwitch(preference, enabled))
+                .show();
+    }
+
+    private void setModeEnabled(boolean enabled) {
+        saveMode((zenMode) -> {
+            if (enabled != zenMode.isEnabled()) {
+                zenMode.getRule().setEnabled(enabled);
+            }
+            return zenMode;
+        });
+        getMetricsFeatureProvider().action(mContext, SettingsEnums.ACTION_ZEN_MODE_ENABLE_TOGGLE,
+                enabled);
+    }
+
+    private void undoToggleSwitch(Preference preference, boolean wasSwitchedTo) {
+        PrimarySwitchPreference switchPreference = (PrimarySwitchPreference) preference;
+        switchPreference.setChecked(!wasSwitchedTo);
+    }
+}
diff --git a/src/com/android/settings/notification/modes/ZenModesBackend.java b/src/com/android/settings/notification/modes/ZenModesBackend.java
deleted file mode 100644
index ad36fc1..0000000
--- a/src/com/android/settings/notification/modes/ZenModesBackend.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification.modes;
-
-import android.annotation.Nullable;
-import android.app.ActivityManager;
-import android.app.AutomaticZenRule;
-import android.app.INotificationManager;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.content.pm.ParceledListSlice;
-import android.database.Cursor;
-import android.net.Uri;
-import android.os.ServiceManager;
-import android.provider.ContactsContract;
-import android.provider.Settings;
-import android.service.notification.Condition;
-import android.service.notification.ConversationChannelWrapper;
-import android.service.notification.SystemZenRules;
-import android.service.notification.ZenAdapters;
-import android.service.notification.ZenModeConfig;
-import android.util.Log;
-
-import androidx.annotation.VisibleForTesting;
-
-import com.android.settings.R;
-
-import java.time.Duration;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Class used for Settings-NMS interactions related to Mode management.
- *
- * <p>This class converts {@link AutomaticZenRule} instances, as well as the manual zen mode,
- * into the unified {@link ZenMode} format.
- */
-class ZenModesBackend {
-
-    private static final String TAG = "ZenModeBackend";
-
-    @Nullable // Until first usage
-    private static ZenModesBackend sInstance;
-
-    private final NotificationManager mNotificationManager;
-    static INotificationManager sINM = INotificationManager.Stub.asInterface(
-            ServiceManager.getService(Context.NOTIFICATION_SERVICE));
-
-    private final Context mContext;
-
-    static ZenModesBackend getInstance(Context context) {
-        if (sInstance == null) {
-            sInstance = new ZenModesBackend(context.getApplicationContext());
-        }
-        return sInstance;
-    }
-
-    ZenModesBackend(Context context) {
-        mContext = context;
-        mNotificationManager = context.getSystemService(NotificationManager.class);
-    }
-
-    List<ZenMode> getModes() {
-        ArrayList<ZenMode> modes = new ArrayList<>();
-        ZenModeConfig currentConfig = mNotificationManager.getZenModeConfig();
-        modes.add(getManualDndMode(currentConfig));
-
-        Map<String, AutomaticZenRule> zenRules = mNotificationManager.getAutomaticZenRules();
-        for (Map.Entry<String, AutomaticZenRule> zenRuleEntry : zenRules.entrySet()) {
-            String ruleId = zenRuleEntry.getKey();
-            modes.add(new ZenMode(ruleId, zenRuleEntry.getValue(),
-                    isRuleActive(ruleId, currentConfig)));
-        }
-
-        modes.sort((l, r) -> {
-            if (l.isManualDnd()) {
-                return -1;
-            } else if (r.isManualDnd()) {
-                return 1;
-            }
-            return l.getRule().getName().compareTo(r.getRule().getName());
-        });
-
-        return modes;
-    }
-
-    @Nullable
-    ZenMode getMode(String id) {
-        ZenModeConfig currentConfig = mNotificationManager.getZenModeConfig();
-        if (ZenMode.MANUAL_DND_MODE_ID.equals(id)) {
-            return getManualDndMode(currentConfig);
-        } else {
-            AutomaticZenRule rule = mNotificationManager.getAutomaticZenRule(id);
-            if (rule == null) {
-                return null;
-            }
-            return new ZenMode(id, rule, isRuleActive(id, currentConfig));
-        }
-    }
-
-    public ParceledListSlice<ConversationChannelWrapper> getConversations(boolean onlyImportant) {
-        try {
-            return sINM.getConversations(onlyImportant);
-        } catch (Exception e) {
-            Log.w(TAG, "Error calling NoMan", e);
-            return ParceledListSlice.emptyList();
-        }
-    }
-
-    public List<String> getStarredContacts() {
-        Cursor cursor = null;
-        try {
-            cursor = queryStarredContactsData();
-            return getStarredContacts(cursor);
-        } finally {
-            if (cursor != null) {
-                cursor.close();
-            }
-        }
-    }
-
-    @VisibleForTesting
-    List<String> getStarredContacts(Cursor cursor) {
-        List<String> starredContacts = new ArrayList<>();
-        if (cursor != null && cursor.moveToFirst()) {
-            do {
-                String contact = cursor.getString(0);
-                starredContacts.add(contact != null ? contact :
-                        mContext.getString(R.string.zen_mode_starred_contacts_empty_name));
-
-            } while (cursor.moveToNext());
-        }
-        return starredContacts;
-    }
-
-    private Cursor queryStarredContactsData() {
-        return mContext.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,
-                new String[]{ContactsContract.Contacts.DISPLAY_NAME_PRIMARY},
-                ContactsContract.Data.STARRED + "=1", null,
-                ContactsContract.Data.TIMES_CONTACTED);
-    }
-
-    Cursor queryAllContactsData() {
-        return mContext.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,
-                new String[]{ContactsContract.Contacts.DISPLAY_NAME_PRIMARY},
-                null, null, null);
-    }
-
-    private ZenMode getManualDndMode(ZenModeConfig config) {
-        ZenModeConfig.ZenRule manualRule = config.manualRule;
-        // TODO: b/333682392 - Replace with final strings for name & trigger description
-        AutomaticZenRule manualDndRule = new AutomaticZenRule.Builder(
-                mContext.getString(R.string.zen_mode_settings_title), manualRule.conditionId)
-                .setType(manualRule.type)
-                .setZenPolicy(manualRule.zenPolicy)
-                .setDeviceEffects(manualRule.zenDeviceEffects)
-                .setManualInvocationAllowed(manualRule.allowManualInvocation)
-                .setConfigurationActivity(null) // No further settings
-                .setInterruptionFilter(NotificationManager.INTERRUPTION_FILTER_PRIORITY)
-                .build();
-
-        return ZenMode.manualDndMode(manualDndRule, config != null && config.isManualActive());
-    }
-
-    private static boolean isRuleActive(String id, ZenModeConfig config) {
-        if (config == null) {
-            // shouldn't happen if the config is coming from NM, but be safe
-            return false;
-        }
-        ZenModeConfig.ZenRule configRule = config.automaticRules.get(id);
-        return configRule != null && configRule.isAutomaticActive();
-    }
-
-    void updateMode(ZenMode mode) {
-        if (mode.isManualDnd()) {
-            try {
-                NotificationManager.Policy dndPolicy =
-                        new ZenModeConfig().toNotificationPolicy(mode.getPolicy());
-                mNotificationManager.setNotificationPolicy(dndPolicy, /* fromUser= */ true);
-
-                mNotificationManager.setManualZenRuleDeviceEffects(
-                        mode.getRule().getDeviceEffects());
-            } catch (Exception e) {
-                Log.w(TAG, "Error updating manual mode", e);
-            }
-        } else {
-            mNotificationManager.updateAutomaticZenRule(mode.getId(), mode.getRule(),
-                    /* fromUser= */ true);
-        }
-    }
-
-    void activateMode(ZenMode mode, @Nullable Duration forDuration) {
-        if (mode.isManualDnd()) {
-            Uri durationConditionId = null;
-            if (forDuration != null) {
-                durationConditionId = ZenModeConfig.toTimeCondition(mContext,
-                        (int) forDuration.toMinutes(), ActivityManager.getCurrentUser(), true).id;
-            }
-            mNotificationManager.setZenMode(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS,
-                    durationConditionId, TAG, /* fromUser= */ true);
-
-        } else {
-            if (forDuration != null) {
-                throw new IllegalArgumentException(
-                        "Only the manual DND mode can be activated for a specific duration");
-            }
-            mNotificationManager.setAutomaticZenRuleState(mode.getId(),
-                    new Condition(mode.getRule().getConditionId(), "", Condition.STATE_TRUE,
-                            Condition.SOURCE_USER_ACTION));
-        }
-    }
-
-    void deactivateMode(ZenMode mode) {
-        if (mode.isManualDnd()) {
-            // When calling with fromUser=true this will not snooze other modes.
-            mNotificationManager.setZenMode(Settings.Global.ZEN_MODE_OFF, null, TAG,
-                    /* fromUser= */ true);
-        } else {
-            // TODO: b/333527800 - This should (potentially) snooze the rule if it was active.
-            mNotificationManager.setAutomaticZenRuleState(mode.getId(),
-                    new Condition(mode.getRule().getConditionId(), "", Condition.STATE_FALSE,
-                            Condition.SOURCE_USER_ACTION));
-        }
-    }
-
-    void removeMode(ZenMode mode) {
-        if (!mode.canBeDeleted()) {
-            throw new IllegalArgumentException("Mode " + mode + " cannot be deleted!");
-        }
-        mNotificationManager.removeAutomaticZenRule(mode.getId(), /* fromUser= */ true);
-    }
-
-    /**
-     * Creates a new custom mode with the provided {@code name}. The mode will be "manual" (i.e.
-     * not have a schedule), this can be later updated by the user in the mode settings page.
-     *
-     * @return the created mode. Only {@code null} if creation failed due to an internal error
-     */
-    @Nullable
-    ZenMode addCustomMode(String name) {
-        ZenModeConfig.ScheduleInfo schedule = new ZenModeConfig.ScheduleInfo();
-        schedule.days = ZenModeConfig.ALL_DAYS;
-        schedule.startHour = 22;
-        schedule.endHour = 7;
-
-        // TODO: b/326442408 - Create as "manual" (i.e. no trigger) instead of schedule-time.
-        AutomaticZenRule rule = new AutomaticZenRule.Builder(name,
-                ZenModeConfig.toScheduleConditionId(schedule))
-                .setPackage(ZenModeConfig.getScheduleConditionProvider().getPackageName())
-                .setType(AutomaticZenRule.TYPE_SCHEDULE_CALENDAR)
-                .setOwner(ZenModeConfig.getScheduleConditionProvider())
-                .setTriggerDescription(SystemZenRules.getTriggerDescriptionForScheduleTime(
-                        mContext, schedule))
-                .setManualInvocationAllowed(true)
-                .build();
-
-        String ruleId = mNotificationManager.addAutomaticZenRule(rule);
-        return getMode(ruleId);
-    }
-}
diff --git a/src/com/android/settings/notification/modes/ZenModesFragmentBase.java b/src/com/android/settings/notification/modes/ZenModesFragmentBase.java
index 3f33b02..652415b 100644
--- a/src/com/android/settings/notification/modes/ZenModesFragmentBase.java
+++ b/src/com/android/settings/notification/modes/ZenModesFragmentBase.java
@@ -16,17 +16,17 @@
 
 package com.android.settings.notification.modes;
 
+import static com.google.common.base.Preconditions.checkNotNull;
+
 import android.annotation.NonNull;
-import android.annotation.Nullable;
 import android.content.Context;
-import android.database.ContentObserver;
-import android.net.Uri;
-import android.os.Handler;
 import android.os.UserManager;
-import android.provider.Settings.Global;
 import android.util.Log;
 
+import androidx.annotation.VisibleForTesting;
+
 import com.android.settings.dashboard.RestrictedDashboardFragment;
+import com.android.settingslib.notification.modes.ZenModesBackend;
 
 /**
  * Base class for all Settings pages controlling Modes behavior.
@@ -35,16 +35,10 @@
     protected static final String TAG = "ZenModesSettings";
     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 ZenModesBackend mBackend;
-
-    // Individual pages must implement this method based on what they should do when
-    // the device's zen mode state changes.
-    protected abstract void updateZenModeState();
+    protected ZenHelperBackend mHelperBackend;
+    private ZenSettingsObserver mSettingsObserver;
 
     ZenModesFragmentBase() {
         super(UserManager.DISALLOW_ADJUST_VOLUME);
@@ -55,12 +49,18 @@
         return TAG;
     }
 
+    @VisibleForTesting(otherwise = VisibleForTesting.NONE)
+    void setBackend(ZenModesBackend backend) {
+        mBackend = backend;
+    }
+
     @Override
     public void onAttach(@NonNull Context context) {
         mContext = context;
         mBackend = ZenModesBackend.getInstance(context);
+        mHelperBackend = ZenHelperBackend.getInstance(context);
+        mSettingsObserver = new ZenSettingsObserver(context, this::onUpdatedZenModeState);
         super.onAttach(context);
-        mSettingsObserver.register();
     }
 
     @Override
@@ -73,45 +73,20 @@
                 finish();
             }
         }
+
+        onUpdatedZenModeState(); // Maybe, while we weren't observing.
+        checkNotNull(mSettingsObserver).register();
     }
 
+    /**
+     * Called by this fragment when we know or suspect that Zen Modes data or state has changed.
+     * Individual pages must implement this method to refresh whatever they're displaying.
+     */
+    protected abstract void onUpdatedZenModeState();
+
     @Override
-    public void onResume() {
-        super.onResume();
-        updateZenModeState();
-    }
-
-    @Override
-    public void onDetach() {
-        super.onDetach();
-        mSettingsObserver.unregister();
-    }
-
-    private final class SettingsObserver extends ContentObserver {
-        private static final Uri ZEN_MODE_URI = Global.getUriFor(Global.ZEN_MODE);
-        private static 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, @Nullable Uri uri) {
-            super.onChange(selfChange, uri);
-            // Shouldn't have any other URIs trigger this method, but check just in case.
-            if (ZEN_MODE_URI.equals(uri) || ZEN_MODE_CONFIG_ETAG_URI.equals(uri)) {
-                updateZenModeState();
-            }
-        }
+    public void onStop() {
+        checkNotNull(mSettingsObserver).unregister();
+        super.onStop();
     }
 }
diff --git a/src/com/android/settings/notification/modes/ZenModesLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModesLinkPreferenceController.java
new file mode 100644
index 0000000..48a441a
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenModesLinkPreferenceController.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import android.app.Flags;
+import android.content.Context;
+import android.util.Log;
+
+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.notification.modes.ZenModesBackend;
+
+public class ZenModesLinkPreferenceController extends BasePreferenceController
+        implements LifecycleObserver, OnStart, OnStop {
+    private static final String TAG = "ModesLinkPrefController";
+
+    private final ZenModesBackend mBackend;
+    private final ZenSettingsObserver mSettingObserver;
+    private final ZenModeSummaryHelper mSummaryBuilder;
+
+    private Preference mPreference;
+
+    public ZenModesLinkPreferenceController(Context context, String key) {
+        super(context, key);
+        mBackend = ZenModesBackend.getInstance(context);
+        mSummaryBuilder = new ZenModeSummaryHelper(context, ZenHelperBackend.getInstance(context));
+        mSettingObserver = new ZenSettingsObserver(context, this::onZenSettingsChanged);
+    }
+
+    @Override
+    @AvailabilityStatus
+    public int getAvailabilityStatus() {
+        return Flags.modesUi() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+    }
+
+    @Override
+    public void onStart() {
+        if (mSettingObserver != null) {
+            mSettingObserver.register();
+        }
+    }
+
+    private void onZenSettingsChanged() {
+        if (mPreference != null) {
+            updateState(mPreference);
+        }
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        try {
+            preference.setSummary(mSummaryBuilder.getModesSummary(mBackend.getModes()));
+        } catch (SecurityException e) {
+            // Standard usage should have the correct permissions to read zen state. But if we don't
+            // for whatever reason, don't crash.
+            Log.w(TAG, "No permission to read mode state");
+        }
+    }
+
+    @Override
+    public void onStop() {
+        if (mSettingObserver != null) {
+            mSettingObserver.unregister();
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/modes/ZenModesListAddModePreferenceController.java b/src/com/android/settings/notification/modes/ZenModesListAddModePreferenceController.java
index c229fb1..b4657a3 100644
--- a/src/com/android/settings/notification/modes/ZenModesListAddModePreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModesListAddModePreferenceController.java
@@ -16,25 +16,82 @@
 
 package com.android.settings.notification.modes;
 
+import android.app.NotificationManager;
+import android.content.ComponentName;
 import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.ComponentInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ServiceInfo;
+import android.graphics.drawable.Drawable;
+import android.service.notification.ConditionProviderService;
 
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.annotation.WorkerThread;
 import androidx.preference.Preference;
 
-import com.android.settings.utils.ZenServiceListing;
+import com.android.settings.R;
+import com.android.settingslib.Utils;
 import com.android.settingslib.core.AbstractPreferenceController;
 
-import java.util.Random;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.util.concurrent.ListeningExecutorService;
+import com.google.common.util.concurrent.MoreExecutors;
+
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.List;
+import java.util.concurrent.Executor;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.function.Function;
 
 class ZenModesListAddModePreferenceController extends AbstractPreferenceController {
 
-    private final ZenModesBackend mBackend;
     private final ZenServiceListing mServiceListing;
+    private final OnAddModeListener mOnAddModeListener;
 
-    ZenModesListAddModePreferenceController(Context context, ZenModesBackend backend,
-            ZenServiceListing serviceListing) {
+    private final ConfigurationActivityHelper mConfigurationActivityHelper;
+    private final NotificationManager mNotificationManager;
+    private final PackageManager mPackageManager;
+    private final Function<ApplicationInfo, Drawable> mAppIconRetriever;
+    private final ListeningExecutorService mBackgroundExecutor;
+    private final Executor mUiThreadExecutor;
+
+    record ModeType(String name, Drawable icon, @Nullable String summary,
+                    @Nullable Intent creationActivityIntent) { }
+
+    interface OnAddModeListener {
+        void onAvailableModeTypesForAdd(List<ModeType> types);
+    }
+
+    ZenModesListAddModePreferenceController(Context context, OnAddModeListener onAddModeListener) {
+        this(context, onAddModeListener, new ZenServiceListing(context),
+                new ConfigurationActivityHelper(context.getPackageManager()),
+                context.getSystemService(NotificationManager.class), context.getPackageManager(),
+                applicationInfo -> Utils.getBadgedIcon(context, applicationInfo),
+                Executors.newCachedThreadPool(), context.getMainExecutor());
+    }
+
+    @VisibleForTesting
+    ZenModesListAddModePreferenceController(Context context,
+            OnAddModeListener onAddModeListener, ZenServiceListing serviceListing,
+            ConfigurationActivityHelper configurationActivityHelper,
+            NotificationManager notificationManager, PackageManager packageManager,
+            Function<ApplicationInfo, Drawable> appIconRetriever,
+            ExecutorService backgroundExecutor, Executor uiThreadExecutor) {
         super(context);
-        mBackend = backend;
+        mOnAddModeListener = onAddModeListener;
         mServiceListing = serviceListing;
+        mConfigurationActivityHelper = configurationActivityHelper;
+        mNotificationManager = notificationManager;
+        mPackageManager = packageManager;
+        mAppIconRetriever = appIconRetriever;
+        mBackgroundExecutor = MoreExecutors.listeningDecorator(backgroundExecutor);
+        mUiThreadExecutor = uiThreadExecutor;
     }
 
     @Override
@@ -50,12 +107,79 @@
     @Override
     public void updateState(Preference preference) {
         preference.setOnPreferenceClickListener(pref -> {
-            // TODO: b/326442408 - Launch the proper mode creation flow (using mServiceListing).
-            ZenMode mode = mBackend.addCustomMode("New mode #" + new Random().nextInt(1000));
-            if (mode != null) {
-                ZenSubSettingLauncher.forMode(mContext, mode.getId()).launch();
-            }
+            onClickAddMode();
             return true;
         });
     }
+
+    @VisibleForTesting
+    void onClickAddMode() {
+        FutureUtil.whenDone(
+                mBackgroundExecutor.submit(this::getModeProviders),
+                mOnAddModeListener::onAvailableModeTypesForAdd,
+                mUiThreadExecutor);
+    }
+
+    @WorkerThread
+    private ImmutableList<ModeType> getModeProviders() {
+        ImmutableSet<ComponentInfo> approvedComponents = mServiceListing.loadApprovedComponents();
+
+        ArrayList<ModeType> appProvidedModes = new ArrayList<>();
+        for (ComponentInfo ci: approvedComponents) {
+            ModeType modeType = getValidNewModeTypeFromComponent(ci);
+            if (modeType != null) {
+                appProvidedModes.add(modeType);
+            }
+        }
+
+        return ImmutableList.<ModeType>builder()
+                .add(new ModeType(
+                        mContext.getString(R.string.zen_mode_new_option_custom),
+                        mContext.getDrawable(R.drawable.ic_zen_mode_new_option_custom),
+                        null, null))
+                .addAll(appProvidedModes.stream()
+                        .sorted(Comparator.comparing(ModeType::name))
+                        .toList())
+                .build();
+    }
+
+    /**
+     * Returns a {@link ModeType} object corresponding to the approved {@link ComponentInfo} that
+     * specifies a creatable rule, if such a mode can actually be created (has an associated and
+     * enabled configuration activity, has not exceeded the rule instance limit, etc). Otherwise,
+     * returns {@code null}.
+     */
+    @WorkerThread
+    @Nullable
+    private ModeType getValidNewModeTypeFromComponent(ComponentInfo ci) {
+        if (ci.metaData == null) {
+            return null;
+        }
+
+        String ruleType = (ci instanceof ServiceInfo)
+                ? ci.metaData.getString(ConditionProviderService.META_DATA_RULE_TYPE)
+                : ci.metaData.getString(NotificationManager.META_DATA_AUTOMATIC_RULE_TYPE);
+        if (ruleType == null || ruleType.trim().isEmpty()) {
+            return null;
+        }
+
+        int ruleInstanceLimit = (ci instanceof ServiceInfo)
+                ? ci.metaData.getInt(ConditionProviderService.META_DATA_RULE_INSTANCE_LIMIT, -1)
+                : ci.metaData.getInt(NotificationManager.META_DATA_RULE_INSTANCE_LIMIT, -1);
+        if (ruleInstanceLimit > 0 && mNotificationManager.getRuleInstanceCount(
+                ci.getComponentName()) >= ruleInstanceLimit) {
+            return null; // Would exceed instance limit.
+        }
+
+        ComponentName configurationActivity =
+                mConfigurationActivityHelper.getConfigurationActivityFromApprovedComponent(ci);
+        if (configurationActivity == null) {
+            return null;
+        }
+
+        String appName = ci.applicationInfo.loadLabel(mPackageManager).toString();
+        Drawable appIcon = mAppIconRetriever.apply(ci.applicationInfo);
+        Intent configActivityIntent = new Intent().setComponent(configurationActivity);
+        return new ModeType(ruleType, appIcon, appName, configActivityIntent);
+    }
 }
diff --git a/src/com/android/settings/notification/modes/ZenModesListAddModeTypeChooserDialog.java b/src/com/android/settings/notification/modes/ZenModesListAddModeTypeChooserDialog.java
new file mode 100644
index 0000000..0bf9c5b
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenModesListAddModeTypeChooserDialog.java
@@ -0,0 +1,127 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.common.base.Preconditions.checkState;
+
+import android.app.Dialog;
+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 android.widget.ArrayAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+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;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.notification.modes.ZenModesListAddModePreferenceController.ModeType;
+
+import com.google.common.base.Strings;
+import com.google.common.collect.ImmutableList;
+
+import java.util.List;
+
+public class ZenModesListAddModeTypeChooserDialog extends InstrumentedDialogFragment {
+
+    private static final String TAG = "ZenModesListAddModeTypeChooserDialog";
+
+    private OnChooseModeTypeListener mChooseModeTypeListener;
+    private ImmutableList<ModeType> mOptions;
+
+    interface OnChooseModeTypeListener {
+        void onTypeSelected(ModeType type);
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.ZEN_MODE_NEW_TYPE_CHOOSER_DIALOG;
+    }
+
+    static void show(DashboardFragment parent,
+            OnChooseModeTypeListener onChooseModeTypeListener,
+            List<ModeType> options) {
+        ZenModesListAddModeTypeChooserDialog dialog = new ZenModesListAddModeTypeChooserDialog();
+        dialog.mChooseModeTypeListener = onChooseModeTypeListener;
+        dialog.mOptions = ImmutableList.copyOf(options);
+        dialog.setTargetFragment(parent, 0);
+        dialog.show(parent.getParentFragmentManager(), TAG);
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        if (mChooseModeTypeListener == null) {
+            // Probably the dialog fragment was recreated after its activity being destroyed.
+            // It's pointless to re-show the dialog if we can't do anything when its options are
+            // selected, so we don't.
+            dismiss();
+        }
+    }
+
+    @NonNull
+    @Override
+    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+        checkState(getContext() != null);
+        return new AlertDialog.Builder(getContext())
+                .setTitle(R.string.zen_mode_new_title)
+                .setAdapter(new OptionsAdapter(getContext(), mOptions),
+                        (dialog, which) -> mChooseModeTypeListener.onTypeSelected(
+                                mOptions.get(which)))
+                .setNegativeButton(R.string.cancel, null)
+                .create();
+    }
+
+    private static class OptionsAdapter extends ArrayAdapter<ModeType> {
+
+        private final LayoutInflater mInflater;
+
+        private OptionsAdapter(Context context,
+                ImmutableList<ModeType> availableModeProviders) {
+            super(context, R.layout.zen_mode_type_item, availableModeProviders);
+            mInflater = LayoutInflater.from(context);
+        }
+
+        @NonNull
+        @Override
+        public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
+            if (convertView == null) {
+                convertView = mInflater.inflate(R.layout.zen_mode_type_item, parent, false);
+            }
+            ImageView imageView = checkNotNull(convertView.findViewById(R.id.icon));
+            TextView title = checkNotNull(convertView.findViewById(R.id.title));
+            TextView subtitle = checkNotNull(convertView.findViewById(R.id.subtitle));
+
+            ModeType option = checkNotNull(getItem(position));
+            imageView.setImageDrawable(option.icon());
+            title.setText(option.name());
+            subtitle.setText(option.summary());
+            subtitle.setVisibility(
+                    Strings.isNullOrEmpty(option.summary()) ? View.GONE : View.VISIBLE);
+
+            return convertView;
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/modes/ZenModesListFragment.java b/src/com/android/settings/notification/modes/ZenModesListFragment.java
index 80678f6..37772b3 100644
--- a/src/com/android/settings/notification/modes/ZenModesListFragment.java
+++ b/src/com/android/settings/notification/modes/ZenModesListFragment.java
@@ -16,54 +16,60 @@
 
 package com.android.settings.notification.modes;
 
-import android.app.NotificationManager;
 import android.app.settings.SettingsEnums;
+import android.content.ComponentName;
 import android.content.Context;
-import android.service.notification.ConditionProviderService;
+import android.content.Intent;
 
 import androidx.annotation.Nullable;
-import androidx.fragment.app.Fragment;
+import androidx.annotation.VisibleForTesting;
+import androidx.lifecycle.Lifecycle;
 
 import com.android.settings.R;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.notification.modes.ZenModesListAddModePreferenceController.ModeType;
+import com.android.settings.notification.modes.ZenModesListAddModePreferenceController.OnAddModeListener;
 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.notification.modes.ZenIconLoader;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
 import com.android.settingslib.search.SearchIndexable;
 
 import com.google.common.collect.ImmutableList;
 
 import java.util.List;
+import java.util.Optional;
 
 @SearchIndexable
 public class ZenModesListFragment extends ZenModesFragmentBase {
 
-    private static final ManagedServiceSettings.Config CONFIG = getConditionProviderConfig();
+    static final int REQUEST_NEW_MODE = 101;
+
+    @Nullable private ComponentName mActivityInvokedForAddNew;
+    @Nullable private ImmutableList<String> mZenModeIdsBeforeAddNew;
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        ZenServiceListing serviceListing = new ZenServiceListing(getContext(), CONFIG);
-        serviceListing.reloadApprovedServices();
-        return buildPreferenceControllers(context, this, serviceListing);
+        return buildPreferenceControllers(context, mBackend, this::onAvailableModeTypesForAdd);
     }
 
     private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
-            @Nullable Fragment parent, @Nullable ZenServiceListing serviceListing) {
-        // We need to redefine ZenModesBackend here even though mBackend exists so that this method
-        // can be static; it must be static to be able to be used in SEARCH_INDEX_DATA_PROVIDER.
-        ZenModesBackend backend = ZenModesBackend.getInstance(context);
-
+            ZenModesBackend backend, OnAddModeListener onAddModeListener) {
         return ImmutableList.of(
-                new ZenModesListPreferenceController(context, parent, backend),
-                new ZenModesListAddModePreferenceController(context, backend, serviceListing)
+                new ZenModesListPreferenceController(context, backend, ZenIconLoader.getInstance()),
+                new ZenModesListAddModePreferenceController(context, onAddModeListener)
         );
     }
 
     @Override
-    protected void updateZenModeState() {
-        // TODO: b/322373473 -- update any overall description of modes state here if necessary.
-        // Note the preferences linking to individual rules do not need to be updated, as
-        // updateState() is called on all preference controllers whenever the page is resumed.
+    protected void onUpdatedZenModeState() {
+        // Preferences linking to individual rules do not need to be updated as part of onStart(),
+        // because DashboardFragment does that in onResume(). However, we force the update if we
+        // detect Modes changes in the background with the page open.
+        if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.RESUMED)) {
+            forceUpdatePreferences();
+        }
     }
 
     @Override
@@ -73,18 +79,58 @@
 
     @Override
     public int getMetricsCategory() {
-        // TODO: b/332937635 - add new & set metrics categories correctly
-        return SettingsEnums.NOTIFICATION_ZEN_MODE_AUTOMATION;
+        return SettingsEnums.ZEN_PRIORITY_MODES_LIST;
     }
 
-    private 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 void onAvailableModeTypesForAdd(List<ModeType> types) {
+        if (types.size() > 1) {
+            // Show dialog to choose the mode to be created. Continue once the user chooses.
+            ZenModesListAddModeTypeChooserDialog.show(this, this::onChosenModeTypeForAdd, types);
+        } else {
+            // Will be custom_manual.
+            onChosenModeTypeForAdd(types.get(0));
+        }
+    }
+
+    @VisibleForTesting
+    void onChosenModeTypeForAdd(ModeType type) {
+        if (type.creationActivityIntent() != null) {
+            mActivityInvokedForAddNew = type.creationActivityIntent().getComponent();
+            mZenModeIdsBeforeAddNew = ImmutableList.copyOf(
+                    mBackend.getModes().stream().map(ZenMode::getId).toList());
+            startActivityForResult(type.creationActivityIntent(), REQUEST_NEW_MODE);
+        } else {
+            // Custom-manual mode -> "add a mode" screen.
+            new SubSettingLauncher(requireContext())
+                    .setDestination(ZenModeNewCustomFragment.class.getName())
+                    .setSourceMetricsCategory(SettingsEnums.ZEN_PRIORITY_MODES_LIST)
+                    .launch();
+        }
+    }
+
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        // If coming back after starting a 3rd-party configuration activity to create a new mode,
+        // try to identify the created mode. Ideally this would be part of the resultCode/data, but
+        // the existing API doesn't work that way...
+        ComponentName activityInvoked = mActivityInvokedForAddNew;
+        ImmutableList<String> previousIds = mZenModeIdsBeforeAddNew;
+        mActivityInvokedForAddNew = null;
+        mZenModeIdsBeforeAddNew = null;
+        if (requestCode != REQUEST_NEW_MODE || previousIds == null || activityInvoked == null) {
+            return;
+        }
+
+        // If we find a new mode owned by the same package, presumably that's it. Open its page.
+        Optional<ZenMode> createdZenMode = mBackend.getModes().stream()
+                .filter(m -> !previousIds.contains(m.getId()))
+                .filter(m -> m.getRule().getPackageName().equals(activityInvoked.getPackageName()))
+                .findFirst();
+        createdZenMode.ifPresent(
+                mode ->
+                        ZenSubSettingLauncher.forModeFragment(mContext, ZenModeFragment.class,
+                                mode.getId(), getMetricsCategory()).launch());
     }
 
     /**
@@ -105,7 +151,10 @@
                 @Override
                 public List<AbstractPreferenceController> createPreferenceControllers(
                         Context context) {
-                    return buildPreferenceControllers(context, null, null);
+                    // We need to redefine ZenModesBackend here even though mBackend exists so that
+                    // SEARCH_INDEX_DATA_PROVIDER can be static.
+                    return buildPreferenceControllers(context, ZenModesBackend.getInstance(context),
+                            ignoredType -> {});
                 }
             };
 }
diff --git a/src/com/android/settings/notification/modes/ZenModesListItemPreference.java b/src/com/android/settings/notification/modes/ZenModesListItemPreference.java
index 7ecfb3a..0909c6f 100644
--- a/src/com/android/settings/notification/modes/ZenModesListItemPreference.java
+++ b/src/com/android/settings/notification/modes/ZenModesListItemPreference.java
@@ -15,39 +15,121 @@
  */
 package com.android.settings.notification.modes;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
+import android.widget.TextView;
 
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
 import com.android.settingslib.RestrictedPreference;
+import com.android.settingslib.Utils;
+import com.android.settingslib.notification.modes.ZenIconLoader;
+import com.android.settingslib.notification.modes.ZenMode;
+
+import com.google.common.base.Strings;
+
+import java.util.concurrent.Executor;
 
 /**
  * Preference representing a single mode item on the modes aggregator page. Clicking on this
  * preference leads to an individual mode's configuration page.
  */
 class ZenModesListItemPreference extends RestrictedPreference {
-    final Context mContext;
-    ZenMode mZenMode;
 
-    ZenModesListItemPreference(Context context, ZenMode zenMode) {
+    private final Context mContext;
+    private final ZenIconLoader mIconLoader;
+    private final Executor mUiExecutor;
+    private ZenMode mZenMode;
+
+    private TextView mTitleView;
+    private TextView mSummaryView;
+
+    ZenModesListItemPreference(Context context, ZenIconLoader iconLoader, ZenMode zenMode) {
+        this(context, iconLoader, context.getMainExecutor(), zenMode);
+    }
+
+    @VisibleForTesting
+    ZenModesListItemPreference(Context context, ZenIconLoader iconLoader, Executor uiExecutor,
+            ZenMode zenMode) {
         super(context);
         mContext = context;
+        mIconLoader = iconLoader;
+        mUiExecutor = uiExecutor;
         setZenMode(zenMode);
         setKey(zenMode.getId());
     }
 
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+        if (holder.findViewById(android.R.id.title) instanceof TextView titleView) {
+            mTitleView = titleView;
+        }
+        if (holder.findViewById(android.R.id.summary) instanceof TextView summaryView) {
+            mSummaryView = summaryView;
+        }
+        updateTextColor(mZenMode);
+    }
+
     @Override
     public void onClick() {
-        ZenSubSettingLauncher.forMode(mContext, mZenMode.getId()).launch();
+        ZenSubSettingLauncher.forModeFragment(mContext, ZenModeFragment.class, mZenMode.getId(),
+                SettingsEnums.ZEN_PRIORITY_MODES_LIST).launch();
     }
 
     public void setZenMode(ZenMode zenMode) {
+        ZenMode previous = mZenMode;
         mZenMode = zenMode;
-        setTitle(mZenMode.getRule().getName());
-        setSummary(mZenMode.getRule().getTriggerDescription());
-        setIconSize(ICON_SIZE_SMALL);
+        if (zenMode.equals(previous)) {
+            return;
+        }
 
+        setTitle(mZenMode.getName());
+        String dynamicDescription = zenMode.getDynamicDescription(mContext);
+        CharSequence statusText = switch (mZenMode.getStatus()) {
+            case ENABLED_AND_ACTIVE ->
+                    Strings.isNullOrEmpty(dynamicDescription)
+                            ? mContext.getString(R.string.zen_mode_active_text)
+                            : mContext.getString(
+                                    R.string.zen_mode_format_status_and_trigger,
+                                    mContext.getString(R.string.zen_mode_active_text),
+                                    dynamicDescription);
+            case ENABLED -> dynamicDescription;
+            case DISABLED_BY_USER -> mContext.getString(R.string.zen_mode_disabled_by_user);
+            case DISABLED_BY_OTHER -> mContext.getString(R.string.zen_mode_disabled_needs_setup);
+        };
+        setSummary(statusText);
+
+        setIconSize(ICON_SIZE_SMALL);
         FutureUtil.whenDone(
-                mZenMode.getIcon(mContext, IconLoader.getInstance()),
-                icon -> setIcon(IconUtil.applyTint(mContext, icon)),
-                mContext.getMainExecutor());
+                mIconLoader.getIcon(mContext, mZenMode),
+                icon -> setIcon(
+                        zenMode.isActive()
+                                ? IconUtil.applyAccentTint(mContext, icon.drawable())
+                                : IconUtil.applyNormalTint(mContext, icon.drawable())),
+                mUiExecutor);
+
+        updateTextColor(zenMode);
+    }
+
+    private void updateTextColor(@Nullable ZenMode zenMode) {
+        boolean isActive = zenMode != null && zenMode.isActive();
+        if (mTitleView != null) {
+            mTitleView.setTextColor(Utils.getColorAttr(mContext,
+                    isActive ? android.R.attr.colorAccent : android.R.attr.textColorPrimary));
+        }
+        if (mSummaryView != null) {
+            mSummaryView.setTextColor(Utils.getColorAttr(mContext,
+                    isActive ? android.R.attr.colorAccent : android.R.attr.textColorSecondary));
+        }
+    }
+
+    @VisibleForTesting(otherwise = VisibleForTesting.NONE)
+    ZenMode getZenMode() {
+        return mZenMode;
     }
 }
diff --git a/src/com/android/settings/notification/modes/ZenModesListPreferenceController.java b/src/com/android/settings/notification/modes/ZenModesListPreferenceController.java
index 5dcd9eb..75d4ee3 100644
--- a/src/com/android/settings/notification/modes/ZenModesListPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModesListPreferenceController.java
@@ -20,13 +20,14 @@
 import android.content.res.Resources;
 
 import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.notification.modes.ZenIconLoader;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
 import com.android.settingslib.search.SearchIndexableRaw;
 
 import java.util.HashMap;
@@ -38,23 +39,18 @@
  * containing links to each individual mode. This is a central controller that populates and updates
  * all the preferences that then lead to a mode configuration page.
  */
-class ZenModesListPreferenceController extends BasePreferenceController {
+class ZenModesListPreferenceController extends BasePreferenceController
+        implements BasePreferenceController.UiBlocker {
     protected static final String KEY = "zen_modes_list";
 
-    @Nullable
-    protected Fragment mParent;
-    protected ZenModesBackend mBackend;
+    private final ZenModesBackend mBackend;
+    private final ZenIconLoader mIconLoader;
 
-    public ZenModesListPreferenceController(Context context, @Nullable Fragment parent,
-            @NonNull ZenModesBackend backend) {
+    ZenModesListPreferenceController(Context context, @NonNull ZenModesBackend backend, @NonNull
+            ZenIconLoader iconLoader) {
         super(context, KEY);
-        mParent = parent;
         mBackend = backend;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
+        mIconLoader = iconLoader;
     }
 
     @Override
@@ -90,7 +86,7 @@
                 modePreference.setZenMode(mode);
             } else {
                 // new rule; create a new ZenRulePreference & add it to the preference category
-                modePreference = new ZenModesListItemPreference(mContext, mode);
+                modePreference = new ZenModesListItemPreference(mContext, mIconLoader, mode);
                 category.addPreference(modePreference);
             }
             modePreference.setOrder(modes.indexOf(mode));
@@ -101,6 +97,8 @@
         for (String key : originalPreferences.keySet()) {
             category.removePreferenceRecursively(key);
         }
+
+        setUiBlockerFinished(true);
     }
 
     // Provide search data for the modes, which will allow users to reach the modes page if they
@@ -120,7 +118,7 @@
         for (ZenMode mode : mBackend.getModes()) {
             SearchIndexableRaw data = new SearchIndexableRaw(mContext);
             data.key = mode.getId();
-            data.title = mode.getRule().getName();
+            data.title = mode.getName();
             data.screenTitle = res.getString(R.string.zen_modes_list_title);
             rawData.add(data);
         }
diff --git a/src/com/android/settings/notification/modes/ZenServiceListing.java b/src/com/android/settings/notification/modes/ZenServiceListing.java
new file mode 100644
index 0000000..ccecec5
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenServiceListing.java
@@ -0,0 +1,170 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.settings.notification.modes;
+
+import android.app.ActivityManager;
+import android.app.NotificationManager;
+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.ResolveInfo;
+import android.content.pm.ServiceInfo;
+import android.service.notification.ConditionProviderService;
+import android.util.ArraySet;
+import android.util.Slog;
+
+import androidx.annotation.Nullable;
+import androidx.annotation.WorkerThread;
+
+import com.android.settings.utils.ManagedServiceSettings;
+
+import com.google.common.collect.ImmutableSet;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+class ZenServiceListing {
+
+    static final ManagedServiceSettings.Config CONFIGURATION =
+            new ManagedServiceSettings.Config.Builder()
+                    .setTag("ZenServiceListing")
+                    .setIntentAction(ConditionProviderService.SERVICE_INTERFACE)
+                    .setConfigurationIntentAction(NotificationManager.ACTION_AUTOMATIC_ZEN_RULE)
+                    .setPermission(android.Manifest.permission.BIND_CONDITION_PROVIDER_SERVICE)
+                    .setNoun("condition provider")
+                    .build();
+
+    private final Context mContext;
+    private final Set<ComponentInfo> mApprovedComponents = new ArraySet<>();
+    private final List<Callback> mZenCallbacks = new ArrayList<>();
+    private final NotificationManager mNm;
+
+    ZenServiceListing(Context context) {
+        mContext = context;
+        mNm = context.getSystemService(NotificationManager.class);
+    }
+
+    public ComponentInfo findService(final ComponentName cn) {
+        if (cn == null) {
+            return null;
+        }
+        for (ComponentInfo component : mApprovedComponents) {
+            final ComponentName ci = new ComponentName(component.packageName, component.name);
+            if (ci.equals(cn)) {
+                return component;
+            }
+        }
+        return null;
+    }
+
+    public void addZenCallback(Callback callback) {
+        mZenCallbacks.add(callback);
+    }
+
+    public void removeZenCallback(Callback callback) {
+        mZenCallbacks.remove(callback);
+    }
+
+    @WorkerThread
+    public ImmutableSet<ComponentInfo> loadApprovedComponents() {
+        return loadApprovedComponents(null);
+    }
+
+    @WorkerThread
+    public ImmutableSet<ComponentInfo> loadApprovedComponents(@Nullable String restrictToPkg) {
+        mApprovedComponents.clear();
+
+        List<String> enabledNotificationListenerPkgs = mNm.getEnabledNotificationListenerPackages();
+        List<ComponentInfo> components = new ArrayList<>();
+        getServices(CONFIGURATION, components, mContext.getPackageManager(), restrictToPkg);
+        getActivities(CONFIGURATION, components, mContext.getPackageManager(), restrictToPkg);
+        for (ComponentInfo componentInfo : components) {
+            final String pkg = componentInfo.getComponentName().getPackageName();
+            if (mNm.isNotificationPolicyAccessGrantedForPackage(pkg)
+                    || enabledNotificationListenerPkgs.contains(pkg)) {
+                mApprovedComponents.add(componentInfo);
+            }
+        }
+
+        if (!mApprovedComponents.isEmpty()) {
+            for (Callback callback : mZenCallbacks) {
+                callback.onComponentsReloaded(mApprovedComponents);
+            }
+        }
+
+        return ImmutableSet.copyOf(mApprovedComponents);
+    }
+
+    private static void getServices(ManagedServiceSettings.Config c, List<ComponentInfo> list,
+            PackageManager pm, @Nullable String restrictToPkg) {
+        final int user = ActivityManager.getCurrentUser();
+
+        Intent queryIntent = new Intent(c.intentAction);
+        if (restrictToPkg != null) {
+            queryIntent.setPackage(restrictToPkg);
+        }
+        List<ResolveInfo> installedServices = pm.queryIntentServicesAsUser(
+                queryIntent,
+                PackageManager.GET_SERVICES | PackageManager.GET_META_DATA,
+                user);
+
+        for (int i = 0, count = installedServices.size(); i < count; i++) {
+            ResolveInfo resolveInfo = installedServices.get(i);
+            ServiceInfo info = resolveInfo.serviceInfo;
+
+            if (!c.permission.equals(info.permission)) {
+                Slog.w(c.tag, "Skipping " + c.noun + " service "
+                        + info.packageName + "/" + info.name
+                        + ": it does not require the permission "
+                        + c.permission);
+                continue;
+            }
+            if (list != null) {
+                list.add(info);
+            }
+        }
+    }
+
+    private static void getActivities(ManagedServiceSettings.Config c, List<ComponentInfo> list,
+            PackageManager pm, @Nullable String restrictToPkg) {
+        final int user = ActivityManager.getCurrentUser();
+
+        Intent queryIntent = new Intent(c.configIntentAction);
+        if (restrictToPkg != null) {
+            queryIntent.setPackage(restrictToPkg);
+        }
+        List<ResolveInfo> resolveInfos = pm.queryIntentActivitiesAsUser(
+                queryIntent,
+                PackageManager.GET_ACTIVITIES | PackageManager.GET_META_DATA,
+                user);
+
+        for (int i = 0, count = resolveInfos.size(); i < count; i++) {
+            ResolveInfo resolveInfo = resolveInfos.get(i);
+            ActivityInfo info = resolveInfo.activityInfo;
+            if (list != null) {
+                list.add(info);
+            }
+        }
+    }
+
+    public interface Callback {
+        void onComponentsReloaded(Set<ComponentInfo> components);
+    }
+}
diff --git a/src/com/android/settings/notification/modes/ZenSettingsObserver.java b/src/com/android/settings/notification/modes/ZenSettingsObserver.java
new file mode 100644
index 0000000..0f22d7d
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenSettingsObserver.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import android.app.Flags;
+import android.content.Context;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.provider.Settings;
+
+import androidx.annotation.Nullable;
+
+class ZenSettingsObserver extends ContentObserver {
+    private static final Uri ZEN_MODE_URI = Settings.Global.getUriFor(Settings.Global.ZEN_MODE);
+    private static final Uri ZEN_MODE_CONFIG_ETAG_URI = Settings.Global.getUriFor(
+            Settings.Global.ZEN_MODE_CONFIG_ETAG);
+
+    private final Context mContext;
+    @Nullable private Runnable mCallback;
+
+    ZenSettingsObserver(Context context) {
+        this(context, null);
+    }
+
+    ZenSettingsObserver(Context context, @Nullable Runnable callback) {
+        super(context.getMainExecutor(), 0);
+        mContext = context;
+        setOnChangeListener(callback);
+    }
+
+    void register() {
+        if (Flags.modesApi() && Flags.modesUi()) {
+            mContext.getContentResolver().registerContentObserver(ZEN_MODE_URI, false, this);
+            mContext.getContentResolver().registerContentObserver(ZEN_MODE_CONFIG_ETAG_URI, false,
+                    this);
+        }
+    }
+
+    void unregister() {
+        if (Flags.modesApi() && Flags.modesUi()) {
+            mContext.getContentResolver().unregisterContentObserver(this);
+        }
+    }
+
+    void setOnChangeListener(@Nullable Runnable callback) {
+        mCallback = callback;
+    }
+
+    @Override
+    public void onChange(boolean selfChange, @Nullable Uri uri) {
+        super.onChange(selfChange, uri);
+        // Shouldn't have any other URIs trigger this method, but check just in case.
+        if (ZEN_MODE_URI.equals(uri) || ZEN_MODE_CONFIG_ETAG_URI.equals(uri)) {
+            if (mCallback != null) {
+                mCallback.run();
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/modes/ZenSubSettingLauncher.java b/src/com/android/settings/notification/modes/ZenSubSettingLauncher.java
index 11f3492..c02a9d9 100644
--- a/src/com/android/settings/notification/modes/ZenSubSettingLauncher.java
+++ b/src/com/android/settings/notification/modes/ZenSubSettingLauncher.java
@@ -16,24 +16,20 @@
 
 package com.android.settings.notification.modes;
 
-import android.app.settings.SettingsEnums;
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
+
 import android.content.Context;
 import android.os.Bundle;
 
 import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.dashboard.DashboardFragment;
 
 class ZenSubSettingLauncher {
-
-    static SubSettingLauncher forMode(Context context, String modeId) {
-        return forModeFragment(context, ZenModeFragment.class, modeId,
-                SettingsEnums.NOTIFICATION_ZEN_MODE_AUTOMATION);
-    }
-
-    private static SubSettingLauncher forModeFragment(Context context,
-            Class<? extends ZenModeFragmentBase> fragmentClass, String modeId,
+    static SubSettingLauncher forModeFragment(Context context,
+            Class<? extends DashboardFragment> fragmentClass, String modeId,
             int sourceMetricsCategory) {
         Bundle bundle = new Bundle();
-        bundle.putString(ZenModeFragmentBase.MODE_ID, modeId);
+        bundle.putString(EXTRA_AUTOMATIC_ZEN_RULE_ID, modeId);
 
         return new SubSettingLauncher(context)
                 .setDestination(fragmentClass.getName())
diff --git a/src/com/android/settings/notification/zen/SettingsZenDurationDialog.java b/src/com/android/settings/notification/zen/SettingsZenDurationDialog.java
index c8d6eb9..bb83a73 100644
--- a/src/com/android/settings/notification/zen/SettingsZenDurationDialog.java
+++ b/src/com/android/settings/notification/zen/SettingsZenDurationDialog.java
@@ -21,13 +21,13 @@
 import android.os.Bundle;
 
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.notification.modes.ZenDurationDialog;
 
 public class SettingsZenDurationDialog extends InstrumentedDialogFragment {
 
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
-        return new com.android.settingslib.notification.ZenDurationDialog(
-                getContext()).createDialog();
+        return new ZenDurationDialog(getContext()).createDialog();
     }
 
     @Override
diff --git a/src/com/android/settings/notification/zen/ZenAccessSettings.java b/src/com/android/settings/notification/zen/ZenAccessSettings.java
index f765d6d..4b598db 100644
--- a/src/com/android/settings/notification/zen/ZenAccessSettings.java
+++ b/src/com/android/settings/notification/zen/ZenAccessSettings.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.notification.zen;
 
+import android.app.Flags;
 import android.app.NotificationManager;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
@@ -68,6 +69,9 @@
         mContext = getActivity();
         mPkgMan = mContext.getPackageManager();
         mNoMan = mContext.getSystemService(NotificationManager.class);
+        requireActivity().setTitle(Flags.modesApi() && Flags.modesUi()
+                ? R.string.manage_zen_modes_access_title
+                : R.string.manage_zen_access_title);
         getSettingsLifecycle().addObserver(
                 new ZenAccessSettingObserverMixin(getContext(), this /* listener */));
     }
@@ -75,7 +79,9 @@
     @Override
     public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
-        setEmptyText(R.string.zen_access_empty_text);
+        setEmptyText(Flags.modesApi() && Flags.modesUi()
+                ? R.string.zen_modes_access_empty_text
+                : R.string.zen_access_empty_text);
     }
 
     @Override
@@ -139,7 +145,9 @@
             pref.setOnPreferenceClickListener(preference -> {
                 AppInfoBase.startAppInfoFragment(
                         ZenAccessDetails.class  /* fragment */,
-                        getString(R.string.manage_zen_access_title) /* titleRes */,
+                        getString(Flags.modesApi() && Flags.modesUi()
+                                ? R.string.manage_zen_modes_access_title
+                                : R.string.manage_zen_access_title),
                         pkg,
                         app.uid,
                         this /* source */,
@@ -154,7 +162,7 @@
 
     /**
      * @return the summary for the current state of whether the app associated with the given
-     * {@param packageName} is allowed to enter picture-in-picture.
+     * {@param packageName} is allowed to manage DND / Priority Modes.
      */
     private int getPreferenceSummary(String packageName) {
         final boolean enabled = ZenAccessController.hasAccess(getContext(), packageName);
diff --git a/src/com/android/settings/notification/zen/ZenDurationDialogPreference.java b/src/com/android/settings/notification/zen/ZenDurationDialogPreference.java
index 11def66..f243a51 100644
--- a/src/com/android/settings/notification/zen/ZenDurationDialogPreference.java
+++ b/src/com/android/settings/notification/zen/ZenDurationDialogPreference.java
@@ -23,7 +23,7 @@
 import androidx.appcompat.app.AlertDialog;
 
 import com.android.settingslib.CustomDialogPreferenceCompat;
-import com.android.settingslib.notification.ZenDurationDialog;
+import com.android.settingslib.notification.modes.ZenDurationDialog;
 
 public class ZenDurationDialogPreference extends CustomDialogPreferenceCompat {
 
diff --git a/src/com/android/settings/notification/zen/ZenModeBackend.java b/src/com/android/settings/notification/zen/ZenModeBackend.java
index 426f52d..de641c5 100644
--- a/src/com/android/settings/notification/zen/ZenModeBackend.java
+++ b/src/com/android/settings/notification/zen/ZenModeBackend.java
@@ -116,7 +116,7 @@
                 ActivityManager.getCurrentUser(), true).id;
         if (android.app.Flags.modesApi()) {
             mNotificationManager.setZenMode(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS,
-                        conditionId, TAG, /* fromUser= */ true);
+                    conditionId, TAG, /* fromUser= */ true);
         } else {
             mNotificationManager.setZenMode(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS,
                     conditionId, TAG);
@@ -241,12 +241,14 @@
         }
 
         savePolicy(getNewDefaultPriorityCategories(allowSenders, category),
-            priorityCallSenders, priorityMessagesSenders, mPolicy.suppressedVisualEffects,
+                priorityCallSenders, priorityMessagesSenders, mPolicy.suppressedVisualEffects,
                 mPolicy.priorityConversationSenders);
 
-        if (ZenModeSettingsBase.DEBUG) Log.d(TAG, "onPrefChange allow" +
-                stringCategory + "=" + allowSenders + " allow" + stringCategory + "From="
-                + ZenModeConfig.sourceToString(allowSendersFrom));
+        if (ZenModeSettingsBase.DEBUG) {
+            Log.d(TAG, "onPrefChange allow"
+                    + stringCategory + "=" + allowSenders + " allow" + stringCategory + "From="
+                    + ZenModeConfig.sourceToString(allowSendersFrom));
+        }
     }
 
     protected void saveConversationSenders(int val) {
@@ -280,7 +282,7 @@
         switch (contactType) {
             case ZenPolicy.PEOPLE_TYPE_ANYONE:
                 return ZEN_MODE_FROM_ANYONE;
-            case  ZenPolicy.PEOPLE_TYPE_CONTACTS:
+            case ZenPolicy.PEOPLE_TYPE_CONTACTS:
                 return ZEN_MODE_FROM_CONTACTS;
             case ZenPolicy.PEOPLE_TYPE_STARRED:
                 return ZEN_MODE_FROM_STARRED;
@@ -308,7 +310,7 @@
         switch (setting) {
             case ZenPolicy.PEOPLE_TYPE_ANYONE:
                 return NotificationManager.Policy.PRIORITY_SENDERS_ANY;
-            case  ZenPolicy.PEOPLE_TYPE_CONTACTS:
+            case ZenPolicy.PEOPLE_TYPE_CONTACTS:
                 return NotificationManager.Policy.PRIORITY_SENDERS_CONTACTS;
             case ZenPolicy.PEOPLE_TYPE_STARRED:
                 return NotificationManager.Policy.PRIORITY_SENDERS_STARRED;
@@ -321,7 +323,7 @@
     protected int getAlarmsTotalSilencePeopleSummary(int category) {
         if (category == NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES) {
             return R.string.zen_mode_none_messages;
-        } else if (category == NotificationManager.Policy.PRIORITY_CATEGORY_CALLS){
+        } else if (category == NotificationManager.Policy.PRIORITY_CATEGORY_CALLS) {
             return R.string.zen_mode_none_calls;
         } else if (category == NotificationManager.Policy.PRIORITY_CATEGORY_CONVERSATIONS) {
             return R.string.zen_mode_from_no_conversations;
@@ -470,8 +472,8 @@
         if (cursor != null && cursor.moveToFirst()) {
             do {
                 String contact = cursor.getString(0);
-                starredContacts.add(contact != null ? contact :
-                        mContext.getString(R.string.zen_mode_starred_contacts_empty_name));
+                int emptyNameId = R.string.zen_mode_starred_contacts_empty_name;
+                starredContacts.add(contact != null ? contact : mContext.getString(emptyNameId));
 
             } while (cursor.moveToNext());
         }
diff --git a/src/com/android/settings/notification/zen/ZenModePreferenceController.java b/src/com/android/settings/notification/zen/ZenModePreferenceController.java
index 7c36d80..c21bc3b 100644
--- a/src/com/android/settings/notification/zen/ZenModePreferenceController.java
+++ b/src/com/android/settings/notification/zen/ZenModePreferenceController.java
@@ -28,9 +28,7 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
-import com.android.settings.notification.modes.ZenModesListFragment;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnPause;
 import com.android.settingslib.core.lifecycle.events.OnResume;
@@ -51,7 +49,6 @@
         super.displayPreference(screen);
         Preference preference = screen.findPreference(getPreferenceKey());
         mSettingObserver = new SettingObserver(preference);
-        maybeSetTitleAndDestination(preference);
     }
 
     @Override
@@ -70,28 +67,17 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AVAILABLE_UNSEARCHABLE;
+        return Flags.modesUi() ? UNSUPPORTED_ON_DEVICE : AVAILABLE_UNSEARCHABLE;
     }
 
     @Override
     public void updateState(Preference preference) {
         super.updateState(preference);
-        maybeSetTitleAndDestination(preference);
         if (preference.isEnabled()) {
             preference.setSummary(mSummaryBuilder.getSoundSummary());
         }
     }
 
-    // Only when modes_ui is active: change title & target fragment.
-    private void maybeSetTitleAndDestination(Preference preference) {
-        if (!Flags.modesUi()) {
-            return;
-        }
-
-        preference.setTitle(R.string.zen_modes_list_title);
-        preference.setFragment(ZenModesListFragment.class.getCanonicalName());
-    }
-
     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(
diff --git a/src/com/android/settings/notification/zen/ZenModeSliceBuilder.java b/src/com/android/settings/notification/zen/ZenModeSliceBuilder.java
index 4f6f058..d16b1e4 100644
--- a/src/com/android/settings/notification/zen/ZenModeSliceBuilder.java
+++ b/src/com/android/settings/notification/zen/ZenModeSliceBuilder.java
@@ -132,8 +132,8 @@
         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, R.string.menu_key_notifications)
+                        ZenModeSettings.class.getName(), ZEN_MODE_SLICE_KEY, screenTitle,
+                        SettingsEnums.NOTIFICATION_ZEN_MODE, R.string.menu_key_notifications)
                 .setClassName(context.getPackageName(), SubSettings.class.getName())
                 .setData(contentUri);
     }
diff --git a/src/com/android/settings/onboarding/OnboardingFeatureProvider.kt b/src/com/android/settings/onboarding/OnboardingFeatureProvider.kt
index f76e29a..58afb25 100644
--- a/src/com/android/settings/onboarding/OnboardingFeatureProvider.kt
+++ b/src/com/android/settings/onboarding/OnboardingFeatureProvider.kt
@@ -39,4 +39,12 @@
      * @param logger To log B&R stats.
      */
     fun getSoundBackupHelper(context: Context, logger: BackupRestoreEventLogger): BackupHelper
+
+    /**
+     * Return a BackupHelper for backup accessibility appearance related settings.
+     *
+     * @param context App context
+     * @param logger To log B&R stats.
+     */
+    fun getAccessibilityAppearanceBackupHelper(context: Context, logger: BackupRestoreEventLogger): BackupHelper
 }
\ No newline at end of file
diff --git a/src/com/android/settings/overlay/FeatureFactory.kt b/src/com/android/settings/overlay/FeatureFactory.kt
index 675d789..84b82cb 100644
--- a/src/com/android/settings/overlay/FeatureFactory.kt
+++ b/src/com/android/settings/overlay/FeatureFactory.kt
@@ -22,7 +22,6 @@
 import com.android.settings.applications.ApplicationFeatureProvider
 import com.android.settings.biometrics.face.FaceFeatureProvider
 import com.android.settings.biometrics.fingerprint.FingerprintFeatureProvider
-import com.android.settings.biometrics2.factory.BiometricsRepositoryProvider
 import com.android.settings.bluetooth.BluetoothFeatureProvider
 import com.android.settings.connecteddevice.fastpair.FastPairFeatureProvider
 import com.android.settings.connecteddevice.stylus.StylusFeatureProvider
@@ -119,11 +118,6 @@
     abstract val fingerprintFeatureProvider: FingerprintFeatureProvider
 
     /**
-     * Gets implementation for Biometrics repository provider.
-     */
-    abstract val biometricsRepositoryProvider: BiometricsRepositoryProvider
-
-    /**
      * Gets implementation for the WifiTrackerLib.
      */
     abstract val wifiTrackerLibProvider: WifiTrackerLibProvider
diff --git a/src/com/android/settings/overlay/FeatureFactoryImpl.kt b/src/com/android/settings/overlay/FeatureFactoryImpl.kt
index 2142ea5..a21d7e3 100644
--- a/src/com/android/settings/overlay/FeatureFactoryImpl.kt
+++ b/src/com/android/settings/overlay/FeatureFactoryImpl.kt
@@ -31,7 +31,6 @@
 import com.android.settings.biometrics.face.FaceFeatureProviderImpl
 import com.android.settings.biometrics.fingerprint.FingerprintFeatureProvider
 import com.android.settings.biometrics.fingerprint.FingerprintFeatureProviderImpl
-import com.android.settings.biometrics2.factory.BiometricsRepositoryProviderImpl
 import com.android.settings.bluetooth.BluetoothFeatureProvider
 import com.android.settings.bluetooth.BluetoothFeatureProviderImpl
 import com.android.settings.connecteddevice.dock.DockUpdaterFeatureProviderImpl
@@ -152,8 +151,6 @@
         FingerprintFeatureProviderImpl()
     }
 
-    override val biometricsRepositoryProvider by lazy { BiometricsRepositoryProviderImpl() }
-
     override val wifiTrackerLibProvider: WifiTrackerLibProvider by lazy {
         WifiTrackerLibProviderImpl()
     }
diff --git a/src/com/android/settings/password/BiometricFragment.java b/src/com/android/settings/password/BiometricFragment.java
index 02f5b86..5030b6a 100644
--- a/src/com/android/settings/password/BiometricFragment.java
+++ b/src/com/android/settings/password/BiometricFragment.java
@@ -16,8 +16,10 @@
 
 package com.android.settings.password;
 
+import static android.hardware.biometrics.BiometricConstants.BIOMETRIC_ERROR_USER_CANCELED;
+
 import android.app.settings.SettingsEnums;
-import android.content.ComponentName;
+import android.hardware.biometrics.BiometricManager;
 import android.hardware.biometrics.BiometricPrompt;
 import android.hardware.biometrics.BiometricPrompt.AuthenticationCallback;
 import android.hardware.biometrics.BiometricPrompt.AuthenticationResult;
@@ -41,7 +43,6 @@
     private static final String TAG = "ConfirmDeviceCredential/BiometricFragment";
 
     private static final String KEY_PROMPT_INFO = "prompt_info";
-    private static final String KEY_CALLING_ACTIVITY = "calling_activity";
 
     // Re-set by the application. Should be done upon orientation changes, etc
     private Executor mClientExecutor;
@@ -91,13 +92,10 @@
      * @param promptInfo
      * @return
      */
-    public static BiometricFragment newInstance(PromptInfo promptInfo,
-            ComponentName callingActivity) {
+    public static BiometricFragment newInstance(PromptInfo promptInfo) {
         BiometricFragment biometricFragment = new BiometricFragment();
         final Bundle bundle = new Bundle();
         bundle.putParcelable(KEY_PROMPT_INFO, promptInfo);
-
-        bundle.putParcelable(KEY_CALLING_ACTIVITY, callingActivity);
         biometricFragment.setArguments(bundle);
         return biometricFragment;
     }
@@ -132,12 +130,10 @@
 
         final Bundle bundle = getArguments();
         final PromptInfo promptInfo = bundle.getParcelable(KEY_PROMPT_INFO);
-        final ComponentName callingActivity = bundle.getParcelable(KEY_CALLING_ACTIVITY);
-
         BiometricPrompt.Builder promptBuilder = new BiometricPrompt.Builder(getContext())
                 .setTitle(promptInfo.getTitle())
                 .setUseDefaultTitle() // use default title if title is null/empty
-                .setDeviceCredentialAllowed(true)
+                .setAllowedAuthenticators(promptInfo.getAuthenticators())
                 .setSubtitle(promptInfo.getSubtitle())
                 .setDescription(promptInfo.getDescription())
                 .setTextForDeviceCredential(
@@ -149,7 +145,8 @@
                         promptInfo.isDisallowBiometricsIfPolicyExists())
                 .setShowEmergencyCallButton(promptInfo.isShowEmergencyCallButton())
                 .setReceiveSystemEvents(true)
-                .setComponentNameForConfirmDeviceCredentialActivity(callingActivity);
+                .setRealCallerForConfirmDeviceCredentialActivity(
+                        promptInfo.getRealCallerForConfirmDeviceCredentialActivity());
         if (promptInfo.getLogoRes() != 0){
             promptBuilder.setLogoRes(promptInfo.getLogoRes());
         }
@@ -170,6 +167,15 @@
         if (promptInfo.isUseDefaultSubtitle()) {
             promptBuilder.setUseDefaultSubtitle();
         }
+
+        if ((promptInfo.getAuthenticators()
+                & BiometricManager.Authenticators.DEVICE_CREDENTIAL) == 0) {
+            promptBuilder.setNegativeButton(promptInfo.getNegativeButtonText(),
+                    getContext().getMainExecutor(),
+                    (dialog, which) -> mAuthenticationCallback.onAuthenticationError(
+                            BIOMETRIC_ERROR_USER_CANCELED,
+                            null /* errString */));
+        }
         mBiometricPrompt = promptBuilder.build();
     }
 
diff --git a/src/com/android/settings/password/ChooseLockGeneric.java b/src/com/android/settings/password/ChooseLockGeneric.java
index ce9a566..0909110 100644
--- a/src/com/android/settings/password/ChooseLockGeneric.java
+++ b/src/com/android/settings/password/ChooseLockGeneric.java
@@ -160,11 +160,14 @@
         static final int CHOOSE_LOCK_BEFORE_BIOMETRIC_REQUEST = 103;
         @VisibleForTesting
         static final int SKIP_FINGERPRINT_REQUEST = 104;
+        @VisibleForTesting
+        static final int BIOMETRIC_AUTH_REQUEST = 105;
 
         private LockPatternUtils mLockPatternUtils;
         private DevicePolicyManager mDpm;
         private boolean mRequestGatekeeperPasswordHandle = false;
         private boolean mPasswordConfirmed = false;
+        private boolean mBiometricsAuthSuccessful = false;
         private boolean mWaitingForConfirmation = false;
         private boolean mWaitingForActivityResult = false;
         private LockscreenCredential mUserPassword;
@@ -488,6 +491,23 @@
                     ? data.getParcelableExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD)
                     : null;
                 updatePreferencesOrFinish(false /* isRecreatingActivity */);
+                final Utils.BiometricStatus biometricAuthStatus =
+                        Utils.requestBiometricAuthenticationForMandatoryBiometrics(getActivity(),
+                                false /* biometricsAuthenticationRequested */,
+                                mUserId);
+                if (biometricAuthStatus == Utils.BiometricStatus.OK) {
+                    Utils.launchBiometricPromptForMandatoryBiometrics(this,
+                            BIOMETRIC_AUTH_REQUEST,
+                            mUserId, true /* hideBackground */);
+                } else if (biometricAuthStatus != Utils.BiometricStatus.NOT_ACTIVE) {
+                    finish();
+                }
+            } else if (requestCode == BIOMETRIC_AUTH_REQUEST) {
+                if (resultCode == Activity.RESULT_OK) {
+                    mBiometricsAuthSuccessful = true;
+                } else {
+                    finish();
+                }
             } else if (requestCode == CHOOSE_LOCK_REQUEST) {
                 if (resultCode != RESULT_CANCELED) {
                     getActivity().setResult(resultCode, data);
@@ -763,6 +783,9 @@
                         entries.removePreference(pref);
                     } else if (!enabled) {
                         pref.setEnabled(false);
+                        pref.setSummary(
+                                com.android.settingslib.widget
+                                        .restricted.R.string.disabled_by_admin);
                     }
                 }
             }
diff --git a/src/com/android/settings/password/ChooseLockPassword.java b/src/com/android/settings/password/ChooseLockPassword.java
index a645300..bcf1795 100644
--- a/src/com/android/settings/password/ChooseLockPassword.java
+++ b/src/com/android/settings/password/ChooseLockPassword.java
@@ -271,6 +271,8 @@
 
         private static final int CONFIRM_EXISTING_REQUEST = 58;
         static final int RESULT_FINISHED = RESULT_FIRST_USER;
+        private boolean mIsErrorTooShort = true;
+
         /** Used to store the profile type for which pin/password is being set */
         protected enum ProfileType {
             None,
@@ -672,6 +674,11 @@
             view.addView(mPasswordRestrictionView);
         }
 
+        @VisibleForTesting
+        View getPasswordRequirementsView() {
+            return mPasswordRestrictionView;
+        }
+
         private void createHintMessageView(ViewGroup view) {
             if (mPasswordRestrictionView != null) {
                 return;
@@ -855,6 +862,7 @@
          */
         String[] convertErrorCodeToMessages() {
             List<String> messages = new ArrayList<>();
+            mIsErrorTooShort = false;
             for (PasswordValidationError error : mValidationErrors) {
                 switch (error.errorCode) {
                     case CONTAINS_INVALID_CHARACTERS:
@@ -889,6 +897,7 @@
                                 R.string.lockpassword_password_requires_nonnumerical));
                         break;
                     case TOO_SHORT:
+                        mIsErrorTooShort = true;
                         String message = StringUtil.getIcuPluralsString(getContext(),
                                 error.requirement,
                                 mIsAlphaMode
@@ -951,12 +960,13 @@
                     ? LockscreenCredential.createPassword(mPasswordEntry.getText())
                     : LockscreenCredential.createPin(mPasswordEntry.getText());
             final int length = password.size();
+
             if (mUiStage == Stage.Introduction) {
                 mPasswordRestrictionView.setVisibility(View.VISIBLE);
                 final boolean passwordCompliant = validatePassword(password);
                 String[] messages = convertErrorCodeToMessages();
                 // Update the fulfillment of requirements.
-                mPasswordRequirementAdapter.setRequirements(messages);
+                mPasswordRequirementAdapter.setRequirements(messages, mIsErrorTooShort);
                 // set the visibility of pin_auto_confirm option accordingly
                 setAutoPinConfirmOption(passwordCompliant, length);
                 // Enable/Disable the next button accordingly.
diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
index 47c3b3f..e987ebe 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
@@ -17,10 +17,10 @@
 
 package com.android.settings.password;
 
+import static android.Manifest.permission.SET_BIOMETRIC_DIALOG_ADVANCED;
 import static android.app.admin.DevicePolicyResources.Strings.Settings.CONFIRM_WORK_PROFILE_PASSWORD_HEADER;
 import static android.app.admin.DevicePolicyResources.Strings.Settings.CONFIRM_WORK_PROFILE_PATTERN_HEADER;
 import static android.app.admin.DevicePolicyResources.Strings.Settings.CONFIRM_WORK_PROFILE_PIN_HEADER;
-import static android.Manifest.permission.SET_BIOMETRIC_DIALOG_ADVANCED;
 import static android.view.WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS;
 
 import static com.android.systemui.biometrics.Utils.toBitmap;
@@ -40,6 +40,7 @@
 import android.graphics.Bitmap;
 import android.graphics.Color;
 import android.hardware.biometrics.BiometricConstants;
+import android.hardware.biometrics.BiometricManager;
 import android.hardware.biometrics.BiometricPrompt;
 import android.hardware.biometrics.BiometricPrompt.AuthenticationCallback;
 import android.hardware.biometrics.PromptInfo;
@@ -76,6 +77,11 @@
     /** Use this extra value to provide a custom logo description for the biometric prompt. **/
     public static final String CUSTOM_BIOMETRIC_PROMPT_LOGO_DESCRIPTION_KEY =
             "custom_logo_description";
+    public static final String BIOMETRIC_PROMPT_AUTHENTICATORS = "biometric_prompt_authenticators";
+    public static final String BIOMETRIC_PROMPT_NEGATIVE_BUTTON_TEXT =
+            "biometric_prompt_negative_button_text";
+    public static final String BIOMETRIC_PROMPT_HIDE_BACKGROUND =
+            "biometric_prompt_hide_background";
 
     public static class InternalActivity extends ConfirmDeviceCredentialActivity {
     }
@@ -98,6 +104,7 @@
     private boolean mForceVerifyPath = false;
     private boolean mGoingToBackground;
     private boolean mWaitingForBiometricCallback;
+    private int mBiometricsAuthenticators;
 
     private Executor mExecutor = (runnable -> {
         mHandler.post(runnable);
@@ -116,8 +123,14 @@
                     Log.i(TAG, "Finishing, user no longer valid: " + mUserId);
                     finish();
                 } else {
-                    // All other errors go to some version of CC
-                    showConfirmCredentials();
+                    if ((mBiometricsAuthenticators
+                            & BiometricManager.Authenticators.DEVICE_CREDENTIAL) != 0) {
+                        // All other errors go to some version of CC
+                        showConfirmCredentials();
+                    } else {
+                        Log.i(TAG, "Finishing, device credential not requested");
+                        finish();
+                    }
                 }
             } else if (mWaitingForBiometricCallback) { // mGoingToBackground is true
                 mWaitingForBiometricCallback = false;
@@ -161,15 +174,20 @@
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
-        getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
-        getWindow().setStatusBarColor(Color.TRANSPARENT);
+        final Intent intent = getIntent();
+        if (intent.getBooleanExtra(BIOMETRIC_PROMPT_HIDE_BACKGROUND, false)) {
+            getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
+            getWindow().setDimAmount(1);
+            intent.removeExtra(BIOMETRIC_PROMPT_HIDE_BACKGROUND);
+        } else {
+            getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
+            getWindow().setStatusBarColor(Color.TRANSPARENT);
+        }
 
         mDevicePolicyManager = getSystemService(DevicePolicyManager.class);
         mUserManager = UserManager.get(this);
         mTrustManager = getSystemService(TrustManager.class);
         mLockPatternUtils = new LockPatternUtils(this);
-
-        Intent intent = getIntent();
         mContext = this;
         mCheckDevicePolicyManager = intent
                 .getBooleanExtra(KeyguardManager.EXTRA_DISALLOW_BIOMETRICS_IF_POLICY_EXISTS, false);
@@ -177,6 +195,11 @@
         mDetails = intent.getCharSequenceExtra(KeyguardManager.EXTRA_DESCRIPTION);
         String alternateButton = intent.getStringExtra(
                 KeyguardManager.EXTRA_ALTERNATE_BUTTON_LABEL);
+        mBiometricsAuthenticators = intent.getIntExtra(BIOMETRIC_PROMPT_AUTHENTICATORS,
+                BiometricManager.Authenticators.DEVICE_CREDENTIAL
+                        | BiometricManager.Authenticators.BIOMETRIC_WEAK);
+        final String negativeButtonText = intent.getStringExtra(
+                BIOMETRIC_PROMPT_NEGATIVE_BUTTON_TEXT);
         final boolean frp =
                 KeyguardManager.ACTION_CONFIRM_FRP_CREDENTIAL.equals(intent.getAction());
         final boolean repairMode =
@@ -213,6 +236,9 @@
         promptInfo.setTitle(mTitle);
         promptInfo.setDescription(mDetails);
         promptInfo.setDisallowBiometricsIfPolicyExists(mCheckDevicePolicyManager);
+        promptInfo.setAuthenticators(mBiometricsAuthenticators);
+        promptInfo.setNegativeButtonText(negativeButtonText);
+        promptInfo.setRealCallerForConfirmDeviceCredentialActivity(getCallingActivity());
 
         if (android.multiuser.Flags.enablePrivateSpaceFeatures()
                 && android.multiuser.Flags.usePrivateSpaceIconInBiometricPrompt()
@@ -479,8 +505,7 @@
         boolean newFragment = false;
 
         if (mBiometricFragment == null) {
-            mBiometricFragment = BiometricFragment.newInstance(promptInfo,
-                    getCallingActivity());
+            mBiometricFragment = BiometricFragment.newInstance(promptInfo);
             newFragment = true;
         }
         mBiometricFragment.setCallbacks(mExecutor, mAuthenticationCallback);
diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java b/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
index 61866a3..677d18e 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
@@ -27,7 +27,6 @@
 import android.app.RemoteLockscreenValidationSession;
 import android.app.admin.DevicePolicyManager;
 import android.app.admin.ManagedSubscriptionsPolicy;
-import android.app.admin.flags.Flags;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -375,13 +374,8 @@
     private int getUserTypeForWipe() {
         final UserInfo userToBeWiped = mUserManager.getUserInfo(
                 mDevicePolicyManager.getProfileWithMinimumFailedPasswordsForWipe(mEffectiveUserId));
-        UserHandle primaryUser = UserHandle.SYSTEM;
-        if (Flags.headlessSingleUserFixes()) {
-            UserHandle mainUser = mUserManager.getMainUser();
-            if (mainUser != null ) {
-                primaryUser = mainUser;
-            }
-        }
+        UserHandle mainUser = mUserManager.getMainUser();
+        UserHandle primaryUser = mainUser != null ? mainUser : UserHandle.SYSTEM;
         if (userToBeWiped == null || userToBeWiped.getUserHandle().equals(primaryUser)) {
             return USER_TYPE_PRIMARY;
         } else if (userToBeWiped.isManagedProfile()) {
diff --git a/src/com/android/settings/password/ConfirmLockPassword.java b/src/com/android/settings/password/ConfirmLockPassword.java
index b9b1810..ead79d7 100644
--- a/src/com/android/settings/password/ConfirmLockPassword.java
+++ b/src/com/android/settings/password/ConfirmLockPassword.java
@@ -64,6 +64,7 @@
 import com.android.internal.widget.LockscreenCredential;
 import com.android.internal.widget.TextViewInputDisabler;
 import com.android.settings.R;
+import com.android.settings.SetupRedactionInterstitial;
 import com.android.settingslib.animation.AppearAnimationUtils;
 import com.android.settingslib.animation.DisappearAnimationUtils;
 
@@ -723,6 +724,7 @@
             Intent result = new Intent();
             if (mRemoteValidation && containsGatekeeperPasswordHandle(resultData)) {
                 result.putExtra(EXTRA_KEY_GK_PW_HANDLE, getGatekeeperPasswordHandle(resultData));
+                SetupRedactionInterstitial.setEnabled(getContext(), true);
             }
             mCredentialCheckResultTracker.setResult(/* matched= */ true, result,
                     /* timeoutMs= */ 0, mEffectiveUserId);
diff --git a/src/com/android/settings/password/ConfirmLockPattern.java b/src/com/android/settings/password/ConfirmLockPattern.java
index 3415478..28d790e 100644
--- a/src/com/android/settings/password/ConfirmLockPattern.java
+++ b/src/com/android/settings/password/ConfirmLockPattern.java
@@ -54,6 +54,7 @@
 import com.android.internal.widget.LockPatternView.Cell;
 import com.android.internal.widget.LockscreenCredential;
 import com.android.settings.R;
+import com.android.settings.SetupRedactionInterstitial;
 import com.android.settingslib.animation.AppearAnimationCreator;
 import com.android.settingslib.animation.AppearAnimationUtils;
 import com.android.settingslib.animation.DisappearAnimationUtils;
@@ -751,6 +752,7 @@
             Intent result = new Intent();
             if (mRemoteValidation && containsGatekeeperPasswordHandle(resultData)) {
                 result.putExtra(EXTRA_KEY_GK_PW_HANDLE, getGatekeeperPasswordHandle(resultData));
+                SetupRedactionInterstitial.setEnabled(getContext(), true);
             }
             mCredentialCheckResultTracker.setResult(/* matched= */ true, result,
                     /* timeoutMs= */ 0, mEffectiveUserId);
diff --git a/src/com/android/settings/password/PasswordRequirementAdapter.java b/src/com/android/settings/password/PasswordRequirementAdapter.java
index 7cf6a00..b17f864 100644
--- a/src/com/android/settings/password/PasswordRequirementAdapter.java
+++ b/src/com/android/settings/password/PasswordRequirementAdapter.java
@@ -36,6 +36,7 @@
 
     private String[] mRequirements;
     private Context mContext;
+    private boolean mIsTooShortError = true;
 
     public PasswordRequirementAdapter(Context context) {
         mContext = context;
@@ -54,8 +55,9 @@
         return  mRequirements.length;
     }
 
-    public void setRequirements(String[] requirements) {
+    public void setRequirements(String[] requirements, boolean isPasswordShort) {
         mRequirements = requirements;
+        mIsTooShortError = isPasswordShort;
         notifyDataSetChanged();
     }
 
@@ -74,7 +76,12 @@
         final int fontSize = mContext.getResources().getDimensionPixelSize(
                 R.dimen.password_requirement_font_size);
         holder.mDescriptionText.setText(mRequirements[position]);
-        holder.mDescriptionText.setTextAppearance(R.style.ScreenLockPasswordHintTextFontStyle);
+        if (mIsTooShortError) {
+            holder.mDescriptionText.setTextAppearance(R.style.ScreenLockPasswordHintTextFontStyle);
+        } else {
+            holder.mDescriptionText.
+                    setTextAppearance(R.style.ScreenLockPasswordHintTextFontStyleError);
+        }
         holder.mDescriptionText.setTextSize(fontSize / mContext.getResources()
                 .getDisplayMetrics().scaledDensity);
     }
diff --git a/src/com/android/settings/password/PasswordUtils.java b/src/com/android/settings/password/PasswordUtils.java
index a54df94..8c8afc2 100644
--- a/src/com/android/settings/password/PasswordUtils.java
+++ b/src/com/android/settings/password/PasswordUtils.java
@@ -116,7 +116,7 @@
             final ViewGroup.MarginLayoutParams lp = new ViewGroup.MarginLayoutParams(
                     ViewGroup.LayoutParams.WRAP_CONTENT,
                     ViewGroup.LayoutParams.WRAP_CONTENT);
-            lp.leftMargin = layoutTitleParams.leftMargin;
+            lp.setMarginStart(layoutTitleParams.leftMargin);
             lp.topMargin = (int) context.getResources().getDimensionPixelSize(
                     R.dimen.screen_lock_options_button_margin_top);
             optButton.setPadding(0, 0, 0, 0);
diff --git a/src/com/android/settings/password/SetNewPasswordActivity.java b/src/com/android/settings/password/SetNewPasswordActivity.java
index 0ba52ea..36756f9 100644
--- a/src/com/android/settings/password/SetNewPasswordActivity.java
+++ b/src/com/android/settings/password/SetNewPasswordActivity.java
@@ -124,9 +124,7 @@
 
     @Override
     public void launchChooseLock(Bundle chooseLockFingerprintExtras) {
-        final boolean isInSetupWizard = WizardManagerHelper.isAnySetupWizard(getIntent());
-        Intent intent = isInSetupWizard ? new Intent(this, SetupChooseLockGeneric.class)
-                : new Intent(this, ChooseLockGeneric.class);
+        final Intent intent = new Intent(this, SetupChooseLockGeneric.class);
         intent.setAction(mNewPasswordAction);
         intent.putExtras(chooseLockFingerprintExtras);
         intent.putExtra(EXTRA_KEY_CHOOSE_LOCK_SCREEN_TITLE,
diff --git a/src/com/android/settings/password/SetupChooseLockGeneric.java b/src/com/android/settings/password/SetupChooseLockGeneric.java
index cfd12f0..1b771a2 100644
--- a/src/com/android/settings/password/SetupChooseLockGeneric.java
+++ b/src/com/android/settings/password/SetupChooseLockGeneric.java
@@ -243,6 +243,7 @@
         @Override
         protected void onCreate(Bundle savedState) {
             setTheme(SetupWizardUtils.getTheme(this, getIntent()));
+            setTheme(R.style.SettingsPreferenceTheme_SetupWizard);
             ThemeHelper.trySetDynamicColor(this);
             super.onCreate(savedState);
         }
diff --git a/src/com/android/settings/print/PrintSettingsPageProvider.kt b/src/com/android/settings/print/PrintSettingsPageProvider.kt
index aac0a5d..f28f0bc 100644
--- a/src/com/android/settings/print/PrintSettingsPageProvider.kt
+++ b/src/com/android/settings/print/PrintSettingsPageProvider.kt
@@ -17,16 +17,32 @@
 package com.android.settings.print
 
 import android.app.settings.SettingsEnums
+import android.content.Context
+import android.content.Intent
+import android.net.Uri
 import android.os.Bundle
+import android.provider.Settings
 import androidx.annotation.VisibleForTesting
 import androidx.compose.foundation.Image
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.padding
 import androidx.compose.foundation.layout.size
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.outlined.Add
+import androidx.compose.material.icons.outlined.Print
+import androidx.compose.material3.Icon
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.getValue
 import androidx.compose.runtime.remember
+import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.alpha
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.unit.dp
 import androidx.core.os.bundleOf
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
@@ -36,13 +52,18 @@
 import com.android.settings.print.PrintSettingsFragment.EXTRA_SERVICE_COMPONENT_NAME
 import com.android.settings.print.PrintSettingsFragment.EXTRA_TITLE
 import com.android.settingslib.spa.framework.common.SettingsPageProvider
+import com.android.settingslib.spa.framework.compose.rememberContext
 import com.android.settingslib.spa.framework.compose.rememberDrawablePainter
 import com.android.settingslib.spa.framework.theme.SettingsDimension
+import com.android.settingslib.spa.framework.theme.SettingsOpacity
 import com.android.settingslib.spa.widget.preference.Preference
 import com.android.settingslib.spa.widget.preference.PreferenceModel
 import com.android.settingslib.spa.widget.scaffold.RegularScaffold
 import com.android.settingslib.spa.widget.ui.Category
+import com.android.settingslib.spa.widget.ui.SettingsIcon
+import com.android.settingslib.spaprivileged.settingsprovider.settingsSecureStringFlow
 import com.android.settingslib.spaprivileged.template.common.UserProfilePager
+import kotlinx.coroutines.flow.Flow
 
 object PrintSettingsPageProvider : SettingsPageProvider {
     override val name = "PrintSettings"
@@ -52,51 +73,101 @@
         RegularScaffold(title = stringResource(R.string.print_settings)) {
             val context = LocalContext.current
             val printRepository = remember(context) { PrintRepository(context) }
-            UserProfilePager {
-                PrintServices(printRepository)
-            }
+            UserProfilePager { PrintServices(printRepository) }
         }
     }
 
     @Composable
     private fun PrintServices(printRepository: PrintRepository) {
-        val printServiceDisplayInfos by remember {
-            printRepository.printServiceDisplayInfosFlow()
-        }.collectAsStateWithLifecycle(initialValue = emptyList())
-        Category(title = stringResource(R.string.print_settings_title)) {
-            for (printServiceDisplayInfo in printServiceDisplayInfos) {
-                PrintService(printServiceDisplayInfo)
+        val printServiceDisplayInfos by
+            remember { printRepository.printServiceDisplayInfosFlow() }
+                .collectAsStateWithLifecycle(initialValue = emptyList())
+        if (printServiceDisplayInfos.isEmpty()) {
+            NoServicesInstalled()
+        } else {
+            Category(title = stringResource(R.string.print_settings_title)) {
+                for (printServiceDisplayInfo in printServiceDisplayInfos) {
+                    PrintService(printServiceDisplayInfo)
+                }
             }
         }
+        AddPrintService()
+    }
+
+    @Composable
+    private fun NoServicesInstalled() {
+        Column(
+            modifier = Modifier.fillMaxSize().padding(SettingsDimension.itemPaddingAround),
+            horizontalAlignment = Alignment.CenterHorizontally,
+        ) {
+            Icon(
+                imageVector = Icons.Outlined.Print,
+                contentDescription = null,
+                modifier =
+                    Modifier.size(110.dp)
+                        .padding(SettingsDimension.itemPaddingAround)
+                        .alpha(SettingsOpacity.SurfaceTone),
+            )
+            Text(
+                text = stringResource(R.string.print_no_services_installed),
+                style = MaterialTheme.typography.titleLarge,
+            )
+        }
     }
 
     @VisibleForTesting
     @Composable
     fun PrintService(displayInfo: PrintServiceDisplayInfo) {
         val context = LocalContext.current
-        Preference(model = object : PreferenceModel {
-            override val title = displayInfo.title
-            override val summary = { displayInfo.summary }
-            override val icon: @Composable () -> Unit = {
-                Image(
-                    painter = rememberDrawablePainter(displayInfo.icon),
-                    contentDescription = null,
-                    modifier = Modifier.size(SettingsDimension.appIconItemSize),
-                )
-            }
-            override val onClick = {
-                SubSettingLauncher(context).apply {
-                    setDestination(PrintServiceSettingsFragment::class.qualifiedName)
-                    setArguments(
-                        bundleOf(
-                            EXTRA_CHECKED to displayInfo.isEnabled,
-                            EXTRA_TITLE to displayInfo.title,
-                            EXTRA_SERVICE_COMPONENT_NAME to displayInfo.componentName
-                        )
+        Preference(
+            object : PreferenceModel {
+                override val title = displayInfo.title
+                override val summary = { displayInfo.summary }
+                override val icon: @Composable () -> Unit = {
+                    Image(
+                        painter = rememberDrawablePainter(displayInfo.icon),
+                        contentDescription = null,
+                        modifier = Modifier.size(SettingsDimension.appIconItemSize),
                     )
-                    setSourceMetricsCategory(SettingsEnums.PRINT_SETTINGS)
-                }.launch()
+                }
+                override val onClick = { launchPrintServiceSettings(context, displayInfo) }
             }
-        })
+        )
+    }
+
+    private fun launchPrintServiceSettings(context: Context, displayInfo: PrintServiceDisplayInfo) {
+        SubSettingLauncher(context)
+            .apply {
+                setDestination(PrintServiceSettingsFragment::class.qualifiedName)
+                setArguments(
+                    bundleOf(
+                        EXTRA_CHECKED to displayInfo.isEnabled,
+                        EXTRA_TITLE to displayInfo.title,
+                        EXTRA_SERVICE_COMPONENT_NAME to displayInfo.componentName
+                    )
+                )
+                setSourceMetricsCategory(SettingsEnums.PRINT_SETTINGS)
+            }
+            .launch()
+    }
+
+    @Composable
+    fun AddPrintService(
+        searchUriFlow: Flow<String> = rememberContext { context ->
+            context.settingsSecureStringFlow(Settings.Secure.PRINT_SERVICE_SEARCH_URI)
+        },
+    ) {
+        val context = LocalContext.current
+        val searchUri by searchUriFlow.collectAsStateWithLifecycle("")
+        if (searchUri.isEmpty()) return
+        Preference(
+            object : PreferenceModel {
+                override val title = stringResource(R.string.print_menu_item_add_service)
+                override val icon = @Composable { SettingsIcon(imageVector = Icons.Outlined.Add) }
+                override val onClick = {
+                    context.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(searchUri)))
+                }
+            }
+        )
     }
 }
diff --git a/src/com/android/settings/privacy/PrivacyHubPreferenceController.java b/src/com/android/settings/privacy/PrivacyHubPreferenceController.java
index 20e5290..4c59f80 100644
--- a/src/com/android/settings/privacy/PrivacyHubPreferenceController.java
+++ b/src/com/android/settings/privacy/PrivacyHubPreferenceController.java
@@ -18,7 +18,6 @@
 
 import android.content.Context;
 import android.content.Intent;
-import android.provider.DeviceConfig;
 
 import androidx.annotation.NonNull;
 import androidx.preference.Preference;
@@ -30,7 +29,6 @@
  * The preference controller for privacy hub top level preference.
  */
 public final class PrivacyHubPreferenceController extends BasePreferenceController {
-    public static final String PROPERTY_PRIVACY_HUB_ENABLED = "privacy_hub_enabled";
 
     public PrivacyHubPreferenceController(@NonNull Context context, @NonNull String key) {
         super(context, key);
@@ -38,8 +36,7 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_PRIVACY,
-                PROPERTY_PRIVACY_HUB_ENABLED, true) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+        return AVAILABLE;
     }
 
     @Override
diff --git a/src/com/android/settings/privatespace/HidePrivateSpaceCategoryController.java b/src/com/android/settings/privatespace/HidePrivateSpaceCategoryController.java
new file mode 100644
index 0000000..d754b20
--- /dev/null
+++ b/src/com/android/settings/privatespace/HidePrivateSpaceCategoryController.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.privatespace;
+
+import android.content.Context;
+import android.content.res.Resources;
+
+import androidx.annotation.NonNull;
+
+import com.android.settings.widget.PreferenceCategoryController;
+
+public class HidePrivateSpaceCategoryController extends PreferenceCategoryController {
+    public HidePrivateSpaceCategoryController(@NonNull Context context, @NonNull String key) {
+        super(context, key);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        if (android.multiuser.Flags.privateSpaceSearchIllustrationConfig()) {
+            boolean configValue =
+                    Resources.getSystem()
+                            .getBoolean(
+                                    com.android.internal.R.bool
+                                            .config_enableSearchTileHideIllustrationInPrivateSpace);
+            return configValue ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+        }
+        return AVAILABLE;
+    }
+}
diff --git a/src/com/android/settings/privatespace/HidePrivateSpaceIllustrationController.java b/src/com/android/settings/privatespace/HidePrivateSpaceIllustrationController.java
new file mode 100644
index 0000000..1606498
--- /dev/null
+++ b/src/com/android/settings/privatespace/HidePrivateSpaceIllustrationController.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.privatespace;
+
+import android.content.Context;
+import android.content.res.Resources;
+
+import androidx.annotation.NonNull;
+
+import com.android.settings.core.BasePreferenceController;
+
+public class HidePrivateSpaceIllustrationController extends BasePreferenceController {
+
+    public HidePrivateSpaceIllustrationController(@NonNull Context context, @NonNull String key) {
+        super(context, key);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        if (android.multiuser.Flags.privateSpaceSearchIllustrationConfig()) {
+            boolean configValue =
+                    Resources.getSystem()
+                            .getBoolean(
+                                    com.android.internal.R.bool
+                                            .config_enableSearchTileHideIllustrationInPrivateSpace);
+            return configValue ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+        }
+        return AVAILABLE;
+    }
+}
diff --git a/src/com/android/settings/privatespace/OWNERS b/src/com/android/settings/privatespace/OWNERS
new file mode 100644
index 0000000..158c26a
--- /dev/null
+++ b/src/com/android/settings/privatespace/OWNERS
@@ -0,0 +1,11 @@
+# Bug component: 1376399
+
+# Default reviewers for this and subdirectories.
+
+azhura@google.com
+corinac@google.com
+himanshuz@google.com
+jigarthakkar@google.com
+josephpv@google.com
+onshimiye@google.com
+saumyap@google.com
diff --git a/src/com/android/settings/privatespace/PrivateProfileCreationRestrictedError.java b/src/com/android/settings/privatespace/PrivateProfileCreationRestrictedError.java
new file mode 100644
index 0000000..d2bdb8c
--- /dev/null
+++ b/src/com/android/settings/privatespace/PrivateProfileCreationRestrictedError.java
@@ -0,0 +1,99 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.privatespace;
+
+import android.app.Activity;
+import android.app.settings.SettingsEnums;
+import android.os.Bundle;
+import android.text.util.Linkify;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import androidx.activity.OnBackPressedCallback;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+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;
+
+import java.util.regex.Pattern;
+
+public class PrivateProfileCreationRestrictedError extends InstrumentedFragment {
+    private static final String TAG = "PrivateSpaceCreationErr";
+
+    @NonNull
+    @Override
+    public View onCreateView(
+            @NonNull LayoutInflater inflater,
+            @Nullable ViewGroup container,
+            @Nullable Bundle savedInstanceState) {
+        GlifLayout rootView =
+                (GlifLayout)
+                        inflater.inflate(R.layout.privatespace_creation_error, container, false);
+        final FooterBarMixin mixin = rootView.getMixin(FooterBarMixin.class);
+        mixin.setPrimaryButton(
+                new FooterButton.Builder(getContext())
+                        .setText(R.string.private_space_exit_label)
+                        .setListener(onExit())
+                        .setButtonType(FooterButton.ButtonType.NEXT)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
+                        .build());
+        OnBackPressedCallback callback =
+                new OnBackPressedCallback(true /* enabled by default */) {
+                    @Override
+                    public void handleOnBackPressed() {
+                        // Handle the back button event. We intentionally don't want to allow back
+                        // button to work in this screen during the setup flow.
+                    }
+                };
+        requireActivity().getOnBackPressedDispatcher().addCallback(this, callback);
+        rootView.setDescriptionText(R.string.private_space_error_description);
+        TextView textView = rootView.getDescriptionTextView();
+        Pattern pattern = Pattern.compile(getString(R.string.private_space_error_causes_text));
+        Linkify.addLinks(
+                textView,
+                pattern,
+                getString(R.string.private_space_learn_more_url));
+
+        return rootView;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.PRIVATE_SPACE_SETUP_SPACE_CREATION_ERROR;
+    }
+
+    private View.OnClickListener onExit() {
+        return v -> {
+            Activity activity = getActivity();
+            if (activity != null) {
+                mMetricsFeatureProvider.action(
+                        getContext(), SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_CANCEL_CREATE_SPACE);
+                Log.i(TAG, "private space setup exited");
+                activity.finish();
+            }
+        };
+    }
+}
+
diff --git a/src/com/android/settings/privatespace/PrivateSpaceCreationFragment.java b/src/com/android/settings/privatespace/PrivateSpaceCreationFragment.java
index ce85d72..0bfedbd 100644
--- a/src/com/android/settings/privatespace/PrivateSpaceCreationFragment.java
+++ b/src/com/android/settings/privatespace/PrivateSpaceCreationFragment.java
@@ -29,6 +29,7 @@
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Looper;
+import android.os.UserManager;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -49,6 +50,7 @@
     private static final String TAG = "PrivateSpaceCreateFrag";
     private static final int PRIVATE_SPACE_CREATE_POST_DELAY_MS = 1000;
     private static final int PRIVATE_SPACE_ACCOUNT_LOGIN_POST_DELAY_MS = 5000;
+    private static final int PRIVATE_SPACE_SETUP_NO_ERROR = 0;
     private static final Handler sHandler = new Handler(Looper.getMainLooper());
     private Runnable mRunnable =
             () -> {
@@ -122,6 +124,11 @@
             Log.i(TAG, "Private Space created");
             mMetricsFeatureProvider.action(
                     getContext(), SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_SPACE_CREATED, true);
+            if (android.multiuser.Flags.showDifferentCreationErrorForUnsupportedDevices()) {
+                mMetricsFeatureProvider.action(
+                        getContext(), SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_SPACE_ERRORS,
+                        PRIVATE_SPACE_SETUP_NO_ERROR);
+            }
             if (isConnectedToInternet()) {
                 registerReceiver();
                 sHandler.postDelayed(
@@ -132,8 +139,18 @@
             }
         } else {
             mMetricsFeatureProvider.action(
-                    getContext(), SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_SPACE_CREATED, false);
-            showPrivateSpaceErrorScreen();
+                    getContext(), SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_SPACE_CREATED,
+                    false);
+            if (android.multiuser.Flags.showDifferentCreationErrorForUnsupportedDevices()) {
+                int errorCode = PrivateSpaceMaintainer.getInstance(
+                        getActivity()).getPrivateSpaceCreateError();
+                mMetricsFeatureProvider.action(
+                        getContext(), SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_SPACE_ERRORS,
+                        errorCode);
+                showPrivateSpaceErrorScreen(errorCode);
+            } else {
+                showPrivateSpaceErrorScreen();
+            }
         }
     }
 
@@ -147,6 +164,16 @@
                 .navigate(R.id.action_create_profile_error);
     }
 
+    private void showPrivateSpaceErrorScreen(int errorCode) {
+        if (errorCode == UserManager.USER_OPERATION_ERROR_USER_RESTRICTED
+                || errorCode == UserManager.USER_OPERATION_ERROR_PRIVATE_PROFILE) {
+            NavHostFragment.findNavController(PrivateSpaceCreationFragment.this)
+                    .navigate(R.id.action_create_profile_error_restrict);
+        } else {
+            showPrivateSpaceErrorScreen();
+        }
+    }
+
     /** Returns true if device has an active internet connection, false otherwise. */
     private boolean isConnectedToInternet() {
         ConnectivityManager cm =
diff --git a/src/com/android/settings/privatespace/PrivateSpaceMaintainer.java b/src/com/android/settings/privatespace/PrivateSpaceMaintainer.java
index 6b9252a..dd6a4bb 100644
--- a/src/com/android/settings/privatespace/PrivateSpaceMaintainer.java
+++ b/src/com/android/settings/privatespace/PrivateSpaceMaintainer.java
@@ -60,6 +60,7 @@
     private final Context mContext;
     private final UserManager mUserManager;
     private final ActivityManager mActivityManager;
+    private  int mErrorCode;
     @GuardedBy("this")
     private UserHandle mUserHandle;
     private final KeyguardManager mKeyguardManager;
@@ -111,6 +112,9 @@
                         userName, USER_TYPE_PROFILE_PRIVATE, new ArraySet<>());
             } catch (Exception e) {
                 Log.e(TAG, "Error creating private space", e);
+                if (android.multiuser.Flags.showDifferentCreationErrorForUnsupportedDevices()) {
+                    mErrorCode = ((UserManager.UserOperationException) e).getUserOperationResult();
+                }
                 return false;
             }
 
@@ -205,7 +209,6 @@
             return mKeyguardManager.createConfirmDeviceCredentialIntent(
                     /* title= */ null,  /* description= */null, mUserHandle.getIdentifier());
         }
-        // TODO(b/304796434) Need to try changing this intent to use BiometricPrompt
         return mKeyguardManager.createConfirmDeviceCredentialIntent(
                 /* title= */ null, /* description= */ null);
     }
@@ -313,6 +316,11 @@
         return mUserManager.canAddPrivateProfile() || doesPrivateSpaceExist();
     }
 
+    /** Returns the error code for private space creation failure*/
+    public int getPrivateSpaceCreateError() {
+        return mErrorCode;
+    }
+
     /** Returns true if private space exists and is running, otherwise returns false */
     @VisibleForTesting
     synchronized boolean isPrivateProfileRunning() {
diff --git a/src/com/android/settings/privatespace/delete/ResetOptionsDeletePrivateSpaceController.java b/src/com/android/settings/privatespace/delete/ResetOptionsDeletePrivateSpaceController.java
index 09d2955..abca061 100644
--- a/src/com/android/settings/privatespace/delete/ResetOptionsDeletePrivateSpaceController.java
+++ b/src/com/android/settings/privatespace/delete/ResetOptionsDeletePrivateSpaceController.java
@@ -16,10 +16,12 @@
 
 package com.android.settings.privatespace.delete;
 
+import static com.android.internal.app.SetScreenLockDialogActivity.LAUNCH_REASON_RESET_PRIVATE_SPACE_SETTINGS_ACCESS;
 import static com.android.settings.system.ResetDashboardFragment.PRIVATE_SPACE_DELETE_CREDENTIAL_REQUEST;
 
 import android.app.Activity;
 import android.app.Dialog;
+import android.app.KeyguardManager;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -35,6 +37,7 @@
 import androidx.preference.Preference;
 
 import com.android.internal.annotations.Initializer;
+import com.android.internal.app.SetScreenLockDialogActivity;
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
@@ -46,6 +49,7 @@
 public class ResetOptionsDeletePrivateSpaceController extends BasePreferenceController {
     private static final String TAG = "PrivateSpaceResetCtrl";
     private ResetDashboardFragment mHostFragment;
+    private KeyguardManager mKeyguardManager;
 
     public ResetOptionsDeletePrivateSpaceController(
             @NonNull Context context, @NonNull String preferenceKey) {
@@ -77,9 +81,13 @@
 
     @VisibleForTesting
     boolean startAuthenticationForDelete() {
-        final ChooseLockSettingsHelper.Builder builder =
-                new ChooseLockSettingsHelper.Builder(mHostFragment.getActivity(), mHostFragment);
-        builder.setRequestCode(PRIVATE_SPACE_DELETE_CREDENTIAL_REQUEST).show();
+        if (getKeyguardManager().isDeviceSecure()) {
+            final ChooseLockSettingsHelper.Builder builder = new ChooseLockSettingsHelper.Builder(
+                    mHostFragment.getActivity(), mHostFragment);
+            builder.setRequestCode(PRIVATE_SPACE_DELETE_CREDENTIAL_REQUEST).show();
+        } else {
+            promptToSetDeviceLock();
+        }
         return true;
     }
 
@@ -147,4 +155,17 @@
                     .create();
         }
     }
+
+    private KeyguardManager getKeyguardManager() {
+        if (mKeyguardManager == null) {
+            mKeyguardManager = mContext.getSystemService(KeyguardManager.class);
+        }
+        return mKeyguardManager;
+    }
+
+    private void promptToSetDeviceLock() {
+        Intent setScreenLockPromptIntent = SetScreenLockDialogActivity.createBaseIntent(
+                LAUNCH_REASON_RESET_PRIVATE_SPACE_SETTINGS_ACCESS);
+        mContext.startActivity(setScreenLockPromptIntent);
+    }
 }
diff --git a/src/com/android/settings/privatespace/onelock/UseOneLockControllerSwitch.java b/src/com/android/settings/privatespace/onelock/UseOneLockControllerSwitch.java
index dfac100..1e503ec 100644
--- a/src/com/android/settings/privatespace/onelock/UseOneLockControllerSwitch.java
+++ b/src/com/android/settings/privatespace/onelock/UseOneLockControllerSwitch.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.privatespace.onelock;
 
+import static com.android.settings.password.ChooseLockGeneric.ChooseLockGenericFragment.HIDE_INSECURE_OPTIONS;
+import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_CHOOSE_LOCK_SCREEN_TITLE;
 import static com.android.settings.privatespace.PrivateSpaceSetupActivity.EXTRA_ACTION_TYPE;
 import static com.android.settings.privatespace.PrivateSpaceSetupActivity.SET_LOCK_ACTION;
 import static com.android.settings.privatespace.onelock.UseOneLockSettingsFragment.UNIFY_PRIVATE_LOCK_WITH_DEVICE_REQUEST;
@@ -197,12 +199,7 @@
                   .setPositiveButton(
                             R.string.private_space_set_lock_label,
                             (dialog, which) -> {
-                                Intent intent = new Intent(mContext,
-                                          PrivateProfileContextHelperActivity.class);
-                                intent.putExtra(EXTRA_ACTION_TYPE, SET_LOCK_ACTION);
-                                ((Activity) mContext).startActivityForResultAsUser(intent,
-                                          UNUNIFY_PRIVATE_LOCK_FROM_DEVICE_REQUEST,
-                                          /*Options*/ null, mUserHandle);
+                                startSeparateLockSetup();
                             })
                   .setNegativeButton(R.string.private_space_cancel_label,
                             (DialogInterface dialog, int which) -> {
@@ -216,4 +213,26 @@
                             })
                   .show();
     }
+
+    private void startSeparateLockSetup() {
+        if (android.multiuser.Flags.modifyPrivateSpaceSecondaryUnlockSetupFlow()) {
+            final Bundle extras = new Bundle();
+            extras.putInt(Intent.EXTRA_USER_ID, mProfileUserId);
+            extras.putBoolean(HIDE_INSECURE_OPTIONS, true);
+            extras.putInt(EXTRA_KEY_CHOOSE_LOCK_SCREEN_TITLE,
+                    R.string.private_space_lock_setup_title);
+            new SubSettingLauncher(mContext).setDestination(ChooseLockGeneric
+                            .ChooseLockGenericFragment.class.getName())
+                    .setSourceMetricsCategory(mHost.getMetricsCategory())
+                    .setArguments(extras)
+                    .setExtras(extras)
+                    .setTransitionType(SettingsTransitionHelper.TransitionType.TRANSITION_SLIDE)
+                    .launch();
+        } else {
+            Intent intent = new Intent(mContext, PrivateProfileContextHelperActivity.class);
+            intent.putExtra(EXTRA_ACTION_TYPE, SET_LOCK_ACTION);
+            ((Activity) mContext).startActivityForResultAsUser(intent,
+                    UNUNIFY_PRIVATE_LOCK_FROM_DEVICE_REQUEST, /*Options*/ null, mUserHandle);
+        }
+    }
 }
diff --git a/src/com/android/settings/search/BaseSearchIndexProvider.java b/src/com/android/settings/search/BaseSearchIndexProvider.java
index cc05270..b6a9167 100644
--- a/src/com/android/settings/search/BaseSearchIndexProvider.java
+++ b/src/com/android/settings/search/BaseSearchIndexProvider.java
@@ -21,9 +21,11 @@
 import static com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag.FLAG_INCLUDE_PREF_SCREEN;
 import static com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag.FLAG_NEED_KEY;
 import static com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag.FLAG_NEED_SEARCHABLE;
+import static com.android.settings.search.SettingsSearchIndexablesProvider.SYSPROP_CRASH_ON_ERROR;
 
 import android.annotation.XmlRes;
 import android.content.Context;
+import android.os.Build;
 import android.os.Bundle;
 import android.provider.SearchIndexableResource;
 import android.util.Log;
@@ -131,24 +133,48 @@
             return nonIndexableKeys;
         }
         nonIndexableKeys.addAll(getNonIndexableKeysFromXml(context, false /* suppressAllPage */));
+        updateNonIndexableKeysFromControllers(context, nonIndexableKeys);
+        return nonIndexableKeys;
+    }
+
+    private void updateNonIndexableKeysFromControllers(
+            Context context, List<String> nonIndexableKeys) {
         final List<AbstractPreferenceController> controllers = getPreferenceControllers(context);
-        if (controllers != null && !controllers.isEmpty()) {
+        if (controllers != null) {
             for (AbstractPreferenceController controller : controllers) {
-                if (controller instanceof PreferenceControllerMixin) {
-                    ((PreferenceControllerMixin) controller)
-                            .updateNonIndexableKeys(nonIndexableKeys);
-                } else if (controller instanceof BasePreferenceController) {
-                    ((BasePreferenceController) controller).updateNonIndexableKeys(
-                            nonIndexableKeys);
-                } else {
-                    Log.e(TAG, controller.getClass().getName()
-                            + " must implement " + PreferenceControllerMixin.class.getName()
-                            + " treating the key non-indexable");
-                    nonIndexableKeys.add(controller.getPreferenceKey());
-                }
+                updateNonIndexableKeysFromController(nonIndexableKeys, controller);
             }
         }
-        return nonIndexableKeys;
+    }
+
+    private static void updateNonIndexableKeysFromController(
+            List<String> nonIndexableKeys, AbstractPreferenceController controller) {
+        try {
+            if (controller instanceof PreferenceControllerMixin controllerMixin) {
+                controllerMixin.updateNonIndexableKeys(nonIndexableKeys);
+            } else if (controller instanceof BasePreferenceController basePreferenceController) {
+                basePreferenceController.updateNonIndexableKeys(nonIndexableKeys);
+            } else {
+                Log.e(TAG, controller.getClass().getName()
+                        + " must implement " + PreferenceControllerMixin.class.getName()
+                        + " treating the key non-indexable");
+                nonIndexableKeys.add(controller.getPreferenceKey());
+            }
+        } catch (Exception e) {
+            String msg = "Error trying to get non-indexable keys from: " + controller;
+            // Catch a generic crash. In the absence of the catch, the background thread will
+            // silently fail anyway, so we aren't losing information by catching the exception.
+            // We crash on debuggable build or when the system property exists, so that we can test
+            // if crashes need to be fixed.
+            // The gain is that if there is a crash in a specific controller, we don't lose all
+            // non-indexable keys, but we can still find specific crashes in development.
+            if (Build.IS_DEBUGGABLE || System.getProperty(SYSPROP_CRASH_ON_ERROR) != null) {
+                throw new RuntimeException(msg, e);
+            }
+            Log.e(TAG, msg, e);
+            // When there is an error, treat the key as non-indexable.
+            nonIndexableKeys.add(controller.getPreferenceKey());
+        }
     }
 
     public List<AbstractPreferenceController> getPreferenceControllers(Context context) {
diff --git a/src/com/android/settings/search/SearchFeatureProviderImpl.java b/src/com/android/settings/search/SearchFeatureProviderImpl.java
deleted file mode 100644
index 3a62ddf..0000000
--- a/src/com/android/settings/search/SearchFeatureProviderImpl.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.search;
-
-import android.content.Context;
-import android.content.Intent;
-import android.net.Uri;
-import android.provider.Settings;
-import android.text.TextUtils;
-
-import androidx.annotation.NonNull;
-
-import com.android.settingslib.search.SearchIndexableResources;
-import com.android.settingslib.search.SearchIndexableResourcesMobile;
-
-/**
- * FeatureProvider for the refactored search code.
- */
-public class SearchFeatureProviderImpl implements SearchFeatureProvider {
-
-    private SearchIndexableResources mSearchIndexableResources;
-
-    @Override
-    public void verifyLaunchSearchResultPageCaller(@NonNull Context context,
-            @NonNull String callerPackage) {
-        if (TextUtils.isEmpty(callerPackage)) {
-            throw new IllegalArgumentException("ExternalSettingsTrampoline intents "
-                    + "must be called with startActivityForResult");
-        }
-        final boolean isSettingsPackage = TextUtils.equals(callerPackage, context.getPackageName())
-                || TextUtils.equals(getSettingsIntelligencePkgName(context), callerPackage);
-        final boolean isAllowlistedPackage = isSignatureAllowlisted(context, callerPackage);
-        if (isSettingsPackage || isAllowlistedPackage) {
-            return;
-        }
-        throw new SecurityException("Search result intents must be called with from an "
-                + "allowlisted package.");
-    }
-
-    @Override
-    public SearchIndexableResources getSearchIndexableResources() {
-        if (mSearchIndexableResources == null) {
-            mSearchIndexableResources = new SearchIndexableResourcesMobile();
-        }
-        return mSearchIndexableResources;
-    }
-
-    @Override
-    public Intent buildSearchIntent(Context context, int pageId) {
-        return new Intent(Settings.ACTION_APP_SEARCH_SETTINGS)
-                .setPackage(getSettingsIntelligencePkgName(context))
-                .putExtra(Intent.EXTRA_REFERRER, buildReferrer(context, pageId));
-    }
-
-    protected boolean isSignatureAllowlisted(Context context, String callerPackage) {
-        return false;
-    }
-
-    private static Uri buildReferrer(Context context, int pageId) {
-        return new Uri.Builder()
-                .scheme("android-app")
-                .authority(context.getPackageName())
-                .path(String.valueOf(pageId))
-                .build();
-    }
-}
diff --git a/src/com/android/settings/search/SearchFeatureProviderImpl.kt b/src/com/android/settings/search/SearchFeatureProviderImpl.kt
new file mode 100644
index 0000000..b1378ab
--- /dev/null
+++ b/src/com/android/settings/search/SearchFeatureProviderImpl.kt
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.content.Intent
+import android.net.Uri
+import android.provider.Settings
+import com.android.settings.search.SearchIndexableResourcesFactory.createSearchIndexableResources
+import com.android.settings.spa.search.SpaSearchRepository
+import com.android.settingslib.search.SearchIndexableResources
+
+/** FeatureProvider for the refactored search code. */
+open class SearchFeatureProviderImpl : SearchFeatureProvider {
+    private val lazySearchIndexableResources by lazy {
+        createSearchIndexableResources().apply {
+            for (searchIndexableData in SpaSearchRepository().getSearchIndexableDataList()) {
+                addIndex(searchIndexableData)
+            }
+        }
+    }
+
+    override fun verifyLaunchSearchResultPageCaller(context: Context, callerPackage: String) {
+        require(callerPackage.isNotEmpty()) {
+            "ExternalSettingsTrampoline intents must be called with startActivityForResult"
+        }
+        val isSettingsPackage = callerPackage == context.packageName
+        if (isSettingsPackage ||
+            callerPackage == getSettingsIntelligencePkgName(context) ||
+            isSignatureAllowlisted(context, callerPackage)) {
+            return
+        }
+        throw SecurityException(
+            "Search result intents must be called with from an allowlisted package.")
+    }
+
+    override fun getSearchIndexableResources(): SearchIndexableResources =
+        lazySearchIndexableResources
+
+    override fun buildSearchIntent(context: Context, pageId: Int): Intent =
+        Intent(Settings.ACTION_APP_SEARCH_SETTINGS)
+            .setPackage(getSettingsIntelligencePkgName(context))
+            .putExtra(Intent.EXTRA_REFERRER, buildReferrer(context, pageId))
+
+    protected open fun isSignatureAllowlisted(context: Context, callerPackage: String): Boolean =
+        false
+
+    companion object {
+        private fun buildReferrer(context: Context, pageId: Int): Uri =
+            Uri.Builder()
+                .scheme("android-app")
+                .authority(context.packageName)
+                .path(pageId.toString())
+                .build()
+    }
+}
diff --git a/src/com/android/settings/search/SearchIndexableResourcesFactory.java b/src/com/android/settings/search/SearchIndexableResourcesFactory.java
new file mode 100644
index 0000000..25f34ed
--- /dev/null
+++ b/src/com/android/settings/search/SearchIndexableResourcesFactory.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 androidx.annotation.NonNull;
+
+import com.android.settingslib.search.SearchIndexableResources;
+import com.android.settingslib.search.SearchIndexableResourcesMobile;
+
+/**
+ * Creates the {@link SearchIndexableResourcesMobile}.
+ * <p>
+ * Since this class is generated by annotation processor, so it can only be created in Java now.
+ */
+class SearchIndexableResourcesFactory {
+    @NonNull
+    static SearchIndexableResources createSearchIndexableResources() {
+        return new SearchIndexableResourcesMobile();
+    }
+}
diff --git a/src/com/android/settings/search/SettingsSearchIndexablesProvider.java b/src/com/android/settings/search/SettingsSearchIndexablesProvider.java
index 3b04186..cdcb323 100644
--- a/src/com/android/settings/search/SettingsSearchIndexablesProvider.java
+++ b/src/com/android/settings/search/SettingsSearchIndexablesProvider.java
@@ -50,6 +50,7 @@
 import android.database.Cursor;
 import android.database.MatrixCursor;
 import android.net.Uri;
+import android.os.Build;
 import android.provider.SearchIndexableResource;
 import android.provider.SearchIndexablesContract;
 import android.provider.SearchIndexablesProvider;
@@ -283,17 +284,16 @@
             try {
                 providerNonIndexableKeys = provider.getNonIndexableKeys(context);
             } catch (Exception e) {
+                String msg = "Error trying to get non-indexable keys from: "
+                        + bundle.getTargetClass().getName();
                 // Catch a generic crash. In the absence of the catch, the background thread will
                 // silently fail anyway, so we aren't losing information by catching the exception.
-                // We crash when the system property exists so that we can test if crashes need to
-                // be fixed.
-                // The gain is that if there is a crash in a specific controller, we don't lose all
-                // non-indexable keys, but we can still find specific crashes in development.
-                if (System.getProperty(SYSPROP_CRASH_ON_ERROR) != null) {
-                    throw new RuntimeException(e);
+                // We crash on debuggable build or when the system property exists, so that we can
+                // test if crashes need to be fixed.
+                if (Build.IS_DEBUGGABLE || System.getProperty(SYSPROP_CRASH_ON_ERROR) != null) {
+                    throw new RuntimeException(msg, e);
                 }
-                Log.e(TAG, "Error trying to get non-indexable keys from: "
-                        + bundle.getTargetClass().getName(), e);
+                Log.e(TAG, msg, e);
                 continue;
             }
 
diff --git a/src/com/android/settings/security/SecuritySettings.java b/src/com/android/settings/security/SecuritySettings.java
index 6d987f3..797d3ec 100644
--- a/src/com/android/settings/security/SecuritySettings.java
+++ b/src/com/android/settings/security/SecuritySettings.java
@@ -15,10 +15,15 @@
  */
 package com.android.settings.security;
 
+import static com.android.settings.biometrics.face.FaceSettings.isFaceHardwareDetected;
+import static com.android.settings.biometrics.fingerprint.FingerprintSettings.isFingerprintHardwareDetected;
+
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.Intent;
 
+import androidx.annotation.VisibleForTesting;
+
 import com.android.settings.R;
 import com.android.settings.biometrics.combination.CombinedBiometricStatusPreferenceController;
 import com.android.settings.biometrics.face.FaceStatusPreferenceController;
@@ -45,6 +50,10 @@
     public static final int CHANGE_TRUST_AGENT_SETTINGS = 126;
     public static final int UNIFY_LOCK_CONFIRM_PROFILE_REQUEST = 129;
     public static final int UNUNIFY_LOCK_CONFIRM_DEVICE_REQUEST = 130;
+    @VisibleForTesting
+    static final String KEY_FINGERPRINT_SETTINGS = "fingerprint_settings";
+    @VisibleForTesting
+    static final String KEY_FACE_SETTINGS = "face_settings";
 
     @Override
     public int getMetricsCategory() {
@@ -131,6 +140,18 @@
                             .hasAlternativeSecuritySettingsFragment()
                             && !SafetyCenterManagerWrapper.get().isEnabled(context);
                 }
+
+                @Override
+                public List<String> getNonIndexableKeys(Context context) {
+                    final List<String> keys = super.getNonIndexableKeys(context);
+                    if (!isFingerprintHardwareDetected(context)) {
+                        keys.add(KEY_FINGERPRINT_SETTINGS);
+                    }
+                    if (!isFaceHardwareDetected(context)) {
+                       keys.add(KEY_FACE_SETTINGS);
+                    }
+                    return keys;
+                }
             };
 
     @Override
diff --git a/src/com/android/settings/sim/PreferredSimDialogFragment.java b/src/com/android/settings/sim/PreferredSimDialogFragment.java
index bb69440..96c0eb6 100644
--- a/src/com/android/settings/sim/PreferredSimDialogFragment.java
+++ b/src/com/android/settings/sim/PreferredSimDialogFragment.java
@@ -37,8 +37,8 @@
 import com.android.settings.network.SubscriptionUtil;
 
 /**
- * Presents a dialog asking the user if they want to update all services to use a given "preferred"
- * SIM. Typically this would be used in a case where a device goes from having multiple SIMs down to
+ * After androidV, presents a dialog asking the user if they want to update the mobile data.
+ * Typically this would be used in a case where a device goes from having multiple SIMs down to
  * only one.
  */
 public class PreferredSimDialogFragment extends SimDialogFragment implements
@@ -48,7 +48,7 @@
     public static PreferredSimDialogFragment newInstance() {
         final PreferredSimDialogFragment fragment = new PreferredSimDialogFragment();
         final Bundle args = initArguments(SimDialogActivity.PREFERRED_PICK,
-                R.string.sim_preferred_title);
+                R.string.select_specific_sim_for_data_title);
         fragment.setArguments(args);
         return fragment;
     }
@@ -57,7 +57,6 @@
     @Override
     public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
         final AlertDialog dialog = new AlertDialog.Builder(getContext())
-                .setTitle(getTitleResId())
                 .setPositiveButton(R.string.yes, this)
                 .setNegativeButton(R.string.no, null)
                 .create();
@@ -104,10 +103,18 @@
             dismiss();
             return;
         }
+        Log.d(TAG, "SubscriptionInfo: " + info);
+        final CharSequence simName =
+                SubscriptionUtil.getUniqueSubscriptionDisplayName(info, getContext());
+        final String title =
+                getContext().getString(
+                        getTitleResId(),
+                        simName);
         final String message =
                 getContext().getString(
                         R.string.sim_preferred_message,
-                        SubscriptionUtil.getUniqueSubscriptionDisplayName(info, getContext()));
+                        simName);
+        dialog.setTitle(title);
         dialog.setMessage(message);
     }
 
diff --git a/src/com/android/settings/sim/SimDialogActivity.java b/src/com/android/settings/sim/SimDialogActivity.java
index 2e19641..5512117 100644
--- a/src/com/android/settings/sim/SimDialogActivity.java
+++ b/src/com/android/settings/sim/SimDialogActivity.java
@@ -122,6 +122,7 @@
 
     private void showOrUpdateDialog() {
         final int dialogType = getIntent().getIntExtra(DIALOG_TYPE_KEY, INVALID_PICK);
+        Log.d(TAG, "dialogType:" + dialogType);
 
         if (dialogType == PICK_DISMISS) {
             finishAndRemoveTask();
@@ -379,8 +380,6 @@
 
     private void setPreferredSim(final int subId) {
         setDefaultDataSubId(subId);
-        setDefaultSmsSubId(subId);
-        setDefaultCallsSubId(subId);
     }
 
     private PhoneAccountHandle subscriptionIdToPhoneAccountHandle(final int subId) {
diff --git a/src/com/android/settings/sim/receivers/SimSlotChangeHandler.java b/src/com/android/settings/sim/receivers/SimSlotChangeHandler.java
index 8f934d7..6e28a0d 100644
--- a/src/com/android/settings/sim/receivers/SimSlotChangeHandler.java
+++ b/src/com/android/settings/sim/receivers/SimSlotChangeHandler.java
@@ -28,6 +28,7 @@
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 import android.telephony.UiccCardInfo;
+import android.telephony.UiccPortInfo;
 import android.telephony.UiccSlotInfo;
 import android.util.Log;
 
@@ -91,10 +92,10 @@
             Log.e(TAG, "Unable to find the removable slot. Do nothing.");
             return;
         }
-
+        Log.i(TAG, "The removableSlotInfo: " + removableSlotInfo);
         int lastRemovableSlotState = getLastRemovableSimSlotState(mContext);
         int currentRemovableSlotState = removableSlotInfo.getCardStateInfo();
-        Log.i(TAG,
+        Log.d(TAG,
                 "lastRemovableSlotState: " + lastRemovableSlotState + ",currentRemovableSlotState: "
                         + currentRemovableSlotState);
         boolean isRemovableSimInserted =
@@ -115,8 +116,12 @@
 
             if (Flags.isDualSimOnboardingEnabled()) {
                 // ForNewUi, when the user inserts the psim, showing the sim onboarding for the user
-                // to setup the sim switching or the default data subscription.
-                handleRemovableSimInsertWhenDsds();
+                // to setup the sim switching or the default data subscription in DSDS.
+                // Will show dialog for below case.
+                // 1. the psim slot is not active.
+                // 2. there are one or more active sim.
+                handleRemovableSimInsertWhenDsds(removableSlotInfo);
+                return;
             } else if (!isMultipleEnabledProfilesSupported()) {
                 Log.d(TAG, "The device is already in DSDS mode and no MEP. Do nothing.");
                 return;
@@ -124,8 +129,6 @@
                 handleRemovableSimInsertUnderDsdsMep(removableSlotInfo);
                 return;
             }
-            Log.d(TAG, "the device is already in DSDS mode and have the DDS. Do nothing.");
-            return;
         }
 
         if (isRemovableSimInserted) {
@@ -258,15 +261,29 @@
         startChooseSimActivity(false);
     }
 
-    private void handleRemovableSimInsertWhenDsds() {
+    private boolean hasOtherActiveSubInfo(int psimSubId) {
+        List<SubscriptionInfo> activeSubs = SubscriptionUtil.getActiveSubscriptions(mSubMgr);
+        return activeSubs.stream()
+                .anyMatch(subscriptionInfo -> subscriptionInfo.getSubscriptionId() != psimSubId);
+    }
+
+    private boolean hasAnyPortActiveInSlot(UiccSlotInfo removableSlotInfo) {
+        return removableSlotInfo.getPorts().stream().anyMatch(UiccPortInfo::isActive);
+    }
+
+    private void handleRemovableSimInsertWhenDsds(UiccSlotInfo removableSlotInfo) {
+        Log.i(TAG, "ForNewUi: Handle Removable SIM inserted");
         List<SubscriptionInfo> subscriptionInfos = getAvailableRemovableSubscription();
         if (subscriptionInfos.isEmpty()) {
             Log.e(TAG, "Unable to find the removable subscriptionInfo. Do nothing.");
             return;
         }
-        Log.d(TAG, "ForNewUi and getAvailableRemovableSubscription:"
-                + subscriptionInfos);
-        startSimConfirmDialogActivity(subscriptionInfos.get(0).getSubscriptionId());
+        Log.d(TAG, "getAvailableRemovableSubscription:" + subscriptionInfos);
+        int psimSubId = subscriptionInfos.get(0).getSubscriptionId();
+        if (!hasAnyPortActiveInSlot(removableSlotInfo) || hasOtherActiveSubInfo(psimSubId)) {
+            Log.d(TAG, "ForNewUi Start Setup flow");
+            startSimConfirmDialogActivity(psimSubId);
+        }
     }
 
     private void handleRemovableSimInsertUnderDsdsMep(UiccSlotInfo removableSlotInfo) {
@@ -393,7 +410,7 @@
             return;
         }
         Log.d(TAG, "Start ToggleSubscriptionDialogActivity with " + subId + " under DSDS+Mep.");
-        SubscriptionUtil.startToggleSubscriptionDialogActivity(mContext, subId, true);
+        SubscriptionUtil.startToggleSubscriptionDialogActivity(mContext, subId, true, true);
     }
 
     private boolean isMultipleEnabledProfilesSupported() {
diff --git a/src/com/android/settings/slices/SettingsSliceProvider.java b/src/com/android/settings/slices/SettingsSliceProvider.java
index ec60f44..8720160 100644
--- a/src/com/android/settings/slices/SettingsSliceProvider.java
+++ b/src/com/android/settings/slices/SettingsSliceProvider.java
@@ -120,6 +120,16 @@
      * permission can use them.
      */
     private static final List<Uri> PUBLICLY_SUPPORTED_CUSTOM_SLICE_URIS =
+            android.app.Flags.modesUi()
+                    ?
+                    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
+                    ) :
             Arrays.asList(
                     CustomSliceRegistry.BLUETOOTH_URI,
                     CustomSliceRegistry.FLASHLIGHT_SLICE_URI,
@@ -184,7 +194,9 @@
         }
 
         if (CustomSliceRegistry.ZEN_MODE_SLICE_URI.equals(sliceUri)) {
-            registerIntentToUri(ZenModeSliceBuilder.INTENT_FILTER, sliceUri);
+            if (!android.app.Flags.modesUi()) {
+                registerIntentToUri(ZenModeSliceBuilder.INTENT_FILTER, sliceUri);
+            }
             return;
         } else if (CustomSliceRegistry.BLUETOOTH_URI.equals(sliceUri)) {
             registerIntentToUri(BluetoothSliceBuilder.INTENT_FILTER, sliceUri);
@@ -256,7 +268,8 @@
                         .getSlicesFeatureProvider()
                         .getNewWifiCallingSliceHelper(getContext())
                         .createWifiCallingSlice(sliceUri);
-            } else if (CustomSliceRegistry.ZEN_MODE_SLICE_URI.equals(sliceUri)) {
+            } else if (!android.app.Flags.modesUi()
+                    && CustomSliceRegistry.ZEN_MODE_SLICE_URI.equals(sliceUri)) {
                 return ZenModeSliceBuilder.getSlice(getContext());
             } else if (CustomSliceRegistry.BLUETOOTH_URI.equals(sliceUri)) {
                 return BluetoothSliceBuilder.getSlice(getContext());
diff --git a/src/com/android/settings/slices/SlicePreferenceController.java b/src/com/android/settings/slices/SlicePreferenceController.java
index 5e8fb26..2e835a0 100644
--- a/src/com/android/settings/slices/SlicePreferenceController.java
+++ b/src/com/android/settings/slices/SlicePreferenceController.java
@@ -20,6 +20,7 @@
 import android.net.Uri;
 import android.util.Log;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.lifecycle.LiveData;
 import androidx.lifecycle.Observer;
@@ -61,7 +62,8 @@
         return mUri != null ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 
-    public void setSliceUri(Uri uri) {
+    /** Sets Slice uri for the preference. */
+    public void setSliceUri(@Nullable Uri uri) {
         mUri = uri;
         mLiveData = SliceLiveData.fromUri(mContext, mUri, (int type, Throwable source) -> {
             Log.w(TAG, "Slice may be null. uri = " + uri + ", error = " + type);
diff --git a/src/com/android/settings/spa/SpaBridgeActivity.kt b/src/com/android/settings/spa/SpaBridgeActivity.kt
index 61d8f51..d579fdf 100644
--- a/src/com/android/settings/spa/SpaBridgeActivity.kt
+++ b/src/com/android/settings/spa/SpaBridgeActivity.kt
@@ -17,20 +17,18 @@
 package com.android.settings.spa
 
 import android.app.Activity
-import android.content.Intent
+import android.content.pm.PackageManager.ComponentInfoFlags
+import android.content.pm.PackageManager.GET_META_DATA
 import android.os.Bundle
-import com.android.settings.activityembedding.ActivityEmbeddingUtils
-import com.android.settings.activityembedding.EmbeddedDeepLinkUtils.tryStartMultiPaneDeepLink
-import com.android.settings.spa.SpaDestination.Companion.getDestination
-import com.android.settingslib.spa.framework.util.SESSION_EXTERNAL
-import com.android.settingslib.spa.framework.util.appendSpaParams
+import androidx.annotation.VisibleForTesting
+import com.android.settings.SettingsActivity.META_DATA_KEY_HIGHLIGHT_MENU_KEY
 
 /**
  * Activity used as a bridge to [SpaActivity].
  *
  * Since [SpaActivity] is not exported, [SpaActivity] could not be the target activity of
- * <activity-alias>, otherwise all its pages will be exported.
- * So need this bridge activity to sit in the middle of <activity-alias> and [SpaActivity].
+ * <activity-alias>, otherwise all its pages will be exported. So need this bridge activity to sit
+ * in the middle of <activity-alias> and [SpaActivity].
  */
 class SpaBridgeActivity : Activity() {
     override fun onCreate(savedInstanceState: Bundle?) {
@@ -41,17 +39,28 @@
 
     companion object {
         fun Activity.startSpaActivityFromBridge(destinationFactory: (String) -> String? = { it }) {
-            val (destination, highlightMenuKey) = getDestination(destinationFactory) ?: return
-            val intent = Intent(this, SpaActivity::class.java)
-                .appendSpaParams(
-                    destination = destination,
-                    sessionName = SESSION_EXTERNAL,
-                )
-            if (!ActivityEmbeddingUtils.isEmbeddingActivityEnabled(this) ||
-                !tryStartMultiPaneDeepLink(intent, highlightMenuKey)
-            ) {
-                startActivity(intent)
-            }
+            getDestination(destinationFactory)?.startFromExportedActivity(this)
         }
+
+        @VisibleForTesting
+        fun Activity.getDestination(
+            destinationFactory: (String) -> String? = { it },
+        ): SpaDestination? {
+            val metaData =
+                packageManager
+                    .getActivityInfo(componentName, ComponentInfoFlags.of(GET_META_DATA.toLong()))
+                    .metaData
+            val destination = metaData.getString(META_DATA_KEY_DESTINATION)
+            if (destination.isNullOrBlank()) return null
+            val finalDestination = destinationFactory(destination)
+            if (finalDestination.isNullOrBlank()) return null
+            return SpaDestination(
+                destination = finalDestination,
+                highlightMenuKey = metaData.getString(META_DATA_KEY_HIGHLIGHT_MENU_KEY),
+            )
+        }
+
+        @VisibleForTesting
+        const val META_DATA_KEY_DESTINATION = "com.android.settings.spa.DESTINATION"
     }
 }
diff --git a/src/com/android/settings/spa/SpaDestination.kt b/src/com/android/settings/spa/SpaDestination.kt
index bdec1d8..158028a 100644
--- a/src/com/android/settings/spa/SpaDestination.kt
+++ b/src/com/android/settings/spa/SpaDestination.kt
@@ -16,34 +16,27 @@
 
 package com.android.settings.spa
 
-import android.app.Activity
-import android.content.pm.PackageManager
-import androidx.annotation.VisibleForTesting
-import com.android.settings.SettingsActivity.META_DATA_KEY_HIGHLIGHT_MENU_KEY
+import android.content.Context
+import android.content.Intent
+import com.android.settings.activityembedding.ActivityEmbeddingUtils
+import com.android.settings.activityembedding.EmbeddedDeepLinkUtils.tryStartMultiPaneDeepLink
+import com.android.settingslib.spa.framework.util.SESSION_EXTERNAL
+import com.android.settingslib.spa.framework.util.appendSpaParams
 
 data class SpaDestination(
     val destination: String,
     val highlightMenuKey: String?,
 ) {
-    companion object {
-        fun Activity.getDestination(
-            destinationFactory: (String) -> String? = { it },
-        ): SpaDestination? {
-            val metaData = packageManager.getActivityInfo(
-                componentName,
-                PackageManager.ComponentInfoFlags.of(PackageManager.GET_META_DATA.toLong())
-            ).metaData
-            val destination = metaData.getString(META_DATA_KEY_DESTINATION)
-            if (destination.isNullOrBlank()) return null
-            val finalDestination = destinationFactory(destination)
-            if (finalDestination.isNullOrBlank()) return null
-            return SpaDestination(
-                destination = finalDestination,
-                highlightMenuKey = metaData.getString(META_DATA_KEY_HIGHLIGHT_MENU_KEY),
+    fun startFromExportedActivity(context: Context) {
+        val intent = Intent(context, SpaActivity::class.java)
+            .appendSpaParams(
+                destination = destination,
+                sessionName = SESSION_EXTERNAL,
             )
+        if (!ActivityEmbeddingUtils.isEmbeddingActivityEnabled(context) ||
+            !context.tryStartMultiPaneDeepLink(intent, highlightMenuKey)
+        ) {
+            context.startActivity(intent)
         }
-
-        @VisibleForTesting
-        const val META_DATA_KEY_DESTINATION = "com.android.settings.spa.DESTINATION"
     }
 }
diff --git a/src/com/android/settings/spa/app/appinfo/AppTimeSpentPreference.kt b/src/com/android/settings/spa/app/appinfo/AppTimeSpentPreference.kt
index 837df67..19953f9 100644
--- a/src/com/android/settings/spa/app/appinfo/AppTimeSpentPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppTimeSpentPreference.kt
@@ -19,61 +19,75 @@
 import android.content.Context
 import android.content.Intent
 import android.content.pm.ApplicationInfo
-import android.content.pm.PackageManager.ResolveInfoFlags
+import android.content.pm.PackageManager
+import android.content.pm.ResolveInfo
 import android.provider.Settings
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.getValue
-import androidx.compose.runtime.livedata.observeAsState
 import androidx.compose.runtime.remember
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
-import androidx.lifecycle.liveData
+import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
 import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
 import com.android.settingslib.spa.widget.preference.Preference
 import com.android.settingslib.spa.widget.preference.PreferenceModel
+import com.android.settingslib.spaprivileged.framework.compose.placeholder
 import com.android.settingslib.spaprivileged.model.app.hasFlag
 import com.android.settingslib.spaprivileged.model.app.userHandle
 import com.android.settingslib.spaprivileged.model.app.userId
 import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.flow
+import kotlinx.coroutines.flow.flowOn
 
 @Composable
 fun AppTimeSpentPreference(app: ApplicationInfo) {
     val context = LocalContext.current
     val presenter = remember(app) { AppTimeSpentPresenter(context, app) }
-    if (!presenter.isAvailable()) return
+    val isAvailable by presenter.isAvailableFlow.collectAsStateWithLifecycle(initialValue = false)
+    if (!isAvailable) return
 
-    val summary by presenter.summaryLiveData.observeAsState(
-        initial = stringResource(R.string.summary_placeholder),
+    val summary by presenter.summaryFlow.collectAsStateWithLifecycle(initialValue = placeholder())
+    Preference(
+        object : PreferenceModel {
+            override val title = stringResource(R.string.time_spent_in_app_pref_title)
+            override val summary = { summary }
+            override val enabled = { presenter.isEnabled() }
+            override val onClick = presenter::startActivity
+        }
     )
-    Preference(object : PreferenceModel {
-        override val title = stringResource(R.string.time_spent_in_app_pref_title)
-        override val summary = { summary }
-        override val enabled = { presenter.isEnabled() }
-        override val onClick = presenter::startActivity
-    })
 }
 
 private class AppTimeSpentPresenter(
     private val context: Context,
     private val app: ApplicationInfo,
 ) {
-    private val intent = Intent(Settings.ACTION_APP_USAGE_SETTINGS).apply {
-        putExtra(Intent.EXTRA_PACKAGE_NAME, app.packageName)
-    }
+    private val intent =
+        Intent(Settings.ACTION_APP_USAGE_SETTINGS).apply {
+            // Limit the package for safer intents, since string resource is not null,
+            // we restrict the target to this single package.
+            setPackage(context.getString(com.android.internal.R.string.config_systemWellbeing))
+            putExtra(Intent.EXTRA_PACKAGE_NAME, app.packageName)
+        }
+
     private val appFeatureProvider = featureFactory.applicationFeatureProvider
 
-    fun isAvailable() = context.packageManager.queryIntentActivitiesAsUser(
-        intent, ResolveInfoFlags.of(0), app.userId
-    ).any { resolveInfo ->
-        resolveInfo?.activityInfo?.applicationInfo?.isSystemApp == true
-    }
+    val isAvailableFlow = flow { emit(resolveIntent() != null) }.flowOn(Dispatchers.Default)
+
+    // Resolve the intent first with PackageManager.MATCH_SYSTEM_ONLY flag to ensure that
+    // only system apps are resolved.
+    private fun resolveIntent(): ResolveInfo? =
+        context.packageManager.resolveActivityAsUser(
+            intent,
+            PackageManager.MATCH_SYSTEM_ONLY,
+            app.userId,
+        )
 
     fun isEnabled() = app.hasFlag(ApplicationInfo.FLAG_INSTALLED)
 
-    val summaryLiveData = liveData(Dispatchers.IO) {
-        emit(appFeatureProvider.getTimeSpentInApp(app.packageName).toString())
-    }
+    val summaryFlow =
+        flow { emit(appFeatureProvider.getTimeSpentInApp(app.packageName).toString()) }
+            .flowOn(Dispatchers.Default)
 
     fun startActivity() {
         context.startActivityAsUser(intent, app.userHandle)
diff --git a/src/com/android/settings/spa/core/instrumentation/SpaLogProvider.kt b/src/com/android/settings/spa/core/instrumentation/SpaLogProvider.kt
index 8659bf5..4377ccc 100644
--- a/src/com/android/settings/spa/core/instrumentation/SpaLogProvider.kt
+++ b/src/com/android/settings/spa/core/instrumentation/SpaLogProvider.kt
@@ -28,7 +28,6 @@
 import com.android.settingslib.spa.framework.util.SESSION_BROWSE
 import com.android.settingslib.spa.framework.util.SESSION_EXTERNAL
 import com.android.settingslib.spa.framework.util.SESSION_SEARCH
-import com.android.settingslib.spa.framework.util.SESSION_SLICE
 import com.android.settingslib.spa.framework.util.SESSION_UNKNOWN
 
 /**
@@ -74,7 +73,6 @@
         return when(sessionSource) {
             SESSION_BROWSE -> SettingsEnums.SESSION_BROWSE
             SESSION_SEARCH -> SettingsEnums.SESSION_SEARCH
-            SESSION_SLICE -> SettingsEnums.SESSION_SLICE_TYPE
             SESSION_EXTERNAL -> SettingsEnums.SESSION_EXTERNAL
             else -> SettingsEnums.SESSION_UNKNOWN
         }
diff --git a/src/com/android/settings/spa/network/AutomaticDataSwitchingPreference.kt b/src/com/android/settings/spa/network/AutomaticDataSwitchingPreference.kt
index e79be4a..5fbd7dc 100644
--- a/src/com/android/settings/spa/network/AutomaticDataSwitchingPreference.kt
+++ b/src/com/android/settings/spa/network/AutomaticDataSwitchingPreference.kt
@@ -16,13 +16,11 @@
 
 package com.android.settings.spa.network
 
-import android.telephony.TelephonyManager
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.rememberCoroutineScope
 import androidx.compose.ui.res.stringResource
 import androidx.lifecycle.viewmodel.compose.viewModel
 import com.android.settings.R
-import com.android.settings.network.telephony.TelephonyRepository
 import com.android.settings.network.telephony.wificalling.CrossSimCallingViewModel
 import com.android.settingslib.spa.widget.preference.SwitchPreference
 import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
@@ -36,7 +34,9 @@
 ) {
     val autoDataSummary = stringResource(id = R.string.primary_sim_automatic_data_msg)
     val coroutineScope = rememberCoroutineScope()
-    val crossSimCallingViewModel = viewModel<CrossSimCallingViewModel>() // handles backup calling
+    // CrossSimCallingViewModel is responsible for maintaining the correct cross sim calling
+    // settings (backup calling).
+    viewModel<CrossSimCallingViewModel>()
     SwitchPreference(
         object : SwitchPreferenceModel {
             override val title = stringResource(id = R.string.primary_sim_automatic_data_title)
@@ -45,17 +45,8 @@
             override val onCheckedChange: (Boolean) -> Unit = { newEnabled ->
                 coroutineScope.launch(Dispatchers.Default) {
                     setAutoDataEnabled(newEnabled)
-                    crossSimCallingViewModel.updateCrossSimCalling()
                 }
             }
         }
     )
 }
-
-fun TelephonyRepository.setAutomaticData(subId: Int, newEnabled: Boolean) {
-    setMobileDataPolicyEnabled(
-        subId = subId,
-        policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
-        enabled = newEnabled,
-    )
-}
diff --git a/src/com/android/settings/spa/network/MobileDataSwitchingPreference.kt b/src/com/android/settings/spa/network/MobileDataSwitchingPreference.kt
index 0d40bca..4b95d44 100644
--- a/src/com/android/settings/spa/network/MobileDataSwitchingPreference.kt
+++ b/src/com/android/settings/spa/network/MobileDataSwitchingPreference.kt
@@ -16,12 +16,10 @@
 
 package com.android.settings.spa.network
 
-import android.telephony.TelephonyManager
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.rememberCoroutineScope
 import androidx.compose.ui.res.stringResource
 import com.android.settings.R
-import com.android.settings.network.telephony.TelephonyRepository
 import com.android.settingslib.spa.widget.preference.SwitchPreference
 import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
 import kotlinx.coroutines.Dispatchers
diff --git a/src/com/android/settings/spa/network/NetworkCellularGroupProvider.kt b/src/com/android/settings/spa/network/NetworkCellularGroupProvider.kt
index 4b9fcf4..f76bba4 100644
--- a/src/com/android/settings/spa/network/NetworkCellularGroupProvider.kt
+++ b/src/com/android/settings/spa/network/NetworkCellularGroupProvider.kt
@@ -46,21 +46,27 @@
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import androidx.lifecycle.viewmodel.compose.viewModel
 import com.android.settings.R
+import com.android.settings.flags.Flags
 import com.android.settings.network.SubscriptionInfoListViewModel
+import com.android.settings.network.SubscriptionUtil
 import com.android.settings.network.telephony.DataSubscriptionRepository
-import com.android.settings.network.telephony.TelephonyRepository
+import com.android.settings.network.telephony.MobileDataRepository
+import com.android.settings.network.telephony.requireSubscriptionManager
 import com.android.settings.spa.network.PrimarySimRepository.PrimarySimInfo
+import com.android.settings.spa.search.SearchablePage
 import com.android.settings.wifi.WifiPickerTrackerHelper
 import com.android.settingslib.spa.framework.common.SettingsEntryBuilder
 import com.android.settingslib.spa.framework.common.SettingsPageProvider
 import com.android.settingslib.spa.framework.common.createSettingsPage
 import com.android.settingslib.spa.framework.compose.navigator
+import com.android.settingslib.spa.framework.compose.rememberContext
 import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
 import com.android.settingslib.spa.widget.preference.Preference
 import com.android.settingslib.spa.widget.preference.PreferenceModel
 import com.android.settingslib.spa.widget.scaffold.RegularScaffold
 import com.android.settingslib.spa.widget.ui.Category
 import com.android.settingslib.spaprivileged.framework.common.broadcastReceiverFlow
+import com.android.settingslib.spaprivileged.framework.common.userManager
 import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalBooleanFlow
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
@@ -77,7 +83,7 @@
 /**
  * Showing the sim onboarding which is the process flow of sim switching on.
  */
-open class NetworkCellularGroupProvider : SettingsPageProvider {
+open class NetworkCellularGroupProvider : SettingsPageProvider, SearchablePage {
     override val name = fileName
     override val metricsCategory = SettingsEnums.MOBILE_NETWORK_LIST
     private val owner = createSettingsPage()
@@ -190,8 +196,27 @@
     open fun OtherSection(){
         // Do nothing
     }
+
+    override fun getPageTitleForSearch(context: Context): String =
+        context.getString(R.string.provider_network_settings_title)
+
+    override fun getSearchableTitles(context: Context): List<String> {
+        if (!isPageSearchable(context)) return emptyList()
+        return buildList {
+            if (context.requireSubscriptionManager().activeSubscriptionInfoCount > 0) {
+                add(context.getString(R.string.mobile_data_settings_title))
+            }
+        }
+    }
+
     companion object {
         const val fileName = "NetworkCellularGroupProvider"
+
+        private fun isPageSearchable(context: Context) =
+            Flags.isDualSimOnboardingEnabled() &&
+            SubscriptionUtil.isSimHardwareVisible(context) &&
+                !com.android.settingslib.Utils.isWifiOnly(context) &&
+                context.userManager.isAdminUser
     }
 }
 
@@ -202,21 +227,18 @@
 ) {
     val context = LocalContext.current
     val localLifecycleOwner = LocalLifecycleOwner.current
-    val wifiPickerTrackerHelper = getWifiPickerTrackerHelper(context, localLifecycleOwner)
-
-    val subscriptionManager: SubscriptionManager? =
-            context.getSystemService(SubscriptionManager::class.java)
+    val mobileDataRepository = rememberContext(::MobileDataRepository)
 
     Category(title = stringResource(id = R.string.mobile_data_settings_title)) {
         val isAutoDataEnabled by remember(nonDds.intValue) {
-            TelephonyRepository(context).isMobileDataPolicyEnabledFlow(
+            mobileDataRepository.isMobileDataPolicyEnabledFlow(
                 subId = nonDds.intValue,
                 policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH
             )
         }.collectAsStateWithLifecycle(initialValue = null)
 
         val mobileDataStateChanged by remember(mobileDataSelectedId.intValue) {
-            TelephonyRepository(context).isDataEnabledFlow(mobileDataSelectedId.intValue)
+            mobileDataRepository.isMobileDataEnabledFlow(mobileDataSelectedId.intValue)
         }.collectAsStateWithLifecycle(initialValue = false)
         val coroutineScope = rememberCoroutineScope()
 
@@ -226,8 +248,8 @@
                 coroutineScope.launch {
                     setMobileData(
                         context,
-                        subscriptionManager,
-                        wifiPickerTrackerHelper,
+                        context.getSystemService(SubscriptionManager::class.java),
+                        getWifiPickerTrackerHelper(context, localLifecycleOwner),
                         mobileDataSelectedId.intValue,
                         newEnabled
                     )
@@ -238,7 +260,7 @@
             AutomaticDataSwitchingPreference(
                 isAutoDataEnabled = { isAutoDataEnabled },
                 setAutoDataEnabled = { newEnabled ->
-                    TelephonyRepository(context).setAutomaticData(nonDds.intValue, newEnabled)
+                    mobileDataRepository.setAutoDataSwitch(nonDds.intValue, newEnabled)
                 },
             )
         }
@@ -281,14 +303,14 @@
 ) {
     CreatePrimarySimListPreference(
         stringResource(id = R.string.primary_sim_calls_title),
-        primarySimInfo.callsAndSmsList,
+        primarySimInfo.callsList,
         callsSelectedId,
         ImageVector.vectorResource(R.drawable.ic_phone),
         actionSetCalls
     )
     CreatePrimarySimListPreference(
         stringResource(id = R.string.primary_sim_texts_title),
-        primarySimInfo.callsAndSmsList,
+        primarySimInfo.smsList,
         textsSelectedId,
         Icons.AutoMirrored.Outlined.Message,
         actionSetTexts
@@ -426,6 +448,6 @@
             Log.d(NetworkCellularGroupProvider.fileName, "setDefaultData: [$targetSubId]")
             subscriptionManager?.setDefaultDataSubId(targetSubId)
         }
-        TelephonyRepository(context)
-            .setMobileData(targetSubId, enabled, wifiPickerTrackerHelper)
+        MobileDataRepository(context)
+            .setMobileDataEnabled(targetSubId, enabled, wifiPickerTrackerHelper)
     }
\ No newline at end of file
diff --git a/src/com/android/settings/spa/network/PrimarySimRepository.kt b/src/com/android/settings/spa/network/PrimarySimRepository.kt
index e34a29e..420f870 100644
--- a/src/com/android/settings/spa/network/PrimarySimRepository.kt
+++ b/src/com/android/settings/spa/network/PrimarySimRepository.kt
@@ -22,12 +22,14 @@
 import android.util.Log
 import com.android.settings.R
 import com.android.settings.network.SubscriptionUtil
+import com.android.settings.network.telephony.CarrierConfigRepository
 import com.android.settingslib.spa.widget.preference.ListPreferenceOption
 
 class PrimarySimRepository(private val context: Context) {
 
     data class PrimarySimInfo(
-        val callsAndSmsList: List<ListPreferenceOption>,
+        val callsList: List<ListPreferenceOption>,
+        val smsList: List<ListPreferenceOption>,
         val dataList: List<ListPreferenceOption>,
     )
 
@@ -37,7 +39,8 @@
             return null
         }
 
-        val callsAndSmsList = mutableListOf<ListPreferenceOption>()
+        val callsList = mutableListOf<ListPreferenceOption>()
+        val smsList = mutableListOf<ListPreferenceOption>()
         val dataList = mutableListOf<ListPreferenceOption>()
         for (info in selectableSubscriptionInfoList) {
             val item = ListPreferenceOption(
@@ -45,15 +48,22 @@
                 text = "${info.displayName}",
                 summary = SubscriptionUtil.getBidiFormattedPhoneNumber(context, info) ?: "",
             )
-            callsAndSmsList += item
+            callsList += item
+            smsList += item
             dataList += item
         }
-        callsAndSmsList += ListPreferenceOption(
+
+        val askEveryTime = ListPreferenceOption(
             id = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
             text = context.getString(R.string.sim_calls_ask_first_prefs_title),
         )
+        callsList += askEveryTime
+        if (context.resources
+                .getBoolean(com.android.internal.R.bool.config_sms_ask_every_time_support)) {
+            smsList += askEveryTime
+        }
 
-        return PrimarySimInfo(callsAndSmsList, dataList)
+        return PrimarySimInfo(callsList, smsList, dataList)
     }
 
     private companion object {
diff --git a/src/com/android/settings/spa/network/SimOnboardingLabelSim.kt b/src/com/android/settings/spa/network/SimOnboardingLabelSim.kt
index 6466731..f78808f 100644
--- a/src/com/android/settings/spa/network/SimOnboardingLabelSim.kt
+++ b/src/com/android/settings/spa/network/SimOnboardingLabelSim.kt
@@ -81,24 +81,28 @@
     onboardingService: SimOnboardingService,
     subInfo: SubscriptionInfo,
 ) {
-    val originalSimCarrierName = subInfo.displayName.toString()
-    var titleSimName by remember {
-        mutableStateOf(onboardingService.getSubscriptionInfoDisplayName(subInfo))
+    val currentSimName = onboardingService.getSubscriptionInfoDisplayName(subInfo)
+    var prefTitle by remember {
+        mutableStateOf(currentSimName)
+    }
+    var dialogInputContent by remember {
+        mutableStateOf(currentSimName)
     }
     val phoneNumber = phoneNumber(subInfo)
     val alertDialogPresenter = rememberAlertDialogPresenter(
         confirmButton = AlertDialogButton(
             stringResource(R.string.mobile_network_sim_name_rename),
-            titleSimName.isNotBlank()
+            dialogInputContent.isNotBlank()
         ) {
             onboardingService.addItemForRenaming(
-                subInfo, if (titleSimName.isEmpty()) originalSimCarrierName else titleSimName
+                subInfo, dialogInputContent
             )
+            prefTitle = dialogInputContent
         },
         dismissButton = AlertDialogButton(
             stringResource(R.string.cancel),
         ) {
-            titleSimName = onboardingService.getSubscriptionInfoDisplayName(subInfo)
+            // Do nothing
         },
         title = stringResource(R.string.sim_onboarding_label_sim_dialog_title),
         text = {
@@ -107,17 +111,19 @@
                 modifier = Modifier.padding(bottom = SettingsDimension.itemPaddingVertical)
             )
             SettingsOutlinedTextField(
-                value = titleSimName,
+                value = dialogInputContent,
                 label = stringResource(R.string.sim_onboarding_label_sim_dialog_label),
-                placeholder = {Text(text = originalSimCarrierName)},
-                modifier = Modifier.fillMaxWidth().testTag("contentInput")
+                placeholder = {Text(text = subInfo.displayName.toString())},
+                modifier = Modifier
+                    .fillMaxWidth()
+                    .testTag("contentInput")
             ) {
-                titleSimName = it
+                dialogInputContent = it
             }
         },
     )
     Preference(object : PreferenceModel {
-        override val title = titleSimName
+        override val title = prefTitle
         override val summary = { phoneNumber.value ?: "" }
         override val onClick = alertDialogPresenter::open
     })
diff --git a/src/com/android/settings/spa/network/SimsSection.kt b/src/com/android/settings/spa/network/SimsSection.kt
index 842656e..276d121 100644
--- a/src/com/android/settings/spa/network/SimsSection.kt
+++ b/src/com/android/settings/spa/network/SimsSection.kt
@@ -40,6 +40,7 @@
 import com.android.settings.network.telephony.MobileNetworkUtils
 import com.android.settings.network.telephony.SubscriptionActivationRepository
 import com.android.settings.network.telephony.SubscriptionRepository
+import com.android.settings.network.telephony.euicc.EuiccRepository
 import com.android.settings.network.telephony.phoneNumberFlow
 import com.android.settingslib.spa.widget.preference.PreferenceModel
 import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
@@ -120,13 +121,17 @@
 @Composable
 private fun AddSim() {
     val context = LocalContext.current
-    if (remember { MobileNetworkUtils.showEuiccSettings(context) }) {
+    val isShow by
+        remember { EuiccRepository(context).showEuiccSettingsFlow() }
+            .collectAsStateWithLifecycle(initialValue = false)
+    if (isShow) {
         RestrictedPreference(
-            model = object : PreferenceModel {
-                override val title = stringResource(id = R.string.mobile_network_list_add_more)
-                override val icon = @Composable { SettingsIcon(Icons.Outlined.Add) }
-                override val onClick = { startAddSimFlow(context) }
-            },
+            model =
+                object : PreferenceModel {
+                    override val title = stringResource(id = R.string.mobile_network_list_add_more)
+                    override val icon = @Composable { SettingsIcon(Icons.Outlined.Add) }
+                    override val onClick = { startAddSimFlow(context) }
+                },
             restrictions = Restrictions(keys = listOf(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS)),
         )
     }
diff --git a/src/com/android/settings/spa/notification/AppNotificationsListModel.kt b/src/com/android/settings/spa/notification/AppNotificationsListModel.kt
index 9f949c4..8a534c8 100644
--- a/src/com/android/settings/spa/notification/AppNotificationsListModel.kt
+++ b/src/com/android/settings/spa/notification/AppNotificationsListModel.kt
@@ -105,7 +105,7 @@
 
     override fun getSpinnerOptions(recordList: List<AppNotificationsRecord>): List<SpinnerOption> {
         val options = mutableListOf(SpinnerItem.AllApps, SpinnerItem.TurnedOff)
-        if (repository.isUserUnlocked(recordList[0].app.userId)) {
+        if (recordList.isNotEmpty() && repository.isUserUnlocked(recordList[0].app.userId)) {
             options.add(0, SpinnerItem.MostRecent)
             options.add(1, SpinnerItem.MostFrequent)
         }
diff --git a/src/com/android/settings/spa/search/SearchablePage.kt b/src/com/android/settings/spa/search/SearchablePage.kt
new file mode 100644
index 0000000..f4a8795
--- /dev/null
+++ b/src/com/android/settings/spa/search/SearchablePage.kt
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.spa.search
+
+import android.content.Context
+
+interface SearchablePage {
+
+    /** Gets the title of the page. */
+    fun getPageTitleForSearch(context: Context): String = ""
+
+    /** Gets the titles of the searchable items at the current moment. */
+    fun getSearchableTitles(context: Context): List<String>
+}
diff --git a/src/com/android/settings/spa/search/SpaSearchLandingActivity.kt b/src/com/android/settings/spa/search/SpaSearchLandingActivity.kt
new file mode 100644
index 0000000..2c0955b
--- /dev/null
+++ b/src/com/android/settings/spa/search/SpaSearchLandingActivity.kt
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.spa.search
+
+import android.app.Activity
+import android.app.settings.SettingsEnums
+import android.content.Context
+import android.os.Bundle
+import android.util.Log
+import androidx.annotation.VisibleForTesting
+import com.android.settings.SettingsActivity.EXTRA_FRAGMENT_ARG_KEY
+import com.android.settings.core.SubSettingLauncher
+import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
+import com.android.settings.password.PasswordUtils
+import com.android.settings.spa.SpaDestination
+
+class SpaSearchLandingActivity : Activity() {
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        val keyString = intent.getStringExtra(EXTRA_FRAGMENT_ARG_KEY)
+        if (!keyString.isNullOrEmpty() && isValidCall()) {
+            tryLaunch(this, keyString)
+        }
+        finish()
+    }
+
+    private fun isValidCall() =
+        PasswordUtils.getCallingAppPackageName(activityToken) ==
+            featureFactory.searchFeatureProvider.getSettingsIntelligencePkgName(this)
+
+    companion object {
+        @VisibleForTesting
+        fun tryLaunch(context: Context, keyString: String) {
+            val key = decodeToSpaSearchLandingKey(keyString) ?: return
+            if (key.hasSpaPage()) {
+                val destination = key.spaPage.destination
+                if (destination.isNotEmpty()) {
+                    Log.d(TAG, "Launch SPA search result: ${key.spaPage}")
+                    SpaDestination(destination = destination, highlightMenuKey = null)
+                        .startFromExportedActivity(context)
+                }
+            }
+            if (key.hasFragment()) {
+                Log.d(TAG, "Launch fragment search result: ${key.fragment}")
+                val arguments =
+                    Bundle().apply {
+                        key.fragment.argumentsMap.forEach { (k, v) ->
+                            if (v.hasIntValue()) putInt(k, v.intValue)
+                        }
+                        putString(EXTRA_FRAGMENT_ARG_KEY, key.fragment.preferenceKey)
+                    }
+                SubSettingLauncher(context)
+                    .setDestination(key.fragment.fragmentName)
+                    .setArguments(arguments)
+                    .setSourceMetricsCategory(SettingsEnums.PAGE_UNKNOWN)
+                    .launch()
+            }
+        }
+
+        private const val TAG = "SpaSearchLandingActivity"
+    }
+}
diff --git a/src/com/android/settings/spa/search/SpaSearchLandingKeyExt.kt b/src/com/android/settings/spa/search/SpaSearchLandingKeyExt.kt
new file mode 100644
index 0000000..9540d9b
--- /dev/null
+++ b/src/com/android/settings/spa/search/SpaSearchLandingKeyExt.kt
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.spa.search
+
+import android.util.Base64
+import android.util.Log
+import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingKey
+
+private const val TAG = "SpaSearchLandingKeyExt"
+
+fun SpaSearchLandingKey.encodeToString(): String =
+    Base64.encodeToString(toByteArray(), Base64.DEFAULT)
+
+fun decodeToSpaSearchLandingKey(input: String): SpaSearchLandingKey? =
+    try {
+        SpaSearchLandingKey.parseFrom(Base64.decode(input, Base64.DEFAULT))
+    } catch (e: Exception) {
+        Log.w(TAG, "SpaSearchLandingKey ($input) invalid", e)
+        null
+    }
diff --git a/src/com/android/settings/spa/search/SpaSearchRepository.kt b/src/com/android/settings/spa/search/SpaSearchRepository.kt
new file mode 100644
index 0000000..b1003ae
--- /dev/null
+++ b/src/com/android/settings/spa/search/SpaSearchRepository.kt
@@ -0,0 +1,111 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.spa.search
+
+import android.content.Context
+import android.provider.SearchIndexableResource
+import android.util.Log
+import androidx.annotation.VisibleForTesting
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex
+import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingKey
+import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingSpaPage
+import com.android.settingslib.search.Indexable
+import com.android.settingslib.search.SearchIndexableData
+import com.android.settingslib.search.SearchIndexableRaw
+import com.android.settingslib.spa.framework.common.SettingsPageProvider
+import com.android.settingslib.spa.framework.common.SpaEnvironment
+import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory
+
+class SpaSearchRepository(
+    private val spaEnvironment: SpaEnvironment = SpaEnvironmentFactory.instance,
+) {
+    fun getSearchIndexableDataList(): List<SearchIndexableData> {
+        Log.d(TAG, "getSearchIndexableDataList")
+        return spaEnvironment.pageProviderRepository.value.getAllProviders().mapNotNull { page ->
+            if (page is SearchablePage) {
+                page.createSearchIndexableData(
+                    page::getPageTitleForSearch, page::getSearchableTitles)
+            } else null
+        } + MobileNetworkSettingsSearchIndex().createSearchIndexableData()
+    }
+
+    companion object {
+        private const val TAG = "SpaSearchRepository"
+
+        @VisibleForTesting
+        fun SettingsPageProvider.createSearchIndexableData(
+            getPageTitleForSearch: (context: Context) -> String,
+            titlesProvider: (context: Context) -> List<String>,
+        ): SearchIndexableData {
+            val key =
+                SpaSearchLandingKey.newBuilder()
+                    .setSpaPage(SpaSearchLandingSpaPage.newBuilder().setDestination(name))
+                    .build()
+            val indexableClass = this::class.java
+            val searchIndexProvider = searchIndexProviderOf { context ->
+                val pageTitle = getPageTitleForSearch(context)
+                titlesProvider(context).map { itemTitle ->
+                    createSearchIndexableRaw(context, key, itemTitle, indexableClass, pageTitle)
+                }
+            }
+            return SearchIndexableData(indexableClass, searchIndexProvider)
+        }
+
+        fun searchIndexProviderOf(
+            getDynamicRawDataToIndex: (context: Context) -> List<SearchIndexableRaw>,
+        ) =
+            object : Indexable.SearchIndexProvider {
+                override fun getXmlResourcesToIndex(
+                    context: Context,
+                    enabled: Boolean,
+                ): List<SearchIndexableResource> = emptyList()
+
+                override fun getRawDataToIndex(
+                    context: Context,
+                    enabled: Boolean,
+                ): List<SearchIndexableRaw> = emptyList()
+
+                override fun getDynamicRawDataToIndex(
+                    context: Context,
+                    enabled: Boolean,
+                ): List<SearchIndexableRaw> = getDynamicRawDataToIndex(context)
+
+                override fun getNonIndexableKeys(context: Context): List<String> = emptyList()
+            }
+
+        fun createSearchIndexableRaw(
+            context: Context,
+            spaSearchLandingKey: SpaSearchLandingKey,
+            itemTitle: String,
+            indexableClass: Class<*>,
+            pageTitle: String,
+            keywords: String? = null,
+        ) =
+            SearchIndexableRaw(context).apply {
+                key = spaSearchLandingKey.encodeToString()
+                title = itemTitle
+                this.keywords = keywords
+                intentAction = SEARCH_LANDING_ACTION
+                intentTargetClass = SpaSearchLandingActivity::class.qualifiedName
+                packageName = context.packageName
+                className = indexableClass.name
+                screenTitle = pageTitle
+            }
+
+        private const val SEARCH_LANDING_ACTION = "android.settings.SPA_SEARCH_LANDING"
+    }
+}
diff --git a/src/com/android/settings/system/FactoryResetPreferenceController.java b/src/com/android/settings/system/FactoryResetPreferenceController.java
index df7cc3d..54c97a3 100644
--- a/src/com/android/settings/system/FactoryResetPreferenceController.java
+++ b/src/com/android/settings/system/FactoryResetPreferenceController.java
@@ -16,6 +16,7 @@
 package com.android.settings.system;
 
 import android.Manifest;
+import android.annotation.RequiresPermission;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageInfo;
@@ -37,8 +38,8 @@
 
     private static final String TAG = "FactoryResetPreference";
 
-    @VisibleForTesting
-    static final String ACTION_PREPARE_FACTORY_RESET =
+    @RequiresPermission(Manifest.permission.PREPARE_FACTORY_RESET)
+    public static final String ACTION_PREPARE_FACTORY_RESET =
             "com.android.settings.ACTION_PREPARE_FACTORY_RESET";
 
     private final UserManager mUm;
diff --git a/src/com/android/settings/system/reset/ResetNetworkConfirm.kt b/src/com/android/settings/system/reset/ResetNetworkConfirm.kt
new file mode 100644
index 0000000..b353f69
--- /dev/null
+++ b/src/com/android/settings/system/reset/ResetNetworkConfirm.kt
@@ -0,0 +1,234 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.system.reset
+
+import android.app.ProgressDialog
+import android.app.settings.SettingsEnums
+import android.content.DialogInterface
+import android.os.Bundle
+import android.os.Looper
+import android.telephony.SubscriptionManager
+import android.util.Log
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import android.widget.Toast
+import androidx.annotation.VisibleForTesting
+import androidx.appcompat.app.AlertDialog
+import androidx.lifecycle.lifecycleScope
+import com.android.settings.R
+import com.android.settings.ResetNetworkRequest
+import com.android.settings.Utils
+import com.android.settings.core.InstrumentedFragment
+import com.android.settings.network.ResetNetworkRestrictionViewBuilder
+import com.android.settings.network.telephony.SubscriptionRepository
+import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.conflate
+import kotlinx.coroutines.flow.emptyFlow
+import kotlinx.coroutines.flow.flowOn
+import kotlinx.coroutines.flow.mapNotNull
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
+
+/**
+ * Confirm and execute a reset of the network settings to a clean "just out of the box" state.
+ * Multiple confirmations are required: first, a general "are you sure you want to do this?" prompt,
+ * followed by a keyguard pattern trace if the user has defined one, followed by a final
+ * strongly-worded "THIS WILL RESET EVERYTHING" prompt. If at any time the phone is allowed to go to
+ * sleep, is locked, et cetera, then the confirmation sequence is abandoned.
+ *
+ * This is the confirmation screen.
+ */
+class ResetNetworkConfirm : InstrumentedFragment() {
+    @VisibleForTesting
+    lateinit var resetNetworkRequest: ResetNetworkRequest
+    private var progressDialog: ProgressDialog? = null
+    private var alertDialog: AlertDialog? = null
+    private var resetStarted = false
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+
+        Log.d(TAG, "onCreate: $arguments")
+        resetNetworkRequest = ResetNetworkRequest(arguments)
+    }
+
+    override fun onCreateView(
+        inflater: LayoutInflater,
+        container: ViewGroup?,
+        savedInstanceState: Bundle?
+    ): View {
+        val view = ResetNetworkRestrictionViewBuilder(requireActivity()).build()
+        if (view != null) {
+            Log.w(TAG, "Access deny.")
+            return view
+        }
+        return inflater.inflate(R.layout.reset_network_confirm, null).apply {
+            establishFinalConfirmationState()
+            setSubtitle()
+        }
+    }
+
+    /** Configure the UI for the final confirmation interaction */
+    private fun View.establishFinalConfirmationState() {
+        requireViewById<View>(R.id.execute_reset_network).setOnClickListener {
+            showResetInternetDialog();
+        }
+    }
+
+    private fun View.setSubtitle() {
+        if (resetNetworkRequest.resetEsimPackageName != null) {
+            requireViewById<TextView>(R.id.reset_network_confirm)
+                .setText(R.string.reset_network_final_desc_esim)
+        }
+    }
+
+    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+        super.onViewCreated(view, savedInstanceState)
+        invalidSubIdFlow().collectLatestWithLifecycle(viewLifecycleOwner) { invalidSubId ->
+            // Reset process could triage this callback, so if reset has started, ignore the event.
+            if (!resetStarted) {
+                Log.w(TAG, "subId $invalidSubId no longer active.")
+                requireActivity().finish()
+            }
+        }
+    }
+
+    /**
+     * Monitor the sub ids in the request, if any sub id becomes inactive, the request is abandoned.
+     */
+    private fun invalidSubIdFlow(): Flow<Int> {
+        val subIdsInRequest =
+            listOf(
+                resetNetworkRequest.resetTelephonyAndNetworkPolicyManager,
+                resetNetworkRequest.resetApnSubId,
+                resetNetworkRequest.resetImsSubId,
+            )
+                .distinct()
+                .filter(SubscriptionManager::isUsableSubscriptionId)
+
+        if (subIdsInRequest.isEmpty()) return emptyFlow()
+
+        return SubscriptionRepository(requireContext())
+            .activeSubscriptionIdListFlow()
+            .mapNotNull { activeSubIds -> subIdsInRequest.firstOrNull { it !in activeSubIds } }
+            .conflate()
+            .flowOn(Dispatchers.Default)
+    }
+
+    /**
+     * The user has gone through the multiple confirmation, so now we go ahead and reset the network
+     * settings to its factory-default state.
+     */
+    @VisibleForTesting
+    suspend fun onResetClicked() {
+        showProgressDialog()
+        resetNetwork()
+    }
+
+    private fun showProgressDialog() {
+        progressDialog =
+            ProgressDialog(requireContext()).apply {
+                isIndeterminate = true
+                setCancelable(false)
+                setMessage(requireContext().getString(R.string.main_clear_progress_text))
+                show()
+            }
+    }
+
+    private fun dismissProgressDialog() {
+        progressDialog?.let { progressDialog ->
+            if (progressDialog.isShowing) {
+                progressDialog.dismiss()
+            }
+        }
+    }
+
+    private fun showResetInternetDialog() {
+        val builder = AlertDialog.Builder(requireContext())
+        val resetInternetClickListener =
+            DialogInterface.OnClickListener { dialog, which ->
+                if (!Utils.isMonkeyRunning() && !resetStarted) {
+                    resetStarted = true
+                    viewLifecycleOwner.lifecycleScope.launch { onResetClicked() }
+                }
+            }
+
+        builder.setTitle(R.string.reset_your_internet_title)
+            .setMessage(R.string.reset_internet_text)
+            .setPositiveButton(R.string.tts_reset, resetInternetClickListener)
+            .setNegativeButton(android.R.string.cancel, null)
+            .create()
+            .show()
+    }
+
+    /**
+     * Do all reset task.
+     *
+     * If error happens during erasing eSIM profiles or timeout, an error msg is shown.
+     */
+    private suspend fun resetNetwork() {
+        var resetEsimSuccess = true
+
+        withContext(Dispatchers.Default) {
+            val builder =
+                resetNetworkRequest.toResetNetworkOperationBuilder(
+                    requireContext(), Looper.getMainLooper()
+                )
+            resetNetworkRequest.resetEsimPackageName?.let {
+                builder.resetEsimResultCallback { resetEsimSuccess = it }
+            }
+            builder.build().run()
+        }
+
+        Log.d(TAG, "network factoryReset complete. succeeded: $resetEsimSuccess")
+        onResetFinished(resetEsimSuccess)
+    }
+
+    private fun onResetFinished(resetEsimSuccess: Boolean) {
+        dismissProgressDialog()
+        val activity = requireActivity()
+
+        if (!resetEsimSuccess) {
+            alertDialog =
+                AlertDialog.Builder(activity)
+                    .setTitle(R.string.reset_esim_error_title)
+                    .setMessage(R.string.reset_esim_error_msg)
+                    .setPositiveButton(android.R.string.ok, /* listener= */ null)
+                    .show()
+        } else {
+            Toast.makeText(activity, R.string.reset_network_complete_toast, Toast.LENGTH_SHORT)
+                .show()
+            activity.finish()
+        }
+    }
+
+    override fun onDestroy() {
+        progressDialog?.dismiss()
+        alertDialog?.dismiss()
+        super.onDestroy()
+    }
+
+    override fun getMetricsCategory() = SettingsEnums.RESET_NETWORK_CONFIRM
+
+    private companion object {
+        const val TAG = "ResetNetworkConfirm"
+    }
+}
diff --git a/src/com/android/settings/users/AddUserWhenLockedPreferenceController.java b/src/com/android/settings/users/AddUserWhenLockedPreferenceController.java
index ce5533e..fe90a2a 100644
--- a/src/com/android/settings/users/AddUserWhenLockedPreferenceController.java
+++ b/src/com/android/settings/users/AddUserWhenLockedPreferenceController.java
@@ -42,9 +42,18 @@
         if (!isAvailable()) {
             restrictedSwitchPreference.setVisible(false);
         } else {
-            restrictedSwitchPreference.setDisabledByAdmin(
-                    mUserCaps.disallowAddUser() ? mUserCaps.getEnforcedAdmin() : null);
-            restrictedSwitchPreference.setVisible(mUserCaps.mUserSwitcherEnabled);
+            if (android.multiuser.Flags.newMultiuserSettingsUx()) {
+                restrictedSwitchPreference.setVisible(true);
+                if (mUserCaps.mDisallowAddUserSetByAdmin) {
+                    restrictedSwitchPreference.setDisabledByAdmin(mUserCaps.mEnforcedAdmin);
+                } else if (mUserCaps.mDisallowAddUser) {
+                    restrictedSwitchPreference.setVisible(false);
+                }
+            } else {
+                restrictedSwitchPreference.setDisabledByAdmin(
+                        mUserCaps.disallowAddUser() ? mUserCaps.getEnforcedAdmin() : null);
+                restrictedSwitchPreference.setVisible(mUserCaps.mUserSwitcherEnabled);
+            }
         }
     }
 
@@ -52,6 +61,8 @@
     public int getAvailabilityStatus() {
         if (!mUserCaps.isAdmin()) {
             return DISABLED_FOR_USER;
+        } else if (android.multiuser.Flags.newMultiuserSettingsUx()) {
+            return AVAILABLE;
         } else if (mUserCaps.disallowAddUser() || mUserCaps.disallowAddUserSetByAdmin()) {
             return DISABLED_FOR_USER;
         } else {
diff --git a/src/com/android/settings/users/AppRestrictionsFragment.java b/src/com/android/settings/users/AppRestrictionsFragment.java
index 1532448..c42e2f5 100644
--- a/src/com/android/settings/users/AppRestrictionsFragment.java
+++ b/src/com/android/settings/users/AppRestrictionsFragment.java
@@ -651,7 +651,7 @@
                     int requestCode = generateCustomActivityRequestCode(
                             RestrictionsResultReceiver.this.preference);
                     AppRestrictionsFragment.this.startActivityForResult(
-                            restrictionsIntent, requestCode);
+                            new Intent(restrictionsIntent), requestCode);
                 }
             }
         }
diff --git a/src/com/android/settings/users/GuestTelephonyPreferenceController.java b/src/com/android/settings/users/GuestTelephonyPreferenceController.java
index 4fbd449..e730cbf 100644
--- a/src/com/android/settings/users/GuestTelephonyPreferenceController.java
+++ b/src/com/android/settings/users/GuestTelephonyPreferenceController.java
@@ -19,12 +19,16 @@
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.os.Bundle;
+import android.os.UserHandle;
 import android.os.UserManager;
 
 import androidx.preference.Preference;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedLockUtilsInternal;
+import com.android.settingslib.RestrictedSwitchPreference;
 
 /**
  * Controls the preference on the user settings screen which determines whether the guest user
@@ -43,10 +47,21 @@
 
     @Override
     public int getAvailabilityStatus() {
-        if (!mUserCaps.isAdmin() || !mUserCaps.mCanAddGuest) {
+        if (!mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY)
+                || UserManager.isHeadlessSystemUserMode()) {
             return DISABLED_FOR_USER;
+        }
+        if (android.multiuser.Flags.newMultiuserSettingsUx()) {
+            if (!mUserCaps.isAdmin()) {
+                return DISABLED_FOR_USER;
+            }
+            return AVAILABLE;
         } else {
-            return mUserCaps.mUserSwitcherEnabled ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+            if (!mUserCaps.isAdmin() || !mUserCaps.mCanAddGuest) {
+                return DISABLED_FOR_USER;
+            } else {
+                return mUserCaps.mUserSwitcherEnabled ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+            }
         }
     }
 
@@ -74,8 +89,31 @@
     public void updateState(Preference preference) {
         super.updateState(preference);
         mUserCaps.updateAddUserCapabilities(mContext);
-        preference.setVisible(isAvailable() && mUserCaps.mUserSwitcherEnabled
-                && mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY)
-                && !UserManager.isHeadlessSystemUserMode());
+        final RestrictedSwitchPreference restrictedSwitchPreference =
+                (RestrictedSwitchPreference) preference;
+        restrictedSwitchPreference.setChecked(isChecked());
+        if (!isAvailable()) {
+            restrictedSwitchPreference.setVisible(false);
+        } else {
+            if (android.multiuser.Flags.newMultiuserSettingsUx()) {
+                restrictedSwitchPreference.setVisible(true);
+                final RestrictedLockUtils.EnforcedAdmin disallowRemoveUserAdmin =
+                        RestrictedLockUtilsInternal.checkIfRestrictionEnforced(mContext,
+                                UserManager.DISALLOW_REMOVE_USER, UserHandle.myUserId());
+                if (disallowRemoveUserAdmin != null) {
+                    restrictedSwitchPreference.setDisabledByAdmin(disallowRemoveUserAdmin);
+                } else if (mUserCaps.mDisallowAddUserSetByAdmin) {
+                    restrictedSwitchPreference.setDisabledByAdmin(mUserCaps.mEnforcedAdmin);
+                } else if (mUserCaps.mDisallowAddUser) {
+                    // Adding user is restricted by system
+                    restrictedSwitchPreference.setVisible(false);
+                }
+            } else {
+                restrictedSwitchPreference.setDisabledByAdmin(
+                        mUserCaps.disallowAddUser() ? mUserCaps.getEnforcedAdmin() : null);
+                restrictedSwitchPreference.setVisible(mUserCaps.mUserSwitcherEnabled
+                        && isAvailable());
+            }
+        }
     }
 }
diff --git a/src/com/android/settings/users/MultiUserSwitchBarController.java b/src/com/android/settings/users/MultiUserSwitchBarController.java
index f57b795..1d64141 100644
--- a/src/com/android/settings/users/MultiUserSwitchBarController.java
+++ b/src/com/android/settings/users/MultiUserSwitchBarController.java
@@ -17,6 +17,7 @@
 package com.android.settings.users;
 
 import android.content.Context;
+import android.multiuser.Flags;
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.provider.Settings;
@@ -25,6 +26,7 @@
 import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.widget.SwitchWidgetController;
+import com.android.settingslib.RestrictedLockUtils;
 import com.android.settingslib.RestrictedLockUtilsInternal;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnStart;
@@ -51,21 +53,33 @@
         mSwitchBar = switchBar;
         mListener = listener;
         mUserCapabilities = UserCapabilities.create(context);
+        updateState();
+        mSwitchBar.setListener(this);
+    }
+
+    void updateState() {
+        mUserCapabilities.updateAddUserCapabilities(mContext);
         mSwitchBar.setChecked(mUserCapabilities.mUserSwitcherEnabled);
 
-        if (mUserCapabilities.mDisallowSwitchUser) {
-            mSwitchBar.setDisabledByAdmin(RestrictedLockUtilsInternal
+        if (Flags.fixDisablingOfMuToggleWhenRestrictionApplied()) {
+            RestrictedLockUtils.EnforcedAdmin enforcedAdmin = RestrictedLockUtilsInternal
                     .checkIfRestrictionEnforced(mContext, UserManager.DISALLOW_USER_SWITCH,
-                            UserHandle.myUserId()));
-
-        } else if (mUserCapabilities.mDisallowAddUser) {
-            mSwitchBar.setDisabledByAdmin(RestrictedLockUtilsInternal
-                    .checkIfRestrictionEnforced(mContext, UserManager.DISALLOW_ADD_USER,
-                            UserHandle.myUserId()));
+                            UserHandle.myUserId());
+            if (enforcedAdmin != null) {
+                mSwitchBar.setDisabledByAdmin(enforcedAdmin);
+            } else {
+                mSwitchBar.setEnabled(mUserCapabilities.mIsMain
+                        && !mUserCapabilities.mDisallowSwitchUser);
+            }
         } else {
-            mSwitchBar.setEnabled(mUserCapabilities.mIsMain);
+            if (mUserCapabilities.mDisallowSwitchUser) {
+                mSwitchBar.setDisabledByAdmin(RestrictedLockUtilsInternal
+                        .checkIfRestrictionEnforced(mContext, UserManager.DISALLOW_USER_SWITCH,
+                                UserHandle.myUserId()));
+            } else {
+                mSwitchBar.setEnabled(mUserCapabilities.mIsMain);
+            }
         }
-        mSwitchBar.setListener(this);
     }
 
     @Override
@@ -83,7 +97,7 @@
         Log.d(TAG, "Toggling multi-user feature enabled state to: " + isChecked);
         final boolean success = Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.USER_SWITCHER_ENABLED, isChecked ? 1 : 0);
-        if (success && mListener != null) {
+        if (success && mListener != null && !Flags.newMultiuserSettingsUx()) {
             mListener.onMultiUserSwitchChanged(isChecked);
         }
         return success;
diff --git a/src/com/android/settings/users/RemoveGuestOnExitPreferenceController.java b/src/com/android/settings/users/RemoveGuestOnExitPreferenceController.java
index 01df5fd..345b506 100644
--- a/src/com/android/settings/users/RemoveGuestOnExitPreferenceController.java
+++ b/src/com/android/settings/users/RemoveGuestOnExitPreferenceController.java
@@ -22,6 +22,7 @@
 import android.content.pm.UserInfo;
 import android.os.Bundle;
 import android.os.Handler;
+import android.os.UserHandle;
 import android.os.UserManager;
 import android.provider.Settings;
 import android.util.Log;
@@ -33,6 +34,8 @@
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedLockUtilsInternal;
 import com.android.settingslib.RestrictedSwitchPreference;
 
 /**
@@ -70,9 +73,24 @@
         if (!isAvailable()) {
             restrictedSwitchPreference.setVisible(false);
         } else {
-            restrictedSwitchPreference.setDisabledByAdmin(
-                    mUserCaps.disallowAddUser() ? mUserCaps.getEnforcedAdmin() : null);
-            restrictedSwitchPreference.setVisible(mUserCaps.mUserSwitcherEnabled);
+            if (android.multiuser.Flags.newMultiuserSettingsUx()) {
+                restrictedSwitchPreference.setVisible(true);
+                final RestrictedLockUtils.EnforcedAdmin disallowRemoveUserAdmin =
+                        RestrictedLockUtilsInternal.checkIfRestrictionEnforced(mContext,
+                                UserManager.DISALLOW_REMOVE_USER, UserHandle.myUserId());
+                if (disallowRemoveUserAdmin != null) {
+                    restrictedSwitchPreference.setDisabledByAdmin(disallowRemoveUserAdmin);
+                } else if (mUserCaps.mDisallowAddUserSetByAdmin) {
+                    restrictedSwitchPreference.setDisabledByAdmin(mUserCaps.mEnforcedAdmin);
+                } else if (mUserCaps.mDisallowAddUser) {
+                    // Adding user is restricted by system
+                    restrictedSwitchPreference.setVisible(false);
+                }
+            } else {
+                restrictedSwitchPreference.setDisabledByAdmin(
+                        mUserCaps.disallowAddUser() ? mUserCaps.getEnforcedAdmin() : null);
+                restrictedSwitchPreference.setVisible(mUserCaps.mUserSwitcherEnabled);
+            }
         }
     }
 
@@ -82,14 +100,24 @@
         // then disable this controller
         // also disable this controller for non-admin users
         // also disable when config_guestUserAllowEphemeralStateChange is false
-        if (mUserManager.isGuestUserAlwaysEphemeral()
-                || !UserManager.isGuestUserAllowEphemeralStateChange()
-                || !mUserCaps.isAdmin()
-                || mUserCaps.disallowAddUser()
-                || mUserCaps.disallowAddUserSetByAdmin()) {
-            return DISABLED_FOR_USER;
+        if (android.multiuser.Flags.newMultiuserSettingsUx()) {
+            if (mUserManager.isGuestUserAlwaysEphemeral()
+                    || !UserManager.isGuestUserAllowEphemeralStateChange()
+                    || !mUserCaps.isAdmin()) {
+                return DISABLED_FOR_USER;
+            } else {
+                return AVAILABLE;
+            }
         } else {
-            return mUserCaps.mUserSwitcherEnabled ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+            if (mUserManager.isGuestUserAlwaysEphemeral()
+                    || !UserManager.isGuestUserAllowEphemeralStateChange()
+                    || !mUserCaps.isAdmin()
+                    || mUserCaps.disallowAddUser()
+                    || mUserCaps.disallowAddUserSetByAdmin()) {
+                return DISABLED_FOR_USER;
+            } else {
+                return mUserCaps.mUserSwitcherEnabled ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+            }
         }
     }
 
diff --git a/src/com/android/settings/users/UserCapabilities.java b/src/com/android/settings/users/UserCapabilities.java
index 590cb0c..60e92a8 100644
--- a/src/com/android/settings/users/UserCapabilities.java
+++ b/src/com/android/settings/users/UserCapabilities.java
@@ -76,6 +76,9 @@
     public void updateAddUserCapabilities(Context context) {
         final UserManager userManager =
                 (UserManager) context.getSystemService(Context.USER_SERVICE);
+        final UserInfo myUserInfo = userManager.getUserInfo(UserHandle.myUserId());
+        mIsAdmin = myUserInfo.isAdmin();
+
         mEnforcedAdmin = RestrictedLockUtilsInternal.checkIfRestrictionEnforced(context,
                 UserManager.DISALLOW_ADD_USER, UserHandle.myUserId());
         final boolean hasBaseUserRestriction = RestrictedLockUtilsInternal.hasBaseUserRestriction(
diff --git a/src/com/android/settings/users/UserDetailsSettings.java b/src/com/android/settings/users/UserDetailsSettings.java
index b48c717..8afab96 100644
--- a/src/com/android/settings/users/UserDetailsSettings.java
+++ b/src/com/android/settings/users/UserDetailsSettings.java
@@ -126,7 +126,11 @@
     @Override
     public void onResume() {
         super.onResume();
-        mSwitchUserPref.setEnabled(canSwitchUserNow());
+        if (android.multiuser.Flags.newMultiuserSettingsUx()) {
+            mSwitchUserPref.setEnabled(canSwitchUserNow() && mUserCaps.mUserSwitcherEnabled);
+        } else {
+            mSwitchUserPref.setEnabled(canSwitchUserNow());
+        }
         if (mUserInfo.isGuest() && mGuestUserAutoCreated) {
             mRemoveUserPref.setEnabled((mUserInfo.flags & UserInfo.FLAG_INITIALIZED) != 0);
         }
@@ -358,18 +362,29 @@
             mSwitchUserPref.setDisabledByAdmin(RestrictedLockUtilsInternal.getDeviceOwner(context));
         } else {
             mSwitchUserPref.setDisabledByAdmin(null);
-            mSwitchUserPref.setSelectable(true);
+            if (android.multiuser.Flags.newMultiuserSettingsUx()) {
+                mSwitchUserPref.setEnabled(mUserCaps.mUserSwitcherEnabled);
+                mSwitchUserPref.setSelectable(mUserCaps.mUserSwitcherEnabled);
+            } else {
+                mSwitchUserPref.setSelectable(true);
+            }
             mSwitchUserPref.setOnPreferenceClickListener(this);
         }
-        if (mUserInfo.isMain() || mUserInfo.isGuest() || !UserManager.isMultipleAdminEnabled()
-                || mUserManager.hasUserRestrictionForUser(UserManager.DISALLOW_GRANT_ADMIN,
-                mUserInfo.getUserHandle())) {
-            removePreference(KEY_GRANT_ADMIN);
+        if (android.multiuser.Flags.unicornModeRefactoringForHsumReadOnly()) {
+            if (isChangingAdminStatusRestricted()) {
+                removePreference(KEY_GRANT_ADMIN);
+            }
+        } else {
+            if (mUserInfo.isMain() || mUserInfo.isGuest() || !UserManager.isMultipleAdminEnabled()
+                    || mUserManager.hasUserRestrictionForUser(UserManager.DISALLOW_GRANT_ADMIN,
+                    mUserInfo.getUserHandle()) || !mUserManager.isAdminUser()) {
+                removePreference(KEY_GRANT_ADMIN);
+            }
         }
+
         if (!mUserManager.isAdminUser()) { // non admin users can't remove users and allow calls
             removePreference(KEY_ENABLE_TELEPHONY);
             removePreference(KEY_REMOVE_USER);
-            removePreference(KEY_GRANT_ADMIN);
             removePreference(KEY_APP_AND_CONTENT_ACCESS);
             removePreference(KEY_APP_COPYING);
         } else {
@@ -544,4 +559,35 @@
         //  return true so there will be no setup prompt dialog shown to the user anymore.
         return isSecondaryUser(mUserInfo) && !mUserInfo.isInitialized();
     }
+
+    /**
+     * Determines if changing admin status is restricted.
+     *
+     * <p>Admin status change is restricted under the following conditions of current & target user.
+     *
+     * <ul>
+     *   <li>The <b>current</b> user is NOT an admin user.</li>
+     *   <li>OR multiple admin support is NOT enabled.</li>
+     *   <li>OR the <b>current</b> user has DISALLOW_GRANT_ADMIN restriction applied</li>
+     *
+     *   <li>OR the <b>target</b> user ('mUserInfo') is a main user</li>
+     *   <li>OR the <b>target</b> user ('mUserInfo') is not of type
+     *   {@link UserManager#USER_TYPE_FULL_SECONDARY}</li>
+     *   <li>OR the <b>target</b> user ('mUserInfo') has DISALLOW_GRANT_ADMIN restriction.</li>
+     * </ul>
+     *
+     * @return true if changing admin status is restricted, false otherwise
+     */
+    private boolean isChangingAdminStatusRestricted() {
+        boolean currentUserRestricted = !mUserManager.isAdminUser()
+                || !UserManager.isMultipleAdminEnabled()
+                || mUserManager.hasUserRestriction(UserManager.DISALLOW_GRANT_ADMIN);
+
+        boolean targetUserRestricted = mUserInfo.isMain()
+                || !(UserManager.USER_TYPE_FULL_SECONDARY.equals(mUserInfo.userType))
+                || mUserManager.hasUserRestrictionForUser(UserManager.DISALLOW_GRANT_ADMIN,
+                mUserInfo.getUserHandle());
+
+        return currentUserRestricted || targetUserRestricted;
+    }
 }
diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java
index bf21c9b..a0137df 100644
--- a/src/com/android/settings/users/UserSettings.java
+++ b/src/com/android/settings/users/UserSettings.java
@@ -419,6 +419,7 @@
                 mTimeoutToDockUserPreferenceController.getPreferenceKey()));
         mRemoveGuestOnExitPreferenceController.updateState(screen.findPreference(
                 mRemoveGuestOnExitPreferenceController.getPreferenceKey()));
+        mSwitchBarController.updateState();
         if (mShouldUpdateUserList) {
             updateUI();
         }
@@ -463,7 +464,8 @@
     @Override
     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
         int pos = 0;
-        if (!isCurrentUserAdmin() && canSwitchUserNow() && !isCurrentUserGuest()) {
+        if (!isCurrentUserAdmin() && (canSwitchUserNow() || Flags.newMultiuserSettingsUx())
+                && !isCurrentUserGuest()) {
             String nickname = mUserManager.getUserName();
             MenuItem removeThisUser = menu.add(0, MENU_REMOVE_USER, pos++,
                     getResources().getString(R.string.user_remove_user_menu, nickname));
@@ -918,7 +920,7 @@
             d = mCreateUserDialogController.createDialog(
                     getActivity(),
                     this::startActivityForResult,
-                    UserManager.isMultipleAdminEnabled(),
+                    canCreateAdminUser(),
                     (userName, userIcon, isAdmin) -> {
                         mPendingUserIcon = userIcon;
                         mPendingUserName = userName;
@@ -936,6 +938,19 @@
         return d;
     }
 
+    /**
+     * Checks if the creation of a new admin user is allowed.
+     * @return {@code true} if creating a new admin is allowed, {@code false} otherwise.
+     */
+    private boolean canCreateAdminUser() {
+        if (Flags.unicornModeRefactoringForHsumReadOnly()) {
+            return UserManager.isMultipleAdminEnabled()
+                    && !mUserManager.hasUserRestriction(UserManager.DISALLOW_GRANT_ADMIN);
+        } else {
+            return UserManager.isMultipleAdminEnabled();
+        }
+    }
+
     @Override
     public int getDialogMetricsCategory(int dialogId) {
         switch (dialogId) {
@@ -1198,15 +1213,23 @@
         }
 
         List<UserInfo> users;
-        if (mUserCaps.mUserSwitcherEnabled) {
+        if (Flags.newMultiuserSettingsUx()) {
             // Only users that can be switched to should show up here.
             // e.g. Managed profiles appear under Accounts Settings instead
             users = mUserManager.getAliveUsers().stream()
                     .filter(UserInfo::supportsSwitchToByUser)
                     .collect(Collectors.toList());
         } else {
-            // Only current user will be displayed in case of multi-user switch is disabled
-            users = List.of(mUserManager.getUserInfo(context.getUserId()));
+            if (mUserCaps.mUserSwitcherEnabled) {
+                // Only users that can be switched to should show up here.
+                // e.g. Managed profiles appear under Accounts Settings instead
+                users = mUserManager.getAliveUsers().stream()
+                        .filter(UserInfo::supportsSwitchToByUser)
+                        .collect(Collectors.toList());
+            } else {
+                // Only current user will be displayed in case of multi-user switch is disabled
+                users = List.of(mUserManager.getUserInfo(context.getUserId()));
+            }
         }
 
         final ArrayList<Integer> missingIcons = new ArrayList<>();
@@ -1257,7 +1280,10 @@
                     pref.setSummary(R.string.user_summary_not_set_up);
                     // Disallow setting up user which results in user switching when the
                     // restriction is set.
-                    pref.setEnabled(!mUserCaps.mDisallowSwitchUser && canSwitchUserNow());
+                    // If newMultiuserSettingsUx flag is enabled, allow opening user details page
+                    // since switch to user will be disabled
+                    pref.setEnabled((!mUserCaps.mDisallowSwitchUser && canSwitchUserNow())
+                            || Flags.newMultiuserSettingsUx());
                 }
             } else if (user.isRestricted()) {
                 pref.setSummary(R.string.user_summary_restricted_profile);
@@ -1417,16 +1443,22 @@
                             getContext().getResources(), icon)));
             pref.setKey(KEY_USER_GUEST);
             pref.setOrder(Preference.DEFAULT_ORDER);
-            if (mUserCaps.mDisallowSwitchUser) {
+            if (mUserCaps.mDisallowSwitchUser && !Flags.newMultiuserSettingsUx()) {
                 pref.setDisabledByAdmin(
                         RestrictedLockUtilsInternal.getDeviceOwner(context));
             } else {
                 pref.setDisabledByAdmin(null);
             }
-            if (mUserCaps.mUserSwitcherEnabled) {
+            if (Flags.newMultiuserSettingsUx()) {
                 mGuestUserCategory.addPreference(pref);
                 // guest user preference is shown hence also make guest category visible
                 mGuestUserCategory.setVisible(true);
+            } else {
+                if (mUserCaps.mUserSwitcherEnabled) {
+                    mGuestUserCategory.addPreference(pref);
+                    // guest user preference is shown hence also make guest category visible
+                    mGuestUserCategory.setVisible(true);
+                }
             }
             isGuestAlreadyCreated = true;
         }
@@ -1450,10 +1482,11 @@
 
     private boolean updateAddGuestPreference(Context context, boolean isGuestAlreadyCreated) {
         boolean isVisible = false;
-        if (!isGuestAlreadyCreated && mUserCaps.mCanAddGuest
+        if (!isGuestAlreadyCreated && (mUserCaps.mCanAddGuest
+                || (Flags.newMultiuserSettingsUx() && mUserCaps.mDisallowAddUser))
                 && mUserManager.canAddMoreUsers(UserManager.USER_TYPE_FULL_GUEST)
                 && WizardManagerHelper.isDeviceProvisioned(context)
-                && mUserCaps.mUserSwitcherEnabled) {
+                && (mUserCaps.mUserSwitcherEnabled || Flags.newMultiuserSettingsUx())) {
             Drawable icon = context.getDrawable(
                     com.android.settingslib.R.drawable.ic_account_circle);
             mAddGuest.setIcon(centerAndTint(icon));
@@ -1466,7 +1499,25 @@
                 mAddGuest.setEnabled(false);
             } else {
                 mAddGuest.setTitle(com.android.settingslib.R.string.guest_new_guest);
-                mAddGuest.setEnabled(canSwitchUserNow());
+                if (Flags.newMultiuserSettingsUx()
+                        && mUserCaps.mDisallowAddUserSetByAdmin) {
+                    mAddGuest.setDisabledByAdmin(mUserCaps.mEnforcedAdmin);
+                } else if (Flags.newMultiuserSettingsUx() && mUserCaps.mDisallowAddUser) {
+                    final List<UserManager.EnforcingUser> enforcingUsers =
+                            mUserManager.getUserRestrictionSources(UserManager.DISALLOW_ADD_USER,
+                                    UserHandle.of(UserHandle.myUserId()));
+                    if (!enforcingUsers.isEmpty()) {
+                        final UserManager.EnforcingUser enforcingUser = enforcingUsers.get(0);
+                        final int restrictionSource = enforcingUser.getUserRestrictionSource();
+                        if (restrictionSource == UserManager.RESTRICTION_SOURCE_SYSTEM) {
+                            mAddGuest.setEnabled(false);
+                        } else {
+                            mAddGuest.setVisible(false);
+                        }
+                    }
+                } else {
+                    mAddGuest.setEnabled(canSwitchUserNow() || Flags.newMultiuserSettingsUx());
+                }
             }
         } else {
             mAddGuest.setVisible(false);
@@ -1494,16 +1545,18 @@
 
     private void updateAddUserCommon(Context context, RestrictedPreference addUser,
             boolean canAddRestrictedProfile) {
-        if ((mUserCaps.mCanAddUser && !mUserCaps.mDisallowAddUserSetByAdmin)
+        if ((mUserCaps.mCanAddUser
+                && !(mUserCaps.mDisallowAddUserSetByAdmin && Flags.newMultiuserSettingsUx()))
                 && WizardManagerHelper.isDeviceProvisioned(context)
-                && mUserCaps.mUserSwitcherEnabled) {
+                && (mUserCaps.mUserSwitcherEnabled || Flags.newMultiuserSettingsUx())) {
             addUser.setVisible(true);
             addUser.setSelectable(true);
             final boolean canAddMoreUsers =
                     mUserManager.canAddMoreUsers(UserManager.USER_TYPE_FULL_SECONDARY)
                             || (canAddRestrictedProfile
                             && mUserManager.canAddMoreUsers(UserManager.USER_TYPE_FULL_RESTRICTED));
-            addUser.setEnabled(canAddMoreUsers && !mAddingUser && canSwitchUserNow());
+            addUser.setEnabled(canAddMoreUsers && !mAddingUser
+                    && (canSwitchUserNow() || Flags.newMultiuserSettingsUx()));
 
             if (!canAddMoreUsers) {
                 addUser.setSummary(getString(R.string.user_add_max_count));
@@ -1514,6 +1567,23 @@
                 addUser.setDisabledByAdmin(
                         mUserCaps.mDisallowAddUser ? mUserCaps.mEnforcedAdmin : null);
             }
+        } else if (Flags.newMultiuserSettingsUx() && mUserCaps.mDisallowAddUserSetByAdmin) {
+            addUser.setVisible(true);
+            addUser.setDisabledByAdmin(mUserCaps.mEnforcedAdmin);
+        } else if (Flags.newMultiuserSettingsUx() && mUserCaps.mDisallowAddUser) {
+            final List<UserManager.EnforcingUser> enforcingUsers =
+                    mUserManager.getUserRestrictionSources(UserManager.DISALLOW_ADD_USER,
+                            UserHandle.of(UserHandle.myUserId()));
+            if (!enforcingUsers.isEmpty()) {
+                final UserManager.EnforcingUser enforcingUser = enforcingUsers.get(0);
+                final int restrictionSource = enforcingUser.getUserRestrictionSource();
+                if (restrictionSource == UserManager.RESTRICTION_SOURCE_SYSTEM) {
+                    addUser.setVisible(true);
+                    addUser.setEnabled(false);
+                } else {
+                    addUser.setVisible(false);
+                }
+            }
         } else {
             addUser.setVisible(false);
         }
diff --git a/src/com/android/settings/utils/FileSizeFormatter.java b/src/com/android/settings/utils/FileSizeFormatter.java
deleted file mode 100644
index 5950d5d..0000000
--- a/src/com/android/settings/utils/FileSizeFormatter.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.utils;
-
-import android.content.Context;
-import android.icu.text.DecimalFormat;
-import android.icu.text.MeasureFormat;
-import android.icu.text.NumberFormat;
-import android.icu.util.Measure;
-import android.icu.util.MeasureUnit;
-import android.text.BidiFormatter;
-import android.text.TextUtils;
-import android.view.View;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-import java.math.BigDecimal;
-import java.util.Locale;
-
-/**
- * Utility class to aid in formatting file sizes always with the same unit. This is modified from
- * android.text.format.Formatter to fit this purpose.
- */
-public final class FileSizeFormatter {
-    public static final long KILOBYTE_IN_BYTES = 1000;
-    public static final long MEGABYTE_IN_BYTES = KILOBYTE_IN_BYTES * 1000;
-    public static final long GIGABYTE_IN_BYTES = MEGABYTE_IN_BYTES * 1000;
-
-    private static class RoundedBytesResult {
-        public final float value;
-        public final MeasureUnit units;
-        public final int fractionDigits;
-        public final long roundedBytes;
-
-        private RoundedBytesResult(
-                float value, MeasureUnit units, int fractionDigits, long roundedBytes) {
-            this.value = value;
-            this.units = units;
-            this.fractionDigits = fractionDigits;
-            this.roundedBytes = roundedBytes;
-        }
-    }
-
-    private static Locale localeFromContext(@NonNull Context context) {
-        return context.getResources().getConfiguration().locale;
-    }
-
-    private static String bidiWrap(@NonNull Context context, String source) {
-        final Locale locale = localeFromContext(context);
-        if (TextUtils.getLayoutDirectionFromLocale(locale) == View.LAYOUT_DIRECTION_RTL) {
-            return BidiFormatter.getInstance(true /* RTL*/).unicodeWrap(source);
-        } else {
-            return source;
-        }
-    }
-
-    private static NumberFormat getNumberFormatter(Locale locale, int fractionDigits) {
-        final NumberFormat numberFormatter = NumberFormat.getInstance(locale);
-        numberFormatter.setMinimumFractionDigits(fractionDigits);
-        numberFormatter.setMaximumFractionDigits(fractionDigits);
-        numberFormatter.setGroupingUsed(false);
-        if (numberFormatter instanceof DecimalFormat) {
-            // We do this only for DecimalFormat, since in the general NumberFormat case, calling
-            // setRoundingMode may throw an exception.
-            numberFormatter.setRoundingMode(BigDecimal.ROUND_HALF_UP);
-        }
-        return numberFormatter;
-    }
-
-    private static String formatMeasureShort(Locale locale, NumberFormat numberFormatter,
-            float value, MeasureUnit units) {
-        final MeasureFormat measureFormatter = MeasureFormat.getInstance(
-                locale, MeasureFormat.FormatWidth.SHORT, numberFormatter);
-        return measureFormatter.format(new Measure(value, units));
-    }
-
-    private static String formatRoundedBytesResult(
-            @NonNull Context context, @NonNull RoundedBytesResult input) {
-        final Locale locale = localeFromContext(context);
-        final NumberFormat numberFormatter = getNumberFormatter(locale, input.fractionDigits);
-        return formatMeasureShort(locale, numberFormatter, input.value, input.units);
-    }
-
-    /**
-     * Formats a content size to be in the form of bytes, kilobytes, megabytes, etc.
-     *
-     * <p>As of O, the prefixes are used in their standard meanings in the SI system, so kB = 1000
-     * bytes, MB = 1,000,000 bytes, etc.
-     *
-     * <p class="note">In {@link android.os.Build.VERSION_CODES#N} and earlier, powers of 1024 are
-     * used instead, with KB = 1024 bytes, MB = 1,048,576 bytes, etc.
-     *
-     * <p>If the context has a right-to-left locale, the returned string is wrapped in bidi
-     * formatting characters to make sure it's displayed correctly if inserted inside a
-     * right-to-left string. (This is useful in cases where the unit strings, like "MB", are
-     * left-to-right, but the locale is right-to-left.)
-     *
-     * @param context Context to use to load the localized units
-     * @param sizeBytes size value to be formatted, in bytes
-     * @param unit The unit used for formatting.
-     * @param mult Amount of bytes in the unit.
-     * @return formatted string with the number
-     */
-    public static String formatFileSize(
-            @Nullable Context context, long sizeBytes, MeasureUnit unit, long mult) {
-        if (context == null) {
-            return "";
-        }
-        final RoundedBytesResult res = formatBytes(sizeBytes, unit, mult);
-        return bidiWrap(context, formatRoundedBytesResult(context, res));
-    }
-
-    /**
-     * A simplified version of the SettingsLib file size formatter. The primary difference is that
-     * this version always assumes it is doing a "short file size" and allows for a suffix to be
-     * provided.
-     *
-     * @param res Resources to fetch strings with.
-     * @param sizeBytes File size in bytes to format.
-     * @param suffix String id for the unit suffix.
-     * @param mult Amount of bytes in the unit.
-     */
-    private static RoundedBytesResult formatBytes(
-            long sizeBytes, MeasureUnit unit, long mult) {
-        final boolean isNegative = (sizeBytes < 0);
-        float result = isNegative ? -sizeBytes : sizeBytes;
-        result = result / mult;
-        // Note we calculate the rounded long by ourselves, but still let String.format()
-        // compute the rounded value. String.format("%f", 0.1) might not return "0.1" due to
-        // floating point errors.
-        final int roundFactor;
-        final int roundDigits;
-        if (mult == 1) {
-            roundFactor = 1;
-            roundDigits = 0;
-        } else if (result < 1) {
-            roundFactor = 100;
-            roundDigits = 2;
-        } else if (result < 10) {
-            roundFactor = 10;
-            roundDigits = 1;
-        } else { // 10 <= result < 100
-            roundFactor = 1;
-            roundDigits = 0;
-        }
-
-        if (isNegative) {
-            result = -result;
-        }
-
-        // Note this might overflow if abs(result) >= Long.MAX_VALUE / 100, but that's like 80PB so
-        // it's okay (for now)...
-        final long roundedBytes = (((long) Math.round(result * roundFactor)) * mult / roundFactor);
-
-        return new RoundedBytesResult(result, unit, roundDigits, roundedBytes);
-    }
-}
diff --git a/src/com/android/settings/utils/ZenServiceListing.java b/src/com/android/settings/utils/ZenServiceListing.java
index 99f56f6..96d700b 100644
--- a/src/com/android/settings/utils/ZenServiceListing.java
+++ b/src/com/android/settings/utils/ZenServiceListing.java
@@ -28,11 +28,14 @@
 import android.util.ArraySet;
 import android.util.Slog;
 
+import androidx.annotation.Nullable;
+
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
 
 public class ZenServiceListing {
+    private static final String TAG = "ZenServiceListing";
 
     private final Context mContext;
     private final ManagedServiceSettings.Config mConfig;
@@ -40,9 +43,18 @@
     private final List<Callback> mZenCallbacks = new ArrayList<>();
     private final NotificationManager mNm;
 
+    // only used when android.app.modes_ui flag is true
+    @Nullable
+    private String mPkg = null;
+
     public ZenServiceListing(Context context, ManagedServiceSettings.Config config) {
+        this(context, config, null);
+    }
+
+    public ZenServiceListing(Context context, ManagedServiceSettings.Config config, @Nullable String pkg) {
         mContext = context;
         mConfig = config;
+        mPkg = pkg;
         mNm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
     }
 
@@ -89,12 +101,16 @@
         }
     }
 
-    private static void getServices(ManagedServiceSettings.Config c, List<ComponentInfo> list,
+    private void getServices(ManagedServiceSettings.Config c, List<ComponentInfo> list,
             PackageManager pm) {
         final int user = ActivityManager.getCurrentUser();
 
+        Intent queryIntent = new Intent(c.intentAction);
+        if (mPkg != null) {
+            queryIntent.setPackage(mPkg);
+        }
         List<ResolveInfo> installedServices = pm.queryIntentServicesAsUser(
-                new Intent(c.intentAction),
+                queryIntent,
                 PackageManager.GET_SERVICES | PackageManager.GET_META_DATA,
                 user);
 
@@ -115,12 +131,16 @@
         }
     }
 
-    private static void getActivities(ManagedServiceSettings.Config c, List<ComponentInfo> list,
+    private void getActivities(ManagedServiceSettings.Config c, List<ComponentInfo> list,
             PackageManager pm) {
         final int user = ActivityManager.getCurrentUser();
 
+        Intent queryIntent = new Intent(c.configIntentAction);
+        if (mPkg != null) {
+            queryIntent.setPackage(mPkg);
+        }
         List<ResolveInfo> resolveInfos = pm.queryIntentActivitiesAsUser(
-                new Intent(c.configIntentAction),
+                queryIntent,
                 PackageManager.GET_ACTIVITIES | PackageManager.GET_META_DATA,
                 user);
 
diff --git a/src/com/android/settings/webview/WebViewAppPicker.java b/src/com/android/settings/webview/WebViewAppPicker.java
index b1dfd14..7fb5ebc 100644
--- a/src/com/android/settings/webview/WebViewAppPicker.java
+++ b/src/com/android/settings/webview/WebViewAppPicker.java
@@ -26,6 +26,7 @@
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageItemInfo;
 import android.content.pm.PackageManager;
+import android.os.UserManager;
 import android.text.TextUtils;
 import android.webkit.UserPackage;
 
@@ -149,17 +150,20 @@
     @VisibleForTesting
     String getDisabledReason(WebViewUpdateServiceWrapper webviewUpdateServiceWrapper,
             Context context, String packageName) {
+        UserManager userManager = context.getSystemService(UserManager.class);
         List<UserPackage> userPackages =
                 webviewUpdateServiceWrapper.getPackageInfosAllUsers(context, packageName);
         for (UserPackage userPackage : userPackages) {
             if (!userPackage.isInstalledPackage()) {
                 // Package uninstalled/hidden
                 return context.getString(
-                        R.string.webview_uninstalled_for_user, userPackage.getUserInfo().name);
+                        R.string.webview_uninstalled_for_user,
+                        userManager.getUserInfo(userPackage.getUser().getIdentifier()).name);
             } else if (!userPackage.isEnabledPackage()) {
                 // Package disabled
                 return context.getString(
-                        R.string.webview_disabled_for_user, userPackage.getUserInfo().name);
+                        R.string.webview_disabled_for_user,
+                        userManager.getUserInfo(userPackage.getUser().getIdentifier()).name);
             }
         }
         return null;
diff --git a/src/com/android/settings/widget/HighlightableTopLevelPreferenceAdapter.java b/src/com/android/settings/widget/HighlightableTopLevelPreferenceAdapter.java
index 9ddec5c..15e83de 100644
--- a/src/com/android/settings/widget/HighlightableTopLevelPreferenceAdapter.java
+++ b/src/com/android/settings/widget/HighlightableTopLevelPreferenceAdapter.java
@@ -17,6 +17,7 @@
 package com.android.settings.widget;
 
 import android.content.Context;
+import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
 import android.text.TextUtils;
 import android.util.Log;
@@ -212,6 +213,14 @@
         // Scroll to the top to reset the position.
         mRecyclerView.nestedScrollBy(0, -mRecyclerView.getHeight());
 
+        // get the visible area of the recycler view
+        Rect rvRect = new Rect();
+        mRecyclerView.getGlobalVisibleRect(rvRect);
+        if (Flags.homepageRevamp() && view.getBottom() <= rvRect.height()) {
+            // the request position already fully visible in the visible area
+            return;
+        }
+
         final int scrollY = view.getTop();
         if (scrollY > 0) {
             mRecyclerView.nestedScrollBy(0, scrollY);
diff --git a/src/com/android/settings/widget/MutableGearPreference.java b/src/com/android/settings/widget/MutableGearPreference.java
index b0804eb..73491f0 100644
--- a/src/com/android/settings/widget/MutableGearPreference.java
+++ b/src/com/android/settings/widget/MutableGearPreference.java
@@ -41,11 +41,13 @@
 
     @Override
     public void setGearEnabled(boolean enabled) {
+        boolean state = false;
         if (mGear != null) {
-            mGear.setEnabled(enabled);
-            mGear.setImageAlpha(enabled ? VALUE_ENABLED_ALPHA : mDisabledAlphaValue);
+            state = enabled && !(isDisabledByAdmin() || isDisabledByEcm());
+            mGear.setEnabled(state);
+            mGear.setImageAlpha(state ? VALUE_ENABLED_ALPHA : mDisabledAlphaValue);
         }
-        mGearState = enabled;
+        mGearState = state;
     }
 
     @Override
diff --git a/src/com/android/settings/widget/TickButtonPreference.java b/src/com/android/settings/widget/TickButtonPreference.java
index b9b9b19..4778f8c 100644
--- a/src/com/android/settings/widget/TickButtonPreference.java
+++ b/src/com/android/settings/widget/TickButtonPreference.java
@@ -21,33 +21,30 @@
 import android.view.View;
 import android.widget.ImageView;
 
-import androidx.preference.Preference;
 import androidx.preference.PreferenceViewHolder;
 
 import com.android.settings.R;
+import com.android.settingslib.widget.TwoTargetPreference;
 
 /** A preference with tick icon. */
-public class TickButtonPreference extends Preference {
+public class TickButtonPreference extends TwoTargetPreference {
     private ImageView mCheckIcon;
     private boolean mIsSelected = false;
 
     public TickButtonPreference(Context context) {
         super(context);
-        init(context, null);
-    }
-
-    public TickButtonPreference(Context context, AttributeSet attrs) {
-        super(context, attrs);
-        init(context, attrs);
-    }
-
-    private void init(Context context, AttributeSet attrs) {
-        setWidgetLayoutResource(R.layout.preference_check_icon);
     }
 
     @Override
     public void onBindViewHolder(PreferenceViewHolder holder) {
         super.onBindViewHolder(holder);
+        View divider =
+                holder.findViewById(
+                        com.android.settingslib.widget.preference.twotarget.R.id
+                                .two_target_divider);
+        if (divider != null) {
+            divider.setVisibility(View.GONE);
+        }
         mCheckIcon = (ImageView) holder.findViewById(R.id.check_icon);
         setSelected(mIsSelected);
     }
@@ -64,4 +61,10 @@
     public boolean isSelected() {
         return mIsSelected;
     }
+
+    @Override
+    protected int getSecondTargetResId() {
+        return R.layout.preference_check_icon;
+    }
+
 }
diff --git a/src/com/android/settings/widget/TipCardPreference.kt b/src/com/android/settings/widget/TipCardPreference.kt
index 0ae7d2a..0ca0272 100644
--- a/src/com/android/settings/widget/TipCardPreference.kt
+++ b/src/com/android/settings/widget/TipCardPreference.kt
@@ -19,6 +19,7 @@
 import android.content.Context
 import android.content.res.Resources
 import android.util.AttributeSet
+import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.graphics.vector.ImageVector
 import androidx.compose.ui.res.vectorResource
 import com.android.settings.spa.preference.ComposePreference
@@ -37,6 +38,9 @@
     /** A icon resource id for displaying icon on tips card. */
     var iconResId: Int? = null
 
+    /** A color resource id for displaying icon and button text on tips card. */
+    var tintColorResId: Int? = null
+
     /** The primary button's text. */
     var primaryButtonText: String = ""
 
@@ -85,6 +89,8 @@
                     title = title?.toString() ?: "",
                     text = summary?.toString() ?: "",
                     buttons = listOfNotNull(configPrimaryButton(), configSecondaryButton()),
+                    tintColor = tintColorResId?.let { Color(context.getColor(it)) }
+                        ?: Color.Unspecified,
                     onDismiss = onDismiss,
                     imageVector =
                     iconResId
diff --git a/src/com/android/settings/wifi/AddWifiNetworkPreference.java b/src/com/android/settings/wifi/AddWifiNetworkPreference.java
index 999f4a4..ea22954 100644
--- a/src/com/android/settings/wifi/AddWifiNetworkPreference.java
+++ b/src/com/android/settings/wifi/AddWifiNetworkPreference.java
@@ -26,11 +26,13 @@
 
 import androidx.annotation.DrawableRes;
 import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.PreferenceViewHolder;
 
 import com.android.settings.R;
 import com.android.settings.wifi.dpp.WifiDppUtils;
 import com.android.settingslib.RestrictedPreference;
+import com.android.settingslib.wifi.WifiEnterpriseRestrictionUtils;
 
 /**
  * The Preference for users to add Wi-Fi networks in WifiSettings
@@ -53,7 +55,7 @@
         setTitle(R.string.wifi_add_network);
 
         mScanIconDrawable = getDrawable(R.drawable.ic_scan_24dp);
-        checkRestrictionAndSetDisabled(UserManager.DISALLOW_ADD_WIFI_CONFIG);
+        checkRestrictionAndSetDisabled();
     }
 
     @Override
@@ -80,4 +82,15 @@
         }
         return buttonIcon;
     }
+
+    @VisibleForTesting
+    void checkRestrictionAndSetDisabled() {
+        checkRestrictionAndSetDisabled(UserManager.DISALLOW_ADD_WIFI_CONFIG);
+        if (isDisabledByAdmin()) {
+            return;
+        }
+        if (!WifiEnterpriseRestrictionUtils.isAddWifiConfigAllowed(getContext())) {
+            setEnabled(false);
+        }
+    }
 }
diff --git a/src/com/android/settings/wifi/WepLessSecureWarningController.kt b/src/com/android/settings/wifi/WepLessSecureWarningController.kt
new file mode 100644
index 0000000..8eba199
--- /dev/null
+++ b/src/com/android/settings/wifi/WepLessSecureWarningController.kt
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 com.android.settings.core.BasePreferenceController
+import com.android.wifitrackerlib.WifiEntry
+
+class WepLessSecureWarningController (context: Context, preferenceKey: String) :
+        BasePreferenceController(context, preferenceKey) {
+
+    private var availabilityStatus: Int = CONDITIONALLY_UNAVAILABLE
+
+    override fun getAvailabilityStatus(): Int = availabilityStatus
+
+    fun setWifiEntry(entry: WifiEntry) {
+        availabilityStatus = when(entry.securityTypes.contains(WifiEntry.SECURITY_WEP)) {
+            true -> AVAILABLE
+            else -> CONDITIONALLY_UNAVAILABLE
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/wifi/WepNetworksPreferenceController.kt b/src/com/android/settings/wifi/WepNetworksPreferenceController.kt
index 2ce4bcd..bad7201 100644
--- a/src/com/android/settings/wifi/WepNetworksPreferenceController.kt
+++ b/src/com/android/settings/wifi/WepNetworksPreferenceController.kt
@@ -42,6 +42,8 @@
 import kotlinx.coroutines.asExecutor
 import kotlinx.coroutines.channels.awaitClose
 import kotlinx.coroutines.flow.callbackFlow
+import kotlinx.coroutines.flow.flow
+import kotlinx.coroutines.flow.flowOn
 
 /** Controller that controls whether the WEP network can be connected. */
 class WepNetworksPreferenceController(context: Context, preferenceKey: String) :
@@ -49,68 +51,74 @@
 
     var wifiManager = context.getSystemService(WifiManager::class.java)!!
 
-    override fun getAvailabilityStatus() = if (Flags.androidVWifiApi()) AVAILABLE
-    else UNSUPPORTED_ON_DEVICE
+    override fun getAvailabilityStatus() =
+        if (Flags.androidVWifiApi()) AVAILABLE else UNSUPPORTED_ON_DEVICE
 
     @Composable
     override fun Content() {
-        val checked by wepAllowedFlow.flow.collectAsStateWithLifecycle(initialValue = null)
+        val isWepSupported: Boolean? =
+            isWepSupportedFlow.collectAsStateWithLifecycle(initialValue = null).value
+        val isWepAllowed: Boolean? =
+            wepAllowedFlow.flow.collectAsStateWithLifecycle(initialValue = null).value
         var openDialog by rememberSaveable { mutableStateOf(false) }
-        val wifiInfo = wifiManager.connectionInfo
-        SwitchPreference(object : SwitchPreferenceModel {
-            override val title = stringResource(R.string.wifi_allow_wep_networks)
-            override val summary = { getSummary() }
-            override val checked = { checked }
-            override val changeable: () -> Boolean
-                get() = { carrierAllowed }
-            override val onCheckedChange: (Boolean) -> Unit = { newChecked ->
-                if (!newChecked && wifiInfo.currentSecurityType == WifiEntry.SECURITY_WEP) {
-                    openDialog = true
-                } else {
-                    wifiManager.setWepAllowed(newChecked)
-                    wepAllowedFlow.override(newChecked)
+        SwitchPreference(
+            object : SwitchPreferenceModel {
+                override val title = stringResource(R.string.wifi_allow_wep_networks)
+                override val summary = { getSummary(isWepSupported) }
+                override val checked = {
+                    if (isWepSupported == true) isWepAllowed else isWepSupported
                 }
-            }
-        })
+                override val changeable: () -> Boolean
+                    get() = { isWepSupported == true }
+
+                override val onCheckedChange: (Boolean) -> Unit = { newChecked ->
+                    val wifiInfo = wifiManager.connectionInfo
+                    if (!newChecked && wifiInfo.currentSecurityType == WifiEntry.SECURITY_WEP) {
+                        openDialog = true
+                    } else {
+                        wifiManager.setWepAllowed(newChecked)
+                        wepAllowedFlow.override(newChecked)
+                    }
+                }
+            })
         if (openDialog) {
             SettingsAlertDialogWithIcon(
                 onDismissRequest = { openDialog = false },
-                confirmButton = AlertDialogButton(
-                    stringResource(R.string.sim_action_yes)
-                ) {
-                    wifiManager.setWepAllowed(false)
-                    wepAllowedFlow.override(false)
-                    openDialog = false
-                },
+                confirmButton =
+                    AlertDialogButton(stringResource(R.string.sim_action_yes)) {
+                        wifiManager.setWepAllowed(false)
+                        wepAllowedFlow.override(false)
+                        openDialog = false
+                    },
                 dismissButton =
-                AlertDialogButton(
-                    stringResource(R.string.wifi_cancel)
-                ) { openDialog = false },
+                    AlertDialogButton(stringResource(R.string.wifi_cancel)) { openDialog = false },
                 title = stringResource(R.string.wifi_settings_wep_networks_disconnect_title),
                 text = {
                     Text(
                         stringResource(R.string.wifi_settings_wep_networks_disconnect_summary),
                         modifier = Modifier.fillMaxWidth(),
-                        textAlign = TextAlign.Center
+                        textAlign = TextAlign.Center,
                     )
                 })
         }
     }
 
-    override fun getSummary(): String = mContext.getString(
-        if (carrierAllowed) {
-            R.string.wifi_allow_wep_networks_summary
-        } else {
-            R.string.wifi_allow_wep_networks_summary_carrier_not_allow
-        }
-    )
+    private fun getSummary(isWepSupported: Boolean?): String =
+        mContext.getString(
+            when (isWepSupported) {
+                true -> R.string.wifi_allow_wep_networks_summary
+                false -> R.string.wifi_allow_wep_networks_summary_carrier_not_allow
+                null -> R.string.summary_placeholder
+            })
 
-    private val carrierAllowed: Boolean
-        get() = wifiManager.isWepSupported
+    private val isWepSupportedFlow =
+        flow { emit(wifiManager.isWepSupported) }.flowOn(Dispatchers.Default)
 
-    val wepAllowedFlow = OverridableFlow(callbackFlow {
-        wifiManager.queryWepAllowed(Dispatchers.Default.asExecutor(), ::trySend)
+    val wepAllowedFlow =
+        OverridableFlow(
+            callbackFlow {
+                wifiManager.queryWepAllowed(Dispatchers.Default.asExecutor(), ::trySend)
 
-        awaitClose { }
-    })
-}
\ No newline at end of file
+                awaitClose {}
+            })
+}
diff --git a/src/com/android/settings/wifi/WifiConfigController2.java b/src/com/android/settings/wifi/WifiConfigController2.java
index 70e08eb..1ea0103 100644
--- a/src/com/android/settings/wifi/WifiConfigController2.java
+++ b/src/com/android/settings/wifi/WifiConfigController2.java
@@ -344,7 +344,7 @@
 
                 if (mPrivacySettingsSpinner != null) {
                     final int prefMacValue = WifiPrivacyPreferenceController2
-                            .translateMacRandomizedValueToPrefValue(config.macRandomizationSetting);
+                            .translateWifiEntryPrivacyToPrefValue(mWifiEntry.getPrivacy());
                     mPrivacySettingsSpinner.setSelection(prefMacValue);
                 }
 
@@ -863,7 +863,7 @@
 
         if (mPrivacySettingsSpinner != null) {
             config.macRandomizationSetting = WifiPrivacyPreferenceController2
-                    .translatePrefValueToMacRandomizedValue(mPrivacySettingsSpinner
+                    .translatePrefValueToWifiConfigSetting(mPrivacySettingsSpinner
                             .getSelectedItemPosition());
         }
 
diff --git a/src/com/android/settings/wifi/WifiEnabler.java b/src/com/android/settings/wifi/WifiEnabler.java
index d1cf7d6..bbb014b 100644
--- a/src/com/android/settings/wifi/WifiEnabler.java
+++ b/src/com/android/settings/wifi/WifiEnabler.java
@@ -139,7 +139,8 @@
         // Refresh satellite mode status.
         try {
             mIsSatelliteOn.set(
-                    mSatelliteRepository.requestIsEnabled(Executors.newSingleThreadExecutor())
+                    mSatelliteRepository
+                            .requestIsSessionStarted(Executors.newSingleThreadExecutor())
                             .get(2000, TimeUnit.MILLISECONDS));
         } catch (ExecutionException | TimeoutException | InterruptedException e) {
             Log.e(TAG, "Error to get satellite status : " + e);
diff --git a/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceController.java b/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceController.java
deleted file mode 100644
index ae44b93..0000000
--- a/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceController.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.wifi;
-
-import android.content.Context;
-
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settings.widget.GenericSwitchController;
-import com.android.settings.widget.SummaryUpdater;
-import com.android.settingslib.PrimarySwitchPreference;
-import com.android.settingslib.core.AbstractPreferenceController;
-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;
-import com.android.settingslib.core.lifecycle.events.OnStart;
-import com.android.settingslib.core.lifecycle.events.OnStop;
-
-/**
- * PreferenceController to update the wifi state.
- */
-// TODO(b/167474581): Should clean up this controller when Provider Model finished.
-public class WifiPrimarySwitchPreferenceController extends AbstractPreferenceController
-        implements PreferenceControllerMixin, SummaryUpdater.OnSummaryChangeListener,
-        LifecycleObserver, OnResume, OnPause, OnStart, OnStop {
-    //TODO(b/151133650): Replace AbstractPreferenceController with BasePreferenceController.
-
-    public static final String KEY_TOGGLE_WIFI = "main_toggle_wifi";
-
-    private PrimarySwitchPreference mWifiPreference;
-    private WifiEnabler mWifiEnabler;
-    private final WifiSummaryUpdater mSummaryHelper;
-    private final MetricsFeatureProvider mMetricsFeatureProvider;
-
-    public WifiPrimarySwitchPreferenceController(Context context,
-            MetricsFeatureProvider metricsFeatureProvider) {
-        super(context);
-        mMetricsFeatureProvider = metricsFeatureProvider;
-        mSummaryHelper = new WifiSummaryUpdater(mContext, this);
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mWifiPreference = screen.findPreference(KEY_TOGGLE_WIFI);
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return mContext.getResources().getBoolean(R.bool.config_show_wifi_settings);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_TOGGLE_WIFI;
-    }
-
-    @Override
-    public void onResume() {
-        mSummaryHelper.register(true);
-        if (mWifiEnabler != null) {
-            mWifiEnabler.resume(mContext);
-        }
-    }
-
-    @Override
-    public void onPause() {
-        if (mWifiEnabler != null) {
-            mWifiEnabler.pause();
-        }
-        mSummaryHelper.register(false);
-    }
-
-    @Override
-    public void onStart() {
-        mWifiEnabler = new WifiEnabler(mContext, new GenericSwitchController(mWifiPreference),
-                mMetricsFeatureProvider);
-    }
-
-    @Override
-    public void onStop() {
-        if (mWifiEnabler != null) {
-            mWifiEnabler.teardownSwitchController();
-        }
-    }
-
-    @Override
-    public void onSummaryChanged(String summary) {
-        if (mWifiPreference != null) {
-            mWifiPreference.setSummary(summary);
-        }
-    }
-
-}
diff --git a/src/com/android/settings/wifi/WifiSummaryUpdater.java b/src/com/android/settings/wifi/WifiSummaryUpdater.java
deleted file mode 100644
index 645d2ea..0000000
--- a/src/com/android/settings/wifi/WifiSummaryUpdater.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.wifi;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.net.ConnectivityManager;
-import android.net.NetworkScoreManager;
-import android.net.wifi.WifiInfo;
-import android.net.wifi.WifiManager;
-import android.text.TextUtils;
-
-import androidx.annotation.VisibleForTesting;
-
-import com.android.settings.R;
-import com.android.settings.widget.SummaryUpdater;
-import com.android.settingslib.wifi.WifiStatusTracker;
-
-/**
- * Helper class that listeners to wifi callback and notify client when there is update in
- * wifi summary info.
- */
-public class WifiSummaryUpdater extends SummaryUpdater {
-
-    private final WifiStatusTracker mWifiTracker;
-    private final BroadcastReceiver mReceiver;
-
-    private static final IntentFilter INTENT_FILTER;
-    static {
-        INTENT_FILTER = new IntentFilter();
-        INTENT_FILTER.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
-        INTENT_FILTER.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
-        INTENT_FILTER.addAction(WifiManager.RSSI_CHANGED_ACTION);
-    }
-
-    public WifiSummaryUpdater(Context context, OnSummaryChangeListener listener) {
-        this(context, listener, null);
-    }
-
-    @VisibleForTesting
-    public WifiSummaryUpdater(Context context, OnSummaryChangeListener listener,
-        WifiStatusTracker wifiTracker) {
-        super(context, listener);
-        mWifiTracker = wifiTracker != null ? wifiTracker :
-                new WifiStatusTracker(context, context.getSystemService(WifiManager.class),
-                context.getSystemService(NetworkScoreManager.class),
-                context.getSystemService(ConnectivityManager.class),
-                        this::notifyChangeIfNeeded);
-        mReceiver = new BroadcastReceiver() {
-            @Override
-            public void onReceive(Context context, Intent intent) {
-                mWifiTracker.handleBroadcast(intent);
-                notifyChangeIfNeeded();
-            }
-        };
-    }
-
-    @Override
-    public void register(boolean register) {
-        if (register) {
-            mWifiTracker.fetchInitialState();
-            notifyChangeIfNeeded();
-            mContext.registerReceiver(mReceiver, INTENT_FILTER,
-                    Context.RECEIVER_EXPORTED_UNAUDITED);
-        } else {
-            mContext.unregisterReceiver(mReceiver);
-        }
-        mWifiTracker.setListening(register);
-    }
-
-    @Override
-    public String getSummary() {
-        if (!mWifiTracker.enabled) {
-            return mContext.getString(R.string.switch_off_text);
-        }
-        if (!mWifiTracker.connected) {
-            return mContext.getString(R.string.disconnected);
-        }
-        String ssid = WifiInfo.sanitizeSsid(mWifiTracker.ssid);
-        if (TextUtils.isEmpty(mWifiTracker.statusLabel)) {
-            return ssid;
-        }
-        return mContext.getResources().getString(
-                com.android.settingslib.R.string.preference_summary_default_combination,
-                ssid, mWifiTracker.statusLabel);
-    }
-
-    /**
-     * return true if Wi-Fi connected.
-     */
-    public boolean isWifiConnected() {
-        return mWifiTracker.connected;
-    }
-}
diff --git a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
index 82537d4..e5581d3 100644
--- a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
+++ b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
@@ -33,7 +33,6 @@
 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;
 import android.view.LayoutInflater;
@@ -42,12 +41,14 @@
 import android.widget.CompoundButton;
 import android.widget.CompoundButton.OnCheckedChangeListener;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.appcompat.app.AlertDialog;
+import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceClickListener;
 import androidx.preference.PreferenceScreen;
 
-import com.android.ims.ImsConfig;
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.flags.Flags;
@@ -57,8 +58,12 @@
 import com.android.settings.Utils;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.network.ims.WifiCallingQueryImsState;
+import com.android.settings.network.telephony.wificalling.IWifiCallingRepository;
+import com.android.settings.network.telephony.wificalling.WifiCallingRepository;
 import com.android.settings.widget.SettingsMainSwitchPreference;
 
+import kotlin.Unit;
+
 import java.util.List;
 
 /**
@@ -103,7 +108,6 @@
 
     private int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
     private ImsMmTelManager mImsMmTelManager;
-    private ProvisioningManager mProvisioningManager;
     private TelephonyManager mTelephonyManager;
 
     private PhoneTelephonyCallback mTelephonyCallback;
@@ -188,19 +192,6 @@
                 return true;
             };
 
-    private final ProvisioningManager.Callback mProvisioningCallback =
-            new ProvisioningManager.Callback() {
-                @Override
-                public void onProvisioningIntChanged(int item, int value) {
-                    if (item == ImsConfig.ConfigConstants.VOICE_OVER_WIFI_SETTING_ENABLED
-                            || item == ImsConfig.ConfigConstants.VLT_SETTING_ENABLED) {
-                        // The provisioning policy might have changed. Update the body to make sure
-                        // this change takes effect if needed.
-                        updateBody();
-                    }
-                }
-            };
-
     @VisibleForTesting
     void showAlert(Intent intent) {
         final Context context = getActivity();
@@ -264,14 +255,6 @@
     }
 
     @VisibleForTesting
-    ProvisioningManager getImsProvisioningManager() {
-        if (!SubscriptionManager.isValidSubscriptionId(mSubId)) {
-            return null;
-        }
-        return ProvisioningManager.createForSubscriptionId(mSubId);
-    }
-
-    @VisibleForTesting
     ImsMmTelManager getImsMmTelManager() {
         if (!SubscriptionManager.isValidSubscriptionId(mSubId)) {
             return null;
@@ -294,7 +277,6 @@
                     FRAGMENT_BUNDLE_SUBID, SubscriptionManager.INVALID_SUBSCRIPTION_ID);
         }
 
-        mProvisioningManager = getImsProvisioningManager();
         mImsMmTelManager = getImsMmTelManager();
 
         mSwitchBar = (SettingsMainSwitchPreference) findPreference(SWITCH_BAR);
@@ -336,19 +318,33 @@
         return view;
     }
 
+    @Override
+    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+        getWifiCallingRepository().collectIsWifiCallingReadyFlow(
+                getLifecycleOwner(), (isWifiWifiCallingReadyFlow) -> {
+                    if (!isWifiWifiCallingReadyFlow) {
+                        // This screen is not allowed to be shown due to provisioning policy and
+                        // should therefore be closed.
+                        finish();
+                    }
+                    return Unit.INSTANCE;
+                });
+    }
+
     @VisibleForTesting
-    boolean isWfcProvisionedOnDevice() {
-        return queryImsState(mSubId).isWifiCallingProvisioned();
+    @NonNull
+    IWifiCallingRepository getWifiCallingRepository() {
+        return new WifiCallingRepository(requireContext(), mSubId);
+    }
+
+    @VisibleForTesting
+    @NonNull
+    LifecycleOwner getLifecycleOwner() {
+        return getViewLifecycleOwner();
     }
 
     private void updateBody() {
-        if (!isWfcProvisionedOnDevice()) {
-            // This screen is not allowed to be shown due to provisioning policy and should
-            // therefore be closed.
-            finish();
-            return;
-        }
-
         final CarrierConfigManager configManager = (CarrierConfigManager)
                 getSystemService(Context.CARRIER_CONFIG_SERVICE);
         boolean isWifiOnlySupported = true;
@@ -448,8 +444,6 @@
         if (intent.getBooleanExtra(Phone.EXTRA_KEY_ALERT_SHOW, false)) {
             showAlert(intent);
         }
-        // Register callback for provisioning changes.
-        registerProvisioningChangedCallback();
     }
 
     @Override
@@ -462,8 +456,6 @@
             mSwitchBar.removeOnSwitchChangeListener(this);
         }
         context.unregisterReceiver(mIntentReceiver);
-        // Remove callback for provisioning changes.
-        unregisterProvisioningChangedCallback();
     }
 
     /**
@@ -699,27 +691,6 @@
         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);
-    }
-
     /**
      * Determine whether to override roaming Wi-Fi calling preference when device is connected to
      * non-terrestrial network.
diff --git a/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java b/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
index eb0b40a..8aab0e1 100644
--- a/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
+++ b/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
@@ -51,6 +51,7 @@
 import com.android.settings.dashboard.RestrictedDashboardFragment;
 import com.android.settings.network.telephony.MobileNetworkUtils;
 import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.wifi.WepLessSecureWarningController;
 import com.android.settings.wifi.WifiConfigUiBase2;
 import com.android.settings.wifi.WifiDialog2;
 import com.android.settings.wifi.WifiUtils;
@@ -132,6 +133,8 @@
                 .setWifiEntry(mNetworkDetailsTracker.getWifiEntry());
         use(ServerNamePreferenceController.class)
                 .setWifiEntry(mNetworkDetailsTracker.getWifiEntry());
+        use(WepLessSecureWarningController.class)
+                .setWifiEntry(mNetworkDetailsTracker.getWifiEntry());
     }
 
     @Override
@@ -397,6 +400,9 @@
 
     @VisibleForTesting
     void onHotspotNetworkChanged(WifiNetworkDetailsViewModel.HotspotNetworkData data) {
+        if (mIsUiRestricted) {
+            return;
+        }
         PreferenceScreen screen = getPreferenceScreen();
         if (screen == null) {
             return;
diff --git a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
index 9992cc0..927d2ee 100644
--- a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
+++ b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
@@ -556,6 +556,7 @@
             return mContext.getDrawable(getHotspotIconResource(deviceType));
         }
         if (mWifiEntry.getLevel() == WifiEntry.WIFI_LEVEL_UNREACHABLE) {
+            Log.w(TAG, "WiFi level is WIFI_LEVEL_UNREACHABLE(-1)");
             return mContext.getDrawable(R.drawable.empty_icon);
         }
         return mIconInjector.getIcon(wifiEntry.shouldShowXLevelIcon(), wifiEntry.getLevel());
diff --git a/src/com/android/settings/wifi/details2/WifiPrivacyPageProvider.kt b/src/com/android/settings/wifi/details2/WifiPrivacyPageProvider.kt
index e41863c..8888f0d 100644
--- a/src/com/android/settings/wifi/details2/WifiPrivacyPageProvider.kt
+++ b/src/com/android/settings/wifi/details2/WifiPrivacyPageProvider.kt
@@ -17,7 +17,6 @@
 package com.android.settings.wifi.details2
 
 import android.content.Context
-import android.net.wifi.WifiConfiguration
 import android.net.wifi.WifiManager
 import android.os.Bundle
 import android.os.Handler
@@ -56,6 +55,7 @@
 import com.android.wifitrackerlib.WifiEntry
 import java.time.Clock
 import java.time.ZoneOffset
+import java.util.Base64
 
 const val WIFI_ENTRY_KEY = "wifiEntryKey"
 
@@ -69,7 +69,8 @@
 
     @Composable
     override fun Page(arguments: Bundle?) {
-        val wifiEntryKey = arguments!!.getString(WIFI_ENTRY_KEY)
+        val wifiEntryKey =
+            String(Base64.getUrlDecoder().decode(arguments!!.getString(WIFI_ENTRY_KEY)))
         if (wifiEntryKey != null) {
             val context = LocalContext.current
             val lifecycle = LocalLifecycleOwner.current.lifecycle
@@ -82,7 +83,7 @@
 
     fun getRoute(
         wifiEntryKey: String,
-    ): String = "${name}/$wifiEntryKey"
+    ): String = "${name}/${Base64.getUrlEncoder().encodeToString(wifiEntryKey.toByteArray())}"
 }
 
 @Composable
@@ -114,19 +115,19 @@
                 }
             })
             wifiEntry.wifiConfiguration?.let {
-                DeviceNameSwitchPreference(it)
+                DeviceNameSwitchPreference(wifiEntry)
             }
         }
     }
 }
 
 @Composable
-fun DeviceNameSwitchPreference(wifiConfiguration: WifiConfiguration){
+fun DeviceNameSwitchPreference(wifiEntry: WifiEntry) {
     Spacer(modifier = Modifier.width(SettingsDimension.itemDividerHeight))
     CategoryTitle(title = stringResource(R.string.wifi_privacy_device_name_settings))
     Spacer(modifier = Modifier.width(SettingsDimension.itemDividerHeight))
     var checked by remember {
-        mutableStateOf(wifiConfiguration.isSendDhcpHostnameEnabled)
+        mutableStateOf(wifiEntry.wifiConfiguration?.isSendDhcpHostnameEnabled)
     }
     val context = LocalContext.current
     val wifiManager = context.getSystemService(WifiManager::class.java)!!
@@ -143,9 +144,11 @@
             }
         override val checked = { checked }
         override val onCheckedChange: (Boolean) -> Unit = { newChecked ->
-            wifiConfiguration.isSendDhcpHostnameEnabled = newChecked
-            wifiManager.save(wifiConfiguration, null /* listener */)
-            checked = newChecked
+            wifiEntry.wifiConfiguration?.let {
+                it.isSendDhcpHostnameEnabled = newChecked
+                wifiManager.save(it, null /* listener */)
+                checked = newChecked
+            }
         }
     })
 }
diff --git a/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java
index 5d393e5..0c67c04 100644
--- a/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java
+++ b/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java
@@ -17,6 +17,7 @@
 package com.android.settings.wifi.details2;
 
 import android.content.Context;
+import android.net.wifi.WifiConfiguration;
 import android.net.wifi.WifiManager;
 
 import androidx.annotation.NonNull;
@@ -98,30 +99,30 @@
     private static final int PREF_RANDOMIZATION_NONE = 1;
 
     /**
-     * Returns preference index value.
+     * Translates a WifiEntry.Privacy value to the matching preference index value.
      *
-     * @param macRandomized is mac randomized value
+     * @param privacy WifiEntry.Privacy value
      * @return index value of preference
      */
-    public static int translateMacRandomizedValueToPrefValue(int macRandomized) {
-        return (macRandomized == WifiEntry.PRIVACY_RANDOMIZED_MAC)
+    public static int translateWifiEntryPrivacyToPrefValue(@WifiEntry.Privacy int privacy) {
+        return (privacy == WifiEntry.PRIVACY_RANDOMIZED_MAC)
             ? PREF_RANDOMIZATION_PERSISTENT : PREF_RANDOMIZATION_NONE;
     }
 
     /**
-     * Returns mac randomized value.
+     * Translates the pref value to WifiConfiguration.MacRandomizationSetting value
      *
      * @param prefMacRandomized is preference index value
-     * @return mac randomized value
+     * @return WifiConfiguration.MacRandomizationSetting value
      */
-    public static int translatePrefValueToMacRandomizedValue(int prefMacRandomized) {
+    public static int translatePrefValueToWifiConfigSetting(int prefMacRandomized) {
         return (prefMacRandomized == PREF_RANDOMIZATION_PERSISTENT)
-            ? WifiEntry.PRIVACY_RANDOMIZED_MAC : WifiEntry.PRIVACY_DEVICE_MAC;
+            ? WifiConfiguration.RANDOMIZATION_AUTO : WifiConfiguration.RANDOMIZATION_NONE;
     }
 
     private void updateSummary(ListPreference preference, int macRandomized) {
         // Translates value here to set RANDOMIZATION_PERSISTENT as first item in UI for better UX.
-        final int prefMacRandomized = translateMacRandomizedValueToPrefValue(macRandomized);
+        final int prefMacRandomized = translateWifiEntryPrivacyToPrefValue(macRandomized);
         preference.setSummary(preference.getEntries()[prefMacRandomized]);
     }
 }
diff --git a/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java b/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java
index a7527d7..c7ad9ca 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java
@@ -35,6 +35,8 @@
 import androidx.fragment.app.FragmentTransaction;
 
 import com.android.settings.R;
+import com.android.settings.flags.Flags;
+import com.android.settings.overlay.FeatureFactory;
 
 import java.util.List;
 
@@ -236,7 +238,12 @@
                         WifiDppUtils.TAG_FRAGMENT_QR_CODE_GENERATOR);
 
         if (fragment == null) {
-            fragment = new WifiDppQrCodeGeneratorFragment();
+            if (Flags.enableWifiSharingRuntimeFragment()) {
+                fragment = FeatureFactory.getFeatureFactory().getWifiFeatureProvider()
+                    .getWifiDppQrCodeGeneratorFragment();
+            } else {
+                fragment = new WifiDppQrCodeGeneratorFragment();
+            }
         } else {
             if (fragment.isVisible()) {
                 return;
diff --git a/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java b/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java
index 3d437e2..40cf24d 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java
@@ -44,6 +44,7 @@
 import com.android.internal.app.chooser.DisplayResolveInfo;
 import com.android.internal.app.chooser.TargetInfo;
 import com.android.settings.R;
+import com.android.settings.flags.Flags;
 import com.android.settingslib.qrcode.QrCodeGenerator;
 
 import com.google.zxing.WriterException;
@@ -56,7 +57,7 @@
     private static final String TAG = "WifiDppQrCodeGeneratorFragment";
 
     private ImageView mQrCodeView;
-    private String mQrCode;
+    protected String mQrCode;
 
     private static final String CHIP_LABEL_METADATA_KEY = "android.service.chooser.chip_label";
     private static final String CHIP_ICON_METADATA_KEY = "android.service.chooser.chip_icon";
@@ -69,6 +70,10 @@
 
     @Override
     public int getMetricsCategory() {
+        if (Flags.enableWifiSharingRuntimeFragment()) {
+            return SettingsEnums.SETTINGS_WIFI_DPP_QR_SHARING;
+        }
+
         return SettingsEnums.SETTINGS_WIFI_DPP_CONFIGURATOR;
     }
 
@@ -109,6 +114,7 @@
         super.onViewCreated(view, savedInstanceState);
 
         mQrCodeView = view.findViewById(R.id.qrcode_view);
+        mQrCodeView.setContentDescription(getString(R.string.qr_code_content_description));
 
         final WifiNetworkConfig wifiNetworkConfig = getWifiNetworkConfigFromHostActivity();
         if (wifiNetworkConfig.isHotspot()) {
@@ -258,7 +264,7 @@
         return button;
     }
 
-    private void setQrCode() {
+    protected void setQrCode() {
         try {
             final int qrcodeSize = getContext().getResources().getDimensionPixelSize(
                     R.dimen.qrcode_size);
diff --git a/src/com/android/settings/wifi/dpp/WifiQrCode.java b/src/com/android/settings/wifi/dpp/WifiQrCode.java
index 9b93480..78e0625 100644
--- a/src/com/android/settings/wifi/dpp/WifiQrCode.java
+++ b/src/com/android/settings/wifi/dpp/WifiQrCode.java
@@ -46,6 +46,7 @@
  *
  */
 public class WifiQrCode {
+    private static final String TAG = "WifiQrCode";
     static final String SCHEME_DPP = "DPP";
     static final String SCHEME_ZXING_WIFI_NETWORK_CONFIG = "WIFI";
     static final String PREFIX_DPP = "DPP:";
@@ -119,13 +120,13 @@
         try {
             wifiQrCode = new WifiQrCode(qrCode);
         } catch(IllegalArgumentException e) {
+            Log.e(TAG, "Failed to create WifiQrCode!", e);
             return null;
         }
-
-        if (SCHEME_DPP.equals(wifiQrCode.getScheme())) {
-            return wifiQrCode;
+        if (wifiQrCode.getScheme() != UriParserResults.URI_SCHEME_DPP) {
+            Log.e(TAG, "wifiQrCode scheme is not DPP!");
+            return null;
         }
-
-        return null;
+        return wifiQrCode;
     }
 }
diff --git a/src/com/android/settings/wifi/factory/WifiFeatureProvider.java b/src/com/android/settings/wifi/factory/WifiFeatureProvider.java
index 5ab899a..e5bf81a 100644
--- a/src/com/android/settings/wifi/factory/WifiFeatureProvider.java
+++ b/src/com/android/settings/wifi/factory/WifiFeatureProvider.java
@@ -27,6 +27,7 @@
 import androidx.lifecycle.ViewModelStoreOwner;
 
 import com.android.settings.wifi.details.WifiNetworkDetailsViewModel;
+import com.android.settings.wifi.dpp.WifiDppQrCodeGeneratorFragment;
 import com.android.settings.wifi.repository.SharedConnectivityRepository;
 import com.android.settings.wifi.repository.WifiHotspotRepository;
 import com.android.settings.wifi.tether.WifiHotspotSecurityViewModel;
@@ -147,6 +148,15 @@
     }
 
     /**
+     * Gets an instance of WifiDppQrCodeGeneratorFragment
+     */
+    public WifiDppQrCodeGeneratorFragment getWifiDppQrCodeGeneratorFragment() {
+        WifiDppQrCodeGeneratorFragment fragment = new WifiDppQrCodeGeneratorFragment();
+        verboseLog(TAG, "getWifiDppQrCodeGeneratorFragment():" + fragment);
+        return fragment;
+    }
+
+    /**
      * Send a {@link Log#VERBOSE} log message.
      *
      * @param tag Used to identify the source of a log message.  It usually identifies
diff --git a/src/com/android/settings/wifi/repository/WifiHotspotRepository.java b/src/com/android/settings/wifi/repository/WifiHotspotRepository.java
index 7a001ca..4dc2e9e 100644
--- a/src/com/android/settings/wifi/repository/WifiHotspotRepository.java
+++ b/src/com/android/settings/wifi/repository/WifiHotspotRepository.java
@@ -397,7 +397,7 @@
      * @return {@code true} if Wi-Fi Hotspot 5 GHz Band is available
      */
     public boolean is5gAvailable() {
-        if (!mBand5g.isUsableChannelsReady && is5GHzBandSupported()) {
+        if (!mBand5g.isChannelsReady && is5GHzBandSupported()) {
             isChannelAvailable(mBand5g);
         }
         return mBand5g.isAvailable();
@@ -439,7 +439,7 @@
      * @return {@code true} if Wi-Fi Hotspot 6 GHz Band is available
      */
     public boolean is6gAvailable() {
-        if (!mBand6g.isUsableChannelsReady && is6GHzBandSupported()) {
+        if (!mBand6g.isChannelsReady && is6GHzBandSupported()) {
             isChannelAvailable(mBand6g);
         }
         return mBand6g.isAvailable();
@@ -473,21 +473,21 @@
     boolean isChannelAvailable(SapBand sapBand) {
         try {
             List<WifiAvailableChannel> channels =
-                    mWifiManager.getUsableChannels(sapBand.band, OP_MODE_SAP);
+                    mWifiManager.getAllowedChannels(sapBand.band, OP_MODE_SAP);
             log("isChannelAvailable(), band:" + sapBand.band + ", channels:" + channels);
-            sapBand.hasUsableChannels = (channels != null && channels.size() > 0);
-            sapBand.isUsableChannelsUnsupported = false;
+            sapBand.hasChannels = (channels != null && channels.size() > 0);
+            sapBand.isChannelsUnsupported = false;
         } catch (IllegalArgumentException e) {
-            Log.e(TAG, "Querying usable SAP channels failed, band:" + sapBand.band);
-            sapBand.hasUsableChannels = false;
-            sapBand.isUsableChannelsUnsupported = true;
+            Log.e(TAG, "Querying SAP channels failed, band:" + sapBand.band);
+            sapBand.hasChannels = false;
+            sapBand.isChannelsUnsupported = true;
         } catch (UnsupportedOperationException e) {
             // This is expected on some hardware.
-            Log.e(TAG, "Querying usable SAP channels is unsupported, band:" + sapBand.band);
-            sapBand.hasUsableChannels = false;
-            sapBand.isUsableChannelsUnsupported = true;
+            Log.e(TAG, "Querying SAP channels is unsupported, band:" + sapBand.band);
+            sapBand.hasChannels = false;
+            sapBand.isChannelsUnsupported = true;
         }
-        sapBand.isUsableChannelsReady = true;
+        sapBand.isChannelsReady = true;
         log("isChannelAvailable(), " + sapBand);
         return sapBand.isAvailable();
     }
@@ -531,8 +531,8 @@
     }
 
     protected void purgeRefreshData() {
-        mBand5g.isUsableChannelsReady = false;
-        mBand6g.isUsableChannelsReady = false;
+        mBand5g.isChannelsReady = false;
+        mBand6g.isChannelsReady = false;
     }
 
     protected void startAutoRefresh() {
@@ -615,15 +615,15 @@
 
     @VisibleForTesting
     void updateCapabilityChanged() {
-        if (mBand5g.isUsableChannelsUnsupported) {
+        if (mBand5g.isChannelsUnsupported) {
             update5gAvailable();
             log("updateCapabilityChanged(), " + mBand5g);
         }
-        if (mBand6g.isUsableChannelsUnsupported) {
+        if (mBand6g.isChannelsUnsupported) {
             update6gAvailable();
             log("updateCapabilityChanged(), " + mBand6g);
         }
-        if (mBand5g.isUsableChannelsUnsupported || mBand6g.isUsableChannelsUnsupported) {
+        if (mBand5g.isChannelsUnsupported || mBand6g.isChannelsUnsupported) {
             updateSpeedType();
         }
     }
@@ -676,9 +676,9 @@
     @VisibleForTesting
     static class SapBand {
         public int band;
-        public boolean isUsableChannelsReady;
-        public boolean hasUsableChannels;
-        public boolean isUsableChannelsUnsupported;
+        public boolean isChannelsReady;
+        public boolean hasChannels;
+        public boolean isChannelsUnsupported;
         public boolean hasCapability;
 
         SapBand(int band) {
@@ -689,7 +689,7 @@
          * Return whether SoftAp band is available or not.
          */
         public boolean isAvailable() {
-            return isUsableChannelsUnsupported ? hasCapability : hasUsableChannels;
+            return isChannelsUnsupported ? hasCapability : hasChannels;
         }
 
         @Override
@@ -697,10 +697,10 @@
         public String toString() {
             return "SapBand{"
                     + "band:" + band
-                    + ",isUsableChannelsReady:" + isUsableChannelsReady
-                    + ",hasUsableChannels:" + hasUsableChannels
-                    + ",isUsableChannelsUnsupported:" + isUsableChannelsUnsupported
-                    + ",hasChannelsCapability:" + hasCapability
+                    + ",isChannelsReady:" + isChannelsReady
+                    + ",hasChannels:" + hasChannels
+                    + ",isChannelsUnsupported:" + isChannelsUnsupported
+                    + ",hasCapability:" + hasCapability
                     + '}';
         }
     }
diff --git a/src/com/android/settings/wifi/repository/WifiStatusRepository.kt b/src/com/android/settings/wifi/repository/WifiStatusRepository.kt
index f97ed49..fe4ba6c 100644
--- a/src/com/android/settings/wifi/repository/WifiStatusRepository.kt
+++ b/src/com/android/settings/wifi/repository/WifiStatusRepository.kt
@@ -50,14 +50,20 @@
                 var wifiStatusTracker: WifiStatusTracker? = null
                 wifiStatusTracker = wifiStatusTrackerFactory { wifiStatusTracker?.let(::trySend) }
 
+                // Fetches initial state first, before set listening to true, otherwise could cause
+                // race condition.
+                wifiStatusTracker.fetchInitialState()
+                trySend(wifiStatusTracker)
+
                 context
                     .broadcastReceiverFlow(INTENT_FILTER)
-                    .onEach { intent -> wifiStatusTracker.handleBroadcast(intent) }
+                    .onEach { intent ->
+                        wifiStatusTracker.handleBroadcast(intent)
+                        trySend(wifiStatusTracker)
+                    }
                     .launchIn(this)
 
                 wifiStatusTracker.setListening(true)
-                wifiStatusTracker.fetchInitialState()
-                trySend(wifiStatusTracker)
 
                 awaitClose { wifiStatusTracker.setListening(false) }
             }
diff --git a/src/com/android/settings/wifi/slice/WifiSlice.java b/src/com/android/settings/wifi/slice/WifiSlice.java
index ff448a8..3bb50d3 100644
--- a/src/com/android/settings/wifi/slice/WifiSlice.java
+++ b/src/com/android/settings/wifi/slice/WifiSlice.java
@@ -431,7 +431,7 @@
         boolean isSatelliteOn = false;
         try {
             isSatelliteOn =
-                    satelliteRepository.requestIsEnabled(Executors.newSingleThreadExecutor())
+                    satelliteRepository.requestIsSessionStarted(Executors.newSingleThreadExecutor())
                             .get(2000, TimeUnit.MILLISECONDS);
         } catch (ExecutionException | TimeoutException | InterruptedException e) {
             Log.e(TAG, "Error to get satellite status : " + e);
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSettings.java b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
index 74671b5..980dee5 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSettings.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
@@ -371,12 +371,20 @@
                     || !mWifiRestriction.isHotspotAvailable(context)) {
                 keys.add(KEY_WIFI_TETHER_NETWORK_NAME);
                 keys.add(KEY_WIFI_TETHER_SECURITY);
+                keys.add(KEY_WIFI_HOTSPOT_SECURITY);
                 keys.add(KEY_WIFI_TETHER_NETWORK_PASSWORD);
                 keys.add(KEY_WIFI_TETHER_AUTO_OFF);
                 keys.add(KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY);
+                keys.add(KEY_WIFI_HOTSPOT_SPEED);
                 keys.add(KEY_INSTANT_HOTSPOT);
-            } else if (!mIsInstantHotspotEnabled) {
-                keys.add(KEY_INSTANT_HOTSPOT);
+            } else {
+                if (!isSpeedFeatureAvailable()) {
+                    keys.add(KEY_WIFI_HOTSPOT_SECURITY);
+                    keys.add(KEY_WIFI_HOTSPOT_SPEED);
+                }
+                if (!mIsInstantHotspotEnabled) {
+                    keys.add(KEY_INSTANT_HOTSPOT);
+                }
             }
 
             // Remove duplicate
@@ -400,6 +408,12 @@
         public List<AbstractPreferenceController> createPreferenceControllers(Context context) {
             return buildPreferenceControllers(context, null /* listener */);
         }
+
+        @VisibleForTesting
+        boolean isSpeedFeatureAvailable() {
+            return FeatureFactory.getFeatureFactory().getWifiFeatureProvider()
+                    .getWifiHotspotRepository().isSpeedFeatureAvailable();
+        }
     }
 
     @VisibleForTesting
diff --git a/tests/Enable16KbTests/Android.bp b/tests/Enable16KbTests/Android.bp
index db3c3d2..7e1d32c 100644
--- a/tests/Enable16KbTests/Android.bp
+++ b/tests/Enable16KbTests/Android.bp
@@ -33,7 +33,6 @@
     ],
     platform_apis: true,
     certificate: "platform",
-    test_suites: ["device-tests"],
     libs: [
         "android.test.runner.stubs.system",
         "android.test.base.stubs.system",
@@ -57,6 +56,6 @@
     data: [
         ":test_16kb_app",
     ],
-    test_suites: ["device-tests"],
+    test_suites: ["general-tests"],
     test_config: "AndroidTest.xml",
 }
diff --git a/res/layout/preference_spinner.xml b/tests/robotests/res/xml/modes_fake_settings.xml
similarity index 60%
copy from res/layout/preference_spinner.xml
copy to tests/robotests/res/xml/modes_fake_settings.xml
index 4129303..a5602dc 100644
--- a/res/layout/preference_spinner.xml
+++ b/tests/robotests/res/xml/modes_fake_settings.xml
@@ -1,5 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
 <!--
-  ~ Copyright (C) 2023 The Android Open Source Project
+  ~ Copyright (C) 2024 The Android Open Source Project
   ~
   ~ Licensed under the Apache License, Version 2.0 (the "License");
   ~ you may not use this file except in compliance with the License.
@@ -14,11 +15,8 @@
   ~ limitations under the License.
   -->
 
-<Spinner
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/spinner"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:layout_marginStart="24dp"
-    android:layout_marginTop="8dp"
-    android:theme="@style/Widget.PopupWindow.Settings" />
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+    <Preference android:key="pref_id" />
+    <Preference android:key="pref_name" />
+    <Preference android:key="pref_enabled" />
+</PreferenceScreen>
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/MainClearConfirmTest.java b/tests/robotests/src/com/android/settings/MainClearConfirmTest.java
index 6d85368..f7711c8 100644
--- a/tests/robotests/src/com/android/settings/MainClearConfirmTest.java
+++ b/tests/robotests/src/com/android/settings/MainClearConfirmTest.java
@@ -77,6 +77,7 @@
 
         when(mMockActivity.getSystemService(Context.DEVICE_POLICY_SERVICE))
                 .thenReturn(mDevicePolicyManager);
+        when(mPersistentDataBlockManager.isFactoryResetProtectionActive()).thenReturn(false);
     }
 
     @Test
@@ -113,6 +114,13 @@
     }
 
     @Test
+    public void shouldWipePersistentDataBlock_frpIsAlive_shouldReturnFalse() {
+        when(mPersistentDataBlockManager.isFactoryResetProtectionActive()).thenReturn(true);
+        assertThat(mMainClearConfirm.shouldWipePersistentDataBlock(mPersistentDataBlockManager))
+                .isFalse();
+    }
+
+    @Test
     public void shouldWipePersistentDataBlock_deviceIsStillBeingProvisioned_shouldReturnFalse() {
         doReturn(true).when(mMainClearConfirm).isDeviceStillBeingProvisioned();
 
diff --git a/tests/robotests/src/com/android/settings/MainClearTest.java b/tests/robotests/src/com/android/settings/MainClearTest.java
index e84d4eb..b705ae1 100644
--- a/tests/robotests/src/com/android/settings/MainClearTest.java
+++ b/tests/robotests/src/com/android/settings/MainClearTest.java
@@ -18,6 +18,7 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
@@ -39,7 +40,12 @@
 import android.content.pm.ActivityInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
+import android.content.res.Resources;
+import android.hardware.biometrics.BiometricManager;
+import android.hardware.biometrics.Flags;
 import android.os.UserManager;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
 import android.provider.Settings;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -57,6 +63,7 @@
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Ignore;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -77,6 +84,9 @@
 })
 public class MainClearTest {
 
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
     private static final String TEST_ACCOUNT_TYPE = "android.test.account.type";
     private static final String TEST_CONFIRMATION_PACKAGE = "android.test.conf.pkg";
     private static final String TEST_CONFIRMATION_CLASS = "android.test.conf.pkg.ConfActivity";
@@ -95,6 +105,12 @@
 
     @Mock
     private FragmentActivity mMockActivity;
+    @Mock
+    private BiometricManager mBiometricManager;
+    @Mock
+    private Resources mResources;
+    @Mock
+    private Context mContext;
 
     @Mock
     private Intent mMockIntent;
@@ -122,6 +138,11 @@
         // Make scrollView only have one child
         when(mScrollView.getChildAt(0)).thenReturn(mLinearLayout);
         when(mScrollView.getChildCount()).thenReturn(1);
+        doReturn(mMockActivity).when(mMainClear).getActivity();
+        when(mMockActivity.getSystemService(BiometricManager.class)).thenReturn(mBiometricManager);
+        when(mBiometricManager.canAuthenticate(anyInt(),
+                eq(BiometricManager.Authenticators.MANDATORY_BIOMETRICS)))
+                .thenReturn(BiometricManager.BIOMETRIC_ERROR_MANDATORY_NOT_ACTIVE);
     }
 
     @After
@@ -344,6 +365,83 @@
     }
 
     @Test
+    @EnableFlags(Flags.FLAG_MANDATORY_BIOMETRICS)
+    public void testOnActivityResultInternal_keyguardRequestTriggeringBiometricPrompt() {
+        when(mContext.getResources()).thenReturn(mResources);
+        when(mMockActivity.getSystemService(BiometricManager.class)).thenReturn(mBiometricManager);
+        when(mResources.getString(anyInt())).thenReturn(TEST_ACCOUNT_NAME);
+        when(mBiometricManager.canAuthenticate(anyInt(),
+                eq(BiometricManager.Authenticators.MANDATORY_BIOMETRICS)))
+                .thenReturn(BiometricManager.BIOMETRIC_SUCCESS);
+        doReturn(true).when(mMainClear).isValidRequestCode(eq(MainClear.KEYGUARD_REQUEST));
+        doNothing().when(mMainClear).startActivityForResult(any(), anyInt());
+        doReturn(mMockActivity).when(mMainClear).getActivity();
+        doReturn(mContext).when(mMainClear).getContext();
+
+        mMainClear
+                .onActivityResultInternal(MainClear.KEYGUARD_REQUEST, Activity.RESULT_OK, null);
+
+        verify(mMainClear, times(1)).isValidRequestCode(eq(MainClear.KEYGUARD_REQUEST));
+        verify(mMainClear).startActivityForResult(any(), eq(MainClear.BIOMETRICS_REQUEST));
+        verify(mMainClear, times(0)).establishInitialState();
+        verify(mMainClear, times(0)).getAccountConfirmationIntent();
+        verify(mMainClear, times(0)).showFinalConfirmation();
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_MANDATORY_BIOMETRICS)
+    public void testOnActivityResultInternal_keyguardRequestNotTriggeringBiometricPrompt_lockoutError() {
+        when(mContext.getResources()).thenReturn(mResources);
+        when(mMockActivity.getSystemService(BiometricManager.class)).thenReturn(mBiometricManager);
+        when(mResources.getString(anyInt())).thenReturn(TEST_ACCOUNT_NAME);
+        when(mBiometricManager.canAuthenticate(anyInt(),
+                eq(BiometricManager.Authenticators.MANDATORY_BIOMETRICS)))
+                .thenReturn(BiometricManager.BIOMETRIC_ERROR_LOCKOUT);
+        doReturn(true).when(mMainClear).isValidRequestCode(eq(MainClear.KEYGUARD_REQUEST));
+        doNothing().when(mMainClear).startActivityForResult(any(), anyInt());
+        doReturn(mMockActivity).when(mMainClear).getActivity();
+        doReturn(mContext).when(mMainClear).getContext();
+
+        mMainClear
+                .onActivityResultInternal(MainClear.KEYGUARD_REQUEST, Activity.RESULT_OK, null);
+
+        verify(mMainClear).isValidRequestCode(eq(MainClear.KEYGUARD_REQUEST));
+        verify(mMainClear, never()).startActivityForResult(any(), eq(MainClear.BIOMETRICS_REQUEST));
+        verify(mMainClear, never()).establishInitialState();
+        verify(mMainClear, never()).getAccountConfirmationIntent();
+        verify(mMainClear, never()).showFinalConfirmation();
+    }
+
+    @Test
+    public void testOnActivityResultInternal_biometricRequestTriggeringFinalConfirmation() {
+        doReturn(true).when(mMainClear).isValidRequestCode(eq(MainClear.BIOMETRICS_REQUEST));
+        doReturn(null).when(mMainClear).getAccountConfirmationIntent();
+        doNothing().when(mMainClear).showFinalConfirmation();
+
+        mMainClear
+                .onActivityResultInternal(MainClear.BIOMETRICS_REQUEST, Activity.RESULT_OK, null);
+
+        verify(mMainClear).isValidRequestCode(eq(MainClear.BIOMETRICS_REQUEST));
+        verify(mMainClear, never()).establishInitialState();
+        verify(mMainClear).getAccountConfirmationIntent();
+        verify(mMainClear).showFinalConfirmation();
+    }
+
+    @Test
+    public void testOnActivityResultInternal_biometricRequestTriggeringInitialState() {
+        doReturn(true).when(mMainClear).isValidRequestCode(eq(MainClear.BIOMETRICS_REQUEST));
+        doNothing().when(mMainClear).establishInitialState();
+
+        mMainClear.onActivityResultInternal(MainClear.BIOMETRICS_REQUEST, Activity.RESULT_CANCELED,
+                        null);
+
+        verify(mMainClear, times(1)).isValidRequestCode(eq(MainClear.BIOMETRICS_REQUEST));
+        verify(mMainClear, times(1)).establishInitialState();
+        verify(mMainClear, times(0)).getAccountConfirmationIntent();
+        verify(mMainClear, times(0)).showFinalConfirmation();
+    }
+
+    @Test
     public void testOnActivityResultInternal_confirmRequestTriggeringShowFinal() {
         doReturn(true).when(mMainClear)
                 .isValidRequestCode(eq(MainClear.CREDENTIAL_CONFIRM_REQUEST));
diff --git a/tests/robotests/src/com/android/settings/ResetNetworkConfirmTest.java b/tests/robotests/src/com/android/settings/ResetNetworkConfirmTest.java
deleted file mode 100644
index ea6559c..0000000
--- a/tests/robotests/src/com/android/settings/ResetNetworkConfirmTest.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;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.spy;
-
-import android.view.LayoutInflater;
-import android.widget.TextView;
-
-import androidx.fragment.app.FragmentActivity;
-
-import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
-import com.android.settings.testutils.shadow.ShadowRecoverySystem;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnit;
-import org.mockito.junit.MockitoRule;
-import org.robolectric.Robolectric;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.android.util.concurrent.PausedExecutorService;
-import org.robolectric.annotation.Config;
-import org.robolectric.shadows.ShadowLooper;
-import org.robolectric.shadows.ShadowPausedAsyncTask;
-
-@RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowRecoverySystem.class, ShadowBluetoothAdapter.class})
-public class ResetNetworkConfirmTest {
-    @Rule
-    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
-
-    private static final String TEST_PACKAGE = "com.android.settings";
-
-    private FragmentActivity mActivity;
-
-    @Mock
-    private ResetNetworkConfirm mResetNetworkConfirm;
-    private PausedExecutorService mExecutorService;
-
-    @Before
-    public void setUp() {
-        mExecutorService = new PausedExecutorService();
-        ShadowPausedAsyncTask.overrideExecutor(mExecutorService);
-        mResetNetworkConfirm = new ResetNetworkConfirm();
-        mActivity = spy(Robolectric.setupActivity(FragmentActivity.class));
-        mResetNetworkConfirm.mActivity = mActivity;
-    }
-
-    @After
-    public void tearDown() {
-        ShadowRecoverySystem.reset();
-    }
-
-    @Test
-    public void testResetNetworkData_notResetEsim() {
-        mResetNetworkConfirm.mResetNetworkRequest =
-                new ResetNetworkRequest(ResetNetworkRequest.RESET_NONE);
-        mResetNetworkConfirm.mResetSubscriptionContract =
-                new ResetSubscriptionContract(mActivity,
-                mResetNetworkConfirm.mResetNetworkRequest) {
-            @Override
-            public void onSubscriptionInactive(int subscriptionId) {
-                mActivity.onBackPressed();
-            }
-        };
-
-        mResetNetworkConfirm.mFinalClickListener.onClick(null /* View */);
-        mExecutorService.runAll();
-        ShadowLooper.idleMainLooper();
-
-        assertThat(ShadowRecoverySystem.getWipeEuiccCalledCount()).isEqualTo(0);
-    }
-
-    @Test
-    public void setSubtitle_eraseEsim() {
-        mResetNetworkConfirm.mResetNetworkRequest =
-                new ResetNetworkRequest(ResetNetworkRequest.RESET_NONE);
-        mResetNetworkConfirm.mResetNetworkRequest.setResetEsim(TEST_PACKAGE);
-
-        mResetNetworkConfirm.mContentView =
-                LayoutInflater.from(mActivity).inflate(R.layout.reset_network_confirm, null);
-
-        mResetNetworkConfirm.setSubtitle();
-
-        assertThat(((TextView) mResetNetworkConfirm.mContentView
-                .findViewById(R.id.reset_network_confirm)).getText())
-                .isEqualTo(mActivity.getString(R.string.reset_network_final_desc_esim));
-    }
-
-    @Test
-    public void setSubtitle_notEraseEsim() {
-        mResetNetworkConfirm.mResetNetworkRequest =
-                new ResetNetworkRequest(ResetNetworkRequest.RESET_NONE);
-
-        mResetNetworkConfirm.mContentView =
-                LayoutInflater.from(mActivity).inflate(R.layout.reset_network_confirm, null);
-
-        mResetNetworkConfirm.setSubtitle();
-
-        assertThat(((TextView) mResetNetworkConfirm.mContentView
-                .findViewById(R.id.reset_network_confirm)).getText())
-                .isEqualTo(mActivity.getString(R.string.reset_network_final_desc));
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/UtilsTest.java b/tests/robotests/src/com/android/settings/UtilsTest.java
index 0c57b01..107a1b3 100644
--- a/tests/robotests/src/com/android/settings/UtilsTest.java
+++ b/tests/robotests/src/com/android/settings/UtilsTest.java
@@ -20,6 +20,11 @@
 import static android.hardware.biometrics.SensorProperties.STRENGTH_STRONG;
 import static android.hardware.biometrics.SensorProperties.STRENGTH_WEAK;
 
+import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;
+import static com.android.settings.password.ConfirmDeviceCredentialActivity.BIOMETRIC_PROMPT_AUTHENTICATORS;
+import static com.android.settings.password.ConfirmDeviceCredentialActivity.BIOMETRIC_PROMPT_HIDE_BACKGROUND;
+import static com.android.settings.password.ConfirmDeviceCredentialActivity.BIOMETRIC_PROMPT_NEGATIVE_BUTTON_TEXT;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.junit.Assert.assertNull;
@@ -35,10 +40,12 @@
 import static org.mockito.Mockito.when;
 
 import android.app.ActionBar;
+import android.app.KeyguardManager;
 import android.app.admin.DevicePolicyManager;
 import android.app.admin.DevicePolicyResourcesManager;
 import android.content.ComponentName;
 import android.content.Context;
+import android.content.Intent;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.UserInfo;
@@ -47,6 +54,8 @@
 import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.VectorDrawable;
+import android.hardware.biometrics.BiometricManager;
+import android.hardware.biometrics.Flags;
 import android.hardware.face.FaceManager;
 import android.hardware.face.FaceSensorProperties;
 import android.hardware.face.FaceSensorPropertiesInternal;
@@ -61,21 +70,28 @@
 import android.os.storage.DiskInfo;
 import android.os.storage.StorageManager;
 import android.os.storage.VolumeInfo;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
 import android.util.IconDrawableFactory;
 import android.widget.EditText;
 import android.widget.ScrollView;
 import android.widget.TextView;
 
 import androidx.core.graphics.drawable.IconCompat;
+import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentActivity;
 
 import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.password.ChooseLockSettingsHelper;
+import com.android.settings.password.ConfirmDeviceCredentialActivity;
 import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
 
 import org.junit.After;
 import org.junit.Before;
+import org.junit.Rule;
 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;
@@ -92,6 +108,9 @@
 @Config(shadows = ShadowLockPatternUtils.class)
 public class UtilsTest {
 
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
     private static final String PACKAGE_NAME = "com.android.app";
     private static final int USER_ID = 1;
 
@@ -113,6 +132,11 @@
     private IconDrawableFactory mIconDrawableFactory;
     @Mock
     private ApplicationInfo mApplicationInfo;
+    @Mock
+    private BiometricManager mBiometricManager;
+    @Mock
+    private Fragment mFragment;
+
     private Context mContext;
     private UserManager mUserManager;
     private static final int FLAG_SYSTEM = 0x00000000;
@@ -128,6 +152,7 @@
         when(mContext.getSystemService(Context.CONNECTIVITY_SERVICE))
                 .thenReturn(connectivityManager);
         when(mContext.getPackageManager()).thenReturn(mPackageManager);
+        when(mContext.getSystemService(BiometricManager.class)).thenReturn(mBiometricManager);
     }
 
     @After
@@ -503,6 +528,81 @@
         assertThat(Utils.isFaceNotConvenienceBiometric(mContext)).isFalse();
     }
 
+    @Test
+    @EnableFlags(Flags.FLAG_MANDATORY_BIOMETRICS)
+    public void testRequestBiometricAuthentication_biometricManagerNull_shouldReturnNotActive() {
+        when(mContext.getSystemService(BiometricManager.class)).thenReturn(null);
+        assertThat(Utils.requestBiometricAuthenticationForMandatoryBiometrics(mContext,
+                false /* biometricsAuthenticationRequested */, USER_ID)).isEqualTo(
+                        Utils.BiometricStatus.NOT_ACTIVE);
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_MANDATORY_BIOMETRICS)
+    public void testRequestBiometricAuthentication_biometricManagerReturnsSuccess_shouldReturnOk() {
+        when(mBiometricManager.canAuthenticate(USER_ID,
+                BiometricManager.Authenticators.MANDATORY_BIOMETRICS))
+                .thenReturn(BiometricManager.BIOMETRIC_SUCCESS);
+        final Utils.BiometricStatus requestBiometricAuthenticationForMandatoryBiometrics =
+                Utils.requestBiometricAuthenticationForMandatoryBiometrics(mContext,
+                        false /* biometricsAuthenticationRequested */, USER_ID);
+        assertThat(requestBiometricAuthenticationForMandatoryBiometrics).isEqualTo(
+                Utils.BiometricStatus.OK);
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_MANDATORY_BIOMETRICS)
+    public void testRequestBiometricAuthentication_biometricManagerReturnsError_shouldReturnError() {
+        when(mBiometricManager.canAuthenticate(anyInt(),
+                eq(BiometricManager.Authenticators.MANDATORY_BIOMETRICS)))
+                .thenReturn(BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE);
+        assertThat(Utils.requestBiometricAuthenticationForMandatoryBiometrics(mContext,
+                false /* biometricsAuthenticationRequested */, USER_ID)).isEqualTo(
+                        Utils.BiometricStatus.ERROR);
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_MANDATORY_BIOMETRICS)
+    public void testRequestBiometricAuthentication_biometricManagerReturnsSuccessForDifferentUser_shouldReturnError() {
+        when(mBiometricManager.canAuthenticate(anyInt(),
+                eq(BiometricManager.Authenticators.MANDATORY_BIOMETRICS)))
+                .thenReturn(BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE);
+        when(mBiometricManager.canAuthenticate(0 /* userId */,
+                BiometricManager.Authenticators.MANDATORY_BIOMETRICS))
+                .thenReturn(BiometricManager.BIOMETRIC_SUCCESS);
+        assertThat(Utils.requestBiometricAuthenticationForMandatoryBiometrics(mContext,
+                false /* biometricsAuthenticationRequested */, USER_ID)).isEqualTo(
+                        Utils.BiometricStatus.ERROR);
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_MANDATORY_BIOMETRICS)
+    public void testLaunchBiometricPrompt_checkIntentValues() {
+        when(mFragment.getContext()).thenReturn(mContext);
+
+        final int requestCode = 1;
+        final ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class);
+        Utils.launchBiometricPromptForMandatoryBiometrics(mFragment, requestCode, USER_ID,
+                false /* hideBackground */);
+
+        verify(mFragment).startActivityForResult(intentArgumentCaptor.capture(), eq(requestCode));
+
+        final Intent intent = intentArgumentCaptor.getValue();
+
+        assertThat(intent.getExtra(BIOMETRIC_PROMPT_AUTHENTICATORS)).isEqualTo(
+                BiometricManager.Authenticators.MANDATORY_BIOMETRICS);
+        assertThat(intent.getExtra(BIOMETRIC_PROMPT_NEGATIVE_BUTTON_TEXT)).isNotNull();
+        assertThat(intent.getExtra(KeyguardManager.EXTRA_DESCRIPTION)).isNotNull();
+        assertThat(intent.getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_ALLOW_ANY_USER, false))
+                .isTrue();
+        assertThat(intent.getBooleanExtra(BIOMETRIC_PROMPT_HIDE_BACKGROUND, true))
+                .isFalse();
+        assertThat(intent.getIntExtra(Intent.EXTRA_USER_ID, 0)).isEqualTo(USER_ID);
+        assertThat(intent.getComponent().getPackageName()).isEqualTo(SETTINGS_PACKAGE_NAME);
+        assertThat(intent.getComponent().getClassName()).isEqualTo(
+                ConfirmDeviceCredentialActivity.InternalActivity.class.getName());
+    }
+
     private void setUpForConfirmCredentialString(boolean isEffectiveUserManagedProfile) {
         when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mMockUserManager);
         when(mMockUserManager.getCredentialOwnerProfile(USER_ID)).thenReturn(USER_ID);
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityDialogUtilsTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityDialogUtilsTest.java
index ad53ad6..547d0b6 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityDialogUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityDialogUtilsTest.java
@@ -21,7 +21,6 @@
 import android.app.Dialog;
 import android.content.Context;
 
-import androidx.appcompat.app.AlertDialog;
 import androidx.test.core.app.ApplicationProvider;
 
 import org.junit.Before;
@@ -41,24 +40,6 @@
     }
 
     @Test
-    public void updateShortcutInDialog_correctDialogType_success() {
-        final AlertDialog dialog = AccessibilityDialogUtils.showEditShortcutDialog(
-                mContext, AccessibilityDialogUtils.DialogType.EDIT_SHORTCUT_GENERIC, "Title",
-                null);
-
-        assertThat(
-                AccessibilityDialogUtils.updateShortcutInDialog(mContext, dialog)).isTrue();
-    }
-
-    @Test
-    public void updateShortcutInDialog_useNotSupportedDialog_fail() {
-        final AlertDialog dialog = new AlertDialog.Builder(mContext).setTitle("Title").show();
-
-        assertThat(AccessibilityDialogUtils.updateShortcutInDialog(mContext,
-                dialog)).isFalse();
-    }
-
-    @Test
     public void showDialog_createCustomDialog_isShowing() {
         final Dialog dialog = AccessibilityDialogUtils.createCustomDialog(mContext,
                 "Title", /* customView= */ null, "positiveButton", /* positiveListener= */ null,
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityFragmentUtilsTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityFragmentUtilsTest.java
new file mode 100644
index 0000000..cd4ee89
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityFragmentUtilsTest.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.preference.Preference;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settingslib.widget.IllustrationPreference;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+/** Tests for {@link AccessibilityFragmentUtils} */
+@RunWith(RobolectricTestRunner.class)
+public class AccessibilityFragmentUtilsTest {
+
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+
+    @Test
+    public void isPreferenceImportantToA11y_basicPreference_isImportant() {
+        final Preference pref = new ShortcutPreference(mContext, /* attrs= */ null);
+
+        assertThat(AccessibilityFragmentUtils.isPreferenceImportantToA11y(pref)).isTrue();
+    }
+
+    @Test
+    public void isPreferenceImportantToA11y_illustrationPreference_hasContentDesc_isImportant() {
+        final IllustrationPreference pref =
+                new IllustrationPreference(mContext, /* attrs= */ null);
+        pref.setContentDescription("content desc");
+
+        assertThat(AccessibilityFragmentUtils.isPreferenceImportantToA11y(pref)).isTrue();
+    }
+
+    @Test
+    public void isPreferenceImportantToA11y_illustrationPreference_noContentDesc_notImportant() {
+        final IllustrationPreference pref =
+                new IllustrationPreference(mContext, /* attrs= */ null);
+        pref.setContentDescription(null);
+
+        assertThat(AccessibilityFragmentUtils.isPreferenceImportantToA11y(pref)).isFalse();
+    }
+
+    @Test
+    public void isPreferenceImportantToA11y_paletteListPreference_notImportant() {
+        final PaletteListPreference pref =
+                new PaletteListPreference(mContext, /* attrs= */ null);
+
+        assertThat(AccessibilityFragmentUtils.isPreferenceImportantToA11y(pref)).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
index 1463cd0..3982dc0 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
@@ -32,6 +32,7 @@
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
 import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.content.pm.ServiceInfo;
 import android.database.ContentObserver;
@@ -50,6 +51,7 @@
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
 import com.android.settings.testutils.XmlTestUtils;
+import com.android.settings.testutils.shadow.ShadowAccessibilityManager;
 import com.android.settings.testutils.shadow.ShadowApplicationPackageManager;
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
 import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
@@ -75,7 +77,6 @@
 import org.robolectric.android.controller.ActivityController;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadow.api.Shadow;
-import org.robolectric.shadows.ShadowAccessibilityManager;
 import org.robolectric.shadows.ShadowContentResolver;
 import org.xmlpull.v1.XmlPullParserException;
 
@@ -87,6 +88,7 @@
 /** Test for {@link AccessibilitySettings}. */
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {
+        ShadowAccessibilityManager.class,
         ShadowBluetoothAdapter.class,
         ShadowUserManager.class,
         ShadowColorDisplayManager.class,
@@ -95,8 +97,10 @@
 })
 public class AccessibilitySettingsTest {
     private static final String PACKAGE_NAME = "com.android.test";
-    private static final String CLASS_NAME = PACKAGE_NAME + ".test_a11y_service";
-    private static final ComponentName COMPONENT_NAME = new ComponentName(PACKAGE_NAME, CLASS_NAME);
+    private static final ComponentName SERVICE_COMPONENT_NAME =
+            new ComponentName(PACKAGE_NAME, PACKAGE_NAME + ".test_a11y_service");
+    private static final ComponentName ACTIVITY_COMPONENT_NAME =
+            new ComponentName(PACKAGE_NAME, PACKAGE_NAME + ".test_a11y_activity");
     private static final String EMPTY_STRING = "";
     private static final String DEFAULT_SUMMARY = "default summary";
     private static final String DEFAULT_DESCRIPTION = "default description";
@@ -110,9 +114,7 @@
     private final Context mContext = ApplicationProvider.getApplicationContext();
     @Spy
     private final AccessibilityServiceInfo mServiceInfo = getMockAccessibilityServiceInfo(
-            PACKAGE_NAME, CLASS_NAME);
-    @Mock
-    private AccessibilityShortcutInfo mShortcutInfo;
+            SERVICE_COMPONENT_NAME);
     private ShadowAccessibilityManager mShadowAccessibilityManager;
     @Mock
     private LocalBluetoothManager mLocalBluetoothManager;
@@ -121,11 +123,11 @@
 
     @Before
     public void setup() {
-        mShadowAccessibilityManager = Shadow.extract(AccessibilityManager.getInstance(mContext));
+        mShadowAccessibilityManager = Shadow.extract(
+                mContext.getSystemService(AccessibilityManager.class));
         mShadowAccessibilityManager.setInstalledAccessibilityServiceList(new ArrayList<>());
         mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager;
-        setMockAccessibilityShortcutInfo(mShortcutInfo);
 
         Intent intent = new Intent();
         intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT,
@@ -174,7 +176,8 @@
                 mServiceInfo, SERVICE_ENABLED);
 
         assertThat(summary).isEqualTo(
-                mContext.getString(R.string.preference_summary_default_combination,
+                mContext.getString(
+                        com.android.settingslib.R.string.preference_summary_default_combination,
                         mContext.getString(R.string.accessibility_summary_shortcut_enabled),
                         DEFAULT_SUMMARY));
     }
@@ -189,7 +192,8 @@
                 mServiceInfo, SERVICE_ENABLED);
 
         assertThat(summary).isEqualTo(
-                mContext.getString(R.string.preference_summary_default_combination,
+                mContext.getString(
+                        com.android.settingslib.R.string.preference_summary_default_combination,
                         mContext.getString(R.string.generic_accessibility_feature_shortcut_off),
                         DEFAULT_SUMMARY));
     }
@@ -251,7 +255,8 @@
                 mServiceInfo, SERVICE_ENABLED).toString();
 
         assertThat(summary).isEqualTo(
-                mContext.getString(R.string.preference_summary_default_combination,
+                mContext.getString(
+                        com.android.settingslib.R.string.preference_summary_default_combination,
                         mContext.getString(R.string.generic_accessibility_service_on),
                         DEFAULT_SUMMARY));
     }
@@ -265,7 +270,8 @@
                 mServiceInfo, SERVICE_ENABLED).toString();
 
         assertThat(summary).isEqualTo(
-                mContext.getString(R.string.preference_summary_default_combination,
+                mContext.getString(
+                        com.android.settingslib.R.string.preference_summary_default_combination,
                         mContext.getString(R.string.generic_accessibility_service_on),
                         DEFAULT_SUMMARY));
     }
@@ -279,7 +285,8 @@
                 mServiceInfo, SERVICE_DISABLED).toString();
 
         assertThat(summary).isEqualTo(
-                mContext.getString(R.string.preference_summary_default_combination,
+                mContext.getString(
+                        com.android.settingslib.R.string.preference_summary_default_combination,
                         mContext.getString(R.string.generic_accessibility_service_off),
                         DEFAULT_SUMMARY));
     }
@@ -293,7 +300,8 @@
                 mServiceInfo, SERVICE_DISABLED).toString();
 
         assertThat(summary).isEqualTo(
-                mContext.getString(R.string.preference_summary_default_combination,
+                mContext.getString(
+                        com.android.settingslib.R.string.preference_summary_default_combination,
                         mContext.getString(R.string.generic_accessibility_service_off),
                         DEFAULT_SUMMARY));
     }
@@ -368,7 +376,7 @@
         mFragment.onContentChanged();
 
         RestrictedPreference preference = mFragment.getPreferenceScreen().findPreference(
-                COMPONENT_NAME.flattenToString());
+                SERVICE_COMPONENT_NAME.flattenToString());
 
         assertThat(preference).isNotNull();
 
@@ -388,7 +396,7 @@
         mFragment.onResume();
 
         RestrictedPreference preference = mFragment.getPreferenceScreen().findPreference(
-                COMPONENT_NAME.flattenToString());
+                SERVICE_COMPONENT_NAME.flattenToString());
 
         assertThat(preference).isNotNull();
 
@@ -398,14 +406,25 @@
     public void testAccessibilityMenuInSystem_IncludedInInteractionControl() {
         mShadowAccessibilityManager.setInstalledAccessibilityServiceList(
                 List.of(getMockAccessibilityServiceInfo(
-                        AccessibilityUtils.ACCESSIBILITY_MENU_IN_SYSTEM)));
+                        AccessibilityUtils.ACCESSIBILITY_MENU_IN_SYSTEM,
+                        /*isSystemApp=*/true)));
         setupFragment();
 
-        final RestrictedPreference pref = mFragment.getPreferenceScreen().findPreference(
-                AccessibilityUtils.ACCESSIBILITY_MENU_IN_SYSTEM.flattenToString());
-        final String prefCategory = mFragment.mServicePreferenceToPreferenceCategoryMap.get(
-                pref).getKey();
-        assertThat(prefCategory).isEqualTo(AccessibilitySettings.CATEGORY_INTERACTION_CONTROL);
+        assertThat(getPreferenceCategory(AccessibilityUtils.ACCESSIBILITY_MENU_IN_SYSTEM))
+                .isEqualTo(AccessibilitySettings.CATEGORY_INTERACTION_CONTROL);
+    }
+
+    @Test
+    @EnableFlags(com.android.settings.accessibility.Flags.FLAG_CHECK_PREBUNDLED_IS_PREINSTALLED)
+    public void testNonPreinstalledApp_IncludedInDownloadedCategory() {
+        mShadowAccessibilityManager.setInstalledAccessibilityServiceList(
+                List.of(getMockAccessibilityServiceInfo(
+                        AccessibilityUtils.ACCESSIBILITY_MENU_IN_SYSTEM,
+                        /*isSystemApp=*/false)));
+        setupFragment();
+
+        assertThat(getPreferenceCategory(AccessibilityUtils.ACCESSIBILITY_MENU_IN_SYSTEM))
+                .isEqualTo(AccessibilitySettings.CATEGORY_DOWNLOADED_SERVICES);
     }
 
     @Test
@@ -418,18 +437,56 @@
         assertThat(pref).isNull();
     }
 
-    private AccessibilityServiceInfo getMockAccessibilityServiceInfo(String packageName,
-            String className) {
-        return getMockAccessibilityServiceInfo(new ComponentName(packageName, className));
+    @Test
+    public void testSameNamedServiceAndActivity_bothPreferencesExist() {
+        final PackageManager pm = mContext.getPackageManager();
+        AccessibilityServiceInfo a11yServiceInfo = mServiceInfo;
+        AccessibilityShortcutInfo a11yShortcutInfo = getMockAccessibilityShortcutInfo();
+        // Ensure the test service and activity have the same package name and label.
+        // Before this change, any service and activity with the same package name and
+        // label would cause the service to be hidden.
+        assertThat(a11yServiceInfo.getComponentName())
+                .isNotEqualTo(a11yShortcutInfo.getComponentName());
+        assertThat(a11yServiceInfo.getComponentName().getPackageName())
+                .isEqualTo(a11yShortcutInfo.getComponentName().getPackageName());
+        assertThat(a11yServiceInfo.getResolveInfo().serviceInfo.loadLabel(pm))
+                .isEqualTo(a11yShortcutInfo.getActivityInfo().loadLabel(pm));
+        // Prepare A11yManager with the test service and activity.
+        mShadowAccessibilityManager.setInstalledAccessibilityServiceList(
+                List.of(mServiceInfo));
+        mShadowAccessibilityManager.setInstalledAccessibilityShortcutListAsUser(
+                List.of(getMockAccessibilityShortcutInfo()));
+        setupFragment();
+
+        // Both service and activity preferences should exist on the page.
+        RestrictedPreference servicePref = mFragment.getPreferenceScreen().findPreference(
+                a11yServiceInfo.getComponentName().flattenToString());
+        RestrictedPreference activityPref = mFragment.getPreferenceScreen().findPreference(
+                a11yShortcutInfo.getComponentName().flattenToString());
+        assertThat(servicePref).isNotNull();
+        assertThat(activityPref).isNotNull();
+    }
+
+    private String getPreferenceCategory(ComponentName componentName) {
+        return mFragment.mServicePreferenceToPreferenceCategoryMap.get(
+                        mFragment.getPreferenceScreen().findPreference(
+                                componentName.flattenToString())).getKey();
     }
 
     private AccessibilityServiceInfo getMockAccessibilityServiceInfo(ComponentName componentName) {
-        final ApplicationInfo applicationInfo = new ApplicationInfo();
-        final ServiceInfo serviceInfo = new ServiceInfo();
+        return getMockAccessibilityServiceInfo(componentName, true);
+    }
+
+    private AccessibilityServiceInfo getMockAccessibilityServiceInfo(ComponentName componentName,
+            boolean isSystemApp) {
+        final ApplicationInfo applicationInfo = Mockito.mock(ApplicationInfo.class);
+        when(applicationInfo.isSystemApp()).thenReturn(isSystemApp);
+        final ServiceInfo serviceInfo = Mockito.spy(new ServiceInfo());
         applicationInfo.packageName = componentName.getPackageName();
         serviceInfo.packageName = componentName.getPackageName();
         serviceInfo.name = componentName.getClassName();
         serviceInfo.applicationInfo = applicationInfo;
+        when(serviceInfo.loadLabel(any())).thenReturn(DEFAULT_LABEL);
 
         final ResolveInfo resolveInfo = new ResolveInfo();
         resolveInfo.serviceInfo = serviceInfo;
@@ -445,14 +502,16 @@
         return null;
     }
 
-    private void setMockAccessibilityShortcutInfo(AccessibilityShortcutInfo mockInfo) {
+    private AccessibilityShortcutInfo getMockAccessibilityShortcutInfo() {
+        AccessibilityShortcutInfo mockInfo = Mockito.mock(AccessibilityShortcutInfo.class);
         final ActivityInfo activityInfo = Mockito.mock(ActivityInfo.class);
         activityInfo.applicationInfo = new ApplicationInfo();
         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(COMPONENT_NAME);
+        when(mockInfo.getComponentName()).thenReturn(ACTIVITY_COMPONENT_NAME);
+        return mockInfo;
     }
 
     private void setInvisibleToggleFragmentType(AccessibilityServiceInfo info) {
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragmentTest.java
index f108b8e..9d18c44 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragmentTest.java
@@ -16,10 +16,11 @@
 
 package com.android.settings.accessibility;
 
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
 import static com.android.settings.accessibility.AccessibilityShortcutPreferenceFragment.KEY_SAVED_QS_TOOLTIP_RESHOW;
-import static com.android.settings.accessibility.AccessibilityShortcutPreferenceFragment.KEY_SAVED_USER_SHORTCUT_TYPE;
 import static com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType;
-import static com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -34,7 +35,6 @@
 import android.app.Application;
 import android.content.ComponentName;
 import android.content.Context;
-import android.content.DialogInterface;
 import android.content.Intent;
 import android.icu.text.CaseMap;
 import android.os.Bundle;
@@ -49,7 +49,6 @@
 import android.widget.PopupWindow;
 
 import androidx.annotation.Nullable;
-import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.FragmentActivity;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
@@ -128,7 +127,7 @@
         final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
                 mFragment.getComponentName().flattenToString());
         // Compare to default UserShortcutType
-        assertThat(expectedType).isEqualTo(UserShortcutType.SOFTWARE);
+        assertThat(expectedType).isEqualTo(SOFTWARE);
     }
 
     @Test
@@ -140,85 +139,20 @@
 
         final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
                 mFragment.getComponentName().flattenToString());
-        assertThat(expectedType).isEqualTo(UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE);
+        assertThat(expectedType).isEqualTo(SOFTWARE | HARDWARE);
     }
 
     @Test
     public void updateShortcutPreferenceData_hasValueInSharedPreference_assignToVariable() {
         final PreferredShortcut hardwareShortcut = new PreferredShortcut(
-                PLACEHOLDER_COMPONENT_NAME.flattenToString(), UserShortcutType.HARDWARE);
+                PLACEHOLDER_COMPONENT_NAME.flattenToString(), HARDWARE);
 
         putUserShortcutTypeIntoSharedPreference(mContext, hardwareShortcut);
         mFragment.updateShortcutPreferenceData();
 
         final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
                 mFragment.getComponentName().flattenToString());
-        assertThat(expectedType).isEqualTo(UserShortcutType.HARDWARE);
-    }
-
-    @Test
-    public void setupEditShortcutDialog_shortcutPreferenceOff_checkboxIsEmptyValue() {
-        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
-        final AlertDialog dialog = AccessibilityDialogUtils.showEditShortcutDialog(
-                mContext, AccessibilityDialogUtils.DialogType.EDIT_SHORTCUT_GENERIC,
-                PLACEHOLDER_DIALOG_TITLE,
-                this::callEmptyOnClicked);
-        final ShortcutPreference shortcutPreference = new ShortcutPreference(mContext, /* attrs= */
-                null);
-        mFragment.mShortcutPreference = shortcutPreference;
-
-        mFragment.mShortcutPreference.setChecked(false);
-        mFragment.setupEditShortcutDialog(dialog);
-
-        final int checkboxValue = mFragment.getShortcutTypeCheckBoxValue();
-        assertThat(checkboxValue).isEqualTo(UserShortcutType.EMPTY);
-    }
-
-    @Test
-    public void setupEditShortcutDialog_shortcutPreferenceOn_checkboxIsSavedValue() {
-        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
-        final AlertDialog dialog = AccessibilityDialogUtils.showEditShortcutDialog(
-                mContext, AccessibilityDialogUtils.DialogType.EDIT_SHORTCUT_GENERIC,
-                PLACEHOLDER_DIALOG_TITLE,
-                this::callEmptyOnClicked);
-        final ShortcutPreference shortcutPreference = new ShortcutPreference(mContext, /* attrs= */
-                null);
-        final PreferredShortcut hardwareShortcut = new PreferredShortcut(
-                PLACEHOLDER_COMPONENT_NAME.flattenToString(), UserShortcutType.HARDWARE);
-        mFragment.mShortcutPreference = shortcutPreference;
-
-        PreferredShortcuts.saveUserShortcutType(mContext, hardwareShortcut);
-        mFragment.mShortcutPreference.setChecked(true);
-        mFragment.setupEditShortcutDialog(dialog);
-
-        final int checkboxValue = mFragment.getShortcutTypeCheckBoxValue();
-        assertThat(checkboxValue).isEqualTo(UserShortcutType.HARDWARE);
-    }
-
-    @Test
-    @Config(shadows = ShadowFragment.class)
-    public void restoreValueFromSavedInstanceState_assignShortcutTypeToVariable() {
-        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
-        final AlertDialog dialog = AccessibilityDialogUtils.showEditShortcutDialog(
-                mContext, AccessibilityDialogUtils.DialogType.EDIT_SHORTCUT_GENERIC,
-                PLACEHOLDER_DIALOG_TITLE,
-                this::callEmptyOnClicked);
-        final Bundle savedInstanceState = new Bundle();
-        final ShortcutPreference shortcutPreference = new ShortcutPreference(mContext, /* attrs= */
-                null);
-        mFragment.mShortcutPreference = shortcutPreference;
-
-        savedInstanceState.putInt(KEY_SAVED_USER_SHORTCUT_TYPE,
-                UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE);
-        mFragment.onAttach(mContext);
-        mFragment.onCreate(savedInstanceState);
-        mFragment.setupEditShortcutDialog(dialog);
-        final int value = mFragment.getShortcutTypeCheckBoxValue();
-        mFragment.saveNonEmptyUserShortcutType(value);
-
-        final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
-                mFragment.getComponentName().flattenToString());
-        assertThat(expectedType).isEqualTo(UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE);
+        assertThat(expectedType).isEqualTo(HARDWARE);
     }
 
     @Test
@@ -265,8 +199,7 @@
     }
 
     @Test
-    @EnableFlags(com.android.settings.accessibility.Flags.FLAG_EDIT_SHORTCUTS_IN_FULL_SCREEN)
-    public void onSettingsClicked_editShortcutsFullScreenFlagOn_showFullScreenEditShortcutScreen() {
+    public void onSettingsClicked_showFullScreenEditShortcutScreen() {
         Activity activity = Robolectric.setupActivity(FragmentActivity.class);
         when(mFragment.getContext()).thenReturn(activity);
         Context context = mFragment.getContext();
@@ -290,7 +223,7 @@
     public void getShortcutTypeSummary_shortcutSummaryIsCorrectlySet() {
         final PreferredShortcut userPreferredShortcut = new PreferredShortcut(
                 PLACEHOLDER_COMPONENT_NAME.flattenToString(),
-                UserShortcutType.HARDWARE | UserShortcutType.QUICK_SETTINGS);
+                HARDWARE | QUICK_SETTINGS);
         putUserShortcutTypeIntoSharedPreference(mContext, userPreferredShortcut);
         final ShortcutPreference shortcutPreference =
                 new ShortcutPreference(mContext, /* attrs= */ null);
@@ -308,8 +241,6 @@
         assertThat(summary).isEqualTo(expected);
     }
 
-    private void callEmptyOnClicked(DialogInterface dialog, int which) {}
-
     private void putStringIntoSettings(String key, String componentName) {
         Settings.Secure.putString(mContext.getContentResolver(), key, componentName);
     }
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutsTutorialTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutsTutorialTest.java
index a5aceed..d5c1fd1 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutsTutorialTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutsTutorialTest.java
@@ -16,11 +16,15 @@
 
 package com.android.settings.accessibility;
 
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.TRIPLETAP;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.TWOFINGER_DOUBLETAP;
 import static com.android.settings.accessibility.AccessibilityShortcutsTutorial.createAccessibilityTutorialDialog;
 import static com.android.settings.accessibility.AccessibilityShortcutsTutorial.createAccessibilityTutorialDialogForSetupWizard;
 import static com.android.settings.accessibility.AccessibilityShortcutsTutorial.createShortcutTutorialPages;
 import static com.android.settings.accessibility.AccessibilityShortcutsTutorial.showGestureNavigationTutorialDialog;
-import static com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -99,7 +103,7 @@
 
     @Test
     public void createTutorialPages_turnOnTripleTapShortcut_hasOnePage() {
-        mShortcutTypes |= UserShortcutType.TRIPLETAP;
+        mShortcutTypes |= TRIPLETAP;
 
         final AlertDialog alertDialog =
                 createAccessibilityTutorialDialog(mContext, mShortcutTypes, FAKE_FEATURE_NAME);
@@ -114,7 +118,7 @@
     @Test
     @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
     public void createTutorialPages_turnOnTwoFingerTripleTapShortcut_hasOnePage() {
-        mShortcutTypes |= UserShortcutType.TWOFINGER_DOUBLETAP;
+        mShortcutTypes |= TWOFINGER_DOUBLETAP;
 
         final AlertDialog alertDialog =
                 createAccessibilityTutorialDialog(mContext, mShortcutTypes, FAKE_FEATURE_NAME);
@@ -129,7 +133,7 @@
     @Test
     @EnableFlags(android.view.accessibility.Flags.FLAG_A11Y_QS_SHORTCUT)
     public void createTutorialPages_turnOnQuickSettingShortcut_hasOnePage() {
-        mShortcutTypes |= UserShortcutType.QUICK_SETTINGS;
+        mShortcutTypes |= QUICK_SETTINGS;
 
         final AlertDialog alertDialog =
                 createAccessibilityTutorialDialog(mContext, mShortcutTypes, FAKE_FEATURE_NAME);
@@ -143,7 +147,7 @@
 
     @Test
     public void createTutorialPages_turnOnSoftwareShortcut_hasOnePage() {
-        mShortcutTypes |= UserShortcutType.SOFTWARE;
+        mShortcutTypes |= SOFTWARE;
 
         final AlertDialog alertDialog =
                 createAccessibilityTutorialDialog(mContext, mShortcutTypes, FAKE_FEATURE_NAME);
@@ -157,8 +161,8 @@
 
     @Test
     public void createTutorialPages_turnOnSoftwareAndHardwareShortcuts_hasTwoPages() {
-        mShortcutTypes |= UserShortcutType.SOFTWARE;
-        mShortcutTypes |= UserShortcutType.HARDWARE;
+        mShortcutTypes |= SOFTWARE;
+        mShortcutTypes |= HARDWARE;
 
         final AlertDialog alertDialog =
                 createAccessibilityTutorialDialog(mContext, mShortcutTypes, FAKE_FEATURE_NAME);
@@ -172,7 +176,7 @@
 
     @Test
     public void createTutorialPages_turnOnA11yGestureShortcut_linkButtonShownWithText() {
-        mShortcutTypes |= UserShortcutType.SOFTWARE;
+        mShortcutTypes |= SOFTWARE;
         AccessibilityTestUtils.setSoftwareShortcutMode(
                 mContext, /* gestureNavEnabled= */ true, /* floatingButtonEnabled= */ false);
 
@@ -191,7 +195,7 @@
 
     @Test
     public void createTutorialPages_turnOnA11yNavButtonShortcut_linkButtonShownWithText() {
-        mShortcutTypes |= UserShortcutType.SOFTWARE;
+        mShortcutTypes |= SOFTWARE;
         AccessibilityTestUtils.setSoftwareShortcutMode(
                 mContext, /* gestureNavEnabled= */ false, /* floatingButtonEnabled= */ false);
 
@@ -210,7 +214,7 @@
 
     @Test
     public void createTutorialPages_turnOnFloatingButtonShortcut_linkButtonShownWithText() {
-        mShortcutTypes |= UserShortcutType.SOFTWARE;
+        mShortcutTypes |= SOFTWARE;
         AccessibilityTestUtils.setSoftwareShortcutMode(
                 mContext, /* gestureNavEnabled= */ false, /* floatingButtonEnabled= */ true);
 
@@ -228,7 +232,7 @@
 
     @Test
     public void createTutorialPages_turnOnHardwareShortcut_linkButtonGone() {
-        mShortcutTypes |= UserShortcutType.HARDWARE;
+        mShortcutTypes |= HARDWARE;
 
         final AlertDialog alertDialog =
                 createAccessibilityTutorialDialog(mContext, mShortcutTypes, FAKE_FEATURE_NAME);
@@ -241,7 +245,7 @@
 
     @Test
     public void createTutorialPages_turnOnSoftwareShortcut_showFromSuW_linkButtonGone() {
-        mShortcutTypes |= UserShortcutType.SOFTWARE;
+        mShortcutTypes |= SOFTWARE;
 
         final AlertDialog alertDialog =
                 createAccessibilityTutorialDialogForSetupWizard(
@@ -256,7 +260,7 @@
     @Test
     @EnableFlags(android.view.accessibility.Flags.FLAG_A11Y_QS_SHORTCUT)
     public void createAccessibilityTutorialDialog_qsShortcut_inSuwTalkbackOn_verifyText() {
-        mShortcutTypes |= UserShortcutType.QUICK_SETTINGS;
+        mShortcutTypes |= QUICK_SETTINGS;
         setTouchExplorationEnabled(true);
         final String expectedTitle = mContext.getString(
                 R.string.accessibility_tutorial_dialog_title_quick_setting);
@@ -288,7 +292,7 @@
     @Test
     @EnableFlags(android.view.accessibility.Flags.FLAG_A11Y_QS_SHORTCUT)
     public void createAccessibilityTutorialDialog_qsShortcut_notInSuwTalkbackOn_verifyText() {
-        mShortcutTypes |= UserShortcutType.QUICK_SETTINGS;
+        mShortcutTypes |= QUICK_SETTINGS;
         setTouchExplorationEnabled(true);
         final String expectedTitle = mContext.getString(
                 R.string.accessibility_tutorial_dialog_title_quick_setting);
@@ -314,7 +318,7 @@
     @Test
     @EnableFlags(android.view.accessibility.Flags.FLAG_A11Y_QS_SHORTCUT)
     public void createAccessibilityTutorialDialog_qsShortcut_inSuwTalkbackOff_verifyText() {
-        mShortcutTypes |= UserShortcutType.QUICK_SETTINGS;
+        mShortcutTypes |= QUICK_SETTINGS;
         setTouchExplorationEnabled(false);
         final String expectedTitle = mContext.getString(
                 R.string.accessibility_tutorial_dialog_title_quick_setting);
@@ -345,7 +349,7 @@
     @Test
     @EnableFlags(android.view.accessibility.Flags.FLAG_A11Y_QS_SHORTCUT)
     public void createAccessibilityTutorialDialog_qsShortcut_notInSuwTalkbackOff_verifyText() {
-        mShortcutTypes |= UserShortcutType.QUICK_SETTINGS;
+        mShortcutTypes |= QUICK_SETTINGS;
         setTouchExplorationEnabled(false);
         final String expectedTitle = mContext.getString(
                 R.string.accessibility_tutorial_dialog_title_quick_setting);
@@ -370,7 +374,7 @@
 
     @Test
     public void createAccessibilityTutorialDialog_volumeKeysShortcut_verifyText() {
-        mShortcutTypes |= UserShortcutType.HARDWARE;
+        mShortcutTypes |= HARDWARE;
         final String expectedTitle = mContext.getString(
                 R.string.accessibility_tutorial_dialog_title_volume);
         final CharSequence expectedInstruction = mContext.getString(
@@ -390,7 +394,7 @@
 
     @Test
     public void createAccessibilityTutorialDialog_tripleTapShortcut_verifyText() {
-        mShortcutTypes |= UserShortcutType.TRIPLETAP;
+        mShortcutTypes |= TRIPLETAP;
         final String expectedTitle = mContext.getString(
                 R.string.accessibility_tutorial_dialog_title_triple);
         final CharSequence expectedInstruction = mContext.getString(
@@ -411,7 +415,7 @@
     @Test
     @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
     public void createAccessibilityTutorialDialog_twoFingerDoubleTapShortcut_verifyText() {
-        mShortcutTypes |= UserShortcutType.TWOFINGER_DOUBLETAP;
+        mShortcutTypes |= TWOFINGER_DOUBLETAP;
         final int numFingers = 2;
         final String expectedTitle = mContext.getString(
                 R.string.accessibility_tutorial_dialog_title_two_finger_double, numFingers);
@@ -432,7 +436,7 @@
 
     @Test
     public void createAccessibilityTutorialDialog_floatingButtonShortcut_verifyText() {
-        mShortcutTypes |= UserShortcutType.SOFTWARE;
+        mShortcutTypes |= SOFTWARE;
         AccessibilityTestUtils.setSoftwareShortcutMode(
                 mContext, /* gestureNavEnabled= */ false, /* floatingButtonEnabled= */ true);
         final String expectedTitle = mContext.getString(
@@ -454,7 +458,7 @@
 
     @Test
     public void createAccessibilityTutorialDialog_navA11yButtonShortcut_verifyText() {
-        mShortcutTypes |= UserShortcutType.SOFTWARE;
+        mShortcutTypes |= SOFTWARE;
         AccessibilityTestUtils.setSoftwareShortcutMode(
                 mContext, /* gestureNavEnabled= */ false, /* floatingButtonEnabled= */ false);
         final String expectedTitle = mContext.getString(
@@ -476,7 +480,7 @@
 
     @Test
     public void createAccessibilityTutorialDialog_gestureShortcut_talkbackOn_verifyText() {
-        mShortcutTypes |= UserShortcutType.SOFTWARE;
+        mShortcutTypes |= SOFTWARE;
         setTouchExplorationEnabled(true);
         AccessibilityTestUtils.setSoftwareShortcutMode(
                 mContext, /* gestureNavEnabled= */ true, /* floatingButtonEnabled= */ false);
@@ -501,7 +505,7 @@
 
     @Test
     public void createAccessibilityTutorialDialog_gestureShortcut_talkbackOff_verifyText() {
-        mShortcutTypes |= UserShortcutType.SOFTWARE;
+        mShortcutTypes |= SOFTWARE;
         setTouchExplorationEnabled(false);
         AccessibilityTestUtils.setSoftwareShortcutMode(
                 mContext, /* gestureNavEnabled= */ true, /* floatingButtonEnabled= */ false);
@@ -526,7 +530,7 @@
 
     @Test
     public void performClickOnPositiveButton_turnOnSoftwareShortcut_dismiss() {
-        mShortcutTypes |= UserShortcutType.SOFTWARE;
+        mShortcutTypes |= SOFTWARE;
         final AlertDialog alertDialog =
                 createAccessibilityTutorialDialog(mContext, mShortcutTypes, FAKE_FEATURE_NAME);
         alertDialog.show();
@@ -540,7 +544,7 @@
 
     @Test
     public void performClickOnPositiveButton_turnOnSoftwareShortcut_callOnClickListener() {
-        mShortcutTypes |= UserShortcutType.SOFTWARE;
+        mShortcutTypes |= SOFTWARE;
         final AlertDialog alertDialog =
                 createAccessibilityTutorialDialog(
                         mContext, mShortcutTypes, mOnClickListener, FAKE_FEATURE_NAME);
@@ -555,7 +559,7 @@
 
     @Test
     public void performClickOnNegativeButton_turnOnSoftwareShortcut_directToSettingsPage() {
-        mShortcutTypes |= UserShortcutType.SOFTWARE;
+        mShortcutTypes |= SOFTWARE;
         Activity activity = Robolectric.buildActivity(Activity.class).create().get();
         final AlertDialog alertDialog =
                 createAccessibilityTutorialDialog(activity, mShortcutTypes, FAKE_FEATURE_NAME);
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityUtilTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityUtilTest.java
index 2d5deeb..c036432 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityUtilTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityUtilTest.java
@@ -16,6 +16,12 @@
 
 package com.android.settings.accessibility;
 
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.TRIPLETAP;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.TWOFINGER_DOUBLETAP;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.spy;
@@ -39,9 +45,9 @@
 
 import androidx.test.core.app.ApplicationProvider;
 
+import com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
 import com.android.internal.accessibility.util.ShortcutUtils;
 import com.android.settings.R;
-import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
 import com.android.settings.testutils.AccessibilityTestUtils;
 
 import org.junit.Before;
@@ -159,52 +165,52 @@
 
     @Test
     public void hasValueInSettings_putValue_hasValue() {
-        setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
+        setShortcut(SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
 
-        assertThat(AccessibilityUtil.hasValueInSettings(mContext, UserShortcutType.SOFTWARE,
+        assertThat(AccessibilityUtil.hasValueInSettings(mContext, SOFTWARE,
                 MOCK_COMPONENT_NAME)).isTrue();
     }
 
     @Test
     public void getUserShortcutTypeFromSettings_putOneValue_hasValue() {
-        setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
+        setShortcut(SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
 
         final int shortcutTypes = AccessibilityUtil.getUserShortcutTypesFromSettings(mContext,
                 MOCK_COMPONENT_NAME);
 
         assertThat(shortcutTypes).isEqualTo(
-                UserShortcutType.SOFTWARE
+                SOFTWARE
         );
     }
 
     @Test
     public void getUserShortcutTypeFromSettings_putTwoValues_hasValue() {
-        setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
-        setShortcut(UserShortcutType.HARDWARE, MOCK_COMPONENT_NAME.flattenToString());
+        setShortcut(SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
+        setShortcut(HARDWARE, MOCK_COMPONENT_NAME.flattenToString());
 
         final int shortcutTypes = AccessibilityUtil.getUserShortcutTypesFromSettings(mContext,
                 MOCK_COMPONENT_NAME);
 
         assertThat(shortcutTypes).isEqualTo(
-                UserShortcutType.SOFTWARE
-                        | UserShortcutType.HARDWARE
+                SOFTWARE
+                        | HARDWARE
         );
     }
 
     @Test
     @EnableFlags(Flags.FLAG_A11Y_QS_SHORTCUT)
     public void getUserShortcutTypeFromSettings_threeShortcutTypesChosen() {
-        setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
-        setShortcut(UserShortcutType.HARDWARE, MOCK_COMPONENT_NAME.flattenToString());
-        setShortcut(UserShortcutType.QUICK_SETTINGS, MOCK_COMPONENT_NAME.flattenToString());
+        setShortcut(SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
+        setShortcut(HARDWARE, MOCK_COMPONENT_NAME.flattenToString());
+        setShortcut(QUICK_SETTINGS, MOCK_COMPONENT_NAME.flattenToString());
 
         final int shortcutTypes = AccessibilityUtil.getUserShortcutTypesFromSettings(mContext,
                 MOCK_COMPONENT_NAME);
 
         assertThat(shortcutTypes).isEqualTo(
-                UserShortcutType.SOFTWARE
-                        | UserShortcutType.HARDWARE
-                        | UserShortcutType.QUICK_SETTINGS
+                SOFTWARE
+                        | HARDWARE
+                        | QUICK_SETTINGS
         );
     }
 
@@ -212,7 +218,7 @@
     @DisableFlags(Flags.FLAG_A11Y_QS_SHORTCUT)
     public void optInAllValuesToSettings_optInValue_haveMatchString() {
         clearShortcuts();
-        int shortcutTypes = UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE;
+        int shortcutTypes = SOFTWARE | HARDWARE;
 
         AccessibilityUtil.optInAllValuesToSettings(mContext, shortcutTypes, MOCK_COMPONENT_NAME);
 
@@ -229,8 +235,8 @@
         AccessibilityManager a11yManager =
                 AccessibilityTestUtils.setupMockAccessibilityManager(mContext);
         Set<String> shortcutTargets = Set.of(MOCK_COMPONENT_NAME.flattenToString());
-        int shortcutTypes = UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE
-                | UserShortcutType.QUICK_SETTINGS;
+        int shortcutTypes = SOFTWARE | HARDWARE
+                | QUICK_SETTINGS;
 
         AccessibilityUtil.optInAllValuesToSettings(mContext, shortcutTypes, MOCK_COMPONENT_NAME);
 
@@ -243,9 +249,9 @@
     @Test
     @DisableFlags(Flags.FLAG_A11Y_QS_SHORTCUT)
     public void optInValueToSettings_optInValue_haveMatchString() {
-        setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
+        setShortcut(SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
 
-        AccessibilityUtil.optInValueToSettings(mContext, UserShortcutType.SOFTWARE,
+        AccessibilityUtil.optInValueToSettings(mContext, SOFTWARE,
                 MOCK_COMPONENT_NAME2);
 
         assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEqualTo(
@@ -261,10 +267,10 @@
         Set<String> shortcutTargets = Set.of(MOCK_COMPONENT_NAME2.flattenToString());
 
         AccessibilityUtil.optInValueToSettings(
-                mContext, UserShortcutType.HARDWARE, MOCK_COMPONENT_NAME2);
+                mContext, HARDWARE, MOCK_COMPONENT_NAME2);
 
         verify(a11yManager).enableShortcutsForTargets(
-                /* enable= */ true, UserShortcutType.HARDWARE,
+                /* enable= */ true, HARDWARE,
                 shortcutTargets, UserHandle.myUserId());
         verifyNoMoreInteractions(a11yManager);
     }
@@ -272,11 +278,11 @@
     @Test
     @DisableFlags(Flags.FLAG_A11Y_QS_SHORTCUT)
     public void optInValueToSettings_optInTwoValues_haveMatchString() {
-        setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
+        setShortcut(SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
 
-        AccessibilityUtil.optInValueToSettings(mContext, UserShortcutType.SOFTWARE,
+        AccessibilityUtil.optInValueToSettings(mContext, SOFTWARE,
                 MOCK_COMPONENT_NAME2);
-        AccessibilityUtil.optInValueToSettings(mContext, UserShortcutType.SOFTWARE,
+        AccessibilityUtil.optInValueToSettings(mContext, SOFTWARE,
                 MOCK_COMPONENT_NAME2);
 
         assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEqualTo(
@@ -287,10 +293,10 @@
     @Test
     @DisableFlags(Flags.FLAG_A11Y_QS_SHORTCUT)
     public void optOutAllValuesToSettings_optOutValue_emptyString() {
-        setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
-        setShortcut(UserShortcutType.HARDWARE, MOCK_COMPONENT_NAME.flattenToString());
+        setShortcut(SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
+        setShortcut(HARDWARE, MOCK_COMPONENT_NAME.flattenToString());
         int shortcutTypes =
-                UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE | UserShortcutType.TRIPLETAP;
+                SOFTWARE | HARDWARE | TRIPLETAP;
 
         AccessibilityUtil.optOutAllValuesFromSettings(mContext, shortcutTypes,
                 MOCK_COMPONENT_NAME);
@@ -305,8 +311,8 @@
         AccessibilityManager a11yManager =
                 AccessibilityTestUtils.setupMockAccessibilityManager(mContext);
         int shortcutTypes =
-                UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE
-                        | UserShortcutType.QUICK_SETTINGS;
+                SOFTWARE | HARDWARE
+                        | QUICK_SETTINGS;
         Set<String> shortcutTargets = Set.of(MOCK_COMPONENT_NAME.flattenToString());
 
         AccessibilityUtil.optOutAllValuesFromSettings(mContext, shortcutTypes,
@@ -322,9 +328,9 @@
     @Test
     @DisableFlags(Flags.FLAG_A11Y_QS_SHORTCUT)
     public void optOutValueFromSettings_optOutValue_emptyString() {
-        setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
+        setShortcut(SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
 
-        AccessibilityUtil.optOutValueFromSettings(mContext, UserShortcutType.SOFTWARE,
+        AccessibilityUtil.optOutValueFromSettings(mContext, SOFTWARE,
                 MOCK_COMPONENT_NAME);
 
         assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEmpty();
@@ -333,10 +339,10 @@
     @Test
     @DisableFlags(Flags.FLAG_A11Y_QS_SHORTCUT)
     public void optOutValueFromSettings_optOutValue_haveMatchString() {
-        setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString(),
+        setShortcut(SOFTWARE, MOCK_COMPONENT_NAME.flattenToString(),
                 MOCK_COMPONENT_NAME2.flattenToString());
 
-        AccessibilityUtil.optOutValueFromSettings(mContext, UserShortcutType.SOFTWARE,
+        AccessibilityUtil.optOutValueFromSettings(mContext, SOFTWARE,
                 MOCK_COMPONENT_NAME2);
 
         assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEqualTo(
@@ -351,36 +357,36 @@
         Set<String> shortcutTargets = Set.of(MOCK_COMPONENT_NAME.flattenToString());
 
         AccessibilityUtil.optOutValueFromSettings(
-                mContext, UserShortcutType.QUICK_SETTINGS, MOCK_COMPONENT_NAME);
+                mContext, QUICK_SETTINGS, MOCK_COMPONENT_NAME);
 
         verify(a11yManager).enableShortcutsForTargets(
-                /* enable= */ false, UserShortcutType.QUICK_SETTINGS,
+                /* enable= */ false, QUICK_SETTINGS,
                 shortcutTargets, UserHandle.myUserId());
         verifyNoMoreInteractions(a11yManager);
     }
 
     @Test
     public void convertKeyFromSettings_shortcutTypeSoftware() {
-        assertThat(AccessibilityUtil.convertKeyFromSettings(UserShortcutType.SOFTWARE))
+        assertThat(AccessibilityUtil.convertKeyFromSettings(SOFTWARE))
                 .isEqualTo(Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS);
     }
 
     @Test
     public void convertKeyFromSettings_shortcutTypeHardware() {
-        assertThat(AccessibilityUtil.convertKeyFromSettings(UserShortcutType.HARDWARE))
+        assertThat(AccessibilityUtil.convertKeyFromSettings(HARDWARE))
                 .isEqualTo(Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE);
     }
 
     @Test
     public void convertKeyFromSettings_shortcutTypeTripleTap() {
-        assertThat(AccessibilityUtil.convertKeyFromSettings(UserShortcutType.TRIPLETAP))
+        assertThat(AccessibilityUtil.convertKeyFromSettings(TRIPLETAP))
                 .isEqualTo(Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED);
     }
 
     @Test
     @EnableFlags(Flags.FLAG_A11Y_QS_SHORTCUT)
     public void convertKeyFromSettings_shortcutTypeMultiFingersMultiTap() {
-        assertThat(AccessibilityUtil.convertKeyFromSettings(UserShortcutType.TWOFINGER_DOUBLETAP))
+        assertThat(AccessibilityUtil.convertKeyFromSettings(TWOFINGER_DOUBLETAP))
                 .isEqualTo(
                         Settings.Secure.ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED);
     }
@@ -388,7 +394,7 @@
     @Test
     @EnableFlags(Flags.FLAG_A11Y_QS_SHORTCUT)
     public void convertKeyFromSettings_shortcutTypeQuickSettings() {
-        assertThat(AccessibilityUtil.convertKeyFromSettings(UserShortcutType.QUICK_SETTINGS))
+        assertThat(AccessibilityUtil.convertKeyFromSettings(QUICK_SETTINGS))
                 .isEqualTo(Settings.Secure.ACCESSIBILITY_QS_TARGETS);
     }
 
diff --git a/tests/robotests/src/com/android/settings/accessibility/AutoBrightnessPreferenceFragmentForSetupWizardTest.java b/tests/robotests/src/com/android/settings/accessibility/AutoBrightnessPreferenceFragmentForSetupWizardTest.java
index 1e6e068..c0b9dbd 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AutoBrightnessPreferenceFragmentForSetupWizardTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AutoBrightnessPreferenceFragmentForSetupWizardTest.java
@@ -18,66 +18,97 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
 import android.app.settings.SettingsEnums;
-import android.content.Context;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
 
-import androidx.lifecycle.LifecycleOwner;
-import androidx.test.core.app.ApplicationProvider;
+import androidx.fragment.app.FragmentFactory;
+import androidx.fragment.app.testing.FragmentScenario;
+import androidx.lifecycle.Lifecycle;
+import androidx.preference.Preference;
 
 import com.android.settings.R;
+import com.android.settingslib.widget.FooterPreference;
 
 import com.google.android.setupcompat.template.FooterBarMixin;
+import com.google.android.setupdesign.GlifLayout;
 import com.google.android.setupdesign.GlifPreferenceLayout;
 
+import org.junit.After;
 import org.junit.Before;
-import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.Spy;
-import org.mockito.junit.MockitoJUnit;
-import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
 
 /** Tests for {@link AutoBrightnessPreferenceFragmentForSetupWizard}. */
 @RunWith(RobolectricTestRunner.class)
 public class AutoBrightnessPreferenceFragmentForSetupWizardTest {
 
-    @Rule
-    public final MockitoRule mMockito = MockitoJUnit.rule();
+    // Same as AutoBrightnessPreferenceFragmentForSetupWizard#FOOTER_PREFERENCE_KEY
+    private static final String FOOTER_PREFERENCE_KEY = "auto_brightness_footer";
 
-    @Spy
-    private final Context mContext = ApplicationProvider.getApplicationContext();
-    @Mock
-    private GlifPreferenceLayout mGlifLayoutView;
-    @Mock
-    private FooterBarMixin mFooterBarMixin;
+    private FragmentScenario<AutoBrightnessPreferenceFragmentForSetupWizard> mFragmentScenario;
+
     private AutoBrightnessPreferenceFragmentForSetupWizard mFragment;
+    private GlifLayout mGlifLayout;
 
     @Before
     public void setUp() {
-        mFragment = spy(new AutoBrightnessPreferenceFragmentForSetupWizard());
-        doReturn(mock(LifecycleOwner.class)).when(mFragment).getViewLifecycleOwner();
-        doReturn(mContext).when(mFragment).getContext();
-        when(mGlifLayoutView.getMixin(eq(FooterBarMixin.class))).thenReturn(mFooterBarMixin);
+        mFragmentScenario = FragmentScenario
+                .launch(
+                        AutoBrightnessPreferenceFragmentForSetupWizard.class,
+                        /* fragmentArgs= */ (Bundle) null,
+                        R.style.GlifTheme,
+                        /* factory= */ (FragmentFactory) null)
+                .moveToState(Lifecycle.State.RESUMED);
+        mFragmentScenario.onFragment(fragment -> mFragment = fragment);
+
+        View view = mFragment.getView();
+        assertThat(view).isInstanceOf(GlifPreferenceLayout.class);
+        mGlifLayout = (GlifLayout) view;
+    }
+
+    @After
+    public void tearDown() {
+        mFragmentScenario.close();
     }
 
     @Test
-    public void setHeaderText_onViewCreated_verifyAction() {
-        final String title = "title";
-        doReturn(title).when(mContext).getString(R.string.auto_brightness_title);
+    public void onViewCreated_verifyGlifHerderText() {
+        assertThat(mGlifLayout.getHeaderText())
+                .isEqualTo(mFragment.getString(R.string.auto_brightness_title));
+    }
 
-        mFragment.onViewCreated(mGlifLayoutView, null);
+    @Test
+    public void onViewCreated_verifyGlifFooter() {
+        FooterBarMixin footerMixin = mGlifLayout.getMixin(FooterBarMixin.class);
+        assertThat(footerMixin).isNotNull();
 
-        verify(mGlifLayoutView).setHeaderText(title);
+        Button footerButton = footerMixin.getPrimaryButtonView();
+        assertThat(footerButton).isNotNull();
+        assertThat(footerButton.getText().toString()).isEqualTo(mFragment.getString(R.string.done));
+
+        footerButton.performClick();
+        assertThat(mFragment.getActivity().isFinishing()).isTrue();
+    }
+
+    @Test
+    public void onViewCreated_verifyFooterPreference() {
+        Preference pref = mFragment.findPreference(FOOTER_PREFERENCE_KEY);
+        assertThat(pref).isInstanceOf(FooterPreference.class);
+
+        FooterPreference footerPref = (FooterPreference) pref;
+        String exactTitle = footerPref.getTitle().toString();
+        assertThat(exactTitle).isEqualTo(mFragment.getString(R.string.auto_brightness_description));
+
+        // Ensure that footer content description has "About XXX" prefix for consistency with other
+        // accessibility suw pages
+        String expectedContentDescription =
+                mFragment.getString(R.string.auto_brightness_content_description_title)
+                        + "\n\n" + exactTitle;
+        assertThat(footerPref.getContentDescription().toString())
+                .isEqualTo(expectedContentDescription);
     }
 
     @Test
@@ -85,11 +116,4 @@
         assertThat(mFragment.getMetricsCategory()).isEqualTo(
                 SettingsEnums.SUW_ACCESSIBILITY_AUTO_BRIGHTNESS);
     }
-
-    @Test
-    public void onViewCreated_verifyAction() {
-        mFragment.onViewCreated(mGlifLayoutView, null);
-
-        verify(mFooterBarMixin).setPrimaryButton(any());
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/BalanceSeekBarTest.java b/tests/robotests/src/com/android/settings/accessibility/BalanceSeekBarTest.java
index ce2a571..d74794f 100644
--- a/tests/robotests/src/com/android/settings/accessibility/BalanceSeekBarTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/BalanceSeekBarTest.java
@@ -28,23 +28,32 @@
 import static org.robolectric.Shadows.shadowOf;
 
 import android.content.Context;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
 import android.util.AttributeSet;
 import android.widget.SeekBar;
 
+import com.android.settings.R;
 import com.android.settings.testutils.shadow.ShadowSystemSettings;
 
 import org.junit.Before;
+import org.junit.Rule;
 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.Locale;
+
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {
         ShadowSystemSettings.class,
 })
 public class BalanceSeekBarTest {
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
     // Fix the maximum process value to 200 for testing the BalanceSeekBar.
     // It affects the SeekBar value of center(100) and snapThreshold(200 * SNAP_TO_PERCENTAGE).
     private static final int MAX_PROGRESS_VALUE = 200;
@@ -143,6 +152,58 @@
         assertThat(mSeekBar.getProgress()).isEqualTo(progressWithoutThreshold);
     }
 
+    @Test
+    @EnableFlags(Flags.FLAG_AUDIO_BALANCE_STATE_DESCRIPTION)
+    public void onProgressChanged_getStateDescription_centered_leftFirst() {
+        // Seek bar centered
+        int progress = (int) (0.50f * MAX_PROGRESS_VALUE);
+        mSeekBar.setMax(MAX_PROGRESS_VALUE);
+
+        mProxySeekBarListener.onProgressChanged(mSeekBar, progress, true);
+
+        assertThat(mSeekBar.getStateDescription()).isEqualTo(
+                mContext.getString(R.string.audio_seek_bar_state_left_first, 50, 50));
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_AUDIO_BALANCE_STATE_DESCRIPTION)
+    public void onProgressChanged_getStateDescription_centered_rtl_rightFirst() {
+        // RTL layout
+        mContext.getResources().getConfiguration().setLayoutDirection(new Locale("iw", "IL"));
+        // Seek bar centered
+        int progress = (int) (0.50f * MAX_PROGRESS_VALUE);
+        mSeekBar.setMax(MAX_PROGRESS_VALUE);
+
+        mProxySeekBarListener.onProgressChanged(mSeekBar, progress, true);
+
+        assertThat(mSeekBar.getStateDescription()).isEqualTo(
+                mContext.getString(R.string.audio_seek_bar_state_right_first, 50, 50));
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_AUDIO_BALANCE_STATE_DESCRIPTION)
+    public void onProgressChanged_getStateDescription_25percent_leftFirst() {
+        // Seek bar 3/4th toward the left
+        int progress = (int) (0.25f * MAX_PROGRESS_VALUE);
+        mSeekBar.setMax(MAX_PROGRESS_VALUE);
+        mProxySeekBarListener.onProgressChanged(mSeekBar, progress, true);
+
+        assertThat(mSeekBar.getStateDescription()).isEqualTo(
+                mContext.getString(R.string.audio_seek_bar_state_left_first, 75, 25));
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_AUDIO_BALANCE_STATE_DESCRIPTION)
+    public void onProgressChanged_getStateDescription_75percent_rightFirst() {
+        // Seek bar 3/4th toward the right
+        int progress = (int) (0.75f * MAX_PROGRESS_VALUE);
+        mSeekBar.setMax(MAX_PROGRESS_VALUE);
+        mProxySeekBarListener.onProgressChanged(mSeekBar, progress, true);
+
+        assertThat(mSeekBar.getStateDescription()).isEqualTo(
+                mContext.getString(R.string.audio_seek_bar_state_right_first, 75, 25));
+    }
+
     // method to get the center from BalanceSeekBar for testing setMax().
     private int getBalanceSeekBarCenter(BalanceSeekBar seekBar) {
         return seekBar.getMax() / 2;
diff --git a/tests/robotests/src/com/android/settings/accessibility/CaptioningAppearancePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/CaptioningAppearancePreferenceControllerTest.java
index b9de66d..b4dd2fc 100644
--- a/tests/robotests/src/com/android/settings/accessibility/CaptioningAppearancePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/CaptioningAppearancePreferenceControllerTest.java
@@ -17,6 +17,7 @@
 package com.android.settings.accessibility;
 
 import static com.google.common.truth.Truth.assertThat;
+
 import static org.robolectric.Shadows.shadowOf;
 
 import android.content.Context;
@@ -188,7 +189,8 @@
                 R.array.captioning_font_size_selector_titles);
         final String[] presetArray = mContext.getResources().getStringArray(
                 R.array.captioning_preset_selector_titles);
-        return mContext.getString(R.string.preference_summary_default_combination,
+        return mContext.getString(
+                com.android.settingslib.R.string.preference_summary_default_combination,
                 fontScaleArray[fontScaleIndex], presetArray[presetIndex]);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/CaptioningMoreOptionsFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/CaptioningMoreOptionsFragmentTest.java
index 6969472..5486808 100644
--- a/tests/robotests/src/com/android/settings/accessibility/CaptioningMoreOptionsFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/CaptioningMoreOptionsFragmentTest.java
@@ -20,6 +20,9 @@
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.provider.Settings;
 
 import androidx.test.core.app.ApplicationProvider;
 
@@ -27,15 +30,23 @@
 import com.android.settings.testutils.XmlTestUtils;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
 
 import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
 /** Tests for {@link CaptioningMoreOptionsFragment}. */
 @RunWith(RobolectricTestRunner.class)
 public class CaptioningMoreOptionsFragmentTest {
+    // Language/locale preference key, from captioning_more_options.xml
+    private static final String CAPTIONING_LOCALE_KEY = "captioning_locale";
+
+    @Rule
+    public final SetFlagsRule mSetFlagRule = new SetFlagsRule();
 
     private final Context mContext = ApplicationProvider.getApplicationContext();
     private CaptioningMoreOptionsFragment mFragment;
@@ -65,11 +76,40 @@
     @Test
     public void getNonIndexableKeys_existInXmlLayout() {
         final List<String> niks = CaptioningMoreOptionsFragment.SEARCH_INDEX_DATA_PROVIDER
-                .getNonIndexableKeys(mContext);
+                .getNonIndexableKeys(mContext)
+                .stream().filter(Objects::nonNull).collect(Collectors.toList());
         final List<String> keys =
-                XmlTestUtils.getKeysFromPreferenceXml(mContext,
-                        R.xml.captioning_more_options);
+                XmlTestUtils.getKeysFromPreferenceXml(mContext, R.xml.captioning_more_options);
 
         assertThat(keys).containsAtLeastElementsIn(niks);
     }
+
+    @Test
+    @EnableFlags(Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH)
+    public void getNonIndexableKeys_captioningEnabled_localeIsSearchable() {
+        setCaptioningEnabled(true);
+
+        final List<String> niks = CaptioningMoreOptionsFragment.SEARCH_INDEX_DATA_PROVIDER
+                .getNonIndexableKeys(mContext);
+
+        // Not in NonIndexableKeys == searchable
+        assertThat(niks).doesNotContain(CAPTIONING_LOCALE_KEY);
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH)
+    public void getNonIndexableKeys_captioningDisabled_localeIsNotSearchable() {
+        setCaptioningEnabled(false);
+
+        final List<String> niks = CaptioningMoreOptionsFragment.SEARCH_INDEX_DATA_PROVIDER
+                .getNonIndexableKeys(mContext);
+
+        // In NonIndexableKeys == not searchable
+        assertThat(niks).contains(CAPTIONING_LOCALE_KEY);
+    }
+
+    private void setCaptioningEnabled(boolean enabled) {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_CAPTIONING_ENABLED, enabled ? 1 : 0);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/DaltonizerRadioButtonPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/DaltonizerRadioButtonPreferenceControllerTest.java
index 28954c5..56c0842 100644
--- a/tests/robotests/src/com/android/settings/accessibility/DaltonizerRadioButtonPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/DaltonizerRadioButtonPreferenceControllerTest.java
@@ -18,61 +18,65 @@
 
 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.lifecycle.LifecycleOwner;
+import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
 
+import com.android.settings.R;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.widget.SelectorWithWidgetPreference;
 
+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.ShadowLooper;
 
+/**
+ * Tests for {@link DaltonizerRadioButtonPreferenceController}
+ */
 @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";
+public class DaltonizerRadioButtonPreferenceControllerTest {
+    private static final int DALTONIZER_MODE_INDEX = 0;
+    private static final String PREF_INVALID_VALUE = "-1";
 
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    private final String mPrefKey =
+            mContext.getResources()
+                    .getStringArray(R.array.daltonizer_mode_keys)[DALTONIZER_MODE_INDEX];
+    private final String mPrefValue =
+            String.valueOf(mContext.getResources()
+                    .getIntArray(R.array.daltonizer_type_values)[DALTONIZER_MODE_INDEX]);
     private DaltonizerRadioButtonPreferenceController mController;
-
-    @Mock
-    private SelectorWithWidgetPreference mMockPref;
-    private Context mContext;
-
-    @Mock
+    private SelectorWithWidgetPreference mPreference;
     private PreferenceScreen mScreen;
 
+    private LifecycleOwner mLifecycleOwner;
+    private Lifecycle mLifecycle;
+
     @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);
+        // initialize the value as unchecked
+        Settings.Secure.putString(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER, PREF_INVALID_VALUE);
+        mController = new DaltonizerRadioButtonPreferenceController(mContext, mPrefKey);
+        mPreference = new SelectorWithWidgetPreference(mContext);
+        mPreference.setKey(mPrefKey);
+        mScreen = new PreferenceManager(mContext).createPreferenceScreen(mContext);
+        mScreen.addPreference(mPreference);
         mController.displayPreference(mScreen);
+        mLifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(mLifecycleOwner);
     }
 
-    @Override
-    public void onCheckedChanged(Preference preference) {
-        mController.updateState(preference);
+    @After
+    public void cleanUp() {
+        mLifecycle.removeObserver(mController);
     }
 
     @Test
@@ -81,36 +85,62 @@
     }
 
     @Test
-    public void updateState_notChecked() {
+    public void updateState_valueNotMatched_notChecked() {
         Settings.Secure.putString(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER, PREF_FAKE_VALUE);
+                Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER, PREF_INVALID_VALUE);
 
-        mController.updateState(mMockPref);
+        mController.updateState(mPreference);
 
-        // the first checked state is set to false by control
-        verify(mMockPref, atLeastOnce()).setChecked(false);
-        verify(mMockPref, never()).setChecked(true);
+        assertThat(mPreference.isChecked()).isFalse();
     }
 
     @Test
-    public void updateState_checked() {
+    public void updateState_valueMatched_checked() {
         Settings.Secure.putString(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER, PREF_VALUE);
+                Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER, mPrefValue);
 
-        mController.updateState(mMockPref);
+        mController.updateState(mPreference);
 
-        // the first checked state is set to false by control
-        verify(mMockPref, atLeastOnce()).setChecked(false);
-        verify(mMockPref, atLeastOnce()).setChecked(true);
+        assertThat(mPreference.isChecked()).isTrue();
     }
 
     @Test
     public void onRadioButtonClick_shouldReturnDaltonizerValue() {
-        mController.onRadioButtonClicked(mMockPref);
+        mController.onRadioButtonClicked(mPreference);
+
         final String accessibilityDaltonizerValue = Settings.Secure.getString(
                 mContext.getContentResolver(),
                 Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER);
+        assertThat(accessibilityDaltonizerValue).isEqualTo(mPrefValue);
+    }
 
-        assertThat(accessibilityDaltonizerValue).isEqualTo(PREF_VALUE);
+    @Test
+    public void onResume_settingsValueChangedToUnmatch_preferenceBecomesUnchecked() {
+        Settings.Secure.putString(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER, mPrefValue);
+        mController.updateState(mPreference);
+        assertThat(mPreference.isChecked()).isTrue();
+        mLifecycle.addObserver(mController);
+
+        mLifecycle.handleLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_RESUME);
+        Settings.Secure.putString(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER, PREF_INVALID_VALUE);
+        ShadowLooper.idleMainLooper();
+
+        assertThat(mPreference.isChecked()).isFalse();
+    }
+
+    @Test
+    public void onPause_settingsValueChangedAndMatch_preferenceStateNotUpdated() {
+        assertThat(mPreference.isChecked()).isFalse();
+        mLifecycle.addObserver(mController);
+        mLifecycle.handleLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_RESUME);
+
+        mLifecycle.handleLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_PAUSE);
+        Settings.Secure.putString(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER, mPrefValue);
+        ShadowLooper.idleMainLooper();
+
+        assertThat(mPreference.isChecked()).isFalse();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/DaltonizerSaturationSeekbarPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/DaltonizerSaturationSeekbarPreferenceControllerTest.java
index 98ed442..6797061 100644
--- a/tests/robotests/src/com/android/settings/accessibility/DaltonizerSaturationSeekbarPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/DaltonizerSaturationSeekbarPreferenceControllerTest.java
@@ -16,38 +16,39 @@
 
 package com.android.settings.accessibility;
 
+import static androidx.lifecycle.Lifecycle.Event.ON_RESUME;
+import static androidx.lifecycle.Lifecycle.Event.ON_STOP;
+
 import static com.android.settings.core.BasePreferenceController.AVAILABLE;
 import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
+import static com.android.settings.core.BasePreferenceController.DISABLED_DEPENDENT_SETTING;
 
 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.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.ContentResolver;
 import android.content.Context;
+import android.os.Looper;
 import android.platform.test.annotations.DisableFlags;
 import android.platform.test.annotations.EnableFlags;
 import android.platform.test.flag.junit.SetFlagsRule;
 import android.provider.Settings;
 
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.server.accessibility.Flags;
 import com.android.settings.widget.SeekBarPreference;
+import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 
 /** Tests for {@link DaltonizerSaturationSeekbarPreferenceController}. */
@@ -57,11 +58,10 @@
     private ContentResolver mContentResolver;
     private DaltonizerSaturationSeekbarPreferenceController mController;
 
-    private int mOriginalSaturationLevel = -1;
-
     private PreferenceScreen mScreen;
+    private LifecycleOwner mLifecycleOwner;
+    private Lifecycle mLifecycle;
 
-    @Mock
     private SeekBarPreference mPreference;
 
     @Rule
@@ -69,18 +69,16 @@
 
     @Before
     public void setup() {
-        MockitoAnnotations.initMocks(this);
         Context context = ApplicationProvider.getApplicationContext();
         mContentResolver = context.getContentResolver();
-        mOriginalSaturationLevel = Settings.Secure.getInt(
-                mContentResolver,
-                Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_SATURATION_LEVEL,
-                7);
 
-        mScreen = spy(new PreferenceScreen(context, /* attrs= */ null));
-        when(mScreen.findPreference(ToggleDaltonizerPreferenceFragment.KEY_SATURATION))
-                .thenReturn(mPreference);
+        mPreference = new SeekBarPreference(context);
+        mPreference.setKey(ToggleDaltonizerPreferenceFragment.KEY_SATURATION);
+        mScreen = new PreferenceManager(context).createPreferenceScreen(context);
+        mScreen.addPreference(mPreference);
 
+        mLifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(mLifecycleOwner);
         mController = new DaltonizerSaturationSeekbarPreferenceController(
                 context,
                 ToggleDaltonizerPreferenceFragment.KEY_SATURATION);
@@ -88,12 +86,26 @@
 
     @After
     public void cleanup() {
-        Settings.Secure.putInt(
+        Settings.Secure.putString(
+                mContentResolver,
+                Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER,
+                null);
+        Settings.Secure.putString(
+                mContentResolver,
+                Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED,
+                null);
+        Settings.Secure.putString(
                 mContentResolver,
                 Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_SATURATION_LEVEL,
-                mOriginalSaturationLevel);
+                null);
     }
 
+    @Test
+    public void constructor_defaultValuesMatch() {
+        assertThat(mController.getSliderPosition()).isEqualTo(7);
+        assertThat(mController.getMax()).isEqualTo(10);
+        assertThat(mController.getMin()).isEqualTo(1);
+    }
 
     @Test
     @DisableFlags(Flags.FLAG_ENABLE_COLOR_CORRECTION_SATURATION)
@@ -103,28 +115,88 @@
 
     @Test
     @EnableFlags(Flags.FLAG_ENABLE_COLOR_CORRECTION_SATURATION)
-    public void getAvailabilityStatus_flagEnabled_available() {
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
-    }
-
-    @Test
-    public void constructor_defaultValuesMatch() {
-        assertThat(mController.getSliderPosition()).isEqualTo(7);
-        assertThat(mController.getMax()).isEqualTo(10);
-        assertThat(mController.getMin()).isEqualTo(0);
+    public void getAvailabilityStatus_defaultSettings_unavailable() {
+        // By default enabled == false.
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_DEPENDENT_SETTING);
     }
 
     @Test
     @EnableFlags(Flags.FLAG_ENABLE_COLOR_CORRECTION_SATURATION)
-    public void displayPreference_enabled_visible() {
+    public void getAvailabilityStatus_enabledDefaultDisplayMode_available() {
+        setDaltonizerEnabled(1);
+
+        // By default display mode is deuteranomaly.
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_COLOR_CORRECTION_SATURATION)
+    public void getAvailabilityStatus_flagEnabledProtanEnabled_available() {
+        setDaltonizerMode(/* enabled= */ 1, /* mode= */ 11);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_COLOR_CORRECTION_SATURATION)
+    public void getAvailabilityStatus_flagEnabledDeutranEnabled_available() {
+        setDaltonizerMode(/* enabled= */ 1, /* mode= */ 12);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_COLOR_CORRECTION_SATURATION)
+    public void getAvailabilityStatus_flagEnabledTritanEnabled_available() {
+        setDaltonizerMode(/* enabled= */ 1, /* mode= */ 13);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_COLOR_CORRECTION_SATURATION)
+    public void getAvailabilityStatus_flagEnabledGrayScale_disabled() {
+        setDaltonizerMode(/* enabled= */ 1, /* mode= */ 0);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_DEPENDENT_SETTING);
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_COLOR_CORRECTION_SATURATION)
+    public void getAvailabilityStatus_flagEnabledColorCorrectionDisabled_disabled() {
+        setDaltonizerMode(/* enabled= */ 0, /* mode= */ 11);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_DEPENDENT_SETTING);
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_COLOR_CORRECTION_SATURATION)
+    public void getAvailabilityStatus_flagEnabledColorCorrectionDisabledGrayScale_disabled() {
+        setDaltonizerMode(/* enabled= */ 0, /* mode= */ 0);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_DEPENDENT_SETTING);
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_COLOR_CORRECTION_SATURATION)
+    public void displayPreference_flagEnabledColorCorrectionEnabled_enabledWithDefaultValues() {
+        setDaltonizerMode(/* enabled= */ 1, /* mode= */ 11);
         mController.displayPreference(mScreen);
 
-        verify(mPreference).setMax(eq(10));
-        verify(mPreference).setMin(eq(0));
-        verify(mPreference).setProgress(eq(7));
-        verify(mPreference).setContinuousUpdates(eq(true));
-        verify(mPreference).setOnPreferenceChangeListener(eq(mController));
-        verify(mPreference).setVisible(eq(true));
+        assertThat(mPreference.isEnabled()).isTrue();
+        assertThat(mPreference.getMax()).isEqualTo(10);
+        assertThat(mPreference.getMin()).isEqualTo(1);
+        assertThat(mPreference.getProgress()).isEqualTo(7);
+        assertThat(mPreference.isVisible()).isTrue();
+        assertThat(mPreference.getOnPreferenceChangeListener()).isEqualTo(mController);
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_COLOR_CORRECTION_SATURATION)
+    public void displayPreference_flagEnabledColorCorrectionDisabled_disabledWithDefaultValues() {
+        setDaltonizerMode(/* enabled= */ 0, /* mode= */ 11);
+        mController.displayPreference(mScreen);
+
+        assertThat(mPreference.isEnabled()).isFalse();
+        assertThat(mPreference.getMax()).isEqualTo(10);
+        assertThat(mPreference.getMin()).isEqualTo(1);
+        assertThat(mPreference.getProgress()).isEqualTo(7);
+        assertThat(mPreference.isVisible()).isTrue();
+        assertThat(mPreference.getOnPreferenceChangeListener()).isEqualTo(mController);
     }
 
     @Test
@@ -132,12 +204,8 @@
     public void displayPreference_disabled_notVisible() {
         mController.displayPreference(mScreen);
 
-        verify(mPreference).setMax(eq(10));
-        verify(mPreference).setMin(eq(0));
-        verify(mPreference).setProgress(eq(7));
-        verify(mPreference).setContinuousUpdates(eq(true));
-        verify(mPreference, never()).setOnPreferenceChangeListener(any());
-        verify(mPreference).setVisible(eq(false));
+        assertThat(mPreference.isVisible()).isFalse();
+        assertThat(mPreference.getOnPreferenceChangeListener()).isNull();
     }
 
     @Test
@@ -153,13 +221,13 @@
 
     @Test
     public void setSliderPosition_min_secureSettingsUpdated() {
-        var isSliderSet = mController.setSliderPosition(0);
+        var isSliderSet = mController.setSliderPosition(1);
 
         assertThat(isSliderSet).isTrue();
         assertThat(Settings.Secure.getInt(
                 mContentResolver,
                 Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_SATURATION_LEVEL,
-                7)).isEqualTo(0);
+                7)).isEqualTo(1);
     }
 
     @Test
@@ -194,4 +262,136 @@
                 Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_SATURATION_LEVEL,
                 7)).isEqualTo(7);
     }
+
+    @Test
+    public void updateState_enabledProtan_preferenceEnabled() {
+        setDaltonizerMode(/* enabled= */ 1, /* mode= */ 11);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isEnabled()).isTrue();
+    }
+
+    @Test
+    public void updateState_enabledDeuteran_preferenceEnabled() {
+        setDaltonizerMode(/* enabled= */ 1, /* mode= */ 12);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isEnabled()).isTrue();
+    }
+
+    @Test
+    public void updateState_enabledTritan_preferenceEnabled() {
+        setDaltonizerMode(/* enabled= */ 1, /* mode= */ 13);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isEnabled()).isTrue();
+    }
+
+    @Test
+    public void updateState_disabledGrayScale_preferenceDisabled() {
+        setDaltonizerMode(/* enabled= */ 0, /* mode= */ 0);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isEnabled()).isFalse();
+    }
+
+    @Test
+    public void updateState_nullPreference_noError() {
+        setDaltonizerMode(/* enabled= */ 0, /* mode= */ 0);
+
+        mController.updateState(null);
+    }
+
+    @Test
+    public void updateState_enabledGrayScale_preferenceDisabled() {
+        setDaltonizerMode(/* enabled= */ 1, /* mode= */ 0);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isEnabled()).isFalse();
+    }
+
+    @Test
+    public void onResume_daltonizerEnabledAfterResumed_preferenceEnabled() {
+        setDaltonizerMode(/* enabled= */ 0, /* mode= */ 11);
+        mController.displayPreference(mScreen);
+        assertThat(mPreference.isEnabled()).isFalse();
+
+        mLifecycle.addObserver(mController);
+        mLifecycle.handleLifecycleEvent(ON_RESUME);
+
+        setDaltonizerEnabled(1);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        assertThat(mPreference.isEnabled()).isTrue();
+    }
+
+    @Test
+    public void onResume_daltonizerDisabledAfterResumed_preferenceDisabled() {
+        setDaltonizerMode(/* enabled= */ 1, /* mode= */ 11);
+        mController.displayPreference(mScreen);
+        assertThat(mPreference.isEnabled()).isTrue();
+
+        mLifecycle.addObserver(mController);
+        mLifecycle.handleLifecycleEvent(ON_RESUME);
+
+        setDaltonizerEnabled(0);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        assertThat(mPreference.isEnabled()).isFalse();
+    }
+
+    @Test
+    public void onResume_daltonizerGrayScaledAfterResumed_preferenceDisabled() {
+        setDaltonizerMode(/* enabled= */ 1, /* mode= */ 11);
+        mController.displayPreference(mScreen);
+        assertThat(mPreference.isEnabled()).isTrue();
+
+        mLifecycle.addObserver(mController);
+        mLifecycle.handleLifecycleEvent(ON_RESUME);
+
+        setDaltonizerDisplay(0);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        assertThat(mPreference.isEnabled()).isFalse();
+    }
+
+    @Test
+    public void onStop_daltonizerEnabledAfterOnStop_preferenceNotChanged() {
+        setDaltonizerMode(/* enabled= */ 0, /* mode= */ 11);
+        mController.displayPreference(mScreen);
+        assertThat(mPreference.isEnabled()).isFalse();
+
+        mLifecycle.addObserver(mController);
+        mLifecycle.handleLifecycleEvent(ON_STOP);
+
+        // enabled.
+        setDaltonizerEnabled(1);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        assertThat(mPreference.isEnabled()).isFalse();
+    }
+
+    private void setDaltonizerMode(int enabled, int mode) {
+        setDaltonizerEnabled(enabled);
+        setDaltonizerDisplay(mode);
+    }
+
+    private void setDaltonizerEnabled(int enabled) {
+        Settings.Secure.putInt(
+                mContentResolver,
+                Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED,
+                enabled);
+    }
+
+    private void setDaltonizerDisplay(int mode) {
+        Settings.Secure.putString(
+                mContentResolver,
+                Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER,
+                Integer.toString(mode));
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceControllerTest.java
index 0f32f31..6432a17 100644
--- a/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceControllerTest.java
@@ -67,22 +67,23 @@
     public MockitoRule mMockitoRule = MockitoJUnit.rule();
     @Spy
     private final Context mContext = ApplicationProvider.getApplicationContext();
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-    @Mock
-    private Preference mPreference;
     @Spy
     private ContentResolver mContentResolver = mContext.getContentResolver();
-
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+    private Preference mPreference;
     private FlashNotificationsPreviewPreferenceController mController;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        when(mPreferenceScreen.findPreference(PREFERENCE_KEY)).thenReturn(mPreference);
-        when(mPreference.getKey()).thenReturn(PREFERENCE_KEY);
 
         when(mContext.getContentResolver()).thenReturn(mContentResolver);
+
+        mPreference = new Preference(mContext);
+        mPreference.setKey(PREFERENCE_KEY);
+        when(mPreferenceScreen.findPreference(PREFERENCE_KEY)).thenReturn(mPreference);
+
         mController = new FlashNotificationsPreviewPreferenceController(mContext, PREFERENCE_KEY);
     }
 
@@ -97,40 +98,45 @@
     }
 
     @Test
-    public void testDisplayPreference_torchPresent_cameraOff_screenOff_verifyDisabled() {
+    public void testDisplayPreference_torchPresent_cameraOff_screenOff_notVisible() {
         setFlashNotificationsState(FlashNotificationsUtil.State.OFF);
 
         mController.displayPreference(mPreferenceScreen);
-        verify(mPreference).setEnabled(eq(false));
+
+        assertThat(mPreference.isVisible()).isFalse();
     }
 
     @Test
-    public void testDisplayPreference_torchPresent_cameraOn_screenOff_verifyEnabled() {
+    public void testDisplayPreference_torchPresent_cameraOn_screenOff_isVisible() {
         setFlashNotificationsState(FlashNotificationsUtil.State.CAMERA);
 
         mController.displayPreference(mPreferenceScreen);
-        verify(mPreference).setEnabled(eq(true));
+
+        assertThat(mPreference.isVisible()).isTrue();
     }
 
     @Test
-    public void testDisplayPreference_torchPresent_cameraOff_screenOn_verifyEnabled() {
+    public void testDisplayPreference_torchPresent_cameraOff_screenOn_isVisible() {
         setFlashNotificationsState(FlashNotificationsUtil.State.SCREEN);
 
         mController.displayPreference(mPreferenceScreen);
-        verify(mPreference).setEnabled(eq(true));
+
+        assertThat(mPreference.isVisible()).isTrue();
     }
 
     @Test
-    public void testDisplayPreference_torchPresent_cameraOn_screenOn_verifyEnabled() {
+    public void testDisplayPreference_torchPresent_cameraOn_screenOn_isVisible() {
         setFlashNotificationsState(FlashNotificationsUtil.State.CAMERA_SCREEN);
 
         mController.displayPreference(mPreferenceScreen);
-        verify(mPreference).setEnabled(eq(true));
+
+        assertThat(mPreference.isVisible()).isTrue();
     }
 
     @Test
     public void testHandlePreferenceTreeClick_invalidPreference() {
         mController.handlePreferenceTreeClick(mock(Preference.class));
+
         verify(mContext, never()).sendBroadcastAsUser(any(), any());
     }
 
@@ -160,6 +166,7 @@
     @Test
     public void onStateChanged_onResume_cameraUri_verifyRegister() {
         mController.onStateChanged(mock(LifecycleOwner.class), Lifecycle.Event.ON_RESUME);
+
         verify(mContentResolver).registerContentObserver(
                 eq(Settings.System.getUriFor(Settings.System.CAMERA_FLASH_NOTIFICATION)),
                 anyBoolean(), eq(mController.mContentObserver));
@@ -168,6 +175,7 @@
     @Test
     public void onStateChanged_onResume_screenUri_verifyRegister() {
         mController.onStateChanged(mock(LifecycleOwner.class), Lifecycle.Event.ON_RESUME);
+
         verify(mContentResolver).registerContentObserver(
                 eq(Settings.System.getUriFor(Settings.System.SCREEN_FLASH_NOTIFICATION)),
                 anyBoolean(), eq(mController.mContentObserver));
@@ -176,6 +184,7 @@
     @Test
     public void onStateChanged_onPause_verifyUnregister() {
         mController.onStateChanged(mock(LifecycleOwner.class), Lifecycle.Event.ON_PAUSE);
+
         verify(mContentResolver).unregisterContentObserver(eq(mController.mContentObserver));
     }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/KeyboardBounceKeyPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/KeyboardBounceKeyPreferenceControllerTest.java
index 96beb43..bf6efd0 100644
--- a/tests/robotests/src/com/android/settings/accessibility/KeyboardBounceKeyPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/KeyboardBounceKeyPreferenceControllerTest.java
@@ -25,6 +25,8 @@
 import static org.mockito.Mockito.verify;
 
 import android.content.Context;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
 import android.provider.Settings;
 
 import androidx.preference.PreferenceManager;
@@ -34,19 +36,24 @@
 
 import com.android.settings.core.BasePreferenceController;
 
+import org.junit.Assume;
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
 
+import java.util.ArrayList;
+import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
 public class KeyboardBounceKeyPreferenceControllerTest {
-
     private static final String KEY_ACCESSIBILITY_BOUNCE_KEYS =
             Settings.Secure.ACCESSIBILITY_BOUNCE_KEYS;
     private static final int UNKNOWN = -1;
 
+    @Rule
+    public final SetFlagsRule mSetFlagRule = new SetFlagsRule();
     private final Context mContext = ApplicationProvider.getApplicationContext();
     private final SwitchPreference mSwitchPreference = spy(new SwitchPreference(mContext));
     private final KeyboardBounceKeyPreferenceController mController =
@@ -131,4 +138,26 @@
                 mContext.getContentResolver(), KEY_ACCESSIBILITY_BOUNCE_KEYS,
                 UNKNOWN)).isNotEqualTo(OFF);
     }
+
+    @Test
+    @EnableFlags(Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH)
+    public void updateNonIndexableKeys_physicalKeyboardExists_returnEmptyList() {
+        Assume.assumeTrue(AccessibilitySettings.isAnyHardKeyboardsExist());
+
+        List<String> nonIndexableKeys = new ArrayList<>();
+        mController.updateNonIndexableKeys(nonIndexableKeys);
+
+        assertThat(nonIndexableKeys).isEmpty();
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH)
+    public void updateNonIndexableKeys_noPhysicalKeyboard_returnPreKey() {
+        Assume.assumeFalse(AccessibilitySettings.isAnyHardKeyboardsExist());
+
+        List<String> nonIndexableKeys = new ArrayList<>();
+        mController.updateNonIndexableKeys(nonIndexableKeys);
+
+        assertThat(nonIndexableKeys).contains(mController.getPreferenceKey());
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/KeyboardSlowKeyPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/KeyboardSlowKeyPreferenceControllerTest.java
index 321b69f..2721a64 100644
--- a/tests/robotests/src/com/android/settings/accessibility/KeyboardSlowKeyPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/KeyboardSlowKeyPreferenceControllerTest.java
@@ -25,6 +25,8 @@
 import static org.mockito.Mockito.verify;
 
 import android.content.Context;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
 import android.provider.Settings;
 
 import androidx.preference.PreferenceManager;
@@ -34,19 +36,24 @@
 
 import com.android.settings.core.BasePreferenceController;
 
+import org.junit.Assume;
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
 
+import java.util.ArrayList;
+import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
 public class KeyboardSlowKeyPreferenceControllerTest {
-
     private static final String KEY_ACCESSIBILITY_SLOW_KEYS =
             Settings.Secure.ACCESSIBILITY_SLOW_KEYS;
     private static final int UNKNOWN = -1;
 
+    @Rule
+    public final SetFlagsRule mSetFlagRule = new SetFlagsRule();
     private final Context mContext = ApplicationProvider.getApplicationContext();
     private final SwitchPreference mSwitchPreference = spy(new SwitchPreference(mContext));
     private final KeyboardSlowKeyPreferenceController mController =
@@ -131,4 +138,26 @@
                 mContext.getContentResolver(), KEY_ACCESSIBILITY_SLOW_KEYS, UNKNOWN)).isNotEqualTo(
                 OFF);
     }
+
+    @Test
+    @EnableFlags(Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH)
+    public void updateNonIndexableKeys_physicalKeyboardExists_returnEmptyList() {
+        Assume.assumeTrue(AccessibilitySettings.isAnyHardKeyboardsExist());
+
+        List<String> nonIndexableKeys = new ArrayList<>();
+        mController.updateNonIndexableKeys(nonIndexableKeys);
+
+        assertThat(nonIndexableKeys).isEmpty();
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH)
+    public void updateNonIndexableKeys_noPhysicalKeyboard_returnPreKey() {
+        Assume.assumeFalse(AccessibilitySettings.isAnyHardKeyboardsExist());
+
+        List<String> nonIndexableKeys = new ArrayList<>();
+        mController.updateNonIndexableKeys(nonIndexableKeys);
+
+        assertThat(nonIndexableKeys).contains(mController.getPreferenceKey());
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/KeyboardStickyKeyPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/KeyboardStickyKeyPreferenceControllerTest.java
index 31d46b7..0001e85 100644
--- a/tests/robotests/src/com/android/settings/accessibility/KeyboardStickyKeyPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/KeyboardStickyKeyPreferenceControllerTest.java
@@ -25,6 +25,8 @@
 import static org.mockito.Mockito.verify;
 
 import android.content.Context;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
 import android.provider.Settings;
 
 import androidx.preference.PreferenceManager;
@@ -34,19 +36,24 @@
 
 import com.android.settings.core.BasePreferenceController;
 
+import org.junit.Assume;
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
 
+import java.util.ArrayList;
+import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
 public class KeyboardStickyKeyPreferenceControllerTest {
-
     private static final String KEY_ACCESSIBILITY_STICKY_KEYS =
             Settings.Secure.ACCESSIBILITY_STICKY_KEYS;
     private static final int UNKNOWN = -1;
 
+    @Rule
+    public final SetFlagsRule mSetFlagRule = new SetFlagsRule();
     private final Context mContext = ApplicationProvider.getApplicationContext();
     private final SwitchPreference mSwitchPreference = spy(new SwitchPreference(mContext));
     private final KeyboardStickyKeyPreferenceController mController =
@@ -129,4 +136,26 @@
         assertThat(Settings.Secure.getInt(
             mContext.getContentResolver(), KEY_ACCESSIBILITY_STICKY_KEYS, UNKNOWN)).isEqualTo(ON);
     }
+
+    @Test
+    @EnableFlags(Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH)
+    public void updateNonIndexableKeys_physicalKeyboardExists_returnEmptyList() {
+        Assume.assumeTrue(AccessibilitySettings.isAnyHardKeyboardsExist());
+
+        List<String> nonIndexableKeys = new ArrayList<>();
+        mController.updateNonIndexableKeys(nonIndexableKeys);
+
+        assertThat(nonIndexableKeys).isEmpty();
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH)
+    public void updateNonIndexableKeys_noPhysicalKeyboard_returnPreKey() {
+        Assume.assumeFalse(AccessibilitySettings.isAnyHardKeyboardsExist());
+
+        List<String> nonIndexableKeys = new ArrayList<>();
+        mController.updateNonIndexableKeys(nonIndexableKeys);
+
+        assertThat(nonIndexableKeys).contains(mController.getPreferenceKey());
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceControllerTest.java
index 832a313..78f49a6 100644
--- a/tests/robotests/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceControllerTest.java
@@ -33,7 +33,6 @@
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.res.Resources;
-import android.os.vibrator.Flags;
 import android.platform.test.flag.junit.SetFlagsRule;
 import android.provider.Settings;
 
@@ -41,7 +40,6 @@
 import androidx.preference.SwitchPreference;
 import androidx.test.core.app.ApplicationProvider;
 
-import com.android.settings.R;
 import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
@@ -87,30 +85,22 @@
 
     @Test
     public void getAvailabilityStatus_featureSupported_available() {
-        mSetFlagsRule.enableFlags(Flags.FLAG_KEYBOARD_CATEGORY_ENABLED);
-        when(mResources.getBoolean(R.bool.config_keyboard_vibration_supported)).thenReturn(true);
-        when(mResources.getFloat(
-                com.android.internal.R.dimen.config_keyboardHapticFeedbackFixedAmplitude))
-                .thenReturn(0.8f);
+        when(mResources.getBoolean(
+                com.android.internal.R.bool.config_keyboardVibrationSettingsSupported))
+                .thenReturn(true);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
     @Test
     public void getAvailabilityStatus_featureNotSupported_unavailable() {
-        mSetFlagsRule.enableFlags(Flags.FLAG_KEYBOARD_CATEGORY_ENABLED);
-        when(mResources.getBoolean(R.bool.config_keyboard_vibration_supported)).thenReturn(false);
+        when(mResources.getBoolean(
+                com.android.internal.R.bool.config_keyboardVibrationSettingsSupported))
+                .thenReturn(false);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
     }
 
-    @Test
-    public void getAvailabilityStatus_keyboardCategoryDisabled_unavailable() {
-        mSetFlagsRule.disableFlags(Flags.FLAG_KEYBOARD_CATEGORY_ENABLED);
-        when(mResources.getBoolean(R.bool.config_keyboard_vibration_supported)).thenReturn(true);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
-    }
 
     @Test
     public void updateState_mainVibrateDisabled_shouldReturnFalseForCheckedAndEnabled() {
diff --git a/tests/robotests/src/com/android/settings/accessibility/MagnificationOneFingerPanningPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/MagnificationOneFingerPanningPreferenceControllerTest.java
index 8b4bcd8..9f50146 100644
--- a/tests/robotests/src/com/android/settings/accessibility/MagnificationOneFingerPanningPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/MagnificationOneFingerPanningPreferenceControllerTest.java
@@ -133,23 +133,23 @@
     }
 
     @Test
-    public void getSummary_switchModeAndSettingsOff_disabledSummaryTextUsed() {
+    public void getSummary_switchModeAndSettingsOff_defaultSummaryTextUsed() {
         MagnificationCapabilities.setCapabilities(mContext, MagnificationMode.ALL);
         Settings.Secure.putInt(mContext.getContentResolver(), ONE_FINGER_PANNING_KEY, OFF);
 
         mController.updateState(mSwitchPreference);
 
-        assertThat(mController.getSummary()).isEqualTo(disabledSummary());
+        assertThat(mController.getSummary().toString()).isEqualTo(defaultSummary());
     }
 
     @Test
-    public void getSummary_switchModeAndSettingsOn_enabledSummaryTextUsed() {
+    public void getSummary_switchModeAndSettingsOn_defaultSummaryTextUsed() {
         MagnificationCapabilities.setCapabilities(mContext, MagnificationMode.ALL);
         Settings.Secure.putInt(mContext.getContentResolver(), ONE_FINGER_PANNING_KEY, ON);
 
         mController.updateState(mSwitchPreference);
 
-        assertThat(mController.getSummary()).isEqualTo(enabledSummary());
+        assertThat(mController.getSummary().toString()).isEqualTo(defaultSummary());
     }
 
     @Test
@@ -158,7 +158,7 @@
 
         mController.updateState(mSwitchPreference);
 
-        assertThat(mController.getSummary()).isEqualTo(unavailableSummary());
+        assertThat(mController.getSummary().toString()).isEqualTo(unavailableSummary());
     }
 
     @Test
@@ -199,14 +199,9 @@
         assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
     }
 
-    private String enabledSummary() {
+    private String defaultSummary() {
         return mContext.getString(
-                R.string.accessibility_magnification_one_finger_panning_summary_on);
-    }
-
-    private String disabledSummary() {
-        return mContext.getString(
-                R.string.accessibility_magnification_one_finger_panning_summary_off);
+                R.string.accessibility_magnification_one_finger_panning_summary);
     }
 
     private String unavailableSummary() {
diff --git a/tests/robotests/src/com/android/settings/accessibility/RestrictedPreferenceHelperTest.java b/tests/robotests/src/com/android/settings/accessibility/RestrictedPreferenceHelperTest.java
index b4f4dc1..2a41e62 100644
--- a/tests/robotests/src/com/android/settings/accessibility/RestrictedPreferenceHelperTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/RestrictedPreferenceHelperTest.java
@@ -31,9 +31,8 @@
 import android.content.pm.ApplicationInfo;
 import android.content.pm.ResolveInfo;
 import android.content.pm.ServiceInfo;
-import android.platform.test.annotations.RequiresFlagsEnabled;
-import android.platform.test.flag.junit.CheckFlagsRule;
-import android.platform.test.flag.junit.DeviceFlagsValueProvider;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
 import android.platform.test.flag.junit.SetFlagsRule;
 
 import androidx.test.core.app.ApplicationProvider;
@@ -83,8 +82,6 @@
 
     @Rule
     public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
-    @Rule
-    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
 
     @Test
     public void createAccessibilityServicePreferenceList_hasOneInfo_containsSameKey() {
@@ -100,7 +97,7 @@
     }
 
     @Test
-    @RequiresFlagsEnabled(value = {android.security.Flags.FLAG_EXTEND_ECM_TO_ALL_SETTINGS,
+    @EnableFlags(value = {android.security.Flags.FLAG_EXTEND_ECM_TO_ALL_SETTINGS,
             android.permission.flags.Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED})
     public void createAccessibilityServicePreferenceList_ecmRestricted_prefIsEcmRestricted() {
         ShadowRestrictedLockUtilsInternal.setEcmRestrictedPkgs(
@@ -116,7 +113,7 @@
     }
 
     @Test
-    @RequiresFlagsEnabled(value = {android.security.Flags.FLAG_EXTEND_ECM_TO_ALL_SETTINGS,
+    @EnableFlags(value = {android.security.Flags.FLAG_EXTEND_ECM_TO_ALL_SETTINGS,
             android.permission.flags.Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED})
     public void createAccessibilityServicePreferenceList_ecmNotRestricted_prefIsNotEcmRestricted() {
         ShadowRestrictedLockUtilsInternal.setEcmRestrictedPkgs();
@@ -144,6 +141,40 @@
         assertThat(preference.getKey()).isEqualTo(key);
     }
 
+    @Test
+    @EnableFlags(value = {android.security.Flags.FLAG_EXTEND_ECM_TO_ALL_SETTINGS,
+            android.permission.flags.Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED})
+    @DisableFlags(Flags.FLAG_NEVER_RESTRICT_ACCESSIBILITY_ACTIVITY)
+    public void createAccessibilityActivityPreference_ecmRestricted_prefIsEcmRestricted() {
+        setMockAccessibilityShortcutInfo(mShortcutInfo);
+        ShadowRestrictedLockUtilsInternal.setEcmRestrictedPkgs(PACKAGE_NAME);
+
+        final List<AccessibilityActivityPreference> preferenceList =
+                mHelper.createAccessibilityActivityPreferenceList(List.of(mShortcutInfo));
+        assertThat(preferenceList).hasSize(1);
+        final RestrictedPreference preference = preferenceList.get(0);
+
+        assertThat(preference.isDisabledByEcm()).isTrue();
+    }
+
+    @Test
+    @EnableFlags(value = {
+            android.security.Flags.FLAG_EXTEND_ECM_TO_ALL_SETTINGS,
+            android.permission.flags.Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED,
+            Flags.FLAG_NEVER_RESTRICT_ACCESSIBILITY_ACTIVITY,
+    })
+    public void createAccessibilityActivityPreference_ecmRestricted_prefIsNotEcmRestricted() {
+        setMockAccessibilityShortcutInfo(mShortcutInfo);
+        ShadowRestrictedLockUtilsInternal.setEcmRestrictedPkgs(PACKAGE_NAME);
+
+        final List<AccessibilityActivityPreference> preferenceList =
+                mHelper.createAccessibilityActivityPreferenceList(List.of(mShortcutInfo));
+        assertThat(preferenceList).hasSize(1);
+        final RestrictedPreference preference = preferenceList.get(0);
+
+        assertThat(preference.isDisabledByEcm()).isFalse();
+    }
+
     private AccessibilityServiceInfo getMockAccessibilityServiceInfo(String packageName,
             String className) {
         final ApplicationInfo applicationInfo = new ApplicationInfo();
diff --git a/tests/robotests/src/com/android/settings/accessibility/ScreenFlashNotificationColorDialogFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ScreenFlashNotificationColorDialogFragmentTest.java
index f3fa69d..ea48253 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ScreenFlashNotificationColorDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ScreenFlashNotificationColorDialogFragmentTest.java
@@ -37,10 +37,13 @@
 
 import android.content.Intent;
 import android.graphics.Color;
+import android.os.Bundle;
+import android.provider.Settings;
 
 import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.testing.FragmentScenario;
 import androidx.lifecycle.Lifecycle;
+import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
 import com.android.settings.testutils.FakeTimer;
@@ -56,23 +59,26 @@
 
 import java.util.List;
 import java.util.Timer;
-import java.util.function.Consumer;
 
 @RunWith(RobolectricTestRunner.class)
 public class ScreenFlashNotificationColorDialogFragmentTest {
 
+    private static final int DEFAULT_COLOR = ROSE.mColorInt;
+
     private FragmentScenario<TestScreenFlashNotificationColorDialogFragment> mFragmentScenario;
     private ScreenFlashNotificationColorDialogFragment mDialogFragment;
     private AlertDialog mAlertDialog;
     private ColorSelectorLayout mColorSelectorLayout;
-    private int mCurrentColor;
 
     @Before
     public void setUp() {
-        mCurrentColor = ROSE.mColorInt;
+        Settings.System.putInt(ApplicationProvider.getApplicationContext().getContentResolver(),
+                Settings.System.SCREEN_FLASH_NOTIFICATION_COLOR, DEFAULT_COLOR);
+        Bundle fragmentArgs = new Bundle();
+        fragmentArgs.putInt(ScreenFlashNotificationColorDialogFragment.EXTRA_COLOR, DEFAULT_COLOR);
         mFragmentScenario = FragmentScenario.launch(
                 TestScreenFlashNotificationColorDialogFragment.class,
-                /* fragmentArgs= */ null,
+                fragmentArgs,
                 R.style.Theme_AlertDialog_SettingsLib,
                 Lifecycle.State.INITIALIZED);
         setupFragment();
@@ -99,7 +105,7 @@
         performClickOnDialog(BUTTON_NEUTRAL);
         getTimerFromFragment().runOneTask();
 
-        assertStartPreview(ROSE.mColorInt);
+        assertStartPreview(DEFAULT_COLOR);
     }
 
     @Test
@@ -168,20 +174,26 @@
     }
 
     @Test
-    public void clickColorAndClickNegative_assertColor() {
+    public void clickColorAndClickNegative_assertDefaultColor() {
         checkColorButton(AZURE);
         performClickOnDialog(BUTTON_NEGATIVE);
 
         assertThat(getTimerFromFragment()).isNull();
-        assertThat(mCurrentColor).isEqualTo(ROSE.mColorInt);
+        assertThat(Settings.System.getInt(
+                ApplicationProvider.getApplicationContext().getContentResolver(),
+                Settings.System.SCREEN_FLASH_NOTIFICATION_COLOR, AZURE.mColorInt)).isEqualTo(
+                DEFAULT_COLOR);
     }
 
     @Test
-    public void clickColorAndClickPositive_assertColor() {
+    public void clickColorAndClickPositive_assertSameColor() {
         checkColorButton(BLUE);
         performClickOnDialog(BUTTON_POSITIVE);
 
-        assertThat(mCurrentColor).isEqualTo(BLUE.mColorInt);
+        assertThat(Settings.System.getInt(
+                ApplicationProvider.getApplicationContext().getContentResolver(),
+                Settings.System.SCREEN_FLASH_NOTIFICATION_COLOR, DEFAULT_COLOR)).isEqualTo(
+                BLUE.mColorInt);
     }
 
     private void checkColorButton(ScreenFlashNotificationColor color) {
@@ -201,11 +213,6 @@
     }
 
     private void setupFragment() {
-        mFragmentScenario.onFragment(fragment -> {
-            ReflectionHelpers.setField(fragment, "mCurrentColor", mCurrentColor);
-            ReflectionHelpers.setField(fragment, "mConsumer",
-                    (Consumer<Integer>) selectedColor -> mCurrentColor = selectedColor);
-        });
         mFragmentScenario.moveToState(Lifecycle.State.RESUMED);
 
         mFragmentScenario.onFragment(fragment -> {
diff --git a/tests/robotests/src/com/android/settings/accessibility/ScreenFlashNotificationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/ScreenFlashNotificationPreferenceControllerTest.java
index 95a9438..d7c1a0f 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ScreenFlashNotificationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ScreenFlashNotificationPreferenceControllerTest.java
@@ -57,8 +57,6 @@
 import org.robolectric.annotation.Implements;
 import org.robolectric.annotation.Resetter;
 
-import java.util.function.Consumer;
-
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {
         ScreenFlashNotificationPreferenceControllerTest
@@ -83,7 +81,6 @@
     private FragmentManager mFragmentManager;
     @Mock
     private ScreenFlashNotificationColorDialogFragment mDialogFragment;
-
     private ScreenFlashNotificationPreferenceController mController;
     private ContentResolver mContentResolver;
 
@@ -92,6 +89,7 @@
         MockitoAnnotations.initMocks(this);
         FragmentActivity fragmentActivity = Robolectric.setupActivity(FragmentActivity.class);
         Context context = fragmentActivity.getApplicationContext();
+
         ShadowScreenFlashNotificationColorDialogFragment.setInstance(mDialogFragment);
         ShadowFlashNotificationsUtils.setColorDescriptionText(COLOR_DESCRIPTION_TEXT);
 
@@ -99,8 +97,9 @@
         mController = new ScreenFlashNotificationPreferenceController(context, PREFERENCE_KEY);
         when(mPreferenceScreen.findPreference(PREFERENCE_KEY)).thenReturn(mPreference);
         when(mPreference.getKey()).thenReturn(PREFERENCE_KEY);
-        mController.setParentFragment(mParentFragment);
         when(mParentFragment.getParentFragmentManager()).thenReturn(mFragmentManager);
+
+        mController.setParentFragment(mParentFragment);
     }
 
     @After
@@ -181,6 +180,7 @@
     @Test
     public void handlePreferenceTreeClick() {
         mController.handlePreferenceTreeClick(mPreference);
+
         verify(mDialogFragment).show(any(FragmentManager.class), anyString());
     }
 
@@ -194,7 +194,7 @@
 
         @Implementation
         protected static ScreenFlashNotificationColorDialogFragment getInstance(
-                int initialColor, Consumer<Integer> colorConsumer) {
+                int initialColor) {
             return sInstance;
         }
 
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragmentTest.java
index 5522361..008f542 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragmentTest.java
@@ -299,21 +299,6 @@
     }
 
     @Test
-    @DisableFlags(
-            com.android.settings.accessibility.Flags.FLAG_EDIT_SHORTCUTS_IN_FULL_SCREEN)
-    public void clickShortcutSettingsPreference_warningNotRequired_dontShowWarning_showDialog()
-            throws Throwable {
-        setupServiceWarningRequired(false);
-        mFragment.mShortcutPreference = new ShortcutPreference(mContext, /* attrs= */null);
-
-        mFragment.onSettingsClicked(mFragment.mShortcutPreference);
-
-        assertThat(mFragment.mLastShownDialogId).isEqualTo(
-                AccessibilityDialogUtils.DialogEnums.EDIT_SHORTCUT);
-    }
-
-    @Test
-    @EnableFlags(com.android.settings.accessibility.Flags.FLAG_EDIT_SHORTCUTS_IN_FULL_SCREEN)
     public void clickShortcutSettingsPreference_warningNotRequired_dontShowWarning_launchActivity()
             throws Throwable {
         setupServiceWarningRequired(false);
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragmentTest.java
index 850d1d79..a5bfec2 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragmentTest.java
@@ -18,53 +18,34 @@
 
 import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
 import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
-import static com.android.settings.accessibility.ToggleDaltonizerPreferenceFragment.KEY_DEUTERANOMALY;
-import static com.android.settings.accessibility.ToggleDaltonizerPreferenceFragment.KEY_GRAYSCALE;
-import static com.android.settings.accessibility.ToggleDaltonizerPreferenceFragment.KEY_PROTANOMALY;
-import static com.android.settings.accessibility.ToggleDaltonizerPreferenceFragment.KEY_TRITANOMEALY;
 import static com.android.settings.accessibility.ToggleDaltonizerPreferenceFragment.KEY_USE_SERVICE_PREFERENCE;
 
 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.app.settings.SettingsEnums;
-import android.content.ComponentName;
 import android.content.Context;
+import android.content.Intent;
 import android.os.Bundle;
 import android.platform.test.annotations.DisableFlags;
 import android.platform.test.flag.junit.SetFlagsRule;
 import android.provider.Settings;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
 import android.view.accessibility.Flags;
 import android.widget.PopupWindow;
 
-import androidx.fragment.app.FragmentActivity;
-import androidx.preference.PreferenceManager;
-import androidx.preference.PreferenceScreen;
+import androidx.fragment.app.Fragment;
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
-import com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType;
+import com.android.settings.SettingsActivity;
 import com.android.settings.testutils.XmlTestUtils;
-import com.android.settings.testutils.shadow.ShadowFragment;
 import com.android.settings.widget.SettingsMainSwitchPreference;
-import com.android.settingslib.widget.SelectorWithWidgetPreference;
 
 import org.junit.Before;
 import org.junit.Rule;
 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.annotation.Config;
+import org.robolectric.android.controller.ActivityController;
 import org.robolectric.shadow.api.Shadow;
 import org.robolectric.shadows.ShadowApplication;
 
@@ -72,89 +53,52 @@
 
 /** Tests for {@link ToggleDaltonizerPreferenceFragment} */
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowFragment.class)
 public class ToggleDaltonizerPreferenceFragmentTest {
     @Rule
     public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
     private final Context mContext = ApplicationProvider.getApplicationContext();
-    private TestToggleDaltonizerPreferenceFragment mFragment;
-    private PreferenceScreen mScreen;
-    private SettingsMainSwitchPreference mSwitchPreference;
-
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private PreferenceManager mPreferenceManager;
-    @Mock
-    private SelectorWithWidgetPreference mMockDeuteranomalyPref;
-    @Mock
-    private SelectorWithWidgetPreference mMockProtanomalyPref;
-    @Mock
-    private SelectorWithWidgetPreference mMockTritanomalyPref;
-    @Mock
-    private SelectorWithWidgetPreference mMockGrayscalePref;
-    @Mock
-    private FragmentActivity mActivity;
+    private ActivityController<SettingsActivity> mActivityController;
 
     @Before
-    public void setUpTestFragment() {
-        MockitoAnnotations.initMocks(this);
+    public void setUp() {
+        Intent intent = new Intent();
+        intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT,
+                ToggleDaltonizerPreferenceFragment.class.getName());
+        intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS, new Bundle());
 
-        mFragment = spy(new TestToggleDaltonizerPreferenceFragment(mContext));
-        when(mFragment.getPreferenceManager()).thenReturn(mPreferenceManager);
-        when(mFragment.getPreferenceManager().getContext()).thenReturn(mContext);
-        when(mFragment.getContext()).thenReturn(mContext);
-        when(mFragment.getActivity()).thenReturn(mActivity);
-        when(mActivity.getContentResolver()).thenReturn(mContext.getContentResolver());
-
-        mScreen = spy(new PreferenceScreen(mContext, /* attrs= */ null));
-        when(mScreen.findPreference(KEY_USE_SERVICE_PREFERENCE))
-                .thenReturn(mFragment.mToggleServiceSwitchPreference);
-        when(mScreen.findPreference(KEY_DEUTERANOMALY)).thenReturn(mMockDeuteranomalyPref);
-        when(mMockDeuteranomalyPref.getKey()).thenReturn(KEY_DEUTERANOMALY);
-        when(mScreen.findPreference(KEY_PROTANOMALY)).thenReturn(mMockProtanomalyPref);
-        when(mMockProtanomalyPref.getKey()).thenReturn(KEY_PROTANOMALY);
-        when(mScreen.findPreference(KEY_TRITANOMEALY)).thenReturn(mMockTritanomalyPref);
-        when(mMockTritanomalyPref.getKey()).thenReturn(KEY_TRITANOMEALY);
-        when(mScreen.findPreference(KEY_GRAYSCALE)).thenReturn(mMockGrayscalePref);
-        when(mMockGrayscalePref.getKey()).thenReturn(KEY_GRAYSCALE);
-        when(mScreen.getPreferenceManager()).thenReturn(mPreferenceManager);
-        doReturn(mScreen).when(mFragment).getPreferenceScreen();
-
-        mSwitchPreference = mScreen.findPreference(KEY_USE_SERVICE_PREFERENCE);
+        mActivityController = ActivityController.of(new SettingsActivity(), intent);
     }
 
     @Test
     public void onResume_colorCorrectEnabled_shouldReturnTrue() {
         Settings.Secure.putInt(mContext.getContentResolver(),
                 Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED, ON);
-        mFragment.onAttach(mContext);
-        mFragment.onCreate(Bundle.EMPTY);
 
-        mFragment.onResume();
+        ToggleDaltonizerPreferenceFragment fragment = getFragmentInResumedState();
 
-        assertThat(mSwitchPreference.isChecked()).isTrue();
+        SettingsMainSwitchPreference switchPreference = getMainFeatureToggle(fragment);
+        assertThat(switchPreference.isChecked()).isTrue();
     }
 
     @Test
     public void onResume_colorCorrectDisabled_shouldReturnFalse() {
         Settings.Secure.putInt(mContext.getContentResolver(),
                 Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED, OFF);
-        mFragment.onAttach(mContext);
-        mFragment.onCreate(Bundle.EMPTY);
 
-        mFragment.onResume();
+        ToggleDaltonizerPreferenceFragment fragment = getFragmentInResumedState();
 
-        assertThat(mSwitchPreference.isChecked()).isFalse();
+        SettingsMainSwitchPreference switchPreference = getMainFeatureToggle(fragment);
+        assertThat(switchPreference.isChecked()).isFalse();
     }
 
     @Test
     public void onResume_colorCorrectEnabled_switchPreferenceChecked_notShowTooltips() {
         Settings.Secure.putInt(mContext.getContentResolver(),
                 Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED, ON);
-        mSwitchPreference.setChecked(true);
-        mFragment.onAttach(mContext);
-        mFragment.onCreate(Bundle.EMPTY);
 
-        mFragment.onResume();
+        ToggleDaltonizerPreferenceFragment fragment = getFragmentInResumedState();
+        SettingsMainSwitchPreference switchPreference = getMainFeatureToggle(fragment);
+        assertThat(switchPreference.isChecked()).isTrue();
 
         assertThat(getLatestPopupWindow()).isNull();
     }
@@ -164,12 +108,10 @@
     public void onPreferenceToggled_colorCorrectDisabled_shouldReturnTrueAndShowTooltipView() {
         Settings.Secure.putInt(mContext.getContentResolver(),
                 Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED, OFF);
-        mSwitchPreference.setChecked(false);
-        mFragment.onAttach(mContext);
-        mFragment.onCreateView(LayoutInflater.from(mContext), mock(ViewGroup.class), Bundle.EMPTY);
-        mFragment.onViewCreated(mFragment.getView(), Bundle.EMPTY);
+        ToggleDaltonizerPreferenceFragment fragment = getFragmentInResumedState();
+        SettingsMainSwitchPreference switchPreference = getMainFeatureToggle(fragment);
 
-        mFragment.onPreferenceToggled(mSwitchPreference.getKey(), true);
+        fragment.onPreferenceToggled(switchPreference.getKey(), true);
 
         final boolean isEnabled = Settings.Secure.getInt(mContext.getContentResolver(),
                 Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED, OFF) == ON;
@@ -182,11 +124,10 @@
     public void onPreferenceToggled_colorCorrectEnabled_shouldReturnFalseAndNotShowTooltipView() {
         Settings.Secure.putInt(mContext.getContentResolver(),
                 Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED, ON);
-        mSwitchPreference.setChecked(true);
-        mFragment.onAttach(mContext);
-        mFragment.onCreate(Bundle.EMPTY);
+        ToggleDaltonizerPreferenceFragment fragment = getFragmentInResumedState();
+        SettingsMainSwitchPreference switchPreference = getMainFeatureToggle(fragment);
 
-        mFragment.onPreferenceToggled(mSwitchPreference.getKey(), false);
+        fragment.onPreferenceToggled(switchPreference.getKey(), false);
 
         final boolean isEnabled = Settings.Secure.getInt(mContext.getContentResolver(),
                 Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED, OFF) == ON;
@@ -196,19 +137,25 @@
 
     @Test
     public void getMetricsCategory_returnsCorrectCategory() {
-        assertThat(mFragment.getMetricsCategory()).isEqualTo(
+        ToggleDaltonizerPreferenceFragment fragment = getFragmentInResumedState();
+
+        assertThat(fragment.getMetricsCategory()).isEqualTo(
                 SettingsEnums.ACCESSIBILITY_TOGGLE_DALTONIZER);
     }
 
     @Test
     public void getPreferenceScreenResId_returnsCorrectXml() {
-        assertThat(mFragment.getPreferenceScreenResId()).isEqualTo(
+        ToggleDaltonizerPreferenceFragment fragment = getFragmentInResumedState();
+
+        assertThat(fragment.getPreferenceScreenResId()).isEqualTo(
                 R.xml.accessibility_daltonizer_settings);
     }
 
     @Test
     public void getHelpResource_returnsCorrectHelpResource() {
-        assertThat(mFragment.getHelpResource()).isEqualTo(R.string.help_url_color_correction);
+        ToggleDaltonizerPreferenceFragment fragment = getFragmentInResumedState();
+
+        assertThat(fragment.getHelpResource()).isEqualTo(R.string.help_url_color_correction);
     }
 
     @Test
@@ -228,55 +175,20 @@
         return shadowApplication.getLatestPopupWindow();
     }
 
-    private static class TestToggleDaltonizerPreferenceFragment extends
-            ToggleDaltonizerPreferenceFragment {
-        private static final String PLACEHOLDER_PACKAGE_NAME = "com.placeholder.example";
-        private static final String PLACEHOLDER_CLASS_NAME =
-                PLACEHOLDER_PACKAGE_NAME + ".placeholder";
-        private static final ComponentName PLACEHOLDER_COMPONENT_NAME = new ComponentName(
-                PLACEHOLDER_PACKAGE_NAME, PLACEHOLDER_CLASS_NAME);
-        private static final String PLACEHOLDER_TILE_TOOLTIP_CONTENT =
-                PLACEHOLDER_PACKAGE_NAME + "tooltip_content";
+    private ToggleDaltonizerPreferenceFragment getFragmentInResumedState() {
 
-        TestToggleDaltonizerPreferenceFragment(Context context) {
-            super();
-            mComponentName = PLACEHOLDER_COMPONENT_NAME;
-            final SettingsMainSwitchPreference switchPreference =
-                    new SettingsMainSwitchPreference(context);
-            switchPreference.setKey(KEY_USE_SERVICE_PREFERENCE);
-            mToggleServiceSwitchPreference = switchPreference;
-            setArguments(new Bundle());
-        }
+        mActivityController.create().start().resume();
+        Fragment fragment = mActivityController.get().getSupportFragmentManager().findFragmentById(
+                R.id.main_content);
 
-        @Override
-        public void onViewCreated(View view, Bundle savedInstanceState) {
-            // do nothing
-        }
+        assertThat(fragment).isNotNull();
+        assertThat(fragment).isInstanceOf(ToggleDaltonizerPreferenceFragment.class);
 
-        @Override
-        public View onCreateView(LayoutInflater inflater, ViewGroup container,
-                Bundle savedInstanceState) {
-            return mock(View.class);
-        }
+        return (ToggleDaltonizerPreferenceFragment) fragment;
+    }
 
-        @Override
-        protected void updateShortcutPreference() {
-            // UI related function, do nothing in tests
-        }
-
-        @Override
-        ComponentName getTileComponentName() {
-            return PLACEHOLDER_COMPONENT_NAME;
-        }
-
-        @Override
-        protected CharSequence getTileTooltipContent(@QuickSettingsTooltipType int type) {
-            return PLACEHOLDER_TILE_TOOLTIP_CONTENT;
-        }
-
-        @Override
-        public View getView() {
-            return mock(View.class);
-        }
+    private SettingsMainSwitchPreference getMainFeatureToggle(
+            ToggleDaltonizerPreferenceFragment fragment) {
+        return fragment.findPreference(KEY_USE_SERVICE_PREFERENCE);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
index af94723..71855e0 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
@@ -16,7 +16,9 @@
 
 package com.android.settings.accessibility;
 
-import static com.android.settings.accessibility.ToggleFeaturePreferenceFragment.KEY_SAVED_USER_SHORTCUT_TYPE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -32,7 +34,6 @@
 import android.content.ComponentName;
 import android.content.ContentResolver;
 import android.content.Context;
-import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.icu.text.CaseMap;
@@ -44,10 +45,8 @@
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
-import android.widget.CheckBox;
 import android.widget.PopupWindow;
 
-import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.FragmentActivity;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceManager;
@@ -55,9 +54,7 @@
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
-import com.android.settings.accessibility.AccessibilityDialogUtils.DialogType;
 import com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType;
-import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
 import com.android.settings.flags.Flags;
 import com.android.settings.testutils.shadow.ShadowFragment;
 import com.android.settingslib.widget.TopIntroPreference;
@@ -76,7 +73,6 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.shadow.api.Shadow;
 import org.robolectric.shadows.ShadowApplication;
-import org.robolectric.shadows.ShadowLooper;
 
 import java.util.Locale;
 
@@ -204,7 +200,7 @@
         final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
                 mFragment.mComponentName.flattenToString());
         // Compare to default UserShortcutType
-        assertThat(expectedType).isEqualTo(UserShortcutType.SOFTWARE);
+        assertThat(expectedType).isEqualTo(SOFTWARE);
     }
 
     @Test
@@ -219,104 +215,21 @@
 
         final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
                 mFragment.mComponentName.flattenToString());
-        assertThat(expectedType).isEqualTo(UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE);
+        assertThat(expectedType).isEqualTo(SOFTWARE | HARDWARE);
     }
 
     @Test
     public void updateShortcutPreferenceData_hasValueInSharedPreference_assignToVariable() {
         mFragment.mComponentName = PLACEHOLDER_COMPONENT_NAME;
         final PreferredShortcut hardwareShortcut = new PreferredShortcut(
-                PLACEHOLDER_COMPONENT_NAME.flattenToString(), UserShortcutType.HARDWARE);
+                PLACEHOLDER_COMPONENT_NAME.flattenToString(), HARDWARE);
 
         putUserShortcutTypeIntoSharedPreference(mContext, hardwareShortcut);
         mFragment.updateShortcutPreferenceData();
 
         final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
                 mFragment.mComponentName.flattenToString());
-        assertThat(expectedType).isEqualTo(UserShortcutType.HARDWARE);
-    }
-
-    @Test
-    public void dialogCheckboxClicked_hardwareType_skipTimeoutRestriction() {
-        final ShortcutPreference shortcutPreference = new ShortcutPreference(mContext, /* attrs= */
-                null);
-        mFragment.mComponentName = PLACEHOLDER_COMPONENT_NAME;
-        mFragment.mShortcutPreference = shortcutPreference;
-        final AlertDialog dialog = AccessibilityDialogUtils.showEditShortcutDialog(
-                mContext, DialogType.EDIT_SHORTCUT_GENERIC, PLACEHOLDER_DIALOG_TITLE,
-                mFragment::callOnAlertDialogCheckboxClicked);
-        mFragment.setupEditShortcutDialog(dialog);
-
-        final View dialogHardwareView = dialog.findViewById(R.id.hardware_shortcut);
-        final CheckBox hardwareTypeCheckBox = dialogHardwareView.findViewById(R.id.checkbox);
-        hardwareTypeCheckBox.setChecked(true);
-        dialog.getButton(DialogInterface.BUTTON_POSITIVE).callOnClick();
-        ShadowLooper.idleMainLooper();
-        final boolean skipTimeoutRestriction = Settings.Secure.getInt(mContext.getContentResolver(),
-                Settings.Secure.SKIP_ACCESSIBILITY_SHORTCUT_DIALOG_TIMEOUT_RESTRICTION, 0) != 0;
-
-        assertThat(skipTimeoutRestriction).isTrue();
-    }
-
-    @Test
-    public void setupEditShortcutDialog_shortcutPreferenceOff_checkboxIsEmptyValue() {
-        final AlertDialog dialog = AccessibilityDialogUtils.showEditShortcutDialog(
-                mContext, DialogType.EDIT_SHORTCUT_GENERIC, PLACEHOLDER_DIALOG_TITLE,
-                this::callEmptyOnClicked);
-        final ShortcutPreference shortcutPreference = new ShortcutPreference(mContext, /* attrs= */
-                null);
-        mFragment.mComponentName = PLACEHOLDER_COMPONENT_NAME;
-        mFragment.mShortcutPreference = shortcutPreference;
-
-        mFragment.mShortcutPreference.setChecked(false);
-        mFragment.setupEditShortcutDialog(dialog);
-
-        final int checkboxValue = mFragment.getShortcutTypeCheckBoxValue();
-        assertThat(checkboxValue).isEqualTo(UserShortcutType.EMPTY);
-    }
-
-    @Test
-    public void setupEditShortcutDialog_shortcutPreferenceOn_checkboxIsSavedValue() {
-        final AlertDialog dialog = AccessibilityDialogUtils.showEditShortcutDialog(
-                mContext, DialogType.EDIT_SHORTCUT_GENERIC, PLACEHOLDER_DIALOG_TITLE,
-                this::callEmptyOnClicked);
-        final ShortcutPreference shortcutPreference = new ShortcutPreference(mContext, /* attrs= */
-                null);
-        final PreferredShortcut hardwareShortcut = new PreferredShortcut(
-                PLACEHOLDER_COMPONENT_NAME.flattenToString(), UserShortcutType.HARDWARE);
-        mFragment.mComponentName = PLACEHOLDER_COMPONENT_NAME;
-        mFragment.mShortcutPreference = shortcutPreference;
-
-        PreferredShortcuts.saveUserShortcutType(mContext, hardwareShortcut);
-        mFragment.mShortcutPreference.setChecked(true);
-        mFragment.setupEditShortcutDialog(dialog);
-
-        final int checkboxValue = mFragment.getShortcutTypeCheckBoxValue();
-        assertThat(checkboxValue).isEqualTo(UserShortcutType.HARDWARE);
-    }
-
-    @Test
-    @Config(shadows = ShadowFragment.class)
-    public void restoreValueFromSavedInstanceState_assignShortcutTypeToVariable() {
-        final AlertDialog dialog = AccessibilityDialogUtils.showEditShortcutDialog(
-                mContext, DialogType.EDIT_SHORTCUT_GENERIC, PLACEHOLDER_DIALOG_TITLE,
-                this::callEmptyOnClicked);
-        final Bundle savedInstanceState = new Bundle();
-        final ShortcutPreference shortcutPreference = new ShortcutPreference(mContext, /* attrs= */
-                null);
-        mFragment.mComponentName = PLACEHOLDER_COMPONENT_NAME;
-        mFragment.mShortcutPreference = shortcutPreference;
-
-        savedInstanceState.putInt(KEY_SAVED_USER_SHORTCUT_TYPE,
-                UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE);
-        mFragment.onCreate(savedInstanceState);
-        mFragment.setupEditShortcutDialog(dialog);
-        final int value = mFragment.getShortcutTypeCheckBoxValue();
-        mFragment.saveNonEmptyUserShortcutType(value);
-
-        final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
-                mFragment.mComponentName.flattenToString());
-        assertThat(expectedType).isEqualTo(UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE);
+        assertThat(expectedType).isEqualTo(HARDWARE);
     }
 
     @Test
@@ -470,7 +383,7 @@
     public void getShortcutTypeSummary_shortcutSummaryIsCorrectlySet() {
         final PreferredShortcut userPreferredShortcut = new PreferredShortcut(
                 PLACEHOLDER_COMPONENT_NAME.flattenToString(),
-                UserShortcutType.HARDWARE | UserShortcutType.QUICK_SETTINGS);
+                HARDWARE | QUICK_SETTINGS);
         putUserShortcutTypeIntoSharedPreference(mContext, userPreferredShortcut);
         final ShortcutPreference shortcutPreference =
                 new ShortcutPreference(mContext, /* attrs= */ null);
@@ -502,9 +415,6 @@
             PreferredShortcut shortcut) {
         PreferredShortcuts.saveUserShortcutType(context, shortcut);
     }
-
-    private void callEmptyOnClicked(DialogInterface dialog, int which) {}
-
     private static PopupWindow getLatestPopupWindow() {
         final ShadowApplication shadowApplication =
                 Shadow.extract(ApplicationProvider.getApplicationContext());
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java
index ab2e9d1..038672f 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java
@@ -16,14 +16,18 @@
 
 package com.android.settings.accessibility;
 
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.TRIPLETAP;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.TWOFINGER_DOUBLETAP;
 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.android.settings.accessibility.MagnificationCapabilities.MagnificationMode;
-import static com.android.settings.accessibility.ToggleFeaturePreferenceFragment.KEY_SAVED_USER_SHORTCUT_TYPE;
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
@@ -36,7 +40,6 @@
 import android.app.settings.SettingsEnums;
 import android.content.ComponentName;
 import android.content.Context;
-import android.content.DialogInterface;
 import android.content.pm.PackageManager;
 import android.content.res.Resources;
 import android.database.ContentObserver;
@@ -50,17 +53,18 @@
 import android.provider.DeviceConfig;
 import android.provider.Settings;
 import android.view.accessibility.AccessibilityManager;
+import android.view.accessibility.AccessibilityNodeInfo;
 
-import androidx.appcompat.app.AlertDialog;
+import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
 import androidx.preference.Preference;
 import androidx.preference.TwoStatePreference;
+import androidx.recyclerview.widget.RecyclerView;
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.server.accessibility.Flags;
 import com.android.settings.DialogCreatable;
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
-import com.android.settings.accessibility.AccessibilityDialogUtils.DialogType;
 import com.android.settings.testutils.AccessibilityTestUtils;
 import com.android.settings.testutils.shadow.ShadowDeviceConfig;
 import com.android.settings.testutils.shadow.ShadowStorageManager;
@@ -394,11 +398,45 @@
     }
 
     @Test
+    @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_ONE_FINGER_PANNING_GESTURE)
+    public void onResume_oneFingerPanningFlagOn_registerToSpecificUri() {
+        ShadowContentResolver shadowContentResolver = Shadows.shadowOf(
+                mContext.getContentResolver());
+        Uri observedUri = Settings.Secure.getUriFor(
+                Settings.Secure.ACCESSIBILITY_SINGLE_FINGER_PANNING_ENABLED);
+        // verify no one finger panning settings observer registered before launching the fragment
+        assertThat(shadowContentResolver.getContentObservers(observedUri)).isEmpty();
+
+        mFragController.create(R.id.main_content, /* bundle= */ null).start().resume();
+
+        Collection<ContentObserver> observers =
+                shadowContentResolver.getContentObservers(observedUri);
+        assertThat(observers.size()).isEqualTo(1);
+        assertThat(observers.stream().findFirst().get()).isInstanceOf(
+                AccessibilitySettingsContentObserver.class);
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_ONE_FINGER_PANNING_GESTURE)
+    public void onResume_oneFingerPanningFlagOff_notRegisterToSpecificUri() {
+        ShadowContentResolver shadowContentResolver = Shadows.shadowOf(
+                mContext.getContentResolver());
+        Uri observedUri = Settings.Secure.getUriFor(
+                Settings.Secure.ACCESSIBILITY_SINGLE_FINGER_PANNING_ENABLED);
+        // verify no one finger panning settings observer registered before launching the fragment
+        assertThat(shadowContentResolver.getContentObservers(observedUri)).isEmpty();
+
+        mFragController.create(R.id.main_content, /* bundle= */ null).start().resume();
+        // verify no one finger panning settings observer registered after launching the fragment
+        assertThat(shadowContentResolver.getContentObservers(observedUri)).isEmpty();
+    }
+
+    @Test
     public void hasValueInSettings_putValue_hasValue() {
         setMagnificationTripleTapEnabled(/* enabled= */ true);
 
         assertThat(ToggleScreenMagnificationPreferenceFragment.hasMagnificationValuesInSettings(
-                mContext, UserShortcutType.TRIPLETAP)).isTrue();
+                mContext, TRIPLETAP)).isTrue();
     }
 
     @Test
@@ -408,7 +446,7 @@
                 mContext.getContentResolver(), TWO_FINGER_TRIPLE_TAP_SHORTCUT_KEY, ON);
 
         assertThat(ToggleScreenMagnificationPreferenceFragment.hasMagnificationValuesInSettings(
-                mContext, UserShortcutType.TWOFINGER_DOUBLETAP)).isTrue();
+                mContext, TWOFINGER_DOUBLETAP)).isTrue();
     }
 
     @Test
@@ -418,13 +456,13 @@
                 mContext.getContentResolver(), TWO_FINGER_TRIPLE_TAP_SHORTCUT_KEY, OFF);
 
         assertThat(ToggleScreenMagnificationPreferenceFragment.hasMagnificationValuesInSettings(
-                mContext, UserShortcutType.TWOFINGER_DOUBLETAP)).isFalse();
+                mContext, TWOFINGER_DOUBLETAP)).isFalse();
     }
 
     @Test
     @DisableFlags(android.view.accessibility.Flags.FLAG_A11Y_QS_SHORTCUT)
     public void optInAllValuesToSettings_optInValue_haveMatchString() {
-        int shortcutTypes = UserShortcutType.SOFTWARE | UserShortcutType.TRIPLETAP;
+        int shortcutTypes = SOFTWARE | TRIPLETAP;
 
         ToggleScreenMagnificationPreferenceFragment.optInAllMagnificationValuesToSettings(mContext,
                 shortcutTypes);
@@ -438,24 +476,24 @@
     @EnableFlags(android.view.accessibility.Flags.FLAG_A11Y_QS_SHORTCUT)
     public void optInAllValuesToSettings_optInValue_callA11yManager() {
         int shortcutTypes =
-                UserShortcutType.SOFTWARE | UserShortcutType.TRIPLETAP | UserShortcutType.HARDWARE
-                        | UserShortcutType.QUICK_SETTINGS;
+                SOFTWARE | TRIPLETAP | HARDWARE
+                        | QUICK_SETTINGS;
         Set<String> shortcutTargets = Set.of(MAGNIFICATION_CONTROLLER_NAME);
 
         ToggleScreenMagnificationPreferenceFragment.optInAllMagnificationValuesToSettings(mContext,
                 shortcutTypes);
 
         verify(mAccessibilityManager).enableShortcutsForTargets(
-                /* enable= */ true, UserShortcutType.SOFTWARE,
+                /* enable= */ true, SOFTWARE,
                 shortcutTargets, UserHandle.myUserId());
         verify(mAccessibilityManager).enableShortcutsForTargets(
-                /* enable= */ true, UserShortcutType.HARDWARE,
+                /* enable= */ true, HARDWARE,
                 shortcutTargets, UserHandle.myUserId());
         verify(mAccessibilityManager).enableShortcutsForTargets(
-                /* enable= */ true, UserShortcutType.QUICK_SETTINGS,
+                /* enable= */ true, QUICK_SETTINGS,
                 shortcutTargets, UserHandle.myUserId());
         verify(mAccessibilityManager).enableShortcutsForTargets(
-                /* enable= */ true, UserShortcutType.TRIPLETAP,
+                /* enable= */ true, TRIPLETAP,
                 shortcutTargets, UserHandle.myUserId());
         verifyNoMoreInteractions(mAccessibilityManager);
     }
@@ -464,7 +502,7 @@
     @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
     @DisableFlags(android.view.accessibility.Flags.FLAG_A11Y_QS_SHORTCUT)
     public void optInAllValuesToSettings_twoFingerTripleTap_haveMatchString() {
-        int shortcutTypes = UserShortcutType.TWOFINGER_DOUBLETAP;
+        int shortcutTypes = TWOFINGER_DOUBLETAP;
 
         ToggleScreenMagnificationPreferenceFragment.optInAllMagnificationValuesToSettings(mContext,
                 shortcutTypes);
@@ -479,7 +517,7 @@
         putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, PLACEHOLDER_COMPONENT_NAME.flattenToString());
 
         ToggleScreenMagnificationPreferenceFragment.optInAllMagnificationValuesToSettings(mContext,
-                UserShortcutType.SOFTWARE);
+                SOFTWARE);
 
         assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEqualTo(
                 PLACEHOLDER_COMPONENT_NAME.flattenToString() + ":" + MAGNIFICATION_CONTROLLER_NAME);
@@ -491,7 +529,7 @@
         ShadowSettings.ShadowSecure.reset();
 
         ToggleScreenMagnificationPreferenceFragment.optInAllMagnificationValuesToSettings(mContext,
-                UserShortcutType.SOFTWARE);
+                SOFTWARE);
 
         assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
                 Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE,
@@ -508,7 +546,7 @@
 
             ToggleScreenMagnificationPreferenceFragment.optInAllMagnificationValuesToSettings(
                     mContext,
-                    UserShortcutType.SOFTWARE);
+                    SOFTWARE);
 
             assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
                     Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE,
@@ -527,7 +565,7 @@
 
             ToggleScreenMagnificationPreferenceFragment.optInAllMagnificationValuesToSettings(
                     mContext,
-                    UserShortcutType.HARDWARE);
+                    HARDWARE);
 
             assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
                     Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE, size + 1)).isEqualTo(
@@ -545,7 +583,7 @@
 
             ToggleScreenMagnificationPreferenceFragment.optInAllMagnificationValuesToSettings(
                     mContext,
-                    UserShortcutType.TRIPLETAP);
+                    TRIPLETAP);
 
             assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
                     Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE, size + 1)).isEqualTo(
@@ -560,7 +598,7 @@
         putStringIntoSettings(HARDWARE_SHORTCUT_KEY, MAGNIFICATION_CONTROLLER_NAME);
         setMagnificationTripleTapEnabled(/* enabled= */ true);
         int shortcutTypes =
-                UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE | UserShortcutType.TRIPLETAP;
+                SOFTWARE | HARDWARE | TRIPLETAP;
 
         ToggleScreenMagnificationPreferenceFragment.optOutAllMagnificationValuesFromSettings(
                 mContext, shortcutTypes);
@@ -578,19 +616,19 @@
         putStringIntoSettings(HARDWARE_SHORTCUT_KEY, MAGNIFICATION_CONTROLLER_NAME);
         setMagnificationTripleTapEnabled(/* enabled= */ true);
         int shortcutTypes =
-                UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE | UserShortcutType.TRIPLETAP;
+                SOFTWARE | HARDWARE | TRIPLETAP;
 
         ToggleScreenMagnificationPreferenceFragment.optOutAllMagnificationValuesFromSettings(
                 mContext, shortcutTypes);
 
         verify(mAccessibilityManager).enableShortcutsForTargets(
-                /* enable= */ false, UserShortcutType.SOFTWARE,
+                /* enable= */ false, SOFTWARE,
                 shortcutTargets, UserHandle.myUserId());
         verify(mAccessibilityManager).enableShortcutsForTargets(
-                /* enable= */ false, UserShortcutType.HARDWARE,
+                /* enable= */ false, HARDWARE,
                 shortcutTargets, UserHandle.myUserId());
         verify(mAccessibilityManager).enableShortcutsForTargets(
-                /* enable= */ false, UserShortcutType.TRIPLETAP,
+                /* enable= */ false, TRIPLETAP,
                 shortcutTargets, UserHandle.myUserId());
         verifyNoMoreInteractions(mAccessibilityManager);
     }
@@ -603,7 +641,7 @@
                 TWO_FINGER_TRIPLE_TAP_SHORTCUT_KEY, ON);
 
         ToggleScreenMagnificationPreferenceFragment.optOutAllMagnificationValuesFromSettings(
-                mContext, UserShortcutType.TWOFINGER_DOUBLETAP);
+                mContext, TWOFINGER_DOUBLETAP);
 
         assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
                 TWO_FINGER_TRIPLE_TAP_SHORTCUT_KEY, ON)).isEqualTo(OFF);
@@ -616,7 +654,7 @@
                 PLACEHOLDER_COMPONENT_NAME.flattenToString() + ":" + MAGNIFICATION_CONTROLLER_NAME);
         putStringIntoSettings(HARDWARE_SHORTCUT_KEY,
                 PLACEHOLDER_COMPONENT_NAME.flattenToString() + ":" + MAGNIFICATION_CONTROLLER_NAME);
-        int shortcutTypes = UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE;
+        int shortcutTypes = SOFTWARE | HARDWARE;
 
         ToggleScreenMagnificationPreferenceFragment.optOutAllMagnificationValuesFromSettings(
                 mContext, shortcutTypes);
@@ -636,7 +674,7 @@
         final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
                 MAGNIFICATION_CONTROLLER_NAME);
         // Compare to default UserShortcutType
-        assertThat(expectedType).isEqualTo(UserShortcutType.SOFTWARE);
+        assertThat(expectedType).isEqualTo(SOFTWARE);
     }
 
     @Test
@@ -649,13 +687,13 @@
 
         final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
                 MAGNIFICATION_CONTROLLER_NAME);
-        assertThat(expectedType).isEqualTo(UserShortcutType.SOFTWARE | UserShortcutType.TRIPLETAP);
+        assertThat(expectedType).isEqualTo(SOFTWARE | TRIPLETAP);
     }
 
     @Test
     public void updateShortcutPreferenceData_hasValueInSharedPreference_assignToVariable() {
         final PreferredShortcut tripleTapShortcut = new PreferredShortcut(
-                MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.TRIPLETAP);
+                MAGNIFICATION_CONTROLLER_NAME, TRIPLETAP);
         putUserShortcutTypeIntoSharedPreference(mContext, tripleTapShortcut);
         mFragController.create(R.id.main_content, /* bundle= */ null).start().resume();
 
@@ -663,7 +701,7 @@
 
         final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
                 MAGNIFICATION_CONTROLLER_NAME);
-        assertThat(expectedType).isEqualTo(UserShortcutType.TRIPLETAP);
+        assertThat(expectedType).isEqualTo(TRIPLETAP);
     }
 
     @Test
@@ -677,14 +715,14 @@
 
         final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
                 MAGNIFICATION_CONTROLLER_NAME);
-        assertThat(expectedType).isEqualTo(UserShortcutType.TWOFINGER_DOUBLETAP);
+        assertThat(expectedType).isEqualTo(TWOFINGER_DOUBLETAP);
     }
 
     @Test
     @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
     public void updateShortcutPreferenceData_hasTwoFingerTripleTapInSharedPref_assignToVariable() {
         final PreferredShortcut tripleTapShortcut = new PreferredShortcut(
-                MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.TWOFINGER_DOUBLETAP);
+                MAGNIFICATION_CONTROLLER_NAME, TWOFINGER_DOUBLETAP);
         putUserShortcutTypeIntoSharedPreference(mContext, tripleTapShortcut);
         mFragController.create(R.id.main_content, /* bundle= */ null).start().resume();
 
@@ -692,106 +730,7 @@
 
         final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
                 MAGNIFICATION_CONTROLLER_NAME);
-        assertThat(expectedType).isEqualTo(UserShortcutType.TWOFINGER_DOUBLETAP);
-    }
-
-    @Test
-    public void setupMagnificationEditShortcutDialog_shortcutPreferenceOff_checkboxIsEmptyValue() {
-        ToggleScreenMagnificationPreferenceFragment fragment =
-                mFragController.create(R.id.main_content, /* bundle= */
-                        null).start().resume().get();
-        fragment.mShortcutPreference = new ShortcutPreference(mContext, /* attrs= */ null);
-
-        fragment.mShortcutPreference.setChecked(false);
-        fragment.setupMagnificationEditShortcutDialog(
-                createEditShortcutDialog(fragment.getActivity()));
-
-        final int checkboxValue = fragment.getShortcutTypeCheckBoxValue();
-        assertThat(checkboxValue).isEqualTo(UserShortcutType.EMPTY);
-    }
-
-    @Test
-    public void setupMagnificationEditShortcutDialog_shortcutPreferenceOn_checkboxIsSavedValue() {
-        ToggleScreenMagnificationPreferenceFragment fragment =
-                mFragController.create(R.id.main_content, /* bundle= */
-                        null).start().resume().get();
-        final ShortcutPreference shortcutPreference = new ShortcutPreference(mContext, /* attrs= */
-                null);
-        final PreferredShortcut tripletapShortcut = new PreferredShortcut(
-                MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.TRIPLETAP);
-        fragment.mShortcutPreference = shortcutPreference;
-
-        PreferredShortcuts.saveUserShortcutType(mContext, tripletapShortcut);
-        fragment.mShortcutPreference.setChecked(true);
-        fragment.setupMagnificationEditShortcutDialog(
-                createEditShortcutDialog(fragment.getActivity()));
-
-        final int checkboxValue = fragment.getShortcutTypeCheckBoxValue();
-        assertThat(checkboxValue).isEqualTo(UserShortcutType.TRIPLETAP);
-    }
-
-    @Test
-    @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
-    public void setupMagnificationEditShortcutDialog_twoFingerTripleTapOn_checkboxIsSavedValue() {
-        ToggleScreenMagnificationPreferenceFragment fragment =
-                mFragController.create(R.id.main_content, /* bundle= */
-                        null).start().resume().get();
-        final ShortcutPreference shortcutPreference = new ShortcutPreference(mContext, /* attrs= */
-                null);
-        final PreferredShortcut twoFingerTripleTapShortcut = new PreferredShortcut(
-                MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.TWOFINGER_DOUBLETAP);
-        fragment.mShortcutPreference = shortcutPreference;
-
-        PreferredShortcuts.saveUserShortcutType(mContext, twoFingerTripleTapShortcut);
-        fragment.mShortcutPreference.setChecked(true);
-        fragment.setupMagnificationEditShortcutDialog(
-                createEditShortcutDialog(fragment.getActivity()));
-
-        final int checkboxValue = fragment.getShortcutTypeCheckBoxValue();
-        assertThat(checkboxValue).isEqualTo(UserShortcutType.TWOFINGER_DOUBLETAP);
-    }
-
-    @Test
-    public void restoreValueFromSavedInstanceState_assignToVariable() {
-        final Bundle fragmentState = createFragmentSavedInstanceState(
-                UserShortcutType.HARDWARE | UserShortcutType.TRIPLETAP);
-        ToggleScreenMagnificationPreferenceFragment fragment = mFragController.get();
-        // Had to use reflection to pass the savedInstanceState when launching the fragment
-        ReflectionHelpers.setField(fragment, "mSavedFragmentState", fragmentState);
-
-        FragmentController.of(fragment, SettingsActivity.class).create(
-                R.id.main_content, /* bundle= */ null).start().resume().get();
-        fragment.setupMagnificationEditShortcutDialog(
-                createEditShortcutDialog(fragment.getActivity()));
-        final int value = fragment.getShortcutTypeCheckBoxValue();
-        fragment.saveNonEmptyUserShortcutType(value);
-
-        final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
-                MAGNIFICATION_CONTROLLER_NAME);
-        assertThat(value).isEqualTo(6);
-        assertThat(expectedType).isEqualTo(UserShortcutType.HARDWARE | UserShortcutType.TRIPLETAP);
-    }
-
-    @Test
-    @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
-    public void restoreValueFromSavedInstanceState_twoFingerTripleTap_assignToVariable() {
-        final Bundle fragmentState =
-                createFragmentSavedInstanceState(UserShortcutType.TWOFINGER_DOUBLETAP);
-        ToggleScreenMagnificationPreferenceFragment fragment = mFragController.get();
-        // Had to use reflection to pass the savedInstanceState when launching the fragment
-        ReflectionHelpers.setField(fragment, "mSavedFragmentState", fragmentState);
-
-        FragmentController.of(fragment, SettingsActivity.class).create(
-                R.id.main_content, /* bundle= */ null).start().resume().get();
-        fragment.setupMagnificationEditShortcutDialog(
-                createEditShortcutDialog(fragment.getActivity()));
-        final int value = fragment.getShortcutTypeCheckBoxValue();
-        fragment.saveNonEmptyUserShortcutType(value);
-
-        final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
-                MAGNIFICATION_CONTROLLER_NAME);
-        assertThat(value).isEqualTo(UserShortcutType.TWOFINGER_DOUBLETAP);
-        assertThat(expectedType).isEqualTo(UserShortcutType.TWOFINGER_DOUBLETAP);
+        assertThat(expectedType).isEqualTo(TWOFINGER_DOUBLETAP);
     }
 
     @Test
@@ -934,7 +873,9 @@
     }
 
     @Test
-    public void onProcessArguments_defaultArgumentUnavailable_shouldSetDefaultArguments() {
+    @DisableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_ONE_FINGER_PANNING_GESTURE)
+    public void
+            onProcessArguments_defaultArgumentUnavailableAndFlagOff_shouldSetDefaultArguments() {
         ToggleScreenMagnificationPreferenceFragment fragment =
                 mFragController.create(
                         R.id.main_content, /* bundle= */ null).start().resume().get();
@@ -948,13 +889,41 @@
     }
 
     @Test
+    @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_ONE_FINGER_PANNING_GESTURE)
+    public void
+            onProcessArguments_defaultArgumentUnavailableAndFlagOn_shouldSetDefaultArguments() {
+        ToggleScreenMagnificationPreferenceFragment fragment =
+                mFragController.create(
+                        R.id.main_content, /* bundle= */ null).start().resume().get();
+        Bundle arguments = new Bundle();
+
+        fragment.onProcessArguments(arguments);
+
+        assertTrue(arguments.containsKey(AccessibilitySettings.EXTRA_PREFERENCE_KEY));
+        assertTrue(arguments.containsKey(AccessibilitySettings.EXTRA_INTRO));
+        // If OneFingerPanning flag is on, the EXTRA_HTML_DESCRIPTION should not be set. The html
+        // description would be decided dynamically based on the OneFingerPanning preference state.
+        assertFalse(arguments.containsKey(AccessibilitySettings.EXTRA_HTML_DESCRIPTION));
+    }
+
+    @Test
+    public void getCurrentHtmlDescription_shouldNotBeEmpty() {
+        ToggleScreenMagnificationPreferenceFragment fragment =
+                mFragController.create(
+                        R.id.main_content, /* bundle= */ null).start().resume().get();
+        assertThat(fragment.getCurrentHtmlDescription().toString()).isNotEmpty();
+    }
+
+    @Test
     public void getSummary_magnificationEnabled_returnShortcutOnWithSummary() {
         setMagnificationTripleTapEnabled(true);
 
         assertThat(
                 ToggleScreenMagnificationPreferenceFragment.getServiceSummary(mContext).toString())
                 .isEqualTo(
-                        mContext.getString(R.string.preference_summary_default_combination,
+                        mContext.getString(
+                                com.android.settingslib.R.string
+                                        .preference_summary_default_combination,
                                 mContext.getText(R.string.accessibility_summary_shortcut_enabled),
                                 mContext.getText(R.string.magnification_feature_summary)));
     }
@@ -966,7 +935,9 @@
         assertThat(
                 ToggleScreenMagnificationPreferenceFragment.getServiceSummary(mContext).toString())
                 .isEqualTo(
-                        mContext.getString(R.string.preference_summary_default_combination,
+                        mContext.getString(
+                                com.android.settingslib.R.string
+                                        .preference_summary_default_combination,
                                 mContext.getText(
                                         R.string.generic_accessibility_feature_shortcut_off),
                                 mContext.getText(R.string.magnification_feature_summary)));
@@ -981,7 +952,9 @@
         assertThat(
                 ToggleScreenMagnificationPreferenceFragment.getServiceSummary(mContext).toString())
                 .isEqualTo(
-                        mContext.getString(R.string.preference_summary_default_combination,
+                        mContext.getString(
+                                com.android.settingslib.R.string
+                                        .preference_summary_default_combination,
                                 mContext.getText(R.string.accessibility_summary_shortcut_enabled),
                                 mContext.getText(R.string.magnification_feature_summary)));
     }
@@ -995,7 +968,9 @@
         assertThat(
                 ToggleScreenMagnificationPreferenceFragment.getServiceSummary(mContext).toString())
                 .isEqualTo(
-                        mContext.getString(R.string.preference_summary_default_combination,
+                        mContext.getString(
+                                com.android.settingslib.R.string
+                                        .preference_summary_default_combination,
                                 mContext.getText(
                                         R.string.generic_accessibility_feature_shortcut_off),
                                 mContext.getText(R.string.magnification_feature_summary)));
@@ -1006,7 +981,7 @@
     public void getShortcutTypeSummary_shortcutSummaryIsCorrectlySet() {
         final PreferredShortcut userPreferredShortcut = new PreferredShortcut(
                 MAGNIFICATION_CONTROLLER_NAME,
-                UserShortcutType.HARDWARE | UserShortcutType.QUICK_SETTINGS);
+                HARDWARE | QUICK_SETTINGS);
         putUserShortcutTypeIntoSharedPreference(mContext, userPreferredShortcut);
         final ShortcutPreference shortcutPreference =
                 new ShortcutPreference(mContext, /* attrs= */ null);
@@ -1028,6 +1003,28 @@
         assertThat(summary).isEqualTo(expected);
     }
 
+    @Test
+    @EnableFlags(
+            com.android.settings.accessibility.Flags.FLAG_TOGGLE_FEATURE_FRAGMENT_COLLECTION_INFO)
+    public void fragmentRecyclerView_getCollectionInfo_hasCorrectCounts() {
+        ToggleScreenMagnificationPreferenceFragment fragment =
+                mFragController.create(R.id.main_content, /* bundle= */
+                        null).start().resume().get();
+        RecyclerView rv = fragment.getListView();
+
+        AccessibilityNodeInfoCompat node = AccessibilityNodeInfoCompat.obtain();
+        rv.getCompatAccessibilityDelegate().onInitializeAccessibilityNodeInfo(rv, node);
+        AccessibilityNodeInfo.CollectionInfo collectionInfo = node.unwrap().getCollectionInfo();
+
+        // Asserting against specific item counts will be brittle to changes to the preferences
+        // included on this page, so instead just check some properties of these counts.
+        assertThat(collectionInfo.getColumnCount()).isEqualTo(1);
+        assertThat(collectionInfo.getRowCount()).isEqualTo(collectionInfo.getItemCount());
+        assertThat(collectionInfo.getItemCount())
+                // One unimportant item: the illustration preference
+                .isEqualTo(collectionInfo.getImportantForAccessibilityItemCount() + 1);
+    }
+
     private void putStringIntoSettings(String key, String componentName) {
         Settings.Secure.putString(mContext.getContentResolver(), key, componentName);
     }
@@ -1091,9 +1088,6 @@
                 == ON;
     }
 
-    private void callEmptyOnClicked(DialogInterface dialog, int which) {
-    }
-
     private void setWindowMagnificationSupported(boolean magnificationAreaSupported,
             boolean windowMagnificationSupported) {
         when(mSpyResources.getBoolean(
@@ -1103,24 +1097,6 @@
                 windowMagnificationSupported);
     }
 
-    private AlertDialog createEditShortcutDialog(Context context) {
-        context.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
-        return AccessibilityDialogUtils.showEditShortcutDialog(
-                context,
-                DialogType.EDIT_SHORTCUT_MAGNIFICATION, PLACEHOLDER_DIALOG_TITLE,
-                this::callEmptyOnClicked);
-    }
-
-    private Bundle createFragmentSavedInstanceState(int userShortcutType) {
-        final Bundle savedInstanceState = new Bundle();
-        savedInstanceState.putInt(KEY_SAVED_USER_SHORTCUT_TYPE, userShortcutType);
-        final Bundle fragmentState = new Bundle();
-        fragmentState.putBundle(
-                /* FragmentStateManager.SAVED_INSTANCE_STATE_KEY */ "savedInstanceState",
-                savedInstanceState);
-        return fragmentState;
-    }
-
     /**
      * A test fragment that provides a way to change the context
      */
diff --git a/tests/robotests/src/com/android/settings/accessibility/shortcuts/FloatingButtonShortcutOptionControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/shortcuts/FloatingButtonShortcutOptionControllerTest.java
index 20f5d5d..0952b09 100644
--- a/tests/robotests/src/com/android/settings/accessibility/shortcuts/FloatingButtonShortcutOptionControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/shortcuts/FloatingButtonShortcutOptionControllerTest.java
@@ -16,37 +16,46 @@
 
 package com.android.settings.accessibility.shortcuts;
 
-import static android.provider.Settings.Secure.ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU;
-import static android.provider.Settings.Secure.ACCESSIBILITY_BUTTON_MODE_GESTURE;
-
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.Mockito.spy;
+
 import android.content.ComponentName;
 import android.content.Context;
-import android.provider.Settings;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.provider.Flags;
 
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
+import com.android.settings.testutils.AccessibilityTestUtils;
+import com.android.settings.testutils.shadow.SettingsShadowResources;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 
 import java.util.Set;
 
 /**
  * Tests for {@link FloatingButtonShortcutOptionController}
  */
+@Config(shadows = SettingsShadowResources.class)
 @RunWith(RobolectricTestRunner.class)
 public class FloatingButtonShortcutOptionControllerTest {
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
     private static final String PREF_KEY = "prefKey";
     private static final String TARGET =
             new ComponentName("FakePackage", "FakeClass").flattenToString();
-    private final Context mContext = ApplicationProvider.getApplicationContext();
+    private final Context mContext = spy(ApplicationProvider.getApplicationContext());
     private FloatingButtonShortcutOptionController mController;
     private ShortcutOptionPreference mShortcutOptionPreference;
 
@@ -61,7 +70,6 @@
         mShortcutOptionPreference.setKey(PREF_KEY);
         mPreferenceScreen = new PreferenceManager(mContext).createPreferenceScreen(mContext);
         mPreferenceScreen.addPreference(mShortcutOptionPreference);
-        setFloatingButtonEnabled(true);
     }
 
     @Test
@@ -95,23 +103,26 @@
 
     @Test
     public void isShortcutAvailable_floatingMenuEnabled_returnTrue() {
-        setFloatingButtonEnabled(true);
+        AccessibilityTestUtils.setSoftwareShortcutMode(
+                mContext, /* gestureNavEnabled= */ false, /* floatingButtonEnabled= */ true);
 
         assertThat(mController.isShortcutAvailable()).isTrue();
     }
 
     @Test
     public void isShortcutAvailable_floatingMenuDisabled_returnFalse() {
-        setFloatingButtonEnabled(false);
+        AccessibilityTestUtils.setSoftwareShortcutMode(
+                mContext, /* gestureNavEnabled= */ false, /* floatingButtonEnabled= */ false);
 
         assertThat(mController.isShortcutAvailable()).isFalse();
     }
 
-    private void setFloatingButtonEnabled(boolean enable) {
-        int mode = enable
-                ? ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU : ACCESSIBILITY_BUTTON_MODE_GESTURE;
+    @Test
+    @EnableFlags(Flags.FLAG_A11Y_STANDALONE_GESTURE_ENABLED)
+    public void isShortcutAvailable_gestureNavigationMode_returnsTrue() {
+        AccessibilityTestUtils.setSoftwareShortcutMode(
+                mContext, /* gestureNavEnabled= */ true, /* floatingButtonEnabled= */ false);
 
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_BUTTON_MODE, mode);
+        assertThat(mController.isShortcutAvailable()).isTrue();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/shortcuts/GestureShortcutOptionControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/shortcuts/GestureShortcutOptionControllerTest.java
index 0149cc3..1d46cae 100644
--- a/tests/robotests/src/com/android/settings/accessibility/shortcuts/GestureShortcutOptionControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/shortcuts/GestureShortcutOptionControllerTest.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.accessibility.shortcuts;
 
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.GESTURE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
 import static com.android.settings.testutils.AccessibilityTestUtils.setupMockAccessibilityManager;
 
 import static com.google.common.truth.Truth.assertThat;
@@ -25,6 +27,10 @@
 
 import android.content.ComponentName;
 import android.content.Context;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.provider.Flags;
 import android.view.accessibility.AccessibilityManager;
 
 import androidx.preference.PreferenceManager;
@@ -37,6 +43,7 @@
 import com.android.settingslib.utils.StringUtil;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
@@ -50,6 +57,8 @@
 @Config(shadows = SettingsShadowResources.class)
 @RunWith(RobolectricTestRunner.class)
 public class GestureShortcutOptionControllerTest {
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
     private static final String PREF_KEY = "prefKey";
     private static final String TARGET =
             new ComponentName("FakePackage", "FakeClass").flattenToString();
@@ -137,6 +146,18 @@
     }
 
     @Test
+    @EnableFlags(Flags.FLAG_A11Y_STANDALONE_GESTURE_ENABLED)
+    public void getSummary_standaloneGestureFlagOn_verifyNoCustomizeA11yButtonTest() {
+        enableTouchExploration(true);
+        String expected = StringUtil.getIcuPluralsString(
+                mContext,
+                /* count= */ 3,
+                R.string.accessibility_shortcut_edit_dialog_summary_gesture);
+
+        assertThat(mController.getSummary().toString()).isEqualTo(expected);
+    }
+
+    @Test
     public void isShortcutAvailable_inSuw_returnFalse() {
         mController.setInSetupWizard(true);
 
@@ -144,6 +165,7 @@
     }
 
     @Test
+    @DisableFlags(Flags.FLAG_A11Y_STANDALONE_GESTURE_ENABLED)
     public void isShortcutAvailable_notInSuwUseGestureNavSystemUseFab_returnFalse() {
         mController.setInSetupWizard(false);
         AccessibilityTestUtils.setSoftwareShortcutMode(
@@ -179,6 +201,28 @@
         assertThat(mController.isShortcutAvailable()).isFalse();
     }
 
+    @EnableFlags(Flags.FLAG_A11Y_STANDALONE_GESTURE_ENABLED)
+    @Test
+    public void isShortcutAvailable_floatingMenuEnabled_gestureNavEnabled_returnsTrue() {
+        mController.setInSetupWizard(false);
+        AccessibilityTestUtils.setSoftwareShortcutMode(
+                mContext, /* gestureNavEnabled= */ true, /* floatingButtonEnabled= */ true);
+
+        assertThat(mController.isShortcutAvailable()).isTrue();
+    }
+
+    @EnableFlags(Flags.FLAG_A11Y_STANDALONE_GESTURE_ENABLED)
+    @Test
+    public void getShortcutType_gesture() {
+        assertThat(mController.getShortcutType()).isEqualTo(GESTURE);
+    }
+
+    @DisableFlags(Flags.FLAG_A11Y_STANDALONE_GESTURE_ENABLED)
+    @Test
+    public void getShortcutType_software() {
+        assertThat(mController.getShortcutType()).isEqualTo(SOFTWARE);
+    }
+
     private void enableTouchExploration(boolean enable) {
         AccessibilityManager am = setupMockAccessibilityManager(mContext);
         when(am.isTouchExplorationEnabled()).thenReturn(enable);
diff --git a/tests/robotests/src/com/android/settings/accessibility/shortcuts/ShortcutOptionPreferenceTest.java b/tests/robotests/src/com/android/settings/accessibility/shortcuts/ShortcutOptionPreferenceTest.java
index 954c72d..17d416f 100644
--- a/tests/robotests/src/com/android/settings/accessibility/shortcuts/ShortcutOptionPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/shortcuts/ShortcutOptionPreferenceTest.java
@@ -62,7 +62,7 @@
     @Test
     public void bindViewHolder_imageResIdSet_shouldShowImageView() {
         mShortcutOptionPreference.setIntroImageResId(
-                R.drawable.accessibility_shortcut_type_hardware);
+                R.drawable.accessibility_shortcut_type_volume_keys);
 
         mShortcutOptionPreference.onBindViewHolder(mViewHolder);
 
diff --git a/tests/robotests/src/com/android/settings/applications/AppInfoWithHeaderTest.java b/tests/robotests/src/com/android/settings/applications/AppInfoWithHeaderTest.java
index 562212e..0ed56c0 100644
--- a/tests/robotests/src/com/android/settings/applications/AppInfoWithHeaderTest.java
+++ b/tests/robotests/src/com/android/settings/applications/AppInfoWithHeaderTest.java
@@ -171,6 +171,32 @@
         assertThat(mAppInfoWithHeader.mAppEntry).isNotNull();
     }
 
+    @Test
+    public void noCrossUserPermission_retrieveAppEntry_fail()
+            throws PackageManager.NameNotFoundException {
+        TestFragmentWithoutPermission testFragmentWithoutPermission =
+                new TestFragmentWithoutPermission();
+        final int userId = 1002;
+        final String packageName = "com.android.settings";
+
+        testFragmentWithoutPermission.mIntent.putExtra(Intent.EXTRA_USER_HANDLE,
+                new UserHandle(userId));
+        testFragmentWithoutPermission.mIntent.setData(Uri.fromParts("package",
+                packageName, null));
+        final ApplicationsState.AppEntry entry = mock(ApplicationsState.AppEntry.class);
+        entry.info = new ApplicationInfo();
+        entry.info.packageName = packageName;
+
+        when(testFragmentWithoutPermission.mState.getEntry(packageName, userId)).thenReturn(entry);
+        when(testFragmentWithoutPermission.mPm.getPackageInfoAsUser(eq(entry.info.packageName),
+                any(), eq(userId))).thenReturn(
+                testFragmentWithoutPermission.mPackageInfo);
+
+        testFragmentWithoutPermission.retrieveAppEntry();
+
+        assertThat(testFragmentWithoutPermission.mAppEntry).isNull();
+    }
+
     public static class TestFragment extends AppInfoWithHeader {
 
         PreferenceManager mManager;
@@ -224,6 +250,11 @@
         }
 
         @Override
+        protected boolean hasInteractAcrossUsersFullPermission() {
+            return true;
+        }
+
+        @Override
         protected void onPackageRemoved() {
             mPackageRemovedCalled = true;
         }
@@ -233,4 +264,11 @@
             return mIntent;
         }
     }
+
+    private static final class TestFragmentWithoutPermission extends TestFragment {
+        @Override
+        protected boolean hasInteractAcrossUsersFullPermission() {
+            return false;
+        }
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/applications/appcompat/UserAspectRatioDetailsTest.java b/tests/robotests/src/com/android/settings/applications/appcompat/UserAspectRatioDetailsTest.java
index ce03a6d..d597b7e 100644
--- a/tests/robotests/src/com/android/settings/applications/appcompat/UserAspectRatioDetailsTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appcompat/UserAspectRatioDetailsTest.java
@@ -39,23 +39,26 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.Manifest;
+import android.app.Application;
 import android.app.IActivityManager;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
 import android.os.Bundle;
 import android.os.RemoteException;
+import android.os.UserHandle;
 
-import androidx.fragment.app.testing.EmptyFragmentActivity;
 import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.rules.ActivityScenarioRule;
 
+import com.android.settings.SettingsActivity;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowActivityManager;
 import com.android.settings.testutils.shadow.ShadowFragment;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 import org.junit.Before;
-import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.InOrder;
@@ -71,14 +74,14 @@
 @Config(shadows = {ShadowActivityManager.class, ShadowFragment.class})
 public class UserAspectRatioDetailsTest {
 
-    @Rule
-    public ActivityScenarioRule<EmptyFragmentActivity> rule =
-            new ActivityScenarioRule<>(EmptyFragmentActivity.class);
-
     @Mock
     private UserAspectRatioManager mUserAspectRatioManager;
     @Mock
     private IActivityManager mAm;
+    @Mock
+    private PackageManager mPackageManager;
+    @Mock
+    private SettingsActivity mSettingsActivity;
 
     private RadioWithImagePreference mRadioButtonPref;
     private Context mContext;
@@ -93,6 +96,12 @@
         mFragment = spy(new UserAspectRatioDetails());
         when(mFragment.getContext()).thenReturn(mContext);
         when(mFragment.getAspectRatioManager()).thenReturn(mUserAspectRatioManager);
+        when(mFragment.getActivity()).thenReturn(mSettingsActivity);
+        when(mSettingsActivity.getApplication()).thenReturn((Application) mContext);
+        when(mSettingsActivity.getInitialCallingPackage()).thenReturn("test.package");
+        when(mSettingsActivity.getPackageManager()).thenReturn(mPackageManager);
+        when(mPackageManager.checkPermission(eq(Manifest.permission.INTERACT_ACROSS_USERS_FULL),
+                any())).thenReturn(PackageManager.PERMISSION_GRANTED);
         when(mUserAspectRatioManager.isOverrideToFullscreenEnabled(anyString(), anyInt()))
                 .thenReturn(false);
         ShadowActivityManager.setService(mAm);
@@ -111,8 +120,10 @@
                 .getUserMinAspectRatioOrder(USER_MIN_ASPECT_RATIO_FULLSCREEN);
         doReturn(2).when(mUserAspectRatioManager)
                 .getUserMinAspectRatioOrder(USER_MIN_ASPECT_RATIO_UNSET);
-        rule.getScenario().onActivity(a -> doReturn(a).when(mFragment).getActivity());
         final Bundle args = new Bundle();
+        Intent intent = new Intent();
+        intent.putExtra(Intent.EXTRA_USER_HANDLE, new UserHandle(0));
+        args.putParcelable("intent", intent);
         args.putString(ARG_PACKAGE_NAME, anyString());
         mFragment.setArguments(args);
         mFragment.onCreate(Bundle.EMPTY);
@@ -196,8 +207,10 @@
         doReturn(true).when(mUserAspectRatioManager)
                 .hasAspectRatioOption(anyInt(), anyString());
 
-        rule.getScenario().onActivity(a -> doReturn(a).when(mFragment).getActivity());
         final Bundle args = new Bundle();
+        Intent intent = new Intent();
+        intent.putExtra(Intent.EXTRA_USER_HANDLE, new UserHandle(0));
+        args.putParcelable("intent", intent);
         args.putString(ARG_PACKAGE_NAME, anyString());
         mFragment.setArguments(args);
         mFragment.onCreate(Bundle.EMPTY);
diff --git a/tests/robotests/src/com/android/settings/biometrics/combination/CombinedBiometricProfileSettingsTest.java b/tests/robotests/src/com/android/settings/biometrics/combination/CombinedBiometricProfileSettingsTest.java
index a0ef57f..b4605c7 100644
--- a/tests/robotests/src/com/android/settings/biometrics/combination/CombinedBiometricProfileSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/combination/CombinedBiometricProfileSettingsTest.java
@@ -24,19 +24,26 @@
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 import android.content.Context;
 import android.content.Intent;
+import android.hardware.biometrics.BiometricManager;
+import android.hardware.biometrics.Flags;
 import android.hardware.face.FaceManager;
 import android.hardware.fingerprint.FingerprintManager;
 import android.os.Bundle;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
 import android.util.AndroidRuntimeException;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -55,6 +62,7 @@
 import com.android.settings.biometrics.face.FaceStatusPreferenceController;
 import com.android.settings.biometrics.fingerprint.FingerprintStatusPreferenceController;
 import com.android.settings.password.ChooseLockSettingsHelper;
+import com.android.settings.password.ConfirmDeviceCredentialActivity;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowFragment;
 import com.android.settings.testutils.shadow.ShadowSettingsPreferenceFragment;
@@ -90,6 +98,8 @@
 
     @Rule
     public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
     @Captor
     private ArgumentCaptor<Preference> mPreferenceCaptor;
     @Mock
@@ -102,6 +112,8 @@
     private FaceStatusPreferenceController mFaceStatusPreferenceController;
     @Mock
     private FaceManager mFaceManager;
+    @Mock
+    private BiometricManager mBiometricManager;
 
     @Before
     public void setUp() {
@@ -114,6 +126,10 @@
         mContext = spy(ApplicationProvider.getApplicationContext());
         mFragment = spy(new TestCombinedBiometricProfileSettings(mContext));
         doReturn(mActivity).when(mFragment).getActivity();
+        doReturn(mBiometricManager).when(mActivity).getSystemService(BiometricManager.class);
+        when(mBiometricManager.canAuthenticate(anyInt(),
+                eq(BiometricManager.Authenticators.MANDATORY_BIOMETRICS)))
+                .thenReturn(BiometricManager.BIOMETRIC_ERROR_MANDATORY_NOT_ACTIVE);
 
         ReflectionHelpers.setField(mFragment, "mDashboardFeatureProvider",
                 FakeFeatureFactory.setupForTest().dashboardFeatureProvider);
@@ -161,6 +177,28 @@
     }
 
     @Test
+    @EnableFlags(Flags.FLAG_MANDATORY_BIOMETRICS)
+    public void testLaunchBiometricPrompt_onCreateFragment() {
+        ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class);
+        doNothing().when(mFragment).startActivityForResult(any(), anyInt());
+        when(mBiometricManager.canAuthenticate(anyInt(),
+                eq(BiometricManager.Authenticators.MANDATORY_BIOMETRICS)))
+                .thenReturn(BiometricManager.BIOMETRIC_SUCCESS);
+
+        mFragment.onAttach(mContext);
+        mFragment.onCreate(null);
+        mFragment.onActivityResult(CONFIRM_REQUEST, RESULT_FINISHED,
+                new Intent().putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, 1L));
+
+        verify(mFragment).startActivityForResult(intentArgumentCaptor.capture(),
+                eq(BiometricsSettingsBase.BIOMETRIC_AUTH_REQUEST));
+
+        Intent intent = intentArgumentCaptor.getValue();
+        assertThat(intent.getComponent().getClassName()).isEqualTo(
+                ConfirmDeviceCredentialActivity.InternalActivity.class.getName());
+    }
+
+    @Test
     public void testClickFingerprintUnlockWithValidGkPwHandle() {
         doAnswer(invocation -> {
             final FingerprintManager.GenerateChallengeCallback callback =
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSettingsFragmentTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSettingsFragmentTest.java
index 58e7e2d..0e1bcf6 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSettingsFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSettingsFragmentTest.java
@@ -19,6 +19,9 @@
 import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_POWER_BUTTON;
 import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_UDFPS_OPTICAL;
 
+import static com.android.settings.biometrics.BiometricEnrollBase.BIOMETRIC_AUTH_REQUEST;
+import static com.android.settings.biometrics.BiometricEnrollBase.CONFIRM_REQUEST;
+import static com.android.settings.biometrics.BiometricEnrollBase.RESULT_FINISHED;
 import static com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment;
 import static com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment.CHOOSE_LOCK_GENERIC_REQUEST;
 import static com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment.KEY_REQUIRE_SCREEN_ON_TO_AUTH;
@@ -34,18 +37,28 @@
 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 org.robolectric.Shadows.shadowOf;
 
 import android.content.Context;
 import android.content.Intent;
+import android.content.pm.PackageManager;
 import android.content.pm.UserInfo;
+import android.hardware.biometrics.BiometricManager;
 import android.hardware.biometrics.ComponentInfoInternal;
+import android.hardware.biometrics.Flags;
 import android.hardware.biometrics.SensorProperties;
+import android.hardware.fingerprint.Fingerprint;
 import android.hardware.fingerprint.FingerprintManager;
 import android.hardware.fingerprint.FingerprintSensorProperties;
 import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
 import android.os.Bundle;
 import android.os.CancellationSignal;
+import android.os.Looper;
 import android.os.UserHandle;
+import android.os.Vibrator;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
 import android.provider.Settings;
 import android.view.LayoutInflater;
 import android.view.ViewGroup;
@@ -53,9 +66,12 @@
 import androidx.fragment.app.FragmentActivity;
 import androidx.fragment.app.FragmentManager;
 import androidx.fragment.app.FragmentTransaction;
+import androidx.preference.Preference;
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.password.ChooseLockSettingsHelper;
+import com.android.settings.password.ConfirmDeviceCredentialActivity;
+import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowFragment;
 import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
@@ -80,11 +96,17 @@
 import org.robolectric.annotation.Config;
 
 import java.util.ArrayList;
+import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {ShadowSettingsPreferenceFragment.class, ShadowUtils.class, ShadowFragment.class,
         ShadowUserManager.class, ShadowLockPatternUtils.class})
 public class FingerprintSettingsFragmentTest {
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+    @Rule
+    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+
     private static final int PRIMARY_USER_ID = 0;
     private static final int GUEST_USER_ID = 10;
 
@@ -92,12 +114,14 @@
     private Context mContext;
     private FragmentActivity mActivity;
 
-    @Rule
-    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
     @Mock
     private FingerprintManager mFingerprintManager;
     @Mock
     private FragmentTransaction mFragmentTransaction;
+    @Mock
+    private PackageManager mPackageManager;
+    @Mock
+    private BiometricManager mBiometricManager;
 
     @Captor
     private ArgumentCaptor<CancellationSignal> mCancellationSignalArgumentCaptor =
@@ -107,7 +131,11 @@
             mAuthenticationCallbackArgumentCaptor = ArgumentCaptor.forClass(
             FingerprintManager.AuthenticationCallback.class);
 
+    @Mock
+    private Vibrator mVibrator;
+
     private FingerprintAuthenticateSidecar mFingerprintAuthenticateSidecar;
+    private FingerprintRemoveSidecar mFingerprintRemoveSidecar;
 
     @Before
     public void setUp() {
@@ -117,8 +145,12 @@
         mContext = spy(ApplicationProvider.getApplicationContext());
         mFragment = spy(new FingerprintSettingsFragment());
         doReturn(mContext).when(mFragment).getContext();
-
+        doReturn(mBiometricManager).when(mContext).getSystemService(BiometricManager.class);
         doReturn(true).when(mFingerprintManager).isHardwareDetected();
+        doReturn(mVibrator).when(mContext).getSystemService(Vibrator.class);
+        when(mBiometricManager.canAuthenticate(PRIMARY_USER_ID,
+                BiometricManager.Authenticators.MANDATORY_BIOMETRICS))
+                .thenReturn(BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE);
     }
 
     @After
@@ -139,6 +171,28 @@
                 false)).isTrue();
     }
 
+    @Test
+    @Ignore("b/353706169")
+    @EnableFlags(Flags.FLAG_MANDATORY_BIOMETRICS)
+    public void testLaunchBiometricPromptForFingerprint() {
+        when(mBiometricManager.canAuthenticate(PRIMARY_USER_ID,
+                BiometricManager.Authenticators.MANDATORY_BIOMETRICS))
+                .thenReturn(BiometricManager.BIOMETRIC_SUCCESS);
+        doNothing().when(mFingerprintManager).generateChallenge(anyInt(), any());
+        when(mFingerprintManager.hasEnrolledFingerprints(anyInt())).thenReturn(true);
+        setUpFragment(false);
+        ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class);
+        mFragment.onActivityResult(CONFIRM_REQUEST, RESULT_FINISHED,
+                new Intent().putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, 1L));
+
+        verify(mFragment).startActivityForResult(intentArgumentCaptor.capture(),
+                eq(BIOMETRIC_AUTH_REQUEST));
+
+        final Intent intent = intentArgumentCaptor.getValue();
+        assertThat(intent.getComponent().getClassName()).isEqualTo(
+                ConfirmDeviceCredentialActivity.InternalActivity.class.getName());
+    }
+
     // Test the case when FingerprintAuthenticateSidecar receives an error callback from the
     // framework or from another authentication client. The cancellation signal should not be set
     // to null because there may exist a running authentication client.
@@ -182,7 +236,7 @@
                 1,
                 UserHandle.of(GUEST_USER_ID).getIdentifier());
 
-        setUpFragment(false, GUEST_USER_ID, TYPE_POWER_BUTTON);
+        setUpFragment(false, GUEST_USER_ID, TYPE_POWER_BUTTON, 1);
 
         final RestrictedSwitchPreference requireScreenOnToAuthPreference = mFragment.findPreference(
                 KEY_REQUIRE_SCREEN_ON_TO_AUTH);
@@ -190,11 +244,15 @@
     }
 
     private void setUpFragment(boolean showChooseLock) {
-        setUpFragment(showChooseLock, PRIMARY_USER_ID, TYPE_UDFPS_OPTICAL);
+        setUpFragment(showChooseLock, PRIMARY_USER_ID, TYPE_UDFPS_OPTICAL, 1);
+    }
+
+    private void setUpFragment(boolean showChooseLock, int maxFingerprints) {
+        setUpFragment(showChooseLock, PRIMARY_USER_ID, TYPE_UDFPS_OPTICAL, maxFingerprints);
     }
 
     private void setUpFragment(boolean showChooseLock, int userId,
-            @FingerprintSensorProperties.SensorType int sensorType) {
+            @FingerprintSensorProperties.SensorType int sensorType, int maxFingerprints) {
         ShadowUserManager.getShadow().addProfile(new UserInfo(userId, "", 0));
 
         Intent intent = new Intent();
@@ -216,9 +274,13 @@
         doReturn(mFingerprintAuthenticateSidecar).when(fragmentManager).findFragmentByTag(
                 "authenticate_sidecar");
 
+        mFingerprintRemoveSidecar = new FingerprintRemoveSidecar();
+        doReturn(mFingerprintRemoveSidecar).when(fragmentManager).findFragmentByTag(
+                "removal_sidecar");
+
         doNothing().when(mFragment).startActivityForResult(any(Intent.class), anyInt());
 
-        setSensor(sensorType);
+        setSensor(sensorType, maxFingerprints);
 
         // Start fragment
         mFragment.onAttach(mContext);
@@ -235,12 +297,70 @@
         assertThat(mFragment.isVisible()).isTrue();
     }
 
-    private void setSensor(@FingerprintSensorProperties.SensorType int sensorType) {
+    @Test
+    @Ignore("b/353726774")
+    public void fingerprintVibratesOnAuthSuccess() {
+        setUpFragment(false);
+
+        doNothing().when(mFingerprintManager).authenticate(any(),
+                mCancellationSignalArgumentCaptor.capture(),
+                mAuthenticationCallbackArgumentCaptor.capture(), any(), anyInt());
+
+        mFingerprintAuthenticateSidecar.startAuthentication(1);
+
+        assertThat(mAuthenticationCallbackArgumentCaptor.getValue()).isNotNull();
+        assertThat(mCancellationSignalArgumentCaptor.getValue()).isNotNull();
+
+        mAuthenticationCallbackArgumentCaptor.getValue()
+                .onAuthenticationSucceeded(new FingerprintManager.AuthenticationResult(null,
+                        new Fingerprint("finger 1", 1, 1), 0 /* userId */, false));
+
+        shadowOf(Looper.getMainLooper()).idle();
+        verify(mVibrator).vibrate(FingerprintSettings.SUCCESS_VIBRATION_EFFECT);
+    }
+
+    @Test
+    public void testNotIndexable_whenDisabled() {
+        doReturn(mPackageManager).when(mContext).getPackageManager();
+        doReturn(false)
+                .when(mPackageManager).hasSystemFeature(PackageManager.FEATURE_FINGERPRINT);
+
+        final BaseSearchIndexProvider provider = FingerprintSettingsFragment.SEARCH_INDEX_DATA_PROVIDER;
+        assertThat(provider.getDynamicRawDataToIndex(mContext, true)).isEmpty();
+    }
+
+    @Ignore("b/353726774")
+    @Test
+    public void testAddButtonWorksAfterRemovalError() {
+        final Fingerprint fingerprint = new Fingerprint("Test", 0, 0);
+        doReturn(List.of(fingerprint)).when(mFingerprintManager).getEnrolledFingerprints(anyInt());
+        setUpFragment(false, 5);
+        shadowOf(Looper.getMainLooper()).idle();
+        final Preference addPref = mFragment.findPreference("key_fingerprint_add");
+        final FingerprintSettings.FingerprintPreference fpPref =
+                mFragment.findPreference("key_fingerprint_item_0");
+        assertThat(fpPref).isNotNull();
+        assertThat(addPref).isNotNull();
+        assertThat(addPref.isEnabled()).isTrue();
+
+        mFingerprintRemoveSidecar.setListener(mFragment.mRemovalListener);
+        mFragment.deleteFingerPrint(fingerprint);
+        verify(mFingerprintManager).remove(any(), anyInt(), any());
+        assertThat(addPref.isEnabled()).isFalse();
+
+        mFingerprintRemoveSidecar.mRemoveCallback.onRemovalError(fingerprint, 0, "failure");
+
+        shadowOf(Looper.getMainLooper()).idle();
+        assertThat(addPref.isEnabled()).isTrue();
+    }
+
+    private void setSensor(@FingerprintSensorProperties.SensorType int sensorType,
+            int maxFingerprints) {
         final ArrayList<FingerprintSensorPropertiesInternal> props = new ArrayList<>();
         props.add(new FingerprintSensorPropertiesInternal(
                 0 /* sensorId */,
                 SensorProperties.STRENGTH_STRONG,
-                1 /* maxEnrollmentsPerUser */,
+                maxFingerprints /* maxEnrollmentsPerUser */,
                 new ArrayList<ComponentInfoInternal>(),
                 sensorType,
                 true /* resetLockoutRequiresHardwareAuthToken */));
diff --git a/tests/robotests/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderControllerTest.java
index d24a83b..db8c862 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderControllerTest.java
@@ -28,16 +28,22 @@
 import android.content.Context;
 import android.graphics.Bitmap;
 import android.graphics.drawable.Drawable;
-import android.provider.DeviceConfig;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
 import android.view.LayoutInflater;
 import android.view.View;
+import android.widget.ImageButton;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
+import android.widget.ProgressBar;
 import android.widget.TextView;
 
+import androidx.preference.PreferenceFragmentCompat;
+
 import com.android.settings.R;
+import com.android.settings.SettingsActivity;
 import com.android.settings.core.BasePreferenceController;
-import com.android.settings.core.SettingsUIDeviceConfig;
+import com.android.settings.flags.Flags;
 import com.android.settings.fuelgauge.BatteryMeterView;
 import com.android.settings.testutils.shadow.ShadowDeviceConfig;
 import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
@@ -48,12 +54,13 @@
 
 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 org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
 import java.util.HashSet;
@@ -62,6 +69,8 @@
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {ShadowEntityHeaderController.class, ShadowDeviceConfig.class})
 public class AdvancedBluetoothDetailsHeaderControllerTest {
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
     private static final int BATTERY_LEVEL_MAIN = 30;
     private static final int BATTERY_LEVEL_LEFT = 25;
     private static final int BATTERY_LEVEL_RIGHT = 45;
@@ -86,6 +95,8 @@
     private CachedBluetoothDevice mCachedDevice;
     @Mock
     private BluetoothAdapter mBluetoothAdapter;
+    @Mock
+    private PreferenceFragmentCompat mFragment;
     private AdvancedBluetoothDetailsHeaderController mController;
     private LayoutPreference mLayoutPreference;
 
@@ -93,10 +104,10 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
 
-        mContext = RuntimeEnvironment.application;
+        mContext = Robolectric.buildActivity(SettingsActivity.class).get();
         mController = new AdvancedBluetoothDetailsHeaderController(mContext, "pref_Key");
         when(mCachedDevice.getDevice()).thenReturn(mBluetoothDevice);
-        mController.init(mCachedDevice);
+        mController.init(mCachedDevice, mFragment);
         mLayoutPreference = new LayoutPreference(mContext,
                 LayoutInflater.from(mContext).inflate(R.layout.advanced_bt_entity_header, null));
         mController.mLayoutPreference = mLayoutPreference;
@@ -272,6 +283,7 @@
                 View.GONE);
         assertThat(layout.findViewById(R.id.bt_battery_icon).getVisibility()).isEqualTo(View.GONE);
         assertThat(layout.findViewById(R.id.header_icon).getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(layout.findViewById(R.id.battery_ring).getVisibility()).isEqualTo(View.GONE);
     }
 
     @Ignore
@@ -325,9 +337,7 @@
     }
 
     @Test
-    public void getAvailabilityStatus_untetheredHeadsetWithConfigOn_returnAvailable() {
-        DeviceConfig.setProperty(DeviceConfig.NAMESPACE_SETTINGS_UI,
-                SettingsUIDeviceConfig.BT_ADVANCED_HEADER_ENABLED, "true", true);
+    public void getAvailabilityStatus_untetheredHeadset_returnAvailable() {
         when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_IS_UNTETHERED_HEADSET))
                 .thenReturn("true".getBytes());
 
@@ -336,31 +346,7 @@
     }
 
     @Test
-    public void getAvailabilityStatus_untetheredHeadsetWithConfigOff_returnUnavailable() {
-        DeviceConfig.setProperty(DeviceConfig.NAMESPACE_SETTINGS_UI,
-                SettingsUIDeviceConfig.BT_ADVANCED_HEADER_ENABLED, "false", true);
-        when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_IS_UNTETHERED_HEADSET))
-                .thenReturn("true".getBytes());
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(
-                BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
-    }
-
-    @Test
-    public void getAvailabilityStatus_notUntetheredHeadsetWithConfigOn_returnUnavailable() {
-        DeviceConfig.setProperty(DeviceConfig.NAMESPACE_SETTINGS_UI,
-                SettingsUIDeviceConfig.BT_ADVANCED_HEADER_ENABLED, "true", true);
-        when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_IS_UNTETHERED_HEADSET))
-                .thenReturn("false".getBytes());
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(
-                BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
-    }
-
-    @Test
-    public void getAvailabilityStatus_notUntetheredHeadsetWithConfigOff_returnUnavailable() {
-        DeviceConfig.setProperty(DeviceConfig.NAMESPACE_SETTINGS_UI,
-                SettingsUIDeviceConfig.BT_ADVANCED_HEADER_ENABLED, "false", true);
+    public void getAvailabilityStatus_notUntetheredHeadset_returnUnavailable() {
         when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_IS_UNTETHERED_HEADSET))
                 .thenReturn("false".getBytes());
 
@@ -379,8 +365,6 @@
 
     @Test
     public void onStart_isAvailable_registerCallback() {
-        DeviceConfig.setProperty(DeviceConfig.NAMESPACE_SETTINGS_UI,
-                SettingsUIDeviceConfig.BT_ADVANCED_HEADER_ENABLED, "true", true);
         when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_IS_UNTETHERED_HEADSET))
                 .thenReturn("true".getBytes());
         Set<CachedBluetoothDevice> cacheBluetoothDevices = new HashSet<>();
@@ -410,8 +394,6 @@
 
     @Test
     public void onStart_isAvailableButNoBluetoothDevice_notNeedToRegisterCallback() {
-        DeviceConfig.setProperty(DeviceConfig.NAMESPACE_SETTINGS_UI,
-                SettingsUIDeviceConfig.BT_ADVANCED_HEADER_ENABLED, "true", true);
         when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_IS_UNTETHERED_HEADSET))
                 .thenReturn("true".getBytes());
         when(mCachedDevice.getDevice()).thenReturn(null);
@@ -438,8 +420,6 @@
 
     @Test
     public void onStop_noBluetoothDevice_noNeedToUnregisterCallback() {
-        DeviceConfig.setProperty(DeviceConfig.NAMESPACE_SETTINGS_UI,
-                SettingsUIDeviceConfig.BT_ADVANCED_HEADER_ENABLED, "true", true);
         when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_IS_UNTETHERED_HEADSET))
                 .thenReturn("true".getBytes());
         when(mCachedDevice.getDevice()).thenReturn(null);
@@ -532,6 +512,20 @@
                 rightBatteryPrediction);
     }
 
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_BLUETOOTH_DEVICE_DETAILS_POLISH)
+    public void enablePolishFlag_renameButtonShown() {
+        when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_IS_UNTETHERED_HEADSET))
+                .thenReturn("true".getBytes());
+        Set<CachedBluetoothDevice> cacheBluetoothDevices = new HashSet<>();
+        when(mCachedDevice.getMemberDevice()).thenReturn(cacheBluetoothDevices);
+
+        mController.onStart();
+
+        ImageButton button = mLayoutPreference.findViewById(R.id.rename_button);
+        assertThat(button.getVisibility()).isEqualTo(View.VISIBLE);
+    }
+
     private void assertBatteryPredictionVisible(LinearLayout linearLayout, int visible) {
         final TextView textView = linearLayout.findViewById(R.id.bt_battery_prediction);
         assertThat(textView.getVisibility()).isEqualTo(visible);
@@ -546,6 +540,10 @@
         final TextView textView = linearLayout.findViewById(R.id.bt_battery_summary);
         assertThat(textView.getText().toString()).isEqualTo(
                 com.android.settings.Utils.formatPercentage(batteryLevel));
+        if (Flags.enableBluetoothDeviceDetailsPolish()) {
+            final ProgressBar bar = linearLayout.findViewById(R.id.battery_ring);
+            assertThat(bar.getProgress()).isEqualTo(batteryLevel);
+        }
     }
 
     private void assertBatteryIcon(LinearLayout linearLayout, int resId) {
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHeaderControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHeaderControllerTest.java
index cf9bf09..a03fdd7 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHeaderControllerTest.java
@@ -26,7 +26,6 @@
 import android.bluetooth.BluetoothDevice;
 import android.graphics.drawable.Drawable;
 
-import com.android.settings.core.SettingsUIDeviceConfig;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowDeviceConfig;
 import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
@@ -127,24 +126,10 @@
     }
 
     @Test
-    public void isAvailable_untetheredHeadsetWithConfigOn_returnFalse() {
-        android.provider.DeviceConfig.setProperty(
-                android.provider.DeviceConfig.NAMESPACE_SETTINGS_UI,
-                SettingsUIDeviceConfig.BT_ADVANCED_HEADER_ENABLED, "true", true);
+    public void isAvailable_untetheredHeadset_returnFalse() {
         when(mBluetoothDevice.getMetadata(
                 BluetoothDevice.METADATA_IS_UNTETHERED_HEADSET)).thenReturn("true".getBytes());
 
         assertThat(mController.isAvailable()).isFalse();
     }
-
-    @Test
-    public void isAvailable_untetheredHeadsetWithConfigOff_returnTrue() {
-        android.provider.DeviceConfig.setProperty(
-                android.provider.DeviceConfig.NAMESPACE_SETTINGS_UI,
-                SettingsUIDeviceConfig.BT_ADVANCED_HEADER_ENABLED, "false", true);
-        when(mBluetoothDevice.getMetadata(
-                BluetoothDevice.METADATA_IS_UNTETHERED_HEADSET)).thenReturn("true".getBytes());
-
-        assertThat(mController.isAvailable()).isTrue();
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsControllerTest.java
index cf80a87..7c865f3 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsControllerTest.java
@@ -38,6 +38,7 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceCategory;
 
+import com.android.settings.R;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.HapClientProfile;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
@@ -215,11 +216,13 @@
 
         assertThat(mController.getPreference()).isNotNull();
         assertThat(mController.getPreference().isEnabled()).isFalse();
+        assertThat(String.valueOf(mController.getPreference().getSummary())).isEqualTo(
+                mContext.getString(R.string.bluetooth_hearing_aids_presets_empty_list_message));
     }
 
     @Test
     public void refresh_validPresetInfo_preferenceEnabled() {
-        BluetoothHapPresetInfo info = getTestPresetInfo();
+        BluetoothHapPresetInfo info = getTestPresetInfo(true);
         when(mHapClientProfile.getAllPresetInfo(mDevice)).thenReturn(List.of(info));
 
         mController.refresh();
@@ -230,7 +233,7 @@
 
     @Test
     public void refresh_invalidActivePresetIndex_summaryIsNull() {
-        BluetoothHapPresetInfo info = getTestPresetInfo();
+        BluetoothHapPresetInfo info = getTestPresetInfo(true);
         when(mHapClientProfile.getAllPresetInfo(mDevice)).thenReturn(List.of(info));
         when(mHapClientProfile.getActivePresetIndex(mDevice)).thenReturn(PRESET_INDEX_UNAVAILABLE);
 
@@ -242,7 +245,7 @@
 
     @Test
     public void refresh_validActivePresetIndex_summaryIsNotNull() {
-        BluetoothHapPresetInfo info = getTestPresetInfo();
+        BluetoothHapPresetInfo info = getTestPresetInfo(true);
         when(mHapClientProfile.getAllPresetInfo(mDevice)).thenReturn(List.of(info));
         when(mHapClientProfile.getActivePresetIndex(mDevice)).thenReturn(TEST_PRESET_INDEX);
 
@@ -262,10 +265,30 @@
         verify(mHapClientProfile).selectPreset(mDevice, TEST_PRESET_INDEX);
     }
 
-    private BluetoothHapPresetInfo getTestPresetInfo() {
+    @Test
+    public void loadAllPresetInfo_unavailablePreset_notAddedToEntries() {
+        BluetoothHapPresetInfo info = getTestPresetInfo(false);
+        when(mHapClientProfile.getAllPresetInfo(mDevice)).thenReturn(List.of(info));
+
+        mController.refresh();
+
+        assertThat(mController.getPreference().getEntries().length).isEqualTo(0);
+    }
+
+    @Test
+    public void loadAllPresetInfo_availablePreset_addedToEntries() {
+        BluetoothHapPresetInfo info = getTestPresetInfo(true);
+        when(mHapClientProfile.getAllPresetInfo(mDevice)).thenReturn(List.of(info));
+
+        mController.refresh();
+
+        assertThat(mController.getPreference().getEntries().length).isEqualTo(1);
+    }
+    private BluetoothHapPresetInfo getTestPresetInfo(boolean available) {
         BluetoothHapPresetInfo info = mock(BluetoothHapPresetInfo.class);
         when(info.getName()).thenReturn(TEST_PRESET_NAME);
         when(info.getIndex()).thenReturn(TEST_PRESET_INDEX);
+        when(info.isAvailable()).thenReturn(available);
         return info;
     }
 
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsProfilesControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsProfilesControllerTest.java
index 9b92234..d137d82 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsProfilesControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsProfilesControllerTest.java
@@ -44,6 +44,7 @@
 import com.android.settingslib.R;
 import com.android.settingslib.bluetooth.A2dpProfile;
 import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
+import com.android.settingslib.bluetooth.HearingAidProfile;
 import com.android.settingslib.bluetooth.LeAudioProfile;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.bluetooth.LocalBluetoothProfile;
@@ -90,6 +91,13 @@
     @Mock
     private CachedBluetoothDeviceManager mCachedBluetoothDeviceManager;
 
+    @Mock
+    private A2dpProfile mA2dpProfile;
+    @Mock
+    private LeAudioProfile mLeAudioProfile;
+    @Mock
+    private HearingAidProfile mHearingAidProfile;
+
     @Override
     public void setUp() {
         super.setUp();
@@ -103,18 +111,16 @@
         mConnectableProfiles = new ArrayList<>();
         when(mLocalManager.getProfileManager()).thenReturn(mProfileManager);
         when(mLocalManager.getCachedDeviceManager()).thenReturn(mCachedBluetoothDeviceManager);
+        setUpMockProfiles();
         when(mCachedBluetoothDeviceManager.getCachedDevicesCopy())
                 .thenReturn(ImmutableList.of(mCachedDevice));
-        when(mCachedDevice.getConnectableProfiles()).thenAnswer(invocation ->
-            new ArrayList<>(mConnectableProfiles)
-        );
+        when(mCachedDevice.getUiAccessibleProfiles())
+                .thenAnswer(invocation -> new ArrayList<>(mConnectableProfiles));
+        when(mCachedDevice.getProfiles())
+                .thenAnswer(invocation -> ImmutableList.of(mConnectableProfiles));
 
         setupDevice(mDeviceConfig);
-        mController = new BluetoothDetailsProfilesController(mContext, mFragment, mLocalManager,
-                mCachedDevice, mLifecycle);
-        mProfiles.setKey(mController.getPreferenceKey());
-        mController.mProfilesContainer = mProfiles;
-        mScreen.addPreference(mProfiles);
+        initController(List.of());
         BluetoothProperties.le_audio_allow_list(Lists.newArrayList(LE_DEVICE_MODEL));
     }
 
@@ -389,21 +395,46 @@
         assertThat(mDevice.getMessageAccessPermission()).isEqualTo(BluetoothDevice.ACCESS_ALLOWED);
     }
 
-    private A2dpProfile addMockA2dpProfile(boolean preferred, boolean supportsHighQualityAudio,
+    private void setUpMockProfiles() {
+        when(mA2dpProfile.toString()).thenReturn("A2DP");
+        when(mProfileManager.getProfileByName(eq(mA2dpProfile.toString())))
+                .thenReturn(mA2dpProfile);
+        when(mA2dpProfile.getNameResource(any()))
+                .thenReturn(R.string.bluetooth_profile_a2dp);
+        when(mA2dpProfile.getHighQualityAudioOptionLabel(any())).thenReturn(
+                mContext.getString(R.string.bluetooth_profile_a2dp_high_quality_unknown_codec));
+        when(mA2dpProfile.isProfileReady()).thenReturn(true);
+        when(mProfileManager.getA2dpProfile()).thenReturn(mA2dpProfile);
+
+        when(mLeAudioProfile.toString()).thenReturn("LE_AUDIO");
+        when(mLeAudioProfile.getNameResource(any()))
+                .thenReturn(R.string.bluetooth_profile_le_audio);
+        when(mLeAudioProfile.isProfileReady()).thenReturn(true);
+        when(mProfileManager.getLeAudioProfile()).thenReturn(mLeAudioProfile);
+
+        when(mHearingAidProfile.toString()).thenReturn("HearingAid");
+        when(mHearingAidProfile.getNameResource(any()))
+                .thenReturn(R.string.bluetooth_profile_hearing_aid);
+        when(mHearingAidProfile.isProfileReady()).thenReturn(true);
+        when(mProfileManager.getHearingAidProfile()).thenReturn(mHearingAidProfile);
+    }
+
+    private void addA2dpProfileToDevice(boolean preferred, boolean supportsHighQualityAudio,
             boolean highQualityAudioEnabled) {
-        A2dpProfile profile = mock(A2dpProfile.class);
-        when(mProfileManager.getProfileByName(eq(profile.toString()))).thenReturn(profile);
-        when(profile.getNameResource(mDevice))
-                .thenReturn(com.android.settingslib.R.string.bluetooth_profile_a2dp);
-        when(profile.getHighQualityAudioOptionLabel(mDevice)).thenReturn(
-                mContext.getString(com.android.settingslib.R
-                        .string.bluetooth_profile_a2dp_high_quality_unknown_codec));
-        when(profile.supportsHighQualityAudio(mDevice)).thenReturn(supportsHighQualityAudio);
-        when(profile.isHighQualityAudioEnabled(mDevice)).thenReturn(highQualityAudioEnabled);
-        when(profile.isEnabled(mDevice)).thenReturn(preferred);
-        when(profile.isProfileReady()).thenReturn(true);
-        mConnectableProfiles.add(profile);
-        return profile;
+        when(mA2dpProfile.supportsHighQualityAudio(any())).thenReturn(supportsHighQualityAudio);
+        when(mA2dpProfile.isHighQualityAudioEnabled(any())).thenReturn(highQualityAudioEnabled);
+        when(mA2dpProfile.isEnabled(any())).thenReturn(preferred);
+        mConnectableProfiles.add(mA2dpProfile);
+    }
+
+    private void addLeAudioProfileToDevice(boolean enabled) {
+        when(mLeAudioProfile.isEnabled(any())).thenReturn(enabled);
+        mConnectableProfiles.add(mLeAudioProfile);
+    }
+
+    private void addHearingAidProfileToDevice(boolean enabled) {
+        when(mHearingAidProfile.isEnabled(any())).thenReturn(enabled);
+        mConnectableProfiles.add(mHearingAidProfile);
     }
 
     private SwitchPreferenceCompat getHighQualityAudioPref() {
@@ -414,7 +445,7 @@
     @Test
     public void highQualityAudio_prefIsPresentWhenSupported() {
         setupDevice(makeDefaultDeviceConfig());
-        addMockA2dpProfile(true, true, true);
+        addA2dpProfileToDevice(true, true, true);
         showScreen(mController);
         SwitchPreferenceCompat pref = getHighQualityAudioPref();
         assertThat(pref.getKey()).isEqualTo(
@@ -431,7 +462,7 @@
     @Test
     public void highQualityAudio_prefIsAbsentWhenNotSupported() {
         setupDevice(makeDefaultDeviceConfig());
-        addMockA2dpProfile(true, false, false);
+        addA2dpProfileToDevice(true, false, false);
         showScreen(mController);
         assertThat(mProfiles.getPreferenceCount()).isEqualTo(2);
         SwitchPreferenceCompat pref = (SwitchPreferenceCompat) mProfiles.getPreference(0);
@@ -444,7 +475,7 @@
     @Test
     public void highQualityAudio_busyDeviceDisablesSwitch() {
         setupDevice(makeDefaultDeviceConfig());
-        addMockA2dpProfile(true, true, true);
+        addA2dpProfileToDevice(true, true, true);
         when(mCachedDevice.isBusy()).thenReturn(true);
         showScreen(mController);
         SwitchPreferenceCompat pref = getHighQualityAudioPref();
@@ -454,17 +485,17 @@
     @Test
     public void highQualityAudio_mediaAudioDisabledAndReEnabled() {
         setupDevice(makeDefaultDeviceConfig());
-        A2dpProfile audioProfile = addMockA2dpProfile(true, true, true);
+        addA2dpProfileToDevice(true, true, true);
         showScreen(mController);
         assertThat(mProfiles.getPreferenceCount()).isEqualTo(3);
 
         // Disabling media audio should cause the high quality audio switch to disappear, but not
         // the regular audio one.
         SwitchPreferenceCompat audioPref =
-                (SwitchPreferenceCompat) mScreen.findPreference(audioProfile.toString());
+                (SwitchPreferenceCompat) mScreen.findPreference(mA2dpProfile.toString());
         audioPref.performClick();
-        verify(audioProfile).setEnabled(mDevice, false);
-        when(audioProfile.isEnabled(mDevice)).thenReturn(false);
+        verify(mA2dpProfile).setEnabled(mDevice, false);
+        when(mA2dpProfile.isEnabled(mDevice)).thenReturn(false);
         mController.onDeviceAttributesChanged();
         assertThat(audioPref.isVisible()).isTrue();
         SwitchPreferenceCompat highQualityAudioPref = getHighQualityAudioPref();
@@ -472,8 +503,8 @@
 
         // And re-enabling media audio should make high quality switch to reappear.
         audioPref.performClick();
-        verify(audioProfile).setEnabled(mDevice, true);
-        when(audioProfile.isEnabled(mDevice)).thenReturn(true);
+        verify(mA2dpProfile).setEnabled(mDevice, true);
+        when(mA2dpProfile.isEnabled(mDevice)).thenReturn(true);
         mController.onDeviceAttributesChanged();
         highQualityAudioPref = getHighQualityAudioPref();
         assertThat(highQualityAudioPref.isVisible()).isTrue();
@@ -482,9 +513,9 @@
     @Test
     public void highQualityAudio_mediaAudioStartsDisabled() {
         setupDevice(makeDefaultDeviceConfig());
-        A2dpProfile audioProfile = addMockA2dpProfile(false, true, true);
+        addA2dpProfileToDevice(false, true, true);
         showScreen(mController);
-        SwitchPreferenceCompat audioPref = mScreen.findPreference(audioProfile.toString());
+        SwitchPreferenceCompat audioPref = mScreen.findPreference(mA2dpProfile.toString());
         SwitchPreferenceCompat highQualityAudioPref = getHighQualityAudioPref();
         assertThat(audioPref).isNotNull();
         assertThat(audioPref.isChecked()).isFalse();
@@ -519,18 +550,12 @@
 
     @Test
     public void prefKeyInBlockingList_hideToggle() {
-        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_BLUETOOTH_PROFILE_TOGGLE_VISIBILITY_CHECKER);
+        initController(List.of("A2DP"));
         setupDevice(makeDefaultDeviceConfig());
 
-        LeAudioProfile leAudioProfile = mock(LeAudioProfile.class);
-        when(leAudioProfile.getNameResource(mDevice))
-                .thenReturn(com.android.settingslib.R.string.bluetooth_profile_le_audio);
-        when(leAudioProfile.isProfileReady()).thenReturn(true);
-        when(leAudioProfile.toString()).thenReturn("LE_AUDIO");
-        when(mProfileManager.getLeAudioProfile()).thenReturn(leAudioProfile);
+        addA2dpProfileToDevice(true, true, true);
         when(mFeatureProvider.getInvisibleProfilePreferenceKeys(any(), any()))
-                .thenReturn(ImmutableSet.of("LE_AUDIO"));
-        mConnectableProfiles.add(leAudioProfile);
+                .thenReturn(ImmutableSet.of());
 
         showScreen(mController);
 
@@ -540,18 +565,40 @@
 
     @Test
     public void prefKeyNotInBlockingList_showToggle() {
-        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_BLUETOOTH_PROFILE_TOGGLE_VISIBILITY_CHECKER);
+        initController(List.of());
         setupDevice(makeDefaultDeviceConfig());
 
-        LeAudioProfile leAudioProfile = mock(LeAudioProfile.class);
-        when(leAudioProfile.getNameResource(mDevice))
-                .thenReturn(com.android.settingslib.R.string.bluetooth_profile_le_audio);
-        when(leAudioProfile.isProfileReady()).thenReturn(true);
-        when(leAudioProfile.toString()).thenReturn("LE_AUDIO");
-        when(mProfileManager.getLeAudioProfile()).thenReturn(leAudioProfile);
+        addA2dpProfileToDevice(true, true, true);
+        when(mFeatureProvider.getInvisibleProfilePreferenceKeys(any(), any()))
+                .thenReturn(ImmutableSet.of());
+
+        showScreen(mController);
+
+        List<SwitchPreferenceCompat> switches = getProfileSwitches(false);
+        assertThat(switches.get(0).isVisible()).isTrue();
+    }
+
+    @Test
+    public void prefKeyInFeatureProviderBlockingList_hideToggle() {
+        setupDevice(makeDefaultDeviceConfig());
+
+        addA2dpProfileToDevice(true, true, true);
         when(mFeatureProvider.getInvisibleProfilePreferenceKeys(any(), any()))
                 .thenReturn(ImmutableSet.of("A2DP"));
-        mConnectableProfiles.add(leAudioProfile);
+
+        showScreen(mController);
+
+        List<SwitchPreferenceCompat> switches = getProfileSwitches(false);
+        assertThat(switches.get(0).isVisible()).isFalse();
+    }
+
+    @Test
+    public void prefKeyNotInFeatureProviderBlockingList_showToggle() {
+        setupDevice(makeDefaultDeviceConfig());
+
+        addA2dpProfileToDevice(true, true, true);
+        when(mFeatureProvider.getInvisibleProfilePreferenceKeys(any(), any()))
+                .thenReturn(ImmutableSet.of("LE_AUDIO"));
 
         showScreen(mController);
 
@@ -563,19 +610,8 @@
     public void classicAudioDeviceWithLeAudio_showLeAudioToggle() {
         mSetFlagsRule.enableFlags(Flags.FLAG_HIDE_LE_AUDIO_TOGGLE_FOR_LE_AUDIO_ONLY_DEVICE);
         setupDevice(makeDefaultDeviceConfig());
-
-        LeAudioProfile leAudioProfile = mock(LeAudioProfile.class);
-        when(leAudioProfile.getNameResource(mDevice))
-                .thenReturn(com.android.settingslib.R.string.bluetooth_profile_le_audio);
-        when(leAudioProfile.isProfileReady()).thenReturn(true);
-        when(leAudioProfile.toString()).thenReturn("LE_AUDIO");
-        when(mProfileManager.getLeAudioProfile()).thenReturn(leAudioProfile);
-        mConnectableProfiles.add(leAudioProfile);
-        when(mCachedDevice.getProfiles())
-                .thenAnswer(
-                        invocation ->
-                                ImmutableList.of(
-                                        leAudioProfile, addMockA2dpProfile(false, false, false)));
+        addLeAudioProfileToDevice(false);
+        addA2dpProfileToDevice(false, false, false);
 
         showScreen(mController);
 
@@ -587,20 +623,43 @@
     public void leAudioOnlyDevice_hideLeAudioToggle() {
         mSetFlagsRule.enableFlags(Flags.FLAG_HIDE_LE_AUDIO_TOGGLE_FOR_LE_AUDIO_ONLY_DEVICE);
         setupDevice(makeDefaultDeviceConfig());
-
-        LeAudioProfile leAudioProfile = mock(LeAudioProfile.class);
-        when(leAudioProfile.getNameResource(mDevice))
-                .thenReturn(com.android.settingslib.R.string.bluetooth_profile_le_audio);
-        when(leAudioProfile.isProfileReady()).thenReturn(true);
-        when(leAudioProfile.toString()).thenReturn("LE_AUDIO");
-        when(mProfileManager.getLeAudioProfile()).thenReturn(leAudioProfile);
-        mConnectableProfiles.add(leAudioProfile);
-        when(mCachedDevice.getProfiles())
-                .thenAnswer(invocation -> ImmutableList.of(leAudioProfile));
+        addLeAudioProfileToDevice(false);
 
         showScreen(mController);
 
         List<SwitchPreferenceCompat> switches = getProfileSwitches(false);
         assertThat(switches.get(0).isVisible()).isFalse();
     }
+
+    @Test
+    public void ashaHearingAid_hideAshaToggle() {
+        setupDevice(makeDefaultDeviceConfig());
+        addHearingAidProfileToDevice(true);
+
+        showScreen(mController);
+
+        List<SwitchPreferenceCompat> switches = getProfileSwitches(false);
+        assertThat(switches.isEmpty()).isTrue();
+    }
+    @Test
+    public void ashaHearingAidWithLeAudio_showLeAudioToggle() {
+        setupDevice(makeDefaultDeviceConfig());
+        addHearingAidProfileToDevice(false);
+        addLeAudioProfileToDevice(true);
+
+        showScreen(mController);
+
+        List<SwitchPreferenceCompat> switches = getProfileSwitches(false);
+        assertThat(switches.getFirst().getTitle()).isEqualTo(
+                mContext.getString(mLeAudioProfile.getNameResource(mDevice)));
+    }
+
+    private void initController(List<String> invisibleProfiles) {
+        mController = new BluetoothDetailsProfilesController(mContext, mFragment, mLocalManager,
+                mCachedDevice, mLifecycle, invisibleProfiles);
+        mProfiles.setKey(mController.getPreferenceKey());
+        mController.mProfilesContainer = mProfiles;
+        mScreen.removeAll();
+        mScreen.addPreference(mProfiles);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragmentTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragmentTest.java
index 50aa771..7e90171 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragmentTest.java
@@ -38,6 +38,8 @@
 import android.hardware.input.InputManager;
 import android.os.Bundle;
 import android.os.UserManager;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
 import android.util.FeatureFlagUtils;
 import android.view.InputDevice;
 import android.view.MenuInflater;
@@ -50,6 +52,9 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
+import com.android.settings.bluetooth.ui.model.FragmentTypeModel;
+import com.android.settings.bluetooth.ui.view.DeviceDetailsFragmentFormatter;
+import com.android.settings.flags.Flags;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
@@ -59,6 +64,7 @@
 import com.google.common.collect.ImmutableList;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Answers;
@@ -79,6 +85,7 @@
         com.android.settings.testutils.shadow.ShadowFragment.class,
 })
 public class BluetoothDeviceDetailsFragmentTest {
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
 
     private static final String TEST_ADDRESS = "55:66:77:88:99:AA";
 
@@ -101,6 +108,8 @@
     private InputManager mInputManager;
     @Mock
     private CompanionDeviceManager mCompanionDeviceManager;
+    @Mock
+    private DeviceDetailsFragmentFormatter mFormatter;
 
     @Before
     public void setUp() {
@@ -111,7 +120,12 @@
                 .getSystemService(CompanionDeviceManager.class);
         when(mCompanionDeviceManager.getAllAssociations()).thenReturn(ImmutableList.of());
         removeInputDeviceWithMatchingBluetoothAddress();
-        FakeFeatureFactory.setupForTest();
+        FakeFeatureFactory fakeFeatureFactory = FakeFeatureFactory.setupForTest();
+        when(fakeFeatureFactory.mBluetoothFeatureProvider.getDeviceDetailsFragmentFormatter(any(),
+                any(), any(), eq(mCachedDevice))).thenReturn(mFormatter);
+        when(mFormatter.getVisiblePreferenceKeys(
+                        FragmentTypeModel.DeviceDetailsMainFragment.INSTANCE))
+                .thenReturn(null);
 
         mFragment = setupFragment();
         mFragment.onAttach(mContext);
@@ -165,6 +179,7 @@
     }
 
     @Test
+    @DisableFlags(Flags.FLAG_ENABLE_BLUETOOTH_DEVICE_DETAILS_POLISH)
     public void getTitle_displayEditTitle() {
         mFragment.onCreateOptionsMenu(mMenu, mInflater);
 
@@ -201,6 +216,7 @@
     }
 
     @Test
+    @DisableFlags(Flags.FLAG_ENABLE_BLUETOOTH_DEVICE_DETAILS_POLISH)
     public void editMenu_clicked_showDialog() {
         mFragment.onCreateOptionsMenu(mMenu, mInflater);
         final MenuItem item = mMenu.getItem(0);
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDevicePreferenceTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDevicePreferenceTest.java
index 03113421..ba90ccf 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDevicePreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDevicePreferenceTest.java
@@ -18,10 +18,10 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.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;
@@ -32,22 +32,31 @@
 import android.graphics.drawable.Drawable;
 import android.os.UserManager;
 import android.util.Pair;
-import android.view.ContextThemeWrapper;
+
+import androidx.test.core.app.ApplicationProvider;
 
 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.ShadowAlertDialogCompat;
+import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
+
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
@@ -57,18 +66,21 @@
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowAlertDialogCompat.class})
+@Config(shadows = {ShadowAlertDialogCompat.class,
+        com.android.settings.testutils.shadow.ShadowBluetoothUtils.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 String TEST_MAC_ADDRESS = "04:52:C7:0B:D8:3C";
+    private static final String TEST_MAC_ADDRESS_1 = "05:52:C7:0B:D8:3C";
+    private static final String TEST_MAC_ADDRESS_2 = "06:52:C7:0B:D8:3C";
+    private static final String TEST_MAC_ADDRESS_3 = "07:52:C7:0B:D8:3C";
     private static final Comparator<BluetoothDevicePreference> COMPARATOR =
             Comparator.naturalOrder();
     private static final String FAKE_DESCRIPTION = "fake_description";
+    private static final int TEST_DEVICE_GROUP_ID = 1;
 
-    private Context mContext;
+    @Rule
+    public final MockitoRule mockito = MockitoJUnit.rule();
     @Mock
     private CachedBluetoothDevice mCachedBluetoothDevice;
     @Mock
@@ -89,35 +101,37 @@
     private Drawable mDrawable;
     @Mock
     private BluetoothAdapter mBluetoothAdapter;
+    @Mock
+    private LocalBluetoothManager mLocalBluetoothManager;
+    @Mock
+    private CachedBluetoothDeviceManager mDeviceManager;
 
+    private Context mContext = ApplicationProvider.getApplicationContext();
     private FakeFeatureFactory mFakeFeatureFactory;
     private MetricsFeatureProvider mMetricsFeatureProvider;
+
     private BluetoothDevicePreference mPreference;
     private List<BluetoothDevicePreference> mPreferenceList = new ArrayList<>();
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        Context context = spy(RuntimeEnvironment.application.getApplicationContext());
-        mContext = new ContextThemeWrapper(context, R.style.Theme_Settings);
+        mContext.setTheme(R.style.Theme_Settings);
         mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
         mMetricsFeatureProvider = mFakeFeatureFactory.getMetricsFeatureProvider();
-        when(mCachedBluetoothDevice.getAddress()).thenReturn(MAC_ADDRESS);
-        when(mCachedBluetoothDevice.getDrawableWithDescription())
-                .thenReturn(new Pair<>(mDrawable, FAKE_DESCRIPTION));
-        when(mCachedBluetoothDevice.getDevice()).thenReturn(mBluetoothDevice);
-        when(mCachedDevice1.getAddress()).thenReturn(MAC_ADDRESS_2);
-        when(mCachedDevice1.getDrawableWithDescription())
-                .thenReturn(new Pair<>(mDrawable, FAKE_DESCRIPTION));
-        when(mCachedDevice1.getDevice()).thenReturn(mBluetoothDevice1);
-        when(mCachedDevice2.getAddress()).thenReturn(MAC_ADDRESS_3);
-        when(mCachedDevice2.getDrawableWithDescription())
-                .thenReturn(new Pair<>(mDrawable, FAKE_DESCRIPTION));
-        when(mCachedDevice2.getDevice()).thenReturn(mBluetoothDevice2);
-        when(mCachedDevice3.getAddress()).thenReturn(MAC_ADDRESS_4);
-        when(mCachedDevice3.getDrawableWithDescription())
-                .thenReturn(new Pair<>(mDrawable, FAKE_DESCRIPTION));
-        when(mCachedDevice3.getDevice()).thenReturn(mBluetoothDevice3);
+        ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager;
+        mLocalBluetoothManager = Utils.getLocalBtManager(mContext);
+        when(mLocalBluetoothManager.getCachedDeviceManager()).thenReturn(mDeviceManager);
+        prepareCachedBluetoothDevice(mCachedBluetoothDevice, TEST_MAC_ADDRESS,
+                new Pair<>(mDrawable, FAKE_DESCRIPTION), TEST_DEVICE_GROUP_ID, mBluetoothDevice);
+        prepareCachedBluetoothDevice(mCachedDevice1, TEST_MAC_ADDRESS_1,
+                new Pair<>(mDrawable, FAKE_DESCRIPTION), TEST_DEVICE_GROUP_ID, mBluetoothDevice1);
+        prepareCachedBluetoothDevice(mCachedDevice2, TEST_MAC_ADDRESS_2,
+                new Pair<>(mDrawable, FAKE_DESCRIPTION), TEST_DEVICE_GROUP_ID, mBluetoothDevice2);
+        prepareCachedBluetoothDevice(mCachedDevice3, TEST_MAC_ADDRESS_3,
+                new Pair<>(mDrawable, FAKE_DESCRIPTION), TEST_DEVICE_GROUP_ID, mBluetoothDevice3);
+        when(mDeviceManager.getCachedDevicesCopy()).thenReturn(
+                ImmutableList.of(mCachedBluetoothDevice));
+
         mPreference = new BluetoothDevicePreference(mContext, mCachedBluetoothDevice,
                 SHOW_DEVICES_WITHOUT_NAMES, BluetoothDevicePreference.SortType.TYPE_DEFAULT);
         mPreference.mBluetoothAdapter = mBluetoothAdapter;
@@ -301,7 +315,8 @@
         // callback is not removed.
         mPreference.onAttached();
 
-        verify(mCachedBluetoothDevice, times(1)).registerCallback(any());
+        verify(mCachedBluetoothDevice, times(1)).registerCallback(eq(mContext.getMainExecutor()),
+                any());
         verify(mBluetoothAdapter, times(1)).addOnMetadataChangedListener(any(), any(), any());
     }
 
@@ -313,7 +328,99 @@
         mPreference.onAttached();
 
         verify(mCachedBluetoothDevice, times(1)).unregisterCallback(any());
-        verify(mCachedBluetoothDevice, times(2)).registerCallback(any());
+        verify(mCachedBluetoothDevice, times(2)).registerCallback(eq(mContext.getMainExecutor()),
+                any());
         verify(mBluetoothAdapter, times(2)).addOnMetadataChangedListener(any(), any(), any());
     }
+
+    @Test
+    public void onDeviceAttributesChanged_updatePreference() {
+        when(mCachedBluetoothDevice.getName()).thenReturn("Name");
+        mPreference.onAttached();
+        final String updatedName = "updatedName";
+        when(mCachedBluetoothDevice.getName()).thenReturn(updatedName);
+
+        getCachedBluetoothDeviceCallback().onDeviceAttributesChanged();
+
+        assertThat(mPreference.getTitle().toString()).isEqualTo(updatedName);
+    }
+
+    @Test
+    public void onAttached_memberDevicesAdded_registerAllCallback() {
+        when(mCachedBluetoothDevice.getMemberDevice()).thenReturn(
+                ImmutableSet.of(mCachedDevice1, mCachedDevice2, mCachedDevice3));
+        when(mDeviceManager.getCachedDevicesCopy()).thenReturn(
+                ImmutableList.of(mCachedBluetoothDevice, mCachedDevice1, mCachedDevice2,
+                        mCachedDevice3));
+        mPreference = new BluetoothDevicePreference(mContext, mCachedBluetoothDevice,
+                SHOW_DEVICES_WITHOUT_NAMES, BluetoothDevicePreference.SortType.TYPE_DEFAULT);
+
+        mPreference.onAttached();
+
+        verify(mCachedBluetoothDevice).registerCallback(eq(mContext.getMainExecutor()), any());
+        verify(mCachedDevice1).registerCallback(eq(mContext.getMainExecutor()), any());
+        verify(mCachedDevice2).registerCallback(eq(mContext.getMainExecutor()), any());
+        verify(mCachedDevice3).registerCallback(eq(mContext.getMainExecutor()), any());
+    }
+
+    @Test
+    public void onDetached_memberDevicesAdded_unregisterAllCallback() {
+        when(mCachedBluetoothDevice.getMemberDevice()).thenReturn(
+                ImmutableSet.of(mCachedDevice1, mCachedDevice2, mCachedDevice3));
+        when(mDeviceManager.getCachedDevicesCopy()).thenReturn(
+                ImmutableList.of(mCachedBluetoothDevice, mCachedDevice1, mCachedDevice2,
+                        mCachedDevice3));
+        mPreference = new BluetoothDevicePreference(mContext, mCachedBluetoothDevice,
+                SHOW_DEVICES_WITHOUT_NAMES, BluetoothDevicePreference.SortType.TYPE_DEFAULT);
+
+        mPreference.onAttached();
+        mPreference.onDetached();
+
+        verify(mCachedBluetoothDevice).unregisterCallback(any());
+        verify(mCachedDevice1).unregisterCallback(any());
+        verify(mCachedDevice2).unregisterCallback(any());
+        verify(mCachedDevice3).unregisterCallback(any());
+    }
+
+    @Test
+    public void onDeviceAttributesChanged_memberDevicesChanged_registerOnlyExistDeviceCallback() {
+        when(mCachedBluetoothDevice.getMemberDevice()).thenReturn(
+                ImmutableSet.of(mCachedDevice1, mCachedDevice2, mCachedDevice3));
+        when(mDeviceManager.getCachedDevicesCopy()).thenReturn(
+                ImmutableList.of(mCachedBluetoothDevice, mCachedDevice1, mCachedDevice2,
+                        mCachedDevice3));
+        mPreference = new BluetoothDevicePreference(mContext, mCachedBluetoothDevice,
+                SHOW_DEVICES_WITHOUT_NAMES, BluetoothDevicePreference.SortType.TYPE_DEFAULT);
+        mPreference.onAttached();
+        when(mCachedBluetoothDevice.getMemberDevice()).thenReturn(
+                ImmutableSet.of(mCachedDevice1, mCachedDevice2));
+        when(mDeviceManager.getCachedDevicesCopy()).thenReturn(
+                ImmutableList.of(mCachedBluetoothDevice, mCachedDevice1, mCachedDevice2));
+
+        getCachedBluetoothDeviceCallback().onDeviceAttributesChanged();
+
+        verify(mCachedBluetoothDevice, times(2)).registerCallback(eq(mContext.getMainExecutor()),
+                any());
+        verify(mCachedDevice1, times(2)).registerCallback(eq(mContext.getMainExecutor()), any());
+        verify(mCachedDevice2, times(2)).registerCallback(eq(mContext.getMainExecutor()), any());
+        verify(mCachedDevice3, times(1)).registerCallback(eq(mContext.getMainExecutor()), any());
+    }
+
+    private void prepareCachedBluetoothDevice(CachedBluetoothDevice cachedDevice, String address,
+            Pair<Drawable, String> drawableWithDescription, int groupId,
+            BluetoothDevice bluetoothDevice) {
+        when(cachedDevice.getAddress()).thenReturn(address);
+        when(cachedDevice.getDrawableWithDescription()).thenReturn(drawableWithDescription);
+        when(cachedDevice.getGroupId()).thenReturn(groupId);
+        when(cachedDevice.getDevice()).thenReturn(bluetoothDevice);
+    }
+
+    private CachedBluetoothDevice.Callback getCachedBluetoothDeviceCallback() {
+        ArgumentCaptor<CachedBluetoothDevice.Callback> callbackCaptor = ArgumentCaptor.forClass(
+                CachedBluetoothDevice.Callback.class);
+        verify(mCachedBluetoothDevice).registerCallback(eq(mContext.getMainExecutor()),
+                callbackCaptor.capture());
+
+        return callbackCaptor.getValue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java
index d165aa5..4bfe335 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java
@@ -275,7 +275,7 @@
         }
 
         @Override
-        protected String getPreferenceKey() {
+        protected String getPreferenceKeyPrefix() {
             return "test_bt";
         }
     }
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothKeyMissingDialogTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothKeyMissingDialogTest.java
new file mode 100644
index 0000000..a47101e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothKeyMissingDialogTest.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.settings.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.robolectric.shadows.ShadowLooper.shadowMainLooper;
+
+import android.bluetooth.BluetoothDevice;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.FragmentActivity;
+
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowAlertDialogCompat.class)
+public class BluetoothKeyMissingDialogTest {
+    @Mock private BluetoothDevice mBluetoothDevice;
+
+    private BluetoothKeyMissingDialogFragment mFragment = null;
+    private FragmentActivity mActivity = null;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mActivity = Robolectric.setupActivity(FragmentActivity.class);
+        mFragment = new BluetoothKeyMissingDialogFragment(mBluetoothDevice);
+        mActivity
+                .getSupportFragmentManager()
+                .beginTransaction()
+                .add(mFragment, null)
+                .commit();
+        shadowMainLooper().idle();
+    }
+
+    @Test
+    public void clickForgetDevice_removeBond() {
+        mFragment.onClick(mFragment.getDialog(), AlertDialog.BUTTON_POSITIVE);
+
+        verify(mBluetoothDevice).removeBond();
+        assertThat(mActivity.isFinishing()).isTrue();
+    }
+
+    @Test
+    public void clickCancel_notRemoveBond() {
+        mFragment.onClick(mFragment.getDialog(), AlertDialog.BUTTON_NEGATIVE);
+
+        verify(mBluetoothDevice, never()).removeBond();
+        assertThat(mActivity.isFinishing()).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothKeyMissingReceiverTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothKeyMissingReceiverTest.java
new file mode 100644
index 0000000..c764ed6
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothKeyMissingReceiverTest.java
@@ -0,0 +1,160 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.bluetooth;
+
+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.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoInteractions;
+import static org.mockito.Mockito.when;
+
+import android.app.Notification;
+import android.app.NotificationManager;
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.os.UserHandle;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import com.android.settings.flags.Flags;
+import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
+import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadow.api.Shadow;
+import org.robolectric.shadows.ShadowApplication;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowBluetoothAdapter.class, ShadowBluetoothUtils.class})
+public class BluetoothKeyMissingReceiverTest {
+    @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    private Context mContext;
+    private ShadowApplication mShadowApplication;
+    private ShadowBluetoothAdapter mShadowBluetoothAdapter;
+    @Mock private LocalBluetoothManager mLocalBtManager;
+    @Mock private NotificationManager mNm;
+    @Mock private BluetoothDevice mBluetoothDevice;
+
+    @Before
+    public void setUp() {
+        mContext = spy(RuntimeEnvironment.getApplication());
+        mShadowApplication = Shadow.extract(mContext);
+        mShadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+        mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+        mShadowBluetoothAdapter.setEnabled(true);
+        ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBtManager;
+    }
+
+    @After
+    public void tearDown() {
+        ShadowBluetoothUtils.reset();
+    }
+
+    @Test
+    public void broadcastReceiver_isRegistered() {
+        List<ShadowApplication.Wrapper> registeredReceivers =
+                mShadowApplication.getRegisteredReceivers();
+
+        int matchedCount =
+                registeredReceivers.stream()
+                        .filter(
+                                receiver ->
+                                        BluetoothKeyMissingReceiver.class
+                                                .getSimpleName()
+                                                .equals(
+                                                        receiver.broadcastReceiver
+                                                                .getClass()
+                                                                .getSimpleName()))
+                        .collect(Collectors.toList())
+                        .size();
+        assertThat(matchedCount).isEqualTo(1);
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_ENABLE_BLUETOOTH_KEY_MISSING_DIALOG)
+    public void broadcastReceiver_receiveKeyMissingIntentFlagOff_doNothing() {
+        Intent intent = spy(new Intent(BluetoothDevice.ACTION_KEY_MISSING));
+        when(intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE)).thenReturn(mBluetoothDevice);
+        BluetoothKeyMissingReceiver bluetoothKeyMissingReceiver = getReceiver(intent);
+        bluetoothKeyMissingReceiver.onReceive(mContext, intent);
+
+        verifyNoInteractions(mNm);
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_BLUETOOTH_KEY_MISSING_DIALOG)
+    public void broadcastReceiver_background_showNotification() {
+        Intent intent = spy(new Intent(BluetoothDevice.ACTION_KEY_MISSING));
+        when(intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE)).thenReturn(mBluetoothDevice);
+        BluetoothKeyMissingReceiver bluetoothKeyMissingReceiver = getReceiver(intent);
+        bluetoothKeyMissingReceiver.onReceive(mContext, intent);
+
+        verify(mNm).notify(eq(android.R.drawable.stat_sys_data_bluetooth), any(Notification.class));
+        verify(mContext, never()).startActivityAsUser(any(), any());
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_BLUETOOTH_KEY_MISSING_DIALOG)
+    public void broadcastReceiver_foreground_receiveKeyMissingIntent_showDialog() {
+        when(mLocalBtManager.isForegroundActivity()).thenReturn(true);
+        Intent intent = spy(new Intent(BluetoothDevice.ACTION_KEY_MISSING));
+        when(intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE)).thenReturn(mBluetoothDevice);
+        BluetoothKeyMissingReceiver bluetoothKeyMissingReceiver = getReceiver(intent);
+        bluetoothKeyMissingReceiver.onReceive(mContext, intent);
+
+        verifyNoInteractions(mNm);
+        ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
+        verify(mContext).startActivityAsUser(captor.capture(), eq(UserHandle.CURRENT));
+        assertThat(captor.getValue().getComponent().getClassName())
+                .isEqualTo(BluetoothKeyMissingDialog.class.getName());
+    }
+
+    private BluetoothKeyMissingReceiver getReceiver(Intent intent) {
+        assertThat(mShadowApplication.hasReceiverForIntent(intent)).isTrue();
+        List<BroadcastReceiver> receiversForIntent =
+                mShadowApplication.getReceiversForIntent(intent);
+        assertThat(receiversForIntent).hasSize(1);
+        BroadcastReceiver broadcastReceiver = receiversForIntent.get(0);
+        assertThat(broadcastReceiver).isInstanceOf(BluetoothKeyMissingReceiver.class);
+        return (BluetoothKeyMissingReceiver) broadcastReceiver;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingControllerTest.java
index a7dc17d..0b2d537 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingControllerTest.java
@@ -30,7 +30,6 @@
 import android.content.Intent;
 import android.os.Parcel;
 
-import com.android.settings.core.SettingsUIDeviceConfig;
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
 import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
 import com.android.settings.testutils.shadow.ShadowDeviceConfig;
@@ -178,29 +177,10 @@
     }
 
     @Test
-    public void isLeContactSharingEnabled_configIsFalse_returnsFalse() {
-        mockIsLeContactSharingEnabled(false);
-
-        mBluetoothPairingController = createBluetoothPairingController();
-
-        assertThat(mBluetoothPairingController.isLeContactSharingEnabled()).isFalse();
-    }
-
-    @Test
-    public void isLeContactSharingEnabled_configIsTrue_returnsTrue() {
-        mockIsLeContactSharingEnabled(true);
-
-        mBluetoothPairingController = createBluetoothPairingController();
-
-        assertThat(mBluetoothPairingController.isLeContactSharingEnabled()).isTrue();
-    }
-
-    @Test
     public void isContactSharingVisible_profileIsNotReady_returnsTrue() {
-        // isProfileReady=false, isLeAudio=false, isLeContactSharingEnabled=true
+        // isProfileReady=false, isLeAudio=false
         mockIsProfileReady(false);
         mockIsLeAudio(false);
-        mockIsLeContactSharingEnabled(true);
 
         mBluetoothPairingController = createBluetoothPairingController();
         mBluetoothPairingController.mockPbapClientProfile(mPbapLocalBluetoothProfile);
@@ -210,10 +190,9 @@
 
     @Test
     public void isContactSharingVisible_profileIsReady_returnsFalse() {
-        // isProfileReady=true, isLeAudio=false, isLeContactSharingEnabled=true
+        // isProfileReady=true, isLeAudio=false
         mockIsProfileReady(true);
         mockIsLeAudio(false);
-        mockIsLeContactSharingEnabled(true);
 
         mBluetoothPairingController = createBluetoothPairingController();
         mBluetoothPairingController.mockPbapClientProfile(mPbapLocalBluetoothProfile);
@@ -223,10 +202,9 @@
 
     @Test
     public void isContactSharingVisible_DeviceIsLeAudioAndProfileIsReady_returnsFalse() {
-        // isProfileReady=true, isLeAudio=true, isLeContactSharingEnabled=true
+        // isProfileReady=true, isLeAudio=true
         mockIsProfileReady(true);
         mockIsLeAudio(true);
-        mockIsLeContactSharingEnabled(true);
 
         mBluetoothPairingController = createBluetoothPairingController();
         mBluetoothPairingController.mockPbapClientProfile(mPbapLocalBluetoothProfile);
@@ -236,10 +214,9 @@
 
     @Test
     public void isContactSharingVisible_DeviceIsLeAudioAndProfileIsNotReady_returnsTrue() {
-        // isProfileReady=false, isLeAudio=true, isLeContactSharingEnabled=true
+        // isProfileReady=false, isLeAudio=true
         mockIsProfileReady(false);
         mockIsLeAudio(true);
-        mockIsLeContactSharingEnabled(true);
 
         mBluetoothPairingController = createBluetoothPairingController();
         mBluetoothPairingController.mockPbapClientProfile(mPbapLocalBluetoothProfile);
@@ -247,19 +224,6 @@
         assertThat(mBluetoothPairingController.isContactSharingVisible()).isTrue();
     }
 
-    @Test
-    public void isContactSharingVisible_DeviceIsLeAndContactSharingIsNotEnabled_returnsFalse() {
-        // isProfileReady=false, isLeAudio=true, isLeContactSharingEnabled=false
-        mockIsProfileReady(false);
-        mockIsLeAudio(true);
-        mockIsLeContactSharingEnabled(false);
-
-        mBluetoothPairingController = createBluetoothPairingController();
-        mBluetoothPairingController.mockPbapClientProfile(mPbapLocalBluetoothProfile);
-
-        assertThat(mBluetoothPairingController.isContactSharingVisible()).isFalse();
-    }
-
     private void mockIsProfileReady(boolean mockValue) {
         when(mPbapLocalBluetoothProfile.isProfileReady()).thenReturn(mockValue);
     }
@@ -271,11 +235,4 @@
         }
         when(mLocalBluetoothProfile.getProfileId()).thenReturn(profileId);
     }
-
-    private void mockIsLeContactSharingEnabled(boolean mockValue) {
-        android.provider.DeviceConfig.setProperty(
-                android.provider.DeviceConfig.NAMESPACE_SETTINGS_UI,
-                SettingsUIDeviceConfig.BT_LE_AUDIO_CONTACT_SHARING_ENABLED,
-                /* value= */ mockValue ? "true" : "false", true);
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/bluetooth/GeneralBluetoothDetailsHeaderControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/GeneralBluetoothDetailsHeaderControllerTest.java
new file mode 100644
index 0000000..8b1fe2a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/bluetooth/GeneralBluetoothDetailsHeaderControllerTest.java
@@ -0,0 +1,174 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.when;
+
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothProfile;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.widget.TextView;
+
+import com.android.settings.R;
+import com.android.settings.flags.Flags;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowDeviceConfig;
+import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
+import com.android.settingslib.bluetooth.LeAudioProfile;
+import com.android.settingslib.widget.LayoutPreference;
+
+import org.junit.After;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowDeviceConfig.class})
+public class GeneralBluetoothDetailsHeaderControllerTest
+        extends BluetoothDetailsControllerTestBase {
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    private GeneralBluetoothDetailsHeaderController mController;
+    private LayoutPreference mPreference;
+
+    @Mock private BluetoothDevice mBluetoothDevice;
+    @Mock private LeAudioProfile mLeAudioProfile;
+
+    @Override
+    public void setUp() {
+        super.setUp();
+        FakeFeatureFactory.setupForTest();
+        mController =
+                new GeneralBluetoothDetailsHeaderController(
+                        mContext, mFragment, mCachedDevice, mLifecycle);
+        mPreference = new LayoutPreference(mContext, R.layout.general_bt_entity_header);
+        mPreference.setKey(mController.getPreferenceKey());
+        mScreen.addPreference(mPreference);
+        setupDevice(mDeviceConfig);
+        when(mCachedDevice.getDevice()).thenReturn(mBluetoothDevice);
+        when(mLeAudioProfile.getProfileId()).thenReturn(BluetoothProfile.LE_AUDIO);
+    }
+
+    @After
+    public void tearDown() {
+        ShadowEntityHeaderController.reset();
+    }
+
+    /**
+     * Test to verify the current test context object works so that we are not checking null against
+     * null
+     */
+    @Test
+    public void testContextMock() {
+        assertThat(mContext.getString(com.android.settingslib.R.string.bluetooth_connected))
+                .isNotNull();
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_BLUETOOTH_DEVICE_DETAILS_POLISH)
+    public void header() {
+        when(mCachedDevice.getName()).thenReturn("device name");
+        when(mCachedDevice.getConnectionSummary()).thenReturn("Active");
+
+        showScreen(mController);
+
+        TextView deviceName = mPreference.findViewById(R.id.bt_header_device_name);
+        TextView summary = mPreference.findViewById(R.id.bt_header_connection_summary);
+        assertThat(deviceName.getText().toString()).isEqualTo("device name");
+        assertThat(summary.getText().toString()).isEqualTo("Active");
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_BLUETOOTH_DEVICE_DETAILS_POLISH)
+    public void connectionStatusChangesWhileScreenOpen() {
+        TextView summary = mPreference.findViewById(R.id.bt_header_connection_summary);
+        when(mCachedDevice.getConnectionSummary())
+                .thenReturn(
+                        mContext.getString(com.android.settingslib.R.string.bluetooth_connected));
+
+        showScreen(mController);
+        String summaryText1 = summary.getText().toString();
+        when(mCachedDevice.getConnectionSummary()).thenReturn(null);
+        mController.onDeviceAttributesChanged();
+        String summaryText2 = summary.getText().toString();
+        when(mCachedDevice.getConnectionSummary())
+                .thenReturn(
+                        mContext.getString(com.android.settingslib.R.string.bluetooth_connecting));
+        mController.onDeviceAttributesChanged();
+        String summaryText3 = summary.getText().toString();
+
+        assertThat(summaryText1)
+                .isEqualTo(
+                        mContext.getString(com.android.settingslib.R.string.bluetooth_connected));
+        assertThat(summaryText2).isEqualTo("");
+        assertThat(summaryText3)
+                .isEqualTo(
+                        mContext.getString(com.android.settingslib.R.string.bluetooth_connecting));
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_BLUETOOTH_DEVICE_DETAILS_POLISH)
+    public void isAvailable_untetheredHeadset_returnFalse() {
+        when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_IS_UNTETHERED_HEADSET))
+                .thenReturn("true".getBytes());
+
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_BLUETOOTH_DEVICE_DETAILS_POLISH)
+    public void isAvailable_notUntetheredHeadset_returnTrue() {
+        when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_IS_UNTETHERED_HEADSET))
+                .thenReturn("false".getBytes());
+
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_BLUETOOTH_DEVICE_DETAILS_POLISH)
+    public void isAvailable_leAudioDevice_returnFalse() {
+        when(mCachedDevice.getUiAccessibleProfiles())
+                .thenReturn(List.of(mLeAudioProfile));
+
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_BLUETOOTH_DEVICE_DETAILS_POLISH)
+    public void isAvailable_flagEnabled_returnTrue() {
+        when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_IS_UNTETHERED_HEADSET))
+                .thenReturn("false".getBytes());
+
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_ENABLE_BLUETOOTH_DEVICE_DETAILS_POLISH)
+    public void iaAvailable_flagDisabled_returnFalse() {
+        assertThat(mController.isAvailable()).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/bluetooth/domain/interactor/SpatialAudioInteractorTest.kt b/tests/robotests/src/com/android/settings/bluetooth/domain/interactor/SpatialAudioInteractorTest.kt
new file mode 100644
index 0000000..a83b7c2
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/bluetooth/domain/interactor/SpatialAudioInteractorTest.kt
@@ -0,0 +1,254 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.bluetooth.domain.interactor
+
+import android.bluetooth.BluetoothDevice
+import android.bluetooth.BluetoothProfile
+import android.content.Context
+import android.media.AudioDeviceAttributes
+import android.media.AudioDeviceInfo
+import android.media.AudioManager
+import androidx.test.core.app.ApplicationProvider
+import com.android.settingslib.bluetooth.CachedBluetoothDevice
+import com.android.settingslib.bluetooth.LeAudioProfile
+import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingModel
+import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingStateModel
+import com.android.settingslib.media.data.repository.SpatializerRepository
+import com.android.settingslib.media.domain.interactor.SpatializerInteractor
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.launchIn
+import kotlinx.coroutines.flow.onEach
+import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.runCurrent
+import kotlinx.coroutines.test.runTest
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.Mock
+import org.mockito.Mockito.spy
+import org.mockito.Mockito.times
+import org.mockito.Mockito.verify
+import org.mockito.Mockito.verifyNoInteractions
+import org.mockito.Mockito.`when`
+import org.mockito.junit.MockitoJUnit
+import org.mockito.junit.MockitoRule
+import org.robolectric.RobolectricTestRunner
+
+@OptIn(ExperimentalCoroutinesApi::class)
+@RunWith(RobolectricTestRunner::class)
+class SpatialAudioInteractorTest {
+    @get:Rule val mockitoRule: MockitoRule = MockitoJUnit.rule()
+
+    @Mock private lateinit var audioManager: AudioManager
+    @Mock private lateinit var cachedDevice: CachedBluetoothDevice
+    @Mock private lateinit var bluetoothDevice: BluetoothDevice
+    @Mock private lateinit var spatializerRepository: SpatializerRepository
+    @Mock private lateinit var leAudioProfile: LeAudioProfile
+
+    private lateinit var underTest: SpatialAudioInteractor
+    private val testScope = TestScope()
+
+    @Before
+    fun setUp() {
+        val context = spy(ApplicationProvider.getApplicationContext<Context>())
+        `when`(cachedDevice.device).thenReturn(bluetoothDevice)
+        `when`(cachedDevice.address).thenReturn(BLUETOOTH_ADDRESS)
+        `when`(leAudioProfile.profileId).thenReturn(BluetoothProfile.LE_AUDIO)
+        underTest =
+            SpatialAudioInteractorImpl(
+                context,
+                audioManager,
+                SpatializerInteractor(spatializerRepository),
+                testScope.backgroundScope,
+                testScope.testScheduler)
+    }
+
+    @Test
+    fun getDeviceSetting_noAudioProfile_returnNull() {
+        testScope.runTest {
+            val setting = getLatestValue(underTest.getDeviceSetting(cachedDevice))
+
+            assertThat(setting).isNull()
+            verifyNoInteractions(spatializerRepository)
+        }
+    }
+
+    @Test
+    fun getDeviceSetting_audioProfileNotEnabled_returnNull() {
+        testScope.runTest {
+            `when`(cachedDevice.profiles).thenReturn(listOf(leAudioProfile))
+            `when`(leAudioProfile.isEnabled(bluetoothDevice)).thenReturn(false)
+
+            val setting = getLatestValue(underTest.getDeviceSetting(cachedDevice))
+
+            assertThat(setting).isNull()
+            verifyNoInteractions(spatializerRepository)
+        }
+    }
+
+    @Test
+    fun getDeviceSetting_spatialAudioNotSupported_returnNull() {
+        testScope.runTest {
+            `when`(cachedDevice.profiles).thenReturn(listOf(leAudioProfile))
+            `when`(leAudioProfile.isEnabled(bluetoothDevice)).thenReturn(true)
+            `when`(
+                    spatializerRepository.isSpatialAudioAvailableForDevice(
+                        BLE_AUDIO_DEVICE_ATTRIBUTES))
+                .thenReturn(false)
+
+            val setting = getLatestValue(underTest.getDeviceSetting(cachedDevice))
+
+            assertThat(setting).isNull()
+        }
+    }
+
+    @Test
+    fun getDeviceSetting_spatialAudioSupported_returnTwoToggles() {
+        testScope.runTest {
+            `when`(cachedDevice.profiles).thenReturn(listOf(leAudioProfile))
+            `when`(leAudioProfile.isEnabled(bluetoothDevice)).thenReturn(true)
+            `when`(
+                    spatializerRepository.isSpatialAudioAvailableForDevice(
+                        BLE_AUDIO_DEVICE_ATTRIBUTES))
+                .thenReturn(true)
+            `when`(
+                    spatializerRepository.isHeadTrackingAvailableForDevice(
+                        BLE_AUDIO_DEVICE_ATTRIBUTES))
+                .thenReturn(false)
+            `when`(spatializerRepository.getSpatialAudioCompatibleDevices())
+                .thenReturn(listOf(BLE_AUDIO_DEVICE_ATTRIBUTES))
+            `when`(spatializerRepository.isHeadTrackingEnabled(BLE_AUDIO_DEVICE_ATTRIBUTES))
+                .thenReturn(false)
+
+            val setting =
+                getLatestValue(underTest.getDeviceSetting(cachedDevice))
+                    as DeviceSettingModel.MultiTogglePreference
+
+            assertThat(setting).isNotNull()
+            assertThat(setting.toggles.size).isEqualTo(2)
+            assertThat(setting.state.selectedIndex).isEqualTo(1)
+        }
+    }
+
+    @Test
+    fun getDeviceSetting_headTrackingSupported_returnThreeToggles() {
+        testScope.runTest {
+            `when`(cachedDevice.profiles).thenReturn(listOf(leAudioProfile))
+            `when`(leAudioProfile.isEnabled(bluetoothDevice)).thenReturn(true)
+            `when`(
+                    spatializerRepository.isSpatialAudioAvailableForDevice(
+                        BLE_AUDIO_DEVICE_ATTRIBUTES))
+                .thenReturn(true)
+            `when`(
+                    spatializerRepository.isHeadTrackingAvailableForDevice(
+                        BLE_AUDIO_DEVICE_ATTRIBUTES))
+                .thenReturn(true)
+            `when`(spatializerRepository.getSpatialAudioCompatibleDevices())
+                .thenReturn(listOf(BLE_AUDIO_DEVICE_ATTRIBUTES))
+            `when`(spatializerRepository.isHeadTrackingEnabled(BLE_AUDIO_DEVICE_ATTRIBUTES))
+                .thenReturn(true)
+
+            val setting =
+                getLatestValue(underTest.getDeviceSetting(cachedDevice))
+                    as DeviceSettingModel.MultiTogglePreference
+
+            assertThat(setting).isNotNull()
+            assertThat(setting.toggles.size).isEqualTo(3)
+            assertThat(setting.state.selectedIndex).isEqualTo(2)
+        }
+    }
+
+    @Test
+    fun getDeviceSetting_updateState_enableSpatialAudio() {
+        testScope.runTest {
+            `when`(cachedDevice.profiles).thenReturn(listOf(leAudioProfile))
+            `when`(leAudioProfile.isEnabled(bluetoothDevice)).thenReturn(true)
+            `when`(
+                    spatializerRepository.isSpatialAudioAvailableForDevice(
+                        BLE_AUDIO_DEVICE_ATTRIBUTES))
+                .thenReturn(true)
+            `when`(
+                    spatializerRepository.isHeadTrackingAvailableForDevice(
+                        BLE_AUDIO_DEVICE_ATTRIBUTES))
+                .thenReturn(true)
+            `when`(spatializerRepository.getSpatialAudioCompatibleDevices()).thenReturn(listOf())
+            `when`(spatializerRepository.isHeadTrackingEnabled(BLE_AUDIO_DEVICE_ATTRIBUTES))
+                .thenReturn(false)
+
+            val setting =
+                getLatestValue(underTest.getDeviceSetting(cachedDevice))
+                    as DeviceSettingModel.MultiTogglePreference
+            setting.updateState(DeviceSettingStateModel.MultiTogglePreferenceState(2))
+            runCurrent()
+
+            assertThat(setting).isNotNull()
+            verify(spatializerRepository, times(1))
+                .addSpatialAudioCompatibleDevice(BLE_AUDIO_DEVICE_ATTRIBUTES)
+        }
+    }
+
+    @Test
+    fun getDeviceSetting_updateState_enableHeadTracking() {
+        testScope.runTest {
+            `when`(cachedDevice.profiles).thenReturn(listOf(leAudioProfile))
+            `when`(leAudioProfile.isEnabled(bluetoothDevice)).thenReturn(true)
+            `when`(
+                spatializerRepository.isSpatialAudioAvailableForDevice(
+                    BLE_AUDIO_DEVICE_ATTRIBUTES))
+                .thenReturn(true)
+            `when`(
+                spatializerRepository.isHeadTrackingAvailableForDevice(
+                    BLE_AUDIO_DEVICE_ATTRIBUTES))
+                .thenReturn(true)
+            `when`(spatializerRepository.getSpatialAudioCompatibleDevices()).thenReturn(listOf())
+            `when`(spatializerRepository.isHeadTrackingEnabled(BLE_AUDIO_DEVICE_ATTRIBUTES))
+                .thenReturn(false)
+
+            val setting =
+                getLatestValue(underTest.getDeviceSetting(cachedDevice))
+                    as DeviceSettingModel.MultiTogglePreference
+            setting.updateState(DeviceSettingStateModel.MultiTogglePreferenceState(2))
+            runCurrent()
+
+            assertThat(setting).isNotNull()
+            verify(spatializerRepository, times(1))
+                .addSpatialAudioCompatibleDevice(BLE_AUDIO_DEVICE_ATTRIBUTES)
+            verify(spatializerRepository, times(1))
+                .setHeadTrackingEnabled(BLE_AUDIO_DEVICE_ATTRIBUTES, true)
+        }
+    }
+
+    private fun getLatestValue(deviceSettingFlow: Flow<DeviceSettingModel?>): DeviceSettingModel? {
+        var latestValue: DeviceSettingModel? = null
+        deviceSettingFlow.onEach { latestValue = it }.launchIn(testScope.backgroundScope)
+        testScope.runCurrent()
+        return latestValue
+    }
+
+    private companion object {
+        const val BLUETOOTH_ADDRESS = "12:34:56:78:12:34"
+        val BLE_AUDIO_DEVICE_ATTRIBUTES =
+            AudioDeviceAttributes(
+                AudioDeviceAttributes.ROLE_OUTPUT,
+                AudioDeviceInfo.TYPE_BLE_HEADSET,
+                BLUETOOTH_ADDRESS,
+            )
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/bluetooth/ui/view/DeviceDetailsFragmentFormatterTest.kt b/tests/robotests/src/com/android/settings/bluetooth/ui/view/DeviceDetailsFragmentFormatterTest.kt
new file mode 100644
index 0000000..8070b2e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/bluetooth/ui/view/DeviceDetailsFragmentFormatterTest.kt
@@ -0,0 +1,301 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.bluetooth.ui.view
+
+import android.bluetooth.BluetoothAdapter
+import android.content.Context
+import android.content.Intent
+import android.graphics.Bitmap
+import android.media.AudioManager
+import android.net.Uri
+import androidx.fragment.app.FragmentActivity
+import androidx.preference.Preference
+import androidx.preference.PreferenceManager
+import androidx.preference.PreferenceScreen
+import androidx.test.core.app.ApplicationProvider
+import com.android.settings.bluetooth.domain.interactor.SpatialAudioInteractor
+import com.android.settings.bluetooth.ui.model.DeviceSettingPreferenceModel
+import com.android.settings.bluetooth.ui.model.FragmentTypeModel
+import com.android.settings.dashboard.DashboardFragment
+import com.android.settings.testutils.FakeFeatureFactory
+import com.android.settingslib.bluetooth.CachedBluetoothDevice
+import com.android.settingslib.bluetooth.devicesettings.DeviceSettingId
+import com.android.settingslib.bluetooth.devicesettings.data.repository.DeviceSettingRepository
+import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingConfigItemModel
+import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingConfigModel
+import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingIcon
+import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingModel
+import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingStateModel
+import com.android.settingslib.bluetooth.devicesettings.shared.model.ToggleModel
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.flow.launchIn
+import kotlinx.coroutines.flow.onEach
+import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.runCurrent
+import kotlinx.coroutines.test.runTest
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.ArgumentMatchers.eq
+import org.mockito.Mock
+import org.mockito.Mockito.any
+import org.mockito.Mockito.verify
+import org.mockito.Mockito.`when`
+import org.mockito.junit.MockitoJUnit
+import org.mockito.junit.MockitoRule
+import org.robolectric.Robolectric
+import org.robolectric.RobolectricTestRunner
+import org.robolectric.Shadows
+import org.robolectric.shadows.ShadowLooper
+import org.robolectric.shadows.ShadowLooper.shadowMainLooper
+
+
+@RunWith(RobolectricTestRunner::class)
+class DeviceDetailsFragmentFormatterTest {
+    @get:Rule val mockitoRule: MockitoRule = MockitoJUnit.rule()
+
+    @Mock private lateinit var cachedDevice: CachedBluetoothDevice
+    @Mock private lateinit var bluetoothAdapter: BluetoothAdapter
+    @Mock private lateinit var repository: DeviceSettingRepository
+    @Mock private lateinit var spatialAudioInteractor: SpatialAudioInteractor
+
+    private lateinit var fragment: TestFragment
+    private lateinit var underTest: DeviceDetailsFragmentFormatter
+    private lateinit var featureFactory: FakeFeatureFactory
+    private lateinit var fragmentActivity: FragmentActivity
+    private val testScope = TestScope()
+
+    @Before
+    fun setUp() {
+        val context = ApplicationProvider.getApplicationContext<Context>()
+        featureFactory = FakeFeatureFactory.setupForTest()
+        `when`(
+                featureFactory.bluetoothFeatureProvider.getDeviceSettingRepository(
+                    eq(context), eq(bluetoothAdapter), any()))
+            .thenReturn(repository)
+        `when`(
+                featureFactory.bluetoothFeatureProvider.getSpatialAudioInteractor(
+                    eq(context), any(AudioManager::class.java), any()))
+            .thenReturn(spatialAudioInteractor)
+        fragmentActivity = Robolectric.setupActivity(FragmentActivity::class.java)
+        assertThat(fragmentActivity.applicationContext).isNotNull()
+        fragment = TestFragment(context)
+        fragmentActivity.supportFragmentManager.beginTransaction().add(fragment, null).commit()
+        shadowMainLooper().idle()
+
+        fragment.preferenceScreen.run {
+            addPreference(Preference(context).apply { key = "bluetooth_device_header" })
+            addPreference(Preference(context).apply { key = "action_buttons" })
+            addPreference(Preference(context).apply { key = "keyboard_settings" })
+        }
+
+        underTest =
+            DeviceDetailsFragmentFormatterImpl(
+                context,
+                fragment,
+                bluetoothAdapter,
+                cachedDevice,
+                testScope.testScheduler)
+    }
+
+    @Test
+    fun getVisiblePreferenceKeysForMainPage_hasConfig_returnList() {
+        testScope.runTest {
+            `when`(repository.getDeviceSettingsConfig(cachedDevice))
+                .thenReturn(
+                    DeviceSettingConfigModel(
+                        listOf(
+                            DeviceSettingConfigItemModel.BuiltinItem.CommonBuiltinItem(
+                                DeviceSettingId.DEVICE_SETTING_ID_HEADER,
+                                "bluetooth_device_header"
+                            ),
+                            DeviceSettingConfigItemModel.BuiltinItem.CommonBuiltinItem(
+                                DeviceSettingId.DEVICE_SETTING_ID_ACTION_BUTTONS, "action_buttons"),
+                        ),
+                        listOf(),
+                        null))
+
+            val keys =
+                underTest.getVisiblePreferenceKeys(FragmentTypeModel.DeviceDetailsMainFragment)
+
+            assertThat(keys).containsExactly("bluetooth_device_header", "action_buttons")
+        }
+    }
+
+    @Test
+    fun getVisiblePreferenceKeysForMainPage_noConfig_returnNull() {
+        testScope.runTest {
+            `when`(repository.getDeviceSettingsConfig(cachedDevice)).thenReturn(null)
+
+            val keys =
+                underTest.getVisiblePreferenceKeys(FragmentTypeModel.DeviceDetailsMainFragment)
+
+            assertThat(keys).isNull()
+        }
+    }
+
+    @Test
+    fun getMenuItem_returnItem() {
+        testScope.runTest {
+            `when`(repository.getDeviceSettingsConfig(cachedDevice))
+                .thenReturn(
+                    DeviceSettingConfigModel(
+                        listOf(), listOf(), DeviceSettingConfigItemModel.AppProvidedItem(12345)))
+            val intent = Intent().apply {
+                setAction(Intent.ACTION_VIEW)
+                setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
+            }
+            `when`(repository.getDeviceSetting(cachedDevice, 12345))
+                .thenReturn(
+                    flowOf(
+                        DeviceSettingModel.HelpPreference(
+                            cachedDevice = cachedDevice,
+                            id = 12345,
+                            intent = intent,
+                        )))
+
+            var helpPreference: DeviceSettingPreferenceModel.HelpPreference? = null
+            underTest.getMenuItem(FragmentTypeModel.DeviceDetailsMoreSettingsFragment).onEach {
+                helpPreference = it
+            }.launchIn(testScope.backgroundScope)
+            delay(100)
+            runCurrent()
+            helpPreference!!.onClick()
+            ShadowLooper.idleMainLooper()
+
+            val shadowActivity = Shadows.shadowOf(fragmentActivity)
+            assertThat(shadowActivity.nextStartedActivity).isSameInstanceAs(intent)
+        }
+    }
+
+    @Test
+    fun updateLayout_configIsNull_notChange() {
+        testScope.runTest {
+            `when`(repository.getDeviceSettingsConfig(cachedDevice)).thenReturn(null)
+
+            underTest.updateLayout(FragmentTypeModel.DeviceDetailsMainFragment)
+
+            assertThat(getDisplayedPreferences().mapNotNull { it.key })
+                .containsExactly("bluetooth_device_header", "action_buttons", "keyboard_settings")
+        }
+    }
+
+    @Test
+    fun updateLayout_itemsNotInConfig_hide() {
+        testScope.runTest {
+            `when`(repository.getDeviceSettingsConfig(cachedDevice))
+                .thenReturn(
+                    DeviceSettingConfigModel(
+                        listOf(
+                            DeviceSettingConfigItemModel.BuiltinItem.CommonBuiltinItem(
+                                DeviceSettingId.DEVICE_SETTING_ID_HEADER,
+                                "bluetooth_device_header"),
+                            DeviceSettingConfigItemModel.BuiltinItem.CommonBuiltinItem(
+                                DeviceSettingId.DEVICE_SETTING_ID_KEYBOARD_SETTINGS,
+                                "keyboard_settings"),
+                        ),
+                        listOf(),
+                        null))
+
+            underTest.updateLayout(FragmentTypeModel.DeviceDetailsMainFragment)
+
+            assertThat(getDisplayedPreferences().mapNotNull { it.key })
+                .containsExactly("bluetooth_device_header", "keyboard_settings")
+        }
+    }
+
+    @Test
+    fun updateLayout_newItems_displayNewItems() {
+        testScope.runTest {
+            `when`(repository.getDeviceSettingsConfig(cachedDevice))
+                .thenReturn(
+                    DeviceSettingConfigModel(
+                        listOf(
+                            DeviceSettingConfigItemModel.BuiltinItem.CommonBuiltinItem(
+                                DeviceSettingId.DEVICE_SETTING_ID_HEADER,
+                                "bluetooth_device_header"),
+                            DeviceSettingConfigItemModel.AppProvidedItem(
+                                DeviceSettingId.DEVICE_SETTING_ID_ANC),
+                            DeviceSettingConfigItemModel.BuiltinItem.CommonBuiltinItem(
+                                DeviceSettingId.DEVICE_SETTING_ID_KEYBOARD_SETTINGS,
+                                "keyboard_settings"),
+                        ),
+                        listOf(),
+                        null))
+            `when`(repository.getDeviceSetting(cachedDevice, DeviceSettingId.DEVICE_SETTING_ID_ANC))
+                .thenReturn(
+                    flowOf(
+                        DeviceSettingModel.MultiTogglePreference(
+                            cachedDevice,
+                            DeviceSettingId.DEVICE_SETTING_ID_ANC,
+                            "title",
+                            toggles =
+                                listOf(
+                                    ToggleModel(
+                                        "",
+                                        DeviceSettingIcon.BitmapIcon(
+                                            Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888)))),
+                            isActive = true,
+                            state = DeviceSettingStateModel.MultiTogglePreferenceState(0),
+                            isAllowedChangingState = true,
+                            updateState = {})))
+
+            underTest.updateLayout(FragmentTypeModel.DeviceDetailsMainFragment)
+
+            assertThat(getDisplayedPreferences().mapNotNull { it.key })
+                .containsExactly(
+                    "bluetooth_device_header",
+                    "DEVICE_SETTING_${DeviceSettingId.DEVICE_SETTING_ID_ANC}",
+                    "keyboard_settings")
+        }
+    }
+
+    private fun getDisplayedPreferences(): List<Preference> {
+        val prefs = mutableListOf<Preference>()
+        for (i in 0..<fragment.preferenceScreen.preferenceCount) {
+            prefs.add(fragment.preferenceScreen.getPreference(i))
+        }
+        return prefs
+    }
+
+    class TestFragment(context: Context) : DashboardFragment() {
+        private val mPreferenceManager: PreferenceManager = PreferenceManager(context)
+
+        init {
+            mPreferenceManager.setPreferences(mPreferenceManager.createPreferenceScreen(context))
+        }
+
+        public override fun getPreferenceScreenResId(): Int = 0
+
+        override fun getLogTag(): String = "TestLogTag"
+
+        override fun getPreferenceScreen(): PreferenceScreen {
+            return mPreferenceManager.preferenceScreen
+        }
+
+        override fun getMetricsCategory(): Int = 0
+
+        override fun getPreferenceManager(): PreferenceManager {
+            return mPreferenceManager
+        }
+    }
+
+    private companion object {}
+}
diff --git a/tests/robotests/src/com/android/settings/bluetooth/ui/viewmodel/BluetoothDeviceDetailsViewModelTest.kt b/tests/robotests/src/com/android/settings/bluetooth/ui/viewmodel/BluetoothDeviceDetailsViewModelTest.kt
new file mode 100644
index 0000000..6869c23
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/bluetooth/ui/viewmodel/BluetoothDeviceDetailsViewModelTest.kt
@@ -0,0 +1,292 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.bluetooth.ui.viewmodel
+
+import android.app.Application
+import android.bluetooth.BluetoothAdapter
+import android.graphics.Bitmap
+import androidx.test.core.app.ApplicationProvider
+import com.android.settings.bluetooth.domain.interactor.SpatialAudioInteractor
+import com.android.settings.bluetooth.ui.layout.DeviceSettingLayout
+import com.android.settings.bluetooth.ui.model.DeviceSettingPreferenceModel
+import com.android.settings.bluetooth.ui.model.FragmentTypeModel
+import com.android.settings.testutils.FakeFeatureFactory
+import com.android.settingslib.bluetooth.CachedBluetoothDevice
+import com.android.settingslib.bluetooth.devicesettings.DeviceSettingId
+import com.android.settingslib.bluetooth.devicesettings.data.repository.DeviceSettingRepository
+import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingConfigItemModel
+import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingConfigModel
+import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingIcon
+import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingModel
+import com.android.settingslib.bluetooth.devicesettings.shared.model.DeviceSettingStateModel
+import com.android.settingslib.bluetooth.devicesettings.shared.model.ToggleModel
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.flow.launchIn
+import kotlinx.coroutines.flow.onEach
+import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.runCurrent
+import kotlinx.coroutines.test.runTest
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.Mock
+import org.mockito.Mockito.times
+import org.mockito.Mockito.verify
+import org.mockito.Mockito.`when`
+import org.mockito.junit.MockitoJUnit
+import org.mockito.junit.MockitoRule
+import org.robolectric.RobolectricTestRunner
+
+@OptIn(ExperimentalCoroutinesApi::class)
+@RunWith(RobolectricTestRunner::class)
+class BluetoothDeviceDetailsViewModelTest {
+    @get:Rule val mockitoRule: MockitoRule = MockitoJUnit.rule()
+
+    @Mock private lateinit var cachedDevice: CachedBluetoothDevice
+
+    @Mock private lateinit var bluetoothAdapter: BluetoothAdapter
+
+    @Mock private lateinit var repository: DeviceSettingRepository
+
+    @Mock private lateinit var spatialAudioInteractor: SpatialAudioInteractor
+
+    private lateinit var underTest: BluetoothDeviceDetailsViewModel
+    private lateinit var featureFactory: FakeFeatureFactory
+    private val testScope = TestScope()
+
+    @Before
+    fun setUp() {
+        val application = ApplicationProvider.getApplicationContext<Application>()
+        featureFactory = FakeFeatureFactory.setupForTest()
+
+        underTest =
+            BluetoothDeviceDetailsViewModel(
+                application,
+                repository,
+                spatialAudioInteractor,
+                cachedDevice,
+                testScope.testScheduler)
+    }
+
+    @Test
+    fun getItems_returnConfigMainMainItems() {
+        testScope.runTest {
+            `when`(repository.getDeviceSettingsConfig(cachedDevice))
+                .thenReturn(
+                    DeviceSettingConfigModel(
+                        listOf(BUILTIN_SETTING_ITEM_1, BUILDIN_SETTING_ITEM_2), listOf(), null))
+
+            val keys = underTest.getItems(FragmentTypeModel.DeviceDetailsMainFragment)
+
+            assertThat(keys).containsExactly(BUILTIN_SETTING_ITEM_1, BUILDIN_SETTING_ITEM_2)
+        }
+    }
+
+    @Test
+    fun getHelpItems_mainPage_returnNull() {
+        testScope.runTest {
+            `when`(repository.getDeviceSettingsConfig(cachedDevice))
+                .thenReturn(
+                    DeviceSettingConfigModel(
+                        listOf(BUILTIN_SETTING_ITEM_1, BUILDIN_SETTING_ITEM_2),
+                        listOf(),
+                        SETTING_ITEM_HELP))
+
+            val item = underTest.getHelpItem(FragmentTypeModel.DeviceDetailsMainFragment)
+
+            assertThat(item).isNull()
+        }
+    }
+
+    @Test
+    fun getHelpItems_moreSettings_returnConfigHelpItem() {
+        testScope.runTest {
+            `when`(repository.getDeviceSettingsConfig(cachedDevice))
+                .thenReturn(
+                    DeviceSettingConfigModel(
+                        listOf(BUILTIN_SETTING_ITEM_1, BUILDIN_SETTING_ITEM_2),
+                        listOf(),
+                        SETTING_ITEM_HELP))
+
+            val item = underTest.getHelpItem(FragmentTypeModel.DeviceDetailsMoreSettingsFragment)
+
+            assertThat(item).isSameInstanceAs(SETTING_ITEM_HELP)
+        }
+    }
+
+    @Test
+    fun getDeviceSetting_returnRepositoryResponse() {
+        testScope.runTest {
+            val remoteSettingId1 = 10001
+            val pref = buildMultiTogglePreference(remoteSettingId1)
+            `when`(repository.getDeviceSettingsConfig(cachedDevice))
+                .thenReturn(
+                    DeviceSettingConfigModel(
+                        listOf(
+                            BUILTIN_SETTING_ITEM_1,
+                            buildRemoteSettingItem(remoteSettingId1),
+                        ),
+                        listOf(),
+                        null))
+            `when`(repository.getDeviceSetting(cachedDevice, remoteSettingId1))
+                .thenReturn(flowOf(pref))
+
+            var deviceSettingPreference: DeviceSettingPreferenceModel? = null
+            underTest
+                .getDeviceSetting(cachedDevice, remoteSettingId1)
+                .onEach { deviceSettingPreference = it }
+                .launchIn(testScope.backgroundScope)
+            runCurrent()
+
+            assertThat(deviceSettingPreference?.id).isEqualTo(pref.id)
+            verify(repository, times(1)).getDeviceSetting(cachedDevice, remoteSettingId1)
+        }
+    }
+
+    @Test
+    fun getDeviceSetting_spatialAudio_returnSpatialAudioInteractorResponse() {
+        testScope.runTest {
+            val pref =
+                buildMultiTogglePreference(
+                    DeviceSettingId.DEVICE_SETTING_ID_SPATIAL_AUDIO_MULTI_TOGGLE)
+            `when`(repository.getDeviceSettingsConfig(cachedDevice))
+                .thenReturn(
+                    DeviceSettingConfigModel(
+                        listOf(
+                            BUILTIN_SETTING_ITEM_1,
+                            buildRemoteSettingItem(
+                                DeviceSettingId.DEVICE_SETTING_ID_SPATIAL_AUDIO_MULTI_TOGGLE),
+                        ),
+                        listOf(),
+                        null))
+            `when`(spatialAudioInteractor.getDeviceSetting(cachedDevice)).thenReturn(flowOf(pref))
+
+            var deviceSettingPreference: DeviceSettingPreferenceModel? = null
+            underTest
+                .getDeviceSetting(
+                    cachedDevice, DeviceSettingId.DEVICE_SETTING_ID_SPATIAL_AUDIO_MULTI_TOGGLE)
+                .onEach { deviceSettingPreference = it }
+                .launchIn(testScope.backgroundScope)
+            runCurrent()
+
+            assertThat(deviceSettingPreference?.id).isEqualTo(pref.id)
+            verify(spatialAudioInteractor, times(1)).getDeviceSetting(cachedDevice)
+        }
+    }
+
+    @Test
+    fun getLayout_builtinDeviceSettings() {
+        testScope.runTest {
+            `when`(repository.getDeviceSettingsConfig(cachedDevice))
+                .thenReturn(
+                    DeviceSettingConfigModel(
+                        listOf(BUILTIN_SETTING_ITEM_1, BUILDIN_SETTING_ITEM_2), listOf(), null))
+
+            val layout = underTest.getLayout(FragmentTypeModel.DeviceDetailsMainFragment)!!
+
+            assertThat(getLatestLayout(layout))
+                .isEqualTo(
+                    listOf(
+                        listOf(DeviceSettingId.DEVICE_SETTING_ID_HEADER),
+                        listOf(DeviceSettingId.DEVICE_SETTING_ID_ACTION_BUTTONS)))
+        }
+    }
+
+    @Test
+    fun getLayout_remoteDeviceSettings() {
+        val remoteSettingId1 = 10001
+        val remoteSettingId2 = 10002
+        val remoteSettingId3 = 10003
+        testScope.runTest {
+            `when`(repository.getDeviceSettingsConfig(cachedDevice))
+                .thenReturn(
+                    DeviceSettingConfigModel(
+                        listOf(
+                            BUILTIN_SETTING_ITEM_1,
+                            buildRemoteSettingItem(remoteSettingId1),
+                            buildRemoteSettingItem(remoteSettingId2),
+                            buildRemoteSettingItem(remoteSettingId3),
+                        ),
+                        listOf(),
+                        null))
+            `when`(repository.getDeviceSetting(cachedDevice, remoteSettingId1))
+                .thenReturn(flowOf(buildMultiTogglePreference(remoteSettingId1)))
+            `when`(repository.getDeviceSetting(cachedDevice, remoteSettingId2))
+                .thenReturn(flowOf(buildMultiTogglePreference(remoteSettingId2)))
+            `when`(repository.getDeviceSetting(cachedDevice, remoteSettingId3))
+                .thenReturn(flowOf(buildActionSwitchPreference(remoteSettingId3)))
+
+            val layout = underTest.getLayout(FragmentTypeModel.DeviceDetailsMainFragment)!!
+
+            assertThat(getLatestLayout(layout))
+                .isEqualTo(
+                    listOf(
+                        listOf(DeviceSettingId.DEVICE_SETTING_ID_HEADER),
+                        listOf(remoteSettingId1, remoteSettingId2),
+                        listOf(remoteSettingId3),
+                    ))
+        }
+    }
+
+    private fun getLatestLayout(layout: DeviceSettingLayout): List<List<Int>> {
+        var latestLayout = MutableList(layout.rows.size) { emptyList<Int>() }
+        for (i in layout.rows.indices) {
+            layout.rows[i]
+                .settingIds
+                .onEach { latestLayout[i] = it }
+                .launchIn(testScope.backgroundScope)
+        }
+
+        testScope.runCurrent()
+        return latestLayout.filter { !it.isEmpty() }.toList()
+    }
+
+    private fun buildMultiTogglePreference(settingId: Int) =
+        DeviceSettingModel.MultiTogglePreference(
+            cachedDevice,
+            settingId,
+            "title",
+            toggles =
+                listOf(
+                    ToggleModel(
+                        "toggle1",
+                        DeviceSettingIcon.BitmapIcon(
+                            Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888)))),
+            isActive = true,
+            state = DeviceSettingStateModel.MultiTogglePreferenceState(0),
+            isAllowedChangingState = true,
+            updateState = {})
+
+    private fun buildActionSwitchPreference(settingId: Int) =
+        DeviceSettingModel.ActionSwitchPreference(cachedDevice, settingId, "title")
+
+    private fun buildRemoteSettingItem(settingId: Int) =
+        DeviceSettingConfigItemModel.AppProvidedItem(settingId)
+
+    private companion object {
+        val BUILTIN_SETTING_ITEM_1 =
+            DeviceSettingConfigItemModel.BuiltinItem.CommonBuiltinItem(
+                DeviceSettingId.DEVICE_SETTING_ID_HEADER, "bluetooth_device_header")
+        val BUILDIN_SETTING_ITEM_2 =
+            DeviceSettingConfigItemModel.BuiltinItem.CommonBuiltinItem(
+                DeviceSettingId.DEVICE_SETTING_ID_ACTION_BUTTONS, "action_buttons")
+        val SETTING_ITEM_HELP = DeviceSettingConfigItemModel.AppProvidedItem(12345)
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java
index 33292af..ecf6d00 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java
@@ -36,7 +36,6 @@
 import com.android.settings.connecteddevice.fastpair.FastPairDeviceUpdater;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.core.PreferenceControllerListHelper;
-import com.android.settings.flags.Flags;
 import com.android.settings.slices.SlicePreferenceController;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
@@ -94,7 +93,6 @@
 
         mContext = spy(RuntimeEnvironment.application);
         mFragment = new ConnectedDeviceDashboardFragment();
-        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_SUBSEQUENT_PAIR_SETTINGS_INTEGRATION);
         mSetFlagsRule.enableFlags(com.android.settingslib.flags.Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
         mFeatureFactory = FakeFeatureFactory.setupForTest();
         when(mFeatureFactory
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceGroupControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceGroupControllerTest.java
index d28ab3b..5a9f2bc 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceGroupControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceGroupControllerTest.java
@@ -17,6 +17,8 @@
 
 import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
 import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
+import static com.android.settings.flags.Flags.FLAG_RESOLUTION_AND_ENABLE_CONNECTED_DISPLAY_SETTING;
+import static com.android.settings.flags.Flags.FLAG_ROTATION_CONNECTED_DISPLAY_SETTING;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -30,6 +32,7 @@
 import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 import android.content.pm.PackageManager;
+import android.content.res.Resources;
 import android.hardware.input.InputManager;
 import android.platform.test.annotations.EnableFlags;
 import android.platform.test.flag.junit.SetFlagsRule;
@@ -40,13 +43,16 @@
 import androidx.preference.PreferenceGroup;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.bluetooth.ConnectedBluetoothDeviceUpdater;
 import com.android.settings.bluetooth.Utils;
+import com.android.settings.connecteddevice.display.ExternalDisplayUpdater;
 import com.android.settings.connecteddevice.dock.DockUpdater;
 import com.android.settings.connecteddevice.stylus.StylusDeviceUpdater;
 import com.android.settings.connecteddevice.usb.ConnectedUsbDeviceUpdater;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.flags.FakeFeatureFlagsImpl;
 import com.android.settings.flags.Flags;
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
 import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
@@ -65,7 +71,6 @@
 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.ShadowApplicationPackageManager;
@@ -84,6 +89,8 @@
     @Mock
     private DashboardFragment mDashboardFragment;
     @Mock
+    private ExternalDisplayUpdater mExternalDisplayUpdater;
+    @Mock
     private ConnectedBluetoothDeviceUpdater mConnectedBluetoothDeviceUpdater;
     @Mock
     private ConnectedUsbDeviceUpdater mConnectedUsbDeviceUpdater;
@@ -105,6 +112,9 @@
     private CachedBluetoothDevice mCachedDevice;
     @Mock
     private BluetoothDevice mDevice;
+    @Mock
+    private Resources mResources;
+    private final FakeFeatureFlagsImpl mFakeFeatureFlags = new FakeFeatureFlagsImpl();
 
     private ShadowApplicationPackageManager mPackageManager;
     private PreferenceGroup mPreferenceGroup;
@@ -118,8 +128,10 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
+        mFakeFeatureFlags.setFlag(FLAG_ROTATION_CONNECTED_DISPLAY_SETTING, true);
+        mFakeFeatureFlags.setFlag(FLAG_RESOLUTION_AND_ENABLE_CONNECTED_DISPLAY_SETTING, true);
 
-        mContext = spy(RuntimeEnvironment.application);
+        mContext = spy(ApplicationProvider.getApplicationContext());
         mPreference = new Preference(mContext);
         mPreference.setKey(PREFERENCE_KEY_1);
         mPackageManager = (ShadowApplicationPackageManager) Shadows.shadowOf(
@@ -129,15 +141,19 @@
         doReturn(mContext).when(mDashboardFragment).getContext();
         mPackageManager.setSystemFeature(PackageManager.FEATURE_BLUETOOTH, true);
         when(mContext.getSystemService(InputManager.class)).thenReturn(mInputManager);
+        when(mContext.getResources()).thenReturn(mResources);
         when(mInputManager.getInputDeviceIds()).thenReturn(new int[]{});
 
         ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager;
         mLocalBluetoothManager = Utils.getLocalBtManager(mContext);
         when(mLocalBluetoothManager.getCachedDeviceManager()).thenReturn(mCachedDeviceManager);
 
-        mConnectedDeviceGroupController = new ConnectedDeviceGroupController(mContext);
-        mConnectedDeviceGroupController.init(mConnectedBluetoothDeviceUpdater,
-                mConnectedUsbDeviceUpdater, mConnectedDockUpdater, mStylusDeviceUpdater);
+        mConnectedDeviceGroupController = spy(new ConnectedDeviceGroupController(mContext));
+        when(mConnectedDeviceGroupController.getFeatureFlags()).thenReturn(mFakeFeatureFlags);
+
+        mConnectedDeviceGroupController.init(mExternalDisplayUpdater,
+                mConnectedBluetoothDeviceUpdater, mConnectedUsbDeviceUpdater, mConnectedDockUpdater,
+                mStylusDeviceUpdater);
         mConnectedDeviceGroupController.mPreferenceGroup = mPreferenceGroup;
 
         when(mCachedDevice.getName()).thenReturn(DEVICE_NAME);
@@ -147,6 +163,7 @@
 
         FeatureFlagUtils.setEnabled(mContext, FeatureFlagUtils.SETTINGS_SHOW_STYLUS_PREFERENCES,
                 true);
+        when(mPreferenceScreen.getContext()).thenReturn(mContext);
     }
 
     @Test
@@ -193,6 +210,7 @@
         // register the callback in onStart()
         mConnectedDeviceGroupController.onStart();
 
+        verify(mExternalDisplayUpdater).registerCallback();
         verify(mConnectedBluetoothDeviceUpdater).registerCallback();
         verify(mConnectedUsbDeviceUpdater).registerCallback();
         verify(mConnectedDockUpdater).registerCallback();
@@ -204,6 +222,7 @@
     public void onStop_shouldUnregisterUpdaters() {
         // unregister the callback in onStop()
         mConnectedDeviceGroupController.onStop();
+        verify(mExternalDisplayUpdater).unregisterCallback();
         verify(mConnectedBluetoothDeviceUpdater).unregisterCallback();
         verify(mConnectedUsbDeviceUpdater).unregisterCallback();
         verify(mConnectedDockUpdater).unregisterCallback();
@@ -212,10 +231,12 @@
 
     @Test
     public void getAvailabilityStatus_noBluetoothUsbDockFeature_returnUnSupported() {
+        mFakeFeatureFlags.setFlag(FLAG_ROTATION_CONNECTED_DISPLAY_SETTING, false);
+        mFakeFeatureFlags.setFlag(FLAG_RESOLUTION_AND_ENABLE_CONNECTED_DISPLAY_SETTING, false);
         mPackageManager.setSystemFeature(PackageManager.FEATURE_BLUETOOTH, false);
         mPackageManager.setSystemFeature(PackageManager.FEATURE_USB_ACCESSORY, false);
         mPackageManager.setSystemFeature(PackageManager.FEATURE_USB_HOST, false);
-        mConnectedDeviceGroupController.init(mConnectedBluetoothDeviceUpdater,
+        mConnectedDeviceGroupController.init(null, mConnectedBluetoothDeviceUpdater,
                 mConnectedUsbDeviceUpdater, null, null);
 
         assertThat(mConnectedDeviceGroupController.getAvailabilityStatus()).isEqualTo(
@@ -223,11 +244,23 @@
     }
 
     @Test
+    public void getAvailabilityStatus_connectedDisplay_returnSupported() {
+        mPackageManager.setSystemFeature(PackageManager.FEATURE_BLUETOOTH, false);
+        mPackageManager.setSystemFeature(PackageManager.FEATURE_USB_ACCESSORY, false);
+        mPackageManager.setSystemFeature(PackageManager.FEATURE_USB_HOST, false);
+        mConnectedDeviceGroupController.init(null, mConnectedBluetoothDeviceUpdater,
+                mConnectedUsbDeviceUpdater, null, null);
+
+        assertThat(mConnectedDeviceGroupController.getAvailabilityStatus()).isEqualTo(
+                AVAILABLE_UNSEARCHABLE);
+    }
+
+    @Test
     public void getAvailabilityStatus_BluetoothFeature_returnSupported() {
         mPackageManager.setSystemFeature(PackageManager.FEATURE_BLUETOOTH, true);
         mPackageManager.setSystemFeature(PackageManager.FEATURE_USB_ACCESSORY, false);
         mPackageManager.setSystemFeature(PackageManager.FEATURE_USB_HOST, false);
-        mConnectedDeviceGroupController.init(mConnectedBluetoothDeviceUpdater,
+        mConnectedDeviceGroupController.init(null, mConnectedBluetoothDeviceUpdater,
                 mConnectedUsbDeviceUpdater, null, null);
 
         assertThat(mConnectedDeviceGroupController.getAvailabilityStatus()).isEqualTo(
@@ -239,7 +272,7 @@
         mPackageManager.setSystemFeature(PackageManager.FEATURE_BLUETOOTH, false);
         mPackageManager.setSystemFeature(PackageManager.FEATURE_USB_ACCESSORY, false);
         mPackageManager.setSystemFeature(PackageManager.FEATURE_USB_HOST, true);
-        mConnectedDeviceGroupController.init(mConnectedBluetoothDeviceUpdater,
+        mConnectedDeviceGroupController.init(null, mConnectedBluetoothDeviceUpdater,
                 mConnectedUsbDeviceUpdater, null, null);
 
         assertThat(mConnectedDeviceGroupController.getAvailabilityStatus()).isEqualTo(
@@ -251,7 +284,7 @@
         mPackageManager.setSystemFeature(PackageManager.FEATURE_BLUETOOTH, false);
         mPackageManager.setSystemFeature(PackageManager.FEATURE_USB_ACCESSORY, false);
         mPackageManager.setSystemFeature(PackageManager.FEATURE_USB_HOST, false);
-        mConnectedDeviceGroupController.init(mConnectedBluetoothDeviceUpdater,
+        mConnectedDeviceGroupController.init(null, mConnectedBluetoothDeviceUpdater,
                 mConnectedUsbDeviceUpdater, mConnectedDockUpdater, null);
 
         assertThat(mConnectedDeviceGroupController.getAvailabilityStatus()).isEqualTo(
@@ -261,6 +294,8 @@
 
     @Test
     public void getAvailabilityStatus_noUsiStylusFeature_returnUnSupported() {
+        mFakeFeatureFlags.setFlag(FLAG_ROTATION_CONNECTED_DISPLAY_SETTING, false);
+        mFakeFeatureFlags.setFlag(FLAG_RESOLUTION_AND_ENABLE_CONNECTED_DISPLAY_SETTING, false);
         mPackageManager.setSystemFeature(PackageManager.FEATURE_BLUETOOTH, false);
         mPackageManager.setSystemFeature(PackageManager.FEATURE_USB_ACCESSORY, false);
         mPackageManager.setSystemFeature(PackageManager.FEATURE_USB_HOST, false);
@@ -268,7 +303,7 @@
         when(mInputManager.getInputDevice(0)).thenReturn(new InputDevice.Builder().setSources(
                 InputDevice.SOURCE_DPAD).setExternal(false).build());
 
-        mConnectedDeviceGroupController.init(mConnectedBluetoothDeviceUpdater,
+        mConnectedDeviceGroupController.init(null, mConnectedBluetoothDeviceUpdater,
                 mConnectedUsbDeviceUpdater, null, mStylusDeviceUpdater);
 
         assertThat(mConnectedDeviceGroupController.getAvailabilityStatus()).isEqualTo(
@@ -284,7 +319,7 @@
         when(mInputManager.getInputDevice(0)).thenReturn(new InputDevice.Builder().setSources(
                 InputDevice.SOURCE_STYLUS).setExternal(false).build());
 
-        mConnectedDeviceGroupController.init(mConnectedBluetoothDeviceUpdater,
+        mConnectedDeviceGroupController.init(null, mConnectedBluetoothDeviceUpdater,
                 mConnectedUsbDeviceUpdater, mConnectedDockUpdater, mStylusDeviceUpdater);
 
         assertThat(mConnectedDeviceGroupController.getAvailabilityStatus()).isEqualTo(
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingBluetoothDeviceUpdaterTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingBluetoothDeviceUpdaterTest.java
index 785b1dc..879c6a4 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingBluetoothDeviceUpdaterTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingBluetoothDeviceUpdaterTest.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.connecteddevice.audiosharing;
 
+import static com.android.settings.connecteddevice.audiosharing.AudioSharingBluetoothDeviceUpdater.PREF_KEY_PREFIX;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
@@ -85,7 +87,6 @@
 public class AudioSharingBluetoothDeviceUpdaterTest {
     private static final String MAC_ADDRESS = "04:52:C7:0B:D8:3C";
     private static final String TEST_DEVICE_NAME = "test";
-    private static final String PREF_KEY = "audio_sharing_bt";
     private static final String TAG = "AudioSharingBluetoothDeviceUpdater";
 
     @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
@@ -263,7 +264,7 @@
 
     @Test
     public void getPreferenceKey_returnsCorrectKey() {
-        assertThat(mDeviceUpdater.getPreferenceKey()).isEqualTo(PREF_KEY);
+        assertThat(mDeviceUpdater.getPreferenceKeyPrefix()).isEqualTo(PREF_KEY_PREFIX);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCallAudioDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCallAudioDialogFragmentTest.java
index 7f0c1c9..ceafcf0 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCallAudioDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCallAudioDialogFragmentTest.java
@@ -23,6 +23,7 @@
 import android.app.settings.SettingsEnums;
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothStatusCodes;
+import android.os.Bundle;
 import android.platform.test.flag.junit.SetFlagsRule;
 
 import androidx.appcompat.app.AlertDialog;
@@ -78,10 +79,6 @@
                 BluetoothStatusCodes.FEATURE_SUPPORTED);
         shadowBluetoothAdapter.setIsLeAudioBroadcastAssistantSupported(
                 BluetoothStatusCodes.FEATURE_SUPPORTED);
-        mFragment = new AudioSharingCallAudioDialogFragment();
-        mParent = new Fragment();
-        FragmentController.setupFragment(
-                mParent, FragmentActivity.class, /* containerViewId= */ 0, /* bundle= */ null);
     }
 
     @After
@@ -91,6 +88,7 @@
 
     @Test
     public void getMetricsCategory_correctValue() {
+        mFragment = new AudioSharingCallAudioDialogFragment();
         assertThat(mFragment.getMetricsCategory())
                 .isEqualTo(SettingsEnums.DIALOG_AUDIO_SHARING_CALL_AUDIO);
     }
@@ -98,21 +96,52 @@
     @Test
     public void onCreateDialog_flagOff_dialogNotExist() {
         mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
-        mFragment.show(mParent, new ArrayList<>(), (item) -> {});
+        mParent = new Fragment();
+        FragmentController.setupFragment(
+                mParent, FragmentActivity.class, /* containerViewId= */ 0, /* bundle= */ null);
+        AudioSharingCallAudioDialogFragment.show(mParent, new ArrayList<>(), -1, (item) -> {});
         shadowMainLooper().idle();
         AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
         assertThat(dialog).isNull();
     }
 
     @Test
+    public void onCreateDialog_unattachedFragment_dialogNotExist() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        mParent = new Fragment();
+        AudioSharingCallAudioDialogFragment.show(mParent, new ArrayList<>(), -1, (item) -> {});
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNull();
+    }
+
+    @Test
+    public void onCreateDialog_nullDeviceItems_showEmptyDialog() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        mFragment = new AudioSharingCallAudioDialogFragment();
+        mFragment.setArguments(Bundle.EMPTY);
+        FragmentController.setupFragment(
+                mFragment, FragmentActivity.class, /* containerViewId= */ 0, /* bundle= */ null);
+        AlertDialog dialog = (AlertDialog) mFragment.onCreateDialog(Bundle.EMPTY);
+        dialog.show();
+        shadowMainLooper().idle();
+        assertThat(dialog.isShowing()).isTrue();
+        assertThat(dialog.getListView()).isNull();
+    }
+
+    @Test
     public void onCreateDialog_showCorrectItems() {
         mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        mParent = new Fragment();
+        FragmentController.setupFragment(
+                mParent, FragmentActivity.class, /* containerViewId= */ 0, /* bundle= */ null);
         ArrayList<AudioSharingDeviceItem> deviceItemList = new ArrayList<>();
         deviceItemList.add(TEST_DEVICE_ITEM1);
         deviceItemList.add(TEST_DEVICE_ITEM2);
-        mFragment.show(mParent, deviceItemList, (item) -> {});
+        AudioSharingCallAudioDialogFragment.show(mParent, deviceItemList, 0, (item) -> {});
         shadowMainLooper().idle();
         AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
         assertThat(dialog.getListView().getCount()).isEqualTo(2);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCallAudioPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCallAudioPreferenceControllerTest.java
index c72b5a5..87ae3d5 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCallAudioPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCallAudioPreferenceControllerTest.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.connecteddevice.audiosharing;
 
-import static com.android.settings.connecteddevice.audiosharing.AudioSharingUtils.SETTINGS_KEY_FALLBACK_DEVICE_GROUP_ID;
 import static com.android.settings.core.BasePreferenceController.AVAILABLE;
 import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
 
@@ -64,6 +63,7 @@
 import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
 import com.android.settings.testutils.shadow.ShadowThreadUtils;
 import com.android.settingslib.bluetooth.BluetoothEventManager;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
 import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
@@ -197,7 +197,8 @@
         verify(mBtEventManager, never()).registerCallback(mController);
         verify(mContentResolver, never())
                 .registerContentObserver(
-                        Settings.Secure.getUriFor(SETTINGS_KEY_FALLBACK_DEVICE_GROUP_ID),
+                        Settings.Secure.getUriFor(
+                                BluetoothUtils.getPrimaryGroupIdUriForBroadcast()),
                         false,
                         mContentObserver);
         verify(mAssistant, never())
@@ -211,7 +212,8 @@
         verify(mBtEventManager).registerCallback(mController);
         verify(mContentResolver)
                 .registerContentObserver(
-                        Settings.Secure.getUriFor(SETTINGS_KEY_FALLBACK_DEVICE_GROUP_ID),
+                        Settings.Secure.getUriFor(
+                                BluetoothUtils.getPrimaryGroupIdUriForBroadcast()),
                         false,
                         mContentObserver);
         verify(mAssistant)
@@ -319,9 +321,7 @@
     public void onProfileConnectionStateChanged_noDeviceInSharing_updateSummary() {
         Settings.Secure.putInt(mContentResolver, TEST_SETTINGS_KEY, TEST_DEVICE_GROUP_ID1);
         when(mBroadcast.isEnabled(any())).thenReturn(true);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(ImmutableList.of());
+        when(mAssistant.getAllConnectedDevices()).thenReturn(ImmutableList.of());
         mController.displayPreference(mScreen);
         mPreference.setSummary("test");
         mController.onProfileConnectionStateChanged(
@@ -340,9 +340,7 @@
         when(mCachedDevice1.getName()).thenReturn(TEST_DEVICE_NAME1);
         when(mCacheManager.findDevice(mDevice1)).thenReturn(mCachedDevice1);
         when(mBroadcast.isEnabled(any())).thenReturn(true);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(ImmutableList.of(mDevice1));
+        when(mAssistant.getAllConnectedDevices()).thenReturn(ImmutableList.of(mDevice1));
         when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of(mState));
         mController.displayPreference(mScreen);
         mContentObserver.onChange(true);
@@ -369,8 +367,7 @@
         when(mCacheManager.findDevice(mDevice2)).thenReturn(mCachedDevice2);
         when(mCacheManager.findDevice(mDevice3)).thenReturn(mCachedDevice3);
         when(mBroadcast.isEnabled(any())).thenReturn(true);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
+        when(mAssistant.getAllConnectedDevices())
                 .thenReturn(ImmutableList.of(mDevice1, mDevice2, mDevice3));
         when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of(mState));
         mController.displayPreference(mScreen);
@@ -389,9 +386,7 @@
         when(mCachedDevice1.getName()).thenReturn(TEST_DEVICE_NAME1);
         when(mCacheManager.findDevice(mDevice1)).thenReturn(mCachedDevice1);
         when(mBroadcast.isEnabled(any())).thenReturn(true);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(ImmutableList.of(mDevice1));
+        when(mAssistant.getAllConnectedDevices()).thenReturn(ImmutableList.of(mDevice1));
         when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of(mState));
         mController.displayPreference(mScreen);
         shadowOf(Looper.getMainLooper()).idle();
@@ -403,9 +398,7 @@
         Settings.Secure.putInt(
                 mContentResolver, TEST_SETTINGS_KEY, BluetoothCsipSetCoordinator.GROUP_ID_INVALID);
         when(mBroadcast.isEnabled(any())).thenReturn(true);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(ImmutableList.of());
+        when(mAssistant.getAllConnectedDevices()).thenReturn(ImmutableList.of());
         mController.displayPreference(mScreen);
         shadowOf(Looper.getMainLooper()).idle();
         assertThat(mPreference.getSummary().toString()).isEmpty();
@@ -429,9 +422,7 @@
         when(mCacheManager.findDevice(mDevice2)).thenReturn(mCachedDevice2);
         mShadowBluetoothAdapter.setMostRecentlyConnectedDevices(List.of(mDevice1, mDevice2));
         when(mBroadcast.isEnabled(any())).thenReturn(true);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(ImmutableList.of(mDevice1, mDevice2));
+        when(mAssistant.getAllConnectedDevices()).thenReturn(ImmutableList.of(mDevice1, mDevice2));
         when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of(mState));
         mController.init(mParentFragment);
         mController.displayPreference(mScreen);
@@ -521,18 +512,14 @@
         Settings.Secure.putInt(
                 mContentResolver, TEST_SETTINGS_KEY, BluetoothCsipSetCoordinator.GROUP_ID_INVALID);
         when(mBroadcast.isEnabled(any())).thenReturn(true);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(ImmutableList.of());
+        when(mAssistant.getAllConnectedDevices()).thenReturn(ImmutableList.of());
         mController.displayPreference(mScreen);
         shadowOf(Looper.getMainLooper()).idle();
         assertThat(mPreference.getSummary().toString()).isEmpty();
 
         // onReceiveStateChanged will update summary
         Settings.Secure.putInt(mContentResolver, TEST_SETTINGS_KEY, TEST_DEVICE_GROUP_ID1);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(ImmutableList.of(mDevice1));
+        when(mAssistant.getAllConnectedDevices()).thenReturn(ImmutableList.of(mDevice1));
         when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of(mState));
         mController.mBroadcastAssistantCallback.onReceiveStateChanged(
                 mDevice1, /* sourceId= */ 1, mState);
@@ -552,17 +539,13 @@
         Settings.Secure.putInt(
                 mContentResolver, TEST_SETTINGS_KEY, BluetoothCsipSetCoordinator.GROUP_ID_INVALID);
         when(mBroadcast.isEnabled(any())).thenReturn(true);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(ImmutableList.of());
+        when(mAssistant.getAllConnectedDevices()).thenReturn(ImmutableList.of());
         mController.displayPreference(mScreen);
         shadowOf(Looper.getMainLooper()).idle();
         assertThat(mPreference.getSummary().toString()).isEmpty();
 
         Settings.Secure.putInt(mContentResolver, TEST_SETTINGS_KEY, TEST_DEVICE_GROUP_ID1);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(ImmutableList.of(mDevice1));
+        when(mAssistant.getAllConnectedDevices()).thenReturn(ImmutableList.of(mDevice1));
         when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of(mState));
         mController.mBroadcastAssistantCallback.onSearchStarted(/* reason= */ 1);
         mController.mBroadcastAssistantCallback.onSearchStartFailed(/* reason= */ 1);
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingConfirmDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingConfirmDialogFragmentTest.java
index 32f666f..9aa00fb 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingConfirmDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingConfirmDialogFragmentTest.java
@@ -96,6 +96,15 @@
     }
 
     @Test
+    public void onCreateDialog_unattachedFragment_dialogNotExist() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        AudioSharingConfirmDialogFragment.show(new Fragment());
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNull();
+    }
+
+    @Test
     public void onCreateDialog_flagOn_showDialog() {
         mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
         AudioSharingConfirmDialogFragment.show(mParent);
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDashboardFragmentTest.java
index 8e4915c..7d8846d 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDashboardFragmentTest.java
@@ -21,10 +21,12 @@
 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.settings.SettingsEnums;
 import android.content.Context;
 import android.os.Bundle;
+import android.view.View;
 
 import androidx.test.core.app.ApplicationProvider;
 
@@ -52,6 +54,7 @@
 
     @Mock private SettingsActivity mActivity;
     @Mock private SettingsMainSwitchBar mSwitchBar;
+    @Mock private View mView;
     @Mock private AudioSharingDeviceVolumeGroupController mVolumeGroupController;
     @Mock private AudioSharingCallAudioPreferenceController mCallAudioController;
     @Mock private AudioSharingPlaySoundPreferenceController mPlaySoundController;
@@ -61,6 +64,7 @@
 
     @Before
     public void setUp() {
+        when(mSwitchBar.getRootView()).thenReturn(mView);
         mFragment = new AudioSharingDashboardFragment();
     }
 
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceControllerTest.java
index 18f75ba..03f1303 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceControllerTest.java
@@ -30,9 +30,11 @@
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoInteractions;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 import static org.robolectric.Shadows.shadowOf;
 
+import android.app.settings.SettingsEnums;
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothDevice;
 import android.bluetooth.BluetoothLeBroadcastAssistant;
@@ -57,6 +59,7 @@
 import com.android.settings.SettingsActivity;
 import com.android.settings.bluetooth.Utils;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
 import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
 import com.android.settings.testutils.shadow.ShadowFragment;
@@ -136,6 +139,7 @@
     private LifecycleOwner mLifecycleOwner;
     private PreferenceCategory mPreferenceGroup;
     private Preference mAudioSharingPreference;
+    private FakeFeatureFactory mFeatureFactory;
 
     @Before
     public void setUp() {
@@ -148,6 +152,7 @@
                 BluetoothStatusCodes.FEATURE_SUPPORTED);
         mLifecycleOwner = () -> mLifecycle;
         mLifecycle = new Lifecycle(mLifecycleOwner);
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
         ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBtManager;
         mLocalBtManager = Utils.getLocalBtManager(mContext);
         when(mLocalBtManager.getEventManager()).thenReturn(mEventManager);
@@ -175,6 +180,7 @@
                 .thenReturn(mAudioSharingPreference);
         when(mScreen.findPreference(KEY)).thenReturn(mPreferenceGroup);
         mController = new AudioSharingDevicePreferenceController(mContext);
+        mController.init(mFragment);
         mController.setBluetoothDeviceUpdater(mBluetoothDeviceUpdater);
         mController.setDialogHandler(mDialogHandler);
         doReturn(mActivity).when(mFragment).getActivity();
@@ -297,7 +303,7 @@
 
     @Test
     public void onProfileConnectionStateChanged_notMediaDevice_doNothing() {
-        doReturn(ImmutableList.of()).when(mCachedDevice).getConnectableProfiles();
+        doReturn(ImmutableList.of()).when(mCachedDevice).getUiAccessibleProfiles();
         mController.onProfileConnectionStateChanged(
                 mCachedDevice, BluetoothAdapter.STATE_CONNECTED, BluetoothProfile.HID_DEVICE);
         verifyNoInteractions(mDialogHandler);
@@ -307,7 +313,7 @@
     public void onProfileConnectionStateChanged_leaDeviceDisconnected_closeOpeningDialogsForIt() {
         // Test when LEA device LE_AUDIO_BROADCAST_ASSISTANT disconnected.
         when(mDevice.isConnected()).thenReturn(true);
-        doReturn(ImmutableList.of(mLeAudioProfile)).when(mCachedDevice).getConnectableProfiles();
+        doReturn(ImmutableList.of(mLeAudioProfile)).when(mCachedDevice).getUiAccessibleProfiles();
         doReturn(ImmutableList.of(mLeAudioProfile)).when(mCachedDevice).getProfiles();
         mController.onProfileConnectionStateChanged(
                 mCachedDevice,
@@ -319,7 +325,7 @@
     @Test
     public void onProfileConnectionStateChanged_assistantProfileConnecting_doNothing() {
         // Test when LEA device LE_AUDIO_BROADCAST_ASSISTANT connecting
-        doReturn(ImmutableList.of(mLeAudioProfile)).when(mCachedDevice).getConnectableProfiles();
+        doReturn(ImmutableList.of(mLeAudioProfile)).when(mCachedDevice).getUiAccessibleProfiles();
         doReturn(ImmutableList.of(mLeAudioProfile)).when(mCachedDevice).getProfiles();
         mController.onProfileConnectionStateChanged(
                 mCachedDevice,
@@ -332,7 +338,7 @@
     public void onProfileConnectionStateChanged_otherProfileConnected_doNothing() {
         // Test when LEA device other profile connected
         when(mDevice.isConnected()).thenReturn(true);
-        doReturn(ImmutableList.of(mLeAudioProfile)).when(mCachedDevice).getConnectableProfiles();
+        doReturn(ImmutableList.of(mLeAudioProfile)).when(mCachedDevice).getUiAccessibleProfiles();
         doReturn(ImmutableList.of(mLeAudioProfile)).when(mCachedDevice).getProfiles();
         mController.onProfileConnectionStateChanged(
                 mCachedDevice, BluetoothAdapter.STATE_CONNECTED, BluetoothProfile.A2DP);
@@ -343,7 +349,7 @@
     public void onProfileConnectionStateChanged_otherProfileConnecting_doNothing() {
         // Test when LEA device other profile connecting
         when(mDevice.isConnected()).thenReturn(true);
-        doReturn(ImmutableList.of(mLeAudioProfile)).when(mCachedDevice).getConnectableProfiles();
+        doReturn(ImmutableList.of(mLeAudioProfile)).when(mCachedDevice).getUiAccessibleProfiles();
         doReturn(ImmutableList.of(mLeAudioProfile)).when(mCachedDevice).getProfiles();
         mController.onProfileConnectionStateChanged(
                 mCachedDevice, BluetoothAdapter.STATE_CONNECTING, BluetoothProfile.A2DP);
@@ -354,7 +360,7 @@
     public void onProfileConnectionStateChanged_assistantProfileConnected_handle() {
         // Test when LEA device LE_AUDIO_BROADCAST_ASSISTANT connected
         when(mDevice.isConnected()).thenReturn(true);
-        doReturn(ImmutableList.of(mLeAudioProfile)).when(mCachedDevice).getConnectableProfiles();
+        doReturn(ImmutableList.of(mLeAudioProfile)).when(mCachedDevice).getUiAccessibleProfiles();
         doReturn(ImmutableList.of(mLeAudioProfile)).when(mCachedDevice).getProfiles();
         mController.onProfileConnectionStateChanged(
                 mCachedDevice,
@@ -368,7 +374,7 @@
             onProfileConnectionStateChanged_nonLeaDeviceDisconnected_closeOpeningDialogsForIt() {
         // Test when non-LEA device totally disconnected
         when(mLeAudioProfile.isEnabled(mDevice)).thenReturn(false);
-        doReturn(ImmutableList.of(mA2dpProfile)).when(mCachedDevice).getConnectableProfiles();
+        doReturn(ImmutableList.of(mA2dpProfile)).when(mCachedDevice).getUiAccessibleProfiles();
         doReturn(ImmutableList.of(mLeAudioProfile, mA2dpProfile)).when(mCachedDevice).getProfiles();
         when(mCachedDevice.isConnected()).thenReturn(false);
         mController.onProfileConnectionStateChanged(
@@ -384,7 +390,7 @@
                 .thenReturn(BluetoothAdapter.STATE_CONNECTED);
         doReturn(ImmutableList.of(mA2dpProfile, mHeadsetProfile))
                 .when(mCachedDevice)
-                .getConnectableProfiles();
+                .getUiAccessibleProfiles();
         doReturn(ImmutableList.of(mA2dpProfile, mHeadsetProfile)).when(mCachedDevice).getProfiles();
         mController.onProfileConnectionStateChanged(
                 mCachedDevice, BluetoothAdapter.STATE_CONNECTED, BluetoothProfile.A2DP);
@@ -399,7 +405,7 @@
                 .thenReturn(BluetoothAdapter.STATE_DISCONNECTED);
         doReturn(ImmutableList.of(mA2dpProfile, mHeadsetProfile))
                 .when(mCachedDevice)
-                .getConnectableProfiles();
+                .getUiAccessibleProfiles();
         doReturn(ImmutableList.of(mA2dpProfile, mHeadsetProfile)).when(mCachedDevice).getProfiles();
         mController.onProfileConnectionStateChanged(
                 mCachedDevice, BluetoothAdapter.STATE_CONNECTED, BluetoothProfile.A2DP);
@@ -527,6 +533,25 @@
     }
 
     @Test
+    public void testBluetoothLeBroadcastAssistantCallbacks_logAction() {
+        mController.mBroadcastAssistantCallback.onSourceAddFailed(
+                mDevice, mSource, /* reason= */ 1);
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        mContext,
+                        SettingsEnums.ACTION_AUDIO_SHARING_JOIN_FAILED,
+                        SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY);
+
+        mController.mBroadcastAssistantCallback.onSourceRemoveFailed(
+                mDevice, /* sourceId= */ 1, /* reason= */ 1);
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        mContext,
+                        SettingsEnums.ACTION_AUDIO_SHARING_LEAVE_FAILED,
+                        SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY);
+    }
+
+    @Test
     public void testBluetoothLeBroadcastAssistantCallbacks_doNothing() {
         mController.mBroadcastAssistantCallback.onSearchStarted(/* reason= */ 1);
         mController.mBroadcastAssistantCallback.onSearchStartFailed(/* reason= */ 1);
@@ -534,10 +559,6 @@
         mController.mBroadcastAssistantCallback.onSearchStopFailed(/* reason= */ 1);
         mController.mBroadcastAssistantCallback.onSourceAdded(
                 mDevice, /* sourceId= */ 1, /* reason= */ 1);
-        mController.mBroadcastAssistantCallback.onSourceAddFailed(
-                mDevice, mSource, /* reason= */ 1);
-        mController.mBroadcastAssistantCallback.onSourceRemoveFailed(
-                mDevice, /* sourceId= */ 1, /* reason= */ 1);
         mController.mBroadcastAssistantCallback.onSourceModified(
                 mDevice, /* sourceId= */ 1, /* reason= */ 1);
         mController.mBroadcastAssistantCallback.onSourceModifyFailed(
@@ -546,7 +567,8 @@
         mController.mBroadcastAssistantCallback.onSourceLost(/* broadcastId= */ 1);
         shadowOf(Looper.getMainLooper()).idle();
 
-        // Above callbacks won't update group preference
+        // Above callbacks won't update group preference and log actions
         verify(mBluetoothDeviceUpdater, never()).forceUpdate();
+        verifyNoMoreInteractions(mFeatureFactory.metricsFeatureProvider);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeControlUpdaterTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeControlUpdaterTest.java
index e7cfb85..95e51e9 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeControlUpdaterTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeControlUpdaterTest.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.connecteddevice.audiosharing;
 
+import static com.android.settings.connecteddevice.audiosharing.AudioSharingDeviceVolumeControlUpdater.PREF_KEY_PREFIX;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
@@ -29,15 +31,11 @@
 import static org.mockito.Mockito.when;
 import static org.robolectric.Shadows.shadowOf;
 
-import android.app.settings.SettingsEnums;
 import android.bluetooth.BluetoothDevice;
 import android.bluetooth.BluetoothLeBroadcastReceiveState;
 import android.bluetooth.BluetoothProfile;
 import android.content.Context;
-import android.media.AudioManager;
 import android.os.Looper;
-import android.provider.Settings;
-import android.widget.SeekBar;
 
 import androidx.preference.Preference;
 import androidx.test.core.app.ApplicationProvider;
@@ -45,7 +43,6 @@
 import com.android.settings.bluetooth.BluetoothDevicePreference;
 import com.android.settings.bluetooth.Utils;
 import com.android.settings.connecteddevice.DevicePreferenceCallback;
-import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
@@ -53,7 +50,6 @@
 import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
-import com.android.settingslib.bluetooth.VolumeControlProfile;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
@@ -78,14 +74,7 @@
 @Config(shadows = {ShadowBluetoothUtils.class})
 public class AudioSharingDeviceVolumeControlUpdaterTest {
     private static final String TEST_DEVICE_NAME = "test";
-    private static final String TAG = "AudioSharingDeviceVolumeControlUpdater";
-    private static final String PREF_KEY = "audio_sharing_volume_control";
-    private static final String TEST_SETTINGS_KEY =
-            "bluetooth_le_broadcast_fallback_active_group_id";
-    private static final int TEST_DEVICE_GROUP_ID = 1;
-    private static final int TEST_VOLUME_VALUE = 255;
-    private static final int TEST_MAX_STREAM_VALUE = 10;
-    private static final int TEST_MIN_STREAM_VALUE = 0;
+    private static final String TAG = "AudioSharingVolUpdater";
 
     @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
 
@@ -97,39 +86,32 @@
     @Mock private LocalBluetoothProfileManager mLocalBtProfileManager;
     @Mock private LocalBluetoothLeBroadcast mBroadcast;
     @Mock private LocalBluetoothLeBroadcastAssistant mAssistant;
-    @Mock private VolumeControlProfile mVolumeControl;
     @Mock private BluetoothLeBroadcastReceiveState mState;
-    @Mock private AudioManager mAudioManager;
 
     private Context mContext;
     private AudioSharingDeviceVolumeControlUpdater mDeviceUpdater;
     private Collection<CachedBluetoothDevice> mCachedDevices;
-    private FakeFeatureFactory mFeatureFactory;
 
     @Before
     public void setUp() {
-        mContext = spy(ApplicationProvider.getApplicationContext());
+        mContext = ApplicationProvider.getApplicationContext();
         ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBtManager;
         mLocalBtManager = Utils.getLocalBtManager(mContext);
-        mFeatureFactory = FakeFeatureFactory.setupForTest();
         when(mLocalBtManager.getCachedDeviceManager()).thenReturn(mCachedDeviceManager);
         when(mLocalBtManager.getProfileManager()).thenReturn(mLocalBtProfileManager);
         when(mLocalBtProfileManager.getLeAudioBroadcastProfile()).thenReturn(mBroadcast);
         when(mLocalBtProfileManager.getLeAudioBroadcastAssistantProfile()).thenReturn(mAssistant);
-        when(mLocalBtProfileManager.getVolumeControlProfile()).thenReturn(mVolumeControl);
         List<Long> bisSyncState = new ArrayList<>();
         bisSyncState.add(1L);
         when(mState.getBisSyncState()).thenReturn(bisSyncState);
         doReturn(TEST_DEVICE_NAME).when(mCachedBluetoothDevice).getName();
         doReturn(mBluetoothDevice).when(mCachedBluetoothDevice).getDevice();
         doReturn(ImmutableSet.of()).when(mCachedBluetoothDevice).getMemberDevice();
-        doReturn(TEST_DEVICE_GROUP_ID).when(mCachedBluetoothDevice).getGroupId();
         mCachedDevices = new ArrayList<>();
         mCachedDevices.add(mCachedBluetoothDevice);
         when(mCachedDeviceManager.getCachedDevicesCopy()).thenReturn(mCachedDevices);
         doNothing().when(mDevicePreferenceCallback).onDeviceAdded(any(Preference.class));
         doNothing().when(mDevicePreferenceCallback).onDeviceRemoved(any(Preference.class));
-        when(mContext.getSystemService(AudioManager.class)).thenReturn(mAudioManager);
         mDeviceUpdater =
                 spy(
                         new AudioSharingDeviceVolumeControlUpdater(
@@ -250,83 +232,13 @@
     }
 
     @Test
-    public void addPreference_notFallbackDevice_setDeviceVolume() {
-        ArgumentCaptor<Preference> captor = ArgumentCaptor.forClass(Preference.class);
-        setupPreferenceMapWithDevice();
-
-        verify(mDevicePreferenceCallback).onDeviceAdded(captor.capture());
-        assertThat(captor.getValue() instanceof AudioSharingDeviceVolumePreference).isTrue();
-        AudioSharingDeviceVolumePreference preference =
-                (AudioSharingDeviceVolumePreference) captor.getValue();
-
-        SeekBar seekBar = mock(SeekBar.class);
-        when(seekBar.getProgress()).thenReturn(TEST_VOLUME_VALUE);
-        preference.onStopTrackingTouch(seekBar);
-
-        verify(mVolumeControl)
-                .setDeviceVolume(mBluetoothDevice, TEST_VOLUME_VALUE, /* isGroupOp= */ true);
-        verifyNoInteractions(mAudioManager);
-        verify(mFeatureFactory.metricsFeatureProvider)
-                .action(
-                        mContext,
-                        SettingsEnums.ACTION_AUDIO_SHARING_CHANGE_MEDIA_DEVICE_VOLUME,
-                        /* isPrimary= */ false);
-    }
-
-    @Test
-    public void addPreference_fallbackDevice_setStreamVolume() {
-        ArgumentCaptor<Preference> captor = ArgumentCaptor.forClass(Preference.class);
-        setupPreferenceMapWithDevice();
-
-        verify(mDevicePreferenceCallback).onDeviceAdded(captor.capture());
-        assertThat(captor.getValue() instanceof AudioSharingDeviceVolumePreference).isTrue();
-        AudioSharingDeviceVolumePreference preference =
-                (AudioSharingDeviceVolumePreference) captor.getValue();
-
-        Settings.Secure.putInt(
-                mContext.getContentResolver(), TEST_SETTINGS_KEY, TEST_DEVICE_GROUP_ID);
-        when(mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC))
-                .thenReturn(TEST_MAX_STREAM_VALUE);
-        when(mAudioManager.getStreamMinVolume(AudioManager.STREAM_MUSIC))
-                .thenReturn(TEST_MIN_STREAM_VALUE);
-        SeekBar seekBar = mock(SeekBar.class);
-        when(seekBar.getProgress()).thenReturn(TEST_VOLUME_VALUE);
-        preference.onStopTrackingTouch(seekBar);
-
-        verifyNoInteractions(mVolumeControl);
-        verify(mAudioManager)
-                .setStreamVolume(AudioManager.STREAM_MUSIC, TEST_MAX_STREAM_VALUE, /* flags= */ 0);
-        verify(mFeatureFactory.metricsFeatureProvider)
-                .action(
-                        mContext,
-                        SettingsEnums.ACTION_AUDIO_SHARING_CHANGE_MEDIA_DEVICE_VOLUME,
-                        /* isPrimary= */ true);
-    }
-
-    @Test
-    public void testOnSeekBarChangeListener_doNothing() {
-        ArgumentCaptor<Preference> captor = ArgumentCaptor.forClass(Preference.class);
-        setupPreferenceMapWithDevice();
-
-        verify(mDevicePreferenceCallback).onDeviceAdded(captor.capture());
-        assertThat(captor.getValue() instanceof AudioSharingDeviceVolumePreference).isTrue();
-        AudioSharingDeviceVolumePreference preference =
-                (AudioSharingDeviceVolumePreference) captor.getValue();
-        SeekBar seekBar = mock(SeekBar.class);
-        preference.onProgressChanged(seekBar, TEST_VOLUME_VALUE, /* fromUser= */ false);
-
-        verifyNoInteractions(mAudioManager);
-        verifyNoInteractions(mVolumeControl);
-    }
-
-    @Test
     public void getLogTag_returnsCorrectTag() {
         assertThat(mDeviceUpdater.getLogTag()).isEqualTo(TAG);
     }
 
     @Test
     public void getPreferenceKey_returnsCorrectKey() {
-        assertThat(mDeviceUpdater.getPreferenceKey()).isEqualTo(PREF_KEY);
+        assertThat(mDeviceUpdater.getPreferenceKeyPrefix()).isEqualTo(PREF_KEY_PREFIX);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeGroupControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeGroupControllerTest.java
index f2f0a2f..d8c663f 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeGroupControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeGroupControllerTest.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.connecteddevice.audiosharing;
 
-import static com.android.settings.connecteddevice.audiosharing.AudioSharingUtils.SETTINGS_KEY_FALLBACK_DEVICE_GROUP_ID;
-
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
@@ -59,6 +57,7 @@
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
 import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
 import com.android.settings.testutils.shadow.ShadowThreadUtils;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
 import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
@@ -208,7 +207,8 @@
                 .registerCallback(any(Executor.class), any(BluetoothVolumeControl.Callback.class));
         verify(mContentResolver, never())
                 .registerContentObserver(
-                        Settings.Secure.getUriFor(SETTINGS_KEY_FALLBACK_DEVICE_GROUP_ID),
+                        Settings.Secure.getUriFor(
+                                BluetoothUtils.getPrimaryGroupIdUriForBroadcast()),
                         false,
                         mContentObserver);
     }
@@ -223,11 +223,9 @@
         verify(mDeviceUpdater).registerCallback();
         verify(mVolumeControl)
                 .registerCallback(any(Executor.class), any(BluetoothVolumeControl.Callback.class));
-        verify(mContentResolver)
-                .registerContentObserver(
-                        Settings.Secure.getUriFor(SETTINGS_KEY_FALLBACK_DEVICE_GROUP_ID),
-                        false,
-                        mContentObserver);
+        verify(mContentResolver).registerContentObserver(
+                Settings.Secure.getUriFor(BluetoothUtils.getPrimaryGroupIdUriForBroadcast()), false,
+                mContentObserver);
     }
 
     @Test
@@ -242,7 +240,8 @@
                 .registerCallback(any(Executor.class), any(BluetoothVolumeControl.Callback.class));
         verify(mContentResolver)
                 .registerContentObserver(
-                        Settings.Secure.getUriFor(SETTINGS_KEY_FALLBACK_DEVICE_GROUP_ID),
+                        Settings.Secure.getUriFor(
+                                BluetoothUtils.getPrimaryGroupIdUriForBroadcast()),
                         false,
                         mContentObserver);
     }
@@ -317,7 +316,8 @@
     @Test
     public void onDeviceAdded_rankFallbackDeviceOnTop() {
         Settings.Secure.putInt(
-                mContentResolver, SETTINGS_KEY_FALLBACK_DEVICE_GROUP_ID, TEST_DEVICE_GROUP_ID2);
+                mContentResolver, BluetoothUtils.getPrimaryGroupIdUriForBroadcast(),
+                TEST_DEVICE_GROUP_ID2);
         when(mPreference1.getProgress()).thenReturn(TEST_VOLUME_VALUE);
         when(mPreference2.getProgress()).thenReturn(TEST_VOLUME_VALUE);
         mController.setPreferenceGroup(mPreferenceGroup);
@@ -427,7 +427,8 @@
     @Test
     public void settingsObserverOnChange_updatePreferenceOrder() {
         Settings.Secure.putInt(
-                mContentResolver, SETTINGS_KEY_FALLBACK_DEVICE_GROUP_ID, TEST_DEVICE_GROUP_ID2);
+                mContentResolver, BluetoothUtils.getPrimaryGroupIdUriForBroadcast(),
+                TEST_DEVICE_GROUP_ID2);
         when(mPreference1.getProgress()).thenReturn(TEST_VOLUME_VALUE);
         when(mPreference2.getProgress()).thenReturn(TEST_VOLUME_VALUE);
         mController.setPreferenceGroup(mPreferenceGroup);
@@ -435,8 +436,8 @@
         mController.onDeviceAdded(mPreference2);
         shadowOf(Looper.getMainLooper()).idle();
 
-        Settings.Secure.putInt(
-                mContentResolver, SETTINGS_KEY_FALLBACK_DEVICE_GROUP_ID, TEST_DEVICE_GROUP_ID1);
+        Settings.Secure.putInt(mContentResolver, BluetoothUtils.getPrimaryGroupIdUriForBroadcast(),
+                TEST_DEVICE_GROUP_ID1);
         mContentObserver.onChange(true);
         shadowOf(Looper.getMainLooper()).idle();
 
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumePreferenceTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumePreferenceTest.java
index 8ceb0eb..5ff143f 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumePreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumePreferenceTest.java
@@ -18,11 +18,32 @@
 
 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.eq;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoInteractions;
+import static org.mockito.Mockito.when;
+
+import android.app.settings.SettingsEnums;
+import android.bluetooth.BluetoothDevice;
 import android.content.Context;
+import android.media.AudioManager;
+import android.provider.Settings;
+import android.widget.SeekBar;
 
 import androidx.test.core.app.ApplicationProvider;
 
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
+import com.android.settingslib.bluetooth.VolumeControlProfile;
 
 import org.junit.Before;
 import org.junit.Rule;
@@ -32,18 +53,45 @@
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowBluetoothUtils.class})
 public class AudioSharingDeviceVolumePreferenceTest {
+    private static final int TEST_DEVICE_GROUP_ID = 1;
+    private static final int TEST_VOLUME_VALUE = 255;
+    private static final int TEST_MAX_STREAM_VALUE = 10;
+    private static final int TEST_MIN_STREAM_VALUE = 0;
+
     @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
 
+    @Mock private LocalBluetoothManager mLocalBtManager;
+    @Mock private LocalBluetoothProfileManager mLocalBtProfileManager;
+    @Mock private VolumeControlProfile mVolumeControl;
     @Mock private CachedBluetoothDevice mCachedDevice;
+    @Mock private BluetoothDevice mDevice;
+    @Mock private AudioManager mAudioManager;
+    @Mock private SeekBar mSeekBar;
     private Context mContext;
     private AudioSharingDeviceVolumePreference mPreference;
+    private FakeFeatureFactory mFeatureFactory;
 
     @Before
     public void setup() {
-        mContext = ApplicationProvider.getApplicationContext();
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBtManager;
+        mLocalBtManager = Utils.getLocalBtManager(mContext);
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
+        when(mLocalBtManager.getProfileManager()).thenReturn(mLocalBtProfileManager);
+        when(mLocalBtProfileManager.getVolumeControlProfile()).thenReturn(mVolumeControl);
+        when(mContext.getSystemService(AudioManager.class)).thenReturn(mAudioManager);
+        when(mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC))
+                .thenReturn(TEST_MAX_STREAM_VALUE);
+        when(mAudioManager.getStreamMinVolume(AudioManager.STREAM_MUSIC))
+                .thenReturn(TEST_MIN_STREAM_VALUE);
+        when(mCachedDevice.getDevice()).thenReturn(mDevice);
+        when(mCachedDevice.getGroupId()).thenReturn(TEST_DEVICE_GROUP_ID);
+        when(mSeekBar.getProgress()).thenReturn(TEST_VOLUME_VALUE);
         mPreference = new AudioSharingDeviceVolumePreference(mContext, mCachedDevice);
     }
 
@@ -58,4 +106,128 @@
         assertThat(mPreference.getMax()).isEqualTo(AudioSharingDeviceVolumePreference.MAX_VOLUME);
         assertThat(mPreference.getMin()).isEqualTo(AudioSharingDeviceVolumePreference.MIN_VOLUME);
     }
+
+    @Test
+    public void onStopTrackingTouch_notFallbackDevice_setDeviceVolume() {
+        mPreference.onStopTrackingTouch(mSeekBar);
+
+        verify(mVolumeControl).setDeviceVolume(mDevice, TEST_VOLUME_VALUE, /* isGroupOp= */ true);
+        verifyNoInteractions(mAudioManager);
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        mContext,
+                        SettingsEnums.ACTION_AUDIO_SHARING_CHANGE_MEDIA_DEVICE_VOLUME,
+                        /* isPrimary= */ false);
+    }
+
+    @Test
+    public void onProgressChanged_notFallbackDevice_fromUserNotInTouch_setDeviceVolume() {
+        mPreference.onProgressChanged(mSeekBar, TEST_VOLUME_VALUE, /* fromUser= */ true);
+
+        verify(mVolumeControl).setDeviceVolume(mDevice, TEST_VOLUME_VALUE, /* isGroupOp= */ true);
+        verifyNoInteractions(mAudioManager);
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        mContext,
+                        SettingsEnums.ACTION_AUDIO_SHARING_CHANGE_MEDIA_DEVICE_VOLUME,
+                        /* isPrimary= */ false);
+    }
+
+    @Test
+    public void onProgressChanged_notFallbackDevice_fromUserInTouch_doNothing() {
+        mPreference.onStartTrackingTouch(mSeekBar);
+        mPreference.onProgressChanged(mSeekBar, TEST_VOLUME_VALUE, /* fromUser= */ true);
+
+        verifyNoInteractions(mVolumeControl);
+        verifyNoInteractions(mAudioManager);
+        verify(mFeatureFactory.metricsFeatureProvider, never())
+                .action(
+                        any(Context.class),
+                        eq(SettingsEnums.ACTION_AUDIO_SHARING_CHANGE_MEDIA_DEVICE_VOLUME),
+                        anyBoolean());
+    }
+
+    @Test
+    public void onProgressChanged_notFallbackDevice_notFromUserNotInTouch_doNothing() {
+        mPreference.onProgressChanged(mSeekBar, TEST_VOLUME_VALUE, /* fromUser= */ false);
+
+        verifyNoInteractions(mVolumeControl);
+        verifyNoInteractions(mAudioManager);
+        verify(mFeatureFactory.metricsFeatureProvider, never())
+                .action(
+                        any(Context.class),
+                        eq(SettingsEnums.ACTION_AUDIO_SHARING_CHANGE_MEDIA_DEVICE_VOLUME),
+                        anyBoolean());
+    }
+
+    @Test
+    public void onStopTrackingTouch_fallbackDevice_setDeviceVolume() {
+        Settings.Secure.putInt(
+                mContext.getContentResolver(),
+                BluetoothUtils.getPrimaryGroupIdUriForBroadcast(),
+                TEST_DEVICE_GROUP_ID);
+        mPreference.onStopTrackingTouch(mSeekBar);
+
+        verifyNoInteractions(mVolumeControl);
+        verify(mAudioManager)
+                .setStreamVolume(AudioManager.STREAM_MUSIC, TEST_MAX_STREAM_VALUE, /* flags= */ 0);
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        mContext,
+                        SettingsEnums.ACTION_AUDIO_SHARING_CHANGE_MEDIA_DEVICE_VOLUME,
+                        /* isPrimary= */ true);
+    }
+
+    @Test
+    public void onProgressChanged_fallbackDevice_fromUserNotInTouch_setDeviceVolume() {
+        Settings.Secure.putInt(
+                mContext.getContentResolver(),
+                BluetoothUtils.getPrimaryGroupIdUriForBroadcast(),
+                TEST_DEVICE_GROUP_ID);
+        mPreference.onProgressChanged(mSeekBar, TEST_VOLUME_VALUE, /* fromUser= */ true);
+
+        verifyNoInteractions(mVolumeControl);
+        verify(mAudioManager)
+                .setStreamVolume(AudioManager.STREAM_MUSIC, TEST_MAX_STREAM_VALUE, /* flags= */ 0);
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        mContext,
+                        SettingsEnums.ACTION_AUDIO_SHARING_CHANGE_MEDIA_DEVICE_VOLUME,
+                        /* isPrimary= */ true);
+    }
+
+    @Test
+    public void onProgressChanged_fallbackDevice_fromUserInTouch_doNothing() {
+        Settings.Secure.putInt(
+                mContext.getContentResolver(),
+                BluetoothUtils.getPrimaryGroupIdUriForBroadcast(),
+                TEST_DEVICE_GROUP_ID);
+        mPreference.onStartTrackingTouch(mSeekBar);
+        mPreference.onProgressChanged(mSeekBar, TEST_VOLUME_VALUE, /* fromUser= */ true);
+
+        verifyNoInteractions(mVolumeControl);
+        verifyNoInteractions(mAudioManager);
+        verify(mFeatureFactory.metricsFeatureProvider, never())
+                .action(
+                        any(Context.class),
+                        eq(SettingsEnums.ACTION_AUDIO_SHARING_CHANGE_MEDIA_DEVICE_VOLUME),
+                        anyBoolean());
+    }
+
+    @Test
+    public void onProgressChanged_fallbackDevice_notFromUserNotInTouch_doNothing() {
+        Settings.Secure.putInt(
+                mContext.getContentResolver(),
+                BluetoothUtils.getPrimaryGroupIdUriForBroadcast(),
+                TEST_DEVICE_GROUP_ID);
+        mPreference.onProgressChanged(mSeekBar, TEST_VOLUME_VALUE, /* fromUser= */ false);
+
+        verifyNoInteractions(mVolumeControl);
+        verifyNoInteractions(mAudioManager);
+        verify(mFeatureFactory.metricsFeatureProvider, never())
+                .action(
+                        any(Context.class),
+                        eq(SettingsEnums.ACTION_AUDIO_SHARING_CHANGE_MEDIA_DEVICE_VOLUME),
+                        anyBoolean());
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragmentTest.java
index 39709c1..7227f37 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragmentTest.java
@@ -93,7 +93,6 @@
             new Pair[] {TEST_EVENT_DATA};
 
     private Fragment mParent;
-    private AudioSharingDialogFragment mFragment;
     private FakeFeatureFactory mFeatureFactory;
 
     @Before
@@ -107,7 +106,6 @@
         shadowBluetoothAdapter.setIsLeAudioBroadcastAssistantSupported(
                 BluetoothStatusCodes.FEATURE_SUPPORTED);
         mFeatureFactory = FakeFeatureFactory.setupForTest();
-        mFragment = new AudioSharingDialogFragment();
         mParent = new Fragment();
         FragmentController.setupFragment(
                 mParent, FragmentActivity.class, /* containerViewId= */ 0, /* bundle= */ null);
@@ -120,7 +118,8 @@
 
     @Test
     public void getMetricsCategory_correctValue() {
-        assertThat(mFragment.getMetricsCategory())
+        AudioSharingDialogFragment fragment = new AudioSharingDialogFragment();
+        assertThat(fragment.getMetricsCategory())
                 .isEqualTo(SettingsEnums.DIALOG_AUDIO_SHARING_ADD_DEVICE);
     }
 
@@ -130,13 +129,22 @@
         AudioSharingDialogFragment.show(
                 mParent, new ArrayList<>(), EMPTY_EVENT_LISTENER, TEST_EVENT_DATA_LIST);
         shadowMainLooper().idle();
-
         AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
         assertThat(dialog).isNull();
     }
 
     @Test
-    public void onCreateDialog_flagOn_noConnectedDevice() {
+    public void onCreateDialog_unattachedFragment_dialogNotExist() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        AudioSharingDialogFragment.show(
+                new Fragment(), new ArrayList<>(), EMPTY_EVENT_LISTENER, TEST_EVENT_DATA_LIST);
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNull();
+    }
+
+    @Test
+    public void onCreateDialog_flagOn_noExtraConnectedDevice() {
         mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
         AudioSharingDialogFragment.show(
                 mParent, new ArrayList<>(), EMPTY_EVENT_LISTENER, TEST_EVENT_DATA_LIST);
@@ -148,42 +156,67 @@
         assertThat(description).isNotNull();
         ImageView image = dialog.findViewById(R.id.description_image);
         assertThat(image).isNotNull();
-        Button shareBtn = dialog.findViewById(R.id.positive_btn);
-        assertThat(shareBtn).isNotNull();
-        Button cancelBtn = dialog.findViewById(R.id.negative_btn);
-        assertThat(cancelBtn).isNotNull();
+        Button positiveBtn = dialog.findViewById(R.id.positive_btn);
+        assertThat(positiveBtn).isNotNull();
+        Button negativeBtn = dialog.findViewById(R.id.negative_btn);
+        assertThat(negativeBtn).isNotNull();
         assertThat(dialog.isShowing()).isTrue();
         assertThat(description.getVisibility()).isEqualTo(View.VISIBLE);
         assertThat(description.getText().toString())
                 .isEqualTo(mParent.getString(R.string.audio_sharing_dialog_connect_device_content));
         assertThat(image.getVisibility()).isEqualTo(View.VISIBLE);
-        assertThat(shareBtn.getVisibility()).isEqualTo(View.GONE);
-        assertThat(cancelBtn.getVisibility()).isEqualTo(View.GONE);
+        assertThat(positiveBtn.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(positiveBtn.getText().toString())
+                .isEqualTo(mParent.getString(R.string.audio_sharing_pair_button_label));
+        assertThat(negativeBtn.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(negativeBtn.getText().toString())
+                .isEqualTo(mParent.getString(R.string.audio_sharing_qrcode_button_label));
     }
 
     @Test
-    public void onCreateDialog_noConnectedDevice_dialogDismiss() {
+    public void onCreateDialog_noExtraConnectedDevice_pairNewDevice() {
         mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
         AudioSharingDialogFragment.show(
                 mParent, new ArrayList<>(), EMPTY_EVENT_LISTENER, TEST_EVENT_DATA_LIST);
         shadowMainLooper().idle();
         AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
         assertThat(dialog).isNotNull();
-        View btnView = dialog.findViewById(android.R.id.button2);
-        assertThat(btnView).isNotNull();
-        btnView.performClick();
+        Button pairBtn = dialog.findViewById(R.id.positive_btn);
+        assertThat(pairBtn).isNotNull();
+        pairBtn.performClick();
         shadowMainLooper().idle();
 
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        any(Context.class),
+                        eq(SettingsEnums.ACTION_AUDIO_SHARING_DIALOG_POSITIVE_BTN_CLICKED),
+                        eq(TEST_EVENT_DATA));
         assertThat(dialog.isShowing()).isFalse();
+    }
+
+    @Test
+    public void onCreateDialog_noExtraConnectedDevice_showQRCode() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        AudioSharingDialogFragment.show(
+                mParent, new ArrayList<>(), EMPTY_EVENT_LISTENER, TEST_EVENT_DATA_LIST);
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
+        Button qrCodeBtn = dialog.findViewById(R.id.negative_btn);
+        assertThat(qrCodeBtn).isNotNull();
+        qrCodeBtn.performClick();
+        shadowMainLooper().idle();
+
         verify(mFeatureFactory.metricsFeatureProvider)
                 .action(
                         any(Context.class),
                         eq(SettingsEnums.ACTION_AUDIO_SHARING_DIALOG_NEGATIVE_BTN_CLICKED),
                         eq(TEST_EVENT_DATA));
+        assertThat(dialog.isShowing()).isFalse();
     }
 
     @Test
-    public void onCreateDialog_flagOn_singleConnectedDevice() {
+    public void onCreateDialog_flagOn_singleExtraConnectedDevice() {
         mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
         ArrayList<AudioSharingDeviceItem> list = new ArrayList<>();
         list.add(TEST_DEVICE_ITEM1);
@@ -198,10 +231,10 @@
         assertThat(description).isNotNull();
         ImageView image = dialog.findViewById(R.id.description_image);
         assertThat(image).isNotNull();
-        Button shareBtn = dialog.findViewById(R.id.positive_btn);
-        assertThat(shareBtn).isNotNull();
-        Button cancelBtn = dialog.findViewById(R.id.negative_btn);
-        assertThat(cancelBtn).isNotNull();
+        Button positiveBtn = dialog.findViewById(R.id.positive_btn);
+        assertThat(positiveBtn).isNotNull();
+        Button negativeBtn = dialog.findViewById(R.id.negative_btn);
+        assertThat(negativeBtn).isNotNull();
         assertThat(dialog.isShowing()).isTrue();
         assertThat(title.getText().toString())
                 .isEqualTo(
@@ -211,12 +244,16 @@
         assertThat(description.getText().toString())
                 .isEqualTo(mParent.getString(R.string.audio_sharing_dialog_share_content));
         assertThat(image.getVisibility()).isEqualTo(View.GONE);
-        assertThat(shareBtn.getVisibility()).isEqualTo(View.VISIBLE);
-        assertThat(cancelBtn.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(positiveBtn.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(positiveBtn.getText().toString())
+                .isEqualTo(mParent.getString(R.string.audio_sharing_share_button_label));
+        assertThat(negativeBtn.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(negativeBtn.getText().toString())
+                .isEqualTo(mParent.getString(R.string.audio_sharing_no_thanks_button_label));
     }
 
     @Test
-    public void onCreateDialog_singleConnectedDevice_dialogDismiss() {
+    public void onCreateDialog_singleExtraConnectedDevice_dialogDismiss() {
         mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
         ArrayList<AudioSharingDeviceItem> list = new ArrayList<>();
         list.add(TEST_DEVICE_ITEM1);
@@ -239,7 +276,7 @@
     }
 
     @Test
-    public void onCreateDialog_singleConnectedDevice_shareClicked() {
+    public void onCreateDialog_singleExtraConnectedDevice_shareClicked() {
         mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
         ArrayList<AudioSharingDeviceItem> list = new ArrayList<>();
         list.add(TEST_DEVICE_ITEM1);
@@ -276,7 +313,7 @@
     }
 
     @Test
-    public void onCreateDialog_flagOn_multipleConnectedDevice() {
+    public void onCreateDialog_flagOn_multipleExtraConnectedDevice() {
         mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
         ArrayList<AudioSharingDeviceItem> list = new ArrayList<>();
         list.add(TEST_DEVICE_ITEM1);
@@ -304,12 +341,14 @@
         assertThat(image.getVisibility()).isEqualTo(View.GONE);
         assertThat(shareBtn.getVisibility()).isEqualTo(View.GONE);
         assertThat(cancelBtn.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(cancelBtn.getText().toString())
+                .isEqualTo(mParent.getString(com.android.settings.R.string.cancel));
         assertThat(recyclerView.getVisibility()).isEqualTo(View.VISIBLE);
         assertThat(recyclerView.getAdapter().getItemCount()).isEqualTo(3);
     }
 
     @Test
-    public void onCreateDialog_multipleConnectedDevice_dialogDismiss() {
+    public void onCreateDialog_multipleExtraConnectedDevice_dialogDismiss() {
         mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
         ArrayList<AudioSharingDeviceItem> list = new ArrayList<>();
         list.add(TEST_DEVICE_ITEM1);
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHandlerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHandlerTest.java
index 4c060d4..ad6dd7f 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHandlerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHandlerTest.java
@@ -24,7 +24,9 @@
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 import static org.robolectric.Shadows.shadowOf;
 
@@ -34,9 +36,11 @@
 import android.bluetooth.BluetoothLeBroadcast;
 import android.bluetooth.BluetoothLeBroadcastMetadata;
 import android.bluetooth.BluetoothLeBroadcastReceiveState;
-import android.bluetooth.BluetoothProfile;
 import android.bluetooth.BluetoothStatusCodes;
 import android.content.Context;
+import android.content.Intent;
+import android.media.AudioManager;
+import android.os.Bundle;
 import android.os.Looper;
 import android.platform.test.flag.junit.SetFlagsRule;
 import android.util.Pair;
@@ -45,6 +49,7 @@
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentActivity;
 
+import com.android.settings.SettingsActivity;
 import com.android.settings.bluetooth.Utils;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
@@ -67,6 +72,7 @@
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
@@ -108,6 +114,7 @@
     @Mock private CachedBluetoothDeviceManager mCacheManager;
     @Mock private LocalBluetoothLeBroadcast mBroadcast;
     @Mock private LocalBluetoothLeBroadcastAssistant mAssistant;
+    @Mock private AudioManager mAudioManager;
     @Mock private CachedBluetoothDevice mCachedDevice1;
     @Mock private CachedBluetoothDevice mCachedDevice2;
     @Mock private CachedBluetoothDevice mCachedDevice3;
@@ -132,7 +139,7 @@
                 FragmentActivity.class,
                 0 /* containerViewId */,
                 null /* bundle */);
-        mContext = mParentFragment.getContext();
+        mContext = spy(mParentFragment.getContext());
         ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBtManager;
         mLocalBtManager = Utils.getLocalBtManager(mContext);
         ShadowBluetoothAdapter shadowBluetoothAdapter =
@@ -147,6 +154,8 @@
         when(mLocalBtManager.getProfileManager()).thenReturn(mLocalBtProfileManager);
         when(mLocalBtProfileManager.getLeAudioBroadcastProfile()).thenReturn(mBroadcast);
         when(mLocalBtProfileManager.getLeAudioBroadcastAssistantProfile()).thenReturn(mAssistant);
+        when(mContext.getSystemService(AudioManager.class)).thenReturn(mAudioManager);
+        when(mAudioManager.getMode()).thenReturn(AudioManager.MODE_NORMAL);
         List<Long> bisSyncState = new ArrayList<>();
         bisSyncState.add(1L);
         when(mState.getBisSyncState()).thenReturn(bisSyncState);
@@ -183,12 +192,22 @@
     }
 
     @Test
+    public void handleUserTriggeredDeviceConnected_inCall_setActive() {
+        when(mAudioManager.getMode()).thenReturn(AudioManager.MODE_IN_CALL);
+        setUpBroadcast(true);
+        ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(deviceList);
+        when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of());
+        mHandler.handleDeviceConnected(mCachedDevice1, /* userTriggered= */ true);
+        shadowOf(Looper.getMainLooper()).idle();
+        verify(mCachedDevice1).setActive();
+    }
+
+    @Test
     public void handleUserTriggeredNonLeaDeviceConnected_noSharing_setActive() {
         setUpBroadcast(false);
         ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice2);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(deviceList);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(deviceList);
         when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of());
         mHandler.handleDeviceConnected(mCachedDevice2, /* userTriggered= */ true);
         shadowOf(Looper.getMainLooper()).idle();
@@ -199,9 +218,7 @@
     public void handleUserTriggeredNonLeaDeviceConnected_sharing_showStopDialog() {
         setUpBroadcast(true);
         ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice2);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(deviceList);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(deviceList);
         when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of(mState));
         mHandler.handleDeviceConnected(mCachedDevice2, /* userTriggered= */ true);
         shadowOf(Looper.getMainLooper()).idle();
@@ -238,9 +255,7 @@
     public void handleUserTriggeredLeaDeviceConnected_noSharingNoTwoLeaDevices_setActive() {
         setUpBroadcast(false);
         ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(deviceList);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(deviceList);
         when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of());
         mHandler.handleDeviceConnected(mCachedDevice1, /* userTriggered= */ true);
         shadowOf(Looper.getMainLooper()).idle();
@@ -248,12 +263,25 @@
     }
 
     @Test
+    public void handleUserTriggeredLeaDeviceConnected_noSharingLeaDeviceInErrorState_setActive() {
+        setUpBroadcast(false);
+        when(mCachedDevice1.getGroupId()).thenReturn(-1);
+        when(mLeAudioProfile.getGroupId(mDevice1)).thenReturn(-1);
+        ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1, mDevice3);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(deviceList);
+        when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of());
+        mHandler.handleDeviceConnected(mCachedDevice1, /* userTriggered= */ true);
+        shadowOf(Looper.getMainLooper()).idle();
+        List<Fragment> childFragments = mParentFragment.getChildFragmentManager().getFragments();
+        assertThat(childFragments).isEmpty();
+        verify(mCachedDevice1).setActive();
+    }
+
+    @Test
     public void handleUserTriggeredLeaDeviceConnected_noSharingTwoLeaDevices_showJoinDialog() {
         setUpBroadcast(false);
         ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1, mDevice3);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(deviceList);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(deviceList);
         when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of());
         mHandler.handleDeviceConnected(mCachedDevice1, /* userTriggered= */ true);
         shadowOf(Looper.getMainLooper()).idle();
@@ -287,16 +315,26 @@
         AudioSharingJoinDialogFragment.DialogEventListener listener = fragment.getListener();
         assertThat(listener).isNotNull();
         listener.onShareClick();
-        verify(mBroadcast).startPrivateBroadcast();
+        ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
+        verify(mContext).startActivity(argumentCaptor.capture());
+        Intent intent = argumentCaptor.getValue();
+        assertThat(intent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+                .isEqualTo(AudioSharingDashboardFragment.class.getName());
+        assertThat(intent.getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS))
+                .isNotNull();
+        Bundle args = intent.getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS);
+        assertThat(args).isNotNull();
+        assertThat(args.getBoolean(LocalBluetoothLeBroadcast.EXTRA_START_LE_AUDIO_SHARING))
+                .isTrue();
+        listener.onCancelClick();
+        verify(mCachedDevice1).setActive();
     }
 
     @Test
     public void handleUserTriggeredLeaDeviceConnected_sharing_showJoinDialog() {
         setUpBroadcast(true);
         ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1, mDevice3);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(deviceList);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(deviceList);
         when(mAssistant.getAllSources(mDevice1)).thenReturn(ImmutableList.of());
         when(mAssistant.getAllSources(mDevice3)).thenReturn(ImmutableList.of(mState));
         mHandler.handleDeviceConnected(mCachedDevice1, /* userTriggered= */ true);
@@ -330,6 +368,8 @@
                                 1));
         AudioSharingJoinDialogFragment.DialogEventListener listener = fragment.getListener();
         assertThat(listener).isNotNull();
+        listener.onCancelClick();
+        verify(mAssistant, never()).addSource(mDevice1, mMetadata, /* isGroupOp= */ false);
         listener.onShareClick();
         verify(mAssistant).addSource(mDevice1, mMetadata, /* isGroupOp= */ false);
     }
@@ -339,9 +379,7 @@
             handleUserTriggeredLeaDeviceConnected_sharingWithTwoLeaDevices_showDisconnectDialog() {
         setUpBroadcast(true);
         ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1, mDevice3, mDevice4);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(deviceList);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(deviceList);
         when(mAssistant.getAllSources(mDevice1)).thenReturn(ImmutableList.of());
         when(mAssistant.getAllSources(mDevice3)).thenReturn(ImmutableList.of(mState));
         when(mAssistant.getAllSources(mDevice4)).thenReturn(ImmutableList.of(mState));
@@ -382,12 +420,22 @@
     }
 
     @Test
+    public void handleDeviceConnected_inCall_doNothing() {
+        when(mAudioManager.getMode()).thenReturn(AudioManager.MODE_IN_CALL);
+        setUpBroadcast(true);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(ImmutableList.of());
+        mHandler.handleDeviceConnected(mCachedDevice2, /* userTriggered= */ false);
+        shadowOf(Looper.getMainLooper()).idle();
+        verify(mCachedDevice2, never()).setActive();
+        List<Fragment> childFragments = mParentFragment.getChildFragmentManager().getFragments();
+        assertThat(childFragments).isEmpty();
+    }
+
+    @Test
     public void handleNonLeaDeviceConnected_noSharing_doNothing() {
         setUpBroadcast(false);
         ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice2);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(deviceList);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(deviceList);
         when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of());
         mHandler.handleDeviceConnected(mCachedDevice2, /* userTriggered= */ false);
         shadowOf(Looper.getMainLooper()).idle();
@@ -397,10 +445,8 @@
     @Test
     public void handleNonLeaDeviceConnected_sharing_showStopDialog() {
         setUpBroadcast(true);
-        ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice2);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(deviceList);
+        ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(deviceList);
         when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of(mState));
         mHandler.handleDeviceConnected(mCachedDevice2, /* userTriggered= */ false);
         shadowOf(Looper.getMainLooper()).idle();
@@ -437,9 +483,7 @@
     public void handleLeaDeviceConnected_noSharingNoTwoLeaDevices_doNothing() {
         setUpBroadcast(false);
         ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(deviceList);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(deviceList);
         when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of());
         mHandler.handleDeviceConnected(mCachedDevice1, /* userTriggered= */ false);
         shadowOf(Looper.getMainLooper()).idle();
@@ -447,12 +491,25 @@
     }
 
     @Test
+    public void handleLeaDeviceConnected_noSharingLeaDeviceInErrorState_doNothing() {
+        setUpBroadcast(false);
+        when(mCachedDevice1.getGroupId()).thenReturn(-1);
+        when(mLeAudioProfile.getGroupId(mDevice1)).thenReturn(-1);
+        ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1, mDevice3);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(deviceList);
+        when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of());
+        mHandler.handleDeviceConnected(mCachedDevice1, /* userTriggered= */ false);
+        shadowOf(Looper.getMainLooper()).idle();
+        List<Fragment> childFragments = mParentFragment.getChildFragmentManager().getFragments();
+        assertThat(childFragments).isEmpty();
+        verify(mCachedDevice1, never()).setActive();
+    }
+
+    @Test
     public void handleLeaDeviceConnected_noSharingTwoLeaDevices_showJoinDialog() {
         setUpBroadcast(false);
         ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1, mDevice3);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(deviceList);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(deviceList);
         when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of());
         mHandler.handleDeviceConnected(mCachedDevice1, /* userTriggered= */ false);
         shadowOf(Looper.getMainLooper()).idle();
@@ -486,16 +543,26 @@
         AudioSharingJoinDialogFragment.DialogEventListener listener = fragment.getListener();
         assertThat(listener).isNotNull();
         listener.onShareClick();
-        verify(mBroadcast).startPrivateBroadcast();
+        ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
+        verify(mContext).startActivity(argumentCaptor.capture());
+        Intent intent = argumentCaptor.getValue();
+        assertThat(intent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+                .isEqualTo(AudioSharingDashboardFragment.class.getName());
+        assertThat(intent.getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS))
+                .isNotNull();
+        Bundle args = intent.getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS);
+        assertThat(args).isNotNull();
+        assertThat(args.getBoolean(LocalBluetoothLeBroadcast.EXTRA_START_LE_AUDIO_SHARING))
+                .isTrue();
+        listener.onCancelClick();
+        verify(mCachedDevice1, never()).setActive();
     }
 
     @Test
     public void handleLeaDeviceConnected_sharing_showJoinDialog() {
         setUpBroadcast(true);
         ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1, mDevice3);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(deviceList);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(deviceList);
         when(mAssistant.getAllSources(mDevice1)).thenReturn(ImmutableList.of());
         when(mAssistant.getAllSources(mDevice3)).thenReturn(ImmutableList.of(mState));
         mHandler.handleDeviceConnected(mCachedDevice1, /* userTriggered= */ false);
@@ -529,6 +596,8 @@
                                 1));
         AudioSharingJoinDialogFragment.DialogEventListener listener = fragment.getListener();
         assertThat(listener).isNotNull();
+        listener.onCancelClick();
+        verify(mAssistant, never()).addSource(mDevice1, mMetadata, /* isGroupOp= */ false);
         listener.onShareClick();
         verify(mAssistant).addSource(mDevice1, mMetadata, /* isGroupOp= */ false);
     }
@@ -537,9 +606,7 @@
     public void handleLeaDeviceConnected_sharingWithTwoLeaDevices_showDisconnectDialog() {
         setUpBroadcast(true);
         ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1, mDevice3, mDevice4);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(deviceList);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(deviceList);
         when(mAssistant.getAllSources(mDevice1)).thenReturn(ImmutableList.of());
         when(mAssistant.getAllSources(mDevice3)).thenReturn(ImmutableList.of(mState));
         when(mAssistant.getAllSources(mDevice4)).thenReturn(ImmutableList.of(mState));
@@ -584,9 +651,7 @@
         // Show join dialog
         setUpBroadcast(false);
         ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1, mDevice3);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(deviceList);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(deviceList);
         when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of());
         mHandler.handleDeviceConnected(mCachedDevice1, /* userTriggered= */ true);
         shadowOf(Looper.getMainLooper()).idle();
@@ -605,13 +670,54 @@
     }
 
     @Test
+    public void closeOpeningDialogsForLeaDevice_unattachedFragment_doNothing() {
+        mParentFragment = new Fragment();
+        mHandler = new AudioSharingDialogHandler(mContext, mParentFragment);
+        mHandler.closeOpeningDialogsForLeaDevice(mCachedDevice1);
+        shadowOf(Looper.getMainLooper()).idle();
+        verifyNoMoreInteractions(mFeatureFactory.metricsFeatureProvider);
+    }
+
+    @Test
+    public void closeOpeningDialogsForLeaDevice_closeDisconnectDialog() {
+        // Show disconnect dialog
+        setUpBroadcast(true);
+        ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1, mDevice3, mDevice4);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(deviceList);
+        when(mAssistant.getAllSources(mDevice1)).thenReturn(ImmutableList.of());
+        when(mAssistant.getAllSources(mDevice3)).thenReturn(ImmutableList.of(mState));
+        when(mAssistant.getAllSources(mDevice4)).thenReturn(ImmutableList.of(mState));
+        mHandler.handleDeviceConnected(mCachedDevice1, /* userTriggered= */ false);
+        shadowOf(Looper.getMainLooper()).idle();
+        assertThat(mParentFragment.getChildFragmentManager().getFragments())
+                .comparingElementsUsing(TAG_EQUALS)
+                .containsExactly(AudioSharingDisconnectDialogFragment.tag());
+        // Close opening dialogs
+        mHandler.closeOpeningDialogsForLeaDevice(mCachedDevice1);
+        shadowOf(Looper.getMainLooper()).idle();
+        assertThat(mParentFragment.getChildFragmentManager().getFragments()).isEmpty();
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        mContext,
+                        SettingsEnums.ACTION_AUDIO_SHARING_DIALOG_AUTO_DISMISS,
+                        SettingsEnums.DIALOG_AUDIO_SHARING_SWITCH_DEVICE);
+    }
+
+    @Test
+    public void closeOpeningDialogsForNonLeaDevice_unattachedFragment_doNothing() {
+        mParentFragment = new Fragment();
+        mHandler = new AudioSharingDialogHandler(mContext, mParentFragment);
+        mHandler.closeOpeningDialogsForNonLeaDevice(mCachedDevice2);
+        shadowOf(Looper.getMainLooper()).idle();
+        verifyNoMoreInteractions(mFeatureFactory.metricsFeatureProvider);
+    }
+
+    @Test
     public void closeOpeningDialogsForNonLeaDevice_closeStopDialog() {
         // Show stop dialog
         setUpBroadcast(true);
-        ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice2);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(deviceList);
+        ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(deviceList);
         when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of(mState));
         mHandler.handleDeviceConnected(mCachedDevice2, /* userTriggered= */ true);
         shadowOf(Looper.getMainLooper()).idle();
@@ -633,9 +739,7 @@
     public void closeOpeningDialogsOtherThan() {
         setUpBroadcast(true);
         ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice3);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(deviceList);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(deviceList);
         when(mAssistant.getAllSources(mDevice3)).thenReturn(ImmutableList.of(mState));
         mHandler.handleDeviceConnected(mCachedDevice2, /* userTriggered= */ true);
         shadowOf(Looper.getMainLooper()).idle();
@@ -645,9 +749,7 @@
                 .containsExactly(AudioSharingStopDialogFragment.tag());
 
         deviceList = ImmutableList.of(mDevice1, mDevice3);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(deviceList);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(deviceList);
         when(mAssistant.getAllSources(mDevice1)).thenReturn(ImmutableList.of());
         mHandler.handleDeviceConnected(mCachedDevice1, /* userTriggered= */ false);
         shadowOf(Looper.getMainLooper()).idle();
@@ -678,43 +780,40 @@
     }
 
     @Test
-    public void onPlaybackStarted_addSource() {
-        setUpBroadcast(false);
-        ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1, mDevice3);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(deviceList);
-        when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of());
-        mHandler.handleDeviceConnected(mCachedDevice1, /* userTriggered= */ true);
+    public void onBroadcastStopFailed_logAction() {
+        setUpBroadcast(true);
+        ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(deviceList);
+        when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of(mState));
+        mHandler.handleDeviceConnected(mCachedDevice2, /* userTriggered= */ false);
         shadowOf(Looper.getMainLooper()).idle();
         List<Fragment> childFragments = mParentFragment.getChildFragmentManager().getFragments();
         assertThat(childFragments)
                 .comparingElementsUsing(TAG_EQUALS)
-                .containsExactly(AudioSharingJoinDialogFragment.tag());
-        AudioSharingJoinDialogFragment fragment =
-                (AudioSharingJoinDialogFragment) Iterables.getOnlyElement(childFragments);
-        AudioSharingJoinDialogFragment.DialogEventListener listener = fragment.getListener();
+                .containsExactly(AudioSharingStopDialogFragment.tag());
+
+        AudioSharingStopDialogFragment fragment =
+                (AudioSharingStopDialogFragment) Iterables.getOnlyElement(childFragments);
+        AudioSharingStopDialogFragment.DialogEventListener listener = fragment.getListener();
         assertThat(listener).isNotNull();
-        listener.onShareClick();
+        listener.onStopSharingClick();
 
-        setUpBroadcast(true);
-        mHandler.mBroadcastCallback.onPlaybackStarted(/* reason= */ 1, /* broadcastId= */ 1);
-        shadowOf(Looper.getMainLooper()).idle();
-
-        verify(mAssistant).addSource(mDevice1, mMetadata, /* isGroupOp= */ false);
-        verify(mAssistant).addSource(mDevice3, mMetadata, /* isGroupOp= */ false);
+        mHandler.mBroadcastCallback.onBroadcastStopFailed(/* reason= */ 1);
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        mContext,
+                        SettingsEnums.ACTION_AUDIO_SHARING_STOP_FAILED,
+                        SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY);
     }
 
     @Test
     public void testBluetoothLeBroadcastCallbacks_doNothing() {
         mHandler.mBroadcastCallback.onBroadcastStarted(/* reason= */ 1, /* broadcastId= */ 1);
-        mHandler.mBroadcastCallback.onBroadcastStopped(/* reason= */ 1, /* broadcastId= */ 1);
+        mHandler.mBroadcastCallback.onBroadcastStartFailed(/* reason= */ 1);
         mHandler.mBroadcastCallback.onBroadcastMetadataChanged(/* reason= */ 1, mMetadata);
         mHandler.mBroadcastCallback.onBroadcastUpdated(/* reason= */ 1, /* broadcastId= */ 1);
         mHandler.mBroadcastCallback.onPlaybackStarted(/* reason= */ 1, /* broadcastId= */ 1);
         mHandler.mBroadcastCallback.onPlaybackStopped(/* reason= */ 1, /* broadcastId= */ 1);
-        mHandler.mBroadcastCallback.onBroadcastStartFailed(/* reason= */ 1);
-        mHandler.mBroadcastCallback.onBroadcastStopFailed(/* reason= */ 1);
         mHandler.mBroadcastCallback.onBroadcastUpdateFailed(/* reason= */ 1, /* broadcastId= */ 1);
 
         verify(mAssistant, never())
@@ -723,6 +822,7 @@
                         any(BluetoothLeBroadcastMetadata.class),
                         anyBoolean());
         verify(mAssistant, never()).removeSource(any(BluetoothDevice.class), anyInt());
+        verifyNoMoreInteractions(mFeatureFactory.metricsFeatureProvider);
     }
 
     private void setUpBroadcast(boolean isBroadcasting) {
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragmentTest.java
index 6b984af..86b0d65 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragmentTest.java
@@ -154,6 +154,23 @@
     }
 
     @Test
+    public void onCreateDialog_unattachedFragment_dialogNotExist() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        mDeviceItems = new ArrayList<>();
+        mDeviceItems.add(TEST_DEVICE_ITEM1);
+        mDeviceItems.add(TEST_DEVICE_ITEM2);
+        AudioSharingDisconnectDialogFragment.show(
+                new Fragment(),
+                mDeviceItems,
+                mCachedDevice3,
+                EMPTY_EVENT_LISTENER,
+                TEST_EVENT_DATA_LIST);
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNull();
+    }
+
+    @Test
     public void onCreateDialog_flagOn_dialogShowBtnForTwoDevices() {
         mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
         mDeviceItems = new ArrayList<>();
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingIncompatibleDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingIncompatibleDialogFragmentTest.java
new file mode 100644
index 0000000..7f17291
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingIncompatibleDialogFragmentTest.java
@@ -0,0 +1,151 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.audiosharing;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.when;
+import static org.robolectric.shadows.ShadowLooper.shadowMainLooper;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothStatusCodes;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.view.View;
+import android.widget.TextView;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+
+import com.android.settings.R;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
+import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.flags.Flags;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadow.api.Shadow;
+import org.robolectric.shadows.androidx.fragment.FragmentController;
+
+import java.util.concurrent.atomic.AtomicBoolean;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowAlertDialogCompat.class, ShadowBluetoothAdapter.class})
+public class AudioSharingIncompatibleDialogFragmentTest {
+    private static final String TEST_DEVICE_NAME = "test";
+    private static final AudioSharingIncompatibleDialogFragment.DialogEventListener
+            EMPTY_EVENT_LISTENER = () -> {};
+
+    @Rule public final MockitoRule mocks = MockitoJUnit.rule();
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    @Mock private CachedBluetoothDevice mCachedBluetoothDevice;
+    private Fragment mParent;
+    private AudioSharingIncompatibleDialogFragment mFragment;
+
+    @Before
+    public void setUp() {
+        ShadowAlertDialogCompat.reset();
+        ShadowBluetoothAdapter shadowBluetoothAdapter = Shadow.extract(
+                BluetoothAdapter.getDefaultAdapter());
+        shadowBluetoothAdapter.setEnabled(true);
+        shadowBluetoothAdapter.setIsLeAudioBroadcastSourceSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        shadowBluetoothAdapter.setIsLeAudioBroadcastAssistantSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        when(mCachedBluetoothDevice.getName()).thenReturn(TEST_DEVICE_NAME);
+        mFragment = new AudioSharingIncompatibleDialogFragment();
+        mParent = new Fragment();
+        FragmentController.setupFragment(mParent, FragmentActivity.class, /* containerViewId= */
+                0, /* bundle= */ null);
+    }
+
+    @After
+    public void tearDown() {
+        ShadowAlertDialogCompat.reset();
+    }
+
+    @Test
+    public void getMetricsCategory_correctValue() {
+        // TODO: update to real metrics id
+        assertThat(mFragment.getMetricsCategory()).isEqualTo(0);
+    }
+
+    @Test
+    public void onCreateDialog_flagOff_dialogNotExist() {
+        mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        AudioSharingIncompatibleDialogFragment.show(mParent, mCachedBluetoothDevice,
+                EMPTY_EVENT_LISTENER);
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNull();
+    }
+
+    @Test
+    public void onCreateDialog_unattachedFragment_dialogNotExist() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        AudioSharingIncompatibleDialogFragment.show(new Fragment(), mCachedBluetoothDevice,
+                EMPTY_EVENT_LISTENER);
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNull();
+    }
+
+    @Test
+    public void onCreateDialog_flagOn_showDialog() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        AudioSharingIncompatibleDialogFragment.show(mParent, mCachedBluetoothDevice,
+                EMPTY_EVENT_LISTENER);
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
+        assertThat(dialog.isShowing()).isTrue();
+        TextView title = dialog.findViewById(R.id.title_text);
+        assertThat(title).isNotNull();
+        // TODO: use string res
+        assertThat(title.getText().toString()).isEqualTo(
+                "Can't share audio with " + TEST_DEVICE_NAME);
+    }
+
+    @Test
+    public void onCreateDialog_clickBtn_callbackTriggered() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        AtomicBoolean isBtnClicked = new AtomicBoolean(false);
+        AudioSharingIncompatibleDialogFragment.show(mParent, mCachedBluetoothDevice,
+                () -> isBtnClicked.set(true));
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
+        View btnView = dialog.findViewById(android.R.id.button1);
+        assertThat(btnView).isNotNull();
+        btnView.performClick();
+        shadowMainLooper().idle();
+        assertThat(dialog.isShowing()).isFalse();
+        assertThat(isBtnClicked.get()).isTrue();
+    }
+}
+
+
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragmentTest.java
index 13ea965..32f9e83 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragmentTest.java
@@ -31,6 +31,7 @@
 import android.platform.test.flag.junit.SetFlagsRule;
 import android.util.Pair;
 import android.view.View;
+import android.widget.Button;
 
 import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.Fragment;
@@ -164,8 +165,23 @@
     }
 
     @Test
+    public void onCreateDialog_unattachedFragment_dialogNotExist() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        AudioSharingJoinDialogFragment.show(
+                new Fragment(),
+                new ArrayList<>(),
+                mCachedDevice2,
+                EMPTY_EVENT_LISTENER,
+                TEST_EVENT_DATA_LIST);
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNull();
+    }
+
+    @Test
     public void onCreateDialog_flagOn_dialogShowTextForSingleDevice() {
         mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        when(mBroadcast.isEnabled(null)).thenReturn(true);
         AudioSharingJoinDialogFragment.show(
                 mParent,
                 new ArrayList<>(),
@@ -178,6 +194,10 @@
         assertThat(dialog.isShowing()).isTrue();
         ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
         assertThat(shadowDialog.getMessage().toString()).isEqualTo(TEST_DEVICE_NAME2);
+        Button btnView = dialog.findViewById(R.id.negative_btn);
+        assertThat(btnView).isNotNull();
+        assertThat(btnView.getText().toString())
+                .isEqualTo(mParent.getString(R.string.audio_sharing_no_thanks_button_label));
     }
 
     @Test
@@ -198,6 +218,13 @@
                                 R.string.audio_sharing_share_dialog_subtitle,
                                 TEST_DEVICE_NAME1,
                                 TEST_DEVICE_NAME2));
+        Button btnView = dialog.findViewById(R.id.negative_btn);
+        assertThat(btnView).isNotNull();
+        assertThat(btnView.getText().toString())
+                .isEqualTo(
+                        mParent.getString(
+                                R.string.audio_sharing_switch_active_button_label,
+                                TEST_DEVICE_NAME2));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingLoadingStateDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingLoadingStateDialogFragmentTest.java
new file mode 100644
index 0000000..b5da88c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingLoadingStateDialogFragmentTest.java
@@ -0,0 +1,174 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.audiosharing;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.robolectric.shadows.ShadowLooper.shadowMainLooper;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothStatusCodes;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.widget.TextView;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+
+import com.android.settings.R;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
+import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
+import com.android.settingslib.flags.Flags;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadow.api.Shadow;
+import org.robolectric.shadows.androidx.fragment.FragmentController;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+        shadows = {
+                ShadowAlertDialogCompat.class,
+                ShadowBluetoothAdapter.class,
+        })
+public class AudioSharingLoadingStateDialogFragmentTest {
+    @Rule public final MockitoRule mocks = MockitoJUnit.rule();
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    private static final String TEST_MESSAGE1 = "message1";
+    private static final String TEST_MESSAGE2 = "message2";
+
+    private Fragment mParent;
+    private AudioSharingLoadingStateDialogFragment mFragment;
+
+    @Before
+    public void setUp() {
+        ShadowAlertDialogCompat.reset();
+        ShadowBluetoothAdapter shadowBluetoothAdapter =
+                Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+        shadowBluetoothAdapter.setEnabled(true);
+        shadowBluetoothAdapter.setIsLeAudioBroadcastSourceSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        shadowBluetoothAdapter.setIsLeAudioBroadcastAssistantSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        mFragment = new AudioSharingLoadingStateDialogFragment();
+        mParent = new Fragment();
+        FragmentController.setupFragment(
+                mParent, FragmentActivity.class, /* containerViewId= */ 0, /* bundle= */ null);
+    }
+
+    @After
+    public void tearDown() {
+        ShadowAlertDialogCompat.reset();
+    }
+
+    @Test
+    public void getMetricsCategory_correctValue() {
+        // TODO: update real metric
+        assertThat(mFragment.getMetricsCategory())
+                .isEqualTo(0);
+    }
+
+    @Test
+    public void onCreateDialog_flagOff_dialogNotExist() {
+        mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        AudioSharingLoadingStateDialogFragment.show(mParent, TEST_MESSAGE1);
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNull();
+    }
+
+    @Test
+    public void onCreateDialog_unattachedFragment_dialogNotExist() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        AudioSharingLoadingStateDialogFragment.show(new Fragment(), TEST_MESSAGE1);
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNull();
+    }
+
+    @Test
+    public void onCreateDialog_flagOn_showDialog() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        AudioSharingLoadingStateDialogFragment.show(mParent, TEST_MESSAGE1);
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
+        assertThat(dialog.isShowing()).isTrue();
+        TextView view = dialog.findViewById(R.id.message);
+        assertThat(view).isNotNull();
+        assertThat(view.getText().toString()).isEqualTo(TEST_MESSAGE1);
+    }
+
+    @Test
+    public void dismissDialog_succeed() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        AudioSharingLoadingStateDialogFragment.show(mParent, TEST_MESSAGE1);
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
+        assertThat(dialog.isShowing()).isTrue();
+
+        AudioSharingLoadingStateDialogFragment.dismiss(mParent);
+        shadowMainLooper().idle();
+        assertThat(dialog.isShowing()).isFalse();
+    }
+
+    @Test
+    public void showDialog_sameMessage_keepExistingDialog() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        AudioSharingLoadingStateDialogFragment.show(mParent, TEST_MESSAGE1);
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
+        assertThat(dialog.isShowing()).isTrue();
+
+        AudioSharingLoadingStateDialogFragment.show(mParent, TEST_MESSAGE1);
+        shadowMainLooper().idle();
+        assertThat(dialog.isShowing()).isTrue();
+    }
+
+    @Test
+    public void showDialog_newMessage_dismissAndShowNewDialog() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        AudioSharingLoadingStateDialogFragment.show(mParent, TEST_MESSAGE1);
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
+        assertThat(dialog.isShowing()).isTrue();
+        TextView view = dialog.findViewById(R.id.message);
+        assertThat(view).isNotNull();
+        assertThat(view.getText().toString()).isEqualTo(TEST_MESSAGE1);
+
+        AudioSharingLoadingStateDialogFragment.show(mParent, TEST_MESSAGE2);
+        shadowMainLooper().idle();
+        assertThat(dialog.isShowing()).isFalse();
+        AlertDialog newDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(newDialog).isNotNull();
+        assertThat(newDialog.isShowing()).isTrue();
+        view = newDialog.findViewById(R.id.message);
+        assertThat(view).isNotNull();
+        assertThat(view.getText().toString()).isEqualTo(TEST_MESSAGE2);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceControllerTest.java
new file mode 100644
index 0000000..618e021
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceControllerTest.java
@@ -0,0 +1,319 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.audiosharing;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.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.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.settings.SettingsEnums;
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothLeBroadcast;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.bluetooth.BluetoothStatusCodes;
+import android.content.Context;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
+import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
+import com.android.settingslib.bluetooth.BluetoothEventManager;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
+import com.android.settingslib.bluetooth.VolumeControlProfile;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.flags.Flags;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.Spy;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadow.api.Shadow;
+import org.robolectric.shadows.ShadowLooper;
+
+import java.util.concurrent.Executor;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+        shadows = {
+            ShadowBluetoothAdapter.class,
+            ShadowBluetoothUtils.class,
+        })
+public class AudioSharingNamePreferenceControllerTest {
+    private static final String PREF_KEY = "audio_sharing_stream_name";
+    private static final String BROADCAST_NAME = "broadcast_name";
+    private static final CharSequence UPDATED_NAME = "updated_name";
+
+    @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+    @Spy Context mContext = ApplicationProvider.getApplicationContext();
+    @Mock private LocalBluetoothLeBroadcast mBroadcast;
+    @Mock private LocalBluetoothLeBroadcastAssistant mAssistant;
+    @Mock private VolumeControlProfile mVolumeControl;
+    @Mock private LocalBluetoothManager mLocalBtManager;
+    @Mock private BluetoothEventManager mEventManager;
+    @Mock private LocalBluetoothProfileManager mProfileManager;
+    @Mock private PreferenceScreen mScreen;
+    private AudioSharingNamePreferenceController mController;
+    private ShadowBluetoothAdapter mShadowBluetoothAdapter;
+    private Lifecycle mLifecycle;
+    private LifecycleOwner mLifecycleOwner;
+    private AudioSharingNamePreference mPreference;
+    private FakeFeatureFactory mFeatureFactory;
+
+    @Before
+    public void setUp() {
+        mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+        mShadowBluetoothAdapter.setEnabled(true);
+        mShadowBluetoothAdapter.setIsLeAudioBroadcastSourceSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        mShadowBluetoothAdapter.setIsLeAudioBroadcastAssistantSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBtManager;
+        mLocalBtManager = Utils.getLocalBtManager(mContext);
+        when(mLocalBtManager.getEventManager()).thenReturn(mEventManager);
+        when(mLocalBtManager.getProfileManager()).thenReturn(mProfileManager);
+        when(mProfileManager.getLeAudioBroadcastProfile()).thenReturn(mBroadcast);
+        when(mProfileManager.getLeAudioBroadcastAssistantProfile()).thenReturn(mAssistant);
+        when(mProfileManager.getVolumeControlProfile()).thenReturn(mVolumeControl);
+        when(mBroadcast.isProfileReady()).thenReturn(true);
+        when(mAssistant.isProfileReady()).thenReturn(true);
+        when(mVolumeControl.isProfileReady()).thenReturn(true);
+        when(mBroadcast.isProfileReady()).thenReturn(true);
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
+        mLifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(mLifecycleOwner);
+        mController = new AudioSharingNamePreferenceController(mContext, PREF_KEY);
+        mPreference = spy(new AudioSharingNamePreference(mContext));
+        when(mScreen.findPreference(PREF_KEY)).thenReturn(mPreference);
+    }
+
+    @Test
+    public void getAvailabilityStatus_flagOn_available() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_flagOff_unsupported() {
+        mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void onStart_flagOff_doNothing() {
+        mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        mController.onStart(mLifecycleOwner);
+        verify(mBroadcast, never())
+                .registerServiceCallBack(
+                        any(Executor.class), any(BluetoothLeBroadcast.Callback.class));
+    }
+
+    @Test
+    public void onStart_flagOn_registerCallbacks() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        mController.onStart(mLifecycleOwner);
+        verify(mBroadcast)
+                .registerServiceCallBack(
+                        any(Executor.class), any(BluetoothLeBroadcast.Callback.class));
+    }
+
+    @Test
+    public void onStart_flagOn_serviceNotReady_registerCallbacks() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        when(mBroadcast.isProfileReady()).thenReturn(false);
+        mController.onStart(mLifecycleOwner);
+        verify(mProfileManager)
+                .addServiceListener(any(LocalBluetoothProfileManager.ServiceListener.class));
+    }
+
+    @Test
+    public void onServiceConnected_removeCallbacks() {
+        mController.onServiceConnected();
+        verify(mProfileManager)
+                .removeServiceListener(any(LocalBluetoothProfileManager.ServiceListener.class));
+    }
+
+    @Test
+    public void onStop_flagOff_doNothing() {
+        mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        mController.onStart(mLifecycleOwner);
+        mController.onStop(mLifecycleOwner);
+        verify(mBroadcast, never())
+                .unregisterServiceCallBack(any(BluetoothLeBroadcast.Callback.class));
+    }
+
+    @Test
+    public void onStop_flagOn_unregisterCallbacks() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        mController.onStart(mLifecycleOwner);
+        mController.onStop(mLifecycleOwner);
+        verify(mBroadcast).unregisterServiceCallBack(any(BluetoothLeBroadcast.Callback.class));
+    }
+
+    @Test
+    public void displayPreference_updateName_showIcon() {
+        when(mBroadcast.getBroadcastName()).thenReturn(BROADCAST_NAME);
+        when(mBroadcast.isEnabled(any())).thenReturn(true);
+        mController.displayPreference(mScreen);
+        ShadowLooper.idleMainLooper();
+
+        assertThat(mPreference.getText()).isEqualTo(BROADCAST_NAME);
+        assertThat(mPreference.getSummary()).isEqualTo(BROADCAST_NAME);
+        verify(mPreference).setValidator(any());
+        verify(mPreference).setShowQrCodeIcon(true);
+    }
+
+    @Test
+    public void displayPreference_updateName_hideIcon() {
+        when(mBroadcast.getBroadcastName()).thenReturn(BROADCAST_NAME);
+        when(mBroadcast.isEnabled(any())).thenReturn(false);
+        mController.displayPreference(mScreen);
+        ShadowLooper.idleMainLooper();
+
+        assertThat(mPreference.getText()).isEqualTo(BROADCAST_NAME);
+        assertThat(mPreference.getSummary()).isEqualTo(BROADCAST_NAME);
+        verify(mPreference).setValidator(any());
+        verify(mPreference).setShowQrCodeIcon(false);
+    }
+
+    @Test
+    public void onPreferenceChange_noChange_doNothing() {
+        when(mPreference.getSummary()).thenReturn(BROADCAST_NAME);
+        mController.displayPreference(mScreen);
+        boolean changed = mController.onPreferenceChange(mPreference, BROADCAST_NAME);
+        ShadowLooper.idleMainLooper();
+
+        verify(mBroadcast, never()).setBroadcastName(anyString());
+        verify(mBroadcast, never()).setProgramInfo(anyString());
+        verify(mBroadcast, never()).updateBroadcast();
+        verify(mFeatureFactory.metricsFeatureProvider, never()).action(any(), anyInt(), anyInt());
+
+        assertThat(changed).isFalse();
+    }
+
+    @Test
+    public void onPreferenceChange_changed_updateName_broadcasting() {
+        when(mPreference.getSummary()).thenReturn(BROADCAST_NAME);
+        when(mBroadcast.isEnabled(any())).thenReturn(true);
+        mController.displayPreference(mScreen);
+        boolean changed = mController.onPreferenceChange(mPreference, UPDATED_NAME);
+        ShadowLooper.idleMainLooper();
+
+        verify(mBroadcast).setBroadcastName(UPDATED_NAME.toString());
+        verify(mBroadcast).setProgramInfo(UPDATED_NAME.toString());
+        verify(mBroadcast).updateBroadcast();
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(mContext, SettingsEnums.ACTION_AUDIO_STREAM_NAME_UPDATED, 1);
+        assertThat(changed).isTrue();
+    }
+
+    @Test
+    public void onPreferenceChange_changed_updateName_notBroadcasting() {
+        when(mPreference.getSummary()).thenReturn(BROADCAST_NAME);
+        when(mBroadcast.isEnabled(any())).thenReturn(false);
+        mController.displayPreference(mScreen);
+        boolean changed = mController.onPreferenceChange(mPreference, UPDATED_NAME);
+        ShadowLooper.idleMainLooper();
+
+        verify(mBroadcast).setBroadcastName(UPDATED_NAME.toString());
+        verify(mBroadcast).setProgramInfo(UPDATED_NAME.toString());
+        verify(mBroadcast, never()).updateBroadcast();
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(mContext, SettingsEnums.ACTION_AUDIO_STREAM_NAME_UPDATED, 0);
+        assertThat(changed).isTrue();
+    }
+
+    @Test
+    public void unrelatedCallbacks_doNotUpdateIcon() {
+        mController.displayPreference(mScreen);
+        mController.mBroadcastCallback.onBroadcastStartFailed(/* reason= */ 0);
+        mController.mBroadcastCallback.onBroadcastStarted(/* reason= */ 0, /* broadcastId= */ 0);
+        mController.mBroadcastCallback.onBroadcastStopFailed(/* reason= */ 0);
+        mController.mBroadcastCallback.onBroadcastUpdateFailed(
+                /* reason= */ 0, /* broadcastId= */ 0);
+        mController.mBroadcastCallback.onBroadcastUpdated(/* reason= */ 0, /* broadcastId= */ 0);
+        mController.mBroadcastCallback.onPlaybackStarted(/* reason= */ 0, /* broadcastId= */ 0);
+        mController.mBroadcastCallback.onPlaybackStopped(/* reason= */ 0, /* broadcastId= */ 0);
+
+        ShadowLooper.idleMainLooper();
+        // Should be called once in displayPreference, but not called after callbacks
+        verify(mPreference).setShowQrCodeIcon(anyBoolean());
+    }
+
+    @Test
+    public void broadcastOnCallback_updateIcon() {
+        mController.displayPreference(mScreen);
+        mController.mBroadcastCallback.onBroadcastMetadataChanged(
+                /* broadcastId= */ 0, mock(BluetoothLeBroadcastMetadata.class));
+
+        ShadowLooper.idleMainLooper();
+
+        // Should be called twice, in displayPreference and also after callback
+        verify(mPreference, times(2)).setShowQrCodeIcon(anyBoolean());
+    }
+
+    @Test
+    public void broadcastStopCallback_updateIcon() {
+        mController.displayPreference(mScreen);
+        mController.mBroadcastCallback.onBroadcastStopped(/* reason= */ 0, /* broadcastId= */ 0);
+
+        ShadowLooper.idleMainLooper();
+
+        // Should be called twice, in displayPreference and also after callback
+        verify(mPreference, times(2)).setShowQrCodeIcon(anyBoolean());
+    }
+
+    @Test
+    public void idTextValid_emptyString() {
+        boolean valid = mController.isTextValid("");
+
+        assertThat(valid).isFalse();
+    }
+
+    @Test
+    public void idTextValid_validName() {
+        boolean valid = mController.isTextValid("valid name");
+
+        assertThat(valid).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceTest.java
new file mode 100644
index 0000000..be62414
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceTest.java
@@ -0,0 +1,142 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.audiosharing;
+
+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.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.ImageButton;
+import android.widget.LinearLayout;
+
+import androidx.preference.PreferenceViewHolder;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.SettingsActivity;
+import com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsQrCodeFragment;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class AudioSharingNamePreferenceTest {
+    @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    private Context mContext;
+    private AudioSharingNamePreference mPreference;
+
+    @Before
+    public void setup() {
+        mContext = ApplicationProvider.getApplicationContext();
+        mPreference = spy(new AudioSharingNamePreference(mContext, null));
+    }
+
+    @Test
+    public void initialize_correctLayout() {
+        assertThat(mPreference.getLayoutResource())
+                .isEqualTo(
+                        com.android.settingslib.widget.preference.twotarget.R.layout
+                                .preference_two_target);
+        assertThat(mPreference.getWidgetLayoutResource())
+                .isEqualTo(R.layout.preference_widget_qrcode);
+    }
+
+    @Test
+    public void onBindViewHolder_correctLayout_noQrCodeButton() {
+        LayoutInflater inflater = LayoutInflater.from(mContext);
+        View view = inflater.inflate(mPreference.getLayoutResource(), null);
+        LinearLayout widgetView = view.findViewById(android.R.id.widget_frame);
+        assertThat(widgetView).isNotNull();
+        inflater.inflate(mPreference.getWidgetLayoutResource(), widgetView, true);
+
+        var holder = PreferenceViewHolder.createInstanceForTests(view);
+        mPreference.setShowQrCodeIcon(false);
+        mPreference.onBindViewHolder(holder);
+
+        ImageButton shareButton = (ImageButton) holder.findViewById(R.id.button_icon);
+        View divider =
+                holder.findViewById(
+                        com.android.settingslib.widget.preference.twotarget.R.id
+                                .two_target_divider);
+
+        assertThat(shareButton).isNotNull();
+        assertThat(shareButton.getVisibility()).isEqualTo(View.GONE);
+        assertThat(shareButton.hasOnClickListeners()).isFalse();
+        assertThat(divider).isNotNull();
+        assertThat(divider.getVisibility()).isEqualTo(View.GONE);
+    }
+
+    @Test
+    public void onBindViewHolder_correctLayout_showQrCodeButton() {
+        LayoutInflater inflater = LayoutInflater.from(mContext);
+        View view = inflater.inflate(mPreference.getLayoutResource(), null);
+        LinearLayout widgetView = view.findViewById(android.R.id.widget_frame);
+        assertThat(widgetView).isNotNull();
+        inflater.inflate(mPreference.getWidgetLayoutResource(), widgetView, true);
+
+        var holder = PreferenceViewHolder.createInstanceForTests(view);
+        mPreference.setShowQrCodeIcon(true);
+        mPreference.onBindViewHolder(holder);
+
+        ImageButton shareButton = (ImageButton) holder.findViewById(R.id.button_icon);
+        View divider =
+                holder.findViewById(
+                        com.android.settingslib.widget.preference.twotarget.R.id
+                                .two_target_divider);
+
+        assertThat(shareButton).isNotNull();
+        assertThat(shareButton.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(shareButton.getDrawable()).isNotNull();
+        assertThat(shareButton.hasOnClickListeners()).isTrue();
+        assertThat(shareButton.getContentDescription()).isNotNull();
+        assertThat(divider).isNotNull();
+        assertThat(divider.getVisibility()).isEqualTo(View.VISIBLE);
+
+        // mContext is not an Activity context, calling startActivity() from outside of an Activity
+        // context requires the FLAG_ACTIVITY_NEW_TASK flag, create a mock to avoid this
+        // AndroidRuntimeException.
+        Context activityContext = mock(Context.class);
+        when(mPreference.getContext()).thenReturn(activityContext);
+        shareButton.callOnClick();
+
+        ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
+        verify(activityContext).startActivity(argumentCaptor.capture());
+
+        Intent intent = argumentCaptor.getValue();
+        assertThat(intent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+                .isEqualTo(AudioStreamsQrCodeFragment.class.getName());
+        assertThat(intent.getIntExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RESID, 0))
+                .isEqualTo(R.string.audio_streams_qr_code_page_title);
+        assertThat(intent.getIntExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY, 0))
+                .isEqualTo(SettingsEnums.AUDIO_SHARING_SETTINGS);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNameTextValidatorTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNameTextValidatorTest.java
new file mode 100644
index 0000000..ada6117
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNameTextValidatorTest.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.audiosharing;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class AudioSharingNameTextValidatorTest {
+    private AudioSharingNameTextValidator mValidator;
+
+    @Before
+    public void setUp() {
+        mValidator = new AudioSharingNameTextValidator();
+    }
+
+    @Test
+    public void testValidNames() {
+        assertThat(mValidator.isTextValid("ValidName")).isTrue();
+        assertThat(mValidator.isTextValid("12345678")).isTrue();
+        assertThat(mValidator.isTextValid("Name_With_Underscores")).isTrue();
+        assertThat(mValidator.isTextValid("ÄÖÜß")).isTrue();
+        assertThat(mValidator.isTextValid("ThisNameIsExactly32Characters!")).isTrue();
+    }
+
+    @Test
+    public void testInvalidNames() {
+        assertThat(mValidator.isTextValid(null)).isFalse();
+        assertThat(mValidator.isTextValid("")).isFalse();
+        assertThat(mValidator.isTextValid("abc")).isFalse();
+        assertThat(mValidator.isTextValid("ThisNameIsWayTooLongForAnAudioSharingName")).isFalse();
+        assertThat(mValidator.isTextValid("Invalid\uDC00")).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordPreferenceControllerTest.java
new file mode 100644
index 0000000..5bfb966
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordPreferenceControllerTest.java
@@ -0,0 +1,335 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.audiosharing;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.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.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.settings.SettingsEnums;
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothStatusCodes;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.database.ContentObserver;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
+import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.flags.Flags;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.Spy;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadow.api.Shadow;
+import org.robolectric.shadows.ShadowLooper;
+
+import java.nio.charset.StandardCharsets;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+        shadows = {
+            ShadowBluetoothAdapter.class,
+            ShadowBluetoothUtils.class,
+        })
+public class AudioSharingPasswordPreferenceControllerTest {
+    private static final String PREF_KEY = "audio_sharing_stream_password";
+    private static final String SHARED_PREF_KEY = "default_password";
+    private static final String BROADCAST_PASSWORD = "password";
+    private static final String EDITTEXT_PASSWORD = "edittext_password";
+    private static final String HIDDEN_PASSWORD = "********";
+
+    @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+    @Spy Context mContext = ApplicationProvider.getApplicationContext();
+    @Mock private LocalBluetoothLeBroadcast mBroadcast;
+    @Mock private LocalBluetoothManager mLocalBtManager;
+    @Mock private LocalBluetoothProfileManager mProfileManager;
+    @Mock private SharedPreferences mSharedPreferences;
+    @Mock private SharedPreferences.Editor mEditor;
+    @Mock private ContentResolver mContentResolver;
+    @Mock private PreferenceScreen mScreen;
+    private AudioSharingPasswordPreferenceController mController;
+    private ShadowBluetoothAdapter mShadowBluetoothAdapter;
+    private Lifecycle mLifecycle;
+    private LifecycleOwner mLifecycleOwner;
+    private AudioSharingPasswordPreference mPreference;
+    private FakeFeatureFactory mFeatureFactory;
+
+    @Before
+    public void setUp() {
+        mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+        mShadowBluetoothAdapter.setEnabled(true);
+        mShadowBluetoothAdapter.setIsLeAudioBroadcastSourceSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        mShadowBluetoothAdapter.setIsLeAudioBroadcastAssistantSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        mLocalBtManager = Utils.getLocalBtManager(mContext);
+        when(mLocalBtManager.getProfileManager()).thenReturn(mProfileManager);
+        when(mProfileManager.getLeAudioBroadcastProfile()).thenReturn(mBroadcast);
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
+        when(mContext.getContentResolver()).thenReturn(mContentResolver);
+        when(mContext.getSharedPreferences(anyString(), anyInt())).thenReturn(mSharedPreferences);
+        when(mSharedPreferences.edit()).thenReturn(mEditor);
+        when(mEditor.putString(anyString(), anyString())).thenReturn(mEditor);
+        mLifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(mLifecycleOwner);
+        mController = new AudioSharingPasswordPreferenceController(mContext, PREF_KEY);
+        mPreference = spy(new AudioSharingPasswordPreference(mContext));
+        when(mScreen.findPreference(PREF_KEY)).thenReturn(mPreference);
+    }
+
+    @Test
+    public void getAvailabilityStatus_flagOn_available() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_flagOff_unsupported() {
+        mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void onStart_flagOff_doNothing() {
+        mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        mController.onStart(mLifecycleOwner);
+        verify(mContentResolver, never()).registerContentObserver(any(), anyBoolean(), any());
+        verify(mSharedPreferences, never()).registerOnSharedPreferenceChangeListener(any());
+    }
+
+    @Test
+    public void onStart_flagOn_registerCallbacks() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        mController.onStart(mLifecycleOwner);
+        verify(mContentResolver).registerContentObserver(any(), anyBoolean(), any());
+        verify(mSharedPreferences).registerOnSharedPreferenceChangeListener(any());
+    }
+
+    @Test
+    public void onStop_flagOff_doNothing() {
+        mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        mController.onStop(mLifecycleOwner);
+        verify(mContentResolver, never()).unregisterContentObserver(any());
+        verify(mSharedPreferences, never()).unregisterOnSharedPreferenceChangeListener(any());
+    }
+
+    @Test
+    public void onStop_flagOn_registerCallbacks() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        mController.onStop(mLifecycleOwner);
+        verify(mContentResolver).unregisterContentObserver(any());
+        verify(mSharedPreferences).unregisterOnSharedPreferenceChangeListener(any());
+    }
+
+    @Test
+    public void displayPreference_setupPreference_noPassword() {
+        when(mSharedPreferences.getString(anyString(), anyString())).thenReturn(EDITTEXT_PASSWORD);
+        when(mBroadcast.getBroadcastCode()).thenReturn(new byte[] {});
+
+        mController.displayPreference(mScreen);
+        ShadowLooper.idleMainLooper();
+
+        assertThat(mPreference.isPassword()).isTrue();
+        assertThat(mPreference.getDialogLayoutResource())
+                .isEqualTo(R.layout.audio_sharing_password_dialog);
+        assertThat(mPreference.getText()).isEqualTo(EDITTEXT_PASSWORD);
+        assertThat(mPreference.getSummary())
+                .isEqualTo(mContext.getString(R.string.audio_streams_no_password_summary));
+        verify(mPreference).setValidator(any());
+        verify(mPreference).setOnDialogEventListener(any());
+    }
+
+    @Test
+    public void contentObserver_updatePreferenceOnChange() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        when(mBroadcast.getBroadcastCode())
+                .thenReturn(BROADCAST_PASSWORD.getBytes(StandardCharsets.UTF_8));
+        mController.onStart(mLifecycleOwner);
+        mController.displayPreference(mScreen);
+        ShadowLooper.idleMainLooper();
+
+        ArgumentCaptor<ContentObserver> observerCaptor =
+                ArgumentCaptor.forClass(ContentObserver.class);
+        verify(mContentResolver)
+                .registerContentObserver(any(), anyBoolean(), observerCaptor.capture());
+
+        var observer = observerCaptor.getValue();
+        assertThat(observer).isNotNull();
+        observer.onChange(true);
+        verify(mPreference).setText(anyString());
+        verify(mPreference).setSummary(anyString());
+    }
+
+    @Test
+    public void sharedPrefChangeListener_updatePreferenceOnChange() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        when(mBroadcast.getBroadcastCode())
+                .thenReturn(BROADCAST_PASSWORD.getBytes(StandardCharsets.UTF_8));
+        mController.onStart(mLifecycleOwner);
+        mController.displayPreference(mScreen);
+        ShadowLooper.idleMainLooper();
+
+        ArgumentCaptor<SharedPreferences.OnSharedPreferenceChangeListener> captor =
+                ArgumentCaptor.forClass(SharedPreferences.OnSharedPreferenceChangeListener.class);
+        verify(mSharedPreferences).registerOnSharedPreferenceChangeListener(captor.capture());
+
+        var observer = captor.getValue();
+        assertThat(captor).isNotNull();
+        observer.onSharedPreferenceChanged(mSharedPreferences, SHARED_PREF_KEY);
+        verify(mPreference).setText(anyString());
+        verify(mPreference).setSummary(anyString());
+    }
+
+    @Test
+    public void displayPreference_setupPreference_hasPassword() {
+        when(mBroadcast.getBroadcastCode())
+                .thenReturn(BROADCAST_PASSWORD.getBytes(StandardCharsets.UTF_8));
+        mController.displayPreference(mScreen);
+        ShadowLooper.idleMainLooper();
+
+        assertThat(mPreference.isPassword()).isTrue();
+        assertThat(mPreference.getDialogLayoutResource())
+                .isEqualTo(R.layout.audio_sharing_password_dialog);
+        assertThat(mPreference.getText()).isEqualTo(BROADCAST_PASSWORD);
+        assertThat(mPreference.getSummary()).isEqualTo(HIDDEN_PASSWORD);
+        verify(mPreference).setValidator(any());
+        verify(mPreference).setOnDialogEventListener(any());
+    }
+
+    @Test
+    public void onBindDialogView_updatePreference_isBroadcasting_noPassword() {
+        when(mBroadcast.getBroadcastCode()).thenReturn(new byte[] {});
+        when(mBroadcast.isEnabled(any())).thenReturn(true);
+        mController.displayPreference(mScreen);
+        mController.onBindDialogView();
+        ShadowLooper.idleMainLooper();
+
+        verify(mPreference).setEditable(false);
+        verify(mPreference).setChecked(true);
+    }
+
+    @Test
+    public void onBindDialogView_updatePreference_isNotBroadcasting_hasPassword() {
+        when(mBroadcast.getBroadcastCode())
+                .thenReturn(BROADCAST_PASSWORD.getBytes(StandardCharsets.UTF_8));
+        mController.displayPreference(mScreen);
+        mController.onBindDialogView();
+        ShadowLooper.idleMainLooper();
+
+        verify(mPreference).setEditable(true);
+        verify(mPreference).setChecked(false);
+    }
+
+    @Test
+    public void onPreferenceDataChanged_isBroadcasting_doNothing() {
+        when(mBroadcast.isEnabled(any())).thenReturn(true);
+        mController.displayPreference(mScreen);
+        mController.onPreferenceDataChanged(BROADCAST_PASSWORD, /* isPublicBroadcast= */ false);
+        ShadowLooper.idleMainLooper();
+
+        verify(mBroadcast, never()).setBroadcastCode(any());
+        verify(mFeatureFactory.metricsFeatureProvider, never()).action(any(), anyInt(), anyInt());
+    }
+
+    @Test
+    public void onPreferenceDataChanged_noChange_doNothing() {
+        when(mSharedPreferences.getString(anyString(), anyString())).thenReturn(EDITTEXT_PASSWORD);
+        when(mBroadcast.getBroadcastCode()).thenReturn(new byte[] {});
+        mController.displayPreference(mScreen);
+        mController.onPreferenceDataChanged(EDITTEXT_PASSWORD, /* isPublicBroadcast= */ true);
+        ShadowLooper.idleMainLooper();
+
+        verify(mBroadcast, never()).setBroadcastCode(any());
+        verify(mFeatureFactory.metricsFeatureProvider, never()).action(any(), anyInt(), anyInt());
+    }
+
+    @Test
+    public void onPreferenceDataChanged_updateToNonPublicBroadcast() {
+        when(mSharedPreferences.getString(anyString(), anyString())).thenReturn(EDITTEXT_PASSWORD);
+        when(mBroadcast.getBroadcastCode()).thenReturn(new byte[] {});
+        mController.displayPreference(mScreen);
+        mController.onPreferenceDataChanged(BROADCAST_PASSWORD, /* isPublicBroadcast= */ false);
+        ShadowLooper.idleMainLooper();
+
+        verify(mBroadcast).setBroadcastCode(BROADCAST_PASSWORD.getBytes(StandardCharsets.UTF_8));
+        verify(mEditor).putString(anyString(), eq(BROADCAST_PASSWORD));
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(mContext, SettingsEnums.ACTION_AUDIO_STREAM_PASSWORD_UPDATED, 0);
+    }
+
+    @Test
+    public void onPreferenceDataChanged_updateToPublicBroadcast() {
+        when(mSharedPreferences.getString(anyString(), anyString())).thenReturn(EDITTEXT_PASSWORD);
+        when(mBroadcast.getBroadcastCode())
+                .thenReturn(BROADCAST_PASSWORD.getBytes(StandardCharsets.UTF_8));
+        mController.displayPreference(mScreen);
+        mController.onPreferenceDataChanged(EDITTEXT_PASSWORD, /* isPublicBroadcast= */ true);
+        ShadowLooper.idleMainLooper();
+
+        verify(mBroadcast).setBroadcastCode("".getBytes(StandardCharsets.UTF_8));
+        verify(mEditor, never()).putString(anyString(), eq(EDITTEXT_PASSWORD));
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(mContext, SettingsEnums.ACTION_AUDIO_STREAM_PASSWORD_UPDATED, 1);
+    }
+
+    @Test
+    public void idTextValid_emptyString() {
+        boolean valid = mController.isTextValid("");
+
+        assertThat(valid).isFalse();
+    }
+
+    @Test
+    public void idTextValid_validPassword() {
+        boolean valid = mController.isTextValid(BROADCAST_PASSWORD);
+
+        assertThat(valid).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordPreferenceTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordPreferenceTest.java
new file mode 100644
index 0000000..0b87e8c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordPreferenceTest.java
@@ -0,0 +1,215 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.audiosharing;
+
+import static android.view.View.GONE;
+import static android.view.View.VISIBLE;
+
+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.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+import android.content.DialogInterface;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.CheckBox;
+import android.widget.EditText;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class AudioSharingPasswordPreferenceTest {
+    @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    private static final String EDIT_TEXT_CONTENT = "text";
+    private Context mContext;
+    private AudioSharingPasswordPreference mPreference;
+
+    @Before
+    public void setup() {
+        mContext = ApplicationProvider.getApplicationContext();
+        mPreference = new AudioSharingPasswordPreference(mContext, null);
+    }
+
+    @Test
+    public void onBindDialogView_correctLayout() {
+        View view =
+                LayoutInflater.from(mContext).inflate(R.layout.audio_sharing_password_dialog, null);
+        mPreference.onBindDialogView(view);
+
+        var editText = view.findViewById(android.R.id.edit);
+        var checkBox = view.findViewById(R.id.audio_sharing_stream_password_checkbox);
+        var dialogMessage = view.findViewById(android.R.id.message);
+
+        assertThat(editText).isNotNull();
+        assertThat(checkBox).isNotNull();
+        assertThat(dialogMessage).isNotNull();
+    }
+
+    @Test
+    public void setEditable_true() {
+        View view =
+                LayoutInflater.from(mContext).inflate(R.layout.audio_sharing_password_dialog, null);
+        mPreference.onBindDialogView(view);
+
+        var editText = view.findViewById(android.R.id.edit);
+        var checkBox = view.findViewById(R.id.audio_sharing_stream_password_checkbox);
+        var dialogMessage = view.findViewById(android.R.id.message);
+
+        mPreference.setEditable(true);
+
+        assertThat(editText).isNotNull();
+        assertThat(editText.isEnabled()).isTrue();
+        assertThat(editText.getAlpha()).isEqualTo(1.0f);
+        assertThat(checkBox).isNotNull();
+        assertThat(checkBox.isEnabled()).isTrue();
+        assertThat(dialogMessage).isNotNull();
+        assertThat(dialogMessage.getVisibility()).isEqualTo(GONE);
+    }
+
+    @Test
+    public void setEditable_false() {
+        View view =
+                LayoutInflater.from(mContext).inflate(R.layout.audio_sharing_password_dialog, null);
+        mPreference.onBindDialogView(view);
+
+        var editText = view.findViewById(android.R.id.edit);
+        var checkBox = view.findViewById(R.id.audio_sharing_stream_password_checkbox);
+        var dialogMessage = view.findViewById(android.R.id.message);
+
+        mPreference.setEditable(false);
+
+        assertThat(editText).isNotNull();
+        assertThat(editText.isEnabled()).isFalse();
+        assertThat(editText.getAlpha()).isLessThan(1.0f);
+        assertThat(checkBox).isNotNull();
+        assertThat(checkBox.isEnabled()).isFalse();
+        assertThat(dialogMessage).isNotNull();
+        assertThat(dialogMessage.getVisibility()).isEqualTo(VISIBLE);
+    }
+
+    @Test
+    public void setChecked_true() {
+        View view =
+                LayoutInflater.from(mContext).inflate(R.layout.audio_sharing_password_dialog, null);
+        mPreference.onBindDialogView(view);
+
+        CheckBox checkBox = view.findViewById(R.id.audio_sharing_stream_password_checkbox);
+
+        mPreference.setChecked(true);
+
+        assertThat(checkBox).isNotNull();
+        assertThat(checkBox.isChecked()).isTrue();
+    }
+
+    @Test
+    public void setChecked_false() {
+        View view =
+                LayoutInflater.from(mContext).inflate(R.layout.audio_sharing_password_dialog, null);
+        mPreference.onBindDialogView(view);
+
+        CheckBox checkBox = view.findViewById(R.id.audio_sharing_stream_password_checkbox);
+
+        mPreference.setChecked(false);
+
+        assertThat(checkBox).isNotNull();
+        assertThat(checkBox.isChecked()).isFalse();
+    }
+
+    @Test
+    public void onDialogEventListener_onClick_positiveButton() {
+        AudioSharingPasswordPreference.OnDialogEventListener listener =
+                mock(AudioSharingPasswordPreference.OnDialogEventListener.class);
+        mPreference.setOnDialogEventListener(listener);
+        View view =
+                LayoutInflater.from(mContext).inflate(R.layout.audio_sharing_password_dialog, null);
+        mPreference.onBindDialogView(view);
+
+        EditText editText = view.findViewById(android.R.id.edit);
+        assertThat(editText).isNotNull();
+        editText.setText(EDIT_TEXT_CONTENT);
+
+        mPreference.onClick(mock(DialogInterface.class), DialogInterface.BUTTON_POSITIVE);
+
+        verify(listener).onBindDialogView();
+        verify(listener).onPreferenceDataChanged(eq(EDIT_TEXT_CONTENT), anyBoolean());
+    }
+
+    @Test
+    public void onDialogEventListener_onClick_negativeButton_doNothing() {
+        AudioSharingPasswordPreference.OnDialogEventListener listener =
+                mock(AudioSharingPasswordPreference.OnDialogEventListener.class);
+        mPreference.setOnDialogEventListener(listener);
+        View view =
+                LayoutInflater.from(mContext).inflate(R.layout.audio_sharing_password_dialog, null);
+        mPreference.onBindDialogView(view);
+
+        EditText editText = view.findViewById(android.R.id.edit);
+        assertThat(editText).isNotNull();
+        editText.setText(EDIT_TEXT_CONTENT);
+
+        mPreference.onClick(mock(DialogInterface.class), DialogInterface.BUTTON_NEGATIVE);
+
+        verify(listener).onBindDialogView();
+        verify(listener, never()).onPreferenceDataChanged(anyString(), anyBoolean());
+    }
+
+    @Test
+    public void onPrepareDialogBuilder_editable_doNothing() {
+        View view =
+                LayoutInflater.from(mContext).inflate(R.layout.audio_sharing_password_dialog, null);
+        mPreference.onBindDialogView(view);
+        mPreference.setEditable(true);
+
+        var dialogBuilder = mock(AlertDialog.Builder.class);
+        mPreference.onPrepareDialogBuilder(
+                dialogBuilder, mock(DialogInterface.OnClickListener.class));
+
+        verify(dialogBuilder, never()).setPositiveButton(any(), any());
+    }
+
+    @Test
+    public void onPrepareDialogBuilder_notEditable_disableButton() {
+        View view =
+                LayoutInflater.from(mContext).inflate(R.layout.audio_sharing_password_dialog, null);
+        mPreference.onBindDialogView(view);
+        mPreference.setEditable(false);
+
+        var dialogBuilder = mock(AlertDialog.Builder.class);
+        mPreference.onPrepareDialogBuilder(
+                dialogBuilder, mock(DialogInterface.OnClickListener.class));
+
+        verify(dialogBuilder).setPositiveButton(any(), any());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordValidatorTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordValidatorTest.java
new file mode 100644
index 0000000..5c96fe1
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordValidatorTest.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.audiosharing;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class AudioSharingPasswordValidatorTest {
+    private AudioSharingPasswordValidator mValidator;
+
+    @Before
+    public void setUp() {
+        mValidator = new AudioSharingPasswordValidator();
+    }
+
+    @Test
+    public void testValidPasswords() {
+        assertThat(mValidator.isTextValid("1234")).isTrue();
+        assertThat(mValidator.isTextValid("Password")).isTrue();
+        assertThat(mValidator.isTextValid("SecurePass123!")).isTrue();
+        assertThat(mValidator.isTextValid("ÄÖÜß")).isTrue();
+        assertThat(mValidator.isTextValid("1234567890abcdef")).isTrue();
+    }
+
+    @Test
+    public void testInvalidPasswords() {
+        assertThat(mValidator.isTextValid(null)).isFalse();
+        assertThat(mValidator.isTextValid("")).isFalse();
+        assertThat(mValidator.isTextValid("abc")).isFalse();
+        assertThat(mValidator.isTextValid("ThisIsAVeryLongPasswordThatExceedsSixteenOctets"))
+                .isFalse();
+        assertThat(mValidator.isTextValid("Invalid\uDC00")).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingReceiverTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingReceiverTest.java
index deed229..db6eb8c 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingReceiverTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingReceiverTest.java
@@ -25,7 +25,7 @@
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoInteractions;
 import static org.mockito.Mockito.when;
@@ -164,8 +164,7 @@
         AudioSharingReceiver audioSharingReceiver = getAudioSharingReceiver(intent);
         audioSharingReceiver.onReceive(mContext, intent);
 
-        verify(mNm, times(1))
-                .notify(eq(R.drawable.ic_bt_le_audio_sharing), any(Notification.class));
+        verify(mNm).notify(eq(R.drawable.ic_bt_le_audio_sharing), any(Notification.class));
         verify(mFeatureFactory.metricsFeatureProvider)
                 .action(mContext, SettingsEnums.ACTION_SHOW_AUDIO_SHARING_NOTIFICATION);
     }
@@ -181,7 +180,7 @@
         AudioSharingReceiver audioSharingReceiver = getAudioSharingReceiver(intent);
         audioSharingReceiver.onReceive(mContext, intent);
 
-        verify(mNm, times(1)).cancel(R.drawable.ic_bt_le_audio_sharing);
+        verify(mNm).cancel(R.drawable.ic_bt_le_audio_sharing);
         verify(mFeatureFactory.metricsFeatureProvider)
                 .action(mContext, SettingsEnums.ACTION_CANCEL_AUDIO_SHARING_NOTIFICATION);
     }
@@ -199,8 +198,10 @@
     }
 
     @Test
-    public void broadcastReceiver_receiveAudioSharingStopIntent_stopBroadcast() {
+    public void
+            broadcastReceiver_receiveAudioSharingStopIntent_notInBroadcast_cancelNotification() {
         mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        when(mBroadcast.isEnabled(null)).thenReturn(false);
         int broadcastId = 1;
         when(mBroadcast.getLatestBroadcastId()).thenReturn(broadcastId);
 
@@ -209,7 +210,25 @@
         AudioSharingReceiver audioSharingReceiver = getAudioSharingReceiver(intent);
         audioSharingReceiver.onReceive(mContext, intent);
 
-        verify(mBroadcast, times(1)).stopBroadcast(broadcastId);
+        verify(mBroadcast, never()).stopBroadcast(broadcastId);
+        verify(mNm).cancel(R.drawable.ic_bt_le_audio_sharing);
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(mContext, SettingsEnums.ACTION_CANCEL_AUDIO_SHARING_NOTIFICATION);
+    }
+
+    @Test
+    public void broadcastReceiver_receiveAudioSharingStopIntent_inBroadcast_stopBroadcast() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        when(mBroadcast.isEnabled(null)).thenReturn(true);
+        int broadcastId = 1;
+        when(mBroadcast.getLatestBroadcastId()).thenReturn(broadcastId);
+
+        Intent intent = new Intent(ACTION_LE_AUDIO_SHARING_STOP);
+        intent.setPackage(mContext.getPackageName());
+        AudioSharingReceiver audioSharingReceiver = getAudioSharingReceiver(intent);
+        audioSharingReceiver.onReceive(mContext, intent);
+
+        verify(mBroadcast).stopBroadcast(broadcastId);
         verify(mFeatureFactory.metricsFeatureProvider)
                 .action(mContext, SettingsEnums.ACTION_STOP_AUDIO_SHARING_FROM_NOTIFICATION);
     }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingRetryDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingRetryDialogFragmentTest.java
new file mode 100644
index 0000000..4b0524b
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingRetryDialogFragmentTest.java
@@ -0,0 +1,132 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.audiosharing;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.robolectric.shadows.ShadowLooper.shadowMainLooper;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothStatusCodes;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.view.View;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
+import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
+import com.android.settingslib.flags.Flags;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadow.api.Shadow;
+import org.robolectric.shadows.androidx.fragment.FragmentController;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+        shadows = {
+                ShadowAlertDialogCompat.class,
+                ShadowBluetoothAdapter.class,
+        })
+public class AudioSharingRetryDialogFragmentTest {
+    @Rule
+    public final MockitoRule mocks = MockitoJUnit.rule();
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    private Fragment mParent;
+    private AudioSharingRetryDialogFragment mFragment;
+
+    @Before
+    public void setUp() {
+        ShadowAlertDialogCompat.reset();
+        ShadowBluetoothAdapter shadowBluetoothAdapter =
+                Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+        shadowBluetoothAdapter.setEnabled(true);
+        shadowBluetoothAdapter.setIsLeAudioBroadcastSourceSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        shadowBluetoothAdapter.setIsLeAudioBroadcastAssistantSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        mFragment = new AudioSharingRetryDialogFragment();
+        mParent = new Fragment();
+        FragmentController.setupFragment(
+                mParent, FragmentActivity.class, /* containerViewId= */ 0, /* bundle= */ null);
+    }
+
+    @After
+    public void tearDown() {
+        ShadowAlertDialogCompat.reset();
+    }
+
+    @Test
+    public void getMetricsCategory_correctValue() {
+        // TODO: update metrics id
+        assertThat(mFragment.getMetricsCategory())
+                .isEqualTo(0);
+    }
+
+    @Test
+    public void onCreateDialog_flagOff_dialogNotExist() {
+        mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        AudioSharingRetryDialogFragment.show(mParent);
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNull();
+    }
+
+    @Test
+    public void onCreateDialog_unattachedFragment_dialogNotExist() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        AudioSharingRetryDialogFragment.show(new Fragment());
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNull();
+    }
+
+    @Test
+    public void onCreateDialog_flagOn_showDialog() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        AudioSharingRetryDialogFragment.show(mParent);
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
+        assertThat(dialog.isShowing()).isTrue();
+    }
+
+    @Test
+    public void onCreateDialog_clickOk_dialogDismiss() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        AudioSharingRetryDialogFragment.show(mParent);
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
+        View btnView = dialog.findViewById(android.R.id.button1);
+        assertThat(btnView).isNotNull();
+        btnView.performClick();
+        shadowMainLooper().idle();
+        assertThat(dialog.isShowing()).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragmentTest.java
index b6babfb..c0af09f 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragmentTest.java
@@ -149,6 +149,20 @@
     }
 
     @Test
+    public void onCreateDialog_unattachedFragment_dialogNotExist() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        AudioSharingStopDialogFragment.show(
+                new Fragment(),
+                ImmutableList.of(TEST_DEVICE_ITEM2),
+                mCachedDevice1,
+                EMPTY_EVENT_LISTENER,
+                TEST_EVENT_DATA_LIST);
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNull();
+    }
+
+    @Test
     public void onCreateDialog_oneDeviceInSharing_showDialogWithCorrectMessage() {
         mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
         AudioSharingStopDialogFragment.show(
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarControllerTest.java
index 45d99c7..354c5c7 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarControllerTest.java
@@ -18,6 +18,7 @@
 
 import static com.android.settings.core.BasePreferenceController.AVAILABLE;
 import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
+import static com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast.EXTRA_START_LE_AUDIO_SHARING;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -30,8 +31,10 @@
 import static org.mockito.Mockito.never;
 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 static org.robolectric.Shadows.shadowOf;
+import static org.robolectric.shadows.ShadowLooper.shadowMainLooper;
 
 import android.app.settings.SettingsEnums;
 import android.bluetooth.BluetoothAdapter;
@@ -39,31 +42,41 @@
 import android.bluetooth.BluetoothLeBroadcast;
 import android.bluetooth.BluetoothLeBroadcastAssistant;
 import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
 import android.bluetooth.BluetoothProfile;
 import android.bluetooth.BluetoothStatusCodes;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
+import android.os.Bundle;
 import android.os.Looper;
 import android.platform.test.flag.junit.SetFlagsRule;
 import android.util.FeatureFlagUtils;
 import android.util.Pair;
+import android.view.View;
+import android.view.accessibility.AccessibilityEvent;
 import android.widget.CompoundButton;
 
+import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.DialogFragment;
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentActivity;
 import androidx.lifecycle.LifecycleOwner;
 import androidx.test.core.app.ApplicationProvider;
 
+import com.android.settings.R;
+import com.android.settings.SettingsActivity;
 import com.android.settings.bluetooth.Utils;
 import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
 import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
 import com.android.settings.testutils.shadow.ShadowThreadUtils;
 import com.android.settings.widget.SettingsMainSwitchBar;
 import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.bluetooth.BluetoothCallback;
+import com.android.settingslib.bluetooth.BluetoothEventManager;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
 import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
@@ -98,21 +111,25 @@
 @RunWith(RobolectricTestRunner.class)
 @Config(
         shadows = {
-            ShadowBluetoothAdapter.class,
-            ShadowBluetoothUtils.class,
-            ShadowThreadUtils.class,
+                ShadowBluetoothAdapter.class,
+                ShadowBluetoothUtils.class,
+                ShadowThreadUtils.class,
+                ShadowAlertDialogCompat.class
         })
 public class AudioSharingSwitchBarControllerTest {
     private static final String TEST_DEVICE_NAME1 = "test1";
     private static final String TEST_DEVICE_NAME2 = "test2";
+    private static final String TEST_DEVICE_ANONYMIZED_ADDR1 = "XX:XX:01";
+    private static final String TEST_DEVICE_ANONYMIZED_ADDR2 = "XX:XX:02";
     private static final int TEST_DEVICE_GROUP_ID1 = 1;
     private static final int TEST_DEVICE_GROUP_ID2 = 2;
-    private static final Correspondence<Fragment, String> TAG_EQUALS =
+    private static final Correspondence<Fragment, String> CLAZZNAME_EQUALS =
             Correspondence.from(
-                    (Fragment fragment, String tag) ->
+                    (Fragment fragment, String clazzName) ->
                             fragment instanceof DialogFragment
-                                    && ((DialogFragment) fragment).getTag() != null
-                                    && ((DialogFragment) fragment).getTag().equals(tag),
+                                    && ((DialogFragment) fragment).getClass().getName() != null
+                                    && ((DialogFragment) fragment).getClass().getName().equals(
+                                    clazzName),
                     "is equal to");
 
     @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
@@ -121,10 +138,12 @@
     @Spy Context mContext = ApplicationProvider.getApplicationContext();
     @Mock private LocalBluetoothManager mLocalBtManager;
     @Mock private CachedBluetoothDeviceManager mDeviceManager;
+    @Mock private BluetoothEventManager mEventManager;
     @Mock private LocalBluetoothProfileManager mBtProfileManager;
     @Mock private LocalBluetoothLeBroadcast mBroadcast;
     @Mock private LocalBluetoothLeBroadcastAssistant mAssistant;
     @Mock private VolumeControlProfile mVolumeControl;
+    @Mock private BluetoothLeBroadcastMetadata mMetadata;
     @Mock private CompoundButton mBtnView;
     @Mock private CachedBluetoothDevice mCachedDevice1;
     @Mock private CachedBluetoothDevice mCachedDevice2;
@@ -155,11 +174,14 @@
         mFeatureFactory = FakeFeatureFactory.setupForTest();
         when(localBluetoothManager.getProfileManager()).thenReturn(mBtProfileManager);
         when(localBluetoothManager.getCachedDeviceManager()).thenReturn(mDeviceManager);
+        when(localBluetoothManager.getEventManager()).thenReturn(mEventManager);
+        when(mDevice1.getAnonymizedAddress()).thenReturn(TEST_DEVICE_ANONYMIZED_ADDR1);
         when(mDeviceManager.findDevice(mDevice1)).thenReturn(mCachedDevice1);
         when(mCachedDevice1.getDevice()).thenReturn(mDevice1);
         when(mCachedDevice1.getGroupId()).thenReturn(TEST_DEVICE_GROUP_ID1);
         when(mCachedDevice1.getName()).thenReturn(TEST_DEVICE_NAME1);
         when(mCachedDevice1.isActiveDevice(BluetoothProfile.LE_AUDIO)).thenReturn(false);
+        when(mDevice2.getAnonymizedAddress()).thenReturn(TEST_DEVICE_ANONYMIZED_ADDR2);
         when(mDeviceManager.findDevice(mDevice2)).thenReturn(mCachedDevice2);
         when(mCachedDevice2.getDevice()).thenReturn(mDevice2);
         when(mCachedDevice2.getGroupId()).thenReturn(TEST_DEVICE_GROUP_ID2);
@@ -295,6 +317,7 @@
         verify(mAssistant, never())
                 .registerServiceCallBack(
                         any(Executor.class), any(BluetoothLeBroadcastAssistant.Callback.class));
+        verify(mEventManager, never()).registerCallback(any(BluetoothCallback.class));
         verify(mBtProfileManager).addServiceListener(mController);
         assertThat(mSwitchBar.isChecked()).isFalse();
         assertThat(mSwitchBar.isEnabled()).isFalse();
@@ -315,12 +338,25 @@
         verify(mAssistant)
                 .registerServiceCallBack(
                         any(Executor.class), any(BluetoothLeBroadcastAssistant.Callback.class));
+        verify(mEventManager).registerCallback(any(BluetoothCallback.class));
         verify(mBtProfileManager, never()).addServiceListener(mController);
         assertThat(mSwitchBar.isChecked()).isTrue();
         assertThat(mSwitchBar.isEnabled()).isTrue();
     }
 
     @Test
+    public void onStart_flagOn_updateSwitch() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        when(mBroadcast.isEnabled(null)).thenReturn(false);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(ImmutableList.of());
+        mController.onStart(mLifecycleOwner);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        assertThat(mSwitchBar.isChecked()).isFalse();
+        assertThat(mSwitchBar.isEnabled()).isTrue();
+    }
+
+    @Test
     public void onStop_flagOff_doNothing() {
         mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
         mController.onStop(mLifecycleOwner);
@@ -329,6 +365,7 @@
                 .unregisterServiceCallBack(any(BluetoothLeBroadcast.Callback.class));
         verify(mAssistant, never())
                 .unregisterServiceCallBack(any(BluetoothLeBroadcastAssistant.Callback.class));
+        verify(mEventManager, never()).unregisterCallback(any(BluetoothCallback.class));
         verify(mBtProfileManager, never()).removeServiceListener(mController);
     }
 
@@ -345,6 +382,7 @@
                 .unregisterServiceCallBack(any(BluetoothLeBroadcast.Callback.class));
         verify(mAssistant, never())
                 .unregisterServiceCallBack(any(BluetoothLeBroadcastAssistant.Callback.class));
+        verify(mEventManager, never()).unregisterCallback(any(BluetoothCallback.class));
     }
 
     @Test
@@ -361,6 +399,7 @@
         verify(mBroadcast).unregisterServiceCallBack(any(BluetoothLeBroadcast.Callback.class));
         verify(mAssistant)
                 .unregisterServiceCallBack(any(BluetoothLeBroadcastAssistant.Callback.class));
+        verify(mEventManager).unregisterCallback(any(BluetoothCallback.class));
     }
 
     @Test
@@ -372,17 +411,21 @@
     }
 
     @Test
-    public void onCheckedChangedToChecked_noConnectedLeaDevices_flagOn_notStartAudioSharing() {
+    public void onCheckedChangedToChecked_noConnectedLeaDevices_flagOn_showDialog() {
         FeatureFlagUtils.setEnabled(
                 mContext, FeatureFlagUtils.SETTINGS_NEED_CONNECTED_BLE_DEVICE_FOR_BROADCAST, true);
         when(mBtnView.isEnabled()).thenReturn(true);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(ImmutableList.of());
+        when(mAssistant.getAllConnectedDevices()).thenReturn(ImmutableList.of());
         doNothing().when(mBroadcast).startPrivateBroadcast();
         mController.onCheckedChanged(mBtnView, /* isChecked= */ true);
+        shadowOf(Looper.getMainLooper()).idle();
+
         assertThat(mSwitchBar.isChecked()).isFalse();
         verify(mBroadcast, never()).startPrivateBroadcast();
+        List<Fragment> childFragments = mParentFragment.getChildFragmentManager().getFragments();
+        assertThat(childFragments)
+                .comparingElementsUsing(CLAZZNAME_EQUALS)
+                .containsExactly(AudioSharingConfirmDialogFragment.class.getName());
     }
 
     @Test
@@ -390,9 +433,7 @@
         FeatureFlagUtils.setEnabled(
                 mContext, FeatureFlagUtils.SETTINGS_NEED_CONNECTED_BLE_DEVICE_FOR_BROADCAST, false);
         when(mBtnView.isEnabled()).thenReturn(true);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(ImmutableList.of());
+        when(mAssistant.getAllConnectedDevices()).thenReturn(ImmutableList.of());
         doNothing().when(mBroadcast).startPrivateBroadcast();
         mController.onCheckedChanged(mBtnView, /* isChecked= */ true);
         verify(mBroadcast).startPrivateBroadcast();
@@ -403,9 +444,7 @@
         FeatureFlagUtils.setEnabled(
                 mContext, FeatureFlagUtils.SETTINGS_NEED_CONNECTED_BLE_DEVICE_FOR_BROADCAST, true);
         when(mBtnView.isEnabled()).thenReturn(true);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(ImmutableList.of(mDevice1));
+        when(mAssistant.getAllConnectedDevices()).thenReturn(ImmutableList.of(mDevice1));
         doNothing().when(mBroadcast).startPrivateBroadcast();
         mController.onCheckedChanged(mBtnView, /* isChecked= */ true);
         verify(mBroadcast).startPrivateBroadcast();
@@ -431,14 +470,25 @@
     }
 
     @Test
-    public void onPlaybackStarted_showJoinAudioSharingDialog() {
+    public void onPlaybackStarted_notInit_noDialog() {
         FeatureFlagUtils.setEnabled(
                 mContext, FeatureFlagUtils.SETTINGS_NEED_CONNECTED_BLE_DEVICE_FOR_BROADCAST, true);
         when(mBtnView.isEnabled()).thenReturn(true);
-        when(mAssistant.getDevicesMatchingConnectionStates(
-                        new int[] {BluetoothProfile.STATE_CONNECTED}))
-                .thenReturn(ImmutableList.of(mDevice2, mDevice1));
+        when(mAssistant.getAllConnectedDevices()).thenReturn(ImmutableList.of(mDevice2, mDevice1));
+        when(mAssistant.getAllSources(any(BluetoothDevice.class))).thenReturn(ImmutableList.of());
+        when(mBroadcast.getLatestBluetoothLeBroadcastMetadata()).thenReturn(mMetadata);
         doNothing().when(mBroadcast).startPrivateBroadcast();
+        mController =
+                new AudioSharingSwitchBarController(
+                        mContext,
+                        mSwitchBar,
+                        new AudioSharingSwitchBarController.OnAudioSharingStateChangedListener() {
+                            @Override
+                            public void onAudioSharingStateChanged() {}
+
+                            @Override
+                            public void onAudioSharingProfilesConnected() {}
+                        });
         mController.onCheckedChanged(mBtnView, /* isChecked= */ true);
         verify(mBroadcast).startPrivateBroadcast();
         mController.mBroadcastCallback.onPlaybackStarted(0, 0);
@@ -448,9 +498,55 @@
                 .action(any(Context.class), eq(SettingsEnums.ACTION_AUTO_JOIN_AUDIO_SHARING));
 
         List<Fragment> childFragments = mParentFragment.getChildFragmentManager().getFragments();
+        assertThat(childFragments).isEmpty();
+    }
+
+    @Test
+    public void onPlaybackStarted_hasLocalSource_noDialog() {
+        FeatureFlagUtils.setEnabled(
+                mContext, FeatureFlagUtils.SETTINGS_NEED_CONNECTED_BLE_DEVICE_FOR_BROADCAST, true);
+        when(mBtnView.isEnabled()).thenReturn(true);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(ImmutableList.of(mDevice2, mDevice1));
+        BluetoothLeBroadcastReceiveState state = mock(BluetoothLeBroadcastReceiveState.class);
+        when(state.getBroadcastId()).thenReturn(1);
+        when(mBroadcast.getLatestBroadcastId()).thenReturn(1);
+        when(mAssistant.getAllSources(mDevice2)).thenReturn(ImmutableList.of(state));
+        when(mBroadcast.getLatestBluetoothLeBroadcastMetadata()).thenReturn(mMetadata);
+        doNothing().when(mBroadcast).startPrivateBroadcast();
+        mController.onCheckedChanged(mBtnView, /* isChecked= */ true);
+        verify(mBroadcast).startPrivateBroadcast();
+        mController.mBroadcastCallback.onPlaybackStarted(0, 0);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        verify(mAssistant, never()).addSource(any(), any(), anyBoolean());
+        verify(mFeatureFactory.metricsFeatureProvider, never())
+                .action(any(Context.class), eq(SettingsEnums.ACTION_AUTO_JOIN_AUDIO_SHARING));
+
+        List<Fragment> childFragments = mParentFragment.getChildFragmentManager().getFragments();
+        assertThat(childFragments).isEmpty();
+    }
+
+    @Test
+    public void onPlaybackStarted_showJoinAudioSharingDialog() {
+        FeatureFlagUtils.setEnabled(
+                mContext, FeatureFlagUtils.SETTINGS_NEED_CONNECTED_BLE_DEVICE_FOR_BROADCAST, true);
+        when(mBtnView.isEnabled()).thenReturn(true);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(ImmutableList.of(mDevice2, mDevice1));
+        when(mAssistant.getAllSources(any(BluetoothDevice.class))).thenReturn(ImmutableList.of());
+        doNothing().when(mBroadcast).startPrivateBroadcast();
+        mController.onCheckedChanged(mBtnView, /* isChecked= */ true);
+        when(mBroadcast.getLatestBluetoothLeBroadcastMetadata()).thenReturn(mMetadata);
+        verify(mBroadcast).startPrivateBroadcast();
+        mController.mBroadcastCallback.onPlaybackStarted(0, 0);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(any(Context.class), eq(SettingsEnums.ACTION_AUTO_JOIN_AUDIO_SHARING));
+
+        List<Fragment> childFragments = mParentFragment.getChildFragmentManager().getFragments();
         assertThat(childFragments)
-                .comparingElementsUsing(TAG_EQUALS)
-                .containsExactly(AudioSharingDialogFragment.tag());
+                .comparingElementsUsing(CLAZZNAME_EQUALS)
+                .containsExactly(AudioSharingDialogFragment.class.getName());
 
         AudioSharingDialogFragment fragment =
                 (AudioSharingDialogFragment) Iterables.getOnlyElement(childFragments);
@@ -477,19 +573,83 @@
     }
 
     @Test
+    public void onPlaybackStarted_clickShareBtnOnDialog_addSource() {
+        FeatureFlagUtils.setEnabled(
+                mContext, FeatureFlagUtils.SETTINGS_NEED_CONNECTED_BLE_DEVICE_FOR_BROADCAST, true);
+        when(mBtnView.isEnabled()).thenReturn(true);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(ImmutableList.of(mDevice2, mDevice1));
+        when(mAssistant.getAllSources(any(BluetoothDevice.class))).thenReturn(ImmutableList.of());
+        when(mBroadcast.getLatestBluetoothLeBroadcastMetadata()).thenReturn(mMetadata);
+        doNothing().when(mBroadcast).startPrivateBroadcast();
+        mController.onCheckedChanged(mBtnView, /* isChecked= */ true);
+        verify(mBroadcast).startPrivateBroadcast();
+        mController.mBroadcastCallback.onPlaybackStarted(0, 0);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        verify(mAssistant).addSource(mDevice2, mMetadata, /* isGroupOp= */ false);
+
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
+        View btnView = dialog.findViewById(R.id.positive_btn);
+        assertThat(btnView).isNotNull();
+        btnView.performClick();
+        shadowMainLooper().idle();
+
+        verify(mAssistant).addSource(mDevice1, mMetadata, /* isGroupOp= */ false);
+        assertThat(dialog.isShowing()).isFalse();
+    }
+
+    @Test
+    public void onPlaybackStarted_clickCancelBtnOnDialog_doNothing() {
+        FeatureFlagUtils.setEnabled(
+                mContext, FeatureFlagUtils.SETTINGS_NEED_CONNECTED_BLE_DEVICE_FOR_BROADCAST, true);
+        when(mBtnView.isEnabled()).thenReturn(true);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(ImmutableList.of(mDevice2, mDevice1));
+        when(mAssistant.getAllSources(any(BluetoothDevice.class))).thenReturn(ImmutableList.of());
+        when(mBroadcast.getLatestBluetoothLeBroadcastMetadata()).thenReturn(mMetadata);
+        doNothing().when(mBroadcast).startPrivateBroadcast();
+        mController.onCheckedChanged(mBtnView, /* isChecked= */ true);
+        verify(mBroadcast).startPrivateBroadcast();
+        mController.mBroadcastCallback.onPlaybackStarted(0, 0);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        verify(mAssistant).addSource(mDevice2, mMetadata, /* isGroupOp= */ false);
+
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
+        View btnView = dialog.findViewById(R.id.negative_btn);
+        assertThat(btnView).isNotNull();
+        btnView.performClick();
+        shadowMainLooper().idle();
+
+        verify(mAssistant, never()).addSource(mDevice1, mMetadata, /* isGroupOp= */ false);
+        assertThat(dialog.isShowing()).isFalse();
+    }
+
+    @Test
     public void testBluetoothLeBroadcastCallbacks_updateSwitch() {
         mOnAudioSharingStateChanged = false;
         mSwitchBar.setChecked(false);
         when(mBroadcast.isEnabled(any())).thenReturn(false);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(ImmutableList.of(mDevice1, mDevice2));
+        when(mDeviceManager.getCachedDevicesCopy()).thenReturn(
+                ImmutableList.of(mCachedDevice1, mCachedDevice2));
         mController.mBroadcastCallback.onBroadcastStartFailed(/* reason= */ 1);
         shadowOf(Looper.getMainLooper()).idle();
         assertThat(mSwitchBar.isChecked()).isFalse();
+        assertThat(mSwitchBar.isEnabled()).isTrue();
         assertThat(mOnAudioSharingStateChanged).isFalse();
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        mContext,
+                        SettingsEnums.ACTION_AUDIO_SHARING_START_FAILED,
+                        SettingsEnums.AUDIO_SHARING_SETTINGS);
 
         when(mBroadcast.isEnabled(any())).thenReturn(true);
         mController.mBroadcastCallback.onBroadcastStarted(/* reason= */ 1, /* broadcastId= */ 1);
         shadowOf(Looper.getMainLooper()).idle();
         assertThat(mSwitchBar.isChecked()).isTrue();
+        assertThat(mSwitchBar.isEnabled()).isTrue();
         assertThat(mOnAudioSharingStateChanged).isTrue();
 
         mOnAudioSharingStateChanged = false;
@@ -497,18 +657,24 @@
         shadowOf(Looper.getMainLooper()).idle();
         assertThat(mSwitchBar.isChecked()).isTrue();
         assertThat(mOnAudioSharingStateChanged).isFalse();
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        mContext,
+                        SettingsEnums.ACTION_AUDIO_SHARING_STOP_FAILED,
+                        SettingsEnums.AUDIO_SHARING_SETTINGS);
 
         when(mBroadcast.isEnabled(any())).thenReturn(false);
+        when(mCachedDevice2.isActiveDevice(BluetoothProfile.LE_AUDIO)).thenReturn(false);
         mController.mBroadcastCallback.onBroadcastStopped(/* reason= */ 1, /* broadcastId= */ 1);
         shadowOf(Looper.getMainLooper()).idle();
         assertThat(mSwitchBar.isChecked()).isFalse();
+        assertThat(mSwitchBar.isEnabled()).isFalse();
         assertThat(mOnAudioSharingStateChanged).isTrue();
     }
 
     @Test
     public void testBluetoothLeBroadcastCallbacks_doNothing() {
-        BluetoothLeBroadcastMetadata metadata = mock(BluetoothLeBroadcastMetadata.class);
-        mController.mBroadcastCallback.onBroadcastMetadataChanged(/* reason= */ 1, metadata);
+        mController.mBroadcastCallback.onBroadcastMetadataChanged(/* reason= */ 1, mMetadata);
         mController.mBroadcastCallback.onBroadcastUpdated(/* reason= */ 1, /* broadcastId= */ 1);
         mController.mBroadcastCallback.onPlaybackStarted(/* reason= */ 1, /* broadcastId= */ 1);
         mController.mBroadcastCallback.onPlaybackStopped(/* reason= */ 1, /* broadcastId= */ 1);
@@ -517,4 +683,171 @@
         verify(mSwitchBar, never()).setChecked(anyBoolean());
         assertThat(mOnAudioSharingStateChanged).isFalse();
     }
+
+    @Test
+    public void testBluetoothLeBroadcastAssistantCallbacks_logAction() {
+        mController.mBroadcastAssistantCallback.onSourceAddFailed(
+                mDevice1, mMetadata, /* reason= */ 1);
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        mContext,
+                        SettingsEnums.ACTION_AUDIO_SHARING_JOIN_FAILED,
+                        SettingsEnums.AUDIO_SHARING_SETTINGS);
+    }
+
+    @Test
+    public void testBluetoothLeBroadcastAssistantCallbacks_doNothing() {
+        BluetoothLeBroadcastReceiveState state = mock(BluetoothLeBroadcastReceiveState.class);
+
+        // Do nothing
+        mController.mBroadcastAssistantCallback.onReceiveStateChanged(
+                mDevice1, /* sourceId= */ 1, state);
+        mController.mBroadcastAssistantCallback.onSearchStarted(/* reason= */ 1);
+        mController.mBroadcastAssistantCallback.onSearchStartFailed(/* reason= */ 1);
+        mController.mBroadcastAssistantCallback.onSearchStopped(/* reason= */ 1);
+        mController.mBroadcastAssistantCallback.onSearchStopFailed(/* reason= */ 1);
+        mController.mBroadcastAssistantCallback.onSourceAdded(
+                mDevice1, /* sourceId= */ 1, /* reason= */ 1);
+        mController.mBroadcastAssistantCallback.onSourceRemoved(
+                mDevice1, /* sourceId= */ 1, /* reason= */ 1);
+        mController.mBroadcastAssistantCallback.onSourceRemoveFailed(
+                mDevice1, /* sourceId= */ 1, /* reason= */ 1);
+        mController.mBroadcastAssistantCallback.onSourceModified(
+                mDevice1, /* sourceId= */ 1, /* reason= */ 1);
+        mController.mBroadcastAssistantCallback.onSourceModifyFailed(
+                mDevice1, /* sourceId= */ 1, /* reason= */ 1);
+        mController.mBroadcastAssistantCallback.onSourceFound(mMetadata);
+        mController.mBroadcastAssistantCallback.onSourceLost(/* broadcastId= */ 1);
+        verifyNoMoreInteractions(mFeatureFactory.metricsFeatureProvider);
+    }
+
+    @Test
+    public void onActiveDeviceChanged_leaProfile_updateSwitch() {
+        mSwitchBar.setChecked(true);
+        mSwitchBar.setEnabled(false);
+        when(mBroadcast.isEnabled(null)).thenReturn(false);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(ImmutableList.of(mDevice2, mDevice1));
+        when(mDeviceManager.getCachedDevicesCopy()).thenReturn(
+                ImmutableList.of(mCachedDevice2, mCachedDevice1));
+        mController.onActiveDeviceChanged(mCachedDevice2, BluetoothProfile.LE_AUDIO);
+        shadowOf(Looper.getMainLooper()).idle();
+        assertThat(mSwitchBar.isChecked()).isFalse();
+        verify(mSwitchBar).setEnabled(true);
+    }
+
+    @Test
+    public void onActiveDeviceChanged_a2dpProfile_updateSwitch() {
+        mSwitchBar.setChecked(true);
+        mSwitchBar.setEnabled(false);
+        when(mBroadcast.isEnabled(null)).thenReturn(false);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(ImmutableList.of(mDevice1, mDevice2));
+        when(mCachedDevice2.isActiveDevice(BluetoothProfile.LE_AUDIO)).thenReturn(false);
+        when(mCachedDevice2.isActiveDevice(BluetoothProfile.A2DP)).thenReturn(true);
+        when(mDeviceManager.getCachedDevicesCopy()).thenReturn(
+                ImmutableList.of(mCachedDevice1, mCachedDevice2));
+        mController.onActiveDeviceChanged(mCachedDevice2, BluetoothProfile.A2DP);
+        shadowOf(Looper.getMainLooper()).idle();
+        assertThat(mSwitchBar.isChecked()).isFalse();
+        verify(mSwitchBar).setEnabled(true);
+    }
+
+    @Test
+    public void onActiveDeviceChanged_nullActiveDevice_doNothing() {
+        mController.onActiveDeviceChanged(/* activeDevice= */ null, BluetoothProfile.LE_AUDIO);
+        shadowOf(Looper.getMainLooper()).idle();
+        verify(mSwitchBar, never()).setEnabled(anyBoolean());
+        verify(mSwitchBar, never()).setChecked(anyBoolean());
+    }
+
+    @Test
+    public void testAccessibilityDelegate() {
+        View view = new View(mContext);
+        AccessibilityEvent event =
+                new AccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED);
+        event.setContentChangeTypes(AccessibilityEvent.CONTENT_CHANGE_TYPE_UNDEFINED);
+        assertThat(
+                        mSwitchBar
+                                .getRootView()
+                                .getAccessibilityDelegate()
+                                .onRequestSendAccessibilityEvent(mSwitchBar, view, event))
+                .isTrue();
+
+        event.setContentChangeTypes(AccessibilityEvent.CONTENT_CHANGE_TYPE_ENABLED);
+        assertThat(
+                        mSwitchBar
+                                .getRootView()
+                                .getAccessibilityDelegate()
+                                .onRequestSendAccessibilityEvent(mSwitchBar, view, event))
+                .isFalse();
+    }
+
+    @Test
+    public void handleStartAudioSharingFromIntent_flagOff_doNothing() {
+        mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        setUpStartSharingIntent();
+        mController.onStart(mLifecycleOwner);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        verify(mSwitchBar, never()).setChecked(true);
+    }
+
+    @Test
+    public void handleStartAudioSharingFromIntent_profileNotReady_doNothing() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        when(mAssistant.isProfileReady()).thenReturn(false);
+        setUpStartSharingIntent();
+        mController.onServiceConnected();
+        shadowOf(Looper.getMainLooper()).idle();
+
+        verify(mSwitchBar, never()).setChecked(true);
+    }
+
+    @Test
+    public void handleStartAudioSharingFromIntent_argFalse_doNothing() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        mController.onStart(mLifecycleOwner);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        verify(mSwitchBar, never()).setChecked(true);
+    }
+
+    @Test
+    public void handleStartAudioSharingFromIntent_handle() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        when(mBtnView.isEnabled()).thenReturn(true);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(ImmutableList.of(mDevice2, mDevice1));
+        when(mBroadcast.getLatestBluetoothLeBroadcastMetadata()).thenReturn(mMetadata);
+        setUpStartSharingIntent();
+        mController.onServiceConnected();
+        shadowOf(Looper.getMainLooper()).idle();
+
+        verify(mSwitchBar).setChecked(true);
+        doNothing().when(mBroadcast).startPrivateBroadcast();
+        mController.onCheckedChanged(mBtnView, /* isChecked= */ true);
+        mController.mBroadcastCallback.onPlaybackStarted(0, 0);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(any(Context.class), eq(SettingsEnums.ACTION_AUTO_JOIN_AUDIO_SHARING));
+        verify(mAssistant).addSource(mDevice1, mMetadata, /* isGroupOp= */ false);
+        verify(mAssistant).addSource(mDevice2, mMetadata, /* isGroupOp= */ false);
+        List<Fragment> childFragments = mParentFragment.getChildFragmentManager().getFragments();
+        assertThat(childFragments).isEmpty();
+    }
+
+    private void setUpStartSharingIntent() {
+        Bundle args = new Bundle();
+        args.putBoolean(EXTRA_START_LE_AUDIO_SHARING, true);
+        Intent intent = new Intent();
+        intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS, args);
+        Fragment fragment = new Fragment();
+        FragmentController.of(fragment, intent)
+                .create(/* containerViewId= */ 0, /* bundle= */ null)
+                .start()
+                .resume()
+                .visible()
+                .get();
+        shadowOf(Looper.getMainLooper()).idle();
+        mController.init(fragment);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceBadCodeStateTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceBadCodeStateTest.java
index 2fddff5..391a7b1 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceBadCodeStateTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceBadCodeStateTest.java
@@ -20,22 +20,45 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.testutils.FakeFeatureFactory;
+
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
 
 @RunWith(RobolectricTestRunner.class)
 public class AddSourceBadCodeStateTest {
+    @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    @Mock private AudioStreamPreference mPreference;
+    @Mock private AudioStreamsProgressCategoryController mController;
+    @Mock private AudioStreamsHelper mHelper;
+    private FakeFeatureFactory mFeatureFactory;
     private AddSourceBadCodeState mInstance;
 
     @Before
     public void setUp() {
-        mInstance = AddSourceBadCodeState.getInstance();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
+        mInstance = new AddSourceBadCodeState();
     }
 
     @Test
     public void testGetInstance() {
+        mInstance = AddSourceBadCodeState.getInstance();
         assertThat(mInstance).isNotNull();
         assertThat(mInstance).isInstanceOf(SyncedState.class);
     }
@@ -55,4 +78,19 @@
                         AudioStreamsProgressCategoryController.AudioStreamState
                                 .ADD_SOURCE_BAD_CODE);
     }
+
+    @Test
+    public void testPerformAction() {
+        when(mPreference.getContext()).thenReturn(mContext);
+        when(mPreference.getSourceOriginForLogging())
+                .thenReturn(SourceOriginForLogging.QR_CODE_SCAN_SETTINGS);
+
+        mInstance.performAction(mPreference, mController, mHelper);
+
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        eq(mContext),
+                        eq(SettingsEnums.ACTION_AUDIO_STREAM_JOIN_FAILED_BAD_CODE),
+                        eq(SourceOriginForLogging.QR_CODE_SCAN_SETTINGS.ordinal()));
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceFailedStateTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceFailedStateTest.java
index d8b1fcf..917d8de 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceFailedStateTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceFailedStateTest.java
@@ -20,22 +20,45 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.testutils.FakeFeatureFactory;
+
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
 
 @RunWith(RobolectricTestRunner.class)
 public class AddSourceFailedStateTest {
+    @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    @Mock private AudioStreamPreference mPreference;
+    @Mock private AudioStreamsProgressCategoryController mController;
+    @Mock private AudioStreamsHelper mHelper;
+    private FakeFeatureFactory mFeatureFactory;
     private AddSourceFailedState mInstance;
 
     @Before
     public void setUp() {
-        mInstance = AddSourceFailedState.getInstance();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
+        mInstance = new AddSourceFailedState();
     }
 
     @Test
     public void testGetInstance() {
+        mInstance = AddSourceFailedState.getInstance();
         assertThat(mInstance).isNotNull();
         assertThat(mInstance).isInstanceOf(SyncedState.class);
     }
@@ -54,4 +77,19 @@
                 .isEqualTo(
                         AudioStreamsProgressCategoryController.AudioStreamState.ADD_SOURCE_FAILED);
     }
+
+    @Test
+    public void testPerformAction() {
+        when(mPreference.getContext()).thenReturn(mContext);
+        when(mPreference.getSourceOriginForLogging())
+                .thenReturn(SourceOriginForLogging.QR_CODE_SCAN_SETTINGS);
+
+        mInstance.performAction(mPreference, mController, mHelper);
+
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        eq(mContext),
+                        eq(SettingsEnums.ACTION_AUDIO_STREAM_JOIN_FAILED_OTHER),
+                        eq(SourceOriginForLogging.QR_CODE_SCAN_SETTINGS.ordinal()));
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceWaitForResponseStateTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceWaitForResponseStateTest.java
index 6e5342b..ce21658 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceWaitForResponseStateTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceWaitForResponseStateTest.java
@@ -22,11 +22,21 @@
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.app.settings.SettingsEnums;
 import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.content.Context;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
 import org.junit.Rule;
@@ -36,27 +46,41 @@
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowAlertDialog;
 import org.robolectric.shadows.ShadowLooper;
 
 import java.util.concurrent.TimeUnit;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(
+        shadows = {
+            ShadowAlertDialog.class,
+        })
 public class AddSourceWaitForResponseStateTest {
-    private static final int BROADCAST_ID = 1;
     @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    private static final int BROADCAST_ID = 1;
+    private final Context mContext = spy(ApplicationProvider.getApplicationContext());
     @Mock private AudioStreamPreference mMockPreference;
     @Mock private AudioStreamsProgressCategoryController mMockController;
     @Mock private AudioStreamsHelper mMockHelper;
     @Mock private BluetoothLeBroadcastMetadata mMockMetadata;
+    @Mock private AudioStreamsRepository mMockRepository;
+    private FakeFeatureFactory mFeatureFactory;
     private AddSourceWaitForResponseState mInstance;
 
     @Before
     public void setUp() {
-        mInstance = AddSourceWaitForResponseState.getInstance();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
+        mInstance = new AddSourceWaitForResponseState();
+        when(mMockPreference.getContext()).thenReturn(mContext);
+        when(mMockPreference.getSourceOriginForLogging())
+                .thenReturn(SourceOriginForLogging.QR_CODE_SCAN_SETTINGS);
     }
 
     @Test
     public void testGetInstance() {
+        mInstance = AddSourceWaitForResponseState.getInstance();
         assertThat(mInstance).isNotNull();
         assertThat(mInstance).isInstanceOf(AudioStreamStateHandler.class);
     }
@@ -93,11 +117,18 @@
     public void testPerformAction_metadataIsNotNull_addSource() {
         when(mMockPreference.getAudioStreamMetadata()).thenReturn(mMockMetadata);
         when(mMockPreference.getSourceOriginForLogging())
-                .thenReturn(SourceOriginForLogging.UNKNOWN);
+                .thenReturn(SourceOriginForLogging.QR_CODE_SCAN_SETTINGS);
+        mInstance.setAudioStreamsRepositoryForTesting(mMockRepository);
 
         mInstance.performAction(mMockPreference, mMockController, mMockHelper);
 
         verify(mMockHelper).addSource(mMockMetadata);
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        eq(mContext),
+                        eq(SettingsEnums.ACTION_AUDIO_STREAM_JOIN),
+                        eq(SourceOriginForLogging.QR_CODE_SCAN_SETTINGS.ordinal()));
+        verify(mMockRepository).cacheMetadata(mMockMetadata);
         verify(mMockController, never()).handleSourceFailedToConnect(anyInt());
     }
 
@@ -108,12 +139,28 @@
         when(mMockPreference.getAudioStreamState()).thenReturn(mInstance.getStateEnum());
         when(mMockPreference.getAudioStreamBroadcastId()).thenReturn(BROADCAST_ID);
         when(mMockPreference.getSourceOriginForLogging())
-                .thenReturn(SourceOriginForLogging.UNKNOWN);
+                .thenReturn(SourceOriginForLogging.QR_CODE_SCAN_SETTINGS);
+        when(mMockController.getFragment()).thenReturn(mock(AudioStreamsDashboardFragment.class));
+        mInstance.setAudioStreamsRepositoryForTesting(mMockRepository);
 
         mInstance.performAction(mMockPreference, mMockController, mMockHelper);
         ShadowLooper.idleMainLooper(ADD_SOURCE_WAIT_FOR_RESPONSE_TIMEOUT_MILLIS, TimeUnit.SECONDS);
 
         verify(mMockHelper).addSource(mMockMetadata);
         verify(mMockController).handleSourceFailedToConnect(BROADCAST_ID);
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        eq(mContext),
+                        eq(SettingsEnums.ACTION_AUDIO_STREAM_JOIN),
+                        eq(SourceOriginForLogging.QR_CODE_SCAN_SETTINGS.ordinal()));
+        verify(mMockRepository).cacheMetadata(mMockMetadata);
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        eq(mContext),
+                        eq(SettingsEnums.ACTION_AUDIO_STREAM_JOIN_FAILED_TIMEOUT),
+                        eq(SourceOriginForLogging.QR_CODE_SCAN_SETTINGS.ordinal()));
+        verify(mContext).getString(R.string.audio_streams_dialog_stream_is_not_available);
+        verify(mContext).getString(R.string.audio_streams_is_not_playing);
+        verify(mContext).getString(R.string.audio_streams_dialog_close);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamButtonControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamButtonControllerTest.java
index cbf1432..c6fb361 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamButtonControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamButtonControllerTest.java
@@ -16,22 +16,36 @@
 
 package com.android.settings.connecteddevice.audiosharing.audiostreams;
 
+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.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.settings.SettingsEnums;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcastAssistant;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
 import android.bluetooth.BluetoothLeBroadcastReceiveState;
 import android.content.Context;
 import android.view.View;
 
+import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.PreferenceScreen;
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
 import com.android.settings.connecteddevice.audiosharing.audiostreams.testshadows.ShadowAudioStreamsHelper;
+import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowThreadUtils;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
+import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.widget.ActionButtonsPreference;
 
 import org.junit.After;
@@ -39,14 +53,17 @@
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
 
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+import java.util.concurrent.Executor;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(
@@ -63,14 +80,23 @@
     @Mock private AudioStreamsHelper mAudioStreamsHelper;
     @Mock private PreferenceScreen mScreen;
     @Mock private BluetoothLeBroadcastReceiveState mBroadcastReceiveState;
+    @Mock private LocalBluetoothLeBroadcastAssistant mAssistant;
+    @Mock private AudioStreamsRepository mRepository;
     @Mock private ActionButtonsPreference mPreference;
+    private Lifecycle mLifecycle;
+    private LifecycleOwner mLifecycleOwner;
+    private FakeFeatureFactory mFeatureFactory;
     private AudioStreamButtonController mController;
 
     @Before
     public void setUp() {
         ShadowAudioStreamsHelper.setUseMock(mAudioStreamsHelper);
+        when(mAudioStreamsHelper.getLeBroadcastAssistant()).thenReturn(mAssistant);
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
         mController = new AudioStreamButtonController(mContext, KEY);
         mController.init(BROADCAST_ID);
+        mLifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(mLifecycleOwner);
         when(mScreen.findPreference(KEY)).thenReturn(mPreference);
         when(mPreference.getContext()).thenReturn(mContext);
         when(mPreference.setButton1Text(anyInt())).thenReturn(mPreference);
@@ -86,6 +112,40 @@
     }
 
     @Test
+    public void onStart_registerCallbacks() {
+        mController.onStart(mLifecycleOwner);
+        verify(mAssistant)
+                .registerServiceCallBack(
+                        any(Executor.class), any(BluetoothLeBroadcastAssistant.Callback.class));
+    }
+
+    @Test
+    public void onStart_profileNull_doNothing() {
+        when(mAudioStreamsHelper.getLeBroadcastAssistant()).thenReturn(null);
+        mController = new AudioStreamButtonController(mContext, KEY);
+        mController.onStart(mLifecycleOwner);
+        verify(mAssistant, never())
+                .registerServiceCallBack(
+                        any(Executor.class), any(BluetoothLeBroadcastAssistant.Callback.class));
+    }
+
+    @Test
+    public void onStop_unregisterCallbacks() {
+        mController.onStop(mLifecycleOwner);
+        verify(mAssistant)
+                .unregisterServiceCallBack(any(BluetoothLeBroadcastAssistant.Callback.class));
+    }
+
+    @Test
+    public void onStop_profileNull_doNothing() {
+        when(mAudioStreamsHelper.getLeBroadcastAssistant()).thenReturn(null);
+        mController = new AudioStreamButtonController(mContext, KEY);
+        mController.onStop(mLifecycleOwner);
+        verify(mAssistant, never())
+                .unregisterServiceCallBack(any(BluetoothLeBroadcastAssistant.Callback.class));
+    }
+
+    @Test
     public void testDisplayPreference_sourceConnected_setDisconnectButton() {
         when(mAudioStreamsHelper.getAllConnectedSources())
                 .thenReturn(List.of(mBroadcastReceiveState));
@@ -96,18 +156,133 @@
         verify(mPreference).setButton1Enabled(true);
         verify(mPreference).setButton1Text(R.string.audio_streams_disconnect);
         verify(mPreference).setButton1Icon(com.android.settings.R.drawable.ic_settings_close);
-        verify(mPreference).setButton1OnClickListener(any(View.OnClickListener.class));
+
+        ArgumentCaptor<View.OnClickListener> listenerCaptor =
+                ArgumentCaptor.forClass(View.OnClickListener.class);
+        verify(mPreference).setButton1OnClickListener(listenerCaptor.capture());
+        var listener = listenerCaptor.getValue();
+
+        assertThat(listener).isNotNull();
+        listener.onClick(mock(View.class));
+        verify(mAudioStreamsHelper).removeSource(BROADCAST_ID);
+        verify(mPreference).setButton1Enabled(false);
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(any(), eq(SettingsEnums.ACTION_AUDIO_STREAM_LEAVE_BUTTON_CLICK));
     }
 
     @Test
     public void testDisplayPreference_sourceNotConnected_setConnectButton() {
         when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(Collections.emptyList());
+        mController.setAudioStreamsRepositoryForTesting(mRepository);
+        var metadataToRejoin = mock(BluetoothLeBroadcastMetadata.class);
+        when(mRepository.getSavedMetadata(any(), anyInt())).thenReturn(metadataToRejoin);
 
         mController.displayPreference(mScreen);
 
         verify(mPreference).setButton1Enabled(true);
         verify(mPreference).setButton1Text(R.string.audio_streams_connect);
         verify(mPreference).setButton1Icon(com.android.settings.R.drawable.ic_add_24dp);
-        verify(mPreference).setButton1OnClickListener(any(View.OnClickListener.class));
+
+        ArgumentCaptor<View.OnClickListener> listenerCaptor =
+                ArgumentCaptor.forClass(View.OnClickListener.class);
+        verify(mPreference).setButton1OnClickListener(listenerCaptor.capture());
+        var listener = listenerCaptor.getValue();
+
+        assertThat(listener).isNotNull();
+        listener.onClick(mock(View.class));
+        verify(mAudioStreamsHelper).addSource(metadataToRejoin);
+        verify(mPreference).setButton1Enabled(false);
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(any(), eq(SettingsEnums.ACTION_AUDIO_STREAM_JOIN), anyInt());
+    }
+
+    @Test
+    public void testCallback_onSourceRemoved_updateButton() {
+        when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(Collections.emptyList());
+
+        mController.displayPreference(mScreen);
+        mController.mBroadcastAssistantCallback.onSourceRemoved(
+                mock(BluetoothDevice.class), /* sourceId= */ 0, /* reason= */ 0);
+
+        // Called twice, once in displayPreference, the other one in callback
+        verify(mPreference, times(2)).setButton1Enabled(true);
+        verify(mPreference, times(2)).setButton1Text(R.string.audio_streams_connect);
+        verify(mPreference, times(2)).setButton1Icon(com.android.settings.R.drawable.ic_add_24dp);
+    }
+
+    @Test
+    public void testCallback_onSourceRemovedFailed_updateButton() {
+        when(mAudioStreamsHelper.getAllConnectedSources())
+                .thenReturn(List.of(mBroadcastReceiveState));
+        when(mBroadcastReceiveState.getBroadcastId()).thenReturn(BROADCAST_ID);
+
+        mController.displayPreference(mScreen);
+        mController.mBroadcastAssistantCallback.onSourceRemoveFailed(
+                mock(BluetoothDevice.class), /* sourceId= */ 0, /* reason= */ 0);
+
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(any(), eq(SettingsEnums.ACTION_AUDIO_STREAM_LEAVE_FAILED));
+
+        // Called twice, once in displayPreference, the other one in callback
+        verify(mPreference, times(2)).setButton1Enabled(true);
+        verify(mPreference, times(2)).setButton1Text(R.string.audio_streams_disconnect);
+        verify(mPreference, times(2))
+                .setButton1Icon(com.android.settings.R.drawable.ic_settings_close);
+    }
+
+    @Test
+    public void testCallback_onReceiveStateChanged_updateButton() {
+        when(mAudioStreamsHelper.getAllConnectedSources())
+                .thenReturn(List.of(mBroadcastReceiveState));
+        when(mBroadcastReceiveState.getBroadcastId()).thenReturn(BROADCAST_ID);
+        BluetoothLeBroadcastReceiveState state = mock(BluetoothLeBroadcastReceiveState.class);
+        List<Long> bisSyncState = new ArrayList<>();
+        bisSyncState.add(1L);
+        when(state.getBisSyncState()).thenReturn(bisSyncState);
+
+        mController.displayPreference(mScreen);
+        mController.mBroadcastAssistantCallback.onReceiveStateChanged(
+                mock(BluetoothDevice.class), /* sourceId= */ 0, state);
+
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(any(), eq(SettingsEnums.ACTION_AUDIO_STREAM_JOIN_SUCCEED), anyInt());
+
+        // Called twice, once in displayPreference, the other one in callback
+        verify(mPreference, times(2)).setButton1Enabled(true);
+        verify(mPreference, times(2)).setButton1Text(R.string.audio_streams_disconnect);
+        verify(mPreference, times(2))
+                .setButton1Icon(com.android.settings.R.drawable.ic_settings_close);
+    }
+
+    @Test
+    public void testCallback_onSourceAddFailed_updateButton() {
+        when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(Collections.emptyList());
+
+        mController.displayPreference(mScreen);
+        mController.mBroadcastAssistantCallback.onSourceAddFailed(
+                mock(BluetoothDevice.class),
+                mock(BluetoothLeBroadcastMetadata.class),
+                /* reason= */ 0);
+
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(any(), eq(SettingsEnums.ACTION_AUDIO_STREAM_JOIN_FAILED_OTHER), anyInt());
+
+        // Called twice, once in displayPreference, the other one in callback
+        verify(mPreference, times(2)).setButton1Enabled(true);
+        verify(mPreference, times(2)).setButton1Text(R.string.audio_streams_connect);
+        verify(mPreference, times(2)).setButton1Icon(com.android.settings.R.drawable.ic_add_24dp);
+    }
+
+    @Test
+    public void testCallback_onSourceLost_updateButton() {
+        when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(Collections.emptyList());
+
+        mController.displayPreference(mScreen);
+        mController.mBroadcastAssistantCallback.onSourceLost(/* broadcastId= */ 0);
+
+        // Called twice, once in displayPreference, the other one in callback
+        verify(mPreference, times(2)).setButton1Enabled(true);
+        verify(mPreference, times(2)).setButton1Text(R.string.audio_streams_connect);
+        verify(mPreference, times(2)).setButton1Icon(com.android.settings.R.drawable.ic_add_24dp);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialogActivityTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialogActivityTest.java
index e967a12..1f05cbb 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialogActivityTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialogActivityTest.java
@@ -18,28 +18,132 @@
 
 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.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothStatusCodes;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
+import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
+import com.android.settingslib.bluetooth.VolumeControlProfile;
+import com.android.settingslib.flags.Flags;
+
+import org.junit.After;
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadow.api.Shadow;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(
+        shadows = {
+            ShadowBluetoothAdapter.class,
+            ShadowBluetoothUtils.class,
+        })
 public class AudioStreamConfirmDialogActivityTest {
+    @Rule public final MockitoRule mocks = MockitoJUnit.rule();
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+    @Mock private LocalBluetoothManager mLocalBluetoothManager;
+    @Mock private LocalBluetoothProfileManager mLocalBluetoothProfileManager;
+    @Mock private LocalBluetoothLeBroadcast mBroadcast;
+    @Mock private LocalBluetoothLeBroadcastAssistant mAssistant;
+    @Mock private VolumeControlProfile mVolumeControl;
+    private ShadowBluetoothAdapter mShadowBluetoothAdapter;
     private AudioStreamConfirmDialogActivity mActivity;
 
     @Before
     public void setUp() {
-        mActivity = Robolectric.buildActivity(AudioStreamConfirmDialogActivity.class).get();
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+        mShadowBluetoothAdapter.setEnabled(true);
+        mShadowBluetoothAdapter.setIsLeAudioBroadcastSourceSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        mShadowBluetoothAdapter.setIsLeAudioBroadcastAssistantSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager;
+        when(mLocalBluetoothManager.getProfileManager()).thenReturn(mLocalBluetoothProfileManager);
+        when(mLocalBluetoothProfileManager.getLeAudioBroadcastProfile()).thenReturn(mBroadcast);
+        when(mLocalBluetoothProfileManager.getLeAudioBroadcastAssistantProfile())
+                .thenReturn(mAssistant);
+        when(mLocalBluetoothProfileManager.getVolumeControlProfile()).thenReturn(mVolumeControl);
+        when(mBroadcast.isProfileReady()).thenReturn(true);
+        when(mAssistant.isProfileReady()).thenReturn(true);
+        when(mVolumeControl.isProfileReady()).thenReturn(true);
+    }
+
+    @After
+    public void tearDown() {
+        ShadowBluetoothUtils.reset();
     }
 
     @Test
     public void isValidFragment_returnsTrue() {
+        mActivity = Robolectric.setupActivity(AudioStreamConfirmDialogActivity.class);
         assertThat(mActivity.isValidFragment(AudioStreamConfirmDialog.class.getName())).isTrue();
     }
 
     @Test
     public void isValidFragment_returnsFalse() {
+        mActivity = Robolectric.setupActivity(AudioStreamConfirmDialogActivity.class);
         assertThat(mActivity.isValidFragment("")).isFalse();
     }
+
+    @Test
+    public void isToolbarEnabled_returnsFalse() {
+        mActivity = Robolectric.setupActivity(AudioStreamConfirmDialogActivity.class);
+        assertThat(mActivity.isToolbarEnabled()).isFalse();
+    }
+
+    @Test
+    public void setupActivity_serviceNotReady_registerCallback() {
+        when(mBroadcast.isProfileReady()).thenReturn(false);
+        mActivity = Robolectric.setupActivity(AudioStreamConfirmDialogActivity.class);
+
+        verify(mLocalBluetoothProfileManager).addServiceListener(any());
+    }
+
+    @Test
+    public void setupActivity_serviceNotReady_registerCallback_onServiceCallback() {
+        when(mBroadcast.isProfileReady()).thenReturn(false);
+        mActivity = Robolectric.setupActivity(AudioStreamConfirmDialogActivity.class);
+
+        verify(mLocalBluetoothProfileManager).addServiceListener(any());
+
+        when(mBroadcast.isProfileReady()).thenReturn(true);
+        mActivity.onServiceConnected();
+        verify(mLocalBluetoothProfileManager).removeServiceListener(any());
+
+        mActivity.onServiceDisconnected();
+        // Do nothing.
+    }
+
+    @Test
+    public void setupActivity_serviceReady_doNothing() {
+        mActivity = Robolectric.setupActivity(AudioStreamConfirmDialogActivity.class);
+
+        verify(mLocalBluetoothProfileManager, never()).addServiceListener(any());
+    }
+
+    @Test
+    public void onStop_unregisterCallback() {
+        mActivity = Robolectric.setupActivity(AudioStreamConfirmDialogActivity.class);
+        mActivity.onStop();
+
+        verify(mLocalBluetoothProfileManager).removeServiceListener(any());
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialogTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialogTest.java
index c7aafe8..9c83fa6 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialogTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialogTest.java
@@ -16,14 +16,20 @@
 
 package com.android.settings.connecteddevice.audiosharing.audiostreams;
 
+import static android.app.settings.SettingsEnums.DIALOG_AUDIO_STREAM_CONFIRM_LISTEN;
+
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamConfirmDialog.DEFAULT_DEVICE_NAME;
 import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsDashboardFragment.KEY_BROADCAST_METADATA;
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.ArgumentMatchers.any;
+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.ShadowLooper.shadowMainLooper;
 
+import android.app.Dialog;
 import android.app.settings.SettingsEnums;
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothDevice;
@@ -127,6 +133,8 @@
 
         assertThat(mDialogFragment.getMetricsCategory())
                 .isEqualTo(SettingsEnums.DIALOG_AUDIO_STREAM_CONFIRM_FEATURE_UNSUPPORTED);
+        assertThat(mDialogFragment.mActivity).isNotNull();
+        mDialogFragment.mActivity = spy(mDialogFragment.mActivity);
 
         var dialog = mDialogFragment.getDialog();
         assertThat(dialog).isNotNull();
@@ -152,6 +160,10 @@
         assertThat(rightButton).isNotNull();
         assertThat(rightButton.getVisibility()).isEqualTo(View.VISIBLE);
         assertThat(rightButton.hasOnClickListeners()).isTrue();
+
+        rightButton.callOnClick();
+        assertThat(dialog.isShowing()).isFalse();
+        verify(mDialogFragment.mActivity).finish();
     }
 
     @Test
@@ -165,6 +177,8 @@
 
         assertThat(mDialogFragment.getMetricsCategory())
                 .isEqualTo(SettingsEnums.DIALOG_AUDIO_STREAM_CONFIRM_NO_LE_DEVICE);
+        assertThat(mDialogFragment.mActivity).isNotNull();
+        mDialogFragment.mActivity = spy(mDialogFragment.mActivity);
 
         var dialog = mDialogFragment.getDialog();
         assertThat(dialog).isNotNull();
@@ -184,18 +198,27 @@
         View leftButton = dialog.findViewById(R.id.left_button);
         assertThat(leftButton).isNotNull();
         assertThat(leftButton.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(leftButton.hasOnClickListeners()).isTrue();
+
+        leftButton.callOnClick();
+        assertThat(dialog.isShowing()).isFalse();
+
         Button rightButton = dialog.findViewById(R.id.right_button);
         assertThat(rightButton).isNotNull();
         assertThat(rightButton.getText())
                 .isEqualTo(mContext.getString(R.string.audio_streams_dialog_no_le_device_button));
         assertThat(rightButton.hasOnClickListeners()).isTrue();
+
+        rightButton.callOnClick();
+        assertThat(dialog.isShowing()).isFalse();
+        verify(mDialogFragment.mActivity, times(2)).finish();
     }
 
     @Test
     public void showDialog_noMetadata() {
         List<BluetoothDevice> devices = new ArrayList<>();
         devices.add(mBluetoothDevice);
-        when(mAssistant.getDevicesMatchingConnectionStates(any())).thenReturn(devices);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(devices);
         when(mBluetoothDevice.getAlias()).thenReturn(DEVICE_NAME);
 
         FragmentController.setupFragment(
@@ -207,6 +230,8 @@
 
         assertThat(mDialogFragment.getMetricsCategory())
                 .isEqualTo(SettingsEnums.DIALOG_AUDIO_STREAM_CONFIRM_DATA_ERROR);
+        assertThat(mDialogFragment.mActivity).isNotNull();
+        mDialogFragment.mActivity = spy(mDialogFragment.mActivity);
 
         var dialog = mDialogFragment.getDialog();
         assertThat(dialog).isNotNull();
@@ -231,13 +256,17 @@
         assertThat(rightButton).isNotNull();
         assertThat(rightButton.getVisibility()).isEqualTo(View.VISIBLE);
         assertThat(rightButton.hasOnClickListeners()).isTrue();
+
+        rightButton.callOnClick();
+        assertThat(dialog.isShowing()).isFalse();
+        verify(mDialogFragment.mActivity).finish();
     }
 
     @Test
     public void showDialog_invalidMetadata() {
         List<BluetoothDevice> devices = new ArrayList<>();
         devices.add(mBluetoothDevice);
-        when(mAssistant.getDevicesMatchingConnectionStates(any())).thenReturn(devices);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(devices);
         when(mBluetoothDevice.getAlias()).thenReturn(DEVICE_NAME);
 
         Intent intent = new Intent();
@@ -252,6 +281,8 @@
 
         assertThat(mDialogFragment.getMetricsCategory())
                 .isEqualTo(SettingsEnums.DIALOG_AUDIO_STREAM_CONFIRM_DATA_ERROR);
+        assertThat(mDialogFragment.mActivity).isNotNull();
+        mDialogFragment.mActivity = spy(mDialogFragment.mActivity);
 
         var dialog = mDialogFragment.getDialog();
         assertThat(dialog).isNotNull();
@@ -276,14 +307,18 @@
         assertThat(rightButton).isNotNull();
         assertThat(rightButton.getVisibility()).isEqualTo(View.VISIBLE);
         assertThat(rightButton.hasOnClickListeners()).isTrue();
+
+        rightButton.callOnClick();
+        assertThat(dialog.isShowing()).isFalse();
+        verify(mDialogFragment.mActivity).finish();
     }
 
     @Test
     public void showDialog_confirmListen() {
         List<BluetoothDevice> devices = new ArrayList<>();
         devices.add(mBluetoothDevice);
-        when(mAssistant.getDevicesMatchingConnectionStates(any())).thenReturn(devices);
-        when(mBluetoothDevice.getAlias()).thenReturn(DEVICE_NAME);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(devices);
+        when(mBluetoothDevice.getAlias()).thenReturn("");
 
         Intent intent = new Intent();
         intent.putExtra(KEY_BROADCAST_METADATA, VALID_METADATA);
@@ -296,9 +331,11 @@
         shadowMainLooper().idle();
 
         assertThat(mDialogFragment.getMetricsCategory())
-                .isEqualTo(SettingsEnums.DIALOG_AUDIO_STREAM_CONFIRM_LISTEN);
+                .isEqualTo(DIALOG_AUDIO_STREAM_CONFIRM_LISTEN);
+        assertThat(mDialogFragment.mActivity).isNotNull();
+        mDialogFragment.mActivity = spy(mDialogFragment.mActivity);
 
-        var dialog = mDialogFragment.getDialog();
+        Dialog dialog = mDialogFragment.getDialog();
         assertThat(dialog).isNotNull();
         assertThat(dialog.isShowing()).isTrue();
         TextView title = dialog.findViewById(R.id.dialog_title);
@@ -311,17 +348,27 @@
         assertThat(subtitle1.getVisibility()).isEqualTo(View.VISIBLE);
         TextView subtitle2 = dialog.findViewById(R.id.dialog_subtitle_2);
         assertThat(subtitle2).isNotNull();
+        var defaultName = mContext.getString(DEFAULT_DEVICE_NAME);
         assertThat(subtitle2.getText())
                 .isEqualTo(
                         mContext.getString(
-                                R.string.audio_streams_dialog_control_volume, DEVICE_NAME));
+                                R.string.audio_streams_dialog_control_volume, defaultName));
         View leftButton = dialog.findViewById(R.id.left_button);
         assertThat(leftButton).isNotNull();
         assertThat(leftButton.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(leftButton.hasOnClickListeners()).isTrue();
+
+        leftButton.callOnClick();
+        assertThat(dialog.isShowing()).isFalse();
+
         Button rightButton = dialog.findViewById(R.id.right_button);
         assertThat(rightButton).isNotNull();
         assertThat(rightButton.getText())
                 .isEqualTo(mContext.getString(R.string.audio_streams_dialog_listen));
         assertThat(rightButton.hasOnClickListeners()).isTrue();
+
+        rightButton.callOnClick();
+        assertThat(dialog.isShowing()).isFalse();
+        verify(mDialogFragment.mActivity, times(2)).finish();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamDetailsFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamDetailsFragmentTest.java
index 724c772..46d481a 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamDetailsFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamDetailsFragmentTest.java
@@ -16,22 +16,48 @@
 
 package com.android.settings.connecteddevice.audiosharing.audiostreams;
 
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamDetailsFragment.BROADCAST_ID_ARG;
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamDetailsFragment.BROADCAST_NAME_ARG;
+
 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.settings.SettingsEnums;
+import android.content.Context;
+import android.os.Bundle;
+
+import androidx.test.core.app.ApplicationProvider;
+
 import com.android.settings.R;
+import com.android.settingslib.core.AbstractPreferenceController;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
 
 @RunWith(RobolectricTestRunner.class)
 public class AudioStreamDetailsFragmentTest {
-    private AudioStreamDetailsFragment mFragment;
+    @Rule public final MockitoRule mocks = MockitoJUnit.rule();
+    private static final String BROADCAST_NAME = "name";
+    private static final int BROADCAST_ID = 1;
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    @Mock private AudioStreamHeaderController mHeaderController;
+    @Mock private AudioStreamButtonController mButtonController;
+    private TestFragment mFragment;
 
     @Before
     public void setUp() {
-        mFragment = new AudioStreamDetailsFragment();
+        mFragment = spy(new TestFragment());
+        doReturn(mHeaderController).when(mFragment).use(AudioStreamHeaderController.class);
+        doReturn(mButtonController).when(mFragment).use(AudioStreamButtonController.class);
     }
 
     @Test
@@ -44,4 +70,29 @@
     public void getLogTag_returnsCorrectTag() {
         assertThat(mFragment.getLogTag()).isEqualTo(AudioStreamDetailsFragment.TAG);
     }
+
+    @Test
+    public void getMetricsCategory_returnsCorrectEnum() {
+        assertThat(mFragment.getMetricsCategory()).isEqualTo(SettingsEnums.AUDIO_STREAM_DETAIL);
+    }
+
+    @Test
+    public void onAttach_getArguments() {
+        Bundle bundle = new Bundle();
+        bundle.putString(BROADCAST_NAME_ARG, BROADCAST_NAME);
+        bundle.putInt(BROADCAST_ID_ARG, BROADCAST_ID);
+        mFragment.setArguments(bundle);
+
+        mFragment.onAttach(mContext);
+
+        verify(mButtonController).init(BROADCAST_ID);
+        verify(mHeaderController).init(mFragment, BROADCAST_NAME, BROADCAST_ID);
+    }
+
+    public static class TestFragment extends AudioStreamDetailsFragment {
+        @Override
+        protected <T extends AbstractPreferenceController> T use(Class<T> clazz) {
+            return super.use(clazz);
+        }
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamHeaderControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamHeaderControllerTest.java
index 0cd5d61..327090d 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamHeaderControllerTest.java
@@ -19,12 +19,20 @@
 import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamHeaderController.AUDIO_STREAM_HEADER_LISTENING_NOW_SUMMARY;
 import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamHeaderController.AUDIO_STREAM_HEADER_NOT_LISTENING_SUMMARY;
 
+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.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcastAssistant;
 import android.bluetooth.BluetoothLeBroadcastReceiveState;
 import android.content.Context;
+import android.graphics.drawable.Drawable;
 
+import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.PreferenceScreen;
 import androidx.test.core.app.ApplicationProvider;
 
@@ -32,6 +40,8 @@
 import com.android.settings.connecteddevice.audiosharing.audiostreams.testshadows.ShadowEntityHeaderController;
 import com.android.settings.testutils.shadow.ShadowThreadUtils;
 import com.android.settings.widget.EntityHeaderController;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
+import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.widget.LayoutPreference;
 
 import org.junit.After;
@@ -45,8 +55,10 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
 
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+import java.util.concurrent.Executor;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(
@@ -65,15 +77,21 @@
     @Mock private AudioStreamsHelper mAudioStreamsHelper;
     @Mock private PreferenceScreen mScreen;
     @Mock private BluetoothLeBroadcastReceiveState mBroadcastReceiveState;
+    @Mock private LocalBluetoothLeBroadcastAssistant mAssistant;
     @Mock private AudioStreamDetailsFragment mFragment;
     @Mock private LayoutPreference mPreference;
     @Mock private EntityHeaderController mHeaderController;
+    private Lifecycle mLifecycle;
+    private LifecycleOwner mLifecycleOwner;
     private AudioStreamHeaderController mController;
 
     @Before
     public void setUp() {
         ShadowEntityHeaderController.setUseMock(mHeaderController);
         ShadowAudioStreamsHelper.setUseMock(mAudioStreamsHelper);
+        when(mAudioStreamsHelper.getLeBroadcastAssistant()).thenReturn(mAssistant);
+        mLifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(mLifecycleOwner);
         mController = new AudioStreamHeaderController(mContext, KEY);
         mController.init(mFragment, BROADCAST_NAME, BROADCAST_ID);
         when(mScreen.findPreference(KEY)).thenReturn(mPreference);
@@ -88,6 +106,40 @@
     }
 
     @Test
+    public void onStart_registerCallbacks() {
+        mController.onStart(mLifecycleOwner);
+        verify(mAssistant)
+                .registerServiceCallBack(
+                        any(Executor.class), any(BluetoothLeBroadcastAssistant.Callback.class));
+    }
+
+    @Test
+    public void onStart_profileNull_doNothing() {
+        when(mAudioStreamsHelper.getLeBroadcastAssistant()).thenReturn(null);
+        mController = new AudioStreamHeaderController(mContext, KEY);
+        mController.onStart(mLifecycleOwner);
+        verify(mAssistant, never())
+                .registerServiceCallBack(
+                        any(Executor.class), any(BluetoothLeBroadcastAssistant.Callback.class));
+    }
+
+    @Test
+    public void onStop_unregisterCallbacks() {
+        mController.onStop(mLifecycleOwner);
+        verify(mAssistant)
+                .unregisterServiceCallBack(any(BluetoothLeBroadcastAssistant.Callback.class));
+    }
+
+    @Test
+    public void onStop_profileNull_doNothing() {
+        when(mAudioStreamsHelper.getLeBroadcastAssistant()).thenReturn(null);
+        mController = new AudioStreamHeaderController(mContext, KEY);
+        mController.onStop(mLifecycleOwner);
+        verify(mAssistant, never())
+                .unregisterServiceCallBack(any(BluetoothLeBroadcastAssistant.Callback.class));
+    }
+
+    @Test
     public void testDisplayPreference_sourceConnected_setSummary() {
         when(mAudioStreamsHelper.getAllConnectedSources())
                 .thenReturn(List.of(mBroadcastReceiveState));
@@ -96,9 +148,11 @@
         mController.displayPreference(mScreen);
 
         verify(mHeaderController).setLabel(BROADCAST_NAME);
+        verify(mHeaderController).setIcon(any(Drawable.class));
         verify(mHeaderController)
                 .setSummary(mContext.getString(AUDIO_STREAM_HEADER_LISTENING_NOW_SUMMARY));
         verify(mHeaderController).done(true);
+        verify(mScreen).addPreference(any());
     }
 
     @Test
@@ -108,7 +162,54 @@
         mController.displayPreference(mScreen);
 
         verify(mHeaderController).setLabel(BROADCAST_NAME);
+        verify(mHeaderController).setIcon(any(Drawable.class));
         verify(mHeaderController).setSummary(AUDIO_STREAM_HEADER_NOT_LISTENING_SUMMARY);
         verify(mHeaderController).done(true);
+        verify(mScreen).addPreference(any());
+    }
+
+    @Test
+    public void testCallback_onSourceRemoved_updateButton() {
+        when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(Collections.emptyList());
+
+        mController.displayPreference(mScreen);
+        mController.mBroadcastAssistantCallback.onSourceRemoved(
+                mock(BluetoothDevice.class), /* sourceId= */ 0, /* reason= */ 0);
+
+        // Called twice, once in displayPreference, the other one in callback
+        verify(mHeaderController, times(2)).setSummary(AUDIO_STREAM_HEADER_NOT_LISTENING_SUMMARY);
+        verify(mHeaderController, times(2)).done(true);
+    }
+
+    @Test
+    public void testCallback_onSourceLost_updateButton() {
+        when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(Collections.emptyList());
+
+        mController.displayPreference(mScreen);
+        mController.mBroadcastAssistantCallback.onSourceLost(/* broadcastId= */ 1);
+
+        // Called twice, once in displayPreference, the other one in callback
+        verify(mHeaderController, times(2)).setSummary(AUDIO_STREAM_HEADER_NOT_LISTENING_SUMMARY);
+        verify(mHeaderController, times(2)).done(true);
+    }
+
+    @Test
+    public void testCallback_onReceiveStateChanged_updateButton() {
+        when(mAudioStreamsHelper.getAllConnectedSources())
+                .thenReturn(List.of(mBroadcastReceiveState));
+        when(mBroadcastReceiveState.getBroadcastId()).thenReturn(BROADCAST_ID);
+        BluetoothLeBroadcastReceiveState state = mock(BluetoothLeBroadcastReceiveState.class);
+        List<Long> bisSyncState = new ArrayList<>();
+        bisSyncState.add(1L);
+        when(state.getBisSyncState()).thenReturn(bisSyncState);
+
+        mController.displayPreference(mScreen);
+        mController.mBroadcastAssistantCallback.onReceiveStateChanged(
+                mock(BluetoothDevice.class), /* sourceId= */ 0, state);
+
+        // Called twice, once in displayPreference, the other one in callback
+        verify(mHeaderController, times(2))
+                .setSummary(mContext.getString(AUDIO_STREAM_HEADER_LISTENING_NOW_SUMMARY));
+        verify(mHeaderController, times(2)).done(true);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamMediaServiceTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamMediaServiceTest.java
index b184d88..abdd743 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamMediaServiceTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamMediaServiceTest.java
@@ -18,22 +18,29 @@
 
 import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamMediaService.BROADCAST_ID;
 import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamMediaService.DEVICES;
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamMediaService.LEAVE_BROADCAST_ACTION;
 
 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.anyString;
+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.app.Notification;
+import android.app.NotificationChannel;
 import android.app.NotificationManager;
+import android.app.settings.SettingsEnums;
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothProfile;
 import android.bluetooth.BluetoothStatusCodes;
 import android.content.Context;
 import android.content.Intent;
@@ -43,14 +50,20 @@
 import android.media.session.ISession;
 import android.media.session.ISessionController;
 import android.media.session.MediaSessionManager;
+import android.os.Bundle;
+import android.os.IBinder;
 import android.os.RemoteException;
 import android.platform.test.flag.junit.SetFlagsRule;
 import android.util.DisplayMetrics;
 
 import com.android.settings.connecteddevice.audiosharing.audiostreams.testshadows.ShadowAudioStreamsHelper;
+import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
 import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
+import com.android.settings.testutils.shadow.ShadowThreadUtils;
 import com.android.settingslib.bluetooth.BluetoothEventManager;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
 import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
@@ -72,10 +85,12 @@
 import org.robolectric.util.ReflectionHelpers;
 
 import java.util.ArrayList;
+import java.util.Set;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(
         shadows = {
+            ShadowThreadUtils.class,
             ShadowBluetoothAdapter.class,
             ShadowBluetoothUtils.class,
             ShadowAudioStreamsHelper.class,
@@ -83,6 +98,8 @@
 public class AudioStreamMediaServiceTest {
     @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
     @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+    private static final String CHANNEL_ID = "bluetooth_notification_channel";
+    private static final String DEVICE_NAME = "name";
     @Mock private Resources mResources;
     @Mock private LocalBluetoothManager mLocalBtManager;
     @Mock private LocalBluetoothLeBroadcastAssistant mLeBroadcastAssistant;
@@ -91,17 +108,21 @@
     @Mock private MediaSessionManager mMediaSessionManager;
     @Mock private BluetoothEventManager mBluetoothEventManager;
     @Mock private LocalBluetoothProfileManager mLocalBluetoothProfileManager;
+    @Mock private CachedBluetoothDeviceManager mCachedDeviceManager;
     @Mock private VolumeControlProfile mVolumeControlProfile;
+    @Mock private CachedBluetoothDevice mCachedBluetoothDevice;
     @Mock private BluetoothDevice mDevice;
     @Mock private ISession mISession;
     @Mock private ISessionController mISessionController;
     @Mock private PackageManager mPackageManager;
     @Mock private DisplayMetrics mDisplayMetrics;
     @Mock private Context mContext;
+    private FakeFeatureFactory mFeatureFactory;
     private AudioStreamMediaService mAudioStreamMediaService;
 
     @Before
     public void setUp() {
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
         ShadowAudioStreamsHelper.setUseMock(mAudioStreamsHelper);
         when(mAudioStreamsHelper.getLeBroadcastAssistant()).thenReturn(mLeBroadcastAssistant);
         ShadowBluetoothAdapter shadowBluetoothAdapter =
@@ -114,6 +135,9 @@
         ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBtManager;
         when(mLocalBtManager.getEventManager()).thenReturn(mBluetoothEventManager);
         when(mLocalBtManager.getProfileManager()).thenReturn(mLocalBluetoothProfileManager);
+        when(mLocalBtManager.getCachedDeviceManager()).thenReturn(mCachedDeviceManager);
+        when(mCachedDeviceManager.findDevice(any())).thenReturn(mCachedBluetoothDevice);
+        when(mCachedBluetoothDevice.getName()).thenReturn(DEVICE_NAME);
         when(mLocalBluetoothProfileManager.getVolumeControlProfile())
                 .thenReturn(mVolumeControlProfile);
 
@@ -169,6 +193,25 @@
     }
 
     @Test
+    public void onCreate_flagOn_createNewChannel() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        when(mNotificationManager.getNotificationChannel(anyString())).thenReturn(null);
+
+        mAudioStreamMediaService.onCreate();
+
+        ArgumentCaptor<NotificationChannel> notificationChannelCapture =
+                ArgumentCaptor.forClass(NotificationChannel.class);
+        verify(mNotificationManager)
+                .createNotificationChannel(notificationChannelCapture.capture());
+        NotificationChannel newChannel = notificationChannelCapture.getValue();
+        assertThat(newChannel).isNotNull();
+        assertThat(newChannel.getId()).isEqualTo(CHANNEL_ID);
+        assertThat(newChannel.getName())
+                .isEqualTo(mContext.getString(com.android.settings.R.string.bluetooth));
+        assertThat(newChannel.getImportance()).isEqualTo(NotificationManager.IMPORTANCE_HIGH);
+    }
+
+    @Test
     public void onDestroy_flagOff_doNothing() {
         mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
 
@@ -183,8 +226,15 @@
     @Test
     public void onDestroy_flagOn_cleanup() {
         mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        var devices = new ArrayList<BluetoothDevice>();
+        devices.add(mDevice);
+
+        Intent intent = new Intent();
+        intent.putExtra(BROADCAST_ID, 1);
+        intent.putParcelableArrayListExtra(DEVICES, devices);
 
         mAudioStreamMediaService.onCreate();
+        mAudioStreamMediaService.onStartCommand(intent, /* flags= */ 0, /* startId= */ 0);
         mAudioStreamMediaService.onDestroy();
 
         verify(mBluetoothEventManager).unregisterCallback(any());
@@ -196,7 +246,6 @@
     public void onStartCommand_noBroadcastId_stopSelf() {
         mAudioStreamMediaService.onStartCommand(new Intent(), /* flags= */ 0, /* startId= */ 0);
 
-        assertThat(mAudioStreamMediaService.mLocalSession).isNull();
         verify(mAudioStreamMediaService).stopSelf();
     }
 
@@ -207,7 +256,6 @@
 
         mAudioStreamMediaService.onStartCommand(intent, /* flags= */ 0, /* startId= */ 0);
 
-        assertThat(mAudioStreamMediaService.mLocalSession).isNull();
         verify(mAudioStreamMediaService).stopSelf();
     }
 
@@ -222,12 +270,179 @@
 
         mAudioStreamMediaService.onStartCommand(intent, /* flags= */ 0, /* startId= */ 0);
 
-        assertThat(mAudioStreamMediaService.mLocalSession).isNotNull();
-        verify(mAudioStreamMediaService, never()).stopSelf();
+        ArgumentCaptor<Notification> notificationCapture =
+                ArgumentCaptor.forClass(Notification.class);
+        verify(mAudioStreamMediaService).startForeground(anyInt(), notificationCapture.capture());
+        var notification = notificationCapture.getValue();
+        assertThat(notification.getSmallIcon()).isNotNull();
+        assertThat(notification.isStyle(Notification.MediaStyle.class)).isTrue();
 
-        ArgumentCaptor<Notification> notification = ArgumentCaptor.forClass(Notification.class);
-        verify(mAudioStreamMediaService).startForeground(anyInt(), notification.capture());
-        assertThat(notification.getValue().getSmallIcon()).isNotNull();
-        assertThat(notification.getValue().isStyle(Notification.MediaStyle.class)).isTrue();
+        verify(mAudioStreamMediaService, never()).stopSelf();
+    }
+
+    @Test
+    public void assistantCallback_onSourceLost_stopSelf() {
+        mAudioStreamMediaService.onCreate();
+
+        assertThat(mAudioStreamMediaService.mBroadcastAssistantCallback).isNotNull();
+        mAudioStreamMediaService.mBroadcastAssistantCallback.onSourceLost(/* broadcastId= */ 0);
+
+        verify(mAudioStreamMediaService).stopSelf();
+    }
+
+    @Test
+    public void assistantCallback_onSourceRemoved_stopSelf() {
+        mAudioStreamMediaService.onCreate();
+
+        assertThat(mAudioStreamMediaService.mBroadcastAssistantCallback).isNotNull();
+        mAudioStreamMediaService.mBroadcastAssistantCallback.onSourceRemoved(
+                mDevice, /* sourceId= */ 0, /* reason= */ 0);
+
+        verify(mAudioStreamMediaService).stopSelf();
+    }
+
+    @Test
+    public void bluetoothCallback_onBluetoothOff_stopSelf() {
+        mAudioStreamMediaService.onCreate();
+
+        assertThat(mAudioStreamMediaService.mBluetoothCallback).isNotNull();
+        mAudioStreamMediaService.mBluetoothCallback.onBluetoothStateChanged(
+                BluetoothAdapter.STATE_OFF);
+
+        verify(mAudioStreamMediaService).stopSelf();
+    }
+
+    @Test
+    public void bluetoothCallback_onDeviceDisconnect_stopSelf() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        mAudioStreamMediaService.onCreate();
+        assertThat(mAudioStreamMediaService.mBluetoothCallback).isNotNull();
+        mAudioStreamMediaService.onStartCommand(setupIntent(), /* flags= */ 0, /* startId= */ 0);
+
+        mAudioStreamMediaService.mBluetoothCallback.onProfileConnectionStateChanged(
+                mCachedBluetoothDevice,
+                BluetoothAdapter.STATE_DISCONNECTED,
+                BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT);
+
+        verify(mAudioStreamMediaService).stopSelf();
+    }
+
+    @Test
+    public void bluetoothCallback_onMemberDeviceDisconnect_stopSelf() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+        when(mCachedBluetoothDevice.getDevice()).thenReturn(mock(BluetoothDevice.class));
+        CachedBluetoothDevice member = mock(CachedBluetoothDevice.class);
+        when(mCachedBluetoothDevice.getMemberDevice()).thenReturn(Set.of(member));
+        when(member.getDevice()).thenReturn(mDevice);
+        var devices = new ArrayList<BluetoothDevice>();
+        devices.add(mDevice);
+
+        Intent intent = new Intent();
+        intent.putExtra(BROADCAST_ID, 1);
+        intent.putParcelableArrayListExtra(DEVICES, devices);
+
+        mAudioStreamMediaService.onCreate();
+        assertThat(mAudioStreamMediaService.mBluetoothCallback).isNotNull();
+        mAudioStreamMediaService.onStartCommand(intent, /* flags= */ 0, /* startId= */ 0);
+        mAudioStreamMediaService.mBluetoothCallback.onProfileConnectionStateChanged(
+                mCachedBluetoothDevice,
+                BluetoothAdapter.STATE_DISCONNECTED,
+                BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT);
+
+        verify(mAudioStreamMediaService).stopSelf();
+    }
+
+    @Test
+    public void mediaSessionCallback_onSeekTo_updateNotification() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+
+        mAudioStreamMediaService.onCreate();
+        mAudioStreamMediaService.onStartCommand(setupIntent(), /* flags= */ 0, /* startId= */ 0);
+        assertThat(mAudioStreamMediaService.mMediaSessionCallback).isNotNull();
+        mAudioStreamMediaService.mMediaSessionCallback.onSeekTo(100);
+
+        verify(mNotificationManager).notify(anyInt(), any());
+    }
+
+    @Test
+    public void mediaSessionCallback_onPause_setVolume() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+
+        mAudioStreamMediaService.onCreate();
+        mAudioStreamMediaService.onStartCommand(setupIntent(), /* flags= */ 0, /* startId= */ 0);
+        assertThat(mAudioStreamMediaService.mMediaSessionCallback).isNotNull();
+        mAudioStreamMediaService.mMediaSessionCallback.onPause();
+
+        verify(mVolumeControlProfile).setDeviceVolume(any(), anyInt(), anyBoolean());
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        any(),
+                        eq(SettingsEnums.ACTION_AUDIO_STREAM_NOTIFICATION_MUTE_BUTTON_CLICK),
+                        eq(1));
+    }
+
+    @Test
+    public void mediaSessionCallback_onPlay_setVolume() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+
+        mAudioStreamMediaService.onCreate();
+        mAudioStreamMediaService.onStartCommand(setupIntent(), /* flags= */ 0, /* startId= */ 0);
+        assertThat(mAudioStreamMediaService.mMediaSessionCallback).isNotNull();
+        mAudioStreamMediaService.mMediaSessionCallback.onPlay();
+
+        verify(mVolumeControlProfile).setDeviceVolume(any(), anyInt(), anyBoolean());
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        any(),
+                        eq(SettingsEnums.ACTION_AUDIO_STREAM_NOTIFICATION_MUTE_BUTTON_CLICK),
+                        eq(0));
+    }
+
+    @Test
+    public void mediaSessionCallback_onCustomAction_leaveBroadcast() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+
+        mAudioStreamMediaService.onCreate();
+        mAudioStreamMediaService.onStartCommand(setupIntent(), /* flags= */ 0, /* startId= */ 0);
+        assertThat(mAudioStreamMediaService.mMediaSessionCallback).isNotNull();
+        mAudioStreamMediaService.mMediaSessionCallback.onCustomAction(
+                LEAVE_BROADCAST_ACTION, Bundle.EMPTY);
+
+        verify(mAudioStreamsHelper).removeSource(anyInt());
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        any(),
+                        eq(SettingsEnums.ACTION_AUDIO_STREAM_NOTIFICATION_LEAVE_BUTTON_CLICK));
+    }
+
+    @Test
+    public void volumeControlCallback_onDeviceVolumeChanged_updateNotification() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+
+        mAudioStreamMediaService.onCreate();
+        assertThat(mAudioStreamMediaService.mVolumeControlCallback).isNotNull();
+        mAudioStreamMediaService.onStartCommand(setupIntent(), /* flags= */ 0, /* startId= */ 0);
+        mAudioStreamMediaService.mVolumeControlCallback.onDeviceVolumeChanged(
+                mDevice, /* volume= */ 0);
+
+        verify(mNotificationManager).notify(anyInt(), any());
+    }
+
+    @Test
+    public void onBind_returnNull() {
+        IBinder binder = mAudioStreamMediaService.onBind(new Intent());
+
+        assertThat(binder).isNull();
+    }
+
+    private Intent setupIntent() {
+        when(mCachedBluetoothDevice.getDevice()).thenReturn(mDevice);
+        var devices = new ArrayList<BluetoothDevice>();
+        devices.add(mDevice);
+
+        Intent intent = new Intent();
+        intent.putExtra(BROADCAST_ID, 1);
+        intent.putParcelableArrayListExtra(DEVICES, devices);
+        return intent;
     }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamPreferenceTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamPreferenceTest.java
index c8f9358..2515668 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamPreferenceTest.java
@@ -28,7 +28,6 @@
 import android.view.LayoutInflater;
 import android.view.View;
 
-import androidx.preference.Preference.OnPreferenceClickListener;
 import androidx.preference.PreferenceViewHolder;
 import androidx.test.core.app.ApplicationProvider;
 
@@ -94,17 +93,6 @@
     }
 
     @Test
-    public void setConnected_shouldUpdatePreferenceUI() {
-        String summary = "Connected";
-        OnPreferenceClickListener listener = mock(OnPreferenceClickListener.class);
-        mPreference.setIsConnected(true, summary, listener);
-
-        assertThat(mPreference.getSummary()).isNotNull();
-        assertThat(mPreference.getSummary().toString()).isEqualTo(summary);
-        assertThat(mPreference.getOnPreferenceClickListener()).isEqualTo(listener);
-    }
-
-    @Test
     public void setAudioStreamMetadata_shouldUpdateMetadata() {
         AudioStreamPreference p =
                 AudioStreamPreference.fromMetadata(
@@ -147,7 +135,7 @@
 
     @Test
     public void shouldHideSecondTarget_connected() {
-        mPreference.setIsConnected(true, "", null);
+        mPreference.setIsConnected(true);
         assertThat(mPreference.shouldHideSecondTarget()).isTrue();
     }
 
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamStateHandlerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamStateHandlerTest.java
new file mode 100644
index 0000000..e44dee9
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamStateHandlerTest.java
@@ -0,0 +1,154 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.audiosharing.audiostreams;
+
+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.content.Context;
+import android.text.SpannableString;
+
+import androidx.preference.Preference;
+import androidx.test.core.app.ApplicationProvider;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class AudioStreamStateHandlerTest {
+    @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    private static final int SUMMARY_RES = 1;
+    private static final String SUMMARY = "summary";
+    private final Context mContext = spy(ApplicationProvider.getApplicationContext());
+    @Mock private AudioStreamsProgressCategoryController mController;
+    @Mock private AudioStreamsHelper mHelper;
+    @Mock private AudioStreamPreference mPreference;
+    private AudioStreamStateHandler mHandler;
+
+    @Before
+    public void setUp() {
+        mHandler = spy(new AudioStreamStateHandler());
+    }
+
+    @Test
+    public void testHandleStateChange_noChange_doNothing() {
+        when(mHandler.getStateEnum())
+                .thenReturn(
+                        AudioStreamsProgressCategoryController.AudioStreamState
+                                .ADD_SOURCE_BAD_CODE);
+        when(mPreference.getAudioStreamState())
+                .thenReturn(
+                        AudioStreamsProgressCategoryController.AudioStreamState
+                                .ADD_SOURCE_BAD_CODE);
+
+        mHandler.handleStateChange(mPreference, mController, mHelper);
+
+        verify(mPreference, never()).setAudioStreamState(any());
+        verify(mHandler, never()).performAction(any(), any(), any());
+        verify(mPreference, never()).setIsConnected(anyBoolean());
+        verify(mPreference, never()).setSummary(any());
+        verify(mPreference, never()).setOnPreferenceClickListener(any());
+    }
+
+    @Test
+    public void testHandleStateChange_setNewState() {
+        when(mHandler.getStateEnum())
+                .thenReturn(AudioStreamsProgressCategoryController.AudioStreamState.SOURCE_ADDED);
+        when(mPreference.getAudioStreamState())
+                .thenReturn(
+                        AudioStreamsProgressCategoryController.AudioStreamState
+                                .ADD_SOURCE_BAD_CODE);
+
+        mHandler.handleStateChange(mPreference, mController, mHelper);
+
+        verify(mPreference)
+                .setAudioStreamState(
+                        AudioStreamsProgressCategoryController.AudioStreamState.SOURCE_ADDED);
+        verify(mHandler).performAction(any(), any(), any());
+        verify(mPreference).setIsConnected(eq(true));
+        verify(mPreference).setSummary(eq(""));
+        verify(mPreference).setOnPreferenceClickListener(eq(null));
+    }
+
+    @Test
+    public void testHandleStateChange_setNewState_newSummary_newListener() {
+        Preference.OnPreferenceClickListener listener =
+                mock(Preference.OnPreferenceClickListener.class);
+        when(mHandler.getStateEnum())
+                .thenReturn(
+                        AudioStreamsProgressCategoryController.AudioStreamState
+                                .ADD_SOURCE_BAD_CODE);
+        when(mHandler.getSummary()).thenReturn(SUMMARY_RES);
+        when(mHandler.getOnClickListener(any())).thenReturn(listener);
+        when(mPreference.getAudioStreamState())
+                .thenReturn(
+                        AudioStreamsProgressCategoryController.AudioStreamState.ADD_SOURCE_FAILED);
+        when(mPreference.getContext()).thenReturn(mContext);
+        doReturn(SUMMARY).when(mContext).getString(anyInt());
+
+        mHandler.handleStateChange(mPreference, mController, mHelper);
+
+        verify(mPreference)
+                .setAudioStreamState(
+                        AudioStreamsProgressCategoryController.AudioStreamState
+                                .ADD_SOURCE_BAD_CODE);
+        verify(mHandler).performAction(any(), any(), any());
+        verify(mPreference).setIsConnected(eq(false));
+        ArgumentCaptor<SpannableString> argumentCaptor =
+                ArgumentCaptor.forClass(SpannableString.class);
+        verify(mPreference).setSummary(argumentCaptor.capture());
+        assertThat(argumentCaptor.getValue()).isNotNull();
+        assertThat(argumentCaptor.getValue().toString()).isEqualTo(SUMMARY);
+        verify(mPreference).setOnPreferenceClickListener(eq(listener));
+    }
+
+    @Test
+    public void testGetSummary() {
+        int res = mHandler.getSummary();
+        assertThat(res).isEqualTo(AudioStreamStateHandler.EMPTY_STRING_RES);
+    }
+
+    @Test
+    public void testGetOnClickListener() {
+        Preference.OnPreferenceClickListener listener = mHandler.getOnClickListener(mController);
+        assertThat(listener).isNull();
+    }
+
+    @Test
+    public void testGetStateEnum() {
+        var state = mHandler.getStateEnum();
+        assertThat(state)
+                .isEqualTo(AudioStreamsProgressCategoryController.AudioStreamState.UNKNOWN);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceSummaryUpdaterTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceSummaryUpdaterTest.java
index 4403528..d6b99a1 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceSummaryUpdaterTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceSummaryUpdaterTest.java
@@ -20,6 +20,7 @@
 
 import static org.mockito.Mockito.when;
 
+import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothProfile;
 import android.content.Context;
 
@@ -76,25 +77,46 @@
     }
 
     @Test
-    public void onActiveDeviceChanged_notLeProfile_doNothing() {
-        mUpdater.onActiveDeviceChanged(mCachedBluetoothDevice, 0);
+    public void unregister_doNothing() {
+        mUpdater.register(false);
 
         assertThat(mUpdatedSummary).isNull();
     }
 
     @Test
-    public void onActiveDeviceChanged_leProfile_summaryUpdated() {
+    public void onProfileConnectionStateChanged_notLeAssistProfile_doNothing() {
+        mUpdater.onProfileConnectionStateChanged(mCachedBluetoothDevice, 0, 0);
+
+        assertThat(mUpdatedSummary).isNull();
+    }
+
+    @Test
+    public void onProfileConnectionStateChanged_leAssistantProfile_summaryUpdated() {
         ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(
                 mCachedBluetoothDevice);
         when(mCachedBluetoothDevice.getName()).thenReturn(DEVICE_NAME);
-        mUpdater.onActiveDeviceChanged(mCachedBluetoothDevice, BluetoothProfile.LE_AUDIO);
+        mUpdater.onProfileConnectionStateChanged(
+                mCachedBluetoothDevice,
+                BluetoothAdapter.STATE_CONNECTED,
+                BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT);
 
         assertThat(mUpdatedSummary).isEqualTo(DEVICE_NAME);
     }
 
     @Test
-    public void onActiveDeviceChanged_leProfile_noDevice_summaryUpdated() {
-        mUpdater.onActiveDeviceChanged(mCachedBluetoothDevice, BluetoothProfile.LE_AUDIO);
+    public void onActiveDeviceChanged_leAssistantProfile_noDevice_summaryUpdated() {
+        mUpdater.onProfileConnectionStateChanged(
+                mCachedBluetoothDevice,
+                BluetoothAdapter.STATE_CONNECTED,
+                BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT);
+
+        assertThat(mUpdatedSummary)
+                .isEqualTo(mContext.getString(R.string.audio_streams_dialog_no_le_device_title));
+    }
+
+    @Test
+    public void onBluetoothStateOff_summaryUpdated() {
+        mUpdater.onBluetoothStateChanged(BluetoothAdapter.STATE_OFF);
 
         assertThat(mUpdatedSummary)
                 .isEqualTo(mContext.getString(R.string.audio_streams_dialog_no_le_device_title));
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsCategoryControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsCategoryControllerTest.java
index e4b6903..0e00309 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsCategoryControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsCategoryControllerTest.java
@@ -23,11 +23,13 @@
 
 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 static org.robolectric.Shadows.shadowOf;
 
 import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothProfile;
 import android.bluetooth.BluetoothStatusCodes;
 import android.content.Context;
 import android.os.Looper;
@@ -42,6 +44,7 @@
 import com.android.settings.connecteddevice.audiosharing.audiostreams.testshadows.ShadowAudioStreamsHelper;
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
 import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
+import com.android.settingslib.bluetooth.BluetoothCallback;
 import com.android.settingslib.bluetooth.BluetoothEventManager;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
@@ -57,6 +60,7 @@
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
@@ -116,7 +120,7 @@
         when(mBroadcast.isProfileReady()).thenReturn(true);
         when(mAssistant.isProfileReady()).thenReturn(true);
         when(mVolumeControl.isProfileReady()).thenReturn(true);
-        mController = new AudioStreamsCategoryController(mContext, KEY);
+        mController = spy(new AudioStreamsCategoryController(mContext, KEY));
         mPreference = new Preference(mContext);
         when(mScreen.findPreference(KEY)).thenReturn(mPreference);
         mController.displayPreference(mScreen);
@@ -228,4 +232,21 @@
         shadowOf(Looper.getMainLooper()).idle();
         assertThat(mPreference.isVisible()).isTrue();
     }
+
+    @Test
+    public void onProfileConnectionStateChanged_updateVisibility() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_QR_CODE_PRIVATE_BROADCAST_SHARING);
+        ArgumentCaptor<BluetoothCallback> argumentCaptor =
+                ArgumentCaptor.forClass(BluetoothCallback.class);
+        mController.onStart(mLifecycleOwner);
+        verify(mBluetoothEventManager).registerCallback(argumentCaptor.capture());
+
+        BluetoothCallback callback = argumentCaptor.getValue();
+        callback.onProfileConnectionStateChanged(
+                mCachedBluetoothDevice,
+                BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT,
+                BluetoothAdapter.STATE_DISCONNECTED);
+
+        verify(mController).updateVisibility();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDashboardFragmentTest.java
index 9058ab6..dd3d8b7 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDashboardFragmentTest.java
@@ -22,18 +22,25 @@
 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 android.app.Activity;
+import android.app.settings.SettingsEnums;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
 import android.content.Context;
 import android.content.Intent;
+import android.os.Bundle;
 
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
+import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settingslib.core.AbstractPreferenceController;
 
 import org.junit.Before;
@@ -53,12 +60,14 @@
                     + "MD:BgNwVGVzdA==;AS:1;PI:A0;NS:1;BS:3;NB:2;SM:BQNUZXN0BARlbmc=;;";
 
     private Context mContext;
+    private FakeFeatureFactory mFeatureFactory;
     private AudioStreamsProgressCategoryController mController;
     private TestFragment mTestFragment;
 
     @Before
     public void setUp() {
         mContext = ApplicationProvider.getApplicationContext();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
         mTestFragment = spy(new TestFragment());
         doReturn(mContext).when(mTestFragment).getContext();
         mController = spy(new AudioStreamsProgressCategoryController(mContext, "key"));
@@ -114,6 +123,28 @@
         mTestFragment.onActivityResult(
                 REQUEST_SCAN_BT_BROADCAST_QR_CODE, Activity.RESULT_OK, intent);
         verify(mController).setSourceFromQrCode(any(), any());
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        any(),
+                        eq(SettingsEnums.ACTION_AUDIO_STREAM_QR_CODE_SCAN_SUCCEED),
+                        anyInt());
+    }
+
+    @Test
+    public void onAttach_hasArgument() {
+        BluetoothLeBroadcastMetadata data = mock(BluetoothLeBroadcastMetadata.class);
+        Bundle bundle = new Bundle();
+        bundle.putParcelable(KEY_BROADCAST_METADATA, data);
+        mTestFragment.setArguments(bundle);
+
+        mTestFragment.onAttach(mContext);
+
+        verify(mController).setSourceFromQrCode(eq(data), any());
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        any(),
+                        eq(SettingsEnums.ACTION_AUDIO_STREAM_QR_CODE_SCAN_SUCCEED),
+                        anyInt());
     }
 
     public static class TestFragment extends AudioStreamsDashboardFragment {
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDialogFragmentTest.java
new file mode 100644
index 0000000..efdd389
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDialogFragmentTest.java
@@ -0,0 +1,88 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.audiosharing.audiostreams;
+
+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.content.Context;
+import android.os.Bundle;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowAlertDialog;
+import org.robolectric.shadows.ShadowLooper;
+import org.robolectric.shadows.androidx.fragment.FragmentController;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+        shadows = {
+            ShadowAlertDialog.class,
+        })
+public class AudioStreamsDialogFragmentTest {
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    private AudioStreamsDialogFragment.DialogBuilder mDialogBuilder;
+    private AudioStreamsDialogFragment mFragment;
+
+    @Before
+    public void setUp() {
+        mDialogBuilder = spy(new AudioStreamsDialogFragment.DialogBuilder(mContext));
+        mFragment = new AudioStreamsDialogFragment(mDialogBuilder, SettingsEnums.PAGE_UNKNOWN);
+    }
+
+    @After
+    public void tearDown() {
+        ShadowAlertDialog.reset();
+    }
+
+    @Test
+    public void testGetMetricsCategory() {
+        int dialogId = mFragment.getMetricsCategory();
+
+        assertThat(dialogId).isEqualTo(SettingsEnums.PAGE_UNKNOWN);
+    }
+
+    @Test
+    public void testOnCreateDialog() {
+        mFragment.onCreateDialog(Bundle.EMPTY);
+
+        verify(mDialogBuilder).build();
+    }
+
+    @Test
+    public void testShowDialog_dismissAll() {
+        FragmentController.setupFragment(mFragment);
+        AudioStreamsDialogFragment.show(mFragment, mDialogBuilder, SettingsEnums.PAGE_UNKNOWN);
+        ShadowLooper.idleMainLooper();
+
+        var dialog = ShadowAlertDialog.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
+        assertThat(dialog.isShowing()).isTrue();
+
+        AudioStreamsDialogFragment.dismissAll(mFragment);
+        assertThat(dialog.isShowing()).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsHelperTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsHelperTest.java
new file mode 100644
index 0000000..4266798
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsHelperTest.java
@@ -0,0 +1,281 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.audiosharing.audiostreams;
+
+import static android.content.res.Configuration.ORIENTATION_LANDSCAPE;
+import static android.content.res.Configuration.ORIENTATION_PORTRAIT;
+
+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.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.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
+import android.content.Context;
+import android.content.res.Configuration;
+import android.content.res.Resources;
+
+import androidx.fragment.app.FragmentActivity;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.testutils.shadow.ShadowThreadUtils;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
+
+import com.google.android.material.appbar.AppBarLayout;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+        shadows = {
+            ShadowThreadUtils.class,
+        })
+public class AudioStreamsHelperTest {
+    @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    private static final int GROUP_ID = 1;
+    private static final int BROADCAST_ID_1 = 1;
+    private static final int BROADCAST_ID_2 = 2;
+    private static final String BROADCAST_NAME = "name";
+    private final Context mContext = spy(ApplicationProvider.getApplicationContext());
+    @Mock private LocalBluetoothManager mLocalBluetoothManager;
+    @Mock private LocalBluetoothProfileManager mLocalBluetoothProfileManager;
+    @Mock private LocalBluetoothLeBroadcastAssistant mAssistant;
+    @Mock private CachedBluetoothDeviceManager mDeviceManager;
+    @Mock private BluetoothLeBroadcastMetadata mMetadata;
+    @Mock private CachedBluetoothDevice mCachedDevice;
+    @Mock private BluetoothDevice mDevice;
+    private AudioStreamsHelper mHelper;
+
+    @Before
+    public void setUp() {
+        when(mLocalBluetoothManager.getProfileManager()).thenReturn(mLocalBluetoothProfileManager);
+        when(mLocalBluetoothManager.getCachedDeviceManager()).thenReturn(mDeviceManager);
+        when(mLocalBluetoothProfileManager.getLeAudioBroadcastAssistantProfile())
+                .thenReturn(mAssistant);
+        mHelper = spy(new AudioStreamsHelper(mLocalBluetoothManager));
+    }
+
+    @Test
+    public void addSource_noDevice_doNothing() {
+        when(mAssistant.getAllConnectedDevices()).thenReturn(Collections.emptyList());
+        mHelper.addSource(mMetadata);
+
+        verify(mAssistant, never()).addSource(any(), any(), anyBoolean());
+    }
+
+    @Test
+    public void addSource_hasDevice() {
+        List<BluetoothDevice> devices = new ArrayList<>();
+        devices.add(mDevice);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(devices);
+        when(mDeviceManager.findDevice(any())).thenReturn(mCachedDevice);
+        when(mCachedDevice.getDevice()).thenReturn(mDevice);
+        when(mCachedDevice.getGroupId()).thenReturn(GROUP_ID);
+
+        mHelper.addSource(mMetadata);
+
+        verify(mAssistant).addSource(eq(mDevice), eq(mMetadata), anyBoolean());
+    }
+
+    @Test
+    public void removeSource_noDevice_doNothing() {
+        when(mAssistant.getAllConnectedDevices()).thenReturn(Collections.emptyList());
+        mHelper.removeSource(BROADCAST_ID_1);
+
+        verify(mAssistant, never()).removeSource(any(), anyInt());
+    }
+
+    @Test
+    public void removeSource_noConnectedSource_doNothing() {
+        List<BluetoothDevice> devices = new ArrayList<>();
+        devices.add(mDevice);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(devices);
+        BluetoothLeBroadcastReceiveState source = mock(BluetoothLeBroadcastReceiveState.class);
+        when(source.getBroadcastId()).thenReturn(BROADCAST_ID_2);
+        when(mDeviceManager.findDevice(any())).thenReturn(mCachedDevice);
+        when(mCachedDevice.getDevice()).thenReturn(mDevice);
+        when(mCachedDevice.getGroupId()).thenReturn(GROUP_ID);
+        when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of(source));
+
+        mHelper.removeSource(BROADCAST_ID_1);
+
+        verify(mAssistant, never()).removeSource(any(), anyInt());
+    }
+
+    @Test
+    public void removeSource_hasConnectedSource() {
+        List<BluetoothDevice> devices = new ArrayList<>();
+        devices.add(mDevice);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(devices);
+        BluetoothLeBroadcastReceiveState source = mock(BluetoothLeBroadcastReceiveState.class);
+        when(source.getBroadcastId()).thenReturn(BROADCAST_ID_2);
+        when(mDeviceManager.findDevice(any())).thenReturn(mCachedDevice);
+        when(mCachedDevice.getDevice()).thenReturn(mDevice);
+        when(mCachedDevice.getGroupId()).thenReturn(GROUP_ID);
+        when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of(source));
+        List<Long> bisSyncState = new ArrayList<>();
+        bisSyncState.add(1L);
+        when(source.getBisSyncState()).thenReturn(bisSyncState);
+
+        mHelper.removeSource(BROADCAST_ID_2);
+
+        verify(mAssistant).removeSource(eq(mDevice), anyInt());
+    }
+
+    @Test
+    public void removeSource_memberHasConnectedSource() {
+        List<BluetoothDevice> devices = new ArrayList<>();
+        var memberDevice = mock(BluetoothDevice.class);
+        devices.add(mDevice);
+        devices.add(memberDevice);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(devices);
+        BluetoothLeBroadcastReceiveState source = mock(BluetoothLeBroadcastReceiveState.class);
+        when(source.getBroadcastId()).thenReturn(BROADCAST_ID_2);
+        when(mDeviceManager.findDevice(any())).thenReturn(mCachedDevice);
+        when(mCachedDevice.getDevice()).thenReturn(mDevice);
+        var memberCachedDevice = mock(CachedBluetoothDevice.class);
+        when(memberCachedDevice.getDevice()).thenReturn(memberDevice);
+        when(mCachedDevice.getMemberDevice()).thenReturn(ImmutableSet.of(memberCachedDevice));
+        when(mCachedDevice.getGroupId()).thenReturn(GROUP_ID);
+        when(mAssistant.getAllSources(mDevice)).thenReturn(ImmutableList.of());
+        when(mAssistant.getAllSources(memberDevice)).thenReturn(ImmutableList.of(source));
+        List<Long> bisSyncState = new ArrayList<>();
+        bisSyncState.add(1L);
+        when(source.getBisSyncState()).thenReturn(bisSyncState);
+
+        mHelper.removeSource(BROADCAST_ID_2);
+
+        verify(mAssistant).removeSource(eq(memberDevice), anyInt());
+    }
+
+    @Test
+    public void getAllConnectedSources_noAssistant() {
+        when(mLocalBluetoothProfileManager.getLeAudioBroadcastAssistantProfile()).thenReturn(null);
+        mHelper = new AudioStreamsHelper(mLocalBluetoothManager);
+
+        assertThat(mHelper.getAllConnectedSources()).isEmpty();
+    }
+
+    @Test
+    public void getAllConnectedSources_returnSource() {
+        List<BluetoothDevice> devices = new ArrayList<>();
+        devices.add(mDevice);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(devices);
+        BluetoothLeBroadcastReceiveState source = mock(BluetoothLeBroadcastReceiveState.class);
+        when(mDeviceManager.findDevice(any())).thenReturn(mCachedDevice);
+        when(mCachedDevice.getDevice()).thenReturn(mDevice);
+        when(mCachedDevice.getGroupId()).thenReturn(GROUP_ID);
+        when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of(source));
+        List<Long> bisSyncState = new ArrayList<>();
+        bisSyncState.add(1L);
+        when(source.getBisSyncState()).thenReturn(bisSyncState);
+
+        var list = mHelper.getAllConnectedSources();
+        assertThat(list).isNotEmpty();
+        assertThat(list.get(0)).isEqualTo(source);
+    }
+
+    @Test
+    public void startMediaService_noDevice_doNothing() {
+        mHelper.startMediaService(mContext, BROADCAST_ID_1, BROADCAST_NAME);
+
+        verify(mContext, never()).startService(any());
+    }
+
+    @Test
+    public void startMediaService_hasDevice() {
+        List<BluetoothDevice> devices = new ArrayList<>();
+        devices.add(mDevice);
+        when(mAssistant.getAllConnectedDevices()).thenReturn(devices);
+        BluetoothLeBroadcastReceiveState source = mock(BluetoothLeBroadcastReceiveState.class);
+        when(mDeviceManager.findDevice(any())).thenReturn(mCachedDevice);
+        when(mCachedDevice.getDevice()).thenReturn(mDevice);
+        when(mCachedDevice.getGroupId()).thenReturn(GROUP_ID);
+        when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of(source));
+        List<Long> bisSyncState = new ArrayList<>();
+        bisSyncState.add(1L);
+        when(source.getBisSyncState()).thenReturn(bisSyncState);
+
+        mHelper.startMediaService(mContext, BROADCAST_ID_1, BROADCAST_NAME);
+
+        verify(mContext).startService(any());
+    }
+
+    @Test
+    public void configureAppBarByOrientation_landscape_shouldNotExpand() {
+        FragmentActivity fragmentActivity = mock(FragmentActivity.class);
+        // AppBarLayout requires a Theme.AppCompat.
+        mContext.setTheme(R.style.Theme_Settings_Home);
+        AppBarLayout appBarLayout = spy(new AppBarLayout(mContext));
+        setUpFragment(fragmentActivity, appBarLayout, ORIENTATION_LANDSCAPE);
+
+        AudioStreamsHelper.configureAppBarByOrientation(fragmentActivity);
+
+        verify(appBarLayout).setExpanded(eq(false));
+    }
+
+    @Test
+    public void configureAppBarByOrientation_portrait_shouldExpand() {
+        FragmentActivity fragmentActivity = mock(FragmentActivity.class);
+        // AppBarLayout requires a Theme.AppCompat.
+        mContext.setTheme(R.style.Theme_Settings_Home);
+        AppBarLayout appBarLayout = spy(new AppBarLayout(mContext));
+        setUpFragment(fragmentActivity, appBarLayout, ORIENTATION_PORTRAIT);
+
+        AudioStreamsHelper.configureAppBarByOrientation(fragmentActivity);
+
+        verify(appBarLayout).setExpanded(eq(true));
+    }
+
+    private void setUpFragment(
+            FragmentActivity fragmentActivity, AppBarLayout appBarLayout, int orientationPortrait) {
+        Resources resources = mock(Resources.class);
+        when(fragmentActivity.getResources()).thenReturn(resources);
+        Configuration configuration = new Configuration();
+        configuration.orientation = orientationPortrait;
+        when(resources.getConfiguration()).thenReturn(configuration);
+        when(fragmentActivity.findViewById(anyInt())).thenReturn(appBarLayout);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryCallbackTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryCallbackTest.java
new file mode 100644
index 0000000..164c2f0
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryCallbackTest.java
@@ -0,0 +1,140 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.audiosharing.audiostreams;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+public class AudioStreamsProgressCategoryCallbackTest {
+    @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    @Mock private AudioStreamsProgressCategoryController mController;
+    @Mock private BluetoothDevice mDevice;
+    @Mock private BluetoothLeBroadcastReceiveState mState;
+    @Mock private BluetoothLeBroadcastMetadata mMetadata;
+    private AudioStreamsProgressCategoryCallback mCallback;
+
+    @Before
+    public void setUp() {
+        mCallback = new AudioStreamsProgressCategoryCallback(mController);
+    }
+
+    @Test
+    public void testOnReceiveStateChanged_connected() {
+        List<Long> bisSyncState = new ArrayList<>();
+        bisSyncState.add(1L);
+        when(mState.getBisSyncState()).thenReturn(bisSyncState);
+        mCallback.onReceiveStateChanged(mDevice, /* sourceId= */ 0, mState);
+
+        verify(mController).handleSourceConnected(any());
+    }
+
+    @Test
+    public void testOnReceiveStateChanged_badCode() {
+        when(mState.getPaSyncState())
+                .thenReturn(BluetoothLeBroadcastReceiveState.PA_SYNC_STATE_SYNCHRONIZED);
+        when(mState.getBigEncryptionState())
+                .thenReturn(BluetoothLeBroadcastReceiveState.BIG_ENCRYPTION_STATE_BAD_CODE);
+        mCallback.onReceiveStateChanged(mDevice, /* sourceId= */ 0, mState);
+
+        verify(mController).handleSourceConnectBadCode(any());
+    }
+
+    @Test
+    public void testOnSearchStartFailed() {
+        mCallback.onSearchStartFailed(/* reason= */ 0);
+
+        verify(mController).showToast(anyString());
+        verify(mController).setScanning(anyBoolean());
+    }
+
+    @Test
+    public void testOnSearchStarted() {
+        mCallback.onSearchStarted(/* reason= */ 0);
+
+        verify(mController).setScanning(anyBoolean());
+    }
+
+    @Test
+    public void testOnSearchStopFailed() {
+        mCallback.onSearchStopFailed(/* reason= */ 0);
+
+        verify(mController).showToast(anyString());
+    }
+
+    @Test
+    public void testOnSearchStopped() {
+        mCallback.onSearchStopped(/* reason= */ 0);
+
+        verify(mController).setScanning(anyBoolean());
+    }
+
+    @Test
+    public void testOnSourceAddFailed() {
+        when(mMetadata.getBroadcastId()).thenReturn(1);
+        mCallback.onSourceAddFailed(mDevice, mMetadata, /* reason= */ 0);
+
+        verify(mController).handleSourceFailedToConnect(1);
+    }
+
+    @Test
+    public void testOnSourceFound() {
+        mCallback.onSourceFound(mMetadata);
+
+        verify(mController).handleSourceFound(mMetadata);
+    }
+
+    @Test
+    public void testOnSourceLost() {
+        mCallback.onSourceLost(/* broadcastId= */ 1);
+
+        verify(mController).handleSourceLost(1);
+    }
+
+    @Test
+    public void testOnSourceRemoveFailed() {
+        mCallback.onSourceRemoveFailed(mDevice, /* sourceId= */ 0, /* reason= */ 0);
+
+        verify(mController).showToast(anyString());
+    }
+
+    @Test
+    public void testOnSourceRemoved() {
+        mCallback.onSourceRemoved(mDevice, /* sourceId= */ 0, /* reason= */ 0);
+
+        verify(mController).handleSourceRemoved();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryControllerTest.java
new file mode 100644
index 0000000..fd1b649
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryControllerTest.java
@@ -0,0 +1,788 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.audiosharing.audiostreams;
+
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsProgressCategoryController.AudioStreamState.ADD_SOURCE_BAD_CODE;
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsProgressCategoryController.AudioStreamState.ADD_SOURCE_FAILED;
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsProgressCategoryController.AudioStreamState.ADD_SOURCE_WAIT_FOR_RESPONSE;
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsProgressCategoryController.AudioStreamState.SOURCE_ADDED;
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsProgressCategoryController.AudioStreamState.SYNCED;
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsProgressCategoryController.AudioStreamState.WAIT_FOR_SYNC;
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsProgressCategoryController.UNSET_BROADCAST_ID;
+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.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyString;
+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 static java.util.Collections.emptyList;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothLeAudioContentMetadata;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
+import android.bluetooth.BluetoothProfile;
+import android.content.Context;
+import android.os.Looper;
+import android.view.View;
+import android.widget.Button;
+import android.widget.TextView;
+
+import androidx.fragment.app.Fragment;
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.connecteddevice.audiosharing.audiostreams.testshadows.ShadowAudioStreamsHelper;
+import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
+import com.android.settings.testutils.shadow.ShadowThreadUtils;
+import com.android.settingslib.bluetooth.BluetoothEventManager;
+import com.android.settingslib.bluetooth.BluetoothLeBroadcastMetadataExt;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+import com.google.common.collect.ImmutableList;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowAlertDialog;
+import org.robolectric.shadows.androidx.fragment.FragmentController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+        shadows = {
+            ShadowBluetoothUtils.class,
+            ShadowAudioStreamsHelper.class,
+            ShadowThreadUtils.class,
+            ShadowAlertDialog.class,
+        })
+public class AudioStreamsProgressCategoryControllerTest {
+    @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    private static final String VALID_METADATA =
+            "BLUETOOTH:UUID:184F;BN:VGVzdA==;AT:1;AD:00A1A1A1A1A1;BI:1E240;BC:VGVzdENvZGU=;"
+                    + "MD:BgNwVGVzdA==;AS:1;PI:A0;NS:1;BS:3;NB:2;SM:BQNUZXN0BARlbmc=;;";
+    private static final String KEY = "audio_streams_nearby_category";
+    private static final int QR_CODE_BROADCAST_ID = 1;
+    private static final int ALREADY_CONNECTED_BROADCAST_ID = 2;
+    private static final int NEWLY_FOUND_BROADCAST_ID = 3;
+    private static final String BROADCAST_NAME_1 = "name_1";
+    private static final String BROADCAST_NAME_2 = "name_2";
+    private static final byte[] BROADCAST_CODE = new byte[] {1};
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    @Mock private LocalBluetoothManager mLocalBtManager;
+    @Mock private BluetoothEventManager mBluetoothEventManager;
+    @Mock private PreferenceScreen mScreen;
+    @Mock private AudioStreamsHelper mAudioStreamsHelper;
+    @Mock private LocalBluetoothLeBroadcastAssistant mLeBroadcastAssistant;
+    @Mock private BluetoothLeBroadcastMetadata mMetadata;
+    @Mock private CachedBluetoothDevice mDevice;
+    @Mock private AudioStreamsProgressCategoryPreference mPreference;
+    private Lifecycle mLifecycle;
+    private LifecycleOwner mLifecycleOwner;
+    private Fragment mFragment;
+    private TestController mController;
+
+    @Before
+    public void setUp() {
+        ShadowAudioStreamsHelper.setUseMock(mAudioStreamsHelper);
+        when(mAudioStreamsHelper.getLeBroadcastAssistant()).thenReturn(mLeBroadcastAssistant);
+        when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(emptyList());
+
+        ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBtManager;
+        when(mLocalBtManager.getEventManager()).thenReturn(mBluetoothEventManager);
+        when(mLeBroadcastAssistant.isSearchInProgress()).thenReturn(false);
+
+        when(mScreen.findPreference(anyString())).thenReturn(mPreference);
+
+        mLifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(mLifecycleOwner);
+
+        mFragment = new Fragment();
+        mController = spy(new TestController(mContext, KEY));
+    }
+
+    @After
+    public void tearDown() {
+        ShadowBluetoothUtils.reset();
+        ShadowAudioStreamsHelper.reset();
+    }
+
+    @Test
+    public void testGetAvailabilityStatus() {
+        int status = mController.getAvailabilityStatus();
+
+        assertThat(status).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    public void testDisplayPreference() {
+        mController.displayPreference(mScreen);
+
+        verify(mPreference).setVisible(true);
+    }
+
+    @Test
+    public void testSetScanning() {
+        mController.displayPreference(mScreen);
+        mController.setScanning(true);
+
+        verify(mPreference).setProgress(true);
+    }
+
+    @Test
+    public void testShowToast_noError() {
+        mController.showToast(BROADCAST_NAME_1);
+    }
+
+    @Test
+    public void testOnStop_unregister() {
+        mController.onStop(mLifecycleOwner);
+
+        verify(mBluetoothEventManager).unregisterCallback(any());
+    }
+
+    @Test
+    public void testGetFragment_returnFragment() {
+        mController.setFragment(mFragment);
+
+        assertThat(mController.getFragment()).isEqualTo(mFragment);
+    }
+
+    @Test
+    public void testOnStart_initNoDevice_showDialog() {
+        when(mLeBroadcastAssistant.isSearchInProgress()).thenReturn(true);
+
+        FragmentController.setupFragment(mFragment);
+        mController.setFragment(mFragment);
+        mController.displayPreference(mScreen);
+        mController.onStart(mLifecycleOwner);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        // Called twice, once in displayPreference, the other in init()
+        verify(mPreference, times(2)).setVisible(anyBoolean());
+        verify(mPreference).removeAudioStreamPreferences();
+        verify(mLeBroadcastAssistant).stopSearchingForSources();
+        verify(mLeBroadcastAssistant).unregisterServiceCallBack(any());
+
+        var dialog = ShadowAlertDialog.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
+        assertThat(dialog.isShowing()).isTrue();
+
+        TextView title = dialog.findViewById(R.id.dialog_title);
+        assertThat(title).isNotNull();
+        assertThat(title.getText())
+                .isEqualTo(mContext.getString(R.string.audio_streams_dialog_no_le_device_title));
+        TextView subtitle1 = dialog.findViewById(R.id.dialog_subtitle);
+        assertThat(subtitle1).isNotNull();
+        assertThat(subtitle1.getVisibility()).isEqualTo(View.GONE);
+        TextView subtitle2 = dialog.findViewById(R.id.dialog_subtitle_2);
+        assertThat(subtitle2).isNotNull();
+        assertThat(subtitle2.getText())
+                .isEqualTo(mContext.getString(R.string.audio_streams_dialog_no_le_device_subtitle));
+        View leftButton = dialog.findViewById(R.id.left_button);
+        assertThat(leftButton).isNotNull();
+        assertThat(leftButton.getVisibility()).isEqualTo(View.VISIBLE);
+        Button rightButton = dialog.findViewById(R.id.right_button);
+        assertThat(rightButton).isNotNull();
+        assertThat(rightButton.getText())
+                .isEqualTo(mContext.getString(R.string.audio_streams_dialog_no_le_device_button));
+        assertThat(rightButton.hasOnClickListeners()).isTrue();
+
+        dialog.cancel();
+    }
+
+    @Test
+    public void testBluetoothOff_triggerRunnable() {
+        mController.mBluetoothCallback.onBluetoothStateChanged(BluetoothAdapter.STATE_OFF);
+
+        verify(mController.mExecutor).execute(any());
+    }
+
+    @Test
+    public void testDeviceConnectionStateChanged_triggerRunnable() {
+        mController.mBluetoothCallback.onProfileConnectionStateChanged(
+                mDevice,
+                BluetoothAdapter.STATE_DISCONNECTED,
+                BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT);
+
+        verify(mController.mExecutor).execute(any());
+    }
+
+    @Test
+    public void testOnStart_initHasDevice_noPreference() {
+        // Setup a device
+        ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+        mController.onStart(mLifecycleOwner);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        verify(mLeBroadcastAssistant).registerServiceCallBack(any(), any());
+        verify(mLeBroadcastAssistant).startSearchingForSources(any());
+
+        var dialog = ShadowAlertDialog.getLatestAlertDialog();
+        assertThat(dialog).isNull();
+
+        verify(mController, never()).moveToState(any(), any());
+    }
+
+    @Test
+    public void testOnStart_initHasDevice_scanningInProgress() {
+        // Setup a device
+        ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+        when(mLeBroadcastAssistant.isSearchInProgress()).thenReturn(true);
+
+        mController.onStart(mLifecycleOwner);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        verify(mLeBroadcastAssistant).registerServiceCallBack(any(), any());
+        verify(mLeBroadcastAssistant).stopSearchingForSources();
+        verify(mLeBroadcastAssistant).startSearchingForSources(any());
+
+        var dialog = ShadowAlertDialog.getLatestAlertDialog();
+        assertThat(dialog).isNull();
+
+        verify(mController, never()).moveToState(any(), any());
+    }
+
+    @Test
+    public void testOnStart_handleSourceFromQrCode() {
+        // Setup a device
+        ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+        // Setup a source from qr code
+        mController.setSourceFromQrCode(mMetadata, SourceOriginForLogging.UNKNOWN);
+        when(mMetadata.getBroadcastId()).thenReturn(QR_CODE_BROADCAST_ID);
+
+        // Handle the source from qr code in onStart
+        mController.displayPreference(mScreen);
+        mController.onStart(mLifecycleOwner);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        // Verify the connected source is created and moved to WAIT_FOR_SYNC
+        ArgumentCaptor<AudioStreamPreference> preference =
+                ArgumentCaptor.forClass(AudioStreamPreference.class);
+        ArgumentCaptor<AudioStreamsProgressCategoryController.AudioStreamState> state =
+                ArgumentCaptor.forClass(
+                        AudioStreamsProgressCategoryController.AudioStreamState.class);
+
+        verify(mController).moveToState(preference.capture(), state.capture());
+        assertThat(preference.getValue()).isNotNull();
+        assertThat(preference.getValue().getAudioStreamBroadcastId())
+                .isEqualTo(QR_CODE_BROADCAST_ID);
+        assertThat(state.getValue()).isEqualTo(WAIT_FOR_SYNC);
+    }
+
+    @Test
+    public void testOnStart_handleSourceAlreadyConnected() {
+        // Setup a device
+        ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+        // Setup a connected source
+        BluetoothLeBroadcastReceiveState connected =
+                createConnectedMock(ALREADY_CONNECTED_BROADCAST_ID);
+        List<BluetoothLeBroadcastReceiveState> list = new ArrayList<>();
+        list.add(connected);
+        when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(list);
+
+        // Handle already connected source in onStart
+        mController.displayPreference(mScreen);
+        mController.onStart(mLifecycleOwner);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        ArgumentCaptor<AudioStreamPreference> preference =
+                ArgumentCaptor.forClass(AudioStreamPreference.class);
+        ArgumentCaptor<AudioStreamsProgressCategoryController.AudioStreamState> state =
+                ArgumentCaptor.forClass(
+                        AudioStreamsProgressCategoryController.AudioStreamState.class);
+
+        // Verify the connected source is created and moved to SOURCE_ADDED
+        verify(mController).moveToState(preference.capture(), state.capture());
+        assertThat(preference.getValue()).isNotNull();
+        assertThat(preference.getValue().getAudioStreamBroadcastId())
+                .isEqualTo(ALREADY_CONNECTED_BROADCAST_ID);
+        assertThat(state.getValue()).isEqualTo(SOURCE_ADDED);
+    }
+
+    @Test
+    public void testOnStart_sourceFromQrCodeNoId_sourceAlreadyConnected_sameName_updateId() {
+        // Setup a device
+        ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+        // Setup source from qr code with unset id and BROADCAST_NAME_1. Creating a real metadata
+        // for properly update its id.
+        var metadata =
+                BluetoothLeBroadcastMetadataExt.INSTANCE.convertToBroadcastMetadata(VALID_METADATA);
+        assertThat(metadata).isNotNull();
+        var metadataWithNoIdAndSameName =
+                new BluetoothLeBroadcastMetadata.Builder(metadata)
+                        .setBroadcastId(UNSET_BROADCAST_ID)
+                        .setBroadcastName(BROADCAST_NAME_1)
+                        .build();
+        mController.setSourceFromQrCode(
+                metadataWithNoIdAndSameName, SourceOriginForLogging.UNKNOWN);
+
+        // Setup a connected source with name BROADCAST_NAME_1 and id
+        BluetoothLeBroadcastReceiveState connected =
+                createConnectedMock(ALREADY_CONNECTED_BROADCAST_ID);
+        var data = mock(BluetoothLeAudioContentMetadata.class);
+        when(connected.getSubgroupMetadata()).thenReturn(ImmutableList.of(data));
+        when(data.getProgramInfo()).thenReturn(BROADCAST_NAME_1);
+        when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(ImmutableList.of(connected));
+
+        // Handle both source from qr code and already connected source in onStart
+        mController.displayPreference(mScreen);
+        mController.onStart(mLifecycleOwner);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        // Verify two preferences created, one moved to state WAIT_FOR_SYNC, one to SOURCE_ADDED.
+        // Both has ALREADY_CONNECTED_BROADCAST_ID as the UNSET_ID is updated to match.
+        ArgumentCaptor<AudioStreamPreference> preference =
+                ArgumentCaptor.forClass(AudioStreamPreference.class);
+        ArgumentCaptor<AudioStreamsProgressCategoryController.AudioStreamState> state =
+                ArgumentCaptor.forClass(
+                        AudioStreamsProgressCategoryController.AudioStreamState.class);
+        verify(mController, times(2)).moveToState(preference.capture(), state.capture());
+
+        List<AudioStreamPreference> preferences = preference.getAllValues();
+        assertThat(preferences.size()).isEqualTo(2);
+        List<AudioStreamsProgressCategoryController.AudioStreamState> states = state.getAllValues();
+        assertThat(states.size()).isEqualTo(2);
+
+        // The preference contains source from qr code
+        assertThat(preferences.get(0).getAudioStreamBroadcastId())
+                .isEqualTo(ALREADY_CONNECTED_BROADCAST_ID);
+        assertThat(states.get(0)).isEqualTo(WAIT_FOR_SYNC);
+
+        // The preference contains already connected source
+        assertThat(preferences.get(1).getAudioStreamBroadcastId())
+                .isEqualTo(ALREADY_CONNECTED_BROADCAST_ID);
+        assertThat(states.get(1)).isEqualTo(SOURCE_ADDED);
+    }
+
+    @Test
+    public void testHandleSourceFound_addNew() {
+        // Setup a device
+        ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+        when(mMetadata.getBroadcastId()).thenReturn(NEWLY_FOUND_BROADCAST_ID);
+        // A new source is found
+        mController.handleSourceFound(mMetadata);
+
+        // Verify a preference is created with state SYNCED.
+        ArgumentCaptor<AudioStreamPreference> preference =
+                ArgumentCaptor.forClass(AudioStreamPreference.class);
+        ArgumentCaptor<AudioStreamsProgressCategoryController.AudioStreamState> state =
+                ArgumentCaptor.forClass(
+                        AudioStreamsProgressCategoryController.AudioStreamState.class);
+
+        verify(mController).moveToState(preference.capture(), state.capture());
+        assertThat(preference.getValue()).isNotNull();
+        assertThat(preference.getValue().getAudioStreamBroadcastId())
+                .isEqualTo(NEWLY_FOUND_BROADCAST_ID);
+        assertThat(state.getValue()).isEqualTo(SYNCED);
+    }
+
+    @Test
+    public void testHandleSourceAddRequest_updateMetadataAndState() {
+        // Setup a device
+        ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+        var metadata =
+                BluetoothLeBroadcastMetadataExt.INSTANCE.convertToBroadcastMetadata(VALID_METADATA);
+        assertThat(metadata).isNotNull();
+        var metadataWithNoCode =
+                new BluetoothLeBroadcastMetadata.Builder(metadata)
+                        .setBroadcastId(NEWLY_FOUND_BROADCAST_ID)
+                        .setBroadcastName(BROADCAST_NAME_1)
+                        .build();
+        // A new source is found
+        mController.handleSourceFound(metadataWithNoCode);
+
+        ArgumentCaptor<AudioStreamPreference> preferenceCaptor =
+                ArgumentCaptor.forClass(AudioStreamPreference.class);
+        ArgumentCaptor<AudioStreamsProgressCategoryController.AudioStreamState> stateCaptor =
+                ArgumentCaptor.forClass(
+                        AudioStreamsProgressCategoryController.AudioStreamState.class);
+
+        // moving state to SYNCED
+        verify(mController).moveToState(preferenceCaptor.capture(), stateCaptor.capture());
+        var preference = preferenceCaptor.getValue();
+        var state = stateCaptor.getValue();
+
+        assertThat(preference).isNotNull();
+        assertThat(preference.getAudioStreamBroadcastId()).isEqualTo(NEWLY_FOUND_BROADCAST_ID);
+        assertThat(state).isEqualTo(SYNCED);
+
+        var updatedMetadata =
+                new BluetoothLeBroadcastMetadata.Builder(metadataWithNoCode)
+                        .setBroadcastCode(BROADCAST_CODE)
+                        .build();
+        mController.handleSourceAddRequest(preference, updatedMetadata);
+        // state updated to ADD_SOURCE_WAIT_FOR_RESPONSE
+        assertThat(preference.getAudioStreamBroadcastId()).isEqualTo(NEWLY_FOUND_BROADCAST_ID);
+        assertThat(preference.getAudioStreamMetadata().getBroadcastCode())
+                .isEqualTo(BROADCAST_CODE);
+        assertThat(preference.getAudioStreamState()).isEqualTo(ADD_SOURCE_WAIT_FOR_RESPONSE);
+    }
+
+    @Test
+    public void testHandleSourceFound_sameIdWithSourceFromQrCode_updateMetadataAndState() {
+        // Setup a device
+        ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+        // Setup source from qr code with QR_CODE_BROADCAST_ID, BROADCAST_NAME_1 and BROADCAST_CODE.
+        var metadata =
+                BluetoothLeBroadcastMetadataExt.INSTANCE.convertToBroadcastMetadata(VALID_METADATA);
+        assertThat(metadata).isNotNull();
+        var metadataFromQrCode =
+                new BluetoothLeBroadcastMetadata.Builder(metadata)
+                        .setBroadcastId(QR_CODE_BROADCAST_ID)
+                        .setBroadcastName(BROADCAST_NAME_1)
+                        .setBroadcastCode(BROADCAST_CODE)
+                        .build();
+        mController.setSourceFromQrCode(metadataFromQrCode, SourceOriginForLogging.UNKNOWN);
+
+        // Handle the source from qr code in onStart
+        mController.displayPreference(mScreen);
+        mController.onStart(mLifecycleOwner);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        // A new source is found
+        mController.handleSourceFound(
+                new BluetoothLeBroadcastMetadata.Builder(metadata)
+                        .setBroadcastId(QR_CODE_BROADCAST_ID)
+                        .setBroadcastName(BROADCAST_NAME_2)
+                        .build());
+        shadowOf(Looper.getMainLooper()).idle();
+
+        ArgumentCaptor<AudioStreamPreference> preference =
+                ArgumentCaptor.forClass(AudioStreamPreference.class);
+        ArgumentCaptor<AudioStreamsProgressCategoryController.AudioStreamState> state =
+                ArgumentCaptor.forClass(
+                        AudioStreamsProgressCategoryController.AudioStreamState.class);
+
+        verify(mController, times(2)).moveToState(preference.capture(), state.capture());
+        List<AudioStreamPreference> preferences = preference.getAllValues();
+        List<AudioStreamsProgressCategoryController.AudioStreamState> states = state.getAllValues();
+
+        // Verify the qr code source is created with WAIT_FOR_SYNC, broadcast name got updated to
+        // BROADCAST_NAME_2
+        var sourceFromQrCode = preferences.get(0);
+        assertThat(sourceFromQrCode.getAudioStreamBroadcastId()).isEqualTo(QR_CODE_BROADCAST_ID);
+        assertThat(sourceFromQrCode.getAudioStreamMetadata()).isNotNull();
+        assertThat(sourceFromQrCode.getAudioStreamMetadata().getBroadcastName())
+                .isEqualTo(BROADCAST_NAME_2);
+        assertThat(sourceFromQrCode.getAudioStreamMetadata().getBroadcastCode())
+                .isEqualTo(BROADCAST_CODE);
+        assertThat(states.get(0)).isEqualTo(WAIT_FOR_SYNC);
+
+        // Verify the newly found source is created, broadcast code is retrieved from the source
+        // from qr code, and state updated to ADD_SOURCE_WAIT_FOR_RESPONSE
+        var newlyFoundSource = preferences.get(1);
+        assertThat(newlyFoundSource.getAudioStreamBroadcastId()).isEqualTo(QR_CODE_BROADCAST_ID);
+        assertThat(newlyFoundSource.getAudioStreamMetadata()).isNotNull();
+        assertThat(newlyFoundSource.getAudioStreamMetadata().getBroadcastName())
+                .isEqualTo(BROADCAST_NAME_2);
+        assertThat(newlyFoundSource.getAudioStreamMetadata().getBroadcastCode())
+                .isEqualTo(BROADCAST_CODE);
+        assertThat(states.get(1)).isEqualTo(ADD_SOURCE_WAIT_FOR_RESPONSE);
+    }
+
+    @Test
+    public void testHandleSourceFound_sameIdWithOtherState_doNothing() {
+        // Setup a device
+        ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+        // Setup source already connected
+        BluetoothLeBroadcastReceiveState connected =
+                createConnectedMock(ALREADY_CONNECTED_BROADCAST_ID);
+        when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(ImmutableList.of(connected));
+
+        // Handle source already connected in onStart
+        mController.displayPreference(mScreen);
+        mController.onStart(mLifecycleOwner);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        // A new source found
+        when(mMetadata.getBroadcastId()).thenReturn(ALREADY_CONNECTED_BROADCAST_ID);
+        mController.handleSourceFound(mMetadata);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        // Verify only the connected source has created a preference, and its state remains as
+        // SOURCE_ADDED
+        ArgumentCaptor<AudioStreamPreference> preference =
+                ArgumentCaptor.forClass(AudioStreamPreference.class);
+        ArgumentCaptor<AudioStreamsProgressCategoryController.AudioStreamState> state =
+                ArgumentCaptor.forClass(
+                        AudioStreamsProgressCategoryController.AudioStreamState.class);
+
+        verify(mController).moveToState(preference.capture(), state.capture());
+        assertThat(preference.getValue()).isNotNull();
+        assertThat(preference.getValue().getAudioStreamBroadcastId())
+                .isEqualTo(ALREADY_CONNECTED_BROADCAST_ID);
+        assertThat(preference.getValue().getAudioStreamState()).isEqualTo(SOURCE_ADDED);
+    }
+
+    @Test
+    public void testHandleSourceLost_removed() {
+        // Setup a device
+        ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+        // Setup mPreference so it's not null
+        mController.displayPreference(mScreen);
+
+        // A new source found
+        when(mMetadata.getBroadcastId()).thenReturn(NEWLY_FOUND_BROADCAST_ID);
+        mController.handleSourceFound(mMetadata);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        // A new source found is lost
+        mController.handleSourceLost(NEWLY_FOUND_BROADCAST_ID);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        ArgumentCaptor<AudioStreamPreference> preferenceToAdd =
+                ArgumentCaptor.forClass(AudioStreamPreference.class);
+        ArgumentCaptor<AudioStreamPreference> preferenceToRemove =
+                ArgumentCaptor.forClass(AudioStreamPreference.class);
+        ArgumentCaptor<AudioStreamsProgressCategoryController.AudioStreamState> state =
+                ArgumentCaptor.forClass(
+                        AudioStreamsProgressCategoryController.AudioStreamState.class);
+
+        // Verify a new preference is created with state SYNCED.
+        verify(mController).moveToState(preferenceToAdd.capture(), state.capture());
+        assertThat(preferenceToAdd.getValue()).isNotNull();
+        assertThat(preferenceToAdd.getValue().getAudioStreamBroadcastId())
+                .isEqualTo(NEWLY_FOUND_BROADCAST_ID);
+        assertThat(state.getValue()).isEqualTo(SYNCED);
+
+        // Verify the preference with NEWLY_FOUND_BROADCAST_ID is removed.
+        verify(mPreference).removePreference(preferenceToRemove.capture());
+        assertThat(preferenceToRemove.getValue().getAudioStreamBroadcastId())
+                .isEqualTo(NEWLY_FOUND_BROADCAST_ID);
+    }
+
+    @Test
+    public void testHandleSourceLost_sourceConnected_doNothing() {
+        // Setup a device
+        ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+        // Setup mPreference so it's not null
+        mController.displayPreference(mScreen);
+
+        // A new source found
+        when(mMetadata.getBroadcastId()).thenReturn(NEWLY_FOUND_BROADCAST_ID);
+        mController.handleSourceFound(mMetadata);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        // A new source found is lost, but the source is still connected
+        BluetoothLeBroadcastReceiveState connected = createConnectedMock(NEWLY_FOUND_BROADCAST_ID);
+        when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(ImmutableList.of(connected));
+        mController.handleSourceLost(NEWLY_FOUND_BROADCAST_ID);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        ArgumentCaptor<AudioStreamPreference> preferenceToAdd =
+                ArgumentCaptor.forClass(AudioStreamPreference.class);
+        ArgumentCaptor<AudioStreamsProgressCategoryController.AudioStreamState> state =
+                ArgumentCaptor.forClass(
+                        AudioStreamsProgressCategoryController.AudioStreamState.class);
+
+        // Verify a new preference is created with state SYNCED.
+        verify(mController).moveToState(preferenceToAdd.capture(), state.capture());
+        assertThat(preferenceToAdd.getValue()).isNotNull();
+        assertThat(preferenceToAdd.getValue().getAudioStreamBroadcastId())
+                .isEqualTo(NEWLY_FOUND_BROADCAST_ID);
+        assertThat(state.getValue()).isEqualTo(SYNCED);
+
+        // No preference is removed.
+        verify(mPreference, never()).removePreference(any());
+    }
+
+    @Test
+    public void testHandleSourceRemoved_removed() {
+        // Setup a device
+        ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+        // Setup already connected source
+        BluetoothLeBroadcastReceiveState connected =
+                createConnectedMock(ALREADY_CONNECTED_BROADCAST_ID);
+        when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(ImmutableList.of(connected));
+
+        // Handle connected source in onStart
+        mController.displayPreference(mScreen);
+        mController.onStart(mLifecycleOwner);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        // The connect source is no longer connected
+        when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(emptyList());
+        mController.handleSourceRemoved();
+        shadowOf(Looper.getMainLooper()).idle();
+
+        ArgumentCaptor<AudioStreamPreference> preferenceToAdd =
+                ArgumentCaptor.forClass(AudioStreamPreference.class);
+        ArgumentCaptor<AudioStreamPreference> preferenceToRemove =
+                ArgumentCaptor.forClass(AudioStreamPreference.class);
+        ArgumentCaptor<AudioStreamsProgressCategoryController.AudioStreamState> state =
+                ArgumentCaptor.forClass(
+                        AudioStreamsProgressCategoryController.AudioStreamState.class);
+
+        // Verify a new preference is created with state SOURCE_ADDED.
+        verify(mController).moveToState(preferenceToAdd.capture(), state.capture());
+        assertThat(preferenceToAdd.getValue()).isNotNull();
+        assertThat(preferenceToAdd.getValue().getAudioStreamBroadcastId())
+                .isEqualTo(ALREADY_CONNECTED_BROADCAST_ID);
+        assertThat(state.getValue()).isEqualTo(SOURCE_ADDED);
+
+        // Verify the preference with ALREADY_CONNECTED_BROADCAST_ID is removed.
+        verify(mPreference).removePreference(preferenceToRemove.capture());
+        assertThat(preferenceToRemove.getValue().getAudioStreamBroadcastId())
+                .isEqualTo(ALREADY_CONNECTED_BROADCAST_ID);
+    }
+
+    @Test
+    public void testHandleSourceRemoved_updateState() {
+        // Setup a device
+        ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+        // Setup a connected source
+        BluetoothLeBroadcastReceiveState connected =
+                createConnectedMock(ALREADY_CONNECTED_BROADCAST_ID);
+        when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(ImmutableList.of(connected));
+
+        // Handle connected source in onStart
+        mController.displayPreference(mScreen);
+        mController.onStart(mLifecycleOwner);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        // The connected source is identified as having a bad code
+        BluetoothLeBroadcastReceiveState badCode = mock(BluetoothLeBroadcastReceiveState.class);
+        when(badCode.getBroadcastId()).thenReturn(ALREADY_CONNECTED_BROADCAST_ID);
+        when(badCode.getPaSyncState())
+                .thenReturn(BluetoothLeBroadcastReceiveState.PA_SYNC_STATE_SYNCHRONIZED);
+        when(badCode.getBigEncryptionState())
+                .thenReturn(BluetoothLeBroadcastReceiveState.BIG_ENCRYPTION_STATE_BAD_CODE);
+        mController.handleSourceConnectBadCode(badCode);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        ArgumentCaptor<AudioStreamPreference> preference =
+                ArgumentCaptor.forClass(AudioStreamPreference.class);
+        ArgumentCaptor<AudioStreamsProgressCategoryController.AudioStreamState> state =
+                ArgumentCaptor.forClass(
+                        AudioStreamsProgressCategoryController.AudioStreamState.class);
+
+        verify(mController, times(2)).moveToState(preference.capture(), state.capture());
+        List<AudioStreamPreference> preferences = preference.getAllValues();
+        assertThat(preferences.size()).isEqualTo(2);
+        List<AudioStreamsProgressCategoryController.AudioStreamState> states = state.getAllValues();
+        assertThat(states.size()).isEqualTo(2);
+
+        // Verify the connected source is created state SOURCE_ADDED
+        assertThat(preferences.get(0).getAudioStreamBroadcastId())
+                .isEqualTo(ALREADY_CONNECTED_BROADCAST_ID);
+        assertThat(states.get(0)).isEqualTo(SOURCE_ADDED);
+
+        // Verify the connected source is updated to state ADD_SOURCE_BAD_CODE
+        assertThat(preferences.get(1).getAudioStreamBroadcastId())
+                .isEqualTo(ALREADY_CONNECTED_BROADCAST_ID);
+        assertThat(states.get(1)).isEqualTo(ADD_SOURCE_BAD_CODE);
+    }
+
+    @Test
+    public void testHandleSourceFailedToConnect_updateState() {
+        // Setup a device
+        ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+        // Setup mPreference so it's not null
+        mController.displayPreference(mScreen);
+
+        // A new source found
+        when(mMetadata.getBroadcastId()).thenReturn(NEWLY_FOUND_BROADCAST_ID);
+        mController.handleSourceFound(mMetadata);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        // The new found source is identified as failed to connect
+        mController.handleSourceFailedToConnect(NEWLY_FOUND_BROADCAST_ID);
+        shadowOf(Looper.getMainLooper()).idle();
+
+        ArgumentCaptor<AudioStreamPreference> preference =
+                ArgumentCaptor.forClass(AudioStreamPreference.class);
+        ArgumentCaptor<AudioStreamsProgressCategoryController.AudioStreamState> state =
+                ArgumentCaptor.forClass(
+                        AudioStreamsProgressCategoryController.AudioStreamState.class);
+
+        verify(mController, times(2)).moveToState(preference.capture(), state.capture());
+        List<AudioStreamPreference> preferences = preference.getAllValues();
+        assertThat(preferences.size()).isEqualTo(2);
+        List<AudioStreamsProgressCategoryController.AudioStreamState> states = state.getAllValues();
+        assertThat(states.size()).isEqualTo(2);
+
+        // Verify one preference is created with SYNCED
+        assertThat(preferences.get(0).getAudioStreamBroadcastId())
+                .isEqualTo(NEWLY_FOUND_BROADCAST_ID);
+        assertThat(states.get(0)).isEqualTo(SYNCED);
+
+        // Verify the preference is updated to state ADD_SOURCE_FAILED
+        assertThat(preferences.get(1).getAudioStreamBroadcastId())
+                .isEqualTo(NEWLY_FOUND_BROADCAST_ID);
+        assertThat(states.get(1)).isEqualTo(ADD_SOURCE_FAILED);
+    }
+
+    private static BluetoothLeBroadcastReceiveState createConnectedMock(int id) {
+        var connected = mock(BluetoothLeBroadcastReceiveState.class);
+        List<Long> bisSyncState = new ArrayList<>();
+        bisSyncState.add(1L);
+        when(connected.getBroadcastId()).thenReturn(id);
+        when(connected.getBisSyncState()).thenReturn(bisSyncState);
+        return connected;
+    }
+
+    static class TestController extends AudioStreamsProgressCategoryController {
+        TestController(Context context, String preferenceKey) {
+            super(context, preferenceKey);
+            mExecutor = spy(mContext.getMainExecutor());
+        }
+
+        @Override
+        void moveToState(AudioStreamPreference preference, AudioStreamState state) {
+            preference.setAudioStreamState(state);
+            // Do nothing else to avoid side effect from AudioStreamStateHandler#performAction
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryPreferenceTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryPreferenceTest.java
index 337d64d..76bd5ec 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryPreferenceTest.java
@@ -53,6 +53,8 @@
 
     @Test
     public void addAudioStreamPreference_singlePreference() {
+        mPreference = spy(new AudioStreamsProgressCategoryPreference(mContext, null));
+        when(mPreference.getPreferenceManager()).thenReturn(mPreferenceManager);
         AudioStreamPreference first = new AudioStreamPreference(mContext, null);
         mPreference.addAudioStreamPreference(first, (p1, p2) -> 0);
 
@@ -62,6 +64,8 @@
 
     @Test
     public void addAudioStreamPreference_multiPreference_sorted() {
+        mPreference = spy(new AudioStreamsProgressCategoryPreference(mContext, null, 0));
+        when(mPreference.getPreferenceManager()).thenReturn(mPreferenceManager);
         Comparator<AudioStreamPreference> c =
                 Comparator.comparingInt(AudioStreamPreference::getOrder);
         AudioStreamPreference first = new AudioStreamPreference(mContext, null);
@@ -78,6 +82,8 @@
 
     @Test
     public void removeAudioStreamPreferences_shouldBeEmpty() {
+        mPreference = spy(new AudioStreamsProgressCategoryPreference(mContext, null, 0, 0));
+        when(mPreference.getPreferenceManager()).thenReturn(mPreferenceManager);
         Comparator<AudioStreamPreference> c =
                 Comparator.comparingInt(AudioStreamPreference::getOrder);
         AudioStreamPreference first = new AudioStreamPreference(mContext, null);
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsQrCodeFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsQrCodeFragmentTest.java
index 7d85b7a..06e4837 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsQrCodeFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsQrCodeFragmentTest.java
@@ -98,6 +98,22 @@
     }
 
     @Test
+    public void onCreateView_noProfile_noQrCode() {
+        when(mBtProfileManager.getLeAudioBroadcastProfile()).thenReturn(null);
+        FragmentController.setupFragment(
+                mFragment, FragmentActivity.class, /* containerViewId= */ 0, /* bundle= */ null);
+        View view = mFragment.getView();
+
+        assertThat(view).isNotNull();
+        ImageView qrCodeView = view.findViewById(R.id.qrcode_view);
+        TextView passwordView = view.requireViewById(R.id.password);
+        assertThat(qrCodeView).isNotNull();
+        assertThat(qrCodeView.getDrawable()).isNull();
+        assertThat(passwordView).isNotNull();
+        assertThat(passwordView.getText().toString()).isEqualTo("");
+    }
+
+    @Test
     public void onCreateView_noMetadata_noQrCode() {
         List<BluetoothLeBroadcastMetadata> list = new ArrayList<>();
         when(mBroadcast.getAllBroadcastMetadata()).thenReturn(list);
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsScanQrCodeControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsScanQrCodeControllerTest.java
index 4990f26..a83cbf0 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsScanQrCodeControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsScanQrCodeControllerTest.java
@@ -16,29 +16,38 @@
 
 package com.android.settings.connecteddevice.audiosharing.audiostreams;
 
+import static android.app.settings.SettingsEnums.AUDIO_STREAM_MAIN;
+
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsScanQrCodeController.REQUEST_SCAN_BT_BROADCAST_QR_CODE;
 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.ArgumentMatchers.anyString;
+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.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothProfile;
 import android.content.Context;
+import android.content.Intent;
 
 import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 import androidx.test.core.app.ApplicationProvider;
 
+import com.android.settings.R;
+import com.android.settings.SettingsActivity;
 import com.android.settings.connecteddevice.audiosharing.audiostreams.testshadows.ShadowAudioStreamsHelper;
 import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
 import com.android.settingslib.bluetooth.BluetoothEventManager;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.After;
@@ -46,6 +55,7 @@
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
@@ -139,17 +149,46 @@
     public void onPreferenceClick_hasFragment_launchSubSetting() {
         mController.displayPreference(mScreen);
         mController.setFragment(mFragment);
+        when(mFragment.getMetricsCategory()).thenReturn(AUDIO_STREAM_MAIN);
 
         var listener = mPreference.getOnPreferenceClickListener();
         assertThat(listener).isNotNull();
+
+        // mContext is not an Activity context, calling startActivity() from outside of an Activity
+        // context requires the FLAG_ACTIVITY_NEW_TASK flag, create a mock to avoid this
+        // AndroidRuntimeException.
+        Context activityContext = mock(Context.class);
+        when(mPreference.getContext()).thenReturn(activityContext);
+        when(mPreference.getKey()).thenReturn(AudioStreamsScanQrCodeController.KEY);
+
         var clicked = listener.onPreferenceClick(mPreference);
+
+        ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+        ArgumentCaptor<Integer> requestCodeCaptor = ArgumentCaptor.forClass(Integer.class);
+        verify(mFragment)
+                .startActivityForResult(intentCaptor.capture(), requestCodeCaptor.capture());
+
+        Intent intent = intentCaptor.getValue();
+        assertThat(intent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+                .isEqualTo(AudioStreamsQrCodeScanFragment.class.getName());
+        assertThat(intent.getIntExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RESID, 0))
+                .isEqualTo(R.string.audio_streams_main_page_scan_qr_code_title);
+        assertThat(intent.getIntExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY, 0))
+                .isEqualTo(AUDIO_STREAM_MAIN);
+
+        int requestCode = requestCodeCaptor.getValue();
+        assertThat(requestCode).isEqualTo(REQUEST_SCAN_BT_BROADCAST_QR_CODE);
+
         assertThat(clicked).isTrue();
     }
 
     @Test
     public void updateVisibility_noConnected_invisible() {
         mController.displayPreference(mScreen);
-        mController.mBluetoothCallback.onActiveDeviceChanged(mDevice, BluetoothProfile.LE_AUDIO);
+        mController.mBluetoothCallback.onProfileConnectionStateChanged(
+                mDevice,
+                BluetoothAdapter.STATE_DISCONNECTED,
+                BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT);
 
         assertThat(mPreference.isVisible()).isFalse();
     }
@@ -158,7 +197,10 @@
     public void updateVisibility_hasConnected_visible() {
         mController.displayPreference(mScreen);
         ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
-        mController.mBluetoothCallback.onActiveDeviceChanged(mDevice, BluetoothProfile.LE_AUDIO);
+        mController.mBluetoothCallback.onProfileConnectionStateChanged(
+                mDevice,
+                BluetoothAdapter.STATE_CONNECTED,
+                BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT);
 
         assertThat(mPreference.isVisible()).isTrue();
     }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/SourceAddedStateTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/SourceAddedStateTest.java
index 0f0bafe..59a42a1 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/SourceAddedStateTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/SourceAddedStateTest.java
@@ -16,31 +16,76 @@
 
 package com.android.settings.connecteddevice.audiosharing.audiostreams;
 
+import static android.app.settings.SettingsEnums.AUDIO_STREAM_MAIN;
+
 import static com.android.settings.connecteddevice.audiosharing.audiostreams.SourceAddedState.AUDIO_STREAM_SOURCE_ADDED_STATE_SUMMARY;
 
 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.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.settings.SettingsEnums;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+
+import androidx.fragment.app.FragmentActivity;
+import androidx.preference.Preference;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.SettingsActivity;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowFragment;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(
+        shadows = {
+            ShadowFragment.class,
+        })
 public class SourceAddedStateTest {
-
     @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    private static final int BROADCAST_ID = 1;
+    private static final String BROADCAST_TITLE = "title";
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    @Mock private AudioStreamPreference mPreference;
+    @Mock private AudioStreamsProgressCategoryController mController;
+    @Mock private AudioStreamsHelper mHelper;
+    @Mock private AudioStreamsRepository mRepository;
+    @Mock private AudioStreamsDashboardFragment mFragment;
+    @Mock private FragmentActivity mActivity;
+    private FakeFeatureFactory mFeatureFactory;
     private SourceAddedState mInstance;
 
     @Before
     public void setUp() {
-        mInstance = SourceAddedState.getInstance();
+        when(mFragment.getActivity()).thenReturn(mActivity);
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
+        mInstance = new SourceAddedState();
+        when(mPreference.getAudioStreamBroadcastId()).thenReturn(BROADCAST_ID);
+        when(mPreference.getTitle()).thenReturn(BROADCAST_TITLE);
     }
 
     @Test
     public void testGetInstance() {
+        mInstance = SourceAddedState.getInstance();
         assertThat(mInstance).isNotNull();
         assertThat(mInstance).isInstanceOf(SourceAddedState.class);
     }
@@ -58,4 +103,59 @@
         assertThat(stateEnum)
                 .isEqualTo(AudioStreamsProgressCategoryController.AudioStreamState.SOURCE_ADDED);
     }
+
+    @Test
+    public void testPerformAction() {
+        mInstance.setAudioStreamsRepositoryForTesting(mRepository);
+        BluetoothLeBroadcastMetadata mockMetadata = mock(BluetoothLeBroadcastMetadata.class);
+        when(mRepository.getCachedMetadata(anyInt())).thenReturn(mockMetadata);
+        when(mPreference.getContext()).thenReturn(mContext);
+        when(mPreference.getSourceOriginForLogging())
+                .thenReturn(SourceOriginForLogging.QR_CODE_SCAN_SETTINGS);
+
+        mInstance.performAction(mPreference, mController, mHelper);
+
+        verify(mRepository).saveMetadata(eq(mContext), eq(mockMetadata));
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        eq(mContext),
+                        eq(SettingsEnums.ACTION_AUDIO_STREAM_JOIN_SUCCEED),
+                        eq(SourceOriginForLogging.QR_CODE_SCAN_SETTINGS.ordinal()));
+        verify(mHelper).startMediaService(eq(mContext), eq(BROADCAST_ID), eq(BROADCAST_TITLE));
+    }
+
+    @Test
+    public void testGetOnClickListener_startSubSettings() {
+        when(mController.getFragment()).thenReturn(mFragment);
+        when(mFragment.getMetricsCategory()).thenReturn(AUDIO_STREAM_MAIN);
+
+        Preference.OnPreferenceClickListener listener = mInstance.getOnClickListener(mController);
+        assertThat(listener).isNotNull();
+
+        // mContext is not an Activity context, calling startActivity() from outside of an Activity
+        // context requires the FLAG_ACTIVITY_NEW_TASK flag, create a mock to avoid this
+        // AndroidRuntimeException.
+        Context activityContext = mock(Context.class);
+        when(mPreference.getContext()).thenReturn(activityContext);
+
+        listener.onPreferenceClick(mPreference);
+
+        ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
+        verify(activityContext).startActivity(argumentCaptor.capture());
+
+        Intent intent = argumentCaptor.getValue();
+        assertThat(intent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+                .isEqualTo(AudioStreamDetailsFragment.class.getName());
+        assertThat(intent.getIntExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RESID, 0))
+                .isEqualTo(R.string.audio_streams_detail_page_title);
+        assertThat(intent.getIntExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY, 0))
+                .isEqualTo(AUDIO_STREAM_MAIN);
+
+        Bundle bundle = intent.getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS);
+        assertThat(bundle).isNotNull();
+        assertThat(bundle.getString(AudioStreamDetailsFragment.BROADCAST_NAME_ARG))
+                .isEqualTo(BROADCAST_TITLE);
+        assertThat(bundle.getInt(AudioStreamDetailsFragment.BROADCAST_ID_ARG))
+                .isEqualTo(BROADCAST_ID);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/SyncedStateTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/SyncedStateTest.java
index e9eab50..2b19e20 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/SyncedStateTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/SyncedStateTest.java
@@ -20,7 +20,7 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.never;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 import static org.robolectric.shadows.ShadowLooper.shadowMainLooper;
@@ -28,10 +28,16 @@
 import android.app.AlertDialog;
 import android.bluetooth.BluetoothLeBroadcastMetadata;
 import android.content.Context;
+import android.content.DialogInterface;
+import android.widget.Button;
+import android.widget.TextView;
 
 import androidx.preference.Preference;
 import androidx.test.core.app.ApplicationProvider;
 
+import com.android.settings.R;
+import com.android.settingslib.bluetooth.BluetoothLeBroadcastMetadataExt;
+
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Rule;
@@ -42,7 +48,9 @@
 import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
+import org.robolectric.shadow.api.Shadow;
 import org.robolectric.shadows.ShadowAlertDialog;
+import org.robolectric.shadows.ShadowLooper;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(
@@ -51,6 +59,10 @@
         })
 public class SyncedStateTest {
     @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    private static final String ENCRYPTED_METADATA =
+            "BLUETOOTH:UUID:184F;BN:VGVzdA==;AT:1;AD:00A1A1A1A1A1;BI:1E240;BC:VGVzdENvZGU=;"
+                    + "MD:BgNwVGVzdA==;AS:1;PI:A0;NS:1;BS:3;NB:2;SM:BQNUZXN0BARlbmc=;;";
+    private static final String BROADCAST_TITLE = "title";
     @Mock private AudioStreamsProgressCategoryController mMockController;
     @Mock private AudioStreamPreference mMockPreference;
     @Mock private BluetoothLeBroadcastMetadata mMockMetadata;
@@ -105,18 +117,47 @@
 
     @Test
     public void testGetOnClickListener_isEncrypted_passwordDialogShowing() {
+        when(mMockPreference.getAudioStreamMetadata())
+                .thenReturn(
+                        BluetoothLeBroadcastMetadataExt.INSTANCE.convertToBroadcastMetadata(
+                                ENCRYPTED_METADATA));
+        when(mMockPreference.getContext()).thenReturn(mMockContext);
+        when(mMockPreference.getTitle()).thenReturn(BROADCAST_TITLE);
+
         Preference.OnPreferenceClickListener listener =
                 mInstance.getOnClickListener(mMockController);
-        when(mMockPreference.getAudioStreamMetadata()).thenReturn(mMockMetadata);
-        when(mMockPreference.getContext()).thenReturn(mMockContext);
-        when(mMockMetadata.isEncrypted()).thenReturn(true);
+        assertThat(listener).isNotNull();
 
         listener.onPreferenceClick(mMockPreference);
         shadowMainLooper().idle();
 
         AlertDialog dialog = ShadowAlertDialog.getLatestAlertDialog();
+
         assertThat(dialog).isNotNull();
         assertThat(dialog.isShowing()).isTrue();
-        verify(mMockController, never()).handleSourceAddRequest(mMockPreference, mMockMetadata);
+
+        Button neutralButton = dialog.getButton(DialogInterface.BUTTON_NEUTRAL);
+        assertThat(neutralButton).isNotNull();
+        assertThat(neutralButton.getText().toString())
+                .isEqualTo(mMockContext.getString(android.R.string.cancel));
+
+        Button positiveButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
+        assertThat(positiveButton).isNotNull();
+        assertThat(positiveButton.getText().toString())
+                .isEqualTo(
+                        mMockContext.getString(R.string.bluetooth_connect_access_dialog_positive));
+
+        positiveButton.callOnClick();
+        ShadowLooper.idleMainLooper();
+        verify(mMockController).handleSourceAddRequest(any(), any());
+
+        ShadowAlertDialog shadowDialog = Shadow.extract(dialog);
+        TextView title = shadowDialog.getView().findViewById(R.id.broadcast_name_text);
+        assertThat(title).isNotNull();
+        assertThat(title.getText().toString()).isEqualTo(BROADCAST_TITLE);
+        assertThat(shadowDialog.getTitle().toString())
+                .isEqualTo(mMockContext.getString(R.string.find_broadcast_password_dialog_title));
+
+        dialog.cancel();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/WaitForSyncStateTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/WaitForSyncStateTest.java
index 3eb07a4..813ed2b 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/WaitForSyncStateTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/WaitForSyncStateTest.java
@@ -16,22 +16,39 @@
 
 package com.android.settings.connecteddevice.audiosharing.audiostreams;
 
+import static android.app.settings.SettingsEnums.DIALOG_AUDIO_STREAM_MAIN_WAIT_FOR_SYNC_TIMEOUT;
+
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsScanQrCodeController.REQUEST_SCAN_BT_BROADCAST_QR_CODE;
 import static com.android.settings.connecteddevice.audiosharing.audiostreams.WaitForSyncState.AUDIO_STREAM_WAIT_FOR_SYNC_STATE_SUMMARY;
 import static com.android.settings.connecteddevice.audiosharing.audiostreams.WaitForSyncState.WAIT_FOR_SYNC_TIMEOUT_MILLIS;
 
 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.never;
+import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.app.settings.SettingsEnums;
 import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.content.Context;
+import android.content.Intent;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.SettingsActivity;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
@@ -43,19 +60,23 @@
 @RunWith(RobolectricTestRunner.class)
 public class WaitForSyncStateTest {
     @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    private final Context mContext = spy(ApplicationProvider.getApplicationContext());
     @Mock private AudioStreamPreference mMockPreference;
     @Mock private AudioStreamsProgressCategoryController mMockController;
     @Mock private AudioStreamsHelper mMockHelper;
     @Mock private BluetoothLeBroadcastMetadata mMockMetadata;
+    private FakeFeatureFactory mFeatureFactory;
     private WaitForSyncState mInstance;
 
     @Before
     public void setUp() {
-        mInstance = WaitForSyncState.getInstance();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
+        mInstance = new WaitForSyncState();
     }
 
     @Test
     public void testGetInstance() {
+        mInstance = WaitForSyncState.getInstance();
         assertThat(mInstance).isNotNull();
         assertThat(mInstance).isInstanceOf(AudioStreamStateHandler.class);
     }
@@ -93,12 +114,49 @@
                 .thenReturn(AudioStreamsProgressCategoryController.AudioStreamState.WAIT_FOR_SYNC);
         when(mMockPreference.getAudioStreamBroadcastId()).thenReturn(1);
         when(mMockPreference.getAudioStreamMetadata()).thenReturn(mMockMetadata);
+        when(mMockPreference.getContext()).thenReturn(mContext);
         when(mMockPreference.getSourceOriginForLogging())
-                .thenReturn(SourceOriginForLogging.UNKNOWN);
+                .thenReturn(SourceOriginForLogging.BROADCAST_SEARCH);
+        when(mMockController.getFragment()).thenReturn(mock(AudioStreamsDashboardFragment.class));
 
         mInstance.performAction(mMockPreference, mMockController, mMockHelper);
         ShadowLooper.idleMainLooper(WAIT_FOR_SYNC_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
 
         verify(mMockController).handleSourceLost(1);
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        eq(mContext),
+                        eq(SettingsEnums.ACTION_AUDIO_STREAM_JOIN_FAILED_WAIT_FOR_SYNC_TIMEOUT),
+                        eq(SourceOriginForLogging.BROADCAST_SEARCH.ordinal()));
+        verify(mContext).getString(R.string.audio_streams_dialog_stream_is_not_available);
+        verify(mContext).getString(R.string.audio_streams_is_not_playing);
+        verify(mContext).getString(R.string.audio_streams_dialog_close);
+        verify(mContext).getString(R.string.audio_streams_dialog_retry);
+    }
+
+    @Test
+    public void testLaunchQrCodeScanFragment() {
+        // mContext is not an Activity context, calling startActivity() from outside of an Activity
+        // context requires the FLAG_ACTIVITY_NEW_TASK flag, create a mock to avoid this
+        // AndroidRuntimeException.
+        Context activityContext = mock(Context.class);
+        AudioStreamsDashboardFragment fragment = mock(AudioStreamsDashboardFragment.class);
+        mInstance.launchQrCodeScanFragment(activityContext, fragment);
+
+        ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+        ArgumentCaptor<Integer> requestCodeCaptor = ArgumentCaptor.forClass(Integer.class);
+        verify(fragment)
+                .startActivityForResult(intentCaptor.capture(), requestCodeCaptor.capture());
+
+        Intent intent = intentCaptor.getValue();
+        assertThat(intent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+                .isEqualTo(AudioStreamsQrCodeScanFragment.class.getName());
+        assertThat(intent.getIntExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RESID, 0))
+                .isEqualTo(R.string.audio_streams_main_page_scan_qr_code_title);
+        assertThat(intent.getIntExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY, 0))
+                .isEqualTo(DIALOG_AUDIO_STREAM_MAIN_WAIT_FOR_SYNC_TIMEOUT);
+
+        int requestCode = requestCodeCaptor.getValue();
+        assertThat(requestCode).isEqualTo(REQUEST_SCAN_BT_BROADCAST_QR_CODE);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/testshadows/ShadowAudioStreamsHelper.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/testshadows/ShadowAudioStreamsHelper.java
index 3a0a6c4..051eda7 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/testshadows/ShadowAudioStreamsHelper.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/testshadows/ShadowAudioStreamsHelper.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.connecteddevice.audiosharing.audiostreams.testshadows;
 
+import android.bluetooth.BluetoothLeBroadcastMetadata;
 import android.bluetooth.BluetoothLeBroadcastReceiveState;
 
 import androidx.annotation.Nullable;
@@ -32,7 +33,7 @@
 import java.util.List;
 import java.util.Optional;
 
-@Implements(value = AudioStreamsHelper.class, callThroughByDefault = false)
+@Implements(value = AudioStreamsHelper.class, callThroughByDefault = true)
 public class ShadowAudioStreamsHelper {
     private static AudioStreamsHelper sMockHelper;
     @Nullable private static CachedBluetoothDevice sCachedBluetoothDevice;
@@ -69,4 +70,16 @@
     public LocalBluetoothLeBroadcastAssistant getLeBroadcastAssistant() {
         return sMockHelper.getLeBroadcastAssistant();
     }
+
+    /** Removes sources from LE broadcasts associated for all active sinks based on broadcast Id. */
+    @Implementation
+    public void removeSource(int broadcastId) {
+        sMockHelper.removeSource(broadcastId);
+    }
+
+    /** Adds the specified LE broadcast source to all active sinks. */
+    @Implementation
+    public void addSource(BluetoothLeBroadcastMetadata source) {
+        sMockHelper.addSource(source);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceGroupControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceGroupControllerTest.java
index 25e927b..2b140ea 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceGroupControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceGroupControllerTest.java
@@ -33,8 +33,6 @@
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.os.Looper;
-import android.platform.test.annotations.RequiresFlagsDisabled;
-import android.platform.test.annotations.RequiresFlagsEnabled;
 import android.platform.test.flag.junit.CheckFlagsRule;
 import android.platform.test.flag.junit.DeviceFlagsValueProvider;
 
@@ -45,7 +43,6 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.flags.Flags;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
 import com.android.settings.widget.GearPreference;
@@ -107,7 +104,6 @@
     }
 
     @Test
-    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_SUBSEQUENT_PAIR_SETTINGS_INTEGRATION)
     public void onStart_flagOn_registerCallback() {
         // register the callback in onStart()
         mFastPairDeviceGroupController.onStart(mLifecycleOwner);
@@ -120,7 +116,6 @@
     }
 
     @Test
-    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_SUBSEQUENT_PAIR_SETTINGS_INTEGRATION)
     public void onStop_flagOn_unregisterCallback() {
         // register broadcast first
         mContext.registerReceiver(
@@ -133,51 +128,6 @@
     }
 
     @Test
-    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_SUBSEQUENT_PAIR_SETTINGS_INTEGRATION)
-    public void onStart_flagOff_registerCallback() {
-        // register the callback in onStart()
-        mFastPairDeviceGroupController.onStart(mLifecycleOwner);
-        assertThat(mFastPairDeviceUpdater).isNull();
-        verify(mContext)
-                .registerReceiver(
-                        mFastPairDeviceGroupController.mReceiver,
-                        mFastPairDeviceGroupController.mIntentFilter,
-                        Context.RECEIVER_EXPORTED);
-    }
-
-    @Test
-    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_SUBSEQUENT_PAIR_SETTINGS_INTEGRATION)
-    public void onStop_flagOff_unregisterCallback() {
-        // register broadcast first
-        mContext.registerReceiver(
-                mFastPairDeviceGroupController.mReceiver, null, Context.RECEIVER_EXPORTED);
-
-        // unregister the callback in onStop()
-        mFastPairDeviceGroupController.onStop(mLifecycleOwner);
-        assertThat(mFastPairDeviceUpdater).isNull();
-        verify(mContext).unregisterReceiver(mFastPairDeviceGroupController.mReceiver);
-    }
-
-    @Test
-    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_SUBSEQUENT_PAIR_SETTINGS_INTEGRATION)
-    public void getAvailabilityStatus_noFastPairFeature_returnUnSupported() {
-        doReturn(true).when(mPackageManager).hasSystemFeature(PackageManager.FEATURE_BLUETOOTH);
-
-        assertThat(mFastPairDeviceGroupController.getAvailabilityStatus())
-                .isEqualTo(UNSUPPORTED_ON_DEVICE);
-    }
-
-    @Test
-    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_SUBSEQUENT_PAIR_SETTINGS_INTEGRATION)
-    public void getAvailabilityStatus_noBluetoothFastPairFeature_returnUnSupported() {
-        doReturn(false).when(mPackageManager).hasSystemFeature(PackageManager.FEATURE_BLUETOOTH);
-
-        assertThat(mFastPairDeviceGroupController.getAvailabilityStatus())
-                .isEqualTo(UNSUPPORTED_ON_DEVICE);
-    }
-
-    @Test
-    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_SUBSEQUENT_PAIR_SETTINGS_INTEGRATION)
     public void getAvailabilityStatus_noBluetoothFeature_returnUnSupported() {
         doReturn(false).when(mPackageManager).hasSystemFeature(PackageManager.FEATURE_BLUETOOTH);
 
@@ -186,7 +136,6 @@
     }
 
     @Test
-    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_SUBSEQUENT_PAIR_SETTINGS_INTEGRATION)
     public void getAvailabilityStatus_withBluetoothFastPairFeature_returnSupported() {
         doReturn(true).when(mPackageManager).hasSystemFeature(PackageManager.FEATURE_BLUETOOTH);
 
@@ -231,14 +180,6 @@
     }
 
     @Test
-    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_SUBSEQUENT_PAIR_SETTINGS_INTEGRATION)
-    public void displayPreference_notAvailable_doNothing() {
-        mFastPairDeviceGroupController.displayPreference(mScreen);
-        assertThat(mPreferenceGroup.isVisible()).isFalse();
-    }
-
-    @Test
-    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_SUBSEQUENT_PAIR_SETTINGS_INTEGRATION)
     public void displayPreference_isAvailable_fetchFastPairDevices() {
         doReturn(true).when(mPackageManager).hasSystemFeature(PackageManager.FEATURE_BLUETOOTH);
 
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/fastpair/FastPairDevicePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/fastpair/FastPairDevicePreferenceControllerTest.java
index be2ed56..8a84e23 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/fastpair/FastPairDevicePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/fastpair/FastPairDevicePreferenceControllerTest.java
@@ -32,8 +32,6 @@
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.os.Looper;
-import android.platform.test.annotations.RequiresFlagsDisabled;
-import android.platform.test.annotations.RequiresFlagsEnabled;
 import android.platform.test.flag.junit.CheckFlagsRule;
 import android.platform.test.flag.junit.DeviceFlagsValueProvider;
 
@@ -44,7 +42,6 @@
 import androidx.preference.PreferenceManager;
 
 import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.flags.Flags;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
 import com.android.settings.widget.GearPreference;
@@ -108,7 +105,6 @@
     }
 
     @Test
-    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_SUBSEQUENT_PAIR_SETTINGS_INTEGRATION)
     public void onStart_flagOn_registerCallback() {
         // register the callback in onStart()
         mFastPairDevicePrefController.onStart(mLifecycleOwner);
@@ -121,20 +117,6 @@
     }
 
     @Test
-    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_SUBSEQUENT_PAIR_SETTINGS_INTEGRATION)
-    public void onStart_flagOff_registerCallback() {
-        // register the callback in onStart()
-        mFastPairDevicePrefController.onStart(mLifecycleOwner);
-        assertThat(mFastPairDeviceUpdater).isNull();
-        verify(mContext)
-                .registerReceiver(
-                        mFastPairDevicePrefController.mReceiver,
-                        mFastPairDevicePrefController.mIntentFilter,
-                        Context.RECEIVER_EXPORTED_UNAUDITED);
-    }
-
-    @Test
-    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_SUBSEQUENT_PAIR_SETTINGS_INTEGRATION)
     public void onStop_flagOn_unregisterCallback() {
         // register broadcast first
         mContext.registerReceiver(
@@ -147,20 +129,6 @@
     }
 
     @Test
-    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_SUBSEQUENT_PAIR_SETTINGS_INTEGRATION)
-    public void onStop_flagOff_unregisterCallback() {
-        // register broadcast first
-        mContext.registerReceiver(
-                mFastPairDevicePrefController.mReceiver, null, Context.RECEIVER_EXPORTED_UNAUDITED);
-
-        // unregister the callback in onStop()
-        mFastPairDevicePrefController.onStop(mLifecycleOwner);
-        assertThat(mFastPairDeviceUpdater).isNull();
-        verify(mContext).unregisterReceiver(mFastPairDevicePrefController.mReceiver);
-    }
-
-    @Test
-    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_SUBSEQUENT_PAIR_SETTINGS_INTEGRATION)
     public void getAvailabilityStatus_noBluetoothFeature_returnUnsupported() {
         doReturn(false).when(mPackageManager).hasSystemFeature(PackageManager.FEATURE_BLUETOOTH);
 
@@ -169,25 +137,6 @@
     }
 
     @Test
-    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_SUBSEQUENT_PAIR_SETTINGS_INTEGRATION)
-    public void getAvailabilityStatus_noFastPairFeature_returnUnsupported() {
-        doReturn(true).when(mPackageManager).hasSystemFeature(PackageManager.FEATURE_BLUETOOTH);
-
-        assertThat(mFastPairDevicePrefController.getAvailabilityStatus())
-                .isEqualTo(UNSUPPORTED_ON_DEVICE);
-    }
-
-    @Test
-    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_SUBSEQUENT_PAIR_SETTINGS_INTEGRATION)
-    public void getAvailabilityStatus_noBluetoothFastPairFeature_returnUnsupported() {
-        doReturn(false).when(mPackageManager).hasSystemFeature(PackageManager.FEATURE_BLUETOOTH);
-
-        assertThat(mFastPairDevicePrefController.getAvailabilityStatus())
-                .isEqualTo(UNSUPPORTED_ON_DEVICE);
-    }
-
-    @Test
-    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_SUBSEQUENT_PAIR_SETTINGS_INTEGRATION)
     public void getAvailabilityStatus_bothBluetoothFastPairFeature_returnSupported() {
         doReturn(true).when(mPackageManager).hasSystemFeature(PackageManager.FEATURE_BLUETOOTH);
 
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusDevicesControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusDevicesControllerTest.java
index c1cbf17..40c3c84 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusDevicesControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusDevicesControllerTest.java
@@ -24,6 +24,7 @@
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.argThat;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.doNothing;
@@ -42,6 +43,7 @@
 import android.content.pm.PackageManager;
 import android.content.pm.UserInfo;
 import android.content.pm.UserProperties;
+import android.content.res.Resources;
 import android.graphics.drawable.Drawable;
 import android.os.Process;
 import android.os.UserHandle;
@@ -84,11 +86,16 @@
     @Rule
     public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
     private static final String NOTES_PACKAGE_NAME = "notes.package";
+    private static final ApplicationInfo DEFAULT_NOTES_APP = new ApplicationInfo();
     private static final CharSequence NOTES_APP_LABEL = "App Label";
+    private static final String NOTES_PACKAGE_NAME_WORK_PROFILE = "notes.package.work";
+    private static final ApplicationInfo DEFAULT_NOTES_APP_WORK_PROFILE = new ApplicationInfo();
+    private static final CharSequence NOTES_APP_LABEL_WORK_PROFILE = "Work Profile App Label";
     private static final int WORK_USER_ID = 1;
     private static final int PRIVATE_USER_ID = 2;
 
     private Context mContext;
+    private Resources mSpiedResources;
     private StylusDevicesController mController;
     private PreferenceCategory mPreferenceContainer;
     private PreferenceScreen mScreen;
@@ -124,8 +131,8 @@
         MockitoAnnotations.initMocks(this);
 
         mContext = spy(ApplicationProvider.getApplicationContext());
-        final var spiedResources = spy(mContext.getResources());
-        when(mContext.getResources()).thenReturn(spiedResources);
+        mSpiedResources = spy(mContext.getResources());
+        when(mContext.getResources()).thenReturn(mSpiedResources);
 
         PreferenceManager preferenceManager = new PreferenceManager(mContext);
         mScreen = preferenceManager.createPreferenceScreen(mContext);
@@ -145,11 +152,22 @@
 
         when(mRm.getRoleHoldersAsUser(eq(RoleManager.ROLE_NOTES), any(UserHandle.class)))
                 .thenReturn(Collections.singletonList(NOTES_PACKAGE_NAME));
+        when(mRm.getRoleHoldersAsUser(eq(RoleManager.ROLE_NOTES),
+                argThat(userHandle -> userHandle.getIdentifier() == WORK_USER_ID)))
+                .thenReturn(Collections.singletonList(NOTES_PACKAGE_NAME_WORK_PROFILE));
         when(mRm.isRoleAvailable(RoleManager.ROLE_NOTES)).thenReturn(true);
         when(mContext.getPackageManager()).thenReturn(mPm);
+
+        when(mPm.getApplicationInfo(eq(NOTES_PACKAGE_NAME_WORK_PROFILE),
+                any(PackageManager.ApplicationInfoFlags.class))).thenReturn(
+                        DEFAULT_NOTES_APP_WORK_PROFILE);
+        when(mPm.getApplicationLabel(eq(DEFAULT_NOTES_APP_WORK_PROFILE)))
+                .thenReturn(NOTES_APP_LABEL_WORK_PROFILE);
         when(mPm.getApplicationInfo(eq(NOTES_PACKAGE_NAME),
-                any(PackageManager.ApplicationInfoFlags.class))).thenReturn(new ApplicationInfo());
-        when(mPm.getApplicationLabel(any(ApplicationInfo.class))).thenReturn(NOTES_APP_LABEL);
+                any(PackageManager.ApplicationInfoFlags.class))).thenReturn(
+                        DEFAULT_NOTES_APP);
+        when(mPm.getApplicationLabel(eq(DEFAULT_NOTES_APP))).thenReturn(NOTES_APP_LABEL);
+
         when(mPm.getUserBadgeForDensityNoBackground(any(), anyInt())).thenReturn(mIcon);
         when(mUserManager.getUsers()).thenReturn(Arrays.asList(new UserInfo(0, "default", 0)));
         when(mUserManager.isManagedProfile(anyInt())).thenReturn(false);
@@ -164,8 +182,9 @@
         when(mInputDevice.hasKeys(KEYCODE_STYLUS_BUTTON_TAIL)).thenReturn(
                 new boolean[]{true});
 
-        when(spiedResources.getBoolean(
+        when(mSpiedResources.getBoolean(
                 com.android.internal.R.bool.config_enableStylusPointerIcon)).thenReturn(true);
+        setDefaultNotesForWorkProfileEnabled(true);
 
         mController = new StylusDevicesController(mContext, mInputDevice, null, mLifecycle);
     }
@@ -383,7 +402,25 @@
     }
 
     @Test
-    public void defaultNotesPreferenceClick_multiUserManagedProfile_showsProfileSelectorDialog() {
+    public void defaultNotesPreferenceClick_disabledForWorkProfile_sendsManageDefaultRoleIntent() {
+        setDefaultNotesForWorkProfileEnabled(false);
+        setUpMultiUserPropertiesForNotesRoleSettings();
+
+        showScreen(mController);
+        Preference defaultNotesPref = mPreferenceContainer.getPreference(0);
+        mController.onPreferenceClick(defaultNotesPref);
+        assertNull(mController.mDialog);
+    }
+
+    private void setDefaultNotesForWorkProfileEnabled(boolean value) {
+        when(mSpiedResources.getBoolean(
+                android.R.bool.config_enableDefaultNotesForWorkProfile))
+                .thenReturn(value);
+        // Recreate the controller so that the DefaultNotesForWorkProfileEnabled value is updated.
+        mController = new StylusDevicesController(mContext, mInputDevice, null, mLifecycle);
+    }
+
+    private void setUpMultiUserPropertiesForNotesRoleSettings() {
         mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         final String permissionPackageName = "permissions.package";
         final UserHandle currentUser = Process.myUserHandle();
@@ -409,54 +446,11 @@
         when(mUserManager.getUserProperties(UserHandle.of(WORK_USER_ID)))
                 .thenReturn(workUserProperties);
         when(mPm.getPermissionControllerPackageName()).thenReturn(permissionPackageName);
-
-        showScreen(mController);
-        Preference defaultNotesPref = mPreferenceContainer.getPreference(0);
-        mController.onPreferenceClick(defaultNotesPref);
-
-        assertTrue(mController.mDialog.isShowing());
     }
 
     @Test
-    public void defaultNotesPreferenceClick_multiUsers_showsProfileSelectorDialog() {
-        mSetFlagsRule.enableFlags(
-                android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE,
-                android.multiuser.Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES,
-                android.multiuser.Flags.FLAG_HANDLE_INTERLEAVED_SETTINGS_FOR_PRIVATE_SPACE);
-        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
-        final String permissionPackageName = "permissions.package";
-        final UserHandle currentUser = Process.myUserHandle();
-        List<UserInfo> userInfos = Arrays.asList(
-                mPersonalUserInfo,
-                mPrivateUserInfo,
-                mWorkUserInfo
-        );
-        UserProperties personalUserProperties =
-                new UserProperties.Builder()
-                        .setShowInQuietMode(UserProperties.SHOW_IN_QUIET_MODE_DEFAULT)
-                        .build();
-        UserProperties workUserProperties =
-                new UserProperties.Builder()
-                        .setShowInQuietMode(UserProperties.SHOW_IN_QUIET_MODE_PAUSED)
-                        .build();
-        UserProperties privateUserProperties =
-                new UserProperties.Builder()
-                        .setShowInQuietMode(UserProperties.SHOW_IN_QUIET_MODE_HIDDEN)
-                        .build();
-        when(mWorkUserInfo.isManagedProfile()).thenReturn(true);
-        when(mWorkUserInfo.getUserHandle()).thenReturn(UserHandle.of(WORK_USER_ID));
-        when(mPrivateUserInfo.isPrivateProfile()).thenReturn(true);
-        when(mPrivateUserInfo.getUserHandle()).thenReturn(UserHandle.of(PRIVATE_USER_ID));
-        when(mUserManager.getProfiles(currentUser.getIdentifier())).thenReturn(userInfos);
-        when(mUserManager.getUserInfo(currentUser.getIdentifier())).thenReturn(mPersonalUserInfo);
-        when(mUserManager.getUserInfo(WORK_USER_ID)).thenReturn(mWorkUserInfo);
-        when(mUserManager.getUserInfo(PRIVATE_USER_ID)).thenReturn(mPrivateUserInfo);
-        when(mUserManager.getUserProperties(currentUser)).thenReturn(personalUserProperties);
-        when(mUserManager.getUserProperties(UserHandle.of(PRIVATE_USER_ID)))
-                .thenReturn(privateUserProperties);
-        when(mUserManager.getUserProperties(UserHandle.of(WORK_USER_ID)))
-                .thenReturn(workUserProperties);
-        when(mPm.getPermissionControllerPackageName()).thenReturn(permissionPackageName);
+    public void defaultNotesPreferenceClick_multiUserManagedProfile_showsProfileSelectorDialog() {
+        setUpMultiUserPropertiesForNotesRoleSettings();
 
         showScreen(mController);
         Preference defaultNotesPref = mPreferenceContainer.getPreference(0);
@@ -512,6 +506,34 @@
     }
 
     @Test
+    public void defaultNotesPreference_workProfileDisabled_ignoresOldWorkProfilePreference() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Secure.DEFAULT_NOTE_TASK_PROFILE, WORK_USER_ID);
+        setDefaultNotesForWorkProfileEnabled(false);
+
+        showScreen(mController);
+
+        Preference defaultNotesPref = mPreferenceContainer.getPreference(0);
+        assertThat(defaultNotesPref.getTitle().toString()).isEqualTo(
+                mContext.getString(R.string.stylus_default_notes_app));
+        assertThat(defaultNotesPref.getSummary().toString()).isEqualTo(NOTES_APP_LABEL.toString());
+    }
+
+    @Test
+    public void defaultNotesPreference_workProfileChosen_showsWorkNotesRoleApp() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Secure.DEFAULT_NOTE_TASK_PROFILE, WORK_USER_ID);
+
+        showScreen(mController);
+
+        Preference defaultNotesPref = mPreferenceContainer.getPreference(0);
+        assertThat(defaultNotesPref.getTitle().toString()).isEqualTo(
+                mContext.getString(R.string.stylus_default_notes_app));
+        assertThat(defaultNotesPref.getSummary().toString()).isEqualTo(
+                NOTES_APP_LABEL_WORK_PROFILE.toString());
+    }
+
+    @Test
     public void handwritingPreference_checkedWhenFlagTrue() {
         Settings.Secure.putInt(mContext.getContentResolver(),
                 Settings.Secure.STYLUS_HANDWRITING_ENABLED, 1);
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusUsiHeaderControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusUsiHeaderControllerTest.java
index 3aad02e..4509c7c 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusUsiHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusUsiHeaderControllerTest.java
@@ -33,9 +33,9 @@
 
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
-import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
+import com.android.settings.SettingsActivity;
 import com.android.settingslib.widget.LayoutPreference;
 
 import org.junit.Before;
@@ -43,6 +43,7 @@
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
+import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 
 @RunWith(RobolectricTestRunner.class)
@@ -72,7 +73,7 @@
         when(mBatteryState.getCapacity()).thenReturn(1f);
         when(mBatteryState.isPresent()).thenReturn(true);
 
-        mContext = spy(ApplicationProvider.getApplicationContext());
+        mContext = spy(Robolectric.buildActivity(SettingsActivity.class).get());
         when(mContext.getSystemService(InputManager.class)).thenReturn(mInputManager);
         mController = new StylusUsiHeaderController(mContext, mInputDevice);
 
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 eea4f52..9427bbe 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java
@@ -35,6 +35,8 @@
 import android.hardware.usb.UsbManager;
 import android.net.TetheringManager;
 import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
 
 import androidx.fragment.app.FragmentActivity;
 import androidx.preference.PreferenceCategory;
@@ -48,6 +50,7 @@
 
 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;
@@ -82,6 +85,8 @@
     private FragmentActivity mActivity;
     @Mock
     private TetheringManager mTetheringManager;
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
 
     @Before
     public void setUp() {
@@ -349,6 +354,30 @@
         assertThat(mFragment.isUserAuthenticated()).isTrue();
     }
 
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_EXCLUDE_WEBCAM_AUTH_CHALLENGE)
+    public void onRadioButtonClicked_webcamNoAuthNeeded() {
+        mRadioButtonPreference.setKey(UsbBackend.usbFunctionsToString(UsbManager.FUNCTION_UVC));
+        doReturn(UsbManager.FUNCTION_MTP).when(mUsbBackend).getCurrentFunctions();
+        setAuthPassesAutomatically();
+
+        mDetailsFunctionsController.onRadioButtonClicked(mRadioButtonPreference);
+
+        assertThat(mFragment.isUserAuthenticated()).isFalse();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_EXCLUDE_WEBCAM_AUTH_CHALLENGE)
+    public void onRadioButtonClicked_MidiNoAuthNeeded() {
+        mRadioButtonPreference.setKey(UsbBackend.usbFunctionsToString(UsbManager.FUNCTION_MIDI));
+        doReturn(UsbManager.FUNCTION_MTP).when(mUsbBackend).getCurrentFunctions();
+        setAuthPassesAutomatically();
+
+        mDetailsFunctionsController.onRadioButtonClicked(mRadioButtonPreference);
+
+        assertThat(mFragment.isUserAuthenticated()).isFalse();
+    }
+
     private void setAuthPassesAutomatically() {
         Shadows.shadowOf(mContext.getSystemService(KeyguardManager.class))
                 .setIsKeyguardSecure(false);
diff --git a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java
index 0c8af12..6d2193c 100644
--- a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java
@@ -25,12 +25,19 @@
 import android.content.pm.ActivityInfo;
 import android.content.pm.PackageManager;
 import android.hardware.fingerprint.FingerprintManager;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
 import android.service.settings.suggestions.Suggestion;
 
+import androidx.fragment.app.Fragment;
+
+import com.android.settings.flags.Flags;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowSecureSettings;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -43,6 +50,9 @@
 @Config(shadows = ShadowSecureSettings.class)
 public class SuggestionFeatureProviderImplTest {
 
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
     @Mock
     private Context mContext;
     @Mock
@@ -94,4 +104,20 @@
         when(mActivityManager.isLowRamDevice()).thenReturn(false);
         assertThat(mProvider.isSuggestionEnabled(mContext)).isTrue();
     }
+
+    @DisableFlags(Flags.FLAG_UPDATED_SUGGESTION_CARD_AOSP)
+    @Test
+    public void getSuggestionFragment_withFlagDisabled_shouldReturnNull() {
+        Class<? extends Fragment> fragment = mProvider.getSuggestionFragment();
+
+        assertThat(fragment).isNull();
+    }
+
+    @EnableFlags(Flags.FLAG_UPDATED_SUGGESTION_CARD_AOSP)
+    @Test
+    public void getSuggestionFragment_withFlagEnabled_shouldReturnFragment() {
+        Class<? extends Fragment> fragment = mProvider.getSuggestionFragment();
+
+        assertThat(fragment).isEqualTo(SuggestionFragment.class);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/datetime/timezone/BaseTimeZoneAdapterTest.java b/tests/robotests/src/com/android/settings/datetime/timezone/BaseTimeZoneAdapterTest.java
index 4f23b60..77fafde 100644
--- a/tests/robotests/src/com/android/settings/datetime/timezone/BaseTimeZoneAdapterTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/timezone/BaseTimeZoneAdapterTest.java
@@ -22,39 +22,43 @@
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Locale;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
-import org.robolectric.RobolectricTestRunner;
 
 @RunWith(RobolectricTestRunner.class)
 public class BaseTimeZoneAdapterTest {
 
     @Test
     public void testFilter() throws InterruptedException {
-        TestItem US = new TestItem("United States");
-        TestItem HK = new TestItem("Hong Kong");
-        TestItem UK = new TestItem("United Kingdom", new String[] { "United Kingdom",
+        TestItem unitedStates = new TestItem("United States");
+        TestItem hongKong = new TestItem("Hong Kong");
+        TestItem unitedKingdom = new TestItem("United Kingdom", new String[]{"United Kingdom",
                 "Great Britain"});
-        TestItem secretCountry = new TestItem("no name", new String[] { "Secret"});
+        TestItem reunion = new TestItem("Réunion");
+        TestItem secretCountry = new TestItem("no name", new String[]{"Secret"});
         List<TestItem> items = new ArrayList<>();
-        items.add(US);
-        items.add(HK);
-        items.add(UK);
+        items.add(unitedStates);
+        items.add(hongKong);
+        items.add(unitedKingdom);
+        items.add(reunion);
         items.add(secretCountry);
 
         TestTimeZoneAdapter adapter = new TestTimeZoneAdapter(items);
         assertSearch(adapter, "", items.toArray(new TestItem[0]));
-        assertSearch(adapter, "Unit", US, UK);
-        assertSearch(adapter, "kon", HK);
-        assertSearch(adapter, "brit", UK);
+        assertSearch(adapter, "Unit", unitedStates, unitedKingdom);
+        assertSearch(adapter, "kon", hongKong);
+        assertSearch(adapter, "brit", unitedKingdom);
         assertSearch(adapter, "sec", secretCountry);
+        assertSearch(adapter, "reun", reunion); // no accent in search, accent in result
+        assertSearch(adapter, "Réunion", reunion); // accents in search and result
     }
 
-    private void assertSearch(TestTimeZoneAdapter adapter , String searchText, TestItem... items)
+    private void assertSearch(TestTimeZoneAdapter adapter, String searchText, TestItem... items)
             throws InterruptedException {
         Observer observer = new Observer(adapter);
         adapter.getFilter().filter(searchText);
@@ -89,7 +93,10 @@
     private static class TestTimeZoneAdapter extends BaseTimeZoneAdapter<TestItem> {
 
         private TestTimeZoneAdapter(List<TestItem> items) {
-            super(items, position -> {}, Locale.US, false /* showItemSummary */,
+            super(items,
+                    position -> {},
+                    Locale.US,
+                    false /* showItemSummary */,
                     null /* headerText */);
         }
     }
@@ -100,7 +107,7 @@
         private final String[] mSearchKeys;
 
         TestItem(String title) {
-            this(title, new String[] { title });
+            this(title, new String[]{title});
         }
 
         TestItem(String title, String[] searchKeys) {
diff --git a/tests/robotests/src/com/android/settings/development/DesktopModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/DesktopModePreferenceControllerTest.java
index 460f6f9..0fd4d85 100644
--- a/tests/robotests/src/com/android/settings/development/DesktopModePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/DesktopModePreferenceControllerTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2018 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,10 +16,11 @@
 
 package com.android.settings.development;
 
-import static android.provider.Settings.Global.DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS;
+import static android.provider.Settings.Global.DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES;
 
-import static com.android.settings.development.DesktopModePreferenceController.SETTING_VALUE_OFF;
-import static com.android.settings.development.DesktopModePreferenceController.SETTING_VALUE_ON;
+import static com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_ON;
+import static com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_OFF;
+import static com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_UNSET;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -30,6 +31,10 @@
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
+import android.content.res.Resources;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
 import android.provider.Settings;
 
 import androidx.fragment.app.FragmentActivity;
@@ -37,24 +42,30 @@
 import androidx.fragment.app.FragmentTransaction;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.internal.R;
+import com.android.window.flags.Flags;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowSystemProperties;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {
         com.android.settings.testutils.shadow.ShadowFragment.class,
 })
+@EnableFlags(Flags.FLAG_SHOW_DESKTOP_WINDOWING_DEV_OPTION)
 public class DesktopModePreferenceControllerTest {
 
-    private static final String ENG_BUILD_TYPE = "eng";
-    private static final String USER_BUILD_TYPE = "user";
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
 
     @Mock
     private SwitchPreference mPreference;
@@ -69,61 +80,76 @@
     @Mock
     private FragmentTransaction mTransaction;
 
+    private Resources mResources;
     private Context mContext;
     private DesktopModePreferenceController mController;
 
     @Before
     public void setup() {
         MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
+
+        mContext = spy(ApplicationProvider.getApplicationContext());
         doReturn(mTransaction).when(mFragmentManager).beginTransaction();
         doReturn(mFragmentManager).when(mActivity).getSupportFragmentManager();
         doReturn(mActivity).when(mFragment).getActivity();
+
+        mResources = spy(mContext.getResources());
+        when(mContext.getResources()).thenReturn(mResources);
+
         mController = new DesktopModePreferenceController(mContext, mFragment);
+
         when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
         mController.displayPreference(mScreen);
+
+        // Set desktop mode available
+        when(mResources.getBoolean(R.bool.config_isDesktopModeSupported))
+                .thenReturn(true);
+        ShadowSystemProperties.override("persist.wm.debug.desktop_mode_enforce_device_restrictions",
+                "false");
     }
 
     @Test
-    public void isAvailable_engBuild_shouldBeTrue() {
+    public void isAvailable_desktopModeDevOptionNotSupported_returnsFalse() {
         mController = spy(mController);
-        doReturn(ENG_BUILD_TYPE).when(mController).getBuildType();
+        // Dev option is not supported if Desktop mode is not supported
+        when(mResources.getBoolean(R.bool.config_isDesktopModeSupported)).thenReturn(false);
+        ShadowSystemProperties.override("persist.wm.debug.desktop_mode_enforce_device_restrictions",
+                "true");
+
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isAvailable_desktopModeDevOptionSupported_returnsTrue() {
+        mController = spy(mController);
 
         assertThat(mController.isAvailable()).isTrue();
     }
 
     @Test
-    public void isAvaiable_userBuild_shouldBeTrue() {
-        mController = spy(mController);
-        doReturn(USER_BUILD_TYPE).when(mController).getBuildType();
-
-        assertThat(mController.isAvailable()).isTrue();
-    }
-
-    @Test
-    public void onPreferenceChange_switchEnabled_shouldEnableDesktopMode() {
+    public void onPreferenceChange_switchEnabled_putsSettingsOverrideOnAndTriggersRestart() {
         mController.onPreferenceChange(mPreference, true /* new value */);
 
         final int mode = Settings.Global.getInt(mContext.getContentResolver(),
-                DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, -1 /* default */);
-        assertThat(mode).isEqualTo(SETTING_VALUE_ON);
-
+                DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, -1 /* default */);
+        assertThat(mode).isEqualTo(OVERRIDE_ON.getSetting());
         verify(mTransaction).add(any(RebootConfirmationDialogFragment.class), any());
     }
 
     @Test
-    public void onPreferenceChange_switchDisabled_shouldDisableDesktopMode() {
+    public void onPreferenceChange_switchDisabled_putsSettingsOverrideOffAndTriggersRestart() {
         mController.onPreferenceChange(mPreference, false /* new value */);
 
-        final int mode = Settings.Global.getInt(mContext.getContentResolver(),
-                DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, -1 /* default */);
-        assertThat(mode).isEqualTo(SETTING_VALUE_OFF);
+        int mode = Settings.Global.getInt(mContext.getContentResolver(),
+                DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, -1 /* default */);
+        assertThat(mode).isEqualTo(OVERRIDE_OFF.getSetting());
+        verify(mTransaction).add(any(RebootConfirmationDialogFragment.class), any());
     }
 
     @Test
-    public void updateState_settingEnabled_preferenceShouldBeChecked() {
+    public void updateState_overrideOn_checksPreference() {
         Settings.Global.putInt(mContext.getContentResolver(),
-                DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, SETTING_VALUE_ON);
+                DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, OVERRIDE_ON.getSetting());
 
         mController.updateState(mPreference);
 
@@ -131,9 +157,9 @@
     }
 
     @Test
-    public void updateState_settingDisabled_preferenceShouldNotBeChecked() {
+    public void updateState_overrideOff_unchecksPreference() {
         Settings.Global.putInt(mContext.getContentResolver(),
-                DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, SETTING_VALUE_OFF);
+                DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, OVERRIDE_OFF.getSetting());
 
         mController.updateState(mPreference);
 
@@ -141,12 +167,92 @@
     }
 
     @Test
-    public void onDeveloperOptionsSwitchDisabled_shouldDisablePreference() {
+    @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE)
+    public void updateState_overrideUnset_defaultDevOptionStatusOn_checksPreference() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, OVERRIDE_UNSET.getSetting());
+
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(true);
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE)
+    public void updateState_overrideUnset_defaultDevOptionStatusOff_unchecksPreference() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, OVERRIDE_UNSET.getSetting());
+
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(false);
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE)
+    public void updateState_noOverride_defaultDevOptionStatusOn_checksPreference() {
+        // Set no override
+        Settings.Global.putString(mContext.getContentResolver(),
+                DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, null);
+
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(true);
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE)
+    public void updateState_noOverride_defaultDevOptionStatusOff_unchecksPreference() {
+        // Set no override
+        Settings.Global.putString(mContext.getContentResolver(),
+                DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, null);
+
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(false);
+    }
+
+    @Test
+    public void updateState_noOverride_noNewSettingsOverride() {
+        // Set no override
+        Settings.Global.putString(mContext.getContentResolver(),
+                DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, null);
+
+        mController.updateState(mPreference);
+
+        int mode = Settings.Global.getInt(mContext.getContentResolver(),
+                DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, -2 /* default */);
+        assertThat(mode).isEqualTo(-2);
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE)
+    public void updateState_overrideUnknown_defaultDevOptionStatusOn_checksPreference() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, -2);
+
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(true);
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE)
+    public void updateState_overrideUnknown_defaultDevOptionStatusOff_unchecksPreference() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, -2);
+
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(false);
+    }
+
+    @Test
+    public void onDeveloperOptionsSwitchDisabled_putsSettingsOverrideOff() {
         mController.onDeveloperOptionsSwitchDisabled();
 
         final int mode = Settings.Global.getInt(mContext.getContentResolver(),
-                DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, -1 /* default */);
-        assertThat(mode).isEqualTo(SETTING_VALUE_OFF);
-        verify(mPreference).setEnabled(false);
+                DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, -2 /* default */);
+        assertThat(mode).isEqualTo(OVERRIDE_UNSET.getSetting());
     }
 }
diff --git a/tests/robotests/src/com/android/settings/development/DesktopModeSecondaryDisplayPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/DesktopModeSecondaryDisplayPreferenceControllerTest.java
new file mode 100644
index 0000000..3691d12
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/DesktopModeSecondaryDisplayPreferenceControllerTest.java
@@ -0,0 +1,175 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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_FREEFORM_WINDOWS_SUPPORT;
+import static android.provider.Settings.Global.DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS;
+
+import static com.android.settings.development.DesktopModeSecondaryDisplayPreferenceController.SETTING_VALUE_OFF;
+import static com.android.settings.development.DesktopModeSecondaryDisplayPreferenceController.SETTING_VALUE_ON;
+
+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.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.fragment.app.FragmentActivity;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
+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 org.robolectric.annotation.Config;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
+public class DesktopModeSecondaryDisplayPreferenceControllerTest {
+
+    private static final String ENG_BUILD_TYPE = "eng";
+    private static final String USER_BUILD_TYPE = "user";
+    private static final int SETTING_VALUE_INVALID = -1;
+
+    @Mock
+    private SwitchPreference mPreference;
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    private DevelopmentSettingsDashboardFragment mFragment;
+    @Mock
+    private FragmentActivity mActivity;
+    @Mock
+    private FragmentManager mFragmentManager;
+    @Mock
+    private FragmentTransaction mTransaction;
+
+    private Context mContext;
+    private DesktopModeSecondaryDisplayPreferenceController mController;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        doReturn(mTransaction).when(mFragmentManager).beginTransaction();
+        doReturn(mFragmentManager).when(mActivity).getSupportFragmentManager();
+        doReturn(mActivity).when(mFragment).getActivity();
+        mController = new DesktopModeSecondaryDisplayPreferenceController(mContext, mFragment);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
+        mController.displayPreference(mScreen);
+    }
+
+    @Test
+    public void isAvailable_engBuild_shouldBeTrue() {
+        mController = spy(mController);
+        doReturn(ENG_BUILD_TYPE).when(mController).getBuildType();
+
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void isAvailable_userBuild_shouldBeTrue() {
+        mController = spy(mController);
+        doReturn(USER_BUILD_TYPE).when(mController).getBuildType();
+
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void onPreferenceChange_switchEnabled_enablesDesktopModeOnSecondaryDisplay() {
+        mController.onPreferenceChange(mPreference, /* newValue= */ true);
+
+        final int mode = Settings.Global.getInt(mContext.getContentResolver(),
+                DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS,
+                /* def= */ SETTING_VALUE_INVALID);
+        assertThat(mode).isEqualTo(SETTING_VALUE_ON);
+
+        verify(mTransaction).add(any(RebootConfirmationDialogFragment.class), any());
+    }
+
+    @Test
+    public void onPreferenceChange_switchEnabled_enablesFreeformSupport() {
+        mController.onPreferenceChange(mPreference, /* newValue= */ true);
+
+        final int mode = Settings.Global.getInt(mContext.getContentResolver(),
+                DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT, /* def= */ SETTING_VALUE_INVALID);
+        assertThat(mode).isEqualTo(SETTING_VALUE_ON);
+    }
+
+    @Test
+    public void onPreferenceChange_switchDisabled_disablesDesktopModeOnSecondaryDisplay() {
+        mController.onPreferenceChange(mPreference, /* newValue= */ false);
+
+        final int mode = Settings.Global.getInt(mContext.getContentResolver(),
+                DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS,
+                /* def= */ SETTING_VALUE_INVALID);
+        assertThat(mode).isEqualTo(SETTING_VALUE_OFF);
+    }
+
+    @Test
+    public void onPreferenceChange_switchDisabled_disablesFreeformSupport() {
+        mController.onPreferenceChange(mPreference, /* newValue= */ false);
+
+        final int mode = Settings.Global.getInt(mContext.getContentResolver(),
+                DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT, /* def= */ SETTING_VALUE_INVALID);
+        assertThat(mode).isEqualTo(SETTING_VALUE_OFF);
+    }
+
+    @Test
+    public void updateState_settingEnabled_checksPreference() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, SETTING_VALUE_ON);
+
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(true);
+    }
+
+    @Test
+    public void updateState_settingDisabled_unchecksPreference() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, SETTING_VALUE_OFF);
+
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(false);
+    }
+
+    @Test
+    public void onDeveloperOptionsSwitchDisabled_disablesPreference() {
+        mController.onDeveloperOptionsSwitchDisabled();
+
+        final int mode = Settings.Global.getInt(mContext.getContentResolver(),
+                DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS,
+                /* def= */ SETTING_VALUE_INVALID);
+        assertThat(mode).isEqualTo(SETTING_VALUE_OFF);
+        verify(mPreference).setEnabled(false);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java
index 37a4aea..9f45edb 100644
--- a/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java
@@ -18,13 +18,21 @@
 
 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.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.Context;
+import android.hardware.biometrics.BiometricManager;
+import android.hardware.biometrics.Flags;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
 import android.provider.SearchIndexableResource;
 import android.provider.Settings;
 
@@ -42,6 +50,7 @@
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Ignore;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.MockitoAnnotations;
@@ -51,6 +60,7 @@
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
 import org.robolectric.shadow.api.Shadow;
+import org.robolectric.shadows.ShadowBiometricManager;
 import org.robolectric.shadows.androidx.fragment.FragmentController;
 import org.robolectric.util.ReflectionHelpers;
 
@@ -61,22 +71,34 @@
         ShadowAlertDialogCompat.class,
         ShadowUserManager.class,
         ShadowUserManager.class,
+        ShadowBiometricManager.class,
 })
 public class DevelopmentSettingsDashboardFragmentTest {
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
 
     private Context mContext;
     private ShadowUserManager mShadowUserManager;
+    private ShadowBiometricManager mShadowBiometricManager;
     private DevelopmentSettingsDashboardFragment mDashboard;
+    private SettingsMainSwitchBar mSwitchBar;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        SettingsMainSwitchBar switchBar = new SettingsMainSwitchBar(mContext);
+        mSwitchBar = new SettingsMainSwitchBar(mContext);
         mDashboard = spy(new DevelopmentSettingsDashboardFragment());
-        ReflectionHelpers.setField(mDashboard, "mSwitchBar", switchBar);
+        ReflectionHelpers.setField(mDashboard, "mSwitchBar", mSwitchBar);
         mShadowUserManager = Shadow.extract(mContext.getSystemService(Context.USER_SERVICE));
         mShadowUserManager.setIsAdminUser(true);
+        mShadowBiometricManager = Shadow.extract(mContext.getSystemService(
+                Context.BIOMETRIC_SERVICE));
+        mShadowBiometricManager.setCanAuthenticate(false);
+        //TODO(b/352603684): Should be Authenticators.MANDATORY_BIOMETRICS,
+        // but it is not supported by ShadowBiometricManager
+        mShadowBiometricManager.setAuthenticatorType(
+                BiometricManager.Authenticators.BIOMETRIC_STRONG);
     }
 
     @After
@@ -177,6 +199,41 @@
     }
 
     @Test
+    @Config(shadows = ShadowEnableDevelopmentSettingWarningDialog.class)
+    @EnableFlags(Flags.FLAG_MANDATORY_BIOMETRICS)
+    public void onSwitchChanged_turnOn_shouldLaunchBiometricPromptIfMandatoryBiometricsEffective() {
+        when(mDashboard.getContext()).thenReturn(mContext);
+        doNothing().when(mDashboard).startActivityForResult(any(),
+                eq(DevelopmentSettingsDashboardFragment.REQUEST_BIOMETRIC_PROMPT));
+
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0);
+        mShadowBiometricManager.setCanAuthenticate(true);
+        mDashboard.onCheckedChanged(null, true /* isChecked */);
+
+        assertThat(mSwitchBar.isChecked()).isFalse();
+        verify(mDashboard).startActivityForResult(any(),
+                eq(DevelopmentSettingsDashboardFragment.REQUEST_BIOMETRIC_PROMPT));
+        assertThat(ShadowEnableDevelopmentSettingWarningDialog.mShown).isFalse();
+    }
+
+    @Test
+    @Config(shadows = ShadowEnableDevelopmentSettingWarningDialog.class)
+    @EnableFlags(Flags.FLAG_MANDATORY_BIOMETRICS)
+    public void onActivityResult_requestBiometricPrompt_shouldShowWarningDialog() {
+        when(mDashboard.getContext()).thenReturn(mContext);
+
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0);
+        mDashboard.onActivityResult(DevelopmentSettingsDashboardFragment.REQUEST_BIOMETRIC_PROMPT,
+                Activity.RESULT_OK, null);
+        mDashboard.onCheckedChanged(null, true /* isChecked */);
+
+        assertThat(mSwitchBar.isChecked()).isTrue();
+        assertThat(ShadowEnableDevelopmentSettingWarningDialog.mShown).isTrue();
+    }
+
+    @Test
     @Ignore
     @Config(shadows = ShadowEnableDevelopmentSettingWarningDialog.class)
     public void onSwitchChanged_turnOff_shouldTurnOff() {
diff --git a/tests/robotests/src/com/android/settings/development/FreeformWindowsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/FreeformWindowsPreferenceControllerTest.java
index bd005b3..978380e 100644
--- a/tests/robotests/src/com/android/settings/development/FreeformWindowsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/FreeformWindowsPreferenceControllerTest.java
@@ -16,8 +16,9 @@
 
 package com.android.settings.development;
 
-import static com.android.settings.development.FreeformWindowsPreferenceController
-        .SETTING_VALUE_OFF;
+import static android.content.pm.PackageManager.FEATURE_FREEFORM_WINDOW_MANAGEMENT;
+
+import static com.android.settings.development.FreeformWindowsPreferenceController.SETTING_VALUE_OFF;
 import static com.android.settings.development.FreeformWindowsPreferenceController.SETTING_VALUE_ON;
 
 import static com.google.common.truth.Truth.assertThat;
@@ -29,6 +30,7 @@
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
+import android.content.pm.PackageManager;
 import android.provider.Settings;
 
 import androidx.fragment.app.FragmentActivity;
@@ -43,7 +45,6 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
@@ -52,9 +53,10 @@
 })
 public class FreeformWindowsPreferenceControllerTest {
 
-    private static final String ENG_BUILD_TYPE = "eng";
-    private static final String USER_BUILD_TYPE = "user";
-
+    @Mock
+    Context mContext;
+    @Mock
+    private PackageManager mPackageManager;
     @Mock
     private SwitchPreference mPreference;
     @Mock
@@ -68,33 +70,33 @@
     @Mock
     private FragmentTransaction mTransaction;
 
-    private Context mContext;
     private FreeformWindowsPreferenceController mController;
 
     @Before
     public void setup() {
         MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
         doReturn(mTransaction).when(mFragmentManager).beginTransaction();
         doReturn(mFragmentManager).when(mActivity).getSupportFragmentManager();
         doReturn(mActivity).when(mFragment).getActivity();
         mController = new FreeformWindowsPreferenceController(mContext, mFragment);
         when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
         mController.displayPreference(mScreen);
     }
 
     @Test
-    public void isAvailable_engBuild_shouldBeTrue() {
+    public void isAvailable_deviceHasFreeformWindowSystemFeature_returnsFalse() {
         mController = spy(mController);
-        doReturn(ENG_BUILD_TYPE).when(mController).getBuildType();
+        when(mPackageManager.hasSystemFeature(FEATURE_FREEFORM_WINDOW_MANAGEMENT)).thenReturn(true);
 
-        assertThat(mController.isAvailable()).isTrue();
+        assertThat(mController.isAvailable()).isFalse();
     }
 
     @Test
-    public void isAvailable_userBuild_shouldBeTrue() {
+    public void isAvailable_deviceDoesNotHaveFreeformWindowSystemFeature_returnsTrue() {
         mController = spy(mController);
-        doReturn(USER_BUILD_TYPE).when(mController).getBuildType();
+        when(mPackageManager.hasSystemFeature(FEATURE_FREEFORM_WINDOW_MANAGEMENT)).thenReturn(
+                false);
 
         assertThat(mController.isAvailable()).isTrue();
     }
diff --git a/tests/robotests/src/com/android/settings/development/RebootConfirmationDialogFragmentTest.java b/tests/robotests/src/com/android/settings/development/RebootConfirmationDialogFragmentTest.java
new file mode 100644
index 0000000..966f5ef
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/RebootConfirmationDialogFragmentTest.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 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.Mockito;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.shadows.androidx.fragment.FragmentController;
+
+@RunWith(RobolectricTestRunner.class)
+public class RebootConfirmationDialogFragmentTest {
+
+    private RebootConfirmationDialogFragment mFragment;
+
+    @Mock
+    RebootConfirmationDialogHost mRebootConfirmationDialogHost;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        RebootConfirmationDialogFragment dialogFragment =
+                FragmentController.setupFragment(
+                        new RebootConfirmationDialogFragment(
+                                R.string.reboot_dialog_override_desktop_mode,
+                                R.string.reboot_dialog_reboot_later,
+                                mRebootConfirmationDialogHost),
+                        FragmentActivity.class,
+                        0 /* containerViewId= */, null /* bundle= */);
+
+        mFragment = Mockito.spy(dialogFragment);
+    }
+
+    @Test
+    public void onPause_shouldDismissDialog() {
+        mFragment.onPause();
+
+        Mockito.verify(mFragment).dismiss();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/TouchpadVisualizerPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/TouchpadVisualizerPreferenceControllerTest.java
new file mode 100644
index 0000000..826bae9
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/TouchpadVisualizerPreferenceControllerTest.java
@@ -0,0 +1,121 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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.hardware.input.InputSettings;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import com.android.hardware.input.Flags;
+import com.android.settings.testutils.shadow.ShadowSystemSettings;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        ShadowSystemSettings.class,
+})
+public class TouchpadVisualizerPreferenceControllerTest {
+
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    private SwitchPreference mPreference;
+
+    private Context mContext;
+
+    private TouchpadVisualizerPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mController = new TouchpadVisualizerPreferenceController(mContext);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
+        mController.displayPreference(mScreen);
+    }
+
+    @Test
+    @EnableFlags({Flags.FLAG_TOUCHPAD_VISUALIZER})
+    public void updateState_touchpadVisualizerEnabled_shouldCheckedPreference() {
+        InputSettings.setTouchpadVisualizer(mContext, true);
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(true);
+    }
+
+    @Test
+    @EnableFlags({Flags.FLAG_TOUCHPAD_VISUALIZER})
+    public void updateState_touchpadVisualizerDisabled_shouldUncheckedPreference() {
+        InputSettings.setTouchpadVisualizer(mContext, false);
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(false);
+    }
+
+    @Test
+    @EnableFlags({Flags.FLAG_TOUCHPAD_VISUALIZER})
+    public void onPreferenceChange_preferenceChecked_shouldEnableTouchpadVisualizer() {
+        mController.onPreferenceChange(mPreference, true /* new value */);
+
+        final boolean touchpadVisualizer = InputSettings.useTouchpadVisualizer(mContext);
+
+        assertThat(touchpadVisualizer).isTrue();
+    }
+
+    @Test
+    @EnableFlags({Flags.FLAG_TOUCHPAD_VISUALIZER})
+    public void onPreferenceChange_preferenceUnchecked_shouldDisableTouchpadVisualizer() {
+        mController.onPreferenceChange(mPreference, false /* new value */);
+
+        final boolean touchpadVisualizer = InputSettings.useTouchpadVisualizer(mContext);
+
+        assertThat(touchpadVisualizer).isFalse();
+    }
+
+    @Test
+    @EnableFlags({Flags.FLAG_TOUCHPAD_VISUALIZER})
+    public void onDeveloperOptionsSwitchDisabled_preferenceShouldBeEnabled() {
+        mController.onDeveloperOptionsSwitchDisabled();
+
+        final boolean touchpadVisualizer = InputSettings.useTouchpadVisualizer(mContext);
+
+        assertThat(touchpadVisualizer).isFalse();
+        verify(mPreference).setEnabled(false);
+        verify(mPreference).setChecked(false);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/tare/OWNERS b/tests/robotests/src/com/android/settings/development/tare/OWNERS
deleted file mode 100644
index 46d25c8..0000000
--- a/tests/robotests/src/com/android/settings/development/tare/OWNERS
+++ /dev/null
@@ -1,3 +0,0 @@
-# Bug component: 330055
-
-include platform/frameworks/base:/apex/jobscheduler/service/java/com/android/server/tare/OWNERS
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/StorageItemPreferenceTest.java b/tests/robotests/src/com/android/settings/deviceinfo/StorageItemPreferenceTest.java
index 984d945..eba8e11 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/StorageItemPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/StorageItemPreferenceTest.java
@@ -15,8 +15,6 @@
  */
 package com.android.settings.deviceinfo;
 
-import static com.android.settings.utils.FileSizeFormatter.MEGABYTE_IN_BYTES;
-
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Context;
@@ -36,6 +34,7 @@
 @RunWith(RobolectricTestRunner.class)
 public class StorageItemPreferenceTest {
 
+    private static final long MEGABYTE_IN_BYTES = 1000_000;
     private Context mContext;
     private StorageItemPreference mPreference;
 
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceControllerTest.java
index 7c1650d2..952af67 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceControllerTest.java
@@ -31,10 +31,10 @@
 
 import androidx.test.core.app.ApplicationProvider;
 
+import com.android.settings.fuelgauge.BatteryUtils;
 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.robolectric.RobolectricTestRunner;
@@ -76,17 +76,17 @@
         assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
     }
 
-    @Ignore("b/315267179")
     @Test
     public void getSummary_available_returnExpectedDate() {
         when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable(eq(mContext),
                 anyLong())).thenReturn(true);
         mShadowBatteryManager.setLongProperty(BatteryManager.BATTERY_PROPERTY_FIRST_USAGE_DATE,
                 1669680000L);
+        final CharSequence expectedDate = BatteryUtils.getBatteryInfoFormattedDate(1669680000000L);
 
         final CharSequence result = mController.getSummary();
 
-        assertThat(result.toString()).isEqualTo("November 29, 2022");
+        assertThat(result).isEqualTo(expectedDate);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceControllerTest.java
index e50aa1c..6e3b1aa 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceControllerTest.java
@@ -31,10 +31,10 @@
 
 import androidx.test.core.app.ApplicationProvider;
 
+import com.android.settings.fuelgauge.BatteryUtils;
 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.robolectric.RobolectricTestRunner;
@@ -77,17 +77,17 @@
         assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
     }
 
-    @Ignore("b/315267179")
     @Test
     public void getSummary_available_returnExpectedDate() {
         when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable(eq(mContext),
                 anyLong())).thenReturn(true);
         mShadowBatteryManager.setLongProperty(BatteryManager.BATTERY_PROPERTY_MANUFACTURING_DATE,
                 1669680000L);
+        final CharSequence expectedDate = BatteryUtils.getBatteryInfoFormattedDate(1669680000000L);
 
         final CharSequence result = mController.getSummary();
 
-        assertThat(result.toString()).isEqualTo("November 29, 2022");
+        assertThat(result).isEqualTo(expectedDate);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/storage/NonCurrentUserControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/storage/NonCurrentUserControllerTest.java
index 61d3bed..34cc4fd 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/storage/NonCurrentUserControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/storage/NonCurrentUserControllerTest.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.deviceinfo.storage;
 
-import static com.android.settings.utils.FileSizeFormatter.MEGABYTE_IN_BYTES;
-
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.anyString;
@@ -61,6 +59,7 @@
 
     private static final String TEST_NAME = "Fred";
     private static final String TARGET_PREFERENCE_GROUP_KEY = "pref_secondary_users";
+    private static final long MEGABYTE_IN_BYTES = 1000_000;
     @Mock
     private UserManager mUserManager;
     @Mock
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 306d80c..a9e9eac 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
@@ -16,9 +16,6 @@
 package com.android.settings.deviceinfo.storage;
 
 import static com.android.settings.applications.manageapplications.ManageApplications.EXTRA_WORK_ID;
-import static com.android.settings.utils.FileSizeFormatter.GIGABYTE_IN_BYTES;
-import static com.android.settings.utils.FileSizeFormatter.KILOBYTE_IN_BYTES;
-import static com.android.settings.utils.FileSizeFormatter.MEGABYTE_IN_BYTES;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -74,6 +71,10 @@
 })
 public class StorageItemPreferenceControllerTest {
 
+    private static final long KILOBYTE_IN_BYTES = 1000;
+    private static final long MEGABYTE_IN_BYTES = KILOBYTE_IN_BYTES * 1000;
+    private static final long GIGABYTE_IN_BYTES = MEGABYTE_IN_BYTES * 1000;
+
     private Context mContext;
     private VolumeInfo mVolume;
     @Mock
diff --git a/tests/robotests/src/com/android/settings/display/darkmode/AutoDarkThemeTest.java b/tests/robotests/src/com/android/settings/display/darkmode/AutoDarkThemeTest.java
new file mode 100644
index 0000000..c8af4d4
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/display/darkmode/AutoDarkThemeTest.java
@@ -0,0 +1,207 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 static android.app.UiModeManager.MODE_ATTENTION_THEME_OVERLAY_NIGHT;
+import static android.app.UiModeManager.MODE_NIGHT_AUTO;
+import static android.app.UiModeManager.MODE_NIGHT_CUSTOM;
+import static android.app.UiModeManager.MODE_NIGHT_CUSTOM_TYPE_BEDTIME;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.when;
+
+import android.app.Flags;
+import android.app.UiModeManager;
+import android.content.Context;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.service.notification.ZenDeviceEffects;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.shadows.ShadowApplication;
+
+import java.time.LocalTime;
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+public class AutoDarkThemeTest {
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    private static final ZenDeviceEffects DEVICE_EFFECTS_WITH_DARK_THEME =
+            new ZenDeviceEffects.Builder().setShouldUseNightMode(true).build();
+
+    private static final ZenMode MODE_WITH_DARK_THEME = new TestModeBuilder()
+            .setName("Sechseläuten")
+            .setDeviceEffects(DEVICE_EFFECTS_WITH_DARK_THEME)
+            .build();
+
+    private Context mContext;
+    @Mock private UiModeManager mUiModeManager;
+    @Mock private ZenModesBackend mZenModesBackend;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = ApplicationProvider.getApplicationContext();
+
+        ShadowApplication shadowApp = ShadowApplication.getInstance();
+        shadowApp.setSystemService(Context.UI_MODE_SERVICE, mUiModeManager);
+
+        ZenModesBackend.setInstance(mZenModesBackend);
+        when(mZenModesBackend.getModes()).thenReturn(List.of());
+    }
+
+    @Test
+    public void getStatus_inactiveButAuto() {
+        when(mUiModeManager.getNightMode()).thenReturn(MODE_NIGHT_AUTO);
+        assertThat(getStatus(false)).isEqualTo("Will turn on automatically at sunset");
+    }
+
+    @Test
+    public void getStatus_activeDueToAuto() {
+        when(mUiModeManager.getNightMode()).thenReturn(MODE_NIGHT_AUTO);
+        assertThat(getStatus(true)).isEqualTo("Will turn off automatically at sunrise");
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_MODES_UI)
+    public void getStatus_inactiveButUsedInModes() {
+        when(mUiModeManager.getNightMode()).thenReturn(MODE_NIGHT_CUSTOM);
+        when(mZenModesBackend.getModes()).thenReturn(List.of(MODE_WITH_DARK_THEME));
+
+        assertThat(getStatus(false)).isEqualTo("Will turn on when Sechseläuten starts");
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_MODES_UI)
+    public void getStatus_activeDueToModes() {
+        when(mUiModeManager.getNightMode()).thenReturn(MODE_NIGHT_CUSTOM);
+        when(mUiModeManager.getAttentionModeThemeOverlay()).thenReturn(
+                MODE_ATTENTION_THEME_OVERLAY_NIGHT);
+        when(mZenModesBackend.getModes()).thenReturn(
+                List.of(new TestModeBuilder(MODE_WITH_DARK_THEME).setActive(true).build()));
+
+        assertThat(getStatus(true)).isEqualTo("Will turn off when Sechseläuten ends");
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_MODES_UI)
+    public void getStatus_inactiveButUsingBedtime() {
+        when(mUiModeManager.getNightMode()).thenReturn(MODE_NIGHT_CUSTOM);
+        when(mUiModeManager.getNightModeCustomType()).thenReturn(MODE_NIGHT_CUSTOM_TYPE_BEDTIME);
+
+        assertThat(getStatus(false)).isEqualTo("Will turn on automatically at bedtime");
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_MODES_UI)
+    public void getStatus_activeDueToBedtime() {
+        when(mUiModeManager.getNightMode()).thenReturn(MODE_NIGHT_CUSTOM);
+        when(mUiModeManager.getNightModeCustomType()).thenReturn(MODE_NIGHT_CUSTOM_TYPE_BEDTIME);
+
+        assertThat(getStatus(true)).isEqualTo("Will turn off automatically after bedtime");
+    }
+
+    @Test
+    public void getStatus_inactiveButHasSchedule() {
+        when(mUiModeManager.getNightMode()).thenReturn(MODE_NIGHT_CUSTOM);
+        when(mUiModeManager.getCustomNightModeStart()).thenReturn(LocalTime.of(22, 0, 0, 0));
+        when(mUiModeManager.getCustomNightModeEnd()).thenReturn(LocalTime.of(8, 0, 0, 0));
+
+        assertThat(getStatus(false)).isEqualTo("Will turn on automatically at 10:00 PM");
+    }
+
+    @Test
+    public void getStatus_activeDueToSchedule() {
+        when(mUiModeManager.getNightMode()).thenReturn(MODE_NIGHT_CUSTOM);
+        when(mUiModeManager.getCustomNightModeStart()).thenReturn(LocalTime.of(22, 0, 0, 0));
+        when(mUiModeManager.getCustomNightModeEnd()).thenReturn(LocalTime.of(8, 0, 0, 0));
+
+        assertThat(getStatus(true)).isEqualTo("Will turn off automatically at 8:00 AM");
+    }
+
+    private String getStatus(boolean active) {
+        return AutoDarkTheme.getStatus(mContext, active);
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_MODES_UI)
+    public void getModesThatChangeDarkTheme_returnsModeNames() {
+        ZenMode modeThatChanges1 = new TestModeBuilder()
+                .setName("Inactive")
+                .setDeviceEffects(DEVICE_EFFECTS_WITH_DARK_THEME)
+                .setActive(false)
+                .build();
+        ZenMode modeThatDoesNotChange = new TestModeBuilder()
+                .setName("Unrelated")
+                .build();
+        ZenMode modeThatChanges2 = new TestModeBuilder()
+                .setName("Active")
+                .setDeviceEffects(DEVICE_EFFECTS_WITH_DARK_THEME)
+                .setActive(true)
+                .build();
+        when(mZenModesBackend.getModes()).thenReturn(
+                List.of(modeThatChanges1, modeThatDoesNotChange, modeThatChanges2));
+
+        assertThat(AutoDarkTheme.getModesThatChangeDarkTheme(mContext))
+                .containsExactly("Inactive", "Active")
+                .inOrder();
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_MODES_UI)
+    public void getActiveModesThatChangeDarkTheme_returnsModeNames() {
+        ZenMode inactiveModeThatUsesDarkTheme = new TestModeBuilder()
+                .setName("Inactive")
+                .setDeviceEffects(DEVICE_EFFECTS_WITH_DARK_THEME)
+                .setActive(false)
+                .build();
+        ZenMode otherInactiveMode = new TestModeBuilder()
+                .setName("Unrelated, inactive")
+                .setActive(false)
+                .build();
+        ZenMode otherActiveMode = new TestModeBuilder()
+                .setName("Unrelated, active")
+                .setActive(true)
+                .build();
+        ZenMode activeModeThatUsesDarkTheme = new TestModeBuilder()
+                .setName("Active")
+                .setDeviceEffects(DEVICE_EFFECTS_WITH_DARK_THEME)
+                .setActive(true)
+                .build();
+        when(mZenModesBackend.getModes()).thenReturn(
+                List.of(inactiveModeThatUsesDarkTheme, otherInactiveMode, otherActiveMode,
+                        activeModeThatUsesDarkTheme));
+
+        assertThat(AutoDarkTheme.getActiveModesThatChangeDarkTheme(mContext))
+                .containsExactly("Active");
+    }
+}
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 56946c3..aa9bc35 100644
--- a/tests/robotests/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceControllerTest.java
@@ -22,23 +22,29 @@
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
 
+import android.app.Flags;
 import android.app.UiModeManager;
 import android.content.Context;
 import android.content.res.Configuration;
 import android.content.res.Resources;
 import android.os.PowerManager;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
 
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
 import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settingslib.notification.modes.ZenModesBackend;
 import com.android.settingslib.widget.MainSwitchPreference;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -47,6 +53,8 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
+import java.time.LocalTime;
+import java.util.List;
 import java.util.Locale;
 
 @RunWith(RobolectricTestRunner.class)
@@ -57,6 +65,9 @@
     private DarkModeActivationPreferenceController mController;
     private String mPreferenceKey = "key";
 
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
     private MainSwitchPreference mPreference;
     @Mock
     private PreferenceScreen mScreen;
@@ -67,7 +78,7 @@
     @Mock
     private PowerManager mPM;
     @Mock
-    private TimeFormatter mFormat;
+    private ZenModesBackend mZenModesBackend;
 
     private Context mContext;
     private Configuration mConfigNightYes = new Configuration();
@@ -87,7 +98,6 @@
         when(mContext.getSystemService(PowerManager.class)).thenReturn(mPM);
         when(mScreen.findPreference(anyString())).thenReturn(mPreference);
         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(
@@ -104,20 +114,23 @@
                 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");
-        when(mContext.getString(R.string.dark_ui_summary_on_auto_mode_custom, "10:00 AM"))
+        when(mContext.getString(eq(R.string.dark_ui_summary_on_auto_mode_custom), any()))
                 .thenReturn("summary_on_custom");
-        when(mContext.getString(R.string.dark_ui_summary_off_auto_mode_custom, "10:00 AM"))
+        when(mContext.getString(eq(R.string.dark_ui_summary_off_auto_mode_custom), any()))
                 .thenReturn("summary_off_custom");
         when(mContext.getString(R.string.dark_ui_summary_on_auto_mode_custom_bedtime))
                 .thenReturn("summary_on_custom_bedtime");
         when(mContext.getString(R.string.dark_ui_summary_off_auto_mode_custom_bedtime))
                 .thenReturn("summary_off_custom_bedtime");
-        mController = new DarkModeActivationPreferenceController(mContext, mPreferenceKey, mFormat);
+        mController = new DarkModeActivationPreferenceController(mContext, mPreferenceKey);
         mController.displayPreference(mScreen);
         mConfigNightNo.uiMode = Configuration.UI_MODE_NIGHT_NO;
         mConfigNightYes.uiMode = Configuration.UI_MODE_NIGHT_YES;
         mConfigNightNo.locale = mLocal;
         mConfigNightYes.locale = mLocal;
+
+        ZenModesBackend.setInstance(mZenModesBackend);
+        when(mZenModesBackend.getModes()).thenReturn(List.of());
     }
 
     @Test
@@ -145,6 +158,8 @@
     @Test
     public void nightMode_toggleButton_onCustom() {
         when(mService.getNightMode()).thenReturn(UiModeManager.MODE_NIGHT_CUSTOM);
+        when(mService.getCustomNightModeStart()).thenReturn(LocalTime.of(10, 0, 0, 0));
+        when(mService.getCustomNightModeEnd()).thenReturn(LocalTime.of(12, 0, 0, 0));
         when(mRes.getConfiguration()).thenReturn(mConfigNightYes);
 
         mController.updateState(mPreference);
@@ -156,6 +171,8 @@
     @Test
     public void nightMode_toggleButton_offCustom() {
         when(mService.getNightMode()).thenReturn(UiModeManager.MODE_NIGHT_CUSTOM);
+        when(mService.getCustomNightModeStart()).thenReturn(LocalTime.of(10, 0, 0, 0));
+        when(mService.getCustomNightModeEnd()).thenReturn(LocalTime.of(12, 0, 0, 0));
         when(mRes.getConfiguration()).thenReturn(mConfigNightNo);
 
         mController.updateState(mPreference);
@@ -165,6 +182,7 @@
     }
 
     @Test
+    @DisableFlags(Flags.FLAG_MODES_UI)
     public void nightMode_toggleButton_onCustomBedtime() {
         when(mService.getNightMode()).thenReturn(UiModeManager.MODE_NIGHT_CUSTOM);
         when(mService.getNightModeCustomType())
@@ -178,6 +196,7 @@
     }
 
     @Test
+    @DisableFlags(Flags.FLAG_MODES_UI)
     public void nightMode_toggleButton_offCustomBedtime() {
         when(mService.getNightMode()).thenReturn(UiModeManager.MODE_NIGHT_CUSTOM);
         when(mService.getNightModeCustomType())
diff --git a/tests/robotests/src/com/android/settings/display/darkmode/DarkModeCustomBedtimePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/darkmode/DarkModeCustomBedtimePreferenceControllerTest.java
deleted file mode 100644
index 85d6fab..0000000
--- a/tests/robotests/src/com/android/settings/display/darkmode/DarkModeCustomBedtimePreferenceControllerTest.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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 static android.app.UiModeManager.MODE_NIGHT_AUTO;
-import static android.app.UiModeManager.MODE_NIGHT_CUSTOM_TYPE_BEDTIME;
-import static android.app.UiModeManager.MODE_NIGHT_CUSTOM_TYPE_SCHEDULE;
-import static android.app.UiModeManager.MODE_NIGHT_NO;
-import static android.app.UiModeManager.MODE_NIGHT_YES;
-
-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.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;
-
-import android.app.UiModeManager;
-import android.content.Context;
-import android.content.res.Resources;
-
-import androidx.preference.PreferenceScreen;
-import androidx.test.core.app.ApplicationProvider;
-
-import com.android.settings.testutils.BedtimeSettingsUtils;
-import com.android.settings.testutils.FakeFeatureFactory;
-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;
-
-@RunWith(RobolectricTestRunner.class)
-public class DarkModeCustomBedtimePreferenceControllerTest {
-    @Mock
-    private UiModeManager mService;
-    @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    private Resources mResources;
-    @Mock
-    private FooterPreference mFooterPreference;
-
-    private DarkModeCustomBedtimePreferenceController mController;
-    private Context mContext;
-    private BedtimeSettingsUtils mBedtimeSettingsUtils;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        FakeFeatureFactory.setupForTest();
-
-        mContext = spy(ApplicationProvider.getApplicationContext());
-        mBedtimeSettingsUtils = new BedtimeSettingsUtils(mContext);
-
-        when(mContext.getSystemService(UiModeManager.class)).thenReturn(mService);
-
-        when(mContext.getResources()).thenReturn(mResources);
-        when(mResources.getString(com.android.internal.R.string.config_systemWellbeing))
-                .thenReturn("wellbeing");
-
-        when(mScreen.findPreference(anyString())).thenReturn(mFooterPreference);
-
-        mController = new DarkModeCustomBedtimePreferenceController(mContext, "key");
-    }
-
-    @Test
-    public void getAvailabilityStatus_bedtimeSettingsExist_shouldBeAvailableUnsearchable() {
-        mBedtimeSettingsUtils.installBedtimeSettings("wellbeing" /* wellbeingPackage */,
-                true /* enabled */);
-        when(mService.getNightModeCustomType()).thenReturn(MODE_NIGHT_CUSTOM_TYPE_BEDTIME);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
-    }
-
-    @Test
-    public void getAvailabilityStatus_bedtimeSettingsDisabled_shouldBeUnsupportedOnDevice() {
-        mBedtimeSettingsUtils.installBedtimeSettings("wellbeing" /* wellbeingPackage */,
-                false /* enabled */);
-        when(mService.getNightModeCustomType()).thenReturn(MODE_NIGHT_CUSTOM_TYPE_BEDTIME);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
-    }
-
-    @Test
-    public void nightModeCustomModeBedtime_bedtimeSettingsExist_shouldShowFooterPreference() {
-        mBedtimeSettingsUtils.installBedtimeSettings("wellbeing" /* wellbeingPackage */,
-                true /* enabled */);
-        when(mService.getNightModeCustomType()).thenReturn(MODE_NIGHT_CUSTOM_TYPE_BEDTIME);
-
-        mController.updateState(mFooterPreference);
-
-        verify(mFooterPreference).setVisible(eq(true));
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
-    }
-
-    @Test
-    public void nightModeCustomModeSchedule_bedtimeSettingsExist_shouldHideFooterPreference() {
-        mBedtimeSettingsUtils.installBedtimeSettings("wellbeing" /* wellbeingPackage */,
-                true /* enabled */);
-        when(mService.getNightModeCustomType()).thenReturn(MODE_NIGHT_CUSTOM_TYPE_SCHEDULE);
-
-        mController.updateState(mFooterPreference);
-
-        verify(mFooterPreference).setVisible(eq(false));
-    }
-
-    @Test
-    public void nightModeNo_bedtimeSettingsExist_shouldHideFooterPreference() {
-        mBedtimeSettingsUtils.installBedtimeSettings("wellbeing" /* wellbeingPackage */,
-                true /* enabled */);
-        when(mService.getNightMode()).thenReturn(MODE_NIGHT_NO);
-
-        mController.updateState(mFooterPreference);
-
-        verify(mFooterPreference).setVisible(eq(false));
-    }
-
-    @Test
-    public void nightModeYes_bedtimeSettingsExist_shouldHideFooterPreference() {
-        mBedtimeSettingsUtils.installBedtimeSettings("wellbeing" /* wellbeingPackage */,
-                true /* enabled */);
-        when(mService.getNightMode()).thenReturn(MODE_NIGHT_YES);
-
-        mController.updateState(mFooterPreference);
-
-        verify(mFooterPreference).setVisible(eq(false));
-    }
-
-    @Test
-    public void nightModeAuto_bedtimeSettingsExist_shouldHideFooterPreference() {
-        mBedtimeSettingsUtils.installBedtimeSettings("wellbeing" /* wellbeingPackage */,
-                true /* enabled */);
-        when(mService.getNightMode()).thenReturn(MODE_NIGHT_AUTO);
-
-        mController.updateState(mFooterPreference);
-
-        verify(mFooterPreference).setVisible(eq(false));
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/display/darkmode/DarkModeCustomModesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/darkmode/DarkModeCustomModesPreferenceControllerTest.java
new file mode 100644
index 0000000..297feeb
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/display/darkmode/DarkModeCustomModesPreferenceControllerTest.java
@@ -0,0 +1,248 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 static android.app.UiModeManager.MODE_NIGHT_AUTO;
+import static android.app.UiModeManager.MODE_NIGHT_CUSTOM_TYPE_BEDTIME;
+import static android.app.UiModeManager.MODE_NIGHT_CUSTOM_TYPE_SCHEDULE;
+import static android.app.UiModeManager.MODE_NIGHT_NO;
+import static android.app.UiModeManager.MODE_NIGHT_YES;
+
+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.ArgumentMatchers.any;
+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;
+
+import android.app.Flags;
+import android.app.UiModeManager;
+import android.content.Context;
+import android.content.res.Resources;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.service.notification.ZenDeviceEffects;
+
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.testutils.BedtimeSettingsUtils;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+import com.android.settingslib.widget.FooterPreference;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+public class DarkModeCustomModesPreferenceControllerTest {
+
+    private static final ZenMode MODE_WITH_DARK_THEME = new TestModeBuilder()
+            .setDeviceEffects(new ZenDeviceEffects.Builder().setShouldUseNightMode(true).build())
+            .build();
+
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    @Mock
+    private UiModeManager mService;
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    private FooterPreference mFooterPreference;
+    @Mock
+    private ZenModesBackend mZenModesBackend;
+
+    private DarkModeCustomModesPreferenceController mController;
+    private Context mContext;
+    private BedtimeSettingsUtils mBedtimeSettingsUtils;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        FakeFeatureFactory.setupForTest();
+
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mBedtimeSettingsUtils = new BedtimeSettingsUtils(mContext);
+
+        when(mContext.getSystemService(UiModeManager.class)).thenReturn(mService);
+        Resources res = spy(mContext.getResources());
+        when(res.getString(com.android.internal.R.string.config_systemWellbeing))
+                .thenReturn("wellbeing");
+        when(mContext.getResources()).thenReturn(res);
+
+        when(mScreen.findPreference(anyString())).thenReturn(mFooterPreference);
+
+        mController = new DarkModeCustomModesPreferenceController(mContext, "key");
+
+        ZenModesBackend.setInstance(mZenModesBackend);
+        when(mZenModesBackend.getModes()).thenReturn(List.of());
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_MODES_UI)
+    public void displayPreference_withOneModeTogglingDarkTheme() {
+        when(mZenModesBackend.getModes()).thenReturn(List.of(
+                new TestModeBuilder(MODE_WITH_DARK_THEME).setName("A").build()));
+
+        mController.displayPreference(mScreen);
+
+        verify(mFooterPreference).setTitle("A also activates dark theme");
+        verify(mFooterPreference).setLearnMoreAction(any());
+        verify(mFooterPreference).setLearnMoreText("Modes settings");
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_MODES_UI)
+    public void displayPreference_withTwoModesTogglingDarkTheme() {
+        when(mZenModesBackend.getModes()).thenReturn(List.of(
+                new TestModeBuilder(MODE_WITH_DARK_THEME).setName("A").build(),
+                new TestModeBuilder(MODE_WITH_DARK_THEME).setName("B").build()));
+
+        mController.displayPreference(mScreen);
+
+        verify(mFooterPreference).setTitle("A and B also activate dark theme");
+        verify(mFooterPreference).setLearnMoreAction(any());
+        verify(mFooterPreference).setLearnMoreText("Modes settings");
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_MODES_UI)
+    public void displayPreference_withManyModesTogglingDarkTheme() {
+        when(mZenModesBackend.getModes()).thenReturn(List.of(
+                new TestModeBuilder(MODE_WITH_DARK_THEME).setName("A").build(),
+                new TestModeBuilder(MODE_WITH_DARK_THEME).setName("B").build(),
+                new TestModeBuilder(MODE_WITH_DARK_THEME).setName("C").build(),
+                new TestModeBuilder(MODE_WITH_DARK_THEME).setName("D").build(),
+                new TestModeBuilder(MODE_WITH_DARK_THEME).setName("E").build()
+        ));
+
+        mController.displayPreference(mScreen);
+
+        verify(mFooterPreference).setTitle("A, B, and 3 more also activate dark theme");
+        verify(mFooterPreference).setLearnMoreAction(any());
+        verify(mFooterPreference).setLearnMoreText("Modes settings");
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_MODES_UI)
+    public void displayPreference_withZeroModesTogglingDarkTheme() {
+        when(mZenModesBackend.getModes()).thenReturn(List.of());
+
+        mController.displayPreference(mScreen);
+
+        verify(mFooterPreference).setTitle("Modes can also activate dark theme");
+        verify(mFooterPreference).setLearnMoreAction(any());
+        verify(mFooterPreference).setLearnMoreText("Modes settings");
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_MODES_UI)
+    public void getAvailabilityStatus_bedtimeSettingsExist_shouldBeAvailableUnsearchable() {
+        mBedtimeSettingsUtils.installBedtimeSettings("wellbeing" /* wellbeingPackage */,
+                true /* enabled */);
+        when(mService.getNightModeCustomType()).thenReturn(MODE_NIGHT_CUSTOM_TYPE_BEDTIME);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_MODES_UI)
+    public void getAvailabilityStatus_bedtimeSettingsDisabled_shouldBeUnsupportedOnDevice() {
+        mBedtimeSettingsUtils.installBedtimeSettings("wellbeing" /* wellbeingPackage */,
+                false /* enabled */);
+        when(mService.getNightModeCustomType()).thenReturn(MODE_NIGHT_CUSTOM_TYPE_BEDTIME);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_MODES_UI)
+    public void nightModeCustomModeBedtime_bedtimeSettingsExist_shouldShowFooterPreference() {
+        mBedtimeSettingsUtils.installBedtimeSettings("wellbeing" /* wellbeingPackage */,
+                true /* enabled */);
+        when(mService.getNightModeCustomType()).thenReturn(MODE_NIGHT_CUSTOM_TYPE_BEDTIME);
+
+        mController.updateState(mFooterPreference);
+
+        verify(mFooterPreference).setVisible(eq(true));
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_MODES_UI)
+    public void nightModeCustomModeSchedule_bedtimeSettingsExist_shouldHideFooterPreference() {
+        mBedtimeSettingsUtils.installBedtimeSettings("wellbeing" /* wellbeingPackage */,
+                true /* enabled */);
+        when(mService.getNightModeCustomType()).thenReturn(MODE_NIGHT_CUSTOM_TYPE_SCHEDULE);
+
+        mController.updateState(mFooterPreference);
+
+        verify(mFooterPreference).setVisible(eq(false));
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_MODES_UI)
+    public void nightModeNo_bedtimeSettingsExist_shouldHideFooterPreference() {
+        mBedtimeSettingsUtils.installBedtimeSettings("wellbeing" /* wellbeingPackage */,
+                true /* enabled */);
+        when(mService.getNightMode()).thenReturn(MODE_NIGHT_NO);
+
+        mController.updateState(mFooterPreference);
+
+        verify(mFooterPreference).setVisible(eq(false));
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_MODES_UI)
+    public void nightModeYes_bedtimeSettingsExist_shouldHideFooterPreference() {
+        mBedtimeSettingsUtils.installBedtimeSettings("wellbeing" /* wellbeingPackage */,
+                true /* enabled */);
+        when(mService.getNightMode()).thenReturn(MODE_NIGHT_YES);
+
+        mController.updateState(mFooterPreference);
+
+        verify(mFooterPreference).setVisible(eq(false));
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_MODES_UI)
+    public void nightModeAuto_bedtimeSettingsExist_shouldHideFooterPreference() {
+        mBedtimeSettingsUtils.installBedtimeSettings("wellbeing" /* wellbeingPackage */,
+                true /* enabled */);
+        when(mService.getNightMode()).thenReturn(MODE_NIGHT_AUTO);
+
+        mController.updateState(mFooterPreference);
+
+        verify(mFooterPreference).setVisible(eq(false));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
index 80739e9..1bc00a1 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
@@ -441,4 +441,9 @@
         TimeUnit.SECONDS.sleep(1);
         verifyNoInteractions(mMetricsFeatureProvider);
     }
+
+    @Test
+    public void shouldSkipForInitialSUW_returnTrue() {
+        assertThat(mFragment.shouldSkipForInitialSUW()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java
index b949a3e..fdb075d 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java
@@ -389,6 +389,28 @@
         verify(mBatteryUsageProgressBarPref).setBottomSummary(expectedChargingString);
     }
 
+    @Test
+    public void updateBatteryStatus_dockDefend_chargingOnHold() {
+        var expected = "Charging on hold";
+        mBatteryInfo.isBatteryDefender = false;
+        when(mFactory.powerUsageFeatureProvider.isExtraDefend()).thenReturn(true);
+
+        mController.updateBatteryStatus(/* label= */ null, mBatteryInfo);
+
+        verify(mBatteryUsageProgressBarPref).setBottomSummary(expected);
+    }
+
+    @Test
+    public void updateBatteryStatus_batteryDefender_chargingOnHold() {
+        var expected = "Charging on hold";
+        mBatteryInfo.isBatteryDefender = true;
+        when(mFactory.powerUsageFeatureProvider.isExtraDefend()).thenReturn(false);
+
+        mController.updateBatteryStatus(/* label= */ null, mBatteryInfo);
+
+        verify(mBatteryUsageProgressBarPref).setBottomSummary(expected);
+    }
+
     private BatteryInfo arrangeUpdateBatteryStatusTestWithRemainingLabel(
             String remainingLabel,
             String statusLabel,
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java
index 7bafc6d..8d6cc08 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java
@@ -48,6 +48,7 @@
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.widget.UsageView;
 import com.android.settingslib.fuelgauge.Estimate;
+import com.android.settingslib.utils.PowerUtil;
 
 import org.junit.After;
 import org.junit.Before;
@@ -74,7 +75,8 @@
     private static final String STATUS_CHARGING_TIME = "50% - 0 min left until full";
     private static final String STATUS_NOT_CHARGING = "Not charging";
     private static final String STATUS_CHARGING_FUTURE_BYPASS = "50% - Charging";
-    private static final String STATUS_CHARGING_PAUSED = "50% - Charging optimized";
+    private static final String STATUS_CHARGING_PAUSED =
+            "50% - Charging on hold to protect battery";
     private static final long REMAINING_TIME_NULL = -1;
     private static final long REMAINING_TIME = 2;
     // Strings are defined in frameworks/base/packages/SettingsLib/res/values/strings.xml
@@ -93,7 +95,8 @@
             Map.of(
                     ChargingType.WIRED, BatteryManager.BATTERY_PLUGGED_AC,
                     ChargingType.WIRELESS, BatteryManager.BATTERY_PLUGGED_WIRELESS,
-                    ChargingType.DOCKED, BatteryManager.BATTERY_PLUGGED_DOCK);
+                    ChargingType.DOCKED, BatteryManager.BATTERY_PLUGGED_DOCK,
+                    ChargingType.NONE, 0);
     private static final Map<ChargingSpeed, Integer> CHARGING_SPEED_MAP =
             Map.of(
                     ChargingSpeed.FAST, 1501000,
@@ -789,6 +792,126 @@
                 expectedChargeLabel);
     }
 
+    @Test
+    public void getBatteryInfo_longlife_shouldSetLonglife() {
+        var batteryIntent = createIntentForLongLifeTest(/* hasLongLife= */ true);
+
+        var batteryInfo =
+                BatteryInfo.getBatteryInfo(
+                        mContext,
+                        batteryIntent,
+                        mBatteryUsageStats,
+                        /* estimate= */ MOCK_ESTIMATE,
+                        /* elapsedRealtimeUs= */ 0L,
+                        /* shortString= */ false,
+                        /* currentTimeMs= */ 0L);
+
+        assertThat(batteryInfo.isLongLife).isTrue();
+    }
+
+    @Test
+    public void getBatteryInfo_noLonglife_shouldNotLonglife() {
+        var batteryIntent = createIntentForLongLifeTest(/* hasLongLife= */ false);
+
+        var batteryInfo =
+                BatteryInfo.getBatteryInfo(
+                        mContext,
+                        batteryIntent,
+                        mBatteryUsageStats,
+                        /* estimate= */ MOCK_ESTIMATE,
+                        /* elapsedRealtimeUs= */ 0L,
+                        /* shortString= */ false,
+                        /* currentTimeMs= */ 0L);
+
+        assertThat(batteryInfo.isLongLife).isFalse();
+    }
+
+    @Test
+    public void getBatteryInfo_plugTypeNoneWithLonglifeAndChargeOptimization_chargingString() {
+        prepareTestGetBatteryInfoEnvironment(
+                /* remainingTimeMs= */ Duration.ofMinutes(130).toMillis(),
+                /* chargingStringV2Enabled= */ false);
+        Intent batteryIntent =
+                createIntentForGetBatteryInfoTest(
+                        ChargingType.NONE,
+                        ChargingSpeed.REGULAR,
+                        /* batteryLevel= */ 85,
+                        BatteryManager.BATTERY_STATUS_DISCHARGING,
+                        /* isLonglife= */ true);
+        var expectedRemainingLabel = "Expected remaining label";
+        var expectedChargeLabel = "85% - " + expectedRemainingLabel;
+        when(mFeatureFactory.batterySettingsFeatureProvider.isChargingOptimizationMode(mContext))
+                .thenReturn(true);
+        when(mFeatureFactory.batterySettingsFeatureProvider.getChargingOptimizationRemainingLabel(
+                        eq(mContext), anyInt(), anyInt(), anyLong(), anyLong()))
+                .thenReturn(expectedRemainingLabel);
+        when(mFeatureFactory.batterySettingsFeatureProvider.getChargingOptimizationChargeLabel(
+                        eq(mContext), anyInt(), anyString(), anyLong(), anyLong()))
+                .thenReturn(expectedChargeLabel);
+        var expectedStatusLabel = "Not charging";
+
+        assertGetBatteryInfo(
+                batteryIntent,
+                /* currentTimeMillis= */ UNUSED_TIME_MS,
+                expectedStatusLabel,
+                expectedRemainingLabel,
+                expectedChargeLabel);
+    }
+
+    @Test
+    public void getBatteryInfo_plugTypeNoneNotChargeOptimizationLonglife_dischargingString() {
+        prepareTestGetBatteryInfoEnvironment(
+                /* remainingTimeMs= */ Duration.ofMinutes(130).toMillis(),
+                /* chargingStringV2Enabled= */ false);
+        Intent batteryIntent =
+                createIntentForGetBatteryInfoTest(
+                        ChargingType.NONE,
+                        ChargingSpeed.REGULAR,
+                        /* batteryLevel= */ 85,
+                        BatteryManager.BATTERY_STATUS_DISCHARGING,
+                        /* isLonglife= */ true);
+        var expectedRemainingLabel =
+                PowerUtil.getBatteryRemainingShortStringFormatted(
+                        mContext, PowerUtil.convertUsToMs(1000L));
+        when(mFeatureFactory.batterySettingsFeatureProvider.isChargingOptimizationMode(mContext))
+                .thenReturn(false);
+        var expectedStatusLabel = "Not charging";
+
+        assertGetBatteryInfo(
+                batteryIntent,
+                /* currentTimeMillis= */ UNUSED_TIME_MS,
+                expectedStatusLabel,
+                expectedRemainingLabel,
+                expectedRemainingLabel);
+    }
+
+    @Test
+    public void getBatteryInfo_plugTypeNoneChargeOptimizationNotLonglife_dischargingString() {
+        prepareTestGetBatteryInfoEnvironment(
+                /* remainingTimeMs= */ Duration.ofMinutes(130).toMillis(),
+                /* chargingStringV2Enabled= */ false);
+        Intent batteryIntent =
+                createIntentForGetBatteryInfoTest(
+                        ChargingType.NONE,
+                        ChargingSpeed.REGULAR,
+                        /* batteryLevel= */ 85,
+                        BatteryManager.BATTERY_STATUS_DISCHARGING,
+                        /* isLonglife= */ false);
+        var expectedRemainingLabel =
+                PowerUtil.getBatteryRemainingShortStringFormatted(
+                        mContext, PowerUtil.convertUsToMs(1000L));
+        when(mFeatureFactory.batterySettingsFeatureProvider.isChargingOptimizationMode(mContext))
+                .thenReturn(true);
+        var expectedStatusLabel = "Not charging";
+
+        assertGetBatteryInfo(
+                batteryIntent,
+                /* currentTimeMillis= */ UNUSED_TIME_MS,
+                expectedStatusLabel,
+                expectedRemainingLabel,
+                expectedRemainingLabel);
+    }
+
     private enum ChargingSpeed {
         FAST,
         REGULAR,
@@ -798,19 +921,46 @@
     private enum ChargingType {
         WIRED,
         WIRELESS,
-        DOCKED
+        DOCKED,
+        NONE
     }
 
-    private Intent createIntentForGetBatteryInfoTest(
+    private static Intent createIntentForLongLifeTest(Boolean hasLongLife) {
+        return new Intent(Intent.ACTION_BATTERY_CHANGED)
+                .putExtra(
+                        BatteryManager.EXTRA_CHARGING_STATUS,
+                        hasLongLife
+                                ? BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE
+                                : BatteryManager.CHARGING_POLICY_DEFAULT);
+    }
+
+    private static Intent createIntentForGetBatteryInfoTest(
             ChargingType chargingType, ChargingSpeed chargingSpeed, int batteryLevel) {
+        return createIntentForGetBatteryInfoTest(
+                chargingType,
+                chargingSpeed,
+                batteryLevel,
+                BatteryManager.BATTERY_STATUS_CHARGING,
+                /* isLonglife= */ false);
+    }
+
+    private static Intent createIntentForGetBatteryInfoTest(
+            ChargingType chargingType,
+            ChargingSpeed chargingSpeed,
+            int batteryLevel,
+            int chargingStatus,
+            boolean isLonglife) {
         return createBatteryIntent(
-                        CHARGING_TYPE_MAP.get(chargingType),
-                        batteryLevel,
-                        BatteryManager.BATTERY_STATUS_CHARGING)
+                        CHARGING_TYPE_MAP.get(chargingType), batteryLevel, chargingStatus)
                 .putExtra(
                         BatteryManager.EXTRA_MAX_CHARGING_CURRENT,
                         CHARGING_SPEED_MAP.get(chargingSpeed))
-                .putExtra(BatteryManager.EXTRA_MAX_CHARGING_VOLTAGE, 5000000);
+                .putExtra(BatteryManager.EXTRA_MAX_CHARGING_VOLTAGE, 5000000)
+                .putExtra(
+                        BatteryManager.EXTRA_CHARGING_STATUS,
+                        isLonglife
+                                ? BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE
+                                : BatteryManager.CHARGING_POLICY_DEFAULT);
     }
 
     private void prepareTestGetBatteryInfoEnvironment(
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeUtilsTest.java
index 84f549e..72b49e2 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeUtilsTest.java
@@ -164,7 +164,7 @@
         TimeUnit.SECONDS.sleep(1);
 
         verifySetAppOptimizationMode(AppOpsManager.MODE_IGNORED, /* allowListed */ false);
-        verify(mObserver).onChanged(DataChangeReason.UPDATE);
+        verify(mObserver).onChanged(mBatterySettingsStorage, DataChangeReason.UPDATE);
     }
 
     @Test
@@ -178,7 +178,7 @@
         TimeUnit.SECONDS.sleep(1);
 
         verifySetAppOptimizationMode(AppOpsManager.MODE_ALLOWED, /* allowListed */ true);
-        verify(mObserver).onChanged(DataChangeReason.UPDATE);
+        verify(mObserver).onChanged(mBatterySettingsStorage, DataChangeReason.UPDATE);
     }
 
     @Test
@@ -192,7 +192,7 @@
         TimeUnit.SECONDS.sleep(1);
 
         verifySetAppOptimizationMode(AppOpsManager.MODE_ALLOWED, /* allowListed */ false);
-        verify(mObserver).onChanged(DataChangeReason.UPDATE);
+        verify(mObserver).onChanged(mBatterySettingsStorage, DataChangeReason.UPDATE);
     }
 
     @Test
@@ -301,7 +301,7 @@
         inOrder.verify(mMockBackend).isAllowlisted(PACKAGE_NAME, UID);
         inOrder.verify(mMockBackend).isSysAllowlisted(PACKAGE_NAME);
         verifyNoMoreInteractions(mMockBackend);
-        verify(mObserver).onChanged(DataChangeReason.DELETE);
+        verify(mObserver).onChanged(mBatterySettingsStorage, DataChangeReason.DELETE);
     }
 
     @Test
@@ -312,7 +312,7 @@
                 /* isSystemOrDefaultApp */ false);
 
         verifySetAppOptimizationMode(AppOpsManager.MODE_ALLOWED, /* allowListed */ false);
-        verify(mObserver).onChanged(DataChangeReason.DELETE);
+        verify(mObserver).onChanged(mBatterySettingsStorage, DataChangeReason.DELETE);
     }
 
     @Test
@@ -323,7 +323,7 @@
                 /* isSystemOrDefaultApp */ false);
 
         verifySetAppOptimizationMode(AppOpsManager.MODE_ALLOWED, /* allowListed */ false);
-        verify(mObserver).onChanged(DataChangeReason.DELETE);
+        verify(mObserver).onChanged(mBatterySettingsStorage, DataChangeReason.DELETE);
     }
 
     private void runTestForResetWithMode(
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java
index 354afd0..962c40f 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java
@@ -78,6 +78,16 @@
     }
 
     @Test
+    public void isRestrictedModeOverwriteEnabled_returnFalse() {
+        assertThat(mPowerFeatureProvider.isRestrictedModeOverwriteEnabled()).isFalse();
+    }
+
+    @Test
+    public void isForceExpireAppOptimizationModeEnabled_returnFalse() {
+        assertThat(mPowerFeatureProvider.isForceExpireAppOptimizationModeEnabled()).isFalse();
+    }
+
+    @Test
     public void isAppOptimizationModeLogged_returnFalse() {
         assertThat(mPowerFeatureProvider.isAppOptimizationModeLogged()).isFalse();
     }
@@ -160,7 +170,7 @@
 
     @Test
     public void isBatteryDefend_defenderModeAndExtraDefendAreFalse_returnFalse() {
-        mBatteryInfo.isBatteryDefender = false;
+        mBatteryInfo.isLongLife = false;
         doReturn(false).when(mPowerFeatureProvider).isExtraDefend();
 
         assertThat(mPowerFeatureProvider.isBatteryDefend(mBatteryInfo)).isFalse();
@@ -168,7 +178,7 @@
 
     @Test
     public void isBatteryDefend_defenderModeIsFalse_returnFalse() {
-        mBatteryInfo.isBatteryDefender = false;
+        mBatteryInfo.isLongLife = false;
         doReturn(true).when(mPowerFeatureProvider).isExtraDefend();
 
         assertThat(mPowerFeatureProvider.isBatteryDefend(mBatteryInfo)).isFalse();
@@ -176,7 +186,7 @@
 
     @Test
     public void isBatteryDefend_defenderModeAndExtraDefendAreTrue_returnFalse() {
-        mBatteryInfo.isBatteryDefender = true;
+        mBatteryInfo.isLongLife = true;
         doReturn(true).when(mPowerFeatureProvider).isExtraDefend();
 
         assertThat(mPowerFeatureProvider.isBatteryDefend(mBatteryInfo)).isFalse();
@@ -184,7 +194,7 @@
 
     @Test
     public void isBatteryDefend_extraDefendIsFalse_returnTrue() {
-        mBatteryInfo.isBatteryDefender = true;
+        mBatteryInfo.isLongLife = true;
         doReturn(false).when(mPowerFeatureProvider).isExtraDefend();
 
         assertThat(mPowerFeatureProvider.isBatteryDefend(mBatteryInfo)).isTrue();
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetectorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetectorTest.java
index ab1ceb5..7643c41 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetectorTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetectorTest.java
@@ -18,15 +18,12 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.when;
-
 import android.content.Context;
 
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.fuelgauge.BatteryInfo;
 import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
-import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -41,28 +38,23 @@
     @Mock private BatteryInfo mBatteryInfo;
     private BatteryDefenderDetector mBatteryDefenderDetector;
 
-    private FakeFeatureFactory mFakeFeatureFactory;
-
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         final Context context = ApplicationProvider.getApplicationContext();
         mBatteryDefenderDetector = new BatteryDefenderDetector(mBatteryInfo, context);
-        mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
     }
 
     @Test
     public void detect_notBatteryDefend_tipInvisible() {
-        when(mFakeFeatureFactory.powerUsageFeatureProvider.isBatteryDefend(mBatteryInfo))
-                .thenReturn(false);
+        mBatteryInfo.isBatteryDefender = false;
 
         assertThat(mBatteryDefenderDetector.detect().isVisible()).isFalse();
     }
 
     @Test
     public void detect_isBatteryDefend_tipNew() {
-        when(mFakeFeatureFactory.powerUsageFeatureProvider.isBatteryDefend(mBatteryInfo))
-                .thenReturn(true);
+        mBatteryInfo.isBatteryDefender = true;
 
         assertThat(mBatteryDefenderDetector.detect().getState())
                 .isEqualTo(BatteryTip.StateType.NEW);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntryTest.java
index 4567bc3..0e10a15 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntryTest.java
@@ -494,6 +494,7 @@
         final ContentValues values =
                 getContentValuesWithType(ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
         values.put(BatteryHistEntry.KEY_UID, /*invalid uid*/ 10001);
+        values.put(BatteryHistEntry.KEY_USER_ID, /*valid userid*/ USER_ID);
         values.put(BatteryHistEntry.KEY_PACKAGE_NAME, fakePackageName);
         final BatteryDiffEntry entry = createBatteryDiffEntry(10, new BatteryHistEntry(values));
 
@@ -503,14 +504,16 @@
 
         doReturn(BatteryUtils.UID_NULL)
                 .when(mMockPackageManager)
-                .getPackageUid(entry.getPackageName(), PackageManager.GET_META_DATA);
+                .getPackageUidAsUser(
+                        entry.getPackageName(), PackageManager.GET_META_DATA, USER_ID);
         entry.updateRestrictionFlagState();
         // Sets false if the app is invalid package name.
         assertThat(entry.mValidForRestriction).isFalse();
 
         doReturn(1000)
                 .when(mMockPackageManager)
-                .getPackageUid(entry.getPackageName(), PackageManager.GET_META_DATA);
+                .getPackageUidAsUser(
+                        entry.getPackageName(), PackageManager.GET_META_DATA, USER_ID);
         entry.updateRestrictionFlagState();
         // Sets false if the app PackageInfo cannot be found.
         assertThat(entry.mValidForRestriction).isFalse();
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java
index 450d058..6147778 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java
@@ -132,7 +132,7 @@
                 createBatteryEntryForApp(null, APP_DEFAULT_PACKAGE_NAME, HIGH_DRAIN_PACKAGE);
 
         assertThat(entry.getDefaultPackageName()).isEqualTo(APP_DEFAULT_PACKAGE_NAME);
-        assertThat(entry.getLabel()).isEqualTo(LABEL_PREFIX + APP_DEFAULT_PACKAGE_NAME);
+        assertThat(entry.getLabel()).isEqualTo(APP_DEFAULT_PACKAGE_NAME);
     }
 
     @Test
@@ -152,7 +152,7 @@
 
         BatteryEntry entry = createBatteryEntryForApp(null, null, HIGH_DRAIN_PACKAGE);
 
-        assertThat(entry.getLabel()).isEqualTo(LABEL_PREFIX + HIGH_DRAIN_PACKAGE);
+        assertThat(entry.getLabel()).isEqualTo(HIGH_DRAIN_PACKAGE);
     }
 
     @Test
@@ -163,7 +163,7 @@
                         null,
                         HIGH_DRAIN_PACKAGE);
 
-        assertThat(entry.getLabel()).isEqualTo(LABEL_PREFIX + HIGH_DRAIN_PACKAGE);
+        assertThat(entry.getLabel()).isEqualTo(HIGH_DRAIN_PACKAGE);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreferenceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreferenceTest.java
deleted file mode 100644
index 5f86301..0000000
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreferenceTest.java
+++ /dev/null
@@ -1,293 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.batteryusage;
-
-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.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.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.Intent;
-import android.provider.Settings;
-import android.util.Pair;
-import android.view.View;
-
-import com.android.settings.DisplaySettings;
-import com.android.settings.R;
-import com.android.settings.SettingsActivity;
-import com.android.settings.testutils.BatteryTestUtils;
-import com.android.settings.testutils.FakeFeatureFactory;
-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.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-import java.util.Map;
-import java.util.Optional;
-import java.util.TimeZone;
-
-@RunWith(RobolectricTestRunner.class)
-public final class BatteryTipsCardPreferenceTest {
-
-    private Context mContext;
-    private FakeFeatureFactory mFeatureFactory;
-    private BatteryTipsCardPreference mBatteryTipsCardPreference;
-    private PowerUsageAdvanced mPowerUsageAdvanced;
-    private BatteryTipsController mBatteryTipsController;
-    private BatteryChartPreferenceController mBatteryChartPreferenceController;
-
-    @Mock private View mFakeView;
-    @Mock private BatteryUsageBreakdownController mBatteryUsageBreakdownController;
-    @Mock private BatteryDiffEntry mFakeEntry;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));
-        mContext = spy(RuntimeEnvironment.application);
-        mFeatureFactory = FakeFeatureFactory.setupForTest();
-        mBatteryTipsCardPreference = new BatteryTipsCardPreference(mContext, /* attrs= */ null);
-        mBatteryTipsController = new BatteryTipsController(mContext);
-        mBatteryChartPreferenceController =
-                spy(new BatteryChartPreferenceController(mContext, null, null));
-        mBatteryChartPreferenceController.mPrefContext = mContext;
-        mBatteryTipsController.mCardPreference = mBatteryTipsCardPreference;
-
-        mPowerUsageAdvanced = spy(new PowerUsageAdvanced());
-        doReturn(mContext).when(mPowerUsageAdvanced).getContext();
-        mPowerUsageAdvanced.mBatteryTipsController = mBatteryTipsController;
-        mPowerUsageAdvanced.mBatteryChartPreferenceController = mBatteryChartPreferenceController;
-        mPowerUsageAdvanced.mBatteryUsageBreakdownController = mBatteryUsageBreakdownController;
-        mPowerUsageAdvanced.mBatteryLevelData =
-                Optional.of(
-                        new BatteryLevelData(
-                                Map.of(
-                                        1694354400000L, 1, // 2023-09-10 22:00:00
-                                        1694361600000L, 2, // 2023-09-11 00:00:00
-                                        1694368800000L, 3))); // 2023-09-11 02:00:00
-        doReturn("TestEntriesKey").when(mFakeEntry).getKey();
-    }
-
-    @Test
-    public void constructor_returnExpectedResult() {
-        assertThat(mBatteryTipsCardPreference.getLayoutResource())
-                .isEqualTo(R.layout.battery_tips_card);
-    }
-
-    @Test
-    public void onClick_mainBtnOfSettingsAnomalyLaunchPage_getAdaptiveBrightnessLauncher() {
-        final ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
-        PowerAnomalyEvent adaptiveBrightnessAnomaly =
-                BatteryTestUtils.createAdaptiveBrightnessAnomalyEvent(/* changeSettings= */ false);
-        when(mFeatureFactory.powerUsageFeatureProvider.isBatteryTipsEnabled()).thenReturn(true);
-        when(mFakeView.getId()).thenReturn(R.id.main_button);
-        doNothing().when(mContext).startActivity(captor.capture());
-
-        mPowerUsageAdvanced.onDisplayAnomalyEventUpdated(
-                adaptiveBrightnessAnomaly, adaptiveBrightnessAnomaly);
-        mBatteryTipsCardPreference.onClick(mFakeView);
-
-        assertThat(mBatteryTipsCardPreference.isVisible()).isFalse();
-        verify(mContext).startActivity(any(Intent.class));
-        final Intent intent = captor.getValue();
-        assertThat(intent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
-                .isEqualTo(DisplaySettings.class.getName());
-        assertThat(intent.getIntExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY, -1))
-                .isEqualTo(SettingsEnums.DISPLAY);
-        verify(mFeatureFactory.metricsFeatureProvider)
-                .action(
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW,
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        BatteryTipsController.ANOMALY_KEY,
-                        PowerAnomalyKey.KEY_BRIGHTNESS.getNumber());
-        verify(mFeatureFactory.metricsFeatureProvider)
-                .action(
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT,
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        BatteryTipsController.ANOMALY_KEY,
-                        PowerAnomalyKey.KEY_BRIGHTNESS.getNumber());
-    }
-
-    @Test
-    public void onClick_mainBtnOfSettingsAnomalyChangeSettings_settingsChanged()
-            throws Settings.SettingNotFoundException {
-        Settings.System.putInt(
-                mContext.getContentResolver(),
-                Settings.System.SCREEN_BRIGHTNESS_MODE,
-                Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
-        final ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
-        PowerAnomalyEvent adaptiveBrightnessAnomaly =
-                BatteryTestUtils.createAdaptiveBrightnessAnomalyEvent(/* changeSettings= */ true);
-        when(mFeatureFactory.powerUsageFeatureProvider.isBatteryTipsEnabled()).thenReturn(true);
-        when(mFakeView.getId()).thenReturn(R.id.main_button);
-        doNothing().when(mContext).startActivity(captor.capture());
-
-        mPowerUsageAdvanced.onDisplayAnomalyEventUpdated(
-                adaptiveBrightnessAnomaly, adaptiveBrightnessAnomaly);
-        mBatteryTipsCardPreference.onClick(mFakeView);
-
-        assertThat(mBatteryTipsCardPreference.isVisible()).isFalse();
-        assertThat(
-                        Settings.System.getInt(
-                                mContext.getContentResolver(),
-                                Settings.System.SCREEN_BRIGHTNESS_MODE))
-                .isEqualTo(Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
-        verify(mContext, never()).startActivity(any(Intent.class));
-        verify(mFeatureFactory.metricsFeatureProvider)
-                .action(
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW,
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        BatteryTipsController.ANOMALY_KEY,
-                        PowerAnomalyKey.KEY_BRIGHTNESS.getNumber());
-        verify(mFeatureFactory.metricsFeatureProvider)
-                .action(
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT,
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        BatteryTipsController.ANOMALY_KEY,
-                        PowerAnomalyKey.KEY_BRIGHTNESS.getNumber());
-    }
-
-    @Test
-    public void onClick_dismissBtnOfSettingsAnomaly_cardDismissAndLogged() {
-        final PowerAnomalyEvent screenTimeoutAnomaly =
-                BatteryTestUtils.createScreenTimeoutAnomalyEvent();
-        DatabaseUtils.removeDismissedPowerAnomalyKeys(mContext);
-        when(mFeatureFactory.powerUsageFeatureProvider.isBatteryTipsEnabled()).thenReturn(true);
-        when(mFakeView.getId()).thenReturn(R.id.dismiss_button);
-
-        mPowerUsageAdvanced.onDisplayAnomalyEventUpdated(
-                screenTimeoutAnomaly, screenTimeoutAnomaly);
-        mBatteryTipsCardPreference.onClick(mFakeView);
-
-        assertThat(mBatteryTipsCardPreference.isVisible()).isFalse();
-        assertThat(DatabaseUtils.getDismissedPowerAnomalyKeys(mContext)).hasSize(1);
-        assertThat(DatabaseUtils.getDismissedPowerAnomalyKeys(mContext))
-                .contains(PowerAnomalyKey.KEY_SCREEN_TIMEOUT.name());
-        verify(mFeatureFactory.metricsFeatureProvider)
-                .action(
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW,
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        BatteryTipsController.ANOMALY_KEY,
-                        PowerAnomalyKey.KEY_SCREEN_TIMEOUT.getNumber());
-        verify(mFeatureFactory.metricsFeatureProvider)
-                .action(
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        SettingsEnums.ACTION_BATTERY_TIPS_CARD_DISMISS,
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        BatteryTipsController.ANOMALY_KEY,
-                        PowerAnomalyKey.KEY_SCREEN_TIMEOUT.getNumber());
-    }
-
-    @Test
-    public void onClick_mainBtnOfAppsAnomaly_selectHighlightSlot() {
-        final PowerAnomalyEvent appsAnomaly = BatteryTestUtils.createAppAnomalyEvent();
-        when(mFeatureFactory.powerUsageFeatureProvider.isBatteryTipsEnabled()).thenReturn(true);
-        when(mFakeView.getId()).thenReturn(R.id.main_button);
-        doNothing().when(mBatteryChartPreferenceController).selectHighlightSlotIndex();
-        when(mPowerUsageAdvanced.findRelatedBatteryDiffEntry(any())).thenReturn(mFakeEntry);
-
-        mPowerUsageAdvanced.onDisplayAnomalyEventUpdated(appsAnomaly, appsAnomaly);
-        assertHighlightSlotIndexPair(1, 0);
-        mBatteryTipsCardPreference.onClick(mFakeView);
-
-        assertThat(mBatteryTipsCardPreference.isVisible()).isFalse();
-        verify(mContext, never()).startActivity(any(Intent.class));
-        verify(mBatteryChartPreferenceController).onHighlightSlotIndexUpdate(eq(1), eq(0));
-        verify(mBatteryChartPreferenceController).selectHighlightSlotIndex();
-        verify(mFeatureFactory.metricsFeatureProvider)
-                .action(
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW,
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        BatteryTipsController.ANOMALY_KEY,
-                        PowerAnomalyKey.KEY_APP_TOTAL_HIGHER_THAN_USUAL.getNumber());
-        verify(mFeatureFactory.metricsFeatureProvider)
-                .action(
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT,
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        BatteryTipsController.ANOMALY_KEY,
-                        PowerAnomalyKey.KEY_APP_TOTAL_HIGHER_THAN_USUAL.getNumber());
-    }
-
-    @Test
-    public void onClick_dismissBtnOfAppsAnomaly_keepHighlightSlotIndex() {
-        final PowerAnomalyEvent appsAnomaly = BatteryTestUtils.createAppAnomalyEvent();
-        when(mFeatureFactory.powerUsageFeatureProvider.isBatteryTipsEnabled()).thenReturn(true);
-        when(mFakeView.getId()).thenReturn(R.id.dismiss_button);
-        when(mPowerUsageAdvanced.findRelatedBatteryDiffEntry(any())).thenReturn(mFakeEntry);
-
-        mPowerUsageAdvanced.onDisplayAnomalyEventUpdated(appsAnomaly, appsAnomaly);
-        assertHighlightSlotIndexPair(1, 0);
-        mBatteryTipsCardPreference.onClick(mFakeView);
-
-        assertThat(mBatteryTipsCardPreference.isVisible()).isFalse();
-        verify(mContext, never()).startActivity(any(Intent.class));
-        verify(mBatteryChartPreferenceController).onHighlightSlotIndexUpdate(eq(1), eq(0));
-        verify(mBatteryChartPreferenceController, never()).selectHighlightSlotIndex();
-        verify(mFeatureFactory.metricsFeatureProvider)
-                .action(
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW,
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        BatteryTipsController.ANOMALY_KEY,
-                        PowerAnomalyKey.KEY_APP_TOTAL_HIGHER_THAN_USUAL.getNumber());
-        verify(mFeatureFactory.metricsFeatureProvider)
-                .action(
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        SettingsEnums.ACTION_BATTERY_TIPS_CARD_DISMISS,
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        BatteryTipsController.ANOMALY_KEY,
-                        PowerAnomalyKey.KEY_APP_TOTAL_HIGHER_THAN_USUAL.getNumber());
-    }
-
-    private void assertHighlightSlotIndexPair(
-            int dailyHighlightSlotIndex, int hourlyHighlightSlotIndex) {
-        assertThat(mPowerUsageAdvanced.mBatteryLevelData.isPresent()).isTrue();
-        assertThat(mPowerUsageAdvanced.mHighlightEventWrapper.isPresent()).isTrue();
-        Pair<Integer, Integer> slotIndexPair =
-                mPowerUsageAdvanced
-                        .mHighlightEventWrapper
-                        .get()
-                        .getHighlightSlotPair(mPowerUsageAdvanced.mBatteryLevelData.get());
-        assertThat(slotIndexPair)
-                .isEqualTo(Pair.create(dailyHighlightSlotIndex, hourlyHighlightSlotIndex));
-        assertThat(mPowerUsageAdvanced.mBatteryChartPreferenceController.mDailyHighlightSlotIndex)
-                .isEqualTo(dailyHighlightSlotIndex);
-        assertThat(mPowerUsageAdvanced.mBatteryChartPreferenceController.mHourlyHighlightSlotIndex)
-                .isEqualTo(hourlyHighlightSlotIndex);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsControllerTest.java
index 954437f..6c29036b 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsControllerTest.java
@@ -16,8 +16,13 @@
 
 package com.android.settings.fuelgauge.batteryusage;
 
+
+import static com.google.common.truth.Truth.assertThat;
+
 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.mockito.Mockito.when;
 
@@ -29,11 +34,11 @@
 import com.android.settings.R;
 import com.android.settings.testutils.BatteryTestUtils;
 import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.widget.TipCardPreference;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
@@ -47,134 +52,156 @@
     private Context mContext;
     private FakeFeatureFactory mFeatureFactory;
     private BatteryTipsController mBatteryTipsController;
-
-    @Mock private BatteryTipsCardPreference mBatteryTipsCardPreference;
+    private TipCardPreference mCardPreference;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         Locale.setDefault(new Locale("en_US"));
-        org.robolectric.shadows.ShadowSettings.set24HourTimeFormat(false);
         TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
+
         mContext = spy(RuntimeEnvironment.application);
         final Resources resources = spy(mContext.getResources());
         resources.getConfiguration().setLocales(new LocaleList(new Locale("en_US")));
         doReturn(resources).when(mContext).getResources();
         mFeatureFactory = FakeFeatureFactory.setupForTest();
-        mBatteryTipsController = new BatteryTipsController(mContext);
-        mBatteryTipsController.mCardPreference = mBatteryTipsCardPreference;
+        mBatteryTipsController = spy(new BatteryTipsController(mContext));
+        mCardPreference = new TipCardPreference(mContext);
+        mBatteryTipsController.mCardPreference = mCardPreference;
     }
 
     @Test
     public void handleBatteryTipsCardUpdated_null_hidePreference() {
         mBatteryTipsController.handleBatteryTipsCardUpdated(/* powerAnomalyEvents= */ null, false);
 
-        verify(mBatteryTipsCardPreference).setVisible(false);
+        assertThat(mCardPreference.isVisible()).isFalse();
     }
 
     @Test
     public void handleBatteryTipsCardUpdated_adaptiveBrightnessAnomaly_showAnomaly() {
-        PowerAnomalyEvent event = BatteryTestUtils.createAdaptiveBrightnessAnomalyEvent();
+        AnomalyEventWrapper anomalyEventWrapper =
+                spy(
+                        new AnomalyEventWrapper(
+                                mContext,
+                                BatteryTestUtils.createAdaptiveBrightnessAnomalyEvent(true)));
         when(mFeatureFactory.powerUsageFeatureProvider.isBatteryTipsEnabled()).thenReturn(true);
 
-        mBatteryTipsController.handleBatteryTipsCardUpdated(
-                new AnomalyEventWrapper(mContext, event), false);
+        mBatteryTipsController.handleBatteryTipsCardUpdated(anomalyEventWrapper, false);
 
-        // Check pre-defined string
-        verify(mBatteryTipsCardPreference)
-                .setTitle("Turn on adaptive brightness to extend battery life");
-        verify(mBatteryTipsCardPreference).setIconResourceId(R.drawable.ic_battery_tips_lightbulb);
-        verify(mBatteryTipsCardPreference).setButtonColorResourceId(R.color.color_accent_selector);
-        verify(mBatteryTipsCardPreference).setMainButtonLabel("View Settings");
-        verify(mBatteryTipsCardPreference).setDismissButtonLabel("Got it");
-        // Check proto info
-        verify(mBatteryTipsCardPreference).setVisible(true);
-        verify(mFeatureFactory.metricsFeatureProvider)
-                .action(
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW,
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        BatteryTipsController.ANOMALY_KEY,
-                        PowerAnomalyKey.KEY_BRIGHTNESS.getNumber());
+        assertThat(mCardPreference.getTitle())
+                .isEqualTo("Turn on adaptive brightness to extend battery life");
+        assertThat(mCardPreference.getPrimaryButtonText()).isEqualTo("Got it");
+        assertThat(mCardPreference.getSecondaryButtonText()).isEqualTo("View Settings");
+        assertThat(mCardPreference.getIconResId()).isEqualTo(R.drawable.ic_battery_tips_lightbulb);
+        assertThat(mCardPreference.getTintColorResId()).isEqualTo(R.color.color_accent_selector);
+        assertThat(mCardPreference.getPrimaryButtonVisibility()).isTrue();
+        assertThat(mCardPreference.getSecondaryButtonVisibility()).isTrue();
+        assertCardButtonActionAndMetrics(anomalyEventWrapper);
     }
 
     @Test
     public void handleBatteryTipsCardUpdated_screenTimeoutAnomaly_showAnomaly() {
-        PowerAnomalyEvent event = BatteryTestUtils.createScreenTimeoutAnomalyEvent();
+        AnomalyEventWrapper anomalyEventWrapper =
+                spy(
+                        new AnomalyEventWrapper(
+                                mContext, BatteryTestUtils.createScreenTimeoutAnomalyEvent(true)));
         when(mFeatureFactory.powerUsageFeatureProvider.isBatteryTipsEnabled()).thenReturn(true);
 
-        mBatteryTipsController.handleBatteryTipsCardUpdated(
-                new AnomalyEventWrapper(mContext, event), false);
+        mBatteryTipsController.handleBatteryTipsCardUpdated(anomalyEventWrapper, false);
 
-        verify(mBatteryTipsCardPreference).setTitle("Reduce screen timeout to extend battery life");
-        verify(mBatteryTipsCardPreference).setIconResourceId(R.drawable.ic_battery_tips_lightbulb);
-        verify(mBatteryTipsCardPreference).setButtonColorResourceId(R.color.color_accent_selector);
-        verify(mBatteryTipsCardPreference).setMainButtonLabel("View Settings");
-        verify(mBatteryTipsCardPreference).setDismissButtonLabel("Got it");
-        verify(mBatteryTipsCardPreference).setVisible(true);
-        verify(mFeatureFactory.metricsFeatureProvider)
-                .action(
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW,
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        BatteryTipsController.ANOMALY_KEY,
-                        PowerAnomalyKey.KEY_SCREEN_TIMEOUT.getNumber());
+        assertThat(mCardPreference.getTitle())
+                .isEqualTo("Reduce screen timeout to extend battery life");
+        assertThat(mCardPreference.getPrimaryButtonText()).isEqualTo("Got it");
+        assertThat(mCardPreference.getSecondaryButtonText()).isEqualTo("View Settings");
+        assertThat(mCardPreference.getIconResId()).isEqualTo(R.drawable.ic_battery_tips_lightbulb);
+        assertThat(mCardPreference.getTintColorResId()).isEqualTo(R.color.color_accent_selector);
+        assertThat(mCardPreference.getPrimaryButtonVisibility()).isTrue();
+        assertThat(mCardPreference.getSecondaryButtonVisibility()).isTrue();
+        assertCardButtonActionAndMetrics(anomalyEventWrapper);
     }
 
     @Test
     public void handleBatteryTipsCardUpdated_screenTimeoutAnomalyHasTitle_showAnomaly() {
-        PowerAnomalyEvent event = BatteryTestUtils.createScreenTimeoutAnomalyEvent();
+        PowerAnomalyEvent anomalyEvent = BatteryTestUtils.createScreenTimeoutAnomalyEvent(true);
         String testTitle = "TestTitle";
-        event =
-                event.toBuilder()
+        anomalyEvent =
+                anomalyEvent.toBuilder()
                         .setWarningBannerInfo(
-                                event.getWarningBannerInfo().toBuilder()
+                                anomalyEvent.getWarningBannerInfo().toBuilder()
                                         .setTitleString(testTitle)
                                         .build())
                         .build();
+        AnomalyEventWrapper anomalyEventWrapper =
+                spy(new AnomalyEventWrapper(mContext, anomalyEvent));
         when(mFeatureFactory.powerUsageFeatureProvider.isBatteryTipsEnabled()).thenReturn(true);
 
-        mBatteryTipsController.handleBatteryTipsCardUpdated(
-                new AnomalyEventWrapper(mContext, event), false);
+        mBatteryTipsController.handleBatteryTipsCardUpdated(anomalyEventWrapper, false);
 
-        verify(mBatteryTipsCardPreference).setTitle(testTitle);
-        verify(mBatteryTipsCardPreference).setIconResourceId(R.drawable.ic_battery_tips_lightbulb);
-        verify(mBatteryTipsCardPreference).setButtonColorResourceId(R.color.color_accent_selector);
-        verify(mBatteryTipsCardPreference).setMainButtonLabel("View Settings");
-        verify(mBatteryTipsCardPreference).setDismissButtonLabel("Got it");
-        verify(mBatteryTipsCardPreference).setVisible(true);
-        verify(mFeatureFactory.metricsFeatureProvider)
-                .action(
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW,
-                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        BatteryTipsController.ANOMALY_KEY,
-                        PowerAnomalyKey.KEY_SCREEN_TIMEOUT.getNumber());
+        assertThat(mCardPreference.getTitle()).isEqualTo(testTitle);
+        assertThat(mCardPreference.getPrimaryButtonText()).isEqualTo("Got it");
+        assertThat(mCardPreference.getSecondaryButtonText()).isEqualTo("View Settings");
+        assertThat(mCardPreference.getIconResId()).isEqualTo(R.drawable.ic_battery_tips_lightbulb);
+        assertThat(mCardPreference.getTintColorResId()).isEqualTo(R.color.color_accent_selector);
+        assertThat(mCardPreference.getPrimaryButtonVisibility()).isTrue();
+        assertThat(mCardPreference.getSecondaryButtonVisibility()).isTrue();
+        assertCardButtonActionAndMetrics(anomalyEventWrapper);
     }
 
     @Test
     public void handleBatteryTipsCardUpdated_appAnomaly_showAnomaly() {
-        PowerAnomalyEvent event = BatteryTestUtils.createAppAnomalyEvent();
+        AnomalyEventWrapper anomalyEventWrapper =
+                spy(new AnomalyEventWrapper(mContext, BatteryTestUtils.createAppAnomalyEvent()));
         when(mFeatureFactory.powerUsageFeatureProvider.isBatteryTipsEnabled()).thenReturn(true);
 
-        AnomalyEventWrapper eventWrapper = new AnomalyEventWrapper(mContext, event);
-        eventWrapper.setRelatedBatteryDiffEntry(new BatteryDiffEntry(mContext, "", "Chrome", 0));
-        mBatteryTipsController.handleBatteryTipsCardUpdated(eventWrapper, false);
+        anomalyEventWrapper.setRelatedBatteryDiffEntry(
+                new BatteryDiffEntry(mContext, "", "Chrome", 0));
+        mBatteryTipsController.setOnAnomalyConfirmListener(
+                () -> mBatteryTipsController.acceptTipsCard());
+        mBatteryTipsController.handleBatteryTipsCardUpdated(anomalyEventWrapper, true);
 
-        verify(mBatteryTipsCardPreference).setTitle("Chrome used more battery than usual");
-        verify(mBatteryTipsCardPreference)
-                .setIconResourceId(R.drawable.ic_battery_tips_warning_icon);
-        verify(mBatteryTipsCardPreference)
-                .setButtonColorResourceId(R.color.color_battery_anomaly_app_warning_selector);
-        verify(mBatteryTipsCardPreference).setMainButtonLabel("Check");
-        verify(mBatteryTipsCardPreference).setDismissButtonLabel("Got it");
-        verify(mBatteryTipsCardPreference).setVisible(true);
+        assertThat(mCardPreference.getTitle()).isEqualTo("Chrome used more battery than usual");
+        assertThat(mCardPreference.getPrimaryButtonText()).isEqualTo("Got it");
+        assertThat(mCardPreference.getSecondaryButtonText()).isEqualTo("Check");
+        assertThat(mCardPreference.getIconResId())
+                .isEqualTo(R.drawable.ic_battery_tips_warning_icon);
+        assertThat(mCardPreference.getTintColorResId())
+                .isEqualTo(R.color.color_battery_anomaly_app_warning_selector);
+        assertThat(mCardPreference.getPrimaryButtonVisibility()).isTrue();
+        assertThat(mCardPreference.getSecondaryButtonVisibility()).isTrue();
+        assertThat(mCardPreference.isVisible()).isTrue();
+        assertCardButtonActionAndMetrics(anomalyEventWrapper);
+    }
+
+    private void assertCardButtonActionAndMetrics(final AnomalyEventWrapper anomalyEventWrapper) {
+        when(anomalyEventWrapper.updateSystemSettingsIfAvailable()).thenReturn(true);
+
+        final int powerAnomalyKeyNumber = anomalyEventWrapper.getAnomalyKeyNumber();
+        assertCardMetrics(SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, powerAnomalyKeyNumber);
+        assertThat(mCardPreference.isVisible()).isTrue();
+
+        // Check accept button action
+        mCardPreference.setVisible(true);
+        mCardPreference.getSecondaryButtonAction().invoke();
+        assertCardMetrics(SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT, powerAnomalyKeyNumber);
+        assertThat(mCardPreference.isVisible()).isFalse();
+        final boolean isAppAnomalyCard = powerAnomalyKeyNumber > 1;
+        verify(anomalyEventWrapper, isAppAnomalyCard ? never() : times(1))
+                .updateSystemSettingsIfAvailable();
+
+        // Check reject button action
+        mCardPreference.setVisible(true);
+        mCardPreference.getPrimaryButtonAction().invoke();
+        assertCardMetrics(SettingsEnums.ACTION_BATTERY_TIPS_CARD_DISMISS, powerAnomalyKeyNumber);
+        assertThat(mCardPreference.isVisible()).isFalse();
+    }
+
+    private void assertCardMetrics(final int action, final int powerAnomalyKeyNumber) {
         verify(mFeatureFactory.metricsFeatureProvider)
                 .action(
                         SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
-                        SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW,
+                        action,
                         SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
                         BatteryTipsController.ANOMALY_KEY,
-                        PowerAnomalyKey.KEY_APP_TOTAL_HIGHER_THAN_USUAL.getNumber());
+                        powerAnomalyKeyNumber);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownControllerTest.java
index 4c64808..85fc6e2 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownControllerTest.java
@@ -29,6 +29,7 @@
 import android.content.Context;
 import android.content.res.Resources;
 import android.graphics.drawable.Drawable;
+import android.os.Bundle;
 import android.os.LocaleList;
 import android.text.format.DateUtils;
 
@@ -57,6 +58,7 @@
     private static final String PREF_KEY = "pref_key";
     private static final String PREF_KEY2 = "pref_key2";
     private static final String PREF_SUMMARY = "fake preference summary";
+    private static final String KEY_SPINNER_POSITION = "spinner_position";
     private static final long TIME_LESS_THAN_HALF_MINUTE  = DateUtils.MINUTE_IN_MILLIS / 2  - 1;
 
     @Mock private InstrumentedPreferenceFragment mFragment;
@@ -149,6 +151,15 @@
     }
 
     @Test
+    public void onSaveInstanceState_returnExpectedResult() {
+        mBatteryUsageBreakdownController.mSpinnerPosition = 1;
+        final Bundle savedInstanceState = new Bundle();
+        mBatteryUsageBreakdownController.onSaveInstanceState(savedInstanceState);
+
+        assertThat(savedInstanceState.getInt(KEY_SPINNER_POSITION)).isEqualTo(1);
+    }
+
+    @Test
     public void addAllPreferences_addAllPreferences() {
         final String appLabel = "fake app label";
         doReturn(1).when(mAppListPreferenceGroup).getPreferenceCount();
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiverTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiverTest.java
index af0cb91..63d44d0 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiverTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiverTest.java
@@ -28,9 +28,9 @@
 import android.content.pm.PackageManager;
 import android.os.BatteryManager;
 import android.os.SystemClock;
+import android.os.UserManager;
 import android.text.format.DateUtils;
 
-import com.android.settings.testutils.BatteryTestUtils;
 import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
@@ -49,6 +49,7 @@
     private FakeFeatureFactory mFakeFeatureFactory;
 
     @Mock private PackageManager mPackageManager;
+    @Mock private UserManager mUserManager;
 
     @Before
     public void setUp() {
@@ -57,6 +58,7 @@
         mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
         mBatteryUsageBroadcastReceiver = new BatteryUsageBroadcastReceiver();
         doReturn(mPackageManager).when(mContext).getPackageManager();
+        doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
         DatabaseUtils.getSharedPreferences(mContext).edit().clear().apply();
     }
 
@@ -69,7 +71,17 @@
 
     @Test
     public void onReceive_workProfile_doNothing() {
-        BatteryTestUtils.setWorkProfile(mContext);
+        doReturn(true).when(mUserManager).isManagedProfile();
+
+        mBatteryUsageBroadcastReceiver.onReceive(
+                mContext, new Intent(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING));
+
+        assertThat(mBatteryUsageBroadcastReceiver.mFetchBatteryUsageData).isFalse();
+    }
+
+    @Test
+    public void onReceive_privateProfile_doNothing() {
+        doReturn(true).when(mUserManager).isPrivateProfile();
 
         mBatteryUsageBroadcastReceiver.onReceive(
                 mContext, new Intent(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING));
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageContentProviderTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageContentProviderTest.java
index 950f828..ac711a4 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageContentProviderTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageContentProviderTest.java
@@ -19,12 +19,16 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.junit.Assert.assertThrows;
+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.ContentValues;
 import android.content.Context;
 import android.database.Cursor;
 import android.net.Uri;
+import android.os.UserManager;
 
 import androidx.test.core.app.ApplicationProvider;
 
@@ -39,6 +43,8 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 
 import java.time.Duration;
@@ -62,9 +68,14 @@
     private Context mContext;
     private BatteryUsageContentProvider mProvider;
 
+    @Mock
+    private UserManager mUserManager;
+
     @Before
     public void setUp() {
-        mContext = ApplicationProvider.getApplicationContext();
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
         mProvider = new BatteryUsageContentProvider();
         mProvider.attachInfo(mContext, /* info= */ null);
         BatteryTestUtils.setUpBatteryStateDatabase(mContext);
@@ -77,7 +88,13 @@
 
     @Test
     public void onCreate_withWorkProfileMode_returnsFalse() {
-        BatteryTestUtils.setWorkProfile(mContext);
+        doReturn(true).when(mUserManager).isManagedProfile();
+        assertThat(mProvider.onCreate()).isFalse();
+    }
+
+    @Test
+    public void onCreate_withPrivateProfileMode_returnsFalse() {
+        doReturn(true).when(mUserManager).isPrivateProfile();
         assertThat(mProvider.onCreate()).isFalse();
     }
 
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiverTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiverTest.java
index 704637f..3cf6e61 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiverTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiverTest.java
@@ -18,6 +18,9 @@
 
 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 static org.robolectric.Shadows.shadowOf;
 
 import android.app.AlarmManager;
@@ -26,9 +29,11 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
+import android.os.UserManager;
 
 import androidx.test.core.app.ApplicationProvider;
 
+import com.android.settings.fuelgauge.batteryusage.db.BatteryEventDao;
 import com.android.settings.fuelgauge.batteryusage.db.BatteryStateDao;
 import com.android.settings.fuelgauge.batteryusage.db.BatteryStateDatabase;
 import com.android.settings.testutils.BatteryTestUtils;
@@ -37,6 +42,8 @@
 import org.junit.Before;
 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;
 import org.robolectric.shadows.ShadowAlarmManager;
@@ -50,23 +57,31 @@
 @RunWith(RobolectricTestRunner.class)
 public final class BootBroadcastReceiverTest {
     private Context mContext;
-    private BatteryStateDao mDao;
+    private BatteryStateDao mBatteryStateDao;
+    private BatteryEventDao mBatteryEventDao;
     private BootBroadcastReceiver mReceiver;
     private ShadowAlarmManager mShadowAlarmManager;
     private PeriodicJobManager mPeriodicJobManager;
 
+    @Mock
+    private UserManager mUserManager;
+
     @Before
     public void setUp() {
+        MockitoAnnotations.initMocks(this);
         TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
-        mContext = ApplicationProvider.getApplicationContext();
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
         mPeriodicJobManager = PeriodicJobManager.getInstance(mContext);
         mShadowAlarmManager = shadowOf(mContext.getSystemService(AlarmManager.class));
         mReceiver = new BootBroadcastReceiver();
 
         // Inserts fake data into database for testing.
         final BatteryStateDatabase database = BatteryTestUtils.setUpBatteryStateDatabase(mContext);
-        mDao = database.batteryStateDao();
-        mDao.clearAll();
+        mBatteryStateDao = database.batteryStateDao();
+        mBatteryStateDao.clearAll();
+        mBatteryEventDao = database.batteryEventDao();
+        mBatteryEventDao.clearAll();
         clearSharedPreferences();
     }
 
@@ -78,7 +93,15 @@
 
     @Test
     public void onReceive_withWorkProfile_notRefreshesJob() {
-        BatteryTestUtils.setWorkProfile(mContext);
+        doReturn(true).when(mUserManager).isManagedProfile();
+        mReceiver.onReceive(mContext, new Intent(Intent.ACTION_BOOT_COMPLETED));
+
+        assertThat(mShadowAlarmManager.peekNextScheduledAlarm()).isNull();
+    }
+
+    @Test
+    public void onReceive_withPrivateProfile_notRefreshesJob() {
+        doReturn(true).when(mUserManager).isPrivateProfile();
         mReceiver.onReceive(mContext, new Intent(Intent.ACTION_BOOT_COMPLETED));
 
         assertThat(mShadowAlarmManager.peekNextScheduledAlarm()).isNull();
@@ -132,36 +155,32 @@
     @Test
     public void onReceive_withTimeChangedIntentSetEarlierTime_refreshesJob()
             throws InterruptedException {
-        BatteryTestUtils.insertDataToBatteryStateTable(
-                mContext, Clock.systemUTC().millis() + 60000, "com.android.systemui");
-        assertThat(mDao.getAllAfter(0).size()).isEqualTo(1);
+        insertDataToTable(Clock.systemUTC().millis() + 60000);
 
         mReceiver.onReceive(mContext, new Intent(Intent.ACTION_TIME_CHANGED));
 
         TimeUnit.MILLISECONDS.sleep(1000);
-        assertThat(mDao.getAllAfter(0)).isEmpty();
+        assertThat(mBatteryStateDao.getAllAfter(0)).isEmpty();
+        assertThat(mBatteryEventDao.getAllAfterForLog(0)).isEmpty();
         assertThat(mShadowAlarmManager.peekNextScheduledAlarm()).isNotNull();
     }
 
     @Test
     public void onReceive_withTimeChangedIntentSetLaterTime_clearNoDataAndRefreshesJob()
             throws InterruptedException {
-        BatteryTestUtils.insertDataToBatteryStateTable(
-                mContext, Clock.systemUTC().millis() - 60000, "com.android.systemui");
-        assertThat(mDao.getAllAfter(0).size()).isEqualTo(1);
+        insertDataToTable(Clock.systemUTC().millis() - 60000);
 
         mReceiver.onReceive(mContext, new Intent(Intent.ACTION_TIME_CHANGED));
 
         TimeUnit.MILLISECONDS.sleep(1000);
-        assertThat(mDao.getAllAfter(0).size()).isEqualTo(1);
+        assertThat(mBatteryStateDao.getAllAfter(0)).hasSize(1);
+        assertThat(mBatteryEventDao.getAllAfterForLog(0)).hasSize(1);
         assertThat(mShadowAlarmManager.peekNextScheduledAlarm()).isNotNull();
     }
 
     @Test
     public void onReceive_withTimeFormatChangedIntent_skipRefreshJob() throws InterruptedException {
-        BatteryTestUtils.insertDataToBatteryStateTable(
-                mContext, Clock.systemUTC().millis() + 60000, "com.android.systemui");
-        assertThat(mDao.getAllAfter(0).size()).isEqualTo(1);
+        insertDataToTable(Clock.systemUTC().millis() + 60000);
 
         mReceiver.onReceive(
                 mContext,
@@ -171,21 +190,24 @@
                                 Intent.EXTRA_TIME_PREF_VALUE_USE_12_HOUR));
 
         TimeUnit.MILLISECONDS.sleep(1000);
-        assertThat(mDao.getAllAfter(0).size()).isEqualTo(1);
+        assertThat(mBatteryStateDao.getAllAfter(0)).hasSize(1);
+        assertThat(mBatteryEventDao.getAllAfterForLog(0)).hasSize(1);
         assertThat(mShadowAlarmManager.peekNextScheduledAlarm()).isNull();
     }
 
     @Test
-    public void onReceive_withTimeZoneChangedIntent_clearAllDataAndRefreshesJob()
+    public void onReceive_withTimeZoneChangedIntent_clearCacheDataAndRefreshesJob()
             throws InterruptedException {
-        BatteryTestUtils.insertDataToBatteryStateTable(
-                mContext, Clock.systemUTC().millis(), "com.android.systemui");
-        assertThat(mDao.getAllAfter(0).size()).isEqualTo(1);
+        insertDataToTable(Clock.systemUTC().millis());
+
+        assertThat(mBatteryStateDao.getAllAfter(0)).hasSize(1);
 
         mReceiver.onReceive(mContext, new Intent(Intent.ACTION_TIMEZONE_CHANGED));
 
         TimeUnit.MILLISECONDS.sleep(1000);
-        assertThat(mDao.getAllAfter(0)).isEmpty();
+        // Only clear cache data.
+        assertThat(mBatteryStateDao.getAllAfter(0)).hasSize(1);
+        assertThat(mBatteryEventDao.getAllAfterForLog(0)).isEmpty();
         assertThat(mShadowAlarmManager.peekNextScheduledAlarm()).isNotNull();
     }
 
@@ -202,4 +224,13 @@
     private void clearSharedPreferences() {
         DatabaseUtils.getSharedPreferences(mContext).edit().clear().apply();
     }
+
+    private void insertDataToTable(long recordTimeMs) {
+        BatteryTestUtils.insertDataToBatteryStateTable(
+                mContext, recordTimeMs, "com.android.systemui");
+        BatteryTestUtils.insertDataToBatteryEventTable(
+                mContext, recordTimeMs, BatteryEventType.EVEN_HOUR.getNumber(), 50);
+        assertThat(mBatteryStateDao.getAllAfter(0)).hasSize(1);
+        assertThat(mBatteryEventDao.getAllAfterForLog(0)).hasSize(1);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ConvertUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ConvertUtilsTest.java
index a3b35be..a694b2f 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ConvertUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ConvertUtilsTest.java
@@ -38,6 +38,8 @@
 import android.os.LocaleList;
 import android.os.UserHandle;
 
+import androidx.core.util.Pair;
+
 import com.android.settings.fuelgauge.batteryusage.db.AppUsageEventEntity;
 import com.android.settings.fuelgauge.batteryusage.db.BatteryEventEntity;
 import com.android.settings.fuelgauge.batteryusage.db.BatteryUsageSlotEntity;
@@ -384,8 +386,9 @@
                         /* cachedUsageConsumePower= */ 1.5);
         BatteryOptimizationModeCache optimizationModeCache =
                 new BatteryOptimizationModeCache(mContext);
-        optimizationModeCache.mBatteryOptimizeModeCacheMap.put(
-                (int) batteryDiffEntry.mUid, BatteryOptimizationMode.MODE_OPTIMIZED);
+        optimizationModeCache.mBatteryOptimizeModeCache.put(
+                (int) batteryDiffEntry.mUid,
+                Pair.create(BatteryOptimizationMode.MODE_OPTIMIZED, false));
 
         final BatteryUsageDiff batteryUsageDiff =
                 ConvertUtils.convertToBatteryUsageDiff(batteryDiffEntry, optimizationModeCache);
@@ -408,6 +411,7 @@
         assertThat(batteryUsageDiff.getKey()).isEqualTo("key");
         assertThat(batteryUsageDiff.getAppOptimizationMode())
                 .isEqualTo(BatteryOptimizationMode.MODE_OPTIMIZED);
+        assertThat(batteryUsageDiff.getIsAppOptimizationModeMutable()).isFalse();
         assertThat(batteryUsageDiff.hasPackageName()).isFalse();
         assertThat(batteryUsageDiff.hasLabel()).isFalse();
     }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtilsTest.java
index d89e61b..2fda277 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtilsTest.java
@@ -47,7 +47,6 @@
 
 import com.android.settings.fuelgauge.batteryusage.db.AppUsageEventEntity;
 import com.android.settings.fuelgauge.batteryusage.db.BatteryEventEntity;
-import com.android.settings.testutils.BatteryTestUtils;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -451,6 +450,26 @@
     }
 
     @Test
+    public void getHistoryMap_withPrivateProfile_returnExpectedMap()
+            throws PackageManager.NameNotFoundException {
+        doReturn("com.fake.package").when(mContext).getPackageName();
+        doReturn(mMockContext)
+                .when(mContext)
+                .createPackageContextAsUser("com.fake.package", /* flags= */ 0, UserHandle.OWNER);
+        doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
+        doReturn(UserHandle.CURRENT).when(mContext).getUser();
+        doReturn(true).when(mUserManager).isPrivateProfile();
+        doReturn(UserHandle.SYSTEM).when(mUserManager).getProfileParent(UserHandle.CURRENT);
+
+        DatabaseUtils.sFakeSupplier = () -> getMatrixCursor();
+
+        final Map<Long, Map<String, BatteryHistEntry>> batteryHistMap =
+                DatabaseUtils.getHistoryMapSinceQueryTimestamp(mContext, 0);
+
+        assertThat(batteryHistMap).isEmpty();
+    }
+
+    @Test
     public void removeUsageSource_hasNoData() {
         DatabaseUtils.removeUsageSource(mContext);
         assertThat(
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiverTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiverTest.java
index d111de2..8212166 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiverTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiverTest.java
@@ -18,11 +18,15 @@
 
 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 static org.robolectric.Shadows.shadowOf;
 
 import android.app.AlarmManager;
 import android.content.Context;
 import android.content.Intent;
+import android.os.UserManager;
 
 import androidx.test.core.app.ApplicationProvider;
 
@@ -34,6 +38,8 @@
 import org.junit.Before;
 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.ShadowAlarmManager;
 
@@ -53,12 +59,17 @@
     private PeriodicJobManager mPeriodicJobManager;
     private ShadowAlarmManager mShadowAlarmManager;
 
+    @Mock
+    private UserManager mUserManager;
+
     @Before
     public void setUp() {
-        mContext = ApplicationProvider.getApplicationContext();
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(ApplicationProvider.getApplicationContext());
         mPeriodicJobManager = PeriodicJobManager.getInstance(mContext);
         mShadowAlarmManager = shadowOf(mContext.getSystemService(AlarmManager.class));
         mReceiver = new PeriodicJobReceiver();
+        when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
 
         // Inserts fake data into database for testing.
         final BatteryStateDatabase database = BatteryTestUtils.setUpBatteryStateDatabase(mContext);
@@ -97,7 +108,7 @@
 
         mReceiver.onReceive(mContext, JOB_UPDATE_INTENT);
 
-        TimeUnit.MILLISECONDS.sleep(100);
+        TimeUnit.MILLISECONDS.sleep(1000);
         assertThat(mDao.getAllAfter(0)).hasSize(1);
     }
 
@@ -108,13 +119,20 @@
 
         mReceiver.onReceive(mContext, JOB_UPDATE_INTENT);
 
-        TimeUnit.MILLISECONDS.sleep(100);
+        TimeUnit.MILLISECONDS.sleep(1000);
         assertThat(mDao.getAllAfter(0)).hasSize(3);
     }
 
     @Test
     public void onReceive_inWorkProfileMode_notRefreshesJob() {
-        BatteryTestUtils.setWorkProfile(mContext);
+        doReturn(true).when(mUserManager).isManagedProfile();
+        mReceiver.onReceive(mContext, JOB_UPDATE_INTENT);
+        assertThat(mShadowAlarmManager.peekNextScheduledAlarm()).isNull();
+    }
+
+    @Test
+    public void onReceive_inPrivateProfileMode_notRefreshesJob() {
+        doReturn(true).when(mUserManager).isPrivateProfile();
         mReceiver.onReceive(mContext, JOB_UPDATE_INTENT);
         assertThat(mShadowAlarmManager.peekNextScheduledAlarm()).isNull();
     }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/SpinnerPreferenceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/SpinnerPreferenceTest.java
deleted file mode 100644
index 8050984..0000000
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/SpinnerPreferenceTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.batteryusage;
-
-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.widget.Spinner;
-
-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;
-
-@RunWith(RobolectricTestRunner.class)
-public final class SpinnerPreferenceTest {
-
-    private Context mContext;
-    private SpinnerPreference mSpinnerPreference;
-
-    @Mock private Spinner mMockSpinner;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application);
-        mSpinnerPreference = new SpinnerPreference(mContext, /* attrs= */ null);
-    }
-
-    @Test
-    public void constructor_returnExpectedResult() {
-        assertThat(mSpinnerPreference.getLayoutResource()).isEqualTo(R.layout.preference_spinner);
-    }
-
-    @Test
-    public void initializeSpinner_returnExpectedResult() {
-        final String[] items = new String[] {"item1", "item2"};
-        mSpinnerPreference.initializeSpinner(items, null);
-        assertThat(mSpinnerPreference.mItems).isEqualTo(items);
-    }
-
-    @Test
-    public void onSaveInstanceState_returnExpectedResult() {
-        doReturn(1).when(mMockSpinner).getSelectedItemPosition();
-        mSpinnerPreference.mSpinner = mMockSpinner;
-        SpinnerPreference.SavedState savedState =
-                (SpinnerPreference.SavedState) mSpinnerPreference.onSaveInstanceState();
-        assertThat(savedState.getSpinnerPosition()).isEqualTo(1);
-    }
-
-    @Test
-    public void onRestoreInstanceState_returnExpectedResult() {
-        SpinnerPreference.SavedState savedState =
-                new SpinnerPreference.SavedState(Preference.BaseSavedState.EMPTY_STATE, 2);
-        mSpinnerPreference.onRestoreInstanceState(savedState);
-        assertThat(mSpinnerPreference.mSavedSpinnerPosition).isEqualTo(2);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProviderTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProviderTest.java
index d998106..0dd18c5 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProviderTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProviderTest.java
@@ -18,7 +18,11 @@
 
 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.UserManager;
 
 import androidx.test.core.app.ApplicationProvider;
 
@@ -27,6 +31,8 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 
 import java.io.FileDescriptor;
@@ -46,11 +52,17 @@
     private StringWriter mStringWriter;
     private BugReportContentProvider mBugReportContentProvider;
 
+    @Mock
+    private UserManager mUserManager;
+
     @Before
     public void setUp() {
+        MockitoAnnotations.initMocks(this);
         mStringWriter = new StringWriter();
         mPrintWriter = new PrintWriter(mStringWriter);
-        mContext = ApplicationProvider.getApplicationContext();
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        doReturn(mContext).when(mContext).getApplicationContext();
+        doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
         mBugReportContentProvider = new BugReportContentProvider();
         mBugReportContentProvider.attachInfo(mContext, /* info= */ null);
         // Inserts fake data into database for testing.
@@ -77,7 +89,14 @@
 
     @Test
     public void dump_inWorkProfileMode_notDumpsBatteryUsageData() {
-        BatteryTestUtils.setWorkProfile(mContext);
+        doReturn(true).when(mUserManager).isManagedProfile();
+        mBugReportContentProvider.dump(FileDescriptor.out, mPrintWriter, new String[] {});
+        assertThat(mStringWriter.toString()).isEmpty();
+    }
+
+    @Test
+    public void dump_inPrivateProfileMode_notDumpsBatteryUsageData() {
+        doReturn(true).when(mUserManager).isPrivateProfile();
         mBugReportContentProvider.dump(FileDescriptor.out, mPrintWriter, new String[] {});
         assertThat(mStringWriter.toString()).isEmpty();
     }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventDaoTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventDaoTest.java
index d36f2b5..cb1f2d0 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventDaoTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventDaoTest.java
@@ -175,4 +175,31 @@
         mBatteryEventDao.clearAll();
         assertThat(mBatteryEventDao.getAll()).isEmpty();
     }
+
+    @Test
+    public void clearEvenHourEvent_normalFlow_expectedBehavior() {
+        mBatteryEventDao.insert(
+                BatteryEventEntity.newBuilder()
+                        .setTimestamp(100L)
+                        .setBatteryEventType(1)
+                        .setBatteryLevel(66)
+                        .build());
+        mBatteryEventDao.insert(
+                BatteryEventEntity.newBuilder()
+                        .setTimestamp(200L)
+                        .setBatteryEventType(4)
+                        .setBatteryLevel(88)
+                        .build());
+        assertThat(mBatteryEventDao.getAll()).hasSize(2);
+
+        mBatteryEventDao.clearEvenHourEvent();
+
+        final List<BatteryEventEntity> events = mBatteryEventDao.getAll();
+        assertThat(events).hasSize(1);
+        assertThat(events.get(0).timestamp).isEqualTo(100L);
+        assertThat(events.get(0).batteryEventType).isEqualTo(1);
+        assertThat(events.get(0).batteryLevel).isEqualTo(66);
+        mBatteryEventDao.clearAll();
+        assertThat(mBatteryEventDao.getAll()).isEmpty();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/homepage/SettingsHomepageActivityTest.java b/tests/robotests/src/com/android/settings/homepage/SettingsHomepageActivityTest.java
index 31ac944..2cf93e4 100644
--- a/tests/robotests/src/com/android/settings/homepage/SettingsHomepageActivityTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/SettingsHomepageActivityTest.java
@@ -444,7 +444,7 @@
     public static class ShadowSuggestionFeatureProviderImpl {
 
         @Implementation
-        public Class<? extends Fragment> getContextualSuggestionFragment() {
+        public Class<? extends Fragment> getSuggestionFragment() {
             return Fragment.class;
         }
     }
diff --git a/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilityBounceKeysControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilityBounceKeysControllerTest.java
new file mode 100644
index 0000000..8ac5a5d
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilityBounceKeysControllerTest.java
@@ -0,0 +1,85 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 android.content.Context;
+import android.hardware.input.InputSettings;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.keyboard.Flags;
+
+import org.junit.Before;
+import org.junit.Rule;
+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 = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
+public class KeyboardAccessibilityBounceKeysControllerTest {
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+    private Context mContext;
+    private KeyboardAccessibilityBounceKeysController mKeyboardAccessibilityBounceKeysController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mKeyboardAccessibilityBounceKeysController = new KeyboardAccessibilityBounceKeysController(
+                mContext,
+                "accessibility_bounce_keys");
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_KEYBOARD_AND_TOUCHPAD_A11Y_NEW_PAGE_ENABLED)
+    public void getAvailabilityStatus_flagIsEnabled_isAvailable() {
+        assertThat(mKeyboardAccessibilityBounceKeysController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_KEYBOARD_AND_TOUCHPAD_A11Y_NEW_PAGE_ENABLED)
+    public void getAvailabilityStatus_flagIsDisabled_notSupport() {
+        assertThat(mKeyboardAccessibilityBounceKeysController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void setChecked_true_updateBounceKeyValue() {
+        mKeyboardAccessibilityBounceKeysController.setChecked(true);
+        boolean isEnabled = InputSettings.isAccessibilityBounceKeysEnabled(mContext);
+
+        assertThat(isEnabled).isTrue();
+    }
+
+    @Test
+    public void setChecked_false_updateBounceKeyValue() {
+        mKeyboardAccessibilityBounceKeysController.setChecked(false);
+        boolean isEnabled = InputSettings.isAccessibilityBounceKeysEnabled(mContext);
+
+        assertThat(isEnabled).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilityMouseKeysControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilityMouseKeysControllerTest.java
new file mode 100644
index 0000000..5922497
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilityMouseKeysControllerTest.java
@@ -0,0 +1,85 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 android.content.Context;
+import android.hardware.input.InputSettings;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.keyboard.Flags;
+
+import org.junit.Before;
+import org.junit.Rule;
+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 = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
+public class KeyboardAccessibilityMouseKeysControllerTest {
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+    private Context mContext;
+    private KeyboardAccessibilityMouseKeysController mKeyboardAccessibilityMouseKeysController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mKeyboardAccessibilityMouseKeysController = new KeyboardAccessibilityMouseKeysController(
+                mContext,
+                "accessibility_mouse_keys");
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_KEYBOARD_AND_TOUCHPAD_A11Y_NEW_PAGE_ENABLED)
+    public void getAvailabilityStatus_flagIsEnabled_isAvailable() {
+        assertThat(mKeyboardAccessibilityMouseKeysController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_KEYBOARD_AND_TOUCHPAD_A11Y_NEW_PAGE_ENABLED)
+    public void getAvailabilityStatus_flagIsDisabled_notSupport() {
+        assertThat(mKeyboardAccessibilityMouseKeysController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void setChecked_true_updateMouseKeyValue() {
+        mKeyboardAccessibilityMouseKeysController.setChecked(true);
+        boolean isEnabled = InputSettings.isAccessibilityMouseKeysEnabled(mContext);
+
+        assertThat(isEnabled).isTrue();
+    }
+
+    @Test
+    public void setChecked_false_updateMouseKeyValue() {
+        mKeyboardAccessibilityMouseKeysController.setChecked(false);
+        boolean isEnabled = InputSettings.isAccessibilityMouseKeysEnabled(mContext);
+
+        assertThat(isEnabled).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilitySlowKeysControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilitySlowKeysControllerTest.java
new file mode 100644
index 0000000..5f6908a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilitySlowKeysControllerTest.java
@@ -0,0 +1,85 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 android.content.Context;
+import android.hardware.input.InputSettings;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.keyboard.Flags;
+
+import org.junit.Before;
+import org.junit.Rule;
+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 = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
+public class KeyboardAccessibilitySlowKeysControllerTest {
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+    private Context mContext;
+    private KeyboardAccessibilitySlowKeysController mKeyboardAccessibilitySlowKeysController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mKeyboardAccessibilitySlowKeysController = new KeyboardAccessibilitySlowKeysController(
+                mContext,
+                "accessibility_slow_keys");
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_KEYBOARD_AND_TOUCHPAD_A11Y_NEW_PAGE_ENABLED)
+    public void getAvailabilityStatus_flagIsEnabled_isAvailable() {
+        assertThat(mKeyboardAccessibilitySlowKeysController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_KEYBOARD_AND_TOUCHPAD_A11Y_NEW_PAGE_ENABLED)
+    public void getAvailabilityStatus_flagIsDisabled_notSupport() {
+        assertThat(mKeyboardAccessibilitySlowKeysController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void setChecked_true_updateSlowKeyValue() {
+        mKeyboardAccessibilitySlowKeysController.setChecked(true);
+        boolean isEnabled = InputSettings.isAccessibilitySlowKeysEnabled(mContext);
+
+        assertThat(isEnabled).isTrue();
+    }
+
+    @Test
+    public void setChecked_false_updateSlowKeyValue() {
+        mKeyboardAccessibilitySlowKeysController.setChecked(false);
+        boolean isEnabled = InputSettings.isAccessibilitySlowKeysEnabled(mContext);
+
+        assertThat(isEnabled).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilityStickyKeysControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilityStickyKeysControllerTest.java
new file mode 100644
index 0000000..06cb558
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilityStickyKeysControllerTest.java
@@ -0,0 +1,85 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 android.content.Context;
+import android.hardware.input.InputSettings;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.keyboard.Flags;
+
+import org.junit.Before;
+import org.junit.Rule;
+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 = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
+public class KeyboardAccessibilityStickyKeysControllerTest {
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+    private Context mContext;
+    private KeyboardAccessibilityStickyKeysController mKeyboardAccessibilityStickyKeysController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mKeyboardAccessibilityStickyKeysController = new KeyboardAccessibilityStickyKeysController(
+                mContext,
+                "accessibility_sticky_keys");
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_KEYBOARD_AND_TOUCHPAD_A11Y_NEW_PAGE_ENABLED)
+    public void getAvailabilityStatus_flagIsEnabled_isAvailable() {
+        assertThat(mKeyboardAccessibilityStickyKeysController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_KEYBOARD_AND_TOUCHPAD_A11Y_NEW_PAGE_ENABLED)
+    public void getAvailabilityStatus_flagIsDisabled_notSupport() {
+        assertThat(mKeyboardAccessibilityStickyKeysController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void setChecked_true_updateStickyKeyValue() {
+        mKeyboardAccessibilityStickyKeysController.setChecked(true);
+        boolean isEnabled = InputSettings.isAccessibilityStickyKeysEnabled(mContext);
+
+        assertThat(isEnabled).isTrue();
+    }
+
+    @Test
+    public void setChecked_false_updateStickyKeyValue() {
+        mKeyboardAccessibilityStickyKeysController.setChecked(false);
+        boolean isEnabled = InputSettings.isAccessibilityStickyKeysEnabled(mContext);
+
+        assertThat(isEnabled).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/inputmethod/PointerFillStylePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/PointerFillStylePreferenceControllerTest.java
new file mode 100644
index 0000000..d8765f2
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/inputmethod/PointerFillStylePreferenceControllerTest.java
@@ -0,0 +1,113 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 android.view.flags.Flags.enableVectorCursorA11ySettings;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.inputmethod.PointerFillStylePreferenceController.KEY_POINTER_FILL_STYLE;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assume.assumeTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.UserHandle;
+import android.provider.Settings;
+
+import androidx.lifecycle.Lifecycle;
+import androidx.lifecycle.LifecycleEventObserver;
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowSystemSettings;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+
+/** Tests for {@link PointerFillStylePreferenceController} */
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        ShadowSystemSettings.class,
+})
+public class PointerFillStylePreferenceControllerTest {
+    @Rule
+    public MockitoRule mMockitoRule = MockitoJUnit.rule();
+
+    @Mock
+    PreferenceScreen mPreferenceScreen;
+    @Mock
+    LifecycleOwner mLifecycleOwner;
+
+    private Context mContext;
+    private PointerFillStylePreferenceController mController;
+    private FakeFeatureFactory mFeatureFactory;
+
+    @Before
+    public void setUp() {
+        mContext = ApplicationProvider.getApplicationContext();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
+        mController = new PointerFillStylePreferenceController(mContext);
+    }
+
+    @Test
+    public void displayPreference_initializeDataStore() {
+        Preference fillPreference = new Preference(mContext);
+        fillPreference.setKey(KEY_POINTER_FILL_STYLE);
+        when(mPreferenceScreen.findPreference(eq(KEY_POINTER_FILL_STYLE))).thenReturn(
+                fillPreference);
+
+        mController.displayPreference(mPreferenceScreen);
+
+        assertNotNull(fillPreference.getPreferenceDataStore());
+    }
+
+    @Test
+    public void getAvailabilityStatus_flagEnabled() {
+        assumeTrue(enableVectorCursorA11ySettings());
+
+        assertEquals(mController.getAvailabilityStatus(), AVAILABLE);
+    }
+
+    @Test
+    public void onPause_logCurrentFillValue() {
+        int fillStyle = 1;
+        Settings.System.putIntForUser(mContext.getContentResolver(),
+                Settings.System.POINTER_FILL_STYLE, fillStyle, UserHandle.USER_CURRENT);
+
+        mController.onStateChanged(mLifecycleOwner, Lifecycle.Event.ON_PAUSE);
+
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                    any(), eq(SettingsEnums.ACTION_POINTER_ICON_FILL_STYLE_CHANGED),
+                    eq(fillStyle));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/inputmethod/PointerScaleSeekBarControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/PointerScaleSeekBarControllerTest.java
new file mode 100644
index 0000000..18705c4
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/inputmethod/PointerScaleSeekBarControllerTest.java
@@ -0,0 +1,118 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 android.view.flags.Flags.enableVectorCursorA11ySettings;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assume.assumeTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.UserHandle;
+import android.provider.Settings;
+import android.widget.SeekBar;
+
+import androidx.lifecycle.Lifecycle;
+import androidx.lifecycle.LifecycleEventObserver;
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowSystemSettings;
+import com.android.settings.widget.LabeledSeekBarPreference;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+/** Tests for {@link PointerScaleSeekBarController} */
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        ShadowSystemSettings.class,
+})
+public class PointerScaleSeekBarControllerTest {
+
+    private static final String PREFERENCE_KEY = "pointer_scale";
+
+    @Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
+
+    @Mock private PreferenceScreen mPreferenceScreen;
+    @Mock private LifecycleOwner mLifecycleOwner;
+
+    private Context mContext;
+    private LabeledSeekBarPreference mPreference;
+    private PointerScaleSeekBarController mController;
+    private FakeFeatureFactory mFeatureFactory;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
+        mPreference = new LabeledSeekBarPreference(mContext, null);
+        mController = new PointerScaleSeekBarController(mContext, PREFERENCE_KEY);
+    }
+
+    @Test
+    public void getAvailabilityStatus_flagEnabled() {
+        assumeTrue(enableVectorCursorA11ySettings());
+
+        assertEquals(mController.getAvailabilityStatus(), AVAILABLE);
+    }
+
+    @Test
+    public void onProgressChanged_changeListenerUpdatesSetting() {
+        when(mPreferenceScreen.findPreference(anyString())).thenReturn(mPreference);
+        mController.displayPreference(mPreferenceScreen);
+        SeekBar seekBar = mPreference.getSeekbar();
+        int sliderValue = 1;
+
+        mPreference.onProgressChanged(seekBar, sliderValue, false);
+
+        float expectedScale = 1.5f;
+        float currentScale = Settings.System.getFloatForUser(mContext.getContentResolver(),
+                Settings.System.POINTER_SCALE, -1, UserHandle.USER_CURRENT);
+        assertEquals(expectedScale, currentScale, /* delta= */ 0.001f);
+    }
+
+    @Test
+    public void onPause_logCurrentScaleValue() {
+        float scale = 1.5f;
+        Settings.System.putFloatForUser(mContext.getContentResolver(),
+                Settings.System.POINTER_SCALE, scale, UserHandle.USER_CURRENT);
+
+        mController.onStateChanged(mLifecycleOwner, Lifecycle.Event.ON_PAUSE);
+
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                    any(), eq(SettingsEnums.ACTION_POINTER_ICON_SCALE_CHANGED),
+                    eq(Float.toString(scale)));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/inputmethod/PointerStrokeStylePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/PointerStrokeStylePreferenceControllerTest.java
new file mode 100644
index 0000000..9fffdc3
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/inputmethod/PointerStrokeStylePreferenceControllerTest.java
@@ -0,0 +1,113 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 android.view.flags.Flags.enableVectorCursorA11ySettings;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.inputmethod.PointerStrokeStylePreferenceController.KEY_POINTER_STROKE_STYLE;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assume.assumeTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.UserHandle;
+import android.provider.Settings;
+
+import androidx.lifecycle.Lifecycle;
+import androidx.lifecycle.LifecycleEventObserver;
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowSystemSettings;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+
+/** Tests for {@link PointerStrokeStylePreferenceController} */
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        ShadowSystemSettings.class,
+})
+public class PointerStrokeStylePreferenceControllerTest {
+    @Rule
+    public MockitoRule mMockitoRule = MockitoJUnit.rule();
+
+    @Mock
+    PreferenceScreen mPreferenceScreen;
+    @Mock
+    LifecycleOwner mLifecycleOwner;
+
+    private Context mContext;
+    private PointerStrokeStylePreferenceController mController;
+    private FakeFeatureFactory mFeatureFactory;
+
+    @Before
+    public void setUp() {
+        mContext = ApplicationProvider.getApplicationContext();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
+        mController = new PointerStrokeStylePreferenceController(mContext);
+    }
+
+    @Test
+    public void displayPreference_initializeDataStore() {
+        Preference strokePreference = new Preference(mContext);
+        strokePreference.setKey(KEY_POINTER_STROKE_STYLE);
+        when(mPreferenceScreen.findPreference(eq(KEY_POINTER_STROKE_STYLE))).thenReturn(
+                strokePreference);
+
+        mController.displayPreference(mPreferenceScreen);
+
+        assertNotNull(strokePreference.getPreferenceDataStore());
+    }
+
+    @Test
+    public void getAvailabilityStatus_flagEnabled() {
+        assumeTrue(enableVectorCursorA11ySettings());
+
+        assertEquals(mController.getAvailabilityStatus(), AVAILABLE);
+    }
+
+    @Test
+    public void onPause_logCurrentStrokeValue() {
+        int strokeStyle = 1;
+        Settings.System.putIntForUser(mContext.getContentResolver(),
+                Settings.System.POINTER_STROKE_STYLE, strokeStyle, UserHandle.USER_CURRENT);
+
+        mController.onStateChanged(mLifecycleOwner, Lifecycle.Event.ON_PAUSE);
+
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                    any(), eq(SettingsEnums.ACTION_POINTER_ICON_STROKE_STYLE_CHANGED),
+                    eq(strokeStyle));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/inputmethod/PointerStrokeStylePreferenceTest.java b/tests/robotests/src/com/android/settings/inputmethod/PointerStrokeStylePreferenceTest.java
new file mode 100644
index 0000000..33b8592
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/inputmethod/PointerStrokeStylePreferenceTest.java
@@ -0,0 +1,92 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 android.view.PointerIcon.POINTER_ICON_VECTOR_STYLE_STROKE_BLACK;
+import static android.view.PointerIcon.POINTER_ICON_VECTOR_STYLE_STROKE_WHITE;
+
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+import android.provider.Settings;
+import android.view.View;
+import android.widget.RadioButton;
+
+import androidx.preference.PreferenceDataStore;
+import androidx.preference.PreferenceViewHolder;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+
+/** Tests for {@link PointerStrokeStylePreference} */
+@RunWith(RobolectricTestRunner.class)
+public class PointerStrokeStylePreferenceTest {
+    @Rule
+    public MockitoRule mMockitoRule = MockitoJUnit.rule();
+
+    @Mock
+    PreferenceDataStore mPreferenceDataStore;
+
+    private Context mContext;
+    private PreferenceViewHolder mViewHolder;
+    private PointerStrokeStylePreference mPreference;
+
+
+    @Before
+    public void setUp() {
+        mContext = ApplicationProvider.getApplicationContext();
+        mPreference = new PointerStrokeStylePreference(mContext, null);
+    }
+
+    @Test
+    public void onBindViewHolder_getCurrentStrokeStyleFromDataStore() {
+        final View view = spy(View.inflate(mContext, mPreference.getLayoutResource(), null));
+        mViewHolder = PreferenceViewHolder.createInstanceForTests(view);
+        mPreference.setPreferenceDataStore(mPreferenceDataStore);
+
+        mPreference.onBindViewHolder(mViewHolder);
+
+        verify(mPreferenceDataStore).getInt(Settings.System.POINTER_STROKE_STYLE,
+                POINTER_ICON_VECTOR_STYLE_STROKE_WHITE);
+    }
+
+    @Test
+    public void setChecked_radioButtonUpdatesDataStore() {
+        final View view = spy(View.inflate(mContext, mPreference.getLayoutResource(), null));
+        mViewHolder = PreferenceViewHolder.createInstanceForTests(view);
+        mPreference.setPreferenceDataStore(mPreferenceDataStore);
+        RadioButton radioButton = (RadioButton) view.findViewById(R.id.stroke_style_black);
+        mPreference.onBindViewHolder(mViewHolder);
+
+        radioButton.setChecked(true);
+
+        verify(mPreferenceDataStore).getInt(Settings.System.POINTER_STROKE_STYLE,
+                POINTER_ICON_VECTOR_STYLE_STROKE_WHITE);
+        verify(mPreferenceDataStore).putInt(Settings.System.POINTER_STROKE_STYLE,
+                POINTER_ICON_VECTOR_STYLE_STROKE_BLACK);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadBottomPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadBottomPreferenceControllerTest.java
index fa73768..a7d4bf4 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/TrackpadBottomPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadBottomPreferenceControllerTest.java
@@ -26,12 +26,14 @@
 import android.content.Context;
 import android.os.UserHandle;
 import android.provider.Settings;
+import android.view.InputDevice;
 
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowInputDevice;
 
 import org.junit.Before;
 import org.junit.Rule;
@@ -46,6 +48,7 @@
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {
         com.android.settings.testutils.shadow.ShadowSystemSettings.class,
+        com.android.settings.testutils.shadow.ShadowInputDevice.class,
 })
 public class TrackpadBottomPreferenceControllerTest {
     @Rule
@@ -67,6 +70,12 @@
 
     @Test
     public void getAvailabilityStatus_expected() {
+        int deviceId = 1;
+        ShadowInputDevice.sDeviceIds = new int[]{deviceId};
+        InputDevice device = ShadowInputDevice.makeInputDevicebyIdWithSources(deviceId,
+                InputDevice.SOURCE_TOUCHPAD);
+        ShadowInputDevice.addDevice(deviceId, device);
+
         assertThat(mController.getAvailabilityStatus())
                 .isEqualTo(BasePreferenceController.AVAILABLE);
     }
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceControllerTest.java
index f545c38..16b17f3 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceControllerTest.java
@@ -26,12 +26,14 @@
 import android.content.Context;
 import android.os.UserHandle;
 import android.provider.Settings;
+import android.view.InputDevice;
 
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowInputDevice;
 
 import org.junit.Before;
 import org.junit.Rule;
@@ -46,6 +48,7 @@
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {
         com.android.settings.testutils.shadow.ShadowSystemSettings.class,
+        com.android.settings.testutils.shadow.ShadowInputDevice.class,
 })
 public class TrackpadReverseScrollingPreferenceControllerTest {
     @Rule
@@ -67,6 +70,12 @@
 
     @Test
     public void getAvailabilityStatus_expected() {
+        int deviceId = 1;
+        ShadowInputDevice.sDeviceIds = new int[]{deviceId};
+        InputDevice device = ShadowInputDevice.makeInputDevicebyIdWithSources(deviceId,
+                InputDevice.SOURCE_TOUCHPAD);
+        ShadowInputDevice.addDevice(deviceId, device);
+
         assertThat(mController.getAvailabilityStatus())
                 .isEqualTo(BasePreferenceController.AVAILABLE);
     }
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadSettingsControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadSettingsControllerTest.java
new file mode 100644
index 0000000..bb97d71
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadSettingsControllerTest.java
@@ -0,0 +1,101 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 android.view.flags.Flags.enableVectorCursorA11ySettings;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.junit.Assume.assumeTrue;
+
+import android.content.Context;
+import android.view.InputDevice;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.testutils.shadow.ShadowInputDevice;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+
+/** Tests for {@link TrackpadSettingsController} */
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowSystemSettings.class,
+        ShadowInputDevice.class,
+})
+public class TrackpadSettingsControllerTest {
+    @Rule
+    public MockitoRule rule = MockitoJUnit.rule();
+
+    private static final String PREFERENCE_KEY = "trackpad_settings";
+
+    private Context mContext;
+    private TrackpadSettingsController mController;
+
+    @Before
+    public void setUp() {
+        mContext = ApplicationProvider.getApplicationContext();
+        mController = new TrackpadSettingsController(mContext, PREFERENCE_KEY);
+        ShadowInputDevice.reset();
+    }
+
+    @Test
+    public void getAvailabilityStatus_isTouchpadAvailable() {
+        int deviceId = 1;
+        ShadowInputDevice.sDeviceIds = new int[]{deviceId};
+        InputDevice device = ShadowInputDevice.makeInputDevicebyIdWithSources(deviceId,
+                InputDevice.SOURCE_TOUCHPAD);
+        ShadowInputDevice.addDevice(deviceId, device);
+
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_isMouseAvailable() {
+        assumeTrue(enableVectorCursorA11ySettings());
+
+        int deviceId = 1;
+        ShadowInputDevice.sDeviceIds = new int[]{deviceId};
+        InputDevice device = ShadowInputDevice.makeInputDevicebyIdWithSources(deviceId,
+                InputDevice.SOURCE_MOUSE);
+        ShadowInputDevice.addDevice(deviceId, device);
+
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_noMouseOrTouchpadUnavailable() {
+        int deviceId = 1;
+        ShadowInputDevice.sDeviceIds = new int[]{deviceId};
+        InputDevice device = ShadowInputDevice.makeInputDevicebyIdWithSources(deviceId,
+                InputDevice.SOURCE_UNKNOWN);
+        ShadowInputDevice.addDevice(deviceId, device);
+
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceControllerTest.java
index 8e9d026..979f568 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceControllerTest.java
@@ -26,12 +26,14 @@
 import android.content.Context;
 import android.os.UserHandle;
 import android.provider.Settings;
+import android.view.InputDevice;
 
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowInputDevice;
 
 import org.junit.Before;
 import org.junit.Rule;
@@ -46,6 +48,7 @@
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {
         com.android.settings.testutils.shadow.ShadowSystemSettings.class,
+        com.android.settings.testutils.shadow.ShadowInputDevice.class,
 })
 public class TrackpadTapToClickPreferenceControllerTest {
     @Rule
@@ -67,6 +70,12 @@
 
     @Test
     public void getAvailabilityStatus_expected() {
+        int deviceId = 1;
+        ShadowInputDevice.sDeviceIds = new int[]{deviceId};
+        InputDevice device = ShadowInputDevice.makeInputDevicebyIdWithSources(deviceId,
+                InputDevice.SOURCE_TOUCHPAD);
+        ShadowInputDevice.addDevice(deviceId, device);
+
         assertThat(mController.getAvailabilityStatus())
                 .isEqualTo(BasePreferenceController.AVAILABLE);
     }
diff --git a/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java b/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java
index fb29e05..400f73f 100644
--- a/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java
@@ -22,7 +22,9 @@
 import static com.android.settings.network.NetworkProviderSettings.MENU_ID_SHARE;
 import static com.android.settings.wifi.WifiConfigUiBase2.MODE_CONNECT;
 import static com.android.settings.wifi.WifiConfigUiBase2.MODE_MODIFY;
+import static com.android.wifitrackerlib.WifiEntry.CONNECTED_STATE_CONNECTED;
 import static com.android.wifitrackerlib.WifiEntry.CONNECTED_STATE_DISCONNECTED;
+import static com.android.wifitrackerlib.WifiPickerTracker.WIFI_ENTRIES_CHANGED_REASON_GENERAL;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -51,6 +53,7 @@
 import android.os.PowerManager;
 import android.os.UserManager;
 import android.provider.Settings;
+import android.telephony.SubscriptionManager;
 import android.view.ContextMenu;
 import android.view.Menu;
 import android.view.MenuItem;
@@ -82,7 +85,6 @@
 import com.android.wifitrackerlib.WifiPickerTracker;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -319,7 +321,8 @@
         mNetworkProviderSettings.onCreate(Bundle.EMPTY);
 
         verify(mDataUsagePreference).setVisible(true);
-        verify(mDataUsagePreference).setTemplate(any(), eq(0) /*subId*/);
+        verify(mDataUsagePreference)
+                .setTemplate(any(), eq(SubscriptionManager.INVALID_SUBSCRIPTION_ID));
     }
 
     @Test
@@ -341,7 +344,7 @@
         when(mWifiEntry.canDisconnect()).thenReturn(true);
         when(mWifiEntry.canForget()).thenReturn(true);
         when(mWifiEntry.isSaved()).thenReturn(true);
-        when(mWifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_CONNECTED);
+        when(mWifiEntry.getConnectedState()).thenReturn(CONNECTED_STATE_CONNECTED);
 
         final LongPressWifiEntryPreference connectedWifiEntryPreference =
                 mNetworkProviderSettings.createLongPressWifiEntryPreference(mWifiEntry);
@@ -364,7 +367,7 @@
         when(mWifiEntry.canShare()).thenReturn(true);
         when(mWifiEntry.canForget()).thenReturn(true);
         when(mWifiEntry.isSaved()).thenReturn(true);
-        when(mWifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_CONNECTED);
+        when(mWifiEntry.getConnectedState()).thenReturn(CONNECTED_STATE_CONNECTED);
 
         final LongPressWifiEntryPreference connectedWifiEntryPreference =
                 mNetworkProviderSettings.createLongPressWifiEntryPreference(mWifiEntry);
@@ -386,7 +389,7 @@
         when(mWifiEntry.canShare()).thenReturn(false);
         when(mWifiEntry.canForget()).thenReturn(true);
         when(mWifiEntry.isSaved()).thenReturn(true);
-        when(mWifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_CONNECTED);
+        when(mWifiEntry.getConnectedState()).thenReturn(CONNECTED_STATE_CONNECTED);
 
         final LongPressWifiEntryPreference connectedWifiEntryPreference =
                 mNetworkProviderSettings.createLongPressWifiEntryPreference(mWifiEntry);
@@ -398,10 +401,9 @@
         verify(mContextMenu, never()).add(anyInt(), eq(MENU_ID_SHARE), anyInt(), anyInt());
     }
 
-    @Ignore("b/313585353")
     @Test
     public void onWifiEntriesChanged_shouldChangeNextButtonState() {
-        mNetworkProviderSettings.onWifiEntriesChanged();
+        mNetworkProviderSettings.onWifiEntriesChanged(WIFI_ENTRIES_CHANGED_REASON_GENERAL);
 
         verify(mNetworkProviderSettings).changeNextButtonState(anyBoolean());
     }
@@ -870,6 +872,57 @@
         verify(mWifiEntry, never()).getKey();
     }
 
+    @Test
+    public void launchNetworkDetailsFragment_entryDisconnectedNotSaved_ignore() {
+        when(mWifiEntry.getConnectedState()).thenReturn(CONNECTED_STATE_DISCONNECTED);
+        when(mWifiEntry.isSaved()).thenReturn(false);
+        LongPressWifiEntryPreference preference =
+                mNetworkProviderSettings.createLongPressWifiEntryPreference(mWifiEntry);
+
+        mNetworkProviderSettings.launchNetworkDetailsFragment(preference);
+
+        verify(mContext, never()).startActivity(any());
+    }
+
+    @Test
+    public void launchNetworkDetailsFragment_entryConnectedNotSaved_launch() {
+        doNothing().when(mContext).startActivity(any());
+        when(mWifiEntry.getConnectedState()).thenReturn(CONNECTED_STATE_CONNECTED);
+        when(mWifiEntry.isSaved()).thenReturn(false);
+        LongPressWifiEntryPreference preference =
+                mNetworkProviderSettings.createLongPressWifiEntryPreference(mWifiEntry);
+
+        mNetworkProviderSettings.launchNetworkDetailsFragment(preference);
+
+        verify(mContext).startActivity(any());
+    }
+
+    @Test
+    public void launchNetworkDetailsFragment_entryDisconnectedSaved_launch() {
+        doNothing().when(mContext).startActivity(any());
+        when(mWifiEntry.getConnectedState()).thenReturn(CONNECTED_STATE_DISCONNECTED);
+        when(mWifiEntry.isSaved()).thenReturn(true);
+        LongPressWifiEntryPreference preference =
+                mNetworkProviderSettings.createLongPressWifiEntryPreference(mWifiEntry);
+
+        mNetworkProviderSettings.launchNetworkDetailsFragment(preference);
+
+        verify(mContext).startActivity(any());
+    }
+
+    @Test
+    public void launchNetworkDetailsFragment_entryConnectedSaved_launch() {
+        doNothing().when(mContext).startActivity(any());
+        when(mWifiEntry.getConnectedState()).thenReturn(CONNECTED_STATE_CONNECTED);
+        when(mWifiEntry.isSaved()).thenReturn(true);
+        LongPressWifiEntryPreference preference =
+                mNetworkProviderSettings.createLongPressWifiEntryPreference(mWifiEntry);
+
+        mNetworkProviderSettings.launchNetworkDetailsFragment(preference);
+
+        verify(mContext).startActivity(any());
+    }
+
     @Implements(PreferenceFragmentCompat.class)
     public static class ShadowPreferenceFragmentCompat {
 
diff --git a/tests/robotests/src/com/android/settings/network/SatelliteRepositoryTest.kt b/tests/robotests/src/com/android/settings/network/SatelliteRepositoryTest.kt
index 62fd10a..619d290 100644
--- a/tests/robotests/src/com/android/settings/network/SatelliteRepositoryTest.kt
+++ b/tests/robotests/src/com/android/settings/network/SatelliteRepositoryTest.kt
@@ -91,7 +91,8 @@
 
     @Test
     fun requestIsSessionStarted_resultIsTrue() = runBlocking {
-        `when`(mockSatelliteManager.registerForModemStateChanged(any(), any())
+        `when`(
+            mockSatelliteManager.registerForModemStateChanged(any(), any())
         ).thenAnswer { invocation ->
             val callback = invocation.getArgument<SatelliteModemStateCallback>(1)
             callback.onSatelliteModemStateChanged(SatelliteManager.SATELLITE_MODEM_STATE_CONNECTED)
@@ -105,7 +106,8 @@
 
     @Test
     fun requestIsSessionStarted_resultIsFalse() = runBlocking {
-        `when`(mockSatelliteManager.registerForModemStateChanged(any(), any())
+        `when`(
+            mockSatelliteManager.registerForModemStateChanged(any(), any())
         ).thenAnswer { invocation ->
             val callback = invocation.getArgument<SatelliteModemStateCallback>(1)
             callback.onSatelliteModemStateChanged(SatelliteManager.SATELLITE_MODEM_STATE_OFF)
@@ -119,7 +121,8 @@
 
     @Test
     fun requestIsSessionStarted_registerFailed() = runBlocking {
-        `when`(mockSatelliteManager.registerForModemStateChanged(any(), any())
+        `when`(
+            mockSatelliteManager.registerForModemStateChanged(any(), any())
         ).thenAnswer {
             SatelliteManager.SATELLITE_RESULT_ERROR
         }
@@ -130,6 +133,17 @@
     }
 
     @Test
+    fun requestIsSessionStarted_phoneCrash_registerFailed() = runBlocking {
+        `when`(
+            mockSatelliteManager.registerForModemStateChanged(any(), any())
+        ).thenThrow(IllegalStateException("Telephony is null"))
+
+        val result: ListenableFuture<Boolean> = repository.requestIsSessionStarted(mockExecutor)
+        assertFalse(result.get())
+        verify(mockSatelliteManager, never()).unregisterForModemStateChanged(any())
+    }
+
+    @Test
     fun requestIsSessionStarted_nullSatelliteManager() = runBlocking {
         `when`(spyContext.getSystemService(SatelliteManager::class.java)).thenReturn(null)
 
@@ -157,6 +171,17 @@
         assertFalse(result.get())
     }
 
+    @Test
+    fun requestIsEnabled_phoneCrash_resultIsFalse() = runBlocking {
+        `when`(
+            mockSatelliteManager.requestIsEnabled(any(), any())
+        ).thenThrow(IllegalStateException("Telephony is null"))
+
+        val result: ListenableFuture<Boolean> =
+            repository.requestIsEnabled(mockExecutor)
+        assertFalse(result.get())
+    }
+
 
     @Test
     fun requestIsEnabled_exceptionFailure() = runBlocking {
@@ -232,7 +257,8 @@
 
     @Test
     fun getIsSessionStartedFlow_registerFailed() = runBlocking {
-        `when`(mockSatelliteManager.registerForModemStateChanged(any(), any())
+        `when`(
+            mockSatelliteManager.registerForModemStateChanged(any(), any())
         ).thenAnswer {
             SatelliteManager.SATELLITE_RESULT_ERROR
         }
diff --git a/tests/robotests/src/com/android/settings/network/ims/MockVolteQueryImsState.java b/tests/robotests/src/com/android/settings/network/ims/MockVolteQueryImsState.java
deleted file mode 100644
index 515ab5b..0000000
--- a/tests/robotests/src/com/android/settings/network/ims/MockVolteQueryImsState.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.network.ims;
-
-import android.content.Context;
-import android.telephony.ims.ImsException;
-
-/**
- * Controller class for mock VoLte status
- */
-public class MockVolteQueryImsState extends VolteQueryImsState {
-
-    private Boolean mIsTtyOnVolteEnabled;
-    private Boolean mIsSupported;
-    private Boolean mIsProvisionedOnDevice;
-    private Boolean mIsServiceStateReady;
-    private Boolean mIsEnabledByUser;
-
-    /**
-     * Constructor
-     *
-     * @param context {@link Context}
-     * @param subId subscription's id
-     */
-    public MockVolteQueryImsState(Context context, int subId) {
-        super(context, 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 setServiceStateReady(boolean isReady) {
-        mIsServiceStateReady = isReady;
-    }
-
-    @Override
-    boolean isServiceStateReady(int subId) throws InterruptedException, ImsException,
-            IllegalArgumentException {
-        if (mIsServiceStateReady != null) {
-            return mIsServiceStateReady;
-        }
-        return super.isServiceStateReady(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
deleted file mode 100644
index 0949f1c..0000000
--- a/tests/robotests/src/com/android/settings/network/ims/MockVtQueryImsState.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.network.ims;
-
-import android.content.Context;
-import android.telephony.ims.ImsException;
-
-/**
- * Controller class for mock VT status
- */
-public class MockVtQueryImsState extends VtQueryImsState {
-
-    private Boolean mIsTtyOnVolteEnabled;
-    private Boolean mIsEnabledOnPlatform;
-    private Boolean mIsProvisionedOnDevice;
-    private Boolean mIsEnabledByUser;
-    private Boolean mIsServiceStateReady;
-
-    /**
-     * Constructor
-     *
-     * @param context {@link Context}
-     * @param subId subscription's id
-     */
-    public MockVtQueryImsState(Context context, int subId) {
-        super(context, subId);
-    }
-
-    public void setIsTtyOnVolteEnabled(boolean enabled) {
-        mIsTtyOnVolteEnabled = enabled;
-    }
-
-    @Override
-    boolean isTtyOnVolteEnabled(int subId) {
-        if (mIsTtyOnVolteEnabled != null) {
-            return mIsTtyOnVolteEnabled;
-        }
-        return super.isTtyOnVolteEnabled(subId);
-    }
-
-    public void setIsEnabledByPlatform(boolean isEnabled) {
-        mIsEnabledOnPlatform = isEnabled;
-    }
-
-    @Override
-    boolean isEnabledByPlatform(int subId) throws InterruptedException, ImsException,
-            IllegalArgumentException {
-        if (mIsEnabledOnPlatform != null) {
-            return mIsEnabledOnPlatform;
-        }
-        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 setServiceStateReady(boolean isReady) {
-        mIsServiceStateReady = isReady;
-    }
-
-    @Override
-    boolean isServiceStateReady(int subId) throws InterruptedException, ImsException,
-            IllegalArgumentException {
-        if (mIsServiceStateReady != null) {
-            return mIsServiceStateReady;
-        }
-        return super.isServiceStateReady(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/AutoDataSwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/AutoDataSwitchPreferenceControllerTest.java
index 8db4681..29592cf 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/AutoDataSwitchPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/AutoDataSwitchPreferenceControllerTest.java
@@ -85,7 +85,7 @@
                 return true;
             }
         };
-        mController.init(SUB_ID_1, null);
+        mController.init(SUB_ID_1);
     }
 
     @Test
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 8445fe2..9cd69b4 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/MobileDataSliceTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/MobileDataSliceTest.java
@@ -19,8 +19,10 @@
 
 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;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
@@ -37,6 +39,7 @@
 import androidx.slice.Slice;
 import androidx.slice.SliceMetadata;
 import androidx.slice.SliceProvider;
+import androidx.slice.builders.ListBuilder;
 import androidx.slice.core.SliceAction;
 import androidx.slice.widget.SliceLiveData;
 
@@ -68,6 +71,7 @@
 
     private Context mContext;
     private MobileDataSlice mMobileDataSlice;
+    private ListBuilder mListBuilder;
 
     @Before
     public void setUp() {
@@ -86,6 +90,8 @@
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
 
         mMobileDataSlice = spy(new MobileDataSlice(mContext));
+        mListBuilder = spy(mMobileDataSlice.createListBuilder());
+        doReturn(mListBuilder).when(mMobileDataSlice).createListBuilder();
     }
 
     @Test
@@ -175,25 +181,41 @@
     @Test
     public void isMobileDataAvailable_noSubscriptions_slicePrimaryActionIsEmpty() {
         when(mSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(new ArrayList<>());
-        final Slice mobileData = mMobileDataSlice.getSlice();
 
-        assertThat(mobileData).isNull();
+        Slice mobileData = mMobileDataSlice.getSlice();
+
+        assertThat(mobileData).isNotNull();
+        verify(mListBuilder, never()).addRow(any());
     }
 
     @Test
     public void isMobileDataAvailable_nullSubscriptions_slicePrimaryActionIsEmpty() {
         when(mSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(null);
-        final Slice mobileData = mMobileDataSlice.getSlice();
 
-        assertThat(mobileData).isNull();
+        Slice mobileData = mMobileDataSlice.getSlice();
+
+        assertThat(mobileData).isNotNull();
+        verify(mListBuilder, never()).addRow(any());
     }
 
     @Test
     public void airplaneModeEnabled_slicePrimaryActionIsEmpty() {
         doReturn(true).when(mMobileDataSlice).isAirplaneModeEnabled();
         doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(SUB_ID);
-        final Slice mobileData = mMobileDataSlice.getSlice();
 
-        assertThat(mobileData).isNull();
+        Slice mobileData = mMobileDataSlice.getSlice();
+
+        assertThat(mobileData).isNotNull();
+        verify(mListBuilder, never()).addRow(any());
+    }
+
+    @Test
+    public void getSlice_disallowConfigMobileNetworks_slicePrimaryActionIsEmpty() {
+        doReturn(false).when(mMobileDataSlice).isConfigMobileNetworksAllowed();
+
+        Slice mobileData = mMobileDataSlice.getSlice();
+
+        assertThat(mobileData).isNotNull();
+        verify(mListBuilder, never()).addRow(any());
     }
 }
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 297815b..835985e 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkSettingsTest.java
@@ -29,18 +29,14 @@
 import android.app.Activity;
 import android.app.usage.NetworkStatsManager;
 import android.content.Context;
-import android.content.res.Resources;
 import android.net.NetworkPolicyManager;
 import android.os.Bundle;
-import android.os.UserManager;
 import android.provider.Settings;
 import android.telephony.TelephonyManager;
 
 import androidx.fragment.app.FragmentActivity;
 
-import com.android.settings.R;
 import com.android.settings.datausage.DataUsageSummaryPreferenceController;
-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;
@@ -53,7 +49,6 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
-import org.robolectric.util.ReflectionHelpers;
 
 import java.util.List;
 
@@ -73,7 +68,6 @@
     private FragmentActivity mActivity;
 
     private Context mContext;
-    private Resources mResources;
     private MobileNetworkSettings mFragment;
 
     @Before
@@ -81,10 +75,6 @@
         MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application);
 
-        mResources = spy(mContext.getResources());
-        when(mContext.getResources()).thenReturn(mResources);
-        when(mResources.getBoolean(R.bool.config_show_sim_info)).thenReturn(true);
-
         when(mActivity.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
         when(mTelephonyManager.createForSubscriptionId(anyInt())).thenReturn(mTelephonyManager);
         when(mContext.getSystemService(NetworkStatsManager.class)).thenReturn(mNetworkStatsManager);
@@ -123,34 +113,4 @@
         mFragment.onActivityResult(REQUEST_CODE_DELETE_SUBSCRIPTION, Activity.RESULT_OK, null);
         verify(mActivity).finish();
     }
-
-    @Test
-    public void isPageSearchEnabled_adminUser_shouldReturnTrue() {
-        final UserManager userManager = mock(UserManager.class);
-        when(mContext.getSystemService(UserManager.class)).thenReturn(userManager);
-        when(userManager.isAdminUser()).thenReturn(true);
-        final BaseSearchIndexProvider provider =
-                (BaseSearchIndexProvider) mFragment.SEARCH_INDEX_DATA_PROVIDER;
-
-        final Object obj = ReflectionHelpers.callInstanceMethod(provider, "isPageSearchEnabled",
-                ReflectionHelpers.ClassParameter.from(Context.class, mContext));
-        final boolean isEnabled = (Boolean) obj;
-
-        assertThat(isEnabled).isTrue();
-    }
-
-    @Test
-    public void isPageSearchEnabled_nonAdminUser_shouldReturnFalse() {
-        final UserManager userManager = mock(UserManager.class);
-        when(mContext.getSystemService(UserManager.class)).thenReturn(userManager);
-        when(userManager.isAdminUser()).thenReturn(false);
-        final BaseSearchIndexProvider provider =
-                (BaseSearchIndexProvider) mFragment.SEARCH_INDEX_DATA_PROVIDER;
-
-        final Object obj = ReflectionHelpers.callInstanceMethod(provider, "isPageSearchEnabled",
-                ReflectionHelpers.ClassParameter.from(Context.class, mContext));
-        final boolean isEnabled = (Boolean) obj;
-
-        assertThat(isEnabled).isFalse();
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/network/telephony/VideoCallingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/VideoCallingPreferenceControllerTest.java
deleted file mode 100644
index da8958d..0000000
--- a/tests/robotests/src/com/android/settings/network/telephony/VideoCallingPreferenceControllerTest.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.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.TelephonyManager;
-import android.telephony.ims.ProvisioningManager;
-
-import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
-
-import com.android.settings.network.CarrierConfigCache;
-import com.android.settings.network.ims.MockVolteQueryImsState;
-import com.android.settings.network.ims.MockVtQueryImsState;
-
-import org.junit.Before;
-import 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 VideoCallingPreferenceControllerTest {
-    private static final int SUB_ID = 2;
-
-    @Mock
-    private TelephonyManager mTelephonyManager;
-    @Mock
-    private ProvisioningManager mProvisioningManager;
-    @Mock
-    private CarrierConfigCache mCarrierConfigCache;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-
-    private MockVtQueryImsState mQueryImsState;
-    private MockVolteQueryImsState mQueryVoLteState;
-
-    private VideoCallingPreferenceController mController;
-    private PersistableBundle mCarrierConfig;
-    private SwitchPreference mPreference;
-    private Context mContext;
-
-    @Before
-    public void setUp() throws Exception {
-        MockitoAnnotations.initMocks(this);
-
-        mContext = spy(RuntimeEnvironment.application);
-        doReturn(mTelephonyManager).when(mContext).getSystemService(TelephonyManager.class);
-        CarrierConfigCache.setTestInstance(mContext, mCarrierConfigCache);
-        doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(SUB_ID);
-
-        mCarrierConfig = new PersistableBundle();
-        mCarrierConfig.putBoolean(
-                CarrierConfigManager.KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS, true);
-        doReturn(mCarrierConfig).when(mCarrierConfigCache).getConfigForSubId(SUB_ID);
-
-        mQueryImsState = new MockVtQueryImsState(mContext, SUB_ID);
-        mQueryImsState.setIsEnabledByUser(true);
-
-        mQueryVoLteState = new MockVolteQueryImsState(mContext, SUB_ID);
-        mQueryVoLteState.setIsEnabledByUser(true);
-
-        mPreference = new SwitchPreference(mContext);
-        mController = spy(new VideoCallingPreferenceController(mContext, "wifi_calling"));
-        mController.init(
-                SUB_ID, new CallingPreferenceCategoryController(mContext, "calling_category"));
-        doReturn(mQueryImsState).when(mController).queryImsState(anyInt());
-        doReturn(mQueryVoLteState).when(mController).queryVoLteState(anyInt());
-        doReturn(true).when(mController).isImsSupported();
-        mPreference.setKey(mController.getPreferenceKey());
-
-        mQueryImsState.setIsEnabledByPlatform(true);
-        mQueryImsState.setIsProvisionedOnDevice(true);
-        mQueryImsState.setServiceStateReady(true);
-        doReturn(true).when(mTelephonyManager).isDataEnabled();
-
-        mController.mCallState = TelephonyManager.CALL_STATE_IDLE;
-    }
-
-    @Test
-    public void isVideoCallEnabled_allFlagsOn_returnTrue() {
-        assertThat(mController.isVideoCallEnabled(SUB_ID)).isTrue();
-    }
-
-    @Test
-    public void isVideoCallEnabled_disabledByPlatform_returnFalse() {
-        mQueryImsState.setIsProvisionedOnDevice(false);
-        mQueryImsState.setIsEnabledByPlatform(false);
-
-        assertThat(mController.isVideoCallEnabled(SUB_ID)).isFalse();
-    }
-
-    @Test
-    public void isVideoCallEnabled_dataDisabled_returnFalse() {
-        mCarrierConfig.putBoolean(
-                CarrierConfigManager.KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS, false);
-        doReturn(false).when(mTelephonyManager).isDataEnabled();
-
-        assertThat(mController.isVideoCallEnabled(SUB_ID)).isFalse();
-    }
-
-    @Test
-    public void updateState_4gLteOff_disabled() {
-        mQueryImsState.setIsEnabledByUser(false);
-        mQueryVoLteState.setIsEnabledByUser(false);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isEnabled()).isFalse();
-        assertThat(mPreference.isChecked()).isFalse();
-    }
-
-    @Test
-    public void updateState_4gLteOnWithoutCall_checked() {
-        mQueryImsState.setIsEnabledByUser(true);
-        mQueryVoLteState.setIsEnabledByUser(true);
-        mQueryImsState.setIsTtyOnVolteEnabled(true);
-        mController.mCallState = TelephonyManager.CALL_STATE_IDLE;
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isEnabled()).isTrue();
-        assertThat(mPreference.isChecked()).isTrue();
-    }
-
-
-    @Test
-    public void displayPreference_notAvailable_setPreferenceInvisible() {
-        mQueryImsState.setIsEnabledByPlatform(false);
-
-        mController.displayPreference(mPreferenceScreen);
-
-        assertThat(mPreferenceScreen.isVisible()).isFalse();
-    }
-
-}
diff --git a/tests/robotests/src/com/android/settings/notification/app/BundleListPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/BundleListPreferenceControllerTest.java
new file mode 100644
index 0000000..8b8c77e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/BundleListPreferenceControllerTest.java
@@ -0,0 +1,160 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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.NEWS_ID;
+import static android.app.NotificationChannel.PROMOTIONS_ID;
+import static android.app.NotificationChannel.RECS_ID;
+import static android.app.NotificationChannel.SOCIAL_MEDIA_ID;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationChannel;
+import android.content.Context;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.service.notification.Flags;
+
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.filters.SmallTest;
+
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.PrimarySwitchPreference;
+
+import com.google.common.collect.ImmutableMap;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+@SmallTest
+@EnableFlags(Flags.FLAG_NOTIFICATION_CLASSIFICATION)
+public class BundleListPreferenceControllerTest {
+    private Context mContext;
+    @Mock
+    private NotificationBackend mBackend;
+    private NotificationBackend.AppRow mAppRow;
+    private BundleListPreferenceController mController;
+    private PreferenceManager mPreferenceManager;
+    private PreferenceScreen mPreferenceScreen;
+    private PreferenceCategory mGroupList;
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+        mContext = ApplicationProvider.getApplicationContext();
+
+        mAppRow = new NotificationBackend.AppRow();
+        mAppRow.pkg = "pkg";
+        mAppRow.uid = 1111111;
+        NotificationBackend.NotificationsSentState
+                sentA = new NotificationBackend.NotificationsSentState();
+        sentA.avgSentDaily = 2;
+        sentA.avgSentWeekly = 10;
+        NotificationBackend.NotificationsSentState
+                sentB = new NotificationBackend.NotificationsSentState();
+        sentB.avgSentDaily = 0;
+        sentB.avgSentWeekly = 2;
+        mAppRow.sentByChannel = ImmutableMap.of(
+                PROMOTIONS_ID, sentA, NEWS_ID, sentA, SOCIAL_MEDIA_ID, sentB, RECS_ID, sentB);
+        mController = new BundleListPreferenceController(mContext, mBackend);
+        mController.onResume(mAppRow, null, null, null, null, null, null);
+        mPreferenceManager = new PreferenceManager(mContext);
+        mPreferenceScreen = mPreferenceManager.createPreferenceScreen(mContext);
+        mGroupList = new PreferenceCategory(mContext);
+        mPreferenceScreen.addPreference(mGroupList);
+
+        when(mBackend.getChannel(mAppRow.pkg, mAppRow.uid, PROMOTIONS_ID)).thenReturn(
+                new NotificationChannel(PROMOTIONS_ID, PROMOTIONS_ID, 2));
+        when(mBackend.getChannel(mAppRow.pkg, mAppRow.uid, NEWS_ID)).thenReturn(
+                new NotificationChannel(NEWS_ID, NEWS_ID, 2));
+        when(mBackend.getChannel(mAppRow.pkg, mAppRow.uid, SOCIAL_MEDIA_ID)).thenReturn(
+                new NotificationChannel(SOCIAL_MEDIA_ID, SOCIAL_MEDIA_ID, 2));
+        when(mBackend.getChannel(mAppRow.pkg, mAppRow.uid, RECS_ID)).thenReturn(
+                new NotificationChannel(RECS_ID, RECS_ID, 2));
+    }
+
+    @Test
+    public void isAvailable_null() {
+        mController.onResume(null, null, null, null, null, null, null);
+        assertThat(mController.isAvailable()).isFalse();
+        mAppRow.banned = true;
+    }
+
+    @Test
+    public void isAvailable_banned() {
+        mAppRow.banned = true;
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isAvailable_locked() {
+        mAppRow.lockedImportance = true;
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isAvailable_system() {
+        mAppRow.systemApp = true;
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isAvailable() {
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void updateState() {
+        mController.updateState(mGroupList);
+        assertThat(mGroupList.getPreferenceCount()).isEqualTo(4);
+        assertThat(mGroupList.findPreference(PROMOTIONS_ID).getTitle()).isEqualTo(PROMOTIONS_ID);
+        assertThat(mGroupList.findPreference(NEWS_ID).getTitle()).isEqualTo(NEWS_ID);
+        assertThat(mGroupList.findPreference(SOCIAL_MEDIA_ID).getTitle())
+                .isEqualTo(SOCIAL_MEDIA_ID);
+        assertThat(mGroupList.findPreference(RECS_ID).getTitle()).isEqualTo(RECS_ID);
+    }
+
+    @Test
+    public void updateState_updateChildren() {
+        mController.updateState(mGroupList);
+        assertThat(mGroupList.getPreferenceCount()).isEqualTo(4);
+
+        when(mBackend.getChannel(mAppRow.pkg, mAppRow.uid, PROMOTIONS_ID)).thenReturn(
+                new NotificationChannel(PROMOTIONS_ID, PROMOTIONS_ID, 2));
+
+        mController.updateState(mGroupList);
+        assertThat(mGroupList.getPreferenceCount()).isEqualTo(4);
+
+        assertThat(((PrimarySwitchPreference) mGroupList.findPreference(NEWS_ID)).isChecked())
+                .isEqualTo(false);
+        assertThat(((PrimarySwitchPreference) mGroupList.findPreference(NEWS_ID)).isChecked())
+                .isEqualTo(false);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/DeletedChannelsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/DeletedChannelsPreferenceControllerTest.java
index 5c9de7c..267b8d7 100644
--- a/tests/robotests/src/com/android/settings/notification/app/DeletedChannelsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/app/DeletedChannelsPreferenceControllerTest.java
@@ -31,12 +31,17 @@
 import android.app.NotificationManager;
 import android.content.Context;
 import android.os.UserManager;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
 
 import androidx.preference.Preference;
 
+import com.android.server.notification.Flags;
 import com.android.settings.notification.NotificationBackend;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -60,6 +65,8 @@
     private UserManager mUm;
 
     private DeletedChannelsPreferenceController mController;
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
 
     @Before
     public void setUp() {
@@ -109,6 +116,16 @@
     }
 
     @Test
+    @EnableFlags(Flags.FLAG_NOTIFICATION_HIDE_UNUSED_CHANNELS)
+    public void isAvailable_notIfFlagEnabled() {
+        when(mBackend.getDeletedChannelCount(any(), anyInt())).thenReturn(1);
+        mController.onResume(
+                new NotificationBackend.AppRow(), null, null, null, null, null, new ArrayList<>());
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_NOTIFICATION_HIDE_UNUSED_CHANNELS)
     public void isAvailable_appScreen() {
         when(mBackend.getDeletedChannelCount(any(), anyInt())).thenReturn(1);
         mController.onResume(
diff --git a/tests/robotests/src/com/android/settings/notification/app/ShowMorePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/ShowMorePreferenceControllerTest.java
new file mode 100644
index 0000000..611c80a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/ShowMorePreferenceControllerTest.java
@@ -0,0 +1,113 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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.google.common.truth.Truth.assertThat;
+
+import static org.junit.Assert.assertFalse;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+
+import android.app.NotificationChannelGroup;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.os.UserManager;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.preference.Preference;
+
+import com.android.server.notification.Flags;
+import com.android.settings.notification.NotificationBackend;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_NOTIFICATION_HIDE_UNUSED_CHANNELS)
+public class ShowMorePreferenceControllerTest {
+
+    private Context mContext;
+    @Mock
+    private NotificationBackend mBackend;
+    @Mock
+    private NotificationManager mNm;
+    @Mock
+    private UserManager mUm;
+    @Mock
+    private NotificationSettings.DependentFieldListener mDependentFieldListener;
+
+    private ShowMorePreferenceController mController;
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    @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 ShowMorePreferenceController(mContext, mDependentFieldListener, mBackend);
+    }
+
+    @Test
+    public void noCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(Preference.class));
+    }
+
+    @Test
+    public void isAvailable_notIfAppBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.banned = true;
+        appRow.showAllChannels = false;
+        mController.onResume(appRow, null, null, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void isAvailable_notIfShowingAll() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        mController.onResume(appRow, null, mock(NotificationChannelGroup.class), null, null, null,
+                null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void updateState() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.banned = false;
+        appRow.showAllChannels = false;
+        mController.onResume(appRow, null, null, null, null, null, null);
+
+        Preference pref = new Preference(mContext);
+        mController.updateState(pref);
+
+        pref.performClick();
+
+        verify(mDependentFieldListener).onFieldValueChanged();
+        assertThat(appRow.showAllChannels).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/CharSequenceTruth.java b/tests/robotests/src/com/android/settings/notification/modes/CharSequenceTruth.java
new file mode 100644
index 0000000..94b932f
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/CharSequenceTruth.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import androidx.annotation.Nullable;
+
+import com.google.common.truth.StringSubject;
+import com.google.common.truth.Truth;
+
+class CharSequenceTruth {
+    /**
+     * Shortcut version of {@link Truth#assertThat(String)} suitable for {@link CharSequence}.
+     * {@link CharSequence} doesn't necessarily provide a good {@code equals()} implementation;
+     * however we don't care about formatting in most cases, and we want to assert on the resulting
+     * string (without needing to worry that {@code assertThat(x.getText().toString())} can
+     * throw if the text is null).
+     */
+    static StringSubject assertThat(@Nullable CharSequence actual) {
+        return Truth.assertThat((String) (actual != null ? actual.toString() : null));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/CircularIconSetTest.java b/tests/robotests/src/com/android/settings/notification/modes/CircularIconSetTest.java
new file mode 100644
index 0000000..826c9df
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/CircularIconSetTest.java
@@ -0,0 +1,207 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.graphics.drawable.Drawable;
+
+import com.google.common.base.Equivalence;
+import com.google.common.collect.ImmutableList;
+import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.MoreExecutors;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+
+import java.util.List;
+import java.util.function.Function;
+
+@RunWith(RobolectricTestRunner.class)
+public class CircularIconSetTest {
+
+    @Mock private Function<Integer, Drawable> mDrawableLoader;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        CircularIconSet.sExecutorService = MoreExecutors.newDirectExecutorService();
+        when(mDrawableLoader.apply(anyInt())).thenReturn(new ColorDrawable(Color.BLACK));
+    }
+
+    @Test
+    public void hasSameItemsAs_sameItems_true() {
+        CircularIconSet<Integer> items1 = new CircularIconSet<>(ImmutableList.of(1, 2),
+                num -> new ColorDrawable(Color.BLUE));
+        CircularIconSet<Integer> items2 = new CircularIconSet<>(ImmutableList.of(1, 2),
+                num -> new ColorDrawable(Color.GREEN));
+
+        assertThat(items1.hasSameItemsAs(items2, null)).isTrue();
+    }
+
+    @Test
+    public void hasSameItemsAs_differentTypes_false() {
+        CircularIconSet<Integer> items1 = new CircularIconSet<>(ImmutableList.of(1, 2),
+                num -> new ColorDrawable(Color.BLUE));
+        CircularIconSet<String> items2 = new CircularIconSet<>(ImmutableList.of("a", "b"),
+                str -> new ColorDrawable(Color.GREEN));
+
+        assertThat(items1.hasSameItemsAs(items2, null)).isFalse();
+    }
+
+    @Test
+    public void hasSameItemsAs_differentItems_false() {
+        CircularIconSet<String> items1 = new CircularIconSet<>(ImmutableList.of("a", "b"),
+                str -> new ColorDrawable(Color.GREEN));
+        CircularIconSet<String> items2 = new CircularIconSet<>(ImmutableList.of("a", "b", "c"),
+                str -> new ColorDrawable(Color.GREEN));
+
+        assertThat(items1.hasSameItemsAs(items2, null)).isFalse();
+    }
+
+    private static class WrapperWithoutEquals<T> {
+        private final T mValue;
+        private WrapperWithoutEquals(T value) {
+            mValue = value;
+        }
+    }
+
+    @Test
+    public void hasSameItemsAs_withEquivalence_trueIfEquivalentItems() {
+        CircularIconSet<WrapperWithoutEquals<Integer>> items1 = new CircularIconSet<>(
+                ImmutableList.of(
+                        new WrapperWithoutEquals<>(1),
+                        new WrapperWithoutEquals<>(2)),
+                unused -> new ColorDrawable(Color.BLACK));
+        CircularIconSet<WrapperWithoutEquals<Integer>> items2 = new CircularIconSet<>(
+                ImmutableList.of(
+                        new WrapperWithoutEquals<>(1),
+                        new WrapperWithoutEquals<>(2)),
+                unused -> new ColorDrawable(Color.BLACK));
+        CircularIconSet<WrapperWithoutEquals<Integer>> items3 = new CircularIconSet<>(
+                ImmutableList.of(
+                        new WrapperWithoutEquals<>(2),
+                        new WrapperWithoutEquals<>(3)),
+                unused -> new ColorDrawable(Color.BLACK));
+        // Needs special equivalence, equals is not enough.
+        assertThat(items1.hasSameItemsAs(items2, null)).isFalse();
+
+        Equivalence<WrapperWithoutEquals<Integer>> equivalence = new Equivalence<>() {
+            @Override
+            protected boolean doEquivalent(WrapperWithoutEquals<Integer> a,
+                    WrapperWithoutEquals<Integer> b) {
+                return a.mValue.equals(b.mValue);
+            }
+
+            @Override
+            protected int doHash(WrapperWithoutEquals<Integer> t) {
+                return t.mValue;
+            }
+        };
+
+        assertThat(items1.hasSameItemsAs(items2, equivalence)).isTrue();
+        assertThat(items1.hasSameItemsAs(items3, equivalence)).isFalse();
+    }
+
+    @Test
+    public void hasSameItemsAs_withEquivalenceButDifferentTypes_falseAndNoClassCastExceptions() {
+        CircularIconSet<Integer> items1 = new CircularIconSet<>(ImmutableList.of(1, 2),
+                num -> new ColorDrawable(Color.BLUE));
+        CircularIconSet<String> items2 = new CircularIconSet<>(ImmutableList.of("one", "two"),
+                num -> new ColorDrawable(Color.GREEN));
+
+        Equivalence<String> stringEquivalence = new Equivalence<String>() {
+            @Override
+            protected boolean doEquivalent(String a, String b) {
+                return a.equals(b);
+            }
+
+            @Override
+            protected int doHash(String t) {
+                return t.hashCode();
+            }
+        };
+        Equivalence<Integer> integerEquivalence = new Equivalence<Integer>() {
+            @Override
+            protected boolean doEquivalent(Integer a, Integer b) {
+                return a.equals(b);
+            }
+
+            @Override
+            protected int doHash(Integer t) {
+                return t.hashCode();
+            }
+        };
+
+        assertThat(items1.hasSameItemsAs(items2, stringEquivalence)).isFalse();
+        assertThat(items2.hasSameItemsAs(items1, integerEquivalence)).isFalse();
+    }
+
+    @Test
+    public void getIcons_loadsAllIcons() {
+        CircularIconSet<Integer> set = new CircularIconSet<>(ImmutableList.of(1, 2, 3),
+                mDrawableLoader);
+
+        List<ListenableFuture<Drawable>> iconFutures = set.getIcons();
+
+        assertThat(iconFutures).hasSize(3);
+        verify(mDrawableLoader).apply(1);
+        verify(mDrawableLoader).apply(2);
+        verify(mDrawableLoader).apply(3);
+    }
+
+    @Test
+    public void getIcons_loadsRequestedIcons() {
+        CircularIconSet<Integer> set = new CircularIconSet<>(ImmutableList.of(1, 2, 3, 4, 5),
+                mDrawableLoader);
+
+        List<ListenableFuture<Drawable>> iconFutures = set.getIcons(2);
+
+        assertThat(iconFutures).hasSize(2);
+        verify(mDrawableLoader).apply(1);
+        verify(mDrawableLoader).apply(2);
+        verifyNoMoreInteractions(mDrawableLoader);
+    }
+
+    @Test
+    public void getIcons_cachesIcons() {
+        CircularIconSet<Integer> set = new CircularIconSet<>(ImmutableList.of(1, 2, 3, 4, 5),
+                mDrawableLoader);
+
+        List<ListenableFuture<Drawable>> iconFutures = set.getIcons(2);
+        assertThat(iconFutures).hasSize(2);
+        verify(mDrawableLoader).apply(1);
+        verify(mDrawableLoader).apply(2);
+        verifyNoMoreInteractions(mDrawableLoader);
+
+        List<ListenableFuture<Drawable>> iconFuturesAgain = set.getIcons(3);
+        assertThat(iconFuturesAgain).hasSize(3);
+        verify(mDrawableLoader).apply(3);
+        verifyNoMoreInteractions(mDrawableLoader);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/CircularIconsPreferenceTest.java b/tests/robotests/src/com/android/settings/notification/modes/CircularIconsPreferenceTest.java
new file mode 100644
index 0000000..5544832
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/CircularIconsPreferenceTest.java
@@ -0,0 +1,369 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static android.view.View.MeasureSpec.makeMeasureSpec;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.common.base.Preconditions.checkState;
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.graphics.drawable.ColorDrawable;
+import android.graphics.drawable.Drawable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.Nullable;
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.MoreExecutors;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mockito;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.IntStream;
+
+@RunWith(RobolectricTestRunner.class)
+public class CircularIconsPreferenceTest {
+
+    private static final int VIEW_WIDTH = 800;
+
+    private Context mContext;
+    private CircularIconsPreference mPreference;
+    private CircularIconsView mContainer;
+
+    private int mOneIconWidth;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        CircularIconSet.sExecutorService = MoreExecutors.newDirectExecutorService();
+        mPreference = new TestableCircularIconsPreference(mContext);
+        // Tests should call bindAndLayoutViewHolder() so that icons can be added.
+
+        Resources res = mContext.getResources();
+        mOneIconWidth = res.getDimensionPixelSize(R.dimen.zen_mode_circular_icon_diameter)
+                + res.getDimensionPixelSize(R.dimen.zen_mode_circular_icon_margin_between);
+    }
+
+    private void bindAndLayoutViewHolder(int viewWidth) {
+        bindViewHolder();
+        layoutViewHolder(viewWidth);
+    }
+
+    private void bindViewHolder() {
+        View preferenceView = LayoutInflater.from(mContext).inflate(mPreference.getLayoutResource(),
+                null);
+        mContainer = checkNotNull(preferenceView.findViewById(R.id.circles_container));
+        mContainer.setUiExecutor(MoreExecutors.directExecutor());
+        PreferenceViewHolder viewHolder = PreferenceViewHolder.createInstanceForTests(
+                preferenceView);
+        mPreference.onBindViewHolder(viewHolder);
+    }
+
+    private void layoutViewHolder(int viewWidth) {
+        checkState(mContainer != null, "Call bindViewHolder() first!");
+        mContainer.measure(makeMeasureSpec(viewWidth, View.MeasureSpec.EXACTLY),
+                makeMeasureSpec(1000, View.MeasureSpec.EXACTLY));
+        mContainer.layout(0, 0, viewWidth, 1000);
+    }
+
+    @Test
+    public void setIcons_loadsIcons() {
+        CircularIconSet<Integer> iconSet = new CircularIconSet<>(ImmutableList.of(1, 2),
+                ColorDrawable::new);
+
+        bindAndLayoutViewHolder(VIEW_WIDTH);
+        mPreference.setIcons(iconSet);
+
+        assertThat(getDrawables(mContainer)).hasSize(2);
+        assertThat(((ColorDrawable) getDrawables(mContainer).get(0)).getColor()).isEqualTo(1);
+        assertThat(((ColorDrawable) getDrawables(mContainer).get(1)).getColor()).isEqualTo(2);
+        assertThat(getPlusText(mContainer)).isNull();
+    }
+
+    @Test
+    public void setIcons_noIcons_hidesRow() {
+        CircularIconSet<Integer> iconSet = new CircularIconSet<>(ImmutableList.of(),
+                ColorDrawable::new);
+
+        bindAndLayoutViewHolder(VIEW_WIDTH);
+        mPreference.setIcons(iconSet);
+
+        assertThat(mContainer.getVisibility()).isEqualTo(View.GONE);
+    }
+
+    @Test
+    public void setIcons_exactlyMaxIcons_loadsAllIcons() throws Exception {
+        int width = 300;
+        int fittingCircles = width / mOneIconWidth;
+        CircularIconSet<Integer> iconSet = new CircularIconSet<>(
+                IntStream.range(0, fittingCircles).boxed().toList(),
+                ColorDrawable::new);
+
+        bindAndLayoutViewHolder(width);
+        mPreference.setIcons(iconSet);
+
+        assertThat(getDrawables(mContainer)).hasSize(fittingCircles);
+        assertThat(getDrawables(mContainer)).containsExactlyElementsIn(
+                Futures.allAsList(iconSet.getIcons()).get()).inOrder();
+        assertThat(getPlusText(mContainer)).isNull();
+    }
+
+    @Test
+    public void setIcons_tooManyIcons_loadsFirstNAndPlusIcon() throws Exception {
+        int width = 300;
+        int fittingCircles = width / mOneIconWidth;
+        CircularIconSet<Integer> iconSet = new CircularIconSet<>(
+                IntStream.range(0, fittingCircles + 5).boxed().toList(),
+                ColorDrawable::new);
+
+        bindAndLayoutViewHolder(width);
+        mPreference.setIcons(iconSet);
+
+        // N-1 icons, plus (+6) text.
+        assertThat(getDrawables(mContainer)).hasSize(fittingCircles - 1);
+        assertThat(getDrawables(mContainer)).containsExactlyElementsIn(
+                        Futures.allAsList(iconSet.getIcons(fittingCircles - 1)).get())
+                .inOrder();
+        assertThat(getPlusText(mContainer)).isEqualTo("+6");
+    }
+
+    @Test
+    public void setIcons_teenyTinySpace_showsPlusIcon_noCrash() {
+        CircularIconSet<Integer> iconSet = new CircularIconSet<>(ImmutableList.of(1, 2),
+                ColorDrawable::new);
+
+        bindAndLayoutViewHolder(1);
+        mPreference.setIcons(iconSet);
+
+        assertThat(getDrawables(mContainer)).isEmpty();
+        assertThat(getPlusText(mContainer)).isEqualTo("+2");
+    }
+
+    @Test
+    public void setIcons_beforeBind_loadsIconsOnBindAndMeasure() {
+        CircularIconSet<Integer> iconSet = new CircularIconSet<>(ImmutableList.of(1, 2, 3),
+                ColorDrawable::new);
+
+        mPreference.setIcons(iconSet);
+        assertThat(mContainer).isNull(); // Hold...
+
+        bindViewHolder();
+        assertThat(getDrawables(mContainer)).hasSize(0); // Hooooold...
+
+        layoutViewHolder(VIEW_WIDTH);
+        assertThat(getDrawables(mContainer)).hasSize(3);
+    }
+
+    @Test
+    public void setIcons_beforeMeasure_loadsIconsOnMeasure() {
+        CircularIconSet<Integer> iconSet = new CircularIconSet<>(ImmutableList.of(1, 2, 3),
+                ColorDrawable::new);
+        bindViewHolder();
+
+        mPreference.setIcons(iconSet);
+        assertThat(getDrawables(mContainer)).hasSize(0);
+
+        layoutViewHolder(VIEW_WIDTH);
+        assertThat(getDrawables(mContainer)).hasSize(3);
+    }
+
+    @Test
+    public void setIcons_calledAgain_reloadsIcons() {
+        CircularIconSet<Integer> threeIcons = new CircularIconSet<>(ImmutableList.of(1, 2, 3),
+                ColorDrawable::new);
+        CircularIconSet<Integer> twoIcons = new CircularIconSet<>(ImmutableList.of(1, 2),
+                ColorDrawable::new);
+        CircularIconSet<Integer> fourIcons = new CircularIconSet<>(ImmutableList.of(1, 2, 3, 4),
+                ColorDrawable::new);
+        bindAndLayoutViewHolder(VIEW_WIDTH);
+
+        mPreference.setIcons(threeIcons);
+        assertThat(getDrawables(mContainer)).hasSize(3);
+
+        mPreference.setIcons(twoIcons);
+        assertThat(getDrawables(mContainer)).hasSize(2);
+
+        mPreference.setIcons(fourIcons);
+        assertThat(getDrawables(mContainer)).hasSize(4);
+    }
+
+    @Test
+    public void setIcons_sameSet_doesNotReloadIcons() {
+        CircularIconSet<Integer> one = new CircularIconSet<>(ImmutableList.of(1, 2, 3),
+                ColorDrawable::new);
+        CircularIconSet<Integer> same = Mockito.spy(new CircularIconSet<>(ImmutableList.of(1, 2, 3),
+                ColorDrawable::new));
+        when(same.getIcons()).thenThrow(new RuntimeException("Shouldn't be called!"));
+
+        bindAndLayoutViewHolder(VIEW_WIDTH);
+
+        mPreference.setIcons(one);
+
+        mPreference.setIcons(same); // if no exception, wasn't called.
+    }
+
+    @Test
+    public void sizeChanged_reloadsIconsIfDifferentFit() {
+        CircularIconSet<Integer> largeIconSet = new CircularIconSet<>(
+                IntStream.range(0, 100).boxed().toList(),
+                ColorDrawable::new);
+        mPreference.setIcons(largeIconSet);
+
+        // Base space -> some icons
+        int firstWidth = 600;
+        int firstFittingCircles = firstWidth / mOneIconWidth;
+        bindAndLayoutViewHolder(firstWidth);
+
+        assertThat(getDrawables(mContainer)).hasSize(firstFittingCircles - 1);
+        assertThat(getPlusText(mContainer)).isEqualTo("+" + (100 - (firstFittingCircles - 1)));
+
+        // More space -> more icons
+        int secondWidth = 1000;
+        int secondFittingCircles = secondWidth / mOneIconWidth;
+        assertThat(secondFittingCircles).isGreaterThan(firstFittingCircles);
+        bindAndLayoutViewHolder(secondWidth);
+
+        assertThat(getDrawables(mContainer)).hasSize(secondFittingCircles - 1);
+        assertThat(getPlusText(mContainer)).isEqualTo("+" + (100 - (secondFittingCircles - 1)));
+
+        // Less space -> fewer icons
+        int thirdWidth = 600;
+        int thirdFittingCircles = thirdWidth / mOneIconWidth;
+        bindAndLayoutViewHolder(thirdWidth);
+
+        assertThat(getDrawables(mContainer)).hasSize(thirdFittingCircles - 1);
+        assertThat(getPlusText(mContainer)).isEqualTo("+" + (100 - (thirdFittingCircles - 1)));
+    }
+
+
+    @Test
+    public void onBindViewHolder_withDifferentView_reloadsIconsCorrectly() {
+        View preferenceViewOne = LayoutInflater.from(mContext).inflate(
+                mPreference.getLayoutResource(), null);
+        CircularIconsView containerOne = preferenceViewOne.findViewById(R.id.circles_container);
+        containerOne.setUiExecutor(MoreExecutors.directExecutor());
+        PreferenceViewHolder viewHolderOne = PreferenceViewHolder.createInstanceForTests(
+                preferenceViewOne);
+        containerOne.measure(makeMeasureSpec(1000, View.MeasureSpec.EXACTLY),
+                makeMeasureSpec(1000, View.MeasureSpec.EXACTLY));
+
+        View preferenceViewTwo = LayoutInflater.from(mContext).inflate(
+                mPreference.getLayoutResource(), null);
+        CircularIconsView containerTwo = preferenceViewTwo.findViewById(R.id.circles_container);
+        containerTwo.setUiExecutor(MoreExecutors.directExecutor());
+        PreferenceViewHolder viewHolderTwo = PreferenceViewHolder.createInstanceForTests(
+                preferenceViewTwo);
+        containerTwo.measure(makeMeasureSpec(1000, View.MeasureSpec.EXACTLY),
+                makeMeasureSpec(1000, View.MeasureSpec.EXACTLY));
+
+        CircularIconSet<Integer> iconSetOne = new CircularIconSet<>(ImmutableList.of(1, 2, 3),
+                ColorDrawable::new);
+        CircularIconSet<Integer> iconSetTwo = new CircularIconSet<>(ImmutableList.of(1, 2),
+                ColorDrawable::new);
+
+        mPreference.onBindViewHolder(viewHolderOne);
+        mPreference.setIcons(iconSetOne);
+        assertThat(getDrawables(containerOne)).hasSize(3);
+
+        mPreference.onBindViewHolder(viewHolderTwo);
+        assertThat(getDrawables(containerTwo)).hasSize(3);
+
+        mPreference.setIcons(iconSetTwo);
+
+        // The second view is updated and the first view is unaffected.
+        assertThat(getDrawables(containerTwo)).hasSize(2);
+        assertThat(getDrawables(containerOne)).hasSize(3);
+    }
+
+    @Test
+    public void setEnabled_afterSetIcons_showsEnabledOrDisabledImages() {
+        CircularIconSet<Integer> iconSet = new CircularIconSet<>(ImmutableList.of(1, 2),
+                ColorDrawable::new);
+        bindAndLayoutViewHolder(VIEW_WIDTH);
+        mPreference.setIcons(iconSet);
+        assertThat(getViews(mContainer)).hasSize(2);
+
+        mPreference.setEnabled(false);
+        assertThat(getViews(mContainer).get(0).getAlpha()).isLessThan(1f);
+
+        mPreference.setEnabled(true);
+        assertThat(getViews(mContainer).get(0).getAlpha()).isEqualTo(1f);
+    }
+
+    @Test
+    public void setEnabled_beforeSetIcons_showsEnabledOrDisabledImages() {
+        CircularIconSet<Integer> iconSet = new CircularIconSet<>(ImmutableList.of(1, 2),
+                ColorDrawable::new);
+
+        mPreference.setEnabled(false);
+        bindAndLayoutViewHolder(VIEW_WIDTH);
+        mPreference.setIcons(iconSet);
+
+        assertThat(getViews(mContainer)).hasSize(2);
+        assertThat(getViews(mContainer).get(0).getAlpha()).isLessThan(1f);
+    }
+
+    private static List<View> getViews(ViewGroup container) {
+        ArrayList<View> views = new ArrayList<>();
+        for (int i = 0; i < container.getChildCount(); i++) {
+            views.add(container.getChildAt(i));
+        }
+        return views;
+    }
+
+    private static List<Drawable> getDrawables(ViewGroup container) {
+        ArrayList<Drawable> drawables = new ArrayList<>();
+        for (int i = 0; i < container.getChildCount(); i++) {
+            if (container.getChildAt(i) instanceof ImageView imageView) {
+                drawables.add(imageView.getDrawable());
+
+            }
+        }
+        return drawables;
+    }
+
+    @Nullable
+    private static String getPlusText(ViewGroup container) {
+        View lastChild = container.getChildAt(container.getChildCount() - 1);
+        if (lastChild instanceof TextView tv) {
+            return tv.getText() != null ? tv.getText().toString() : null;
+        } else {
+            return null;
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ConfigurationActivityHelperTest.java b/tests/robotests/src/com/android/settings/notification/modes/ConfigurationActivityHelperTest.java
new file mode 100644
index 0000000..5a40c7f
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ConfigurationActivityHelperTest.java
@@ -0,0 +1,191 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static android.app.NotificationManager.EXTRA_AUTOMATIC_RULE_ID;
+import static android.service.notification.ConditionProviderService.EXTRA_RULE_ID;
+
+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.when;
+
+import android.app.Flags;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ComponentInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.os.Bundle;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.service.notification.ConditionProviderService;
+
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.function.Function;
+
+@RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
+public class ConfigurationActivityHelperTest {
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    private Context mContext;
+    private ConfigurationActivityHelper mHelper;
+
+    @Mock private PackageManager mPm;
+    @Mock private Function<ComponentName, ComponentInfo> mApprovedServiceFinder;
+
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.getApplication();
+        mHelper = new ConfigurationActivityHelper(mPm);
+
+        when(mPm.queryIntentActivities(any(), anyInt())).thenReturn(List.of(new ResolveInfo()));
+    }
+
+    @Test
+    public void getConfigurationActivityIntentForMode_configActivity() throws Exception {
+        ZenMode mode = new TestModeBuilder()
+                .setId("id")
+                .setPackage(mContext.getPackageName())
+                .setConfigurationActivity(new ComponentName(mContext.getPackageName(), "test"))
+                .build();
+        when(mPm.getPackageUid(mContext.getPackageName(), 0)).thenReturn(1);
+
+        Intent res = mHelper.getConfigurationActivityIntentForMode(mode, mApprovedServiceFinder);
+
+        assertThat(res).isNotNull();
+        assertThat(res.getStringExtra(EXTRA_RULE_ID)).isEqualTo("id");
+        assertThat(res.getStringExtra(EXTRA_AUTOMATIC_RULE_ID)).isEqualTo("id");
+        assertThat(res.getComponent()).isEqualTo(
+                new ComponentName(mContext.getPackageName(), "test"));
+    }
+
+    @Test
+    public void getConfigurationActivityIntentForMode_configActivityNotResolvable_returnsNull()
+            throws Exception {
+        ZenMode mode = new TestModeBuilder()
+                .setId("id")
+                .setPackage(mContext.getPackageName())
+                .setConfigurationActivity(new ComponentName(mContext.getPackageName(), "test"))
+                .build();
+        when(mPm.getPackageUid(mContext.getPackageName(), 0)).thenReturn(1);
+        when(mPm.queryIntentActivities(any(), anyInt())).thenReturn(new ArrayList<>());
+
+        Intent res = mHelper.getConfigurationActivityIntentForMode(mode, mApprovedServiceFinder);
+
+        assertThat(res).isNull();
+    }
+
+    @Test
+    public void getConfigurationActivityIntentForMode_configActivityAndWrongPackage_returnsNull()
+            throws Exception {
+        ZenMode mode = new TestModeBuilder()
+                .setPackage(mContext.getPackageName())
+                .setConfigurationActivity(new ComponentName("another", "test"))
+                .build();
+        when(mPm.getPackageUid(mContext.getPackageName(), 0)).thenReturn(1);
+
+        Intent res = mHelper.getConfigurationActivityIntentForMode(mode, mApprovedServiceFinder);
+
+        assertThat(res).isNull();
+    }
+
+    @Test
+    public void getConfigurationActivityIntentForMode_configActivityAndUnspecifiedOwner()
+            throws Exception {
+        ZenMode mode = new TestModeBuilder()
+                .setId("id")
+                .setPackage(null)
+                .setConfigurationActivity(new ComponentName("another", "test"))
+                .build();
+        when(mPm.getPackageUid(mContext.getPackageName(), 0)).thenReturn(1);
+
+        Intent res = mHelper.getConfigurationActivityIntentForMode(mode, mApprovedServiceFinder);
+
+        assertThat(res).isNotNull();
+        assertThat(res.getStringExtra(EXTRA_RULE_ID)).isEqualTo("id");
+        assertThat(res.getStringExtra(EXTRA_AUTOMATIC_RULE_ID)).isEqualTo("id");
+        assertThat(res.getComponent()).isEqualTo(new ComponentName("another", "test"));
+    }
+
+    @Test
+    public void getConfigurationActivityIntentForMode_cps() throws Exception {
+        ZenMode mode = new TestModeBuilder()
+                .setId("id")
+                .setPackage(mContext.getPackageName())
+                .setOwner(new ComponentName(mContext.getPackageName(), "service"))
+                .build();
+        ComponentInfo ci = new ComponentInfo();
+        ci.packageName = mContext.getPackageName();
+        ci.metaData = new Bundle();
+        ci.metaData.putString(ConditionProviderService.META_DATA_CONFIGURATION_ACTIVITY,
+                ComponentName.flattenToShortString(
+                        new ComponentName(mContext.getPackageName(), "activity")));
+        when(mApprovedServiceFinder.apply(new ComponentName(mContext.getPackageName(), "service")))
+                .thenReturn(ci);
+        when(mPm.getPackageUid(mContext.getPackageName(), 0)).thenReturn(1);
+
+        Intent res = mHelper.getConfigurationActivityIntentForMode(mode, mApprovedServiceFinder);
+
+        assertThat(res).isNotNull();
+        assertThat(res.getStringExtra(EXTRA_RULE_ID)).isEqualTo("id");
+        assertThat(res.getStringExtra(EXTRA_AUTOMATIC_RULE_ID)).isEqualTo("id");
+        assertThat(res.getComponent()).isEqualTo(
+                new ComponentName(mContext.getPackageName(), "activity"));
+    }
+
+    @Test
+    public void getConfigurationActivityIntentForMode_cpsAndWrongPackage_returnsNull()
+            throws Exception {
+        ZenMode mode = new TestModeBuilder()
+                .setPackage("other")
+                .setOwner(new ComponentName(mContext.getPackageName(), "service"))
+                .build();
+        ComponentInfo ci = new ComponentInfo();
+        ci.packageName = mContext.getPackageName();
+        ci.metaData = new Bundle();
+        ci.metaData.putString(ConditionProviderService.META_DATA_CONFIGURATION_ACTIVITY,
+                ComponentName.flattenToShortString(
+                        new ComponentName(mContext.getPackageName(), "activity")));
+        when(mApprovedServiceFinder.apply(new ComponentName(mContext.getPackageName(), "service")))
+                .thenReturn(ci);
+        when(mPm.getPackageUid(mContext.getPackageName(), 0)).thenReturn(1);
+
+        Intent res = mHelper.getConfigurationActivityIntentForMode(mode, mApprovedServiceFinder);
+
+        assertThat(res).isNull();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/IconLoaderTest.java b/tests/robotests/src/com/android/settings/notification/modes/IconLoaderTest.java
deleted file mode 100644
index 7d4a367..0000000
--- a/tests/robotests/src/com/android/settings/notification/modes/IconLoaderTest.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification.modes;
-
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.app.AutomaticZenRule;
-import android.content.Context;
-import android.graphics.drawable.Drawable;
-import android.net.Uri;
-import android.service.notification.ZenPolicy;
-
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.common.util.concurrent.MoreExecutors;
-
-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 IconLoaderTest {
-
-    private Context mContext;
-    private IconLoader mLoader;
-
-    @Before
-    public void setUp() {
-        mContext = RuntimeEnvironment.application;
-        mLoader = new IconLoader(MoreExecutors.newDirectExecutorService());
-    }
-
-    @Test
-    public void getIcon_systemOwnedRuleWithIcon_loads() throws Exception {
-        AutomaticZenRule systemRule = newRuleBuilder()
-                .setPackage("android")
-                .setIconResId(android.R.drawable.ic_media_play)
-                .build();
-
-        ListenableFuture<Drawable> loadFuture = mLoader.getIcon(mContext, systemRule);
-        assertThat(loadFuture.isDone()).isTrue();
-        assertThat(loadFuture.get()).isNotNull();
-    }
-
-    @Test
-    public void getIcon_ruleWithoutSpecificIcon_loadsFallback() throws Exception {
-        AutomaticZenRule rule = newRuleBuilder()
-                .setType(AutomaticZenRule.TYPE_DRIVING)
-                .setPackage("com.blah")
-                .build();
-
-        ListenableFuture<Drawable> loadFuture = mLoader.getIcon(mContext, rule);
-        assertThat(loadFuture.isDone()).isTrue();
-        assertThat(loadFuture.get()).isNotNull();
-    }
-
-    @Test
-    public void getIcon_ruleWithAppIconWithLoadFailure_loadsFallback() throws Exception {
-        AutomaticZenRule rule = newRuleBuilder()
-                .setType(AutomaticZenRule.TYPE_DRIVING)
-                .setPackage("com.blah")
-                .setIconResId(-123456)
-                .build();
-
-        ListenableFuture<Drawable> loadFuture = mLoader.getIcon(mContext, rule);
-        assertThat(loadFuture.get()).isNotNull();
-    }
-
-    private static AutomaticZenRule.Builder newRuleBuilder() {
-        return new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder().build());
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/IconOptionsProviderImplTest.java b/tests/robotests/src/com/android/settings/notification/modes/IconOptionsProviderImplTest.java
index d5430b1..f0109d6 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/IconOptionsProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/IconOptionsProviderImplTest.java
@@ -34,7 +34,7 @@
 @RunWith(RobolectricTestRunner.class)
 public class IconOptionsProviderImplTest {
 
-    private static final int EXPECTED_NUMBER_OF_ICON_OPTIONS = 9;
+    private static final int EXPECTED_NUMBER_OF_ICON_OPTIONS = 40;
 
     @Test
     public void iconResources_correctResources() {
diff --git a/tests/robotests/src/com/android/settings/notification/modes/InterruptionFilterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/InterruptionFilterPreferenceControllerTest.java
new file mode 100644
index 0000000..8653d95
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/InterruptionFilterPreferenceControllerTest.java
@@ -0,0 +1,164 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
+import static android.app.NotificationManager.INTERRUPTION_FILTER_NONE;
+import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
+import static android.service.notification.ZenPolicy.STATE_DISALLOW;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+
+import android.app.Flags;
+import android.content.Context;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.service.notification.ZenPolicy;
+
+import androidx.preference.TwoStatePreference;
+
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
+public final class InterruptionFilterPreferenceControllerTest {
+
+    private InterruptionFilterPreferenceController mController;
+
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    private Context mContext;
+    @Mock private ZenModesBackend mBackend;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = RuntimeEnvironment.application;
+        mController = new InterruptionFilterPreferenceController(mContext, "something",  mBackend);
+    }
+
+    @Test
+    public void updateState_dnd_enabled() {
+        TwoStatePreference preference = mock(TwoStatePreference.class);
+        ZenMode dnd = TestModeBuilder.MANUAL_DND_ACTIVE;
+
+        mController.updateState(preference, dnd);
+
+        verify(preference).setEnabled(true);
+    }
+
+    @Test
+    public void updateState_specialDnd_disabled() {
+        TwoStatePreference preference = mock(TwoStatePreference.class);
+        ZenMode specialDnd = TestModeBuilder.manualDnd(INTERRUPTION_FILTER_NONE, true);
+
+        mController.updateState(preference, specialDnd);
+
+        verify(preference).setEnabled(false);
+    }
+
+    @Test
+    public void testUpdateState_disabled() {
+        TwoStatePreference preference = mock(TwoStatePreference.class);
+        ZenMode zenMode = new TestModeBuilder()
+                .setEnabled(false)
+                .build();
+
+        mController.updateZenMode(preference, zenMode);
+
+        verify(preference).setEnabled(false);
+    }
+
+    @Test
+    public void testUpdateState_all() {
+        TwoStatePreference preference = mock(TwoStatePreference.class);
+        ZenMode zenMode = new TestModeBuilder()
+                .setInterruptionFilter(INTERRUPTION_FILTER_ALL)
+                .build();
+        mController.updateZenMode(preference, zenMode);
+
+        verify(preference).setChecked(true);
+    }
+
+    @Test
+    public void testOnPreferenceChange_fromAll() {
+        TwoStatePreference preference = mock(TwoStatePreference.class);
+        ZenMode zenMode = new TestModeBuilder()
+                .setInterruptionFilter(INTERRUPTION_FILTER_ALL)
+                .build();
+
+        mController.updateZenMode(preference, zenMode);
+
+        mController.onPreferenceChange(preference, false);
+
+        ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
+        verify(mBackend).updateMode(captor.capture());
+        assertThat(captor.getValue().getPolicy().getPriorityCategoryAlarms())
+                .isEqualTo(STATE_DISALLOW);
+        assertThat(captor.getValue().getRule().getInterruptionFilter())
+                .isEqualTo(INTERRUPTION_FILTER_PRIORITY);
+    }
+
+    @Test
+    public void testUpdateState_priority() {
+        TwoStatePreference preference = mock(TwoStatePreference.class);
+        ZenMode zenMode = new TestModeBuilder()
+                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+                .setZenPolicy(new ZenPolicy.Builder().allowAlarms(true).build())
+                .build();
+        mController.updateZenMode(preference, zenMode);
+
+        verify(preference).setChecked(false);
+    }
+
+    @Test
+    public void testOnPreferenceChange_fromPriority() {
+        TwoStatePreference preference = mock(TwoStatePreference.class);
+        ZenMode zenMode = new TestModeBuilder()
+                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+                .setZenPolicy(new ZenPolicy.Builder().allowAlarms(false).build())
+                .build();
+
+        mController.updateZenMode(preference, zenMode);
+
+        mController.onPreferenceChange(preference, true);
+
+        ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
+        verify(mBackend).updateMode(captor.capture());
+        assertThat(captor.getValue().getPolicy().getPriorityCategoryAlarms())
+                .isEqualTo(STATE_DISALLOW);
+        assertThat(captor.getValue().getRule().getInterruptionFilter())
+                .isEqualTo(INTERRUPTION_FILTER_ALL);
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ManualDurationHelperTest.java b/tests/robotests/src/com/android/settings/notification/modes/ManualDurationHelperTest.java
new file mode 100644
index 0000000..c90f337
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ManualDurationHelperTest.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.app.Flags;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.provider.Settings;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
+public class ManualDurationHelperTest {
+
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    private Context mContext;
+    private ContentResolver mContentResolver;
+
+    private ManualDurationHelper mHelper;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mContentResolver = RuntimeEnvironment.application.getContentResolver();
+
+        mHelper = new ManualDurationHelper(mContext);
+    }
+
+    @Test
+    public void getDurationSummary_durationForever() {
+        Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_DURATION,
+                Settings.Secure.ZEN_DURATION_FOREVER);
+        assertThat(mHelper.getSummary()).isEqualTo(
+                mContext.getString(R.string.zen_mode_duration_summary_forever));
+    }
+
+    @Test
+    public void getDurationSummary_durationPrompt() {
+        Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_DURATION,
+                Settings.Secure.ZEN_DURATION_PROMPT);
+        assertThat(mHelper.getSummary()).isEqualTo(
+                mContext.getString(R.string.zen_mode_duration_summary_always_prompt));
+    }
+
+    @Test
+    public void getDurationSummary_durationCustom() {
+        // minutes
+        Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_DURATION, 45);
+        assertThat(mHelper.getSummary()).isEqualTo("45 minutes");
+
+        // hours
+        Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_DURATION, 300);
+        assertThat(mHelper.getSummary()).isEqualTo("5 hours");
+    }
+
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ManualDurationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ManualDurationPreferenceControllerTest.java
new file mode 100644
index 0000000..4edb0d5
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ManualDurationPreferenceControllerTest.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.app.Flags;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.provider.Settings;
+
+import androidx.fragment.app.Fragment;
+import androidx.preference.Preference;
+
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
+public class ManualDurationPreferenceControllerTest {
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    private Context mContext;
+    private ContentResolver mContentResolver;
+
+    @Mock
+    private ZenModesBackend mBackend;
+
+    @Mock
+    private Fragment mParent;
+
+    private ManualDurationPreferenceController mPrefController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = RuntimeEnvironment.application;
+        mContentResolver = RuntimeEnvironment.application.getContentResolver();
+        mPrefController = new ManualDurationPreferenceController(mContext, "key", mParent,
+                mBackend);
+    }
+
+    @Test
+    public void testIsAvailable_onlyForManualDnd() {
+        assertThat(mPrefController.isAvailable(TestModeBuilder.EXAMPLE)).isFalse();
+        assertThat(mPrefController.isAvailable(TestModeBuilder.MANUAL_DND_ACTIVE)).isTrue();
+        assertThat(mPrefController.isAvailable(TestModeBuilder.MANUAL_DND_INACTIVE)).isTrue();
+    }
+
+    @Test
+    public void testUpdateState_durationSummary() {
+        Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_DURATION,
+                45 /* minutes */);
+
+        Preference pref = new Preference(mContext);
+        mPrefController.updateState(pref, TestModeBuilder.EXAMPLE);
+
+        assertThat(pref.getSummary().toString()).contains("45");
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/SetupInterstitialActivityTest.java b/tests/robotests/src/com/android/settings/notification/modes/SetupInterstitialActivityTest.java
new file mode 100644
index 0000000..d60f073
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/SetupInterstitialActivityTest.java
@@ -0,0 +1,153 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
+
+import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT;
+import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS;
+
+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 static org.robolectric.Shadows.shadowOf;
+
+import android.content.Intent;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.FrameLayout;
+import android.widget.ImageView;
+
+import androidx.test.core.app.ActivityScenario;
+
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class SetupInterstitialActivityTest {
+    private static final String MODE_ID = "modeId";
+
+    @Mock
+    private ZenModesBackend mBackend;
+
+    @Mock
+    private ImageView mImage;
+
+    @Mock
+    private Drawable mDrawable;
+
+    @Mock
+    private FrameLayout mFrame;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        // set global backend instance so that when the interstitial activity launches, it'll get
+        // this mock backend
+        ZenModesBackend.setInstance(mBackend);
+
+        when(mBackend.getMode(MODE_ID)).thenReturn(new TestModeBuilder().build());
+        when(mImage.getDrawable()).thenReturn(mDrawable);
+        when(mImage.getLayoutParams()).thenReturn(new ViewGroup.LayoutParams(0, 0));
+    }
+
+    @Test
+    public void invalidIntent_doesNotQueryBackend() {
+        // Mode is set up sensibly
+        ZenMode mode = new TestModeBuilder().setId(MODE_ID).setEnabled(false).build();
+        when(mBackend.getMode(MODE_ID)).thenReturn(mode);
+
+        // but the intent is lacking the zen mode extra
+        ActivityScenario<SetupInterstitialActivity> scenario =
+                ActivityScenario.launch(new Intent(Intent.ACTION_MAIN)
+                        .setClass(RuntimeEnvironment.getApplication(),
+                                SetupInterstitialActivity.class));
+        // creating the scenario takes it through onResume(), which would query the backend if
+        // it had mode data.
+        scenario.onActivity(activity -> {
+            assertThat(activity.isFinishing()).isTrue();
+            verify(mBackend, never()).getMode(any());
+        });
+        scenario.close();
+    }
+
+    @Test
+    public void invalidModeId_doesNotCrash() {
+        when(mBackend.getMode(MODE_ID)).thenReturn(null);
+        ActivityScenario<SetupInterstitialActivity> scenario =
+                ActivityScenario.launch(new Intent(Intent.ACTION_MAIN)
+                        .setClass(RuntimeEnvironment.getApplication(),
+                                SetupInterstitialActivity.class)
+                        .putExtra(EXTRA_AUTOMATIC_ZEN_RULE_ID, MODE_ID));
+        // do nothing, but it would crash if attempting to work with a null mode at any point
+        scenario.onActivity(activity -> {
+            assertThat(activity.isFinishing()).isTrue();
+        });
+        scenario.close();
+    }
+
+    @Test
+    public void enableButton_enablesModeAndRedirectsToModePage() {
+        ZenMode mode = new TestModeBuilder().setId(MODE_ID).setEnabled(false).build();
+        when(mBackend.getMode(MODE_ID)).thenReturn(mode);
+
+        // Set up scenario with this mode information
+        ActivityScenario<SetupInterstitialActivity> scenario =
+                ActivityScenario.launch(new Intent(Intent.ACTION_MAIN)
+                        .setClass(RuntimeEnvironment.getApplication(),
+                                SetupInterstitialActivity.class)
+                        .putExtra(EXTRA_AUTOMATIC_ZEN_RULE_ID, MODE_ID));
+        scenario.onActivity(activity -> {
+            View.OnClickListener listener = activity.enableButtonListener(MODE_ID, mode.getType());
+
+            // simulate button press even though we don't actually have a button
+            listener.onClick(null);
+
+            // verify that the backend got a request to enable the mode
+            ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
+            verify(mBackend).updateMode(captor.capture());
+            ZenMode updatedMode = captor.getValue();
+            assertThat(updatedMode.getId()).isEqualTo(MODE_ID);
+            assertThat(updatedMode.isEnabled()).isTrue();
+
+            // confirm that the next activity is the mode page
+            Intent openModePageIntent = shadowOf(activity).getNextStartedActivity();
+            assertThat(openModePageIntent.getStringExtra(EXTRA_SHOW_FRAGMENT))
+                    .isEqualTo(ZenModeFragment.class.getName());
+            Bundle fragmentArgs = openModePageIntent.getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS);
+            assertThat(fragmentArgs).isNotNull();
+            assertThat(fragmentArgs.getString(EXTRA_AUTOMATIC_ZEN_RULE_ID)).isEqualTo(MODE_ID);
+        });
+        scenario.close();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/TestableCircularIconsPreference.java b/tests/robotests/src/com/android/settings/notification/modes/TestableCircularIconsPreference.java
new file mode 100644
index 0000000..6c1b059
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/TestableCircularIconsPreference.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import android.content.Context;
+
+import androidx.preference.PreferenceViewHolder;
+
+class TestableCircularIconsPreference extends CircularIconsPreference {
+
+    private PreferenceViewHolder mLastViewHolder;
+
+    TestableCircularIconsPreference(Context context) {
+        super(context);
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+        mLastViewHolder = holder;
+    }
+
+    @Override
+    protected void notifyChanged() {
+        // Calling androidx.preference.Preference.notifyChanged() will, through an internal
+        // listener added by PreferenceGroupAdapter, eventually rebind the Preference to its
+        // corresponding view in the RecyclerView. This will not happen to a Preference that is
+        // created without a proper PreferencesScreen/RecyclerView/etc, so we simulate it here.
+        if (mLastViewHolder != null) {
+            onBindViewHolder(mLastViewHolder);
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeAddBypassingAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeAddBypassingAppsPreferenceControllerTest.java
index bca1ccf..c524ab9 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeAddBypassingAppsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeAddBypassingAppsPreferenceControllerTest.java
@@ -24,10 +24,13 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.app.Flags;
 import android.app.NotificationChannel;
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.ParceledListSlice;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
 
 import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
@@ -37,6 +40,7 @@
 import com.android.settingslib.applications.ApplicationsState;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -50,8 +54,12 @@
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
 public class ZenModeAddBypassingAppsPreferenceControllerTest {
 
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
     @Mock
     private NotificationBackend mBackend;
     @Mock
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeAllBypassingAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeAllBypassingAppsPreferenceControllerTest.java
index 3114a2d..a7d52b1 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeAllBypassingAppsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeAllBypassingAppsPreferenceControllerTest.java
@@ -27,10 +27,13 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.app.Flags;
 import android.app.NotificationChannel;
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.ParceledListSlice;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
 
 import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
@@ -40,6 +43,7 @@
 import com.android.settingslib.applications.ApplicationsState;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -52,7 +56,12 @@
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
 public class ZenModeAllBypassingAppsPreferenceControllerTest {
+
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
     private ZenModeAllBypassingAppsPreferenceController mController;
 
     private Context mContext;
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeAppsLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeAppsLinkPreferenceControllerTest.java
index c8b1185..fa83f30 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeAppsLinkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeAppsLinkPreferenceControllerTest.java
@@ -16,64 +16,83 @@
 
 package com.android.settings.notification.modes;
 
+import static android.app.NotificationManager.INTERRUPTION_FILTER_NONE;
 import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
 
-import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
-
+import static com.google.common.base.Preconditions.checkNotNull;
 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.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
+import static org.robolectric.Shadows.shadowOf;
 
-import android.app.AutomaticZenRule;
 import android.app.Flags;
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
-import android.net.Uri;
+import android.content.pm.UserInfo;
+import android.graphics.drawable.ColorDrawable;
 import android.os.Bundle;
+import android.os.UserHandle;
+import android.os.UserManager;
 import android.platform.test.annotations.EnableFlags;
 import android.platform.test.flag.junit.SetFlagsRule;
 import android.service.notification.ZenPolicy;
+import android.view.LayoutInflater;
+import android.view.View;
 
 import androidx.fragment.app.Fragment;
-import androidx.preference.Preference;
+import androidx.preference.PreferenceViewHolder;
 
+import com.android.settings.R;
 import com.android.settings.SettingsActivity;
-import com.android.settings.notification.NotificationBackend;
 import com.android.settingslib.applications.ApplicationsState;
+import com.android.settingslib.applications.ApplicationsState.AppEntry;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
-import com.android.settingslib.widget.SelectorWithWidgetPreference;
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.util.concurrent.MoreExecutors;
 
 import org.junit.Before;
 import org.junit.Rule;
 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.util.ReflectionHelpers;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Random;
 
 @RunWith(RobolectricTestRunner.class)
 @EnableFlags(Flags.FLAG_MODES_UI)
 public final class ZenModeAppsLinkPreferenceControllerTest {
 
     private ZenModeAppsLinkPreferenceController mController;
+    private CircularIconsPreference mPreference;
+    private CircularIconsView mIconsView;
 
     private Context mContext;
     @Mock
     private ZenModesBackend mZenModesBackend;
 
     @Mock
-    private NotificationBackend mNotificationBackend;
+    private ZenHelperBackend mHelperBackend;
 
     @Mock
     private ApplicationsState mApplicationsState;
@@ -87,31 +106,43 @@
     public void setup() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
+        CircularIconSet.sExecutorService = MoreExecutors.newDirectExecutorService();
+        mPreference = new TestableCircularIconsPreference(mContext);
         when(mApplicationsState.newSession(any(), any())).thenReturn(mSession);
+
         mController = new ZenModeAppsLinkPreferenceController(
                 mContext, "controller_key", mock(Fragment.class), mApplicationsState,
-                mZenModesBackend);
-        ReflectionHelpers.setField(mController, "mNotificationBackend", mNotificationBackend);
+                mZenModesBackend, mHelperBackend,
+                /* appIconRetriever= */ appInfo -> new ColorDrawable());
+
+        // Ensure the preference view is bound & measured (needed to add child ImageViews).
+        View preferenceView = LayoutInflater.from(mContext).inflate(mPreference.getLayoutResource(),
+                null);
+        mIconsView = checkNotNull(preferenceView.findViewById(R.id.circles_container));
+        mIconsView.setUiExecutor(MoreExecutors.directExecutor());
+        preferenceView.measure(View.MeasureSpec.makeMeasureSpec(1000, View.MeasureSpec.EXACTLY),
+                View.MeasureSpec.makeMeasureSpec(1000, View.MeasureSpec.EXACTLY));
+        PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(preferenceView);
+        mPreference.onBindViewHolder(holder);
     }
 
-    private ApplicationsState.AppEntry createAppEntry(String packageName, String label) {
-        ApplicationsState.AppEntry entry = mock(ApplicationsState.AppEntry.class);
-        entry.info = new ApplicationInfo();
-        entry.info.packageName = packageName;
-        entry.label = label;
-        entry.info.uid = 0;
-        return entry;
+    private AppEntry createAppEntry(String packageName, int userId) {
+        ApplicationInfo applicationInfo = new ApplicationInfo();
+        applicationInfo.packageName = packageName;
+        applicationInfo.uid = UserHandle.getUid(userId, new Random().nextInt(100));
+        AppEntry appEntry = new AppEntry(mContext, applicationInfo, 1);
+        appEntry.label = packageName;
+        return appEntry;
     }
 
     private ZenMode createPriorityChannelsZenMode() {
-        return new ZenMode("id", new AutomaticZenRule.Builder("Bedtime",
-                Uri.parse("bed"))
-                .setType(AutomaticZenRule.TYPE_BEDTIME)
+        return new TestModeBuilder()
+                .setId("id")
                 .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
                 .setZenPolicy(new ZenPolicy.Builder()
                         .allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY)
                         .build())
-                .build(), true);
+                .build();
     }
 
     @Test
@@ -120,76 +151,258 @@
     }
 
     @Test
+    public void updateState_dnd_enabled() {
+        ZenMode dnd = TestModeBuilder.MANUAL_DND_ACTIVE;
+        mController.updateState(mPreference, dnd);
+        assertThat(mPreference.isEnabled()).isTrue();
+    }
+
+    @Test
+    public void updateState_specialDnd_disabled() {
+        ZenMode specialDnd = TestModeBuilder.manualDnd(INTERRUPTION_FILTER_NONE, true);
+        mController.updateState(mPreference, specialDnd);
+        assertThat(mPreference.isEnabled()).isFalse();
+    }
+
+    @Test
+    public void testUpdateState_disabled() {
+        ZenMode zenMode = new TestModeBuilder()
+                .setEnabled(false)
+                .build();
+
+        mController.updateState(mPreference, zenMode);
+
+        assertThat(mPreference.isEnabled()).isFalse();
+    }
+
+    @Test
     public void testUpdateSetsIntent() {
-        // Creates the preference
-        SelectorWithWidgetPreference preference = mock(SelectorWithWidgetPreference.class);
         // Create a zen mode that allows priority channels to breakthrough.
         ZenMode zenMode = createPriorityChannelsZenMode();
 
-        // Capture the intent
-        ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
-        mController.updateState((Preference) preference, zenMode);
-        verify(preference).setIntent(captor.capture());
-        Intent launcherIntent = captor.getValue();
+        mController.updateState(mPreference, zenMode);
+        Intent launcherIntent = mPreference.getIntent();
 
         assertThat(launcherIntent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
                 .isEqualTo("com.android.settings.notification.modes.ZenModeAppsFragment");
         assertThat(launcherIntent.getIntExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY,
-                -1)).isEqualTo(0);
+                -1)).isEqualTo(SettingsEnums.ZEN_PRIORITY_MODE);
 
         Bundle bundle = launcherIntent.getBundleExtra(
                 SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS);
         assertThat(bundle).isNotNull();
-        assertThat(bundle.getString(MODE_ID)).isEqualTo("id");
+        assertThat(bundle.getString(EXTRA_AUTOMATIC_ZEN_RULE_ID)).isEqualTo("id");
     }
 
     @Test
     public void testGetAppsBypassingDnd() {
-        ApplicationsState.AppEntry entry = createAppEntry("test", "testLabel");
-        ApplicationsState.AppEntry entryConv = createAppEntry("test_conv", "test_convLabel");
-        List<ApplicationsState.AppEntry> appEntries = List.of(entry, entryConv);
+        ApplicationsState.AppEntry app1 = createAppEntry("app1", mContext.getUserId());
+        ApplicationsState.AppEntry app2 = createAppEntry("app2", mContext.getUserId());
+        List<ApplicationsState.AppEntry> allApps = List.of(app1, app2);
 
-        when(mNotificationBackend.getPackagesBypassingDnd(mContext.getUserId(),
-                false)).thenReturn(List.of("test"));
+        when(mHelperBackend.getPackagesBypassingDnd(mContext.getUserId(),
+                false)).thenReturn(List.of("app1"));
 
-        assertThat(mController.getAppsBypassingDnd(appEntries)).containsExactly("testLabel");
+        assertThat(mController.getAppsBypassingDndSortedByName(allApps)).containsExactly(app1);
     }
 
     @Test
-    public void testUpdateTriggersRebuild() {
-        // Creates the preference
-        SelectorWithWidgetPreference preference = mock(SelectorWithWidgetPreference.class);
+    public void testGetAppsBypassingDnd_sortsByName() {
+        ApplicationsState.AppEntry appC = createAppEntry("C", mContext.getUserId());
+        ApplicationsState.AppEntry appA = createAppEntry("A", mContext.getUserId());
+        ApplicationsState.AppEntry appB = createAppEntry("B", mContext.getUserId());
+        List<ApplicationsState.AppEntry> allApps = List.of(appC, appA, appB);
+
+        when(mHelperBackend.getPackagesBypassingDnd(eq(mContext.getUserId()), anyBoolean()))
+                .thenReturn(List.of("B", "C", "A"));
+
+        assertThat(mController.getAppsBypassingDndSortedByName(allApps))
+                .containsExactly(appA, appB, appC).inOrder();
+    }
+
+    @Test
+    public void testGetAppsBypassingDnd_withWorkProfile_includesProfileAndSorts() {
+        UserInfo workProfile = new UserInfo(10, "Work Profile", 0);
+        workProfile.userType = UserManager.USER_TYPE_PROFILE_MANAGED;
+        UserManager userManager = mContext.getSystemService(UserManager.class);
+        shadowOf(userManager).addProfile(mContext.getUserId(), 10, workProfile);
+
+        ApplicationsState.AppEntry personalCopy = createAppEntry("app", mContext.getUserId());
+        ApplicationsState.AppEntry workCopy = createAppEntry("app", 10);
+        ApplicationsState.AppEntry otherPersonal = createAppEntry("p2", mContext.getUserId());
+        ApplicationsState.AppEntry otherWork = createAppEntry("w2", 10);
+        List<ApplicationsState.AppEntry> allApps = List.of(workCopy, personalCopy, otherPersonal,
+                otherWork);
+
+        when(mHelperBackend.getPackagesBypassingDnd(eq(mContext.getUserId()), anyBoolean()))
+                .thenReturn(List.of("app", "p2"));
+        when(mHelperBackend.getPackagesBypassingDnd(eq(10), anyBoolean()))
+                .thenReturn(List.of("app"));
+
+        // Personal copy before work copy (names match).
+        assertThat(mController.getAppsBypassingDndSortedByName(allApps))
+                .containsExactly(personalCopy, workCopy, otherPersonal).inOrder();
+    }
+
+    @Test
+    public void updateState_withPolicyAllowingNoChannels_doesNotLoadPriorityApps() {
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder().allowPriorityChannels(false).build())
+                .build();
+
+        mController.updateState(mPreference, zenMode);
+
+        verifyNoMoreInteractions(mSession);
+        verify(mHelperBackend, never()).getPackagesBypassingDnd(anyInt(), anyBoolean());
+        assertThat(String.valueOf(mPreference.getSummary())).isEqualTo("None");
+    }
+
+    @Test
+    public void updateState_withPolicyAllowingPriorityChannels_triggersRebuild() {
         // Create a zen mode that allows priority channels to breakthrough.
         ZenMode zenMode = createPriorityChannelsZenMode();
 
         // Create some applications.
-        ArrayList<ApplicationsState.AppEntry> appEntries =
-                new ArrayList<ApplicationsState.AppEntry>();
-        appEntries.add(createAppEntry("test", "pkgLabel"));
+        ArrayList<ApplicationsState.AppEntry> appEntries = new ArrayList<>();
+        appEntries.add(createAppEntry("test", mContext.getUserId()));
 
-        when(mNotificationBackend.getPackagesBypassingDnd(
+        when(mHelperBackend.getPackagesBypassingDnd(
                 mContext.getUserId(), false))
                 .thenReturn(List.of("test"));
 
         // Updates the preference with the zen mode. We expect that this causes the app session
-        // to trigger a rebuild.
-        mController.updateZenMode((Preference) preference, zenMode);
+        // to trigger a rebuild (and display a temporary text in the meantime).
+        mController.updateZenMode(mPreference, zenMode);
         verify(mSession).rebuild(any(), any(), eq(false));
+        assertThat(String.valueOf(mPreference.getSummary())).isEqualTo("Calculating…");
 
         // Manually triggers the callback that will happen on rebuild.
         mController.mAppSessionCallbacks.onRebuildComplete(appEntries);
-        verify(preference).setSummary("pkgLabel can interrupt");
+        assertThat(String.valueOf(mPreference.getSummary())).isEqualTo("test can interrupt");
+    }
+
+    @Test
+    public void updateState_withPolicyAllowingPriorityChannels_loadsIcons() {
+        ZenMode zenMode = createPriorityChannelsZenMode();
+
+        mController.updateState(mPreference, zenMode);
+        when(mHelperBackend.getPackagesBypassingDnd(anyInt(), anyBoolean()))
+                .thenReturn(ImmutableList.of("test1", "test2"));
+        ArrayList<ApplicationsState.AppEntry> appEntries = new ArrayList<>();
+        appEntries.add(createAppEntry("test1", mContext.getUserId()));
+        appEntries.add(createAppEntry("test2", mContext.getUserId()));
+        mController.mAppSessionCallbacks.onRebuildComplete(appEntries);
+
+        assertThat(mIconsView.getDisplayedIcons().icons()).hasSize(2);
     }
 
     @Test
     public void testOnPackageListChangedTriggersRebuild() {
-        mController.mAppSessionCallbacks.onPackageListChanged();
+        // Create a zen mode that allows priority channels to breakthrough.
+        ZenMode zenMode = createPriorityChannelsZenMode();
+        mController.updateState(mPreference, zenMode);
         verify(mSession).rebuild(any(), any(), eq(false));
+
+        mController.mAppSessionCallbacks.onPackageListChanged();
+        verify(mSession, times(2)).rebuild(any(), any(), eq(false));
     }
 
     @Test
     public void testOnLoadEntriesCompletedTriggersRebuild() {
-        mController.mAppSessionCallbacks.onLoadEntriesCompleted();
+        // Create a zen mode that allows priority channels to breakthrough.
+        ZenMode zenMode = createPriorityChannelsZenMode();
+        mController.updateState(mPreference, zenMode);
         verify(mSession).rebuild(any(), any(), eq(false));
+
+        mController.mAppSessionCallbacks.onLoadEntriesCompleted();
+        verify(mSession, times(2)).rebuild(any(), any(), eq(false));
+    }
+
+    @Test
+    public void updateState_noneToPriority_loadsBypassingAppsAndListensForChanges() {
+        ZenMode zenModeWithNone = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder().allowPriorityChannels(false).build())
+                .build();
+        ZenMode zenModeWithPriority = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder().allowPriorityChannels(true).build())
+                .build();
+        ArrayList<ApplicationsState.AppEntry> appEntries = new ArrayList<>();
+        appEntries.add(createAppEntry("test", mContext.getUserId()));
+        when(mHelperBackend.getPackagesBypassingDnd(mContext.getUserId(), false))
+                .thenReturn(List.of("test"));
+
+        mController.updateState(mPreference, zenModeWithNone);
+
+        assertThat(mIconsView.getDisplayedIcons().icons()).hasSize(0);
+        verifyNoMoreInteractions(mApplicationsState);
+        verifyNoMoreInteractions(mSession);
+
+        mController.updateState(mPreference, zenModeWithPriority);
+
+        verify(mApplicationsState).newSession(any(), any());
+        verify(mSession).rebuild(any(), any(), anyBoolean());
+        mController.mAppSessionCallbacks.onRebuildComplete(appEntries);
+        assertThat(mIconsView.getDisplayedIcons().icons()).hasSize(1);
+    }
+
+    @Test
+    public void updateState_priorityToNone_clearsBypassingAppsAndStopsListening() {
+        ZenMode zenModeWithNone = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder().allowPriorityChannels(false).build())
+                .build();
+        ZenMode zenModeWithPriority = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder().allowPriorityChannels(true).build())
+                .build();
+        ArrayList<ApplicationsState.AppEntry> appEntries = new ArrayList<>();
+        appEntries.add(createAppEntry("test", mContext.getUserId()));
+        when(mHelperBackend.getPackagesBypassingDnd(mContext.getUserId(), false))
+                .thenReturn(List.of("test"));
+
+        mController.updateState(mPreference, zenModeWithPriority);
+
+        verify(mApplicationsState).newSession(any(), any());
+        verify(mSession).rebuild(any(), any(), anyBoolean());
+        mController.mAppSessionCallbacks.onRebuildComplete(appEntries);
+        assertThat(mIconsView.getDisplayedIcons().icons()).hasSize(1);
+
+        mController.updateState(mPreference, zenModeWithNone);
+
+        assertThat(mIconsView.getDisplayedIcons().icons()).hasSize(0);
+        verify(mSession).deactivateSession();
+        verifyNoMoreInteractions(mSession);
+        verifyNoMoreInteractions(mApplicationsState);
+
+        // An errant callback (triggered by onResume and received asynchronously after
+        // updateState()) is ignored.
+        mController.mAppSessionCallbacks.onRebuildComplete(appEntries);
+
+        assertThat(mIconsView.getDisplayedIcons().icons()).hasSize(0);
+    }
+
+    @Test
+    public void updateState_priorityToNoneToPriority_restartsListening() {
+        ZenMode zenModeWithNone = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder().allowPriorityChannels(false).build())
+                .build();
+        ZenMode zenModeWithPriority = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder().allowPriorityChannels(true).build())
+                .build();
+
+        mController.updateState(mPreference, zenModeWithPriority);
+        verify(mApplicationsState).newSession(any(), any());
+        verify(mSession).rebuild(any(), any(), anyBoolean());
+
+        mController.updateState(mPreference, zenModeWithNone);
+        verifyNoMoreInteractions(mApplicationsState);
+        verify(mSession).deactivateSession();
+
+        mController.updateState(mPreference, zenModeWithPriority);
+        verifyNoMoreInteractions(mApplicationsState);
+        verify(mSession).activateSession();
+    }
+
+    @Test
+    public void testNoCrashIfAppsReadyBeforeRuleAvailable() {
+        mController.mAppSessionCallbacks.onLoadEntriesCompleted();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeAppsPreferenceControllerTest.java
index 750453d..1140238 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeAppsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeAppsPreferenceControllerTest.java
@@ -16,11 +16,8 @@
 
 package com.android.settings.notification.modes;
 
-import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_NONE;
 import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
 
-import static com.android.settings.notification.modes.ZenModeAppsPreferenceController.KEY_ALL;
 import static com.android.settings.notification.modes.ZenModeAppsPreferenceController.KEY_NONE;
 import static com.android.settings.notification.modes.ZenModeAppsPreferenceController.KEY_PRIORITY;
 
@@ -29,10 +26,8 @@
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 
-import android.app.AutomaticZenRule;
 import android.app.Flags;
 import android.content.Context;
-import android.net.Uri;
 import android.platform.test.annotations.EnableFlags;
 import android.platform.test.flag.junit.SetFlagsRule;
 import android.service.notification.ZenPolicy;
@@ -42,6 +37,9 @@
 import androidx.preference.PreferenceScreen;
 import androidx.preference.TwoStatePreference;
 
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
 import com.android.settingslib.widget.SelectorWithWidgetPreference;
 
 import org.junit.Before;
@@ -62,11 +60,9 @@
     @Mock
     private ZenModesBackend mBackend;
     private ZenModeAppsPreferenceController mPriorityController;
-    private ZenModeAppsPreferenceController mAllController;
     private ZenModeAppsPreferenceController mNoneController;
 
     private SelectorWithWidgetPreference mPriorityPref;
-    private SelectorWithWidgetPreference mAllPref;
     private SelectorWithWidgetPreference mNonePref;
     private PreferenceCategory mPrefCategory;
     private PreferenceScreen mPreferenceScreen;
@@ -81,10 +77,8 @@
 
         mPriorityController = new ZenModeAppsPreferenceController(mContext, KEY_PRIORITY, mBackend);
         mNoneController = new ZenModeAppsPreferenceController(mContext, KEY_NONE, mBackend);
-        mAllController =  new ZenModeAppsPreferenceController(mContext, KEY_ALL, mBackend);
 
         mPriorityPref = makePreference(KEY_PRIORITY, mPriorityController);
-        mAllPref = makePreference(KEY_ALL, mAllController);
         mNonePref = makePreference(KEY_NONE, mNoneController);
 
         mPrefCategory = new PreferenceCategory(mContext);
@@ -95,10 +89,8 @@
 
         mPreferenceScreen.addPreference(mPrefCategory);
         mPrefCategory.addPreference(mPriorityPref);
-        mPrefCategory.addPreference(mAllPref);
         mPrefCategory.addPreference(mNonePref);
 
-        mAllController.displayPreference(mPreferenceScreen);
         mPriorityController.displayPreference(mPreferenceScreen);
         mNoneController.displayPreference(mPreferenceScreen);
     }
@@ -112,45 +104,14 @@
     }
 
     @Test
-    public void testUpdateState_All() {
-        TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setZenPolicy(new ZenPolicy.Builder()
-                                .allowChannels(ZenMode.CHANNEL_POLICY_ALL)
-                                .build())
-                        .build(), true);
-        mAllController.updateZenMode(preference, zenMode);
-
-        verify(preference).setChecked(true);
-    }
-
-    @Test
-    public void testUpdateState_All_Unchecked() {
-        TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setZenPolicy(new ZenPolicy.Builder()
-                                .allowChannels(ZenPolicy.CHANNEL_POLICY_NONE)
-                                .build())
-                        .build(), true);
-        mAllController.updateZenMode(preference, zenMode);
-
-        verify(preference).setChecked(false);
-    }
-
-    @Test
     public void testUpdateState_None() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setZenPolicy(new ZenPolicy.Builder()
-                                .allowChannels(ZenPolicy.CHANNEL_POLICY_NONE)
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowChannels(ZenPolicy.CHANNEL_POLICY_NONE)
+                        .build())
+                .build();
+
         mNoneController.updateZenMode(preference, zenMode);
 
         verify(preference).setChecked(true);
@@ -159,13 +120,12 @@
     @Test
     public void testUpdateState_None_Unchecked() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setZenPolicy(new ZenPolicy.Builder()
-                                .allowChannels(ZenMode.CHANNEL_POLICY_ALL)
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY)
+                        .build())
+                .build();
+
         mNoneController.updateZenMode(preference, zenMode);
 
         verify(preference).setChecked(false);
@@ -174,13 +134,12 @@
     @Test
     public void testUpdateState_Priority() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setZenPolicy(new ZenPolicy.Builder()
-                                .allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY)
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY)
+                        .build())
+                .build();
+
         mPriorityController.updateZenMode(preference, zenMode);
 
         verify(preference).setChecked(true);
@@ -189,99 +148,32 @@
     @Test
     public void testUpdateState_Priority_Unchecked() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setZenPolicy(new ZenPolicy.Builder()
-                                .allowChannels(ZenPolicy.CHANNEL_POLICY_NONE)
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowChannels(ZenPolicy.CHANNEL_POLICY_NONE)
+                        .build())
+                .build();
+
         mPriorityController.updateZenMode(preference, zenMode);
 
         verify(preference).setChecked(false);
     }
 
     @Test
-    public void testOnPreferenceChange_All() {
-        TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_NONE)
-                        .setZenPolicy(new ZenPolicy.Builder()
-                                .allowChannels(ZenMode.CHANNEL_POLICY_ALL)
-                                .build())
-                        .build(), true);
-
-        mAllController.updateZenMode(preference, zenMode);
-        mAllController.onPreferenceChange(preference, true);
-        ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
-        verify(mBackend).updateMode(captor.capture());
-
-        assertThat(captor.getValue().getPolicy().getAllowedChannels())
-                .isEqualTo(ZenMode.CHANNEL_POLICY_ALL);
-    }
-
-    @Test
-    public void testPreferenceClick_passesCorrectCheckedState_All() {
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setZenPolicy(new ZenPolicy.Builder()
-                                .allowChannels(ZenPolicy.CHANNEL_POLICY_NONE)
-                                .build())
-                        .build(), true);
-
-
-        mAllController.updateZenMode(mAllPref, zenMode);
-        mNoneController.updateZenMode(mNonePref, zenMode);
-        mPriorityController.updateZenMode(mPriorityPref, zenMode);
-
-        // MPME is checked; ALL and PRIORITY are unchecked.
-        assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_NONE))
-                .isChecked());
-        assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_ALL))
-                .isChecked());
-        assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
-                .isChecked());
-
-        mPrefCategory.findPreference(KEY_ALL).performClick();
-
-        ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
-        verify(mBackend).updateMode(captor.capture());
-        // Checks the policy value for ALL is set.
-        // The important part is that the interruption filter is propagated to the backend.
-        assertThat(captor.getValue().getRule().getInterruptionFilter())
-                .isEqualTo(INTERRUPTION_FILTER_ALL);
-        // ALL is now checked; others are unchecked.
-        assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_ALL))
-                .isChecked());
-        assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_NONE))
-                .isChecked());
-        assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
-                .isChecked());
-    }
-
-    @Test
     public void testPreferenceClick_passesCorrectCheckedState_None() {
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setZenPolicy(new ZenPolicy.Builder()
-                                .allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY)
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY)
+                        .build())
+                .build();
 
-        mAllController.updateZenMode(mAllPref, zenMode);
         mNoneController.updateZenMode(mNonePref, zenMode);
         mPriorityController.updateZenMode(mPriorityPref, zenMode);
 
-        assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_ALL))
-                .isChecked());
-        assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_NONE))
-                .isChecked());
-        assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
-                .isChecked());
+        assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_NONE))
+                .isChecked()).isFalse();
+        assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
+                .isChecked()).isTrue();
 
         // Click on NONE
         mPrefCategory.findPreference(KEY_NONE).performClick();
@@ -293,35 +185,31 @@
         // See AbstractZenModePreferenceController.
         assertThat(captor.getValue().getRule().getInterruptionFilter())
                 .isEqualTo(INTERRUPTION_FILTER_PRIORITY);
-        // NONE is now checked; others are unchecked.
+
+        // After screen is refreshed, NONE is now checked; others are unchecked.
+        mNoneController.updateZenMode(mNonePref, captor.getValue());
+        mPriorityController.updateZenMode(mPriorityPref, captor.getValue());
         assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_NONE))
-                .isChecked());
-        assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_ALL))
-                .isChecked());
-        assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
-                .isChecked());
+                .isChecked()).isTrue();
+        assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
+                .isChecked()).isFalse();
     }
 
     @Test
     public void testPreferenceClick_passesCorrectCheckedState_Priority() {
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setZenPolicy(new ZenPolicy.Builder()
-                                .allowChannels(ZenPolicy.CHANNEL_POLICY_NONE)
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowChannels(ZenPolicy.CHANNEL_POLICY_NONE)
+                        .build())
+                .build();
 
-        mAllController.updateZenMode(mAllPref, zenMode);
         mNoneController.updateZenMode(mNonePref, zenMode);
         mPriorityController.updateZenMode(mPriorityPref, zenMode);
 
         assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_NONE))
-                .isChecked());
-        assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_ALL))
-                .isChecked());
-        assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
-                .isChecked());
+                .isChecked()).isTrue();
+        assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
+                .isChecked()).isFalse();
 
         // Click on PRIORITY
         mPrefCategory.findPreference(KEY_PRIORITY).performClick();
@@ -331,13 +219,13 @@
         // Checks the policy value for PRIORITY is propagated to the backend.
         assertThat(captor.getValue().getRule().getInterruptionFilter())
                 .isEqualTo(INTERRUPTION_FILTER_PRIORITY);
-        // PRIORITY is now checked; others are unchecked.
-        assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
-                .isChecked());
-        assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_ALL))
-                .isChecked());
-        assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_NONE))
-                .isChecked());
-    }
 
+        // After screen is refreshed, PRIORITY is now checked; others are unchecked.
+        mNoneController.updateZenMode(mNonePref, captor.getValue());
+        mPriorityController.updateZenMode(mPriorityPref, captor.getValue());
+        assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
+                .isChecked()).isTrue();
+        assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_NONE))
+                .isChecked()).isFalse();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeButtonPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeButtonPreferenceControllerTest.java
index bda3843..159dada 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeButtonPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeButtonPreferenceControllerTest.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.notification.modes;
 
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.anyInt;
@@ -25,15 +23,19 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.AutomaticZenRule;
 import android.app.Flags;
+import android.content.ContentResolver;
 import android.content.Context;
-import android.net.Uri;
 import android.platform.test.annotations.EnableFlags;
 import android.platform.test.flag.junit.SetFlagsRule;
-import android.service.notification.ZenPolicy;
+import android.provider.Settings;
 import android.widget.Button;
 
+import androidx.fragment.app.Fragment;
+
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
 import com.android.settingslib.widget.LayoutPreference;
 
 import org.junit.Before;
@@ -45,6 +47,8 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 
+import java.time.Duration;
+
 @EnableFlags(Flags.FLAG_MODES_UI)
 @RunWith(RobolectricTestRunner.class)
 public final class ZenModeButtonPreferenceControllerTest {
@@ -54,60 +58,66 @@
     @Rule
     public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
 
-
     private Context mContext;
+    private ContentResolver mContentResolver;
+
     @Mock
     private ZenModesBackend mBackend;
 
+    @Mock
+    private Fragment mParent;
+
     @Before
     public void setup() {
         MockitoAnnotations.initMocks(this);
 
         mContext = RuntimeEnvironment.application;
+        mContentResolver = RuntimeEnvironment.application.getContentResolver();
 
         mController = new ZenModeButtonPreferenceController(
-                mContext, "something", mBackend);
+                mContext, "something", mParent, mBackend);
     }
 
     @Test
     public void isAvailable_notIfAppOptsOut() {
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                .setType(AutomaticZenRule.TYPE_DRIVING)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
+        ZenMode zenMode = new TestModeBuilder()
                 .setManualInvocationAllowed(false)
-                .setEnabled(true)
-                .build(), false);
+                .build();
         mController.setZenMode(zenMode);
         assertThat(mController.isAvailable()).isFalse();
     }
 
     @Test
-    public void isAvailable_notIfModeDisabled() {
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
-                        .setManualInvocationAllowed(true)
-                        .setEnabled(false)
-                        .build(), false);
+    public void isAvailable_ifModeActiveEvenIfAppOptsOut() {
+        ZenMode zenMode = new TestModeBuilder()
+                .setManualInvocationAllowed(false)
+                .setActive(true)
+                .build();
         mController.setZenMode(zenMode);
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void isAvailable_notIfModeDisabled() {
+        ZenMode zenMode = new TestModeBuilder()
+                .setManualInvocationAllowed(true)
+                .setEnabled(false)
+                .build();
+
+        mController.setZenMode(zenMode);
+
         assertThat(mController.isAvailable()).isFalse();
     }
 
     @Test
     public void isAvailable_appOptedIn_modeEnabled() {
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
-                        .setManualInvocationAllowed(true)
-                        .setEnabled(true)
-                        .build(), false);
+        ZenMode zenMode = new TestModeBuilder()
+                .setManualInvocationAllowed(true)
+                .setEnabled(true)
+                .build();
+
         mController.setZenMode(zenMode);
+
         assertThat(mController.isAvailable()).isTrue();
     }
 
@@ -116,15 +126,12 @@
         Button button = new Button(mContext);
         LayoutPreference pref = mock(LayoutPreference.class);
         when(pref.findViewById(anyInt())).thenReturn(button);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
-                        .setManualInvocationAllowed(true)
-                        .setEnabled(true)
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setActive(true)
+                .build();
+
         mController.updateZenMode(pref, zenMode);
+
         assertThat(button.getText().toString()).contains("off");
         assertThat(button.hasOnClickListeners()).isTrue();
     }
@@ -134,15 +141,13 @@
         Button button = new Button(mContext);
         LayoutPreference pref = mock(LayoutPreference.class);
         when(pref.findViewById(anyInt())).thenReturn(button);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
-                        .setManualInvocationAllowed(true)
-                        .setEnabled(true)
-                        .build(), false);
+        ZenMode zenMode = new TestModeBuilder()
+                .setManualInvocationAllowed(true)
+                .setActive(false)
+                .build();
+
         mController.updateZenMode(pref, zenMode);
+
         assertThat(button.getText().toString()).contains("on");
         assertThat(button.hasOnClickListeners()).isTrue();
     }
@@ -152,14 +157,10 @@
         Button button = new Button(mContext);
         LayoutPreference pref = mock(LayoutPreference.class);
         when(pref.findViewById(anyInt())).thenReturn(button);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
-                        .setManualInvocationAllowed(true)
-                        .setEnabled(true)
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setActive(true)
+                .build();
+
         mController.updateZenMode(pref, zenMode);
 
         button.callOnClick();
@@ -171,17 +172,42 @@
         Button button = new Button(mContext);
         LayoutPreference pref = mock(LayoutPreference.class);
         when(pref.findViewById(anyInt())).thenReturn(button);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
-                        .setManualInvocationAllowed(true)
-                        .setEnabled(true)
-                        .build(), false);
+        ZenMode zenMode = new TestModeBuilder()
+                .setManualInvocationAllowed(true)
+                .setActive(false)
+                .build();
+
         mController.updateZenMode(pref, zenMode);
 
         button.callOnClick();
         verify(mBackend).activateMode(zenMode, null);
     }
+
+    @Test
+    public void updateStateThenClick_withDuration() {
+        Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_DURATION,
+                45 /* minutes */);
+        Button button = new Button(mContext);
+        LayoutPreference pref = mock(LayoutPreference.class);
+        when(pref.findViewById(anyInt())).thenReturn(button);
+        ZenMode zenMode = TestModeBuilder.MANUAL_DND_INACTIVE;
+
+        mController.updateZenMode(pref, zenMode);
+        button.callOnClick();
+        verify(mBackend).activateMode(zenMode, Duration.ofMinutes(45));
+    }
+
+    @Test
+    public void updateStateThenClick_durationForever() {
+        Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_DURATION,
+                Settings.Secure.ZEN_DURATION_FOREVER);
+        Button button = new Button(mContext);
+        LayoutPreference pref = mock(LayoutPreference.class);
+        when(pref.findViewById(anyInt())).thenReturn(button);
+        ZenMode zenMode = TestModeBuilder.MANUAL_DND_INACTIVE;
+
+        mController.updateZenMode(pref, zenMode);
+        button.callOnClick();
+        verify(mBackend).activateMode(zenMode, null);
+    }
 }
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeCallsLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeCallsLinkPreferenceControllerTest.java
index 04d625a..862cf77 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeCallsLinkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeCallsLinkPreferenceControllerTest.java
@@ -16,20 +16,19 @@
 
 package com.android.settings.notification.modes;
 
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-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 android.app.AutomaticZenRule;
 import android.app.Flags;
 import android.content.Context;
-import android.net.Uri;
 import android.platform.test.annotations.EnableFlags;
 import android.platform.test.flag.junit.SetFlagsRule;
-import android.service.notification.ZenPolicy;
+
 import androidx.preference.Preference;
+
+import com.android.settingslib.notification.modes.TestModeBuilder;
+
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -38,8 +37,6 @@
 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 ZenModeCallsLinkPreferenceControllerTest {
@@ -49,10 +46,8 @@
     @Rule
     public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
 
-
     private Context mContext;
-    @Mock
-    private ZenModesBackend mBackend;
+    @Mock private ZenHelperBackend mHelperBackend;
 
     @Before
     public void setup() {
@@ -61,20 +56,14 @@
         mContext = RuntimeEnvironment.application;
 
         mController = new ZenModeCallsLinkPreferenceController(
-                mContext, "something", mBackend);
+                mContext, "something", mHelperBackend);
     }
 
     @Test
     @EnableFlags(Flags.FLAG_MODES_UI)
     public void testHasSummary() {
         Preference pref = mock(Preference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                .setType(AutomaticZenRule.TYPE_DRIVING)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
-                .build(), true);
-        mController.updateZenMode(pref, zenMode);
+        mController.updateZenMode(pref, TestModeBuilder.EXAMPLE);
         verify(pref).setSummary(any());
     }
 }
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeDisplayEffectPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeDisplayEffectPreferenceControllerTest.java
index 1a62b75..f2c6006 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeDisplayEffectPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeDisplayEffectPreferenceControllerTest.java
@@ -16,22 +16,23 @@
 
 package com.android.settings.notification.modes;
 
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-import static android.service.notification.ZenPolicy.STATE_ALLOW;
-import static android.service.notification.ZenPolicy.STATE_UNSET;
 import static com.google.common.truth.Truth.assertThat;
+
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 
-import android.app.AutomaticZenRule;
 import android.app.Flags;
 import android.content.Context;
-import android.net.Uri;
 import android.platform.test.annotations.EnableFlags;
 import android.platform.test.flag.junit.SetFlagsRule;
 import android.service.notification.ZenDeviceEffects;
-import android.service.notification.ZenPolicy;
+
 import androidx.preference.TwoStatePreference;
+
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -62,15 +63,11 @@
     @Test
     public void testUpdateState_grayscale() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowAlarms(true).build())
-                        .setDeviceEffects(new ZenDeviceEffects.Builder()
-                                .setShouldDisplayGrayscale(true)
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setDeviceEffects(new ZenDeviceEffects.Builder()
+                        .setShouldDisplayGrayscale(true)
+                        .build())
+                .build();
 
         ZenModeDisplayEffectPreferenceController controller =
                 new ZenModeDisplayEffectPreferenceController(
@@ -84,15 +81,11 @@
     @Test
     public void testOnPreferenceChange_grayscale() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowAlarms(false).build())
-                        .setDeviceEffects(new ZenDeviceEffects.Builder()
-                                .setShouldDisplayGrayscale(true)
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setDeviceEffects(new ZenDeviceEffects.Builder()
+                        .setShouldDisplayGrayscale(true)
+                        .build())
+                .build();
 
         ZenModeDisplayEffectPreferenceController controller =
                 new ZenModeDisplayEffectPreferenceController(mContext, "effect_greyscale", mBackend);
@@ -103,22 +96,18 @@
 
         ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
         verify(mBackend).updateMode(captor.capture());
-        assertThat(captor.getValue().getRule().getDeviceEffects().shouldDisplayGrayscale())
+        assertThat(captor.getValue().getDeviceEffects().shouldDisplayGrayscale())
                 .isFalse();
     }
 
     @Test
     public void testUpdateState_aod() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowMedia(true).build())
-                        .setDeviceEffects(new ZenDeviceEffects.Builder()
-                                .setShouldSuppressAmbientDisplay(true)
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setDeviceEffects(new ZenDeviceEffects.Builder()
+                        .setShouldSuppressAmbientDisplay(true)
+                        .build())
+                .build();
 
         ZenModeDisplayEffectPreferenceController controller =
                 new ZenModeDisplayEffectPreferenceController(mContext, "effect_aod", mBackend);
@@ -131,15 +120,11 @@
     @Test
     public void testOnPreferenceChange_aod() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowMedia(false).build())
-                        .setDeviceEffects(new ZenDeviceEffects.Builder()
-                                .setShouldSuppressAmbientDisplay(true)
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setDeviceEffects(new ZenDeviceEffects.Builder()
+                        .setShouldSuppressAmbientDisplay(true)
+                        .build())
+                .build();
 
         ZenModeDisplayEffectPreferenceController controller =
                 new ZenModeDisplayEffectPreferenceController(mContext, "effect_aod", mBackend);
@@ -150,22 +135,18 @@
 
         ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
         verify(mBackend).updateMode(captor.capture());
-        assertThat(captor.getValue().getRule().getDeviceEffects().shouldSuppressAmbientDisplay())
+        assertThat(captor.getValue().getDeviceEffects().shouldSuppressAmbientDisplay())
                 .isFalse();
     }
 
     @Test
     public void testUpdateState_wallpaper() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowSystem(true).build())
-                        .setDeviceEffects(new ZenDeviceEffects.Builder()
-                                .setShouldDimWallpaper(true)
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setDeviceEffects(new ZenDeviceEffects.Builder()
+                        .setShouldDimWallpaper(true)
+                        .build())
+                .build();
 
         ZenModeDisplayEffectPreferenceController controller =
                 new ZenModeDisplayEffectPreferenceController(
@@ -179,15 +160,11 @@
     @Test
     public void testOnPreferenceChange_wallpaper() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowSystem(false).build())
-                        .setDeviceEffects(new ZenDeviceEffects.Builder()
-                                .setShouldDimWallpaper(true)
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setDeviceEffects(new ZenDeviceEffects.Builder()
+                        .setShouldDimWallpaper(true)
+                        .build())
+                .build();
 
         ZenModeDisplayEffectPreferenceController controller =
                 new ZenModeDisplayEffectPreferenceController(
@@ -199,21 +176,17 @@
 
         ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
         verify(mBackend).updateMode(captor.capture());
-        assertThat(captor.getValue().getRule().getDeviceEffects().shouldDimWallpaper()).isFalse();
+        assertThat(captor.getValue().getDeviceEffects().shouldDimWallpaper()).isFalse();
     }
 
     @Test
     public void testUpdateState_darkTheme() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowReminders(true).build())
-                        .setDeviceEffects(new ZenDeviceEffects.Builder()
-                                .setShouldUseNightMode(true)
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setDeviceEffects(new ZenDeviceEffects.Builder()
+                        .setShouldUseNightMode(true)
+                        .build())
+                .build();
 
         ZenModeDisplayEffectPreferenceController controller =
                 new ZenModeDisplayEffectPreferenceController(mContext, "effect_dark_theme",
@@ -227,15 +200,11 @@
     @Test
     public void testOnPreferenceChange_darkTheme() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowReminders(false).build())
-                        .setDeviceEffects(new ZenDeviceEffects.Builder()
-                                .setShouldUseNightMode(true)
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setDeviceEffects(new ZenDeviceEffects.Builder()
+                        .setShouldUseNightMode(true)
+                        .build())
+                .build();
 
         ZenModeDisplayEffectPreferenceController controller =
                 new ZenModeDisplayEffectPreferenceController(mContext, "effect_dark_theme",
@@ -247,6 +216,6 @@
 
         ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
         verify(mBackend).updateMode(captor.capture());
-        assertThat(captor.getValue().getRule().getDeviceEffects().shouldUseNightMode()).isFalse();
+        assertThat(captor.getValue().getDeviceEffects().shouldUseNightMode()).isFalse();
     }
 }
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeDisplayLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeDisplayLinkPreferenceControllerTest.java
index 9d33b0b..05486e0 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeDisplayLinkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeDisplayLinkPreferenceControllerTest.java
@@ -16,19 +16,23 @@
 
 package com.android.settings.notification.modes;
 
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
+import static android.app.NotificationManager.INTERRUPTION_FILTER_NONE;
+
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 
-import android.app.AutomaticZenRule;
 import android.app.Flags;
 import android.content.Context;
-import android.net.Uri;
 import android.platform.test.annotations.EnableFlags;
 import android.platform.test.flag.junit.SetFlagsRule;
-import android.service.notification.ZenPolicy;
+
 import androidx.preference.Preference;
+
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -39,6 +43,7 @@
 import org.robolectric.RuntimeEnvironment;
 
 @RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
 public final class ZenModeDisplayLinkPreferenceControllerTest {
 
     private ZenModeDisplayLinkPreferenceController mController;
@@ -47,8 +52,8 @@
     public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
 
     private Context mContext;
-    @Mock
-    private ZenModesBackend mBackend;
+    @Mock private ZenModesBackend mBackend;
+    @Mock private ZenHelperBackend mHelperBackend;
 
     @Before
     public void setup() {
@@ -57,20 +62,45 @@
         mContext = RuntimeEnvironment.application;
 
         mController = new ZenModeDisplayLinkPreferenceController(
-                mContext, "something", mBackend);
+                mContext, "something", mBackend, mHelperBackend);
     }
 
     @Test
-    @EnableFlags(Flags.FLAG_MODES_UI)
+    public void updateState_dnd_enabled() {
+        Preference preference = mock(Preference.class);
+        ZenMode dnd = TestModeBuilder.MANUAL_DND_ACTIVE;
+
+        mController.updateState(preference, dnd);
+
+        verify(preference).setEnabled(true);
+    }
+
+    @Test
+    public void updateState_specialDnd_disabled() {
+        Preference preference = mock(Preference.class);
+        ZenMode specialDnd = TestModeBuilder.manualDnd(INTERRUPTION_FILTER_NONE, true);
+
+        mController.updateState(preference, specialDnd);
+
+        verify(preference).setEnabled(false);
+    }
+
+    @Test
+    public void testUpdateState_disabled() {
+        Preference preference = mock(Preference.class);
+        ZenMode zenMode = new TestModeBuilder()
+                .setEnabled(false)
+                .build();
+
+        mController.updateState(preference, zenMode);
+
+        verify(preference).setEnabled(false);
+    }
+
+    @Test
     public void testHasSummary() {
         Preference pref = mock(Preference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                .setType(AutomaticZenRule.TYPE_DRIVING)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
-                .build(), true);
-        mController.updateZenMode(pref, zenMode);
+        mController.updateZenMode(pref, TestModeBuilder.EXAMPLE);
         verify(pref).setSummary(any());
     }
 }
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeEditDonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeEditDonePreferenceControllerTest.java
new file mode 100644
index 0000000..74328be
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeEditDonePreferenceControllerTest.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+
+import android.app.Flags;
+import android.content.Context;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.widget.Button;
+
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.widget.LayoutPreference;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
+public class ZenModeEditDonePreferenceControllerTest {
+
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    private ZenModeEditDonePreferenceController mController;
+    private LayoutPreference mPreference;
+    private Button mButton;
+    @Mock private Runnable mConfirmSave;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+
+        Context context = RuntimeEnvironment.application;
+        PreferenceManager preferenceManager = new PreferenceManager(context);
+        PreferenceScreen preferenceScreen = preferenceManager.inflateFromResource(context,
+                R.xml.modes_edit_name_icon, null);
+        mPreference = preferenceScreen.findPreference("done");
+
+        mController = new ZenModeEditDonePreferenceController(context, "done", mConfirmSave);
+        mController.displayPreference(preferenceScreen);
+
+        mButton = mPreference.findViewById(R.id.done);
+        assertThat(mButton).isNotNull();
+    }
+
+    @Test
+    public void updateState_nameNonEmpty_buttonEnabled() {
+        ZenMode mode = new TestModeBuilder().setName("Such a nice name").build();
+
+        mController.updateState(mPreference, mode);
+
+        assertThat(mButton.isEnabled()).isTrue();
+        verifyNoMoreInteractions(mConfirmSave);
+    }
+
+    @Test
+    public void updateState_nameEmpty_buttonDisabled() {
+        ZenMode aModeHasNoName = new TestModeBuilder().setName("").build();
+
+        mController.updateState(mPreference, aModeHasNoName);
+
+        assertThat(mButton.isEnabled()).isFalse();
+        verifyNoMoreInteractions(mConfirmSave);
+    }
+
+    @Test
+    public void onButtonClick_callsConfirmSave() {
+        mButton.performClick();
+
+        verify(mConfirmSave).run();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeEditNameIconFragmentTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeEditNameIconFragmentTest.java
new file mode 100644
index 0000000..cb853bb
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeEditNameIconFragmentTest.java
@@ -0,0 +1,221 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
+
+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.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+
+import android.app.Activity;
+import android.app.Flags;
+import android.os.Bundle;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.annotation.Nullable;
+import androidx.fragment.app.testing.FragmentScenario;
+import androidx.lifecycle.Lifecycle;
+
+import com.android.internal.R;
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+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;
+
+@RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
+public class ZenModeEditNameIconFragmentTest {
+
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    private static final ZenMode MODE = new TestModeBuilder().setId("id").setName("Mode").build();
+
+    private Activity mActivity;
+    private ZenModeEditNameIconFragment mFragment;
+    private FragmentScenario<ZenModeEditNameIconFragment> mScenario;
+
+    @Mock
+    private ZenModesBackend mBackend;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        // Note: Each test should call startFragment() to set mScenario, mFragment and mActivity.
+    }
+
+    @After
+    public void tearDown() {
+        if (mScenario != null) {
+            mScenario.close();
+        }
+    }
+
+    @Test
+    public void onCreate_loadsMode() {
+        when(mBackend.getMode(MODE.getId())).thenReturn(MODE);
+
+        startFragment(MODE.getId());
+
+        assertThat(mFragment.getZenMode()).isEqualTo(MODE);
+        assertThat(mActivity.isFinishing()).isFalse();
+    }
+
+    @Test
+    public void onCreate_noModeId_exits() {
+        when(mBackend.getMode(any())).thenReturn(MODE);
+
+        startFragment(null);
+
+        assertThat(mActivity.isFinishing()).isTrue();
+        verifyNoMoreInteractions(mBackend);
+    }
+    @Test
+    public void onCreate_missingMode_exits() {
+        when(mBackend.getMode(any())).thenReturn(null);
+
+        startFragment(MODE.getId());
+
+        assertThat(mActivity.isFinishing()).isTrue();
+        verify(mBackend).getMode(MODE.getId());
+    }
+
+    @Test
+    public void saveMode_appliesChangesAndFinishes() {
+        when(mBackend.getMode(MODE.getId())).thenReturn(MODE);
+        startFragment(MODE.getId());
+
+        mFragment.setModeName("A new name");
+        mFragment.setModeIcon(R.drawable.ic_zen_mode_type_theater);
+        mFragment.setModeName("A newer name");
+
+        mFragment.saveMode();
+
+        ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
+        verify(mBackend).updateMode(captor.capture());
+        ZenMode savedMode = captor.getValue();
+        assertThat(savedMode.getName()).isEqualTo("A newer name");
+        assertThat(savedMode.getRule().getIconResId()).isEqualTo(
+                R.drawable.ic_zen_mode_type_theater);
+
+        assertThat(mActivity.isFinishing()).isTrue();
+    }
+
+    @Test
+    public void saveMode_appliesOnyNameAndIconChanges() {
+        when(mBackend.getMode(MODE.getId())).thenReturn(MODE);
+        startFragment(MODE.getId());
+        mFragment.setModeName("A new name");
+        mFragment.setModeIcon(R.drawable.ic_zen_mode_type_theater);
+        // Before the user saves, something else about the mode was modified by someone else.
+        ZenMode newerMode = new TestModeBuilder(MODE).setTriggerDescription("Whenever").build();
+        when(mBackend.getMode(MODE.getId())).thenReturn(newerMode);
+
+        mFragment.saveMode();
+
+        // Verify that saving only wrote the mode name, and didn't accidentally stomp over
+        // unrelated fields of the mode.
+        ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
+        verify(mBackend).updateMode(captor.capture());
+        ZenMode savedMode = captor.getValue();
+        assertThat(savedMode.getName()).isEqualTo("A new name");
+        assertThat(savedMode.getTriggerDescription()).isEqualTo("Whenever");
+    }
+
+    @Test
+    public void saveMode_forModeThatDisappeared_ignoresSave() {
+        when(mBackend.getMode(MODE.getId())).thenReturn(MODE);
+        startFragment(MODE.getId());
+        mFragment.setModeName("A new name");
+        mFragment.setModeIcon(R.drawable.ic_zen_mode_type_theater);
+        // Before the user saves, the mode was removed by someone else.
+        when(mBackend.getMode(MODE.getId())).thenReturn(null);
+
+        mFragment.saveMode();
+
+        verify(mBackend, never()).updateMode(any());
+        assertThat(mActivity.isFinishing()).isTrue();
+    }
+
+    @Test
+    public void setModeFields_withoutSaveMode_doesNotSaveChanges() {
+        when(mBackend.getMode(MODE.getId())).thenReturn(MODE);
+        startFragment(MODE.getId());
+
+        mFragment.setModeName("Not a good idea");
+        mFragment.setModeIcon(R.drawable.emergency_icon);
+        mActivity.finish();
+
+        verify(mBackend, never()).updateMode(any());
+    }
+
+    @Test
+    public void onCreate_whenRecreating_preservesEdits() {
+        when(mBackend.getMode(MODE.getId())).thenReturn(MODE);
+        startFragment(MODE.getId());
+
+        mFragment.setModeName("A better name");
+        mScenario.recreate().onFragment(newFragment -> {
+            assertThat(newFragment).isNotSameInstanceAs(mFragment);
+            newFragment.setBackend(mBackend);
+            mActivity = newFragment.getActivity();
+            mFragment = newFragment;
+        });
+        mFragment.saveMode();
+
+        ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
+        verify(mBackend).updateMode(captor.capture());
+        ZenMode savedMode = captor.getValue();
+        assertThat(savedMode.getName()).isEqualTo("A better name");
+        assertThat(mActivity.isFinishing()).isTrue();
+    }
+
+    private void startFragment(@Nullable String modeId) {
+        Bundle fragmentArgs = null;
+        if (modeId != null) {
+            fragmentArgs = new Bundle();
+            fragmentArgs.putString(EXTRA_AUTOMATIC_ZEN_RULE_ID, modeId);
+        }
+
+        mScenario = FragmentScenario.launch(ZenModeEditNameIconFragment.class, fragmentArgs, 0,
+                Lifecycle.State.INITIALIZED);
+
+        mScenario.onFragment(fragment -> {
+            fragment.setBackend(mBackend); // Before onCreate().
+            mFragment = fragment;
+        });
+
+        mScenario.moveToState(Lifecycle.State.RESUMED).onFragment(fragment -> {
+            mActivity = fragment.requireActivity();
+        });
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeEditNamePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeEditNamePreferenceControllerTest.java
new file mode 100644
index 0000000..795de50
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeEditNamePreferenceControllerTest.java
@@ -0,0 +1,98 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+
+import android.app.Flags;
+import android.content.Context;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.widget.EditText;
+
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.widget.LayoutPreference;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+import java.util.function.Consumer;
+
+@RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
+public class ZenModeEditNamePreferenceControllerTest {
+
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    private ZenModeEditNamePreferenceController mController;
+    private LayoutPreference mPreference;
+    private EditText mEditText;
+    @Mock private Consumer<String> mNameSetter;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+
+        Context context = RuntimeEnvironment.application;
+        PreferenceManager preferenceManager = new PreferenceManager(context);
+        PreferenceScreen preferenceScreen = preferenceManager.inflateFromResource(context,
+                R.xml.modes_edit_name_icon, null);
+        mPreference = preferenceScreen.findPreference("name");
+
+        mController = new ZenModeEditNamePreferenceController(context, "name", mNameSetter);
+        mController.displayPreference(preferenceScreen);
+        mEditText = mPreference.findViewById(android.R.id.edit);
+        assertThat(mEditText).isNotNull();
+    }
+
+    @Test
+    public void updateState_showsName() {
+        ZenMode mode = new TestModeBuilder().setName("A fancy name").build();
+
+        mController.updateState(mPreference, mode);
+
+        assertThat(mEditText.getText().toString()).isEqualTo("A fancy name");
+        verifyNoMoreInteractions(mNameSetter);
+    }
+
+    @Test
+    public void onEditText_callsNameSetter() {
+        ZenMode mode = new TestModeBuilder().setName("A fancy name").build();
+        mController.updateState(mPreference, mode);
+        EditText editText = mPreference.findViewById(android.R.id.edit);
+
+        editText.setText("An even fancier name");
+
+        verify(mNameSetter).accept("An even fancier name");
+        verifyNoMoreInteractions(mNameSetter);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeExitAtAlarmPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeExitAtAlarmPreferenceControllerTest.java
index c1c4d61..c949fb8 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeExitAtAlarmPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeExitAtAlarmPreferenceControllerTest.java
@@ -16,19 +16,28 @@
 
 package com.android.settings.notification.modes;
 
+import static android.service.notification.SystemZenRules.PACKAGE_ANDROID;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 
-import android.app.AutomaticZenRule;
+import android.app.Flags;
 import android.content.Context;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
 import android.service.notification.ZenModeConfig;
 
 import androidx.preference.TwoStatePreference;
 import androidx.test.core.app.ApplicationProvider;
 
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -39,7 +48,11 @@
 import java.util.Calendar;
 
 @RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
 public class ZenModeExitAtAlarmPreferenceControllerTest {
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
     private Context mContext;
     @Mock
     private ZenModesBackend mBackend;
@@ -65,10 +78,10 @@
         scheduleInfo.endHour = 2;
         scheduleInfo.exitAtAlarm = false;
 
-        ZenMode mode = new ZenMode("id",
-                new AutomaticZenRule.Builder("name",
-                        ZenModeConfig.toScheduleConditionId(scheduleInfo)).build(),
-                true);  // is active
+        ZenMode mode = new TestModeBuilder()
+                .setPackage(PACKAGE_ANDROID)
+                .setConditionId(ZenModeConfig.toScheduleConditionId(scheduleInfo))
+                .build();
 
         // need to call updateZenMode for the first call
         mPrefController.updateZenMode(preference, mode);
@@ -94,10 +107,10 @@
         scheduleInfo.endHour = 2;
         scheduleInfo.exitAtAlarm = true;
 
-        ZenMode mode = new ZenMode("id",
-                new AutomaticZenRule.Builder("name",
-                        ZenModeConfig.toScheduleConditionId(scheduleInfo)).build(),
-                true);  // is active
+        ZenMode mode = new TestModeBuilder()
+                .setPackage(PACKAGE_ANDROID)
+                .setConditionId(ZenModeConfig.toScheduleConditionId(scheduleInfo))
+                .build();
         mPrefController.updateZenMode(preference, mode);
 
         // turn off exit at alarm
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeFragmentBaseTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeFragmentBaseTest.java
new file mode 100644
index 0000000..21f19ff
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeFragmentBaseTest.java
@@ -0,0 +1,364 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
+
+import static com.android.settings.notification.modes.CharSequenceTruth.assertThat;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+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.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.Flags;
+import android.content.Context;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.Bundle;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.provider.Settings;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.testing.FragmentScenario;
+import androidx.lifecycle.Lifecycle.State;
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+import com.google.common.collect.ImmutableList;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.shadows.ShadowContentResolver;
+import org.robolectric.shadows.ShadowLooper;
+
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
+public class ZenModeFragmentBaseTest {
+
+    private static final Uri SETTINGS_URI = Settings.Global.getUriFor(
+            Settings.Global.ZEN_MODE_CONFIG_ETAG);
+
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    @Mock ZenModesBackend mBackend;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+    }
+
+    @Test
+    public void fragment_noArguments_finishes() {
+        when(mBackend.getMode(any())).thenReturn(TestModeBuilder.EXAMPLE);
+
+        FragmentScenario<TestableFragment> scenario = createScenario(null);
+
+        scenario.moveToState(State.RESUMED).onFragment(fragment -> {
+            assertThat(fragment.requireActivity().isFinishing()).isTrue();
+        });
+
+        scenario.close();
+    }
+
+    @Test
+    public void fragment_modeDoesNotExist_finishes() {
+        when(mBackend.getMode(any())).thenReturn(null);
+
+        FragmentScenario<TestableFragment> scenario = createScenario("mode_id");
+
+        scenario.moveToState(State.RESUMED).onFragment(fragment -> {
+            assertThat(fragment.requireActivity().isFinishing()).isTrue();
+        });
+
+        scenario.close();
+    }
+
+    @Test
+    public void fragment_validMode_updatesControllersOnce() {
+        ZenMode mode = new TestModeBuilder().setId("mode_id").build();
+        when(mBackend.getMode("mode_id")).thenReturn(mode);
+
+        FragmentScenario<TestableFragment> scenario = createScenario("mode_id");
+
+        scenario.moveToState(State.CREATED).onFragment(fragment -> {
+            assertThat(fragment.mShowsId.getZenMode()).isEqualTo(mode);
+            assertThat(fragment.mShowsId.isAvailable()).isTrue();
+            assertThat(fragment.mAvailableIfEnabled.getZenMode()).isEqualTo(mode);
+            assertThat(fragment.mAvailableIfEnabled.isAvailable()).isTrue();
+
+            verify(fragment.mShowsId, never()).updateState(any(), any());
+            verify(fragment.mAvailableIfEnabled, never()).updateState(any(), any());
+        });
+
+        scenario.moveToState(State.RESUMED).onFragment(fragment -> {
+            Preference preferenceOne = fragment.requirePreference("pref_id");
+            assertThat(preferenceOne.getSummary()).isEqualTo("Id is mode_id");
+
+            verify(fragment.mShowsId).updateState(any(), eq(mode));
+            verify(fragment.mAvailableIfEnabled).updateState(any(), eq(mode));
+        });
+
+        scenario.close();
+    }
+
+    @Test
+    public void fragment_onStartToOnStop_hasRegisteredContentObserver() {
+        when(mBackend.getMode(any())).thenReturn(TestModeBuilder.EXAMPLE);
+        FragmentScenario<TestableFragment> scenario = createScenario("id");
+
+        scenario.moveToState(State.CREATED).onFragment(fragment ->
+                assertThat(getSettingsContentObservers(fragment)).isEmpty());
+
+        scenario.moveToState(State.STARTED).onFragment(fragment ->
+                assertThat(getSettingsContentObservers(fragment)).hasSize(1));
+
+        scenario.moveToState(State.RESUMED).onFragment(fragment ->
+                assertThat(getSettingsContentObservers(fragment)).hasSize(1));
+
+        scenario.moveToState(State.STARTED).onFragment(fragment ->
+                assertThat(getSettingsContentObservers(fragment)).hasSize(1));
+
+        scenario.moveToState(State.CREATED).onFragment(fragment ->
+                assertThat(getSettingsContentObservers(fragment)).isEmpty());
+
+        scenario.close();
+    }
+
+    @Test
+    public void fragment_onModeUpdatedWithDifferences_updatesControllers() {
+        ZenMode originalMode = new TestModeBuilder().setId("id").setName("Original").build();
+        when(mBackend.getMode("id")).thenReturn(originalMode);
+
+        FragmentScenario<TestableFragment> scenario = createScenario("id");
+        scenario.moveToState(State.RESUMED).onFragment(fragment -> {
+            Preference preference = fragment.requirePreference("pref_name");
+            assertThat(preference.getSummary()).isEqualTo("Original");
+            verify(fragment.mShowsName, times(1)).updateState(any(), eq(originalMode));
+
+            // Now, we get a message saying something changed.
+            ZenMode updatedMode = new TestModeBuilder().setId("id").setName("Updated").build();
+            when(mBackend.getMode("id")).thenReturn(updatedMode);
+            getSettingsContentObservers(fragment).stream().findFirst().get()
+                    .dispatchChange(false, SETTINGS_URI);
+            ShadowLooper.idleMainLooper();
+
+            // The screen was updated, and only updated once.
+            assertThat(preference.getSummary()).isEqualTo("Updated");
+            verify(fragment.mShowsName, times(1)).updateState(any(), eq(updatedMode));
+        });
+
+        scenario.close();
+    }
+
+    @Test
+    public void fragment_onModeUpdatedWithoutDifferences_setsModeInControllersButNothingElse() {
+        ZenMode originalMode = new TestModeBuilder().setId("id").setName("Original").build();
+        when(mBackend.getMode("id")).thenReturn(originalMode);
+
+        FragmentScenario<TestableFragment> scenario = createScenario("id");
+        scenario.moveToState(State.RESUMED).onFragment(fragment -> {
+            Preference preference = fragment.requirePreference("pref_name");
+            assertThat(preference.getSummary()).isEqualTo("Original");
+            verify(fragment.mShowsName, times(1)).updateState(any(), eq(originalMode));
+
+            // Now, we get a message saying something changed, but it was for a different mode.
+            ZenMode notUpdatedMode = new TestModeBuilder(originalMode).build();
+            when(mBackend.getMode("id")).thenReturn(notUpdatedMode);
+            getSettingsContentObservers(fragment).stream().findFirst().get()
+                    .dispatchChange(false, SETTINGS_URI);
+            ShadowLooper.idleMainLooper();
+
+            // The mode instance was updated, but updateState() was not called.
+            assertThat(preference.getSummary()).isEqualTo("Original");
+            assertThat(fragment.mShowsName.getZenMode()).isSameInstanceAs(notUpdatedMode);
+            verify(fragment.mShowsName, never()).updateState(any(), same(notUpdatedMode));
+        });
+
+        scenario.close();
+    }
+
+    @Test
+    public void fragment_onFragmentRestart_reloadsMode() {
+        ZenMode originalMode = new TestModeBuilder().setId("id").setName("Original").build();
+        when(mBackend.getMode("id")).thenReturn(originalMode);
+
+        FragmentScenario<TestableFragment> scenario = createScenario("id");
+        scenario.moveToState(State.RESUMED).onFragment(fragment -> {
+            Preference preference = fragment.requirePreference("pref_name");
+            assertThat(preference.getSummary()).isEqualTo("Original");
+            verify(fragment.mShowsName, times(1)).updateState(any(), eq(originalMode));
+        });
+
+        ZenMode updatedMode = new TestModeBuilder().setId("id").setName("Updated").build();
+        when(mBackend.getMode("id")).thenReturn(updatedMode);
+
+        scenario.moveToState(State.CREATED).moveToState(State.RESUMED).onFragment(fragment -> {
+            Preference preference = fragment.requirePreference("pref_name");
+            assertThat(preference.getSummary()).isEqualTo("Updated");
+            assertThat(fragment.mShowsName.getZenMode()).isSameInstanceAs(updatedMode);
+        });
+
+        scenario.close();
+    }
+
+    @Test
+    public void fragment_onModeDeleted_finishes() {
+        ZenMode originalMode = new TestModeBuilder().setId("mode_id").build();
+        when(mBackend.getMode("mode_id")).thenReturn(originalMode);
+
+        FragmentScenario<TestableFragment> scenario = createScenario("mode_id");
+        scenario.moveToState(State.RESUMED).onFragment(fragment -> {
+            assertThat(fragment.requireActivity().isFinishing()).isFalse();
+
+            // Now it's no longer there...
+            when(mBackend.getMode(any())).thenReturn(null);
+            getSettingsContentObservers(fragment).stream().findFirst().get()
+                    .dispatchChange(false, SETTINGS_URI);
+            ShadowLooper.idleMainLooper();
+
+            assertThat(fragment.requireActivity().isFinishing()).isTrue();
+        });
+
+        scenario.close();
+    }
+
+    private FragmentScenario<TestableFragment> createScenario(@Nullable String modeId) {
+        Bundle fragmentArgs = null;
+        if (modeId != null) {
+            fragmentArgs = new Bundle();
+            fragmentArgs.putString(EXTRA_AUTOMATIC_ZEN_RULE_ID, modeId);
+        }
+
+        FragmentScenario<TestableFragment> scenario = FragmentScenario.launch(
+                TestableFragment.class, fragmentArgs, 0, State.INITIALIZED);
+
+        scenario.onFragment(fragment -> {
+            fragment.setBackend(mBackend); // Before onCreate().
+        });
+
+        return scenario;
+    }
+
+    public static class TestableFragment extends ZenModeFragmentBase {
+
+        private ShowsIdPreferenceController mShowsId;
+        private ShowsNamePreferenceController mShowsName;
+        private AvailableIfEnabledPreferenceController mAvailableIfEnabled;
+
+        @Override
+        protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+            mShowsId = spy(new ShowsIdPreferenceController(context, "pref_id"));
+            mShowsName = spy(new ShowsNamePreferenceController(context, "pref_name"));
+            mAvailableIfEnabled = spy(
+                    new AvailableIfEnabledPreferenceController(context, "pref_enabled"));
+            return ImmutableList.of(mShowsId, mShowsName, mAvailableIfEnabled);
+        }
+
+        @NonNull
+        Preference requirePreference(String key) {
+            Preference preference = getPreferenceScreen().findPreference(key);
+            checkNotNull(preference, "Didn't find preference with key " + key);
+            return preference;
+        }
+
+        ShadowContentResolver getShadowContentResolver() {
+            return shadowOf(requireActivity().getContentResolver());
+        }
+
+        @Override
+        protected int getPreferenceScreenResId() {
+            return R.xml.modes_fake_settings;
+        }
+
+        @Override
+        public int getMetricsCategory() {
+            return 0;
+        }
+    }
+
+    private static class ShowsIdPreferenceController extends AbstractZenModePreferenceController {
+
+        ShowsIdPreferenceController(@NonNull Context context, @NonNull String key) {
+            super(context, key);
+        }
+
+        @Override
+        void updateState(Preference preference, @NonNull ZenMode zenMode) {
+            preference.setSummary("Id is " + zenMode.getId());
+        }
+    }
+
+    private static class ShowsNamePreferenceController extends AbstractZenModePreferenceController {
+
+        ShowsNamePreferenceController(@NonNull Context context, @NonNull String key) {
+            super(context, key);
+        }
+
+        @Override
+        void updateState(Preference preference, @NonNull ZenMode zenMode) {
+            preference.setSummary(zenMode.getName());
+        }
+    }
+
+    private static class AvailableIfEnabledPreferenceController extends
+            AbstractZenModePreferenceController {
+
+        AvailableIfEnabledPreferenceController(@NonNull Context context, @NonNull String key) {
+            super(context, key);
+        }
+
+        @Override
+        public boolean isAvailable(@NonNull ZenMode zenMode) {
+            return zenMode.isEnabled();
+        }
+
+        @Override
+        void updateState(Preference preference, @NonNull ZenMode zenMode) {
+            preference.setSummary("Enabled is " + zenMode.isEnabled());
+        }
+    }
+
+    private ImmutableList<ContentObserver> getSettingsContentObservers(Fragment fragment) {
+        return ImmutableList.copyOf(
+                shadowOf(fragment.requireActivity().getContentResolver())
+                        .getContentObservers(SETTINGS_URI));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeFragmentTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeFragmentTest.java
new file mode 100644
index 0000000..576e32a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeFragmentTest.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.settings.notification.modes;
+
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.when;
+import static org.robolectric.Shadows.shadowOf;
+
+import android.content.Intent;
+import android.os.Bundle;
+
+import androidx.fragment.app.testing.FragmentScenario;
+import androidx.lifecycle.Lifecycle;
+
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+import 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 ZenModeFragmentTest {
+    private static final String MODE_ID = "modeId";
+
+    @Mock
+    private ZenModesBackend mBackend;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        // set up static instance so that the fragment will get a mock version of the backend
+        ZenModesBackend.setInstance(mBackend);
+    }
+
+    // Sets up the scenario's fragment by passing in arguments setting the provided mode ID.
+    // After running this method, users can then use scenario.onFragment(fragment -> {...}) on the
+    // returned scenario to test fragment behavior.
+    private FragmentScenario<ZenModeFragment> setUpScenarioForModeId(String modeId) {
+        Bundle args = new Bundle();
+        args.putString(EXTRA_AUTOMATIC_ZEN_RULE_ID, modeId);
+        return FragmentScenario.launch(
+                ZenModeFragment.class, /* bundle= */ args, 0, Lifecycle.State.INITIALIZED);
+    }
+
+    @Test
+    public void disabledMode_redirectsToInterstitial() {
+        // Mode is disabled, and not by the user
+        ZenMode mode = new TestModeBuilder().setId(MODE_ID).setEnabled(false, false)
+                .build();
+
+        when(mBackend.getMode(MODE_ID)).thenReturn(mode);
+
+        // actually set up fragment for testing
+        FragmentScenario scenario = setUpScenarioForModeId(MODE_ID);
+        scenario.moveToState(Lifecycle.State.STARTED);
+
+        scenario.onFragment(fragment -> {
+            // since the mode is disabled & not by the user, we should go to the next activity
+            Intent nextIntent = shadowOf(fragment.getActivity()).getNextStartedActivity();
+            assertThat(nextIntent).isNotNull();
+            assertThat(nextIntent.getComponent().getClassName()).isEqualTo(
+                    SetupInterstitialActivity.class.getCanonicalName());
+            assertThat(nextIntent.getStringExtra(EXTRA_AUTOMATIC_ZEN_RULE_ID)).isEqualTo(MODE_ID);
+        });
+        scenario.close();
+    }
+
+    @Test
+    public void disabledMode_byUser_noRedirect() {
+        // Mode is disabled by the user
+        ZenMode mode = new TestModeBuilder().setId(MODE_ID).setEnabled(false, true)
+                .build();
+
+        when(mBackend.getMode(MODE_ID)).thenReturn(mode);
+        FragmentScenario scenario = setUpScenarioForModeId(MODE_ID);
+        scenario.moveToState(Lifecycle.State.STARTED);
+
+        scenario.onFragment(fragment -> {
+            // there shouldn't be a next started activity, because we don't redirect
+            Intent nextIntent = shadowOf(fragment.getActivity()).getNextStartedActivity();
+            assertThat(nextIntent).isNull();
+        });
+        scenario.close();
+    }
+
+    @Test
+    public void enabledMode_noRedirect() {
+        // enabled rule
+        ZenMode mode = new TestModeBuilder().setId(MODE_ID).setEnabled(true)
+                .build();
+
+        when(mBackend.getMode(MODE_ID)).thenReturn(mode);
+        FragmentScenario scenario = setUpScenarioForModeId(MODE_ID);
+        scenario.moveToState(Lifecycle.State.STARTED);
+
+        scenario.onFragment(fragment -> {
+            // there shouldn't be a next started activity, because we don't redirect
+            Intent nextIntent = shadowOf(fragment.getActivity()).getNextStartedActivity();
+            assertThat(nextIntent).isNull();
+        });
+        scenario.close();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeIconPickerListPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeIconPickerListPreferenceControllerTest.java
index ba9a6b8..eae606b 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeIconPickerListPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeIconPickerListPreferenceControllerTest.java
@@ -19,59 +19,63 @@
 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.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.AutomaticZenRule;
+import android.app.Flags;
 import android.content.Context;
-import android.net.Uri;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.FrameLayout;
 
 import androidx.annotation.NonNull;
 import androidx.preference.PreferenceScreen;
 import androidx.recyclerview.widget.RecyclerView;
 
 import com.android.settings.R;
-import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
 import com.android.settingslib.widget.LayoutPreference;
 
 import com.google.common.collect.ImmutableList;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 
 @RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
 public class ZenModeIconPickerListPreferenceControllerTest {
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
 
-    private static final ZenMode ZEN_MODE = new ZenMode(
-            "mode_id",
-            new AutomaticZenRule.Builder("mode name", Uri.parse("mode")).build(),
-            /* isActive= */ false);
-
-    private ZenModesBackend mBackend;
+    private Context mContext;
     private ZenModeIconPickerListPreferenceController mController;
-    private PreferenceScreen mPreferenceScreen;
+    @Mock private PreferenceScreen mPreferenceScreen;
+    private LayoutPreference mLayoutPreference;
     private RecyclerView mRecyclerView;
+    @Mock private ZenModeIconPickerListPreferenceController.IconPickerListener mListener;
 
     @Before
     public void setUp() {
-        Context context = RuntimeEnvironment.getApplication();
-        mBackend = mock(ZenModesBackend.class);
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.getApplication();
 
-        DashboardFragment fragment = mock(DashboardFragment.class);
         mController = new ZenModeIconPickerListPreferenceController(
-                RuntimeEnvironment.getApplication(), "icon_list", fragment,
-                new TestIconOptionsProvider(), mBackend);
+                RuntimeEnvironment.getApplication(), "icon_list", mListener,
+                new TestIconOptionsProvider());
 
-        mRecyclerView = new RecyclerView(context);
+        mRecyclerView = new RecyclerView(mContext);
         mRecyclerView.setId(R.id.icon_list);
-        LayoutPreference layoutPreference = new LayoutPreference(context, mRecyclerView);
-        mPreferenceScreen = mock(PreferenceScreen.class);
-        when(mPreferenceScreen.findPreference(eq("icon_list"))).thenReturn(layoutPreference);
+        mLayoutPreference = new LayoutPreference(mContext, mRecyclerView);
+        when(mPreferenceScreen.findPreference(eq("icon_list"))).thenReturn(mLayoutPreference);
     }
 
     @Test
@@ -83,14 +87,32 @@
     }
 
     @Test
-    public void selectIcon_updatesMode() {
-        mController.setZenMode(ZEN_MODE);
+    public void updateState_highlightsCurrentIcon() {
+        ZenMode mode = new TestModeBuilder().setIconResId(R.drawable.ic_hearing).build();
+        mController.displayPreference(mPreferenceScreen);
 
-        mController.onIconSelected(R.drawable.ic_android);
+        mController.updateZenMode(mLayoutPreference, mode);
 
-        ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
-        verify(mBackend).updateMode(captor.capture());
-        assertThat(captor.getValue().getRule().getIconResId()).isEqualTo(R.drawable.ic_android);
+        assertThat(getItemViewAt(0).isSelected()).isFalse();
+        assertThat(getItemViewAt(1).isSelected()).isFalse();
+        assertThat(getItemViewAt(2).isSelected()).isTrue();
+    }
+
+    @Test
+    public void performClick_onIconItem_notifiesListener() {
+        mController.displayPreference(mPreferenceScreen);
+
+        getItemViewAt(1).performClick();
+
+        verify(mListener).onIconSelected(R.drawable.ic_info);
+    }
+
+    private View getItemViewAt(int position) {
+        ViewGroup fakeParent = new FrameLayout(mContext);
+        RecyclerView.ViewHolder viewHolder = mRecyclerView.getAdapter().onCreateViewHolder(
+                fakeParent, 0);
+        mRecyclerView.getAdapter().bindViewHolder(viewHolder, position);
+        return viewHolder.itemView;
     }
 
     private static class TestIconOptionsProvider implements IconOptionsProvider {
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeMessagesLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeMessagesLinkPreferenceControllerTest.java
index cfeefb4..fad4f2a 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeMessagesLinkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeMessagesLinkPreferenceControllerTest.java
@@ -16,20 +16,19 @@
 
 package com.android.settings.notification.modes;
 
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-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 android.app.AutomaticZenRule;
 import android.app.Flags;
 import android.content.Context;
-import android.net.Uri;
 import android.platform.test.annotations.EnableFlags;
 import android.platform.test.flag.junit.SetFlagsRule;
-import android.service.notification.ZenPolicy;
+
 import androidx.preference.Preference;
+
+import com.android.settingslib.notification.modes.TestModeBuilder;
+
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -40,6 +39,7 @@
 import org.robolectric.RuntimeEnvironment;
 
 @RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
 public final class ZenModeMessagesLinkPreferenceControllerTest {
 
     private ZenModeMessagesLinkPreferenceController mController;
@@ -48,8 +48,7 @@
     public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
 
     private Context mContext;
-    @Mock
-    private ZenModesBackend mBackend;
+    @Mock private ZenHelperBackend mHelperBackend;
 
     @Before
     public void setup() {
@@ -58,20 +57,13 @@
         mContext = RuntimeEnvironment.application;
 
         mController = new ZenModeMessagesLinkPreferenceController(
-                mContext, "something", mBackend);
+                mContext, "something", mHelperBackend);
     }
 
     @Test
-    @EnableFlags(Flags.FLAG_MODES_UI)
     public void testHasSummary() {
         Preference pref = mock(Preference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                .setType(AutomaticZenRule.TYPE_DRIVING)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
-                .build(), true);
-        mController.updateZenMode(pref, zenMode);
+        mController.updateZenMode(pref, TestModeBuilder.EXAMPLE);
         verify(pref).setSummary(any());
     }
 }
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeNewCustomFragmentTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeNewCustomFragmentTest.java
new file mode 100644
index 0000000..9aa42ea
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeNewCustomFragmentTest.java
@@ -0,0 +1,155 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
+
+import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT;
+import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS;
+
+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.verify;
+import static org.mockito.Mockito.when;
+import static org.robolectric.Shadows.shadowOf;
+
+import android.app.Activity;
+import android.app.Flags;
+import android.content.Intent;
+import android.os.Bundle;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.fragment.app.testing.EmptyFragmentActivity;
+import androidx.fragment.app.testing.FragmentScenario;
+import androidx.lifecycle.Lifecycle;
+import androidx.test.ext.junit.rules.ActivityScenarioRule;
+
+import com.android.internal.R;
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.stubbing.Answer;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
+public class ZenModeNewCustomFragmentTest {
+
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    @Rule
+    public ActivityScenarioRule<EmptyFragmentActivity> mActivityScenario =
+            new ActivityScenarioRule<>(EmptyFragmentActivity.class);
+
+    private Activity mActivity;
+    private ZenModeNewCustomFragment mFragment;
+    @Mock
+    private ZenModesBackend mBackend;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mFragment = new ZenModeNewCustomFragment();
+        mFragment.setBackend(mBackend); // before onAttach()
+
+        mActivityScenario.getScenario().onActivity(activity -> {
+            mActivity = activity;
+            activity.getSupportFragmentManager().beginTransaction()
+                    .add(mFragment, "tag").commitNow();
+        });
+    }
+
+    @Test
+    public void saveMode_addsCustomManualMode() {
+        mFragment.setModeName("The first name");
+        mFragment.setModeIcon(R.drawable.ic_zen_mode_type_theater);
+        mFragment.setModeName("Actually no, this name");
+
+        mFragment.saveMode();
+
+        verify(mBackend).addCustomManualMode("Actually no, this name",
+                R.drawable.ic_zen_mode_type_theater);
+    }
+
+    @Test
+    public void saveMode_withoutEdits_addsModeWithDefaultValues() {
+        mFragment.saveMode();
+
+        verify(mBackend).addCustomManualMode("Custom mode", 0);
+    }
+
+    @Test
+    public void saveMode_redirectsToModeView() {
+        when(mBackend.addCustomManualMode(any(), anyInt())).then(
+                (Answer<ZenMode>) invocationOnMock -> new TestModeBuilder()
+                        .setId("Id of a mode named " + invocationOnMock.getArgument(0))
+                        .setName(invocationOnMock.getArgument(0))
+                        .setIconResId(invocationOnMock.getArgument(1))
+                        .build());
+
+        mFragment.setModeName("something");
+        mFragment.setModeIcon(R.drawable.ic_zen_mode_type_immersive);
+        mFragment.saveMode();
+
+        Intent nextIntent = shadowOf(mActivity).getNextStartedActivity();
+        assertThat(nextIntent.getStringExtra(EXTRA_SHOW_FRAGMENT))
+                .isEqualTo(ZenModeFragment.class.getName());
+        Bundle fragmentArgs = nextIntent.getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS);
+        assertThat(fragmentArgs).isNotNull();
+        assertThat(fragmentArgs.getString(EXTRA_AUTOMATIC_ZEN_RULE_ID)).isEqualTo(
+                "Id of a mode named something");
+    }
+
+    @Test
+    public void onCreate_whenRecreating_preservesEdits() {
+        FragmentScenario<ZenModeNewCustomFragment> scenario =
+                FragmentScenario.launch(ZenModeNewCustomFragment.class, /* bundle= */ null, 0,
+                        Lifecycle.State.INITIALIZED);
+        scenario.onFragment(first -> {
+            first.setBackend(mBackend);
+            mFragment = first;
+        });
+        scenario.moveToState(Lifecycle.State.RESUMED);
+
+        // Perform some edits in the first fragment.
+        mFragment.setModeName("Don't forget me!");
+        mFragment.setModeIcon(R.drawable.ic_zen_mode_type_immersive);
+
+        // Destroy the first fragment and creates a new one (which should restore state).
+        scenario.recreate().onFragment(second -> {
+            assertThat(second).isNotSameInstanceAs(mFragment);
+            second.setBackend(mBackend);
+            mFragment = second;
+        });
+
+        mFragment.saveMode();
+        verify(mBackend).addCustomManualMode("Don't forget me!",
+                R.drawable.ic_zen_mode_type_immersive);
+        scenario.close();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeNotifVisLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeNotifVisLinkPreferenceControllerTest.java
index 646c7aa..554fc6e 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeNotifVisLinkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeNotifVisLinkPreferenceControllerTest.java
@@ -16,19 +16,19 @@
 
 package com.android.settings.notification.modes;
 
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 
-import android.app.AutomaticZenRule;
 import android.app.Flags;
 import android.content.Context;
-import android.net.Uri;
 import android.platform.test.annotations.EnableFlags;
 import android.platform.test.flag.junit.SetFlagsRule;
-import android.service.notification.ZenPolicy;
+
 import androidx.preference.Preference;
+
+import com.android.settingslib.notification.modes.TestModeBuilder;
+
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -47,8 +47,7 @@
     public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
 
     private Context mContext;
-    @Mock
-    private ZenModesBackend mBackend;
+    @Mock private ZenHelperBackend mHelperBackend;
 
     @Before
     public void setup() {
@@ -57,20 +56,14 @@
         mContext = RuntimeEnvironment.application;
 
         mController = new ZenModeNotifVisLinkPreferenceController(
-                mContext, "something", mBackend);
+                mContext, "something", mHelperBackend);
     }
 
     @Test
     @EnableFlags(Flags.FLAG_MODES_UI)
     public void testHasSummary() {
         Preference pref = mock(Preference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                .setType(AutomaticZenRule.TYPE_DRIVING)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
-                .build(), true);
-        mController.updateZenMode(pref, zenMode);
+        mController.updateZenMode(pref, TestModeBuilder.EXAMPLE);
         verify(pref).setSummary(any());
     }
 }
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeNotifVisPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeNotifVisPreferenceControllerTest.java
index 54edaf4..0820846 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeNotifVisPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeNotifVisPreferenceControllerTest.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.notification.modes;
 
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
 import static android.service.notification.ZenPolicy.STATE_ALLOW;
 import static android.service.notification.ZenPolicy.STATE_DISALLOW;
 import static android.service.notification.ZenPolicy.VISUAL_EFFECT_LIGHTS;
@@ -32,17 +31,19 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.AutomaticZenRule;
 import android.app.Flags;
 import android.content.Context;
 import android.content.res.Resources;
-import android.net.Uri;
 import android.platform.test.annotations.EnableFlags;
 import android.platform.test.flag.junit.SetFlagsRule;
 import android.service.notification.ZenPolicy;
 
 import androidx.preference.TwoStatePreference;
 
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -96,15 +97,12 @@
     @Test
     public void updateState_notChecked() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder()
-                                .allowAlarms(true)
-                                .showAllVisualEffects()
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowAlarms(true)
+                        .showAllVisualEffects()
+                        .build())
+                .build();
 
         mController.updateZenMode(preference, zenMode);
 
@@ -115,15 +113,12 @@
     @Test
     public void updateState_checked() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder()
-                                .allowAlarms(true)
-                                .showVisualEffect(VISUAL_EFFECT_PEEK, false)
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowAlarms(true)
+                        .showVisualEffect(VISUAL_EFFECT_PEEK, false)
+                        .build())
+                .build();
 
         mController.updateZenMode(preference, zenMode);
 
@@ -138,16 +133,13 @@
                 "zen_effect_status", VISUAL_EFFECT_STATUS_BAR,
                 new int[]{VISUAL_EFFECT_NOTIFICATION_LIST}, mBackend);
 
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder()
-                                .allowAlarms(true)
-                                .showVisualEffect(VISUAL_EFFECT_NOTIFICATION_LIST, false)
-                                .showVisualEffect(VISUAL_EFFECT_STATUS_BAR, true)
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowAlarms(true)
+                        .showVisualEffect(VISUAL_EFFECT_NOTIFICATION_LIST, false)
+                        .showVisualEffect(VISUAL_EFFECT_STATUS_BAR, true)
+                        .build())
+                .build();
 
         mController.updateZenMode(preference, zenMode);
 
@@ -168,15 +160,12 @@
                 "zen_effect_status", VISUAL_EFFECT_STATUS_BAR,
                 new int[]{VISUAL_EFFECT_NOTIFICATION_LIST}, mBackend);
 
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder()
-                                .allowAlarms(true)
-                                .showAllVisualEffects()
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowAlarms(true)
+                        .showAllVisualEffects()
+                        .build())
+                .build();
 
         mController.updateZenMode(preference, zenMode);
 
@@ -188,15 +177,12 @@
     @Test
     public void onPreferenceChanged_checkedFalse() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder()
-                                .allowAlarms(true)
-                                .hideAllVisualEffects()
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowAlarms(true)
+                        .hideAllVisualEffects()
+                        .build())
+                .build();
 
         mController.updateZenMode(preference, zenMode);
 
@@ -213,15 +199,12 @@
     @Test
     public void onPreferenceChanged_checkedTrue() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder()
-                                .allowAlarms(true)
-                                .showAllVisualEffects()
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowAlarms(true)
+                        .showAllVisualEffects()
+                        .build())
+                .build();
 
         mController.updateZenMode(preference, zenMode);
 
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeOtherLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeOtherLinkPreferenceControllerTest.java
index 26da6ab..38790b2 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeOtherLinkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeOtherLinkPreferenceControllerTest.java
@@ -16,19 +16,22 @@
 
 package com.android.settings.notification.modes;
 
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
+import static android.app.NotificationManager.INTERRUPTION_FILTER_NONE;
+
 import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.argThat;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 
-import android.app.AutomaticZenRule;
 import android.app.Flags;
 import android.content.Context;
-import android.net.Uri;
 import android.platform.test.annotations.EnableFlags;
 import android.platform.test.flag.junit.SetFlagsRule;
 import android.service.notification.ZenPolicy;
-import androidx.preference.Preference;
+
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -48,8 +51,7 @@
     public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
 
     private Context mContext;
-    @Mock
-    private ZenModesBackend mBackend;
+    @Mock private ZenHelperBackend mHelperBackend;
 
     @Before
     public void setup() {
@@ -58,20 +60,76 @@
         mContext = RuntimeEnvironment.application;
 
         mController = new ZenModeOtherLinkPreferenceController(
-                mContext, "something", mBackend);
+                mContext, "something", mHelperBackend);
     }
 
     @Test
-    @EnableFlags(Flags.FLAG_MODES_UI)
-    public void testHasSummary() {
-        Preference pref = mock(Preference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                .setType(AutomaticZenRule.TYPE_DRIVING)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
-                .build(), true);
+    public void updateState_dnd_enabled() {
+        CircularIconsPreference preference = mock(CircularIconsPreference.class);
+        ZenMode dnd = TestModeBuilder.MANUAL_DND_ACTIVE;
+
+        mController.updateState(preference, dnd);
+
+        verify(preference).setEnabled(true);
+    }
+
+    @Test
+    public void updateState_specialDnd_disabled() {
+        CircularIconsPreference preference = mock(CircularIconsPreference.class);
+        ZenMode specialDnd = TestModeBuilder.manualDnd(INTERRUPTION_FILTER_NONE, true);
+
+        mController.updateState(preference, specialDnd);
+
+        verify(preference).setEnabled(false);
+    }
+
+    @Test
+    public void updateState_disabled() {
+        CircularIconsPreference pref = mock(CircularIconsPreference.class);
+        ZenMode zenMode = new TestModeBuilder()
+                .setEnabled(false)
+                .build();
+
         mController.updateZenMode(pref, zenMode);
+
+        verify(pref).setEnabled(false);
+    }
+
+    @Test
+    public void updateState_loadsSummary() {
+        CircularIconsPreference pref = mock(CircularIconsPreference.class);
+        mController.updateZenMode(pref, TestModeBuilder.EXAMPLE);
+
         verify(pref).setSummary(any());
     }
+
+    @Test
+    public void updateState_loadsIcons() {
+        CircularIconsPreference pref = mock(CircularIconsPreference.class);
+        ZenMode mode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .disallowAllSounds()
+                        .allowMedia(true)
+                        .allowSystem(true)
+                        .allowReminders(true)
+                        .build())
+                .build();
+
+        mController.updateState(pref, mode);
+
+        verify(pref).setIcons(argThat(iconSet -> iconSet.size() == 3));
+    }
+
+    @Test
+    public void updateState_loadsAllIcons() {
+        CircularIconsPreference pref = mock(CircularIconsPreference.class);
+        ZenMode mode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
+                .build();
+
+        mController.updateState(pref, mode);
+
+        verify(pref).setIcons(argThat(iconSet ->
+                iconSet.size() == ZenModeSummaryHelper.OTHER_SOUND_CATEGORIES.size()));
+    }
 }
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeOtherPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeOtherPreferenceControllerTest.java
index 6dd918a..8272773 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeOtherPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeOtherPreferenceControllerTest.java
@@ -16,21 +16,26 @@
 
 package com.android.settings.notification.modes;
 
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
 import static android.service.notification.ZenPolicy.STATE_ALLOW;
 import static android.service.notification.ZenPolicy.STATE_UNSET;
+
 import static com.google.common.truth.Truth.assertThat;
+
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 
-import android.app.AutomaticZenRule;
 import android.app.Flags;
 import android.content.Context;
-import android.net.Uri;
 import android.platform.test.annotations.EnableFlags;
 import android.platform.test.flag.junit.SetFlagsRule;
 import android.service.notification.ZenPolicy;
+
 import androidx.preference.TwoStatePreference;
+
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -61,12 +66,9 @@
     @Test
     public void testUpdateState_alarms() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowAlarms(true).build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder().allowAlarms(true).build())
+                .build();
 
         ZenModeOtherPreferenceController controller =
                 new ZenModeOtherPreferenceController(mContext, "modes_category_alarm", mBackend);
@@ -79,12 +81,9 @@
     @Test
     public void testOnPreferenceChange_alarms() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowAlarms(false).build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder().allowAlarms(false).build())
+                .build();
 
         ZenModeOtherPreferenceController controller =
                 new ZenModeOtherPreferenceController(mContext, "modes_category_alarm", mBackend);
@@ -104,12 +103,9 @@
     @Test
     public void testUpdateState_media() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowMedia(true).build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder().allowMedia(true).build())
+                .build();
 
         ZenModeOtherPreferenceController controller =
                 new ZenModeOtherPreferenceController(mContext, "modes_category_media", mBackend);
@@ -122,12 +118,9 @@
     @Test
     public void testOnPreferenceChange_media() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowMedia(false).build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder().allowMedia(false).build())
+                .build();
 
         ZenModeOtherPreferenceController controller =
                 new ZenModeOtherPreferenceController(mContext, "modes_category_media", mBackend);
@@ -147,12 +140,9 @@
     @Test
     public void testUpdateState_system() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowSystem(true).build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder().allowSystem(true).build())
+                .build();
 
         ZenModeOtherPreferenceController controller =
                 new ZenModeOtherPreferenceController(mContext, "modes_category_system", mBackend);
@@ -165,12 +155,9 @@
     @Test
     public void testOnPreferenceChange_system() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowSystem(false).build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder().allowSystem(false).build())
+                .build();
 
         ZenModeOtherPreferenceController controller =
                 new ZenModeOtherPreferenceController(mContext, "modes_category_system", mBackend);
@@ -190,12 +177,9 @@
     @Test
     public void testUpdateState_reminders() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowReminders(true).build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder().allowReminders(true).build())
+                .build();
 
         ZenModeOtherPreferenceController controller =
                 new ZenModeOtherPreferenceController(mContext, "modes_category_reminders",
@@ -209,12 +193,9 @@
     @Test
     public void testOnPreferenceChange_reminders() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowReminders(false).build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder().allowReminders(false).build())
+                .build();
 
         ZenModeOtherPreferenceController controller =
                 new ZenModeOtherPreferenceController(mContext, "modes_category_reminders",
@@ -235,12 +216,9 @@
     @Test
     public void testUpdateState_events() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowEvents(true).build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder().allowEvents(true).build())
+                .build();
 
         ZenModeOtherPreferenceController controller =
                 new ZenModeOtherPreferenceController(mContext, "modes_category_events", mBackend);
@@ -253,12 +231,9 @@
     @Test
     public void testOnPreferenceChange_events() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowEvents(false).build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder().allowEvents(false).build())
+                .build();
 
         ZenModeOtherPreferenceController controller =
                 new ZenModeOtherPreferenceController(mContext, "modes_category_events", mBackend);
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModePeopleLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModePeopleLinkPreferenceControllerTest.java
index 81e6464..85fd004 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModePeopleLinkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModePeopleLinkPreferenceControllerTest.java
@@ -16,62 +16,243 @@
 
 package com.android.settings.notification.modes;
 
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-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 android.app.NotificationManager.INTERRUPTION_FILTER_NONE;
+import static android.service.notification.ZenPolicy.CONVERSATION_SENDERS_IMPORTANT;
+import static android.service.notification.ZenPolicy.PEOPLE_TYPE_ANYONE;
+import static android.service.notification.ZenPolicy.PEOPLE_TYPE_CONTACTS;
+import static android.service.notification.ZenPolicy.PEOPLE_TYPE_NONE;
+import static android.service.notification.ZenPolicy.PEOPLE_TYPE_STARRED;
 
-import android.app.AutomaticZenRule;
+import static com.google.common.base.Preconditions.checkNotNull;
+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.Mockito.never;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
 import android.app.Flags;
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
 import android.content.Context;
+import android.content.pm.ShortcutInfo;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.graphics.drawable.Drawable;
 import android.net.Uri;
 import android.platform.test.annotations.EnableFlags;
 import android.platform.test.flag.junit.SetFlagsRule;
+import android.service.notification.ConversationChannelWrapper;
 import android.service.notification.ZenPolicy;
-import androidx.preference.Preference;
+import android.view.LayoutInflater;
+import android.view.View;
+
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+import com.android.settings.notification.modes.ZenHelperBackend.Contact;
+import com.android.settingslib.notification.ConversationIconFactory;
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.util.concurrent.MoreExecutors;
+
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
+import org.mockito.stubbing.Answer;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 
+import java.util.Collection;
+
+@EnableFlags(Flags.FLAG_MODES_UI)
 @RunWith(RobolectricTestRunner.class)
 public final class ZenModePeopleLinkPreferenceControllerTest {
 
     private ZenModePeopleLinkPreferenceController mController;
+    private CircularIconsPreference mPreference;
+    private CircularIconsView mIconsView;
 
     @Rule
     public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
 
     private Context mContext;
-    @Mock
-    private ZenModesBackend mBackend;
+    @Mock private ZenHelperBackend mHelperBackend;
+    @Mock private ConversationIconFactory mConversationIconFactory;
 
     @Before
     public void setup() {
         MockitoAnnotations.initMocks(this);
-
         mContext = RuntimeEnvironment.application;
+        CircularIconSet.sExecutorService = MoreExecutors.newDirectExecutorService();
+        mPreference = new TestableCircularIconsPreference(mContext);
+
+        // Ensure the preference view is bound & measured (needed to add icons).
+        View preferenceView = LayoutInflater.from(mContext).inflate(mPreference.getLayoutResource(),
+                null);
+        mIconsView = checkNotNull(preferenceView.findViewById(R.id.circles_container));
+        mIconsView.setUiExecutor(MoreExecutors.directExecutor());
+        preferenceView.measure(View.MeasureSpec.makeMeasureSpec(1000, View.MeasureSpec.EXACTLY),
+                View.MeasureSpec.makeMeasureSpec(1000, View.MeasureSpec.EXACTLY));
+        PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(preferenceView);
+        mPreference.onBindViewHolder(holder);
 
         mController = new ZenModePeopleLinkPreferenceController(
-                mContext, "something", mBackend);
+                mContext, "something", mHelperBackend, mConversationIconFactory);
+
+        setUpContacts(ImmutableList.of(), ImmutableList.of());
+        setUpImportantConversations(ImmutableList.of());
+
+        when(mHelperBackend.getContactPhoto(any())).then(
+                (Answer<Drawable>) invocationOnMock -> photoOf(invocationOnMock.getArgument(0)));
+        when(mConversationIconFactory.getConversationDrawable((ShortcutInfo) any(), any(), anyInt(),
+                anyBoolean())).thenReturn(new ColorDrawable(Color.BLACK));
     }
 
     @Test
-    @EnableFlags(Flags.FLAG_MODES_UI)
-    public void testHasSummary() {
-        Preference pref = mock(Preference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                .setType(AutomaticZenRule.TYPE_DRIVING)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
-                .build(), true);
-        mController.updateZenMode(pref, zenMode);
-        verify(pref).setSummary(any());
+    public void updateState_dnd_enabled() {
+        ZenMode dnd = TestModeBuilder.MANUAL_DND_ACTIVE;
+        mController.updateState(mPreference, dnd);
+        assertThat(mPreference.isEnabled()).isTrue();
+    }
+
+    @Test
+    public void updateState_specialDnd_disabled() {
+        ZenMode specialDnd = TestModeBuilder.manualDnd(INTERRUPTION_FILTER_NONE, true);
+        mController.updateState(mPreference, specialDnd);
+        assertThat(mPreference.isEnabled()).isFalse();
+    }
+
+    @Test
+    public void updateState_disabled() {
+        ZenMode zenMode = new TestModeBuilder()
+                .setEnabled(false)
+                .build();
+
+        mController.updateState(mPreference, zenMode);
+
+        assertThat(mPreference.isEnabled()).isFalse();
+    }
+
+    @Test
+    public void updateState_setsSummary() {
+        mController.updateState(mPreference, TestModeBuilder.EXAMPLE);
+
+        assertThat(mPreference.getSummary()).isNotNull();
+        assertThat(mPreference.getSummary().toString()).isNotEmpty();
+    }
+
+    @Test
+    public void updateState_starredCallsNoMessages_displaysStarredContacts() {
+        setUpContacts(ImmutableList.of(1, 2, 3, 4), ImmutableList.of(2, 3));
+        ZenMode mode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowCalls(PEOPLE_TYPE_STARRED)
+                        .allowMessages(PEOPLE_TYPE_NONE)
+                        .build())
+                .build();
+
+        mController.updateState(mPreference, mode);
+
+        assertThat(mIconsView.getDisplayedIcons()).isNotNull();
+        assertThat(mIconsView.getDisplayedIcons().icons()).hasSize(2);
+        assertThat(mIconsView.getDisplayedIcons().icons().stream()
+                .map(ColorDrawable.class::cast)
+                .map(d -> d.getColor()).toList())
+                .containsExactly(2, 3).inOrder();
+    }
+
+    @Test
+    public void updateState_starredCallsContactMessages_displaysAllContacts() {
+        setUpContacts(ImmutableList.of(1, 2, 3, 4), ImmutableList.of(2, 3));
+        ZenMode mode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowCalls(PEOPLE_TYPE_STARRED)
+                        .allowMessages(PEOPLE_TYPE_CONTACTS)
+                        .build())
+                .build();
+
+        mController.updateState(mPreference, mode);
+
+        assertThat(mIconsView.getDisplayedIcons()).isNotNull();
+        assertThat(mIconsView.getDisplayedIcons().icons()).hasSize(4);
+        assertThat(mIconsView.getDisplayedIcons().icons().stream()
+                .map(ColorDrawable.class::cast)
+                .map(d -> d.getColor()).toList())
+                .containsExactly(1, 2, 3, 4).inOrder();
+    }
+
+    @Test
+    public void updateState_anyoneCallsContactMessages_displaysAnyonePlaceholder() {
+        setUpContacts(ImmutableList.of(1, 2, 3, 4), ImmutableList.of(2, 3));
+        ZenMode mode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowCalls(PEOPLE_TYPE_ANYONE)
+                        .allowMessages(PEOPLE_TYPE_CONTACTS)
+                        .build())
+                .build();
+
+        mController.updateState(mPreference, mode);
+
+        assertThat(mIconsView.getDisplayedIcons()).isNotNull();
+        assertThat(mIconsView.getDisplayedIcons().icons()).hasSize(1);
+        verify(mHelperBackend, never()).getContactPhoto(any());
+    }
+
+    @Test
+    public void updateState_noContactsButImportantConversations_displaysConversations() {
+        setUpContacts(ImmutableList.of(), ImmutableList.of());
+        setUpImportantConversations(ImmutableList.of(1, 2, 3));
+        ZenMode mode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowCalls(PEOPLE_TYPE_CONTACTS)
+                        .allowMessages(PEOPLE_TYPE_CONTACTS)
+                        .allowConversations(CONVERSATION_SENDERS_IMPORTANT)
+                        .build())
+                .build();
+
+        mController.updateState(mPreference, mode);
+
+        assertThat(mIconsView.getDisplayedIcons()).isNotNull();
+        assertThat(mIconsView.getDisplayedIcons().icons()).hasSize(3);
+        verify(mConversationIconFactory, times(3)).getConversationDrawable((ShortcutInfo) any(),
+                any(), anyInt(), anyBoolean());
+    }
+
+    private void setUpContacts(Collection<Integer> allIds, Collection<Integer> starredIds) {
+        when(mHelperBackend.getAllContacts()).thenReturn(ImmutableList.copyOf(
+                allIds.stream()
+                        .map(id -> new Contact(id, "#" + id, Uri.parse("photo://" + id)))
+                        .toList()));
+
+        when(mHelperBackend.getStarredContacts()).thenReturn(ImmutableList.copyOf(
+                starredIds.stream()
+                        .map(id -> new Contact(id, "#" + id, Uri.parse("photo://" + id)))
+                        .toList()));
+    }
+
+    private void setUpImportantConversations(Collection<Integer> ids) {
+        when(mHelperBackend.getImportantConversations()).thenReturn(ImmutableList.copyOf(
+                ids.stream()
+                        .map(id -> {
+                            ConversationChannelWrapper channel = new ConversationChannelWrapper();
+                            channel.setNotificationChannel(
+                                    new NotificationChannel(id.toString(), id.toString(),
+                                            NotificationManager.IMPORTANCE_DEFAULT));
+                            return channel;
+                        })
+                        .toList()));
+    }
+
+    private static ColorDrawable photoOf(Contact contact) {
+        return new ColorDrawable((int) contact.id());
     }
 }
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceControllerTest.java
index c915974..eb57094 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceControllerTest.java
@@ -16,46 +16,51 @@
 
 package com.android.settings.notification.modes;
 
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
 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 static android.service.notification.ZenPolicy.CONVERSATION_SENDERS_UNSET;
 import static android.service.notification.ZenPolicy.PEOPLE_TYPE_ANYONE;
 import static android.service.notification.ZenPolicy.PEOPLE_TYPE_CONTACTS;
 import static android.service.notification.ZenPolicy.PEOPLE_TYPE_NONE;
 import static android.service.notification.ZenPolicy.PEOPLE_TYPE_STARRED;
-import static android.service.notification.ZenPolicy.PEOPLE_TYPE_UNSET;
-import static android.service.notification.ZenPolicy.STATE_UNSET;
+import static android.service.notification.ZenPolicy.conversationTypeToString;
+import static android.service.notification.ZenPolicy.peopleTypeToString;
 
 import static com.android.settings.notification.modes.ZenModePrioritySendersPreferenceController.KEY_ANY;
+import static com.android.settings.notification.modes.ZenModePrioritySendersPreferenceController.KEY_ANY_CONVERSATIONS;
 import static com.android.settings.notification.modes.ZenModePrioritySendersPreferenceController.KEY_CONTACTS;
-import static com.android.settings.notification.modes.ZenModePrioritySendersPreferenceController.KEY_IMPORTANT;
+import static com.android.settings.notification.modes.ZenModePrioritySendersPreferenceController.KEY_IMPORTANT_CONVERSATIONS;
 import static com.android.settings.notification.modes.ZenModePrioritySendersPreferenceController.KEY_NONE;
 import static com.android.settings.notification.modes.ZenModePrioritySendersPreferenceController.KEY_STARRED;
 
+import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 
-import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.AutomaticZenRule;
 import android.app.Flags;
 import android.content.Context;
-import android.database.Cursor;
-import android.net.Uri;
 import android.platform.test.annotations.EnableFlags;
 import android.platform.test.flag.junit.SetFlagsRule;
 import android.service.notification.ZenPolicy;
+import android.service.notification.ZenPolicy.ConversationSenders;
+import android.service.notification.ZenPolicy.PeopleType;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
+import androidx.preference.TwoStatePreference;
 
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
 import com.android.settingslib.widget.SelectorWithWidgetPreference;
 
+import com.google.common.collect.ImmutableList;
+
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -66,6 +71,9 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 
+import java.util.function.Consumer;
+import java.util.function.Predicate;
+
 @RunWith(RobolectricTestRunner.class)
 @EnableFlags(Flags.FLAG_MODES_UI)
 public final class ZenModePrioritySendersPreferenceControllerTest {
@@ -77,8 +85,8 @@
     public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
 
     private Context mContext;
-    @Mock
-    private ZenModesBackend mBackend;
+    @Mock private ZenModesBackend mBackend;
+    @Mock private ZenHelperBackend mHelperBackend;
 
     private PreferenceCategory mMessagesPrefCategory, mCallsPrefCategory;
 
@@ -90,10 +98,11 @@
 
         mContext = RuntimeEnvironment.application;
 
-        mMessagesController = new ZenModePrioritySendersPreferenceController(
-                mContext, "messages", true, mBackend);
-        mCallsController = new ZenModePrioritySendersPreferenceController(
-                mContext, "calls", false, mBackend);
+        mMessagesController = new ZenModePrioritySendersPreferenceController(mContext, "messages",
+                true, mBackend, mHelperBackend);
+        mCallsController = new ZenModePrioritySendersPreferenceController(mContext, "calls", false,
+                mBackend, mHelperBackend);
+
         mMessagesPrefCategory = new PreferenceCategory(mContext);
         mMessagesPrefCategory.setKey(mMessagesController.getPreferenceKey());
         mCallsPrefCategory = new PreferenceCategory(mContext);
@@ -104,39 +113,34 @@
         mPreferenceScreen.addPreference(mCallsPrefCategory);
         mPreferenceScreen.addPreference(mMessagesPrefCategory);
 
-        Cursor cursor = mock(Cursor.class);
-        when(cursor.getCount()).thenReturn(1);
-        when(mBackend.queryAllContactsData()).thenReturn(cursor);
-    }
+        when(mHelperBackend.getStarredContacts()).thenReturn(ImmutableList.of());
+        when(mHelperBackend.getAllContacts()).thenReturn(
+                ImmutableList.of(new ZenHelperBackend.Contact(1, "The only contact", null)));
+        when(mHelperBackend.getAllContactsCount()).thenReturn(1);
 
-    // Makes a preference with the provided key and whether it's a checkbox with
-    // mSelectorClickListener as the onClickListener set.
-    private SelectorWithWidgetPreference makePreference(
-            String key, boolean isCheckbox, boolean isMessages) {
-        final SelectorWithWidgetPreference pref =
-                new SelectorWithWidgetPreference(mContext, isCheckbox);
-        pref.setKey(key);
-        pref.setOnClickListener(
-                isMessages ? mMessagesController.mSelectorClickListener
-                        : mCallsController.mSelectorClickListener);
-        return pref;
+        when(mHelperBackend.getImportantConversations()).thenReturn(ImmutableList.of());
+        when(mHelperBackend.getAllConversations()).thenReturn(ImmutableList.of());
     }
 
     @Test
     public void testDisplayPreferences_makeMessagesPrefs() {
         mMessagesController.displayPreference(mPreferenceScreen);
 
-        // Starred contacts, Contacts, Priority Conversations, Any, None
-        assertThat(mMessagesPrefCategory.getPreferenceCount()).isEqualTo(5);
+        // "Any Conversations" is invisible by default.
+        assertThat(getAllOptions(mMessagesPrefCategory)).containsExactly(KEY_STARRED, KEY_CONTACTS,
+                KEY_ANY_CONVERSATIONS, KEY_IMPORTANT_CONVERSATIONS, KEY_ANY, KEY_NONE).inOrder();
+        assertThat(getVisibleOptions(mMessagesPrefCategory)).containsExactly(KEY_STARRED,
+                KEY_CONTACTS, KEY_IMPORTANT_CONVERSATIONS, KEY_ANY, KEY_NONE).inOrder();
     }
 
     @Test
     public void testDisplayPreferences_makeCallsPrefs() {
         mCallsController.displayPreference(mPreferenceScreen);
 
-        assertThat(mCallsPrefCategory.getPreferenceCount()).isEqualTo(4);
-        assertThat((Comparable<?>) mCallsPrefCategory.findPreference(KEY_IMPORTANT)).isNull();
-
+        assertThat(getAllOptions(mCallsPrefCategory)).containsExactly(KEY_STARRED, KEY_CONTACTS,
+                KEY_ANY, KEY_NONE).inOrder();
+        assertThat(getVisibleOptions(mCallsPrefCategory)).containsExactly(KEY_STARRED, KEY_CONTACTS,
+                KEY_ANY, KEY_NONE).inOrder();
     }
 
     @Test
@@ -153,305 +157,1213 @@
     }
 
     @Test
-    public void testKeyToSettingEndState_messagesCheck() {
-        int[] endState;
+    public void updateState_callsAny() {
+        ZenMode zenMode = newModeWithPolicy(p -> p.allowCalls(PEOPLE_TYPE_ANYONE));
+        mCallsController.displayPreference(mPreferenceScreen);
 
-        // For KEY_NONE everything should be none.
-        endState = mMessagesController.keyToSettingEndState(KEY_NONE, true);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_NONE);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_NONE);
+        mCallsController.updateZenMode(mCallsPrefCategory, zenMode);
 
-        // For KEY_ANY everything should be allowed.
-        endState = mMessagesController.keyToSettingEndState(KEY_ANY, true);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_ANYONE);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_ANYONE);
-
-        // For [starred] contacts, we should set the priority senders, but not the conversations
-        endState = mMessagesController.keyToSettingEndState(KEY_STARRED, true);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_STARRED);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
-
-        endState = mMessagesController.keyToSettingEndState(KEY_CONTACTS, true);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_CONTACTS);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
-
-        // For priority conversations, we should set the conversations but not priority senders
-        endState = mMessagesController.keyToSettingEndState(KEY_IMPORTANT, true);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_UNSET);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_IMPORTANT);
+        assertThat(getCheckedOptions(mCallsPrefCategory)).containsExactly(KEY_ANY);
     }
 
     @Test
-    public void testKeyToSettingEndState_messagesUncheck() {
-        int[] endState;
+    public void updateState_callsContacts() {
+        ZenMode zenMode = newModeWithPolicy(p -> p.allowCalls(PEOPLE_TYPE_CONTACTS));
+        mCallsController.displayPreference(mPreferenceScreen);
 
-        // For KEY_NONE, "unchecking" still means "none".
-        endState = mMessagesController.keyToSettingEndState(KEY_NONE, false);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_NONE);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_NONE);
+        mCallsController.updateZenMode(mCallsPrefCategory, zenMode);
 
-        // For KEY_ANY unchecking resets the state to "none".
-        endState = mMessagesController.keyToSettingEndState(KEY_ANY, false);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_NONE);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_NONE);
-
-        // For [starred] contacts, we should unset the priority senders, but not the conversations
-        endState = mMessagesController.keyToSettingEndState(KEY_STARRED, false);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_NONE);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
-
-        endState = mMessagesController.keyToSettingEndState(KEY_CONTACTS, false);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_NONE);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
-
-        // For priority conversations, we should set the conversations but not priority senders
-        endState = mMessagesController.keyToSettingEndState(KEY_IMPORTANT, false);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_UNSET);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_NONE);
+        assertThat(getCheckedOptions(mCallsPrefCategory)).containsExactly(KEY_CONTACTS);
     }
 
     @Test
-    public void testKeyToSettingEndState_callsCheck() {
-        int[] endState;
+    public void updateState_callsStarredContacts() {
+        ZenMode zenMode = newModeWithPolicy(p -> p.allowCalls(PEOPLE_TYPE_STARRED));
+        mCallsController.displayPreference(mPreferenceScreen);
 
-        // For calls: we should never set conversations, as this is unrelated to calls.
-        // For KEY_NONE senders should be none.
-        endState = mCallsController.keyToSettingEndState(KEY_NONE, true);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_NONE);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
+        mCallsController.updateZenMode(mCallsPrefCategory, zenMode);
 
-        // For KEY_ANY senders should be ANY.
-        endState = mCallsController.keyToSettingEndState(KEY_ANY, true);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_ANYONE);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
-
-        // For [starred] contacts, we should set the priority senders accordingly
-        endState = mCallsController.keyToSettingEndState(KEY_STARRED, true);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_STARRED);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
-
-        endState = mCallsController.keyToSettingEndState(KEY_CONTACTS, true);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_CONTACTS);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
+        assertThat(getCheckedOptions(mCallsPrefCategory)).containsExactly(KEY_STARRED);
     }
 
     @Test
-    public void testKeyToSettingEndState_callsUncheck() {
-        int[] endState;
+    public void updateState_callsNone() {
+        ZenMode zenMode = newModeWithPolicy(p -> p.allowCalls(PEOPLE_TYPE_NONE));
+        mCallsController.displayPreference(mPreferenceScreen);
 
-        // A calls setup should never set conversations settings.
-        // For KEY_NONE, "unchecking" still means "none".
-        endState = mCallsController.keyToSettingEndState(KEY_NONE, false);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_NONE);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
+        mCallsController.updateZenMode(mCallsPrefCategory, zenMode);
 
-        // For KEY_ANY unchecking resets the state to "none".
-        endState = mCallsController.keyToSettingEndState(KEY_ANY, false);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_NONE);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
-
-        // For [starred] contacts, we should unset the priority senders, but not the conversations
-        endState = mCallsController.keyToSettingEndState(KEY_STARRED, false);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_NONE);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
-
-        endState = mCallsController.keyToSettingEndState(KEY_CONTACTS, false);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_NONE);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
+        assertThat(getCheckedOptions(mCallsPrefCategory)).containsExactly(KEY_NONE);
     }
 
     @Test
-    public void testSettingsToSaveOnClick_messagesCheck() {
-        int[] endState;
+    public void updateState_msgAnyConvAny() {
+        ZenMode zenMode = newModeWithPolicy(p ->
+                p.allowMessages(PEOPLE_TYPE_ANYONE)
+                        .allowConversations(CONVERSATION_SENDERS_ANYONE));
 
-        // For KEY_NONE everything should be none.
-        endState = mMessagesController.settingsToSaveOnClick(
-                KEY_NONE, true, PEOPLE_TYPE_ANYONE, CONVERSATION_SENDERS_ANYONE);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_NONE);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_NONE);
+        mMessagesController.displayPreference(mPreferenceScreen);
+        mMessagesController.updateZenMode(mMessagesPrefCategory, zenMode);
 
-        // For KEY_ANY everything should be allowed.
-        endState = mMessagesController.settingsToSaveOnClick(
-                KEY_ANY, true, PEOPLE_TYPE_NONE, CONVERSATION_SENDERS_NONE);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_ANYONE);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_ANYONE);
-
-        // For [starred] contacts, we should set the priority senders, but not the conversations
-        endState =  mMessagesController.settingsToSaveOnClick(
-                KEY_STARRED, true, PEOPLE_TYPE_NONE, CONVERSATION_SENDERS_NONE);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_STARRED);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
-
-        endState = mMessagesController.settingsToSaveOnClick(
-                KEY_CONTACTS, true, PEOPLE_TYPE_NONE, CONVERSATION_SENDERS_NONE);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_CONTACTS);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
-
-        // For priority conversations, we should set the conversations but not priority senders
-        endState = mMessagesController.settingsToSaveOnClick(
-                KEY_IMPORTANT, true, PEOPLE_TYPE_NONE, CONVERSATION_SENDERS_NONE);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_UNSET);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_IMPORTANT);
+        // Messages=ANY shows ANY checked, regardless of conversations value (all conversations are
+        // messages and will get through).
+        assertThat(getVisibleOptions(mMessagesPrefCategory)).containsExactly(
+                KEY_ANY, KEY_STARRED, KEY_CONTACTS, KEY_IMPORTANT_CONVERSATIONS, KEY_NONE);
+        assertThat(getCheckedOptions(mMessagesPrefCategory)).containsExactly(KEY_ANY);
     }
 
     @Test
-    public void testSettingsToSaveOnClick_messagesUncheck() {
-        int[] endState;
+    public void updateState_msgAnyConvImportant() {
+        ZenMode zenMode = newModeWithPolicy(p ->
+                p.allowMessages(PEOPLE_TYPE_ANYONE)
+                        .allowConversations(CONVERSATION_SENDERS_IMPORTANT));
 
-        // For KEY_NONE, "unchecking" still means "none".
-        endState = mMessagesController.settingsToSaveOnClick(
-                KEY_NONE, false, PEOPLE_TYPE_NONE, CONVERSATION_SENDERS_NONE);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_UNSET);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
+        mMessagesController.displayPreference(mPreferenceScreen);
+        mMessagesController.updateZenMode(mMessagesPrefCategory, zenMode);
 
-        // For KEY_ANY unchecking resets the state to "none".
-        endState = mMessagesController.settingsToSaveOnClick(
-                KEY_ANY, false, PEOPLE_TYPE_ANYONE, CONVERSATION_SENDERS_ANYONE);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_NONE);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_NONE);
-
-        // For [starred] contacts, we should unset the priority senders, but not the conversations
-        endState = mMessagesController.settingsToSaveOnClick(
-                KEY_STARRED, false, PEOPLE_TYPE_STARRED, CONVERSATION_SENDERS_IMPORTANT);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_NONE);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
-
-        endState = mMessagesController.settingsToSaveOnClick(
-                KEY_CONTACTS, false, PEOPLE_TYPE_CONTACTS, CONVERSATION_SENDERS_IMPORTANT);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_NONE);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
-
-        // For priority conversations, we should set the conversations but not priority senders
-        endState = mMessagesController.settingsToSaveOnClick(
-                KEY_IMPORTANT, false, PEOPLE_TYPE_CONTACTS, CONVERSATION_SENDERS_IMPORTANT);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_UNSET);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_NONE);
+        // Messages=ANY shows ANY checked, regardless of conversations value (all conversations are
+        // messages and will get through).
+        assertThat(getVisibleOptions(mMessagesPrefCategory)).containsExactly(
+                KEY_ANY, KEY_STARRED, KEY_CONTACTS, KEY_IMPORTANT_CONVERSATIONS, KEY_NONE);
+        assertThat(getCheckedOptions(mMessagesPrefCategory)).containsExactly(KEY_ANY);
     }
 
     @Test
-    public void testSettingsToSaveOnClick_callsCheck() {
-        int[] endState;
+    public void updateState_msgAnyConvNone() {
+        ZenMode zenMode = newModeWithPolicy(p ->
+                p.allowMessages(PEOPLE_TYPE_ANYONE)
+                        .allowConversations(CONVERSATION_SENDERS_NONE));
 
-        // For calls: we should never set conversations, as this is unrelated to calls.
-        // For KEY_NONE senders should be none.
-        endState = mCallsController.settingsToSaveOnClick(
-                KEY_NONE, true, PEOPLE_TYPE_CONTACTS, CONVERSATION_SENDERS_IMPORTANT);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_NONE);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
+        mMessagesController.displayPreference(mPreferenceScreen);
+        mMessagesController.updateZenMode(mMessagesPrefCategory, zenMode);
 
-        // For KEY_ANY senders should be ANY.
-        endState = mCallsController.settingsToSaveOnClick(
-                KEY_ANY, true, PEOPLE_TYPE_CONTACTS, CONVERSATION_SENDERS_IMPORTANT);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_ANYONE);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
-
-        // For [starred] contacts, we should set the priority senders accordingly
-        endState = mCallsController.settingsToSaveOnClick(
-                KEY_STARRED, true, PEOPLE_TYPE_CONTACTS, CONVERSATION_SENDERS_IMPORTANT);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_STARRED);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
-
-        endState = mCallsController.settingsToSaveOnClick(
-                KEY_CONTACTS, true, PEOPLE_TYPE_STARRED, CONVERSATION_SENDERS_IMPORTANT);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_CONTACTS);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
+        // Messages=ANY shows ANY checked, regardless of conversations value (all conversations are
+        // messages and will get through).
+        assertThat(getVisibleOptions(mMessagesPrefCategory)).containsExactly(
+                KEY_ANY, KEY_STARRED, KEY_CONTACTS, KEY_IMPORTANT_CONVERSATIONS, KEY_NONE);
+        assertThat(getCheckedOptions(mMessagesPrefCategory)).containsExactly(KEY_ANY);
     }
 
     @Test
-    public void testSettingsToSaveOnClick_callsUncheck() {
-        int[] endState;
+    public void updateState_msgContactsConvAny() {
+        ZenMode zenMode = newModeWithPolicy(p ->
+                p.allowMessages(PEOPLE_TYPE_CONTACTS)
+                        .allowConversations(CONVERSATION_SENDERS_ANYONE));
 
-        // A calls setup should never set conversations settings.
-        // For KEY_NONE, "unchecking" still means "none".
-        endState = mCallsController.settingsToSaveOnClick(
-                KEY_NONE, false, PEOPLE_TYPE_NONE, CONVERSATION_SENDERS_NONE);
-        assertThat(endState[0]).isEqualTo(STATE_UNSET);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
+        mMessagesController.displayPreference(mPreferenceScreen);
+        mMessagesController.updateZenMode(mMessagesPrefCategory, zenMode);
 
-        // For KEY_ANY unchecking resets the state to "none".
-        endState = mCallsController.settingsToSaveOnClick(
-                KEY_ANY, false, PEOPLE_TYPE_ANYONE, CONVERSATION_SENDERS_ANYONE);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_NONE);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
-
-        // For [starred] contacts, we should unset the priority senders, but not the conversations
-        endState = mCallsController.settingsToSaveOnClick(
-                KEY_STARRED, false, PEOPLE_TYPE_STARRED, CONVERSATION_SENDERS_IMPORTANT);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_NONE);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
-
-        endState = mCallsController.settingsToSaveOnClick(
-                KEY_CONTACTS, false, PEOPLE_TYPE_CONTACTS, CONVERSATION_SENDERS_IMPORTANT);
-        assertThat(endState[0]).isEqualTo(PEOPLE_TYPE_NONE);
-        assertThat(endState[1]).isEqualTo(CONVERSATION_SENDERS_UNSET);
+        // Shows a checked option for conversations=ANY which is normally unavailable.
+        assertThat(getVisibleOptions(mMessagesPrefCategory)).containsExactly(KEY_ANY,
+                KEY_STARRED, KEY_CONTACTS, KEY_ANY_CONVERSATIONS, KEY_IMPORTANT_CONVERSATIONS,
+                KEY_NONE);
+        assertThat(getCheckedOptions(mMessagesPrefCategory)).containsExactly(KEY_CONTACTS,
+                KEY_ANY_CONVERSATIONS);
     }
 
     @Test
-    public void testSettingsToSave_messages_noChange() {
-        int[] savedSettings;
+    public void updateState_msgContactsConvImportant() {
+        ZenMode zenMode = newModeWithPolicy(p ->
+                p.allowMessages(PEOPLE_TYPE_CONTACTS)
+                        .allowConversations(CONVERSATION_SENDERS_IMPORTANT));
 
-        savedSettings = mMessagesController.settingsToSaveOnClick(
-                KEY_NONE, true, PEOPLE_TYPE_NONE, CONVERSATION_SENDERS_NONE);
-        assertThat(savedSettings[0]).isEqualTo(STATE_UNSET);
-        assertThat(savedSettings[1]).isEqualTo(STATE_UNSET);
+        mMessagesController.displayPreference(mPreferenceScreen);
+        mMessagesController.updateZenMode(mMessagesPrefCategory, zenMode);
 
-        savedSettings = mMessagesController.settingsToSaveOnClick(
-                KEY_ANY, true, PEOPLE_TYPE_ANYONE, CONVERSATION_SENDERS_ANYONE);
-        assertThat(savedSettings[0]).isEqualTo(STATE_UNSET);
-        assertThat(savedSettings[1]).isEqualTo(STATE_UNSET);
-
-        savedSettings = mMessagesController.settingsToSaveOnClick(
-                KEY_STARRED, true, PEOPLE_TYPE_STARRED, CONVERSATION_SENDERS_ANYONE);
-        assertThat(savedSettings[0]).isEqualTo(STATE_UNSET);
-
-        savedSettings = mMessagesController.settingsToSaveOnClick(
-                KEY_CONTACTS, true, PEOPLE_TYPE_CONTACTS, CONVERSATION_SENDERS_ANYONE);
-        assertThat(savedSettings[0]).isEqualTo(STATE_UNSET);
-
-        savedSettings = mMessagesController.settingsToSaveOnClick(
-                KEY_IMPORTANT, true, PEOPLE_TYPE_CONTACTS, CONVERSATION_SENDERS_IMPORTANT);
-        assertThat(savedSettings[1]).isEqualTo(STATE_UNSET);
+        // Contacts and important conversations.
+        assertThat(getVisibleOptions(mMessagesPrefCategory)).containsExactly(
+                KEY_ANY, KEY_STARRED, KEY_CONTACTS, KEY_IMPORTANT_CONVERSATIONS, KEY_NONE);
+        assertThat(getCheckedOptions(mMessagesPrefCategory)).containsExactly(KEY_CONTACTS,
+                KEY_IMPORTANT_CONVERSATIONS);
     }
 
     @Test
-    public void testSettingsToSave_calls_noChange() {
-        int[] savedSettings;
+    public void updateState_msgContactsConvNone() {
+        ZenMode zenMode = newModeWithPolicy(p ->
+                p.allowMessages(PEOPLE_TYPE_CONTACTS)
+                        .allowConversations(CONVERSATION_SENDERS_NONE));
 
-        savedSettings = mMessagesController.settingsToSaveOnClick(
-                KEY_NONE, true, PEOPLE_TYPE_NONE, CONVERSATION_SENDERS_NONE);
-        assertThat(savedSettings[0]).isEqualTo(STATE_UNSET);
-        assertThat(savedSettings[1]).isEqualTo(STATE_UNSET);
+        mMessagesController.displayPreference(mPreferenceScreen);
+        mMessagesController.updateZenMode(mMessagesPrefCategory, zenMode);
 
-        savedSettings = mMessagesController.settingsToSaveOnClick(
-                KEY_ANY, true, PEOPLE_TYPE_ANYONE, CONVERSATION_SENDERS_ANYONE);
-        assertThat(savedSettings[0]).isEqualTo(STATE_UNSET);
-        assertThat(savedSettings[1]).isEqualTo(STATE_UNSET);
+        // Just contacts (will include conversations with those contacts but not explicitly chosen).
+        assertThat(getVisibleOptions(mMessagesPrefCategory)).containsExactly(
+                KEY_ANY, KEY_STARRED, KEY_CONTACTS, KEY_IMPORTANT_CONVERSATIONS, KEY_NONE);
+        assertThat(getCheckedOptions(mMessagesPrefCategory)).containsExactly(KEY_CONTACTS);
+    }
 
-        savedSettings = mMessagesController.settingsToSaveOnClick(
-                KEY_STARRED, true, PEOPLE_TYPE_STARRED, CONVERSATION_SENDERS_ANYONE);
-        assertThat(savedSettings[0]).isEqualTo(STATE_UNSET);
+    @Test
+    public void updateState_msgStarredConvAny() {
+        ZenMode zenMode = newModeWithPolicy(p ->
+                p.allowMessages(PEOPLE_TYPE_STARRED)
+                        .allowConversations(CONVERSATION_SENDERS_ANYONE));
 
-        savedSettings = mMessagesController.settingsToSaveOnClick(
-                KEY_CONTACTS, true, PEOPLE_TYPE_CONTACTS, CONVERSATION_SENDERS_ANYONE);
-        assertThat(savedSettings[0]).isEqualTo(STATE_UNSET);
+        mMessagesController.displayPreference(mPreferenceScreen);
+        mMessagesController.updateZenMode(mMessagesPrefCategory, zenMode);
+
+        // Shows a checked option for conversations=ANY which is normally unavailable.
+        assertThat(getVisibleOptions(mMessagesPrefCategory)).containsExactly(KEY_ANY,
+                KEY_STARRED, KEY_CONTACTS, KEY_ANY_CONVERSATIONS, KEY_IMPORTANT_CONVERSATIONS,
+                KEY_NONE);
+        assertThat(getCheckedOptions(mMessagesPrefCategory)).containsExactly(KEY_STARRED,
+                KEY_ANY_CONVERSATIONS);
+    }
+
+    @Test
+    public void updateState_msgStarredConvImportant() {
+        ZenMode zenMode = newModeWithPolicy(p ->
+                p.allowMessages(PEOPLE_TYPE_STARRED)
+                        .allowConversations(CONVERSATION_SENDERS_IMPORTANT));
+
+        mMessagesController.displayPreference(mPreferenceScreen);
+        mMessagesController.updateZenMode(mMessagesPrefCategory, zenMode);
+
+        // Starred contacts and important conversations.
+        assertThat(getVisibleOptions(mMessagesPrefCategory)).containsExactly(
+                KEY_ANY, KEY_STARRED, KEY_CONTACTS, KEY_IMPORTANT_CONVERSATIONS, KEY_NONE);
+        assertThat(getCheckedOptions(mMessagesPrefCategory)).containsExactly(KEY_STARRED,
+                KEY_IMPORTANT_CONVERSATIONS);
+    }
+
+    @Test
+    public void updateState_msgStarredConvNone() {
+        ZenMode zenMode = newModeWithPolicy(p ->
+                p.allowMessages(PEOPLE_TYPE_STARRED)
+                        .allowConversations(CONVERSATION_SENDERS_NONE));
+
+        mMessagesController.displayPreference(mPreferenceScreen);
+        mMessagesController.updateZenMode(mMessagesPrefCategory, zenMode);
+
+        // Just starred contacts (will include conversations with those contacts but not
+        // explicitly chosen).
+        assertThat(getVisibleOptions(mMessagesPrefCategory)).containsExactly(
+                KEY_ANY, KEY_STARRED, KEY_CONTACTS, KEY_IMPORTANT_CONVERSATIONS, KEY_NONE);
+        assertThat(getCheckedOptions(mMessagesPrefCategory)).containsExactly(KEY_STARRED);
+    }
+
+    @Test
+    public void updateState_msgNoneConvAny() {
+        ZenMode zenMode = newModeWithPolicy(p ->
+                p.allowMessages(PEOPLE_TYPE_NONE)
+                        .allowConversations(CONVERSATION_SENDERS_ANYONE));
+
+        mMessagesController.displayPreference(mPreferenceScreen);
+        mMessagesController.updateZenMode(mMessagesPrefCategory, zenMode);
+
+        // Shows a checked option for conversations=ANY which is normally unavailable.
+        // Only option checked (messages=NONE is reserved for none at all).
+        assertThat(getVisibleOptions(mMessagesPrefCategory)).containsExactly(KEY_ANY,
+                KEY_STARRED, KEY_CONTACTS, KEY_ANY_CONVERSATIONS, KEY_IMPORTANT_CONVERSATIONS,
+                KEY_NONE);
+        assertThat(getCheckedOptions(mMessagesPrefCategory)).containsExactly(
+                KEY_ANY_CONVERSATIONS);
+    }
+
+    @Test
+    public void updateState_msgNoneConvImportant() {
+        ZenMode zenMode = newModeWithPolicy(p ->
+                p.allowMessages(PEOPLE_TYPE_NONE)
+                        .allowConversations(CONVERSATION_SENDERS_IMPORTANT));
+
+        mMessagesController.displayPreference(mPreferenceScreen);
+        mMessagesController.updateZenMode(mMessagesPrefCategory, zenMode);
+
+        // Only important conversations (messages=NONE is reserved for none at all).
+        assertThat(getVisibleOptions(mMessagesPrefCategory)).containsExactly(
+                KEY_ANY, KEY_STARRED, KEY_CONTACTS, KEY_IMPORTANT_CONVERSATIONS, KEY_NONE);
+        assertThat(getCheckedOptions(mMessagesPrefCategory)).containsExactly(
+                KEY_IMPORTANT_CONVERSATIONS);
+    }
+
+    @Test
+    public void updateState_msgNoneConvNone() {
+        ZenMode zenMode = newModeWithPolicy(p ->
+                p.allowMessages(PEOPLE_TYPE_NONE)
+                        .allowConversations(CONVERSATION_SENDERS_NONE));
+
+        mMessagesController.displayPreference(mPreferenceScreen);
+        mMessagesController.updateZenMode(mMessagesPrefCategory, zenMode);
+
+        // Just starred contacts (will include conversations with those contacts but not
+        // explicitly chosen).
+        assertThat(getVisibleOptions(mMessagesPrefCategory)).containsExactly(
+                KEY_ANY, KEY_STARRED, KEY_CONTACTS, KEY_IMPORTANT_CONVERSATIONS, KEY_NONE);
+        assertThat(getCheckedOptions(mMessagesPrefCategory)).containsExactly(KEY_NONE);
+    }
+
+    // --------------------------------------------------------------------------
+    // Message checkbox tests, starting with Msg=Any, Conv=Any
+
+    @Test
+    public void checkContacts_fromMsgAnyConvAny_toMsgContactsConvNone() {
+        checkSomeContacts_fromMsgAnyConvAny_toMsgSomeContactsConvNone(KEY_CONTACTS,
+                PEOPLE_TYPE_CONTACTS);
+    }
+
+    @Test
+    public void checkStarred_fromMsgAnyConvAny_toMsgStarredConvNone() {
+        checkSomeContacts_fromMsgAnyConvAny_toMsgSomeContactsConvNone(KEY_STARRED,
+                PEOPLE_TYPE_STARRED);
+    }
+
+    private void checkSomeContacts_fromMsgAnyConvAny_toMsgSomeContactsConvNone(
+            String contactsOptionKey, @PeopleType int toMessageSenders) {
+        setUpMessagesController(p ->
+                p.allowMessages(PEOPLE_TYPE_ANYONE)
+                        .allowConversations(CONVERSATION_SENDERS_ANYONE));
+
+        // Choosing CONTACTS/STARRED will also internally switch conversations to NONE (which is
+        // fine because the user didn't see the old conv=Any, just messages=Anyone).
+        setMessagesOptionChecked(contactsOptionKey, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(toMessageSenders);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_NONE);
+    }
+
+    @Test
+    public void checkImportantConv_fromMsgAnyConvAny_toMsgNoneConvImportant() {
+        setUpMessagesController(p ->
+                p.allowMessages(PEOPLE_TYPE_ANYONE)
+                        .allowConversations(CONVERSATION_SENDERS_ANYONE));
+
+        setMessagesOptionChecked(KEY_IMPORTANT_CONVERSATIONS, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(PEOPLE_TYPE_NONE);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_IMPORTANT);
+    }
+
+    @Test
+    public void checkAnyConv_fromMsgAnyConvAny_toMsgNoneConvAny() {
+        setUpMessagesController(p ->
+                p.allowMessages(PEOPLE_TYPE_ANYONE)
+                        .allowConversations(CONVERSATION_SENDERS_ANYONE));
+
+        // Normally this option won't be visible, but it could be if the page was launched with
+        // conv=Any previously.
+        setMessagesOptionChecked(KEY_ANY_CONVERSATIONS, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(PEOPLE_TYPE_NONE);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_ANYONE);
+    }
+
+    @Test
+    public void uncheckAnyone_fromMsgAnyConvAny_toMsgNoneConvNone() {
+        uncheckAnyone_fromState_toMsgNoneConvNone(PEOPLE_TYPE_ANYONE,
+                CONVERSATION_SENDERS_ANYONE);
+    }
+
+    @Test
+    public void checkNone_fromMsgAnyConvAny_toMsgNoneConvNone() {
+        checkNone_fromState_toMsgNoneConvNone(PEOPLE_TYPE_ANYONE, CONVERSATION_SENDERS_ANYONE);
+    }
+
+    // --------------------------------------------------------------------------
+    // Message checkbox tests, starting with Msg=Any, Conv=Important
+
+    @Test
+    public void checkContacts_fromMsgAnyConvImportant_toMsgContactsConvNone() {
+        checkSomeContacts_fromMsgAnyConvImportant_toMsgSomeContactsConvNone(KEY_CONTACTS,
+                PEOPLE_TYPE_CONTACTS);
+    }
+
+    @Test
+    public void checkStarred_fromMsgAnyConvImportant_toMsgStarredConvNone() {
+        checkSomeContacts_fromMsgAnyConvImportant_toMsgSomeContactsConvNone(KEY_STARRED,
+                PEOPLE_TYPE_STARRED);
+    }
+
+    private void checkSomeContacts_fromMsgAnyConvImportant_toMsgSomeContactsConvNone(
+            String contactsOptionKey, @PeopleType int toMessageSenders) {
+        setUpMessagesController(p ->
+                p.allowMessages(PEOPLE_TYPE_ANYONE)
+                        .allowConversations(CONVERSATION_SENDERS_IMPORTANT));
+
+        // Choosing CONTACTS/STARRED will also internally switch conversations to NONE (which is
+        // fine because the user didn't see the old setting, just messages=Anyone).
+        setMessagesOptionChecked(contactsOptionKey, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(toMessageSenders);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_NONE);
+    }
+
+    @Test
+    public void checkImportantConv_fromMsgAnyConvImportant_toMsgNoneConvImportant() {
+        setUpMessagesController(p ->
+                p.allowMessages(PEOPLE_TYPE_ANYONE)
+                        .allowConversations(CONVERSATION_SENDERS_IMPORTANT));
+
+        // Although conv=IMPORTANT previously, we show it as Anyone, so selecting important
+        // conversations should switch to important conversations only.
+        setMessagesOptionChecked(KEY_IMPORTANT_CONVERSATIONS, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(PEOPLE_TYPE_NONE);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_IMPORTANT);
+    }
+
+    @Test
+    public void checkAnyConv_fromMsgAnyConvImportant_toMsgNoneConvAny() {
+        setUpMessagesController(p ->
+                p.allowMessages(PEOPLE_TYPE_ANYONE)
+                        .allowConversations(CONVERSATION_SENDERS_ANYONE));
+
+        // Normally this option won't be visible, but it could be if the page was launched with
+        // conv=Any previously.
+        setMessagesOptionChecked(KEY_ANY_CONVERSATIONS, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(PEOPLE_TYPE_NONE);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_ANYONE);
+    }
+
+    @Test
+    public void uncheckAnyone_fromMsgAnyConvImportant_toMsgNoneConvNone() {
+        uncheckAnyone_fromState_toMsgNoneConvNone(PEOPLE_TYPE_ANYONE,
+                CONVERSATION_SENDERS_IMPORTANT);
+    }
+
+    @Test
+    public void checkNone_fromMsgAnyConvImportant_toMsgNoneConvNone() {
+        checkNone_fromState_toMsgNoneConvNone(PEOPLE_TYPE_ANYONE,
+                CONVERSATION_SENDERS_IMPORTANT);
+    }
+
+    // --------------------------------------------------------------------------
+    // Message checkbox tests, starting with Msg=Any, Conv=None
+
+    @Test
+    public void checkContacts_fromMsgAnyConvNone_toMsgContactsConvNone() {
+        checkSomeContacts_fromMsgAnyConvNone_toMsgSomeContactsConvNone(KEY_CONTACTS,
+                PEOPLE_TYPE_CONTACTS);
+    }
+
+    @Test
+    public void checkStarred_fromMsgAnyConvNone_toMsgStarredConvNone() {
+        checkSomeContacts_fromMsgAnyConvNone_toMsgSomeContactsConvNone(KEY_STARRED,
+                PEOPLE_TYPE_STARRED);
+    }
+
+    private void checkSomeContacts_fromMsgAnyConvNone_toMsgSomeContactsConvNone(
+            String contactsOptionKey, @PeopleType int toMessageSenders) {
+        setUpMessagesController(p ->
+                p.allowMessages(PEOPLE_TYPE_ANYONE)
+                        .allowConversations(CONVERSATION_SENDERS_NONE));
+
+        // Choosing CONTACTS/STARRED will also internally switch conversations to NONE (which is
+        // fine because the user didn't see the old setting, just messages=Anyone).
+        setMessagesOptionChecked(contactsOptionKey, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(toMessageSenders);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_NONE);
+    }
+
+    @Test
+    public void checkImportantConv_fromMsgAnyConvNone_toMsgNoneConvImportant() {
+        setUpMessagesController(p ->
+                p.allowMessages(PEOPLE_TYPE_ANYONE)
+                        .allowConversations(CONVERSATION_SENDERS_NONE));
+
+        setMessagesOptionChecked(KEY_IMPORTANT_CONVERSATIONS, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(PEOPLE_TYPE_NONE);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_IMPORTANT);
+    }
+
+    @Test
+    public void checkAnyConv_fromMsgAnyConvNone_toMsgNoneConvAny() {
+        setUpMessagesController(p ->
+                p.allowMessages(PEOPLE_TYPE_ANYONE)
+                        .allowConversations(CONVERSATION_SENDERS_NONE));
+
+        // Normally this option won't be visible, but it could be if the page was launched with
+        // conv=Any previously.
+        setMessagesOptionChecked(KEY_ANY_CONVERSATIONS, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(PEOPLE_TYPE_NONE);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_ANYONE);
+    }
+
+    @Test
+    public void uncheckAnyone_fromMsgAnyConvNone_toMsgNoneConvNone() {
+        uncheckAnyone_fromState_toMsgNoneConvNone(PEOPLE_TYPE_ANYONE,
+                CONVERSATION_SENDERS_NONE);
+    }
+
+    @Test
+    public void checkNone_fromMsgAnyConvNone_toMsgNoneConvNone() {
+        checkNone_fromState_toMsgNoneConvNone(PEOPLE_TYPE_ANYONE,
+                CONVERSATION_SENDERS_NONE);
+    }
+
+    // --------------------------------------------------------------------------
+    // Message checkbox tests, starting with Msg=Contacts OR Starred, Conv=Any
+
+    @Test
+    public void switchContacts_fromMsgStarredConvAny_toMsgContactsConvAny() {
+        switchContacts_fromMsgSomeContactsConvAny_toMsgOtherContactsConvAny(PEOPLE_TYPE_STARRED,
+                KEY_CONTACTS, PEOPLE_TYPE_CONTACTS);
+    }
+
+    @Test
+    public void switchContacts_fromMsgContactsConvAny_toMsgStarredConvAny() {
+        switchContacts_fromMsgSomeContactsConvAny_toMsgOtherContactsConvAny(PEOPLE_TYPE_CONTACTS,
+                KEY_STARRED, PEOPLE_TYPE_STARRED);
+    }
+
+    private void switchContacts_fromMsgSomeContactsConvAny_toMsgOtherContactsConvAny(
+            @PeopleType int fromMessageSenders, String checkingContactsOptionKey,
+            @PeopleType int toMessageSenders) {
+        setUpMessagesController(p ->
+                p.allowMessages(fromMessageSenders)
+                        .allowConversations(CONVERSATION_SENDERS_ANYONE));
+
+        // Switching CONTACTS/STARRED or vice-versa will leave conversations untouched.
+        setMessagesOptionChecked(checkingContactsOptionKey, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(toMessageSenders);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_ANYONE);
+    }
+
+    @Test
+    public void uncheckStarred_fromMsgStarredConvAny_toMsgNoneConvAny() {
+        uncheckSomeContacts_fromMsgSomeContactsConvAny_toMsgNoneConvAny(PEOPLE_TYPE_STARRED,
+                KEY_STARRED);
+    }
+
+    @Test
+    public void uncheckContacts_fromMsgContactsConvAny_toMsgNoneConvAny() {
+        uncheckSomeContacts_fromMsgSomeContactsConvAny_toMsgNoneConvAny(
+                PEOPLE_TYPE_CONTACTS, KEY_CONTACTS);
+    }
+
+    private void uncheckSomeContacts_fromMsgSomeContactsConvAny_toMsgNoneConvAny(
+            @PeopleType int fromMessageSenders, String checkingContactsOptionKey) {
+        setUpMessagesController(p ->
+                p.allowMessages(fromMessageSenders)
+                        .allowConversations(CONVERSATION_SENDERS_ANYONE));
+
+        // Unchecking CONTACTS or STARRED will leave conversations untouched.
+        setMessagesOptionChecked(checkingContactsOptionKey, false);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(PEOPLE_TYPE_NONE);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_ANYONE);
+    }
+
+    @Test
+    public void checkImportantConv_fromMsgStarredConvAny_toMsgStarredConvImportant() {
+        checkImportantConv_fromMsgSomeContactsConvAny_toMsgSomeContactsConvImportant(
+                PEOPLE_TYPE_STARRED);
+    }
+
+    @Test
+    public void checkImportantConv_fromMsgContactsConvAny_toMsgContactsConvImportant() {
+        checkImportantConv_fromMsgSomeContactsConvAny_toMsgSomeContactsConvImportant(
+                PEOPLE_TYPE_CONTACTS);
+    }
+
+    private void checkImportantConv_fromMsgSomeContactsConvAny_toMsgSomeContactsConvImportant(
+            @PeopleType int fromMessageSenders) {
+        setUpMessagesController(p ->
+                p.allowMessages(fromMessageSenders)
+                        .allowConversations(CONVERSATION_SENDERS_ANYONE));
+
+        // Choosing important conversations leaves contacts untouched.
+        setMessagesOptionChecked(KEY_IMPORTANT_CONVERSATIONS, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(fromMessageSenders);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_IMPORTANT);
+    }
+
+    @Test
+    public void uncheckAnyConv_fromMsgStarredConvAny_toMsgStarredConvNone() {
+        uncheckAnyConv_fromMsgSomeContactsConvAny_toMsgSomeContactsConvNone(
+                PEOPLE_TYPE_STARRED);
+    }
+
+    @Test
+    public void uncheckAnyConv_fromMsgContactsConvAny_toMsgContactsConvNone() {
+        uncheckAnyConv_fromMsgSomeContactsConvAny_toMsgSomeContactsConvNone(
+                PEOPLE_TYPE_CONTACTS);
+    }
+
+    private void uncheckAnyConv_fromMsgSomeContactsConvAny_toMsgSomeContactsConvNone(
+            @PeopleType int fromMessageSenders) {
+        setUpMessagesController(p ->
+                p.allowMessages(fromMessageSenders)
+                        .allowConversations(CONVERSATION_SENDERS_ANYONE));
+
+        // Unmarking any conversation leaves contacts untouched.
+        setMessagesOptionChecked(KEY_ANY_CONVERSATIONS, false);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(fromMessageSenders);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_NONE);
+    }
+
+    @Test
+    public void checkAnyone_fromMsgStarredConvAny_toMsgAnyConvNone() {
+        checkAnyone_fromState_toMsgAnyConvAny(PEOPLE_TYPE_STARRED,
+                CONVERSATION_SENDERS_ANYONE);
+    }
+
+    @Test
+    public void checkAnyone_fromMsgContactsConvAny_toMsgAnyConvNone() {
+        checkAnyone_fromState_toMsgAnyConvAny(PEOPLE_TYPE_CONTACTS,
+                CONVERSATION_SENDERS_ANYONE);
+    }
+
+    @Test
+    public void checkNone_fromMsgStarredConvAny_toMsgNoneConvNone() {
+        checkNone_fromState_toMsgNoneConvNone(PEOPLE_TYPE_STARRED, CONVERSATION_SENDERS_ANYONE);
+    }
+
+    @Test
+    public void checkNone_fromMsgContactsConvAny_toMsgNoneConvNone() {
+        checkNone_fromState_toMsgNoneConvNone(PEOPLE_TYPE_CONTACTS, CONVERSATION_SENDERS_ANYONE);
+    }
+
+    // --------------------------------------------------------------------------
+    // Message checkbox tests, starting with Msg=Contacts OR Starred, Conv=Important
+
+    @Test
+    public void switchContacts_fromMsgStarredConvImportant_toMsgContactsConvImportant() {
+        switchContacts_fromMsgSomeContactsConvImportant_toMsgOtherContactsConvImportant(
+                PEOPLE_TYPE_CONTACTS, KEY_STARRED, PEOPLE_TYPE_STARRED);
+    }
+
+    @Test
+    public void switchContacts_fromMsgContactsConvImportant_toMsgStarredConvImportant() {
+        switchContacts_fromMsgSomeContactsConvImportant_toMsgOtherContactsConvImportant(
+                PEOPLE_TYPE_STARRED, KEY_CONTACTS, PEOPLE_TYPE_CONTACTS);
+    }
+
+    private void switchContacts_fromMsgSomeContactsConvImportant_toMsgOtherContactsConvImportant(
+            @PeopleType int fromMessageSenders, String checkingContactsOptionKey,
+            @PeopleType int toMessageSenders) {
+        setUpMessagesController(p ->
+                p.allowMessages(fromMessageSenders)
+                        .allowConversations(CONVERSATION_SENDERS_IMPORTANT));
+
+        // Switching CONTACTS/STARRED or vice-versa will leave conversations untouched.
+        setMessagesOptionChecked(checkingContactsOptionKey, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(toMessageSenders);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_IMPORTANT);
+    }
+
+    @Test
+    public void uncheckStarred_fromMsgStarredConvImportant_toMsgNoneConvImportant() {
+        uncheckSomeContacts_fromMsgSomeContactsConvImportant_toMsgNoneConvImportant(
+                PEOPLE_TYPE_STARRED, KEY_STARRED);
+    }
+
+    @Test
+    public void uncheckContacts_fromMsgContactsConvImportant_toMsgNoneConvImportant() {
+        uncheckSomeContacts_fromMsgSomeContactsConvImportant_toMsgNoneConvImportant(
+                PEOPLE_TYPE_CONTACTS, KEY_CONTACTS);
+    }
+
+    private void uncheckSomeContacts_fromMsgSomeContactsConvImportant_toMsgNoneConvImportant(
+            @PeopleType int fromMessageSenders, String checkingContactsOptionKey) {
+        setUpMessagesController(p ->
+                p.allowMessages(fromMessageSenders)
+                        .allowConversations(CONVERSATION_SENDERS_IMPORTANT));
+
+        // Unchecking CONTACTS or STARRED will leave conversations untouched.
+        setMessagesOptionChecked(checkingContactsOptionKey, false);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(PEOPLE_TYPE_NONE);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_IMPORTANT);
+    }
+
+    @Test
+    public void uncheckImportantConv_fromMsgStarredConvImportant_toMsgStarredConvNone() {
+        uncheckImportantConv_fromMsgSomeContactsConvImportant_toMsgSomeContactsConvNone(
+                PEOPLE_TYPE_STARRED);
+    }
+
+    @Test
+    public void uncheckImportantConv_fromMsgContactsConvImportant_toMsgContactsConvNone() {
+        uncheckImportantConv_fromMsgSomeContactsConvImportant_toMsgSomeContactsConvNone(
+                PEOPLE_TYPE_CONTACTS);
+    }
+
+    private void uncheckImportantConv_fromMsgSomeContactsConvImportant_toMsgSomeContactsConvNone(
+            @PeopleType int fromMessageSenders) {
+        setUpMessagesController(p ->
+                p.allowMessages(fromMessageSenders)
+                        .allowConversations(CONVERSATION_SENDERS_IMPORTANT));
+
+        // Deselecting important conversations leaves contacts untouched.
+        setMessagesOptionChecked(KEY_IMPORTANT_CONVERSATIONS, false);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(fromMessageSenders);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_NONE);
+    }
+
+    @Test
+    public void checkAnyConv_fromMsgStarredConvImportant_toMsgStarredConvAny() {
+        checkAnyConv_fromMsgSomeContactsConvImportant_toMsgSomeContactsConvAny(
+                PEOPLE_TYPE_STARRED);
+    }
+
+    @Test
+    public void checkAnyConv_fromMsgContactsConvImportant_toMsgContactsConvAny() {
+        checkAnyConv_fromMsgSomeContactsConvImportant_toMsgSomeContactsConvAny(
+                PEOPLE_TYPE_CONTACTS);
+    }
+
+    private void checkAnyConv_fromMsgSomeContactsConvImportant_toMsgSomeContactsConvAny(
+            @PeopleType int fromMessageSenders) {
+        setUpMessagesController(p ->
+                p.allowMessages(fromMessageSenders)
+                        .allowConversations(CONVERSATION_SENDERS_IMPORTANT));
+
+        // Selecting any conversations leaves contacts untouched.
+        setMessagesOptionChecked(KEY_ANY_CONVERSATIONS, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(fromMessageSenders);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_ANYONE);
+    }
+
+    @Test
+    public void checkAnyone_fromMsgStarredConvImportant_toMsgAnyConvNone() {
+        checkAnyone_fromState_toMsgAnyConvAny(PEOPLE_TYPE_STARRED,
+                CONVERSATION_SENDERS_IMPORTANT);
+    }
+
+    @Test
+    public void checkAnyone_fromMsgContactsConvImportant_toMsgAnyConvNone() {
+        checkAnyone_fromState_toMsgAnyConvAny(PEOPLE_TYPE_CONTACTS,
+                CONVERSATION_SENDERS_IMPORTANT);
+    }
+
+    @Test
+    public void checkNone_fromMsgStarredConvImportant_toMsgNoneConvNone() {
+        checkNone_fromState_toMsgNoneConvNone(PEOPLE_TYPE_STARRED,
+                CONVERSATION_SENDERS_IMPORTANT);
+    }
+
+    @Test
+    public void checkNone_fromMsgContactsConvImportant_toMsgNoneConvNone() {
+        checkNone_fromState_toMsgNoneConvNone(PEOPLE_TYPE_CONTACTS,
+                CONVERSATION_SENDERS_IMPORTANT);
+    }
+
+    // --------------------------------------------------------------------------
+    // Message checkbox tests, starting with Msg=Contacts OR Starred, Conv=None
+
+    @Test
+    public void switchContacts_fromMsgStarredConvNone_toMsgContactsConvNone() {
+        switchContacts_fromMsgSomeContactsConvNone_toMsgSomeContactsConvNone(PEOPLE_TYPE_CONTACTS,
+                KEY_STARRED, PEOPLE_TYPE_STARRED);
+    }
+
+    @Test
+    public void switchContacts_fromMsgContactsConvNone_toMsgStarredConvNone() {
+        switchContacts_fromMsgSomeContactsConvNone_toMsgSomeContactsConvNone(PEOPLE_TYPE_STARRED,
+                KEY_CONTACTS, PEOPLE_TYPE_CONTACTS);
+    }
+
+    private void switchContacts_fromMsgSomeContactsConvNone_toMsgSomeContactsConvNone(
+            @PeopleType int fromMessageSenders, String checkingContactsOptionKey,
+            @PeopleType int toMessageSenders) {
+        setUpMessagesController(p ->
+                p.allowMessages(fromMessageSenders)
+                        .allowConversations(CONVERSATION_SENDERS_NONE));
+
+        // Switching CONTACTS/STARRED or vice-versa will leave conversations untouched.
+        setMessagesOptionChecked(checkingContactsOptionKey, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(toMessageSenders);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_NONE);
+    }
+
+    @Test
+    public void uncheckStarred_fromMsgStarredConvNone_toMsgNoneConvNone() {
+        uncheckSomeContacts_fromMsgSomeContactsConvNone_toMsgNoneConvNone(
+                PEOPLE_TYPE_STARRED, KEY_STARRED);
+    }
+
+    @Test
+    public void uncheckContacts_fromMsgContactsConvNone_toMsgNoneConvNone() {
+        uncheckSomeContacts_fromMsgSomeContactsConvNone_toMsgNoneConvNone(
+                PEOPLE_TYPE_CONTACTS, KEY_CONTACTS);
+    }
+
+    private void uncheckSomeContacts_fromMsgSomeContactsConvNone_toMsgNoneConvNone(
+            @PeopleType int fromMessageSenders, String checkingContactsOptionKey) {
+        setUpMessagesController(p ->
+                p.allowMessages(fromMessageSenders)
+                        .allowConversations(CONVERSATION_SENDERS_NONE));
+
+        // Unchecking CONTACTS or STARRED will leave conversations untouched.
+        setMessagesOptionChecked(checkingContactsOptionKey, false);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(PEOPLE_TYPE_NONE);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_NONE);
+    }
+
+    @Test
+    public void checkImportantConv_fromMsgStarredConvNone_toMsgSomeContactsConvImportant() {
+        checkImportantConv_fromMsgSomeContactsConvNone_toMsgSomeContactsConvImportant(
+                PEOPLE_TYPE_STARRED);
+    }
+
+    @Test
+    public void checkImportantConv_fromMsgContactsConvNone_toMsgSomeContactsConvImportant() {
+        checkImportantConv_fromMsgSomeContactsConvNone_toMsgSomeContactsConvImportant(
+                PEOPLE_TYPE_CONTACTS);
+    }
+
+    private void checkImportantConv_fromMsgSomeContactsConvNone_toMsgSomeContactsConvImportant(
+            @PeopleType int fromMessageSenders) {
+        setUpMessagesController(p ->
+                p.allowMessages(fromMessageSenders)
+                        .allowConversations(CONVERSATION_SENDERS_NONE));
+
+        // Deselecting important conversations leaves contacts untouched.
+        setMessagesOptionChecked(KEY_IMPORTANT_CONVERSATIONS, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(fromMessageSenders);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_IMPORTANT);
+    }
+
+    @Test
+    public void checkAnyConv_fromMsgStarredConvNone_toMsgStarredConvAny() {
+        checkAnyConv_fromMsgSomeContactsConvNone_toMsgSomeContactsConvAny(PEOPLE_TYPE_STARRED);
+    }
+
+    @Test
+    public void checkAnyConv_fromMsgContactsConvNone_toMsgContactsConvAny() {
+        checkAnyConv_fromMsgSomeContactsConvNone_toMsgSomeContactsConvAny(PEOPLE_TYPE_CONTACTS);
+    }
+
+    private void checkAnyConv_fromMsgSomeContactsConvNone_toMsgSomeContactsConvAny(
+            @PeopleType int fromMessageSenders) {
+        setUpMessagesController(p ->
+                p.allowMessages(fromMessageSenders)
+                        .allowConversations(CONVERSATION_SENDERS_IMPORTANT));
+
+        // Selecting any conversations leaves contacts untouched.
+        setMessagesOptionChecked(KEY_ANY_CONVERSATIONS, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(fromMessageSenders);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_ANYONE);
+    }
+
+    @Test
+    public void checkAnyone_fromMsgStarredConvNone_toMsgAnyConvNone() {
+        checkAnyone_fromState_toMsgAnyConvAny(PEOPLE_TYPE_STARRED,
+                CONVERSATION_SENDERS_IMPORTANT);
+    }
+
+    @Test
+    public void checkAnyone_fromMsgContactsConvNone_toMsgAnyConvNone() {
+        checkAnyone_fromState_toMsgAnyConvAny(PEOPLE_TYPE_CONTACTS,
+                CONVERSATION_SENDERS_IMPORTANT);
+    }
+
+    @Test
+    public void checkNone_fromMsgStarredConvNone_toMsgNoneConvNone() {
+        checkNone_fromState_toMsgNoneConvNone(PEOPLE_TYPE_STARRED,
+                CONVERSATION_SENDERS_NONE);
+    }
+
+    @Test
+    public void checkNone_fromMsgContactsConvNone_toMsgNoneConvNone() {
+        checkNone_fromState_toMsgNoneConvNone(PEOPLE_TYPE_CONTACTS,
+                CONVERSATION_SENDERS_NONE);
+    }
+
+    // --------------------------------------------------------------------------
+    // Message checkbox tests, starting with Msg=None, Conv=Any
+
+    @Test
+    public void checkContacts_fromMsgNoneConvAny_toMsgContactsConvAny() {
+        checkSomeContacts_fromMsgNoneConvAny_toMsgSomeContactsConvAny(KEY_CONTACTS,
+                PEOPLE_TYPE_CONTACTS);
+    }
+
+    @Test
+    public void checkStarred_fromMsgNoneConvAny_toMsgStarredConvAny() {
+        checkSomeContacts_fromMsgNoneConvAny_toMsgSomeContactsConvAny(KEY_STARRED,
+                PEOPLE_TYPE_STARRED);
+    }
+
+    private void checkSomeContacts_fromMsgNoneConvAny_toMsgSomeContactsConvAny(
+            String contactsOptionKey, @PeopleType int toMessageSenders) {
+        setUpMessagesController(p ->
+                p.allowMessages(PEOPLE_TYPE_NONE)
+                        .allowConversations(CONVERSATION_SENDERS_ANYONE));
+
+        // Adding CONTACTS/STARRED will leave conversations untouched.
+        setMessagesOptionChecked(contactsOptionKey, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(toMessageSenders);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_ANYONE);
+    }
+
+    @Test
+    public void checkImportantConv_fromMsgNoneConvAny_toMsgNoneConvImportant() {
+        setUpMessagesController(p ->
+                p.allowMessages(PEOPLE_TYPE_NONE)
+                        .allowConversations(CONVERSATION_SENDERS_ANYONE));
+
+        setMessagesOptionChecked(KEY_IMPORTANT_CONVERSATIONS, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(PEOPLE_TYPE_NONE);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_IMPORTANT);
+    }
+
+    @Test
+    public void uncheckAnyConv_fromMsgNoneConvAny_toMsgNoneConvNone() {
+        setUpMessagesController(p ->
+                p.allowMessages(PEOPLE_TYPE_NONE)
+                        .allowConversations(CONVERSATION_SENDERS_ANYONE));
+
+        setMessagesOptionChecked(KEY_ANY_CONVERSATIONS, false);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(PEOPLE_TYPE_NONE);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_NONE);
+    }
+
+    @Test
+    public void checkAnyone_fromMsgNoneConvAny_toMsgAnyConvNone() {
+        checkAnyone_fromState_toMsgAnyConvAny(PEOPLE_TYPE_NONE,
+                CONVERSATION_SENDERS_ANYONE);
+    }
+
+    @Test
+    public void checkNone_fromMsgNoneConvAny_toMsgNoneConvNone() {
+        checkNone_fromState_toMsgNoneConvNone(PEOPLE_TYPE_NONE,
+                CONVERSATION_SENDERS_ANYONE);
+    }
+
+    // --------------------------------------------------------------------------
+    // Message checkbox tests, starting with Msg=None, Conv=Important
+
+    @Test
+    public void checkContacts_fromMsgNoneConvImportant_toMsgContactsConvImportant() {
+        checkSomeContacts_fromMsgNoneConvImportant_toMsgSomeContactsConvImportant(KEY_CONTACTS,
+                PEOPLE_TYPE_CONTACTS);
+    }
+
+    @Test
+    public void checkStarred_fromMsgNoneConvImportant_toMsgStarredConvImportant() {
+        checkSomeContacts_fromMsgNoneConvImportant_toMsgSomeContactsConvImportant(KEY_STARRED,
+                PEOPLE_TYPE_STARRED);
+    }
+
+    private void checkSomeContacts_fromMsgNoneConvImportant_toMsgSomeContactsConvImportant(
+            String contactsOptionKey, @PeopleType int toMessageSenders) {
+        setUpMessagesController(p ->
+                p.allowMessages(PEOPLE_TYPE_NONE)
+                        .allowConversations(CONVERSATION_SENDERS_IMPORTANT));
+
+        // Adding CONTACTS/STARRED will leave conversations untouched.
+        setMessagesOptionChecked(contactsOptionKey, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(toMessageSenders);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_IMPORTANT);
+    }
+
+    @Test
+    public void uncheckImportantConv_fromMsgNoneConvImportant_toMsgNoneConvNone() {
+        setUpMessagesController(p ->
+                p.allowMessages(PEOPLE_TYPE_NONE)
+                        .allowConversations(CONVERSATION_SENDERS_IMPORTANT));
+
+        setMessagesOptionChecked(KEY_IMPORTANT_CONVERSATIONS, false);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(PEOPLE_TYPE_NONE);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_NONE);
+    }
+
+    @Test
+    public void checkAnyConv_fromMsgNoneConvImportant_toMsgNoneConvAny() {
+        setUpMessagesController(p ->
+                p.allowMessages(PEOPLE_TYPE_NONE)
+                        .allowConversations(CONVERSATION_SENDERS_IMPORTANT));
+
+        // Normally this option won't be visible, but it could be if the page was launched with
+        // conv=Any previously.
+        setMessagesOptionChecked(KEY_ANY_CONVERSATIONS, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(PEOPLE_TYPE_NONE);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_ANYONE);
+    }
+
+    @Test
+    public void checkAnyone_fromMsgNoneConvImportant_toMsgAnyConvNone() {
+        checkAnyone_fromState_toMsgAnyConvAny(PEOPLE_TYPE_NONE,
+                CONVERSATION_SENDERS_IMPORTANT);
+    }
+
+    @Test
+    public void checkNone_fromMsgNoneConvImportant_toMsgNoneConvNone() {
+        checkNone_fromState_toMsgNoneConvNone(PEOPLE_TYPE_NONE,
+                CONVERSATION_SENDERS_IMPORTANT);
+    }
+
+    // --------------------------------------------------------------------------
+    // Message checkbox tests, starting with Msg=None, Conv=None
+
+    @Test
+    public void checkContacts_fromMsgNoneConvNone_toMsgContactsConvNone() {
+        checkSomeContacts_fromMsgNoneConvNone_toMsgSomeContactsConvNone(KEY_CONTACTS,
+                PEOPLE_TYPE_CONTACTS);
+    }
+
+    @Test
+    public void checkStarred_fromMsgNoneConvNone_toMsgStarredConvNone() {
+        checkSomeContacts_fromMsgNoneConvNone_toMsgSomeContactsConvNone(KEY_STARRED,
+                PEOPLE_TYPE_STARRED);
+    }
+
+    private void checkSomeContacts_fromMsgNoneConvNone_toMsgSomeContactsConvNone(
+            String contactsOptionKey, @PeopleType int toMessageSenders) {
+        setUpMessagesController(p ->
+                p.allowMessages(PEOPLE_TYPE_NONE)
+                        .allowConversations(CONVERSATION_SENDERS_NONE));
+
+        // Choosing CONTACTS/STARRED will leave conversations untouched.
+        setMessagesOptionChecked(contactsOptionKey, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(toMessageSenders);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_NONE);
+    }
+
+    @Test
+    public void checkImportantConv_fromMsgNoneConvNone_toMsgNoneConvImportant() {
+        setUpMessagesController(p ->
+                p.allowMessages(PEOPLE_TYPE_NONE)
+                        .allowConversations(CONVERSATION_SENDERS_NONE));
+
+        setMessagesOptionChecked(KEY_IMPORTANT_CONVERSATIONS, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(PEOPLE_TYPE_NONE);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_IMPORTANT);
+    }
+
+    @Test
+    public void checkAnyConv_fromMsgNoneConvNone_toMsgNoneConvAny() {
+        setUpMessagesController(p ->
+                p.allowMessages(PEOPLE_TYPE_NONE)
+                        .allowConversations(CONVERSATION_SENDERS_NONE));
+
+        // Normally this option won't be visible, but it could be if the page was launched with
+        // conv=Any previously.
+        setMessagesOptionChecked(KEY_ANY_CONVERSATIONS, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(PEOPLE_TYPE_NONE);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_ANYONE);
+    }
+
+    @Test
+    public void checkAnyone_fromMsgNoneConvNone_toMsgAnyConvNone() {
+        checkAnyone_fromState_toMsgAnyConvAny(PEOPLE_TYPE_NONE,
+                CONVERSATION_SENDERS_NONE);
+    }
+
+    @Test
+    public void uncheckNone_fromMsgNoneConvNone_noChanges() {
+        setUpMessagesController(p ->
+                p.allowMessages(PEOPLE_TYPE_NONE)
+                        .allowConversations(CONVERSATION_SENDERS_NONE));
+
+        setMessagesOptionChecked(KEY_NONE, false);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertThat(savedPolicy.getPriorityMessageSenders()).isEqualTo(PEOPLE_TYPE_NONE);
+        assertThat(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_NONE);
+    }
+
+    // --------------------------------------------------------------------------
+    // Message checkbox tests, common cases.
+
+    private void checkAnyone_fromState_toMsgAnyConvAny(@PeopleType int fromMsg,
+            @ConversationSenders int fromConv) {
+        setUpMessagesController(p ->
+                p.allowMessages(fromMsg).allowConversations(fromConv));
+        String context = "Trying to check Anyone; starting with Msg=" + peopleTypeToString(fromMsg)
+                + ", Conv=" + conversationTypeToString(fromConv);
+
+        // Checking ANY will always unselect everything else in the UI, no matter the initial state,
+        // but will save PEOPLE_ANY and CONVERSATIONS_ANY (which is redundant but equivalent).
+        setMessagesOptionChecked(KEY_ANY, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertWithMessage(context).that(savedPolicy.getPriorityMessageSenders()).isEqualTo(
+                PEOPLE_TYPE_ANYONE);
+        assertWithMessage(context).that(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_ANYONE);
+    }
+
+    private void uncheckAnyone_fromState_toMsgNoneConvNone(@PeopleType int fromMsg,
+            @ConversationSenders int fromConv) {
+        setUpMessagesController(p ->
+                p.allowMessages(fromMsg).allowConversations(fromConv));
+        String context = "Trying to uncheck Anyone; starting with Msg=" + peopleTypeToString(
+                fromMsg) + ", Conv=" + conversationTypeToString(fromConv);
+
+        // Unchecking ANYONE means NONE to both, even if Anyone was previously Msg=Any&Conv=Any or
+        // Msg=Any&Conv=Important.
+        setMessagesOptionChecked(KEY_ANY, false);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertWithMessage(context).that(savedPolicy.getPriorityMessageSenders()).isEqualTo(
+                PEOPLE_TYPE_NONE);
+        assertWithMessage(context).that(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_NONE);
+    }
+
+    private void checkNone_fromState_toMsgNoneConvNone(@PeopleType int fromMsg,
+            @ConversationSenders int fromConv) {
+        setUpMessagesController(p ->
+                p.allowMessages(fromMsg).allowConversations(fromConv));
+        String context = "Trying to check None; starting with Msg=" + peopleTypeToString(fromMsg)
+                + ", Conv=" + conversationTypeToString(fromConv);
+
+        // Checking NONE will always unselect everything else, no matter the initial state.
+        setMessagesOptionChecked(KEY_NONE, true);
+        ZenPolicy savedPolicy = getSavedPolicy();
+
+        assertWithMessage(context).that(savedPolicy.getPriorityMessageSenders()).isEqualTo(
+                PEOPLE_TYPE_NONE);
+        assertWithMessage(context).that(savedPolicy.getPriorityConversationSenders()).isEqualTo(
+                CONVERSATION_SENDERS_NONE);
+    }
+
+    private void setUpMessagesController(Consumer<ZenPolicy.Builder> policyMaker) {
+        ZenMode zenMode = newModeWithPolicy(policyMaker);
+        mMessagesController.displayPreference(mPreferenceScreen);
+        mMessagesController.updateZenMode(mMessagesPrefCategory, zenMode);
+    }
+
+    private static ZenMode newModeWithPolicy(Consumer<ZenPolicy.Builder> policyMaker) {
+        ZenPolicy.Builder policyBuilder = new ZenPolicy.Builder();
+        policyMaker.accept(policyBuilder);
+        return new TestModeBuilder().setZenPolicy(policyBuilder.build()).build();
+    }
+
+    private static ImmutableList<String> getAllOptions(PreferenceCategory category) {
+        return getOptions(category, o -> true);
+    }
+
+    private static ImmutableList<String> getVisibleOptions(PreferenceCategory category) {
+        return getOptions(category, Preference::isVisible);
+    }
+
+    private static ImmutableList<String> getCheckedOptions(PreferenceCategory category) {
+        return getOptions(category, TwoStatePreference::isChecked);
+    }
+
+    private static ImmutableList<String> getOptions(PreferenceCategory category,
+            Predicate<SelectorWithWidgetPreference> filter) {
+        ImmutableList.Builder<String> keys = new ImmutableList.Builder<>();
+        for (int i = 0; i < category.getPreferenceCount(); i++) {
+            SelectorWithWidgetPreference option =
+                    (SelectorWithWidgetPreference) category.getPreference(i);
+            if (filter.test(option)) {
+                keys.add(category.getPreference(i).getKey());
+            }
+        }
+        return keys.build();
+    }
+
+
+    private static void setOptionChecked(PreferenceCategory category, String key, boolean checked) {
+        SelectorWithWidgetPreference preference = checkNotNull(category.findPreference(key));
+        if (preference.isChecked() == checked) {
+            throw new IllegalArgumentException(
+                    "This test is trying to " + (checked ? "check" : "uncheck") + " " + key
+                            + ", but it's already " + (checked ? "checked" : "unchecked") + "!");
+        }
+        preference.performClick();
+    }
+
+    private void setMessagesOptionChecked(String key, boolean checked) {
+        setOptionChecked(mMessagesPrefCategory, key, checked);
+    }
+
+    private ZenPolicy getSavedPolicy() {
+        ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
+        verify(mBackend).updateMode(captor.capture());
+        return captor.getValue().getPolicy();
     }
 
     @Test
     public void testPreferenceClick_passesCorrectCheckedState_startingUnchecked_messages() {
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder()
-                                .disallowAllSounds()
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .disallowAllSounds()
+                        .build())
+                .build();
 
         mMessagesController.displayPreference(mPreferenceScreen);
         mMessagesController.updateZenMode(mMessagesPrefCategory, zenMode);
 
         assertThat(((SelectorWithWidgetPreference) mMessagesPrefCategory.findPreference(KEY_NONE))
-                .isChecked());
+                .isChecked()).isTrue();
 
         mMessagesPrefCategory.findPreference(KEY_STARRED).performClick();
 
@@ -463,14 +1375,11 @@
 
     @Test
     public void testPreferenceClick_passesCorrectCheckedState_startingChecked_messages() {
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder()
-                                .allowAllSounds()
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowAllSounds()
+                        .build())
+                .build();
 
         mMessagesController.displayPreference(mPreferenceScreen);
         mMessagesController.updateZenMode(mMessagesPrefCategory, zenMode);
@@ -489,14 +1398,11 @@
 
     @Test
     public void testPreferenceClick_passesCorrectCheckedState_startingUnchecked_calls() {
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder()
-                                .disallowAllSounds()
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .disallowAllSounds()
+                        .build())
+                .build();
 
         mCallsController.displayPreference(mPreferenceScreen);
         mCallsController.updateZenMode(mCallsPrefCategory, zenMode);
@@ -514,14 +1420,11 @@
 
     @Test
     public void testPreferenceClick_passesCorrectCheckedState_startingChecked_calls() {
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder()
-                                .disallowAllSounds()
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .disallowAllSounds()
+                        .build())
+                .build();
 
         mCallsController.displayPreference(mPreferenceScreen);
         mCallsController.updateZenMode(mCallsPrefCategory, zenMode);
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeRepeatCallersPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeRepeatCallersPreferenceControllerTest.java
index 7bbb042..c453403 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeRepeatCallersPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeRepeatCallersPreferenceControllerTest.java
@@ -16,24 +16,28 @@
 
 package com.android.settings.notification.modes;
 
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
 import static android.service.notification.ZenPolicy.PEOPLE_TYPE_ANYONE;
 import static android.service.notification.ZenPolicy.PEOPLE_TYPE_STARRED;
-import static android.service.notification.ZenPolicy.STATE_ALLOW;
 import static android.service.notification.ZenPolicy.STATE_DISALLOW;
 import static android.service.notification.ZenPolicy.STATE_UNSET;
+
 import static com.google.common.truth.Truth.assertThat;
+
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 
-import android.app.AutomaticZenRule;
 import android.app.Flags;
 import android.content.Context;
-import android.net.Uri;
 import android.platform.test.annotations.EnableFlags;
 import android.platform.test.flag.junit.SetFlagsRule;
 import android.service.notification.ZenPolicy;
+
 import androidx.preference.TwoStatePreference;
+
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -64,14 +68,11 @@
     @Test
     public void testUpdateState_allCalls() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder()
-                                .allowCalls(PEOPLE_TYPE_ANYONE)
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowCalls(PEOPLE_TYPE_ANYONE)
+                        .build())
+                .build();
 
         ZenModeRepeatCallersPreferenceController controller =
                 new ZenModeRepeatCallersPreferenceController(mContext, "repeat", mBackend, 1);
@@ -85,15 +86,12 @@
     @Test
     public void testUpdateState_someCalls() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder()
-                                .allowCalls(PEOPLE_TYPE_STARRED)
-                                .allowRepeatCallers(true)
-                                .build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowCalls(PEOPLE_TYPE_STARRED)
+                        .allowRepeatCallers(true)
+                        .build())
+                .build();
 
         ZenModeRepeatCallersPreferenceController controller =
                 new ZenModeRepeatCallersPreferenceController(mContext, "repeat", mBackend, 1);
@@ -107,12 +105,9 @@
     @Test
     public void testOnPreferenceChange() {
         TwoStatePreference preference = mock(TwoStatePreference.class);
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowRepeatCallers(true).build())
-                        .build(), true);
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder().allowRepeatCallers(true).build())
+                .build();
 
         ZenModeRepeatCallersPreferenceController controller =
                 new ZenModeRepeatCallersPreferenceController(mContext, "repeat", mBackend, 1);
@@ -130,4 +125,4 @@
         assertThat(captor.getValue().getPolicy().getPriorityCallSenders())
                 .isEqualTo(STATE_UNSET);
     }
-}
\ No newline at end of file
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetCalendarPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetCalendarPreferenceControllerTest.java
index 6b24fa2..42aa498 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetCalendarPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetCalendarPreferenceControllerTest.java
@@ -28,18 +28,21 @@
 
 import static org.mockito.Mockito.when;
 
-import android.app.AutomaticZenRule;
 import android.app.Flags;
 import android.content.Context;
-import android.net.Uri;
 import android.platform.test.annotations.EnableFlags;
 import android.platform.test.flag.junit.SetFlagsRule;
+import android.service.notification.SystemZenRules;
 import android.service.notification.ZenModeConfig;
 
 import androidx.preference.DropDownPreference;
 import androidx.preference.PreferenceCategory;
 import androidx.test.core.app.ApplicationProvider;
 
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -84,9 +87,9 @@
     @Test
     @EnableFlags({Flags.FLAG_MODES_API, Flags.FLAG_MODES_UI})
     public void updateEventMode_updatesConditionAndTriggerDescription() {
-        ZenMode mode = new ZenMode("id",
-                new AutomaticZenRule.Builder("name", Uri.parse("condition")).build(),
-                true);  // is active
+        ZenMode mode = new TestModeBuilder()
+                .setPackage(SystemZenRules.PACKAGE_ANDROID)
+                .build();
 
         // Explicitly update preference controller with mode info first, which will also call
         // updateState()
@@ -99,6 +102,7 @@
         // apply event mode updater to existing mode
         ZenMode out = mPrefController.updateEventMode(eventInfo).apply(mode);
 
+        assertThat(out.getRule().getOwner()).isEqualTo(ZenModeConfig.getEventConditionProvider());
         assertThat(out.getRule().getConditionId()).isEqualTo(
                 ZenModeConfig.toEventConditionId(eventInfo));
         assertThat(out.getRule().getTriggerDescription()).isEqualTo("My events");
@@ -111,10 +115,9 @@
         eventInfo.calName = "Definitely A Calendar";
         eventInfo.reply = REPLY_YES;
 
-        ZenMode mode = new ZenMode("id",
-                new AutomaticZenRule.Builder("name",
-                        ZenModeConfig.toEventConditionId(eventInfo)).build(),
-                true);  // is active
+        ZenMode mode = new TestModeBuilder()
+                .setConditionId(ZenModeConfig.toEventConditionId(eventInfo))
+                .build();
         mPrefController.updateZenMode(mPrefCategory, mode);
 
         // We should see mCalendar, mReply have their values set
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetSchedulePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetSchedulePreferenceControllerTest.java
index 7cf327c..d5c7f61 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetSchedulePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetSchedulePreferenceControllerTest.java
@@ -23,12 +23,11 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.AutomaticZenRule;
 import android.app.Flags;
 import android.content.Context;
-import android.net.Uri;
 import android.platform.test.annotations.EnableFlags;
 import android.platform.test.flag.junit.SetFlagsRule;
+import android.service.notification.SystemZenRules;
 import android.service.notification.ZenModeConfig;
 import android.view.ViewGroup;
 import android.widget.ToggleButton;
@@ -37,6 +36,9 @@
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
 
 import org.junit.Before;
 import org.junit.Rule;
@@ -80,9 +82,9 @@
     @Test
     @EnableFlags({Flags.FLAG_MODES_API, Flags.FLAG_MODES_UI})
     public void updateScheduleRule_updatesConditionAndTriggerDescription() {
-        ZenMode mode = new ZenMode("id",
-                new AutomaticZenRule.Builder("name", Uri.parse("condition")).build(),
-                true);  // is active
+        ZenMode mode = new TestModeBuilder()
+                .setPackage(SystemZenRules.PACKAGE_ANDROID)
+                .build();
 
         ZenModeConfig.ScheduleInfo scheduleInfo = new ZenModeConfig.ScheduleInfo();
         scheduleInfo.days = new int[] { Calendar.MONDAY };
@@ -93,6 +95,8 @@
         assertThat(out.getRule().getConditionId())
                 .isEqualTo(ZenModeConfig.toScheduleConditionId(scheduleInfo));
         assertThat(out.getRule().getTriggerDescription()).isNotEmpty();
+        assertThat(out.getRule().getOwner()).isEqualTo(
+                ZenModeConfig.getScheduleConditionProvider());
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetTriggerLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetTriggerLinkPreferenceControllerTest.java
deleted file mode 100644
index 91de4ea..0000000
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetTriggerLinkPreferenceControllerTest.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification.modes;
-
-import static android.app.AutomaticZenRule.TYPE_SCHEDULE_CALENDAR;
-import static android.app.AutomaticZenRule.TYPE_SCHEDULE_TIME;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-import static android.platform.test.flag.junit.SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT;
-
-import static com.android.settings.notification.modes.ZenModeSetTriggerLinkPreferenceController.AUTOMATIC_TRIGGER_PREF_KEY;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.AutomaticZenRule;
-import android.app.Flags;
-import android.content.Context;
-import android.content.Intent;
-import android.net.Uri;
-import android.platform.test.annotations.EnableFlags;
-import android.platform.test.flag.junit.SetFlagsRule;
-import android.service.notification.ZenModeConfig;
-import android.service.notification.ZenPolicy;
-
-import androidx.preference.PreferenceCategory;
-import androidx.test.core.app.ApplicationProvider;
-
-import com.android.settings.R;
-import com.android.settings.SettingsActivity;
-import com.android.settingslib.PrimarySwitchPreference;
-
-import org.junit.Before;
-import org.junit.Rule;
-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 java.util.Calendar;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeSetTriggerLinkPreferenceControllerTest {
-    @Rule
-    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(DEVICE_DEFAULT);
-
-    @Mock
-    private ZenModesBackend mBackend;
-    private Context mContext;
-
-    @Mock
-    private PreferenceCategory mPrefCategory;
-    @Mock
-    private PrimarySwitchPreference mPreference;
-    private ZenModeSetTriggerLinkPreferenceController mPrefController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = ApplicationProvider.getApplicationContext();
-
-        mPrefController = new ZenModeSetTriggerLinkPreferenceController(mContext,
-                "zen_automatic_trigger_category", mBackend);
-        when(mPrefCategory.findPreference(AUTOMATIC_TRIGGER_PREF_KEY)).thenReturn(mPreference);
-    }
-
-    @Test
-    @EnableFlags(Flags.FLAG_MODES_UI)
-    public void testIsAvailable() {
-        // should not be available for manual DND
-        ZenMode manualMode = ZenMode.manualDndMode(new AutomaticZenRule.Builder("Do Not Disturb",
-                        Uri.parse("manual"))
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .build(), true);
-
-        mPrefController.updateZenMode(mPrefCategory, manualMode);
-        assertThat(mPrefController.isAvailable()).isFalse();
-
-        // should be available for other modes
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowAlarms(true).build())
-                        .setEnabled(false)
-                        .build(), false);
-        mPrefController.updateZenMode(mPrefCategory, zenMode);
-        assertThat(mPrefController.isAvailable()).isTrue();
-    }
-
-    @Test
-    public void testUpdateState() {
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowAlarms(true).build())
-                        .setEnabled(false)
-                        .build(), false);
-
-        // Update preference controller with a zen mode that is not enabled
-        mPrefController.updateZenMode(mPrefCategory, zenMode);
-        verify(mPreference).setChecked(false);
-
-        // Now with the rule enabled
-        zenMode.getRule().setEnabled(true);
-        mPrefController.updateZenMode(mPrefCategory, zenMode);
-        verify(mPreference).setChecked(true);
-    }
-
-    @Test
-    public void testOnPreferenceChange() {
-        ZenMode zenMode = new ZenMode("id",
-                new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                        .setType(AutomaticZenRule.TYPE_DRIVING)
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowAlarms(true).build())
-                        .setEnabled(false)
-                        .build(), false);
-
-        // start with disabled rule
-        mPrefController.updateZenMode(mPrefCategory, zenMode);
-
-        // then update the preference to be checked
-        mPrefController.mSwitchChangeListener.onPreferenceChange(mPreference, true);
-
-        // verify the backend got asked to update the mode to be enabled
-        ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
-        verify(mBackend).updateMode(captor.capture());
-        assertThat(captor.getValue().getRule().isEnabled()).isTrue();
-    }
-
-    @Test
-    public void testRuleLink_calendar() {
-        ZenModeConfig.EventInfo eventInfo = new ZenModeConfig.EventInfo();
-        eventInfo.calendarId = 1L;
-        eventInfo.calName = "My events";
-        ZenMode mode = new ZenMode("id", new AutomaticZenRule.Builder("name",
-                ZenModeConfig.toEventConditionId(eventInfo))
-                .setType(TYPE_SCHEDULE_CALENDAR)
-                .setTriggerDescription("My events")
-                .build(),
-                true);  // is active
-        mPrefController.updateZenMode(mPrefCategory, mode);
-
-        verify(mPreference).setTitle(R.string.zen_mode_set_calendar_link);
-        verify(mPreference).setSummary(mode.getRule().getTriggerDescription());
-
-        ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
-        verify(mPreference).setIntent(captor.capture());
-        // Destination as written into the intent by SubSettingLauncher
-        assertThat(
-                captor.getValue().getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT)).isEqualTo(
-                ZenModeSetCalendarFragment.class.getName());
-    }
-
-    @Test
-    public void testRuleLink_schedule() {
-        ZenModeConfig.ScheduleInfo scheduleInfo = new ZenModeConfig.ScheduleInfo();
-        scheduleInfo.days = new int[] { Calendar.MONDAY, Calendar.TUESDAY, Calendar.THURSDAY };
-        scheduleInfo.startHour = 1;
-        scheduleInfo.endHour = 15;
-        ZenMode mode = new ZenMode("id", new AutomaticZenRule.Builder("name",
-                ZenModeConfig.toScheduleConditionId(scheduleInfo))
-                .setType(TYPE_SCHEDULE_TIME)
-                .setTriggerDescription("some schedule")
-                .build(),
-                true);  // is active
-        mPrefController.updateZenMode(mPrefCategory, mode);
-
-        verify(mPreference).setTitle(R.string.zen_mode_set_schedule_link);
-        verify(mPreference).setSummary(mode.getRule().getTriggerDescription());
-
-        ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
-        verify(mPreference).setIntent(captor.capture());
-        // Destination as written into the intent by SubSettingLauncher
-        assertThat(
-                captor.getValue().getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT)).isEqualTo(
-                ZenModeSetScheduleFragment.class.getName());
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeSummaryHelperTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeSummaryHelperTest.java
new file mode 100644
index 0000000..a0e1d38
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeSummaryHelperTest.java
@@ -0,0 +1,565 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static android.service.notification.ZenPolicy.CONVERSATION_SENDERS_ANYONE;
+import static android.service.notification.ZenPolicy.CONVERSATION_SENDERS_IMPORTANT;
+import static android.service.notification.ZenPolicy.PEOPLE_TYPE_ANYONE;
+import static android.service.notification.ZenPolicy.PEOPLE_TYPE_CONTACTS;
+import static android.service.notification.ZenPolicy.PEOPLE_TYPE_NONE;
+import static android.service.notification.ZenPolicy.PEOPLE_TYPE_STARRED;
+import static android.service.notification.ZenPolicy.VISUAL_EFFECT_AMBIENT;
+import static android.service.notification.ZenPolicy.VISUAL_EFFECT_LIGHTS;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.robolectric.Shadows.shadowOf;
+
+import android.app.AutomaticZenRule;
+import android.app.Flags;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.UserInfo;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.service.notification.SystemZenRules;
+import android.service.notification.ZenDeviceEffects;
+import android.service.notification.ZenModeConfig;
+import android.service.notification.ZenPolicy;
+
+import com.android.settingslib.applications.ApplicationsState.AppEntry;
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+
+import com.google.common.collect.ImmutableList;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+import java.util.Random;
+
+@RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
+public class ZenModeSummaryHelperTest {
+    private static final int WORK_PROFILE_ID = 3;
+
+    private Context mContext;
+    private ZenHelperBackend mBackend;
+
+    private ZenModeSummaryHelper mSummaryHelper;
+
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(
+            SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT);
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mBackend = new ZenHelperBackend(mContext);
+        mSummaryHelper = new ZenModeSummaryHelper(mContext, mBackend);
+
+        UserInfo workProfile = new UserInfo(WORK_PROFILE_ID, "Work Profile", 0);
+        workProfile.userType = UserManager.USER_TYPE_PROFILE_MANAGED;
+        UserManager userManager = mContext.getSystemService(UserManager.class);
+        shadowOf(userManager).addProfile(mContext.getUserId(), WORK_PROFILE_ID, workProfile);
+    }
+
+    @Test
+    public void getPeopleSummary_noOne() {
+        ZenPolicy policy = new ZenPolicy.Builder().disallowAllSounds().build();
+
+        assertThat(mSummaryHelper.getPeopleSummary(policy)).isEqualTo("No one can interrupt");
+    }
+
+    @Test
+    public void getPeopleSummary_some() {
+        ZenPolicy policy = new ZenPolicy.Builder().allowCalls(PEOPLE_TYPE_CONTACTS).build();
+
+        assertThat(mSummaryHelper.getPeopleSummary(policy)).isEqualTo("Some people can interrupt");
+    }
+
+    @Test
+    public void getPeopleSummary_onlyRepeatCallers() {
+        ZenPolicy policy = new ZenPolicy.Builder()
+                .disallowAllSounds()
+                .allowRepeatCallers(true)
+                .build();
+
+        assertThat(mSummaryHelper.getPeopleSummary(policy)).isEqualTo(
+                "Repeat callers can interrupt");
+    }
+
+    @Test
+    public void getPeopleSummary_all() {
+        ZenPolicy policy = new ZenPolicy.Builder()
+                .allowCalls(PEOPLE_TYPE_ANYONE)
+                .allowConversations(CONVERSATION_SENDERS_ANYONE)
+                .allowMessages(PEOPLE_TYPE_ANYONE)
+                .build();
+
+        assertThat(mSummaryHelper.getPeopleSummary(policy)).isEqualTo("All people can interrupt");
+    }
+
+    @Test
+    public void getMessagesSettingSummary_allMessages() {
+        ZenPolicy policy1 = new ZenPolicy.Builder()
+                .allowMessages(PEOPLE_TYPE_ANYONE)
+                .build();
+        ZenPolicy policy2 = new ZenPolicy.Builder()
+                .allowMessages(PEOPLE_TYPE_ANYONE)
+                .allowConversations(CONVERSATION_SENDERS_IMPORTANT)
+                .build();
+        ZenPolicy policy3 = new ZenPolicy.Builder()
+                .allowMessages(PEOPLE_TYPE_ANYONE)
+                .allowConversations(CONVERSATION_SENDERS_ANYONE)
+                .build();
+
+        assertThat(mSummaryHelper.getMessagesSettingSummary(policy1)).isEqualTo("Anyone");
+        assertThat(mSummaryHelper.getMessagesSettingSummary(policy2)).isEqualTo("Anyone");
+        assertThat(mSummaryHelper.getMessagesSettingSummary(policy3)).isEqualTo("Anyone");
+    }
+
+    @Test
+    public void getMessagesSettingSummary_noMessagesButSomeConversations() {
+        ZenPolicy policy1 = new ZenPolicy.Builder()
+                .allowMessages(PEOPLE_TYPE_NONE)
+                .allowConversations(CONVERSATION_SENDERS_IMPORTANT)
+                .build();
+        ZenPolicy policy2 = new ZenPolicy.Builder()
+                .allowMessages(PEOPLE_TYPE_NONE)
+                .allowConversations(CONVERSATION_SENDERS_ANYONE)
+                .build();
+
+        assertThat(mSummaryHelper.getMessagesSettingSummary(policy1)).isEqualTo(
+                "Priority conversations");
+        assertThat(mSummaryHelper.getMessagesSettingSummary(policy2)).isEqualTo(
+                "All conversations");
+    }
+
+    @Test
+    public void getMessagesSettingSummary_contactsAndConversations() {
+        ZenPolicy policy1 = new ZenPolicy.Builder()
+                .allowMessages(PEOPLE_TYPE_STARRED)
+                .allowConversations(CONVERSATION_SENDERS_IMPORTANT)
+                .build();
+        ZenPolicy policy2 = new ZenPolicy.Builder()
+                .allowMessages(PEOPLE_TYPE_STARRED)
+                .allowConversations(CONVERSATION_SENDERS_ANYONE)
+                .build();
+
+        assertThat(mSummaryHelper.getMessagesSettingSummary(policy1)).isEqualTo(
+                "Starred contacts and priority conversations");
+        assertThat(mSummaryHelper.getMessagesSettingSummary(policy2)).isEqualTo(
+                "Starred contacts and all conversations");
+    }
+
+    @Test
+    public void getOtherSoundCategoriesSummary_single() {
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder().allowAlarms(true).build())
+                .build();
+
+        assertThat(mSummaryHelper.getOtherSoundCategoriesSummary(zenMode)).isEqualTo(
+                "Alarms can interrupt");
+    }
+
+    @Test
+    public void getOtherSoundCategoriesSummary_duo() {
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder().allowAlarms(true).allowMedia(true).build())
+                .build();
+
+        assertThat(mSummaryHelper.getOtherSoundCategoriesSummary(zenMode)).isEqualTo(
+                "Alarms and media can interrupt");
+    }
+
+    @Test
+    public void getOtherSoundCategoriesSummary_trio() {
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowAlarms(true)
+                        .allowMedia(true)
+                        .allowSystem(true)
+                        .build())
+                .build();
+
+        assertThat(mSummaryHelper.getOtherSoundCategoriesSummary(zenMode)).isEqualTo(
+                "Alarms, media, and touch sounds can interrupt");
+    }
+
+    @Test
+    public void getOtherSoundCategoriesSummary_quad() {
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowAlarms(true)
+                        .allowMedia(true)
+                        .allowSystem(true)
+                        .allowReminders(true)
+                        .build())
+                .build();
+
+        assertThat(mSummaryHelper.getOtherSoundCategoriesSummary(zenMode)).isEqualTo(
+                "Alarms, media, and 2 more can interrupt");
+    }
+
+    @Test
+    public void getOtherSoundCategoriesSummary_all() {
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowAlarms(true)
+                        .allowMedia(true)
+                        .allowSystem(true)
+                        .allowReminders(true)
+                        .allowEvents(true)
+                        .build())
+                .build();
+
+        assertThat(mSummaryHelper.getOtherSoundCategoriesSummary(zenMode)).isEqualTo(
+                "Alarms, media, and 3 more can interrupt");
+    }
+
+    @Test
+    public void getBlockedEffectsSummary_none() {
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .showAllVisualEffects()
+                        .allowAlarms(true)
+                        .build())
+                .build();
+
+        assertThat(mSummaryHelper.getBlockedEffectsSummary(zenMode))
+                .isEqualTo("Notifications shown");
+    }
+
+    @Test
+    public void getBlockedEffectsSummary_some() {
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowAlarms(true)
+                        .showAllVisualEffects()
+                        .showVisualEffect(VISUAL_EFFECT_AMBIENT, false)
+                        .build())
+                .build();
+
+        assertThat(mSummaryHelper.getBlockedEffectsSummary(zenMode))
+                .isEqualTo("Notifications partially hidden");
+    }
+
+    @Test
+    public void getBlockedEffectsSummary_all() {
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowAlarms(true)
+                        .hideAllVisualEffects()
+                        .build())
+                .build();
+
+        assertThat(mSummaryHelper.getBlockedEffectsSummary(zenMode))
+                .isEqualTo("Notifications hidden");
+    }
+
+    @Test
+    public void getDisplayEffectsSummary_single_notifVis() {
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .showAllVisualEffects()
+                        .showVisualEffect(VISUAL_EFFECT_AMBIENT, false)
+                        .build())
+                .build();
+
+        assertThat(mSummaryHelper.getDisplayEffectsSummary(zenMode)).isEqualTo(
+                "Notifications partially hidden");
+    }
+
+    @Test
+    public void getDisplayEffectsSummary_single_notifVis_unusedEffect() {
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .showAllVisualEffects()
+                        .showVisualEffect(VISUAL_EFFECT_LIGHTS, false)
+                        .build())
+                .build();
+
+        assertThat(mSummaryHelper.getDisplayEffectsSummary(zenMode)).isEqualTo(
+                "Notifications shown");
+    }
+
+    @Test
+    public void getDisplayEffectsSummary_single_displayEffect() {
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder().showAllVisualEffects().build())
+                .setDeviceEffects(new ZenDeviceEffects.Builder()
+                        .setShouldDimWallpaper(true)
+                        .build())
+                .build();
+
+        assertThat(mSummaryHelper.getDisplayEffectsSummary(zenMode)).isEqualTo(
+                "Dim the wallpaper");
+    }
+
+    @Test
+    public void getDisplayEffectsSummary_duo() {
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder().showAllVisualEffects().build())
+                .setDeviceEffects(new ZenDeviceEffects.Builder()
+                        .setShouldDimWallpaper(true)
+                        .setShouldDisplayGrayscale(true)
+                        .build())
+                .build();
+
+        assertThat(mSummaryHelper.getDisplayEffectsSummary(zenMode)).isEqualTo(
+                "Grayscale and dim the wallpaper");
+    }
+
+    @Test
+    public void getDisplayEffectsSummary_trio() {
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .hideAllVisualEffects()
+                        .allowAlarms(true)
+                        .allowMedia(true)
+                        .allowSystem(true)
+                        .build())
+                .setDeviceEffects(new ZenDeviceEffects.Builder()
+                        .setShouldDisplayGrayscale(true)
+                        .setShouldDimWallpaper(true)
+                        .build())
+                .build();
+
+        assertThat(mSummaryHelper.getDisplayEffectsSummary(zenMode)).isEqualTo(
+                "Notifications hidden, grayscale, and dim the wallpaper");
+    }
+
+    @Test
+    public void getDisplayEffectsSummary_quad() {
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .showAllVisualEffects()
+                        .showVisualEffect(VISUAL_EFFECT_AMBIENT, false)
+                        .allowAlarms(true)
+                        .allowMedia(true)
+                        .allowSystem(true)
+                        .build())
+                .setDeviceEffects(new ZenDeviceEffects.Builder()
+                        .setShouldDimWallpaper(true)
+                        .setShouldDisplayGrayscale(true)
+                        .setShouldUseNightMode(true)
+                        .build())
+                .build();
+
+        assertThat(mSummaryHelper.getDisplayEffectsSummary(zenMode)).isEqualTo(
+                "Notifications partially hidden, grayscale, and 2 more");
+    }
+
+    @Test
+    public void getAppsSummary_none() {
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowChannels(ZenPolicy.CHANNEL_POLICY_NONE)
+                        .build())
+                .build();
+
+        assertThat(mSummaryHelper.getAppsSummary(zenMode, ImmutableList.of())).isEqualTo("None");
+    }
+
+    @Test
+    public void getAppsSummary_priorityAppsNoList() {
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY)
+                        .build())
+                .build();
+
+        assertThat(mSummaryHelper.getAppsSummary(zenMode, null)).isEqualTo("Selected apps");
+    }
+
+    @Test
+    public void formatAppsList_listEmpty() {
+        ImmutableList<AppEntry> apps = ImmutableList.of();
+        assertThat(mSummaryHelper.formatAppsList(apps)).isEqualTo("No apps can interrupt");
+    }
+
+    @Test
+    public void formatAppsList_single() {
+        ImmutableList<AppEntry> apps = ImmutableList.of(newAppEntry("My App"));
+        assertThat(mSummaryHelper.formatAppsList(apps)).isEqualTo("My App can interrupt");
+    }
+
+    @Test
+    public void formatAppsList_two() {
+        ImmutableList<AppEntry> apps = ImmutableList.of(newAppEntry("My App"),
+                newAppEntry("SecondApp"));
+        assertThat(mSummaryHelper.formatAppsList(apps)).isEqualTo("My App and SecondApp "
+                + "can interrupt");
+    }
+
+    @Test
+    public void formatAppsList_three() {
+        ImmutableList<AppEntry> apps = ImmutableList.of(newAppEntry("My App"),
+                newAppEntry("SecondApp"), newAppEntry("ThirdApp"));
+        assertThat(mSummaryHelper.formatAppsList(apps)).isEqualTo("My App, SecondApp, "
+                + "and ThirdApp can interrupt");
+    }
+
+    @Test
+    public void formatAppsList_many() {
+        ImmutableList<AppEntry> apps = ImmutableList.of(newAppEntry("My App"),
+                newAppEntry("SecondApp"), newAppEntry("ThirdApp"), newAppEntry("FourthApp"),
+                newAppEntry("FifthApp"), newAppEntry("SixthApp"));
+        assertThat(mSummaryHelper.formatAppsList(apps)).isEqualTo("My App, SecondApp, "
+                + "and 4 more can interrupt");
+    }
+
+    @Test
+    public void formatAppsList_singleWorkProfile() {
+        ImmutableList<AppEntry> apps = ImmutableList.of(newAppEntry("My App", WORK_PROFILE_ID));
+        assertThat(mSummaryHelper.formatAppsList(apps)).isEqualTo("My App (Work) can interrupt");
+    }
+
+    @Test
+    public void formatAppsList_mixOfProfiles() {
+        ImmutableList<AppEntry> apps = ImmutableList.of(
+                newAppEntry("My App", mContext.getUserId()),
+                newAppEntry("My App", WORK_PROFILE_ID),
+                newAppEntry("SecondApp", mContext.getUserId()));
+        assertThat(mSummaryHelper.formatAppsList(apps)).isEqualTo("My App, My App (Work), "
+                + "and SecondApp can interrupt");
+    }
+
+    @Test
+    public void getAppsSummary_priorityApps() {
+        ZenMode zenMode = new TestModeBuilder()
+                .setZenPolicy(new ZenPolicy.Builder()
+                        .allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY)
+                        .build())
+                .build();
+        ImmutableList<AppEntry> apps = ImmutableList.of(newAppEntry("My App"),
+                newAppEntry("SecondApp"), newAppEntry("ThirdApp"), newAppEntry("FourthApp"),
+                newAppEntry("FifthApp"), newAppEntry("SixthApp"));
+
+        assertThat(mSummaryHelper.getAppsSummary(zenMode, apps)).isEqualTo("My App, SecondApp, "
+                + "and 4 more can interrupt");
+    }
+
+    private AppEntry newAppEntry(String name) {
+        return newAppEntry(name, mContext.getUserId());
+    }
+
+    private AppEntry newAppEntry(String name, int userId) {
+        ApplicationInfo applicationInfo = new ApplicationInfo();
+        applicationInfo.uid = UserHandle.getUid(userId, new Random().nextInt(100));
+        AppEntry appEntry = new AppEntry(mContext, applicationInfo, 1);
+        appEntry.label = name;
+        return appEntry;
+    }
+
+    @Test
+    public void getModesSummary_noRules_noSummary() {
+        String summary = mSummaryHelper.getModesSummary(ImmutableList.of());
+        assertThat(summary).isEmpty();
+    }
+
+    @Test
+    public void getModesSummary_onlyDndAndNotActive_noSummary() {
+        ImmutableList<ZenMode> modes = ImmutableList.of(TestModeBuilder.MANUAL_DND_INACTIVE);
+        String summary = mSummaryHelper.getModesSummary(modes);
+        assertThat(summary).isEmpty();
+    }
+
+    @Test
+    public void getModesSummary_noRulesActive_countsOnlyEnabledAutomaticModes() {
+        ImmutableList<ZenMode> modes = ImmutableList.of(
+                TestModeBuilder.MANUAL_DND_INACTIVE, // Not automatic
+                new TestModeBuilder().setName("Auto 1").build(), // App provided automatic
+                new TestModeBuilder()
+                        .setName("Custom manual 1")
+                        .setPackage(SystemZenRules.PACKAGE_ANDROID)
+                        .setType(AutomaticZenRule.TYPE_OTHER)
+                        .setConditionId(ZenModeConfig.toCustomManualConditionId())
+                        .build(), // Custom manual, not automatic
+                new TestModeBuilder()
+                        .setName("Disabled 1")
+                        .setEnabled(false)
+                        .build(), // Would be automatic, but it's disabled.
+                new TestModeBuilder()
+                        .setName("Sleep")
+                        .setPackage(SystemZenRules.PACKAGE_ANDROID)
+                        .setType(AutomaticZenRule.TYPE_SCHEDULE_TIME)
+                        .build() // Time based, automatic.
+        );
+
+        String summary = mSummaryHelper.getModesSummary(modes);
+        assertThat(summary).isEqualTo("2 modes can turn on automatically");
+    }
+
+    @Test
+    public void getModesSummary_oneModeActive_listsMode() {
+        ImmutableList<ZenMode> modes = ImmutableList.of(
+                TestModeBuilder.MANUAL_DND_ACTIVE,
+                new TestModeBuilder().setName("Inactive").setActive(false).build());
+
+        String summary = mSummaryHelper.getModesSummary(modes);
+        assertThat(summary).isEqualTo("Do Not Disturb is active");
+    }
+
+    @Test
+    public void getModesSummary_twoModesActive_listsModes() {
+        ImmutableList<ZenMode> modes = ImmutableList.of(
+                TestModeBuilder.MANUAL_DND_ACTIVE,
+                new TestModeBuilder().setName("Inactive").setActive(false).build(),
+                new TestModeBuilder().setName("Active #1").setActive(true).build());
+
+        String summary = mSummaryHelper.getModesSummary(modes);
+        assertThat(summary).isEqualTo("Do Not Disturb and Active #1 are active");
+    }
+
+    @Test
+    public void getModesSummary_threeModesActive_listsModes() {
+        ImmutableList<ZenMode> modes = ImmutableList.of(
+                TestModeBuilder.MANUAL_DND_INACTIVE,
+                new TestModeBuilder().setName("Inactive #1").setActive(false).build(),
+                new TestModeBuilder().setName("Active #1").setActive(true).build(),
+                new TestModeBuilder().setName("Active #2").setActive(true).build(),
+                new TestModeBuilder().setName("Inactive #2").setActive(false).build(),
+                new TestModeBuilder().setName("Active #3").setActive(true).build());
+
+        String summary = mSummaryHelper.getModesSummary(modes);
+        assertThat(summary).isEqualTo("Active #1, Active #2, and Active #3 are active");
+    }
+
+    @Test
+    public void getModesSummary_manyModesActive_listsACouple() {
+        ImmutableList<ZenMode> modes = ImmutableList.of(
+                TestModeBuilder.MANUAL_DND_ACTIVE,
+                new TestModeBuilder().setName("Inactive #1").setActive(false).build(),
+                new TestModeBuilder().setName("Active #1").setActive(true).build(),
+                new TestModeBuilder().setName("Active #2").setActive(true).build(),
+                new TestModeBuilder().setName("Inactive #2").setActive(false).build(),
+                new TestModeBuilder().setName("Active #3").setActive(true).build());
+
+        String summary = mSummaryHelper.getModesSummary(modes);
+        assertThat(summary).isEqualTo("Do Not Disturb, Active #1, and 2 more are active");
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeTest.java
deleted file mode 100644
index 0528621..0000000
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeTest.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification.modes;
-
-import static android.app.NotificationManager.INTERRUPTION_FILTER_ALARMS;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_NONE;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.app.AutomaticZenRule;
-import android.net.Uri;
-import android.service.notification.ZenPolicy;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.RobolectricTestRunner;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeTest {
-
-    private static final ZenPolicy ZEN_POLICY = new ZenPolicy.Builder().allowAllSounds().build();
-
-    private static final AutomaticZenRule ZEN_RULE =
-            new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                    .setType(AutomaticZenRule.TYPE_DRIVING)
-                    .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                    .setZenPolicy(ZEN_POLICY)
-                    .build();
-
-    @Test
-    public void testBasicMethods() {
-        ZenMode zenMode = new ZenMode("id", ZEN_RULE, true);
-
-        assertThat(zenMode.getId()).isEqualTo("id");
-        assertThat(zenMode.getRule()).isEqualTo(ZEN_RULE);
-        assertThat(zenMode.isManualDnd()).isFalse();
-        assertThat(zenMode.canBeDeleted()).isTrue();
-        assertThat(zenMode.isActive()).isTrue();
-
-        ZenMode manualMode = ZenMode.manualDndMode(ZEN_RULE, false);
-        assertThat(manualMode.getId()).isEqualTo(ZenMode.MANUAL_DND_MODE_ID);
-        assertThat(manualMode.isManualDnd()).isTrue();
-        assertThat(manualMode.canBeDeleted()).isFalse();
-        assertThat(manualMode.isActive()).isFalse();
-    }
-
-    @Test
-    public void getPolicy_interruptionFilterPriority_returnsZenPolicy() {
-        ZenMode zenMode = new ZenMode("id", new AutomaticZenRule.Builder("Rule", Uri.EMPTY)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(ZEN_POLICY)
-                .build(), false);
-
-        assertThat(zenMode.getPolicy()).isEqualTo(ZEN_POLICY);
-    }
-
-    @Test
-    public void getPolicy_interruptionFilterAll_returnsPolicyAllowingAll() {
-        ZenMode zenMode = new ZenMode("id", new AutomaticZenRule.Builder("Rule", Uri.EMPTY)
-                .setInterruptionFilter(INTERRUPTION_FILTER_ALL)
-                .setZenPolicy(ZEN_POLICY) // should be ignored
-                .build(), false);
-
-        assertThat(zenMode.getPolicy()).isEqualTo(
-                new ZenPolicy.Builder().allowChannels(ZenMode.CHANNEL_POLICY_ALL)
-                        .allowAllSounds().showAllVisualEffects().build());
-    }
-
-    @Test
-    public void getPolicy_interruptionFilterAlarms_returnsPolicyAllowingAlarms() {
-        ZenMode zenMode = new ZenMode("id", new AutomaticZenRule.Builder("Rule", Uri.EMPTY)
-                .setInterruptionFilter(INTERRUPTION_FILTER_ALARMS)
-                .setZenPolicy(ZEN_POLICY) // should be ignored
-                .build(), false);
-
-        assertThat(zenMode.getPolicy()).isEqualTo(
-                new ZenPolicy.Builder()
-                        .disallowAllSounds()
-                        .allowAlarms(true)
-                        .allowMedia(true)
-                        .allowPriorityChannels(false)
-                        .build());
-    }
-
-    @Test
-    public void getPolicy_interruptionFilterNone_returnsPolicyAllowingNothing() {
-        ZenMode zenMode = new ZenMode("id", new AutomaticZenRule.Builder("Rule", Uri.EMPTY)
-                .setInterruptionFilter(INTERRUPTION_FILTER_NONE)
-                .setZenPolicy(ZEN_POLICY) // should be ignored
-                .build(), false);
-
-        assertThat(zenMode.getPolicy()).isEqualTo(
-                new ZenPolicy.Builder()
-                        .disallowAllSounds()
-                        .hideAllVisualEffects()
-                        .allowPriorityChannels(false)
-                        .build());
-    }
-
-    @Test
-    public void setPolicy_setsInterruptionFilterPriority() {
-        ZenMode zenMode = new ZenMode("id", new AutomaticZenRule.Builder("Rule", Uri.EMPTY)
-                .setInterruptionFilter(INTERRUPTION_FILTER_ALARMS)
-                .build(), false);
-
-        zenMode.setPolicy(ZEN_POLICY);
-
-        assertThat(zenMode.getRule().getInterruptionFilter()).isEqualTo(
-                INTERRUPTION_FILTER_PRIORITY);
-        assertThat(zenMode.getPolicy()).isEqualTo(ZEN_POLICY);
-        assertThat(zenMode.getRule().getZenPolicy()).isEqualTo(ZEN_POLICY);
-    }
-
-    @Test
-    public void setPolicy_withAllChannelsAllowed_setsInterruptionFilterAll() {
-        ZenMode zenMode = new ZenMode("id", new AutomaticZenRule.Builder("Rule", Uri.EMPTY)
-                .setInterruptionFilter(INTERRUPTION_FILTER_ALARMS)
-                .setZenPolicy(ZEN_POLICY)
-                .build(), false);
-
-        zenMode.setPolicy(
-                new ZenPolicy.Builder().allowChannels(ZenMode.CHANNEL_POLICY_ALL).build());
-
-        assertThat(zenMode.getRule().getInterruptionFilter()).isEqualTo(INTERRUPTION_FILTER_ALL);
-        assertThat(zenMode.getPolicy()).isEqualTo(
-                new ZenPolicy.Builder().allowChannels(ZenMode.CHANNEL_POLICY_ALL)
-                        .allowAllSounds().showAllVisualEffects().build());
-    }
-
-    @Test
-    public void setPolicy_priorityToAllChannelsAndBack_restoresOldPolicy() {
-        ZenMode zenMode = new ZenMode("id", new AutomaticZenRule.Builder("Rule", Uri.EMPTY)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(ZEN_POLICY)
-                .build(), false);
-
-        zenMode.setPolicy(
-                new ZenPolicy.Builder().allowChannels(ZenMode.CHANNEL_POLICY_ALL).build());
-        assertThat(zenMode.getRule().getInterruptionFilter()).isEqualTo(INTERRUPTION_FILTER_ALL);
-        assertThat(zenMode.getPolicy()).isEqualTo(
-                new ZenPolicy.Builder().allowChannels(ZenMode.CHANNEL_POLICY_ALL)
-                        .allowAllSounds().showAllVisualEffects().build());
-
-        zenMode.setPolicy(
-                new ZenPolicy.Builder().allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY).build());
-
-        assertThat(zenMode.getRule().getInterruptionFilter()).isEqualTo(
-                INTERRUPTION_FILTER_PRIORITY);
-        assertThat(zenMode.getPolicy()).isEqualTo(ZEN_POLICY);
-        assertThat(zenMode.getRule().getZenPolicy()).isEqualTo(ZEN_POLICY);
-    }
-
-    @Test
-    public void setPolicy_alarmsOnlyToAllChannelsAndBack_restoresPolicySimilarToAlarmsOnly() {
-        ZenMode zenMode = new ZenMode("id", new AutomaticZenRule.Builder("Rule", Uri.EMPTY)
-                .setInterruptionFilter(INTERRUPTION_FILTER_ALARMS)
-                .build(), false);
-
-        zenMode.setPolicy(
-                new ZenPolicy.Builder().allowChannels(ZenMode.CHANNEL_POLICY_ALL).build());
-        assertThat(zenMode.getRule().getInterruptionFilter()).isEqualTo(INTERRUPTION_FILTER_ALL);
-        assertThat(zenMode.getPolicy()).isEqualTo(
-                new ZenPolicy.Builder().allowChannels(ZenMode.CHANNEL_POLICY_ALL)
-                        .allowAllSounds().showAllVisualEffects().build());
-
-        zenMode.setPolicy(
-                new ZenPolicy.Builder().allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY).build());
-
-        // We don't go back to ALARMS, but the policy must be the one the user was seeing before.
-        ZenPolicy alarmsOnlyLikePolicy = new ZenPolicy.Builder().disallowAllSounds()
-                .allowAlarms(true).allowMedia(true).allowPriorityChannels(false)
-                .build();
-        assertThat(zenMode.getRule().getInterruptionFilter()).isEqualTo(
-                INTERRUPTION_FILTER_PRIORITY);
-        assertThat(zenMode.getPolicy()).isEqualTo(alarmsOnlyLikePolicy);
-        assertThat(zenMode.getRule().getZenPolicy()).isEqualTo(alarmsOnlyLikePolicy);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeTriggerAddPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeTriggerAddPreferenceControllerTest.java
new file mode 100644
index 0000000..0d20b19
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeTriggerAddPreferenceControllerTest.java
@@ -0,0 +1,176 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static android.app.AutomaticZenRule.TYPE_OTHER;
+import static android.app.AutomaticZenRule.TYPE_SCHEDULE_CALENDAR;
+import static android.app.AutomaticZenRule.TYPE_SCHEDULE_TIME;
+import static android.platform.test.flag.junit.SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT;
+
+import static com.android.settings.notification.modes.CharSequenceTruth.assertThat;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.verify;
+
+import android.app.Flags;
+import android.content.Context;
+import android.net.Uri;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.service.notification.SystemZenRules;
+import android.service.notification.ZenModeConfig;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+import org.junit.Before;
+import org.junit.Rule;
+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 java.util.Calendar;
+
+@RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
+public class ZenModeTriggerAddPreferenceControllerTest {
+
+    private static final ZenMode CUSTOM_MANUAL_MODE = new TestModeBuilder()
+            .setConditionId(ZenModeConfig.toCustomManualConditionId())
+            .setPackage(SystemZenRules.PACKAGE_ANDROID)
+            .setType(TYPE_OTHER)
+            .setTriggerDescription("Will not be shown")
+            .build();
+
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(DEVICE_DEFAULT);
+
+    private ZenModeTriggerAddPreferenceController mController;
+
+    private Context mContext;
+    private Preference mPreference;
+    @Mock private ZenModesBackend mBackend;
+    @Mock private DashboardFragment mFragment;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+        mContext = ApplicationProvider.getApplicationContext();
+
+        PreferenceManager preferenceManager = new PreferenceManager(mContext);
+        PreferenceScreen preferenceScreen = preferenceManager.inflateFromResource(mContext,
+                R.xml.modes_rule_settings, null);
+
+        mController = new ZenModeTriggerAddPreferenceController(mContext,
+                "zen_add_automatic_trigger", mFragment, mBackend);
+        mPreference = preferenceScreen.findPreference("zen_add_automatic_trigger");
+    }
+
+    @Test
+    public void isAvailable_customManualMode_true() {
+        mController.setZenMode(CUSTOM_MANUAL_MODE);
+
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void isAvailable_systemMode_false() {
+        ZenMode mode = new TestModeBuilder()
+                .setPackage(SystemZenRules.PACKAGE_ANDROID)
+                .setType(TYPE_SCHEDULE_CALENDAR)
+                .build();
+        mController.setZenMode(mode);
+
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isAvailable_appProvidedMode_false() {
+        ZenMode mode = new TestModeBuilder()
+                .setPackage("com.some.package")
+                .setType(TYPE_OTHER)
+                .build();
+        mController.setZenMode(mode);
+
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isAvailable_manualDND_false() {
+        mController.setZenMode(TestModeBuilder.MANUAL_DND_INACTIVE);
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void updateState_customManualRule() {
+        ZenMode mode = new TestModeBuilder()
+                .setConditionId(ZenModeConfig.toCustomManualConditionId())
+                .setPackage(SystemZenRules.PACKAGE_ANDROID)
+                .setType(TYPE_OTHER)
+                .setTriggerDescription("Will not be shown")
+                .build();
+
+        mController.updateState(mPreference, mode);
+
+        assertThat(mPreference.getTitle()).isEqualTo(
+                mContext.getString(R.string.zen_mode_select_schedule));
+        assertThat(mPreference.getSummary()).isNull();
+        // Sets up a click listener to open the dialog.
+        assertThat(mPreference.getOnPreferenceClickListener()).isNotNull();
+    }
+
+    @Test
+    public void onScheduleChosen_updatesMode() {
+        ZenMode originalMode = new TestModeBuilder()
+                .setConditionId(ZenModeConfig.toCustomManualConditionId())
+                .setPackage(SystemZenRules.PACKAGE_ANDROID)
+                .setType(TYPE_OTHER)
+                .setTriggerDescription("")
+                .build();
+        mController.updateZenMode(mPreference, originalMode);
+
+        ZenModeConfig.ScheduleInfo scheduleInfo = new ZenModeConfig.ScheduleInfo();
+        scheduleInfo.days = new int[] { Calendar.MONDAY };
+        scheduleInfo.startHour = 12;
+        scheduleInfo.endHour = 15;
+        Uri scheduleUri = ZenModeConfig.toScheduleConditionId(scheduleInfo);
+
+        mController.mOnScheduleOptionListener.onScheduleSelected(scheduleUri);
+
+        // verify the backend got asked to update the mode to be schedule-based.
+        ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
+        verify(mBackend).updateMode(captor.capture());
+        ZenMode updatedMode = captor.getValue();
+        assertThat(updatedMode.getType()).isEqualTo(TYPE_SCHEDULE_TIME);
+        assertThat(updatedMode.getRule().getConditionId()).isEqualTo(scheduleUri);
+        assertThat(updatedMode.getRule().getTriggerDescription()).isNotEmpty();
+        assertThat(updatedMode.getRule().getOwner()).isEqualTo(
+                ZenModeConfig.getScheduleConditionProvider());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeTriggerCategoryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeTriggerCategoryPreferenceControllerTest.java
new file mode 100644
index 0000000..bcafe47
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeTriggerCategoryPreferenceControllerTest.java
@@ -0,0 +1,119 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static android.app.AutomaticZenRule.TYPE_OTHER;
+import static android.app.AutomaticZenRule.TYPE_SCHEDULE_CALENDAR;
+import static android.platform.test.flag.junit.SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.app.Flags;
+import android.content.Context;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.service.notification.SystemZenRules;
+import android.service.notification.ZenModeConfig;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
+public class ZenModeTriggerCategoryPreferenceControllerTest {
+
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(DEVICE_DEFAULT);
+
+    private ZenModeTriggerCategoryPreferenceController mController;
+
+    private Context mContext;
+    private Preference mPreference;
+    @Mock private ZenModesBackend mBackend;
+    @Mock private DashboardFragment mFragment;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+        mContext = ApplicationProvider.getApplicationContext();
+
+        PreferenceManager preferenceManager = new PreferenceManager(mContext);
+        PreferenceScreen preferenceScreen = preferenceManager.inflateFromResource(mContext,
+                R.xml.modes_rule_settings, null);
+
+        mController = new ZenModeTriggerCategoryPreferenceController(mContext,
+                "zen_automatic_trigger_category");
+        mPreference = preferenceScreen.findPreference("zen_automatic_trigger_category");
+    }
+
+    @Test
+    public void isAvailable_customManualMode_true() {
+        ZenMode mode = new TestModeBuilder()
+                .setConditionId(ZenModeConfig.toCustomManualConditionId())
+                .setPackage(SystemZenRules.PACKAGE_ANDROID)
+                .setType(TYPE_OTHER)
+                .setTriggerDescription("Will not be shown")
+                .build();
+        mController.setZenMode(mode);
+
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void isAvailable_systemMode_true() {
+        ZenMode mode = new TestModeBuilder()
+                .setPackage(SystemZenRules.PACKAGE_ANDROID)
+                .setType(TYPE_SCHEDULE_CALENDAR)
+                .build();
+        mController.setZenMode(mode);
+
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void isAvailable_appProvidedMode_true() {
+        ZenMode mode = new TestModeBuilder()
+                .setPackage("com.some.package")
+                .setType(TYPE_OTHER)
+                .build();
+        mController.setZenMode(mode);
+
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void isAvailable_manualDND_false() {
+        mController.setZenMode(TestModeBuilder.MANUAL_DND_INACTIVE);
+        assertThat(mController.isAvailable()).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceControllerTest.java
new file mode 100644
index 0000000..b7af71b
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceControllerTest.java
@@ -0,0 +1,370 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static android.app.AutomaticZenRule.TYPE_OTHER;
+import static android.app.AutomaticZenRule.TYPE_SCHEDULE_CALENDAR;
+import static android.app.AutomaticZenRule.TYPE_SCHEDULE_TIME;
+import static android.platform.test.flag.junit.SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT;
+
+import static com.android.settings.notification.modes.CharSequenceTruth.assertThat;
+
+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.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+import static org.robolectric.Shadows.shadowOf;
+
+import android.app.AlertDialog;
+import android.app.Flags;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.os.Looper;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.service.notification.SystemZenRules;
+import android.service.notification.ZenModeConfig;
+import android.widget.TextView;
+
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.SettingsActivity;
+import com.android.settingslib.PrimarySwitchPreference;
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+import org.junit.Before;
+import org.junit.Rule;
+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.shadows.ShadowAlertDialog;
+
+import java.util.Calendar;
+
+@RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
+public class ZenModeTriggerUpdatePreferenceControllerTest {
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(DEVICE_DEFAULT);
+
+    private ZenModeTriggerUpdatePreferenceController mController;
+
+    private PrimarySwitchPreference mPreference;
+    @Mock private ZenModesBackend mBackend;
+    @Mock private PackageManager mPm;
+    @Mock private ConfigurationActivityHelper mConfigurationActivityHelper;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+        Context context = ApplicationProvider.getApplicationContext();
+
+        PreferenceManager preferenceManager = new PreferenceManager(context);
+        PreferenceScreen preferenceScreen = preferenceManager.inflateFromResource(context,
+                R.xml.modes_rule_settings, null);
+
+        mController = new ZenModeTriggerUpdatePreferenceController(context,
+                "zen_automatic_trigger_settings", mBackend, mPm,
+                mConfigurationActivityHelper, mock(ZenServiceListing.class));
+
+        mPreference = preferenceScreen.findPreference("zen_automatic_trigger_settings");
+
+        when(mPm.getApplicationInfo(any(), anyInt())).then(
+                (Answer<ApplicationInfo>) invocationOnMock -> {
+                    ApplicationInfo appInfo = new ApplicationInfo();
+                    appInfo.packageName = invocationOnMock.getArgument(0);
+                    appInfo.labelRes = 1; // Whatever, but != 0 so that loadLabel calls PM.getText()
+                    return appInfo;
+                });
+        when(mPm.getText(any(), anyInt(), any())).then(
+                (Answer<CharSequence>) invocationOnMock ->
+                        "App named " + invocationOnMock.getArgument(0));
+    }
+
+    @Test
+    public void isAvailable_systemModeNotCustomManual_true() {
+        ZenMode mode = new TestModeBuilder()
+                .setPackage(SystemZenRules.PACKAGE_ANDROID)
+                .setType(TYPE_SCHEDULE_CALENDAR)
+                .build();
+        mController.setZenMode(mode);
+
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void isAvailable_appProvidedMode_true() {
+        ZenMode mode = new TestModeBuilder()
+                .setPackage("com.some.package")
+                .setType(TYPE_OTHER)
+                .build();
+        mController.setZenMode(mode);
+
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void isAvailable_customManualMode_false() {
+        ZenMode mode = new TestModeBuilder()
+                .setConditionId(ZenModeConfig.toCustomManualConditionId())
+                .setPackage(SystemZenRules.PACKAGE_ANDROID)
+                .setType(TYPE_OTHER)
+                .build();
+        mController.setZenMode(mode);
+
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isAvailable_manualDND_false() {
+        mController.setZenMode(TestModeBuilder.MANUAL_DND_INACTIVE);
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void updateState_switchCheckedIfRuleEnabled() {
+        ZenMode zenMode = new TestModeBuilder().setEnabled(false).build();
+
+        // Update preference controller with a zen mode that is not enabled
+        mController.updateZenMode(mPreference, zenMode);
+        assertThat(mPreference.getCheckedState()).isFalse();
+
+        // Now with the rule enabled
+        zenMode.getRule().setEnabled(true);
+        mController.updateZenMode(mPreference, zenMode);
+        assertThat(mPreference.getCheckedState()).isTrue();
+    }
+
+    @Test
+    public void onPreferenceChange_toggleOn_enablesModeAfterConfirmation() {
+        // Start with a disabled mode
+        ZenMode zenMode = new TestModeBuilder().setName("The mode").setEnabled(false).build();
+        mController.updateZenMode(mPreference, zenMode);
+
+        // Flip the switch
+        mPreference.callChangeListener(true);
+        verify(mBackend, never()).updateMode(any());
+
+        AlertDialog confirmDialog = ShadowAlertDialog.getLatestAlertDialog();
+        assertThat(confirmDialog).isNotNull();
+        assertThat(confirmDialog.isShowing()).isTrue();
+        assertThat(((TextView) confirmDialog.findViewById(com.android.internal.R.id.alertTitle))
+                .getText()).isEqualTo("Enable The mode?");
+
+        // Oh wait, I forgot to confirm! Let's do that
+        confirmDialog.getButton(AlertDialog.BUTTON_POSITIVE).performClick();
+        shadowOf(Looper.getMainLooper()).idle();
+
+        // Verify the backend got asked to update the mode to be enabled
+        ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
+        verify(mBackend).updateMode(captor.capture());
+        assertThat(captor.getValue().getRule().isEnabled()).isTrue();
+        assertThat(ShadowAlertDialog.getLatestAlertDialog().isShowing()).isFalse();
+    }
+
+    @Test
+    public void onPreferenceChange_toggleOff_disablesModeAfterConfirmation() {
+        // Start with an enabled mode
+        ZenMode zenMode = new TestModeBuilder().setName("The mode").setEnabled(true).build();
+        mController.updateZenMode(mPreference, zenMode);
+
+        // Flip the switch
+        mPreference.callChangeListener(false);
+        verify(mBackend, never()).updateMode(any());
+
+        AlertDialog confirmDialog = ShadowAlertDialog.getLatestAlertDialog();
+        assertThat(confirmDialog).isNotNull();
+        assertThat(confirmDialog.isShowing()).isTrue();
+        assertThat(((TextView) confirmDialog.findViewById(com.android.internal.R.id.alertTitle))
+                .getText()).isEqualTo("Disable The mode?");
+
+        // Oh wait, I forgot to confirm! Let's do that
+        confirmDialog.getButton(AlertDialog.BUTTON_POSITIVE).performClick();
+        shadowOf(Looper.getMainLooper()).idle();
+
+        // Verify the backend got asked to update the mode to be disabled
+        ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
+        verify(mBackend).updateMode(captor.capture());
+        assertThat(captor.getValue().getRule().isEnabled()).isFalse();
+        assertThat(ShadowAlertDialog.getLatestAlertDialog().isShowing()).isFalse();
+    }
+
+    @Test
+    public void onPreferenceChange_ifPressCancelButton_doesNotUpdateMode() {
+        // Start with a disabled mode
+        ZenMode zenMode = new TestModeBuilder().setEnabled(false).build();
+        mController.updateZenMode(mPreference, zenMode);
+
+        // Flip the switch, then have second thoughts about it
+        mPreference.callChangeListener(true);
+        ShadowAlertDialog.getLatestAlertDialog()
+                .getButton(AlertDialog.BUTTON_NEGATIVE).performClick();
+        shadowOf(Looper.getMainLooper()).idle();
+
+        // Verify nothing changed, and the switch shows the correct (pre-change) value.
+        verify(mBackend, never()).updateMode(any());
+        assertThat(mPreference.isChecked()).isFalse();
+        assertThat(ShadowAlertDialog.getLatestAlertDialog().isShowing()).isFalse();
+    }
+
+    @Test
+    public void onPreferenceChange_ifExitingDialog_doesNotUpdateMode() {
+        // Start with a disabled mode
+        ZenMode zenMode = new TestModeBuilder().setEnabled(false).build();
+        mController.updateZenMode(mPreference, zenMode);
+
+        // Flip the switch, but close the dialog without selecting either button.
+        mPreference.callChangeListener(true);
+        ShadowAlertDialog.getLatestAlertDialog().dismiss();
+        shadowOf(Looper.getMainLooper()).idle();
+
+        // Verify nothing changed, and the switch shows the correct (pre-change) value.
+        verify(mBackend, never()).updateMode(any());
+        assertThat(mPreference.isChecked()).isFalse();
+        assertThat(ShadowAlertDialog.getLatestAlertDialog().isShowing()).isFalse();
+    }
+
+    @Test
+    public void updateState_scheduleCalendarRule() {
+        ZenModeConfig.EventInfo eventInfo = new ZenModeConfig.EventInfo();
+        eventInfo.calendarId = 1L;
+        eventInfo.calName = "My events";
+        ZenMode mode = new TestModeBuilder()
+                .setPackage(SystemZenRules.PACKAGE_ANDROID)
+                .setConditionId(ZenModeConfig.toEventConditionId(eventInfo))
+                .setType(TYPE_SCHEDULE_CALENDAR)
+                .setTriggerDescription("My events")
+                .build();
+
+        mController.updateState(mPreference, mode);
+
+        assertThat(mPreference.isVisible()).isTrue();
+        assertThat(mPreference.getTitle()).isEqualTo("Calendar events");
+        assertThat(mPreference.getSummary()).isEqualTo("My events");
+        // Destination as written into the intent by SubSettingLauncher
+        assertThat(
+                mPreference.getIntent().getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+                .isEqualTo(ZenModeSetCalendarFragment.class.getName());
+    }
+
+    @Test
+    public void updateState_scheduleTimeRule() {
+        ZenModeConfig.ScheduleInfo scheduleInfo = new ZenModeConfig.ScheduleInfo();
+        scheduleInfo.days = new int[]{Calendar.MONDAY, Calendar.TUESDAY, Calendar.THURSDAY};
+        scheduleInfo.startHour = 1;
+        scheduleInfo.endHour = 15;
+        ZenMode mode = new TestModeBuilder()
+                .setConditionId(ZenModeConfig.toScheduleConditionId(scheduleInfo))
+                .setPackage(SystemZenRules.PACKAGE_ANDROID)
+                .setType(TYPE_SCHEDULE_TIME)
+                .setTriggerDescription("some schedule")
+                .build();
+
+        mController.updateState(mPreference, mode);
+
+        assertThat(mPreference.isVisible()).isTrue();
+        assertThat(mPreference.getTitle()).isEqualTo("1:00 AM - 3:00 PM");
+        assertThat(mPreference.getSummary()).isEqualTo("Mon - Tue, Thu");
+        // Destination as written into the intent by SubSettingLauncher
+        assertThat(
+                mPreference.getIntent().getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+                .isEqualTo(ZenModeSetScheduleFragment.class.getName());
+    }
+
+    @Test
+    public void updateState_appWithConfigActivity_showsLinkToConfigActivity() {
+        ZenMode mode = new TestModeBuilder()
+                .setPackage("some.package")
+                .setTriggerDescription("When The Music's Over")
+                .build();
+        Intent configurationIntent = new Intent("configure the mode");
+        when(mConfigurationActivityHelper.getConfigurationActivityIntentForMode(any(), any()))
+                .thenReturn(configurationIntent);
+
+        mController.updateState(mPreference, mode);
+
+        assertThat(mPreference.isVisible()).isTrue();
+        assertThat(mPreference.getTitle()).isEqualTo("App settings");
+        assertThat(mPreference.getSummary()).isEqualTo("When The Music's Over");
+        assertThat(mPreference.getIntent()).isEqualTo(configurationIntent);
+    }
+
+    @Test
+    public void updateState_appWithoutConfigActivity_showsWithoutLinkToConfigActivity() {
+        ZenMode mode = new TestModeBuilder()
+                .setPackage("some.package")
+                .setTriggerDescription("When the saints go marching in")
+                .build();
+        when(mConfigurationActivityHelper.getConfigurationActivityIntentForMode(any(), any()))
+                .thenReturn(null);
+
+        mController.updateState(mPreference, mode);
+
+        assertThat(mPreference.isVisible()).isTrue();
+        assertThat(mPreference.getTitle()).isEqualTo("App settings");
+        assertThat(mPreference.getSummary()).isEqualTo("When the saints go marching in");
+        assertThat(mPreference.getIntent()).isNull();
+    }
+
+    @Test
+    public void updateState_appWithoutTriggerDescriptionWithConfigActivity_showsAppNameInSummary() {
+        ZenMode mode = new TestModeBuilder()
+                .setPackage("some.package")
+                .build();
+        Intent configurationIntent = new Intent("configure the mode");
+        when(mConfigurationActivityHelper.getConfigurationActivityIntentForMode(any(), any()))
+                .thenReturn(configurationIntent);
+        when(mPm.getText(any(), anyInt(), any())).thenReturn("The App Name");
+
+        mController.updateState(mPreference, mode);
+
+        assertThat(mPreference.isVisible()).isTrue();
+        assertThat(mPreference.getTitle()).isEqualTo("App settings");
+        assertThat(mPreference.getSummary()).isEqualTo("Info and settings in The App Name");
+    }
+
+    @Test
+    public void updateState_appWithoutTriggerDescriptionNorConfigActivity_showsAppNameInSummary() {
+        ZenMode mode = new TestModeBuilder()
+                .setPackage("some.package")
+                .build();
+        when(mConfigurationActivityHelper.getConfigurationActivityIntentForMode(any(), any()))
+                .thenReturn(null);
+        when(mPm.getText(any(), anyInt(), any())).thenReturn("The App Name");
+
+        mController.updateState(mPreference, mode);
+
+        assertThat(mPreference.isVisible()).isTrue();
+        assertThat(mPreference.getTitle()).isEqualTo("App settings");
+        assertThat(mPreference.getSummary()).isEqualTo("Managed by The App Name");
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModesBackendTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModesBackendTest.java
deleted file mode 100644
index 9483683..0000000
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModesBackendTest.java
+++ /dev/null
@@ -1,363 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification.modes;
-
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
-import static android.provider.Settings.Global.ZEN_MODE_OFF;
-import static android.service.notification.Condition.SOURCE_UNKNOWN;
-import static android.service.notification.Condition.STATE_FALSE;
-import static android.service.notification.Condition.STATE_TRUE;
-import static android.service.notification.ZenPolicy.STATE_ALLOW;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.junit.Assert.assertThrows;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.AutomaticZenRule;
-import android.app.Flags;
-import android.app.NotificationManager;
-import android.app.NotificationManager.Policy;
-import android.content.Context;
-import android.net.Uri;
-import android.platform.test.annotations.EnableFlags;
-import android.platform.test.flag.junit.SetFlagsRule;
-import android.provider.Settings;
-import android.service.notification.Condition;
-import android.service.notification.ZenAdapters;
-import android.service.notification.ZenDeviceEffects;
-import android.service.notification.ZenModeConfig;
-import android.service.notification.ZenPolicy;
-
-import com.android.settings.R;
-
-import com.google.common.collect.ImmutableMap;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowApplication;
-
-import java.time.Duration;
-import java.util.List;
-
-@RunWith(RobolectricTestRunner.class)
-@EnableFlags(Flags.FLAG_MODES_UI)
-public class ZenModesBackendTest {
-
-    private static final String ZEN_RULE_ID = "rule";
-    private static final AutomaticZenRule ZEN_RULE =
-            new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
-                    .setType(AutomaticZenRule.TYPE_DRIVING)
-                    .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                    .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
-                    .build();
-
-    private static final AutomaticZenRule MANUAL_DND_RULE =
-            new AutomaticZenRule.Builder("Do Not Disturb", Uri.EMPTY)
-                    .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                    .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
-                    .build();
-
-    @Mock
-    private NotificationManager mNm;
-
-    private Context mContext;
-    private ZenModesBackend mBackend;
-
-    @Rule
-    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(
-            SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT);
-
-    // Helper methods to add active/inactive rule state to a config. Returns a copy.
-    private ZenModeConfig configWithManualRule(ZenModeConfig base, boolean active) {
-        ZenModeConfig out = base.copy();
-
-        if (active) {
-            out.manualRule.zenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS;
-            out.manualRule.condition =
-                    new Condition(out.manualRule.conditionId, "", STATE_TRUE, SOURCE_UNKNOWN);
-        } else {
-            out.manualRule.zenMode = ZEN_MODE_OFF;
-            out.manualRule.condition =
-                    new Condition(out.manualRule.conditionId, "", STATE_FALSE, SOURCE_UNKNOWN);
-        }
-        return out;
-    }
-
-    private ZenModeConfig configWithRule(ZenModeConfig base, String ruleId, AutomaticZenRule rule,
-            boolean active) {
-        ZenModeConfig out = base.copy();
-
-        // Note that there are many other fields of zenRule, but here we only set the ones
-        // relevant to determining whether or not it is active.
-        ZenModeConfig.ZenRule zenRule = new ZenModeConfig.ZenRule();
-        zenRule.pkg = "package";
-        zenRule.enabled = active;
-        zenRule.snoozing = false;
-        zenRule.condition = new Condition(rule.getConditionId(), "",
-                active ? Condition.STATE_TRUE : Condition.STATE_FALSE,
-                Condition.SOURCE_USER_ACTION);
-        out.automaticRules.put(ruleId, zenRule);
-
-        return out;
-    }
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
-
-        mContext = RuntimeEnvironment.application;
-        mBackend = new ZenModesBackend(mContext);
-
-        // Default catch-all case with no data. This isn't realistic, but tests below that rely
-        // on the config to get data on rules active will create those individually.
-        when(mNm.getZenModeConfig()).thenReturn(new ZenModeConfig());
-    }
-
-    @Test
-    public void getModes_containsManualDndAndZenRules() {
-        AutomaticZenRule rule2 = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
-                .setType(AutomaticZenRule.TYPE_BEDTIME)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder().disallowAllSounds().build())
-                .build();
-        Policy dndPolicy = new Policy(Policy.PRIORITY_CATEGORY_ALARMS,
-                Policy.PRIORITY_SENDERS_CONTACTS, Policy.PRIORITY_SENDERS_CONTACTS);
-        when(mNm.getAutomaticZenRules()).thenReturn(
-                ImmutableMap.of("rule1", ZEN_RULE, "rule2", rule2));
-        ZenModeConfig config = new ZenModeConfig();
-        config.applyNotificationPolicy(dndPolicy);
-        assertThat(config.manualRule.zenPolicy.getPriorityCategoryAlarms()).isEqualTo(STATE_ALLOW);
-        when(mNm.getZenModeConfig()).thenReturn(config);
-
-        List<ZenMode> modes = mBackend.getModes();
-
-        // all modes exist, but none of them are currently active
-        assertThat(modes).containsExactly(
-                ZenMode.manualDndMode(
-                        new AutomaticZenRule.Builder(
-                                mContext.getString(R.string.zen_mode_settings_title), Uri.EMPTY)
-                                .setType(AutomaticZenRule.TYPE_OTHER)
-                                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                                .setZenPolicy(ZenAdapters.notificationPolicyToZenPolicy(dndPolicy))
-                                .setManualInvocationAllowed(true)
-                                .build(),
-                        false),
-                new ZenMode("rule2", rule2, false),
-                new ZenMode("rule1", ZEN_RULE, false))
-                .inOrder();
-    }
-
-    @Test
-    public void getMode_manualDnd_returnsMode() {
-        Policy dndPolicy = new Policy(Policy.PRIORITY_CATEGORY_ALARMS,
-                Policy.PRIORITY_SENDERS_CONTACTS, Policy.PRIORITY_SENDERS_CONTACTS);
-        ZenModeConfig config = new ZenModeConfig();
-        config.applyNotificationPolicy(dndPolicy);
-        when(mNm.getZenModeConfig()).thenReturn(config);
-
-        ZenMode mode = mBackend.getMode(ZenMode.MANUAL_DND_MODE_ID);
-
-        assertThat(mode).isEqualTo(
-                ZenMode.manualDndMode(
-                        new AutomaticZenRule.Builder(
-                                mContext.getString(R.string.zen_mode_settings_title), Uri.EMPTY)
-                                .setType(AutomaticZenRule.TYPE_OTHER)
-                                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                                .setZenPolicy(ZenAdapters.notificationPolicyToZenPolicy(dndPolicy))
-                                .setManualInvocationAllowed(true)
-                                .build(), false));
-    }
-
-    @Test
-    public void getMode_zenRule_returnsMode() {
-        when(mNm.getAutomaticZenRule(eq(ZEN_RULE_ID))).thenReturn(ZEN_RULE);
-
-        ZenMode mode = mBackend.getMode(ZEN_RULE_ID);
-
-        assertThat(mode).isEqualTo(new ZenMode(ZEN_RULE_ID, ZEN_RULE, false));
-    }
-
-    @Test
-    public void getMode_missingRule_returnsNull() {
-        when(mNm.getAutomaticZenRule(any())).thenReturn(null);
-
-        ZenMode mode = mBackend.getMode(ZEN_RULE_ID);
-
-        assertThat(mode).isNull();
-        verify(mNm).getAutomaticZenRule(eq(ZEN_RULE_ID));
-    }
-
-    @Test
-    public void getMode_manualDnd_returnsCorrectActiveState() {
-        // Set up a base config with an active rule to make sure we're looking at the correct info
-        ZenModeConfig configWithActiveRule = configWithRule(new ZenModeConfig(), ZEN_RULE_ID,
-                ZEN_RULE, true);
-
-        // Equivalent to disallowAllSounds()
-        Policy dndPolicy = new Policy(0, 0, 0);
-        configWithActiveRule.applyNotificationPolicy(dndPolicy);
-        when(mNm.getZenModeConfig()).thenReturn(configWithActiveRule);
-
-        ZenMode mode = mBackend.getMode(ZenMode.MANUAL_DND_MODE_ID);
-
-        // By default, manual rule is inactive
-        assertThat(mode.isActive()).isFalse();
-
-        // Now the returned config will represent the manual rule being active
-        when(mNm.getZenModeConfig()).thenReturn(configWithManualRule(configWithActiveRule, true));
-        ZenMode activeMode = mBackend.getMode(ZenMode.MANUAL_DND_MODE_ID);
-        assertThat(activeMode.isActive()).isTrue();
-    }
-
-    @Test
-    public void getMode_zenRule_returnsCorrectActiveState() {
-        // Set up a base config that has an active manual rule and "rule2", to make sure we're
-        // looking at the correct rule's info.
-        ZenModeConfig configWithActiveRules = configWithRule(
-                configWithManualRule(new ZenModeConfig(), true),  // active manual rule
-                "rule2", ZEN_RULE, true);  // active rule 2
-
-        when(mNm.getAutomaticZenRule(eq(ZEN_RULE_ID))).thenReturn(ZEN_RULE);
-        when(mNm.getZenModeConfig()).thenReturn(
-                configWithRule(configWithActiveRules, ZEN_RULE_ID, ZEN_RULE, false));
-
-        // Round 1: the current config should indicate that the rule is not active
-        ZenMode mode = mBackend.getMode(ZEN_RULE_ID);
-        assertThat(mode.isActive()).isFalse();
-
-        when(mNm.getZenModeConfig()).thenReturn(
-                configWithRule(configWithActiveRules, ZEN_RULE_ID, ZEN_RULE, true));
-        ZenMode activeMode = mBackend.getMode(ZEN_RULE_ID);
-        assertThat(activeMode.isActive()).isTrue();
-    }
-
-    @Test
-    public void updateMode_manualDnd_setsDeviceEffects() throws Exception {
-        ZenMode manualDnd = ZenMode.manualDndMode(
-                new AutomaticZenRule.Builder("DND", Uri.EMPTY)
-                        .setZenPolicy(new ZenPolicy())
-                        .setDeviceEffects(new ZenDeviceEffects.Builder()
-                                .setShouldDimWallpaper(true)
-                                .build())
-                        .build(), false);
-
-        mBackend.updateMode(manualDnd);
-
-        verify(mNm).setManualZenRuleDeviceEffects(new ZenDeviceEffects.Builder()
-                .setShouldDimWallpaper(true)
-                .build());
-    }
-
-    @Test
-    public void updateMode_manualDnd_setsNotificationPolicy() {
-        ZenMode manualDnd = ZenMode.manualDndMode(
-                new AutomaticZenRule.Builder("DND", Uri.EMPTY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
-                        .build(), false);
-
-        mBackend.updateMode(manualDnd);
-
-        verify(mNm).setNotificationPolicy(eq(new ZenModeConfig().toNotificationPolicy(
-                new ZenPolicy.Builder().allowAllSounds().build())), eq(true));
-    }
-
-    @Test
-    public void updateMode_zenRule_updatesRule() {
-        ZenMode ruleMode = new ZenMode("rule", ZEN_RULE, false);
-
-        mBackend.updateMode(ruleMode);
-
-        verify(mNm).updateAutomaticZenRule(eq("rule"), eq(ZEN_RULE), eq(true));
-    }
-
-    @Test
-    public void activateMode_manualDnd_setsZenModeImportant() {
-        mBackend.activateMode(ZenMode.manualDndMode(MANUAL_DND_RULE, false), null);
-
-        verify(mNm).setZenMode(eq(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS), eq(null),
-                any(), eq(true));
-    }
-
-    @Test
-    public void activateMode_manualDndWithDuration_setsZenModeImportantWithCondition() {
-        mBackend.activateMode(ZenMode.manualDndMode(MANUAL_DND_RULE, false),
-                Duration.ofMinutes(30));
-
-        verify(mNm).setZenMode(eq(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS),
-                eq(ZenModeConfig.toTimeCondition(mContext, 30, 0, true).id),
-                any(),
-                eq(true));
-    }
-
-    @Test
-    public void activateMode_zenRule_setsRuleStateActive() {
-        mBackend.activateMode(new ZenMode(ZEN_RULE_ID, ZEN_RULE, false), null);
-
-        verify(mNm).setAutomaticZenRuleState(eq(ZEN_RULE_ID),
-                eq(new Condition(ZEN_RULE.getConditionId(), "", Condition.STATE_TRUE,
-                        Condition.SOURCE_USER_ACTION)));
-    }
-
-    @Test
-    public void activateMode_zenRuleWithDuration_fails() {
-        assertThrows(IllegalArgumentException.class,
-                () -> mBackend.activateMode(new ZenMode(ZEN_RULE_ID, ZEN_RULE, false),
-                        Duration.ofMinutes(30)));
-    }
-
-    @Test
-    public void deactivateMode_manualDnd_setsZenModeOff() {
-        mBackend.deactivateMode(ZenMode.manualDndMode(MANUAL_DND_RULE, true));
-
-        verify(mNm).setZenMode(eq(ZEN_MODE_OFF), eq(null), any(), eq(true));
-    }
-
-    @Test
-    public void deactivateMode_zenRule_setsRuleStateInactive() {
-        mBackend.deactivateMode(new ZenMode(ZEN_RULE_ID, ZEN_RULE, false));
-
-        verify(mNm).setAutomaticZenRuleState(eq(ZEN_RULE_ID),
-                eq(new Condition(ZEN_RULE.getConditionId(), "", Condition.STATE_FALSE,
-                        Condition.SOURCE_USER_ACTION)));
-    }
-
-    @Test
-    public void removeMode_zenRule_deletesRule() {
-        mBackend.removeMode(new ZenMode(ZEN_RULE_ID, ZEN_RULE, false));
-
-        verify(mNm).removeAutomaticZenRule(ZEN_RULE_ID, true);
-    }
-
-    @Test
-    public void removeMode_manualDnd_fails() {
-        assertThrows(IllegalArgumentException.class,
-                () -> mBackend.removeMode(ZenMode.manualDndMode(MANUAL_DND_RULE, false)));
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModesListAddModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModesListAddModePreferenceControllerTest.java
new file mode 100644
index 0000000..2db9171
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModesListAddModePreferenceControllerTest.java
@@ -0,0 +1,233 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static android.app.NotificationManager.META_DATA_AUTOMATIC_RULE_TYPE;
+import static android.app.NotificationManager.META_DATA_RULE_INSTANCE_LIMIT;
+
+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.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.Flags;
+import android.app.NotificationManager;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.pm.ActivityInfo;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.ComponentInfo;
+import android.content.pm.PackageManager;
+import android.graphics.drawable.ColorDrawable;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import com.android.settings.notification.modes.ZenModesListAddModePreferenceController.ModeType;
+
+import com.google.common.collect.ImmutableSet;
+import com.google.common.util.concurrent.MoreExecutors;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.stubbing.Answer;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+import java.util.List;
+import java.util.function.Function;
+
+@RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
+public class ZenModesListAddModePreferenceControllerTest {
+
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    private Context mContext;
+    private ZenModesListAddModePreferenceController mController;
+
+    @Mock private ZenModesListAddModePreferenceController.OnAddModeListener mListener;
+    @Mock private ZenServiceListing mZenServiceListing;
+    @Mock private ConfigurationActivityHelper mConfigurationActivityHelper;
+    @Mock private NotificationManager mNm;
+    @Mock private PackageManager mPm;
+
+    @Captor private ArgumentCaptor<List<ModeType>> mListenerCaptor;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.getApplication();
+        Function<ApplicationInfo, Drawable> appIconRetriever = appInfo -> new ColorDrawable();
+
+        mController = new ZenModesListAddModePreferenceController(mContext, mListener,
+                mZenServiceListing, mConfigurationActivityHelper, mNm, mPm, appIconRetriever,
+                MoreExecutors.newDirectExecutorService(), MoreExecutors.directExecutor());
+
+        when(mConfigurationActivityHelper.getConfigurationActivityFromApprovedComponent(any()))
+                .thenAnswer((Answer<ComponentName>) invocationOnMock -> {
+                    // By default, assume the ComponentInfo is also the configurationActivity.
+                    ComponentInfo ci = invocationOnMock.getArgument(0);
+                    return ci != null ? ci.getComponentName() : null;
+                });
+    }
+
+    @Test
+    public void onClickAddMode_noAppProviders_onlyOptionIsCustom() {
+        when(mZenServiceListing.loadApprovedComponents()).thenReturn(ImmutableSet.of());
+
+        mController.onClickAddMode();
+
+        verify(mListener).onAvailableModeTypesForAdd(mListenerCaptor.capture());
+        List<ModeType> options = mListenerCaptor.getValue();
+        assertThat(options).hasSize(1);
+        assertThat(options.get(0).name()).isEqualTo("Custom");
+        assertThat(options.get(0).summary()).isNull();
+        assertThat(options.get(0).icon()).isNotNull();
+        assertThat(options.get(0).creationActivityIntent()).isNull();
+    }
+
+    @Test
+    public void onClickAddMode_someAppProviders_includedInOptions() {
+        ImmutableSet<ComponentInfo> approvedComponents = ImmutableSet.of(
+                newComponentInfoWithValidMetadata("pkg1"),
+                newComponentInfoWithValidMetadata("pkg2"));
+        when(mZenServiceListing.loadApprovedComponents()).thenReturn(approvedComponents);
+
+        mController.onClickAddMode();
+
+        verify(mListener).onAvailableModeTypesForAdd(mListenerCaptor.capture());
+        List<ModeType> options = mListenerCaptor.getValue();
+        assertThat(options).hasSize(3);
+
+        assertThat(options.get(1).name()).isEqualTo("Rule by pkg1");
+        assertThat(options.get(1).summary()).isEqualTo("A package called pkg1");
+        assertThat(options.get(1).icon()).isNotNull();
+        assertThat(options.get(1).creationActivityIntent()).isNotNull();
+        assertThat(options.get(1).creationActivityIntent().getComponent()).isEqualTo(
+                new ComponentName("pkg1", "pkg1.activity"));
+
+        assertThat(options.get(0).name()).isEqualTo("Custom");
+        assertThat(options.get(2).name()).isEqualTo("Rule by pkg2");
+    }
+
+    @Test
+    public void onClickAddMode_someAppProviders_optionsAreSorted() {
+        ImmutableSet<ComponentInfo> approvedComponents = ImmutableSet.of(
+                newComponentInfoWithValidMetadata("pkg_Z"),
+                newComponentInfoWithValidMetadata("pkg_A"),
+                newComponentInfoWithValidMetadata("pkg_F"),
+                newComponentInfoWithValidMetadata("pkg_C"));
+        when(mZenServiceListing.loadApprovedComponents()).thenReturn(approvedComponents);
+
+        mController.onClickAddMode();
+
+        verify(mListener).onAvailableModeTypesForAdd(mListenerCaptor.capture());
+        List<ModeType> options = mListenerCaptor.getValue();
+        assertThat(options).hasSize(5);
+        assertThat(options.stream().map(o -> o.name()).toList())
+                .containsExactly("Custom", "Rule by pkg_A", "Rule by pkg_C", "Rule by pkg_F",
+                        "Rule by pkg_Z")
+                .inOrder();
+    }
+
+    @Test
+    public void onClickAddMode_appProviderWithMissingMetadata_notAnOption() {
+        ComponentInfo componentWithoutRuleType = newComponentInfoWithValidMetadata("pkg1");
+        componentWithoutRuleType.metaData.remove(META_DATA_AUTOMATIC_RULE_TYPE);
+        ImmutableSet<ComponentInfo> approvedComponents = ImmutableSet.of(
+                componentWithoutRuleType, newComponentInfoWithValidMetadata("pkg2"));
+        when(mZenServiceListing.loadApprovedComponents()).thenReturn(approvedComponents);
+
+        mController.onClickAddMode();
+
+        verify(mListener).onAvailableModeTypesForAdd(mListenerCaptor.capture());
+        List<ModeType> options = mListenerCaptor.getValue();
+        assertThat(options).hasSize(2);
+        assertThat(options.get(0).name()).isEqualTo("Custom");
+        assertThat(options.get(1).name()).isEqualTo("Rule by pkg2");
+    }
+
+    @Test
+    public void onClickAddMode_appProviderWithRuleLimitExceeded_notAnOption() {
+        ComponentInfo componentWithLimitThreeRules = newComponentInfoWithValidMetadata("pkg1");
+        componentWithLimitThreeRules.metaData.putInt(META_DATA_RULE_INSTANCE_LIMIT, 3);
+        ImmutableSet<ComponentInfo> approvedComponents = ImmutableSet.of(
+                componentWithLimitThreeRules, newComponentInfoWithValidMetadata("pkg2"));
+        when(mZenServiceListing.loadApprovedComponents()).thenReturn(approvedComponents);
+        when(mNm.getRuleInstanceCount(any())).thenReturn(3); // Already 3 created rules.
+
+        mController.onClickAddMode();
+
+        verify(mListener).onAvailableModeTypesForAdd(mListenerCaptor.capture());
+        List<ModeType> options = mListenerCaptor.getValue();
+        assertThat(options).hasSize(2);
+        assertThat(options.get(0).name()).isEqualTo("Custom");
+        assertThat(options.get(1).name()).isEqualTo("Rule by pkg2");
+        verify(mNm).getRuleInstanceCount(eq(componentWithLimitThreeRules.getComponentName()));
+    }
+
+    @Test
+    public void onClickAddMode_appProviderWithoutConfigurationActivity_notAnOption() {
+        ComponentInfo componentWithoutConfigActivity = newComponentInfoWithValidMetadata("pkg2");
+        ImmutableSet<ComponentInfo> approvedComponents = ImmutableSet.of(
+                newComponentInfoWithValidMetadata("pkg1"), componentWithoutConfigActivity);
+        when(mZenServiceListing.loadApprovedComponents()).thenReturn(approvedComponents);
+        when(mConfigurationActivityHelper.getConfigurationActivityFromApprovedComponent(any()))
+                .thenAnswer((Answer<ComponentName>) invocationOnMock -> {
+                    ComponentInfo ci = invocationOnMock.getArgument(0);
+                    if (ci == componentWithoutConfigActivity) {
+                        return null;
+                    } else {
+                        return ci.getComponentName();
+                    }
+                });
+
+        mController.onClickAddMode();
+
+        verify(mListener).onAvailableModeTypesForAdd(mListenerCaptor.capture());
+        List<ModeType> options = mListenerCaptor.getValue();
+        assertThat(options).hasSize(2);
+        assertThat(options.get(0).name()).isEqualTo("Custom");
+        assertThat(options.get(1).name()).isEqualTo("Rule by pkg1");
+    }
+
+    private ComponentInfo newComponentInfoWithValidMetadata(String pkg) {
+        ComponentInfo ci = new ActivityInfo();
+
+        ci.applicationInfo = mock(ApplicationInfo.class);
+        when(ci.applicationInfo.loadLabel(any())).thenReturn("A package called " + pkg);
+        when(ci.applicationInfo.loadUnbadgedIcon(any())).thenReturn(new ColorDrawable());
+        ci.packageName = pkg;
+        ci.name = pkg + ".activity";
+        ci.metaData = new Bundle();
+        ci.metaData.putString(META_DATA_AUTOMATIC_RULE_TYPE, "Rule by " + pkg);
+
+        return ci;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModesListFragmentTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModesListFragmentTest.java
new file mode 100644
index 0000000..5bf7f05
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModesListFragmentTest.java
@@ -0,0 +1,170 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
+
+import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT;
+import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS;
+import static com.android.settings.notification.modes.ZenModesListFragment.REQUEST_NEW_MODE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.when;
+import static org.robolectric.Shadows.shadowOf;
+
+import android.app.Flags;
+import android.content.ComponentName;
+import android.content.Intent;
+import android.graphics.drawable.ColorDrawable;
+import android.os.Bundle;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.fragment.app.FragmentActivity;
+import androidx.fragment.app.testing.EmptyFragmentActivity;
+import androidx.test.ext.junit.rules.ActivityScenarioRule;
+
+import com.android.settings.notification.modes.ZenModesListAddModePreferenceController.ModeType;
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+import com.google.common.collect.ImmutableList;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.shadows.ShadowActivity.IntentForResult;
+
+@RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
+public class ZenModesListFragmentTest {
+
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    private static final ModeType APP_PROVIDED_MODE_TYPE = new ModeType("Mode", new ColorDrawable(),
+            "Details", new Intent().setComponent(new ComponentName("pkg", "configActivity")));
+
+    private static final ModeType CUSTOM_MANUAL_TYPE = new ModeType("Custom", new ColorDrawable(),
+            null, null); // null creationActivityIntent means custom_manual.
+
+    private static final ImmutableList<ZenMode> EXISTING_MODES = ImmutableList.of(
+            new TestModeBuilder().setId("A").build(),
+            new TestModeBuilder().setId("B").build(),
+            new TestModeBuilder().setId("C").build());
+
+    @Rule
+    public ActivityScenarioRule<EmptyFragmentActivity> mActivityScenario =
+            new ActivityScenarioRule<>(EmptyFragmentActivity.class);
+
+    private FragmentActivity mActivity;
+    private ZenModesListFragment mFragment;
+    @Mock private ZenModesBackend mBackend;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ZenModesBackend.setInstance(mBackend);
+
+        mFragment = new ZenModesListFragment();
+        mActivityScenario.getScenario().onActivity(activity -> {
+            activity.getSupportFragmentManager().beginTransaction()
+                    .add(mFragment, "tag").commitNow();
+            mActivity = activity;
+        });
+    }
+
+    @Test
+    public void onChosenModeTypeForAdd_appProvidedMode_startsCreationActivity() {
+        when(mBackend.getModes()).thenReturn(EXISTING_MODES);
+
+        mFragment.onChosenModeTypeForAdd(APP_PROVIDED_MODE_TYPE);
+
+        IntentForResult intent = shadowOf(mActivity).getNextStartedActivityForResult();
+        assertThat(intent).isNotNull();
+        assertThat(intent.intent).isEqualTo(APP_PROVIDED_MODE_TYPE.creationActivityIntent());
+    }
+
+    @Test
+    public void onChosenModeTypeForAdd_customManualMode_startsNameAndIconPicker() {
+        mFragment.onChosenModeTypeForAdd(CUSTOM_MANUAL_TYPE);
+
+        Intent nextIntent = shadowOf(mActivity).getNextStartedActivity();
+        assertThat(nextIntent).isNotNull();
+        assertThat(nextIntent.getStringExtra(EXTRA_SHOW_FRAGMENT))
+                .isEqualTo(ZenModeNewCustomFragment.class.getName());
+    }
+
+    @Test
+    public void onActivityResult_modeWasCreated_opensIt() {
+        when(mBackend.getModes()).thenReturn(EXISTING_MODES);
+        mFragment.onChosenModeTypeForAdd(APP_PROVIDED_MODE_TYPE);
+
+        // App creates the new mode.
+        ZenMode createdMode = new TestModeBuilder().setId("new_id").setPackage("pkg").build();
+        when(mBackend.getModes()).thenReturn(new ImmutableList.Builder<ZenMode>()
+                .addAll(EXISTING_MODES)
+                .add(createdMode)
+                .build());
+        mFragment.onActivityResult(REQUEST_NEW_MODE, 0, new Intent());
+
+        Intent openModePageIntent = shadowOf(mActivity).getNextStartedActivity();
+        assertThat(openModePageIntent.getStringExtra(EXTRA_SHOW_FRAGMENT))
+                .isEqualTo(ZenModeFragment.class.getName());
+        Bundle fragmentArgs = openModePageIntent.getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS);
+        assertThat(fragmentArgs).isNotNull();
+        assertThat(fragmentArgs.getString(EXTRA_AUTOMATIC_ZEN_RULE_ID)).isEqualTo("new_id");
+    }
+
+    @Test
+    public void onActivityResult_secondTime_doesNothing() {
+        when(mBackend.getModes()).thenReturn(EXISTING_MODES);
+        mFragment.onChosenModeTypeForAdd(APP_PROVIDED_MODE_TYPE);
+        // App creates a new mode, we redirect to its page when coming back.
+        ZenMode createdMode = new TestModeBuilder().setId("new_id").setPackage("pkg").build();
+        when(mBackend.getModes()).thenReturn(new ImmutableList.Builder<ZenMode>()
+                .addAll(EXISTING_MODES)
+                .add(createdMode)
+                .build());
+        mFragment.onActivityResult(REQUEST_NEW_MODE, 0, new Intent());
+        shadowOf(mActivity).clearNextStartedActivities();
+
+        mFragment.onActivityResult(REQUEST_NEW_MODE, 0, new Intent());
+
+        Intent nextIntent = shadowOf(mActivity).getNextStartedActivity();
+        assertThat(nextIntent).isNull();
+    }
+
+    @Test
+    public void onActivityResult_modeWasNotCreated_doesNothing() {
+        when(mBackend.getModes()).thenReturn(EXISTING_MODES);
+        mFragment.onChosenModeTypeForAdd(APP_PROVIDED_MODE_TYPE);
+        shadowOf(mActivity).clearNextStartedActivities();
+
+        // Returning to settings without creating a new mode.
+        mFragment.onActivityResult(REQUEST_NEW_MODE, 0, new Intent());
+
+        Intent nextIntent = shadowOf(mActivity).getNextStartedActivity();
+        assertThat(nextIntent).isNull();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModesListItemPreferenceTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModesListItemPreferenceTest.java
new file mode 100644
index 0000000..3722e41
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModesListItemPreferenceTest.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.app.Flags;
+import android.content.Context;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenIconLoader;
+import com.android.settingslib.notification.modes.ZenMode;
+
+import com.google.common.util.concurrent.MoreExecutors;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
+public class ZenModesListItemPreferenceTest {
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    private Context mContext;
+    private final ZenIconLoader mIconLoader = new ZenIconLoader(
+            MoreExecutors.newDirectExecutorService());
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+    }
+
+    @Test
+    public void constructor_setsMode() {
+        ZenModesListItemPreference preference = newPreference(TestModeBuilder.EXAMPLE);
+
+        assertThat(preference.getKey()).isEqualTo(TestModeBuilder.EXAMPLE.getId());
+        assertThat(preference.getZenMode()).isEqualTo(TestModeBuilder.EXAMPLE);
+    }
+
+    @Test
+    public void setZenMode_modeEnabled() {
+        ZenMode mode = new TestModeBuilder()
+                .setName("Enabled mode")
+                .setTriggerDescription("When the thrush knocks")
+                .setEnabled(true)
+                .build();
+
+        ZenModesListItemPreference preference = newPreference(mode);
+
+        assertThat(preference.getTitle()).isEqualTo("Enabled mode");
+        assertThat(preference.getSummary()).isEqualTo("When the thrush knocks");
+        assertThat(preference.getIcon()).isNotNull();
+    }
+
+    @Test
+    public void setZenMode_modeActive() {
+        ZenMode mode = new TestModeBuilder()
+                .setName("Active mode")
+                .setTriggerDescription("When Birnam forest comes to Dunsinane")
+                .setEnabled(true)
+                .setActive(true)
+                .build();
+
+        ZenModesListItemPreference preference = newPreference(mode);
+
+        assertThat(preference.getTitle()).isEqualTo("Active mode");
+        assertThat(preference.getSummary()).isEqualTo("ON • When Birnam forest comes to Dunsinane");
+        assertThat(preference.getIcon()).isNotNull();
+    }
+
+    @Test
+    public void setZenMode_modeDisabledByApp() {
+        ZenMode mode = new TestModeBuilder()
+                .setName("Mode disabled by app")
+                .setTriggerDescription("When the cat's away")
+                .setEnabled(false, /* byUser= */ false)
+                .build();
+
+        ZenModesListItemPreference preference = newPreference(mode);
+
+        assertThat(preference.getTitle()).isEqualTo("Mode disabled by app");
+        assertThat(preference.getSummary()).isEqualTo("Not set");
+        assertThat(preference.getIcon()).isNotNull();
+    }
+
+    @Test
+    public void setZenMode_modeDisabledByUser() {
+        ZenMode mode = new TestModeBuilder()
+                .setName("Mode disabled by user")
+                .setTriggerDescription("When the Levee Breaks")
+                .setEnabled(false, /* byUser= */ true)
+                .build();
+
+        ZenModesListItemPreference preference = newPreference(mode);
+
+        assertThat(preference.getTitle()).isEqualTo("Mode disabled by user");
+        assertThat(preference.getSummary()).isEqualTo("Disabled");
+        assertThat(preference.getIcon()).isNotNull();
+    }
+
+    private ZenModesListItemPreference newPreference(ZenMode zenMode) {
+        return new ZenModesListItemPreference(mContext, mIconLoader, MoreExecutors.directExecutor(),
+                zenMode);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModesListPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModesListPreferenceControllerTest.java
index 9a4de60..69568ce 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModesListPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModesListPreferenceControllerTest.java
@@ -18,6 +18,8 @@
 
 import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
 
+import static com.android.settingslib.notification.modes.TestModeBuilder.MANUAL_DND_INACTIVE;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.when;
@@ -37,9 +39,14 @@
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 
+import com.android.settingslib.notification.modes.TestModeBuilder;
+import com.android.settingslib.notification.modes.ZenIconLoader;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
 import com.android.settingslib.search.SearchIndexableRaw;
 
 import com.google.common.collect.ImmutableList;
+import com.google.common.util.concurrent.MoreExecutors;
 
 import org.junit.Before;
 import org.junit.Rule;
@@ -58,21 +65,15 @@
 public class ZenModesListPreferenceControllerTest {
     private static final String TEST_MODE_ID = "test_mode";
     private static final String TEST_MODE_NAME = "Test Mode";
-    private static final ZenMode TEST_MODE = new ZenMode(
-            TEST_MODE_ID,
-            new AutomaticZenRule.Builder(TEST_MODE_NAME, Uri.parse("test_uri"))
+
+    private static final ZenMode TEST_MODE = new TestModeBuilder()
+            .setId(TEST_MODE_ID)
+            .setAzr(new AutomaticZenRule.Builder(TEST_MODE_NAME, Uri.parse("test_uri"))
                     .setType(AutomaticZenRule.TYPE_BEDTIME)
                     .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
                     .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
-                    .build(),
-            false);
-
-    private static final ZenMode TEST_MANUAL_MODE = ZenMode.manualDndMode(
-            new AutomaticZenRule.Builder("Do Not Disturb", Uri.EMPTY)
-                    .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                    .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
-                    .build(),
-            false);
+                    .build())
+            .build();
 
     @Rule
     public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(
@@ -96,7 +97,8 @@
         PreferenceScreen preferenceScreen = preferenceManager.createPreferenceScreen(mContext);
         preferenceScreen.addPreference(mPreference);
 
-        mPrefController = new ZenModesListPreferenceController(mContext, null, mBackend);
+        mPrefController = new ZenModesListPreferenceController(mContext, mBackend,
+                new ZenIconLoader(MoreExecutors.newDirectExecutorService()));
     }
 
     @Test
@@ -110,14 +112,9 @@
 
         assertThat(mPreference.getPreferenceCount()).isEqualTo(5);
         List<ZenModesListItemPreference> itemPreferences = getModeListItems(mPreference);
-        assertThat(itemPreferences.stream().map(pref -> pref.mZenMode).toList())
+        assertThat(itemPreferences.stream().map(ZenModesListItemPreference::getZenMode).toList())
                 .containsExactlyElementsIn(modes)
                 .inOrder();
-
-        for (int i = 0; i < modes.size(); i++) {
-            assertThat(((ZenModesListItemPreference) (mPreference.getPreference(i))).mZenMode)
-                    .isEqualTo(modes.get(i));
-        }
     }
 
     @Test
@@ -138,7 +135,7 @@
         mPrefController.updateState(mPreference);
 
         List<ZenModesListItemPreference> newPreferences = getModeListItems(mPreference);
-        assertThat(newPreferences.stream().map(pref -> pref.mZenMode).toList())
+        assertThat(newPreferences.stream().map(ZenModesListItemPreference::getZenMode).toList())
                 .containsExactlyElementsIn(updatedModes)
                 .inOrder();
 
@@ -153,7 +150,7 @@
     @DisableFlags(Flags.FLAG_MODES_UI)
     public void testModesUiOff_notAvailableAndNoSearchData() {
         // There exist modes
-        when(mBackend.getModes()).thenReturn(List.of(TEST_MANUAL_MODE, TEST_MODE));
+        when(mBackend.getModes()).thenReturn(List.of(MANUAL_DND_INACTIVE, TEST_MODE));
 
         assertThat(mPrefController.isAvailable()).isFalse();
         List<SearchIndexableRaw> data = new ArrayList<>();
@@ -188,20 +185,20 @@
 
         // Changing mode data so there's a different one mode doesn't keep any previous data
         // (and setting that state up in the caller)
-        when(mBackend.getModes()).thenReturn(List.of(TEST_MANUAL_MODE));
+        when(mBackend.getModes()).thenReturn(List.of(MANUAL_DND_INACTIVE));
         List<SearchIndexableRaw> newData = new ArrayList<>();
         mPrefController.updateDynamicRawDataToIndex(newData);
         assertThat(newData).hasSize(1);
 
         SearchIndexableRaw newItem = newData.get(0);
-        assertThat(newItem.key).isEqualTo(ZenMode.MANUAL_DND_MODE_ID);
+        assertThat(newItem.key).isEqualTo(MANUAL_DND_INACTIVE.getId());
         assertThat(newItem.title).isEqualTo("Do Not Disturb");  // set above
     }
 
     @Test
     @EnableFlags(Flags.FLAG_MODES_UI)
     public void testUpdateDynamicRawDataToIndex_multipleModes() {
-        when(mBackend.getModes()).thenReturn(List.of(TEST_MANUAL_MODE, TEST_MODE));
+        when(mBackend.getModes()).thenReturn(List.of(MANUAL_DND_INACTIVE, TEST_MODE));
 
         List<SearchIndexableRaw> data = new ArrayList<>();
         mPrefController.updateDynamicRawDataToIndex(data);
@@ -209,7 +206,7 @@
 
         // Should keep the order presented by getModes()
         SearchIndexableRaw item0 = data.get(0);
-        assertThat(item0.key).isEqualTo(ZenMode.MANUAL_DND_MODE_ID);
+        assertThat(item0.key).isEqualTo(MANUAL_DND_INACTIVE.getId());
         assertThat(item0.title).isEqualTo("Do Not Disturb");  // set above
 
         SearchIndexableRaw item1 = data.get(1);
@@ -218,13 +215,7 @@
     }
 
     private static ZenMode newMode(String id) {
-        return new ZenMode(
-                id,
-                new AutomaticZenRule.Builder("Mode " + id, Uri.parse("test_uri"))
-                        .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                        .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
-                        .build(),
-                false);
+        return new TestModeBuilder().setId(id).setName("Mode " + id).build();
     }
 
     /**
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModesSummaryHelperTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModesSummaryHelperTest.java
deleted file mode 100644
index ef8290a..0000000
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModesSummaryHelperTest.java
+++ /dev/null
@@ -1,428 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification.modes;
-
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-import static android.service.notification.ZenPolicy.CONVERSATION_SENDERS_ANYONE;
-import static android.service.notification.ZenPolicy.PEOPLE_TYPE_ANYONE;
-import static android.service.notification.ZenPolicy.PEOPLE_TYPE_CONTACTS;
-import static android.service.notification.ZenPolicy.VISUAL_EFFECT_AMBIENT;
-import static android.service.notification.ZenPolicy.VISUAL_EFFECT_LIGHTS;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.app.AutomaticZenRule;
-import android.content.Context;
-import android.net.Uri;
-import android.service.notification.ZenDeviceEffects;
-import android.service.notification.ZenPolicy;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-import java.util.LinkedHashSet;
-import java.util.Set;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModesSummaryHelperTest {
-    private Context mContext;
-    private ZenModesBackend mBackend;
-
-    private ZenModeSummaryHelper mSummaryHelper;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mBackend = new ZenModesBackend(mContext);
-        mSummaryHelper = new ZenModeSummaryHelper(mContext, mBackend);
-    }
-
-    @Test
-    public void getPeopleSummary_noOne() {
-        AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
-                .setType(AutomaticZenRule.TYPE_BEDTIME)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder().disallowAllSounds().build())
-                .build();
-        ZenMode zenMode = new ZenMode("id", rule, true);
-
-        assertThat(mSummaryHelper.getPeopleSummary(zenMode)).isEqualTo("No one can interrupt");
-    }
-
-    @Test
-    public void getPeopleSummary_some() {
-        AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
-                .setType(AutomaticZenRule.TYPE_BEDTIME)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder().allowCalls(PEOPLE_TYPE_CONTACTS).build())
-                .build();
-        ZenMode zenMode = new ZenMode("id", rule, true);
-
-        assertThat(mSummaryHelper.getPeopleSummary(zenMode)).isEqualTo("Some people can interrupt");
-    }
-
-    @Test
-    public void getPeopleSummary_all() {
-        AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
-                .setType(AutomaticZenRule.TYPE_BEDTIME)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder().allowCalls(PEOPLE_TYPE_ANYONE).
-                        allowConversations(CONVERSATION_SENDERS_ANYONE)
-                        .allowMessages(PEOPLE_TYPE_ANYONE).build())
-                .build();
-        ZenMode zenMode = new ZenMode("id", rule, true);
-
-        assertThat(mSummaryHelper.getPeopleSummary(zenMode)).isEqualTo("All people can interrupt");
-    }
-
-    @Test
-    public void getOtherSoundCategoriesSummary_single() {
-        AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
-                .setType(AutomaticZenRule.TYPE_BEDTIME)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder().allowAlarms(true).build())
-                .build();
-        ZenMode zenMode = new ZenMode("id", rule, true);
-
-        assertThat(mSummaryHelper.getOtherSoundCategoriesSummary(zenMode)).isEqualTo(
-                "Alarms can interrupt");
-    }
-
-    @Test
-    public void getOtherSoundCategoriesSummary_duo() {
-        AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
-                .setType(AutomaticZenRule.TYPE_BEDTIME)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder().allowAlarms(true).allowMedia(true).build())
-                .build();
-        ZenMode zenMode = new ZenMode("id", rule, true);
-
-        assertThat(mSummaryHelper.getOtherSoundCategoriesSummary(zenMode)).isEqualTo(
-                "Alarms and media can interrupt");
-    }
-
-    @Test
-    public void getOtherSoundCategoriesSummary_trio() {
-        AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
-                .setType(AutomaticZenRule.TYPE_BEDTIME)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder()
-                        .allowAlarms(true)
-                        .allowMedia(true)
-                        .allowSystem(true)
-                        .build())
-                .build();
-        ZenMode zenMode = new ZenMode("id", rule, true);
-
-        assertThat(mSummaryHelper.getOtherSoundCategoriesSummary(zenMode)).isEqualTo(
-                "Alarms, media, and touch sounds can interrupt");
-    }
-
-    @Test
-    public void getOtherSoundCategoriesSummary_quad() {
-        AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
-                .setType(AutomaticZenRule.TYPE_BEDTIME)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder()
-                        .allowAlarms(true)
-                        .allowMedia(true)
-                        .allowSystem(true)
-                        .allowReminders(true)
-                        .build())
-                .build();
-        ZenMode zenMode = new ZenMode("id", rule, true);
-
-        assertThat(mSummaryHelper.getOtherSoundCategoriesSummary(zenMode)).isEqualTo(
-                "Alarms, media, and 2 more can interrupt");
-    }
-
-    @Test
-    public void getOtherSoundCategoriesSummary_all() {
-        AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
-                .setType(AutomaticZenRule.TYPE_BEDTIME)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder()
-                        .allowAlarms(true)
-                        .allowMedia(true)
-                        .allowSystem(true)
-                        .allowReminders(true)
-                        .allowEvents(true)
-                        .build())
-                .build();
-        ZenMode zenMode = new ZenMode("id", rule, true);
-
-        assertThat(mSummaryHelper.getOtherSoundCategoriesSummary(zenMode)).isEqualTo(
-                "Alarms, media, and 3 more can interrupt");
-    }
-
-    @Test
-    public void getBlockedEffectsSummary_none() {
-        AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
-                .setType(AutomaticZenRule.TYPE_BEDTIME)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder()
-                        .showAllVisualEffects()
-                        .allowAlarms(true)
-                        .build())
-                .build();
-        ZenMode zenMode = new ZenMode("id", rule, true);
-        assertThat(mSummaryHelper.getBlockedEffectsSummary(zenMode))
-                .isEqualTo("Notifications shown");
-    }
-
-    @Test
-    public void getBlockedEffectsSummary_some() {
-        AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
-                .setType(AutomaticZenRule.TYPE_BEDTIME)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder()
-                        .allowAlarms(true)
-                        .showAllVisualEffects()
-                        .showVisualEffect(VISUAL_EFFECT_AMBIENT, false)
-                        .build())
-                .build();
-        ZenMode zenMode = new ZenMode("id", rule, true);
-        assertThat(mSummaryHelper.getBlockedEffectsSummary(zenMode))
-                .isEqualTo("Notifications partially hidden");
-    }
-
-    @Test
-    public void getBlockedEffectsSummary_all() {
-        AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
-                .setType(AutomaticZenRule.TYPE_BEDTIME)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder()
-                        .allowAlarms(true)
-                        .hideAllVisualEffects()
-                        .build())
-                .build();
-        ZenMode zenMode = new ZenMode("id", rule, true);
-        assertThat(mSummaryHelper.getBlockedEffectsSummary(zenMode))
-                .isEqualTo("Notifications hidden");
-    }
-
-    @Test
-    public void getDisplayEffectsSummary_single_notifVis() {
-        AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
-                .setType(AutomaticZenRule.TYPE_BEDTIME)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder()
-                        .showAllVisualEffects()
-                        .showVisualEffect(VISUAL_EFFECT_AMBIENT, false)
-                        .build())
-                .build();
-        ZenMode zenMode = new ZenMode("id", rule, true);
-
-        assertThat(mSummaryHelper.getDisplayEffectsSummary(zenMode)).isEqualTo(
-                "Notifications partially hidden");
-    }
-
-    @Test
-    public void getDisplayEffectsSummary_single_notifVis_unusedEffect() {
-        AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
-                .setType(AutomaticZenRule.TYPE_BEDTIME)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder()
-                        .showAllVisualEffects()
-                        .showVisualEffect(VISUAL_EFFECT_LIGHTS, false)
-                        .build())
-                .build();
-        ZenMode zenMode = new ZenMode("id", rule, true);
-
-        assertThat(mSummaryHelper.getDisplayEffectsSummary(zenMode)).isEqualTo(
-                "Notifications shown");
-    }
-
-    @Test
-    public void getDisplayEffectsSummary_single_displayEffect() {
-        AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
-                .setType(AutomaticZenRule.TYPE_BEDTIME)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder().showAllVisualEffects().build())
-                .setDeviceEffects(new ZenDeviceEffects.Builder()
-                        .setShouldDimWallpaper(true)
-                        .build())
-                .build();
-        ZenMode zenMode = new ZenMode("id", rule, true);
-
-        assertThat(mSummaryHelper.getDisplayEffectsSummary(zenMode)).isEqualTo(
-                "Dim the wallpaper");
-    }
-
-    @Test
-    public void getDisplayEffectsSummary_duo() {
-        AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
-                .setType(AutomaticZenRule.TYPE_BEDTIME)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder().showAllVisualEffects().build())
-                .setDeviceEffects(new ZenDeviceEffects.Builder()
-                        .setShouldDimWallpaper(true)
-                        .setShouldDisplayGrayscale(true)
-                        .build())
-                .build();
-        ZenMode zenMode = new ZenMode("id", rule, true);
-
-        assertThat(mSummaryHelper.getDisplayEffectsSummary(zenMode)).isEqualTo(
-                "Grayscale and dim the wallpaper");
-    }
-
-    @Test
-    public void getDisplayEffectsSummary_trio() {
-        AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
-                .setType(AutomaticZenRule.TYPE_BEDTIME)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder()
-                        .hideAllVisualEffects()
-                        .allowAlarms(true)
-                        .allowMedia(true)
-                        .allowSystem(true)
-                        .build())
-                .setDeviceEffects(new ZenDeviceEffects.Builder()
-                        .setShouldDisplayGrayscale(true)
-                        .setShouldDimWallpaper(true)
-                        .build())
-                .build();
-        ZenMode zenMode = new ZenMode("id", rule, true);
-
-        assertThat(mSummaryHelper.getDisplayEffectsSummary(zenMode)).isEqualTo(
-                "Notifications hidden, grayscale, and dim the wallpaper");
-    }
-
-    @Test
-    public void getDisplayEffectsSummary_quad() {
-        AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
-                .setType(AutomaticZenRule.TYPE_BEDTIME)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder()
-                        .showAllVisualEffects()
-                        .showVisualEffect(VISUAL_EFFECT_AMBIENT, false)
-                        .allowAlarms(true)
-                        .allowMedia(true)
-                        .allowSystem(true)
-                        .build())
-                .setDeviceEffects(new ZenDeviceEffects.Builder()
-                        .setShouldDimWallpaper(true)
-                        .setShouldDisplayGrayscale(true)
-                        .setShouldUseNightMode(true)
-                        .build())
-                .build();
-        ZenMode zenMode = new ZenMode("id", rule, true);
-
-        assertThat(mSummaryHelper.getDisplayEffectsSummary(zenMode)).isEqualTo(
-                "Notifications partially hidden, grayscale, and 2 more");
-    }
-
-    @Test
-    public void getAppsSummary_all() {
-        AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
-                .setType(AutomaticZenRule.TYPE_BEDTIME)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder()
-                        .allowChannels(ZenMode.CHANNEL_POLICY_ALL)
-                        .build())
-                .build();
-        ZenMode zenMode = new ZenMode("id", rule, true);
-
-        assertThat(mSummaryHelper.getAppsSummary(zenMode, new LinkedHashSet<>())).isEqualTo("All");
-    }
-
-    @Test
-    public void getAppsSummary_none() {
-        AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
-                .setType(AutomaticZenRule.TYPE_BEDTIME)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder()
-                        .allowChannels(ZenPolicy.CHANNEL_POLICY_NONE)
-                        .build())
-                .build();
-        ZenMode zenMode = new ZenMode("id", rule, true);
-
-        assertThat(mSummaryHelper.getAppsSummary(zenMode, new LinkedHashSet<>())).isEqualTo("None");
-    }
-
-    @Test
-    public void getAppsSummary_priorityAppsNoList() {
-        AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
-                .setType(AutomaticZenRule.TYPE_BEDTIME)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder()
-                        .allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY)
-                        .build())
-                .build();
-        ZenMode zenMode = new ZenMode("id", rule, true);
-
-        assertThat(mSummaryHelper.getAppsSummary(zenMode, null)).isEqualTo("Selected apps");
-    }
-
-    @Test
-    public void getAppsSummary_formatAppsListEmpty() {
-        Set<String> apps = new LinkedHashSet<>();
-        assertThat(mSummaryHelper.formatAppsList(apps)).isEqualTo("No apps can interrupt");
-    }
-
-    @Test
-    public void getAppsSummary_formatAppsListSingle() {
-        Set<String> apps = Set.of("My App");
-        assertThat(mSummaryHelper.formatAppsList(apps)).isEqualTo("My App can interrupt");
-    }
-
-    @Test
-    public void getAppsSummary_formatAppsListTwo() {
-        Set<String> apps = Set.of("My App", "SecondApp");
-        assertThat(mSummaryHelper.formatAppsList(apps)).isEqualTo("My App and SecondApp "
-                + "can interrupt");
-    }
-
-    @Test
-    public void getAppsSummary_formatAppsListThree() {
-        Set<String> apps = Set.of("My App", "SecondApp", "ThirdApp");
-        assertThat(mSummaryHelper.formatAppsList(apps)).isEqualTo("My App, SecondApp, "
-                + "and ThirdApp can interrupt");
-    }
-
-    @Test
-    public void getAppsSummary_formatAppsListMany() {
-        Set<String> apps = Set.of("My App", "SecondApp", "ThirdApp", "FourthApp",
-                "FifthApp", "SixthApp");
-        // Note that apps are selected alphabetically.
-        assertThat(mSummaryHelper.formatAppsList(apps)).isEqualTo("FifthApp, FourthApp, "
-                + "and 4 more can interrupt");
-    }
-
-    @Test
-    public void getAppsSummary_priorityApps() {
-        AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
-                .setType(AutomaticZenRule.TYPE_BEDTIME)
-                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
-                .setZenPolicy(new ZenPolicy.Builder()
-                        .allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY)
-                        .build())
-                .build();
-        ZenMode zenMode = new ZenMode("id", rule, true);
-        Set<String> apps = Set.of("My App", "SecondApp", "ThirdApp", "FourthApp",
-                "FifthApp", "SixthApp");
-
-        assertThat(mSummaryHelper.getAppsSummary(zenMode, apps)).isEqualTo("FifthApp, FourthApp, "
-                + "and 4 more can interrupt");
-    }
-
-}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenSettingsObserverTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenSettingsObserverTest.java
new file mode 100644
index 0000000..7fd47d9
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenSettingsObserverTest.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.modes;
+
+import static android.provider.Settings.Global.ZEN_MODE_CONFIG_ETAG;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.robolectric.Shadows.shadowOf;
+
+import android.app.Flags;
+import android.content.Context;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.provider.Settings;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.google.common.collect.ImmutableList;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.shadows.ShadowLooper;
+
+import java.util.concurrent.atomic.AtomicInteger;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenSettingsObserverTest {
+
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    private static final Uri SETTINGS_URI = Settings.Global.getUriFor(
+            ZEN_MODE_CONFIG_ETAG);
+
+    private Context mContext;
+    private ZenSettingsObserver mObserver;
+
+    @Before
+    public void setUp() {
+        mContext = ApplicationProvider.getApplicationContext();
+        mObserver = new ZenSettingsObserver(mContext);
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_MODES_UI)
+    public void register_withFlagEnabled_registersAndCallsBack() {
+        AtomicInteger someValue = new AtomicInteger();
+        mObserver.setOnChangeListener(someValue::incrementAndGet);
+        assertThat(getSettingsContentObservers()).isEmpty();
+
+        mObserver.register();
+        assertThat(getSettingsContentObservers()).hasSize(1);
+
+        getSettingsContentObservers().forEach(o -> o.dispatchChange(false, SETTINGS_URI));
+        ShadowLooper.idleMainLooper();
+        assertThat(someValue.get()).isEqualTo(1);
+
+        mObserver.unregister();
+        assertThat(getSettingsContentObservers()).isEmpty();
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_MODES_UI)
+    public void register_withFlagDisabled_doesNotRegister() {
+        mObserver.register();
+        assertThat(getSettingsContentObservers()).isEmpty();
+        mObserver.unregister();
+        assertThat(getSettingsContentObservers()).isEmpty();
+    }
+
+    private ImmutableList<ContentObserver> getSettingsContentObservers() {
+        return ImmutableList.copyOf(
+                shadowOf(mContext.getContentResolver())
+                        .getContentObservers(SETTINGS_URI));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeAddBypassingAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeAddBypassingAppsPreferenceControllerTest.java
index 27df890..2569ca3 100644
--- a/tests/robotests/src/com/android/settings/notification/zen/ZenModeAddBypassingAppsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeAddBypassingAppsPreferenceControllerTest.java
@@ -162,7 +162,4 @@
         assertThat(pref.getKey()).isEqualTo(
                 ZenModeAddBypassingAppsPreferenceController.KEY_NO_APPS);
     }
-
-    // TODO(b/331624810): Add tests to verify updateAppList() when the filter is
-    //  ApplicationsState.FILTER_ENABLED_NOT_QUIET
 }
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModePreferenceControllerTest.java
index f611c9b..e7d42d8 100644
--- a/tests/robotests/src/com/android/settings/notification/zen/ZenModePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModePreferenceControllerTest.java
@@ -19,10 +19,10 @@
 import static android.platform.test.flag.junit.SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT;
 
 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.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.never;
@@ -40,8 +40,6 @@
 
 import androidx.preference.Preference;
 
-import com.android.settings.notification.modes.ZenModesListFragment;
-
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -85,7 +83,14 @@
     }
 
     @Test
-    public void isAvailable_unsearchable() {
+    @EnableFlags(Flags.FLAG_MODES_UI)
+    public void isAvailable_modesUi_unavailable() {
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_MODES_UI)
+    public void isAvailable_notModesUi_unsearchable() {
         assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
     }
 
@@ -109,20 +114,4 @@
 
         verify(mPreference, never()).setSummary(anyString());
     }
-
-    @Test
-    @EnableFlags(Flags.FLAG_MODES_UI)
-    public void updateState_modesUi_resetsTitleAndFragment() {
-        mController.updateState(mPreference);
-        verify(mPreference).setTitle(anyInt());  // Resource IDs are ints
-        verify(mPreference).setFragment(ZenModesListFragment.class.getCanonicalName());
-    }
-
-    @Test
-    @DisableFlags(Flags.FLAG_MODES_UI)
-    public void updateState_noModesUi_doesNotSetTitleAndFragment() {
-        mController.updateState(mPreference);
-        verify(mPreference, never()).setTitle(anyInt());
-        verify(mPreference, never()).setFragment(anyString());
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java
index e7e0b92..204bfe5 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java
@@ -50,9 +50,13 @@
 import android.app.admin.PasswordPolicy;
 import android.content.Context;
 import android.content.Intent;
+import android.hardware.biometrics.BiometricManager;
+import android.hardware.biometrics.Flags;
 import android.hardware.face.FaceManager;
 import android.hardware.fingerprint.FingerprintManager;
 import android.os.Bundle;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
 import android.provider.Settings.Global;
 import android.widget.TextView;
 
@@ -86,9 +90,13 @@
 import org.mockito.junit.MockitoRule;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.Shadows;
 import org.robolectric.android.controller.ActivityController;
 import org.robolectric.annotation.Config;
+import org.robolectric.shadow.api.Shadow;
+import org.robolectric.shadows.ShadowActivity;
 import org.robolectric.shadows.ShadowApplication;
+import org.robolectric.shadows.ShadowBiometricManager;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(
@@ -98,18 +106,23 @@
                 ShadowStorageManager.class,
                 ShadowUserManager.class,
                 ShadowUtils.class,
-                ShadowInteractionJankMonitor.class
+                ShadowInteractionJankMonitor.class,
+                ShadowBiometricManager.class
         })
 @Ignore("b/179136903: Tests failed with collapsing toolbar, plan to figure out root cause later.")
 public class ChooseLockGenericTest {
 
     @Rule
     public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
 
     private ActivityController<ChooseLockGeneric> mActivityController;
     private FakeFeatureFactory mFakeFeatureFactory;
     private ChooseLockGenericFragment mFragment;
     private ChooseLockGeneric mActivity;
+    private ShadowBiometricManager mShadowBiometricManager;
+    private ShadowActivity mShadowActivity;
     @Mock
     private FingerprintManager mFingerprintManager;
     @Mock
@@ -125,6 +138,7 @@
                 .postCreate(null)
                 .resume()
                 .get();
+        mShadowActivity = Shadows.shadowOf(mActivity);
 
         Global.putInt(application.getContentResolver(), Global.DEVICE_PROVISIONED, 1);
         mFragment = new ChooseLockGenericFragment();
@@ -295,6 +309,21 @@
     }
 
     @Test
+    @EnableFlags(Flags.FLAG_MANDATORY_BIOMETRICS)
+    public void onActivityResult_requestcode100_shouldLaunchBiometricPrompt() {
+        initActivity(null);
+        mShadowBiometricManager.setCanAuthenticate(true);
+
+        mFragment.onActivityResult(
+                ChooseLockGenericFragment.CONFIRM_EXISTING_REQUEST,
+                Activity.RESULT_OK, null /* data */);
+
+        assertThat(mActivity.isFinishing()).isFalse();
+        assertThat(mShadowActivity.getNextStartedActivity().getComponent().getClassName())
+                .isEqualTo(ConfirmDeviceCredentialActivity.class.getName());
+    }
+
+    @Test
     public void onActivityResult_requestcode102_shouldFinish() {
         initActivity(null);
 
@@ -337,6 +366,17 @@
     }
 
     @Test
+    public void onActivityResult_requestcode105_shouldNotFinish() {
+        initActivity(null);
+
+        mFragment.onActivityResult(
+                ChooseLockGenericFragment.BIOMETRIC_AUTH_REQUEST, Activity.RESULT_OK,
+                null /* data */);
+
+        assertThat(mActivity.isFinishing()).isFalse();
+    }
+
+    @Test
     public void securedScreenLock_notChangingConfig_notWaitForConfirmation_onStopFinishSelf() {
         Intent intent = new Intent().putExtra(
                 LockPatternUtils.PASSWORD_TYPE_KEY, DevicePolicyManager.PASSWORD_QUALITY_NUMERIC);
@@ -676,6 +716,13 @@
         mActivity = Robolectric.buildActivity(ChooseLockGeneric.InternalActivity.class, intent)
                 .create().start().postCreate(null).resume().get();
         mActivity.getSupportFragmentManager().beginTransaction().add(mFragment, null).commitNow();
+        mShadowBiometricManager = Shadow.extract(mFragment.getContext().getSystemService(
+                BiometricManager.class));
+        //TODO(b/352603684): Should be Authenticators.MANDATORY_BIOMETRICS,
+        // but it is not supported by ShadowBiometricManager
+        mShadowBiometricManager.setAuthenticatorType(
+                BiometricManager.Authenticators.BIOMETRIC_STRONG);
+        mShadowBiometricManager.setCanAuthenticate(false);
     }
 
     private static String capitalize(final String input) {
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
index dea936d..1e81ec0 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
@@ -36,19 +36,25 @@
 import static com.google.common.truth.Truth.assertWithMessage;
 
 import static org.robolectric.RuntimeEnvironment.application;
+import static org.robolectric.Shadows.shadowOf;
 
+import android.annotation.ColorInt;
 import android.app.admin.DevicePolicyManager;
 import android.app.admin.DevicePolicyManager.PasswordComplexity;
 import android.app.admin.PasswordMetrics;
 import android.app.admin.PasswordPolicy;
 import android.content.Intent;
+import android.os.Looper;
 import android.os.UserHandle;
 import android.view.View;
 import android.widget.CheckBox;
 import android.widget.TextView;
 
+import androidx.recyclerview.widget.RecyclerView;
+
 import com.android.internal.widget.LockscreenCredential;
 import com.android.settings.R;
+import com.android.settings.Utils;
 import com.android.settings.password.ChooseLockPassword.ChooseLockPasswordFragment;
 import com.android.settings.password.ChooseLockPassword.IntentBuilder;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
@@ -515,6 +521,52 @@
         assertThat(pinAutoConfirmOption.isChecked()).isFalse();
     }
 
+    @Test
+    public void defaultMessage_shouldBeInTextColorPrimary() {
+        final ChooseLockPassword passwordActivity = setupActivityWithPinTypeAndDefaultPolicy();
+
+        final ChooseLockPasswordFragment fragment = getChooseLockPasswordFragment(passwordActivity);
+        final ScrollToParentEditText passwordEntry = passwordActivity.findViewById(R.id.password_entry);
+        final RecyclerView view = (RecyclerView) fragment.getPasswordRequirementsView();
+        @ColorInt final int textColorPrimary = Utils.getColorAttrDefaultColor(passwordActivity,
+                android.R.attr.textColorPrimary);
+
+        passwordEntry.setText("");
+        fragment.updateUi();
+        shadowOf(Looper.getMainLooper()).idle();
+        TextView textView = (TextView)view.getLayoutManager().findViewByPosition(0);
+
+        assertThat(textView.getCurrentTextColor()).isEqualTo(textColorPrimary);
+    }
+
+    @Test
+    public void errorMessage_shouldBeColorError() {
+        final ChooseLockPassword passwordActivity = setupActivityWithPinTypeAndDefaultPolicy();
+
+        final ChooseLockPasswordFragment fragment = getChooseLockPasswordFragment(passwordActivity);
+        final ScrollToParentEditText passwordEntry = passwordActivity.findViewById(R.id.password_entry);
+        final RecyclerView view = (RecyclerView) fragment.getPasswordRequirementsView();
+        @ColorInt final int textColorPrimary = Utils.getColorAttrDefaultColor(passwordActivity,
+                android.R.attr.textColorPrimary);
+        @ColorInt final int colorError = Utils.getColorAttrDefaultColor(passwordActivity,
+                android.R.attr.colorError);
+
+        passwordEntry.setText("");
+        fragment.updateUi();
+        shadowOf(Looper.getMainLooper()).idle();
+        TextView textView = (TextView)view.getLayoutManager().findViewByPosition(0);
+
+        assertThat(textView.getCurrentTextColor()).isEqualTo(textColorPrimary);
+
+        // Password must be fewer than 17 digits, so this should give an error.
+        passwordEntry.setText("a".repeat(17));
+        fragment.updateUi();
+        shadowOf(Looper.getMainLooper()).idle();
+        textView = (TextView)view.getLayoutManager().findViewByPosition(0);
+
+        assertThat(textView.getCurrentTextColor()).isEqualTo(colorError);
+    }
+
     private ChooseLockPassword setupActivityWithPinTypeAndDefaultPolicy() {
         PasswordPolicy policy = new PasswordPolicy();
         policy.quality = PASSWORD_QUALITY_UNSPECIFIED;
@@ -543,7 +595,7 @@
                         .setForFingerprint(addFingerprintExtra)
                         .build());
         ChooseLockPasswordFragment fragment = getChooseLockPasswordFragment(passwordActivity);
-        return Shadows.shadowOf(((GlifLayout) fragment.getView()).getIcon());
+        return shadowOf(((GlifLayout) fragment.getView()).getIcon());
     }
 
     private void assertPasswordValidationResult(PasswordMetrics minMetrics,
diff --git a/tests/robotests/src/com/android/settings/password/ConfirmLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/ConfirmLockPasswordTest.java
index 4ac375f..9e8535a 100644
--- a/tests/robotests/src/com/android/settings/password/ConfirmLockPasswordTest.java
+++ b/tests/robotests/src/com/android/settings/password/ConfirmLockPasswordTest.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.password;
 
+import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_ENABLED;
+
 import static com.android.settings.password.ConfirmLockPassword.ConfirmLockPasswordFragment;
 import static com.android.settings.password.TestUtils.GUESS_INVALID_RESULT;
 import static com.android.settings.password.TestUtils.GUESS_VALID_RESULT;
@@ -42,6 +44,7 @@
 import android.Manifest;
 import android.app.KeyguardManager;
 import android.app.admin.ManagedSubscriptionsPolicy;
+import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.os.UserHandle;
@@ -55,6 +58,7 @@
 
 import com.android.internal.widget.LockPatternUtils;
 import com.android.settings.R;
+import com.android.settings.SetupRedactionInterstitial;
 import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
 import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
 import com.android.settings.testutils.shadow.ShadowUserManager;
@@ -305,6 +309,32 @@
         assertThat(mLockPatternUtils.isSecure(fragment.mEffectiveUserId)).isFalse();
     }
 
+    @Test
+    public void onChosenLockSaveFinished_setsRedactionInterstitial() throws Exception {
+        // This test verifies that the RedactionInterstitial is available. This is the screen
+        // responsible for allowing the user to show sensitive lockscreen content. This
+        // also allows the Settings tile for RedactionInterstitial to appear in the "anything else"
+        // page during SUW.
+        final ConfirmDeviceCredentialBaseActivity activity =
+                buildConfirmDeviceCredentialBaseActivity(
+                        ConfirmLockPassword.class,
+                        createRemoteLockscreenValidationIntent(
+                                KeyguardManager.PASSWORD, VALID_REMAINING_ATTEMPTS));
+        final ConfirmLockPasswordFragment fragment =
+                (ConfirmLockPasswordFragment) getConfirmDeviceCredentialBaseFragment(activity);
+        final Intent intent = new Intent();
+        intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, 1L);
+
+        fragment.onChosenLockSaveFinished(true, intent);
+
+        final ComponentName componentName =
+                new ComponentName(mContext, SetupRedactionInterstitial.class);
+        final int isEnabled = mContext.getPackageManager()
+                .getComponentEnabledSetting(componentName);
+
+        assertThat(isEnabled).isEqualTo(COMPONENT_ENABLED_STATE_ENABLED);
+    }
+
     private void triggerHandleNext(
             ConfirmLockPasswordFragment fragment, ImeAwareEditText passwordEntry) {
         passwordEntry.setText("Password");
diff --git a/tests/robotests/src/com/android/settings/password/ConfirmLockPatternTest.java b/tests/robotests/src/com/android/settings/password/ConfirmLockPatternTest.java
index 04a76b8..9e7ec06 100644
--- a/tests/robotests/src/com/android/settings/password/ConfirmLockPatternTest.java
+++ b/tests/robotests/src/com/android/settings/password/ConfirmLockPatternTest.java
@@ -16,6 +16,9 @@
 
 package com.android.settings.password;
 
+import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_ENABLED;
+
+import static com.android.settings.password.ConfirmLockPattern.ConfirmLockPatternFragment;
 import static com.android.settings.password.TestUtils.GUESS_INVALID_RESULT;
 import static com.android.settings.password.TestUtils.GUESS_VALID_RESULT;
 import static com.android.settings.password.TestUtils.LOCKOUT_RESULT;
@@ -39,6 +42,7 @@
 import android.Manifest;
 import android.app.KeyguardManager;
 import android.app.admin.ManagedSubscriptionsPolicy;
+import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.os.UserHandle;
@@ -51,6 +55,7 @@
 import com.android.internal.widget.LockPatternUtils;
 import com.android.internal.widget.LockPatternView;
 import com.android.settings.R;
+import com.android.settings.SetupRedactionInterstitial;
 import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
 import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
 import com.android.settings.testutils.shadow.ShadowUserManager;
@@ -284,6 +289,32 @@
         assertThat(mLockPatternUtils.isSecure(fragment.mEffectiveUserId)).isFalse();
     }
 
+    @Test
+    public void onChosenLockSaveFinished_setsRedactionInterstitial() throws Exception {
+        // This test verifies that the RedactionInterstitial is available. This is the screen
+        // responsible for allowing the user to show sensitive lockscreen content. This
+        // also allows the Settings tile for RedactionInterstitial to appear in the "anything else"
+        // page during SUW.
+        final ConfirmDeviceCredentialBaseActivity activity =
+                buildConfirmDeviceCredentialBaseActivity(
+                        ConfirmLockPattern.class,
+                        createRemoteLockscreenValidationIntent(
+                                KeyguardManager.PATTERN, VALID_REMAINING_ATTEMPTS));
+        final ConfirmLockPatternFragment fragment = (ConfirmLockPatternFragment)
+                getConfirmDeviceCredentialBaseFragment(activity);
+        final Intent intent = new Intent();
+        intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, 1L);
+
+        fragment.onChosenLockSaveFinished(true, intent);
+
+        final ComponentName componentName =
+                new ComponentName(mContext, SetupRedactionInterstitial.class);
+        final int isEnabled = mContext.getPackageManager()
+                .getComponentEnabledSetting(componentName);
+
+        assertThat(isEnabled).isEqualTo(COMPONENT_ENABLED_STATE_ENABLED);
+    }
+
     private void triggerOnPatternDetected(LockPatternView lockPatternView) {
         List<LockPatternView.Cell> pattern = List.of(LockPatternView.Cell.of(0, 0));
         lockPatternView.setPattern(LockPatternView.DisplayMode.Correct, pattern);
diff --git a/tests/robotests/src/com/android/settings/search/SearchFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/search/SearchFeatureProviderImplTest.java
index 8a7419b..599649b 100644
--- a/tests/robotests/src/com/android/settings/search/SearchFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/search/SearchFeatureProviderImplTest.java
@@ -124,8 +124,8 @@
     }
 
     @Test(expected = IllegalArgumentException.class)
-    public void verifyLaunchSearchResultPageCaller_nullCaller_shouldCrash() {
-        mProvider.verifyLaunchSearchResultPageCaller(mActivity, null /* caller */);
+    public void verifyLaunchSearchResultPageCaller_emptyCaller_shouldCrash() {
+        mProvider.verifyLaunchSearchResultPageCaller(mActivity, "");
     }
 
     @Test(expected = SecurityException.class)
diff --git a/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java b/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java
index e408cd0..b555f00 100644
--- a/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java
+++ b/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java
@@ -29,6 +29,7 @@
 import android.text.TextUtils;
 
 import com.android.settings.network.NetworkProviderSettings;
+import com.android.settings.spa.search.SearchablePage;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.FakeIndexProvider;
 import com.android.settingslib.search.SearchIndexableData;
@@ -117,8 +118,10 @@
     public void testAllClassNamesHaveProviders() {
         for (SearchIndexableData data :
                 mSearchProvider.getSearchIndexableResources().getProviderValues()) {
-            if (DatabaseIndexingUtils.getSearchIndexProvider(data.getTargetClass()) == null) {
-                fail(data.getTargetClass().getName() + "is not an index provider");
+            Class<?> targetClass = data.getTargetClass();
+            if (DatabaseIndexingUtils.getSearchIndexProvider(targetClass) == null
+                    && !SearchablePage.class.isAssignableFrom(targetClass)) {
+                fail(targetClass.getName() + " is not an index provider");
             }
         }
     }
diff --git a/tests/robotests/src/com/android/settings/security/trustagent/TrustAgentsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/trustagent/TrustAgentsPreferenceControllerTest.java
index 8339798..766855c 100644
--- a/tests/robotests/src/com/android/settings/security/trustagent/TrustAgentsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/security/trustagent/TrustAgentsPreferenceControllerTest.java
@@ -21,14 +21,10 @@
 import android.app.admin.DevicePolicyManager;
 import android.content.ComponentName;
 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.ServiceInfo;
+import android.content.IntentFilter;
+import android.content.pm.PackageInfo;
 import android.service.trust.TrustAgentService;
 
-import android.text.TextUtils;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 
@@ -38,34 +34,30 @@
 import com.android.settings.testutils.shadow.ShadowRestrictedLockUtilsInternal;
 import com.android.settingslib.RestrictedSwitchPreference;
 
-import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 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.annotation.Implementation;
-import org.robolectric.annotation.Implements;
 import org.robolectric.shadows.ShadowApplicationPackageManager;
 
-import java.util.ArrayList;
-import java.util.List;
-
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {
         ShadowLockPatternUtils.class,
         ShadowRestrictedLockUtilsInternal.class,
-        ShadowDevicePolicyManager.class,
-        ShadowApplicationPackageManager.class,
-        TrustAgentsPreferenceControllerTest.ShadowTrustAgentManager.class
+        ShadowDevicePolicyManager.class, ShadowApplicationPackageManager.class
 })
 public class TrustAgentsPreferenceControllerTest {
-
-    private static final Intent TEST_INTENT =
-            new Intent(TrustAgentService.SERVICE_INTERFACE);
+    private static final ComponentName TRUST_AGENT_A = new ComponentName(
+            "test.data.packageA", "clzAAA");
+    private static final ComponentName TRUST_AGENT_B = new ComponentName(
+            "test.data.packageB", "clzBBB");
+    private static final ComponentName TRUST_AGENT_C = new ComponentName(
+            "test.data.packageC", "clzCCC");
+    private static final ComponentName TRUST_AGENT_D = new ComponentName(
+            "test.data.packageD", "clzDDD");
 
     private Context mContext;
     private ShadowApplicationPackageManager mPackageManager;
@@ -84,11 +76,6 @@
         mPreferenceScreen.setKey("pref_key");
     }
 
-    @After
-    public void tearDown() {
-        ShadowTrustAgentManager.clearPermissionGrantedList();
-    }
-
     @Test
     public void getAvailabilityStatus_byDefault_shouldBeShown() {
         assertThat(mController.getAvailabilityStatus())
@@ -97,8 +84,7 @@
 
     @Test
     public void onStart_noTrustAgent_shouldNotAddPreference() {
-        final List<ResolveInfo> availableAgents = createFakeAvailableAgents();
-        mPackageManager.setResolveInfosForIntent(TEST_INTENT, availableAgents);
+        installFakeAvailableAgents(/* grantPermission= */ false);
 
         mController.displayPreference(mPreferenceScreen);
         mController.onStart();
@@ -106,57 +92,34 @@
         assertThat(mPreferenceScreen.getPreferenceCount()).isEqualTo(0);
     }
 
-    @Ignore("b/313612480")
     @Test
-    public void
-    onStart_hasAUninstalledTrustAgent_shouldRemoveOnePreferenceAndLeaveTwoPreferences() {
-        final List<ResolveInfo> availableAgents = createFakeAvailableAgents();
-        final ResolveInfo uninstalledTrustAgent = availableAgents.get(0);
-
-        for (ResolveInfo rInfo : availableAgents) {
-            ShadowTrustAgentManager.grantPermissionToResolveInfo(rInfo);
-        }
-        mPackageManager.setResolveInfosForIntent(TEST_INTENT, availableAgents);
+    public void onStart_uninstalledTrustAgent_shouldRemoveOnePreferenceAndLeaveTwoPreferences() {
+        installFakeAvailableAgents(/* grantPermission= */ true);
         mController.displayPreference(mPreferenceScreen);
         mController.onStart();
-        availableAgents.remove(uninstalledTrustAgent);
+        uninstallAgent(TRUST_AGENT_A);
 
-        mPackageManager.setResolveInfosForIntent(TEST_INTENT, availableAgents);
         mController.onStart();
 
         assertThat(mPreferenceScreen.getPreferenceCount()).isEqualTo(2);
     }
 
-    @Ignore("b/313612480")
     @Test
     public void onStart_hasANewTrustAgent_shouldAddOnePreferenceAndHaveFourPreferences() {
-        final List<ResolveInfo> availableAgents = createFakeAvailableAgents();
-        final ComponentName newComponentName = new ComponentName("test.data.packageD", "clzDDD");
-        final ResolveInfo newTrustAgent = createFakeResolveInfo(newComponentName);
-        for (ResolveInfo rInfo : availableAgents) {
-            ShadowTrustAgentManager.grantPermissionToResolveInfo(rInfo);
-        }
-        mPackageManager.setResolveInfosForIntent(TEST_INTENT, availableAgents);
+        installFakeAvailableAgents(/* grantPermission= */ true);
         mController.displayPreference(mPreferenceScreen);
         mController.onStart();
-        availableAgents.add(newTrustAgent);
-        ShadowTrustAgentManager.grantPermissionToResolveInfo(newTrustAgent);
+        installFakeAvailableAgent(TRUST_AGENT_D, /* grantPermission= */ true);
 
-        mPackageManager.setResolveInfosForIntent(TEST_INTENT, availableAgents);
         mController.onStart();
 
         assertThat(mPreferenceScreen.getPreferenceCount()).isEqualTo(4);
     }
 
-    @Ignore("b/313612480")
     @Test
     public void onStart_hasUnrestrictedTrustAgent_shouldAddThreeChangeablePreferences() {
         ShadowRestrictedLockUtilsInternal.setKeyguardDisabledFeatures(0);
-        final List<ResolveInfo> availableAgents = createFakeAvailableAgents();
-        for (ResolveInfo rInfo : availableAgents) {
-            ShadowTrustAgentManager.grantPermissionToResolveInfo(rInfo);
-        }
-        mPackageManager.setResolveInfosForIntent(TEST_INTENT, availableAgents);
+        installFakeAvailableAgents(/* grantPermission= */ true);
 
         mController.displayPreference(mPreferenceScreen);
         mController.onStart();
@@ -169,14 +132,9 @@
         }
     }
 
-    @Ignore("b/313612480")
     @Test
-    public void onStart_hasRestrictedTructAgent_shouldAddThreeUnchangeablePreferences() {
-        final List<ResolveInfo> availableAgents = createFakeAvailableAgents();
-        for (ResolveInfo rInfo : availableAgents) {
-            ShadowTrustAgentManager.grantPermissionToResolveInfo(rInfo);
-        }
-        mPackageManager.setResolveInfosForIntent(TEST_INTENT, availableAgents);
+    public void onStart_hasRestrictedTrustAgent_shouldAddThreeUnchangeablePreferences() {
+        installFakeAvailableAgents(/* grantPermission= */ true);
         ShadowRestrictedLockUtilsInternal.setKeyguardDisabledFeatures(
                 DevicePolicyManager.KEYGUARD_DISABLE_TRUST_AGENTS);
 
@@ -191,51 +149,30 @@
         }
     }
 
-    private List<ResolveInfo> createFakeAvailableAgents() {
-        final List<ComponentName> componentNames = new ArrayList<>();
-        componentNames.add(new ComponentName("test.data.packageA", "clzAAA"));
-        componentNames.add(new ComponentName("test.data.packageB", "clzBBB"));
-        componentNames.add(new ComponentName("test.data.packageC", "clzCCC"));
-        final List<ResolveInfo> result = new ArrayList<>();
-        for (ComponentName cn : componentNames) {
-            final ResolveInfo ri = createFakeResolveInfo(cn);
-            result.add(ri);
-        }
-        return result;
+    private void installFakeAvailableAgents(boolean grantPermission) {
+        installFakeAvailableAgent(TRUST_AGENT_A, grantPermission);
+        installFakeAvailableAgent(TRUST_AGENT_B, grantPermission);
+        installFakeAvailableAgent(TRUST_AGENT_C, grantPermission);
     }
 
-    private ResolveInfo createFakeResolveInfo(ComponentName cn) {
-        final ResolveInfo ri = new ResolveInfo();
-        ri.serviceInfo = new ServiceInfo();
-        ri.serviceInfo.packageName = cn.getPackageName();
-        ri.serviceInfo.name = cn.getClassName();
-        ri.serviceInfo.applicationInfo = new ApplicationInfo();
-        ri.serviceInfo.applicationInfo.packageName = cn.getPackageName();
-        ri.serviceInfo.applicationInfo.name = cn.getClassName();
-        return ri;
+    private void installFakeAvailableAgent(ComponentName name,
+            boolean grantPermission) {
+        mPackageManager.addServiceIfNotPresent(name);
+        mPackageManager.addIntentFilterForService(name,
+                new IntentFilter(TrustAgentService.SERVICE_INTERFACE));
+        if (!grantPermission) {
+            return;
+        }
+        PackageInfo pkgInfo = mPackageManager.getInternalMutablePackageInfo(
+                name.getPackageName());
+        pkgInfo.requestedPermissions =
+                new String[]{android.Manifest.permission.PROVIDE_TRUST_AGENT};
+        pkgInfo.requestedPermissionsFlags =
+                new int[]{PackageInfo.REQUESTED_PERMISSION_GRANTED};
     }
 
-    @Implements(TrustAgentManager.class)
-    public static class ShadowTrustAgentManager {
-        private final static List<ResolveInfo> sPermissionGrantedList = new ArrayList<>();
-
-        @Implementation
-        protected boolean shouldProvideTrust(ResolveInfo resolveInfo, PackageManager pm) {
-            for (ResolveInfo info : sPermissionGrantedList) {
-                if (info.serviceInfo.equals(resolveInfo.serviceInfo)) {
-                    return true;
-                }
-            }
-
-            return false;
-        }
-
-        private static void grantPermissionToResolveInfo(ResolveInfo rInfo) {
-            sPermissionGrantedList.add(rInfo);
-        }
-
-        private static void clearPermissionGrantedList() {
-            sPermissionGrantedList.clear();
-        }
+    private void uninstallAgent(ComponentName name) {
+        mPackageManager.removeService(name);
+        mPackageManager.removePackage(name.getPackageName());
     }
 }
diff --git a/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java b/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java
index 84c8586..edb310e 100644
--- a/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java
+++ b/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java
@@ -30,7 +30,6 @@
 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.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
@@ -131,12 +130,18 @@
             CustomSliceRegistry.LOCATION_SLICE_URI
     );
 
-    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.WIFI_CALLING_URI
-    );
+    private static final List<Uri> SPECIAL_CASE_OEM_URIS = android.app.Flags.modesUi()
+            ? Arrays.asList(
+                    CustomSliceRegistry.FLASHLIGHT_SLICE_URI,
+                    CustomSliceRegistry.MOBILE_DATA_SLICE_URI,
+                    CustomSliceRegistry.WIFI_CALLING_URI
+            ) :
+            Arrays.asList(
+                CustomSliceRegistry.ZEN_MODE_SLICE_URI,
+                CustomSliceRegistry.FLASHLIGHT_SLICE_URI,
+                CustomSliceRegistry.MOBILE_DATA_SLICE_URI,
+                CustomSliceRegistry.WIFI_CALLING_URI
+            );
 
     @Before
     public void setUp() {
diff --git a/tests/robotests/src/com/android/settings/testutils/AccessibilityTestUtils.java b/tests/robotests/src/com/android/settings/testutils/AccessibilityTestUtils.java
index 5d895d9..4d69821 100644
--- a/tests/robotests/src/com/android/settings/testutils/AccessibilityTestUtils.java
+++ b/tests/robotests/src/com/android/settings/testutils/AccessibilityTestUtils.java
@@ -20,6 +20,8 @@
 import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_3BUTTON;
 import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL;
 
+import static com.google.common.truth.Truth.assertThat;
+
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
@@ -46,20 +48,15 @@
 
     public static void setSoftwareShortcutMode(
             Context context, boolean gestureNavEnabled, boolean floatingButtonEnabled) {
-        int mode = floatingButtonEnabled ? ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU : -1;
+        int buttonMode = floatingButtonEnabled ? ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU : -1;
+        int navMode = gestureNavEnabled ? NAV_BAR_MODE_GESTURAL : NAV_BAR_MODE_3BUTTON;
 
         Settings.Secure.putInt(context.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_BUTTON_MODE, mode);
-
-        if (gestureNavEnabled) {
-            SettingsShadowResources.overrideResource(
-                    com.android.internal.R.integer.config_navBarInteractionMode,
-                    NAV_BAR_MODE_GESTURAL);
-        } else {
-            SettingsShadowResources.overrideResource(
-                    com.android.internal.R.integer.config_navBarInteractionMode,
-                    NAV_BAR_MODE_3BUTTON);
-        }
+                Settings.Secure.ACCESSIBILITY_BUTTON_MODE, buttonMode);
+        SettingsShadowResources.overrideResource(
+                com.android.internal.R.integer.config_navBarInteractionMode, navMode);
+        assertThat(context.getResources().getInteger(
+                com.android.internal.R.integer.config_navBarInteractionMode)).isEqualTo(navMode);
     }
 
     /**
diff --git a/tests/robotests/src/com/android/settings/testutils/BatteryTestUtils.java b/tests/robotests/src/com/android/settings/testutils/BatteryTestUtils.java
index 915231f..951f2f0 100644
--- a/tests/robotests/src/com/android/settings/testutils/BatteryTestUtils.java
+++ b/tests/robotests/src/com/android/settings/testutils/BatteryTestUtils.java
@@ -43,6 +43,8 @@
 import com.android.settings.fuelgauge.batteryusage.WarningItemInfo;
 import com.android.settings.fuelgauge.batteryusage.db.AppUsageEventDao;
 import com.android.settings.fuelgauge.batteryusage.db.AppUsageEventEntity;
+import com.android.settings.fuelgauge.batteryusage.db.BatteryEventDao;
+import com.android.settings.fuelgauge.batteryusage.db.BatteryEventEntity;
 import com.android.settings.fuelgauge.batteryusage.db.BatteryState;
 import com.android.settings.fuelgauge.batteryusage.db.BatteryStateDao;
 import com.android.settings.fuelgauge.batteryusage.db.BatteryStateDatabase;
@@ -184,6 +186,15 @@
         }
     }
 
+    /** Inserts a fake data into the database for testing. */
+    public static void insertDataToBatteryEventTable(
+            Context context, long timestamp, int batteryEventType, int batteryLevel) {
+        final BatteryEventEntity entity =
+                new BatteryEventEntity(timestamp, batteryEventType, batteryLevel);
+        BatteryEventDao dao = BatteryStateDatabase.getInstance(context).batteryEventDao();
+        dao.insert(entity);
+    }
+
     /** Gets customized battery changed intent. */
     public static Intent getCustomBatteryIntent(int plugged, int level, int scale, int status) {
         Intent intent = new Intent();
@@ -253,18 +264,28 @@
 
     /** Create a power anomaly event proto of screen timeout. */
     public static PowerAnomalyEvent createScreenTimeoutAnomalyEvent() {
+        return createScreenTimeoutAnomalyEvent(false);
+    }
+
+    /** Create a power anomaly event proto of screen timeout. */
+    public static PowerAnomalyEvent createScreenTimeoutAnomalyEvent(boolean changeSettings) {
+        WarningBannerInfo.Builder warningBannerInfoBuilder =
+                WarningBannerInfo.newBuilder()
+                        .setMainButtonDestination(ScreenTimeoutSettings.class.getName())
+                        .setMainButtonSourceMetricsCategory(SettingsEnums.SCREEN_TIMEOUT)
+                        .setMainButtonSourceHighlightKey("60000");
+        if (changeSettings) {
+            warningBannerInfoBuilder
+                    .setMainButtonConfigSettingsName(Settings.System.SCREEN_OFF_TIMEOUT)
+                    .setMainButtonConfigSettingsValue(60000);
+        }
         return PowerAnomalyEvent.newBuilder()
                 .setEventId("ScreenTimeoutAnomaly")
                 .setType(PowerAnomalyType.TYPE_SETTINGS_BANNER)
                 .setKey(PowerAnomalyKey.KEY_SCREEN_TIMEOUT)
                 .setDismissRecordKey(PowerAnomalyKey.KEY_SCREEN_TIMEOUT.name())
                 .setScore(1.1f)
-                .setWarningBannerInfo(
-                        WarningBannerInfo.newBuilder()
-                                .setMainButtonDestination(ScreenTimeoutSettings.class.getName())
-                                .setMainButtonSourceMetricsCategory(SettingsEnums.SCREEN_TIMEOUT)
-                                .setMainButtonSourceHighlightKey("60000")
-                                .build())
+                .setWarningBannerInfo(warningBannerInfoBuilder.build())
                 .build();
     }
 
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccessibilityManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccessibilityManager.java
index de7792c..fcd1e42 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccessibilityManager.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccessibilityManager.java
@@ -16,15 +16,18 @@
 
 package com.android.settings.testutils.shadow;
 
+import android.accessibilityservice.AccessibilityShortcutInfo;
 import android.annotation.NonNull;
 import android.annotation.UserIdInt;
 import android.content.ComponentName;
+import android.content.Context;
 import android.util.ArrayMap;
 import android.view.accessibility.AccessibilityManager;
 
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -33,9 +36,10 @@
 @Implements(AccessibilityManager.class)
 public class ShadowAccessibilityManager extends org.robolectric.shadows.ShadowAccessibilityManager {
     private Map<ComponentName, ComponentName> mA11yFeatureToTileMap = new ArrayMap<>();
+    private List<AccessibilityShortcutInfo> mInstalledAccessibilityShortcutList = List.of();
 
     /**
-     * Implements a hidden method {@link AccessibilityManager.getA11yFeatureToTileMap}
+     * Implements a hidden method {@link AccessibilityManager#getA11yFeatureToTileMap}
      */
     @Implementation
     public Map<ComponentName, ComponentName> getA11yFeatureToTileMap(@UserIdInt int userId) {
@@ -49,4 +53,22 @@
             @NonNull Map<ComponentName, ComponentName> a11yFeatureToTileMap) {
         mA11yFeatureToTileMap = a11yFeatureToTileMap;
     }
+
+    /**
+     * Implements the hidden method
+     * {@link AccessibilityManager#getInstalledAccessibilityShortcutListAsUser}.
+     */
+    @Implementation
+    public List<AccessibilityShortcutInfo> getInstalledAccessibilityShortcutListAsUser(
+            @NonNull Context context, @UserIdInt int userId) {
+        return mInstalledAccessibilityShortcutList;
+    }
+
+    /**
+     * Sets the value to be returned by {@link #getInstalledAccessibilityShortcutListAsUser}.
+     */
+    public void setInstalledAccessibilityShortcutListAsUser(
+            @NonNull List<AccessibilityShortcutInfo> installedAccessibilityShortcutList) {
+        mInstalledAccessibilityShortcutList = installedAccessibilityShortcutList;
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowInputDevice.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowInputDevice.java
index c21f7cc..145c2e9 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowInputDevice.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowInputDevice.java
@@ -35,6 +35,8 @@
 
     private int mDeviceId;
 
+    private int mSources;
+
     @Implementation
     protected static int[] getDeviceIds() {
         return sDeviceIds;
@@ -70,4 +72,21 @@
     public void setId(int id) {
         mDeviceId = id;
     }
+
+    public static InputDevice makeInputDevicebyIdWithSources(int id, int sources) {
+        final InputDevice inputDevice = Shadow.newInstanceOf(InputDevice.class);
+        final ShadowInputDevice shadowInputDevice = Shadow.extract(inputDevice);
+        shadowInputDevice.setId(id);
+        shadowInputDevice.setSources(sources);
+        return inputDevice;
+    }
+
+    @Implementation
+    public int getSources() {
+        return mSources;
+    }
+
+    public void setSources(int sources) {
+        mSources = sources;
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/users/MultiUserSwitchBarControllerTest.java b/tests/robotests/src/com/android/settings/users/MultiUserSwitchBarControllerTest.java
index bfab257..58288a5 100644
--- a/tests/robotests/src/com/android/settings/users/MultiUserSwitchBarControllerTest.java
+++ b/tests/robotests/src/com/android/settings/users/MultiUserSwitchBarControllerTest.java
@@ -23,28 +23,40 @@
 
 import android.content.Context;
 import android.content.pm.UserInfo;
+import android.multiuser.Flags;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.platform.test.annotations.RequiresFlagsDisabled;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
 
+import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
 import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settings.widget.SwitchWidgetController;
 
 import org.junit.After;
 import org.junit.Before;
+import org.junit.Rule;
 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 = {ShadowUserManager.class})
+@Config(shadows = {ShadowUserManager.class, ShadowDevicePolicyManager.class})
 public class MultiUserSwitchBarControllerTest {
 
     private Context mContext;
     private ShadowUserManager mUserManager;
     private SwitchWidgetController mSwitchWidgetController;
 
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
 
     @Before
     public void setUp() {
@@ -60,6 +72,7 @@
     }
 
     @Test
+    @RequiresFlagsDisabled({Flags.FLAG_FIX_DISABLING_OF_MU_TOGGLE_WHEN_RESTRICTION_APPLIED})
     public void onStart_disallowUserSwitch_shouldSetDisabledByAdmin() {
         mUserManager.setUserRestriction(UserHandle.of(UserHandle.myUserId()),
                 UserManager.DISALLOW_USER_SWITCH, true);
@@ -71,6 +84,48 @@
     }
 
     @Test
+    @RequiresFlagsEnabled({Flags.FLAG_FIX_DISABLING_OF_MU_TOGGLE_WHEN_RESTRICTION_APPLIED})
+    public void onStart_disallowUserSwitchEnforcedByAdmin_shouldSetDisabledByAdminUnchecked() {
+        int userId = UserHandle.myUserId();
+        List<UserManager.EnforcingUser> enforcingUsers = new ArrayList<>();
+        enforcingUsers.add(new UserManager.EnforcingUser(userId,
+                UserManager.RESTRICTION_SOURCE_DEVICE_OWNER));
+        // Ensure that RestrictedLockUtils.checkIfRestrictionEnforced doesn't return null.
+        ShadowUserManager.getShadow().setUserRestrictionSources(
+                UserManager.DISALLOW_USER_SWITCH,
+                UserHandle.of(userId),
+                enforcingUsers);
+
+        new MultiUserSwitchBarController(mContext, mSwitchWidgetController, null);
+        verify(mSwitchWidgetController).setChecked(false);
+        verify(mSwitchWidgetController).setDisabledByAdmin(any());
+    }
+
+    @Test
+    @RequiresFlagsEnabled({Flags.FLAG_FIX_DISABLING_OF_MU_TOGGLE_WHEN_RESTRICTION_APPLIED})
+    public void onStart_disallowUserSwitch_userNotMain_shouldSetDisabledUnchecked() {
+        mUserManager.setUserRestriction(UserHandle.of(UserHandle.myUserId()),
+                UserManager.DISALLOW_USER_SWITCH, true);
+        new MultiUserSwitchBarController(mContext, mSwitchWidgetController, null);
+
+        verify(mSwitchWidgetController).setChecked(false);
+        verify(mSwitchWidgetController).setEnabled(false);
+        verify(mSwitchWidgetController, never()).setDisabledByAdmin(any());
+    }
+
+    @Test
+    @RequiresFlagsEnabled({Flags.FLAG_FIX_DISABLING_OF_MU_TOGGLE_WHEN_RESTRICTION_APPLIED})
+    public void onStart_allowUserSwitch_notMainUser_shouldSetDisabled() {
+        mUserManager.setUserRestriction(UserHandle.of(UserHandle.myUserId()),
+                UserManager.DISALLOW_USER_SWITCH, false);
+        mUserManager.addUser(10, "Test", UserInfo.FLAG_ADMIN);
+        mUserManager.switchUser(10);
+        new MultiUserSwitchBarController(mContext, mSwitchWidgetController, null);
+
+        verify(mSwitchWidgetController).setEnabled(false);
+    }
+
+    @Test
     public void onStart_allowUserSwitch_shouldNotSetDisabledByAdmin() {
         mUserManager.setUserRestriction(UserHandle.of(UserHandle.myUserId()),
                 UserManager.DISALLOW_USER_SWITCH, false);
diff --git a/tests/robotests/src/com/android/settings/users/TimeoutToDockUserPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/users/TimeoutToDockUserPreferenceControllerTest.java
index 7bc66c8..fe88148 100644
--- a/tests/robotests/src/com/android/settings/users/TimeoutToDockUserPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/users/TimeoutToDockUserPreferenceControllerTest.java
@@ -39,7 +39,6 @@
 
 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;
@@ -126,7 +125,6 @@
                 BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
     }
 
-    @Ignore("b/313530297")
     @Test
     public void getAvailabilityStatus_isCurrentlyMainUser_returnDisabledForUser() {
         when(mUserManager.getMainUser()).thenReturn(UserHandle.CURRENT);
@@ -136,7 +134,6 @@
                 BasePreferenceController.DISABLED_FOR_USER);
     }
 
-    @Ignore("b/313530297")
     @Test
     public void getAvailabilityStatus_featureAndMultiUserEnabledAndNonMainUser_returnAvailable() {
         when(mUserManager.isUserForeground()).thenReturn(true);
diff --git a/tests/robotests/src/com/android/settings/users/UserCapabilitiesTest.java b/tests/robotests/src/com/android/settings/users/UserCapabilitiesTest.java
index a47703c..bec49e1 100644
--- a/tests/robotests/src/com/android/settings/users/UserCapabilitiesTest.java
+++ b/tests/robotests/src/com/android/settings/users/UserCapabilitiesTest.java
@@ -81,6 +81,17 @@
     }
 
     @Test
+    public void changeAdminStatus_updateUserCapabilities_mIsAdminGetsUpdated() {
+        mUserManager.setIsAdminUser(false);
+        UserCapabilities userCapabilities = UserCapabilities.create(mContext);
+        assertThat(userCapabilities.isAdmin()).isFalse();
+
+        mUserManager.setIsAdminUser(true);
+        userCapabilities.updateAddUserCapabilities(mContext);
+        assertThat(userCapabilities.mIsAdmin).isTrue();
+    }
+
+    @Test
     public void userSwitchEnabled_off() {
         mUserManager.setUserSwitcherEnabled(false);
 
diff --git a/tests/robotests/src/com/android/settings/users/UserDetailsSettingsTest.java b/tests/robotests/src/com/android/settings/users/UserDetailsSettingsTest.java
index 7f27324..482aa5d 100644
--- a/tests/robotests/src/com/android/settings/users/UserDetailsSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/users/UserDetailsSettingsTest.java
@@ -22,7 +22,7 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assume.assumeTrue;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyString;
@@ -42,9 +42,13 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.UserInfo;
+import android.multiuser.Flags;
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
 import android.telephony.TelephonyManager;
 
 import androidx.fragment.app.FragmentActivity;
@@ -63,7 +67,7 @@
 
 import org.junit.After;
 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;
@@ -124,6 +128,8 @@
     private Bundle mArguments;
     private UserInfo mUserInfo;
 
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
@@ -222,8 +228,8 @@
     }
 
     @Test
-    @Ignore("b/313530297")
     public void onResume_canSwitch_shouldEnableSwitchPref() {
+        setupSelectedUser();
         mUserManager.setSwitchabilityStatus(SWITCHABILITY_STATUS_OK);
         mFragment.mSwitchUserPref = mSwitchUserPref;
         mFragment.onAttach(mContext);
@@ -234,8 +240,8 @@
     }
 
     @Test
-    @Ignore("b/313530297")
     public void onResume_userInCall_shouldDisableSwitchPref() {
+        setupSelectedUser();
         mUserManager.setSwitchabilityStatus(SWITCHABILITY_STATUS_USER_IN_CALL);
         mFragment.mSwitchUserPref = mSwitchUserPref;
         mFragment.onAttach(mContext);
@@ -246,8 +252,21 @@
     }
 
     @Test
-    @Ignore("b/313530297")
+    @RequiresFlagsEnabled({Flags.FLAG_NEW_MULTIUSER_SETTINGS_UX})
+    public void onResume_UserSwitcherDisabled_shouldDisableSwitchPref() {
+        setupSelectedUser();
+        mUserCapabilities.mUserSwitcherEnabled = false;
+        mFragment.mSwitchUserPref = mSwitchUserPref;
+        mFragment.onAttach(mContext);
+
+        mFragment.onResume();
+
+        verify(mSwitchUserPref).setEnabled(false);
+    }
+
+    @Test
     public void onResume_switchDisallowed_shouldDisableSwitchPref() {
+        setupSelectedUser();
         mUserManager.setSwitchabilityStatus(SWITCHABILITY_STATUS_USER_SWITCH_DISALLOWED);
         mFragment.mSwitchUserPref = mSwitchUserPref;
         mFragment.onAttach(mContext);
@@ -258,8 +277,8 @@
     }
 
     @Test
-    @Ignore("b/313530297")
     public void onResume_systemUserLocked_shouldDisableSwitchPref() {
+        setupSelectedUser();
         mUserManager.setSwitchabilityStatus(UserManager.SWITCHABILITY_STATUS_SYSTEM_USER_LOCKED);
         mFragment.mSwitchUserPref = mSwitchUserPref;
         mFragment.onAttach(mContext);
@@ -269,7 +288,6 @@
         verify(mSwitchUserPref).setEnabled(false);
     }
 
-    @Ignore("b/313530297")
     @Test
     public void initialize_adminWithTelephony_shouldShowPhonePreference() {
         setupSelectedUser();
@@ -315,7 +333,6 @@
         verify(mFragment).removePreference(KEY_APP_AND_CONTENT_ACCESS);
     }
 
-    @Ignore("b/313530297")
     @Test
     public void initialize_adminSelectsSecondaryUser_shouldShowRemovePreference() {
         setupSelectedUser();
@@ -328,7 +345,6 @@
         verify(mFragment, never()).removePreference(KEY_REMOVE_USER);
     }
 
-    @Ignore("b/313530297")
     @Test
     public void initialize_adminSelectsNewRestrictedUser_shouldOpenAppContentScreen() {
         setupSelectedRestrictedUser();
@@ -351,7 +367,6 @@
                 .isEqualTo(true);
     }
 
-    @Ignore("b/313530297")
     @Test
     public void initialize_adminSelectsRestrictedUser_shouldSetupPreferences() {
         setupSelectedRestrictedUser();
@@ -381,7 +396,6 @@
         verify(mActivity, never()).startActivity(any(Intent.class));
     }
 
-    @Ignore("b/313530297")
     @Test
     public void initialize_adminSelectsGuest_shouldShowRemovePreference() {
         setupSelectedGuest();
@@ -425,7 +439,6 @@
         verify(mFragment).removePreference(KEY_REMOVE_USER);
     }
 
-    @Ignore("b/313530297")
     @Test
     public void initialize_userHasCallRestriction_shouldSetPhoneSwitchUnChecked() {
         setupSelectedUser();
@@ -438,7 +451,6 @@
         verify(mPhonePref).setChecked(false);
     }
 
-    @Ignore("b/313530297")
     @Test
     public void initialize_noCallRestriction_shouldSetPhoneSwitchChecked() {
         setupSelectedUser();
@@ -537,7 +549,6 @@
         verify(mFragment, never()).switchUser();
     }
 
-    @Ignore("b/313530297")
     @Test
     public void onPreferenceClick_removeGuestClicked_canDelete_shouldShowDialog() {
         setupSelectedGuest();
@@ -555,7 +566,6 @@
         verify(mFragment).showDialog(DIALOG_CONFIRM_RESET_GUEST);
     }
 
-    @Ignore("b/313530297")
     @Test
     public void onPreferenceClick_removeRestrictedClicked_canDelete_shouldShowDialog() {
         setupSelectedRestrictedUser();
@@ -574,7 +584,6 @@
         verify(mFragment).showDialog(DIALOG_CONFIRM_REMOVE);
     }
 
-    @Ignore("b/313530297")
     @Test
     public void onPreferenceClick_removeClicked_canDelete_shouldShowDialog() {
         setupSelectedUser();
@@ -666,7 +675,6 @@
         assertThat(result).isFalse();
     }
 
-    @Ignore("b/313530297")
     @Test
     public void canDeleteUser_adminSelectsUser_noRestrictions_shouldReturnTrue() {
         setupSelectedUser();
@@ -700,17 +708,16 @@
         assertThat(result).isFalse();
     }
 
-    @Ignore("b/313530297")
     @Test
     public void initialize_userSelected_shouldShowGrantAdminPref_MultipleAdminEnabled() {
+        assumeTrue(UserManager.isHeadlessSystemUserMode());
         setupSelectedUser();
+        mUserManager.setIsAdminUser(true);
         ShadowUserManager.setIsMultipleAdminEnabled(true);
         mFragment.initialize(mActivity, mArguments);
-        assertTrue(UserManager.isMultipleAdminEnabled());
         verify(mFragment, never()).removePreference(KEY_GRANT_ADMIN);
     }
 
-    @Ignore("b/313530297")
     @Test
     public void initialize_userSelected_shouldNotShowGrantAdminPref() {
         setupSelectedUser();
@@ -718,18 +725,29 @@
         verify(mFragment).removePreference(KEY_GRANT_ADMIN);
     }
 
-    @Ignore("b/313530297")
     @Test
     public void initialize_restrictUserSelected_shouldNotShowGrantAdminPref_MultipleAdminEnabled() {
         setupSelectedUser();
         ShadowUserManager.setIsMultipleAdminEnabled(true);
+        // target user has DISALLOW_GRANT_ADMIN restriction
         mUserManager.setUserRestriction(mUserInfo.getUserHandle(),
                 UserManager.DISALLOW_GRANT_ADMIN, true);
         mFragment.initialize(mActivity, mArguments);
         verify(mFragment).removePreference(KEY_GRANT_ADMIN);
     }
 
-    @Ignore("b/313530297")
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_UNICORN_MODE_REFACTORING_FOR_HSUM_READ_ONLY)
+    public void initialize_currentUserRestrict_shouldNotShowGrantAdminPref_MultipleAdminEnabled() {
+        setupSelectedUser();
+        ShadowUserManager.setIsMultipleAdminEnabled(true);
+        // current user has DISALLOW_GRANT_ADMIN restriction
+        mUserManager.setUserRestriction(mContext.getUser(),
+                UserManager.DISALLOW_GRANT_ADMIN, true);
+        mFragment.initialize(mActivity, mArguments);
+        verify(mFragment).removePreference(KEY_GRANT_ADMIN);
+    }
+
     @Test
     public void initialize_mainUserSelected_shouldShowGrantAdminPref_MultipleAdminEnabled() {
         setupSelectedMainUser();
@@ -738,7 +756,6 @@
         verify(mFragment).removePreference(KEY_GRANT_ADMIN);
     }
 
-    @Ignore("b/313530297")
     @Test
     public void initialize_guestSelected_shouldNotShowGrantAdminPref_MultipleAdminEnabled() {
         setupSelectedGuest();
@@ -778,7 +795,7 @@
         mUserInfo = new UserInfo(1, "Tom", null,
                 UserInfo.FLAG_FULL | UserInfo.FLAG_INITIALIZED,
                 UserManager.USER_TYPE_FULL_SECONDARY);
-
+        mFragment.mUserInfo = mUserInfo;
         mUserManager.addProfile(mUserInfo);
     }
 
@@ -787,7 +804,7 @@
         mUserInfo = new UserInfo(11, "Jerry", null,
                 UserInfo.FLAG_FULL | UserInfo.FLAG_INITIALIZED | UserInfo.FLAG_MAIN,
                 UserManager.USER_TYPE_FULL_SECONDARY);
-
+        mFragment.mUserInfo = mUserInfo;
         mUserManager.addProfile(mUserInfo);
     }
 
@@ -796,7 +813,7 @@
         mUserInfo = new UserInfo(12, "Andy", null,
                 UserInfo.FLAG_FULL | UserInfo.FLAG_INITIALIZED | UserInfo.FLAG_ADMIN,
                 UserManager.USER_TYPE_FULL_SECONDARY);
-
+        mFragment.mUserInfo = mUserInfo;
         mUserManager.addProfile(mUserInfo);
     }
 
@@ -805,7 +822,7 @@
         mUserInfo = new UserInfo(23, "Guest", null,
                 UserInfo.FLAG_FULL | UserInfo.FLAG_INITIALIZED | UserInfo.FLAG_GUEST,
                 UserManager.USER_TYPE_FULL_GUEST);
-
+        mFragment.mUserInfo = mUserInfo;
         mUserManager.addProfile(mUserInfo);
     }
 
@@ -814,7 +831,7 @@
         mUserInfo = new UserInfo(21, "Bob", null,
                 UserInfo.FLAG_FULL | UserInfo.FLAG_INITIALIZED | UserInfo.FLAG_RESTRICTED,
                 UserManager.USER_TYPE_FULL_RESTRICTED);
-
+        mFragment.mUserInfo = mUserInfo;
         mUserManager.addProfile(mUserInfo);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/users/UserSettingsTest.java b/tests/robotests/src/com/android/settings/users/UserSettingsTest.java
index 5826ca2..85db0bd 100644
--- a/tests/robotests/src/com/android/settings/users/UserSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/users/UserSettingsTest.java
@@ -34,6 +34,7 @@
 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.settings.SettingsEnums;
@@ -46,10 +47,15 @@
 import android.content.pm.UserInfo;
 import android.graphics.Bitmap;
 import android.graphics.drawable.Drawable;
+import android.multiuser.Flags;
 import android.os.Bundle;
 import android.os.Looper;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.platform.test.annotations.RequiresFlagsDisabled;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
 import android.provider.Settings;
 import android.text.SpannableStringBuilder;
 import android.view.Menu;
@@ -75,6 +81,7 @@
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Ignore;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.AdditionalMatchers;
@@ -142,6 +149,9 @@
     private UserSettings mFragment;
     private UserCapabilities mUserCapabilities;
 
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
@@ -359,6 +369,7 @@
     }
 
     @Test
+    @RequiresFlagsDisabled({Flags.FLAG_NEW_MULTIUSER_SETTINGS_UX})
     public void updateUserList_cannotSwitchUser_shouldDisableAddUser() {
         mUserCapabilities.mCanAddUser = true;
         doReturn(true).when(mUserManager).canAddMoreUsers(anyString());
@@ -375,6 +386,20 @@
     }
 
     @Test
+    @RequiresFlagsEnabled({Flags.FLAG_NEW_MULTIUSER_SETTINGS_UX})
+    public void updateUserList_disallowAddUser_shouldDisableAddUserAndAddGuest() {
+        mUserCapabilities.mDisallowAddUserSetByAdmin = true;
+        doReturn(true).when(mUserManager).canAddMoreUsers(anyString());
+        doReturn(SWITCHABILITY_STATUS_OK)
+                .when(mUserManager).getUserSwitchability();
+
+        mFragment.updateUserList();
+
+        verify(mAddUserPreference).setVisible(true);
+        verify(mAddUserPreference).setDisabledByAdmin(any());
+    }
+
+    @Test
     public void updateUserList_canNotAddMoreUsers_shouldDisableAddUserWithSummary() {
         mUserCapabilities.mCanAddUser = true;
         doReturn(false).when(mUserManager).canAddMoreUsers(anyString());
@@ -392,6 +417,7 @@
     }
 
     @Test
+    @RequiresFlagsDisabled({Flags.FLAG_NEW_MULTIUSER_SETTINGS_UX})
     public void updateUserList_cannotSwitchUser_shouldDisableAddGuest() {
         mUserCapabilities.mCanAddGuest = true;
         doReturn(true)
@@ -406,6 +432,54 @@
     }
 
     @Test
+    @RequiresFlagsEnabled({Flags.FLAG_NEW_MULTIUSER_SETTINGS_UX})
+    public void updateUserList_cannotSwitchUser_shouldKeepPreferencesVisibleAndEnabled() {
+        givenUsers(getAdminUser(true));
+        mUserCapabilities.mCanAddGuest = true;
+        mUserCapabilities.mCanAddUser = true;
+        mUserCapabilities.mDisallowSwitchUser = true;
+        doReturn(true)
+                .when(mUserManager).canAddMoreUsers(eq(UserManager.USER_TYPE_FULL_GUEST));
+        doReturn(true)
+                .when(mUserManager).canAddMoreUsers(eq(UserManager.USER_TYPE_FULL_SECONDARY));
+
+        mFragment.updateUserList();
+
+        verify(mAddGuestPreference).setVisible(true);
+        verify(mAddGuestPreference).setEnabled(true);
+        verify(mAddUserPreference).setVisible(true);
+        verify(mAddUserPreference).setEnabled(true);
+    }
+
+    @Test
+    @RequiresFlagsEnabled({Flags.FLAG_NEW_MULTIUSER_SETTINGS_UX})
+    public void updateUserList_disallowAddUser_shouldShowButDisableAddActions() {
+        givenUsers(getAdminUser(true));
+        mUserCapabilities.mCanAddGuest = true;
+        mUserCapabilities.mCanAddUser = false;
+        mUserCapabilities.mDisallowAddUser = true;
+        mUserCapabilities.mDisallowAddUserSetByAdmin = false;
+        List<UserManager.EnforcingUser> enforcingUsers = new ArrayList<>();
+        enforcingUsers.add(new UserManager.EnforcingUser(UserHandle.myUserId(),
+                UserManager.RESTRICTION_SOURCE_SYSTEM));
+        when(mUserManager.getUserRestrictionSources(UserManager.DISALLOW_ADD_USER,
+                UserHandle.of(UserHandle.myUserId()))).thenReturn(enforcingUsers);
+
+        doReturn(true)
+                .when(mUserManager).canAddMoreUsers(eq(UserManager.USER_TYPE_FULL_GUEST));
+        doReturn(true)
+                .when(mUserManager).canAddMoreUsers(eq(UserManager.USER_TYPE_FULL_SECONDARY));
+
+        mFragment.updateUserList();
+
+        verify(mAddGuestPreference).setVisible(true);
+        verify(mAddGuestPreference).setEnabled(false);
+        verify(mAddUserPreference).setVisible(true);
+        verify(mAddUserPreference).setEnabled(false);
+    }
+
+    @Test
+    @RequiresFlagsDisabled({Flags.FLAG_NEW_MULTIUSER_SETTINGS_UX})
     public void updateUserList_addUserDisallowedByAdmin_shouldNotShowAddUser() {
         RestrictedLockUtils.EnforcedAdmin enforcedAdmin = mock(
                 RestrictedLockUtils.EnforcedAdmin.class);
@@ -421,6 +495,22 @@
     }
 
     @Test
+    @RequiresFlagsEnabled({Flags.FLAG_NEW_MULTIUSER_SETTINGS_UX})
+    public void updateUserList_addUserDisallowedByAdmin_shouldShowPrefDisabledByAdmin() {
+        RestrictedLockUtils.EnforcedAdmin enforcedAdmin = mock(
+                RestrictedLockUtils.EnforcedAdmin.class);
+
+        mUserCapabilities.mEnforcedAdmin = enforcedAdmin;
+        mUserCapabilities.mCanAddUser = false;
+        mUserCapabilities.mDisallowAddUser = true;
+        mUserCapabilities.mDisallowAddUserSetByAdmin = true;
+        doReturn(true).when(mAddUserPreference).isEnabled();
+
+        mFragment.updateUserList();
+
+        verify(mAddUserPreference).setDisabledByAdmin(enforcedAdmin);
+    }
+    @Test
     public void updateUserList_cannotAddUserButCanSwitchUser_shouldNotShowAddUser() {
         mUserCapabilities.mCanAddUser = false;
 
@@ -461,18 +551,31 @@
     }
 
     @Test
-    public void updateUserList_userSwitcherDisabled_shouldNotShowAddUser() {
+    public void updateUserList_userSwitcherDisabled_shouldShowAddUser() {
         givenUsers(getAdminUser(true));
         mUserCapabilities.mCanAddUser = true;
         mUserCapabilities.mUserSwitcherEnabled = false;
 
         mFragment.updateUserList();
 
-        verify(mAddUserPreference).setVisible(false);
+        verify(mAddUserPreference).setVisible(true);
     }
 
     @Test
-    public void updateUserList_userSwitcherDisabled_shouldNotShowAddGuest() {
+    public void updateUserList_userSwitcherDisabled_shouldShowAddGuest() {
+        givenUsers(getAdminUser(true));
+        mUserCapabilities.mCanAddGuest = true;
+        mUserCapabilities.mUserSwitcherEnabled = false;
+        doReturn(true)
+                .when(mUserManager).canAddMoreUsers(eq(UserManager.USER_TYPE_FULL_GUEST));
+
+        mFragment.updateUserList();
+
+        verify(mAddGuestPreference).setVisible(true);
+    }
+
+    @Test
+    public void updateUserList_userSwitcherDisabledCannotAddMoreGuests_shouldNotShowAddGuest() {
         givenUsers(getAdminUser(true));
         mUserCapabilities.mCanAddGuest = true;
         mUserCapabilities.mUserSwitcherEnabled = false;
@@ -533,18 +636,18 @@
     }
 
     @Test
-    public void updateUserList_existingSecondaryUser_shouldAddOnlyCurrUser_MultiUserIsDisabled() {
+    public void updateUserList_existingSecondaryUser_shouldAddAllUsers_MultiUserIsDisabled() {
         givenUsers(getAdminUser(true), getSecondaryUser(false));
         mUserCapabilities.mUserSwitcherEnabled = false;
 
         mFragment.updateUserList();
 
         ArgumentCaptor<UserPreference> captor = ArgumentCaptor.forClass(UserPreference.class);
-        verify(mFragment.mUserListCategory, times(1))
+        verify(mFragment.mUserListCategory, times(2))
                 .addPreference(captor.capture());
 
         List<UserPreference> userPrefs = captor.getAllValues();
-        assertThat(userPrefs.size()).isEqualTo(1);
+        assertThat(userPrefs.size()).isEqualTo(2);
         assertThat(userPrefs.get(0)).isSameInstanceAs(mMePreference);
     }
 
@@ -631,6 +734,7 @@
     }
 
     @Test
+    @RequiresFlagsDisabled({Flags.FLAG_NEW_MULTIUSER_SETTINGS_UX})
     public void updateUserList_uninitializedUserAndCanNotSwitchUser_shouldDisablePref() {
         UserInfo uninitializedUser = getSecondaryUser(false);
         removeFlag(uninitializedUser, UserInfo.FLAG_INITIALIZED);
diff --git a/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java b/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java
index d35b608..9b5f452 100644
--- a/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java
+++ b/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java
@@ -35,8 +35,8 @@
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageInfo;
-import android.content.pm.UserInfo;
 import android.graphics.drawable.ColorDrawable;
+import android.os.UserHandle;
 import android.webkit.UserPackage;
 
 import androidx.fragment.app.FragmentActivity;
@@ -71,15 +71,17 @@
 })
 public class WebViewAppPickerTest {
 
-    private final static String PACKAGE_NAME = "com.example.test";
-    private final static String PACKAGE_VERSION = "1.0.0";
+    private static final String PACKAGE_NAME = "com.example.test";
+    private static final String PACKAGE_VERSION = "1.0.0";
+    private static final String FIRST_USER_NAME = "FIRST_USER";
+    private static final String SECOND_USER_NAME = "SECOND_USER";
 
     @Mock
     private FragmentActivity mActivity;
 
     private Context mContext;
-    private UserInfo mFirstUser;
-    private UserInfo mSecondUser;
+    private UserHandle mFirstUser;
+    private UserHandle mSecondUser;
     private ShadowPackageManager mPackageManager;
     private WebViewAppPicker mPicker;
     private WebViewUpdateServiceWrapper mWvusWrapper;
@@ -105,8 +107,8 @@
         mPackageManager.addPackage(packageInfo);
         mPackageManager.setUnbadgedApplicationIcon(PACKAGE_NAME, new ColorDrawable());
 
-        mFirstUser = new UserInfo(0, "FIRST_USER", 0);
-        mSecondUser = new UserInfo(0, "SECOND_USER", 0);
+        mFirstUser = mUserManager.addUser(0, FIRST_USER_NAME, 0);
+        mSecondUser = mUserManager.addUser(1, SECOND_USER_NAME, 0);
         mPicker = new WebViewAppPicker();
         mPicker = spy(mPicker);
         doNothing().when(mPicker).updateCandidates();
@@ -238,13 +240,13 @@
         UserPackage packageForFirstUser = mock(UserPackage.class);
         when(packageForFirstUser.isEnabledPackage()).thenReturn(false);
         when(packageForFirstUser.isInstalledPackage()).thenReturn(true);
-        when(packageForFirstUser.getUserInfo()).thenReturn(mFirstUser);
+        when(packageForFirstUser.getUser()).thenReturn(mFirstUser);
 
         WebViewUpdateServiceWrapper wvusWrapper = mock(WebViewUpdateServiceWrapper.class);
         when(wvusWrapper.getPackageInfosAllUsers(any(), eq(PACKAGE_NAME)))
                 .thenReturn(Collections.singletonList(packageForFirstUser));
 
-        final String expectedReason = String.format("(disabled for user %s)", mFirstUser.name);
+        final String expectedReason = String.format("(disabled for user %s)", FIRST_USER_NAME);
         assertThat(mPicker.getDisabledReason(wvusWrapper, mContext, PACKAGE_NAME))
                 .isEqualTo(expectedReason);
     }
@@ -254,13 +256,13 @@
         UserPackage packageForFirstUser = mock(UserPackage.class);
         when(packageForFirstUser.isEnabledPackage()).thenReturn(true);
         when(packageForFirstUser.isInstalledPackage()).thenReturn(false);
-        when(packageForFirstUser.getUserInfo()).thenReturn(mFirstUser);
+        when(packageForFirstUser.getUser()).thenReturn(mFirstUser);
 
         WebViewUpdateServiceWrapper wvusWrapper = mock(WebViewUpdateServiceWrapper.class);
         when(wvusWrapper.getPackageInfosAllUsers(any(), eq(PACKAGE_NAME)))
                 .thenReturn(Collections.singletonList(packageForFirstUser));
 
-        final String expectedReason = String.format("(uninstalled for user %s)", mFirstUser.name);
+        final String expectedReason = String.format("(uninstalled for user %s)", FIRST_USER_NAME);
         assertThat(mPicker.getDisabledReason(wvusWrapper, mContext, PACKAGE_NAME))
                 .isEqualTo(expectedReason);
     }
@@ -270,18 +272,18 @@
         UserPackage packageForFirstUser = mock(UserPackage.class);
         when(packageForFirstUser.isEnabledPackage()).thenReturn(false);
         when(packageForFirstUser.isInstalledPackage()).thenReturn(true);
-        when(packageForFirstUser.getUserInfo()).thenReturn(mFirstUser);
+        when(packageForFirstUser.getUser()).thenReturn(mFirstUser);
 
         UserPackage packageForSecondUser = mock(UserPackage.class);
         when(packageForSecondUser.isEnabledPackage()).thenReturn(true);
         when(packageForSecondUser.isInstalledPackage()).thenReturn(false);
-        when(packageForSecondUser.getUserInfo()).thenReturn(mSecondUser);
+        when(packageForSecondUser.getUser()).thenReturn(mSecondUser);
 
         WebViewUpdateServiceWrapper wvusWrapper = mock(WebViewUpdateServiceWrapper.class);
         when(wvusWrapper.getPackageInfosAllUsers(any(), eq(PACKAGE_NAME)))
                 .thenReturn(Arrays.asList(packageForFirstUser, packageForSecondUser));
 
-        final String expectedReason = String.format("(disabled for user %s)", mFirstUser.name);
+        final String expectedReason = String.format("(disabled for user %s)", FIRST_USER_NAME);
         assertThat(mPicker.getDisabledReason(wvusWrapper, mContext, PACKAGE_NAME))
                 .isEqualTo(expectedReason);
     }
@@ -295,18 +297,18 @@
         UserPackage packageForFirstUser = mock(UserPackage.class);
         when(packageForFirstUser.isEnabledPackage()).thenReturn(false);
         when(packageForFirstUser.isInstalledPackage()).thenReturn(false);
-        when(packageForFirstUser.getUserInfo()).thenReturn(mFirstUser);
+        when(packageForFirstUser.getUser()).thenReturn(mFirstUser);
 
         UserPackage packageForSecondUser = mock(UserPackage.class);
         when(packageForSecondUser.isEnabledPackage()).thenReturn(true);
         when(packageForSecondUser.isInstalledPackage()).thenReturn(true);
-        when(packageForSecondUser.getUserInfo()).thenReturn(mSecondUser);
+        when(packageForSecondUser.getUser()).thenReturn(mSecondUser);
 
         WebViewUpdateServiceWrapper wvusWrapper = mock(WebViewUpdateServiceWrapper.class);
         when(wvusWrapper.getPackageInfosAllUsers(any(), eq(PACKAGE_NAME)))
                 .thenReturn(Arrays.asList(packageForFirstUser, packageForSecondUser));
 
-        final String expectedReason = String.format("(uninstalled for user %s)", mFirstUser.name);
+        final String expectedReason = String.format("(uninstalled for user %s)", FIRST_USER_NAME);
         assertThat(mPicker.getDisabledReason(wvusWrapper, mContext, PACKAGE_NAME))
                 .isEqualTo(expectedReason);
     }
diff --git a/tests/robotests/src/com/android/settings/wifi/AddWifiNetworkPreferenceTest.java b/tests/robotests/src/com/android/settings/wifi/AddWifiNetworkPreferenceTest.java
index 5f88eb2..c0adaf3 100644
--- a/tests/robotests/src/com/android/settings/wifi/AddWifiNetworkPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/AddWifiNetworkPreferenceTest.java
@@ -15,19 +15,23 @@
  */
 package com.android.settings.wifi;
 
+import static android.os.UserManager.DISALLOW_ADD_WIFI_CONFIG;
+
 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.os.UserManager;
 
 import androidx.test.core.app.ApplicationProvider;
 
-import com.android.settingslib.RestrictedLockUtils;
-
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.Mock;
 import org.mockito.Spy;
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
@@ -42,31 +46,44 @@
     public final MockitoRule mMockitoRule = MockitoJUnit.rule();
     @Spy
     Context mContext = ApplicationProvider.getApplicationContext();
+    @Mock
+    private UserManager mUserManager;
 
     private AddWifiNetworkPreference mPreference;
 
     @Before
     public void setUp() {
-        mPreference = new AddWifiNetworkPreference(mContext);
+        when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
+
+        mPreference = spy(new AddWifiNetworkPreference(mContext));
     }
 
     @Test
-    public void updatePreferenceForRestriction_isAddWifiConfigAllowed_prefIsEnabled() {
-        // If the user is allowed to add Wi-Fi configuration then the EnforcedAdmin will be null.
-        RestrictedLockUtils.EnforcedAdmin enforcedAdmin = null;
+    public void checkRestrictionAndSetDisabled_disabledByAdmin_keepEnabledForClicks() {
+        when(mPreference.isDisabledByAdmin()).thenReturn(true);
 
-        mPreference.setDisabledByAdmin(enforcedAdmin);
+        mPreference.checkRestrictionAndSetDisabled();
 
         assertThat(mPreference.isEnabled()).isTrue();
     }
 
     @Test
-    public void updatePreferenceForRestriction_isAddWifiConfigNotAllowed_prefIsDisabled() {
-        RestrictedLockUtils.EnforcedAdmin enforcedAdmin = new RestrictedLockUtils.EnforcedAdmin(
-                null /* component */, UserManager.DISALLOW_ADD_WIFI_CONFIG, null /* user */);
+    public void checkRestrictionAndSetDisabled_notDisabledByAdmin_setDisabled() {
+        when(mPreference.isDisabledByAdmin()).thenReturn(false);
+        when(mUserManager.hasUserRestriction(DISALLOW_ADD_WIFI_CONFIG)).thenReturn(true);
 
-        mPreference.setDisabledByAdmin(enforcedAdmin);
+        mPreference.checkRestrictionAndSetDisabled();
 
         assertThat(mPreference.isEnabled()).isFalse();
     }
+
+    @Test
+    public void checkRestrictionAndSetDisabled_noRestriction_setEnabled() {
+        when(mPreference.isDisabledByAdmin()).thenReturn(false);
+        when(mUserManager.hasUserRestriction(DISALLOW_ADD_WIFI_CONFIG)).thenReturn(false);
+
+        mPreference.checkRestrictionAndSetDisabled();
+
+        assertThat(mPreference.isEnabled()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java b/tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java
index 7d96496..d985ee5 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java
@@ -459,46 +459,45 @@
     public void loadMacRandomizedValue_shouldPersistentAsDefault() {
         final Spinner privacySetting = mView.findViewById(R.id.privacy_settings);
         final int prefPersist =
-                WifiPrivacyPreferenceController2.translateMacRandomizedValueToPrefValue(
-                        WifiConfiguration.RANDOMIZATION_PERSISTENT);
+                WifiPrivacyPreferenceController2.translateWifiEntryPrivacyToPrefValue(
+                        WifiEntry.PRIVACY_RANDOMIZED_MAC);
 
         assertThat(privacySetting.getVisibility()).isEqualTo(View.VISIBLE);
         assertThat(privacySetting.getSelectedItemPosition()).isEqualTo(prefPersist);
     }
 
     @Test
-    public void loadSavedMacRandomizedPersistentValue_shouldCorrectMacValue() {
-        checkSavedMacRandomizedValue(WifiConfiguration.RANDOMIZATION_PERSISTENT);
+    public void loadSavedPrivacyRandomizedMacValue_shouldCorrectMacValue() {
+        checkSavedMacRandomizedValue(WifiEntry.PRIVACY_RANDOMIZED_MAC);
     }
 
     @Test
-    public void loadSavedMacRandomizedNoneValue_shouldCorrectMacValue() {
-        checkSavedMacRandomizedValue(WifiConfiguration.RANDOMIZATION_NONE);
+    public void loadSavedPrivacyDeviceMacValue_shouldCorrectMacValue() {
+        checkSavedMacRandomizedValue(WifiEntry.PRIVACY_DEVICE_MAC);
     }
 
-    private void checkSavedMacRandomizedValue(int macRandomizedValue) {
+    private void checkSavedMacRandomizedValue(@WifiEntry.Privacy int privacy) {
         when(mWifiEntry.isSaved()).thenReturn(true);
         final WifiConfiguration mockWifiConfig = spy(new WifiConfiguration());
         when(mockWifiConfig.getIpConfiguration()).thenReturn(mock(IpConfiguration.class));
         when(mWifiEntry.getWifiConfiguration()).thenReturn(mockWifiConfig);
-        mockWifiConfig.macRandomizationSetting = macRandomizedValue;
+        when(mWifiEntry.getPrivacy()).thenReturn(privacy);
         createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
 
         final Spinner privacySetting = mView.findViewById(R.id.privacy_settings);
         final int expectedPrefValue =
-                WifiPrivacyPreferenceController2.translateMacRandomizedValueToPrefValue(
-                        macRandomizedValue);
+                WifiPrivacyPreferenceController2.translateWifiEntryPrivacyToPrefValue(privacy);
 
         assertThat(privacySetting.getVisibility()).isEqualTo(View.VISIBLE);
         assertThat(privacySetting.getSelectedItemPosition()).isEqualTo(expectedPrefValue);
     }
 
     @Test
-    public void saveMacRandomizedValue_noChanged_shouldPersistentAsDefault() {
+    public void saveMacRandomizedValue_noChanged_shouldAutoAsDefault() {
         createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         WifiConfiguration config = mController.getConfig();
         assertThat(config.macRandomizationSetting).isEqualTo(
-                WifiConfiguration.RANDOMIZATION_PERSISTENT);
+                WifiConfiguration.RANDOMIZATION_AUTO);
     }
 
     @Test
@@ -506,7 +505,7 @@
         createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         final Spinner privacySetting = mView.findViewById(R.id.privacy_settings);
         final int prefMacNone =
-                WifiPrivacyPreferenceController2.translateMacRandomizedValueToPrefValue(
+                WifiPrivacyPreferenceController2.translateWifiEntryPrivacyToPrefValue(
                         WifiConfiguration.RANDOMIZATION_NONE);
         privacySetting.setSelection(prefMacNone);
 
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceControllerTest.java
deleted file mode 100644
index 9204d43..0000000
--- a/tests/robotests/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceControllerTest.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.anyInt;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.net.ConnectivityManager;
-import android.net.NetworkRequest;
-import android.net.NetworkScoreManager;
-import android.net.wifi.WifiManager;
-import android.os.Handler;
-
-import androidx.preference.Preference.OnPreferenceChangeListener;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.testutils.shadow.ShadowRestrictedLockUtilsInternal;
-import com.android.settingslib.PrimarySwitchPreference;
-import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
-
-import org.junit.Before;
-import org.junit.Test;
-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 = ShadowRestrictedLockUtilsInternal.class)
-public class WifiPrimarySwitchPreferenceControllerTest {
-
-    @Mock
-    private Intent mIntentReceiver;
-    @Mock
-    private WifiManager mWifiManager;
-    @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    private PrimarySwitchPreference mPreference;
-    @Mock
-    private ConnectivityManager mConnectivityManager;
-    @Mock
-    private NetworkScoreManager mNetworkScoreManager;
-
-    private Context mContext;
-    private WifiPrimarySwitchPreferenceController mController;
-    private MetricsFeatureProvider mMetricsFeatureProvider;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mMetricsFeatureProvider = FakeFeatureFactory.setupForTest().getMetricsFeatureProvider();
-        mContext = spy(RuntimeEnvironment.application.getApplicationContext());
-        doReturn(mIntentReceiver).when(mContext)
-                .registerReceiver(any(BroadcastReceiver.class), any(IntentFilter.class), anyInt());
-        doNothing().when(mContext).unregisterReceiver(any(BroadcastReceiver.class));
-        when(mContext.getSystemService(ConnectivityManager.class)).thenReturn(mConnectivityManager);
-        when(mContext.getSystemService(NetworkScoreManager.class)).thenReturn(mNetworkScoreManager);
-        mController = new WifiPrimarySwitchPreferenceController(mContext, mMetricsFeatureProvider);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
-        when(mContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager);
-        when(mWifiManager.getWifiState()).thenReturn(WifiManager.WIFI_STATE_DISABLED);
-    }
-
-    @Test
-    public void testWifiPrimarySwitch_byDefault_shouldBeShown() {
-        assertThat(mController.isAvailable()).isTrue();
-    }
-
-    @Test
-    @Config(qualifiers = "mcc999")
-    public void testWifiPrimarySwitch_ifDisabled_shouldNotBeShown() {
-        assertThat(mController.isAvailable()).isFalse();
-    }
-
-    @Test
-    public void onResume_shouldRegisterCallback() {
-        mController.onResume();
-
-        verify(mContext).registerReceiver(
-                any(BroadcastReceiver.class), any(IntentFilter.class), anyInt());
-        verify(mConnectivityManager).registerNetworkCallback(
-                any(NetworkRequest.class),
-                any(ConnectivityManager.NetworkCallback.class),
-                any(Handler.class));
-    }
-
-    @Test
-    public void onPause_shouldUnregisterCallback() {
-        mController.onResume();
-        mController.onPause();
-
-        verify(mContext).unregisterReceiver(any(BroadcastReceiver.class));
-        verify(mConnectivityManager, times(2)).unregisterNetworkCallback(
-                any(ConnectivityManager.NetworkCallback.class));
-    }
-
-    @Test
-    public void onStart_shouldRegisterPreferenceChangeListener() {
-        mController.displayPreference(mScreen);
-        mController.onStart();
-
-        verify(mPreference).setOnPreferenceChangeListener(any(OnPreferenceChangeListener.class));
-    }
-
-    @Test
-    public void onStop_shouldRegisterPreferenceChangeListener() {
-        mController.displayPreference(mScreen);
-        mController.onStart();
-
-        mController.onStop();
-
-        verify(mPreference).setOnPreferenceChangeListener(null);
-    }
-
-    @Test
-    public void onSummaryChanged_shouldUpdatePreferenceSummary() {
-        mController.displayPreference(mScreen);
-
-        mController.onSummaryChanged("test summary");
-
-        verify(mPreference).setSummary("test summary");
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiSummaryUpdaterTest.java b/tests/robotests/src/com/android/settings/wifi/WifiSummaryUpdaterTest.java
deleted file mode 100644
index 99040db..0000000
--- a/tests/robotests/src/com/android/settings/wifi/WifiSummaryUpdaterTest.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.anyInt;
-import static org.mockito.ArgumentMatchers.anyString;
-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 android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.net.wifi.WifiManager;
-
-import com.android.settings.R;
-import com.android.settings.widget.SummaryUpdater.OnSummaryChangeListener;
-import com.android.settingslib.wifi.WifiStatusTracker;
-
-import org.junit.Before;
-import 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 WifiSummaryUpdaterTest {
-    @Mock private WifiStatusTracker mWifiTracker;
-    @Mock private SummaryListener mListener;
-
-    private Context mContext;
-    private WifiSummaryUpdater mSummaryUpdater;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application.getApplicationContext());
-        doReturn(mock(Intent.class)).when(mContext).registerReceiver(any(), any(), anyInt());
-        doNothing().when(mContext).unregisterReceiver(any(BroadcastReceiver.class));
-
-        mSummaryUpdater = new WifiSummaryUpdater(mContext, mListener, mWifiTracker);
-    }
-
-    @Test
-    public void register_true_shouldRegisterListenerAndTracker() {
-        mSummaryUpdater.register(true);
-
-        verify(mContext).registerReceiver(any(BroadcastReceiver.class), any(IntentFilter.class),
-                anyInt());
-        verify(mWifiTracker).setListening(true);
-    }
-
-    @Test
-    public void register_true_shouldFetchInitialStateAndSendSummaryChange() {
-        mSummaryUpdater.register(true);
-
-        verify(mWifiTracker).fetchInitialState();
-        verify(mListener).onSummaryChanged(anyString());
-    }
-
-    @Test
-    public void register_false_shouldUnregisterListenerAndTracker() {
-        mSummaryUpdater.register(true);
-        mSummaryUpdater.register(false);
-
-        verify(mContext).unregisterReceiver(any(BroadcastReceiver.class));
-        verify(mWifiTracker).setListening(false);
-    }
-
-    @Test
-    public void onReceive_networkStateChanged_shouldSendSummaryChange() {
-        mSummaryUpdater.register(true);
-        mContext.sendBroadcast(new Intent(WifiManager.NETWORK_STATE_CHANGED_ACTION));
-
-        verify(mListener).onSummaryChanged(anyString());
-    }
-
-    @Test
-    public void onReceive_rssiChanged_shouldSendSummaryChange() {
-        mSummaryUpdater.register(true);
-        mContext.sendBroadcast(new Intent(WifiManager.RSSI_CHANGED_ACTION));
-
-        verify(mListener).onSummaryChanged(anyString());
-    }
-
-    @Test
-    public void getSummary_wifiDisabled_shouldReturnDisabled() {
-        mWifiTracker.enabled = false;
-
-        assertThat(mSummaryUpdater.getSummary())
-            .isEqualTo(mContext.getString(R.string.switch_off_text));
-    }
-
-    @Test
-    public void getSummary_wifiDisconnected_shouldReturnDisconnected() {
-        mWifiTracker.enabled = true;
-        mWifiTracker.connected = false;
-
-        assertThat(mSummaryUpdater.getSummary())
-            .isEqualTo(mContext.getString(R.string.disconnected));
-    }
-
-    @Test
-    public void getSummary_wifiConnected_shouldReturnSsid() {
-        mWifiTracker.enabled = true;
-        mWifiTracker.connected = true;
-        mWifiTracker.ssid = "Test Ssid";
-
-        assertThat(mSummaryUpdater.getSummary()).isEqualTo("Test Ssid");
-    }
-
-    @Test
-    public void getSummary_wifiConnected_withSpeedLabel_shouldReturnSsid_withSpeedLabel() {
-        mWifiTracker.enabled = true;
-        mWifiTracker.connected = true;
-        mWifiTracker.ssid = "Test Ssid";
-        mWifiTracker.statusLabel = "Very Fast";
-
-        assertThat(mSummaryUpdater.getSummary()).isEqualTo("Test Ssid / Very Fast");
-    }
-
-    private class SummaryListener implements OnSummaryChangeListener {
-        private String summary;
-
-        @Override
-        public void onSummaryChanged(String summary) {
-            this.summary = summary;
-        }
-    }
-}
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 4497a0a..4440bc9 100644
--- a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java
@@ -48,6 +48,8 @@
 import android.telephony.ims.ImsMmTelManager;
 import android.view.View;
 
+import androidx.annotation.NonNull;
+import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
@@ -56,10 +58,14 @@
 import com.android.settings.SettingsActivity;
 import com.android.settings.network.ims.MockWifiCallingQueryImsState;
 import com.android.settings.network.ims.WifiCallingQueryImsState;
+import com.android.settings.network.telephony.wificalling.IWifiCallingRepository;
 import com.android.settings.testutils.shadow.ShadowFragment;
 import com.android.settings.widget.SettingsMainSwitchBar;
 import com.android.settings.widget.SettingsMainSwitchPreference;
 
+import kotlin.Unit;
+import kotlin.jvm.functions.Function1;
+
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -183,36 +189,25 @@
     }
 
     @Test
-    public void onResume_provisioningAllowed_shouldNotFinish() {
-        // Call onResume while provisioning is allowed.
-        mFragment.onResume();
+    public void onViewCreated_provisioningAllowed_shouldNotFinish() {
+        // Call onViewCreated while provisioning is allowed.
+        mFragment.onViewCreated(mView, null);
 
         // Verify that finish() is not called.
         verify(mFragment, never()).finish();
     }
 
     @Test
-    public void onResume_provisioningDisallowed_shouldFinish() {
-        // Call onResume while provisioning is disallowed.
-        mQueryImsState.setIsProvisionedOnDevice(false);
-        mFragment.onResume();
+    public void onViewCreated_provisioningDisallowed_shouldFinish() {
+        // Call onViewCreated while provisioning is disallowed.
+        mFragment.mIsWifiCallingReady = false;
+        mFragment.onViewCreated(mView, null);
 
         // Verify that finish() is called
         verify(mFragment).finish();
     }
 
     @Test
-    public void onResumeOnPause_provisioningCallbackRegistration() throws Exception {
-        // Verify that provisioning callback is registered after call to onResume().
-        mFragment.onResume();
-        verify(mFragment).registerProvisioningChangedCallback();
-
-        // Verify that provisioning callback is unregistered after call to onPause.
-        mFragment.onPause();
-        verify(mFragment).unregisterProvisioningChangedCallback();
-    }
-
-    @Test
     public void onResume_useWfcHomeModeConfigFalseAndEditable_shouldShowWfcRoaming() {
         // Call onResume to update the WFC roaming preference.
         mFragment.onResume();
@@ -377,6 +372,7 @@
 
     protected class TestFragment extends WifiCallingSettingsForSub {
         private SettingsMainSwitchPreference mSwitchPref;
+        protected boolean mIsWifiCallingReady = true;
 
         protected void setSwitchBar(SettingsMainSwitchPreference switchPref) {
             mSwitchPref = switchPref;
@@ -422,6 +418,25 @@
         }
 
         @Override
+        @NonNull
+        IWifiCallingRepository getWifiCallingRepository() {
+            return new IWifiCallingRepository() {
+                @Override
+                public void collectIsWifiCallingReadyFlow(
+                        @NonNull LifecycleOwner lifecycleOwner,
+                        @NonNull Function1<? super Boolean, Unit> action) {
+                    action.invoke(mIsWifiCallingReady);
+                }
+            };
+        }
+
+        @NonNull
+        @Override
+        LifecycleOwner getLifecycleOwner() {
+            return this;
+        }
+
+        @Override
         void showAlert(Intent intent) {
         }
     }
diff --git a/tests/robotests/src/com/android/settings/wifi/details/WifiNetworkDetailsFragmentTest.java b/tests/robotests/src/com/android/settings/wifi/details/WifiNetworkDetailsFragmentTest.java
index 8f96e27..631302e 100644
--- a/tests/robotests/src/com/android/settings/wifi/details/WifiNetworkDetailsFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/details/WifiNetworkDetailsFragmentTest.java
@@ -32,6 +32,7 @@
 
 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;
@@ -247,6 +248,15 @@
     }
 
     @Test
+    public void onHotspotNetworkChanged_uiRestricted_doNothing() {
+        mFragment.mIsUiRestricted = true;
+
+        mFragment.onHotspotNetworkChanged(null /* HotspotNetworkData */);
+
+        verify(mScreen, never()).findPreference(any());
+    }
+
+    @Test
     public void updateInternetSource_networkTypeWifi_setWifiResource() {
         doReturn(mDrawable).when(mContext)
                 .getDrawable(WifiUtils.getInternetIconResource(WIFI_LEVEL_MAX, false));
diff --git a/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragmentTest.java b/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragmentTest.java
index 13f575f..38b4b71 100644
--- a/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragmentTest.java
@@ -26,6 +26,7 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
 
+import android.app.settings.SettingsEnums;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -36,13 +37,19 @@
 import android.content.res.Resources;
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
 
 import androidx.fragment.app.FragmentTransaction;
 import androidx.test.InstrumentationRegistry;
 import androidx.test.runner.AndroidJUnit4;
 
+import com.android.settings.flags.Flags;
+
 import org.junit.Before;
 import org.junit.Ignore;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.MockitoAnnotations;
@@ -55,6 +62,7 @@
     private WifiDppQrCodeGeneratorFragment mFragment;
     private Context mContext;
 
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
 
     @Before
     public void setUp() {
@@ -163,4 +171,18 @@
         assertThat(mFragment.createNearbyButton(new Intent(), v -> {
         })).isNotNull();
     }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_WIFI_SHARING_RUNTIME_FRAGMENT)
+    public void getMetricsCatetory_shouldReturnDppQrSharing() {
+        assertThat(mFragment.getMetricsCategory())
+                .isEqualTo(SettingsEnums.SETTINGS_WIFI_DPP_QR_SHARING);
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_ENABLE_WIFI_SHARING_RUNTIME_FRAGMENT)
+    public void getMetricsCatetory_shouldReturnDppConfigurator() {
+        assertThat(mFragment.getMetricsCategory())
+                .isEqualTo(SettingsEnums.SETTINGS_WIFI_DPP_CONFIGURATOR);
+    }
 }
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 299d545..0bc0a32 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
@@ -263,91 +263,114 @@
 
     @Test
     public void getNonIndexableKeys_tetherAvailable_keysNotReturned() {
-        when(mWifiRestriction.isTetherAvailable(mContext)).thenReturn(true);
-        when(mWifiRestriction.isHotspotAvailable(mContext)).thenReturn(true);
-        WifiTetherSettings.SearchIndexProvider searchIndexProvider =
-                new WifiTetherSettings.SearchIndexProvider(XML_RES, mWifiRestriction,
-                        true /* isInstantHotspotEnabled */);
+        WifiTetherSettings.SearchIndexProvider searchIndexProvider = createSearchIndexProvider(
+                true /* isTetherAvailable */, true /* isHotspotAvailable */,
+                true /* isInstantHotspotEnabled */, true /* isSpeedFeatureAvailable */);
 
         final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext);
 
         assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_NAME);
         assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_SECURITY);
+        assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_HOTSPOT_SECURITY);
+        assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
+        assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
+        assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY);
+        assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_HOTSPOT_SPEED);
+        assertThat(keys).doesNotContain(WifiTetherSettings.KEY_INSTANT_HOTSPOT);
+    }
+
+    @Test
+    public void getNonIndexableKeys_tetherNotAvailable_keysReturned() {
+        WifiTetherSettings.SearchIndexProvider searchIndexProvider = createSearchIndexProvider(
+                false /* isTetherAvailable */, true /* isHotspotAvailable */,
+                true /* isInstantHotspotEnabled */, true /* isSpeedFeatureAvailable */);
+
+        final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext);
+
+        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_NAME);
+        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_SECURITY);
+        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_HOTSPOT_SECURITY);
+        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
+        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
+        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY);
+        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_HOTSPOT_SPEED);
+        assertThat(keys).contains(WifiTetherSettings.KEY_INSTANT_HOTSPOT);
+    }
+
+    @Test
+    public void getNonIndexableKeys_hotspotNotAvailable_keysReturned() {
+        WifiTetherSettings.SearchIndexProvider searchIndexProvider = createSearchIndexProvider(
+                true /* isTetherAvailable */, false /* isHotspotAvailable */,
+                true /* isInstantHotspotEnabled */, true /* isSpeedFeatureAvailable */);
+
+        final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext);
+
+        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_NAME);
+        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_SECURITY);
+        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_HOTSPOT_SECURITY);
+        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
+        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
+        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY);
+        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_HOTSPOT_SPEED);
+        assertThat(keys).contains(WifiTetherSettings.KEY_INSTANT_HOTSPOT);
+    }
+
+    @Test
+    public void getNonIndexableKeys_tetherAndHotspotNotAvailable_keysReturned() {
+        WifiTetherSettings.SearchIndexProvider searchIndexProvider = createSearchIndexProvider(
+                false /* isTetherAvailable */, false /* isHotspotAvailable */,
+                true /* isInstantHotspotEnabled */, true /* isSpeedFeatureAvailable */);
+
+        final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext);
+
+        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_NAME);
+        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_SECURITY);
+        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_HOTSPOT_SECURITY);
+        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
+        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
+        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY);
+        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_HOTSPOT_SPEED);
+        assertThat(keys).contains(WifiTetherSettings.KEY_INSTANT_HOTSPOT);
+    }
+
+    @Test
+    public void getNonIndexableKeys_instantHotspotNotAvailableOnly_keysContainInstantHotspotOnly() {
+        WifiTetherSettings.SearchIndexProvider searchIndexProvider = createSearchIndexProvider(
+                true /* isTetherAvailable */, true /* isHotspotAvailable */,
+                false /* isInstantHotspotEnabled */, true /* isSpeedFeatureAvailable */);
+
+        final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext);
+
+        // doesNotContain
+        assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_NAME);
+        assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_SECURITY);
+        assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_HOTSPOT_SECURITY);
+        assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
+        assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
+        assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY);
+        assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_HOTSPOT_SPEED);
+        // contains
+        assertThat(keys).contains(WifiTetherSettings.KEY_INSTANT_HOTSPOT);
+    }
+
+    @Test
+    public void getNonIndexableKeys_speedFeatureNotAvailableOnly_keysContainInstantHotspotOnly() {
+        WifiTetherSettings.SearchIndexProvider searchIndexProvider = createSearchIndexProvider(
+                true /* isTetherAvailable */, true /* isHotspotAvailable */,
+                true /* isInstantHotspotEnabled */, false /* isSpeedFeatureAvailable */);
+
+        final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext);
+
+        // doesNotContain
+        assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_NAME);
+        assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_SECURITY);
         assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
         assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
         assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY);
         assertThat(keys).doesNotContain(WifiTetherSettings.KEY_INSTANT_HOTSPOT);
-    }
-
-    @Test
-    public void getNonIndexableKeys_tetherNotAvailable_keysReturned() {
-        when(mWifiRestriction.isTetherAvailable(mContext)).thenReturn(false);
-        when(mWifiRestriction.isHotspotAvailable(mContext)).thenReturn(true);
-        WifiTetherSettings.SearchIndexProvider searchIndexProvider =
-                new WifiTetherSettings.SearchIndexProvider(XML_RES, mWifiRestriction,
-                        true /* isInstantHotspotEnabled */);
-
-        final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext);
-
-        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_NAME);
-        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_SECURITY);
-        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
-        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
-        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY);
-        assertThat(keys).contains(WifiTetherSettings.KEY_INSTANT_HOTSPOT);
-    }
-
-    @Test
-    public void getNonIndexableKeys_hotspotNotAvailable_keysReturned() {
-        when(mWifiRestriction.isTetherAvailable(mContext)).thenReturn(true);
-        when(mWifiRestriction.isHotspotAvailable(mContext)).thenReturn(false);
-        WifiTetherSettings.SearchIndexProvider searchIndexProvider =
-                new WifiTetherSettings.SearchIndexProvider(XML_RES, mWifiRestriction,
-                        true /* isInstantHotspotEnabled */);
-
-        final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext);
-
-        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_NAME);
-        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_SECURITY);
-        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
-        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
-        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY);
-        assertThat(keys).contains(WifiTetherSettings.KEY_INSTANT_HOTSPOT);
-    }
-
-    @Test
-    public void getNonIndexableKeys_tetherAndHotspotNotAvailable_keysReturned() {
-        when(mWifiRestriction.isTetherAvailable(mContext)).thenReturn(false);
-        when(mWifiRestriction.isHotspotAvailable(mContext)).thenReturn(false);
-        WifiTetherSettings.SearchIndexProvider searchIndexProvider =
-                new WifiTetherSettings.SearchIndexProvider(XML_RES, mWifiRestriction,
-                        true /* isInstantHotspotEnabled */);
-
-        final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext);
-
-        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_NAME);
-        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_SECURITY);
-        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
-        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
-        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY);
-    }
-
-    @Test
-    public void getNonIndexableKeys_instantHotspotNotAvailableOnly_keysContainInstantHotspotOnly() {
-        when(mWifiRestriction.isTetherAvailable(mContext)).thenReturn(true);
-        when(mWifiRestriction.isHotspotAvailable(mContext)).thenReturn(true);
-        WifiTetherSettings.SearchIndexProvider searchIndexProvider =
-                new WifiTetherSettings.SearchIndexProvider(XML_RES, mWifiRestriction,
-                        false /* isInstantHotspotEnabled */);
-
-        final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext);
-
-        assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_NAME);
-        assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_SECURITY);
-        assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
-        assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
-        assertThat(keys).doesNotContain(WifiTetherSettings.KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY);
-        assertThat(keys).contains(WifiTetherSettings.KEY_INSTANT_HOTSPOT);
+        // contains
+        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_HOTSPOT_SECURITY);
+        assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_HOTSPOT_SPEED);
     }
 
     @Test
@@ -506,6 +529,18 @@
         mSettings.onCreate(Bundle.EMPTY);
     }
 
+    private WifiTetherSettings.SearchIndexProvider createSearchIndexProvider(
+            boolean isTetherAvailable, boolean isHotspotAvailable, boolean isInstantHotspotEnabled,
+            boolean isSpeedFeatureAvailable) {
+        when(mWifiRestriction.isTetherAvailable(mContext)).thenReturn(isTetherAvailable);
+        when(mWifiRestriction.isHotspotAvailable(mContext)).thenReturn(isHotspotAvailable);
+        WifiTetherSettings.SearchIndexProvider provider =
+                spy(new WifiTetherSettings.SearchIndexProvider(XML_RES, mWifiRestriction,
+                        isInstantHotspotEnabled));
+        when(provider.isSpeedFeatureAvailable()).thenReturn(isSpeedFeatureAvailable);
+        return provider;
+    }
+
     @Implements(RestrictedDashboardFragment.class)
     public static final class ShadowRestrictedDashboardFragment {
 
diff --git a/tests/robotests/testutils/com/android/settings/testutils/FakeFeatureFactory.java b/tests/robotests/testutils/com/android/settings/testutils/FakeFeatureFactory.java
index e0f4b9e..2cb41bc 100644
--- a/tests/robotests/testutils/com/android/settings/testutils/FakeFeatureFactory.java
+++ b/tests/robotests/testutils/com/android/settings/testutils/FakeFeatureFactory.java
@@ -25,7 +25,6 @@
 import com.android.settings.applications.ApplicationFeatureProvider;
 import com.android.settings.biometrics.face.FaceFeatureProvider;
 import com.android.settings.biometrics.fingerprint.FingerprintFeatureProvider;
-import com.android.settings.biometrics2.factory.BiometricsRepositoryProvider;
 import com.android.settings.bluetooth.BluetoothFeatureProvider;
 import com.android.settings.connecteddevice.fastpair.FastPairFeatureProvider;
 import com.android.settings.connecteddevice.stylus.StylusFeatureProvider;
@@ -83,7 +82,6 @@
     public final BluetoothFeatureProvider mBluetoothFeatureProvider;
     public final FaceFeatureProvider mFaceFeatureProvider;
     public final FingerprintFeatureProvider mFingerprintFeatureProvider;
-    public final BiometricsRepositoryProvider mBiometricsRepositoryProvider;
 
     public PanelFeatureProvider panelFeatureProvider;
     public SlicesFeatureProvider slicesFeatureProvider;
@@ -139,7 +137,6 @@
         mBluetoothFeatureProvider = mock(BluetoothFeatureProvider.class);
         mFaceFeatureProvider = mock(FaceFeatureProvider.class);
         mFingerprintFeatureProvider = mock(FingerprintFeatureProvider.class);
-        mBiometricsRepositoryProvider = mock(BiometricsRepositoryProvider.class);
         wifiTrackerLibProvider = mock(WifiTrackerLibProvider.class);
         securitySettingsFeatureProvider = mock(SecuritySettingsFeatureProvider.class);
         mAccessibilitySearchFeatureProvider = mock(AccessibilitySearchFeatureProvider.class);
@@ -272,11 +269,6 @@
     }
 
     @Override
-    public BiometricsRepositoryProvider getBiometricsRepositoryProvider() {
-        return mBiometricsRepositoryProvider;
-    }
-
-    @Override
     public WifiTrackerLibProvider getWifiTrackerLibProvider() {
         return wifiTrackerLibProvider;
     }
diff --git a/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowUserManager.java b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowUserManager.java
index 417b102..02ed03c 100644
--- a/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowUserManager.java
+++ b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowUserManager.java
@@ -363,6 +363,10 @@
     }
 
     @Implementation
+    protected boolean isAdminUser() {
+        return getUserInfo(UserHandle.myUserId()).isAdmin();
+    }
+    @Implementation
     protected boolean isGuestUser() {
         return mIsGuestUser;
     }
diff --git a/tests/screenshot/src/com/android/settings/tests/screenshot/biometrics/fingerprint/Injector.kt b/tests/screenshot/src/com/android/settings/tests/screenshot/biometrics/fingerprint/Injector.kt
index 19433f3..e7fc3ed 100644
--- a/tests/screenshot/src/com/android/settings/tests/screenshot/biometrics/fingerprint/Injector.kt
+++ b/tests/screenshot/src/com/android/settings/tests/screenshot/biometrics/fingerprint/Injector.kt
@@ -111,9 +111,10 @@
 
   var fingerprintEnrollViewModel =
     FingerprintEnrollViewModel(
-      fingerprintManagerInteractor,
       gatekeeperViewModel,
       navigationViewModel,
+      fingerprintManagerInteractor,
+      fingerprintManagerInteractor,
     )
 
   var fingerprintEnrollEnrollingViewModel =
diff --git a/tests/shared/src/com/android/settings/testutils2/FakeFingerprintManagerInteractor.kt b/tests/shared/src/com/android/settings/testutils2/FakeFingerprintManagerInteractor.kt
index 52df724..f61a3d3 100644
--- a/tests/shared/src/com/android/settings/testutils2/FakeFingerprintManagerInteractor.kt
+++ b/tests/shared/src/com/android/settings/testutils2/FakeFingerprintManagerInteractor.kt
@@ -22,7 +22,14 @@
 import android.hardware.fingerprint.FingerprintEnrollOptions
 import android.hardware.fingerprint.FingerprintSensorProperties
 import android.hardware.fingerprint.FingerprintSensorPropertiesInternal
-import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.FingerprintManagerInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.AuthenitcateInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.CanEnrollFingerprintsInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.EnrollFingerprintInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.EnrolledFingerprintsInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.GenerateChallengeInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.RemoveFingerprintInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.RenameFingerprintInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.SensorInteractor
 import com.android.settings.biometrics.fingerprint2.lib.model.EnrollReason
 import com.android.settings.biometrics.fingerprint2.lib.model.FingerEnrollState
 import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintAuthAttemptModel
@@ -35,7 +42,15 @@
 import kotlinx.coroutines.flow.flowOf
 
 /** Fake to be used by other classes to easily fake the FingerprintManager implementation. */
-class FakeFingerprintManagerInteractor : FingerprintManagerInteractor {
+class FakeFingerprintManagerInteractor :
+  AuthenitcateInteractor,
+  CanEnrollFingerprintsInteractor,
+  EnrolledFingerprintsInteractor,
+  EnrollFingerprintInteractor,
+  GenerateChallengeInteractor,
+  RemoveFingerprintInteractor,
+  RenameFingerprintInteractor,
+  SensorInteractor {
 
   var enrollableFingerprints: Int = 5
   var enrolledFingerprintsInternal: MutableList<FingerprintData> = mutableListOf()
@@ -67,19 +82,22 @@
   override val enrolledFingerprints: Flow<List<FingerprintData>> = flow {
     emit(enrolledFingerprintsInternal)
   }
-
   override val canEnrollFingerprints: Flow<Boolean> = flow {
     emit(enrolledFingerprintsInternal.size < enrollableFingerprints)
   }
 
-  override val sensorPropertiesInternal: Flow<FingerprintSensor?> = flow { emit(sensorProp) }
+  override fun maxFingerprintsEnrollable(): Int {
+    return enrollableFingerprints
+  }
 
-  override val maxEnrollableFingerprints: Flow<Int> = flow { emit(enrollableFingerprints) }
+  override val sensorPropertiesInternal: Flow<FingerprintSensor?> = flow { emit(sensorProp) }
+  override val hasSideFps: Flow<Boolean> =
+    flowOf(sensorProp.sensorType == FingerprintSensorType.POWER_BUTTON)
 
   override suspend fun enroll(
     hardwareAuthToken: ByteArray?,
     enrollReason: EnrollReason,
-    fingerprintEnrollOptions: FingerprintEnrollOptions
+    fingerprintEnrollOptions: FingerprintEnrollOptions,
   ): Flow<FingerEnrollState> = flowOf(*enrollStateViewModel.toTypedArray())
 
   override suspend fun removeFingerprint(fp: FingerprintData): Boolean {
@@ -92,7 +110,4 @@
     }
   }
 
-  override suspend fun hasSideFps(): Boolean {
-    return sensorProp.sensorType == FingerprintSensorType.POWER_BUTTON
-  }
 }
diff --git a/tests/spa_unit/src/com/android/settings/datausage/lib/AppDataUsageRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/datausage/lib/AppDataUsageRepositoryTest.kt
index 3f517a9..5026b08 100644
--- a/tests/spa_unit/src/com/android/settings/datausage/lib/AppDataUsageRepositoryTest.kt
+++ b/tests/spa_unit/src/com/android/settings/datausage/lib/AppDataUsageRepositoryTest.kt
@@ -38,48 +38,55 @@
 import org.mockito.kotlin.doReturn
 import org.mockito.kotlin.mock
 import org.mockito.kotlin.spy
+import org.mockito.kotlin.stub
 
 @RunWith(AndroidJUnit4::class)
 class AppDataUsageRepositoryTest {
-    @get:Rule
-    val mockito: MockitoRule = MockitoJUnit.rule()
+    @get:Rule val mockito: MockitoRule = MockitoJUnit.rule()
 
-    private val mockUserManager = mock<UserManager> {
-        on { userProfiles } doReturn listOf(UserHandle.of(USER_ID))
-        on { getUserInfo(USER_ID) } doReturn UserInfo(USER_ID, "", 0)
-    }
+    private val mockUserManager =
+        mock<UserManager> {
+            on { userProfiles } doReturn listOf(UserHandle.of(USER_ID))
+            on { getUserInfo(USER_ID) } doReturn UserInfo(USER_ID, "", 0)
+        }
 
-    private val mockNetworkPolicyManager = mock<NetworkPolicyManager> {
-        on { getUidsWithPolicy(NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND) } doReturn
-            intArrayOf()
-    }
+    private val mockNetworkPolicyManager =
+        mock<NetworkPolicyManager> {
+            on { getUidsWithPolicy(NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND) } doReturn
+                intArrayOf()
+        }
 
-    private val mockResources = mock<Resources> {
-        on { getIntArray(R.array.datausage_hiding_carrier_service_carrier_id) } doReturn
-            intArrayOf(HIDING_CARRIER_ID)
+    private val mockResources =
+        mock<Resources> {
+            on { getIntArray(R.array.datausage_hiding_carrier_service_carrier_id) } doReturn
+                intArrayOf(HIDING_CARRIER_ID)
 
-        on { getStringArray(R.array.datausage_hiding_carrier_service_package_names) } doReturn
-            arrayOf(HIDING_PACKAGE_NAME)
-    }
+            on { getStringArray(R.array.datausage_hiding_carrier_service_package_names) } doReturn
+                arrayOf(HIDING_PACKAGE_NAME)
+        }
 
-    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
-        on { userManager } doReturn mockUserManager
-        on { getSystemService(NetworkPolicyManager::class.java) } doReturn mockNetworkPolicyManager
-        on { resources } doReturn mockResources
-    }
+    private val context: Context =
+        spy(ApplicationProvider.getApplicationContext()) {
+            on { userManager } doReturn mockUserManager
+            on { getSystemService(NetworkPolicyManager::class.java) } doReturn
+                mockNetworkPolicyManager
+            on { resources } doReturn mockResources
+        }
 
     @Test
     fun getAppPercent_noAppToHide() {
-        val repository = AppDataUsageRepository(
-            context = context,
-            currentUserId = USER_ID,
-            template = Template,
-            getPackageName = { null },
-        )
-        val buckets = listOf(
-            Bucket(uid = APP_ID_1, bytes = 1, startTimeStamp = 0, endTimeStamp = 0),
-            Bucket(uid = APP_ID_2, bytes = 2, startTimeStamp = 0, endTimeStamp = 0),
-        )
+        val repository =
+            AppDataUsageRepository(
+                context = context,
+                currentUserId = USER_ID,
+                template = Template,
+                getPackageName = { null },
+            )
+        val buckets =
+            listOf(
+                Bucket(uid = APP_ID_1, bytes = 1, startTimeStamp = 0, endTimeStamp = 0),
+                Bucket(uid = APP_ID_2, bytes = 2, startTimeStamp = 0, endTimeStamp = 0),
+            )
 
         val appPercentList = repository.getAppPercent(null, buckets)
 
@@ -100,16 +107,18 @@
 
     @Test
     fun getAppPercent_hasAppToHide() {
-        val repository = AppDataUsageRepository(
-            context = context,
-            currentUserId = USER_ID,
-            template = Template,
-            getPackageName = { if (it.key == APP_ID_1) HIDING_PACKAGE_NAME else null },
-        )
-        val buckets = listOf(
-            Bucket(uid = APP_ID_1, bytes = 1, startTimeStamp = 0, endTimeStamp = 0),
-            Bucket(uid = APP_ID_2, bytes = 2, startTimeStamp = 0, endTimeStamp = 0),
-        )
+        val repository =
+            AppDataUsageRepository(
+                context = context,
+                currentUserId = USER_ID,
+                template = Template,
+                getPackageName = { if (it.key == APP_ID_1) HIDING_PACKAGE_NAME else null },
+            )
+        val buckets =
+            listOf(
+                Bucket(uid = APP_ID_1, bytes = 1, startTimeStamp = 0, endTimeStamp = 0),
+                Bucket(uid = APP_ID_2, bytes = 2, startTimeStamp = 0, endTimeStamp = 0),
+            )
 
         val appPercentList = repository.getAppPercent(HIDING_CARRIER_ID, buckets)
 
@@ -122,6 +131,43 @@
         assertThat(appPercentList[0].second).isEqualTo(100)
     }
 
+    @Test
+    fun getAppPercent_restricted() {
+        mockNetworkPolicyManager.stub {
+            on { getUidsWithPolicy(NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND) } doReturn
+                intArrayOf(APP_ID_1)
+        }
+        val repository =
+            AppDataUsageRepository(
+                context = context,
+                currentUserId = USER_ID,
+                template = Template,
+                getPackageName = { null },
+            )
+        val buckets =
+            listOf(
+                Bucket(uid = APP_ID_2, bytes = 2, startTimeStamp = 0, endTimeStamp = 0),
+            )
+
+        val appPercentList = repository.getAppPercent(null, buckets)
+
+        assertThat(appPercentList).hasSize(2)
+        appPercentList[0].first.apply {
+            assertThat(key).isEqualTo(APP_ID_2)
+            assertThat(category).isEqualTo(AppItem.CATEGORY_APP)
+            assertThat(total).isEqualTo(2)
+            assertThat(restricted).isFalse()
+        }
+        assertThat(appPercentList[0].second).isEqualTo(100)
+        appPercentList[1].first.apply {
+            assertThat(key).isEqualTo(APP_ID_1)
+            assertThat(category).isEqualTo(AppItem.CATEGORY_APP)
+            assertThat(total).isEqualTo(0)
+            assertThat(restricted).isTrue()
+        }
+        assertThat(appPercentList[1].second).isEqualTo(0)
+    }
+
     private companion object {
         const val USER_ID = 1
         const val APP_ID_1 = 110001
diff --git a/tests/spa_unit/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogRepositoryTest.kt
index 01f32bf..1c1d9df 100644
--- a/tests/spa_unit/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogRepositoryTest.kt
+++ b/tests/spa_unit/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogRepositoryTest.kt
@@ -17,65 +17,65 @@
 package com.android.settings.deviceinfo.simstatus
 
 import android.content.Context
-import android.os.PersistableBundle
 import android.telephony.CarrierConfigManager
 import androidx.lifecycle.testing.TestLifecycleOwner
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.android.settings.deviceinfo.simstatus.SimStatusDialogRepository.SimStatusDialogInfo
+import com.android.settings.network.telephony.CarrierConfigRepository
 import com.android.settings.network.telephony.SimSlotRepository
 import com.android.settings.network.telephony.ims.ImsMmTelRepository
 import com.google.common.truth.Truth.assertThat
 import kotlinx.coroutines.delay
 import kotlinx.coroutines.flow.flowOf
 import kotlinx.coroutines.runBlocking
+import org.junit.Before
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.kotlin.anyVararg
 import org.mockito.kotlin.doReturn
-import org.mockito.kotlin.eq
 import org.mockito.kotlin.mock
-import org.mockito.kotlin.spy
 
 @RunWith(AndroidJUnit4::class)
 class SimStatusDialogRepositoryTest {
 
-    private val carrierConfig = PersistableBundle().apply {
-        putBoolean(CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL, true)
-    }
+    private val context: Context = ApplicationProvider.getApplicationContext()
 
-    private val mockCarrierConfigManager = mock<CarrierConfigManager> {
-        on { getConfigForSubId(eq(SUB_ID), anyVararg()) } doReturn carrierConfig
-    }
+    private val mockSimSlotRepository =
+        mock<SimSlotRepository> {
+            on { subIdInSimSlotFlow(SIM_SLOT_INDEX) } doReturn flowOf(SUB_ID)
+        }
 
-    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
-        on { getSystemService(CarrierConfigManager::class.java) } doReturn mockCarrierConfigManager
-    }
+    private val mockSignalStrengthRepository =
+        mock<SignalStrengthRepository> {
+            on { signalStrengthDisplayFlow(SUB_ID) } doReturn flowOf(SIGNAL_STRENGTH)
+        }
 
-    private val mockSimSlotRepository = mock<SimSlotRepository> {
-        on { subIdInSimSlotFlow(SIM_SLOT_INDEX) } doReturn flowOf(SUB_ID)
-    }
+    private val mockImsMmTelRepository =
+        mock<ImsMmTelRepository> { on { imsRegisteredFlow() } doReturn flowOf(true) }
 
-    private val mockSignalStrengthRepository = mock<SignalStrengthRepository> {
-        on { signalStrengthDisplayFlow(SUB_ID) } doReturn flowOf(SIGNAL_STRENGTH)
-    }
+    private val controller =
+        SimStatusDialogRepository(
+            context = context,
+            simSlotRepository = mockSimSlotRepository,
+            signalStrengthRepository = mockSignalStrengthRepository,
+            imsMmTelRepositoryFactory = { subId ->
+                assertThat(subId).isEqualTo(SUB_ID)
+                mockImsMmTelRepository
+            },
+        )
 
-    private val mockImsMmTelRepository = mock<ImsMmTelRepository> {
-        on { imsRegisteredFlow() } doReturn flowOf(true)
+    @Before
+    fun setUp() {
+        CarrierConfigRepository.resetForTest()
     }
 
-    private val controller = SimStatusDialogRepository(
-        context = context,
-        simSlotRepository = mockSimSlotRepository,
-        signalStrengthRepository = mockSignalStrengthRepository,
-        imsMmTelRepositoryFactory = { subId ->
-            assertThat(subId).isEqualTo(SUB_ID)
-            mockImsMmTelRepository
-        },
-    )
-
     @Test
     fun collectSimStatusDialogInfo() = runBlocking {
+        CarrierConfigRepository.setBooleanForTest(
+            subId = SUB_ID,
+            key = CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL,
+            value = true,
+        )
         var simStatusDialogInfo = SimStatusDialogInfo()
 
         controller.collectSimStatusDialogInfo(TestLifecycleOwner(), SIM_SLOT_INDEX) {
@@ -83,19 +83,20 @@
         }
         delay(100)
 
-        assertThat(simStatusDialogInfo).isEqualTo(
-            SimStatusDialogInfo(
-                signalStrength = SIGNAL_STRENGTH,
-                imsRegistered = true,
-            )
-        )
+        assertThat(simStatusDialogInfo)
+            .isEqualTo(
+                SimStatusDialogInfo(
+                    signalStrength = SIGNAL_STRENGTH,
+                    imsRegistered = true,
+                ))
     }
 
     @Test
     fun collectSimStatusDialogInfo_doNotShowSignalStrength() = runBlocking {
-        carrierConfig.putBoolean(
-            CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL,
-            false
+        CarrierConfigRepository.setBooleanForTest(
+            subId = SUB_ID,
+            key = CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL,
+            value = false,
         )
         var simStatusDialogInfo = SimStatusDialogInfo()
 
@@ -109,7 +110,11 @@
 
     @Test
     fun collectSimStatusDialogInfo_doNotShowImsRegistration() = runBlocking {
-        carrierConfig.putBoolean(CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL, false)
+        CarrierConfigRepository.setBooleanForTest(
+            subId = SUB_ID,
+            key = CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL,
+            value = false,
+        )
         var simStatusDialogInfo = SimStatusDialogInfo()
 
         controller.collectSimStatusDialogInfo(TestLifecycleOwner(), SIM_SLOT_INDEX) {
diff --git a/tests/spa_unit/src/com/android/settings/network/MobileDataEnabledFlowTest.kt b/tests/spa_unit/src/com/android/settings/network/MobileDataEnabledFlowTest.kt
deleted file mode 100644
index c4611ac..0000000
--- a/tests/spa_unit/src/com/android/settings/network/MobileDataEnabledFlowTest.kt
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.provider.Settings
-import android.telephony.SubscriptionManager
-import androidx.test.core.app.ApplicationProvider
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull
-import com.android.settingslib.spa.testutils.toListWithTimeout
-import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalBoolean
-import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.async
-import kotlinx.coroutines.delay
-import kotlinx.coroutines.runBlocking
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@RunWith(AndroidJUnit4::class)
-class MobileDataEnabledFlowTest {
-    private val context: Context = ApplicationProvider.getApplicationContext()
-
-    @Test
-    fun mobileDataEnabledFlow_notified(): Unit = runBlocking {
-        val flow = context.mobileDataEnabledFlow(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
-
-        assertThat(flow.firstWithTimeoutOrNull()).isNotNull()
-    }
-
-    @Test
-    fun mobileDataEnabledFlow_changed_notified(): Unit = runBlocking {
-        var mobileDataEnabled by context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA)
-        mobileDataEnabled = false
-
-        val flow = context.mobileDataEnabledFlow(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
-        mobileDataEnabled = true
-
-        assertThat(flow.firstWithTimeoutOrNull()).isNotNull()
-    }
-
-    @Test
-    fun mobileDataEnabledFlow_forSubIdNotChanged(): Unit = runBlocking {
-        var mobileDataEnabled by context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA)
-        mobileDataEnabled = false
-        var mobileDataEnabledForSubId
-            by context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA + SUB_ID)
-        mobileDataEnabledForSubId = false
-
-        val listDeferred = async {
-            context.mobileDataEnabledFlow(SUB_ID).toListWithTimeout()
-        }
-
-        assertThat(listDeferred.await()).hasSize(1)
-    }
-
-    @Test
-    fun mobileDataEnabledFlow_forSubIdChanged(): Unit = runBlocking {
-        var mobileDataEnabled by context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA)
-        mobileDataEnabled = false
-        var mobileDataEnabledForSubId
-            by context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA + SUB_ID)
-        mobileDataEnabledForSubId = false
-
-        val listDeferred = async {
-            context.mobileDataEnabledFlow(SUB_ID).toListWithTimeout()
-        }
-        delay(100)
-        mobileDataEnabledForSubId = true
-
-        assertThat(listDeferred.await().size).isAtLeast(2)
-    }
-
-    private companion object {
-        const val SUB_ID = 123
-    }
-}
diff --git a/tests/spa_unit/src/com/android/settings/network/SimOnboardingServiceTest.kt b/tests/spa_unit/src/com/android/settings/network/SimOnboardingServiceTest.kt
new file mode 100644
index 0000000..6f9029e
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/SimOnboardingServiceTest.kt
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.telephony.SubscriptionInfo
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.google.common.truth.Truth.assertThat
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class SimOnboardingServiceTest {
+
+    @Test
+    fun addItemForRenaming_addItemWithNewName_findItem() {
+        val simOnboardingService = SimOnboardingService()
+        val newName = "NewName"
+
+        simOnboardingService.addItemForRenaming(SUB_INFO_1, newName)
+
+        assertThat(simOnboardingService.renameMutableMap)
+            .containsEntry(SUB_INFO_1.subscriptionId, newName)
+    }
+
+    @Test
+    fun addItemForRenaming_sameNameAndItemNotInList_removeItem() {
+        val simOnboardingService = SimOnboardingService()
+
+        simOnboardingService.addItemForRenaming(SUB_INFO_1, DISPLAY_NAME_1)
+
+        assertThat(simOnboardingService.renameMutableMap)
+            .doesNotContainKey(SUB_INFO_1.subscriptionId)
+    }
+
+    @Test
+    fun addItemForRenaming_sameNameAndItemInList_removeItem() {
+        val simOnboardingService = SimOnboardingService()
+        simOnboardingService.renameMutableMap[SUB_INFO_1.subscriptionId] = "NewName"
+
+        simOnboardingService.addItemForRenaming(SUB_INFO_1, DISPLAY_NAME_1)
+
+        assertThat(simOnboardingService.renameMutableMap)
+            .doesNotContainKey(SUB_INFO_1.subscriptionId)
+    }
+
+    private companion object {
+        const val SUB_ID_1 = 1
+        const val DISPLAY_NAME_1 = "Sub 1"
+
+        val SUB_INFO_1: SubscriptionInfo = SubscriptionInfo.Builder().apply {
+            setId(SUB_ID_1)
+            setDisplayName(DISPLAY_NAME_1)
+        }.build()
+    }
+}
\ No newline at end of file
diff --git a/tests/spa_unit/src/com/android/settings/network/apn/ApnEditCarrierEnabledTest.kt b/tests/spa_unit/src/com/android/settings/network/apn/ApnEditCarrierEnabledTest.kt
new file mode 100644
index 0000000..bd97482
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/apn/ApnEditCarrierEnabledTest.kt
@@ -0,0 +1,109 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.apn
+
+import android.content.Context
+import androidx.compose.runtime.CompositionLocalProvider
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.setValue
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.test.assertIsDisplayed
+import androidx.compose.ui.test.assertIsEnabled
+import androidx.compose.ui.test.assertIsNotEnabled
+import androidx.compose.ui.test.assertIsOff
+import androidx.compose.ui.test.assertIsOn
+import androidx.compose.ui.test.junit4.ComposeTestRule
+import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.compose.ui.test.onNodeWithText
+import androidx.compose.ui.test.performClick
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.stub
+
+@RunWith(AndroidJUnit4::class)
+class ApnEditCarrierEnabledTest {
+
+    @get:Rule val composeTestRule = createComposeRule()
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {}
+
+    private val resources = spy(context.resources) {}
+
+    @Before
+    fun setUp() {
+        context.stub { on { resources } doReturn resources }
+    }
+
+    @Test
+    fun carrierEnabled_displayed() {
+        composeTestRule.setContent { ApnEditCarrierEnabled(ApnData()) {} }
+
+        composeTestRule.onCarrierEnabled().assertIsDisplayed()
+    }
+
+    @Test
+    fun carrierEnabled_isChecked() {
+        val apnData = ApnData(carrierEnabled = true)
+
+        composeTestRule.setContent { ApnEditCarrierEnabled(apnData) {} }
+
+        composeTestRule.onCarrierEnabled().assertIsOn()
+    }
+
+    @Test
+    fun carrierEnabled_allowEdit_checkChanged() {
+        resources.stub { on { getBoolean(R.bool.config_allow_edit_carrier_enabled) } doReturn true }
+        var apnData by mutableStateOf(ApnData(carrierEnabled = true))
+        composeTestRule.setContent {
+            CompositionLocalProvider(LocalContext provides context) {
+                ApnEditCarrierEnabled(apnData) { apnData = apnData.copy(carrierEnabled = it) }
+            }
+        }
+
+        composeTestRule.onCarrierEnabled().performClick()
+
+        composeTestRule.onCarrierEnabled().assertIsEnabled().assertIsOff()
+    }
+
+    @Test
+    fun carrierEnabled_notAllowEdit_checkNotChanged() {
+        resources.stub {
+            on { getBoolean(R.bool.config_allow_edit_carrier_enabled) } doReturn false
+        }
+        var apnData by mutableStateOf(ApnData(carrierEnabled = true))
+        composeTestRule.setContent {
+            CompositionLocalProvider(LocalContext provides context) {
+                ApnEditCarrierEnabled(apnData) { apnData = apnData.copy(carrierEnabled = it) }
+            }
+        }
+
+        composeTestRule.onCarrierEnabled().performClick()
+
+        composeTestRule.onCarrierEnabled().assertIsNotEnabled().assertIsOn()
+    }
+
+    private fun ComposeTestRule.onCarrierEnabled() =
+        onNodeWithText(context.getString(R.string.carrier_enabled))
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/apn/ApnEditPageProviderTest.kt b/tests/spa_unit/src/com/android/settings/network/apn/ApnEditPageProviderTest.kt
index 3621948..d310604 100644
--- a/tests/spa_unit/src/com/android/settings/network/apn/ApnEditPageProviderTest.kt
+++ b/tests/spa_unit/src/com/android/settings/network/apn/ApnEditPageProviderTest.kt
@@ -21,24 +21,17 @@
 import androidx.compose.runtime.mutableStateOf
 import androidx.compose.runtime.remember
 import androidx.compose.ui.test.assertIsDisplayed
-import androidx.compose.ui.test.assertIsOff
-import androidx.compose.ui.test.assertIsOn
 import androidx.compose.ui.test.hasText
-import androidx.compose.ui.test.isFocused
 import androidx.compose.ui.test.junit4.createComposeRule
-import androidx.compose.ui.test.onAllNodesWithText
 import androidx.compose.ui.test.onChild
 import androidx.compose.ui.test.onChildAt
-import androidx.compose.ui.test.onLast
 import androidx.compose.ui.test.onNodeWithText
 import androidx.compose.ui.test.onRoot
-import androidx.compose.ui.test.performClick
 import androidx.compose.ui.test.performScrollToNode
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.android.settings.R
 import com.google.common.truth.Truth
-import org.junit.Ignore
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
@@ -55,7 +48,6 @@
     private val port = "port"
     private val apnType = context.resources.getString(R.string.apn_type)
     private val apnRoaming = "IPv4"
-    private val apnEnable = context.resources.getString(R.string.carrier_enabled)
     private val apnProtocolOptions =
         context.resources.getStringArray(R.array.apn_protocol_entries).toList()
     private val passwordTitle = context.resources.getString(R.string.apn_password)
@@ -65,7 +57,6 @@
         port = port,
         apnType = apnType,
         apnRoaming = apnProtocolOptions.indexOf(apnRoaming),
-        apnEnable = true
     )
     private val apnData = mutableStateOf(
         apnInit
@@ -133,39 +124,6 @@
         composeTestRule.onNodeWithText(apnRoaming, true).assertIsDisplayed()
     }
 
-    @Ignore("b/342374681")
-    @Test
-    fun carrier_enabled_displayed() {
-        composeTestRule.setContent {
-            ApnPage(apnInit, remember { apnData }, uri)
-        }
-        composeTestRule.onRoot().onChild().onChildAt(0)
-            .performScrollToNode(hasText(apnEnable, true))
-        composeTestRule.onNodeWithText(apnEnable, true).assertIsDisplayed()
-    }
-
-    @Test
-    fun carrier_enabled_isChecked() {
-        composeTestRule.setContent {
-            ApnPage(apnInit, remember { apnData }, uri)
-        }
-        composeTestRule.onRoot().onChild().onChildAt(0)
-            .performScrollToNode(hasText(apnEnable, true))
-        composeTestRule.onNodeWithText(apnEnable, true).assertIsOn()
-    }
-
-    @Ignore("b/342374681")
-    @Test
-    fun carrier_enabled_checkChanged() {
-        composeTestRule.setContent {
-            ApnPage(apnInit, remember { apnData }, uri)
-        }
-        composeTestRule.onRoot().onChild().onChildAt(0)
-            .performScrollToNode(hasText(apnEnable, true))
-        composeTestRule.onNodeWithText(apnEnable, true).performClick()
-        composeTestRule.onNodeWithText(apnEnable, true).assertIsOff()
-    }
-
     @Test
     fun password_displayed() {
         composeTestRule.setContent {
diff --git a/tests/spa_unit/src/com/android/settings/network/apn/ApnRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/network/apn/ApnRepositoryTest.kt
index 4155318..d2f16d7 100644
--- a/tests/spa_unit/src/com/android/settings/network/apn/ApnRepositoryTest.kt
+++ b/tests/spa_unit/src/com/android/settings/network/apn/ApnRepositoryTest.kt
@@ -21,8 +21,6 @@
 import android.database.MatrixCursor
 import android.net.Uri
 import android.provider.Telephony
-import android.telephony.SubscriptionInfo
-import android.telephony.SubscriptionManager
 import android.telephony.TelephonyManager
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
@@ -40,19 +38,15 @@
 
     private val contentResolver = mock<ContentResolver>()
 
-    private val mockSubscriptionInfo = mock<SubscriptionInfo> {
-        on { mccString } doReturn MCC
-        on { mncString } doReturn MNC
-    }
+    private val mockTelephonyManager =
+        mock<TelephonyManager> { on { createForSubscriptionId(SUB_ID) } doReturn mock }
 
-    private val mockSubscriptionManager = mock<SubscriptionManager> {
-        on { getActiveSubscriptionInfo(SUB_ID) } doReturn mockSubscriptionInfo
-    }
+    private val context: Context =
+        spy(ApplicationProvider.getApplicationContext()) {
+            on { contentResolver } doReturn contentResolver
+            on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
+        }
 
-    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
-        on { contentResolver } doReturn contentResolver
-        on { getSystemService(SubscriptionManager::class.java) } doReturn mockSubscriptionManager
-    }
     private val uri = mock<Uri> {}
 
     @Test
@@ -91,9 +85,7 @@
 
     @Test
     fun getApnIdMap_knownCarrierId() {
-        mockSubscriptionInfo.stub {
-            on { carrierId } doReturn CARRIER_ID
-        }
+        mockTelephonyManager.stub { on { simSpecificCarrierId } doReturn CARRIER_ID }
 
         val idMap = context.getApnIdMap(SUB_ID)
 
@@ -102,19 +94,19 @@
 
     @Test
     fun getApnIdMap_unknownCarrierId() {
-        mockSubscriptionInfo.stub {
-            on { carrierId } doReturn TelephonyManager.UNKNOWN_CARRIER_ID
+        mockTelephonyManager.stub {
+            on { simSpecificCarrierId } doReturn TelephonyManager.UNKNOWN_CARRIER_ID
+            on { simOperator } doReturn SIM_OPERATOR
         }
 
         val idMap = context.getApnIdMap(SUB_ID)
 
-        assertThat(idMap).containsExactly(Telephony.Carriers.NUMERIC, MCC + MNC)
+        assertThat(idMap).containsExactly(Telephony.Carriers.NUMERIC, SIM_OPERATOR)
     }
 
     private companion object {
         const val SUB_ID = 2
         const val CARRIER_ID = 10
-        const val MCC = "310"
-        const val MNC = "101"
+        const val SIM_OPERATOR = "310101"
     }
 }
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/CallStateRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/CallStateRepositoryTest.kt
index 55d520f..d192eb4 100644
--- a/tests/spa_unit/src/com/android/settings/network/telephony/CallStateRepositoryTest.kt
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/CallStateRepositoryTest.kt
@@ -17,7 +17,6 @@
 package com.android.settings.network.telephony
 
 import android.content.Context
-import android.telephony.SubscriptionManager
 import android.telephony.TelephonyCallback
 import android.telephony.TelephonyManager
 import androidx.test.core.app.ApplicationProvider
@@ -27,6 +26,7 @@
 import com.google.common.truth.Truth.assertThat
 import kotlinx.coroutines.async
 import kotlinx.coroutines.delay
+import kotlinx.coroutines.flow.flowOf
 import kotlinx.coroutines.runBlocking
 import org.junit.Test
 import org.junit.runner.RunWith
@@ -49,20 +49,15 @@
         }
     }
 
-    private val mockSubscriptionManager = mock<SubscriptionManager> {
-        on { activeSubscriptionIdList } doReturn intArrayOf(SUB_ID)
-        on { addOnSubscriptionsChangedListener(any(), any()) } doAnswer {
-            val listener = it.arguments[1] as SubscriptionManager.OnSubscriptionsChangedListener
-            listener.onSubscriptionsChanged()
-        }
+    private val mockSubscriptionRepository = mock<SubscriptionRepository> {
+        on { activeSubscriptionIdListFlow() } doReturn flowOf(listOf(SUB_ID))
     }
 
     private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
         on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
-        on { subscriptionManager } doReturn mockSubscriptionManager
     }
 
-    private val repository = CallStateRepository(context)
+    private val repository = CallStateRepository(context, mockSubscriptionRepository)
 
     @Test
     fun callStateFlow_initial_sendInitialState() = runBlocking {
@@ -89,8 +84,8 @@
 
     @Test
     fun isInCallFlow_noActiveSubscription() = runBlocking {
-        mockSubscriptionManager.stub {
-            on { activeSubscriptionIdList } doReturn intArrayOf()
+        mockSubscriptionRepository.stub {
+            on { activeSubscriptionIdListFlow() } doReturn flowOf(emptyList())
         }
 
         val isInCall = repository.isInCallFlow().firstWithTimeoutOrNull()
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/CarrierConfigRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/CarrierConfigRepositoryTest.kt
new file mode 100644
index 0000000..12bbcaf
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/CarrierConfigRepositoryTest.kt
@@ -0,0 +1,152 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.telephony.CarrierConfigManager
+import androidx.core.os.persistableBundleOf
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.anyVararg
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.doThrow
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.stub
+import org.mockito.kotlin.times
+import org.mockito.kotlin.verify
+
+@RunWith(AndroidJUnit4::class)
+class CarrierConfigRepositoryTest {
+
+    private val mockCarrierConfigManager = mock<CarrierConfigManager>()
+
+    private val context =
+        mock<Context> {
+            on { applicationContext } doReturn mock
+            on { getSystemService(CarrierConfigManager::class.java) } doReturn
+                mockCarrierConfigManager
+        }
+
+    private val repository = CarrierConfigRepository(context)
+
+    @Before
+    fun setUp() {
+        CarrierConfigRepository.resetForTest()
+    }
+
+    @Test
+    fun getBoolean_returnValue() {
+        val key = CarrierConfigManager.KEY_CARRIER_CONFIG_APPLIED_BOOL
+        mockCarrierConfigManager.stub {
+            on { getConfigForSubId(any(), eq(key)) } doReturn persistableBundleOf(key to true)
+        }
+
+        val value = repository.getBoolean(SUB_ID, key)
+
+        assertThat(value).isTrue()
+    }
+
+    @Test
+    fun getInt_returnValue() {
+        val key = CarrierConfigManager.KEY_GBA_MODE_INT
+        mockCarrierConfigManager.stub {
+            on { getConfigForSubId(any(), eq(key)) } doReturn persistableBundleOf(key to 99)
+        }
+
+        val value = repository.getInt(SUB_ID, key)
+
+        assertThat(value).isEqualTo(99)
+    }
+
+    @Test
+    fun getIntArray_returnValue() {
+        val key = CarrierConfigManager.KEY_CARRIER_NR_AVAILABILITIES_INT_ARRAY
+        mockCarrierConfigManager.stub {
+            on { getConfigForSubId(any(), eq(key)) } doReturn
+                persistableBundleOf(key to intArrayOf(99))
+        }
+
+        val value = repository.getIntArray(SUB_ID, key)!!.toList()
+
+        assertThat(value).containsExactly(99)
+    }
+
+    @Test
+    fun getString_returnValue() {
+        val key = CarrierConfigManager.KEY_CARRIER_NAME_STRING
+        mockCarrierConfigManager.stub {
+            on { getConfigForSubId(any(), eq(key)) } doReturn
+                persistableBundleOf(key to STRING_VALUE)
+        }
+
+        val value = repository.getString(SUB_ID, key)
+
+        assertThat(value).isEqualTo(STRING_VALUE)
+    }
+
+    @Test
+    fun transformConfig_managerThrowIllegalStateException_returnDefaultValue() {
+        mockCarrierConfigManager.stub {
+            on { getConfigForSubId(any(), anyVararg()) } doThrow IllegalStateException()
+        }
+
+        val carrierName =
+            repository.transformConfig(SUB_ID) {
+                getInt(CarrierConfigManager.KEY_CARRIER_DEFAULT_WFC_IMS_MODE_INT)
+            }
+
+        assertThat(carrierName)
+            .isEqualTo(
+                CarrierConfigManager.getDefaultConfig()
+                    .getInt(CarrierConfigManager.KEY_CARRIER_DEFAULT_WFC_IMS_MODE_INT)
+            )
+    }
+
+    @Test
+    fun transformConfig_getValueTwice_cached() {
+        val key = CarrierConfigManager.KEY_CARRIER_NAME_STRING
+        mockCarrierConfigManager.stub {
+            on { getConfigForSubId(any(), eq(key)) } doReturn
+                persistableBundleOf(key to STRING_VALUE)
+        }
+
+        repository.transformConfig(SUB_ID) { getString(key) }
+        repository.transformConfig(SUB_ID) { getString(key) }
+
+        verify(mockCarrierConfigManager, times(1)).getConfigForSubId(any(), anyVararg())
+    }
+
+    @Test
+    fun transformConfig_registerCarrierConfigChangeListener() {
+        val key = CarrierConfigManager.KEY_CARRIER_NAME_STRING
+
+        repository.transformConfig(SUB_ID) { getString(key) }
+        repository.transformConfig(SUB_ID) { getString(key) }
+
+        verify(mockCarrierConfigManager, times(1)).registerCarrierConfigChangeListener(any(), any())
+    }
+
+    private companion object {
+        const val SUB_ID = 123
+        const val STRING_VALUE = "value"
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/CarrierSettingsVersionPreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/CarrierSettingsVersionPreferenceControllerTest.kt
new file mode 100644
index 0000000..ed6c027
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/CarrierSettingsVersionPreferenceControllerTest.kt
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.telephony.CarrierConfigManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class CarrierSettingsVersionPreferenceControllerTest {
+
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    private val controller =
+        CarrierSettingsVersionPreferenceController(context, TEST_KEY).apply { init(SUB_ID) }
+
+    @Before
+    fun setUp() {
+        CarrierConfigRepository.resetForTest()
+    }
+
+    @Test
+    fun getSummary_nullConfig_noCrash() {
+        controller.getSummary()
+    }
+
+    @Test
+    fun getSummary_nullVersionString_returnNull() {
+        CarrierConfigRepository.setStringForTest(
+            SUB_ID, CarrierConfigManager.KEY_CARRIER_CONFIG_VERSION_STRING, null)
+
+        val summary = controller.getSummary()
+
+        assertThat(summary).isNull()
+    }
+
+    @Test
+    fun getSummary_hasVersionString_returnCorrectSummary() {
+        CarrierConfigRepository.setStringForTest(
+            SUB_ID, CarrierConfigManager.KEY_CARRIER_CONFIG_VERSION_STRING, "test_version_123")
+
+        val summary = controller.getSummary()
+
+        assertThat(summary).isEqualTo("test_version_123")
+    }
+
+    private companion object {
+        const val TEST_KEY = "test_key"
+        const val SUB_ID = 10
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/DataUsagePreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/DataUsagePreferenceControllerTest.kt
index 7124b6a..f4974e9 100644
--- a/tests/spa_unit/src/com/android/settings/network/telephony/DataUsagePreferenceControllerTest.kt
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/DataUsagePreferenceControllerTest.kt
@@ -29,7 +29,6 @@
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.android.dx.mockito.inline.extended.ExtendedMockito
 import com.android.settings.core.BasePreferenceController.AVAILABLE
-import com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE
 import com.android.settings.datausage.DataUsageUtils
 import com.android.settings.datausage.lib.DataUsageLib
 import com.android.settings.datausage.lib.NetworkCycleDataRepository
@@ -77,7 +76,6 @@
     @Before
     fun setUp() {
         mockSession = ExtendedMockito.mockitoSession()
-            .initMocks(this)
             .spyStatic(DataUsageUtils::class.java)
             .spyStatic(DataUsageLib::class.java)
             .strictness(Strictness.LENIENT)
@@ -101,19 +99,11 @@
     }
 
     @Test
-    fun getAvailabilityStatus_validSubId_returnAvailable() {
+    fun getAvailabilityStatus_returnAvailable() {
         assertThat(controller.availabilityStatus).isEqualTo(AVAILABLE)
     }
 
     @Test
-    fun getAvailabilityStatus_invalidSubId_returnUnsearchable() {
-        val availabilityStatus =
-            controller.getAvailabilityStatus(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
-
-        assertThat(availabilityStatus).isEqualTo(AVAILABLE_UNSEARCHABLE)
-    }
-
-    @Test
     fun handlePreferenceTreeClick_startActivity() = runBlocking {
         val usageData = NetworkUsageData(START_TIME, END_TIME, 1L)
         repository.stub {
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerHelperTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerHelperTest.kt
new file mode 100644
index 0000000..8edc90f
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerHelperTest.kt
@@ -0,0 +1,96 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.telephony.CarrierConfigManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.spy
+
+@RunWith(AndroidJUnit4::class)
+class EnabledNetworkModePreferenceControllerHelperTest {
+
+    private var context: Context = spy(ApplicationProvider.getApplicationContext()) {}
+
+    @Before
+    fun setUp() {
+        CarrierConfigRepository.resetForTest()
+        CarrierConfigRepository.setBooleanForTest(
+            SUB_ID, CarrierConfigManager.KEY_CARRIER_CONFIG_APPLIED_BOOL, true)
+    }
+
+    @Test
+    fun getNetworkModePreferenceType_hideCarrierNetworkSettings_returnNone() {
+        CarrierConfigRepository.setBooleanForTest(
+            SUB_ID, CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL, true)
+
+        val networkModePreferenceType = getNetworkModePreferenceType(context, SUB_ID)
+
+        assertThat(networkModePreferenceType).isEqualTo(NetworkModePreferenceType.None)
+    }
+
+    @Test
+    fun getNetworkModePreferenceType_hidePreferredNetworkType_returnNone() {
+        CarrierConfigRepository.setBooleanForTest(
+            SUB_ID, CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL, true)
+
+        val networkModePreferenceType = getNetworkModePreferenceType(context, SUB_ID)
+
+        assertThat(networkModePreferenceType).isEqualTo(NetworkModePreferenceType.None)
+    }
+
+    @Test
+    fun getNetworkModePreferenceType_carrierConfigNotReady_returnNone() {
+        CarrierConfigRepository.setBooleanForTest(
+            SUB_ID, CarrierConfigManager.KEY_CARRIER_CONFIG_APPLIED_BOOL, false)
+
+        val networkModePreferenceType = getNetworkModePreferenceType(context, SUB_ID)
+
+        assertThat(networkModePreferenceType).isEqualTo(NetworkModePreferenceType.None)
+    }
+
+    @Test
+    fun getNetworkModePreferenceType_isWorldPhone_returnPreferredNetworkMode() {
+        CarrierConfigRepository.setBooleanForTest(
+            SUB_ID, CarrierConfigManager.KEY_WORLD_PHONE_BOOL, true)
+
+        val networkModePreferenceType = getNetworkModePreferenceType(context, SUB_ID)
+
+        assertThat(networkModePreferenceType)
+            .isEqualTo(NetworkModePreferenceType.PreferredNetworkMode)
+    }
+
+    @Test
+    fun getNetworkModePreferenceType_notWorldPhone_returnEnabledNetworkMode() {
+        CarrierConfigRepository.setBooleanForTest(
+            SUB_ID, CarrierConfigManager.KEY_WORLD_PHONE_BOOL, false)
+
+        val networkModePreferenceType = getNetworkModePreferenceType(context, SUB_ID)
+
+        assertThat(networkModePreferenceType)
+            .isEqualTo(NetworkModePreferenceType.EnabledNetworkMode)
+    }
+
+    private companion object {
+        const val SUB_ID = 10
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.kt
index a2f635d..4d53260 100644
--- a/tests/spa_unit/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.kt
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.kt
@@ -24,6 +24,7 @@
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.android.settings.core.BasePreferenceController.AVAILABLE
 import com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE
+import com.android.settings.network.telephony.MmsMessagePreferenceController.Companion.MmsMessageSearchItem
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
@@ -60,13 +61,13 @@
         context = context,
         key = KEY,
         getDefaultDataSubId = { defaultDataSubId },
-    ).apply { init(SUB_2_ID) }
+    )
 
     @Test
     fun getAvailabilityStatus_invalidSubscription_unavailable() {
         controller.init(INVALID_SUBSCRIPTION_ID)
 
-        val availabilityStatus = controller.getAvailabilityStatus(INVALID_SUBSCRIPTION_ID)
+        val availabilityStatus = controller.getAvailabilityStatus()
 
         assertThat(availabilityStatus).isEqualTo(CONDITIONALLY_UNAVAILABLE)
     }
@@ -76,8 +77,9 @@
         mockTelephonyManager2.stub {
             on { isDataEnabled } doReturn true
         }
+        controller.init(SUB_2_ID)
 
-        val availabilityStatus = controller.getAvailabilityStatus(SUB_2_ID)
+        val availabilityStatus = controller.getAvailabilityStatus()
 
         assertThat(availabilityStatus).isEqualTo(CONDITIONALLY_UNAVAILABLE)
     }
@@ -87,8 +89,9 @@
         mockTelephonyManager2.stub {
             on { isApnMetered(ApnSetting.TYPE_MMS) } doReturn false
         }
+        controller.init(SUB_2_ID)
 
-        val availabilityStatus = controller.getAvailabilityStatus(SUB_2_ID)
+        val availabilityStatus = controller.getAvailabilityStatus()
 
         assertThat(availabilityStatus).isEqualTo(CONDITIONALLY_UNAVAILABLE)
     }
@@ -102,8 +105,9 @@
                 isMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH)
             } doReturn true
         }
+        controller.init(SUB_2_ID)
 
-        val availabilityStatus = controller.getAvailabilityStatus(SUB_2_ID)
+        val availabilityStatus = controller.getAvailabilityStatus()
 
         assertThat(availabilityStatus).isEqualTo(CONDITIONALLY_UNAVAILABLE)
     }
@@ -117,14 +121,16 @@
                 isMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH)
             } doReturn true
         }
+        controller.init(SUB_2_ID)
 
-        val availabilityStatus = controller.getAvailabilityStatus(SUB_2_ID)
+        val availabilityStatus = controller.getAvailabilityStatus()
 
         assertThat(availabilityStatus).isEqualTo(AVAILABLE)
     }
 
     @Test
-    fun getAvailabilityStatus_defaultDataOnAndAutoDataSwitchOn_unavailable() {
+    fun getAvailabilityStatus_notDefaultDataAndDataOnAndAutoDataSwitchOn_unavailable() {
+        defaultDataSubId = SUB_1_ID
         mockTelephonyManager1.stub {
             on { isDataEnabled } doReturn true
         }
@@ -133,14 +139,16 @@
                 isMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH)
             } doReturn true
         }
+        controller.init(SUB_2_ID)
 
-        val availabilityStatus = controller.getAvailabilityStatus(SUB_2_ID)
+        val availabilityStatus = controller.getAvailabilityStatus()
 
         assertThat(availabilityStatus).isEqualTo(CONDITIONALLY_UNAVAILABLE)
     }
 
     @Test
-    fun getAvailabilityStatus_defaultDataOffAndAutoDataSwitchOn_available() {
+    fun getAvailabilityStatus_notDefaultDataAndDataOffAndAutoDataSwitchOn_available() {
+        defaultDataSubId = SUB_1_ID
         mockTelephonyManager1.stub {
             on { isDataEnabled } doReturn false
         }
@@ -149,19 +157,57 @@
                 isMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH)
             } doReturn true
         }
+        controller.init(SUB_2_ID)
 
-        val availabilityStatus = controller.getAvailabilityStatus(SUB_2_ID)
+        val availabilityStatus = controller.getAvailabilityStatus()
 
         assertThat(availabilityStatus).isEqualTo(AVAILABLE)
     }
 
     @Test
+    fun searchIsAvailable_notDefaultDataAndDataOnAndAutoDataSwitchOn_unavailable() {
+        mockTelephonyManager1.stub {
+            on { isDataEnabled } doReturn true
+        }
+        mockTelephonyManager2.stub {
+            on { isApnMetered(ApnSetting.TYPE_MMS) } doReturn true
+            on {
+                isMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH)
+            } doReturn true
+        }
+        val mmsMessageSearchItem = MmsMessageSearchItem(context) { SUB_1_ID }
+
+        val isAvailable = mmsMessageSearchItem.isAvailable(SUB_2_ID)
+
+        assertThat(isAvailable).isFalse()
+    }
+
+    @Test
+    fun searchIsAvailable_notDefaultDataAndDataOffAndAutoDataSwitchOn_available() {
+        mockTelephonyManager1.stub {
+            on { isDataEnabled } doReturn false
+        }
+        mockTelephonyManager2.stub {
+            on { isApnMetered(ApnSetting.TYPE_MMS) } doReturn true
+            on {
+                isMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH)
+            } doReturn true
+        }
+        val mmsMessageSearchItem = MmsMessageSearchItem(context) { SUB_1_ID }
+
+        val isAvailable = mmsMessageSearchItem.isAvailable(SUB_2_ID)
+
+        assertThat(isAvailable).isTrue()
+    }
+
+    @Test
     fun isChecked_whenMmsNotAlwaysAllowed_returnFalse() {
         mockTelephonyManager2.stub {
             on {
                 isMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED)
             } doReturn false
         }
+        controller.init(SUB_2_ID)
 
         val isChecked = controller.isChecked()
 
@@ -175,6 +221,7 @@
                 isMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED)
             } doReturn true
         }
+        controller.init(SUB_2_ID)
 
         val isChecked = controller.isChecked()
 
@@ -183,6 +230,8 @@
 
     @Test
     fun setChecked_setTrue_setDataIntoSubscriptionManager() {
+        controller.init(SUB_2_ID)
+
         controller.setChecked(true)
 
         verify(mockTelephonyManager2).setMobileDataPolicyEnabled(
@@ -192,6 +241,8 @@
 
     @Test
     fun setChecked_setFalse_setDataIntoSubscriptionManager() {
+        controller.init(SUB_2_ID)
+
         controller.setChecked(false)
 
         verify(mockTelephonyManager2).setMobileDataPolicyEnabled(
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/MobileDataRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/MobileDataRepositoryTest.kt
new file mode 100644
index 0000000..fc762fa
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/MobileDataRepositoryTest.kt
@@ -0,0 +1,188 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.provider.Settings
+import android.telephony.SubscriptionManager
+import android.telephony.TelephonyManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull
+import com.android.settingslib.spa.testutils.toListWithTimeout
+import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalBoolean
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.async
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.runBlocking
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.stub
+import org.mockito.kotlin.verify
+
+@RunWith(AndroidJUnit4::class)
+class MobileDataRepositoryTest {
+    private val mockTelephonyManager =
+        mock<TelephonyManager> { on { createForSubscriptionId(SUB_ID) } doReturn mock }
+
+    private val context: Context =
+        spy(ApplicationProvider.getApplicationContext()) {
+            on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
+        }
+
+    private val repository = MobileDataRepository(context, flowOf(Unit))
+
+    @Test
+    fun isMobileDataPolicyEnabledFlow_invalidSub_returnFalse() = runBlocking {
+        val flow =
+            repository.isMobileDataPolicyEnabledFlow(
+                subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+                policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
+            )
+
+        assertThat(flow.firstWithTimeoutOrNull()).isFalse()
+    }
+
+    @Test
+    fun isMobileDataPolicyEnabledFlow_validSub_returnPolicyState() = runBlocking {
+        mockTelephonyManager.stub {
+            on {
+                isMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH)
+            } doReturn true
+        }
+
+        val flow =
+            repository.isMobileDataPolicyEnabledFlow(
+                subId = SUB_ID,
+                policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
+            )
+
+        assertThat(flow.firstWithTimeoutOrNull()).isTrue()
+    }
+
+    @Test
+    fun setMobileDataPolicyEnabled() = runBlocking {
+        repository.setMobileDataPolicyEnabled(
+            subId = SUB_ID,
+            policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
+            enabled = true)
+
+        verify(mockTelephonyManager)
+            .setMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH, true)
+    }
+
+    @Test
+    fun mobileDataEnabledChangedFlow_notified(): Unit = runBlocking {
+        val flow =
+            repository.mobileDataEnabledChangedFlow(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+
+        assertThat(flow.firstWithTimeoutOrNull()).isNotNull()
+    }
+
+    @Test
+    fun mobileDataEnabledChangedFlow_changed_notified(): Unit = runBlocking {
+        var mobileDataEnabled by context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA)
+        mobileDataEnabled = false
+
+        val flow =
+            repository.mobileDataEnabledChangedFlow(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+        mobileDataEnabled = true
+
+        assertThat(flow.firstWithTimeoutOrNull()).isNotNull()
+    }
+
+    @Test
+    fun mobileDataEnabledChangedFlow_forSubIdNotChanged(): Unit = runBlocking {
+        var mobileDataEnabled by context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA)
+        mobileDataEnabled = false
+        var mobileDataEnabledForSubId by
+            context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA + SUB_ID)
+        mobileDataEnabledForSubId = false
+
+        val listDeferred = async {
+            repository.mobileDataEnabledChangedFlow(SUB_ID).toListWithTimeout()
+        }
+
+        assertThat(listDeferred.await()).hasSize(1)
+    }
+
+    @Test
+    fun mobileDataEnabledChangedFlow_forSubIdChanged(): Unit = runBlocking {
+        var mobileDataEnabled by context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA)
+        mobileDataEnabled = false
+        var mobileDataEnabledForSubId by
+            context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA + SUB_ID)
+        mobileDataEnabledForSubId = false
+
+        val listDeferred = async {
+            repository.mobileDataEnabledChangedFlow(SUB_ID).toListWithTimeout()
+        }
+        delay(100)
+        mobileDataEnabledForSubId = true
+
+        assertThat(listDeferred.await().size).isAtLeast(2)
+    }
+
+    @Test
+    fun isMobileDataEnabledFlow_invalidSub_returnFalse() = runBlocking {
+        val state =
+            repository.isMobileDataEnabledFlow(
+                subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+            )
+
+        assertThat(state.firstWithTimeoutOrNull()).isFalse()
+    }
+
+    @Test
+    fun isMobileDataEnabledFlow_validSub_returnPolicyState() = runBlocking {
+        mockTelephonyManager.stub {
+            on { isDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER) } doReturn true
+        }
+
+        val state = repository.isMobileDataEnabledFlow(subId = SUB_ID)
+
+        assertThat(state.firstWithTimeoutOrNull()).isTrue()
+    }
+
+    @Test
+    fun isDataRoamingEnabledFlow_invalidSub_returnFalse() = runBlocking {
+        val isDataRoamingEnabled =
+            repository
+                .isDataRoamingEnabledFlow(subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+                .firstWithTimeoutOrNull()
+
+        assertThat(isDataRoamingEnabled).isFalse()
+    }
+
+    @Test
+    fun isDataRoamingEnabledFlow_validSub_returnCurrentValue() = runBlocking {
+        mockTelephonyManager.stub { on { isDataRoamingEnabled } doReturn true }
+
+        val isDataRoamingEnabled =
+            repository.isDataRoamingEnabledFlow(subId = SUB_ID).firstWithTimeoutOrNull()
+
+        assertThat(isDataRoamingEnabled).isTrue()
+    }
+
+    private companion object {
+        const val SUB_ID = 123
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/MobileNetworkPhoneNumberPreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/MobileNetworkPhoneNumberPreferenceControllerTest.kt
index 38c47c2..f56c0c4 100644
--- a/tests/spa_unit/src/com/android/settings/network/telephony/MobileNetworkPhoneNumberPreferenceControllerTest.kt
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/MobileNetworkPhoneNumberPreferenceControllerTest.kt
@@ -17,8 +17,7 @@
 package com.android.settings.network.telephony
 
 import android.content.Context
-import android.telephony.SubscriptionInfo
-import androidx.fragment.app.Fragment
+import androidx.lifecycle.testing.TestLifecycleOwner
 import androidx.preference.Preference
 import androidx.preference.PreferenceManager
 import androidx.test.core.app.ApplicationProvider
@@ -26,17 +25,19 @@
 import com.android.dx.mockito.inline.extended.ExtendedMockito
 import com.android.settings.R
 import com.android.settings.core.BasePreferenceController
-import com.android.settings.network.SubscriptionInfoListViewModel
 import com.android.settings.network.SubscriptionUtil
 import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.flow.flowOf
 import kotlinx.coroutines.runBlocking
 import org.junit.After
 import org.junit.Before
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.mockito.MockitoSession
-import org.mockito.kotlin.any
+import org.mockito.kotlin.doReturn
 import org.mockito.kotlin.mock
+import org.mockito.kotlin.stub
 import org.mockito.kotlin.whenever
 import org.mockito.quality.Strictness
 
@@ -44,29 +45,25 @@
 class MobileNetworkPhoneNumberPreferenceControllerTest {
     private lateinit var mockSession: MockitoSession
 
-    private val mockViewModels =  mock<Lazy<SubscriptionInfoListViewModel>>()
-    private val mockFragment = mock<Fragment>{
-        val viewmodel = mockViewModels
-    }
-
-    private var mockPhoneNumber = String()
     private val context: Context = ApplicationProvider.getApplicationContext()
-    private val controller = MobileNetworkPhoneNumberPreferenceController(context, TEST_KEY)
+    private val mockSubscriptionRepository = mock<SubscriptionRepository>()
+
+    private val controller =
+        MobileNetworkPhoneNumberPreferenceController(context, TEST_KEY, mockSubscriptionRepository)
     private val preference = Preference(context).apply { key = TEST_KEY }
     private val preferenceScreen = PreferenceManager(context).createPreferenceScreen(context)
 
     @Before
     fun setUp() {
-        mockSession = ExtendedMockito.mockitoSession()
-            .initMocks(this)
-            .mockStatic(SubscriptionUtil::class.java)
-            .strictness(Strictness.LENIENT)
-            .startMocking()
+        mockSession =
+            ExtendedMockito.mockitoSession()
+                .mockStatic(SubscriptionUtil::class.java)
+                .strictness(Strictness.LENIENT)
+                .startMocking()
 
         preferenceScreen.addPreference(preference)
+        controller.init(SUB_ID)
         controller.displayPreference(preferenceScreen)
-
-        whenever(SubscriptionUtil.getBidiFormattedPhoneNumber(any(),any())).thenReturn(mockPhoneNumber)
     }
 
     @After
@@ -75,41 +72,29 @@
     }
 
     @Test
-    fun refreshData_getEmptyPhoneNumber_preferenceIsNotVisible() = runBlocking {
+    fun onViewCreated_cannotGetPhoneNumber_displayUnknown() = runBlocking {
         whenever(SubscriptionUtil.isSimHardwareVisible(context)).thenReturn(true)
-        whenever(SubscriptionUtil.getActiveSubscriptions(any())).thenReturn(
-            listOf(
-                SUB_INFO_1,
-                SUB_INFO_2
-            )
-        )
-        var mockSubId = 2
-        controller.init(mockFragment, mockSubId)
-        mockPhoneNumber = String()
+        mockSubscriptionRepository.stub {
+            on { phoneNumberFlow(SUB_ID) } doReturn flowOf(null)
+        }
 
-        controller.refreshData(SUB_INFO_2)
+        controller.onViewCreated(TestLifecycleOwner())
+        delay(100)
 
-        assertThat(preference.summary).isEqualTo(
-            context.getString(R.string.device_info_default))
+        assertThat(preference.summary).isEqualTo(context.getString(R.string.device_info_default))
     }
 
     @Test
-    fun refreshData_getPhoneNumber_preferenceSummaryIsExpected() = runBlocking {
+    fun onViewCreated_canGetPhoneNumber_displayPhoneNumber() = runBlocking {
         whenever(SubscriptionUtil.isSimHardwareVisible(context)).thenReturn(true)
-        whenever(SubscriptionUtil.getActiveSubscriptions(any())).thenReturn(
-            listOf(
-                SUB_INFO_1,
-                SUB_INFO_2
-            )
-        )
-        var mockSubId = 2
-        controller.init(mockFragment, mockSubId)
-        mockPhoneNumber = "test phone number"
-        whenever(SubscriptionUtil.getBidiFormattedPhoneNumber(any(),any())).thenReturn(mockPhoneNumber)
+        mockSubscriptionRepository.stub {
+            on { phoneNumberFlow(SUB_ID) } doReturn flowOf(PHONE_NUMBER)
+        }
 
-        controller.refreshData(SUB_INFO_2)
+        controller.onViewCreated(TestLifecycleOwner())
+        delay(100)
 
-        assertThat(preference.summary).isEqualTo(mockPhoneNumber)
+        assertThat(preference.summary).isEqualTo(PHONE_NUMBER)
     }
 
     @Test
@@ -123,18 +108,7 @@
 
     private companion object {
         const val TEST_KEY = "test_key"
-        const val DISPLAY_NAME_1 = "Sub 1"
-        const val DISPLAY_NAME_2 = "Sub 2"
-
-        val SUB_INFO_1: SubscriptionInfo = SubscriptionInfo.Builder().apply {
-            setId(1)
-            setDisplayName(DISPLAY_NAME_1)
-        }.build()
-
-        val SUB_INFO_2: SubscriptionInfo = SubscriptionInfo.Builder().apply {
-            setId(2)
-            setDisplayName(DISPLAY_NAME_2)
-        }.build()
-
+        const val SUB_ID = 10
+        const val PHONE_NUMBER = "1234567890"
     }
 }
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/MobileNetworkSettingsSearchIndexTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/MobileNetworkSettingsSearchIndexTest.kt
new file mode 100644
index 0000000..ad50433
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/MobileNetworkSettingsSearchIndexTest.kt
@@ -0,0 +1,151 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.UserManager
+import android.provider.Settings
+import android.telephony.SubscriptionInfo
+import android.telephony.SubscriptionManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.Companion.isMobileNetworkSettingsSearchable
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchResult
+import com.android.settings.spa.SpaSearchLanding.BundleValue
+import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingFragment
+import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingKey
+import com.android.settings.spa.search.SpaSearchLandingActivity
+import com.android.settings.spa.search.decodeToSpaSearchLandingKey
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.stub
+
+@RunWith(AndroidJUnit4::class)
+class MobileNetworkSettingsSearchIndexTest {
+
+    private val mockUserManager = mock<UserManager> { on { isAdminUser } doReturn true }
+
+    private val mockSubscriptionManager =
+        mock<SubscriptionManager> {
+            on { activeSubscriptionInfoList } doReturn listOf(SUB_INFO_1, SUB_INFO_2)
+        }
+
+    private val context: Context =
+        spy(ApplicationProvider.getApplicationContext()) {
+            on { getSystemService(UserManager::class.java) } doReturn mockUserManager
+            on { getSystemService(SubscriptionManager::class.java) } doReturn
+                mockSubscriptionManager
+        }
+
+    private val resources =
+        spy(context.resources) { on { getBoolean(R.bool.config_show_sim_info) } doReturn true }
+
+    private val mobileNetworkSettingsSearchIndex = MobileNetworkSettingsSearchIndex {
+        listOf(
+            object : MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchItem {
+                override fun getSearchResult(subId: Int): MobileNetworkSettingsSearchResult? =
+                    if (subId == SUB_ID_1) {
+                        MobileNetworkSettingsSearchResult(key = KEY, title = TITLE)
+                    } else {
+                        null
+                    }
+            })
+    }
+
+    @Before
+    fun setUp() {
+        context.stub { on { resources } doReturn resources }
+    }
+
+    @Test
+    fun isMobileNetworkSettingsSearchable_adminUser_returnTrue() {
+        mockUserManager.stub { on { isAdminUser } doReturn true }
+
+        val isSearchable = isMobileNetworkSettingsSearchable(context)
+
+        assertThat(isSearchable).isTrue()
+    }
+
+    @Test
+    fun isMobileNetworkSettingsSearchable_nonAdminUser_returnFalse() {
+        mockUserManager.stub { on { isAdminUser } doReturn false }
+
+        val isSearchable = isMobileNetworkSettingsSearchable(context)
+
+        assertThat(isSearchable).isFalse()
+    }
+
+    @Test
+    fun createSearchIndexableData() {
+        val searchIndexableData = mobileNetworkSettingsSearchIndex.createSearchIndexableData()
+
+        assertThat(searchIndexableData.targetClass).isEqualTo(MobileNetworkSettings::class.java)
+        val dynamicRawDataToIndex =
+            searchIndexableData.searchIndexProvider.getDynamicRawDataToIndex(context, true)
+        assertThat(dynamicRawDataToIndex).hasSize(1)
+        val rawData = dynamicRawDataToIndex[0]
+        val key = decodeToSpaSearchLandingKey(rawData.key)
+        assertThat(key)
+            .isEqualTo(
+                SpaSearchLandingKey.newBuilder()
+                    .setFragment(
+                        SpaSearchLandingFragment.newBuilder()
+                            .setFragmentName(MobileNetworkSettings::class.java.name)
+                            .setPreferenceKey(KEY)
+                            .putArguments(
+                                Settings.EXTRA_SUB_ID,
+                                BundleValue.newBuilder().setIntValue(SUB_ID_1).build()))
+                    .build())
+        assertThat(rawData.title).isEqualTo(TITLE)
+        assertThat(rawData.intentAction).isEqualTo("android.settings.SPA_SEARCH_LANDING")
+        assertThat(rawData.intentTargetClass)
+            .isEqualTo(SpaSearchLandingActivity::class.qualifiedName)
+        assertThat(rawData.className).isEqualTo(MobileNetworkSettings::class.java.name)
+        assertThat(rawData.screenTitle).isEqualTo("SIMs > $SUB_DISPLAY_NAME_1")
+    }
+
+    private companion object {
+        const val KEY = "key"
+        const val TITLE = "Title"
+        const val SUB_ID_1 = 1
+        const val SUB_ID_2 = 2
+        const val SUB_DISPLAY_NAME_1 = "Sub 1"
+        const val SUB_DISPLAY_NAME_2 = "Sub 2"
+
+        val SUB_INFO_1: SubscriptionInfo =
+            SubscriptionInfo.Builder()
+                .apply {
+                    setId(SUB_ID_1)
+                    setDisplayName(SUB_DISPLAY_NAME_1)
+                }
+                .build()
+
+        val SUB_INFO_2: SubscriptionInfo =
+            SubscriptionInfo.Builder()
+                .apply {
+                    setId(SUB_ID_2)
+                    setDisplayName(SUB_DISPLAY_NAME_2)
+                }
+                .build()
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/NetworkSelectRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/NetworkSelectRepositoryTest.kt
index 4137de4..0cbfe02 100644
--- a/tests/spa_unit/src/com/android/settings/network/telephony/NetworkSelectRepositoryTest.kt
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/NetworkSelectRepositoryTest.kt
@@ -17,20 +17,21 @@
 package com.android.settings.network.telephony
 
 import android.content.Context
-import android.telephony.AccessNetworkConstants
-import android.telephony.NetworkRegistrationInfo
-import android.telephony.ServiceState
-import android.telephony.TelephonyManager
+import android.os.PersistableBundle
+import android.telephony.*
+import android.telephony.satellite.SatelliteManager
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.android.settings.network.telephony.scan.NetworkScanRepositoryTest
 import com.google.common.truth.Truth.assertThat
 import org.junit.Test
 import org.junit.runner.RunWith
+import org.mockito.ArgumentMatchers.anyInt
 import org.mockito.kotlin.doReturn
 import org.mockito.kotlin.mock
 import org.mockito.kotlin.spy
 import org.mockito.kotlin.stub
+import org.mockito.kotlin.whenever
 
 @RunWith(AndroidJUnit4::class)
 class NetworkSelectRepositoryTest {
@@ -49,8 +50,16 @@
         on { serviceState } doReturn mockServiceState
     }
 
+    private val mockSatelliteManager = mock<SatelliteManager> {
+        on { getSatellitePlmnsForCarrier(anyInt()) } doReturn SatellitePlmns
+    }
+
+    private var mockCarrierConfigManager = mock<CarrierConfigManager>()
+
     private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
         on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
+        on { getSystemService(SatelliteManager::class.java) } doReturn mockSatelliteManager
+        on { getSystemService(CarrierConfigManager::class.java) } doReturn mockCarrierConfigManager
     }
 
     private val repository = NetworkSelectRepository(context, SUB_ID)
@@ -105,6 +114,14 @@
             on { forbiddenPlmns } doReturn arrayOf(FORBIDDEN_PLMN)
         }
 
+        val config = PersistableBundle()
+        config.putBoolean(
+            CarrierConfigManager.KEY_REMOVE_SATELLITE_PLMN_IN_MANUAL_NETWORK_SCAN_BOOL,
+            false)
+        whenever(mockCarrierConfigManager.getConfigForSubId(
+            SUB_ID, CarrierConfigManager.KEY_REMOVE_SATELLITE_PLMN_IN_MANUAL_NETWORK_SCAN_BOOL))
+            .thenReturn(config)
+
         val info = repository.getNetworkRegistrationInfo()
 
         assertThat(info).isEqualTo(
@@ -115,9 +132,76 @@
         )
     }
 
+    @Test
+    fun getNetworkRegistrationInfo_filterSatellitePlmn() {
+
+        val info1 = createTestNetworkRegistrationInfo("310", "260")
+        val info2 = createTestNetworkRegistrationInfo("310", "261")
+        val satelliteInfo = createTestNetworkRegistrationInfo(satelliteMcc, satelliteMnc)
+        val registrationInfos = listOf(info1, info2, satelliteInfo)
+        val filteredRegistrationInfos = listOf(info1, info2)
+
+        mockServiceState.stub {
+            on {
+                getNetworkRegistrationInfoListForTransportType(
+                    AccessNetworkConstants.TRANSPORT_TYPE_WWAN
+                )
+            } doReturn registrationInfos
+        }
+        mockTelephonyManager.stub {
+            on { forbiddenPlmns } doReturn arrayOf(FORBIDDEN_PLMN)
+        }
+
+        // disable satellite plmn filter
+        var config = PersistableBundle()
+        config.putBoolean(
+            CarrierConfigManager.KEY_REMOVE_SATELLITE_PLMN_IN_MANUAL_NETWORK_SCAN_BOOL,
+            false)
+        whenever(mockCarrierConfigManager.getConfigForSubId(
+            SUB_ID, CarrierConfigManager.KEY_REMOVE_SATELLITE_PLMN_IN_MANUAL_NETWORK_SCAN_BOOL))
+            .thenReturn(config)
+
+        var infoList = repository.getNetworkRegistrationInfo()
+
+        assertThat(infoList).isEqualTo(
+            NetworkSelectRepository.NetworkRegistrationAndForbiddenInfo(
+                networkList = registrationInfos,
+                forbiddenPlmns = listOf(FORBIDDEN_PLMN),
+            )
+        )
+
+        // enable satellite plmn filter
+        config = PersistableBundle()
+        config.putBoolean(
+            CarrierConfigManager.KEY_REMOVE_SATELLITE_PLMN_IN_MANUAL_NETWORK_SCAN_BOOL,
+            true)
+        whenever(mockCarrierConfigManager.getConfigForSubId(
+            SUB_ID, CarrierConfigManager.KEY_REMOVE_SATELLITE_PLMN_IN_MANUAL_NETWORK_SCAN_BOOL))
+            .thenReturn(config)
+
+        infoList = repository.getNetworkRegistrationInfo()
+
+        assertThat(infoList).isEqualTo(
+            NetworkSelectRepository.NetworkRegistrationAndForbiddenInfo(
+                networkList = filteredRegistrationInfos,
+                forbiddenPlmns = listOf(FORBIDDEN_PLMN),
+            )
+        )
+    }
+
     private companion object {
         const val SUB_ID = 1
         val NetworkRegistrationInfos = listOf(NetworkRegistrationInfo.Builder().build())
         const val FORBIDDEN_PLMN = "Forbidden PLMN"
+        const val satelliteMcc = "310"
+        const val satelliteMnc = "810"
+        val SatellitePlmns = listOf(satelliteMcc + satelliteMnc)
+
+        fun createTestNetworkRegistrationInfo(mcc: String, mnc: String): NetworkRegistrationInfo {
+            val cellInfo = CellIdentityLte(0, 0, 0, 0, IntArray(2) { 0 },
+                0, mcc, mnc, "", "", emptyList(), null)
+
+            return NetworkRegistrationInfo.Builder().setCellIdentity(cellInfo).build()
+        }
     }
 }
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/NrAdvancedCallingPreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/NrAdvancedCallingPreferenceControllerTest.kt
index 418a00b..c8fc977 100644
--- a/tests/spa_unit/src/com/android/settings/network/telephony/NrAdvancedCallingPreferenceControllerTest.kt
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/NrAdvancedCallingPreferenceControllerTest.kt
@@ -41,91 +41,77 @@
 
 @RunWith(AndroidJUnit4::class)
 class NrAdvancedCallingPreferenceControllerTest {
-    @get:Rule
-    val composeTestRule = createComposeRule()
+    @get:Rule val composeTestRule = createComposeRule()
 
     private val context: Context = spy(ApplicationProvider.getApplicationContext()) {}
 
-    private val callStateRepository = mock<CallStateRepository> {
-        on { isInCallFlow() } doReturn flowOf(false)
-    }
+    private val callStateRepository =
+        mock<CallStateRepository> { on { isInCallFlow() } doReturn flowOf(false) }
 
-    private val voNrRepository = mock<VoNrRepository>()
+    private val voNrRepository =
+        mock<VoNrRepository> { on { isVoNrEnabledFlow(SUB_ID) } doReturn flowOf(true) }
 
-    private val controller = NrAdvancedCallingPreferenceController(
-        context = context,
-        key = TEST_KEY,
-        callStateRepository = callStateRepository,
-    ).apply { init(SUB_ID, voNrRepository) }
+    private val controller =
+        NrAdvancedCallingPreferenceController(
+                context = context,
+                key = TEST_KEY,
+                voNrRepository = voNrRepository,
+                callStateRepository = callStateRepository,
+            )
+            .apply { init(SUB_ID) }
 
     @Test
     fun isChecked_voNrEnabled_on() {
-        voNrRepository.stub {
-            on { isVoNrEnabledFlow() } doReturn flowOf(true)
-        }
+        voNrRepository.stub { on { isVoNrEnabledFlow(SUB_ID) } doReturn flowOf(true) }
 
-        composeTestRule.setContent {
-            controller.Content()
-        }
+        composeTestRule.setContent { controller.Content() }
 
-        composeTestRule.onNodeWithText(context.getString(R.string.nr_advanced_calling_title))
+        composeTestRule
+            .onNodeWithText(context.getString(R.string.nr_advanced_calling_title))
             .assertIsOn()
     }
 
     @Test
     fun isChecked_voNrDisabled_off() {
-        voNrRepository.stub {
-            on { isVoNrEnabledFlow() } doReturn flowOf(false)
-        }
+        voNrRepository.stub { on { isVoNrEnabledFlow(SUB_ID) } doReturn flowOf(false) }
 
-        composeTestRule.setContent {
-            controller.Content()
-        }
+        composeTestRule.setContent { controller.Content() }
 
-        composeTestRule.onNodeWithText(context.getString(R.string.nr_advanced_calling_title))
+        composeTestRule
+            .onNodeWithText(context.getString(R.string.nr_advanced_calling_title))
             .assertIsOff()
     }
 
     @Test
-    fun isEnabled_notInCall_enabled() {
-        callStateRepository.stub {
-            on { isInCallFlow() } doReturn flowOf(false)
-        }
+    fun isChangeable_notInCall_changeable() {
+        callStateRepository.stub { on { isInCallFlow() } doReturn flowOf(false) }
 
-        composeTestRule.setContent {
-            controller.Content()
-        }
+        composeTestRule.setContent { controller.Content() }
 
-        composeTestRule.onNodeWithText(context.getString(R.string.nr_advanced_calling_title))
+        composeTestRule
+            .onNodeWithText(context.getString(R.string.nr_advanced_calling_title))
             .assertIsEnabled()
     }
 
     @Test
-    fun isEnabled_inCall_notEnabled() {
-        callStateRepository.stub {
-            on { isInCallFlow() } doReturn flowOf(true)
-        }
+    fun isChangeable_inCall_notChangeable() {
+        callStateRepository.stub { on { isInCallFlow() } doReturn flowOf(true) }
 
-        composeTestRule.setContent {
-            controller.Content()
-        }
+        composeTestRule.setContent { controller.Content() }
 
-        composeTestRule.onNodeWithText(context.getString(R.string.nr_advanced_calling_title))
+        composeTestRule
+            .onNodeWithText(context.getString(R.string.nr_advanced_calling_title))
             .assertIsNotEnabled()
     }
 
     @Test
     fun onClick_setVoNrEnabled(): Unit = runBlocking {
-        voNrRepository.stub {
-            on { isVoNrEnabledFlow() } doReturn flowOf(false)
-        }
+        voNrRepository.stub { on { isVoNrEnabledFlow(SUB_ID) } doReturn flowOf(false) }
 
-        composeTestRule.setContent {
-            controller.Content()
-        }
+        composeTestRule.setContent { controller.Content() }
         composeTestRule.onRoot().performClick()
 
-        verify(voNrRepository).setVoNrEnabled(true)
+        verify(voNrRepository).setVoNrEnabled(SUB_ID, true)
     }
 
     private companion object {
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/NrRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/NrRepositoryTest.kt
new file mode 100644
index 0000000..2df2a0f
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/NrRepositoryTest.kt
@@ -0,0 +1,109 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.telephony.CarrierConfigManager
+import android.telephony.TelephonyManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.stub
+
+@RunWith(AndroidJUnit4::class)
+class NrRepositoryTest {
+    private val mockTelephonyManager =
+        mock<TelephonyManager> {
+            on { createForSubscriptionId(SUB_ID) } doReturn mock
+            on { supportedRadioAccessFamily } doReturn TelephonyManager.NETWORK_TYPE_BITMASK_NR
+        }
+
+    private val context: Context =
+        spy(ApplicationProvider.getApplicationContext()) {
+            on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
+        }
+
+    private val repository = NrRepository(context)
+
+    @Before
+    fun setUp() {
+        CarrierConfigRepository.resetForTest()
+    }
+
+    @Test
+    fun isNrAvailable_deviceNoNr_returnFalse() {
+        mockTelephonyManager.stub {
+            on { supportedRadioAccessFamily } doReturn TelephonyManager.NETWORK_TYPE_BITMASK_LTE
+        }
+
+        val available = repository.isNrAvailable(SUB_ID)
+
+        assertThat(available).isFalse()
+    }
+
+    @Test
+    fun isNrAvailable_carrierConfigNrIsEmpty_returnFalse() {
+        CarrierConfigRepository.setIntArrayForTest(
+            subId = SUB_ID,
+            key = CarrierConfigManager.KEY_CARRIER_NR_AVAILABILITIES_INT_ARRAY,
+            value = intArrayOf(),
+        )
+
+        val available = repository.isNrAvailable(SUB_ID)
+
+        assertThat(available).isFalse()
+    }
+
+    @Test
+    fun isNrAvailable_carrierConfigNrIsNull_returnFalse() {
+        CarrierConfigRepository.setIntArrayForTest(
+            subId = SUB_ID,
+            key = CarrierConfigManager.KEY_CARRIER_NR_AVAILABILITIES_INT_ARRAY,
+            value = null,
+        )
+
+        val available = repository.isNrAvailable(SUB_ID)
+
+        assertThat(available).isFalse()
+    }
+
+    @Test
+    fun isNrAvailable_allEnabled_returnTrue() {
+        mockTelephonyManager.stub {
+            on { supportedRadioAccessFamily } doReturn TelephonyManager.NETWORK_TYPE_BITMASK_NR
+        }
+        CarrierConfigRepository.setIntArrayForTest(
+            subId = SUB_ID,
+            key = CarrierConfigManager.KEY_CARRIER_NR_AVAILABILITIES_INT_ARRAY,
+            value = intArrayOf(1, 2),
+        )
+
+        val available = repository.isNrAvailable(SUB_ID)
+
+        assertThat(available).isTrue()
+    }
+
+    private companion object {
+        const val SUB_ID = 10
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/RoamingPreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/RoamingPreferenceControllerTest.kt
new file mode 100644
index 0000000..ee4cff6
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/RoamingPreferenceControllerTest.kt
@@ -0,0 +1,194 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.telephony.CarrierConfigManager
+import android.telephony.SubscriptionManager
+import androidx.compose.runtime.CompositionLocalProvider
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.test.assertIsDisplayed
+import androidx.compose.ui.test.assertIsOff
+import androidx.compose.ui.test.assertIsOn
+import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.compose.ui.test.onNodeWithText
+import androidx.fragment.app.FragmentManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
+import com.android.settings.core.BasePreferenceController.AVAILABLE
+import com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.flow.flowOf
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.stub
+
+@RunWith(AndroidJUnit4::class)
+class RoamingPreferenceControllerTest {
+    @get:Rule val composeTestRule = createComposeRule()
+
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    private val mockMobileDataRepository =
+        mock<MobileDataRepository> {
+            on { isDataRoamingEnabledFlow(SUB_ID) } doReturn flowOf(false)
+        }
+
+    private val controller =
+        RoamingPreferenceController(context, TEST_KEY, mockMobileDataRepository)
+
+    @Before
+    fun setUp() {
+        CarrierConfigRepository.resetForTest()
+    }
+
+    @Test
+    fun getAvailabilityStatus_validSubId_returnAvailable() {
+        controller.init(mock<FragmentManager>(), SUB_ID)
+
+        val availabilityStatus = controller.getAvailabilityStatus()
+
+        assertThat(availabilityStatus).isEqualTo(AVAILABLE)
+    }
+
+    @Test
+    fun getAvailabilityStatus_invalidSubId_returnConditionallyUnavailable() {
+        controller.init(mock<FragmentManager>(), SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+
+        val availabilityStatus = controller.getAvailabilityStatus()
+
+        assertThat(availabilityStatus).isEqualTo(CONDITIONALLY_UNAVAILABLE)
+    }
+
+    @Test
+    fun getAvailabilityStatus_forceHomeNetworkIsTrue_returnConditionallyUnavailable() {
+        CarrierConfigRepository.setBooleanForTest(
+            subId = SUB_ID,
+            key = CarrierConfigManager.KEY_FORCE_HOME_NETWORK_BOOL,
+            value = true,
+        )
+        controller.init(mock<FragmentManager>(), SUB_ID)
+
+        val availabilityStatus = controller.getAvailabilityStatus()
+
+        assertThat(availabilityStatus).isEqualTo(CONDITIONALLY_UNAVAILABLE)
+    }
+
+    @Test
+    fun getAvailabilityStatus_forceHomeNetworkIsFalse_returnAvailable() {
+        CarrierConfigRepository.setBooleanForTest(
+            subId = SUB_ID,
+            key = CarrierConfigManager.KEY_FORCE_HOME_NETWORK_BOOL,
+            value = false,
+        )
+        controller.init(mock<FragmentManager>(), SUB_ID)
+
+        val availabilityStatus = controller.getAvailabilityStatus()
+
+        assertThat(availabilityStatus).isEqualTo(AVAILABLE)
+    }
+
+    @Test
+    fun title_displayed() {
+        controller.init(mock<FragmentManager>(), SUB_ID)
+
+        composeTestRule.setContent {
+            CompositionLocalProvider(LocalContext provides context) { controller.Content() }
+        }
+
+        composeTestRule.onNodeWithText(context.getString(R.string.roaming)).assertIsDisplayed()
+    }
+
+    @Test
+    fun summary_displayed() {
+        controller.init(mock<FragmentManager>(), SUB_ID)
+
+        composeTestRule.setContent {
+            CompositionLocalProvider(LocalContext provides context) { controller.Content() }
+        }
+
+        composeTestRule
+            .onNodeWithText(context.getString(R.string.roaming_enable))
+            .assertIsDisplayed()
+    }
+
+    @Test
+    fun isDialogNeeded_enableChargeIndication_returnTrue() {
+        CarrierConfigRepository.setBooleanForTest(
+            subId = SUB_ID,
+            key = CarrierConfigManager.KEY_DISABLE_CHARGE_INDICATION_BOOL,
+            value = false,
+        )
+        controller.init(mock<FragmentManager>(), SUB_ID)
+
+        val isDialogNeeded = controller.isDialogNeeded()
+
+        assertThat(isDialogNeeded).isTrue()
+    }
+
+    @Test
+    fun isDialogNeeded_disableChargeIndication_returnFalse() {
+        CarrierConfigRepository.setBooleanForTest(
+            subId = SUB_ID,
+            key = CarrierConfigManager.KEY_DISABLE_CHARGE_INDICATION_BOOL,
+            value = true,
+        )
+        controller.init(mock<FragmentManager>(), SUB_ID)
+
+        val isDialogNeeded = controller.isDialogNeeded()
+
+        assertThat(isDialogNeeded).isFalse()
+    }
+
+    @Test
+    fun checked_roamingEnabled_isOn() {
+        mockMobileDataRepository.stub {
+            on { isDataRoamingEnabledFlow(SUB_ID) } doReturn flowOf(true)
+        }
+        controller.init(mock<FragmentManager>(), SUB_ID)
+
+        composeTestRule.setContent {
+            CompositionLocalProvider(LocalContext provides context) { controller.Content() }
+        }
+
+        composeTestRule.onNodeWithText(context.getString(R.string.roaming)).assertIsOn()
+    }
+
+    @Test
+    fun checked_roamingDisabled_isOff() {
+        mockMobileDataRepository.stub {
+            on { isDataRoamingEnabledFlow(SUB_ID) } doReturn flowOf(false)
+        }
+        controller.init(mock<FragmentManager>(), SUB_ID)
+
+        composeTestRule.setContent {
+            CompositionLocalProvider(LocalContext provides context) { controller.Content() }
+        }
+
+        composeTestRule.onNodeWithText(context.getString(R.string.roaming)).assertIsOff()
+    }
+
+    private companion object {
+        const val TEST_KEY = "test_key"
+        const val SUB_ID = 2
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/SubscriptionRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/SubscriptionRepositoryTest.kt
index e233fa4..5dbc534 100644
--- a/tests/spa_unit/src/com/android/settings/network/telephony/SubscriptionRepositoryTest.kt
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/SubscriptionRepositoryTest.kt
@@ -77,7 +77,7 @@
 
     @Test
     fun subscriptionsChangedFlow_hasInitialValue() = runBlocking {
-        val initialValue = context.subscriptionsChangedFlow().firstWithTimeoutOrNull()
+        val initialValue = repository.subscriptionsChangedFlow().firstWithTimeoutOrNull()
 
         assertThat(initialValue).isSameInstanceAs(Unit)
     }
@@ -85,7 +85,7 @@
     @Test
     fun subscriptionsChangedFlow_changed() = runBlocking {
         val listDeferred = async {
-            context.subscriptionsChangedFlow().toListWithTimeout()
+            repository.subscriptionsChangedFlow().toListWithTimeout()
         }
         delay(100)
 
@@ -95,6 +95,17 @@
     }
 
     @Test
+    fun activeSubscriptionIdListFlow(): Unit = runBlocking {
+        mockSubscriptionManager.stub {
+            on { activeSubscriptionIdList } doReturn intArrayOf(SUB_ID_IN_SLOT_0)
+        }
+
+        val activeSubIds = repository.activeSubscriptionIdListFlow().firstWithTimeoutOrNull()
+
+        assertThat(activeSubIds).containsExactly(SUB_ID_IN_SLOT_0)
+    }
+
+    @Test
     fun getSelectableSubscriptionInfoList_sortedBySimSlotIndex() {
         mockSubscriptionManager.stub {
             on { getAvailableSubscriptionInfoList() } doReturn listOf(
@@ -179,6 +190,32 @@
     }
 
     @Test
+    fun isSubscriptionVisibleFlow_available_returnTrue() = runBlocking {
+        mockSubscriptionManager.stub {
+            on { getAvailableSubscriptionInfoList() } doReturn
+                listOf(SubscriptionInfo.Builder().apply { setId(SUB_ID_IN_SLOT_0) }.build())
+        }
+
+        val isVisible =
+            repository.isSubscriptionVisibleFlow(SUB_ID_IN_SLOT_0).firstWithTimeoutOrNull()
+
+        assertThat(isVisible).isTrue()
+    }
+
+    @Test
+    fun isSubscriptionVisibleFlow_unavailable_returnFalse() = runBlocking {
+        mockSubscriptionManager.stub {
+            on { getAvailableSubscriptionInfoList() } doReturn
+                listOf(SubscriptionInfo.Builder().apply { setId(SUB_ID_IN_SLOT_0) }.build())
+        }
+
+        val isVisible =
+            repository.isSubscriptionVisibleFlow(SUB_ID_IN_SLOT_1).firstWithTimeoutOrNull()
+
+        assertThat(isVisible).isFalse()
+    }
+
+    @Test
     fun phoneNumberFlow() = runBlocking {
         mockSubscriptionManager.stub {
             on { getPhoneNumber(SUB_ID_IN_SLOT_1) } doReturn NUMBER_1
@@ -193,6 +230,22 @@
         assertThat(phoneNumber).isEqualTo(NUMBER_1)
     }
 
+    @Test
+    fun phoneNumberFlow_withSubId() = runBlocking {
+        val subInfo = SubscriptionInfo.Builder().apply {
+            setId(SUB_ID_IN_SLOT_1)
+            setMcc(MCC)
+        }.build()
+        mockSubscriptionManager.stub {
+            on { getActiveSubscriptionInfo(SUB_ID_IN_SLOT_1) } doReturn subInfo
+            on { getPhoneNumber(SUB_ID_IN_SLOT_1) } doReturn NUMBER_1
+        }
+
+        val phoneNumber = repository.phoneNumberFlow(SUB_ID_IN_SLOT_1).firstWithTimeoutOrNull()
+
+        assertThat(phoneNumber).isEqualTo(NUMBER_1)
+    }
+
     private companion object {
         const val SIM_SLOT_INDEX_0 = 0
         const val SUB_ID_IN_SLOT_0 = 2
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/TelephonyRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/TelephonyRepositoryTest.kt
index 65e8c47..12791b8 100644
--- a/tests/spa_unit/src/com/android/settings/network/telephony/TelephonyRepositoryTest.kt
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/TelephonyRepositoryTest.kt
@@ -17,14 +17,12 @@
 package com.android.settings.network.telephony
 
 import android.content.Context
-import android.telephony.SubscriptionManager
 import android.telephony.TelephonyCallback
 import android.telephony.TelephonyManager
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull
 import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.flow.flowOf
 import kotlinx.coroutines.runBlocking
 import org.junit.Test
 import org.junit.runner.RunWith
@@ -33,91 +31,29 @@
 import org.mockito.kotlin.doReturn
 import org.mockito.kotlin.mock
 import org.mockito.kotlin.spy
-import org.mockito.kotlin.stub
 import org.mockito.kotlin.verify
 
 @RunWith(AndroidJUnit4::class)
 class TelephonyRepositoryTest {
     private var telephonyCallback: TelephonyCallback? = null
 
-    private val mockTelephonyManager = mock<TelephonyManager> {
-        on { createForSubscriptionId(SUB_ID) } doReturn mock
-        on { registerTelephonyCallback(any(), any()) } doAnswer {
-            telephonyCallback = it.arguments[1] as TelephonyCallback
-        }
-    }
-
-    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
-        on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
-    }
-
-    private val repository = TelephonyRepository(context, flowOf(Unit))
-
-    @Test
-    fun isMobileDataPolicyEnabledFlow_invalidSub_returnFalse() = runBlocking {
-        val flow = repository.isMobileDataPolicyEnabledFlow(
-            subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
-            policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
-        )
-
-        assertThat(flow.firstWithTimeoutOrNull()).isFalse()
-    }
-
-    @Test
-    fun isMobileDataPolicyEnabledFlow_validSub_returnPolicyState() = runBlocking {
-        mockTelephonyManager.stub {
-            on {
-                isMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH)
-            } doReturn true
+    private val mockTelephonyManager =
+        mock<TelephonyManager> {
+            on { createForSubscriptionId(SUB_ID) } doReturn mock
+            on { registerTelephonyCallback(any(), any()) } doAnswer
+                {
+                    telephonyCallback = it.arguments[1] as TelephonyCallback
+                }
         }
 
-        val flow = repository.isMobileDataPolicyEnabledFlow(
-            subId = SUB_ID,
-            policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
-        )
-
-        assertThat(flow.firstWithTimeoutOrNull()).isTrue()
-    }
-
-    @Test
-    fun setMobileDataPolicyEnabled() = runBlocking {
-        repository.setMobileDataPolicyEnabled(
-            subId = SUB_ID,
-            policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
-            enabled = true
-        )
-
-        verify(mockTelephonyManager)
-            .setMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH, true)
-    }
-
-    @Test
-    fun isDataEnabled_invalidSub_returnFalse() = runBlocking {
-        val state = repository.isDataEnabledFlow(
-            subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
-        )
-
-        assertThat(state.firstWithTimeoutOrNull()).isFalse()
-    }
-
-    @Test
-    fun isDataEnabled_validSub_returnPolicyState() = runBlocking {
-        mockTelephonyManager.stub {
-            on {
-                isDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER)
-            } doReturn true
+    private val context: Context =
+        spy(ApplicationProvider.getApplicationContext()) {
+            on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
         }
 
-        val state = repository.isDataEnabledFlow(subId = SUB_ID)
-
-        assertThat(state.firstWithTimeoutOrNull()).isTrue()
-    }
-
     @Test
     fun telephonyCallbackFlow_callbackRegistered() = runBlocking {
-        val flow = context.telephonyCallbackFlow<Unit>(SUB_ID) {
-            object : TelephonyCallback() {}
-        }
+        val flow = context.telephonyCallbackFlow<Unit>(SUB_ID) { object : TelephonyCallback() {} }
 
         flow.firstWithTimeoutOrNull()
 
@@ -126,9 +62,7 @@
 
     @Test
     fun telephonyCallbackFlow_callbackUnregistered() = runBlocking {
-        val flow = context.telephonyCallbackFlow<Unit>(SUB_ID) {
-            object : TelephonyCallback() {}
-        }
+        val flow = context.telephonyCallbackFlow<Unit>(SUB_ID) { object : TelephonyCallback() {} }
 
         flow.firstWithTimeoutOrNull()
 
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/UiccSlotRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/UiccSlotRepositoryTest.kt
new file mode 100644
index 0000000..96aa151
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/UiccSlotRepositoryTest.kt
@@ -0,0 +1,262 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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
+import android.telephony.UiccPortInfo
+import android.telephony.UiccSlotInfo
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.stub
+
+@RunWith(AndroidJUnit4::class)
+class UiccSlotRepositoryTest {
+
+    private val mockTelephonyManager = mock<TelephonyManager>()
+
+    private val repository = UiccSlotRepository(mockTelephonyManager)
+
+    @Test
+    fun anyRemovablePhysicalSimEnabled_oneSimSlotDeviceActiveEsim_returnsFalse() {
+        mockTelephonyManager.stub {
+            on { uiccSlotsInfo } doReturn
+                arrayOf(
+                    createUiccSlotInfo(
+                        isEuicc = true, isRemovable = false, logicalSlotIdx = 1, isActive = true),
+                )
+        }
+
+        val result = repository.anyRemovablePhysicalSimEnabled()
+
+        assertThat(result).isFalse()
+    }
+
+    @Test
+    fun anyRemovablePhysicalSimEnabled_activeRemovableEsimAndInactivePsim_returnsFalse() {
+        mockTelephonyManager.stub {
+            on { uiccSlotsInfo } doReturn
+                arrayOf(
+                    createUiccSlotInfo(
+                        isEuicc = true, isRemovable = true, logicalSlotIdx = 0, isActive = true),
+                    createUiccSlotInfo(
+                        isEuicc = false, isRemovable = true, logicalSlotIdx = -1, isActive = false),
+                )
+        }
+
+        val result = repository.anyRemovablePhysicalSimEnabled()
+
+        assertThat(result).isFalse()
+    }
+
+    @Test
+    fun anyRemovablePhysicalSimEnabled_activeRemovableEsimAndActivePsim_returnsTrue() {
+        mockTelephonyManager.stub {
+            on { uiccSlotsInfo } doReturn
+                arrayOf(
+                    createUiccSlotInfo(
+                        isEuicc = false, isRemovable = true, logicalSlotIdx = 0, isActive = true),
+                    createUiccSlotInfo(
+                        isEuicc = true, isRemovable = true, logicalSlotIdx = 1, isActive = true),
+                )
+        }
+
+        val result = repository.anyRemovablePhysicalSimEnabled()
+
+        assertThat(result).isTrue()
+    }
+
+    @Test
+    fun anyRemovablePhysicalSimEnabled_inactiveRemovableEsimAndActivePsim_returnsTrue() {
+        mockTelephonyManager.stub {
+            on { uiccSlotsInfo } doReturn
+                arrayOf(
+                    createUiccSlotInfo(
+                        isEuicc = true, isRemovable = true, logicalSlotIdx = -1, isActive = false),
+                    createUiccSlotInfo(
+                        isEuicc = false, isRemovable = true, logicalSlotIdx = 0, isActive = true),
+                )
+        }
+
+        val result = repository.anyRemovablePhysicalSimEnabled()
+
+        assertThat(result).isTrue()
+    }
+
+    @Test
+    fun anyRemovablePhysicalSimEnabled_twoActiveRemovableEsimsAndInactivePsim_returnsFalse() {
+        mockTelephonyManager.stub {
+            on { uiccSlotsInfo } doReturn
+                arrayOf(
+                    createUiccSlotInfoForRemovableEsimMep(
+                        logicalSlotIdx1 = 0,
+                        isActiveEsim1 = true,
+                        logicalSlotIdx2 = 1,
+                        isActiveEsim2 = true,
+                    ),
+                    createUiccSlotInfo(
+                        isEuicc = false, isRemovable = true, logicalSlotIdx = -1, isActive = false),
+                )
+        }
+
+        val result = repository.anyRemovablePhysicalSimEnabled()
+
+        assertThat(result).isFalse()
+    }
+
+    @Test
+    fun anyRemovablePhysicalSimEnabled_oneActiveOneInactiveRemovableEsimActivePsim_returnsTrue() {
+        mockTelephonyManager.stub {
+            on { uiccSlotsInfo } doReturn
+                arrayOf(
+                    createUiccSlotInfoForRemovableEsimMep(
+                        logicalSlotIdx1 = 1,
+                        isActiveEsim1 = true,
+                        logicalSlotIdx2 = -1,
+                        isActiveEsim2 = false,
+                    ),
+                    createUiccSlotInfo(
+                        isEuicc = false, isRemovable = true, logicalSlotIdx = 0, isActive = true),
+                )
+        }
+
+        val result = repository.anyRemovablePhysicalSimEnabled()
+
+        assertThat(result).isTrue()
+    }
+
+    @Test
+    fun anyRemovablePhysicalSimEnabled_activePsim_returnsTrue() {
+        mockTelephonyManager.stub {
+            on { uiccSlotsInfo } doReturn
+                arrayOf(
+                    createUiccSlotInfo(
+                        isEuicc = false, isRemovable = true, logicalSlotIdx = 0, isActive = true),
+                )
+        }
+
+        val result = repository.anyRemovablePhysicalSimEnabled()
+
+        assertThat(result).isTrue()
+    }
+
+    @Test
+    fun anyRemovablePhysicalSimEnabled_inactivePsim_returnsFalse() {
+        mockTelephonyManager.stub {
+            on { uiccSlotsInfo } doReturn
+                arrayOf(
+                    createUiccSlotInfo(
+                        isEuicc = false, isRemovable = true, logicalSlotIdx = -1, isActive = false),
+                )
+        }
+
+        val result = repository.anyRemovablePhysicalSimEnabled()
+
+        assertThat(result).isFalse()
+    }
+
+    @Test
+    fun anyRemovablePhysicalSimEnabled_activeEsimAndActivePsim_returnsTrue() {
+        mockTelephonyManager.stub {
+            on { uiccSlotsInfo } doReturn
+                arrayOf(
+                    createUiccSlotInfo(
+                        isEuicc = false, isRemovable = true, logicalSlotIdx = 0, isActive = true),
+                    createUiccSlotInfo(
+                        isEuicc = true, isRemovable = false, logicalSlotIdx = 1, isActive = true),
+                )
+        }
+
+        val result = repository.anyRemovablePhysicalSimEnabled()
+
+        assertThat(result).isTrue()
+    }
+
+    @Test
+    fun anyRemovablePhysicalSimEnabled_activeEsimAndInactivePsim_returnsFalse() {
+        mockTelephonyManager.stub {
+            on { uiccSlotsInfo } doReturn
+                arrayOf(
+                    createUiccSlotInfo(
+                        isEuicc = false, isRemovable = true, logicalSlotIdx = 0, isActive = false),
+                    createUiccSlotInfo(
+                        isEuicc = true, isRemovable = false, logicalSlotIdx = 1, isActive = true),
+                )
+        }
+
+        val result = repository.anyRemovablePhysicalSimEnabled()
+
+        assertThat(result).isFalse()
+    }
+
+    @Test
+    fun anyRemovablePhysicalSimEnabled_uiccSlotInfoIsNull_returnsFalse() {
+        mockTelephonyManager.stub { on { uiccSlotsInfo } doReturn arrayOf(null) }
+
+        val result = repository.anyRemovablePhysicalSimEnabled()
+
+        assertThat(result).isFalse()
+    }
+
+    private companion object {
+        fun createUiccSlotInfo(
+            isEuicc: Boolean,
+            isRemovable: Boolean,
+            logicalSlotIdx: Int,
+            isActive: Boolean
+        ) =
+            UiccSlotInfo(
+                isEuicc,
+                /* cardId = */ "123",
+                /* cardStateInfo = */ UiccSlotInfo.CARD_STATE_INFO_PRESENT,
+                /* isExtendedApduSupported = */ true,
+                isRemovable,
+                /* portList = */ listOf(
+                    UiccPortInfo(/* iccId= */ "", /* portIndex= */ 0, logicalSlotIdx, isActive),
+                ),
+            )
+
+        fun createUiccSlotInfoForRemovableEsimMep(
+            logicalSlotIdx1: Int,
+            isActiveEsim1: Boolean,
+            logicalSlotIdx2: Int,
+            isActiveEsim2: Boolean,
+        ) =
+            UiccSlotInfo(
+                /* isEuicc = */ true,
+                /* cardId = */ "123",
+                /* cardStateInfo = */ UiccSlotInfo.CARD_STATE_INFO_PRESENT,
+                /* isExtendedApduSupported = */ true,
+                /* isRemovable = */ true,
+                /* portList = */ listOf(
+                    UiccPortInfo(
+                        /* iccId = */ "",
+                        /* portIndex = */ 0,
+                        /* logicalSlotIndex = */ logicalSlotIdx1,
+                        /* isActive = */ isActiveEsim1),
+                    UiccPortInfo(
+                        /* iccId = */ "",
+                        /* portIndex = */ 1,
+                        /* logicalSlotIndex = */ logicalSlotIdx2,
+                        /* isActive = */ isActiveEsim2),
+                ),
+            )
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/VideoCallingPreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/VideoCallingPreferenceControllerTest.kt
new file mode 100644
index 0000000..4babfaa
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/VideoCallingPreferenceControllerTest.kt
@@ -0,0 +1,125 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.telephony.TelephonyManager
+import androidx.lifecycle.testing.TestLifecycleOwner
+import androidx.preference.PreferenceManager
+import androidx.preference.SwitchPreferenceCompat
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.network.ims.VolteQueryImsState
+import com.android.settings.network.ims.VtQueryImsState
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.runBlocking
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.stub
+
+@RunWith(AndroidJUnit4::class)
+class VideoCallingPreferenceControllerTest {
+
+    private val mockVtQueryImsState = mock<VtQueryImsState> {}
+
+    private var mockQueryVoLteState = mock<VolteQueryImsState> {}
+
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    private val mockCallStateRepository = mock<CallStateRepository> {}
+
+    private var controller =
+        spy(
+            VideoCallingPreferenceController(
+                context = context,
+                key = TEST_KEY,
+                callStateRepository = mockCallStateRepository,
+            )
+        ) {
+            on { queryImsState(SUB_ID) } doReturn mockVtQueryImsState
+            on { queryVoLteState(SUB_ID) } doReturn mockQueryVoLteState
+        }
+
+    private val preference = SwitchPreferenceCompat(context).apply { key = TEST_KEY }
+    private val preferenceScreen = PreferenceManager(context).createPreferenceScreen(context)
+
+    @Before
+    fun setUp() {
+        controller.init(SUB_ID, CallingPreferenceCategoryController(context, "calling_category"))
+        preferenceScreen.addPreference(preference)
+        controller.displayPreference(preferenceScreen)
+    }
+
+    @Test
+    fun updateState_4gLteOff_disabledAndUnchecked() {
+        mockQueryVoLteState.stub { on { isEnabledByUser } doReturn false }
+
+        controller.updateState(preference)
+
+        assertThat(preference.isEnabled).isFalse()
+        assertThat(preference.isChecked).isFalse()
+    }
+
+    @Test
+    fun updateState_4gLteOnWithoutCall_enabledAndChecked() = runBlocking {
+        mockVtQueryImsState.stub {
+            on { isEnabledByUser } doReturn true
+            on { isAllowUserControl } doReturn true
+        }
+        mockQueryVoLteState.stub { on { isEnabledByUser } doReturn true }
+        mockCallStateRepository.stub {
+            on { callStateFlow(SUB_ID) } doReturn flowOf(TelephonyManager.CALL_STATE_IDLE)
+        }
+
+        controller.onViewCreated(TestLifecycleOwner())
+        delay(100)
+        controller.updateState(preference)
+
+        assertThat(preference.isEnabled).isTrue()
+        assertThat(preference.isChecked).isTrue()
+    }
+
+    @Test
+    fun updateState_4gLteOnWithCall_disabledAndChecked() = runBlocking {
+        mockVtQueryImsState.stub {
+            on { isEnabledByUser } doReturn true
+            on { isAllowUserControl } doReturn true
+        }
+        mockQueryVoLteState.stub { on { isEnabledByUser } doReturn true }
+        mockCallStateRepository.stub {
+            on { callStateFlow(SUB_ID) } doReturn flowOf(TelephonyManager.CALL_STATE_RINGING)
+        }
+
+        controller.onViewCreated(TestLifecycleOwner())
+        delay(100)
+        controller.updateState(preference)
+
+        assertThat(preference.isEnabled).isFalse()
+        assertThat(preference.isChecked).isTrue()
+    }
+
+    private companion object {
+        const val TEST_KEY = "test_key"
+        const val SUB_ID = 10
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/VideoCallingRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/VideoCallingRepositoryTest.kt
new file mode 100644
index 0000000..063e191
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/VideoCallingRepositoryTest.kt
@@ -0,0 +1,166 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.telephony.AccessNetworkConstants
+import android.telephony.CarrierConfigManager
+import android.telephony.SubscriptionManager
+import android.telephony.ims.feature.MmTelFeature
+import android.telephony.ims.stub.ImsRegistrationImplBase
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.network.telephony.ims.ImsFeatureRepository
+import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.runBlocking
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.stub
+
+@RunWith(AndroidJUnit4::class)
+class VideoCallingRepositoryTest {
+
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    private val mockMobileDataRepository = mock<MobileDataRepository>()
+    private val mockImsFeatureRepository = mock<ImsFeatureRepository>()
+
+    private val repository =
+        VideoCallingRepository(
+            context = context,
+            mobileDataRepository = mockMobileDataRepository,
+            imsFeatureRepositoryFactory = { mockImsFeatureRepository },
+        )
+
+    @Before
+    fun setUp() {
+        CarrierConfigRepository.resetForTest()
+    }
+
+    @Test
+    fun isVideoCallReadyFlow_invalidSubId() = runBlocking {
+        val isVideoCallReady =
+            repository
+                .isVideoCallReadyFlow(subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+                .firstWithTimeoutOrNull()
+
+        assertThat(isVideoCallReady).isFalse()
+    }
+
+    @Test
+    fun isVideoCallReadyFlow_ignoreDataEnabledChangedAndIsReady_returnTrue() = runBlocking {
+        CarrierConfigRepository.setBooleanForTest(
+            subId = SUB_ID,
+            key = CarrierConfigManager.KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS,
+            value = true,
+        )
+        mockImsFeatureRepository.stub {
+            on {
+                isReadyFlow(
+                    capability = MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO,
+                    tech = ImsRegistrationImplBase.REGISTRATION_TECH_LTE,
+                    transportType = AccessNetworkConstants.TRANSPORT_TYPE_WWAN,
+                )
+            } doReturn flowOf(true)
+        }
+
+        val isVideoCallReady = repository.isVideoCallReadyFlow(SUB_ID).firstWithTimeoutOrNull()
+
+        assertThat(isVideoCallReady).isTrue()
+    }
+
+    @Test
+    fun isVideoCallReadyFlow_ignoreDataEnabledChangedAndNotReady_returnFalse() = runBlocking {
+        CarrierConfigRepository.setBooleanForTest(
+            subId = SUB_ID,
+            key = CarrierConfigManager.KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS,
+            value = true,
+        )
+        mockImsFeatureRepository.stub {
+            on {
+                isReadyFlow(
+                    capability = MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO,
+                    tech = ImsRegistrationImplBase.REGISTRATION_TECH_LTE,
+                    transportType = AccessNetworkConstants.TRANSPORT_TYPE_WWAN,
+                )
+            } doReturn flowOf(false)
+        }
+
+        val isVideoCallReady = repository.isVideoCallReadyFlow(SUB_ID).firstWithTimeoutOrNull()
+
+        assertThat(isVideoCallReady).isFalse()
+    }
+
+    @Test
+    fun isVideoCallReadyFlow_mobileDataEnabledAndIsReady_returnTrue() = runBlocking {
+        CarrierConfigRepository.setBooleanForTest(
+            subId = SUB_ID,
+            key = CarrierConfigManager.KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS,
+            value = false,
+        )
+        mockMobileDataRepository.stub {
+            on { isMobileDataEnabledFlow(SUB_ID) } doReturn flowOf(true)
+        }
+        mockImsFeatureRepository.stub {
+            on {
+                isReadyFlow(
+                    capability = MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO,
+                    tech = ImsRegistrationImplBase.REGISTRATION_TECH_LTE,
+                    transportType = AccessNetworkConstants.TRANSPORT_TYPE_WWAN,
+                )
+            } doReturn flowOf(true)
+        }
+
+        val isVideoCallReady = repository.isVideoCallReadyFlow(SUB_ID).firstWithTimeoutOrNull()
+
+        assertThat(isVideoCallReady).isTrue()
+    }
+
+    @Test
+    fun isVideoCallReadyFlow_ignoreDataEnabledChangedAndIsReady_returnFalse() = runBlocking {
+        CarrierConfigRepository.setBooleanForTest(
+            subId = SUB_ID,
+            key = CarrierConfigManager.KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS,
+            value = false,
+        )
+        mockMobileDataRepository.stub {
+            on { isMobileDataEnabledFlow(SUB_ID) } doReturn flowOf(false)
+        }
+        mockImsFeatureRepository.stub {
+            on {
+                isReadyFlow(
+                    capability = MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO,
+                    tech = ImsRegistrationImplBase.REGISTRATION_TECH_LTE,
+                    transportType = AccessNetworkConstants.TRANSPORT_TYPE_WWAN,
+                )
+            } doReturn flowOf(true)
+        }
+
+        val isVideoCallReady = repository.isVideoCallReadyFlow(SUB_ID).firstWithTimeoutOrNull()
+
+        assertThat(isVideoCallReady).isFalse()
+    }
+
+    private companion object {
+        const val SUB_ID = 10
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/VoNrRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/VoNrRepositoryTest.kt
index 9c20afe..90d0aa5 100644
--- a/tests/spa_unit/src/com/android/settings/network/telephony/VoNrRepositoryTest.kt
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/VoNrRepositoryTest.kt
@@ -19,17 +19,15 @@
 import android.content.Context
 import android.telephony.CarrierConfigManager
 import android.telephony.TelephonyManager
-import androidx.core.os.persistableBundleOf
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull
 import com.google.common.truth.Truth.assertThat
 import kotlinx.coroutines.runBlocking
+import org.junit.Before
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.kotlin.anyVararg
 import org.mockito.kotlin.doReturn
-import org.mockito.kotlin.eq
 import org.mockito.kotlin.mock
 import org.mockito.kotlin.spy
 import org.mockito.kotlin.stub
@@ -38,127 +36,107 @@
 @RunWith(AndroidJUnit4::class)
 class VoNrRepositoryTest {
 
-    private val mockTelephonyManager = mock<TelephonyManager> {
-        on { createForSubscriptionId(SUB_ID) } doReturn mock
-        on { supportedRadioAccessFamily } doReturn TelephonyManager.NETWORK_TYPE_BITMASK_NR
+    private val mockTelephonyManager =
+        mock<TelephonyManager> { on { createForSubscriptionId(SUB_ID) } doReturn mock }
+
+    private val context: Context =
+        spy(ApplicationProvider.getApplicationContext()) {
+            on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
+        }
+
+    private val mockNrRepository = mock<NrRepository> { on { isNrAvailable(SUB_ID) } doReturn true }
+
+    private val repository = VoNrRepository(context, mockNrRepository)
+
+    @Before
+    fun setUp() {
+        CarrierConfigRepository.resetForTest()
+        CarrierConfigRepository.setBooleanForTest(
+            subId = SUB_ID,
+            key = CarrierConfigManager.KEY_VONR_ENABLED_BOOL,
+            value = true,
+        )
+        CarrierConfigRepository.setBooleanForTest(
+            subId = SUB_ID,
+            key = CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL,
+            value = true,
+        )
     }
 
-    private val carrierConfig = persistableBundleOf(
-        CarrierConfigManager.KEY_VONR_ENABLED_BOOL to true,
-        CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL to true,
-        CarrierConfigManager.KEY_CARRIER_NR_AVAILABILITIES_INT_ARRAY to intArrayOf(1, 2),
-    )
-
-    private val mockCarrierConfigManager = mock<CarrierConfigManager> {
-        on { getConfigForSubId(eq(SUB_ID), anyVararg()) } doReturn carrierConfig
-    }
-
-    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
-        on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
-        on { getSystemService(CarrierConfigManager::class.java) } doReturn mockCarrierConfigManager
-    }
-
-    private val repository = VoNrRepository(context, SUB_ID)
-
     @Test
     fun isVoNrAvailable_visibleDisable_returnFalse() {
-        carrierConfig.apply {
-            putBoolean(CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL, false)
-        }
+        CarrierConfigRepository.setBooleanForTest(
+            subId = SUB_ID,
+            key = CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL,
+            value = false,
+        )
 
-        val available = repository.isVoNrAvailable()
+        val available = repository.isVoNrAvailable(SUB_ID)
 
         assertThat(available).isFalse()
     }
 
     @Test
     fun isVoNrAvailable_voNrDisabled_returnFalse() {
-        carrierConfig.apply {
-            putBoolean(CarrierConfigManager.KEY_VONR_ENABLED_BOOL, false)
-        }
+        CarrierConfigRepository.setBooleanForTest(
+            subId = SUB_ID,
+            key = CarrierConfigManager.KEY_VONR_ENABLED_BOOL,
+            value = false,
+        )
 
-        val available = repository.isVoNrAvailable()
+        val available = repository.isVoNrAvailable(SUB_ID)
 
         assertThat(available).isFalse()
     }
 
     @Test
     fun isVoNrAvailable_allEnabled_returnTrue() {
-        mockTelephonyManager.stub {
-            on { supportedRadioAccessFamily } doReturn TelephonyManager.NETWORK_TYPE_BITMASK_NR
-        }
-        carrierConfig.apply {
-            putBoolean(CarrierConfigManager.KEY_VONR_ENABLED_BOOL, true)
-            putBoolean(CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL, true)
-            putIntArray(
-                CarrierConfigManager.KEY_CARRIER_NR_AVAILABILITIES_INT_ARRAY,
-                intArrayOf(1, 2),
-            )
-        }
+        CarrierConfigRepository.setBooleanForTest(
+            subId = SUB_ID,
+            key = CarrierConfigManager.KEY_VONR_ENABLED_BOOL,
+            value = true,
+        )
+        CarrierConfigRepository.setBooleanForTest(
+            subId = SUB_ID,
+            key = CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL,
+            value = true,
+        )
 
-        val available = repository.isVoNrAvailable()
+        val available = repository.isVoNrAvailable(SUB_ID)
 
         assertThat(available).isTrue()
     }
 
     @Test
-    fun isVoNrAvailable_deviceNoNr_returnFalse() {
-        mockTelephonyManager.stub {
-            on { supportedRadioAccessFamily } doReturn TelephonyManager.NETWORK_TYPE_BITMASK_LTE
-        }
+    fun isVoNrAvailable_noNr_returnFalse() {
+        mockNrRepository.stub { on { isNrAvailable(SUB_ID) } doReturn false }
 
-        val available = repository.isVoNrAvailable()
-
-        assertThat(available).isFalse()
-    }
-
-    @Test
-    fun isVoNrAvailable_carrierNoNr_returnFalse() {
-        carrierConfig.apply {
-            putIntArray(CarrierConfigManager.KEY_CARRIER_NR_AVAILABILITIES_INT_ARRAY, intArrayOf())
-        }
-
-        val available = repository.isVoNrAvailable()
-
-        assertThat(available).isFalse()
-    }
-
-    @Test
-    fun isVoNrAvailable_carrierConfigNrIsNull_returnFalse() {
-        carrierConfig.apply {
-            putIntArray(CarrierConfigManager.KEY_CARRIER_NR_AVAILABILITIES_INT_ARRAY, null)
-        }
-
-        val available = repository.isVoNrAvailable()
+        val available = repository.isVoNrAvailable(SUB_ID)
 
         assertThat(available).isFalse()
     }
 
     @Test
     fun isVoNrEnabledFlow_voNrDisabled() = runBlocking {
-        mockTelephonyManager.stub {
-            on { isVoNrEnabled } doReturn false
-        }
+        mockTelephonyManager.stub { on { isVoNrEnabled } doReturn false }
 
-        val isVoNrEnabled = repository.isVoNrEnabledFlow().firstWithTimeoutOrNull()
+        val isVoNrEnabled = repository.isVoNrEnabledFlow(SUB_ID).firstWithTimeoutOrNull()
 
         assertThat(isVoNrEnabled).isFalse()
     }
 
     @Test
     fun isVoNrEnabledFlow_voNrEnabled() = runBlocking {
-        mockTelephonyManager.stub {
-            on { isVoNrEnabled } doReturn true
-        }
+        mockTelephonyManager.stub { on { isVoNrEnabled } doReturn true }
 
-        val isVoNrEnabled = repository.isVoNrEnabledFlow().firstWithTimeoutOrNull()
+        val isVoNrEnabled = repository.isVoNrEnabledFlow(SUB_ID).firstWithTimeoutOrNull()
 
         assertThat(isVoNrEnabled).isTrue()
     }
 
     @Test
     fun setVoNrEnabled(): Unit = runBlocking {
-        repository.setVoNrEnabled(true)
+        repository.setVoNrEnabled(SUB_ID, true)
 
         verify(mockTelephonyManager).setVoNrEnabled(true)
     }
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/euicc/EuiccRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/euicc/EuiccRepositoryTest.kt
new file mode 100644
index 0000000..24e6fd6
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/euicc/EuiccRepositoryTest.kt
@@ -0,0 +1,117 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.euicc
+
+import android.content.Context
+import android.telephony.TelephonyManager
+import android.telephony.euicc.EuiccManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.stub
+
+@RunWith(AndroidJUnit4::class)
+class EuiccRepositoryTest {
+
+    private val mockEuiccManager = mock<EuiccManager> { on { isEnabled } doReturn true }
+
+    private val mockTelephonyManager =
+        mock<TelephonyManager> {
+            on { activeModemCount } doReturn 1
+            on { getNetworkCountryIso(any()) } doReturn COUNTRY_CODE
+        }
+
+    private val context: Context =
+        spy(ApplicationProvider.getApplicationContext()) {
+            on { getSystemService(EuiccManager::class.java) } doReturn mockEuiccManager
+            on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
+        }
+
+    private val resources =
+        spy(context.resources) { on { getBoolean(R.bool.config_show_sim_info) } doReturn true }
+
+    private var euiccProvisioned = false
+
+    private val repository =
+        EuiccRepository(
+            context,
+            isEuiccProvisioned = { euiccProvisioned },
+            isDevelopmentSettingsEnabled = { false },
+        )
+
+    @Before
+    fun setUp() {
+        context.stub { on { resources } doReturn resources }
+    }
+
+    @Test
+    fun showEuiccSettings_noSim_returnFalse() {
+        resources.stub { on { getBoolean(R.bool.config_show_sim_info) } doReturn false }
+
+        val showEuiccSettings = repository.showEuiccSettings()
+
+        assertThat(showEuiccSettings).isFalse()
+    }
+
+    @Test
+    fun showEuiccSettings_euiccDisabled_returnFalse() {
+        mockEuiccManager.stub { on { isEnabled } doReturn false }
+
+        val showEuiccSettings = repository.showEuiccSettings()
+
+        assertThat(showEuiccSettings).isFalse()
+    }
+
+    @Test
+    fun showEuiccSettings_euiccProvisioned_returnTrue() {
+        euiccProvisioned = true
+
+        val showEuiccSettings = repository.showEuiccSettings()
+
+        assertThat(showEuiccSettings).isTrue()
+    }
+
+    @Test
+    fun showEuiccSettings_countryNotSupported_returnFalse() {
+        mockEuiccManager.stub { on { isSupportedCountry(COUNTRY_CODE) } doReturn false }
+
+        val showEuiccSettings = repository.showEuiccSettings()
+
+        assertThat(showEuiccSettings).isFalse()
+    }
+
+    @Test
+    fun showEuiccSettings_countrySupported_returnTrue() {
+        mockEuiccManager.stub { on { isSupportedCountry(COUNTRY_CODE) } doReturn true }
+
+        val showEuiccSettings = repository.showEuiccSettings()
+
+        assertThat(showEuiccSettings).isTrue()
+    }
+
+    private companion object {
+        const val COUNTRY_CODE = "us"
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/ims/ImsFeatureProvisionedFlowTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/ims/ImsFeatureProvisionedFlowTest.kt
deleted file mode 100644
index 75f933a..0000000
--- a/tests/spa_unit/src/com/android/settings/network/telephony/ims/ImsFeatureProvisionedFlowTest.kt
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.ims
-
-import android.telephony.ims.ProvisioningManager
-import android.telephony.ims.ProvisioningManager.FeatureProvisioningCallback
-import android.telephony.ims.feature.MmTelFeature
-import android.telephony.ims.stub.ImsRegistrationImplBase
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import com.android.settingslib.spa.testutils.toListWithTimeout
-import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.async
-import kotlinx.coroutines.delay
-import kotlinx.coroutines.flow.first
-import kotlinx.coroutines.runBlocking
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.mockito.kotlin.any
-import org.mockito.kotlin.doAnswer
-import org.mockito.kotlin.mock
-
-@RunWith(AndroidJUnit4::class)
-class ImsFeatureProvisionedFlowTest {
-
-    private var callback: FeatureProvisioningCallback? = null
-
-    private val mockProvisioningManager = mock<ProvisioningManager> {
-        on { registerFeatureProvisioningChangedCallback(any(), any()) } doAnswer {
-            callback = it.arguments[1] as FeatureProvisioningCallback
-            callback?.onFeatureProvisioningChanged(CAPABILITY, TECH, true)
-        }
-    }
-
-    @Test
-    fun imsFeatureProvisionedFlow_sendInitialValue() = runBlocking {
-        val flow = imsFeatureProvisionedFlow(SUB_ID, CAPABILITY, TECH, mockProvisioningManager)
-
-        val state = flow.first()
-
-        assertThat(state).isTrue()
-    }
-
-    @Test
-    fun imsFeatureProvisionedFlow_changed(): Unit = runBlocking {
-        val listDeferred = async {
-            imsFeatureProvisionedFlow(SUB_ID, CAPABILITY, TECH, mockProvisioningManager)
-                .toListWithTimeout()
-        }
-        delay(100)
-
-        callback?.onFeatureProvisioningChanged(CAPABILITY, TECH, false)
-
-        assertThat(listDeferred.await().last()).isFalse()
-    }
-
-    private companion object {
-        const val SUB_ID = 1
-        const val CAPABILITY = MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE
-        const val TECH = ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN
-    }
-}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/ims/ImsFeatureRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/ims/ImsFeatureRepositoryTest.kt
new file mode 100644
index 0000000..3f72b2c
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/ims/ImsFeatureRepositoryTest.kt
@@ -0,0 +1,108 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.ims
+
+import android.content.Context
+import android.telephony.AccessNetworkConstants
+import android.telephony.ims.feature.MmTelFeature
+import android.telephony.ims.stub.ImsRegistrationImplBase
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.flow.first
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.runBlocking
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.stub
+
+@RunWith(AndroidJUnit4::class)
+class ImsFeatureRepositoryTest {
+
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    private val mockProvisioningRepository = mock<ProvisioningRepository>()
+    private val mockImsMmTelRepository = mock<ImsMmTelRepository>()
+
+    @Test
+    fun isReadyFlow_notProvisioned_returnFalse() = runBlocking {
+        mockProvisioningRepository.stub {
+            onBlocking { imsFeatureProvisionedFlow(SUB_ID, CAPABILITY, TECH) } doReturn
+                flowOf(false)
+        }
+
+        val repository =
+            ImsFeatureRepository(
+                context = context,
+                subId = SUB_ID,
+                provisioningRepository = mockProvisioningRepository,
+            )
+
+        val isReady = repository.isReadyFlow(CAPABILITY, TECH, TRANSPORT_TYPE).first()
+
+        assertThat(isReady).isFalse()
+    }
+
+    @Test
+    fun isReadyFlow_notSupported_returnFalse() = runBlocking {
+        mockImsMmTelRepository.stub {
+            onBlocking { isSupportedFlow(CAPABILITY, TRANSPORT_TYPE) } doReturn flowOf(false)
+        }
+
+        val repository =
+            ImsFeatureRepository(
+                context = context,
+                subId = SUB_ID,
+                imsMmTelRepository = mockImsMmTelRepository,
+            )
+
+        val isReady = repository.isReadyFlow(CAPABILITY, TECH, TRANSPORT_TYPE).first()
+
+        assertThat(isReady).isFalse()
+    }
+
+    @Test
+    fun isReadyFlow_provisionedAndSupported_returnFalse() = runBlocking {
+        mockProvisioningRepository.stub {
+            onBlocking { imsFeatureProvisionedFlow(SUB_ID, CAPABILITY, TECH) } doReturn flowOf(true)
+        }
+        mockImsMmTelRepository.stub {
+            onBlocking { isSupportedFlow(CAPABILITY, TRANSPORT_TYPE) } doReturn flowOf(true)
+        }
+
+        val repository =
+            ImsFeatureRepository(
+                context = context,
+                subId = SUB_ID,
+                provisioningRepository = mockProvisioningRepository,
+                imsMmTelRepository = mockImsMmTelRepository,
+            )
+
+        val isReady = repository.isReadyFlow(CAPABILITY, TECH, TRANSPORT_TYPE).first()
+
+        assertThat(isReady).isTrue()
+    }
+
+    private companion object {
+        const val SUB_ID = 10
+        const val CAPABILITY = MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE
+        const val TECH = ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN
+        const val TRANSPORT_TYPE = AccessNetworkConstants.TRANSPORT_TYPE_WLAN
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/ims/ProvisioningRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/ims/ProvisioningRepositoryTest.kt
new file mode 100644
index 0000000..7b2c940
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/ims/ProvisioningRepositoryTest.kt
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.ims
+
+import android.content.Context
+import android.content.pm.PackageManager
+import android.telephony.ims.ProvisioningManager
+import android.telephony.ims.ProvisioningManager.FeatureProvisioningCallback
+import android.telephony.ims.feature.MmTelFeature
+import android.telephony.ims.stub.ImsRegistrationImplBase
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settingslib.spa.testutils.toListWithTimeout
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.async
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.flow.first
+import kotlinx.coroutines.runBlocking
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.doAnswer
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.stub
+
+@RunWith(AndroidJUnit4::class)
+class ProvisioningRepositoryTest {
+
+    private var callback: FeatureProvisioningCallback? = null
+
+    private val mockProvisioningManager =
+        mock<ProvisioningManager> {
+            on { registerFeatureProvisioningChangedCallback(any(), any()) } doAnswer
+                {
+                    callback = it.arguments[1] as FeatureProvisioningCallback
+                    callback?.onFeatureProvisioningChanged(CAPABILITY, TECH, true)
+                }
+        }
+
+    private val mockPackageManager =
+        mock<PackageManager> {
+            on { hasSystemFeature(PackageManager.FEATURE_TELEPHONY_IMS) } doReturn true
+        }
+
+    private val context: Context =
+        spy(ApplicationProvider.getApplicationContext()) {
+            on { packageManager } doReturn mockPackageManager
+        }
+
+    private val repository = ProvisioningRepository(context) { mockProvisioningManager }
+
+    @Test
+    fun imsFeatureProvisionedFlow_hasNotIms_returnFalse() = runBlocking {
+        mockPackageManager.stub {
+            on { hasSystemFeature(PackageManager.FEATURE_TELEPHONY_IMS) } doReturn false
+        }
+        val flow = repository.imsFeatureProvisionedFlow(SUB_ID, CAPABILITY, TECH)
+
+        val state = flow.first()
+
+        assertThat(state).isFalse()
+    }
+
+    @Test
+    fun imsFeatureProvisionedFlow_sendInitialValue() = runBlocking {
+        val flow = repository.imsFeatureProvisionedFlow(SUB_ID, CAPABILITY, TECH)
+
+        val state = flow.first()
+
+        assertThat(state).isTrue()
+    }
+
+    @Test
+    fun imsFeatureProvisionedFlow_changed(): Unit = runBlocking {
+        val listDeferred = async {
+            repository.imsFeatureProvisionedFlow(SUB_ID, CAPABILITY, TECH).toListWithTimeout()
+        }
+        delay(100)
+
+        callback?.onFeatureProvisioningChanged(CAPABILITY, TECH, false)
+
+        assertThat(listDeferred.await().last()).isFalse()
+    }
+
+    private companion object {
+        const val SUB_ID = 10
+        const val CAPABILITY = MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE
+        const val TECH = ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/wificalling/WifiCallingRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/wificalling/WifiCallingRepositoryTest.kt
index 0144f66..9b71465 100644
--- a/tests/spa_unit/src/com/android/settings/network/telephony/wificalling/WifiCallingRepositoryTest.kt
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/wificalling/WifiCallingRepositoryTest.kt
@@ -55,7 +55,8 @@
         on { getWiFiCallingMode(any()) } doReturn ImsMmTelManager.WIFI_MODE_UNKNOWN
     }
 
-    private val repository = WifiCallingRepository(context, SUB_ID, mockImsMmTelRepository)
+    private val repository =
+        WifiCallingRepository(context, SUB_ID, imsMmTelRepository = mockImsMmTelRepository)
 
     @Test
     fun getWiFiCallingMode_roamingAndNotUseWfcHomeModeForRoaming_returnRoamingSetting() {
@@ -101,22 +102,6 @@
         assertThat(wiFiCallingMode).isEqualTo(ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED)
     }
 
-    @Test
-    fun isWifiCallingSupported() = runBlocking {
-        mockImsMmTelRepository.stub {
-            onBlocking {
-                isSupported(
-                    capability = MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
-                    transportType = AccessNetworkConstants.TRANSPORT_TYPE_WLAN,
-                )
-            } doReturn true
-        }
-
-        val isSupported = repository.isWifiCallingSupported()
-
-        assertThat(isSupported).isTrue()
-    }
-
     private fun mockUseWfcHomeModeForRoaming(config: Boolean) {
         mockCarrierConfigManager.stub {
             on {
diff --git a/tests/spa_unit/src/com/android/settings/print/PrintSettingsPageProviderTest.kt b/tests/spa_unit/src/com/android/settings/print/PrintSettingsPageProviderTest.kt
index 746816b..2571406 100644
--- a/tests/spa_unit/src/com/android/settings/print/PrintSettingsPageProviderTest.kt
+++ b/tests/spa_unit/src/com/android/settings/print/PrintSettingsPageProviderTest.kt
@@ -17,6 +17,7 @@
 package com.android.settings.print
 
 import android.content.Context
+import android.net.Uri
 import androidx.compose.runtime.CompositionLocalProvider
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.test.isDisplayed
@@ -31,7 +32,9 @@
 import com.android.settings.print.PrintSettingsFragment.EXTRA_CHECKED
 import com.android.settings.print.PrintSettingsFragment.EXTRA_SERVICE_COMPONENT_NAME
 import com.android.settings.print.PrintSettingsFragment.EXTRA_TITLE
+import com.android.settings.print.PrintSettingsPageProvider.AddPrintService
 import com.android.settings.print.PrintSettingsPageProvider.PrintService
+import kotlinx.coroutines.flow.flowOf
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
@@ -44,35 +47,32 @@
 
 @RunWith(AndroidJUnit4::class)
 class PrintSettingsPageProviderTest {
-    @get:Rule
-    val composeTestRule = createComposeRule()
+    @get:Rule val composeTestRule = createComposeRule()
 
-    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
-        doNothing().whenever(mock).startActivity(any())
-    }
+    private val context: Context =
+        spy(ApplicationProvider.getApplicationContext()) {
+            doNothing().whenever(mock).startActivity(any())
+        }
 
-    private val displayInfo = PrintServiceDisplayInfo(
-        title = TITLE,
-        isEnabled = true,
-        summary = SUMMARY,
-        icon = context.getDrawable(R.drawable.ic_settings_print)!!,
-        componentName = "ComponentName",
-    )
+    private val displayInfo =
+        PrintServiceDisplayInfo(
+            title = TITLE,
+            isEnabled = true,
+            summary = SUMMARY,
+            icon = context.getDrawable(R.drawable.ic_settings_print)!!,
+            componentName = "ComponentName",
+        )
 
     @Test
     fun printService_titleDisplayed() {
-        composeTestRule.setContent {
-            PrintService(displayInfo)
-        }
+        composeTestRule.setContent { PrintService(displayInfo) }
 
         composeTestRule.onNodeWithText(TITLE).isDisplayed()
     }
 
     @Test
     fun printService_summaryDisplayed() {
-        composeTestRule.setContent {
-            PrintService(displayInfo)
-        }
+        composeTestRule.setContent { PrintService(displayInfo) }
 
         composeTestRule.onNodeWithText(SUMMARY).isDisplayed()
     }
@@ -80,25 +80,43 @@
     @Test
     fun printService_onClick() {
         composeTestRule.setContent {
-            CompositionLocalProvider(LocalContext provides context) {
-                PrintService(displayInfo)
-            }
+            CompositionLocalProvider(LocalContext provides context) { PrintService(displayInfo) }
         }
 
         composeTestRule.onNodeWithText(TITLE).performClick()
 
-        verify(context).startActivity(argThat {
-            val fragment = getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT)
-            val arguments = getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS)!!
-            fragment == PrintServiceSettingsFragment::class.qualifiedName &&
-                arguments.getBoolean(EXTRA_CHECKED) == displayInfo.isEnabled &&
-                arguments.getString(EXTRA_TITLE) == displayInfo.title &&
-                arguments.getString(EXTRA_SERVICE_COMPONENT_NAME) == displayInfo.componentName
-        })
+        verify(context)
+            .startActivity(
+                argThat {
+                    val fragment = getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT)
+                    val arguments = getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS)!!
+                    fragment == PrintServiceSettingsFragment::class.qualifiedName &&
+                        arguments.getBoolean(EXTRA_CHECKED) == displayInfo.isEnabled &&
+                        arguments.getString(EXTRA_TITLE) == displayInfo.title &&
+                        arguments.getString(EXTRA_SERVICE_COMPONENT_NAME) ==
+                            displayInfo.componentName
+                }
+            )
+    }
+
+    @Test
+    fun addPrintService_onClick() {
+        composeTestRule.setContent {
+            CompositionLocalProvider(LocalContext provides context) {
+                AddPrintService(flowOf(SEARCH_URI))
+            }
+        }
+
+        composeTestRule
+            .onNodeWithText(context.getString(R.string.print_menu_item_add_service))
+            .performClick()
+
+        verify(context).startActivity(argThat { data == Uri.parse(SEARCH_URI) })
     }
 
     private companion object {
         const val TITLE = "Title"
         const val SUMMARY = "Summary"
+        const val SEARCH_URI = "search.uri"
     }
 }
diff --git a/tests/spa_unit/src/com/android/settings/spa/SpaBridgeActivityTest.kt b/tests/spa_unit/src/com/android/settings/spa/SpaBridgeActivityTest.kt
new file mode 100644
index 0000000..e29bd96
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/SpaBridgeActivityTest.kt
@@ -0,0 +1,95 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.spa
+
+import android.app.Activity
+import android.content.ComponentName
+import android.content.pm.ActivityInfo
+import android.content.pm.PackageManager
+import android.os.Bundle
+import androidx.core.os.bundleOf
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.SettingsActivity.META_DATA_KEY_HIGHLIGHT_MENU_KEY
+import com.android.settings.spa.SpaBridgeActivity.Companion.META_DATA_KEY_DESTINATION
+import com.android.settings.spa.SpaBridgeActivity.Companion.getDestination
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.doAnswer
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.mock
+
+@RunWith(AndroidJUnit4::class)
+class SpaBridgeActivityTest {
+    private var activityMetadata: Bundle = bundleOf()
+
+    private val mockPackageManager =
+        mock<PackageManager> {
+            on {
+                getActivityInfo(eq(COMPONENT_NAME), any<PackageManager.ComponentInfoFlags>())
+            } doAnswer { ActivityInfo().apply { metaData = activityMetadata } }
+        }
+
+    private val activity =
+        mock<Activity> {
+            on { componentName } doReturn COMPONENT_NAME
+            on { packageManager } doReturn mockPackageManager
+        }
+
+    @Test
+    fun getDestination_noDestination_returnNull() {
+        activityMetadata = bundleOf()
+
+        val destination = activity.getDestination()
+
+        assertThat(destination).isNull()
+    }
+
+    @Test
+    fun getDestination_withoutHighlightMenuKey() {
+        activityMetadata = bundleOf(META_DATA_KEY_DESTINATION to DESTINATION)
+
+        val (destination, highlightMenuKey) = activity.getDestination()!!
+
+        assertThat(destination).isEqualTo(DESTINATION)
+        assertThat(highlightMenuKey).isNull()
+    }
+
+    @Test
+    fun getDestination_withHighlightMenuKey() {
+        activityMetadata =
+            bundleOf(
+                META_DATA_KEY_DESTINATION to DESTINATION,
+                META_DATA_KEY_HIGHLIGHT_MENU_KEY to HIGHLIGHT_MENU_KEY,
+            )
+
+        val (destination, highlightMenuKey) = activity.getDestination()!!
+
+        assertThat(destination).isEqualTo(DESTINATION)
+        assertThat(highlightMenuKey).isEqualTo(HIGHLIGHT_MENU_KEY)
+    }
+
+    private companion object {
+        const val PACKAGE_NAME = "package.name"
+        const val ACTIVITY_NAME = "ActivityName"
+        val COMPONENT_NAME = ComponentName(PACKAGE_NAME, ACTIVITY_NAME)
+        const val DESTINATION = "Destination"
+        const val HIGHLIGHT_MENU_KEY = "apps"
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/spa/SpaDestinationTest.kt b/tests/spa_unit/src/com/android/settings/spa/SpaDestinationTest.kt
index 0b9eb22..ee658c1 100644
--- a/tests/spa_unit/src/com/android/settings/spa/SpaDestinationTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/SpaDestinationTest.kt
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2023 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open 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,81 +17,32 @@
 package com.android.settings.spa
 
 import android.app.Activity
-import android.content.ComponentName
-import android.content.pm.ActivityInfo
-import android.content.pm.PackageManager
-import android.os.Bundle
-import androidx.core.os.bundleOf
 import androidx.test.ext.junit.runners.AndroidJUnit4
-import com.android.settings.SettingsActivity.META_DATA_KEY_HIGHLIGHT_MENU_KEY
-import com.android.settings.spa.SpaDestination.Companion.META_DATA_KEY_DESTINATION
-import com.android.settings.spa.SpaDestination.Companion.getDestination
-import com.google.common.truth.Truth.assertThat
+import com.android.settingslib.spa.framework.util.KEY_DESTINATION
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.kotlin.any
-import org.mockito.kotlin.doAnswer
-import org.mockito.kotlin.doReturn
-import org.mockito.kotlin.eq
+import org.mockito.kotlin.argThat
 import org.mockito.kotlin.mock
+import org.mockito.kotlin.verify
 
 @RunWith(AndroidJUnit4::class)
 class SpaDestinationTest {
-    private var activityMetadata: Bundle = bundleOf()
 
-    private val mockPackageManager = mock<PackageManager> {
-        on {
-            getActivityInfo(
-                eq(COMPONENT_NAME),
-                any<PackageManager.ComponentInfoFlags>()
-            )
-        } doAnswer {
-            ActivityInfo().apply { metaData = activityMetadata }
-        }
-    }
-
-    private val activity = mock<Activity> {
-        on { componentName } doReturn COMPONENT_NAME
-        on { packageManager } doReturn mockPackageManager
-    }
+    private val activity = mock<Activity>()
 
     @Test
-    fun getDestination_noDestination_returnNull() {
-        activityMetadata = bundleOf()
+    fun startFromExportedActivity() {
+        val spaDestination = SpaDestination(destination = DESTINATION, highlightMenuKey = null)
 
-        val destination = activity.getDestination()
+        spaDestination.startFromExportedActivity(activity)
 
-        assertThat(destination).isNull()
-    }
-
-    @Test
-    fun getDestination_withoutHighlightMenuKey() {
-        activityMetadata = bundleOf(META_DATA_KEY_DESTINATION to DESTINATION)
-
-        val (destination, highlightMenuKey) = activity.getDestination()!!
-
-        assertThat(destination).isEqualTo(DESTINATION)
-        assertThat(highlightMenuKey).isNull()
-    }
-
-    @Test
-    fun getDestination_withHighlightMenuKey() {
-        activityMetadata = bundleOf(
-            META_DATA_KEY_DESTINATION to DESTINATION,
-            META_DATA_KEY_HIGHLIGHT_MENU_KEY to HIGHLIGHT_MENU_KEY,
-        )
-
-        val (destination, highlightMenuKey) = activity.getDestination()!!
-
-        assertThat(destination).isEqualTo(DESTINATION)
-        assertThat(highlightMenuKey).isEqualTo(HIGHLIGHT_MENU_KEY)
+        verify(activity).startActivity(argThat {
+            component!!.className == SpaActivity::class.qualifiedName
+            getStringExtra(KEY_DESTINATION) == DESTINATION
+        })
     }
 
     private companion object {
-        const val PACKAGE_NAME = "package.name"
-        const val ACTIVITY_NAME = "ActivityName"
-        val COMPONENT_NAME = ComponentName(PACKAGE_NAME, ACTIVITY_NAME)
         const val DESTINATION = "Destination"
-        const val HIGHLIGHT_MENU_KEY = "apps"
     }
 }
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppInstallerInfoPreferenceTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppInstallerInfoPreferenceTest.kt
index 96e4707..6297c62 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppInstallerInfoPreferenceTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppInstallerInfoPreferenceTest.kt
@@ -68,7 +68,6 @@
     @Before
     fun setUp() {
         mockSession = mockitoSession()
-            .initMocks(this)
             .mockStatic(AppStoreUtil::class.java)
             .mockStatic(Utils::class.java)
             .mockStatic(AppUtils::class.java)
@@ -77,8 +76,7 @@
         whenever(AppStoreUtil.getInstallerPackageName(any(), eq(PACKAGE_NAME)))
             .thenReturn(INSTALLER_PACKAGE_NAME)
         whenever(AppStoreUtil.getInstallerPackageNameAndInstallSourceInfo(any(), eq(PACKAGE_NAME)))
-            .thenReturn(
-                    Pair<String, InstallSourceInfo>(INSTALLER_PACKAGE_NAME, INSTALL_SOURCE_INFO))
+            .thenReturn(Pair(INSTALLER_PACKAGE_NAME, INSTALL_SOURCE_INFO))
         whenever(AppStoreUtil.getAppStoreLink(context, INSTALLER_PACKAGE_NAME, PACKAGE_NAME))
             .thenReturn(STORE_LINK)
         whenever(AppStoreUtil.isInitiatedFromDifferentPackage(eq(INSTALL_SOURCE_INFO)))
@@ -97,7 +95,8 @@
 
     @Test
     fun whenNoInstaller_notDisplayed() {
-        whenever(AppStoreUtil.getInstallerPackageName(any(), eq(PACKAGE_NAME))).thenReturn(null)
+        whenever(AppStoreUtil.getInstallerPackageNameAndInstallSourceInfo(any(), eq(PACKAGE_NAME)))
+            .thenReturn(Pair(null, INSTALL_SOURCE_INFO))
 
         setContent()
 
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppTimeSpentPreferenceTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppTimeSpentPreferenceTest.kt
index 6cc3e3c..f261770 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppTimeSpentPreferenceTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppTimeSpentPreferenceTest.kt
@@ -17,68 +17,70 @@
 package com.android.settings.spa.app.appinfo
 
 import android.content.Context
-import android.content.pm.ActivityInfo
 import android.content.pm.ApplicationInfo
 import android.content.pm.PackageManager
-import android.content.pm.PackageManager.ResolveInfoFlags
 import android.content.pm.ResolveInfo
 import androidx.compose.runtime.CompositionLocalProvider
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.test.assertIsDisplayed
-import androidx.compose.ui.test.assertIsEnabled
 import androidx.compose.ui.test.assertIsNotDisplayed
 import androidx.compose.ui.test.assertIsNotEnabled
+import androidx.compose.ui.test.hasText
+import androidx.compose.ui.test.isEnabled
 import androidx.compose.ui.test.junit4.createComposeRule
 import androidx.compose.ui.test.onNodeWithText
 import androidx.compose.ui.test.onRoot
+import androidx.compose.ui.test.performClick
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.android.settings.R
 import com.android.settings.testutils.FakeFeatureFactory
+import com.android.settingslib.spa.testutils.waitUntilExists
 import org.junit.Before
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.Mock
-import org.mockito.Mockito.any
-import org.mockito.Mockito.anyInt
-import org.mockito.Spy
-import org.mockito.junit.MockitoJUnit
-import org.mockito.junit.MockitoRule
-import org.mockito.Mockito.`when` as whenever
+import org.mockito.kotlin.any
+import org.mockito.kotlin.argThat
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.stub
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
 
 @RunWith(AndroidJUnit4::class)
 class AppTimeSpentPreferenceTest {
-    @get:Rule
-    val mockito: MockitoRule = MockitoJUnit.rule()
 
-    @get:Rule
-    val composeTestRule = createComposeRule()
+    @get:Rule val composeTestRule = createComposeRule()
 
-    @Spy
-    private val context: Context = ApplicationProvider.getApplicationContext()
+    private val mockPackageManager =
+        mock<PackageManager> { on { wellbeingPackageName } doReturn WELLBEING_PACKAGE_NAME }
 
-    @Mock
-    private lateinit var packageManager: PackageManager
+    private val context: Context =
+        spy(ApplicationProvider.getApplicationContext()) {
+            on { getString(com.android.internal.R.string.config_systemWellbeing) } doReturn
+                WELLBEING_PACKAGE_NAME
+            on { packageManager } doReturn mockPackageManager
+        }
 
     private val fakeFeatureFactory = FakeFeatureFactory()
     private val appFeatureProvider = fakeFeatureFactory.mockApplicationFeatureProvider
 
     @Before
     fun setUp() {
-        whenever(context.packageManager).thenReturn(packageManager)
         whenever(appFeatureProvider.getTimeSpentInApp(PACKAGE_NAME)).thenReturn(TIME_SPENT)
     }
 
-    private fun mockActivitiesQueryResult(resolveInfos: List<ResolveInfo>) {
-        whenever(
-            packageManager.queryIntentActivitiesAsUser(any(), any<ResolveInfoFlags>(), anyInt())
-        ).thenReturn(resolveInfos)
+    private fun mockActivityQueryResult(resolveInfo: ResolveInfo?) {
+        mockPackageManager.stub {
+            on { resolveActivityAsUser(any(), any<Int>(), any()) } doReturn resolveInfo
+        }
     }
 
     @Test
     fun noIntentHandler_notDisplay() {
-        mockActivitiesQueryResult(emptyList())
+        mockActivityQueryResult(null)
 
         composeTestRule.setContent {
             CompositionLocalProvider(LocalContext provides context) {
@@ -90,21 +92,24 @@
     }
 
     @Test
-    fun hasIntentHandler_notSystemApp_notDisplay() {
-        mockActivitiesQueryResult(listOf(ResolveInfo()))
-
+    fun resolveActivityAsUser_calledWithWellbeingPackageName() {
         composeTestRule.setContent {
             CompositionLocalProvider(LocalContext provides context) {
                 AppTimeSpentPreference(INSTALLED_APP)
             }
         }
 
-        composeTestRule.onRoot().assertIsNotDisplayed()
+        verify(mockPackageManager)
+            .resolveActivityAsUser(
+                argThat { `package` == WELLBEING_PACKAGE_NAME },
+                any<Int>(),
+                any(),
+            )
     }
 
     @Test
     fun installedApp_enabled() {
-        mockActivitiesQueryResult(listOf(MATCHED_RESOLVE_INFO))
+        mockActivityQueryResult(ResolveInfo())
 
         composeTestRule.setContent {
             CompositionLocalProvider(LocalContext provides context) {
@@ -112,18 +117,16 @@
             }
         }
 
-        composeTestRule.onNodeWithText(context.getString(R.string.time_spent_in_app_pref_title))
-            .assertIsDisplayed()
-            .assertIsEnabled()
+        composeTestRule.waitUntilExists(
+            hasText(context.getString(R.string.time_spent_in_app_pref_title)) and isEnabled()
+        )
         composeTestRule.onNodeWithText(TIME_SPENT).assertIsDisplayed()
     }
 
     @Test
     fun notInstalledApp_disabled() {
-        mockActivitiesQueryResult(listOf(MATCHED_RESOLVE_INFO))
-        val notInstalledApp = ApplicationInfo().apply {
-            packageName = PACKAGE_NAME
-        }
+        mockActivityQueryResult(ResolveInfo())
+        val notInstalledApp = ApplicationInfo().apply { packageName = PACKAGE_NAME }
 
         composeTestRule.setContent {
             CompositionLocalProvider(LocalContext provides context) {
@@ -131,25 +134,37 @@
             }
         }
 
-        composeTestRule.onNodeWithText(context.getString(R.string.time_spent_in_app_pref_title))
+        composeTestRule
+            .onNodeWithText(context.getString(R.string.time_spent_in_app_pref_title))
             .assertIsNotEnabled()
     }
 
-    companion object {
-        private const val PACKAGE_NAME = "package name"
-        private const val TIME_SPENT = "15 minutes"
+    @Test
+    fun onClick_startActivityWithWellbeingPackageName() {
+        mockActivityQueryResult(ResolveInfo())
 
-        private val INSTALLED_APP = ApplicationInfo().apply {
-            packageName = PACKAGE_NAME
-            flags = ApplicationInfo.FLAG_INSTALLED
-        }
-
-        private val MATCHED_RESOLVE_INFO = ResolveInfo().apply {
-            activityInfo = ActivityInfo().apply {
-                applicationInfo = ApplicationInfo().apply {
-                    flags = ApplicationInfo.FLAG_SYSTEM
-                }
+        composeTestRule.setContent {
+            CompositionLocalProvider(LocalContext provides context) {
+                AppTimeSpentPreference(INSTALLED_APP)
             }
         }
+        composeTestRule.waitUntilExists(
+            hasText(context.getString(R.string.time_spent_in_app_pref_title)) and isEnabled()
+        )
+        composeTestRule.onRoot().performClick()
+
+        verify(context).startActivityAsUser(argThat { `package` == WELLBEING_PACKAGE_NAME }, any())
+    }
+
+    companion object {
+        private const val PACKAGE_NAME = "package.name"
+        private const val TIME_SPENT = "15 minutes"
+        private const val WELLBEING_PACKAGE_NAME = "wellbeing"
+
+        private val INSTALLED_APP =
+            ApplicationInfo().apply {
+                packageName = PACKAGE_NAME
+                flags = ApplicationInfo.FLAG_INSTALLED
+            }
     }
 }
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/InstantAppDomainsPreferenceTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/InstantAppDomainsPreferenceTest.kt
index 1a78c49..a952763 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/InstantAppDomainsPreferenceTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/InstantAppDomainsPreferenceTest.kt
@@ -22,8 +22,9 @@
 import androidx.compose.runtime.CompositionLocalProvider
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.test.assertIsDisplayed
-import androidx.compose.ui.test.assertIsEnabled
 import androidx.compose.ui.test.assertIsNotDisplayed
+import androidx.compose.ui.test.hasText
+import androidx.compose.ui.test.isEnabled
 import androidx.compose.ui.test.junit4.createComposeRule
 import androidx.compose.ui.test.onNodeWithText
 import androidx.compose.ui.test.onRoot
@@ -35,42 +36,41 @@
 import com.android.settings.Utils
 import com.android.settingslib.spa.testutils.delay
 import com.android.settingslib.spa.testutils.onDialogText
+import com.android.settingslib.spa.testutils.waitUntilExists
 import org.junit.After
 import org.junit.Before
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.Mock
-import org.mockito.Mockito
-import org.mockito.Mockito.any
-import org.mockito.Mockito.anyInt
 import org.mockito.MockitoSession
-import org.mockito.Spy
+import org.mockito.kotlin.any
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.whenever
 import org.mockito.quality.Strictness
-import org.mockito.Mockito.`when` as whenever
 
 @RunWith(AndroidJUnit4::class)
 class InstantAppDomainsPreferenceTest {
-    @get:Rule
-    val composeTestRule = createComposeRule()
+    @get:Rule val composeTestRule = createComposeRule()
 
     private lateinit var mockSession: MockitoSession
 
-    @Spy
-    private val context: Context = ApplicationProvider.getApplicationContext()
+    private val packageManager = mock<PackageManager>()
 
-    @Mock
-    private lateinit var packageManager: PackageManager
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { packageManager } doReturn packageManager
+        doReturn(mock).whenever(mock).createContextAsUser(any(), any())
+    }
 
     @Before
     fun setUp() {
-        mockSession = ExtendedMockito.mockitoSession()
-            .initMocks(this)
-            .mockStatic(Utils::class.java)
-            .strictness(Strictness.LENIENT)
-            .startMocking()
-        whenever(context.packageManager).thenReturn(packageManager)
-        Mockito.doReturn(context).`when`(context).createContextAsUser(any(), anyInt())
+        mockSession =
+            ExtendedMockito.mockitoSession()
+                .mockStatic(Utils::class.java)
+                .strictness(Strictness.LENIENT)
+                .startMocking()
+
         mockDomains(emptySet())
     }
 
@@ -96,10 +96,9 @@
     fun title_displayed() {
         setContent()
 
-        composeTestRule
-            .onNodeWithText(context.getString(R.string.app_launch_supported_domain_urls_title))
-            .assertIsDisplayed()
-            .assertIsEnabled()
+        composeTestRule.waitUntilExists(
+            hasText(context.getString(R.string.app_launch_supported_domain_urls_title)) and
+                isEnabled())
     }
 
     @Test
@@ -108,8 +107,8 @@
 
         setContent()
 
-        composeTestRule.onNodeWithText(context.getString(R.string.domain_urls_summary_none))
-            .assertIsDisplayed()
+        composeTestRule.waitUntilExists(
+            hasText(context.getString(R.string.domain_urls_summary_none)))
     }
 
     @Test
@@ -138,9 +137,9 @@
         composeTestRule.onRoot().performClick()
         composeTestRule.delay()
 
-        composeTestRule.onDialogText(
-            context.getString(R.string.app_launch_supported_domain_urls_title)
-        ).assertIsDisplayed()
+        composeTestRule
+            .onDialogText(context.getString(R.string.app_launch_supported_domain_urls_title))
+            .assertIsDisplayed()
         composeTestRule.onDialogText("abc").assertIsDisplayed()
         composeTestRule.onDialogText("def").assertIsDisplayed()
     }
@@ -157,10 +156,11 @@
         const val PACKAGE_NAME = "package.name"
         const val UID = 123
 
-        val INSTANT_APP = ApplicationInfo().apply {
-            packageName = PACKAGE_NAME
-            uid = UID
-            privateFlags = ApplicationInfo.PRIVATE_FLAG_INSTANT
-        }
+        val INSTANT_APP =
+            ApplicationInfo().apply {
+                packageName = PACKAGE_NAME
+                uid = UID
+                privateFlags = ApplicationInfo.PRIVATE_FLAG_INSTANT
+            }
     }
 }
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/backgroundinstall/BackgroundInstalledAppsPageProviderTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/backgroundinstall/BackgroundInstalledAppsPageProviderTest.kt
index 5c65da1..5ced84b 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/backgroundinstall/BackgroundInstalledAppsPageProviderTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/backgroundinstall/BackgroundInstalledAppsPageProviderTest.kt
@@ -23,6 +23,7 @@
 import android.content.pm.PackageManager
 import android.content.pm.ParceledListSlice
 import androidx.compose.ui.test.assertIsDisplayed
+import androidx.compose.ui.test.hasText
 import androidx.compose.ui.test.junit4.createComposeRule
 import androidx.compose.ui.test.onNodeWithText
 import androidx.compose.ui.test.performClick
@@ -30,50 +31,38 @@
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.android.settings.R
 import com.android.settingslib.spa.testutils.FakeNavControllerWrapper
+import com.android.settingslib.spa.testutils.waitUntilExists
 import com.android.settingslib.spaprivileged.template.app.AppListItemModel
 import com.google.common.truth.Truth.assertThat
 import kotlinx.coroutines.flow.first
 import kotlinx.coroutines.flow.flowOf
 import kotlinx.coroutines.test.runTest
-import org.junit.Before
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.Mock
-import org.mockito.junit.MockitoJUnit
-import org.mockito.junit.MockitoRule
 import org.mockito.kotlin.any
 import org.mockito.kotlin.argumentCaptor
+import org.mockito.kotlin.doReturn
 import org.mockito.kotlin.eq
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
 import org.mockito.kotlin.whenever
 
 @RunWith(AndroidJUnit4::class)
 class BackgroundInstalledAppsPageProviderTest {
-    @get:Rule
-    val composeTestRule = createComposeRule()
+    @get:Rule val composeTestRule = createComposeRule()
 
-    @get:Rule
-    val mockito: MockitoRule = MockitoJUnit.rule()
+    private val mockPackageManager = mock<PackageManager>()
 
-    private val context: Context = ApplicationProvider.getApplicationContext()
+    private val context: Context =
+        spy(ApplicationProvider.getApplicationContext()) {
+            on { packageManager } doReturn mockPackageManager
+        }
 
-    @Mock
-    private lateinit var mockContext: Context
-
-    @Mock
-    private lateinit var mockPackageManager: PackageManager
-
-    @Mock
-    private lateinit var mockBackgroundInstallControlService: IBackgroundInstallControlService
-
-    private var packageInfoFlagsCaptor = argumentCaptor<PackageManager.PackageInfoFlags>()
+    private val mockBackgroundInstallControlService = mock<IBackgroundInstallControlService>()
 
     private val fakeNavControllerWrapper = FakeNavControllerWrapper()
 
-    @Before
-    fun setup() {
-        whenever(mockContext.packageManager).thenReturn(mockPackageManager)
-    }
     @Test
     fun allAppListPageProvider_name() {
         assertThat(BackgroundInstalledAppsPageProvider.name)
@@ -106,7 +95,7 @@
 
         setInjectEntry(false)
 
-        composeTestRule.onNodeWithText("0 apps").assertIsDisplayed()
+        composeTestRule.waitUntilExists(hasText("0 apps"))
     }
 
     @Test
@@ -146,8 +135,9 @@
             BackgroundInstalledAppList()
         }
 
-        composeTestRule.onNodeWithText(
-            context.getString(R.string.background_install_title)).assertIsDisplayed()
+        composeTestRule.waitUntilExists(
+            hasText(context.getString(R.string.background_install_title))
+        )
     }
 
     @Test
@@ -197,7 +187,8 @@
 
     @Test
     fun backgroundInstalledAppsWithGroupingListModel_transform() = runTest {
-        val listModel = BackgroundInstalledAppsWithGroupingListModel(mockContext)
+        val packageInfoFlagsCaptor = argumentCaptor<PackageManager.PackageInfoFlags>()
+        val listModel = BackgroundInstalledAppsWithGroupingListModel(context)
         whenever(mockPackageManager.getPackageInfoAsUser(
             eq(TEST_PACKAGE_NAME),
             packageInfoFlagsCaptor.capture(),
@@ -215,7 +206,7 @@
 
     @Test
     fun backgroundInstalledAppsWithGroupingListModel_filter() = runTest {
-        val listModel = BackgroundInstalledAppsWithGroupingListModel(mockContext)
+        val listModel = BackgroundInstalledAppsWithGroupingListModel(context)
         listModel.setBackgroundInstallControlService(mockBackgroundInstallControlService)
         whenever(mockBackgroundInstallControlService.getBackgroundInstalledPackages(
             PackageManager.MATCH_ALL.toLong(),
diff --git a/tests/spa_unit/src/com/android/settings/spa/network/PrimarySimRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/spa/network/PrimarySimRepositoryTest.kt
new file mode 100644
index 0000000..459afa9
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/network/PrimarySimRepositoryTest.kt
@@ -0,0 +1,206 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.spa.network
+
+import android.content.Context
+import android.content.res.Resources
+import android.telephony.SubscriptionInfo
+import android.telephony.SubscriptionManager
+import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
+import com.android.settingslib.spa.widget.preference.ListPreferenceOption
+import com.google.common.truth.Truth.assertThat
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.doAnswer
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.stub
+
+@RunWith(AndroidJUnit4::class)
+class PrimarySimRepositoryTest {
+    @get:Rule
+    val composeTestRule = createComposeRule()
+
+    private val mockSubscriptionManager = mock<SubscriptionManager> {
+        on { addOnSubscriptionsChangedListener(any(), any()) } doAnswer {
+            val listener = it.arguments[1] as SubscriptionManager.OnSubscriptionsChangedListener
+            listener.onSubscriptionsChanged()
+        }
+        on { getPhoneNumber(SUB_ID_1) } doReturn NUMBER_1
+        on { getPhoneNumber(SUB_ID_2) } doReturn NUMBER_2
+    }
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { getSystemService(SubscriptionManager::class.java) } doReturn mockSubscriptionManager
+    }
+    private val spyResources: Resources = spy(context.resources)
+
+    @Test
+    fun getPrimarySimInfo_oneSim_returnNull() {
+        val simList = listOf(
+            SUB_INFO_1,
+        )
+
+        val primarySimInfo = PrimarySimRepository(context).getPrimarySimInfo(simList)
+
+        assertThat(primarySimInfo).isNull()
+    }
+
+    @Test
+    fun getPrimarySimInfo_verifyCallsList() {
+        val simList = listOf(
+            SUB_INFO_1,
+            SUB_INFO_2
+        )
+        val expectedList = listOf(
+            ListPreferenceOption(
+                id = SUB_INFO_1.subscriptionId,
+                text = "${SUB_INFO_1.displayName}",
+                summary = NUMBER_1
+            ),
+            ListPreferenceOption(
+                id = SUB_INFO_2.subscriptionId,
+                text = "${SUB_INFO_2.displayName}",
+                summary = NUMBER_2
+            ),
+            ListPreferenceOption(
+                id = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+                text = context.getString(R.string.sim_calls_ask_first_prefs_title),
+            ),
+        )
+
+        val primarySimInfo = PrimarySimRepository(context).getPrimarySimInfo(simList)
+
+        assertThat(primarySimInfo).isNotNull()
+        assertThat(primarySimInfo?.callsList).isEqualTo(expectedList)
+    }
+
+    @Test
+    fun getPrimarySimInfo_verifySmsList() {
+        val simList = listOf(
+            SUB_INFO_1,
+            SUB_INFO_2
+        )
+        val expectedList = listOf(
+            ListPreferenceOption(
+                id = SUB_INFO_1.subscriptionId,
+                text = "${SUB_INFO_1.displayName}",
+                summary = NUMBER_1
+            ),
+            ListPreferenceOption(
+                id = SUB_INFO_2.subscriptionId,
+                text = "${SUB_INFO_2.displayName}",
+                summary = NUMBER_2
+            ),
+            ListPreferenceOption(
+                id = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+                text = context.getString(R.string.sim_calls_ask_first_prefs_title),
+            ),
+        )
+
+        val primarySimInfo = PrimarySimRepository(context).getPrimarySimInfo(simList)
+
+        assertThat(primarySimInfo).isNotNull()
+        assertThat(primarySimInfo?.smsList).isEqualTo(expectedList)
+    }
+
+    @Test
+    fun getPrimarySimInfo_noAskEveryTime_verifySmsList() {
+        val simList = listOf(
+            SUB_INFO_1,
+            SUB_INFO_2
+        )
+        context.stub {
+            on { resources } doReturn spyResources
+        }
+        spyResources.stub {
+            on {
+                getBoolean(com.android.internal.R.bool.config_sms_ask_every_time_support)
+            } doReturn false
+        }
+        val expectedList = listOf(
+            ListPreferenceOption(
+                id = SUB_INFO_1.subscriptionId,
+                text = "${SUB_INFO_1.displayName}",
+                summary = NUMBER_1
+            ),
+            ListPreferenceOption(
+                id = SUB_INFO_2.subscriptionId,
+                text = "${SUB_INFO_2.displayName}",
+                summary = NUMBER_2
+            ),
+        )
+
+        val primarySimInfo = PrimarySimRepository(context).getPrimarySimInfo(simList)
+
+        assertThat(primarySimInfo).isNotNull()
+        assertThat(primarySimInfo?.smsList).isEqualTo(expectedList)
+    }
+
+    @Test
+    fun getPrimarySimInfo_verifyDataList() {
+        val simList = listOf(
+            SUB_INFO_1,
+            SUB_INFO_2
+        )
+        val expectedList = listOf(
+            ListPreferenceOption(
+                id = SUB_INFO_1.subscriptionId,
+                text = "${SUB_INFO_1.displayName}",
+                summary = NUMBER_1
+            ),
+            ListPreferenceOption(
+                id = SUB_INFO_2.subscriptionId,
+                text = "${SUB_INFO_2.displayName}",
+                summary = NUMBER_2
+            ),
+        )
+
+        val primarySimInfo = PrimarySimRepository(context).getPrimarySimInfo(simList)
+
+        assertThat(primarySimInfo).isNotNull()
+        assertThat(primarySimInfo?.dataList).isEqualTo(expectedList)
+    }
+
+    private companion object {
+        const val SUB_ID_1 = 1
+        const val SUB_ID_2 = 2
+        const val DISPLAY_NAME_1 = "Sub 1"
+        const val DISPLAY_NAME_2 = "Sub 2"
+        const val NUMBER_1 = "000000001"
+        const val NUMBER_2 = "000000002"
+        const val MCC = "310"
+
+        val SUB_INFO_1: SubscriptionInfo = SubscriptionInfo.Builder().apply {
+            setId(SUB_ID_1)
+            setDisplayName(DISPLAY_NAME_1)
+            setMcc(MCC)
+        }.build()
+
+        val SUB_INFO_2: SubscriptionInfo = SubscriptionInfo.Builder().apply {
+            setId(SUB_ID_2)
+            setDisplayName(DISPLAY_NAME_2)
+            setMcc(MCC)
+        }.build()
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/spa/network/SimOnboardingLabelSimTest.kt b/tests/spa_unit/src/com/android/settings/spa/network/SimOnboardingLabelSimTest.kt
index ad2ba55..1910153 100644
--- a/tests/spa_unit/src/com/android/settings/spa/network/SimOnboardingLabelSimTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/network/SimOnboardingLabelSimTest.kt
@@ -19,23 +19,17 @@
 import android.content.Context
 import android.telephony.SubscriptionInfo
 import android.telephony.SubscriptionManager
-import android.view.KeyEvent.ACTION_DOWN
-import android.view.KeyEvent.KEYCODE_FORWARD_DEL
 import androidx.compose.runtime.CompositionLocalProvider
-import androidx.compose.ui.input.key.KeyEvent
-import androidx.compose.ui.input.key.NativeKeyEvent
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.platform.LocalLifecycleOwner
 import androidx.compose.ui.semantics.SemanticsProperties
 import androidx.compose.ui.test.assertIsDisplayed
-import androidx.compose.ui.test.assertIsEnabled
 import androidx.compose.ui.test.assertIsNotEnabled
 import androidx.compose.ui.test.hasText
 import androidx.compose.ui.test.junit4.createComposeRule
 import androidx.compose.ui.test.onNodeWithTag
 import androidx.compose.ui.test.onNodeWithText
 import androidx.compose.ui.test.performClick
-import androidx.compose.ui.test.performKeyPress
 import androidx.compose.ui.test.performTextClearance
 import androidx.compose.ui.test.performTextInput
 import androidx.lifecycle.testing.TestLifecycleOwner
@@ -80,7 +74,6 @@
         on { targetSubInfo }.doReturn(null)
         on { availableSubInfoList }.doReturn(listOf())
         on { activeSubInfoList }.doReturn(listOf())
-        on { slotInfoList }.doReturn(listOf())
         on { uiccCardInfoList }.doReturn(listOf())
 
         on { targetPrimarySimCalls }.doReturn(PRIMARY_SIM_ASK_EVERY_TIME)
diff --git a/tests/spa_unit/src/com/android/settings/spa/network/SimOnboardingPageProviderTest.kt b/tests/spa_unit/src/com/android/settings/spa/network/SimOnboardingPageProviderTest.kt
index 1395ed4..fcd3e24 100644
--- a/tests/spa_unit/src/com/android/settings/spa/network/SimOnboardingPageProviderTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/network/SimOnboardingPageProviderTest.kt
@@ -45,7 +45,6 @@
         on { targetSubInfo }.doReturn(null)
         on { availableSubInfoList }.doReturn(listOf())
         on { activeSubInfoList }.doReturn(listOf())
-        on { slotInfoList }.doReturn(listOf())
         on { uiccCardInfoList }.doReturn(listOf())
 
         on { targetPrimarySimCalls }.doReturn(PRIMARY_SIM_ASK_EVERY_TIME)
diff --git a/tests/spa_unit/src/com/android/settings/spa/network/SimOnboardingPrimarySimTest.kt b/tests/spa_unit/src/com/android/settings/spa/network/SimOnboardingPrimarySimTest.kt
index d9c762d..ef86ac5 100644
--- a/tests/spa_unit/src/com/android/settings/spa/network/SimOnboardingPrimarySimTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/network/SimOnboardingPrimarySimTest.kt
@@ -46,7 +46,6 @@
         on { targetSubInfo }.doReturn(null)
         on { availableSubInfoList }.doReturn(listOf())
         on { activeSubInfoList }.doReturn(listOf())
-        on { slotInfoList }.doReturn(listOf())
         on { uiccCardInfoList }.doReturn(listOf())
 
         on { targetPrimarySimCalls }.doReturn(PRIMARY_SIM_ASK_EVERY_TIME)
diff --git a/tests/spa_unit/src/com/android/settings/spa/network/SimOnboardingSelectSimTest.kt b/tests/spa_unit/src/com/android/settings/spa/network/SimOnboardingSelectSimTest.kt
index 5b7778e..385bc42 100644
--- a/tests/spa_unit/src/com/android/settings/spa/network/SimOnboardingSelectSimTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/network/SimOnboardingSelectSimTest.kt
@@ -69,7 +69,6 @@
         on { targetSubInfo }.doReturn(null)
         on { availableSubInfoList }.doReturn(listOf())
         on { activeSubInfoList }.doReturn(listOf())
-        on { slotInfoList }.doReturn(listOf())
         on { uiccCardInfoList }.doReturn(listOf())
 
         on { targetPrimarySimCalls }.doReturn(PRIMARY_SIM_ASK_EVERY_TIME)
diff --git a/tests/spa_unit/src/com/android/settings/spa/search/SpaSearchLandingActivityTest.kt b/tests/spa_unit/src/com/android/settings/spa/search/SpaSearchLandingActivityTest.kt
new file mode 100644
index 0000000..6fb4b84
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/search/SpaSearchLandingActivityTest.kt
@@ -0,0 +1,91 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.spa.search
+
+import android.content.Context
+import android.content.Intent
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.SettingsActivity
+import com.android.settings.spa.SpaSearchLanding.BundleValue
+import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingFragment
+import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingKey
+import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingSpaPage
+import com.android.settingslib.spa.framework.util.KEY_DESTINATION
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.argThat
+import org.mockito.kotlin.argumentCaptor
+import org.mockito.kotlin.doNothing
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
+
+@RunWith(AndroidJUnit4::class)
+class SpaSearchLandingActivityTest {
+
+    private val context: Context =
+        spy(ApplicationProvider.getApplicationContext()) {
+            doNothing().whenever(mock).startActivity(any())
+        }
+
+    @Test
+    fun tryLaunch_spaPage() {
+        val key =
+            SpaSearchLandingKey.newBuilder()
+                .setSpaPage(SpaSearchLandingSpaPage.newBuilder().setDestination(DESTINATION))
+                .build()
+
+        SpaSearchLandingActivity.tryLaunch(context, key.encodeToString())
+
+        verify(context).startActivity(argThat { getStringExtra(KEY_DESTINATION) == DESTINATION })
+    }
+
+    @Test
+    fun tryLaunch_fragment() {
+        val key =
+            SpaSearchLandingKey.newBuilder()
+                .setFragment(
+                    SpaSearchLandingFragment.newBuilder()
+                        .setFragmentName(DESTINATION)
+                        .setPreferenceKey(PREFERENCE_KEY)
+                        .putArguments(
+                            ARGUMENT_KEY,
+                            BundleValue.newBuilder().setIntValue(ARGUMENT_VALUE).build()))
+                .build()
+
+        SpaSearchLandingActivity.tryLaunch(context, key.encodeToString())
+
+        val intent = argumentCaptor<Intent> { verify(context).startActivity(capture()) }.firstValue
+        assertThat(intent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+            .isEqualTo(DESTINATION)
+        val fragmentArguments =
+            intent.getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS)!!
+        assertThat(fragmentArguments.getString(SettingsActivity.EXTRA_FRAGMENT_ARG_KEY))
+            .isEqualTo(PREFERENCE_KEY)
+        assertThat(fragmentArguments.getInt(ARGUMENT_KEY)).isEqualTo(ARGUMENT_VALUE)
+    }
+
+    private companion object {
+        const val DESTINATION = "Destination"
+        const val PREFERENCE_KEY = "preference_key"
+        const val ARGUMENT_KEY = "argument_key"
+        const val ARGUMENT_VALUE = 123
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/spa/search/SpaSearchLandingKeyExtTest.kt b/tests/spa_unit/src/com/android/settings/spa/search/SpaSearchLandingKeyExtTest.kt
new file mode 100644
index 0000000..f4a9ce6
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/search/SpaSearchLandingKeyExtTest.kt
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.spa.search
+
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.spa.SpaSearchLanding.BundleValue
+import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingFragment
+import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingKey
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class SpaSearchLandingKeyExtTest {
+
+    @Test
+    fun encodeToString_thenDecode_shouldDecodeCorrectly() {
+        val encoded = KEY.encodeToString()
+
+        val decoded = decodeToSpaSearchLandingKey(encoded)
+
+        assertThat(decoded).isEqualTo(KEY)
+    }
+
+    @Test
+    fun decodeToSpaSearchLandingKey_badString_shouldReturnNull() {
+        val decoded = decodeToSpaSearchLandingKey("bad")
+
+        assertThat(decoded).isNull()
+    }
+
+    private companion object {
+        val KEY: SpaSearchLandingKey =
+            SpaSearchLandingKey.newBuilder()
+                .setFragment(
+                    SpaSearchLandingFragment.newBuilder()
+                        .setFragmentName("Destination")
+                        .setPreferenceKey("preference_key")
+                        .putArguments(
+                            "argument_key", BundleValue.newBuilder().setIntValue(123).build()))
+                .build()
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/spa/search/SpaSearchRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/spa/search/SpaSearchRepositoryTest.kt
new file mode 100644
index 0000000..f97abe4
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/search/SpaSearchRepositoryTest.kt
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.spa.search
+
+import android.content.Context
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingKey
+import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingSpaPage
+import com.android.settings.spa.search.SpaSearchRepository.Companion.createSearchIndexableData
+import com.android.settingslib.spa.framework.common.SettingsPageProvider
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.mock
+
+@RunWith(AndroidJUnit4::class)
+class SpaSearchRepositoryTest {
+
+    @Test
+    fun createSearchIndexableData() {
+        val pageProvider =
+            object : SettingsPageProvider {
+                override val name = PAGE_NAME
+            }
+
+        val searchIndexableData =
+            pageProvider.createSearchIndexableData({ PAGE_TITLE }) { listOf(ITEM_TITLE) }
+        val dynamicRawDataToIndex =
+            searchIndexableData.searchIndexProvider.getDynamicRawDataToIndex(mock<Context>(), true)
+
+        assertThat(searchIndexableData.targetClass).isEqualTo(pageProvider::class.java)
+        assertThat(dynamicRawDataToIndex).hasSize(1)
+        val rawData = dynamicRawDataToIndex[0]
+        val key = decodeToSpaSearchLandingKey(rawData.key)
+        assertThat(key)
+            .isEqualTo(
+                SpaSearchLandingKey.newBuilder()
+                    .setSpaPage(SpaSearchLandingSpaPage.newBuilder().setDestination(PAGE_NAME))
+                    .build())
+        assertThat(rawData.title).isEqualTo(ITEM_TITLE)
+        assertThat(rawData.intentAction).isEqualTo("android.settings.SPA_SEARCH_LANDING")
+        assertThat(rawData.intentTargetClass)
+            .isEqualTo(SpaSearchLandingActivity::class.qualifiedName)
+        assertThat(rawData.className).isEqualTo(pageProvider::class.java.name)
+        assertThat(rawData.screenTitle).isEqualTo(PAGE_TITLE)
+    }
+
+    private companion object {
+        const val PAGE_NAME = "PageName"
+        const val PAGE_TITLE = "Page Title"
+        const val ITEM_TITLE = "Item Title"
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/system/DeveloperOptionsControllerTest.kt b/tests/spa_unit/src/com/android/settings/system/DeveloperOptionsControllerTest.kt
index ad2fbae..4631aa8 100644
--- a/tests/spa_unit/src/com/android/settings/system/DeveloperOptionsControllerTest.kt
+++ b/tests/spa_unit/src/com/android/settings/system/DeveloperOptionsControllerTest.kt
@@ -28,6 +28,7 @@
 import com.android.settings.SettingsActivity
 import com.android.settings.core.BasePreferenceController
 import com.android.settings.development.DevelopmentSettingsDashboardFragment
+import com.android.settingslib.spa.testutils.delay
 import com.android.settingslib.spaprivileged.framework.common.userManager
 import com.google.common.truth.Truth.assertThat
 import org.junit.Rule
@@ -99,6 +100,7 @@
         composeTestRule.onNodeWithText(
             context.getString(com.android.settingslib.R.string.development_settings_title)
         ).performClick()
+        composeTestRule.delay()
 
         val intent = argumentCaptor<Intent> {
             verify(context).startActivity(capture())
diff --git a/tests/spa_unit/src/com/android/settings/system/reset/ResetNetworkConfirmTest.kt b/tests/spa_unit/src/com/android/settings/system/reset/ResetNetworkConfirmTest.kt
new file mode 100644
index 0000000..4812cfb
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/system/reset/ResetNetworkConfirmTest.kt
@@ -0,0 +1,79 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.system.reset
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.widget.TextView
+import androidx.fragment.app.testing.launchFragment
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
+import com.android.settings.ResetNetworkRequest
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.runBlocking
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.never
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.verify
+
+@RunWith(AndroidJUnit4::class)
+class ResetNetworkConfirmTest {
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {}
+
+    private val scenario = launchFragment<ResetNetworkConfirm>()
+
+    @Test
+    fun resetNetworkData_notResetEsim() {
+        scenario.recreate().onFragment { fragment ->
+            fragment.resetNetworkRequest = ResetNetworkRequest(ResetNetworkRequest.RESET_NONE)
+
+            runBlocking { fragment.onResetClicked() }
+
+            verify(context, never()).getSystemService(any())
+        }
+    }
+
+    @Test
+    fun setSubtitle_eraseEsim() {
+        scenario.onFragment { fragment ->
+            fragment.resetNetworkRequest =
+                ResetNetworkRequest(ResetNetworkRequest.RESET_NONE).apply {
+                    setResetEsim(context.packageName)
+                }
+
+            val view = fragment.onCreateView(LayoutInflater.from(context), null, null)
+
+            assertThat(view.requireViewById<TextView>(R.id.reset_network_confirm).text)
+                .isEqualTo(context.getString(R.string.reset_network_final_desc_esim))
+        }
+    }
+
+    @Test
+    fun setSubtitle_notEraseEsim() {
+        scenario.onFragment { fragment ->
+            fragment.resetNetworkRequest = ResetNetworkRequest(ResetNetworkRequest.RESET_NONE)
+
+            val view = fragment.onCreateView(LayoutInflater.from(context), null, null)
+
+            assertThat(view.requireViewById<TextView>(R.id.reset_network_confirm).text)
+                .isEqualTo(context.getString(R.string.reset_network_final_desc))
+        }
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt b/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt
index 5ca24a3..7c99ab1 100644
--- a/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt
+++ b/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt
@@ -23,7 +23,6 @@
 import com.android.settings.applications.ApplicationFeatureProvider
 import com.android.settings.biometrics.face.FaceFeatureProvider
 import com.android.settings.biometrics.fingerprint.FingerprintFeatureProvider
-import com.android.settings.biometrics2.factory.BiometricsRepositoryProvider
 import com.android.settings.bluetooth.BluetoothFeatureProvider
 import com.android.settings.connecteddevice.fastpair.FastPairFeatureProvider
 import com.android.settings.connecteddevice.stylus.StylusFeatureProvider
@@ -41,7 +40,6 @@
 import com.android.settings.notification.syncacrossdevices.SyncAcrossDevicesFeatureProvider
 import com.android.settings.overlay.DockUpdaterFeatureProvider
 import com.android.settings.overlay.FeatureFactory
-import com.android.settings.overlay.SurveyFeatureProvider
 import com.android.settings.panel.PanelFeatureProvider
 import com.android.settings.privatespace.PrivateSpaceLoginFeatureProvider
 import com.android.settings.search.SearchFeatureProvider
@@ -53,14 +51,11 @@
 import com.android.settings.wifi.WifiTrackerLibProvider
 import com.android.settings.wifi.factory.WifiFeatureProvider
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider
-import org.mockito.Mockito.mock
+import org.mockito.kotlin.mock
 
 class FakeFeatureFactory : FeatureFactory() {
 
-    private val mockMetricsFeatureProvider: MetricsFeatureProvider =
-        mock(MetricsFeatureProvider::class.java)
-    val mockApplicationFeatureProvider: ApplicationFeatureProvider =
-        mock(ApplicationFeatureProvider::class.java)
+    val mockApplicationFeatureProvider = mock<ApplicationFeatureProvider>()
 
     init {
         setFactory(appContext, this)
@@ -71,10 +66,9 @@
     override val hardwareInfoFeatureProvider: HardwareInfoFeatureProvider
         get() = TODO("Not yet implemented")
 
-    override val metricsFeatureProvider = mockMetricsFeatureProvider
+    override val metricsFeatureProvider = mock<MetricsFeatureProvider>()
 
-    override val powerUsageFeatureProvider: PowerUsageFeatureProvider
-        get() = TODO("Not yet implemented")
+    override val powerUsageFeatureProvider = mock<PowerUsageFeatureProvider>()
 
     override val batteryStatusFeatureProvider: BatteryStatusFeatureProvider
         get() = TODO("Not yet implemented")
@@ -99,9 +93,7 @@
     override val searchFeatureProvider: SearchFeatureProvider
         get() = TODO("Not yet implemented")
 
-    override fun getSurveyFeatureProvider(context: Context): SurveyFeatureProvider? {
-        TODO("Not yet implemented")
-    }
+    override fun getSurveyFeatureProvider(context: Context) = null
 
     override val securityFeatureProvider: SecurityFeatureProvider
         get() = TODO("Not yet implemented")
@@ -126,8 +118,6 @@
         get() = TODO("Not yet implemented")
     override val fingerprintFeatureProvider: FingerprintFeatureProvider
         get() = TODO("Not yet implemented")
-    override val biometricsRepositoryProvider: BiometricsRepositoryProvider
-        get() = TODO("Not yet implemented")
     override val wifiTrackerLibProvider: WifiTrackerLibProvider
         get() = TODO("Not yet implemented")
     override val securitySettingsFeatureProvider: SecuritySettingsFeatureProvider
diff --git a/tests/spa_unit/src/com/android/settings/wifi/WepNetworksPreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/wifi/WepNetworksPreferenceControllerTest.kt
index 49e6a17..9183096 100644
--- a/tests/spa_unit/src/com/android/settings/wifi/WepNetworksPreferenceControllerTest.kt
+++ b/tests/spa_unit/src/com/android/settings/wifi/WepNetworksPreferenceControllerTest.kt
@@ -17,6 +17,7 @@
 package com.android.settings.wifi
 
 import android.content.Context
+import android.net.wifi.WifiInfo
 import android.net.wifi.WifiManager
 import androidx.compose.ui.test.assertIsOff
 import androidx.compose.ui.test.assertIsOn
@@ -30,7 +31,6 @@
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.android.settings.R
-import com.android.settings.dashboard.DashboardFragment
 import com.android.settings.spa.preference.ComposePreference
 import com.android.settingslib.spa.testutils.onDialogText
 import com.android.wifitrackerlib.WifiEntry
@@ -45,29 +45,31 @@
 import org.mockito.kotlin.doReturn
 import org.mockito.kotlin.mock
 import org.mockito.kotlin.spy
+import org.mockito.kotlin.stub
 
 @RunWith(AndroidJUnit4::class)
 class WepNetworksPreferenceControllerTest {
 
-    @get:Rule
-    val composeTestRule = createComposeRule()
+    @get:Rule val composeTestRule = createComposeRule()
 
     private var wepAllowed = true
 
-    private var mockWifiInfo = mock<android.net.wifi.WifiInfo> {
-        on { it.currentSecurityType } doReturn WifiEntry.SECURITY_EAP
-        on { it.ssid } doReturn SSID
-    }
-
-    private var mockWifiManager = mock<WifiManager> {
-        on { queryWepAllowed(any(), any()) } doAnswer {
-            @Suppress("UNCHECKED_CAST")
-            val consumer = it.arguments[1] as Consumer<Boolean>
-            consumer.accept(wepAllowed)
+    private var mockWifiInfo =
+        mock<WifiInfo> {
+            on { currentSecurityType } doReturn WifiEntry.SECURITY_EAP
+            on { ssid } doReturn SSID
         }
-        on { it.isWepSupported } doReturn true
-        on { it.connectionInfo } doReturn mockWifiInfo
-    }
+
+    private var mockWifiManager =
+        mock<WifiManager> {
+            on { queryWepAllowed(any(), any()) } doAnswer
+                {
+                    @Suppress("UNCHECKED_CAST") val consumer = it.arguments[1] as Consumer<Boolean>
+                    consumer.accept(wepAllowed)
+                }
+            on { isWepSupported } doReturn true
+            on { connectionInfo } doReturn mockWifiInfo
+        }
 
     private var context: Context =
         spy(ApplicationProvider.getApplicationContext()) {
@@ -85,74 +87,101 @@
     }
 
     @Test
-    fun wepAllowedTrue_turnOn() {
+    fun isChecked_wepSupportedAndAllowed_isOn() {
+        mockWifiManager.stub { on { isWepSupported } doReturn true }
         wepAllowed = true
-        composeTestRule.setContent {
-            controller.Content()
-        }
 
-        composeTestRule.onNodeWithText(context.getString(R.string.wifi_allow_wep_networks))
+        composeTestRule.setContent { controller.Content() }
+
+        composeTestRule
+            .onNodeWithText(context.getString(R.string.wifi_allow_wep_networks))
             .assertIsOn()
     }
 
     @Test
-    fun wepAllowedFalse_turnOff() {
+    fun isChecked_wepSupportedAndNotAllowed_isOff() {
+        mockWifiManager.stub { on { isWepSupported } doReturn true }
         wepAllowed = false
-        composeTestRule.setContent {
-            controller.Content()
-        }
 
-        composeTestRule.onNodeWithText(context.getString(R.string.wifi_allow_wep_networks))
+        composeTestRule.setContent { controller.Content() }
+
+        composeTestRule
+            .onNodeWithText(context.getString(R.string.wifi_allow_wep_networks))
+            .assertIsOff()
+    }
+
+    @Test
+    fun isChecked_wepNotSupportedAndAllowed_isOff() {
+        mockWifiManager.stub { on { isWepSupported } doReturn false }
+        wepAllowed = true
+
+        composeTestRule.setContent { controller.Content() }
+
+        composeTestRule
+            .onNodeWithText(context.getString(R.string.wifi_allow_wep_networks))
+            .assertIsOff()
+    }
+
+    @Test
+    fun isChecked_wepNotSupportedAndNotAllowed_isOff() {
+        mockWifiManager.stub { on { isWepSupported } doReturn false }
+        wepAllowed = false
+
+        composeTestRule.setContent { controller.Content() }
+
+        composeTestRule
+            .onNodeWithText(context.getString(R.string.wifi_allow_wep_networks))
             .assertIsOff()
     }
 
     @Test
     fun onClick_turnOn() {
         wepAllowed = false
-        composeTestRule.setContent {
-            controller.Content()
-        }
+        composeTestRule.setContent { controller.Content() }
 
         composeTestRule.onRoot().performClick()
-        composeTestRule.onNodeWithText(context.getString(R.string.wifi_allow_wep_networks))
+        composeTestRule
+            .onNodeWithText(context.getString(R.string.wifi_allow_wep_networks))
             .assertIsOn()
     }
 
     @Test
     fun onClick_turnOff() {
         wepAllowed = true
-        composeTestRule.setContent {
-            controller.Content()
-        }
+        composeTestRule.setContent { controller.Content() }
 
         composeTestRule.onRoot().performClick()
-        composeTestRule.onNodeWithText(context.getString(R.string.wifi_allow_wep_networks))
+        composeTestRule
+            .onNodeWithText(context.getString(R.string.wifi_allow_wep_networks))
             .assertIsOff()
     }
 
     @Test
     fun whenClick_wepAllowed_openDialog() {
         wepAllowed = true
-        Mockito.`when`(mockWifiInfo.currentSecurityType).thenReturn(WifiEntry.SECURITY_WEP)
-        composeTestRule.setContent {
-            controller.Content()
+        mockWifiInfo.stub {
+            on { currentSecurityType } doReturn WifiEntry.SECURITY_WEP
         }
+        composeTestRule.setContent { controller.Content() }
 
         composeTestRule.onRoot().performClick()
-        composeTestRule.onDialogText(context.getString(R.string.wifi_disconnect_button_text))
+        composeTestRule
+            .onDialogText(context.getString(R.string.wifi_disconnect_button_text))
             .isDisplayed()
     }
 
     @Test
     fun whenClick_wepDisallowed_openDialog() {
         wepAllowed = false
-        Mockito.`when`(mockWifiInfo.currentSecurityType).thenReturn(WifiEntry.SECURITY_WEP)
-        composeTestRule.setContent {
-            controller.Content()
+        mockWifiInfo.stub {
+            on { currentSecurityType } doReturn WifiEntry.SECURITY_WEP
         }
 
+        composeTestRule.setContent { controller.Content() }
+
         composeTestRule.onRoot().performClick()
-        composeTestRule.onDialogText(context.getString(R.string.wifi_disconnect_button_text))
+        composeTestRule
+            .onDialogText(context.getString(R.string.wifi_disconnect_button_text))
             .isNotDisplayed()
     }
 
@@ -160,4 +189,4 @@
         const val TEST_KEY = "test_key"
         const val SSID = "ssid"
     }
-}
\ No newline at end of file
+}
diff --git a/tests/spa_unit/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2Test.kt b/tests/spa_unit/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2Test.kt
index cb1f997..9260409 100644
--- a/tests/spa_unit/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2Test.kt
+++ b/tests/spa_unit/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2Test.kt
@@ -59,7 +59,7 @@
 
         controller.updateState(preference)
 
-        val prefValue = WifiPrivacyPreferenceController2.translateMacRandomizedValueToPrefValue(
+        val prefValue = WifiPrivacyPreferenceController2.translateWifiEntryPrivacyToPrefValue(
             WifiEntry.PRIVACY_DEVICE_MAC
         )
         assertThat(preference.entry).isEqualTo(preferenceStrings[prefValue])
@@ -73,7 +73,7 @@
 
         controller.updateState(preference)
 
-        val prefValue = WifiPrivacyPreferenceController2.translateMacRandomizedValueToPrefValue(
+        val prefValue = WifiPrivacyPreferenceController2.translateWifiEntryPrivacyToPrefValue(
             WifiEntry.PRIVACY_RANDOMIZED_MAC
         )
         assertThat(preference.entry).isEqualTo(preferenceStrings[prefValue])
diff --git a/tests/unit/Android.bp b/tests/unit/Android.bp
index bc5824f..be43f8e 100644
--- a/tests/unit/Android.bp
+++ b/tests/unit/Android.bp
@@ -32,7 +32,7 @@
         "truth",
         "kotlinx_coroutines_test",
         "Settings-testutils2",
-        "MediaDrmSettingsFlagsLib",
+        "servicestests-utils",
         // Don't add SettingsLib libraries here - you can use them directly as they are in the
         // instrumented Settings app.
     ],
diff --git a/tests/unit/src/com/android/settings/ResetSubscriptionContractTest.java b/tests/unit/src/com/android/settings/ResetSubscriptionContractTest.java
deleted file mode 100644
index 4443304..0000000
--- a/tests/unit/src/com/android/settings/ResetSubscriptionContractTest.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-
-import android.content.Context;
-import android.os.Bundle;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener;
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-@RunWith(AndroidJUnit4.class)
-public class ResetSubscriptionContractTest {
-
-    private static final int SUB_ID_1 = 3;
-    private static final int SUB_ID_2 = 8;
-
-    @Mock
-    private SubscriptionManager mSubscriptionManager;
-    @Mock
-    private OnSubscriptionsChangedListener mOnSubscriptionsChangedListener;
-    @Mock
-    private SubscriptionInfo mSubscriptionInfo1;
-    @Mock
-    private SubscriptionInfo mSubscriptionInfo2;
-
-    private Context mContext;
-    private ResetNetworkRequest mRequestArgs;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        mContext = spy(ApplicationProvider.getApplicationContext());
-        mRequestArgs = new ResetNetworkRequest(new Bundle());
-    }
-
-    private ResetSubscriptionContract createTestObject() {
-        return new ResetSubscriptionContract(mContext, mRequestArgs) {
-            @Override
-            protected SubscriptionManager getSubscriptionManager() {
-                return mSubscriptionManager;
-            }
-            @Override
-            protected OnSubscriptionsChangedListener getChangeListener() {
-                return mOnSubscriptionsChangedListener;
-            }
-        };
-    }
-
-    @Test
-    public void getAnyMissingSubscriptionId_returnNull_whenNoSubscriptionChange() {
-        mRequestArgs.setResetTelephonyAndNetworkPolicyManager(SUB_ID_1);
-        doReturn(mSubscriptionInfo1).when(mSubscriptionManager)
-                .getActiveSubscriptionInfo(SUB_ID_1);
-        mRequestArgs.setResetApn(SUB_ID_2);
-        doReturn(mSubscriptionInfo2).when(mSubscriptionManager)
-                .getActiveSubscriptionInfo(SUB_ID_2);
-
-        ResetSubscriptionContract target = createTestObject();
-
-        verify(mSubscriptionManager).addOnSubscriptionsChangedListener(any(), any());
-
-        assertNull(target.getAnyMissingSubscriptionId());
-    }
-
-    @Test
-    public void getAnyMissingSubscriptionId_returnSubId_whenSubscriptionNotActive() {
-        mRequestArgs.setResetTelephonyAndNetworkPolicyManager(SUB_ID_1);
-        doReturn(mSubscriptionInfo1).when(mSubscriptionManager)
-                .getActiveSubscriptionInfo(SUB_ID_1);
-        mRequestArgs.setResetApn(SUB_ID_2);
-        doReturn(null).when(mSubscriptionManager)
-                .getActiveSubscriptionInfo(SUB_ID_2);
-
-        ResetSubscriptionContract target = createTestObject();
-
-        verify(mSubscriptionManager).addOnSubscriptionsChangedListener(any(), any());
-
-        assertEquals(target.getAnyMissingSubscriptionId(), new Integer(SUB_ID_2));
-    }
-}
diff --git a/tests/unit/src/com/android/settings/accessibility/LargePointerIconPreferenceControllerTest.java b/tests/unit/src/com/android/settings/accessibility/LargePointerIconPreferenceControllerTest.java
index db588e8..fbc1a19 100644
--- a/tests/unit/src/com/android/settings/accessibility/LargePointerIconPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/accessibility/LargePointerIconPreferenceControllerTest.java
@@ -16,12 +16,18 @@
 
 package com.android.settings.accessibility;
 
+import static android.view.flags.Flags.FLAG_ENABLE_VECTOR_CURSOR_A11Y_SETTINGS;
+
 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.platform.test.annotations.RequiresFlagsDisabled;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
 import android.provider.Settings;
 
 import androidx.preference.SwitchPreference;
@@ -31,12 +37,16 @@
 import com.android.settings.core.BasePreferenceController;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
 @RunWith(AndroidJUnit4.class)
 public class LargePointerIconPreferenceControllerTest {
 
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
     private static final int UNKNOWN = -1;
 
     private Context mContext;
@@ -51,9 +61,17 @@
     }
 
     @Test
+    @RequiresFlagsDisabled(FLAG_ENABLE_VECTOR_CURSOR_A11Y_SETTINGS)
     public void getAvailabilityStatus_shouldReturnAvailable() {
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(
-                BasePreferenceController.AVAILABLE);
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(FLAG_ENABLE_VECTOR_CURSOR_A11Y_SETTINGS)
+    public void getAvailabilityStatus_shouldReturnConditionallyUnavailable() {
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
     }
 
     @Test
diff --git a/tests/unit/src/com/android/settings/accessibility/ReduceBrightColorsPreferenceControllerTest.java b/tests/unit/src/com/android/settings/accessibility/ReduceBrightColorsPreferenceControllerTest.java
index e1c0277..7229996 100644
--- a/tests/unit/src/com/android/settings/accessibility/ReduceBrightColorsPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/accessibility/ReduceBrightColorsPreferenceControllerTest.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.accessibility;
 
+import static com.android.internal.accessibility.AccessibilityShortcutController.REDUCE_BRIGHT_COLORS_TILE_SERVICE_COMPONENT_NAME;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.doReturn;
@@ -24,7 +26,12 @@
 
 import android.content.Context;
 import android.content.res.Resources;
+import android.platform.test.annotations.RequiresFlagsDisabled;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
 import android.provider.Settings;
+import android.view.accessibility.Flags;
 
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -33,6 +40,7 @@
 
 import org.junit.Before;
 import org.junit.Ignore;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
@@ -40,6 +48,8 @@
 public class ReduceBrightColorsPreferenceControllerTest {
     private static final String PREF_KEY = "rbc_preference";
 
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
     private Context mContext;
     private Resources mResources;;
     private ReduceBrightColorsPreferenceController mController;
@@ -88,6 +98,20 @@
         assertThat(mController.isAvailable()).isFalse();
     }
 
+
+    @Test
+    @RequiresFlagsDisabled(Flags.FLAG_A11Y_QS_SHORTCUT)
+    public void getTileComponentName_a11yQsFlagOff_returnComponentName() {
+        assertThat(mController.getTileComponentName())
+                .isEqualTo(REDUCE_BRIGHT_COLORS_TILE_SERVICE_COMPONENT_NAME);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_A11Y_QS_SHORTCUT)
+    public void getTileComponentName_a11yQsFlagOff_returnNull() {
+        assertThat(mController.getTileComponentName()).isNull();
+    }
+
     private int resourceId(String type, String name) {
         return mContext.getResources().getIdentifier(name, type, mContext.getPackageName());
     }
diff --git a/tests/unit/src/com/android/settings/biometrics2/OWNERS b/tests/unit/src/com/android/settings/biometrics2/OWNERS
deleted file mode 100644
index a257ed8..0000000
--- a/tests/unit/src/com/android/settings/biometrics2/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-include /src/com/android/settings/biometrics/OWNERS
diff --git a/tests/unit/src/com/android/settings/biometrics2/repository/FingerprintRepositoryTest.java b/tests/unit/src/com/android/settings/biometrics2/repository/FingerprintRepositoryTest.java
deleted file mode 100644
index 8989595..0000000
--- a/tests/unit/src/com/android/settings/biometrics2/repository/FingerprintRepositoryTest.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.biometrics2.repository;
-
-import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_HOME_BUTTON;
-import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_POWER_BUTTON;
-import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_REAR;
-import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_UDFPS_OPTICAL;
-import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_UDFPS_ULTRASONIC;
-import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_UNKNOWN;
-
-import static com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.newFingerprintRepository;
-import static com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.setupFingerprintEnrolledFingerprints;
-import static com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.setupSuwMaxFingerprintsEnrollable;
-
-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.doReturn;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.hardware.biometrics.SensorProperties;
-import android.hardware.fingerprint.FingerprintManager;
-import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
-import android.hardware.fingerprint.IFingerprintAuthenticatorsRegisteredCallback;
-
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.biometrics2.data.repository.FingerprintRepository;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnit;
-import org.mockito.junit.MockitoRule;
-
-import java.util.ArrayList;
-
-@RunWith(AndroidJUnit4.class)
-public class FingerprintRepositoryTest {
-
-    @Rule public final MockitoRule mockito = MockitoJUnit.rule();
-
-    @Mock private Resources mResources;
-    @Mock private FingerprintManager mFingerprintManager;
-
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        mContext = ApplicationProvider.getApplicationContext();
-    }
-
-    @Test
-    public void testCanAssumeSensorType_forUnknownSensor() {
-        final FingerprintRepository repository = newFingerprintRepository(mFingerprintManager,
-                TYPE_UNKNOWN, 1);
-        assertThat(repository.canAssumeUdfps()).isFalse();
-        assertThat(repository.canAssumeSfps()).isFalse();
-    }
-
-    @Test
-    public void testCanAssumeSensorType_forRearSensor() {
-        final FingerprintRepository repository = newFingerprintRepository(mFingerprintManager,
-                TYPE_REAR, 1);
-        assertThat(repository.canAssumeUdfps()).isFalse();
-        assertThat(repository.canAssumeSfps()).isFalse();
-    }
-
-    @Test
-    public void testCanAssumeSensorType_forUdfpsUltrasonicSensor() {
-        final FingerprintRepository repository = newFingerprintRepository(mFingerprintManager,
-                TYPE_UDFPS_ULTRASONIC, 1);
-        assertThat(repository.canAssumeUdfps()).isTrue();
-        assertThat(repository.canAssumeSfps()).isFalse();
-    }
-
-    @Test
-    public void testCanAssumeSensorType_forUdfpsOpticalSensor() {
-        final FingerprintRepository repository = newFingerprintRepository(mFingerprintManager,
-                TYPE_UDFPS_OPTICAL, 1);
-        assertThat(repository.canAssumeUdfps()).isTrue();
-        assertThat(repository.canAssumeSfps()).isFalse();
-    }
-
-    @Test
-    public void testCanAssumeSensorType_forPowerButtonSensor() {
-        final FingerprintRepository repository = newFingerprintRepository(mFingerprintManager,
-                TYPE_POWER_BUTTON, 1);
-        assertThat(repository.canAssumeUdfps()).isFalse();
-        assertThat(repository.canAssumeSfps()).isTrue();
-    }
-
-    @Test
-    public void testCanAssumeSensorType_forHomeButtonSensor() {
-        final FingerprintRepository repository = newFingerprintRepository(mFingerprintManager,
-                TYPE_HOME_BUTTON, 1);
-        assertThat(repository.canAssumeUdfps()).isFalse();
-        assertThat(repository.canAssumeSfps()).isFalse();
-    }
-
-    @Test
-    public void testGetMaxFingerprints() {
-        final FingerprintRepository repository = newFingerprintRepository(mFingerprintManager,
-                TYPE_UNKNOWN, 999);
-        assertThat(repository.getMaxFingerprints()).isEqualTo(999);
-    }
-
-    @Test
-    public void testGetNumOfEnrolledFingerprintsSize() {
-        final FingerprintRepository repository = newFingerprintRepository(mFingerprintManager,
-                TYPE_UNKNOWN, 999);
-        setupFingerprintEnrolledFingerprints(mFingerprintManager, 10, 3);
-        setupFingerprintEnrolledFingerprints(mFingerprintManager, 22, 99);
-
-        assertThat(repository.getNumOfEnrolledFingerprintsSize(10)).isEqualTo(3);
-        assertThat(repository.getNumOfEnrolledFingerprintsSize(22)).isEqualTo(99);
-    }
-
-    @Test
-    public void testGetMaxFingerprintsInSuw() {
-        final FingerprintRepository repository = newFingerprintRepository(mFingerprintManager,
-                TYPE_UNKNOWN, 999);
-        setupSuwMaxFingerprintsEnrollable(mContext, mResources, 333);
-        assertThat(repository.getMaxFingerprintsInSuw(mResources))
-                .isEqualTo(333);
-
-        setupSuwMaxFingerprintsEnrollable(mContext, mResources, 20);
-        assertThat(repository.getMaxFingerprintsInSuw(mResources)).isEqualTo(20);
-    }
-
-    @Test
-    public void testGetFirstFingerprintSensorPropertiesInternal() {
-        final ArrayList<FingerprintSensorPropertiesInternal> props = new ArrayList<>();
-        final FingerprintSensorPropertiesInternal prop = new FingerprintSensorPropertiesInternal(
-                0 /* sensorId */,
-                SensorProperties.STRENGTH_STRONG,
-                5,
-                new ArrayList<>() /* componentInfo */,
-                TYPE_UDFPS_OPTICAL,
-                true /* resetLockoutRequiresHardwareAuthToken */);
-        props.add(prop);
-        doAnswer(invocation -> {
-            final IFingerprintAuthenticatorsRegisteredCallback callback =
-                    invocation.getArgument(0);
-            callback.onAllAuthenticatorsRegistered(props);
-            return null;
-        }).when(mFingerprintManager).addAuthenticatorsRegisteredCallback(any());
-
-        final FingerprintRepository repository = new FingerprintRepository(mFingerprintManager);
-        assertThat(repository.getFirstFingerprintSensorPropertiesInternal()).isEqualTo(prop);
-    }
-
-    @Test
-    public void testGetEnrollStageCount() {
-        final FingerprintRepository repository = newFingerprintRepository(mFingerprintManager,
-                TYPE_UNKNOWN, 999);
-
-        final int expectedValue = 24;
-        doReturn(expectedValue).when(mFingerprintManager).getEnrollStageCount();
-
-        assertThat(repository.getEnrollStageCount()).isEqualTo(expectedValue);
-    }
-
-    @Test
-    public void testGetEnrollStageThreshold() {
-        final FingerprintRepository repository = newFingerprintRepository(mFingerprintManager,
-                TYPE_UNKNOWN, 999);
-
-        final float expectedValue0 = 0.42f;
-        final float expectedValue1 = 0.24f;
-        final float expectedValue2 = 0.33f;
-        final float expectedValue3 = 0.90f;
-        doReturn(expectedValue0).when(mFingerprintManager).getEnrollStageThreshold(0);
-        doReturn(expectedValue1).when(mFingerprintManager).getEnrollStageThreshold(1);
-        doReturn(expectedValue2).when(mFingerprintManager).getEnrollStageThreshold(2);
-        doReturn(expectedValue3).when(mFingerprintManager).getEnrollStageThreshold(3);
-
-        assertThat(repository.getEnrollStageThreshold(2)).isEqualTo(expectedValue2);
-        assertThat(repository.getEnrollStageThreshold(1)).isEqualTo(expectedValue1);
-        assertThat(repository.getEnrollStageThreshold(3)).isEqualTo(expectedValue3);
-        assertThat(repository.getEnrollStageThreshold(0)).isEqualTo(expectedValue0);
-    }
-}
diff --git a/tests/unit/src/com/android/settings/biometrics2/ui/model/CredentialModelTest.kt b/tests/unit/src/com/android/settings/biometrics2/ui/model/CredentialModelTest.kt
deleted file mode 100644
index ac62232..0000000
--- a/tests/unit/src/com/android/settings/biometrics2/ui/model/CredentialModelTest.kt
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.model
-
-import android.content.Intent
-import android.os.Bundle
-import android.os.SystemClock
-import android.os.UserHandle
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import com.android.settings.biometrics.BiometricEnrollBase
-import com.android.settings.password.ChooseLockSettingsHelper
-import com.google.common.truth.Truth
-import org.junit.Test
-import org.junit.runner.RunWith
-import java.util.Arrays
-
-@RunWith(AndroidJUnit4::class)
-class CredentialModelTest {
-
-    private val clock = SystemClock.elapsedRealtimeClock()
-
-    @Test
-    fun testNullBundle() {
-        val credentialModel = CredentialModel(null, clock)
-        Truth.assertThat(credentialModel.userId).isEqualTo(UserHandle.myUserId())
-    }
-
-    companion object {
-        @JvmStatic
-        fun newCredentialModelIntentExtras(
-            userId: Int, challenge: Long,
-            token: ByteArray?, gkPwHandle: Long
-        ): Bundle {
-            val bundle = Bundle()
-            bundle.putInt(Intent.EXTRA_USER_ID, userId)
-            bundle.putLong(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, challenge)
-            bundle.putByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, token)
-            bundle.putLong(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, gkPwHandle)
-            return bundle
-        }
-
-        @JvmStatic
-        fun newValidTokenCredentialIntentExtras(userId: Int): Bundle {
-            return newCredentialModelIntentExtras(
-                userId, 1L, byteArrayOf(0, 1, 2),
-                CredentialModel.INVALID_GK_PW_HANDLE
-            )
-        }
-
-        @JvmStatic
-        fun newOnlySensorValidCredentialIntentExtras(userId: Int): Bundle {
-            return newCredentialModelIntentExtras(
-                userId, CredentialModel.INVALID_CHALLENGE, null,
-                CredentialModel.INVALID_GK_PW_HANDLE
-            )
-        }
-
-        @JvmStatic
-        fun newGkPwHandleCredentialIntentExtras(userId: Int, gkPwHandle: Long): Bundle {
-            return newCredentialModelIntentExtras(
-                userId,
-                CredentialModel.INVALID_CHALLENGE,
-                null,
-                gkPwHandle
-            )
-        }
-
-        private fun checkBundleLongValue(
-            bundle1: Bundle, bundle2: Bundle,
-            key: String
-        ) {
-            if (!bundle1.containsKey(key)) {
-                return
-            }
-            val value1 = bundle1.getInt(key)
-            val value2 = bundle2.getInt(key)
-            Truth.assertWithMessage(
-                "bundle not match, key:" + key + ", value1:" + value1 + ", value2:"
-                        + value2
-            ).that(value1).isEqualTo(value2)
-        }
-
-        private fun checkBundleIntValue(
-            bundle1: Bundle, bundle2: Bundle,
-            key: String
-        ) {
-            if (!bundle1.containsKey(key)) {
-                return
-            }
-            val value1 = bundle1.getLong(key)
-            val value2 = bundle2.getLong(key)
-            Truth.assertWithMessage(
-                "bundle not match, key:" + key + ", value1:" + value1 + ", value2:"
-                        + value2
-            ).that(value1).isEqualTo(value2)
-        }
-
-        private fun checkBundleByteArrayValue(
-            bundle1: Bundle, bundle2: Bundle,
-            key: String
-        ) {
-            if (!bundle1.containsKey(key)) {
-                return
-            }
-            val value1 = bundle1.getByteArray(key)
-            val value2 = bundle2.getByteArray(key)
-            val errMsg = ("bundle not match, key:" + key + ", value1:" + Arrays.toString(value1)
-                    + ", value2:" + Arrays.toString(value2))
-            if (value1 == null) {
-                Truth.assertWithMessage(errMsg).that(value2).isNull()
-            } else {
-                Truth.assertWithMessage(errMsg).that(value1.size).isEqualTo(
-                    value2!!.size
-                )
-                for (i in value1.indices) {
-                    Truth.assertWithMessage(errMsg).that(value1[i]).isEqualTo(
-                        value2[i]
-                    )
-                }
-            }
-        }
-    }
-}
diff --git a/tests/unit/src/com/android/settings/biometrics2/ui/model/EnrollmentRequestTest.kt b/tests/unit/src/com/android/settings/biometrics2/ui/model/EnrollmentRequestTest.kt
deleted file mode 100644
index b301433..0000000
--- a/tests/unit/src/com/android/settings/biometrics2/ui/model/EnrollmentRequestTest.kt
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.model
-
-import android.content.Context
-import android.content.Intent
-import androidx.test.core.app.ApplicationProvider
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import com.android.settings.biometrics.BiometricEnrollActivity
-import com.google.android.setupcompat.util.WizardManagerHelper
-import com.google.common.truth.Truth
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@RunWith(AndroidJUnit4::class)
-class EnrollmentRequestTest {
-
-    private val context = ApplicationProvider.getApplicationContext<Context>()
-
-    @Test
-    fun testIsSuw() {
-        // Default false
-        Truth.assertThat(EnrollmentRequest(Intent(), context, true).isSuw).isFalse()
-        Truth.assertThat(EnrollmentRequest(Intent(), context, false).isSuw).isFalse()
-        val trueIntent = Intent()
-        trueIntent.putExtra(WizardManagerHelper.EXTRA_IS_SETUP_FLOW, true)
-        Truth.assertThat(EnrollmentRequest(trueIntent, context, true).isSuw).isTrue()
-        Truth.assertThat(EnrollmentRequest(trueIntent, context, false).isSuw).isFalse()
-        val falseIntent = Intent()
-        trueIntent.putExtra(WizardManagerHelper.EXTRA_IS_SETUP_FLOW, false)
-        Truth.assertThat(EnrollmentRequest(falseIntent, context, true).isSuw).isFalse()
-        Truth.assertThat(EnrollmentRequest(falseIntent, context, false).isSuw).isFalse()
-    }
-
-    @Test
-    fun testIsAfterSuwOrSuwSuggestedAction() {
-        // Default false
-        Truth.assertThat(
-            EnrollmentRequest(Intent(), context, true)
-                .isAfterSuwOrSuwSuggestedAction
-        ).isFalse()
-        Truth.assertThat(
-            EnrollmentRequest(Intent(), context, false)
-                .isAfterSuwOrSuwSuggestedAction
-        ).isFalse()
-        val deferredTrueIntent = Intent()
-        deferredTrueIntent.putExtra(WizardManagerHelper.EXTRA_IS_DEFERRED_SETUP, true)
-        Truth.assertThat(
-            EnrollmentRequest(deferredTrueIntent, context, true)
-                .isAfterSuwOrSuwSuggestedAction
-        ).isTrue()
-        Truth.assertThat(
-            EnrollmentRequest(deferredTrueIntent, context, false)
-                .isAfterSuwOrSuwSuggestedAction
-        ).isFalse()
-        val deferredFalseIntent = Intent()
-        deferredFalseIntent.putExtra(WizardManagerHelper.EXTRA_IS_DEFERRED_SETUP, false)
-        Truth.assertThat(
-            EnrollmentRequest(deferredFalseIntent, context, false)
-                .isAfterSuwOrSuwSuggestedAction
-        ).isFalse()
-        Truth.assertThat(
-            EnrollmentRequest(deferredFalseIntent, context, false)
-                .isAfterSuwOrSuwSuggestedAction
-        ).isFalse()
-        val portalTrueIntent = Intent()
-        portalTrueIntent.putExtra(WizardManagerHelper.EXTRA_IS_PORTAL_SETUP, true)
-        Truth.assertThat(
-            EnrollmentRequest(portalTrueIntent, context, true)
-                .isAfterSuwOrSuwSuggestedAction
-        ).isTrue()
-        Truth.assertThat(
-            EnrollmentRequest(portalTrueIntent, context, false)
-                .isAfterSuwOrSuwSuggestedAction
-        ).isFalse()
-        val portalFalseIntent = Intent()
-        portalFalseIntent.putExtra(WizardManagerHelper.EXTRA_IS_PORTAL_SETUP, false)
-        Truth.assertThat(
-            EnrollmentRequest(portalFalseIntent, context, false)
-                .isAfterSuwOrSuwSuggestedAction
-        ).isFalse()
-        Truth.assertThat(
-            EnrollmentRequest(portalFalseIntent, context, false)
-                .isAfterSuwOrSuwSuggestedAction
-        ).isFalse()
-        val suggestedTrueIntent = Intent()
-        suggestedTrueIntent.putExtra(WizardManagerHelper.EXTRA_IS_SUW_SUGGESTED_ACTION_FLOW, true)
-        Truth.assertThat(
-            EnrollmentRequest(suggestedTrueIntent, context, true)
-                .isAfterSuwOrSuwSuggestedAction
-        ).isTrue()
-        Truth.assertThat(
-            EnrollmentRequest(suggestedTrueIntent, context, false)
-                .isAfterSuwOrSuwSuggestedAction
-        ).isFalse()
-        val suggestedFalseIntent = Intent()
-        suggestedFalseIntent.putExtra(WizardManagerHelper.EXTRA_IS_SUW_SUGGESTED_ACTION_FLOW, false)
-        Truth.assertThat(
-            EnrollmentRequest(suggestedFalseIntent, context, false)
-                .isAfterSuwOrSuwSuggestedAction
-        ).isFalse()
-        Truth.assertThat(
-            EnrollmentRequest(suggestedFalseIntent, context, false)
-                .isAfterSuwOrSuwSuggestedAction
-        ).isFalse()
-    }
-
-    @Test
-    fun testGetSuwExtras_inSuw() {
-        val suwIntent = Intent()
-        suwIntent.putExtra(WizardManagerHelper.EXTRA_IS_SETUP_FLOW, true)
-        val setupRequest = EnrollmentRequest(suwIntent, context, true)
-        val bundle = setupRequest.suwExtras
-        Truth.assertThat(bundle).isNotNull()
-        Truth.assertThat(bundle.size()).isAtLeast(1)
-        Truth.assertThat(bundle.getBoolean(WizardManagerHelper.EXTRA_IS_SETUP_FLOW)).isTrue()
-    }
-
-    @Test
-    fun testGetSuwExtras_notInSuw() {
-        val suwIntent = Intent()
-        suwIntent.putExtra(WizardManagerHelper.EXTRA_IS_SETUP_FLOW, true)
-        val setupRequest = EnrollmentRequest(suwIntent, context, false)
-        val bundle = setupRequest.suwExtras
-        Truth.assertThat(bundle).isNotNull()
-        Truth.assertThat(bundle.size()).isEqualTo(0)
-    }
-
-    @Test
-    fun testIsSkipIntro() {
-        // Default false
-        Truth.assertThat(EnrollmentRequest(Intent(), context, true).isSkipIntro).isFalse()
-        Truth.assertThat(EnrollmentRequest(Intent(), context, false).isSkipIntro).isFalse()
-        val trueIntent = Intent()
-        trueIntent.putExtra(BiometricEnrollActivity.EXTRA_SKIP_INTRO, true)
-        Truth.assertThat(EnrollmentRequest(trueIntent, context, true).isSkipIntro).isTrue()
-        Truth.assertThat(EnrollmentRequest(trueIntent, context, false).isSkipIntro).isTrue()
-        val falseIntent = Intent()
-        falseIntent.putExtra(BiometricEnrollActivity.EXTRA_SKIP_INTRO, false)
-        Truth.assertThat(EnrollmentRequest(falseIntent, context, false).isSkipIntro).isFalse()
-        Truth.assertThat(EnrollmentRequest(falseIntent, context, false).isSkipIntro).isFalse()
-    }
-
-    @Test
-    fun testIsSkipFindSensor() {
-        // Default false
-        Truth.assertThat(EnrollmentRequest(Intent(), context, true).isSkipFindSensor)
-            .isFalse()
-        Truth.assertThat(EnrollmentRequest(Intent(), context, false).isSkipFindSensor)
-            .isFalse()
-        val trueIntent = Intent()
-        trueIntent.putExtra(EnrollmentRequest.EXTRA_SKIP_FIND_SENSOR, true)
-        Truth.assertThat(EnrollmentRequest(trueIntent, context, true).isSkipFindSensor).isTrue()
-        Truth.assertThat(EnrollmentRequest(trueIntent, context, false).isSkipFindSensor).isTrue()
-        val falseIntent = Intent()
-        falseIntent.putExtra(EnrollmentRequest.EXTRA_SKIP_FIND_SENSOR, false)
-        Truth.assertThat(EnrollmentRequest(falseIntent, context, false).isSkipFindSensor)
-            .isFalse()
-        Truth.assertThat(EnrollmentRequest(falseIntent, context, false).isSkipFindSensor)
-            .isFalse()
-    }
-}
diff --git a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModelTest.kt b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModelTest.kt
deleted file mode 100644
index e708f3b..0000000
--- a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModelTest.kt
+++ /dev/null
@@ -1,519 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.viewmodel
-
-import android.app.Activity
-import android.app.admin.DevicePolicyManager
-import android.content.Intent
-import android.os.Bundle
-import android.os.SystemClock
-import android.os.UserHandle
-import androidx.activity.result.ActivityResult
-import androidx.test.core.app.ApplicationProvider
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import com.android.internal.widget.LockPatternUtils
-import com.android.internal.widget.VerifyCredentialResponse
-import com.android.settings.biometrics.BiometricEnrollBase
-import com.android.settings.biometrics2.ui.model.CredentialModel
-import com.android.settings.biometrics2.ui.model.CredentialModelTest.Companion.newGkPwHandleCredentialIntentExtras
-import com.android.settings.biometrics2.ui.model.CredentialModelTest.Companion.newOnlySensorValidCredentialIntentExtras
-import com.android.settings.biometrics2.ui.model.CredentialModelTest.Companion.newValidTokenCredentialIntentExtras
-import com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.ChallengeGenerator
-import com.android.settings.password.ChooseLockPattern
-import com.android.settings.password.ChooseLockSettingsHelper
-import com.google.common.truth.Truth.assertThat
-import java.util.concurrent.atomic.AtomicBoolean
-import kotlinx.coroutines.flow.toList
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.test.TestScope
-import kotlinx.coroutines.test.UnconfinedTestDispatcher
-import kotlinx.coroutines.test.runCurrent
-import kotlinx.coroutines.test.runTest
-import org.junit.Before
-import org.junit.Rule
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.mockito.Mock
-import org.mockito.Mockito
-import org.mockito.junit.MockitoJUnit
-import org.mockito.junit.MockitoRule
-import org.mockito.Mockito.`when` as whenever
-
-@RunWith(AndroidJUnit4::class)
-class AutoCredentialViewModelTest {
-
-    @get:Rule val mockito: MockitoRule = MockitoJUnit.rule()
-
-    @Mock private lateinit var lockPatternUtils: LockPatternUtils
-
-    private var challengeGenerator: TestChallengeGenerator = TestChallengeGenerator()
-
-    private lateinit var viewModel: AutoCredentialViewModel
-    private fun newAutoCredentialViewModel(bundle: Bundle?): AutoCredentialViewModel {
-        return AutoCredentialViewModel(
-            ApplicationProvider.getApplicationContext(),
-            lockPatternUtils,
-            challengeGenerator,
-            CredentialModel(bundle, SystemClock.elapsedRealtimeClock())
-        )
-    }
-
-    @Before
-    fun setUp() {
-        challengeGenerator = TestChallengeGenerator()
-    }
-
-    private fun setupGenerateChallenge(userId: Int, newSensorId: Int, newChallenge: Long) {
-        whenever(lockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-            DevicePolicyManager.PASSWORD_QUALITY_SOMETHING
-        )
-        challengeGenerator.userId = userId
-        challengeGenerator.sensorId = newSensorId
-        challengeGenerator.challenge = newChallenge
-    }
-
-    @Test
-    fun testCheckCredential_validCredentialCase() = runTest {
-        val userId = 99
-        viewModel = newAutoCredentialViewModel(newValidTokenCredentialIntentExtras(userId))
-        whenever(lockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-            DevicePolicyManager.PASSWORD_QUALITY_SOMETHING
-        )
-
-        val generateFails = listOfGenerateChallengeFailedFlow()
-
-        // Run credential check
-        val action = viewModel.checkCredential(backgroundScope)
-        runCurrent()
-
-        // Check viewModel behavior
-        assertThat(action).isEqualTo(CredentialAction.CREDENTIAL_VALID)
-        assertThat(generateFails.size).isEqualTo(0)
-
-        // Check createGeneratingChallengeExtras()
-        assertThat(viewModel.createGeneratingChallengeExtras()).isNull()
-    }
-
-    @Test
-    fun testCheckCredential_needToChooseLock() = runTest {
-        val userId = 100
-        viewModel = newAutoCredentialViewModel(newOnlySensorValidCredentialIntentExtras(userId))
-        whenever(lockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-            DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED
-        )
-
-        val generateFails = listOfGenerateChallengeFailedFlow()
-
-        // Run credential check
-        val action = viewModel.checkCredential(backgroundScope)
-        runCurrent()
-
-        // Check viewModel behavior
-        assertThat(action).isEqualTo(CredentialAction.FAIL_NEED_TO_CHOOSE_LOCK)
-        assertThat(generateFails.size).isEqualTo(0)
-
-        // Check createGeneratingChallengeExtras()
-        assertThat(viewModel.createGeneratingChallengeExtras()).isNull()
-    }
-
-    @Test
-    fun testCheckCredential_needToConfirmLockForSomething() = runTest {
-        val userId = 101
-        viewModel =
-            newAutoCredentialViewModel(newOnlySensorValidCredentialIntentExtras(userId))
-        whenever(lockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-            DevicePolicyManager.PASSWORD_QUALITY_SOMETHING
-        )
-
-        val generateFails = listOfGenerateChallengeFailedFlow()
-
-        // Run credential check
-        val action = viewModel.checkCredential(backgroundScope)
-        runCurrent()
-
-        // Check viewModel behavior
-        assertThat(action).isEqualTo(CredentialAction.FAIL_NEED_TO_CONFIRM_LOCK)
-        assertThat(generateFails.size).isEqualTo(0)
-
-        // Check createGeneratingChallengeExtras()
-        assertThat(viewModel.createGeneratingChallengeExtras()).isNull()
-    }
-
-    @Test
-    fun testCheckCredential_needToConfirmLockForNumeric() = runTest {
-        val userId = 102
-        viewModel =
-            newAutoCredentialViewModel(newOnlySensorValidCredentialIntentExtras(userId))
-        whenever(lockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-            DevicePolicyManager.PASSWORD_QUALITY_NUMERIC
-        )
-
-        val generateFails = listOfGenerateChallengeFailedFlow()
-
-        // Run credential check
-        val action = viewModel.checkCredential(backgroundScope)
-        runCurrent()
-
-        // Check viewModel behavior
-        assertThat(action).isEqualTo(CredentialAction.FAIL_NEED_TO_CONFIRM_LOCK)
-        assertThat(generateFails.size).isEqualTo(0)
-
-        // Check createGeneratingChallengeExtras()
-        assertThat(viewModel.createGeneratingChallengeExtras()).isNull()
-    }
-
-    @Test
-    fun testCheckCredential_needToConfirmLockForAlphabetic() = runTest {
-        val userId = 103
-        viewModel =
-            newAutoCredentialViewModel(newOnlySensorValidCredentialIntentExtras(userId))
-        whenever(lockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-            DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC
-        )
-
-        val generateFails = listOfGenerateChallengeFailedFlow()
-
-        // Run credential check
-        val action = viewModel.checkCredential(this)
-        runCurrent()
-
-        // Check viewModel behavior
-        assertThat(action).isEqualTo(CredentialAction.FAIL_NEED_TO_CONFIRM_LOCK)
-        assertThat(generateFails.size).isEqualTo(0)
-
-        // Check createGeneratingChallengeExtras()
-        assertThat(viewModel.createGeneratingChallengeExtras()).isNull()
-    }
-
-    @Test
-    fun testCheckCredential_generateChallenge() = runTest {
-        val userId = 104
-        val gkPwHandle = 1111L
-        viewModel =
-            newAutoCredentialViewModel(newGkPwHandleCredentialIntentExtras(userId, gkPwHandle))
-        whenever(lockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-            DevicePolicyManager.PASSWORD_QUALITY_SOMETHING
-        )
-        val newSensorId = 10
-        val newChallenge = 20L
-        setupGenerateChallenge(userId, newSensorId, newChallenge)
-        whenever(
-            lockPatternUtils.verifyGatekeeperPasswordHandle(
-                gkPwHandle,
-                newChallenge,
-                userId
-            )
-        )
-            .thenReturn(newGoodCredential(gkPwHandle, byteArrayOf(1)))
-        val hasCalledRemoveGkPwHandle = AtomicBoolean()
-        Mockito.doAnswer {
-            hasCalledRemoveGkPwHandle.set(true)
-            null
-        }.`when`(lockPatternUtils).removeGatekeeperPasswordHandle(gkPwHandle)
-
-        val generateFails = listOfGenerateChallengeFailedFlow()
-
-        // Run credential check
-        val action = viewModel.checkCredential(backgroundScope)
-        runCurrent()
-
-        // Check viewModel behavior
-        assertThat(action).isEqualTo(CredentialAction.IS_GENERATING_CHALLENGE)
-        assertThat(generateFails.size).isEqualTo(0)
-
-        // Check data inside CredentialModel
-        assertThat(viewModel.token).isNotNull()
-        assertThat(challengeGenerator.callbackRunCount).isEqualTo(1)
-        assertThat(hasCalledRemoveGkPwHandle.get()).isFalse()
-
-        // Check createGeneratingChallengeExtras()
-        val generatingChallengeExtras = viewModel.createGeneratingChallengeExtras()
-        assertThat(generatingChallengeExtras).isNotNull()
-        assertThat(generatingChallengeExtras!!.getLong(BiometricEnrollBase.EXTRA_KEY_CHALLENGE))
-            .isEqualTo(newChallenge)
-        val tokens =
-            generatingChallengeExtras.getByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN)
-        assertThat(tokens).isNotNull()
-        assertThat(tokens!!.size).isEqualTo(1)
-        assertThat(tokens[0]).isEqualTo(1)
-    }
-
-    @Test
-    fun testCheckCredential_generateChallengeFail() = runTest {
-        backgroundScope.launch {
-            val userId = 104
-            val gkPwHandle = 1111L
-            viewModel =
-                newAutoCredentialViewModel(newGkPwHandleCredentialIntentExtras(userId, gkPwHandle))
-            whenever(lockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-                DevicePolicyManager.PASSWORD_QUALITY_SOMETHING
-            )
-            val newSensorId = 10
-            val newChallenge = 20L
-            setupGenerateChallenge(userId, newSensorId, newChallenge)
-            whenever(
-                lockPatternUtils.verifyGatekeeperPasswordHandle(
-                    gkPwHandle,
-                    newChallenge,
-                    userId
-                )
-            )
-                .thenReturn(newBadCredential(0))
-
-            val generateFails = listOfGenerateChallengeFailedFlow()
-
-            // Run credential check
-            val action = viewModel.checkCredential(this)
-            runCurrent()
-
-            assertThat(action).isEqualTo(CredentialAction.IS_GENERATING_CHALLENGE)
-            assertThat(generateFails.size).isEqualTo(1)
-            assertThat(generateFails[0]).isEqualTo(true)
-            assertThat(challengeGenerator.callbackRunCount).isEqualTo(1)
-
-            // Check createGeneratingChallengeExtras()
-            assertThat(viewModel.createGeneratingChallengeExtras()).isNull()
-        }
-    }
-
-    @Test
-    fun testGetUserId_fromIntent() {
-        val userId = 106
-        viewModel = newAutoCredentialViewModel(newOnlySensorValidCredentialIntentExtras(userId))
-
-        // Get userId
-        assertThat(viewModel.userId).isEqualTo(userId)
-    }
-
-    @Test
-    fun testGenerateChallengeAsCredentialActivityResult_invalidChooseLock() = runTest {
-        backgroundScope.launch {
-            val userId = 107
-            val gkPwHandle = 3333L
-            viewModel =
-                newAutoCredentialViewModel(newGkPwHandleCredentialIntentExtras(userId, gkPwHandle))
-            val intent = Intent()
-            intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, gkPwHandle)
-
-            val generateFails = listOfGenerateChallengeFailedFlow()
-
-            // Run generateChallengeAsCredentialActivityResult()
-            val ret = viewModel.generateChallengeAsCredentialActivityResult(
-                true,
-                ActivityResult(ChooseLockPattern.RESULT_FINISHED + 1, intent),
-                backgroundScope
-            )
-            runCurrent()
-
-            assertThat(ret).isFalse()
-            assertThat(generateFails.size).isEqualTo(0)
-        }
-    }
-
-    @Test
-    fun testGenerateChallengeAsCredentialActivityResult_invalidConfirmLock() = runTest {
-        backgroundScope.launch {
-            val userId = 107
-            val gkPwHandle = 3333L
-            viewModel =
-                newAutoCredentialViewModel(newGkPwHandleCredentialIntentExtras(userId, gkPwHandle))
-            val intent = Intent()
-            intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, gkPwHandle)
-
-            val generateFails = listOfGenerateChallengeFailedFlow()
-
-            // Run generateChallengeAsCredentialActivityResult()
-            val ret = viewModel.generateChallengeAsCredentialActivityResult(
-                false,
-                ActivityResult(Activity.RESULT_OK + 1, intent),
-                backgroundScope
-            )
-            runCurrent()
-
-            assertThat(ret).isFalse()
-            assertThat(generateFails.size).isEqualTo(0)
-        }
-    }
-
-    @Test
-    fun testGenerateChallengeAsCredentialActivityResult_nullDataChooseLock() = runTest {
-        val userId = 108
-        val gkPwHandle = 4444L
-        viewModel =
-            newAutoCredentialViewModel(newGkPwHandleCredentialIntentExtras(userId, gkPwHandle))
-
-        val generateFails = listOfGenerateChallengeFailedFlow()
-
-        // Run generateChallengeAsCredentialActivityResult()
-        val ret = viewModel.generateChallengeAsCredentialActivityResult(
-            true,
-            ActivityResult(ChooseLockPattern.RESULT_FINISHED, null),
-            backgroundScope
-        )
-        runCurrent()
-
-        assertThat(ret).isFalse()
-        assertThat(generateFails.size).isEqualTo(0)
-    }
-
-    @Test
-    fun testGenerateChallengeAsCredentialActivityResult_nullDataConfirmLock() = runTest {
-        val userId = 109
-        viewModel =
-            newAutoCredentialViewModel(newOnlySensorValidCredentialIntentExtras(userId))
-
-        val generateFails = listOfGenerateChallengeFailedFlow()
-
-        // Run generateChallengeAsCredentialActivityResult()
-        val ret = viewModel.generateChallengeAsCredentialActivityResult(
-            false,
-            ActivityResult(Activity.RESULT_OK, null),
-            backgroundScope
-        )
-        runCurrent()
-
-        assertThat(ret).isFalse()
-        assertThat(generateFails.size).isEqualTo(0)
-    }
-
-    @Test
-    fun testGenerateChallengeAsCredentialActivityResult_validChooseLock() = runTest {
-        val userId = 108
-        viewModel =
-            newAutoCredentialViewModel(newOnlySensorValidCredentialIntentExtras(userId))
-        whenever(lockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-            DevicePolicyManager.PASSWORD_QUALITY_SOMETHING
-        )
-        val gkPwHandle = 6666L
-        val newSensorId = 50
-        val newChallenge = 60L
-        setupGenerateChallenge(userId, newSensorId, newChallenge)
-        whenever(
-            lockPatternUtils.verifyGatekeeperPasswordHandle(
-                gkPwHandle,
-                newChallenge,
-                userId
-            )
-        )
-            .thenReturn(newGoodCredential(gkPwHandle, byteArrayOf(1)))
-        val hasCalledRemoveGkPwHandle = AtomicBoolean()
-        Mockito.doAnswer {
-            hasCalledRemoveGkPwHandle.set(true)
-            null
-        }.`when`(lockPatternUtils).removeGatekeeperPasswordHandle(gkPwHandle)
-
-        val generateFails = listOfGenerateChallengeFailedFlow()
-
-        // Run generateChallengeAsCredentialActivityResult()
-        val intent =
-            Intent().putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, gkPwHandle)
-        val ret = viewModel.generateChallengeAsCredentialActivityResult(
-            true,
-            ActivityResult(ChooseLockPattern.RESULT_FINISHED, intent),
-            backgroundScope
-        )
-        runCurrent()
-
-        assertThat(ret).isTrue()
-        assertThat(generateFails.size).isEqualTo(0)
-        assertThat(viewModel.token).isNotNull()
-        assertThat(challengeGenerator.callbackRunCount).isEqualTo(1)
-        assertThat(hasCalledRemoveGkPwHandle.get()).isTrue()
-    }
-
-    @Test
-    fun testGenerateChallengeAsCredentialActivityResult_validConfirmLock() = runTest {
-        val userId = 109
-        viewModel =
-            newAutoCredentialViewModel(newOnlySensorValidCredentialIntentExtras(userId))
-        whenever(lockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-            DevicePolicyManager.PASSWORD_QUALITY_SOMETHING
-        )
-        val gkPwHandle = 5555L
-        val newSensorId = 80
-        val newChallenge = 90L
-        setupGenerateChallenge(userId, newSensorId, newChallenge)
-        whenever(
-            lockPatternUtils.verifyGatekeeperPasswordHandle(
-                gkPwHandle,
-                newChallenge,
-                userId
-            )
-        )
-            .thenReturn(newGoodCredential(gkPwHandle, byteArrayOf(1)))
-        val hasCalledRemoveGkPwHandle = AtomicBoolean()
-        Mockito.doAnswer {
-            hasCalledRemoveGkPwHandle.set(true)
-            null
-        }.`when`(lockPatternUtils).removeGatekeeperPasswordHandle(gkPwHandle)
-
-        val generateFails = listOfGenerateChallengeFailedFlow()
-
-        // Run generateChallengeAsCredentialActivityResult()
-        val intent =
-            Intent().putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, gkPwHandle)
-        val ret = viewModel.generateChallengeAsCredentialActivityResult(
-            false,
-            ActivityResult(Activity.RESULT_OK, intent),
-            backgroundScope
-        )
-        runCurrent()
-
-        assertThat(ret).isTrue()
-        assertThat(generateFails.size).isEqualTo(0)
-        assertThat(viewModel.token).isNotNull()
-        assertThat(challengeGenerator.callbackRunCount).isEqualTo(1)
-        assertThat(hasCalledRemoveGkPwHandle.get()).isTrue()
-    }
-
-    private fun TestScope.listOfGenerateChallengeFailedFlow(): List<Boolean> =
-        mutableListOf<Boolean>().also {
-            backgroundScope.launch(UnconfinedTestDispatcher(testScheduler)) {
-                viewModel.generateChallengeFailedFlow.toList(it)
-            }
-        }
-
-    class TestChallengeGenerator : ChallengeGenerator {
-        var sensorId = -1
-        var userId = UserHandle.myUserId()
-        var challenge = CredentialModel.INVALID_CHALLENGE
-        var callbackRunCount = 0
-
-        override var callback: AutoCredentialViewModel.GenerateChallengeCallback? = null
-
-        override fun generateChallenge(userId: Int) {
-            callback?.let {
-                it.onChallengeGenerated(sensorId, this.userId, challenge)
-                ++callbackRunCount
-            }
-        }
-    }
-
-    private fun newGoodCredential(gkPwHandle: Long, hat: ByteArray): VerifyCredentialResponse {
-        return VerifyCredentialResponse.Builder()
-            .setGatekeeperPasswordHandle(gkPwHandle)
-            .setGatekeeperHAT(hat)
-            .build()
-    }
-
-    private fun newBadCredential(timeout: Int): VerifyCredentialResponse {
-        return if (timeout > 0) {
-            VerifyCredentialResponse.fromTimeout(timeout)
-        } else {
-            VerifyCredentialResponse.fromError()
-        }
-    }
-}
diff --git a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/DeviceFoldedViewModelTest.java b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/DeviceFoldedViewModelTest.java
deleted file mode 100644
index c4ee18e..0000000
--- a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/DeviceFoldedViewModelTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.biometrics2.ui.viewmodel;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.app.Application;
-import android.content.res.Configuration;
-
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.testutils.InstantTaskExecutorRule;
-import com.android.systemui.unfold.compat.ScreenSizeFoldProvider;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-public class DeviceFoldedViewModelTest {
-
-    @Rule public final InstantTaskExecutorRule mTaskExecutorRule = new InstantTaskExecutorRule();
-
-    private DeviceFoldedViewModel mViewModel;
-
-    @Before
-    public void setUp() {
-        final Application application = ApplicationProvider.getApplicationContext();
-        mViewModel = new DeviceFoldedViewModel(new ScreenSizeFoldProvider(application),
-                application.getMainExecutor());
-    }
-
-    @Test
-    public void testLiveData() {
-        final Configuration config1 = new Configuration();
-        config1.smallestScreenWidthDp = 601;
-        mViewModel.onConfigurationChanged(config1);
-        assertThat(mViewModel.getLiveData().getValue()).isFalse();
-
-        final Configuration config2 = new Configuration();
-        config2.smallestScreenWidthDp = 599;
-        mViewModel.onConfigurationChanged(config2);
-        assertThat(mViewModel.getLiveData().getValue()).isTrue();
-    }
-}
diff --git a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/DeviceRotationViewModelTest.java b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/DeviceRotationViewModelTest.java
deleted file mode 100644
index 0b7c53c..0000000
--- a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/DeviceRotationViewModelTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.biometrics2.ui.viewmodel;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.app.Application;
-import android.view.Surface;
-
-import androidx.annotation.NonNull;
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.testutils.InstantTaskExecutorRule;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.junit.MockitoJUnit;
-import org.mockito.junit.MockitoRule;
-
-@RunWith(AndroidJUnit4.class)
-public class DeviceRotationViewModelTest {
-
-    @Rule public final MockitoRule mockito = MockitoJUnit.rule();
-    @Rule public final InstantTaskExecutorRule mTaskExecutorRule = new InstantTaskExecutorRule();
-
-    private TestDeviceRotationViewModel mViewModel;
-
-    @Before
-    public void setUp() {
-        TestDeviceRotationViewModel.sTestRotation = 3;
-        mViewModel = new TestDeviceRotationViewModel(ApplicationProvider.getApplicationContext());
-    }
-
-    @Test
-    public void testDefaultLiveDataNotNull() {
-        assertThat(mViewModel.getLiveData().getValue()).isEqualTo(mViewModel.sTestRotation);
-    }
-
-    @Test
-    public void testOnDisplayChange() {
-        mViewModel.sTestRotation = 3;
-        mViewModel.triggerOnDisplayChanged();
-        assertThat(mViewModel.getLiveData().getValue()).isEqualTo(mViewModel.sTestRotation);
-    }
-
-    public static class TestDeviceRotationViewModel extends DeviceRotationViewModel {
-
-        @Surface.Rotation static int sTestRotation = 0;
-
-        public TestDeviceRotationViewModel(@NonNull Application application) {
-            super(application);
-        }
-
-        void triggerOnDisplayChanged() {
-            mDisplayListener.onDisplayChanged(0);
-        }
-
-        @Override
-        protected int getRotation() {
-            return sTestRotation;
-        }
-    }
-}
diff --git a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollEnrollingViewModelTest.java b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollEnrollingViewModelTest.java
deleted file mode 100644
index d4fae60..0000000
--- a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollEnrollingViewModelTest.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.biometrics2.ui.viewmodel;
-
-import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_UDFPS_OPTICAL;
-
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ENROLL_ENROLLING_ACTION_SHOW_ICON_TOUCH_DIALOG;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_BACK_PRESSED;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_USER_SKIP;
-import static com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.newFingerprintRepository;
-
-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.doReturn;
-
-import android.app.Application;
-import android.hardware.biometrics.SensorProperties;
-import android.hardware.fingerprint.FingerprintManager;
-import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
-import android.hardware.fingerprint.IFingerprintAuthenticatorsRegisteredCallback;
-
-import androidx.lifecycle.LiveData;
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.biometrics2.data.repository.FingerprintRepository;
-import com.android.settings.testutils.InstantTaskExecutorRule;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnit;
-import org.mockito.junit.MockitoRule;
-
-import java.util.ArrayList;
-
-@RunWith(AndroidJUnit4.class)
-public class FingerprintEnrollEnrollingViewModelTest {
-
-    private static final int TEST_USER_ID = 33;
-
-    @Rule
-    public final MockitoRule mockito = MockitoJUnit.rule();
-    @Rule
-    public final InstantTaskExecutorRule mTaskExecutorRule = new InstantTaskExecutorRule();
-
-    @Mock
-    private FingerprintManager mFingerprintManager;
-
-    private Application mApplication;
-    private FingerprintEnrollEnrollingViewModel mViewModel;
-
-    @Before
-    public void setUp() {
-        mApplication = ApplicationProvider.getApplicationContext();
-        mViewModel = new FingerprintEnrollEnrollingViewModel(
-                mApplication,
-                TEST_USER_ID,
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL,  5)
-            );
-    }
-
-    @Test
-    public void testIconTouchDialog() {
-        final LiveData<Integer> actionLiveData = mViewModel.getActionLiveData();
-        assertThat(actionLiveData.getValue()).isEqualTo(null);
-
-        mViewModel.showIconTouchDialog();
-        assertThat(actionLiveData.getValue()).isEqualTo(
-                FINGERPRINT_ENROLL_ENROLLING_ACTION_SHOW_ICON_TOUCH_DIALOG);
-    }
-
-    @Test
-    public void tesBackPressedScenario() {
-        final LiveData<Integer> actionLiveData = mViewModel.getActionLiveData();
-        assertThat(actionLiveData.getValue()).isEqualTo(null);
-        assertThat(mViewModel.getOnBackPressed()).isEqualTo(false);
-
-        mViewModel.setOnBackPressed();
-        assertThat(mViewModel.getOnBackPressed()).isEqualTo(true);
-
-        mViewModel.onCancelledDueToOnBackPressed();
-        assertThat(mViewModel.getOnBackPressed()).isEqualTo(false);
-        assertThat(actionLiveData.getValue()).isEqualTo(
-                FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_BACK_PRESSED);
-    }
-
-    @Test
-    public void testSkipPressedScenario() {
-        final LiveData<Integer> actionLiveData = mViewModel.getActionLiveData();
-        assertThat(actionLiveData.getValue()).isEqualTo(null);
-        assertThat(mViewModel.getOnSkipPressed()).isEqualTo(false);
-
-        mViewModel.setOnSkipPressed();
-        assertThat(mViewModel.getOnSkipPressed()).isEqualTo(true);
-
-        mViewModel.onCancelledDueToOnSkipPressed();
-        assertThat(mViewModel.getOnSkipPressed()).isEqualTo(false);
-        assertThat(actionLiveData.getValue()).isEqualTo(
-                FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_USER_SKIP);
-    }
-
-    @Test
-    public void testGetFirstFingerprintSensorPropertiesInternal() {
-        final ArrayList<FingerprintSensorPropertiesInternal> props = new ArrayList<>();
-        final FingerprintSensorPropertiesInternal prop = new FingerprintSensorPropertiesInternal(
-                0 /* sensorId */,
-                SensorProperties.STRENGTH_STRONG,
-                5,
-                new ArrayList<>() /* componentInfo */,
-                TYPE_UDFPS_OPTICAL,
-                true /* resetLockoutRequiresHardwareAuthToken */);
-        props.add(prop);
-        doAnswer(invocation -> {
-            final IFingerprintAuthenticatorsRegisteredCallback callback =
-                    invocation.getArgument(0);
-            callback.onAllAuthenticatorsRegistered(props);
-            return null;
-        }).when(mFingerprintManager).addAuthenticatorsRegisteredCallback(any());
-
-        mViewModel = new FingerprintEnrollEnrollingViewModel(
-                mApplication,
-                TEST_USER_ID,
-                new FingerprintRepository(mFingerprintManager)
-        );
-
-        assertThat(mViewModel.getFirstFingerprintSensorPropertiesInternal()).isEqualTo(prop);
-    }
-
-    @Test
-    public void testGetEnrollStageCount() {
-        final int expectedValue = 24;
-        doReturn(expectedValue).when(mFingerprintManager).getEnrollStageCount();
-
-        assertThat(mViewModel.getEnrollStageCount()).isEqualTo(expectedValue);
-    }
-
-    @Test
-    public void testGetEnrollStageThreshold() {
-        final float expectedValue0 = 0.42f;
-        final float expectedValue1 = 0.24f;
-        final float expectedValue2 = 0.33f;
-        final float expectedValue3 = 0.90f;
-
-        doReturn(expectedValue0).when(mFingerprintManager).getEnrollStageThreshold(0);
-        doReturn(expectedValue1).when(mFingerprintManager).getEnrollStageThreshold(1);
-        doReturn(expectedValue2).when(mFingerprintManager).getEnrollStageThreshold(2);
-        doReturn(expectedValue3).when(mFingerprintManager).getEnrollStageThreshold(3);
-
-        assertThat(mViewModel.getEnrollStageThreshold(2)).isEqualTo(expectedValue2);
-        assertThat(mViewModel.getEnrollStageThreshold(1)).isEqualTo(expectedValue1);
-        assertThat(mViewModel.getEnrollStageThreshold(3)).isEqualTo(expectedValue3);
-        assertThat(mViewModel.getEnrollStageThreshold(0)).isEqualTo(expectedValue0);
-    }
-}
diff --git a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollErrorDialogViewModelTest.kt b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollErrorDialogViewModelTest.kt
deleted file mode 100644
index 379a5c1..0000000
--- a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollErrorDialogViewModelTest.kt
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.viewmodel
-
-import android.app.Application
-import androidx.test.core.app.ApplicationProvider
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintErrorDialogSetResultAction.FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_FINISH
-import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.flow.toList
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.test.UnconfinedTestDispatcher
-import kotlinx.coroutines.test.runCurrent
-import kotlinx.coroutines.test.runTest
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@RunWith(AndroidJUnit4::class)
-class FingerprintEnrollErrorDialogViewModelTest {
-
-    private val application = ApplicationProvider.getApplicationContext<Application>()
-    private var viewModel: FingerprintEnrollErrorDialogViewModel =
-        FingerprintEnrollErrorDialogViewModel(application, false)
-
-    @Before
-    fun setUp() {
-        // Make sure viewModel is new for each test
-        viewModel = FingerprintEnrollErrorDialogViewModel(application, false)
-    }
-
-    @Test
-    fun testIsDialogNotShownDefaultFalse() {
-        assertThat(viewModel.isDialogShown).isFalse()
-    }
-
-    @Test
-    fun testIsSuw() {
-        assertThat(FingerprintEnrollErrorDialogViewModel(application, false).isSuw).isFalse()
-        assertThat(FingerprintEnrollErrorDialogViewModel(application, true).isSuw).isTrue()
-    }
-
-    @Test
-    fun testNewDialog() = runTest {
-        val newDialogs: List<Int> = mutableListOf<Int>().also {
-            backgroundScope.launch(UnconfinedTestDispatcher(testScheduler)) {
-                viewModel.newDialogFlow.toList(it)
-            }
-        }
-
-        runCurrent()
-
-        // Default values
-        assertThat(viewModel.isDialogShown).isFalse()
-        assertThat(newDialogs.size).isEqualTo(0)
-
-        val testErrorMsgId = 3456
-        viewModel.newDialog(testErrorMsgId)
-        runCurrent()
-
-        // verify after emit
-        assertThat(viewModel.isDialogShown).isTrue()
-        assertThat(newDialogs.size).isEqualTo(1)
-        assertThat(newDialogs[0]).isEqualTo(testErrorMsgId)
-    }
-
-    @Test
-    fun testTriggerRetry() = runTest {
-        val triggerRetries: List<Any> = mutableListOf<Any>().also {
-            backgroundScope.launch(UnconfinedTestDispatcher(testScheduler)) {
-                viewModel.triggerRetryFlow.toList(it)
-            }
-        }
-
-        runCurrent()
-
-        // Default values
-        assertThat(triggerRetries.size).isEqualTo(0)
-
-        viewModel.triggerRetry()
-        runCurrent()
-
-        // verify after emit
-        assertThat(triggerRetries.size).isEqualTo(1)
-    }
-
-    @Test
-    fun testSetResultFinish() = runTest {
-        val setResults: List<FingerprintErrorDialogSetResultAction> =
-            mutableListOf<FingerprintErrorDialogSetResultAction>().also {
-                backgroundScope.launch(UnconfinedTestDispatcher(testScheduler)) {
-                    viewModel.setResultFlow.toList(it)
-                }
-            }
-
-        runCurrent()
-
-        // Default values
-        assertThat(setResults.size).isEqualTo(0)
-
-        viewModel.setResultAndFinish(FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_FINISH)
-        runCurrent()
-
-        // verify after emit
-        assertThat(setResults.size).isEqualTo(1)
-        assertThat(setResults[0]).isEqualTo(FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_FINISH)
-    }
-}
diff --git a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollFindSensorViewModelTest.java b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollFindSensorViewModelTest.java
deleted file mode 100644
index 18bd61a..0000000
--- a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollFindSensorViewModelTest.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.biometrics2.ui.viewmodel;
-
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFindSensorViewModel.FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_DIALOG;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFindSensorViewModel.FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_SKIP;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFindSensorViewModel.FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_START;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.app.Application;
-
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.testutils.InstantTaskExecutorRule;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-public class FingerprintEnrollFindSensorViewModelTest {
-
-    @Rule public final InstantTaskExecutorRule mTaskExecutorRule = new InstantTaskExecutorRule();
-
-    private Application mApplication;
-    private FingerprintEnrollFindSensorViewModel mViewModel;
-
-    @Before
-    public void setUp() {
-        mApplication = ApplicationProvider.getApplicationContext();
-        mViewModel = new FingerprintEnrollFindSensorViewModel(mApplication, false);
-    }
-
-    @Test
-    public void testClickSkipButtonNotInSuw() {
-        mViewModel = new FingerprintEnrollFindSensorViewModel(mApplication, false);
-        mViewModel.onSkipButtonClick();
-        assertThat(mViewModel.getActionLiveData().getValue()).isEqualTo(
-                FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_SKIP);
-    }
-
-    @Test
-    public void testClickSkipButtonInSuw() {
-        mViewModel = new FingerprintEnrollFindSensorViewModel(mApplication, true);
-        mViewModel.onSkipButtonClick();
-        assertThat(mViewModel.getActionLiveData().getValue()).isEqualTo(
-                FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_DIALOG);
-    }
-
-    @Test
-    public void testClickSkipDialogButton() {
-        mViewModel.onSkipDialogButtonClick();
-        assertThat(mViewModel.getActionLiveData().getValue()).isEqualTo(
-                FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_SKIP);
-    }
-
-    @Test
-    public void testClickStartDialogButton() {
-        mViewModel.onStartButtonClick();
-        assertThat(mViewModel.getActionLiveData().getValue()).isEqualTo(
-                FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_START);
-    }
-
-    @Test
-    public void testClearActionLiveData() {
-        assertThat(mViewModel.getActionLiveData().getValue()).isNull();
-
-        mViewModel.onStartButtonClick();
-        assertThat(mViewModel.getActionLiveData().getValue()).isNotNull();
-
-        mViewModel.clearActionLiveData();
-        assertThat(mViewModel.getActionLiveData().getValue()).isNull();
-    }
-}
diff --git a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollFinishViewModelTest.java b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollFinishViewModelTest.java
deleted file mode 100644
index ac97e72..0000000
--- a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollFinishViewModelTest.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.biometrics2.ui.viewmodel;
-
-import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_POWER_BUTTON;
-import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_REAR;
-import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_UDFPS_OPTICAL;
-
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFinishViewModel.FINGERPRINT_ENROLL_FINISH_ACTION_ADD_BUTTON_CLICK;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFinishViewModel.FINGERPRINT_ENROLL_FINISH_ACTION_NEXT_BUTTON_CLICK;
-import static com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.newFingerprintRepository;
-import static com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.setupFingerprintEnrolledFingerprints;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.app.Application;
-import android.content.Intent;
-import android.hardware.fingerprint.FingerprintManager;
-
-import androidx.lifecycle.LiveData;
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.biometrics2.ui.model.EnrollmentRequest;
-import com.android.settings.testutils.InstantTaskExecutorRule;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnit;
-import org.mockito.junit.MockitoRule;
-
-@RunWith(AndroidJUnit4.class)
-public class FingerprintEnrollFinishViewModelTest {
-
-    private static final int USER_ID = 334;
-    private static final int MAX_ENROLLABLE = 5;
-
-    @Rule public final MockitoRule mockito = MockitoJUnit.rule();
-    @Rule public final InstantTaskExecutorRule mTaskExecutorRule = new InstantTaskExecutorRule();
-
-    @Mock private FingerprintManager mFingerprintManager;
-
-    private Application mApplication;
-    private EnrollmentRequest mRequest;
-    private FingerprintEnrollFinishViewModel mViewModel;
-
-    @Before
-    public void setUp() {
-        mApplication = ApplicationProvider.getApplicationContext();
-        mRequest = new EnrollmentRequest(new Intent(), mApplication, true);
-        mViewModel = new FingerprintEnrollFinishViewModel(mApplication, USER_ID, mRequest,
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, MAX_ENROLLABLE));
-    }
-
-    @Test
-    public void testCanAssumeSfps() {
-        mViewModel = new FingerprintEnrollFinishViewModel(mApplication, USER_ID, mRequest,
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, MAX_ENROLLABLE));
-        assertThat(mViewModel.canAssumeSfps()).isFalse();
-
-        mViewModel = new FingerprintEnrollFinishViewModel(mApplication, USER_ID, mRequest,
-                newFingerprintRepository(mFingerprintManager, TYPE_REAR, MAX_ENROLLABLE));
-        assertThat(mViewModel.canAssumeSfps()).isFalse();
-
-        mViewModel = new FingerprintEnrollFinishViewModel(mApplication, USER_ID, mRequest,
-                newFingerprintRepository(mFingerprintManager, TYPE_POWER_BUTTON, MAX_ENROLLABLE));
-        assertThat(mViewModel.canAssumeSfps()).isTrue();
-    }
-
-    @Test
-    public void testIsAnotherFingerprintEnrollable() {
-        setupFingerprintEnrolledFingerprints(mFingerprintManager, USER_ID, MAX_ENROLLABLE);
-        assertThat(mViewModel.isAnotherFingerprintEnrollable()).isFalse();
-
-        setupFingerprintEnrolledFingerprints(mFingerprintManager, USER_ID, MAX_ENROLLABLE - 1);
-        assertThat(mViewModel.isAnotherFingerprintEnrollable()).isTrue();
-    }
-
-    @Test
-    public void testGetRequest() {
-        assertThat(mViewModel.getRequest()).isEqualTo(mRequest);
-    }
-
-    @Test
-    public void testOnAddButtonClick() {
-        final LiveData<Integer> actionLiveData = mViewModel.getActionLiveData();
-
-        // Test init value
-        assertThat(actionLiveData.getValue()).isNull();
-
-        // Test onAddButtonClick()
-        mViewModel.onAddButtonClick();
-        assertThat(actionLiveData.getValue()).isEqualTo(
-                FINGERPRINT_ENROLL_FINISH_ACTION_ADD_BUTTON_CLICK);
-
-        // Clear
-        mViewModel.clearActionLiveData();
-        assertThat(actionLiveData.getValue()).isNull();
-    }
-
-    @Test
-    public void testOnNextButtonClick() {
-        final LiveData<Integer> actionLiveData = mViewModel.getActionLiveData();
-
-        // Test init value
-        assertThat(actionLiveData.getValue()).isNull();
-
-        // Test onNextButtonClick()
-        mViewModel.onNextButtonClick();
-        assertThat(actionLiveData.getValue()).isEqualTo(
-                FINGERPRINT_ENROLL_FINISH_ACTION_NEXT_BUTTON_CLICK);
-
-        // Clear
-        mViewModel.clearActionLiveData();
-        assertThat(actionLiveData.getValue()).isNull();
-    }
-}
diff --git a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModelTest.kt b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModelTest.kt
deleted file mode 100644
index 7494aef..0000000
--- a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModelTest.kt
+++ /dev/null
@@ -1,357 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.viewmodel
-
-import android.app.Application
-import android.content.res.Resources
-import android.hardware.fingerprint.FingerprintManager
-import android.hardware.fingerprint.FingerprintSensorProperties.TYPE_UDFPS_OPTICAL
-import androidx.test.core.app.ApplicationProvider
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import com.android.settings.biometrics2.data.repository.FingerprintRepository
-import com.android.settings.biometrics2.ui.model.EnrollmentRequest
-import com.android.settings.biometrics2.ui.model.FingerprintEnrollIntroStatus
-import com.android.settings.biometrics2.ui.model.FingerprintEnrollable.FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX
-import com.android.settings.biometrics2.ui.model.FingerprintEnrollable.FINGERPRINT_ENROLLABLE_OK
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroAction.CONTINUE_ENROLL
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroAction.DONE_AND_FINISH
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroAction.SKIP_OR_CANCEL
-import com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newAllFalseRequest
-import com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newIsSuwDeferredRequest
-import com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newIsSuwPortalRequest
-import com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newIsSuwRequest
-import com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newIsSuwSuggestedActionFlowRequest
-import com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.newFingerprintRepository
-import com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.setupFingerprintEnrolledFingerprints
-import com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.setupSuwMaxFingerprintsEnrollable
-import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.flow.toList
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.test.TestScope
-import kotlinx.coroutines.test.UnconfinedTestDispatcher
-import kotlinx.coroutines.test.runCurrent
-import kotlinx.coroutines.test.runTest
-import org.junit.Before
-import org.junit.Rule
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.mockito.Mock
-import org.mockito.Mockito
-import org.mockito.junit.MockitoJUnit
-
-@RunWith(AndroidJUnit4::class)
-class FingerprintEnrollIntroViewModelTest {
-
-    @get:Rule val mockito = MockitoJUnit.rule()
-
-    @Mock private lateinit var resources: Resources
-    @Mock private lateinit var fingerprintManager: FingerprintManager
-
-    private var application: Application = ApplicationProvider.getApplicationContext()
-
-    private fun newFingerprintEnrollIntroViewModel(
-        fingerprintRepository: FingerprintRepository,
-        enrollmentRequest: EnrollmentRequest
-    ) = FingerprintEnrollIntroViewModel(
-        application,
-        fingerprintRepository,
-        enrollmentRequest,
-        TEST_USER_ID
-    )
-
-    @Before
-    fun setUp() {
-        application = ApplicationProvider.getApplicationContext()
-    }
-
-    @Test
-    fun testPageStatusFlowDefaultAndUpdate() = runTest {
-        val viewModel = newFingerprintEnrollIntroViewModel(
-            newFingerprintRepository(fingerprintManager, TYPE_UDFPS_OPTICAL, 1),
-            newAllFalseRequest(application)
-        )
-
-        val statusList = listOfPageStatusFlow(viewModel)
-
-        runCurrent()
-
-        // assert default values
-        assertThat(statusList.size).isEqualTo(1)
-        assertThat(statusList[0].hasScrollToBottom()).isFalse()
-        assertThat(statusList[0].enrollableStatus).isEqualTo(FINGERPRINT_ENROLLABLE_OK)
-
-        setupFingerprintEnrolledFingerprints(fingerprintManager, TEST_USER_ID, 1)
-        viewModel.updateEnrollableStatus(backgroundScope)
-        runCurrent()
-
-        // assert new updated value
-        assertThat(statusList.size).isEqualTo(2)
-        assertThat(statusList[1].hasScrollToBottom()).isFalse()
-        assertThat(statusList[1].enrollableStatus).isEqualTo(FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX)
-    }
-
-    fun testOnStartToUpdateEnrollableStatusOk_isSuw() = runTest {
-        setupFingerprintEnrolledFingerprints(fingerprintManager, TEST_USER_ID, 0)
-        setupSuwMaxFingerprintsEnrollable(application, resources, 1)
-        val viewModel = newFingerprintEnrollIntroViewModel(
-            newFingerprintRepository(fingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-            newIsSuwRequest(application)
-        )
-
-        val statusList = listOfPageStatusFlow(viewModel)
-
-        runCurrent()
-
-        assertThat(statusList.size).isEqualTo(1)
-        assertThat(statusList[0].enrollableStatus).isEqualTo(FINGERPRINT_ENROLLABLE_OK)
-    }
-
-    @Test
-    fun testOnStartToUpdateEnrollableStatusReachMax_isSuw() = runTest {
-        setupFingerprintEnrolledFingerprints(fingerprintManager, TEST_USER_ID, 1)
-        setupSuwMaxFingerprintsEnrollable(application, resources, 1)
-        val viewModel = newFingerprintEnrollIntroViewModel(
-            newFingerprintRepository(fingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-            newIsSuwRequest(application)
-        )
-
-        val statusList = listOfPageStatusFlow(viewModel)
-
-        runCurrent()
-
-        assertThat(statusList.size).isEqualTo(1)
-        assertThat(statusList[0].enrollableStatus).isEqualTo(FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX)
-    }
-
-    @Test
-    fun testOnStartToUpdateEnrollableStatusOk_isNotSuw() = runTest {
-        testOnStartToUpdateEnrollableStatusOk(newAllFalseRequest(application))
-    }
-
-    @Test
-    fun testOnStartToUpdateEnrollableStatusReachMax_isNotSuw() = runTest {
-        testOnStartToUpdateEnrollableStatusReachMax(newAllFalseRequest(application))
-    }
-
-    @Test
-    fun testOnStartToUpdateEnrollableStatusOk_isSuwDeferred() = runTest {
-        testOnStartToUpdateEnrollableStatusOk(newIsSuwDeferredRequest(application))
-    }
-
-    @Test
-    fun testOnStartToUpdateEnrollableStatusReachMax_isSuwDeferred() = runTest {
-        testOnStartToUpdateEnrollableStatusReachMax(newIsSuwDeferredRequest(application))
-    }
-
-    @Test
-    fun testOnStartToUpdateEnrollableStatusOk_isSuwPortal() = runTest {
-        testOnStartToUpdateEnrollableStatusOk(newIsSuwPortalRequest(application))
-    }
-
-    @Test
-    fun testOnStartToUpdateEnrollableStatusReachMax_isSuwPortal() = runTest {
-        testOnStartToUpdateEnrollableStatusReachMax(newIsSuwPortalRequest(application))
-    }
-
-    @Test
-    fun testOnStartToUpdateEnrollableStatusOk_isSuwSuggestedActionFlow() = runTest {
-        testOnStartToUpdateEnrollableStatusOk(newIsSuwSuggestedActionFlowRequest(application))
-    }
-
-    @Test
-    fun testOnStartToUpdateEnrollableStatusReachMax_isSuwSuggestedActionFlow() = runTest {
-        testOnStartToUpdateEnrollableStatusReachMax(
-            newIsSuwSuggestedActionFlowRequest(application)
-        )
-    }
-
-    private fun TestScope.testOnStartToUpdateEnrollableStatusOk(request: EnrollmentRequest) {
-        setupFingerprintEnrolledFingerprints(fingerprintManager, TEST_USER_ID, 0)
-        val viewModel = newFingerprintEnrollIntroViewModel(
-            newFingerprintRepository(fingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-            request
-        )
-
-        val statusList = listOfPageStatusFlow(viewModel)
-
-        runCurrent()
-
-        assertThat(statusList.size).isEqualTo(1)
-        assertThat(statusList[0].enrollableStatus).isEqualTo(FINGERPRINT_ENROLLABLE_OK)
-    }
-
-    private fun TestScope.testOnStartToUpdateEnrollableStatusReachMax(request: EnrollmentRequest) {
-        setupFingerprintEnrolledFingerprints(fingerprintManager, TEST_USER_ID, 5)
-        val viewModel = newFingerprintEnrollIntroViewModel(
-            newFingerprintRepository(fingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-            request
-        )
-
-        val statusList = listOfPageStatusFlow(viewModel)
-
-        runCurrent()
-
-        assertThat(statusList.size).isEqualTo(1)
-        assertThat(statusList[0].enrollableStatus).isEqualTo(FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX)
-    }
-
-    @Test
-    fun testIsParentalConsentRequired() {
-        // We shall not mock FingerprintRepository, but
-        // FingerprintRepository.isParentalConsentRequired() calls static method inside, we can't
-        // mock static method
-        val fingerprintRepository = Mockito.mock(
-            FingerprintRepository::class.java
-        )
-        val viewModel = FingerprintEnrollIntroViewModel(
-            application,
-            fingerprintRepository,
-            newAllFalseRequest(application),
-            TEST_USER_ID
-        )
-        Mockito.`when`(
-            fingerprintRepository.isParentalConsentRequired(application)
-        ).thenReturn(true)
-        assertThat(viewModel.isParentalConsentRequired).isEqualTo(true)
-        Mockito.`when`(
-            fingerprintRepository.isParentalConsentRequired(application)
-        ).thenReturn(false)
-        assertThat(viewModel.isParentalConsentRequired).isEqualTo(false)
-    }
-
-    @Test
-    fun testIsBiometricUnlockDisabledByAdmin() {
-        // We shall not mock FingerprintRepository, but
-        // FingerprintRepository.isDisabledByAdmin() calls static method inside, we can't mock
-        // static method
-        val fingerprintRepository = Mockito.mock(FingerprintRepository::class.java)
-        val viewModel = FingerprintEnrollIntroViewModel(
-            application,
-            fingerprintRepository,
-            newAllFalseRequest(application),
-            TEST_USER_ID
-        )
-        Mockito.`when`(
-            fingerprintRepository.isDisabledByAdmin(application, TEST_USER_ID)
-        ).thenReturn(true)
-        assertThat(viewModel.isBiometricUnlockDisabledByAdmin).isEqualTo(true)
-        Mockito.`when`(
-            fingerprintRepository.isDisabledByAdmin(application, TEST_USER_ID)
-        ).thenReturn(false)
-        assertThat(viewModel.isBiometricUnlockDisabledByAdmin).isEqualTo(false)
-    }
-
-    @Test
-    fun testSetHasScrolledToBottom() = runTest {
-        val viewModel = newFingerprintEnrollIntroViewModel(
-            newFingerprintRepository(fingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-            newAllFalseRequest(application)
-        )
-
-        val pageStatusList = listOfPageStatusFlow(viewModel)
-
-        viewModel.setHasScrolledToBottom(true, backgroundScope)
-        runCurrent()
-
-        assertThat(pageStatusList[pageStatusList.size-1].hasScrollToBottom()).isEqualTo(true)
-    }
-
-    @Test
-    fun testOnNextButtonClick_enrollNext() = runTest {
-        // Set latest status to FINGERPRINT_ENROLLABLE_OK
-        setupFingerprintEnrolledFingerprints(fingerprintManager, TEST_USER_ID, 0)
-        setupSuwMaxFingerprintsEnrollable(application, resources, 1)
-        val viewModel = newFingerprintEnrollIntroViewModel(
-            newFingerprintRepository(fingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-            newIsSuwRequest(application)
-        )
-
-        val actions = listOfActionFlow(viewModel)
-
-        // Perform click on `next`
-        viewModel.onNextButtonClick(backgroundScope)
-        runCurrent()
-
-        assertThat(actions.size).isEqualTo(1)
-        assertThat(actions[0]).isEqualTo(CONTINUE_ENROLL)
-    }
-
-    @Test
-    fun testOnNextButtonClick_doneAndFinish() = runTest {
-        // Set latest status to FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX
-        setupFingerprintEnrolledFingerprints(fingerprintManager, TEST_USER_ID, 1)
-        setupSuwMaxFingerprintsEnrollable(application, resources, 1)
-        val viewModel = newFingerprintEnrollIntroViewModel(
-            newFingerprintRepository(fingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-            newIsSuwRequest(application)
-        )
-
-        val statusList = listOfPageStatusFlow(viewModel)
-        val actionList = listOfActionFlow(viewModel)
-
-        runCurrent()
-
-        assertThat(statusList.size).isEqualTo(1)
-        assertThat(statusList[0].enrollableStatus).isEqualTo(FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX)
-
-        val actions = listOfActionFlow(viewModel)
-
-        // Perform click on `next`
-        viewModel.onNextButtonClick(backgroundScope)
-        runCurrent()
-
-        assertThat(actionList.size).isEqualTo(1)
-        assertThat(actionList[0]).isEqualTo(DONE_AND_FINISH)
-    }
-
-    @Test
-    fun testOnSkipOrCancelButtonClick() = runTest {
-        val viewModel = newFingerprintEnrollIntroViewModel(
-            newFingerprintRepository(fingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-            newAllFalseRequest(application)
-        )
-
-        val actions = listOfActionFlow(viewModel)
-
-        viewModel.onSkipOrCancelButtonClick(backgroundScope)
-        runCurrent()
-
-        assertThat(actions.size).isEqualTo(1)
-        assertThat(actions[0]).isEqualTo(SKIP_OR_CANCEL)
-    }
-
-    private fun TestScope.listOfActionFlow(
-        viewModel: FingerprintEnrollIntroViewModel
-    ): List<FingerprintEnrollIntroAction> =
-        mutableListOf<FingerprintEnrollIntroAction>().also {
-            backgroundScope.launch(UnconfinedTestDispatcher(testScheduler)) {
-                viewModel.actionFlow.toList(it)
-            }
-        }
-
-    private fun TestScope.listOfPageStatusFlow(
-        viewModel: FingerprintEnrollIntroViewModel
-    ): List<FingerprintEnrollIntroStatus> =
-        mutableListOf<FingerprintEnrollIntroStatus>().also {
-            backgroundScope.launch(UnconfinedTestDispatcher(testScheduler)) {
-                viewModel.pageStatusFlow.toList(it)
-            }
-        }
-
-    companion object {
-        private const val TEST_USER_ID = 33
-    }
-}
diff --git a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollProgressViewModelTest.java b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollProgressViewModelTest.java
deleted file mode 100644
index 2c7afa6..0000000
--- a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollProgressViewModelTest.java
+++ /dev/null
@@ -1,421 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.biometrics2.ui.viewmodel;
-
-import static android.hardware.fingerprint.FingerprintManager.ENROLL_ENROLL;
-import static android.hardware.fingerprint.FingerprintManager.ENROLL_FIND_SENSOR;
-import static android.hardware.fingerprint.FingerprintManager.EnrollReason;
-import static android.hardware.fingerprint.FingerprintManager.EnrollmentCallback;
-
-import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.doAnswer;
-import static org.mockito.Mockito.eq;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.only;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.Application;
-import android.content.res.Resources;
-import android.os.CancellationSignal;
-import android.os.Handler;
-import android.os.Looper;
-import android.os.Message;
-
-import androidx.annotation.NonNull;
-import androidx.lifecycle.LiveData;
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.biometrics.fingerprint.FingerprintUpdater;
-import com.android.settings.biometrics.fingerprint.MessageDisplayController;
-import com.android.settings.biometrics2.ui.model.EnrollmentProgress;
-import com.android.settings.biometrics2.ui.model.EnrollmentStatusMessage;
-import com.android.settings.testutils.InstantTaskExecutorRule;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnit;
-import org.mockito.junit.MockitoRule;
-
-@RunWith(AndroidJUnit4.class)
-public class FingerprintEnrollProgressViewModelTest {
-
-    private static final int TEST_USER_ID = 334;
-
-    @Rule public final MockitoRule mockito = MockitoJUnit.rule();
-    @Rule public final InstantTaskExecutorRule mTaskExecutorRule = new InstantTaskExecutorRule();
-
-    @Mock private Application mApplication;
-    @Mock private Resources mResources;
-    @Mock private FingerprintUpdater mFingerprintUpdater;
-
-    private FingerprintEnrollProgressViewModel mViewModel;
-    private final TestWrapper<CancellationSignal> mCancellationSignalWrapper = new TestWrapper<>();
-    private final TestWrapper<EnrollmentCallback> mCallbackWrapper = new TestWrapper<>();
-    private int mEnrollmentMessageDisplayControllerFlagResId;
-
-    @Before
-    public void setUp() {
-        mEnrollmentMessageDisplayControllerFlagResId = ApplicationProvider.getApplicationContext()
-                .getResources().getIdentifier("enrollment_message_display_controller_flag", "bool",
-                        SETTINGS_PACKAGE_NAME);
-
-        when(mApplication.getResources()).thenReturn(mResources);
-
-        // Not use MessageDisplayController by default
-        when(mResources.getBoolean(mEnrollmentMessageDisplayControllerFlagResId)).thenReturn(false);
-        mViewModel = new FingerprintEnrollProgressViewModel(mApplication, mFingerprintUpdater,
-                TEST_USER_ID);
-
-        mCancellationSignalWrapper.mValue = null;
-        mCallbackWrapper.mValue = null;
-        doAnswer(invocation -> {
-            mCancellationSignalWrapper.mValue = invocation.getArgument(1);
-            mCallbackWrapper.mValue = invocation.getArgument(3);
-            return null;
-        }).when(mFingerprintUpdater).enroll(any(byte[].class), any(CancellationSignal.class),
-                eq(TEST_USER_ID), any(EnrollmentCallback.class), anyInt(), any());
-    }
-
-    @Test
-    public void testStartFindSensor() {
-        @EnrollReason final int enrollReason = ENROLL_FIND_SENSOR;
-        final byte[] token = new byte[] { 1, 2, 3 };
-        mViewModel.setToken(token);
-
-        // Start enrollment
-        final Object ret = mViewModel.startEnrollment(enrollReason);
-
-        assertThat(ret).isNotNull();
-        verify(mFingerprintUpdater, only()).enroll(eq(token), any(CancellationSignal.class),
-                eq(TEST_USER_ID), any(EnrollmentCallback.class), eq(enrollReason), any());
-        assertThat(mCallbackWrapper.mValue instanceof MessageDisplayController).isFalse();
-    }
-
-    @Test
-    public void testStartEnrolling() {
-        @EnrollReason final int enrollReason = ENROLL_ENROLL;
-        final byte[] token = new byte[] { 1, 2, 3 };
-        mViewModel.setToken(token);
-
-        // Start enrollment
-        final Object ret = mViewModel.startEnrollment(enrollReason);
-
-        assertThat(ret).isNotNull();
-        verify(mFingerprintUpdater, only()).enroll(eq(token), any(CancellationSignal.class),
-                eq(TEST_USER_ID), any(EnrollmentCallback.class), eq(enrollReason), any());
-        assertThat(mCallbackWrapper.mValue instanceof MessageDisplayController).isFalse();
-    }
-
-    @Test
-    public void testStartEnrollingWithMessageDisplayController() {
-        // Enable MessageDisplayController and mock handler for it
-        when(mResources.getBoolean(mEnrollmentMessageDisplayControllerFlagResId)).thenReturn(true);
-        when(mApplication.getMainThreadHandler()).thenReturn(new TestHandler());
-
-        @EnrollReason final int enrollReason = ENROLL_ENROLL;
-        final byte[] token = new byte[] { 1, 2, 3 };
-        mViewModel.setToken(token);
-
-        // Start enrollment
-        final Object ret = mViewModel.startEnrollment(enrollReason);
-
-        assertThat(ret).isNotNull();
-        verify(mFingerprintUpdater, only()).enroll(eq(token), any(CancellationSignal.class),
-                eq(TEST_USER_ID), any(MessageDisplayController.class), eq(enrollReason), any());
-        assertThat(mCallbackWrapper.mValue).isNotNull();
-
-        assertThat(mCallbackWrapper.mValue instanceof MessageDisplayController).isTrue();
-        final EnrollmentCallback callback1 = mCallbackWrapper.mValue;
-
-        // Cancel and start again
-        mViewModel.cancelEnrollment();
-        mViewModel.startEnrollment(enrollReason);
-
-        // Shall not use the same MessageDisplayController
-        verify(mFingerprintUpdater, times(2)).enroll(eq(token), any(CancellationSignal.class),
-                eq(TEST_USER_ID), any(MessageDisplayController.class), eq(enrollReason), any());
-        assertThat(mCallbackWrapper.mValue).isNotNull();
-        assertThat(callback1).isNotEqualTo(mCallbackWrapper.mValue);
-    }
-
-    @Test
-    public void testStartEnrollmentFailBecauseOfNoToken() {
-        // Start enrollment
-        final Object ret = mViewModel.startEnrollment(ENROLL_FIND_SENSOR);
-
-        assertThat(ret).isNull();
-        verify(mFingerprintUpdater, never()).enroll(any(byte[].class),
-                any(CancellationSignal.class), anyInt(), any(EnrollmentCallback.class), anyInt(),
-                any());
-    }
-
-    @Test
-    public void testCancelEnrollment() {
-        // Start enrollment
-        mViewModel.setToken(new byte[] { 1, 2, 3 });
-        final Object ret = mViewModel.startEnrollment(ENROLL_ENROLL);
-        assertThat(ret).isNotNull();
-        assertThat(mCancellationSignalWrapper.mValue).isNotNull();
-
-        // Cancel enrollment
-        mViewModel.cancelEnrollment();
-
-        assertThat(mCancellationSignalWrapper.mValue.isCanceled()).isTrue();
-    }
-
-    @Test
-    public void testProgressUpdate() {
-        // Start enrollment
-        mViewModel.setToken(new byte[] { 1, 2, 3 });
-        final Object ret = mViewModel.startEnrollment(ENROLL_ENROLL);
-        assertThat(ret).isNotNull();
-        assertThat(mCallbackWrapper.mValue).isNotNull();
-
-        // Test default value
-        final LiveData<EnrollmentProgress> progressLiveData = mViewModel.getProgressLiveData();
-        EnrollmentProgress progress = progressLiveData.getValue();
-        assertThat(progress).isNotNull();
-        assertThat(progress.getSteps()).isEqualTo(-1);
-        assertThat(progress.getRemaining()).isEqualTo(0);
-
-        // Update first progress
-        mCallbackWrapper.mValue.onEnrollmentProgress(25);
-        progress = progressLiveData.getValue();
-        assertThat(progress).isNotNull();
-        assertThat(progress.getSteps()).isEqualTo(25);
-        assertThat(progress.getRemaining()).isEqualTo(25);
-
-        // Update second progress
-        mCallbackWrapper.mValue.onEnrollmentProgress(20);
-        progress = progressLiveData.getValue();
-        assertThat(progress).isNotNull();
-        assertThat(progress.getSteps()).isEqualTo(25);
-        assertThat(progress.getRemaining()).isEqualTo(20);
-
-        // Update latest progress
-        mCallbackWrapper.mValue.onEnrollmentProgress(0);
-        progress = progressLiveData.getValue();
-        assertThat(progress).isNotNull();
-        assertThat(progress.getSteps()).isEqualTo(25);
-        assertThat(progress.getRemaining()).isEqualTo(0);
-    }
-
-    @Test
-    public void testProgressUpdateClearHelpMessage() {
-        // Start enrollment
-        mViewModel.setToken(new byte[] { 1, 2, 3 });
-        final Object ret = mViewModel.startEnrollment(ENROLL_ENROLL);
-        assertThat(ret).isNotNull();
-        assertThat(mCallbackWrapper.mValue).isNotNull();
-        final LiveData<EnrollmentProgress> progressLiveData = mViewModel.getProgressLiveData();
-        final LiveData<EnrollmentStatusMessage> helpMsgLiveData =
-                mViewModel.getHelpMessageLiveData();
-
-        // Update first progress
-        mCallbackWrapper.mValue.onEnrollmentProgress(25);
-        EnrollmentProgress progress = progressLiveData.getValue();
-        assertThat(progress).isNotNull();
-        assertThat(progress.getSteps()).isEqualTo(25);
-        assertThat(progress.getRemaining()).isEqualTo(25);
-
-        // Update help message
-        final int testHelpMsgId = 3;
-        final String testHelpString = "Test Help String";
-        mCallbackWrapper.mValue.onEnrollmentHelp(testHelpMsgId, testHelpString);
-        final EnrollmentStatusMessage helpMsg = helpMsgLiveData.getValue();
-        assertThat(helpMsg).isNotNull();
-        assertThat(helpMsg.getMsgId()).isEqualTo(testHelpMsgId);
-        assertThat(helpMsg.getStr().toString()).isEqualTo(testHelpString);
-
-        // Update second progress
-        mCallbackWrapper.mValue.onEnrollmentProgress(20);
-        progress = progressLiveData.getValue();
-        assertThat(progress).isNotNull();
-        assertThat(progress.getSteps()).isEqualTo(25);
-        assertThat(progress.getRemaining()).isEqualTo(20);
-
-        // Help message shall be set to null
-        assertThat(helpMsgLiveData.getValue()).isNull();
-    }
-
-    @Test
-    public void testProgressUpdateWithMessageDisplayController() {
-        // Enable MessageDisplayController and mock handler for it
-        when(mResources.getBoolean(mEnrollmentMessageDisplayControllerFlagResId)).thenReturn(true);
-        when(mApplication.getMainThreadHandler()).thenReturn(new TestHandler());
-
-        mViewModel.setToken(new byte[] { 1, 2, 3 });
-
-        // Start enrollment
-        final Object ret = mViewModel.startEnrollment(ENROLL_ENROLL);
-        assertThat(ret).isNotNull();
-        assertThat(mCallbackWrapper.mValue).isNotNull();
-
-        // Test default value
-        final LiveData<EnrollmentProgress> progressLiveData = mViewModel.getProgressLiveData();
-        EnrollmentProgress progress = progressLiveData.getValue();
-        assertThat(progress).isNotNull();
-        assertThat(progress.getSteps()).isEqualTo(-1);
-        assertThat(progress.getRemaining()).isEqualTo(0);
-
-        // Update first progress
-        mCallbackWrapper.mValue.onEnrollmentProgress(25);
-        progress = progressLiveData.getValue();
-        assertThat(progress).isNotNull();
-        assertThat(progress.getSteps()).isEqualTo(25);
-        assertThat(progress.getRemaining()).isEqualTo(25);
-
-        // Update second progress
-        mCallbackWrapper.mValue.onEnrollmentProgress(20);
-        progress = progressLiveData.getValue();
-        assertThat(progress).isNotNull();
-        assertThat(progress.getSteps()).isEqualTo(25);
-        assertThat(progress.getRemaining()).isEqualTo(20);
-
-        // Update latest progress
-        mCallbackWrapper.mValue.onEnrollmentProgress(0);
-        progress = progressLiveData.getValue();
-        assertThat(progress).isNotNull();
-        assertThat(progress.getSteps()).isEqualTo(25);
-        assertThat(progress.getRemaining()).isEqualTo(0);
-    }
-
-    @Test
-    public void testGetErrorMessageLiveData() {
-        // Start enrollment
-        mViewModel.setToken(new byte[] { 1, 2, 3 });
-        final Object ret = mViewModel.startEnrollment(ENROLL_ENROLL);
-        assertThat(ret).isNotNull();
-        assertThat(mCallbackWrapper.mValue).isNotNull();
-
-        // Check default value
-        final LiveData<EnrollmentStatusMessage> liveData = mViewModel.getErrorMessageLiveData();
-        assertThat(liveData.getValue()).isNull();
-
-        // Notify error message
-        final int errMsgId = 3;
-        final String errMsg = "test error message";
-        mCallbackWrapper.mValue.onEnrollmentError(errMsgId, errMsg);
-        final EnrollmentStatusMessage value = liveData.getValue();
-        assertThat(value).isNotNull();
-        assertThat(value.getMsgId()).isEqualTo(errMsgId);
-        assertThat(value.getStr().toString()).isEqualTo(errMsg);
-    }
-
-    @Test
-    public void testGetHelpMessageLiveData() {
-        // Start enrollment
-        mViewModel.setToken(new byte[] { 1, 2, 3 });
-        final Object ret = mViewModel.startEnrollment(ENROLL_ENROLL);
-        assertThat(ret).isNotNull();
-        assertThat(mCallbackWrapper.mValue).isNotNull();
-
-        // Check default value
-        final LiveData<EnrollmentStatusMessage> liveData = mViewModel.getHelpMessageLiveData();
-        assertThat(liveData.getValue()).isNull();
-
-        // Notify help message
-        final int errMsgId = 3;
-        final String errMsg = "test error message";
-        mCallbackWrapper.mValue.onEnrollmentHelp(errMsgId, errMsg);
-        final EnrollmentStatusMessage value = liveData.getValue();
-        assertThat(value).isNotNull();
-        assertThat(value.getMsgId()).isEqualTo(errMsgId);
-        assertThat(value.getStr().toString()).isEqualTo(errMsg);
-    }
-
-    @Test
-    public void testGetAcquireLiveData() {
-        // Start enrollment
-        mViewModel.setToken(new byte[] { 1, 2, 3 });
-        final Object ret = mViewModel.startEnrollment(ENROLL_ENROLL);
-        assertThat(ret).isNotNull();
-        assertThat(mCallbackWrapper.mValue).isNotNull();
-
-        // Check default value
-        final LiveData<Boolean> liveData = mViewModel.getAcquireLiveData();
-        assertThat(liveData.getValue()).isNull();
-
-        // Notify acquire message
-        mCallbackWrapper.mValue.onAcquired(true);
-        assertThat(liveData.getValue()).isTrue();
-    }
-
-    @Test
-    public void testGetPointerDownLiveData() {
-        // Start enrollment
-        mViewModel.setToken(new byte[] { 1, 2, 3 });
-        final Object ret = mViewModel.startEnrollment(ENROLL_ENROLL);
-        assertThat(ret).isNotNull();
-        assertThat(mCallbackWrapper.mValue).isNotNull();
-
-        // Check default value
-        final LiveData<Integer> liveData = mViewModel.getPointerDownLiveData();
-        assertThat(liveData.getValue()).isNull();
-
-        // Notify acquire message
-        final int value = 33;
-        mCallbackWrapper.mValue.onUdfpsPointerDown(value);
-        assertThat(liveData.getValue()).isEqualTo(value);
-    }
-
-    @Test
-    public void testGetPointerUpLiveData() {
-        // Start enrollment
-        mViewModel.setToken(new byte[] { 1, 2, 3 });
-        final Object ret = mViewModel.startEnrollment(ENROLL_ENROLL);
-        assertThat(ret).isNotNull();
-        assertThat(mCallbackWrapper.mValue).isNotNull();
-
-        // Check default value
-        final LiveData<Integer> liveData = mViewModel.getPointerUpLiveData();
-        assertThat(liveData.getValue()).isNull();
-
-        // Notify acquire message
-        final int value = 44;
-        mCallbackWrapper.mValue.onUdfpsPointerUp(value);
-        assertThat(liveData.getValue()).isEqualTo(value);
-    }
-
-    private static class TestWrapper<T> {
-        T mValue;
-    }
-
-    private static class TestHandler extends Handler {
-
-        TestHandler() {
-            super(Looper.getMainLooper());
-        }
-
-        @Override
-        public boolean sendMessageAtTime(@NonNull Message msg, long uptimeMillis) {
-            msg.getCallback().run();
-            return true;
-        }
-    }
-}
diff --git a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollmentViewModelTest.kt b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollmentViewModelTest.kt
deleted file mode 100644
index 6d04f35..0000000
--- a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollmentViewModelTest.kt
+++ /dev/null
@@ -1,322 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.ui.viewmodel
-
-import android.app.Application
-import android.content.Intent
-import android.hardware.fingerprint.FingerprintManager
-import android.hardware.fingerprint.FingerprintSensorProperties
-import android.os.Bundle
-import androidx.activity.result.ActivityResult
-import androidx.test.core.app.ApplicationProvider
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import com.android.settings.biometrics.BiometricEnrollBase
-import com.android.settings.biometrics2.data.repository.FingerprintRepository
-import com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newAllFalseRequest
-import com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newIsSuwRequest
-import com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.newFingerprintRepository
-import com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.setupFingerprintEnrolledFingerprints
-import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.flow.toList
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.test.TestScope
-import kotlinx.coroutines.test.UnconfinedTestDispatcher
-import kotlinx.coroutines.test.runCurrent
-import kotlinx.coroutines.test.runTest
-import org.junit.Before
-import org.junit.Rule
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.mockito.Mock
-import org.mockito.junit.MockitoJUnit
-import org.mockito.junit.MockitoRule
-
-@RunWith(AndroidJUnit4::class)
-class FingerprintEnrollmentViewModelTest {
-
-    @get:Rule val mockito: MockitoRule = MockitoJUnit.rule()
-
-    private val application: Application
-        get() = ApplicationProvider.getApplicationContext()
-
-    @Mock
-    private lateinit var fingerprintManager: FingerprintManager
-
-    private lateinit var fingerprintRepository: FingerprintRepository
-    private lateinit var viewModel: FingerprintEnrollmentViewModel
-
-    @Before
-    fun setUp() {
-        fingerprintRepository = newFingerprintRepository(
-            fingerprintManager,
-            FingerprintSensorProperties.TYPE_UDFPS_OPTICAL,
-            5
-        )
-        viewModel = FingerprintEnrollmentViewModel(
-            application,
-            fingerprintRepository,
-            newAllFalseRequest(application)
-        )
-    }
-
-    @Test
-    fun testGetRequest() {
-        assertThat(viewModel.request).isNotNull()
-    }
-
-    @Test
-    fun testIsWaitingActivityResultDefaultFalse() {
-        assertThat(viewModel.isWaitingActivityResult.value).isFalse()
-    }
-
-
-    @Test
-    fun testOverrideActivityResult_shallKeepNullIntent_woChallengeExtra() {
-        val retResult = viewModel.getOverrideActivityResult(
-            ActivityResult(22, null), null
-        )
-        assertThat(retResult).isNotNull()
-        assertThat(retResult.data).isNull()
-    }
-
-    @Test
-    fun testOverrideActivityResult_shallKeepNullIntent_noIntent_woChallengeExtra() {
-        val intent = Intent()
-        val retResult = viewModel.getOverrideActivityResult(
-            ActivityResult(33, intent), null
-        )
-        assertThat(retResult).isNotNull()
-        assertThat(retResult.data).isEqualTo(intent)
-    }
-
-    @Test
-    fun testOverrideActivityResult_shallKeepNull_woAdded_woIntent_withChallenge() {
-        val extra = Bundle()
-        extra.putString("test1", "test123")
-
-        val retResult = viewModel.getOverrideActivityResult(
-            ActivityResult(33, null), extra
-        )
-
-        assertThat(retResult).isNotNull()
-        assertThat(retResult.data).isNull()
-    }
-
-    @Test
-    fun testOverrideActivityResult_shallCreateNew_woIntent_withChallenge() {
-        val key1 = "test1"
-        val key2 = "test2"
-        val extra = Bundle().apply {
-            putString(key1, "test123")
-            putInt(key2, 9999)
-        }
-
-        viewModel.isNewFingerprintAdded = true
-
-        val retResult = viewModel.getOverrideActivityResult(
-            ActivityResult(33, null), extra
-        )
-        assertThat(retResult).isNotNull()
-
-        val retIntent = retResult.data
-        assertThat(retIntent).isNotNull()
-
-        val retExtra = retIntent!!.extras
-        assertThat(retExtra).isNotNull()
-        assertThat(retExtra!!.size).isEqualTo(extra.size)
-        assertThat(retExtra.getString(key1)).isEqualTo(extra.getString(key1))
-        assertThat(retExtra.getInt(key2)).isEqualTo(extra.getInt(key2))
-    }
-
-    @Test
-    fun testOverrideActivityResult_shallNotMerge_nonAdded_woIntent_withChallenge() {
-        val extra = Bundle().apply {
-            putString("test2", "test123")
-        }
-
-        val key2 = "test2"
-        val intent = Intent().apply {
-            putExtra(key2, 3456L)
-        }
-
-        val retResult = viewModel.getOverrideActivityResult(ActivityResult(33, intent), extra)
-
-        assertThat(retResult).isNotNull()
-
-        val retIntent = retResult.data
-        assertThat(retIntent).isNotNull()
-
-        val retExtra = retIntent!!.extras
-        assertThat(retExtra).isNotNull()
-        assertThat(retExtra!!.size).isEqualTo(intent.extras!!.size)
-        assertThat(retExtra.getString(key2)).isEqualTo(intent.extras!!.getString(key2))
-    }
-
-    @Test
-    fun testOverrideActivityResult_shallMerge_added_woIntent_withChallenge() {
-        val key1 = "test1"
-        val key2 = "test2"
-        val extra = Bundle().apply {
-            putString(key1, "test123")
-            putInt(key2, 9999)
-        }
-
-        val key3 = "test3"
-        val intent = Intent().apply {
-            putExtra(key3, 3456L)
-        }
-
-        viewModel.isNewFingerprintAdded = true
-
-        val retResult = viewModel.getOverrideActivityResult(ActivityResult(33, intent), extra)
-        assertThat(retResult).isNotNull()
-
-        val retIntent = retResult.data
-        assertThat(retIntent).isNotNull()
-
-        val retExtra = retIntent!!.extras
-        assertThat(retExtra).isNotNull()
-        assertThat(retExtra!!.size).isEqualTo(extra.size + intent.extras!!.size)
-        assertThat(retExtra.getString(key1)).isEqualTo(extra.getString(key1))
-        assertThat(retExtra.getInt(key2)).isEqualTo(extra.getInt(key2))
-        assertThat(retExtra.getLong(key3)).isEqualTo(intent.extras!!.getLong(key3))
-    }
-
-    @Test
-    fun testIsMaxEnrolledReached() {
-        val uid = 100
-        fingerprintRepository = newFingerprintRepository(
-            fingerprintManager,
-            FingerprintSensorProperties.TYPE_UDFPS_OPTICAL,
-            3
-        )
-        viewModel = FingerprintEnrollmentViewModel(
-            application,
-            fingerprintRepository,
-            newAllFalseRequest(application)
-        )
-
-        setupFingerprintEnrolledFingerprints(fingerprintManager, uid, 0)
-        assertThat(viewModel.isMaxEnrolledReached(uid)).isFalse()
-
-        setupFingerprintEnrolledFingerprints(fingerprintManager, uid, 1)
-        assertThat(viewModel.isMaxEnrolledReached(uid)).isFalse()
-
-        setupFingerprintEnrolledFingerprints(fingerprintManager, uid, 2)
-        assertThat(viewModel.isMaxEnrolledReached(uid)).isFalse()
-
-        setupFingerprintEnrolledFingerprints(fingerprintManager, uid, 3)
-        assertThat(viewModel.isMaxEnrolledReached(uid)).isTrue()
-
-        setupFingerprintEnrolledFingerprints(fingerprintManager, uid, 4)
-        assertThat(viewModel.isMaxEnrolledReached(uid)).isTrue()
-    }
-
-    @Test
-    fun testSetResultFlow_defaultEmpty() = runTest {
-        val activityResults = listOfSetResultFlow()
-
-        runCurrent()
-
-        assertThat(activityResults.size).isEqualTo(0)
-    }
-
-    @Test
-    fun testCheckFinishActivityDuringOnPause_doNothingIfIsSuw() = runTest {
-        viewModel = FingerprintEnrollmentViewModel(
-            application,
-            fingerprintRepository,
-            newIsSuwRequest(application)
-        )
-
-        val activityResults = listOfSetResultFlow()
-
-        viewModel.checkFinishActivityDuringOnPause(
-            isActivityFinishing = false,
-            isChangingConfigurations = false,
-            scope = this
-        )
-        runCurrent()
-
-        assertThat(activityResults.size).isEqualTo(0)
-    }
-
-    @Test
-    fun testCheckFinishActivityDuringOnPause_doNothingIfIsWaitingActivity() = runTest {
-        val activityResults = listOfSetResultFlow()
-
-        viewModel.isWaitingActivityResult.value = true
-        viewModel.checkFinishActivityDuringOnPause(
-            isActivityFinishing = false,
-            isChangingConfigurations = false,
-            scope = this
-        )
-        runCurrent()
-
-        assertThat(activityResults.size).isEqualTo(0)
-    }
-
-    @Test
-    fun testCheckFinishActivityDuringOnPause_doNothingIfIsActivityFinishing() = runTest {
-        val activityResults = listOfSetResultFlow()
-
-        viewModel.checkFinishActivityDuringOnPause(
-            isActivityFinishing = true,
-            isChangingConfigurations = false,
-            scope = this
-        )
-        runCurrent()
-
-        assertThat(activityResults.size).isEqualTo(0)
-    }
-
-    @Test
-    fun testCheckFinishActivityDuringOnPause_doNothingIfIsChangingConfigurations() = runTest {
-        val activityResults = listOfSetResultFlow()
-
-        viewModel.checkFinishActivityDuringOnPause(
-            isActivityFinishing = false,
-            isChangingConfigurations = true,
-            scope = this
-        )
-        runCurrent()
-
-        assertThat(activityResults.size).isEqualTo(0)
-    }
-
-    @Test
-    fun testCheckFinishActivityDuringOnPause_defaultFinishSelf() = runTest {
-        val activityResults = listOfSetResultFlow()
-
-        viewModel.checkFinishActivityDuringOnPause(
-            isActivityFinishing = false,
-            isChangingConfigurations = false,
-            scope = backgroundScope
-        )
-        runCurrent()
-
-        assertThat(activityResults.size).isEqualTo(1)
-        assertThat(activityResults[0].resultCode).isEqualTo(BiometricEnrollBase.RESULT_TIMEOUT)
-        assertThat(activityResults[0].data).isEqualTo(null)
-    }
-
-    private fun TestScope.listOfSetResultFlow(): List<ActivityResult> =
-        mutableListOf<ActivityResult>().also {
-            backgroundScope.launch(UnconfinedTestDispatcher(testScheduler)) {
-                viewModel.setResultFlow.toList(it)
-            }
-        }
-}
diff --git a/tests/unit/src/com/android/settings/biometrics2/utils/EnrollmentRequestUtils.kt b/tests/unit/src/com/android/settings/biometrics2/utils/EnrollmentRequestUtils.kt
deleted file mode 100644
index 755f6d0..0000000
--- a/tests/unit/src/com/android/settings/biometrics2/utils/EnrollmentRequestUtils.kt
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics2.utils
-
-import android.content.Context
-import android.content.Intent
-import android.text.TextUtils
-import com.android.settings.biometrics.BiometricEnrollBase
-import com.android.settings.biometrics2.ui.model.EnrollmentRequest
-import com.google.android.setupcompat.util.WizardManagerHelper
-
-object EnrollmentRequestUtils {
-    @JvmStatic
-    fun newAllFalseRequest(context: Context): EnrollmentRequest {
-        return newRequest(
-            context = context,
-            isSuw = false,
-            isSuwDeferred = false,
-            isSuwPortal = false,
-            isSuwSuggestedActionFlow = false,
-            isSuwFirstRun = false,
-            isFromSettingsSummery = false)
-    }
-
-    @JvmStatic
-    fun newIsSuwRequest(context: Context): EnrollmentRequest {
-        return newRequest(
-            context = context,
-            isSuw = true,
-            isSuwDeferred = false,
-            isSuwPortal = false,
-            isSuwSuggestedActionFlow = false,
-            isSuwFirstRun = false,
-            isFromSettingsSummery = false)
-    }
-
-    @JvmStatic
-    fun newIsSuwDeferredRequest(context: Context): EnrollmentRequest {
-        return newRequest(
-            context = context,
-            isSuw = true,
-            isSuwDeferred = true,
-            isSuwPortal = false,
-            isSuwSuggestedActionFlow = false,
-            isSuwFirstRun = false,
-            isFromSettingsSummery = false, null)
-    }
-
-    @JvmStatic
-    fun newIsSuwPortalRequest(context: Context): EnrollmentRequest {
-        return newRequest(
-            context = context,
-            isSuw = true,
-            isSuwDeferred = false,
-            isSuwPortal = true,
-            isSuwSuggestedActionFlow = false,
-            isSuwFirstRun = false,
-            isFromSettingsSummery = false)
-    }
-
-    @JvmStatic
-    fun newIsSuwSuggestedActionFlowRequest(
-        context: Context
-    ): EnrollmentRequest {
-        return newRequest(
-            context = context,
-            isSuw = true,
-            isSuwDeferred = false,
-            isSuwPortal = false,
-            isSuwSuggestedActionFlow = true,
-            isSuwFirstRun = false,
-            isFromSettingsSummery = false)
-    }
-
-    fun newRequest(
-        context: Context,
-        isSuw: Boolean,
-        isSuwDeferred: Boolean,
-        isSuwPortal: Boolean,
-        isSuwSuggestedActionFlow: Boolean,
-        isSuwFirstRun: Boolean,
-        isFromSettingsSummery: Boolean,
-        theme: String? = null
-    ): EnrollmentRequest {
-        val i = Intent()
-        i.putExtra(WizardManagerHelper.EXTRA_IS_SETUP_FLOW, isSuw)
-        i.putExtra(WizardManagerHelper.EXTRA_IS_DEFERRED_SETUP, isSuwDeferred)
-        i.putExtra(WizardManagerHelper.EXTRA_IS_PORTAL_SETUP, isSuwPortal)
-        i.putExtra(WizardManagerHelper.EXTRA_IS_SUW_SUGGESTED_ACTION_FLOW, isSuwSuggestedActionFlow)
-        i.putExtra(WizardManagerHelper.EXTRA_IS_FIRST_RUN, isSuwFirstRun)
-        i.putExtra(BiometricEnrollBase.EXTRA_FROM_SETTINGS_SUMMARY, isFromSettingsSummery)
-        if (!TextUtils.isEmpty(theme)) {
-            i.putExtra(WizardManagerHelper.EXTRA_THEME, theme)
-        }
-        return EnrollmentRequest(i, context, true)
-    }
-}
diff --git a/tests/unit/src/com/android/settings/biometrics2/utils/FingerprintRepositoryUtils.java b/tests/unit/src/com/android/settings/biometrics2/utils/FingerprintRepositoryUtils.java
deleted file mode 100644
index fcf926e..0000000
--- a/tests/unit/src/com/android/settings/biometrics2/utils/FingerprintRepositoryUtils.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.biometrics2.utils;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.doAnswer;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.hardware.biometrics.SensorProperties;
-import android.hardware.fingerprint.Fingerprint;
-import android.hardware.fingerprint.FingerprintManager;
-import android.hardware.fingerprint.FingerprintSensorProperties;
-import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
-import android.hardware.fingerprint.IFingerprintAuthenticatorsRegisteredCallback;
-
-import androidx.annotation.NonNull;
-
-import com.android.settings.biometrics2.data.repository.FingerprintRepository;
-
-import java.util.ArrayList;
-
-public class FingerprintRepositoryUtils {
-
-    public static void setupSuwMaxFingerprintsEnrollable(
-            @NonNull Context context,
-            @NonNull Resources mockedResources,
-            int numOfFp) {
-        final int resId = context.getResources().getIdentifier("suw_max_fingerprints_enrollable",
-                "integer", context.getPackageName());
-        when(mockedResources.getInteger(resId)).thenReturn(numOfFp);
-    }
-
-    public static FingerprintRepository newFingerprintRepository(
-            @NonNull FingerprintManager mockedFingerprintManager,
-            @FingerprintSensorProperties.SensorType int sensorType,
-            int maxEnrollmentsPerUser) {
-
-        final ArrayList<FingerprintSensorPropertiesInternal> props = new ArrayList<>();
-        props.add(new FingerprintSensorPropertiesInternal(
-                0 /* sensorId */,
-                SensorProperties.STRENGTH_STRONG,
-                maxEnrollmentsPerUser,
-                new ArrayList<>() /* componentInfo */,
-                sensorType,
-                true /* resetLockoutRequiresHardwareAuthToken */));
-        doAnswer(invocation -> {
-            final IFingerprintAuthenticatorsRegisteredCallback callback =
-                    invocation.getArgument(0);
-            callback.onAllAuthenticatorsRegistered(props);
-            return null;
-        }).when(mockedFingerprintManager).addAuthenticatorsRegisteredCallback(any());
-        return new FingerprintRepository(mockedFingerprintManager);
-    }
-
-    public static void setupFingerprintEnrolledFingerprints(
-            @NonNull FingerprintManager mockedFingerprintManager,
-            int userId,
-            int enrolledFingerprints) {
-        final ArrayList<Fingerprint> ret = new ArrayList<>();
-        for (int i = 0; i < enrolledFingerprints; ++i) {
-            ret.add(new Fingerprint("name", 0, 0, 0L));
-        }
-        when(mockedFingerprintManager.getEnrolledFingerprints(userId)).thenReturn(ret);
-    }
-}
diff --git a/tests/unit/src/com/android/settings/connecteddevice/display/ExternalDisplayPreferenceFragmentTest.java b/tests/unit/src/com/android/settings/connecteddevice/display/ExternalDisplayPreferenceFragmentTest.java
new file mode 100644
index 0000000..019ade7
--- /dev/null
+++ b/tests/unit/src/com/android/settings/connecteddevice/display/ExternalDisplayPreferenceFragmentTest.java
@@ -0,0 +1,409 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.display;
+
+
+import static android.view.Display.INVALID_DISPLAY;
+
+import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.PREVIOUSLY_SHOWN_LIST_KEY;
+import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.DISPLAYS_LIST_PREFERENCE_KEY;
+import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_CHANGE_RESOLUTION_FOOTER_RESOURCE;
+import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_NOT_FOUND_FOOTER_RESOURCE;
+import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_RESOLUTION_PREFERENCE_KEY;
+import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_RESOLUTION_TITLE_RESOURCE;
+import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_ROTATION_KEY;
+import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_ROTATION_TITLE_RESOURCE;
+import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_SETTINGS_RESOURCE;
+import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_USE_PREFERENCE_KEY;
+import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_USE_TITLE_RESOURCE;
+import static com.android.settingslib.widget.FooterPreference.KEY_FOOTER;
+
+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;
+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 android.app.Activity;
+import android.content.Context;
+import android.os.Bundle;
+import android.view.Display;
+import android.view.View;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+import androidx.test.annotation.UiThreadTest;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.DisplayPreference;
+import com.android.settingslib.widget.FooterPreference;
+import com.android.settingslib.widget.MainSwitchPreference;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+
+/** Unit tests for {@link ExternalDisplayPreferenceFragment}.  */
+@RunWith(AndroidJUnit4.class)
+public class ExternalDisplayPreferenceFragmentTest extends ExternalDisplayTestBase {
+    @Nullable
+    private ExternalDisplayPreferenceFragment mFragment;
+    private int mPreferenceIdFromResource;
+    private int mDisplayIdArg = INVALID_DISPLAY;
+    private int mResolutionSelectorDisplayId = INVALID_DISPLAY;
+    @Mock
+    private MetricsLogger mMockedMetricsLogger;
+
+    @Test
+    @UiThreadTest
+    public void testCreateAndStart() {
+        initFragment();
+        assertThat(mPreferenceIdFromResource).isEqualTo(EXTERNAL_DISPLAY_SETTINGS_RESOURCE);
+    }
+
+    @Test
+    @UiThreadTest
+    public void testShowDisplayList() {
+        var fragment = initFragment();
+        var outState = new Bundle();
+        fragment.onSaveInstanceStateCallback(outState);
+        assertThat(outState.getBoolean(PREVIOUSLY_SHOWN_LIST_KEY)).isFalse();
+        assertThat(mHandler.getPendingMessages().size()).isEqualTo(1);
+        PreferenceCategory pref = mPreferenceScreen.findPreference(DISPLAYS_LIST_PREFERENCE_KEY);
+        assertThat(pref).isNull();
+        verify(mMockedInjector, never()).getAllDisplays();
+        mHandler.flush();
+        assertThat(mHandler.getPendingMessages().size()).isEqualTo(0);
+        verify(mMockedInjector).getAllDisplays();
+        pref = mPreferenceScreen.findPreference(DISPLAYS_LIST_PREFERENCE_KEY);
+        assertThat(pref).isNotNull();
+        assertThat(pref.getPreferenceCount()).isEqualTo(2);
+        fragment.onSaveInstanceStateCallback(outState);
+        assertThat(outState.getBoolean(PREVIOUSLY_SHOWN_LIST_KEY)).isTrue();
+    }
+
+    @Test
+    @UiThreadTest
+    public void testLaunchDisplaySettingFromList() {
+        initFragment();
+        mHandler.flush();
+        PreferenceCategory pref = mPreferenceScreen.findPreference(DISPLAYS_LIST_PREFERENCE_KEY);
+        assertThat(pref).isNotNull();
+        DisplayPreference display1Pref = (DisplayPreference) pref.getPreference(0);
+        DisplayPreference display2Pref = (DisplayPreference) pref.getPreference(1);
+        assertThat(display1Pref.getKey()).isEqualTo("display_id_" + 1);
+        assertThat("" + display1Pref.getTitle()).isEqualTo("HDMI");
+        assertThat("" + display1Pref.getSummary()).isEqualTo("1920 x 1080");
+        display1Pref.onPreferenceClick(display1Pref);
+        assertThat(mDisplayIdArg).isEqualTo(1);
+        verify(mMockedMetricsLogger).writePreferenceClickMetric(display1Pref);
+        assertThat(display2Pref.getKey()).isEqualTo("display_id_" + 2);
+        assertThat("" + display2Pref.getTitle()).isEqualTo("Overlay #1");
+        assertThat("" + display2Pref.getSummary()).isEqualTo("1240 x 780");
+        display2Pref.onPreferenceClick(display2Pref);
+        assertThat(mDisplayIdArg).isEqualTo(2);
+        verify(mMockedMetricsLogger).writePreferenceClickMetric(display2Pref);
+    }
+
+    @Test
+    @UiThreadTest
+    public void testShowDisplayListForOnlyOneDisplay_PreviouslyShownList() {
+        var fragment = initFragment();
+        // Previously shown list of displays
+        fragment.onActivityCreatedCallback(createBundleForPreviouslyShownList());
+        // Only one display available
+        doReturn(new Display[] {mDisplays[1]}).when(mMockedInjector).getAllDisplays();
+        mHandler.flush();
+        PreferenceCategory pref = mPreferenceScreen.findPreference(DISPLAYS_LIST_PREFERENCE_KEY);
+        assertThat(pref).isNotNull();
+        assertThat(pref.getPreferenceCount()).isEqualTo(1);
+    }
+
+    @Test
+    @UiThreadTest
+    public void testShowEnabledDisplay_OnlyOneDisplayAvailable() {
+        doReturn(true).when(mMockedInjector).isDisplayEnabled(any());
+        // Only one display available
+        doReturn(new Display[] {mDisplays[1]}).when(mMockedInjector).getAllDisplays();
+        // Init
+        initFragment();
+        mHandler.flush();
+        PreferenceCategory list = mPreferenceScreen.findPreference(DISPLAYS_LIST_PREFERENCE_KEY);
+        assertThat(list).isNull();
+        var pref = mPreferenceScreen.findPreference(EXTERNAL_DISPLAY_RESOLUTION_PREFERENCE_KEY);
+        assertThat(pref).isNotNull();
+        pref = mPreferenceScreen.findPreference(EXTERNAL_DISPLAY_ROTATION_KEY);
+        assertThat(pref).isNotNull();
+        var footerPref = (FooterPreference) mPreferenceScreen.findPreference(KEY_FOOTER);
+        assertThat(footerPref).isNotNull();
+        verify(footerPref).setTitle(EXTERNAL_DISPLAY_CHANGE_RESOLUTION_FOOTER_RESOURCE);
+    }
+
+    @Test
+    @UiThreadTest
+    public void testShowOneEnabledDisplay_FewAvailable() {
+        mDisplayIdArg = 1;
+        doReturn(true).when(mMockedInjector).isDisplayEnabled(any());
+        initFragment();
+        verify(mMockedInjector, never()).getDisplay(anyInt());
+        mHandler.flush();
+        verify(mMockedInjector).getDisplay(mDisplayIdArg);
+        var pref = mPreferenceScreen.findPreference(EXTERNAL_DISPLAY_RESOLUTION_PREFERENCE_KEY);
+        assertThat(pref).isNotNull();
+        pref = mPreferenceScreen.findPreference(EXTERNAL_DISPLAY_ROTATION_KEY);
+        assertThat(pref).isNotNull();
+        var footerPref = (FooterPreference) mPreferenceScreen.findPreference(KEY_FOOTER);
+        assertThat(footerPref).isNotNull();
+        verify(footerPref).setTitle(EXTERNAL_DISPLAY_CHANGE_RESOLUTION_FOOTER_RESOURCE);
+    }
+
+    @Test
+    @UiThreadTest
+    public void testShowDisabledDisplay() {
+        mDisplayIdArg = 1;
+        initFragment();
+        verify(mMockedInjector, never()).getDisplay(anyInt());
+        mHandler.flush();
+        verify(mMockedInjector).getDisplay(mDisplayIdArg);
+        var mainPref = (MainSwitchPreference) mPreferenceScreen.findPreference(
+                EXTERNAL_DISPLAY_USE_PREFERENCE_KEY);
+        assertThat(mainPref).isNotNull();
+        assertThat("" + mainPref.getTitle()).isEqualTo(
+                getText(EXTERNAL_DISPLAY_USE_TITLE_RESOURCE));
+        assertThat(mainPref.isChecked()).isFalse();
+        assertThat(mainPref.isEnabled()).isTrue();
+        assertThat(mainPref.getOnPreferenceChangeListener()).isNotNull();
+        var pref = mPreferenceScreen.findPreference(EXTERNAL_DISPLAY_RESOLUTION_PREFERENCE_KEY);
+        assertThat(pref).isNull();
+        pref = mPreferenceScreen.findPreference(EXTERNAL_DISPLAY_ROTATION_KEY);
+        assertThat(pref).isNull();
+        var footerPref = (FooterPreference) mPreferenceScreen.findPreference(KEY_FOOTER);
+        assertThat(footerPref).isNull();
+    }
+
+    @Test
+    @UiThreadTest
+    public void testNoDisplays() {
+        doReturn(new Display[0]).when(mMockedInjector).getAllDisplays();
+        initFragment();
+        mHandler.flush();
+        var mainPref = (MainSwitchPreference) mPreferenceScreen.findPreference(
+                EXTERNAL_DISPLAY_USE_PREFERENCE_KEY);
+        assertThat(mainPref).isNotNull();
+        assertThat("" + mainPref.getTitle()).isEqualTo(
+                getText(EXTERNAL_DISPLAY_USE_TITLE_RESOURCE));
+        assertThat(mainPref.isChecked()).isFalse();
+        assertThat(mainPref.isEnabled()).isFalse();
+        assertThat(mainPref.getOnPreferenceChangeListener()).isNull();
+        var footerPref = (FooterPreference) mPreferenceScreen.findPreference(KEY_FOOTER);
+        assertThat(footerPref).isNotNull();
+        verify(footerPref).setTitle(EXTERNAL_DISPLAY_NOT_FOUND_FOOTER_RESOURCE);
+    }
+
+    @Test
+    @UiThreadTest
+    public void testDisplayRotationPreference() {
+        mDisplayIdArg = 1;
+        doReturn(true).when(mMockedInjector).isDisplayEnabled(any());
+        var fragment = initFragment();
+        mHandler.flush();
+        var pref = fragment.getRotationPreference(mContext);
+        assertThat(pref.getKey()).isEqualTo(EXTERNAL_DISPLAY_ROTATION_KEY);
+        assertThat("" + pref.getTitle()).isEqualTo(
+                getText(EXTERNAL_DISPLAY_ROTATION_TITLE_RESOURCE));
+        assertThat(pref.getEntries().length).isEqualTo(4);
+        assertThat(pref.getEntryValues().length).isEqualTo(4);
+        assertThat(pref.getEntryValues()[0].toString()).isEqualTo("0");
+        assertThat(pref.getEntryValues()[1].toString()).isEqualTo("1");
+        assertThat(pref.getEntryValues()[2].toString()).isEqualTo("2");
+        assertThat(pref.getEntryValues()[3].toString()).isEqualTo("3");
+        assertThat(pref.getEntries()[0].length()).isGreaterThan(0);
+        assertThat(pref.getEntries()[1].length()).isGreaterThan(0);
+        assertThat("" + pref.getSummary()).isEqualTo(pref.getEntries()[0].toString());
+        assertThat(pref.getValue()).isEqualTo("0");
+        assertThat(pref.getOnPreferenceChangeListener()).isNotNull();
+        assertThat(pref.isEnabled()).isTrue();
+        var rotation = 1;
+        doReturn(true).when(mMockedInjector).freezeDisplayRotation(mDisplayIdArg, rotation);
+        assertThat(pref.getOnPreferenceChangeListener().onPreferenceChange(pref, rotation + ""))
+                .isTrue();
+        verify(mMockedInjector).freezeDisplayRotation(mDisplayIdArg, rotation);
+        assertThat(pref.getValue()).isEqualTo(rotation + "");
+        verify(mMockedMetricsLogger).writePreferenceClickMetric(pref);
+    }
+
+    @Test
+    @UiThreadTest
+    public void testDisplayResolutionPreference() {
+        mDisplayIdArg = 1;
+        doReturn(true).when(mMockedInjector).isDisplayEnabled(any());
+        var fragment = initFragment();
+        mHandler.flush();
+        var pref = fragment.getResolutionPreference(mContext);
+        assertThat(pref.getKey()).isEqualTo(EXTERNAL_DISPLAY_RESOLUTION_PREFERENCE_KEY);
+        assertThat("" + pref.getTitle()).isEqualTo(
+                getText(EXTERNAL_DISPLAY_RESOLUTION_TITLE_RESOURCE));
+        assertThat("" + pref.getSummary()).isEqualTo("1920 x 1080");
+        assertThat(pref.isEnabled()).isTrue();
+        assertThat(pref.getOnPreferenceClickListener()).isNotNull();
+        assertThat(pref.getOnPreferenceClickListener().onPreferenceClick(pref)).isTrue();
+        assertThat(mResolutionSelectorDisplayId).isEqualTo(mDisplayIdArg);
+        verify(mMockedMetricsLogger).writePreferenceClickMetric(pref);
+    }
+
+    @Test
+    @UiThreadTest
+    public void testUseDisplayPreference_EnabledDisplay() {
+        mDisplayIdArg = 1;
+        doReturn(true).when(mMockedInjector).isDisplayEnabled(any());
+        doReturn(true).when(mMockedInjector).enableConnectedDisplay(mDisplayIdArg);
+        doReturn(true).when(mMockedInjector).disableConnectedDisplay(mDisplayIdArg);
+        var fragment = initFragment();
+        mHandler.flush();
+        var pref = fragment.getUseDisplayPreference(mContext);
+        assertThat(pref.getKey()).isEqualTo(EXTERNAL_DISPLAY_USE_PREFERENCE_KEY);
+        assertThat("" + pref.getTitle()).isEqualTo(getText(EXTERNAL_DISPLAY_USE_TITLE_RESOURCE));
+        assertThat(pref.isEnabled()).isTrue();
+        assertThat(pref.isChecked()).isTrue();
+        assertThat(pref.getOnPreferenceChangeListener()).isNotNull();
+        assertThat(pref.getOnPreferenceChangeListener().onPreferenceChange(pref, false)).isTrue();
+        verify(mMockedInjector).disableConnectedDisplay(mDisplayIdArg);
+        assertThat(pref.isChecked()).isFalse();
+        assertThat(pref.getOnPreferenceChangeListener().onPreferenceChange(pref, true)).isTrue();
+        verify(mMockedInjector).enableConnectedDisplay(mDisplayIdArg);
+        assertThat(pref.isChecked()).isTrue();
+        verify(mMockedMetricsLogger, times(2)).writePreferenceClickMetric(pref);
+    }
+
+    @NonNull
+    private ExternalDisplayPreferenceFragment initFragment() {
+        if (mFragment != null) {
+            return mFragment;
+        }
+        mFragment = new TestableExternalDisplayPreferenceFragment();
+        mFragment.onCreateCallback(null);
+        mFragment.onActivityCreatedCallback(null);
+        mFragment.onStartCallback();
+        return mFragment;
+    }
+
+    @NonNull
+    private Bundle createBundleForPreviouslyShownList() {
+        var state = new Bundle();
+        state.putBoolean(PREVIOUSLY_SHOWN_LIST_KEY, true);
+        return state;
+    }
+
+    @NonNull
+    private String getText(int id) {
+        return mContext.getResources().getText(id).toString();
+    }
+
+    private class TestableExternalDisplayPreferenceFragment extends
+            ExternalDisplayPreferenceFragment {
+        private final View mMockedRootView;
+        private final TextView mEmptyView;
+        private final Activity mMockedActivity;
+        private final FooterPreference mMockedFooterPreference;
+        private final MetricsLogger mLogger;
+
+        TestableExternalDisplayPreferenceFragment() {
+            super(mMockedInjector);
+            mMockedActivity = mock(Activity.class);
+            mMockedRootView = mock(View.class);
+            mMockedFooterPreference = mock(FooterPreference.class);
+            doReturn(KEY_FOOTER).when(mMockedFooterPreference).getKey();
+            mEmptyView = new TextView(mContext);
+            doReturn(mEmptyView).when(mMockedRootView).findViewById(android.R.id.empty);
+            mLogger = mMockedMetricsLogger;
+        }
+
+        @Override
+        public PreferenceScreen getPreferenceScreen() {
+            return mPreferenceScreen;
+        }
+
+        @Override
+        protected Activity getCurrentActivity() {
+            return mMockedActivity;
+        }
+
+        @Override
+        public View getView() {
+            return mMockedRootView;
+        }
+
+        @Override
+        public void setEmptyView(View view) {
+            assertThat(view).isEqualTo(mEmptyView);
+        }
+
+        @Override
+        public View getEmptyView() {
+            return mEmptyView;
+        }
+
+        @Override
+        public void addPreferencesFromResource(int resource) {
+            mPreferenceIdFromResource = resource;
+        }
+
+        @Override
+        @NonNull
+        FooterPreference getFooterPreference(@NonNull Context context) {
+            return mMockedFooterPreference;
+        }
+
+        @Override
+        protected int getDisplayIdArg() {
+            return mDisplayIdArg;
+        }
+
+        @Override
+        protected void launchResolutionSelector(@NonNull Context context, int displayId) {
+            mResolutionSelectorDisplayId = displayId;
+        }
+
+        @Override
+        protected void launchDisplaySettings(final int displayId) {
+            mDisplayIdArg = displayId;
+        }
+
+        @Override
+        protected void writePreferenceClickMetric(Preference preference) {
+            mLogger.writePreferenceClickMetric(preference);
+        }
+    }
+
+    /**
+     * Interface allowing to mock and spy on log events.
+     */
+    public interface MetricsLogger {
+
+        /**
+         * On preference click metric
+         */
+        void writePreferenceClickMetric(Preference preference);
+    }
+}
diff --git a/tests/unit/src/com/android/settings/connecteddevice/display/ExternalDisplayTestBase.java b/tests/unit/src/com/android/settings/connecteddevice/display/ExternalDisplayTestBase.java
new file mode 100644
index 0000000..4cba1ef
--- /dev/null
+++ b/tests/unit/src/com/android/settings/connecteddevice/display/ExternalDisplayTestBase.java
@@ -0,0 +1,150 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.display;
+
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.VIRTUAL_DISPLAY_PACKAGE_NAME_SYSTEM_PROPERTY;
+import static com.android.settings.flags.Flags.FLAG_ROTATION_CONNECTED_DISPLAY_SETTING;
+import static com.android.settings.flags.Flags.FLAG_RESOLUTION_AND_ENABLE_CONNECTED_DISPLAY_SETTING;
+
+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 android.content.Context;
+import android.content.res.Resources;
+import android.hardware.display.DisplayManagerGlobal;
+import android.hardware.display.IDisplayManager;
+import android.os.RemoteException;
+import android.view.Display;
+import android.view.DisplayAdjustments;
+import android.view.DisplayInfo;
+
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.server.testutils.TestHandler;
+import com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.DisplayListener;
+import com.android.settings.flags.FakeFeatureFlagsImpl;
+
+import org.junit.Before;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+public class ExternalDisplayTestBase {
+    @Mock
+    ExternalDisplaySettingsConfiguration.Injector mMockedInjector;
+    @Mock
+    IDisplayManager mMockedIDisplayManager;
+    Resources mResources;
+    DisplayManagerGlobal mDisplayManagerGlobal;
+    FakeFeatureFlagsImpl mFlags = new FakeFeatureFlagsImpl();
+    Context mContext;
+    DisplayListener mListener;
+    TestHandler mHandler = new TestHandler(null);
+    PreferenceManager mPreferenceManager;
+    PreferenceScreen mPreferenceScreen;
+    Display[] mDisplays;
+
+    /**
+     * Setup.
+     */
+    @Before
+    public void setUp() throws RemoteException {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mResources = spy(mContext.getResources());
+        doReturn(mResources).when(mContext).getResources();
+        mPreferenceManager = new PreferenceManager(mContext);
+        mPreferenceScreen = mPreferenceManager.createPreferenceScreen(mContext);
+        doReturn(0).when(mMockedIDisplayManager).getPreferredWideGamutColorSpaceId();
+        mDisplayManagerGlobal = new DisplayManagerGlobal(mMockedIDisplayManager);
+        mFlags.setFlag(FLAG_ROTATION_CONNECTED_DISPLAY_SETTING, true);
+        mFlags.setFlag(FLAG_RESOLUTION_AND_ENABLE_CONNECTED_DISPLAY_SETTING, true);
+        mDisplays = new Display[] {
+                createDefaultDisplay(), createExternalDisplay(), createOverlayDisplay()};
+        doReturn(mDisplays).when(mMockedInjector).getAllDisplays();
+        doReturn(mDisplays).when(mMockedInjector).getEnabledDisplays();
+        for (var display : mDisplays) {
+            doReturn(display).when(mMockedInjector).getDisplay(display.getDisplayId());
+        }
+        doReturn(mFlags).when(mMockedInjector).getFlags();
+        doReturn(mHandler).when(mMockedInjector).getHandler();
+        doReturn("").when(mMockedInjector).getSystemProperty(
+                VIRTUAL_DISPLAY_PACKAGE_NAME_SYSTEM_PROPERTY);
+        doReturn(true).when(mMockedInjector).isModeLimitForExternalDisplayEnabled();
+        doAnswer((arg) -> {
+            mListener = arg.getArgument(0);
+            return null;
+        }).when(mMockedInjector).registerDisplayListener(any());
+        doReturn(0).when(mMockedInjector).getDisplayUserRotation(anyInt());
+        doReturn(mContext).when(mMockedInjector).getContext();
+    }
+
+    Display createDefaultDisplay() throws RemoteException {
+        int displayId = 0;
+        var displayInfo = new DisplayInfo();
+        doReturn(displayInfo).when(mMockedIDisplayManager).getDisplayInfo(displayId);
+        displayInfo.displayId = displayId;
+        displayInfo.name = "Built-in";
+        displayInfo.type = Display.TYPE_INTERNAL;
+        displayInfo.supportedModes = new Display.Mode[]{
+                new Display.Mode(0, 2048, 1024, 60, 60, new float[0],
+                    new int[0])};
+        displayInfo.appsSupportedModes = displayInfo.supportedModes;
+        return createDisplay(displayInfo);
+    }
+
+    Display createExternalDisplay() throws RemoteException {
+        int displayId = 1;
+        var displayInfo = new DisplayInfo();
+        doReturn(displayInfo).when(mMockedIDisplayManager).getDisplayInfo(displayId);
+        displayInfo.displayId = displayId;
+        displayInfo.name = "HDMI";
+        displayInfo.type = Display.TYPE_EXTERNAL;
+        displayInfo.supportedModes = new Display.Mode[]{
+                new Display.Mode(0, 1920, 1080, 60, 60, new float[0], new int[0]),
+                new Display.Mode(1, 800, 600, 60, 60, new float[0], new int[0]),
+                new Display.Mode(2, 320, 240, 70, 70, new float[0], new int[0]),
+                new Display.Mode(3, 640, 480, 60, 60, new float[0], new int[0]),
+                new Display.Mode(4, 640, 480, 50, 60, new float[0], new int[0]),
+                new Display.Mode(5, 2048, 1024, 60, 60, new float[0], new int[0]),
+                new Display.Mode(6, 720, 480, 60, 60, new float[0], new int[0])};
+        displayInfo.appsSupportedModes = displayInfo.supportedModes;
+        return createDisplay(displayInfo);
+    }
+
+    Display createOverlayDisplay() throws RemoteException {
+        int displayId = 2;
+        var displayInfo = new DisplayInfo();
+        doReturn(displayInfo).when(mMockedIDisplayManager).getDisplayInfo(displayId);
+        displayInfo.displayId = displayId;
+        displayInfo.name = "Overlay #1";
+        displayInfo.type = Display.TYPE_OVERLAY;
+        displayInfo.supportedModes = new Display.Mode[]{
+                new Display.Mode(0, 1240, 780, 60, 60, new float[0],
+                    new int[0])};
+        displayInfo.appsSupportedModes = displayInfo.supportedModes;
+        return createDisplay(displayInfo);
+    }
+
+    Display createDisplay(DisplayInfo displayInfo) {
+        return new Display(mDisplayManagerGlobal, displayInfo.displayId, displayInfo,
+                (DisplayAdjustments) null);
+    }
+}
diff --git a/tests/unit/src/com/android/settings/connecteddevice/display/ExternalDisplayUpdaterTest.java b/tests/unit/src/com/android/settings/connecteddevice/display/ExternalDisplayUpdaterTest.java
new file mode 100644
index 0000000..824974a
--- /dev/null
+++ b/tests/unit/src/com/android/settings/connecteddevice/display/ExternalDisplayUpdaterTest.java
@@ -0,0 +1,121 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.display;
+
+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.doReturn;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.os.RemoteException;
+import android.view.Display;
+
+import androidx.annotation.Nullable;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.settings.connecteddevice.DevicePreferenceCallback;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedPreference;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+
+/** Unit tests for {@link ExternalDisplayUpdater}.  */
+@RunWith(AndroidJUnit4.class)
+public class ExternalDisplayUpdaterTest extends ExternalDisplayTestBase {
+
+    private ExternalDisplayUpdater mUpdater;
+    @Mock
+    private DevicePreferenceCallback mMockedCallback;
+    @Mock
+    private Drawable mMockedDrawable;
+    private RestrictedPreference mPreferenceAdded;
+    private RestrictedPreference mPreferenceRemoved;
+
+    @Before
+    public void setUp() throws RemoteException {
+        super.setUp();
+        mUpdater = new TestableExternalDisplayUpdater(mMockedCallback, /*metricsCategory=*/ 0);
+    }
+
+    @Test
+    public void testPreferenceAdded() {
+        doAnswer((v) -> {
+            mPreferenceAdded = v.getArgument(0);
+            return null;
+        }).when(mMockedCallback).onDeviceAdded(any());
+        mUpdater.initPreference(mContext, mMockedInjector);
+        mUpdater.registerCallback();
+        mHandler.flush();
+        assertThat(mPreferenceAdded).isNotNull();
+        var summary = mPreferenceAdded.getSummary();
+        assertThat(summary).isNotNull();
+        assertThat(summary.length()).isGreaterThan(0);
+        var title = mPreferenceAdded.getTitle();
+        assertThat(title).isNotNull();
+        assertThat(title.length()).isGreaterThan(0);
+    }
+
+    @Test
+    public void testPreferenceRemoved() {
+        doAnswer((v) -> {
+            mPreferenceAdded = v.getArgument(0);
+            return null;
+        }).when(mMockedCallback).onDeviceAdded(any());
+        doAnswer((v) -> {
+            mPreferenceRemoved = v.getArgument(0);
+            return null;
+        }).when(mMockedCallback).onDeviceRemoved(any());
+        mUpdater.initPreference(mContext, mMockedInjector);
+        mUpdater.registerCallback();
+        mHandler.flush();
+        assertThat(mPreferenceAdded).isNotNull();
+        assertThat(mPreferenceRemoved).isNull();
+        // Remove display
+        doReturn(new Display[0]).when(mMockedInjector).getAllDisplays();
+        doReturn(new Display[0]).when(mMockedInjector).getEnabledDisplays();
+        mListener.onDisplayRemoved(1);
+        mHandler.flush();
+        assertThat(mPreferenceRemoved).isEqualTo(mPreferenceAdded);
+    }
+
+    class TestableExternalDisplayUpdater extends ExternalDisplayUpdater {
+        TestableExternalDisplayUpdater(
+                DevicePreferenceCallback callback,
+                int metricsCategory) {
+            super(callback, metricsCategory);
+        }
+
+        @Override
+        @Nullable
+        protected RestrictedLockUtils.EnforcedAdmin checkIfUsbDataSignalingIsDisabled(
+                Context context) {
+            // if null is returned - usb signalling is enabled
+            return null;
+        }
+
+        @Override
+        @Nullable
+        protected Drawable getDrawable(Context context) {
+            return mMockedDrawable;
+        }
+    }
+}
diff --git a/tests/unit/src/com/android/settings/connecteddevice/display/ResolutionPreferenceFragmentTest.java b/tests/unit/src/com/android/settings/connecteddevice/display/ResolutionPreferenceFragmentTest.java
new file mode 100644
index 0000000..c866362
--- /dev/null
+++ b/tests/unit/src/com/android/settings/connecteddevice/display/ResolutionPreferenceFragmentTest.java
@@ -0,0 +1,242 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.display;
+
+import static android.view.Display.INVALID_DISPLAY;
+
+import static com.android.settings.connecteddevice.display.ResolutionPreferenceFragment.DISPLAY_MODE_LIMIT_OVERRIDE_PROP;
+import static com.android.settings.connecteddevice.display.ResolutionPreferenceFragment.EXTERNAL_DISPLAY_RESOLUTION_SETTINGS_RESOURCE;
+import static com.android.settings.connecteddevice.display.ResolutionPreferenceFragment.MORE_OPTIONS_KEY;
+import static com.android.settings.connecteddevice.display.ResolutionPreferenceFragment.TOP_OPTIONS_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.verify;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.util.Pair;
+import android.view.View;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+import androidx.test.annotation.UiThreadTest;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.settingslib.widget.SelectorWithWidgetPreference;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+
+/** Unit tests for {@link ResolutionPreferenceFragment}.  */
+@RunWith(AndroidJUnit4.class)
+public class ResolutionPreferenceFragmentTest extends ExternalDisplayTestBase {
+    @Nullable
+    private ResolutionPreferenceFragment mFragment;
+    private int mPreferenceIdFromResource;
+    private int mDisplayIdArg = INVALID_DISPLAY;
+    @Mock
+    private MetricsLogger mMockedMetricsLogger;
+
+    @Test
+    @UiThreadTest
+    public void testCreateAndStart() {
+        initFragment();
+        mHandler.flush();
+        assertThat(mPreferenceIdFromResource).isEqualTo(
+                EXTERNAL_DISPLAY_RESOLUTION_SETTINGS_RESOURCE);
+        var pref = mPreferenceScreen.findPreference(TOP_OPTIONS_KEY);
+        assertThat(pref).isNull();
+        pref = mPreferenceScreen.findPreference(MORE_OPTIONS_KEY);
+        assertThat(pref).isNull();
+    }
+
+    @Test
+    @UiThreadTest
+    public void testCreateAndStartDefaultDisplayNotAllowed() {
+        mDisplayIdArg = 0;
+        initFragment();
+        mHandler.flush();
+        var pref = mPreferenceScreen.findPreference(TOP_OPTIONS_KEY);
+        assertThat(pref).isNull();
+        pref = mPreferenceScreen.findPreference(MORE_OPTIONS_KEY);
+        assertThat(pref).isNull();
+    }
+
+    @Test
+    @UiThreadTest
+    public void testModePreferences_modeLimitFlagIsOn_noOverride() {
+        doReturn(true).when(mMockedInjector).isModeLimitForExternalDisplayEnabled();
+        doReturn(null).when(mMockedInjector).getSystemProperty(
+                DISPLAY_MODE_LIMIT_OVERRIDE_PROP);
+        var topAndMorePref = runTestModePreferences();
+        PreferenceCategory topPref = topAndMorePref.first, morePref = topAndMorePref.second;
+        assertThat(topPref.getPreferenceCount()).isEqualTo(3);
+        assertThat(morePref.getPreferenceCount()).isEqualTo(1);
+    }
+
+    @Test
+    @UiThreadTest
+    public void testModePreferences_noModeLimitFlag_overrideIsTrue() {
+        doReturn(false).when(mMockedInjector).isModeLimitForExternalDisplayEnabled();
+        doReturn("true").when(mMockedInjector).getSystemProperty(
+                DISPLAY_MODE_LIMIT_OVERRIDE_PROP);
+        var topAndMorePref = runTestModePreferences();
+        PreferenceCategory topPref = topAndMorePref.first, morePref = topAndMorePref.second;
+        assertThat(topPref.getPreferenceCount()).isEqualTo(3);
+        assertThat(morePref.getPreferenceCount()).isEqualTo(1);
+    }
+
+    @Test
+    @UiThreadTest
+    public void testModePreferences_noModeLimitFlag_noOverride() {
+        doReturn(false).when(mMockedInjector).isModeLimitForExternalDisplayEnabled();
+        doReturn(null).when(mMockedInjector).getSystemProperty(
+                DISPLAY_MODE_LIMIT_OVERRIDE_PROP);
+        var topAndMorePref = runTestModePreferences();
+        PreferenceCategory topPref = topAndMorePref.first, morePref = topAndMorePref.second;
+        assertThat(topPref.getPreferenceCount()).isEqualTo(3);
+        assertThat(morePref.getPreferenceCount()).isEqualTo(2);
+    }
+
+    @Test
+    @UiThreadTest
+    public void testModePreferences_modeLimitFlagIsOn_butOverrideIsFalse() {
+        doReturn(true).when(mMockedInjector).isModeLimitForExternalDisplayEnabled();
+        doReturn("false").when(mMockedInjector).getSystemProperty(
+                DISPLAY_MODE_LIMIT_OVERRIDE_PROP);
+        var topAndMorePref = runTestModePreferences();
+        PreferenceCategory topPref = topAndMorePref.first, morePref = topAndMorePref.second;
+        assertThat(topPref.getPreferenceCount()).isEqualTo(3);
+        assertThat(morePref.getPreferenceCount()).isEqualTo(2);
+    }
+
+    @Test
+    @UiThreadTest
+    public void testModeChange() {
+        mDisplayIdArg = 1;
+        initFragment();
+        mHandler.flush();
+        PreferenceCategory topPref = mPreferenceScreen.findPreference(TOP_OPTIONS_KEY);
+        assertThat(topPref).isNotNull();
+        var modePref = (SelectorWithWidgetPreference) topPref.getPreference(1);
+        modePref.onClick();
+        var mode = mDisplays[mDisplayIdArg].getSupportedModes()[1];
+        verify(mMockedInjector).setUserPreferredDisplayMode(mDisplayIdArg, mode);
+    }
+
+    private Pair<PreferenceCategory, PreferenceCategory> runTestModePreferences() {
+        mDisplayIdArg = 1;
+        initFragment();
+        mHandler.flush();
+        PreferenceCategory topPref = mPreferenceScreen.findPreference(TOP_OPTIONS_KEY);
+        assertThat(topPref).isNotNull();
+        PreferenceCategory morePref = mPreferenceScreen.findPreference(MORE_OPTIONS_KEY);
+        assertThat(morePref).isNotNull();
+        return new Pair<>(topPref, morePref);
+    }
+
+    private void initFragment() {
+        if (mFragment != null) {
+            return;
+        }
+        mFragment = new TestableResolutionPreferenceFragment();
+        mFragment.onCreateCallback(null);
+        mFragment.onActivityCreatedCallback(null);
+        mFragment.onStartCallback();
+    }
+
+    private class TestableResolutionPreferenceFragment extends ResolutionPreferenceFragment {
+        private final View mMockedRootView;
+        private final TextView mEmptyView;
+        private final Resources mMockedResources;
+        private final MetricsLogger mLogger;
+        TestableResolutionPreferenceFragment() {
+            super(mMockedInjector);
+            mMockedResources = mock(Resources.class);
+            doReturn(61).when(mMockedResources).getInteger(
+                    com.android.internal.R.integer.config_externalDisplayPeakRefreshRate);
+            doReturn(1920).when(mMockedResources).getInteger(
+                    com.android.internal.R.integer.config_externalDisplayPeakWidth);
+            doReturn(1080).when(mMockedResources).getInteger(
+                    com.android.internal.R.integer.config_externalDisplayPeakHeight);
+            doReturn(true).when(mMockedResources).getBoolean(
+                    com.android.internal.R.bool.config_refreshRateSynchronizationEnabled);
+            mMockedRootView = mock(View.class);
+            mEmptyView = new TextView(mContext);
+            doReturn(mEmptyView).when(mMockedRootView).findViewById(android.R.id.empty);
+            mLogger = mMockedMetricsLogger;
+        }
+
+        @Override
+        public PreferenceScreen getPreferenceScreen() {
+            return mPreferenceScreen;
+        }
+
+        @Override
+        public View getView() {
+            return mMockedRootView;
+        }
+
+        @Override
+        public void setEmptyView(View view) {
+            assertThat(view).isEqualTo(mEmptyView);
+        }
+
+        @Override
+        public View getEmptyView() {
+            return mEmptyView;
+        }
+
+        @Override
+        public void addPreferencesFromResource(int resource) {
+            mPreferenceIdFromResource = resource;
+        }
+
+        @Override
+        protected int getDisplayIdArg() {
+            return mDisplayIdArg;
+        }
+
+        @Override
+        protected void writePreferenceClickMetric(Preference preference) {
+            mLogger.writePreferenceClickMetric(preference);
+        }
+
+        @Override
+        @NonNull
+        protected Resources getResources(@NonNull Context context) {
+            return mMockedResources;
+        }
+    }
+
+    /**
+     * Interface allowing to mock and spy on log events.
+     */
+    public interface MetricsLogger {
+        /**
+         * On preference click metric
+         */
+        void writePreferenceClickMetric(Preference preference);
+    }
+}
diff --git a/tests/unit/src/com/android/settings/development/bluetooth/BluetoothStackLogPreferenceControllerTest.java b/tests/unit/src/com/android/settings/development/bluetooth/BluetoothStackLogPreferenceControllerTest.java
index ab1f469..2aa10bb 100644
--- a/tests/unit/src/com/android/settings/development/bluetooth/BluetoothStackLogPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/development/bluetooth/BluetoothStackLogPreferenceControllerTest.java
@@ -16,13 +16,9 @@
 
 package com.android.settings.development.bluetooth;
 
-import static com.android.settings.development.bluetooth.BluetoothStackLogPreferenceController.BLUETOOTH_BTSTACK_LOG_MODE_PROPERTY;
-import static com.android.settings.development.bluetooth.BluetoothStackLogPreferenceController.BLUETOOTH_BTSTACK_LOG_MODE_PROPERTY_PERSIST;
-import static com.android.settings.development.bluetooth.BluetoothStackLogPreferenceController.BTSTACK_LOG_MODE_VERBOSE_INDEX;
-import static com.android.settings.development.bluetooth.BluetoothStackLogPreferenceController.BTSTACK_LOG_MODE_DEBUG_INDEX;
-import static com.android.settings.development.bluetooth.BluetoothStackLogPreferenceController.BTSTACK_LOG_MODE_INFO_INDEX;
-import static com.android.settings.development.bluetooth.BluetoothStackLogPreferenceController.BTSTACK_LOG_MODE_WARN_INDEX;
-import static com.android.settings.development.bluetooth.BluetoothStackLogPreferenceController.BTSTACK_LOG_MODE_ERROR_INDEX;
+import static com.android.settings.development.bluetooth.BluetoothStackLogPreferenceController.BT_LOG_LEVEL_DEFAULT_INDEX;
+import static com.android.settings.development.bluetooth.BluetoothStackLogPreferenceController.BT_LOG_LEVEL_PROP;
+import static com.android.settings.development.bluetooth.BluetoothStackLogPreferenceController.BT_LOG_LEVEL_PROP_PERSIST;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -37,18 +33,21 @@
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
 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;
 
 @RunWith(AndroidJUnit4.class)
-@Ignore("b/339148064")
 public class BluetoothStackLogPreferenceControllerTest {
-    private static final String TAG = "BluetoothStackLogPreferenceControllerTest";
+    private static final String COM_ANDROID_SETTINGS = "com.android.settings";
+    private static final String TYPE_ARRAY = "array";
 
-    @Mock private Context mContext;
+    private static final String XML_DEFINED_PREFERENCE_KEY = "bt_stack_log_level";
+    private static final String XML_DEFINED_ENTRIES_RESOURCE = "bt_stack_log_level_entries";
+    private static final String XML_DEFINED_VALUES_RESOURCE = "bt_stack_log_level_values";
+
+    private static final String PROPERTY_CLEARED = "";
+
+    private Context mContext;
 
     private ListPreference mPreference;
     private PreferenceManager mPreferenceManager;
@@ -61,7 +60,6 @@
 
     @Before
     public void setup() {
-        MockitoAnnotations.initMocks(this);
         mContext = ApplicationProvider.getApplicationContext();
 
         if (Looper.myLooper() == null) {
@@ -71,12 +69,11 @@
         mPreferenceManager = new PreferenceManager(mContext);
         mPreferenceScreen = mPreferenceManager.createPreferenceScreen(mContext);
         mPreference = new ListPreference(mContext);
-
         mController = new BluetoothStackLogPreferenceController(mContext);
 
         mPreference.setKey(mController.getPreferenceKey());
-        mPreference.setEntries(com.android.settings.R.array.bt_stack_log_level_entries);
-        mPreference.setEntryValues(com.android.settings.R.array.bt_stack_log_level_values);
+        mPreference.setEntries(getStringArrayResourceId(XML_DEFINED_ENTRIES_RESOURCE));
+        mPreference.setEntryValues(getStringArrayResourceId(XML_DEFINED_VALUES_RESOURCE));
 
         mPreferenceScreen.addPreference(mPreference);
         mController.displayPreference(mPreferenceScreen);
@@ -86,134 +83,109 @@
     }
 
     /**
-     * Test that default log level is set to INFO
+     * Get the resource ID associated with a resource name
+     *
+     * This looks up the resource id by name using our device's context. This way, we can avoid
+     * hardcoding a resource ID or value from the R class which may not match the resource IDs on
+     * the device under test.
+     *
+     * Usage: int valuesResId = getStringArrayResource("bt_stack_log_level_values");
+     * Usage: int entriesResId = getStringArrayResource("bt_stack_log_level_entries");
+     *
+     * @param res - The resource name to look up
+     * @return The integer resource ID corresponding to the given resource name
      */
-    @Test
-    public void verifyDefaultState_enablesDefaultLogLevelEntriesAndValuesSameSize() {
-        mController.onPreferenceChange(mPreference, mController.getDefaultModeIndex());
-        assertThat(mPreference.getValue().toString()).isEqualTo(mListValues
-                        [BTSTACK_LOG_MODE_INFO_INDEX].toString());
-        assertThat(mPreference.getSummary().toString()).isEqualTo(mListEntries
-                        [BTSTACK_LOG_MODE_INFO_INDEX].toString());
+    public int getStringArrayResourceId(String res) {
+        return mContext.getResources().getIdentifier(res, TYPE_ARRAY, COM_ANDROID_SETTINGS);
     }
 
     /**
-     * Test that log level is changed to VERBOSE when VERBOSE is selected
+     * Test that, for each possible value a user can select, our controller properly handles the
+     * value to update the underlying system property _and_ set the UI entry to the proper value.
      */
     @Test
-    public void onPreferenceChanged_enableBluetoothStackVerboseLogLevel() {
-        mController.onPreferenceChange(mPreference, mListValues[BTSTACK_LOG_MODE_VERBOSE_INDEX]
-                        .toString());
+    public void onPreferenceChange_withEachValue_uiSetProperlyAndAllValuesWrittenToProperties() {
+        for (int index = 0; index < mListValues.length; index++) {
+            String value = mListValues[index].toString();
+            String entry = mListEntries[index].toString();
 
-        final String persistedLogLevel = SystemProperties.get(
-                        BLUETOOTH_BTSTACK_LOG_MODE_PROPERTY_PERSIST);
-        final String logLevel = SystemProperties.get(BLUETOOTH_BTSTACK_LOG_MODE_PROPERTY);
-        assertThat(persistedLogLevel).isEqualTo(mListValues[BTSTACK_LOG_MODE_VERBOSE_INDEX]
-                        .toString());
-        assertThat(logLevel).isEqualTo(mListValues[BTSTACK_LOG_MODE_VERBOSE_INDEX].toString());
+            mController.onPreferenceChange(mPreference, value);
 
-        assertThat(mPreference.getValue().toString()).isEqualTo(mListValues
-                        [BTSTACK_LOG_MODE_VERBOSE_INDEX].toString());
-        assertThat(mPreference.getSummary().toString()).isEqualTo(mListEntries
-                        [BTSTACK_LOG_MODE_VERBOSE_INDEX].toString());
+            final String persistedLogLevel = SystemProperties.get(BT_LOG_LEVEL_PROP_PERSIST);
+            final String logLevel = SystemProperties.get(BT_LOG_LEVEL_PROP);
+            final String currentValue = mPreference.getValue().toString();
+            final String currentEntry = mPreference.getEntry().toString();
+            final String currentSummary = mPreference.getSummary().toString();
+            final int currentIndex = mPreference.findIndexOfValue(currentValue);
+
+            assertThat(persistedLogLevel).isEqualTo(value);
+            assertThat(logLevel).isEqualTo(value);
+            assertThat(currentIndex).isEqualTo(index);
+            assertThat(currentValue).isEqualTo(value);
+            assertThat(currentEntry).isEqualTo(entry);
+            assertThat(currentSummary).isEqualTo(entry);
+        }
     }
 
     /**
-     * Test that log level is changed to DEBUG when DEBUG is selected
+     * Test that, for each possible log tag log level value, our controller properly handles the
+     * value to set the UI entry to the proper value.
      */
     @Test
-    public void onPreferenceChanged_enableBluetoothStackDebugLogLevel() {
-        mController.onPreferenceChange(mPreference, mListValues[BTSTACK_LOG_MODE_DEBUG_INDEX]
-                        .toString());
+    public void updateState_withEachValue_uiSetProperly() {
+        for (int index = 0; index < mListValues.length; index++) {
+            String value = mListValues[index].toString();
+            String entry = mListEntries[index].toString();
 
-        final String persistedLogLevel = SystemProperties.get(
-                BLUETOOTH_BTSTACK_LOG_MODE_PROPERTY_PERSIST);
-        final String logLevel = SystemProperties.get(BLUETOOTH_BTSTACK_LOG_MODE_PROPERTY);
-        assertThat(persistedLogLevel).isEqualTo(mListValues[BTSTACK_LOG_MODE_DEBUG_INDEX]
-                        .toString());
-        assertThat(logLevel).isEqualTo(mListValues[BTSTACK_LOG_MODE_DEBUG_INDEX].toString());
+            SystemProperties.set(BT_LOG_LEVEL_PROP_PERSIST, value);
+            SystemProperties.set(BT_LOG_LEVEL_PROP, value);
 
-        assertThat(mPreference.getValue().toString()).isEqualTo(mListValues
-                        [BTSTACK_LOG_MODE_DEBUG_INDEX].toString());
-        assertThat(mPreference.getSummary().toString()).isEqualTo(mListEntries
-                        [BTSTACK_LOG_MODE_DEBUG_INDEX].toString());
+            mController.updateState(mPreference);
+
+            final String currentValue = mPreference.getValue().toString();
+            final String currentEntry = mPreference.getEntry().toString();
+            final String currentSummary = mPreference.getSummary().toString();
+            final int currentIndex = mPreference.findIndexOfValue(currentValue);
+
+            assertThat(currentIndex).isEqualTo(index);
+            assertThat(currentValue).isEqualTo(value);
+            assertThat(currentEntry).isEqualTo(entry);
+            assertThat(currentSummary).isEqualTo(entry);
+        }
     }
 
     /**
-     * Test that log level is changed to INFO when INFO is selected
+     * Test that our controller reverts the log level back to a missing/default value when we're
+     * notified that Developer Options has been disabled.
      */
     @Test
-    public void onPreferenceChanged_enableBluetoothStackInfoLogLevel() {
-        mController.onPreferenceChange(mPreference, mListValues[BTSTACK_LOG_MODE_INFO_INDEX]
-                        .toString());
+    public void onDeveloperOptionsSwitchDisabled_preferenceSetToDefault() {
+        mController.onDeveloperOptionsSwitchDisabled();
 
-        final String persistedLogLevel = SystemProperties.get(
-                BLUETOOTH_BTSTACK_LOG_MODE_PROPERTY_PERSIST);
-        final String logLevel = SystemProperties.get(BLUETOOTH_BTSTACK_LOG_MODE_PROPERTY);
-        assertThat(persistedLogLevel).isEqualTo(mListValues[BTSTACK_LOG_MODE_INFO_INDEX]
-                        .toString());
-        assertThat(logLevel).isEqualTo(mListValues[BTSTACK_LOG_MODE_INFO_INDEX].toString());
+        final String defaultEntry = mListEntries[BT_LOG_LEVEL_DEFAULT_INDEX].toString();
+        final String defaultValue = mListValues[BT_LOG_LEVEL_DEFAULT_INDEX].toString();
 
-        assertThat(mPreference.getValue().toString()).isEqualTo(mListValues
-                        [BTSTACK_LOG_MODE_INFO_INDEX].toString());
-        assertThat(mPreference.getSummary().toString()).isEqualTo(mListEntries
-                        [BTSTACK_LOG_MODE_INFO_INDEX].toString());
+        final String persistedLogLevel = SystemProperties.get(BT_LOG_LEVEL_PROP_PERSIST);
+        final String logLevel = SystemProperties.get(BT_LOG_LEVEL_PROP);
+        final String currentValue = mPreference.getValue().toString();
+        final String currentEntry = mPreference.getEntry().toString();
+        final String currentSummary = mPreference.getSummary().toString();
+        final int currentIndex = mPreference.findIndexOfValue(currentValue);
+
+        assertThat(persistedLogLevel).isEqualTo(PROPERTY_CLEARED);
+        assertThat(logLevel).isEqualTo(PROPERTY_CLEARED);
+        assertThat(currentIndex).isEqualTo(BT_LOG_LEVEL_DEFAULT_INDEX);
+        assertThat(currentValue).isEqualTo(defaultValue);
+        assertThat(currentEntry).isEqualTo(defaultEntry);
+        assertThat(currentSummary).isEqualTo(defaultEntry);
     }
 
     /**
-     * Test that log level is changed to WARN when WARN is selected
+     * Test that our preference key returned by our controller matches the one defined in the XML
+     * definition.
      */
     @Test
-    public void onPreferenceChanged_enableBluetoothStackWarnLogLevel() {
-        mController.onPreferenceChange(mPreference, mListValues[BTSTACK_LOG_MODE_WARN_INDEX]
-                        .toString());
-
-        final String persistedLogLevel = SystemProperties.get(
-                BLUETOOTH_BTSTACK_LOG_MODE_PROPERTY_PERSIST);
-        final String logLevel = SystemProperties.get(BLUETOOTH_BTSTACK_LOG_MODE_PROPERTY);
-        assertThat(persistedLogLevel).isEqualTo(mListValues[BTSTACK_LOG_MODE_WARN_INDEX]
-                        .toString());
-        assertThat(logLevel).isEqualTo(mListValues[BTSTACK_LOG_MODE_WARN_INDEX].toString());
-
-        assertThat(mPreference.getValue().toString()).isEqualTo(mListValues
-
-                        [BTSTACK_LOG_MODE_WARN_INDEX].toString());
-        assertThat(mPreference.getSummary().toString()).isEqualTo(mListEntries
-                        [BTSTACK_LOG_MODE_WARN_INDEX].toString());
-    }
-
-    /**
-     * Test that log level is changed to ERROR when ERROR is selected
-     */
-    @Test
-    public void onPreferenceChanged_enableBluetoothStackErrorLogLevel() {
-        mController.onPreferenceChange(mPreference, mListValues[BTSTACK_LOG_MODE_ERROR_INDEX]
-                        .toString());
-
-        final String persistedLogLevel = SystemProperties.get(
-                BLUETOOTH_BTSTACK_LOG_MODE_PROPERTY_PERSIST);
-        final String logLevel = SystemProperties.get(BLUETOOTH_BTSTACK_LOG_MODE_PROPERTY);
-        assertThat(persistedLogLevel).isEqualTo(mListValues[BTSTACK_LOG_MODE_ERROR_INDEX]
-                        .toString());
-        assertThat(logLevel).isEqualTo(mListValues[BTSTACK_LOG_MODE_ERROR_INDEX].toString());
-
-        assertThat(mPreference.getValue().toString()).isEqualTo(mListValues
-                        [BTSTACK_LOG_MODE_ERROR_INDEX].toString());
-        assertThat(mPreference.getSummary().toString()).isEqualTo(mListEntries
-                        [BTSTACK_LOG_MODE_ERROR_INDEX].toString());
-    }
-
-    /**
-     * Test that preference is disabled when developer options is disabled
-     * Log level is also reset to default
-     */
-    @Test
-    public void onDeveloperOptionsDisabled_shouldDisablePreference() {
-        mController.onDeveloperOptionsDisabled();
-        assertThat(mPreference.isEnabled()).isFalse();
-        assertThat(mPreference.getValue().toString()).isEqualTo(mListValues[mController
-                .getDefaultModeIndex()].toString());
-        assertThat(mPreference.getSummary().toString()).isEqualTo(mListEntries[mController
-                .getDefaultModeIndex()].toString());
+    public void getPreferenceKey_matchesXmlDefinedPreferenceKey() {
+        assertThat(mController.getPreferenceKey()).isEqualTo(XML_DEFINED_PREFERENCE_KEY);
     }
 }
diff --git a/tests/unit/src/com/android/settings/development/mediadrm/ForceSwSecureCryptoFallbackPreferenceControllerTest.java b/tests/unit/src/com/android/settings/development/mediadrm/ForceSwSecureCryptoFallbackPreferenceControllerTest.java
index 2a0cd05..5eb76f1 100644
--- a/tests/unit/src/com/android/settings/development/mediadrm/ForceSwSecureCryptoFallbackPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/development/mediadrm/ForceSwSecureCryptoFallbackPreferenceControllerTest.java
@@ -29,6 +29,8 @@
 import android.content.Context;
 
 import com.android.settings.media_drm.Flags;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
 import android.platform.test.flag.junit.SetFlagsRule;
 
 import androidx.preference.SwitchPreference;
@@ -65,10 +67,10 @@
     }
 
     @Test
+    @EnableFlags(Flags.FLAG_FORCE_L3_ENABLED)
     public void updateState_flagEnabled_checkPreference() {
-        mSetFlagsRule.enableFlags(Flags.FLAG_FORCE_L3_ENABLED);
         mController.updateState(mPreference);
-        assumeTrue(mPreference.isEnabled());
+        assertThat(mPreference.isEnabled()).isTrue();
         assertThat(mPreference.isChecked()).isFalse();
         assertThat(WidevineProperties.forcel3_enabled().orElse(false)).isFalse();
 
@@ -85,33 +87,22 @@
         assertThat(WidevineProperties.forcel3_enabled().orElse(false)).isFalse();
         assertThat(mPreference.isEnabled()).isTrue();
         assertThat(mPreference.isChecked()).isFalse();
-
-        // Test flag rollback
-        mController.setChecked(true);
-        mController.updateState(mPreference);
-        assertThat(mPreference.isChecked()).isTrue();
-        assertThat(WidevineProperties.forcel3_enabled().orElse(false)).isTrue();
-        mSetFlagsRule.disableFlags(Flags.FLAG_FORCE_L3_ENABLED);
-        mController.updateState(mPreference);
-        assertThat(mPreference.isEnabled()).isFalse();
-        assertThat(mPreference.isChecked()).isFalse();
-        assertThat(WidevineProperties.forcel3_enabled().orElse(false)).isFalse();
     }
 
     @Test
+    @DisableFlags(Flags.FLAG_FORCE_L3_ENABLED)
     public void updateState_flagDisabled_checkPreference() {
-        mSetFlagsRule.disableFlags(Flags.FLAG_FORCE_L3_ENABLED);
         mController.updateState(mPreference);
         assertThat(mPreference.isEnabled()).isFalse();
     }
 
     @Test
+    @EnableFlags(Flags.FLAG_FORCE_L3_ENABLED)
     public void updateState_checkWidevine() throws Exception {
         try (MediaDrm drm = new MediaDrm(WIDEVINE_UUID)) {
             assumeTrue(drm.getPropertyString("securityLevel").equals("L1"));
-            mSetFlagsRule.enableFlags(Flags.FLAG_FORCE_L3_ENABLED);
             mController.updateState(mPreference);
-            assumeTrue(mPreference.isEnabled());
+            assertThat(mPreference.isEnabled()).isTrue();
         } catch (UnsupportedSchemeException ex) {
             assumeNoException(ex);
         }
@@ -139,11 +130,11 @@
     }
 
     @Test
+    @EnableFlags(Flags.FLAG_FORCE_L3_ENABLED)
     public void updateState_checkWhenWidevineReady() throws Exception {
         try (MediaDrm drm = new MediaDrm(WIDEVINE_UUID)) {
             if (drm.getPropertyString("securityLevel").equals("L1")) {
                 String version = drm.getPropertyString(MediaDrm.PROPERTY_VERSION);
-                mSetFlagsRule.enableFlags(Flags.FLAG_FORCE_L3_ENABLED);
                 mController.updateState(mPreference);
                 if (Integer.parseInt(version.split("\\.", 2)[0]) >= 19) {
                     assertThat(mPreference.isEnabled()).isTrue();
diff --git a/tests/unit/src/com/android/settings/deviceinfo/BuildNumberPreferenceControllerTest.java b/tests/unit/src/com/android/settings/deviceinfo/BuildNumberPreferenceControllerTest.java
index 237786b..34878e1 100644
--- a/tests/unit/src/com/android/settings/deviceinfo/BuildNumberPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/deviceinfo/BuildNumberPreferenceControllerTest.java
@@ -22,14 +22,21 @@
 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.app.Activity;
 import android.content.Context;
+import android.hardware.biometrics.BiometricManager;
+import android.hardware.biometrics.Flags;
 import android.os.Looper;
 import android.os.UserManager;
+import android.platform.test.annotations.RequiresFlagsDisabled;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
 import android.provider.Settings;
 
 import androidx.lifecycle.LifecycleOwner;
@@ -45,6 +52,7 @@
 import com.android.settingslib.development.DevelopmentSettingsEnabler;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Answers;
@@ -53,6 +61,9 @@
 
 @RunWith(AndroidJUnit4.class)
 public class BuildNumberPreferenceControllerTest {
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule =
+            DeviceFlagsValueProvider.createCheckFlagsRule();
 
     private static final String KEY_BUILD_NUMBER = "build_number";
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
@@ -60,6 +71,7 @@
 
     private Context mContext;
     private UserManager mUserManager;
+    private BiometricManager mBiometricManager;
     private LifecycleOwner mLifecycleOwner;
     private Lifecycle mLifecycle;
     private FakeFeatureFactory mFactory;
@@ -76,7 +88,13 @@
 
         mContext = spy(ApplicationProvider.getApplicationContext());
         mUserManager = (UserManager) spy(mContext.getSystemService(Context.USER_SERVICE));
+        mBiometricManager = spy(mContext.getSystemService(BiometricManager.class));
+
         doReturn(mUserManager).when(mContext).getSystemService(Context.USER_SERVICE);
+        when(mContext.getSystemService(BiometricManager.class)).thenReturn(mBiometricManager);
+        when(mBiometricManager.canAuthenticate(mContext.getUserId(),
+                BiometricManager.Authenticators.MANDATORY_BIOMETRICS))
+                .thenReturn(BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE);
 
         mFactory = FakeFeatureFactory.setupForTest();
         mLifecycleOwner = () -> mLifecycle;
@@ -156,7 +174,7 @@
     @Test
     public void onActivityResult_notConfirmPasswordRequest_doNothing() {
         final boolean activityResultHandled = mController.onActivityResult(
-                BuildNumberPreferenceController.REQUEST_CONFIRM_PASSWORD_FOR_DEV_PREF + 1,
+                BuildNumberPreferenceController.REQUEST_CONFIRM_PASSWORD_FOR_DEV_PREF + 2,
                 Activity.RESULT_OK,
                 null);
 
@@ -177,6 +195,7 @@
 
     @Test
     @UiThreadTest
+    @RequiresFlagsDisabled(Flags.FLAG_MANDATORY_BIOMETRICS)
     public void onActivityResult_confirmPasswordRequestCompleted_enableDevPref() {
         when(mUserManager.isAdminUser()).thenReturn(true);
 
@@ -188,4 +207,76 @@
         assertThat(activityResultHandled).isTrue();
         assertThat(DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)).isTrue();
     }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_MANDATORY_BIOMETRICS)
+    public void onActivityResult_confirmPasswordRequestCompleted_launchBiometricPrompt() {
+        when(mUserManager.isAdminUser()).thenReturn(true);
+        when(mBiometricManager.canAuthenticate(mContext.getUserId(),
+                BiometricManager.Authenticators.MANDATORY_BIOMETRICS))
+                .thenReturn(BiometricManager.BIOMETRIC_SUCCESS);
+
+        final boolean activityResultHandled = mController.onActivityResult(
+                BuildNumberPreferenceController.REQUEST_CONFIRM_PASSWORD_FOR_DEV_PREF,
+                Activity.RESULT_OK,
+                null);
+
+        assertThat(activityResultHandled).isTrue();
+        assertThat(DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)).isFalse();
+        verify(mFragment).startActivityForResult(any(),
+                eq(BuildNumberPreferenceController.REQUEST_IDENTITY_CHECK_FOR_DEV_PREF));
+    }
+
+    @Test
+    @UiThreadTest
+    @RequiresFlagsEnabled(Flags.FLAG_MANDATORY_BIOMETRICS)
+    public void onActivityResult_confirmPasswordRequestCompleted_mandatoryBiometricsError() {
+        when(mUserManager.isAdminUser()).thenReturn(true);
+        when(mBiometricManager.canAuthenticate(mContext.getUserId(),
+                BiometricManager.Authenticators.MANDATORY_BIOMETRICS))
+                .thenReturn(BiometricManager.BIOMETRIC_ERROR_MANDATORY_NOT_ACTIVE);
+
+        final boolean activityResultHandled = mController.onActivityResult(
+                BuildNumberPreferenceController.REQUEST_CONFIRM_PASSWORD_FOR_DEV_PREF,
+                Activity.RESULT_OK,
+                null);
+
+        assertThat(activityResultHandled).isTrue();
+        verify(mFragment, never()).startActivityForResult(any(),
+                eq(BuildNumberPreferenceController.REQUEST_IDENTITY_CHECK_FOR_DEV_PREF));
+    }
+
+    @Test
+    @UiThreadTest
+    @RequiresFlagsEnabled(Flags.FLAG_MANDATORY_BIOMETRICS)
+    public void onActivityResult_confirmPasswordRequestCompleted_lockoutError() {
+        when(mUserManager.isAdminUser()).thenReturn(true);
+        when(mBiometricManager.canAuthenticate(mContext.getUserId(),
+                BiometricManager.Authenticators.MANDATORY_BIOMETRICS))
+                .thenReturn(BiometricManager.BIOMETRIC_ERROR_LOCKOUT);
+
+        final boolean activityResultHandled = mController.onActivityResult(
+                BuildNumberPreferenceController.REQUEST_CONFIRM_PASSWORD_FOR_DEV_PREF,
+                Activity.RESULT_OK,
+                null);
+
+        assertThat(activityResultHandled).isTrue();
+        verify(mFragment, never()).startActivityForResult(any(),
+                eq(BuildNumberPreferenceController.REQUEST_IDENTITY_CHECK_FOR_DEV_PREF));
+        assertThat(DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)).isFalse();
+    }
+
+    @Test
+    public void onActivityResult_confirmBiometricAuthentication_enableDevPref() {
+        when(mUserManager.isAdminUser()).thenReturn(true);
+
+        Looper.prepare();
+        final boolean activityResultHandled = mController.onActivityResult(
+                BuildNumberPreferenceController.REQUEST_IDENTITY_CHECK_FOR_DEV_PREF,
+                Activity.RESULT_OK,
+                null);
+
+        assertThat(activityResultHandled).isTrue();
+        assertThat(DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)).isTrue();
+    }
 }
diff --git a/tests/unit/src/com/android/settings/fingerprint2/domain/interactor/FingerprintManagerInteractorTest.kt b/tests/unit/src/com/android/settings/fingerprint2/domain/interactor/FingerprintManagerInteractorTest.kt
index 67a5957..691b611 100644
--- a/tests/unit/src/com/android/settings/fingerprint2/domain/interactor/FingerprintManagerInteractorTest.kt
+++ b/tests/unit/src/com/android/settings/fingerprint2/domain/interactor/FingerprintManagerInteractorTest.kt
@@ -16,7 +16,6 @@
 
 package com.android.settings.fingerprint2.domain.interactor
 
-import android.content.Context
 import android.content.Intent
 import android.hardware.biometrics.ComponentInfoInternal
 import android.hardware.biometrics.SensorLocationInternal
@@ -30,23 +29,37 @@
 import android.hardware.fingerprint.FingerprintSensorPropertiesInternal
 import android.os.CancellationSignal
 import android.os.Handler
-import androidx.test.core.app.ApplicationProvider
 import com.android.settings.biometrics.GatekeeperPasswordProvider
+import com.android.settings.biometrics.fingerprint2.data.repository.FingerprintEnrollmentRepositoryImpl
 import com.android.settings.biometrics.fingerprint2.data.repository.FingerprintSensorRepository
-import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintEnrollInteractorImpl
-import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractorImpl
-import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.FingerprintManagerInteractor
+import com.android.settings.biometrics.fingerprint2.data.repository.FingerprintSettingsRepositoryImpl
+import com.android.settings.biometrics.fingerprint2.data.repository.UserRepo
+import com.android.settings.biometrics.fingerprint2.domain.interactor.AuthenticateInteractorImpl
+import com.android.settings.biometrics.fingerprint2.domain.interactor.CanEnrollFingerprintsInteractorImpl
+import com.android.settings.biometrics.fingerprint2.domain.interactor.EnrollFingerprintInteractorImpl
+import com.android.settings.biometrics.fingerprint2.domain.interactor.EnrolledFingerprintsInteractorImpl
+import com.android.settings.biometrics.fingerprint2.domain.interactor.GenerateChallengeInteractorImpl
+import com.android.settings.biometrics.fingerprint2.domain.interactor.RemoveFingerprintsInteractorImpl
+import com.android.settings.biometrics.fingerprint2.domain.interactor.RenameFingerprintsInteractorImpl
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.CanEnrollFingerprintsInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.EnrollFingerprintInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.EnrolledFingerprintsInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.GenerateChallengeInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.RemoveFingerprintInteractor
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.RenameFingerprintInteractor
 import com.android.settings.biometrics.fingerprint2.lib.model.Default
 import com.android.settings.biometrics.fingerprint2.lib.model.EnrollReason
 import com.android.settings.biometrics.fingerprint2.lib.model.FingerEnrollState
 import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintAuthAttemptModel
 import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintData
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintFlow
 import com.android.settings.password.ChooseLockSettingsHelper
 import com.android.systemui.biometrics.shared.model.FingerprintSensor
 import com.android.systemui.biometrics.shared.model.toFingerprintSensor
 import com.google.common.truth.Truth.assertThat
 import kotlinx.coroutines.cancelAndJoin
 import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.flow.flowOf
 import kotlinx.coroutines.flow.last
 import kotlinx.coroutines.launch
@@ -75,13 +88,28 @@
 class FingerprintManagerInteractorTest {
 
   @JvmField @Rule var rule = MockitoJUnit.rule()
-  private lateinit var underTest: FingerprintManagerInteractor
-  private var context: Context = ApplicationProvider.getApplicationContext()
+  private lateinit var enrolledFingerprintsInteractorUnderTest: EnrolledFingerprintsInteractor
+  private lateinit var generateChallengeInteractorUnderTest: GenerateChallengeInteractor
+  private lateinit var removeFingerprintsInteractorUnderTest: RemoveFingerprintInteractor
+  private lateinit var renameFingerprintsInteractorUnderTest: RenameFingerprintInteractor
+  private lateinit var authenticateInteractorImplUnderTest: AuthenticateInteractorImpl
+  private lateinit var canEnrollFingerprintsInteractorUnderTest: CanEnrollFingerprintsInteractor
+  private lateinit var enrollInteractorUnderTest: EnrollFingerprintInteractor
+
+  private val userId = 0
   private var backgroundDispatcher = StandardTestDispatcher()
   @Mock private lateinit var fingerprintManager: FingerprintManager
   @Mock private lateinit var gateKeeperPasswordProvider: GatekeeperPasswordProvider
 
   private var testScope = TestScope(backgroundDispatcher)
+  private var backgroundScope = testScope.backgroundScope
+  private val flow: FingerprintFlow = Default
+  private val maxFingerprints = 5
+  private val currUser = MutableStateFlow(0)
+  private val userRepo =
+    object : UserRepo {
+      override val currentUser: Flow<Int> = currUser
+    }
 
   @Before
   fun setup() {
@@ -89,7 +117,7 @@
       FingerprintSensorPropertiesInternal(
           0 /* sensorId */,
           SensorProperties.STRENGTH_STRONG,
-          5 /* maxEnrollmentsPerUser */,
+          maxFingerprints,
           listOf<ComponentInfoInternal>(),
           FingerprintSensorProperties.TYPE_POWER_BUTTON,
           false /* halControlsIllumination */,
@@ -97,20 +125,37 @@
           listOf<SensorLocationInternal>(SensorLocationInternal.DEFAULT),
         )
         .toFingerprintSensor()
+
     val fingerprintSensorRepository =
       object : FingerprintSensorRepository {
         override val fingerprintSensor: Flow<FingerprintSensor> = flowOf(sensor)
+        override val hasSideFps: Flow<Boolean> = flowOf(false)
       }
 
-    underTest =
-      FingerprintManagerInteractorImpl(
-        context,
-        backgroundDispatcher,
+    val settingsRepository = FingerprintSettingsRepositoryImpl(maxFingerprints)
+    val fingerprintEnrollmentRepository =
+      FingerprintEnrollmentRepositoryImpl(
         fingerprintManager,
-        fingerprintSensorRepository,
-        gateKeeperPasswordProvider,
-        FingerprintEnrollInteractorImpl(context, fingerprintManager, Default),
+        userRepo,
+        settingsRepository,
+        backgroundDispatcher,
+        backgroundScope,
       )
+
+    enrolledFingerprintsInteractorUnderTest =
+      EnrolledFingerprintsInteractorImpl(fingerprintManager, userId)
+    generateChallengeInteractorUnderTest =
+      GenerateChallengeInteractorImpl(fingerprintManager, userId, gateKeeperPasswordProvider)
+    removeFingerprintsInteractorUnderTest =
+      RemoveFingerprintsInteractorImpl(fingerprintManager, userId)
+    renameFingerprintsInteractorUnderTest =
+      RenameFingerprintsInteractorImpl(fingerprintManager, userId, backgroundDispatcher)
+    authenticateInteractorImplUnderTest = AuthenticateInteractorImpl(fingerprintManager, userId)
+
+    canEnrollFingerprintsInteractorUnderTest =
+      CanEnrollFingerprintsInteractorImpl(fingerprintEnrollmentRepository)
+
+    enrollInteractorUnderTest = EnrollFingerprintInteractorImpl(userId, fingerprintManager, flow)
   }
 
   @Test
@@ -119,7 +164,8 @@
       whenever(fingerprintManager.getEnrolledFingerprints(anyInt())).thenReturn(emptyList())
 
       val emptyFingerprintList: List<Fingerprint> = emptyList()
-      assertThat(underTest.enrolledFingerprints.last()).isEqualTo(emptyFingerprintList)
+      assertThat(enrolledFingerprintsInteractorUnderTest.enrolledFingerprints.last())
+        .isEqualTo(emptyFingerprintList)
     }
 
   @Test
@@ -129,7 +175,7 @@
       val fingerprintList: List<Fingerprint> = listOf(expected)
       whenever(fingerprintManager.getEnrolledFingerprints(anyInt())).thenReturn(fingerprintList)
 
-      val list = underTest.enrolledFingerprints.last()
+      val list = enrolledFingerprintsInteractorUnderTest.enrolledFingerprints.last()
       assertThat(list!!.size).isEqualTo(fingerprintList.size)
       val actual = list[0]
       assertThat(actual.name).isEqualTo(expected.name)
@@ -138,24 +184,51 @@
     }
 
   @Test
-  fun testCanEnrollFingerprint() =
+  fun testCanEnrollFingerprintSucceeds() =
     testScope.runTest {
-      val fingerprintList1: List<Fingerprint> =
+      val fingerprintList: List<Fingerprint> =
         listOf(
-          Fingerprint("Finger 1,", 2, 3L),
-          Fingerprint("Finger 2,", 3, 3L),
-          Fingerprint("Finger 3,", 4, 3L),
+          Fingerprint("Finger 1", 2, 3L),
+          Fingerprint("Finger 2", 3, 3L),
+          Fingerprint("Finger 3", 4, 3L),
         )
-      val fingerprintList2: List<Fingerprint> =
-        fingerprintList1.plus(
-          listOf(Fingerprint("Finger 4,", 5, 3L), Fingerprint("Finger 5,", 6, 3L))
-        )
-      whenever(fingerprintManager.getEnrolledFingerprints(anyInt()))
-        .thenReturn(fingerprintList1)
-        .thenReturn(fingerprintList2)
+      whenever(fingerprintManager.getEnrolledFingerprints(anyInt())).thenReturn(fingerprintList)
 
-      assertThat(underTest.canEnrollFingerprints.last()).isTrue()
-      assertThat(underTest.canEnrollFingerprints.last()).isFalse()
+      var result: Boolean? = null
+      val job =
+        testScope.launch {
+          canEnrollFingerprintsInteractorUnderTest.canEnrollFingerprints.collect { result = it }
+        }
+
+      runCurrent()
+      job.cancelAndJoin()
+
+      assertThat(result).isTrue()
+    }
+
+  @Test
+  fun testCanEnrollFingerprintFails() =
+    testScope.runTest {
+      val fingerprintList: List<Fingerprint> =
+        listOf(
+          Fingerprint("Finger 1", 2, 3L),
+          Fingerprint("Finger 2", 3, 3L),
+          Fingerprint("Finger 3", 4, 3L),
+          Fingerprint("Finger 4", 5, 3L),
+          Fingerprint("Finger 5", 6, 3L),
+        )
+      whenever(fingerprintManager.getEnrolledFingerprints(anyInt())).thenReturn(fingerprintList)
+
+      var result: Boolean? = null
+      val job =
+        testScope.launch {
+          canEnrollFingerprintsInteractorUnderTest.canEnrollFingerprints.collect { result = it }
+        }
+
+      runCurrent()
+      job.cancelAndJoin()
+
+      assertThat(result).isFalse()
     }
 
   @Test
@@ -178,7 +251,8 @@
         argumentCaptor()
 
       var result: Pair<Long, ByteArray?>? = null
-      val job = testScope.launch { result = underTest.generateChallenge(1L) }
+      val job =
+        testScope.launch { result = generateChallengeInteractorUnderTest.generateChallenge(1L) }
       runCurrent()
 
       verify(fingerprintManager).generateChallenge(anyInt(), capture(generateChallengeCallback))
@@ -201,7 +275,10 @@
 
       var result: Boolean? = null
       val job =
-        testScope.launch { result = underTest.removeFingerprint(fingerprintViewModelToRemove) }
+        testScope.launch {
+          result =
+            removeFingerprintsInteractorUnderTest.removeFingerprint(fingerprintViewModelToRemove)
+        }
       runCurrent()
 
       verify(fingerprintManager)
@@ -224,7 +301,10 @@
 
       var result: Boolean? = null
       val job =
-        testScope.launch { result = underTest.removeFingerprint(fingerprintViewModelToRemove) }
+        testScope.launch {
+          result =
+            removeFingerprintsInteractorUnderTest.removeFingerprint(fingerprintViewModelToRemove)
+        }
       runCurrent()
 
       verify(fingerprintManager)
@@ -246,7 +326,7 @@
     testScope.runTest {
       val fingerprintToRename = FingerprintData("Finger 2", 1, 2L)
 
-      underTest.renameFingerprint(fingerprintToRename, "Woo")
+      renameFingerprintsInteractorUnderTest.renameFingerprint(fingerprintToRename, "Woo")
 
       verify(fingerprintManager).rename(eq(fingerprintToRename.fingerId), anyInt(), safeEq("Woo"))
     }
@@ -257,7 +337,7 @@
       val fingerprint = Fingerprint("Woooo", 100, 101L)
 
       var result: FingerprintAuthAttemptModel? = null
-      val job = launch { result = underTest.authenticate() }
+      val job = launch { result = authenticateInteractorImplUnderTest.authenticate() }
 
       val authCallback: ArgumentCaptor<FingerprintManager.AuthenticationCallback> = argumentCaptor()
 
@@ -284,7 +364,7 @@
   fun testAuth_lockout() =
     testScope.runTest {
       var result: FingerprintAuthAttemptModel? = null
-      val job = launch { result = underTest.authenticate() }
+      val job = launch { result = authenticateInteractorImplUnderTest.authenticate() }
 
       val authCallback: ArgumentCaptor<FingerprintManager.AuthenticationCallback> = argumentCaptor()
 
@@ -314,7 +394,7 @@
       val token = byteArrayOf(5, 3, 2)
       var result: FingerEnrollState? = null
       val job = launch {
-        underTest
+        enrollInteractorUnderTest
           .enroll(token, EnrollReason.FindSensor, FingerprintEnrollOptions.Builder().build())
           .collect { result = it }
       }
@@ -343,7 +423,7 @@
       val token = byteArrayOf(5, 3, 2)
       var result: FingerEnrollState? = null
       val job = launch {
-        underTest
+        enrollInteractorUnderTest
           .enroll(token, EnrollReason.FindSensor, FingerprintEnrollOptions.Builder().build())
           .collect { result = it }
       }
@@ -372,7 +452,7 @@
       val token = byteArrayOf(5, 3, 2)
       var result: FingerEnrollState? = null
       val job = launch {
-        underTest
+        enrollInteractorUnderTest
           .enroll(token, EnrollReason.FindSensor, FingerprintEnrollOptions.Builder().build())
           .collect { result = it }
       }
diff --git a/tests/unit/src/com/android/settings/fingerprint2/enrollment/viewmodel/FingerprintEnrollFindSensorViewModelV2Test.kt b/tests/unit/src/com/android/settings/fingerprint2/enrollment/viewmodel/FingerprintEnrollFindSensorViewModelV2Test.kt
index 9662c39..04cece8 100644
--- a/tests/unit/src/com/android/settings/fingerprint2/enrollment/viewmodel/FingerprintEnrollFindSensorViewModelV2Test.kt
+++ b/tests/unit/src/com/android/settings/fingerprint2/enrollment/viewmodel/FingerprintEnrollFindSensorViewModelV2Test.kt
@@ -99,9 +99,10 @@
     backgroundViewModel.inForeground()
     enrollViewModel =
       FingerprintEnrollViewModel(
-        fakeFingerprintManagerInteractor,
         gatekeeperViewModel,
         navigationViewModel,
+        fakeFingerprintManagerInteractor,
+        fakeFingerprintManagerInteractor,
       )
     accessibilityInteractor =
       object : AccessibilityInteractor {
diff --git a/tests/unit/src/com/android/settings/fingerprint2/ui/enrollment/modules/enrolling/rfps/viewmodel/RFPSIconTouchViewModelTest.kt b/tests/unit/src/com/android/settings/fingerprint2/ui/enrollment/modules/enrolling/rfps/viewmodel/RFPSIconTouchViewModelTest.kt
index 46e883a..53f4726 100644
--- a/tests/unit/src/com/android/settings/fingerprint2/ui/enrollment/modules/enrolling/rfps/viewmodel/RFPSIconTouchViewModelTest.kt
+++ b/tests/unit/src/com/android/settings/fingerprint2/ui/enrollment/modules/enrolling/rfps/viewmodel/RFPSIconTouchViewModelTest.kt
@@ -49,8 +49,7 @@
   fun setup() {
     Dispatchers.setMain(backgroundDispatcher)
     testScope = TestScope(backgroundDispatcher)
-    rfpsIconTouchViewModel =
-      RFPSIconTouchViewModel()
+    rfpsIconTouchViewModel = RFPSIconTouchViewModel()
   }
 
   @After
diff --git a/tests/unit/src/com/android/settings/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollEnrollingViewModelTest.kt b/tests/unit/src/com/android/settings/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollEnrollingViewModelTest.kt
index c475cc4..cf2deec 100644
--- a/tests/unit/src/com/android/settings/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollEnrollingViewModelTest.kt
+++ b/tests/unit/src/com/android/settings/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollEnrollingViewModelTest.kt
@@ -88,9 +88,10 @@
     backgroundViewModel.inForeground()
     val fingerprintEnrollViewModel =
       FingerprintEnrollViewModel(
-        fakeFingerprintManagerInteractor,
         gateKeeperViewModel,
         navigationViewModel,
+        fakeFingerprintManagerInteractor,
+        fakeFingerprintManagerInteractor,
       )
     enrollEnrollingViewModel =
       FingerprintEnrollEnrollingViewModel(fingerprintEnrollViewModel, backgroundViewModel)
diff --git a/tests/unit/src/com/android/settings/fingerprint2/ui/settings/FingerprintSettingsNavigationViewModelTest.kt b/tests/unit/src/com/android/settings/fingerprint2/ui/settings/FingerprintSettingsNavigationViewModelTest.kt
index 201fffa..88f76dd 100644
--- a/tests/unit/src/com/android/settings/fingerprint2/ui/settings/FingerprintSettingsNavigationViewModelTest.kt
+++ b/tests/unit/src/com/android/settings/fingerprint2/ui/settings/FingerprintSettingsNavigationViewModelTest.kt
@@ -67,10 +67,11 @@
     underTest =
       FingerprintSettingsNavigationViewModel.FingerprintSettingsNavigationModelFactory(
           defaultUserId,
-          fakeFingerprintManagerInteractor,
           backgroundDispatcher,
           null,
           null,
+          fakeFingerprintManagerInteractor,
+          fakeFingerprintManagerInteractor,
         )
         .create(FingerprintSettingsNavigationViewModel::class.java)
   }
@@ -272,10 +273,11 @@
       underTest =
         FingerprintSettingsNavigationViewModel.FingerprintSettingsNavigationModelFactory(
             defaultUserId,
-            fakeFingerprintManagerInteractor,
             backgroundDispatcher,
             token,
             challenge,
+            fakeFingerprintManagerInteractor,
+            fakeFingerprintManagerInteractor,
           )
           .create(FingerprintSettingsNavigationViewModel::class.java)
 
@@ -299,10 +301,11 @@
       underTest =
         FingerprintSettingsNavigationViewModel.FingerprintSettingsNavigationModelFactory(
             defaultUserId,
-            fakeFingerprintManagerInteractor,
             backgroundDispatcher,
             token,
             challenge,
+            fakeFingerprintManagerInteractor,
+            fakeFingerprintManagerInteractor,
           )
           .create(FingerprintSettingsNavigationViewModel::class.java)
 
@@ -331,10 +334,11 @@
       underTest =
         FingerprintSettingsNavigationViewModel.FingerprintSettingsNavigationModelFactory(
             defaultUserId,
-            fakeFingerprintManagerInteractor,
             backgroundDispatcher,
             token,
             challenge,
+            fakeFingerprintManagerInteractor,
+            fakeFingerprintManagerInteractor,
           )
           .create(FingerprintSettingsNavigationViewModel::class.java)
 
diff --git a/tests/unit/src/com/android/settings/fingerprint2/ui/settings/FingerprintSettingsViewModelTest.kt b/tests/unit/src/com/android/settings/fingerprint2/ui/settings/FingerprintSettingsViewModelTest.kt
index 1618e16..79163d9 100644
--- a/tests/unit/src/com/android/settings/fingerprint2/ui/settings/FingerprintSettingsViewModelTest.kt
+++ b/tests/unit/src/com/android/settings/fingerprint2/ui/settings/FingerprintSettingsViewModelTest.kt
@@ -73,19 +73,25 @@
     navigationViewModel =
       FingerprintSettingsNavigationViewModel.FingerprintSettingsNavigationModelFactory(
           defaultUserId,
-          fakeFingerprintManagerInteractor,
           backgroundDispatcher,
           null,
           null,
+          fakeFingerprintManagerInteractor,
+          fakeFingerprintManagerInteractor,
         )
         .create(FingerprintSettingsNavigationViewModel::class.java)
 
     underTest =
       FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
           defaultUserId,
-          fakeFingerprintManagerInteractor,
           backgroundDispatcher,
           navigationViewModel,
+          fakeFingerprintManagerInteractor,
+          fakeFingerprintManagerInteractor,
+          fakeFingerprintManagerInteractor,
+          fakeFingerprintManagerInteractor,
+          fakeFingerprintManagerInteractor,
+          fakeFingerprintManagerInteractor,
         )
         .create(FingerprintSettingsViewModel::class.java)
   }
@@ -114,14 +120,7 @@
       fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
         mutableListOf(FingerprintData("a", 1, 3L))
 
-      underTest =
-        FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
-            defaultUserId,
-            fakeFingerprintManagerInteractor,
-            backgroundDispatcher,
-            navigationViewModel,
-          )
-          .create(FingerprintSettingsViewModel::class.java)
+      recreateSettingsViewModel()
 
       var authAttempt: FingerprintAuthAttemptModel? = null
       val job = launch { underTest.authFlow.take(5).collectLatest { authAttempt = it } }
@@ -156,14 +155,7 @@
       fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
         mutableListOf(FingerprintData("a", 1, 3L))
 
-      underTest =
-        FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
-            defaultUserId,
-            fakeFingerprintManagerInteractor,
-            backgroundDispatcher,
-            navigationViewModel,
-          )
-          .create(FingerprintSettingsViewModel::class.java)
+      recreateSettingsViewModel()
 
       var authAttempt: FingerprintAuthAttemptModel? = null
       val job = launch { underTest.authFlow.take(5).collectLatest { authAttempt = it } }
@@ -198,14 +190,7 @@
       val success = FingerprintAuthAttemptModel.Success(1)
       fakeFingerprintManagerInteractor.authenticateAttempt = success
 
-      underTest =
-        FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
-            defaultUserId,
-            fakeFingerprintManagerInteractor,
-            backgroundDispatcher,
-            navigationViewModel,
-          )
-          .create(FingerprintSettingsViewModel::class.java)
+      recreateSettingsViewModel()
 
       var authAttempt: FingerprintAuthAttemptModel? = null
 
@@ -225,14 +210,7 @@
     fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
       mutableListOf(fingerprintToDelete)
 
-    underTest =
-      FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
-          defaultUserId,
-          fakeFingerprintManagerInteractor,
-          backgroundDispatcher,
-          navigationViewModel,
-        )
-        .create(FingerprintSettingsViewModel::class.java)
+    recreateSettingsViewModel()
 
     var dialog: PreferenceViewModel? = null
     val dialogJob = launch { underTest.isShowingDialog.collect { dialog = it } }
@@ -261,14 +239,7 @@
     fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
       mutableListOf(fingerprintToRename)
 
-    underTest =
-      FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
-          defaultUserId,
-          fakeFingerprintManagerInteractor,
-          backgroundDispatcher,
-          navigationViewModel,
-        )
-        .create(FingerprintSettingsViewModel::class.java)
+    recreateSettingsViewModel()
 
     var dialog: PreferenceViewModel? = null
     val dialogJob = launch { underTest.isShowingDialog.collect { dialog = it } }
@@ -299,14 +270,7 @@
     fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
       mutableListOf(fingerprintToDelete)
 
-    underTest =
-      FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
-          defaultUserId,
-          fakeFingerprintManagerInteractor,
-          backgroundDispatcher,
-          navigationViewModel,
-        )
-        .create(FingerprintSettingsViewModel::class.java)
+    recreateSettingsViewModel()
 
     var dialog: PreferenceViewModel? = null
     val dialogJob = launch { underTest.isShowingDialog.collect { dialog = it } }
@@ -390,6 +354,22 @@
       assertThat(authAttempt).isEqualTo(null)
     }
 
+  private fun recreateSettingsViewModel() {
+    underTest =
+      FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
+          defaultUserId,
+          backgroundDispatcher,
+          navigationViewModel,
+          fakeFingerprintManagerInteractor,
+          fakeFingerprintManagerInteractor,
+          fakeFingerprintManagerInteractor,
+          fakeFingerprintManagerInteractor,
+          fakeFingerprintManagerInteractor,
+          fakeFingerprintManagerInteractor,
+        )
+        .create(FingerprintSettingsViewModel::class.java)
+  }
+
   private fun setupAuth(): MutableList<FingerprintData> {
     fakeFingerprintManagerInteractor.sensorProp =
       FingerprintSensorPropertiesInternal(
@@ -409,14 +389,7 @@
     val success = FingerprintAuthAttemptModel.Success(1)
     fakeFingerprintManagerInteractor.authenticateAttempt = success
 
-    underTest =
-      FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
-          defaultUserId,
-          fakeFingerprintManagerInteractor,
-          backgroundDispatcher,
-          navigationViewModel,
-        )
-        .create(FingerprintSettingsViewModel::class.java)
+    recreateSettingsViewModel()
 
     return fingerprints
   }
diff --git a/tests/unit/src/com/android/settings/fuelgauge/batteryusage/AppOptModeSharedPreferencesUtilsTest.kt b/tests/unit/src/com/android/settings/fuelgauge/batteryusage/AppOptModeSharedPreferencesUtilsTest.kt
index 76ae491..95f69da 100644
--- a/tests/unit/src/com/android/settings/fuelgauge/batteryusage/AppOptModeSharedPreferencesUtilsTest.kt
+++ b/tests/unit/src/com/android/settings/fuelgauge/batteryusage/AppOptModeSharedPreferencesUtilsTest.kt
@@ -26,6 +26,7 @@
 import com.android.settings.fuelgauge.BatteryOptimizeUtils.MODE_UNKNOWN
 import com.android.settings.fuelgauge.BatteryOptimizeUtils.MODE_UNRESTRICTED
 import com.android.settings.fuelgauge.batteryusage.AppOptModeSharedPreferencesUtils.UNLIMITED_EXPIRE_TIME
+import com.android.settings.testutils.FakeFeatureFactory
 import com.google.common.truth.Truth.assertThat
 import org.junit.After
 import org.junit.Before
@@ -51,9 +52,14 @@
     @Spy
     private var testBatteryOptimizeUtils = spy(BatteryOptimizeUtils(context, UID, PACKAGE_NAME))
 
+    private lateinit var featureFactory: FakeFeatureFactory
+
     @Before
     fun setup() {
         AppOptModeSharedPreferencesUtils.clearAll(context)
+        featureFactory = FakeFeatureFactory.setupForTest()
+        whenever(featureFactory.powerUsageFeatureProvider.isForceExpireAppOptimizationModeEnabled)
+            .thenReturn(false)
     }
 
     @After
@@ -77,8 +83,17 @@
     }
 
     @Test
-    fun updateAppOptModeExpirationInternal_withExpirationTime_verifyData() {
-        insertAppOptModeEventForTest(expirationTime = 1000L)
+    fun updateAppOptModeExpirationInternal_withoutExpirationTime_verifyEmptyList() {
+        insertAppOptModeEventForTest(expirationTime = UNLIMITED_EXPIRE_TIME)
+
+        assertThat(AppOptModeSharedPreferencesUtils.getAllEvents(context)).isEmpty()
+    }
+
+    @Test
+    fun updateAppOptModeExpirationInternal_setOptimizedModeWithFlagEnabled_verifyData() {
+        whenever(featureFactory.powerUsageFeatureProvider.isRestrictedModeOverwriteEnabled)
+            .thenReturn(true)
+        insertAppOptModeEventForTest(expirationTime = 1000L, mode = MODE_OPTIMIZED)
 
         val events = AppOptModeSharedPreferencesUtils.getAllEvents(context)
 
@@ -93,8 +108,46 @@
     }
 
     @Test
-    fun updateAppOptModeExpirationInternal_withoutExpirationTime_verifyEmptyList() {
-        insertAppOptModeEventForTest(expirationTime = UNLIMITED_EXPIRE_TIME)
+    fun updateAppOptModeExpirationInternal_setOptimizedModeWithFlagDisabled_verifyData() {
+        whenever(featureFactory.powerUsageFeatureProvider.isRestrictedModeOverwriteEnabled)
+            .thenReturn(false)
+        insertAppOptModeEventForTest(expirationTime = 1000L, mode = MODE_OPTIMIZED)
+
+        val events = AppOptModeSharedPreferencesUtils.getAllEvents(context)
+
+        assertThat(events).hasSize(1)
+        assertAppOptimizationModeEventInfo(
+            events[0],
+            UID,
+            PACKAGE_NAME,
+            MODE_OPTIMIZED,
+            expirationTime = 1000L
+        )
+    }
+
+    @Test
+    fun updateAppOptModeExpirationInternal_setRestrictedModeWithFlagEnabled_verifyData() {
+        whenever(featureFactory.powerUsageFeatureProvider.isRestrictedModeOverwriteEnabled)
+            .thenReturn(true)
+        insertAppOptModeEventForTest(expirationTime = 1000L, mode = MODE_RESTRICTED)
+
+        val events = AppOptModeSharedPreferencesUtils.getAllEvents(context)
+
+        assertThat(events).hasSize(1)
+        assertAppOptimizationModeEventInfo(
+            events[0],
+            UID,
+            PACKAGE_NAME,
+            MODE_RESTRICTED,
+            expirationTime = 1000L
+        )
+    }
+
+    @Test
+    fun updateAppOptModeExpirationInternal_setRestrictedModeWithFlagDisabled_verifyEmptyList() {
+        whenever(featureFactory.powerUsageFeatureProvider.isRestrictedModeOverwriteEnabled)
+            .thenReturn(false)
+        insertAppOptModeEventForTest(expirationTime = 1000L, mode = MODE_RESTRICTED)
 
         assertThat(AppOptModeSharedPreferencesUtils.getAllEvents(context)).isEmpty()
     }
@@ -127,6 +180,20 @@
     }
 
     @Test
+    fun resetExpiredAppOptModeBeforeTimestamp_forceExpiredData_verifyEmptyList() {
+        whenever(featureFactory.powerUsageFeatureProvider.isForceExpireAppOptimizationModeEnabled)
+            .thenReturn(true)
+        insertAppOptModeEventForTest(expirationTime = 1000L)
+
+        AppOptModeSharedPreferencesUtils.resetExpiredAppOptModeBeforeTimestamp(
+            context,
+            queryTimestampMs = 999L
+        )
+
+        assertThat(AppOptModeSharedPreferencesUtils.getAllEvents(context)).isEmpty()
+    }
+
+    @Test
     fun resetExpiredAppOptModeBeforeTimestamp_noExpiredData_verifyData() {
         insertAppOptModeEventForTest(expirationTime = 1000L)
 
@@ -217,14 +284,14 @@
         assertThat(currentOptMode).isEqualTo(MODE_RESTRICTED)
     }
 
-    private fun insertAppOptModeEventForTest(expirationTime: Long) {
+    private fun insertAppOptModeEventForTest(expirationTime: Long, mode: Int = MODE_OPTIMIZED) {
         whenever(testBatteryOptimizeUtils?.isOptimizeModeMutable).thenReturn(true)
-        whenever(testBatteryOptimizeUtils?.getAppOptimizationMode(true)).thenReturn(MODE_OPTIMIZED)
+        whenever(testBatteryOptimizeUtils?.getAppOptimizationMode(true)).thenReturn(mode)
         AppOptModeSharedPreferencesUtils.updateAppOptModeExpirationInternal(
             context,
             mutableListOf(UID),
             mutableListOf(PACKAGE_NAME),
-            mutableListOf(MODE_OPTIMIZED),
+            mutableListOf(mode),
             longArrayOf(expirationTime),
         ) { _: Int, _: String ->
             testBatteryOptimizeUtils
diff --git a/tests/unit/src/com/android/settings/localepicker/TermsOfAddressCategoryControllerTest.java b/tests/unit/src/com/android/settings/localepicker/TermsOfAddressCategoryControllerTest.java
index e316b25..b025abd 100644
--- a/tests/unit/src/com/android/settings/localepicker/TermsOfAddressCategoryControllerTest.java
+++ b/tests/unit/src/com/android/settings/localepicker/TermsOfAddressCategoryControllerTest.java
@@ -17,13 +17,11 @@
 package com.android.settings.localepicker;
 
 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.spy;
 
-import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.Looper;
 
@@ -67,14 +65,6 @@
     }
 
     @Test
-    public void getAvailabilityStatus_returnUnavailable() {
-        Locale.setDefault(Locale.forLanguageTag("fr-CA"));
-
-        assertThat(mTermsOfAddressCategoryController.getAvailabilityStatus()).isEqualTo(
-                CONDITIONALLY_UNAVAILABLE);
-    }
-
-    @Test
     public void getAvailabilityStatus_returnAvailable() {
         Locale.setDefault(Locale.forLanguageTag("fr-FR"));
 
diff --git a/tests/unit/src/com/android/settings/network/InternetPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/InternetPreferenceControllerTest.java
deleted file mode 100644
index 8a4acd2..0000000
--- a/tests/unit/src/com/android/settings/network/InternetPreferenceControllerTest.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.network;
-
-import static com.android.settings.network.InternetUpdater.INTERNET_NETWORKS_AVAILABLE;
-import static com.android.settings.network.InternetUpdater.INTERNET_WIFI;
-
-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.times;
-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.net.ConnectivityManager;
-import android.net.NetworkRequest;
-import android.net.NetworkScoreManager;
-import android.net.wifi.WifiManager;
-import android.os.Handler;
-import android.os.Looper;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-
-import androidx.lifecycle.Lifecycle;
-import androidx.lifecycle.LifecycleOwner;
-import androidx.lifecycle.LifecycleRegistry;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceManager;
-import androidx.preference.PreferenceScreen;
-import androidx.test.annotation.UiThreadTest;
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.R;
-import com.android.settings.testutils.ResourcesUtils;
-import com.android.settings.wifi.WifiPickerTrackerHelper;
-import com.android.settings.wifi.WifiSummaryUpdater;
-import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
-import com.android.wifitrackerlib.HotspotNetworkEntry;
-import com.android.wifitrackerlib.StandardWifiEntry;
-import com.android.wifitrackerlib.WifiPickerTracker;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.Spy;
-import org.mockito.junit.MockitoJUnit;
-import org.mockito.junit.MockitoRule;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@RunWith(AndroidJUnit4.class)
-public class InternetPreferenceControllerTest {
-
-    private static final String TEST_SUMMARY = "test summary";
-    private static final String TEST_ALTERNATE_SUMMARY = "test alternate summary";
-    private static final String NOT_CONNECTED = "Not connected";
-    private static final String SUB_ID_1 = "1";
-    private static final String SUB_ID_2 = "2";
-    private static final String INVALID_SUB_ID = "-1";
-    private static final String DISPLAY_NAME_1 = "Sub 1";
-    private static final String DISPLAY_NAME_2 = "Sub 2";
-    private static final String SUB_MCC_1 = "123";
-    private static final String SUB_MNC_1 = "456";
-    private static final String SUB_MCC_2 = "223";
-    private static final String SUB_MNC_2 = "456";
-    private static final String SUB_COUNTRY_ISO_1 = "Sub 1";
-    private static final String SUB_COUNTRY_ISO_2 = "Sub 2";
-
-    @Rule
-    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
-    @Spy
-    private Context mContext = ApplicationProvider.getApplicationContext();
-    @Mock
-    private SubscriptionInfoEntity mActiveSubInfo;
-    @Mock
-    private SubscriptionInfoEntity mDefaultDataSubInfo;
-    @Mock
-    private ConnectivityManager mConnectivityManager;
-    @Mock
-    private LifecycleOwner mLifecycleOwner;
-    @Mock
-    private WifiManager mWifiManager;
-    @Mock
-    private WifiSummaryUpdater mSummaryHelper;
-    @Mock
-    private WifiPickerTrackerHelper mWifiPickerTrackerHelper;
-    @Mock
-    private WifiPickerTracker mWifiPickerTracker;
-    @Mock
-    private HotspotNetworkEntry mHotspotNetworkEntry;
-
-    private LifecycleRegistry mLifecycleRegistry;
-
-    private MockInternetPreferenceController mController;
-    private PreferenceScreen mScreen;
-    private Preference mPreference;
-    private List<SubscriptionInfoEntity> mSubscriptionInfoEntityList = new ArrayList<>();
-
-    @Before
-    public void setUp() {
-        when(mContext.getSystemService(ConnectivityManager.class)).thenReturn(mConnectivityManager);
-        when(mContext.getSystemService(NetworkScoreManager.class))
-                .thenReturn(mock(NetworkScoreManager.class));
-        when(mContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager);
-        when(mWifiManager.getWifiState()).thenReturn(WifiManager.WIFI_STATE_DISABLED);
-        when(mWifiPickerTrackerHelper.getWifiPickerTracker()).thenReturn(mWifiPickerTracker);
-        when(mWifiPickerTracker.getConnectedWifiEntry()).thenReturn(null /* WifiEntry */);
-        when(mHotspotNetworkEntry.getAlternateSummary()).thenReturn(TEST_ALTERNATE_SUMMARY);
-
-        if (Looper.myLooper() == null) {
-            Looper.prepare();
-        }
-        mLifecycleRegistry = new LifecycleRegistry(mLifecycleOwner);
-        when(mLifecycleOwner.getLifecycle()).thenReturn(mLifecycleRegistry);
-        mController = new MockInternetPreferenceController(mContext, mock(Lifecycle.class),
-                mLifecycleOwner);
-        mController.sIconMap.put(INTERNET_WIFI, 0);
-        mController.mWifiPickerTrackerHelper = mWifiPickerTrackerHelper;
-
-        final PreferenceManager preferenceManager = new PreferenceManager(mContext);
-        mScreen = preferenceManager.createPreferenceScreen(mContext);
-        mPreference = new Preference(mContext);
-        mPreference.setKey(InternetPreferenceController.KEY);
-        mScreen.addPreference(mPreference);
-    }
-
-    private class MockInternetPreferenceController extends
-            com.android.settings.network.InternetPreferenceController {
-
-        private int mDefaultDataSubscriptionId;
-        public MockInternetPreferenceController(Context context, Lifecycle lifecycle,
-                LifecycleOwner lifecycleOwner) {
-            super(context, lifecycle, lifecycleOwner);
-        }
-
-        private List<SubscriptionInfoEntity> mSubscriptionInfoEntity;
-
-        @Override
-        protected List<SubscriptionInfoEntity> getSubscriptionInfoList() {
-            return mSubscriptionInfoEntity;
-        }
-
-        public void setSubscriptionInfoList(List<SubscriptionInfoEntity> list) {
-            mSubscriptionInfoEntity = list;
-        }
-
-        @Override
-        protected int getDefaultDataSubscriptionId() {
-            return mDefaultDataSubscriptionId;
-        }
-
-        public void setDefaultDataSubscriptionId(int subscriptionId) {
-            mDefaultDataSubscriptionId = subscriptionId;
-        }
-
-    }
-
-    private SubscriptionInfoEntity setupSubscriptionInfoEntity(String subId, int slotId,
-            int carrierId, String displayName, String mcc, String mnc, String countryIso,
-            int cardId, boolean isVisible, boolean isValid, boolean isActive, boolean isAvailable,
-            boolean isActiveData) {
-        return new SubscriptionInfoEntity(subId, slotId, carrierId,
-                displayName, displayName, 0, mcc, mnc, countryIso, false, cardId,
-                TelephonyManager.DEFAULT_PORT_INDEX, false, null,
-                SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, displayName, isVisible,
-                "1234567890", true, false, isValid, true, isActive, isAvailable, isActiveData);
-    }
-
-    @Test
-    public void isAvailable_shouldMatchPrefFlag() {
-        assertThat(mController.isAvailable()).isEqualTo(
-                mContext.getResources().getBoolean(R.bool.config_show_internet_settings));
-    }
-
-    @Test
-    @UiThreadTest
-    public void onResume_shouldRegisterCallback() {
-        mController.onResume();
-
-        verify(mContext).registerReceiver(any(BroadcastReceiver.class), any(IntentFilter.class),
-                any(int.class));
-        verify(mConnectivityManager).registerNetworkCallback(
-                any(NetworkRequest.class),
-                any(ConnectivityManager.NetworkCallback.class),
-                any(Handler.class));
-    }
-
-    @Test
-    @UiThreadTest
-    public void onPause_shouldUnregisterCallback() {
-        mController.onResume();
-        mController.onPause();
-
-        verify(mContext, times(2)).unregisterReceiver(any(BroadcastReceiver.class));
-        verify(mConnectivityManager, times(2)).unregisterNetworkCallback(
-                any(ConnectivityManager.NetworkCallback.class));
-    }
-
-    @Test
-    public void onSummaryChanged_internetWifi_updateSummary() {
-        when(mSummaryHelper.getSummary()).thenReturn(TEST_SUMMARY);
-        mController.mSummaryHelper = mSummaryHelper;
-        mController.onInternetTypeChanged(INTERNET_WIFI);
-        mController.displayPreference(mScreen);
-
-        mController.onSummaryChanged(TEST_SUMMARY);
-
-        assertThat(mPreference.getSummary()).isEqualTo(TEST_SUMMARY);
-    }
-
-    @Test
-    public void onSummaryChanged_internetNetworksAvailable_notUpdateSummary() {
-        when(mSummaryHelper.getSummary()).thenReturn(TEST_SUMMARY);
-        mController.mSummaryHelper = mSummaryHelper;
-        mController.onInternetTypeChanged(INTERNET_NETWORKS_AVAILABLE);
-        mController.displayPreference(mScreen);
-        mPreference.setSummary(NOT_CONNECTED);
-
-        mController.onSummaryChanged(TEST_SUMMARY);
-
-        assertThat(mPreference.getSummary()).isNotEqualTo(TEST_SUMMARY);
-    }
-
-    @Test
-    public void updateCellularSummary_getNullSubscriptionInfo_shouldNotCrash() {
-        mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
-
-        mController.updateCellularSummary();
-    }
-
-    @Test
-    public void updateCellularSummary_getActiveSubscriptionInfo_cbrs() {
-        mController.setDefaultDataSubscriptionId(Integer.parseInt(SUB_ID_2));
-        mActiveSubInfo = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
-                SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, false, true, true, true, true);
-        mDefaultDataSubInfo = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
-                SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, false, true, true, true, false);
-        mSubscriptionInfoEntityList.add(mActiveSubInfo);
-        mSubscriptionInfoEntityList.add(mDefaultDataSubInfo);
-        mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
-        mController.displayPreference(mScreen);
-
-        mController.updateCellularSummary();
-        assertThat(mPreference.getSummary()).isEqualTo(DISPLAY_NAME_2);
-
-        mActiveSubInfo = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
-                SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true, true, true);
-        mSubscriptionInfoEntityList.add(mActiveSubInfo);
-        mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
-        mController.onAvailableSubInfoChanged(mSubscriptionInfoEntityList);
-        final String expectedSummary =
-                ResourcesUtils.getResourcesString(mContext, "mobile_data_temp_using",
-                        DISPLAY_NAME_1);
-        mController.updateCellularSummary();
-        assertThat(mPreference.getSummary()).isEqualTo(expectedSummary);
-    }
-
-    @Test
-    public void updateHotspotNetwork_isHotspotNetworkEntry_updateAlternateSummary() {
-        when(mWifiPickerTracker.getConnectedWifiEntry()).thenReturn(mHotspotNetworkEntry);
-        mController.onInternetTypeChanged(INTERNET_WIFI);
-        mController.displayPreference(mScreen);
-        mPreference.setSummary(TEST_SUMMARY);
-
-        mController.updateHotspotNetwork();
-
-        assertThat(mPreference.getSummary().toString()).isEqualTo(TEST_ALTERNATE_SUMMARY);
-    }
-
-    @Test
-    public void updateHotspotNetwork_notHotspotNetworkEntry_notChangeSummary() {
-        when(mWifiPickerTracker.getConnectedWifiEntry()).thenReturn(mock(StandardWifiEntry.class));
-        mController.onInternetTypeChanged(INTERNET_WIFI);
-        mController.displayPreference(mScreen);
-        mPreference.setSummary(TEST_SUMMARY);
-
-        mController.updateHotspotNetwork();
-
-        assertThat(mPreference.getSummary().toString()).isEqualTo(TEST_SUMMARY);
-    }
-
-    @Test
-    public void updateHotspotNetwork_hotspotNetworkNotEnabled_returnFalse() {
-        mController.mWifiPickerTrackerHelper = null;
-
-        assertThat(mController.updateHotspotNetwork()).isFalse();
-    }
-}
diff --git a/tests/unit/src/com/android/settings/network/NetworkProviderCallsSmsFragmentTest.java b/tests/unit/src/com/android/settings/network/NetworkProviderCallsSmsFragmentTest.java
index cc9e116..fa61820 100644
--- a/tests/unit/src/com/android/settings/network/NetworkProviderCallsSmsFragmentTest.java
+++ b/tests/unit/src/com/android/settings/network/NetworkProviderCallsSmsFragmentTest.java
@@ -22,6 +22,7 @@
 
 import android.content.Context;
 import android.os.Looper;
+import android.platform.test.annotations.DisableFlags;
 import android.platform.test.flag.junit.SetFlagsRule;
 
 import androidx.test.annotation.UiThreadTest;
@@ -54,11 +55,11 @@
         if (Looper.myLooper() == null) {
             Looper.prepare();
         }
-        mSetFlagsRule.disableFlags(Flags.FLAG_IS_DUAL_SIM_ONBOARDING_ENABLED);
     }
 
     @Test
     @UiThreadTest
+    @DisableFlags(Flags.FLAG_IS_DUAL_SIM_ONBOARDING_ENABLED)
     public void isPageSearchEnabled_shouldIncludeFragmentXml() {
         mPreferenceKeyList =
                 NetworkProviderCallsSmsFragment.SEARCH_INDEX_DATA_PROVIDER
diff --git a/tests/unit/src/com/android/settings/network/NetworkProviderSimListControllerTest.java b/tests/unit/src/com/android/settings/network/NetworkProviderSimListControllerTest.java
index a98f83b..2b78212 100644
--- a/tests/unit/src/com/android/settings/network/NetworkProviderSimListControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/NetworkProviderSimListControllerTest.java
@@ -28,7 +28,6 @@
 import android.content.Context;
 import android.os.Looper;
 import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
 import android.text.TextUtils;
 
 import androidx.lifecycle.LifecycleOwner;
@@ -63,12 +62,6 @@
     private static final String KEY_PREFERENCE_CATEGORY_SIM = "provider_model_sim_category";
     private static final String DISPLAY_NAME_1 = "Sub 1";
     private static final String DISPLAY_NAME_2 = "Sub 2";
-    private static final String SUB_MCC_1 = "123";
-    private static final String SUB_MNC_1 = "456";
-    private static final String SUB_MCC_2 = "223";
-    private static final String SUB_MNC_2 = "456";
-    private static final String SUB_COUNTRY_ISO_1 = "Sub 1";
-    private static final String SUB_COUNTRY_ISO_2 = "Sub 2";
 
     @Mock
     private SubscriptionInfoEntity mSubInfo1;
@@ -140,12 +133,9 @@
     }
 
     private SubscriptionInfoEntity setupSubscriptionInfoEntity(String subId, int slotId,
-            int carrierId, String displayName, String mcc, String mnc, String countryIso,
-            int cardId, boolean isValid, boolean isActive, boolean isAvailable) {
-        return new SubscriptionInfoEntity(subId, slotId, carrierId, displayName, displayName, 0,
-                mcc, mnc, countryIso, false, cardId, TelephonyManager.DEFAULT_PORT_INDEX, false,
-                null, SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, displayName, false,
-                "1234567890", true, false, isValid, true, isActive, isAvailable, false);
+            String displayName, boolean isValid, boolean isActive) {
+        return new SubscriptionInfoEntity(subId, slotId, false, false, displayName, false,
+                false, isValid, isActive, false);
     }
 
     private String setSummaryResId(String resName, String value) {
@@ -159,8 +149,7 @@
     @Test
     @UiThreadTest
     public void getSummary_tapToActivePSim() {
-        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
-                SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, false, true);
+        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, DISPLAY_NAME_1, true, false);
         mSubscriptionInfoEntityList.add(mSubInfo1);
         mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
         displayPreferenceWithLifecycle();
@@ -172,8 +161,7 @@
     @Test
     @UiThreadTest
     public void getSummary_inactivePSim() {
-        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
-                SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, false, true);
+        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, DISPLAY_NAME_1, true, false);
         doReturn(true).when(mSubscriptionManager).canDisablePhysicalSubscription();
         mSubscriptionInfoEntityList.add(mSubInfo1);
         mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
@@ -187,8 +175,7 @@
     @Test
     @UiThreadTest
     public void getSummary_defaultCalls() {
-        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
-                SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
+        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, DISPLAY_NAME_1, true, true);
         mSubscriptionInfoEntityList.add(mSubInfo1);
         mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
 
@@ -209,8 +196,7 @@
         defaultConfig.append(setSummaryResId("default_active_sim_calls"))
                 .append(", ")
                 .append(setSummaryResId("default_active_sim_sms"));
-        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
-                SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
+        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, DISPLAY_NAME_1, true, true);
         mSubscriptionInfoEntityList.add(mSubInfo1);
         mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
 
@@ -228,10 +214,8 @@
     @Test
     @UiThreadTest
     public void getAvailablePhysicalSubscription_withTwoPhysicalSims_returnTwo() {
-        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
-                SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
-        mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
-                SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true);
+        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, DISPLAY_NAME_1, true, true);
+        mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, DISPLAY_NAME_2, true, true);
         mSubscriptionInfoEntityList.add(mSubInfo1);
         mSubscriptionInfoEntityList.add(mSubInfo2);
         mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
diff --git a/tests/unit/src/com/android/settings/network/UiccSlotUtilTest.java b/tests/unit/src/com/android/settings/network/UiccSlotUtilTest.java
index 2aa1573..83a6fed 100644
--- a/tests/unit/src/com/android/settings/network/UiccSlotUtilTest.java
+++ b/tests/unit/src/com/android/settings/network/UiccSlotUtilTest.java
@@ -38,8 +38,6 @@
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
-import com.google.common.collect.ImmutableList;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -47,7 +45,6 @@
 import org.mockito.MockitoAnnotations;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Iterator;
@@ -82,25 +79,6 @@
     }
 
     @Test
-    public void getSlotInfos_oneSimSlotDevice_returnTheCorrectSlotInfoList() {
-        when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(oneSimSlotDeviceActivePsim());
-        ImmutableList<UiccSlotInfo> testUiccSlotInfos =
-                UiccSlotUtil.getSlotInfos(mTelephonyManager);
-
-        assertThat(testUiccSlotInfos.size()).isEqualTo(1);
-    }
-
-    @Test
-    public void getSlotInfos_twoSimSlotsDevice_returnTheCorrectSlotInfoList() {
-        when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
-                twoSimSlotsDeviceActivePsimActiveEsim());
-        ImmutableList<UiccSlotInfo> testUiccSlotInfos =
-                UiccSlotUtil.getSlotInfos(mTelephonyManager);
-
-        assertThat(testUiccSlotInfos.size()).isEqualTo(2);
-    }
-
-    @Test
     public void getEsimSlotId_twoSimSlotsDeviceAndEsimIsSlot0_returnTheCorrectEsimSlot() {
         when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
                 twoSimSlotsDeviceActiveEsimActivePsim());
@@ -643,105 +621,7 @@
         assertThat(testExcludedLogicalSlotIndex).isEqualTo(verifyExcludedLogicalSlotIndex);
     }
 
-    @Test
-    public void isRemovableSimEnabled_noPsim_returnsFalse() {
-        when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
-                oneSimSlotDeviceActiveEsim());
 
-        boolean testSlot = UiccSlotUtil.isRemovableSimEnabled(mTelephonyManager);
-
-        assertThat(testSlot).isFalse();
-    }
-
-    @Test
-    public void isRemovableSimEnabled_activeRemovableEsimAndInactivePsim_returnsFalse() {
-        when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
-                twoSimSlotsDeviceActiveRemovableEsimInactivePsim());
-
-        boolean testSlot = UiccSlotUtil.isRemovableSimEnabled(mTelephonyManager);
-
-        assertThat(testSlot).isFalse();
-    }
-
-    @Test
-    public void isRemovableSimEnabled_activeRemovableEsimAndActivePsim_returnsTrue() {
-        when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
-                twoSimSlotsDeviceActivePsimActiveRemovableEsim());
-
-        boolean testSlot = UiccSlotUtil.isRemovableSimEnabled(mTelephonyManager);
-
-        assertThat(testSlot).isTrue();
-    }
-
-    @Test
-    public void isRemovableSimEnabled_inactiveRemovableEsimAndActivePsim_returnsTrue() {
-        when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
-                twoSimSlotsDeviceInactiveRemovableEsimActivePsim());
-
-        boolean testSlot = UiccSlotUtil.isRemovableSimEnabled(mTelephonyManager);
-
-        assertThat(testSlot).isTrue();
-    }
-
-    @Test
-    public void isRemovableSimEnabled_twoActiveRemovableEsimsAndInactivePsim_returnsFalse() {
-        when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
-                twoSimSlotsDeviceTwoActiveRemovableEsimsInactivePsim());
-
-        boolean testSlot = UiccSlotUtil.isRemovableSimEnabled(mTelephonyManager);
-
-        assertThat(testSlot).isFalse();
-    }
-
-    @Test
-    public void isRemovableSimEnabled_oneActiveOneInactiveRemovableEsimActivePsim_returnsTrue() {
-        when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
-                twoSimSlotsDeviceOneActiveOneInactiveRemovableEsimsActivePsim());
-
-        boolean testSlot = UiccSlotUtil.isRemovableSimEnabled(mTelephonyManager);
-
-        assertThat(testSlot).isTrue();
-    }
-
-    @Test
-    public void isRemovableSimEnabled_activePsim_returnsTrue() {
-        when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
-                oneSimSlotDeviceActivePsim());
-
-        boolean testSlot = UiccSlotUtil.isRemovableSimEnabled(mTelephonyManager);
-
-        assertThat(testSlot).isTrue();
-    }
-
-    @Test
-    public void isRemovableSimEnabled_inactivePsim_returnsFalse() {
-        when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
-                oneSimSlotDeviceinactivePsim());
-
-        boolean testSlot = UiccSlotUtil.isRemovableSimEnabled(mTelephonyManager);
-
-        assertThat(testSlot).isFalse();
-    }
-
-    @Test
-    public void isRemovableSimEnabled_activeEsimAndActivePsim_returnsTrue() {
-        when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
-                twoSimSlotsDeviceActivePsimActiveEsim());
-
-        boolean testSlot = UiccSlotUtil.isRemovableSimEnabled(mTelephonyManager);
-
-        assertThat(testSlot).isTrue();
-    }
-
-    @Test
-    public void isRemovableSimEnabled_activeEsimAndInactivePsim_returnsFalse() {
-        when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
-                twoSimSlotsDeviceInactivePsimActiveEsim());
-
-        boolean testSlot = UiccSlotUtil.isRemovableSimEnabled(mTelephonyManager);
-
-        assertThat(testSlot).isFalse();
-    }
 
     @Test
     public void performSwitchToSlot_setSimSlotMapping() throws UiccSlotsException {
@@ -856,13 +736,6 @@
         return slotMap;
     }
 
-    private List<UiccSlotMapping> createUiccSlotMappingSsModeEsimPort1Active() {
-        List<UiccSlotMapping> slotMap = new ArrayList<>();
-        slotMap.add(new UiccSlotMapping(1, ESIM_PHYSICAL_SLOT, 0));
-
-        return slotMap;
-    }
-
     private List<UiccSlotMapping> createUiccSlotMappingPsimAndPort0() {
         List<UiccSlotMapping> slotMap = new ArrayList<>();
         slotMap.add(new UiccSlotMapping(0, PSIM_PHYSICAL_SLOT, 0));
@@ -915,14 +788,6 @@
         return new UiccSlotInfo[]{createUiccSlotInfo(false, true, 0, true)};
     }
 
-    private UiccSlotInfo[] oneSimSlotDeviceActiveEsim() {
-        return new UiccSlotInfo[]{createUiccSlotInfo(true, false, 1, true)};
-    }
-
-    private UiccSlotInfo[] oneSimSlotDeviceinactivePsim() {
-        return new UiccSlotInfo[]{createUiccSlotInfo(false, true, -1, false)};
-    }
-
     private UiccSlotInfo[] twoSimSlotsDeviceActivePsimActiveEsim() {
         return new UiccSlotInfo[]{
                 createUiccSlotInfo(false, true, 0, true),
@@ -941,61 +806,12 @@
                 createUiccSlotInfo(true, true, 1, true)};
     }
 
-    private UiccSlotInfo[] twoSimSlotsDeviceActiveRemovableEsimInactivePsim() {
-        return new UiccSlotInfo[]{
-                createUiccSlotInfo(true, true, 0, true),
-                createUiccSlotInfo(false, true, -1, false)};
-    }
-
-    private UiccSlotInfo[] twoSimSlotsDeviceInactiveRemovableEsimActivePsim() {
-        return new UiccSlotInfo[]{
-                createUiccSlotInfo(true, true, -1, false),
-                createUiccSlotInfo(false, true, 0, true)};
-    }
-
-    private UiccSlotInfo[] twoSimSlotsDeviceTwoActiveRemovableEsimsInactivePsim() {
-        return new UiccSlotInfo[]{
-                createUiccSlotInfoForRemovableEsimMep(0, true, 1, true),
-                createUiccSlotInfo(false, true, -1, false)};
-    }
-
-    private UiccSlotInfo[] twoSimSlotsDeviceOneActiveOneInactiveRemovableEsimsActivePsim() {
-        return new UiccSlotInfo[]{
-                createUiccSlotInfoForRemovableEsimMep(1, true, -1, false),
-                createUiccSlotInfo(false, true, 0, true)};
-    }
-
     private UiccSlotInfo[] twoSimSlotsDeviceActiveEsimActivePsim() {
         return new UiccSlotInfo[]{
                 createUiccSlotInfo(true, false, 0, true),
                 createUiccSlotInfo(false, true, 1, true)};
     }
 
-    private UiccSlotInfo[] twoSimSlotsDeviceTwoActiveEsims() {
-        // device supports MEP, so device can enable two esims.
-        // If device has psim slot, the UiccSlotInfo of psim always be in UiccSlotInfo[].
-        return new UiccSlotInfo[]{
-                createUiccSlotInfo(false, true, -1, true),
-                createUiccSlotInfoForEsimMep(0, true, 1, true)};
-    }
-
-    private UiccSlotInfo[] twoSimSlotsDeviceActivePsimInactiveEsim() {
-        return new UiccSlotInfo[]{
-                createUiccSlotInfo(false, true, 0, true),
-                createUiccSlotInfo(true, false, -1, false)};
-    }
-
-    private UiccSlotInfo[] twoSimSlotsDeviceInactivePsimActiveEsim() {
-        return new UiccSlotInfo[]{
-                createUiccSlotInfo(false, true, 0, false),
-                createUiccSlotInfo(true, false, 1, true)};
-    }
-
-    private UiccSlotInfo[] twoSimSlotsDeviceNoInsertPsimActiveEsim() {
-        return new UiccSlotInfo[]{
-                createUiccSlotInfo(false, true, -1, false),
-                createUiccSlotInfo(true, false, 1, true)};
-    }
     //ToDo: add more cases.
 
     private UiccSlotInfo createUiccSlotInfo(boolean isEuicc, boolean isRemovable,
@@ -1011,36 +827,4 @@
                                 logicalSlotIdx /* logicalSlotIdx */, isActive /* isActive */))
         );
     }
-
-    private UiccSlotInfo createUiccSlotInfoForEsimMep(int logicalSlotIdx1, boolean isActiveEsim1,
-            int logicalSlotIdx2, boolean isActiveEsim2) {
-        return new UiccSlotInfo(
-                true, /* isEuicc */
-                "123", /* cardId */
-                CARD_STATE_INFO_PRESENT, /* cardStateInfo */
-                true, /* isExtendApduSupported */
-                false, /* isRemovable */
-                Arrays.asList(
-                        new UiccPortInfo("" /* iccId */, 0 /* portIdx */,
-                                logicalSlotIdx1 /* logicalSlotIdx */, isActiveEsim1 /* isActive */),
-                        new UiccPortInfo("" /* iccId */, 1 /* portIdx */,
-                                logicalSlotIdx2 /* logicalSlotIdx */,
-                                isActiveEsim2 /* isActive */)));
-    }
-
-    private UiccSlotInfo createUiccSlotInfoForRemovableEsimMep(int logicalSlotIdx1,
-            boolean isActiveEsim1, int logicalSlotIdx2, boolean isActiveEsim2) {
-        return new UiccSlotInfo(
-                true, /* isEuicc */
-                "123", /* cardId */
-                CARD_STATE_INFO_PRESENT, /* cardStateInfo */
-                true, /* isExtendApduSupported */
-                true, /* isRemovable */
-                Arrays.asList(
-                        new UiccPortInfo("" /* iccId */, 0 /* portIdx */,
-                                logicalSlotIdx1 /* logicalSlotIdx */, isActiveEsim1 /* isActive */),
-                        new UiccPortInfo("" /* iccId */, 1 /* portIdx */,
-                                logicalSlotIdx2 /* logicalSlotIdx */,
-                                isActiveEsim2 /* isActive */)));
-    }
 }
diff --git a/tests/unit/src/com/android/settings/network/ims/MockVtQueryImsState.java b/tests/unit/src/com/android/settings/network/ims/MockVtQueryImsState.java
deleted file mode 100644
index 0949f1c..0000000
--- a/tests/unit/src/com/android/settings/network/ims/MockVtQueryImsState.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.network.ims;
-
-import android.content.Context;
-import android.telephony.ims.ImsException;
-
-/**
- * Controller class for mock VT status
- */
-public class MockVtQueryImsState extends VtQueryImsState {
-
-    private Boolean mIsTtyOnVolteEnabled;
-    private Boolean mIsEnabledOnPlatform;
-    private Boolean mIsProvisionedOnDevice;
-    private Boolean mIsEnabledByUser;
-    private Boolean mIsServiceStateReady;
-
-    /**
-     * Constructor
-     *
-     * @param context {@link Context}
-     * @param subId subscription's id
-     */
-    public MockVtQueryImsState(Context context, int subId) {
-        super(context, subId);
-    }
-
-    public void setIsTtyOnVolteEnabled(boolean enabled) {
-        mIsTtyOnVolteEnabled = enabled;
-    }
-
-    @Override
-    boolean isTtyOnVolteEnabled(int subId) {
-        if (mIsTtyOnVolteEnabled != null) {
-            return mIsTtyOnVolteEnabled;
-        }
-        return super.isTtyOnVolteEnabled(subId);
-    }
-
-    public void setIsEnabledByPlatform(boolean isEnabled) {
-        mIsEnabledOnPlatform = isEnabled;
-    }
-
-    @Override
-    boolean isEnabledByPlatform(int subId) throws InterruptedException, ImsException,
-            IllegalArgumentException {
-        if (mIsEnabledOnPlatform != null) {
-            return mIsEnabledOnPlatform;
-        }
-        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 setServiceStateReady(boolean isReady) {
-        mIsServiceStateReady = isReady;
-    }
-
-    @Override
-    boolean isServiceStateReady(int subId) throws InterruptedException, ImsException,
-            IllegalArgumentException {
-        if (mIsServiceStateReady != null) {
-            return mIsServiceStateReady;
-        }
-        return super.isServiceStateReady(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/unit/src/com/android/settings/network/telephony/CarrierSettingsVersionPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/CarrierSettingsVersionPreferenceControllerTest.java
deleted file mode 100644
index 40be07f..0000000
--- a/tests/unit/src/com/android/settings/network/telephony/CarrierSettingsVersionPreferenceControllerTest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.network.telephony;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
-
-import android.content.Context;
-import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
-
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.network.CarrierConfigCache;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-@RunWith(AndroidJUnit4.class)
-public class CarrierSettingsVersionPreferenceControllerTest {
-    @Mock
-    private CarrierConfigCache mCarrierConfigCache;
-
-    private CarrierSettingsVersionPreferenceController mController;
-    private int mSubscriptionId = 1234;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        Context context = spy(ApplicationProvider.getApplicationContext());
-        CarrierConfigCache.setTestInstance(context, mCarrierConfigCache);
-        mController = new CarrierSettingsVersionPreferenceController(context, "mock_key");
-        mController.init(mSubscriptionId);
-    }
-
-    @Test
-    public void getSummary_nullConfig_noCrash() {
-        doReturn(null).when(mCarrierConfigCache).getConfigForSubId(mSubscriptionId);
-
-        assertThat(mController.getSummary()).isNull();
-    }
-
-    @Test
-    public void getSummary_nullVersionString_noCrash() {
-        doReturn(new PersistableBundle()).when(mCarrierConfigCache)
-                .getConfigForSubId(mSubscriptionId);
-        assertThat(mController.getSummary()).isNull();
-    }
-
-    @Test
-    public void getSummary_hasVersionString_correctSummary() {
-        final PersistableBundle bundle = new PersistableBundle();
-        bundle.putString(CarrierConfigManager.KEY_CARRIER_CONFIG_VERSION_STRING,
-                "test_version_123");
-        doReturn(bundle).when(mCarrierConfigCache).getConfigForSubId(mSubscriptionId);
-
-        assertThat(mController.getSummary()).isEqualTo("test_version_123");
-    }
-}
diff --git a/tests/unit/src/com/android/settings/network/telephony/DefaultSubscriptionControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/DefaultSubscriptionControllerTest.java
index 42e3a83..f5329fa 100644
--- a/tests/unit/src/com/android/settings/network/telephony/DefaultSubscriptionControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/telephony/DefaultSubscriptionControllerTest.java
@@ -30,7 +30,6 @@
 import android.telecom.TelecomManager;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
 
 import androidx.lifecycle.LifecycleOwner;
 import androidx.lifecycle.LifecycleRegistry;
@@ -70,15 +69,6 @@
     private static final String DISPLAY_NAME_1 = "Sub 1";
     private static final String DISPLAY_NAME_2 = "Sub 2";
     private static final String DISPLAY_NAME_3 = "Sub 3";
-    private static final String SUB_MCC_1 = "123";
-    private static final String SUB_MNC_1 = "456";
-    private static final String SUB_MCC_2 = "223";
-    private static final String SUB_MNC_2 = "456";
-    private static final String SUB_MCC_3 = "323";
-    private static final String SUB_MNC_3 = "456";
-    private static final String SUB_COUNTRY_ISO_1 = "Sub 1";
-    private static final String SUB_COUNTRY_ISO_2 = "Sub 2";
-    private static final String SUB_COUNTRY_ISO_3 = "Sub 3";
 
     @Mock
     private SubscriptionManager mSubMgr;
@@ -133,12 +123,9 @@
         SubscriptionUtil.setActiveSubscriptionsForTesting(null);
     }
 
-    private SubscriptionInfoEntity setupSubscriptionInfoEntity(
-            String subId, String displayName, String mcc, String mnc, String countryIso) {
-        return new SubscriptionInfoEntity(subId, 1, 1, displayName, displayName, 0, mcc, mnc,
-                countryIso, false, 1, TelephonyManager.DEFAULT_PORT_INDEX, false, null,
-                SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, displayName, false, "1234567890",
-                true, false, true, true, true, true, false);
+    private SubscriptionInfoEntity setupSubscriptionInfoEntity(String subId, String displayName) {
+        return new SubscriptionInfoEntity(subId, 1, false, false, displayName, false, false, true,
+                true, false);
     }
 
     @Test
@@ -151,8 +138,7 @@
 
     @Test
     public void getSummary_singleSub() {
-        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1,
-                SUB_COUNTRY_ISO_1);
+        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1);
         mSubscriptionInfoEntityList.add(mSubInfo1);
         mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
         mController.displayPreference(mScreen);
@@ -164,10 +150,8 @@
 
     @Test
     public void getSummary_twoSubs() {
-        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1,
-                SUB_COUNTRY_ISO_1);
-        mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, SUB_MCC_2, SUB_MNC_2,
-                SUB_COUNTRY_ISO_2);
+        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1);
+        mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2);
         mSubscriptionInfoEntityList.add(mSubInfo1);
         mSubscriptionInfoEntityList.add(mSubInfo2);
         mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
@@ -180,10 +164,8 @@
 
     @Test
     public void onPreferenceChange_prefChangedToSub2_callbackCalledCorrectly() {
-        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1,
-                SUB_COUNTRY_ISO_1);
-        mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, SUB_MCC_2, SUB_MNC_2,
-                SUB_COUNTRY_ISO_2);
+        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1);
+        mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2);
         mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
         mSubscriptionInfoEntityList.add(mSubInfo1);
         mSubscriptionInfoEntityList.add(mSubInfo2);
@@ -197,10 +179,8 @@
 
     @Test
     public void onPreferenceChange_prefChangedToAlwaysAsk_callbackCalledCorrectly() {
-        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1,
-                SUB_COUNTRY_ISO_1);
-        mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, SUB_MCC_2, SUB_MNC_2,
-                SUB_COUNTRY_ISO_2);
+        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1);
+        mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2);
         mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
         mSubscriptionInfoEntityList.add(mSubInfo1);
         mSubscriptionInfoEntityList.add(mSubInfo2);
@@ -217,10 +197,8 @@
     @Test
     public void onPreferenceChange_prefBecomesAvailable_onPreferenceChangeCallbackNotNull() {
         // Start with only one sub active, so the pref is not available
-        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1,
-                SUB_COUNTRY_ISO_1);
-        mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, SUB_MCC_2, SUB_MNC_2,
-                SUB_COUNTRY_ISO_2);
+        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1);
+        mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2);
         mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
         mSubscriptionInfoEntityList.add(mSubInfo1);
         mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
@@ -240,10 +218,8 @@
 
     @Test
     public void onSubscriptionsChanged_twoSubscriptionsDefaultChanges_selectedEntryGetsUpdated() {
-        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1,
-                SUB_COUNTRY_ISO_1);
-        mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, SUB_MCC_2, SUB_MNC_2,
-                SUB_COUNTRY_ISO_2);
+        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1);
+        mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2);
         mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
         mSubscriptionInfoEntityList.add(mSubInfo1);
         mSubscriptionInfoEntityList.add(mSubInfo2);
@@ -261,10 +237,8 @@
 
     @Test
     public void onSubscriptionsChanged_goFromTwoSubscriptionsToOne_prefDisappears() {
-        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1,
-                SUB_COUNTRY_ISO_1);
-        mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, SUB_MCC_2, SUB_MNC_2,
-                SUB_COUNTRY_ISO_2);
+        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1);
+        mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2);
         mSubscriptionInfoEntityList.add(mSubInfo1);
         mSubscriptionInfoEntityList.add(mSubInfo2);
         mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
@@ -287,10 +261,8 @@
     @Test
     @UiThreadTest
     public void onSubscriptionsChanged_goFromOneSubscriptionToTwo_prefAppears() {
-        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1,
-                SUB_COUNTRY_ISO_1);
-        mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, SUB_MCC_2, SUB_MNC_2,
-                SUB_COUNTRY_ISO_2);
+        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1);
+        mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2);
         mSubscriptionInfoEntityList.add(mSubInfo1);
         mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
         mController.onActiveSubInfoChanged(mSubscriptionInfoEntityList);
@@ -309,12 +281,9 @@
 
     @Test
     public void onSubscriptionsChanged_goFromTwoToThreeSubscriptions_listGetsUpdated() {
-        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1,
-                SUB_COUNTRY_ISO_1);
-        mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, SUB_MCC_2, SUB_MNC_2,
-                SUB_COUNTRY_ISO_2);
-        mSubInfo3 = setupSubscriptionInfoEntity(SUB_ID_3, DISPLAY_NAME_3, SUB_MCC_3, SUB_MNC_3,
-                SUB_COUNTRY_ISO_3);
+        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1);
+        mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2);
+        mSubInfo3 = setupSubscriptionInfoEntity(SUB_ID_3, DISPLAY_NAME_3);
         mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
         mSubscriptionInfoEntityList.add(mSubInfo1);
         mSubscriptionInfoEntityList.add(mSubInfo2);
diff --git a/tests/unit/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
index b3d095e..adc8dc0 100644
--- a/tests/unit/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
@@ -18,9 +18,6 @@
 
 import static androidx.lifecycle.Lifecycle.Event.ON_START;
 
-import static com.android.settings.core.BasePreferenceController.AVAILABLE;
-import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
-import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
 import static com.android.settings.network.telephony.MobileNetworkUtils.getRafFromNetworkType;
 import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.CDMA;
 import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.EVDO;
@@ -33,8 +30,6 @@
 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.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
@@ -125,79 +120,6 @@
 
     @UiThreadTest
     @Test
-    public void getAvailabilityStatus_hideCarrierNetworkSettings_returnUnavailable() {
-        mPersistableBundle.putBoolean(
-                CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL,
-                true);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
-    }
-
-    @UiThreadTest
-    @Test
-    public void getAvailabilityStatus_hidePreferredNetworkType_returnUnavailable() {
-        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL,
-                true);
-
-        when(mServiceState.getState()).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.getDataRegistrationState()).thenReturn(ServiceState.STATE_IN_SERVICE);
-
-        when(mServiceState.getRoaming()).thenReturn(false);
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
-
-        when(mServiceState.getRoaming()).thenReturn(true);
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
-    }
-
-    @UiThreadTest
-    @Test
-    public void getAvailabilityStatus_carrierConfigNotReady_returnUnavailable() {
-        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_CARRIER_CONFIG_APPLIED_BOOL, false);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
-    }
-
-    @UiThreadTest
-    @Test
-    public void getAvailabilityStatus_notWorldPhone_returnAvailable() {
-        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL,
-                false);
-        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_WORLD_PHONE_BOOL, false);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
-    }
-
-    @UiThreadTest
-    @Test
-    public void getAvailabilityStatus_callStateIsIdle_returnAvailable() {
-        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA);
-        mController.getTelephonyCallback().onCallStateChanged(TelephonyManager.CALL_STATE_IDLE);
-
-        mController.updateState(mPreference);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
-        assertTrue(mPreference.isEnabled());
-    }
-
-    @UiThreadTest
-    @Test
-    public void getAvailabilityStatus_duringCalling_returnAvailable() {
-        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA);
-        mController.getTelephonyCallback().onCallStateChanged(TelephonyManager.CALL_STATE_OFFHOOK);
-
-        mController.updateState(mPreference);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
-        assertFalse(mPreference.isEnabled());
-    }
-
-    @UiThreadTest
-    @Test
     public void updateState_LteWorldPhone_GlobalHasLte() {
         mPersistableBundle.putBoolean(CarrierConfigManager.KEY_WORLD_MODE_ENABLED_BOOL, true);
 
diff --git a/tests/unit/src/com/android/settings/network/telephony/EuiccPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/EuiccPreferenceControllerTest.java
deleted file mode 100644
index ccc12e3..0000000
--- a/tests/unit/src/com/android/settings/network/telephony/EuiccPreferenceControllerTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.network.telephony;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.content.Intent;
-import android.telephony.TelephonyManager;
-import android.telephony.euicc.EuiccManager;
-
-import androidx.preference.Preference;
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-@RunWith(AndroidJUnit4.class)
-public class EuiccPreferenceControllerTest {
-    private static final int SUB_ID = 2;
-
-    @Mock private TelephonyManager mTelephonyManager;
-
-    private EuiccPreferenceController mController;
-    private Preference mPreference;
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        mContext = spy(ApplicationProvider.getApplicationContext());
-        when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
-        when(mTelephonyManager.createForSubscriptionId(SUB_ID)).thenReturn(mTelephonyManager);
-
-        mPreference = new Preference(mContext);
-        mController = new EuiccPreferenceController(mContext, "euicc");
-        mController.init(SUB_ID);
-        mPreference.setKey(mController.getPreferenceKey());
-    }
-
-    @Test
-    public void handlePreferenceTreeClick_startActivity() {
-        ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
-        doNothing().when(mContext).startActivity(captor.capture());
-
-        mController.handlePreferenceTreeClick(mPreference);
-
-        assertThat(captor.getValue().getAction()).isEqualTo(
-                EuiccManager.ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS);
-    }
-}
diff --git a/tests/unit/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java
index 152091a..6897c01 100644
--- a/tests/unit/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java
@@ -29,7 +29,6 @@
 import android.content.Context;
 import android.os.Looper;
 import android.platform.test.flag.junit.SetFlagsRule;
-import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 
@@ -75,8 +74,6 @@
     @Mock
     private SubscriptionManager mSubscriptionManager;
     @Mock
-    private SubscriptionInfo mSubscriptionInfo;
-    @Mock
     private FragmentTransaction mFragmentTransaction;
     @Mock
     private Lifecycle mLifecycle;
@@ -120,19 +117,15 @@
     }
 
     private SubscriptionInfoEntity setupSubscriptionInfoEntity(String subId, String displayName,
-            boolean isOpportunistic, boolean isValid, boolean isActive, boolean isAvailable) {
+            boolean isOpportunistic, boolean isValid, boolean isActive) {
         int id = Integer.parseInt(subId);
-        return new SubscriptionInfoEntity(subId, id, id,
-                displayName, displayName, 0, "mcc", "mnc", "countryIso", false, id,
-                TelephonyManager.DEFAULT_PORT_INDEX, isOpportunistic, null,
-                SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, displayName, false,
-                "1234567890", true, false, isValid, true, isActive, isAvailable, false);
+        return new SubscriptionInfoEntity(subId, id, false, isOpportunistic, displayName, false,
+                false, isValid, isActive, false);
     }
 
     private MobileNetworkInfoEntity setupMobileNetworkInfoEntity(String subId,
             boolean isDatEnabled) {
-        return new MobileNetworkInfoEntity(subId, false, false, isDatEnabled, false, false, false,
-                false, false, false, false, false);
+        return new MobileNetworkInfoEntity(subId, isDatEnabled, false);
     }
 
     @Test
@@ -145,7 +138,7 @@
 
     @Test
     public void isDialogNeeded_disableSingleSim_returnFalse() {
-        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, false, true, true, true);
+        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, false, true, true);
         mNetworkInfo1 = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), true);
         doReturn(1).when(mTelephonyManager).getActiveModemCount();
 
@@ -154,12 +147,12 @@
 
     @Test
     public void isDialogNeeded_enableNonDefaultSimInMultiSimMode_returnTrue() {
-        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, false, true, true, true);
+        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, false, true, true);
         mNetworkInfo1 = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), false);
         doReturn(1).when(mTelephonyManager).getActiveModemCount();
         // Ideally, it would be better if we could set the default data subscription to
         // SUB_ID_OTHER, and set that as an active subscription id.
-        mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, false, true, true, true);
+        mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, false, true, true);
         mNetworkInfo1 = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), true);
         doReturn(2).when(mTelephonyManager).getActiveModemCount();
 
@@ -181,7 +174,7 @@
 
     @Test
     public void onPreferenceChange_singleSim_On_shouldEnableData() {
-        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, true, true, true, true);
+        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, true, true, true);
         mNetworkInfo1 = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), true);
         mController.setSubscriptionInfoEntity(mSubInfo1);
         mController.setMobileNetworkInfoEntity(mNetworkInfo1);
@@ -195,7 +188,7 @@
 
     @Test
     public void onPreferenceChange_multiSim_On_shouldEnableData() {
-        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, true, true, true, true);
+        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, true, true, true);
         mNetworkInfo1 = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), true);
         mController.setSubscriptionInfoEntity(mSubInfo1);
         mController.setMobileNetworkInfoEntity(mNetworkInfo1);
@@ -220,7 +213,7 @@
 
     @Test
     public void updateState_opportunistic_disabled() {
-        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, true, true, true, true);
+        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, true, true, true);
         mController.init(mFragmentManager, SUB_ID, mSubInfo1, mNetworkInfo1);
         mController.updateState(mPreference);
 
@@ -232,7 +225,7 @@
 
     @Test
     public void updateState_notOpportunistic_enabled() {
-        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, false, true, true, true);
+        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, false, true, true);
         mController.init(mFragmentManager, SUB_ID, mSubInfo1, mNetworkInfo1);
         mController.updateState(mPreference);
 
diff --git a/tests/unit/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceControllerTest.java
index 9dbfdde..f22ad3b 100644
--- a/tests/unit/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceControllerTest.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.network.telephony;
 
-import static com.android.settings.core.BasePreferenceController.AVAILABLE;
-import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
 import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.GSM;
 import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.RAF_TD_SCDMA;
 import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.WCDMA;
@@ -32,7 +30,6 @@
 
 import android.content.Context;
 import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
 import android.telephony.ServiceState;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
@@ -92,43 +89,6 @@
     }
 
     @Test
-    public void getAvailabilityStatus_hideCarrierNetworkSettings_returnUnavailable() {
-        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL,
-                true);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
-    }
-
-    @Test
-    public void getAvailabilityStatus_worldPhone_returnAvailable() {
-        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL,
-                false);
-        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_WORLD_PHONE_BOOL, true);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
-    }
-
-    @Test
-    public void getAvailabilityStatus_hidePreferredNetworkType_returnUnavailable() {
-        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL,
-                true);
-
-        when(mServiceState.getState()).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.getDataRegistrationState()).thenReturn(ServiceState.STATE_IN_SERVICE);
-
-        when(mServiceState.getRoaming()).thenReturn(false);
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
-
-        when(mServiceState.getRoaming()).thenReturn(true);
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
-    }
-
-    @Test
     public void updateState_updateByNetworkMode() {
         // NETWORK_MODE_TDSCDMA_GSM_WCDMA = RAF_TD_SCDMA | GSM | WCDMA
         when(mTelephonyManager.getAllowedNetworkTypesForReason(
diff --git a/tests/unit/src/com/android/settings/network/telephony/RoamingPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/RoamingPreferenceControllerTest.java
deleted file mode 100644
index d221280..0000000
--- a/tests/unit/src/com/android/settings/network/telephony/RoamingPreferenceControllerTest.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.network.telephony;
-
-import static com.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.anyBoolean;
-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.os.Looper;
-import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-
-import androidx.fragment.app.FragmentManager;
-import androidx.fragment.app.FragmentTransaction;
-import androidx.lifecycle.LifecycleOwner;
-import androidx.lifecycle.LifecycleRegistry;
-import androidx.test.annotation.UiThreadTest;
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.core.BasePreferenceController;
-import com.android.settingslib.RestrictedSwitchPreference;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.mobile.dataservice.MobileNetworkInfoEntity;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-@RunWith(AndroidJUnit4.class)
-public class RoamingPreferenceControllerTest {
-    private static final int SUB_ID = 2;
-
-    @Mock
-    private FragmentManager mFragmentManager;
-    @Mock
-    private TelephonyManager mTelephonyManager;
-    @Mock
-    private TelephonyManager mInvalidTelephonyManager;
-    @Mock
-    private SubscriptionManager mSubscriptionManager;
-    @Mock
-    private FragmentTransaction mFragmentTransaction;
-    @Mock
-    private CarrierConfigManager mCarrierConfigManager;
-    @Mock
-    private Lifecycle mLifecycle;
-    @Mock
-    private LifecycleOwner mLifecycleOwner;
-
-    private LifecycleRegistry mLifecycleRegistry;
-    private RoamingPreferenceController mController;
-    private RestrictedSwitchPreference mPreference;
-    private Context mContext;
-    private MobileNetworkInfoEntity mMobileNetworkInfoEntity;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        if (Looper.myLooper() == null) {
-            Looper.prepare();
-        }
-
-        mContext = spy(ApplicationProvider.getApplicationContext());
-        doReturn(mTelephonyManager).when(mContext).getSystemService(Context.TELEPHONY_SERVICE);
-        doReturn(mSubscriptionManager).when(mContext).getSystemService(
-                Context.TELEPHONY_SUBSCRIPTION_SERVICE);
-
-        doReturn(mCarrierConfigManager).when(mContext).getSystemService(
-                Context.CARRIER_CONFIG_SERVICE);
-        doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(SUB_ID);
-        doReturn(mInvalidTelephonyManager).when(mTelephonyManager).createForSubscriptionId(
-                SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-        doReturn(mFragmentTransaction).when(mFragmentManager).beginTransaction();
-
-        mPreference = spy(new RestrictedSwitchPreference(mContext));
-        mController = spy(
-                new RoamingPreferenceController(mContext, "roaming", mLifecycle, mLifecycleOwner,
-                        SUB_ID));
-        mLifecycleRegistry = new LifecycleRegistry(mLifecycleOwner);
-        when(mLifecycleOwner.getLifecycle()).thenReturn(mLifecycleRegistry);
-        mController.init(mFragmentManager, SUB_ID, mMobileNetworkInfoEntity);
-        mPreference.setKey(mController.getPreferenceKey());
-    }
-
-    private MobileNetworkInfoEntity setupMobileNetworkInfoEntity(String subId,
-            boolean isDataRoaming) {
-        return new MobileNetworkInfoEntity(subId, false, false, true, false, false, false, false,
-                false, false, false, isDataRoaming);
-    }
-
-    @Test
-    public void getAvailabilityStatus_validSubId_returnAvailable() {
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(
-                AVAILABLE);
-    }
-
-    @Test
-    public void getAvailabilityStatus_invalidSubId_returnUnsearchable() {
-        mController.init(mFragmentManager, SubscriptionManager.INVALID_SUBSCRIPTION_ID,
-                mMobileNetworkInfoEntity);
-
-        assertThat(mController.getAvailabilityStatus(
-                SubscriptionManager.INVALID_SUBSCRIPTION_ID)).isEqualTo(
-                BasePreferenceController.AVAILABLE_UNSEARCHABLE);
-    }
-
-    @Test
-    public void isDialogNeeded_roamingDisabledWithoutFlag_returnTrue() {
-        final PersistableBundle bundle = new PersistableBundle();
-        bundle.putBoolean(CarrierConfigManager.KEY_DISABLE_CHARGE_INDICATION_BOOL, false);
-        doReturn(bundle).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
-        mMobileNetworkInfoEntity = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), false);
-        mController.setMobileNetworkInfoEntity(mMobileNetworkInfoEntity);
-
-        assertThat(mController.isDialogNeeded()).isTrue();
-    }
-
-    @Test
-    public void isDialogNeeded_roamingEnabled_returnFalse() {
-        mMobileNetworkInfoEntity = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), true);
-        mController.setMobileNetworkInfoEntity(mMobileNetworkInfoEntity);
-
-        assertThat(mController.isDialogNeeded()).isFalse();
-    }
-
-    @Test
-    @UiThreadTest
-    public void setChecked_needDialog_showDialog() {
-        mMobileNetworkInfoEntity = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), false);
-        mController.setMobileNetworkInfoEntity(mMobileNetworkInfoEntity);
-        doReturn(null).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
-
-        mController.setChecked(true);
-
-        verify(mFragmentManager).beginTransaction();
-    }
-
-    @Test
-    public void updateState_invalidSubId_disabled() {
-        mMobileNetworkInfoEntity = setupMobileNetworkInfoEntity(
-                String.valueOf(SubscriptionManager.INVALID_SUBSCRIPTION_ID), false);
-        mController.setMobileNetworkInfoEntity(mMobileNetworkInfoEntity);
-        mController.init(mFragmentManager, SubscriptionManager.INVALID_SUBSCRIPTION_ID,
-                mMobileNetworkInfoEntity);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isEnabled()).isFalse();
-    }
-
-    @Test
-    public void updateState_validSubId_enabled() {
-        mMobileNetworkInfoEntity = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), true);
-        mController.setMobileNetworkInfoEntity(mMobileNetworkInfoEntity);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isEnabled()).isTrue();
-        assertThat(mPreference.isChecked()).isTrue();
-    }
-
-    @Test
-    public void updateState_isNotDisabledByAdmin_shouldInvokeSetEnabled() {
-        when(mPreference.isDisabledByAdmin()).thenReturn(false);
-
-        mController.updateState(mPreference);
-
-        verify(mPreference).setEnabled(anyBoolean());
-    }
-
-    @Test
-    public void updateState_isDisabledByAdmin_shouldNotInvokeSetEnabled() {
-        when(mPreference.isDisabledByAdmin()).thenReturn(true);
-
-        mController.updateState(mPreference);
-
-        verify(mPreference, never()).setEnabled(anyBoolean());
-    }
-
-    @Test
-    public void getAvailabilityStatus_carrierConfigIsNull_shouldReturnAvailable() {
-        doReturn(null).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
-    }
-
-    @Test
-    public void getAvailabilityStatus_forceHomeNetworkIsFalse_shouldReturnAvailable() {
-        final PersistableBundle bundle = new PersistableBundle();
-        bundle.putBoolean(CarrierConfigManager.KEY_FORCE_HOME_NETWORK_BOOL, false);
-        doReturn(bundle).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
-    }
-
-    @Test
-    public void getAvailabilityStatus_forceHomeNetworkIsTrue_shouldReturnConditionallyAvailable() {
-        final PersistableBundle bundle = new PersistableBundle();
-        bundle.putBoolean(CarrierConfigManager.KEY_FORCE_HOME_NETWORK_BOOL, true);
-        doReturn(bundle).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
-    }
-}
diff --git a/tests/unit/src/com/android/settings/security/SecuritySettingsTest.java b/tests/unit/src/com/android/settings/security/SecuritySettingsTest.java
index dee90b4..61ca6e5 100644
--- a/tests/unit/src/com/android/settings/security/SecuritySettingsTest.java
+++ b/tests/unit/src/com/android/settings/security/SecuritySettingsTest.java
@@ -339,6 +339,30 @@
         assertThat(mPreferenceCombined.isVisible()).isFalse();
     }
 
+    @Test
+    public void noFace_isNotIndexable() throws Exception {
+        when(mFaceManager.isHardwareDetected()).thenReturn(false);
+        final BaseSearchIndexProvider indexProvider = SecuritySettings.SEARCH_INDEX_DATA_PROVIDER;
+
+        final List<String> allXmlKeys = TestUtils.getAllXmlKeys(mContext, indexProvider);
+        final List<String> nonIndexableKeys = indexProvider.getNonIndexableKeys(mContext);
+        allXmlKeys.removeAll(nonIndexableKeys);
+
+        assertThat(allXmlKeys).doesNotContain(SecuritySettings.KEY_FACE_SETTINGS);
+    }
+
+    @Test
+    public void noFingerprint_isNotIndexable() throws Exception {
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(false);
+        final BaseSearchIndexProvider indexProvider = SecuritySettings.SEARCH_INDEX_DATA_PROVIDER;
+
+        final List<String> allXmlKeys = TestUtils.getAllXmlKeys(mContext, indexProvider);
+        final List<String> nonIndexableKeys = indexProvider.getNonIndexableKeys(mContext);
+        allXmlKeys.removeAll(nonIndexableKeys);
+
+        assertThat(allXmlKeys).doesNotContain(SecuritySettings.KEY_FINGERPRINT_SETTINGS);
+    }
+
     boolean isFacePrefAvailable(List<AbstractPreferenceController> controllers) {
         return controllers.stream().filter(
                 controller -> controller instanceof FaceStatusPreferenceController
diff --git a/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java b/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java
index b8dd5ac..6a50ffc 100644
--- a/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java
+++ b/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java
@@ -25,7 +25,6 @@
 import com.android.settings.applications.ApplicationFeatureProvider;
 import com.android.settings.biometrics.face.FaceFeatureProvider;
 import com.android.settings.biometrics.fingerprint.FingerprintFeatureProvider;
-import com.android.settings.biometrics2.factory.BiometricsRepositoryProvider;
 import com.android.settings.bluetooth.BluetoothFeatureProvider;
 import com.android.settings.connecteddevice.fastpair.FastPairFeatureProvider;
 import com.android.settings.connecteddevice.stylus.StylusFeatureProvider;
@@ -82,7 +81,6 @@
     public final BluetoothFeatureProvider mBluetoothFeatureProvider;
     public final FaceFeatureProvider mFaceFeatureProvider;
     public final FingerprintFeatureProvider mFingerprintFeatureProvider;
-    public final BiometricsRepositoryProvider mBiometricsRepositoryProvider;
 
     public PanelFeatureProvider panelFeatureProvider;
     public SlicesFeatureProvider slicesFeatureProvider;
@@ -140,7 +138,6 @@
         mBluetoothFeatureProvider = mock(BluetoothFeatureProvider.class);
         mFaceFeatureProvider = mock(FaceFeatureProvider.class);
         mFingerprintFeatureProvider = mock(FingerprintFeatureProvider.class);
-        mBiometricsRepositoryProvider = mock(BiometricsRepositoryProvider.class);
         wifiTrackerLibProvider = mock(WifiTrackerLibProvider.class);
         securitySettingsFeatureProvider = mock(SecuritySettingsFeatureProvider.class);
         mAccessibilitySearchFeatureProvider = mock(AccessibilitySearchFeatureProvider.class);
@@ -273,11 +270,6 @@
     }
 
     @Override
-    public BiometricsRepositoryProvider getBiometricsRepositoryProvider() {
-        return mBiometricsRepositoryProvider;
-    }
-
-    @Override
     public WifiTrackerLibProvider getWifiTrackerLibProvider() {
         return wifiTrackerLibProvider;
     }
diff --git a/tests/unit/src/com/android/settings/wifi/WepLessSecureWarningControllerTest.kt b/tests/unit/src/com/android/settings/wifi/WepLessSecureWarningControllerTest.kt
new file mode 100644
index 0000000..008539d
--- /dev/null
+++ b/tests/unit/src/com/android/settings/wifi/WepLessSecureWarningControllerTest.kt
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 androidx.test.core.app.ApplicationProvider
+import com.android.settings.core.BasePreferenceController.AVAILABLE
+import com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE
+import com.android.wifitrackerlib.WifiEntry
+import com.google.common.truth.Truth.assertThat
+import org.junit.Rule
+import org.junit.Test
+import org.mockito.Mock
+import org.mockito.Spy
+import org.mockito.junit.MockitoJUnit
+import org.mockito.junit.MockitoRule
+import org.mockito.Mockito.`when` as whenever
+
+class WepLessSecureWarningControllerTest {
+    @get:Rule
+    val mockito: MockitoRule = MockitoJUnit.rule()
+    @Spy
+    private val context: Context = ApplicationProvider.getApplicationContext()
+    @Mock
+    private lateinit var mockWifiEntry: WifiEntry
+
+    private val controller = WepLessSecureWarningController(context, TEST_KEY)
+
+    @Test
+    fun getAvailabilityStatus_default_conditionallyUnavailable() {
+        assertThat(controller.availabilityStatus).isEqualTo(CONDITIONALLY_UNAVAILABLE)
+    }
+
+    @Test
+    fun getAvailabilityStatus_noWepSecurityType_conditionallyUnavailable() {
+        whenever(mockWifiEntry.securityTypes).thenReturn(listOf(WifiEntry.SECURITY_PSK))
+
+        controller.setWifiEntry(mockWifiEntry)
+
+        assertThat(controller.availabilityStatus).isEqualTo(CONDITIONALLY_UNAVAILABLE)
+    }
+
+    @Test
+    fun getAvailabilityStatus_containsWepSecurityType_available() {
+        whenever(mockWifiEntry.securityTypes).thenReturn(listOf(WifiEntry.SECURITY_WEP))
+
+        controller.setWifiEntry(mockWifiEntry)
+
+        assertThat(controller.availabilityStatus).isEqualTo(AVAILABLE)
+    }
+
+    private companion object {
+        const val TEST_KEY = "test_key"
+    }
+}
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 4d723dc1..34c8602 100644
--- a/tests/unit/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivityTest.java
+++ b/tests/unit/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivityTest.java
@@ -20,15 +20,33 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.anyString;
+import static org.mockito.Mockito.anyInt;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.mock;
 
 import android.content.Context;
+import android.content.Intent;
 import android.os.UserManager;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
 import androidx.test.annotation.UiThreadTest;
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
+import com.android.settings.flags.Flags;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.wifi.factory.WifiFeatureProvider;
+
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -44,18 +62,36 @@
 
     @Rule
     public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
     @Spy
     private final Context mContext = ApplicationProvider.getApplicationContext();
     @Mock
     private UserManager mUserManager;
+    @Mock
+    private FragmentManager mFragmentManager;
 
+    // Mock, created by FakeFeatureFactory
+    private WifiFeatureProvider mWifiFeatureProviderMock;
+
+    @Spy
     private WifiDppConfiguratorActivity mActivity;
 
     @Before
     public void setUp() {
         when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
 
-        mActivity = new WifiDppConfiguratorActivity();
+        mActivity.mFragmentManager = mFragmentManager;
+        doReturn(mContext).when(mActivity).getApplicationContext();
+
+        FragmentTransaction mockTransaction = mock(FragmentTransaction.class);
+        when(mFragmentManager.beginTransaction()).thenReturn(mockTransaction);
+        when(mockTransaction.replace(anyInt(), any(Fragment.class), anyString()))
+                .thenReturn(mockTransaction);
+
+        FakeFeatureFactory featureFactory = FakeFeatureFactory.setupForTest();
+        mWifiFeatureProviderMock = featureFactory.mWifiFeatureProvider;
     }
 
     @Test
@@ -71,4 +107,37 @@
 
         assertThat(mActivity.isAddWifiConfigAllowed(mContext)).isFalse();
     }
+
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_WIFI_SHARING_RUNTIME_FRAGMENT)
+    public void showQrCodeGeneratorFragment_shouldUseFeatureFactory() {
+        when(mUserManager.isGuestUser()).thenReturn(false);
+        when(mWifiFeatureProviderMock.getWifiDppQrCodeGeneratorFragment())
+                .thenReturn(new WifiDppQrCodeGeneratorFragment());
+
+        mActivity.handleIntent(createQrCodeGeneratorIntent());
+
+        verify(mWifiFeatureProviderMock).getWifiDppQrCodeGeneratorFragment();
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_ENABLE_WIFI_SHARING_RUNTIME_FRAGMENT)
+    public void showQrCodeGeneratorFragment_shouldNotUseFeatureFactory() {
+        when(mUserManager.isGuestUser()).thenReturn(false);
+
+        mActivity.handleIntent(createQrCodeGeneratorIntent());
+
+        verify(mWifiFeatureProviderMock, never())
+                .getWifiDppQrCodeGeneratorFragment();
+    }
+
+    private static Intent createQrCodeGeneratorIntent() {
+        Intent intent = new Intent(
+                WifiDppConfiguratorActivity.ACTION_CONFIGURATOR_QR_CODE_GENERATOR);
+        intent.putExtra(WifiDppUtils.EXTRA_WIFI_SSID, "GoogleGuest");
+        intent.putExtra(WifiDppUtils.EXTRA_WIFI_SECURITY, "WPA");
+        intent.putExtra(WifiDppUtils.EXTRA_WIFI_PRE_SHARED_KEY, "\\012345678,");
+        return intent;
+    }
 }
diff --git a/tests/unit/src/com/android/settings/wifi/repository/WifiHotspotRepositoryTest.java b/tests/unit/src/com/android/settings/wifi/repository/WifiHotspotRepositoryTest.java
index a97b1a0..4765d18 100644
--- a/tests/unit/src/com/android/settings/wifi/repository/WifiHotspotRepositoryTest.java
+++ b/tests/unit/src/com/android/settings/wifi/repository/WifiHotspotRepositoryTest.java
@@ -109,21 +109,21 @@
         doReturn(SPEED_6GHZ).when(mSpeedType).getValue();
         doReturn(true).when(mWifiManager).is5GHzBandSupported();
         doReturn(Arrays.asList(new WifiAvailableChannel(FREQ_5GHZ, OP_MODE_SAP))).when(mWifiManager)
-                .getUsableChannels(WifiScanner.WIFI_BAND_5_GHZ_WITH_DFS, OP_MODE_SAP);
+                .getAllowedChannels(WifiScanner.WIFI_BAND_5_GHZ_WITH_DFS, OP_MODE_SAP);
         doReturn(true).when(mWifiManager).is6GHzBandSupported();
         doReturn(Arrays.asList(new WifiAvailableChannel(FREQ_6GHZ, OP_MODE_SAP))).when(mWifiManager)
-                .getUsableChannels(WifiScanner.WIFI_BAND_6_GHZ, OP_MODE_SAP);
+                .getAllowedChannels(WifiScanner.WIFI_BAND_6_GHZ, OP_MODE_SAP);
 
         mRepository = new WifiHotspotRepository(mContext, mWifiManager, mTetheringManager);
         mRepository.mSecurityType = mSecurityType;
         mRepository.mSpeedType = mSpeedType;
         mRepository.mIsDualBand = true;
-        mRepository.mBand5g.isUsableChannelsReady = true;
-        mRepository.mBand5g.isUsableChannelsUnsupported = false;
-        mRepository.mBand5g.hasUsableChannels = true;
-        mRepository.mBand6g.isUsableChannelsReady = true;
-        mRepository.mBand6g.isUsableChannelsUnsupported = false;
-        mRepository.mBand6g.hasUsableChannels = true;
+        mRepository.mBand5g.isChannelsReady = true;
+        mRepository.mBand5g.isChannelsUnsupported = false;
+        mRepository.mBand5g.hasChannels = true;
+        mRepository.mBand6g.isChannelsReady = true;
+        mRepository.mBand6g.isChannelsUnsupported = false;
+        mRepository.mBand6g.hasChannels = true;
     }
 
     @Test
@@ -382,7 +382,7 @@
     @Test
     public void updateSpeedType_singleBand5gPreferredBut5gUnavailable_get2gSpeedType() {
         mRepository.mIsDualBand = false;
-        mRepository.mBand5g.hasUsableChannels = false;
+        mRepository.mBand5g.hasChannels = false;
         SoftApConfiguration config = new SoftApConfiguration.Builder()
                 .setBand(WIFI_5GHZ_BAND_PREFERRED).build();
         when(mWifiManager.getSoftApConfiguration()).thenReturn(config);
@@ -407,7 +407,7 @@
     @Test
     public void updateSpeedType_singleBand6gPreferredBut6gUnavailable_get5gSpeedType() {
         mRepository.mIsDualBand = false;
-        mRepository.mBand6g.hasUsableChannels = false;
+        mRepository.mBand6g.hasChannels = false;
         SoftApConfiguration config = new SoftApConfiguration.Builder()
                 .setBand(WIFI_6GHZ_BAND_PREFERRED).build();
         when(mWifiManager.getSoftApConfiguration()).thenReturn(config);
@@ -420,8 +420,8 @@
     @Test
     public void updateSpeedType_singleBand6gPreferredBut5gAnd6gUnavailable_get2gSpeedType() {
         mRepository.mIsDualBand = false;
-        mRepository.mBand5g.hasUsableChannels = false;
-        mRepository.mBand6g.hasUsableChannels = false;
+        mRepository.mBand5g.hasChannels = false;
+        mRepository.mBand6g.hasChannels = false;
         SoftApConfiguration config = new SoftApConfiguration.Builder()
                 .setBand(WIFI_6GHZ_BAND_PREFERRED).build();
         when(mWifiManager.getSoftApConfiguration()).thenReturn(config);
@@ -446,7 +446,7 @@
     @Test
     public void updateSpeedType_dualBand2gAnd5gBut5gUnavailable_get2gSpeedType() {
         mRepository.mIsDualBand = true;
-        mRepository.mBand5g.hasUsableChannels = false;
+        mRepository.mBand5g.hasChannels = false;
         SoftApConfiguration config = new SoftApConfiguration.Builder()
                 .setBand(WIFI_5GHZ_BAND_PREFERRED).build();
         when(mWifiManager.getSoftApConfiguration()).thenReturn(config);
@@ -562,20 +562,20 @@
     }
 
     @Test
-    public void is5gAvailable_hasUsableChannels_returnTrue() {
+    public void is5gAvailable_hasChannels_returnTrue() {
         mRepository.mIs5gBandSupported = true;
         // Reset m5gBand to trigger an update
-        mRepository.mBand5g.isUsableChannelsReady = false;
+        mRepository.mBand5g.isChannelsReady = false;
 
         assertThat(mRepository.is5gAvailable()).isTrue();
     }
 
     @Test
-    public void is5gAvailable_noUsableChannels_returnFalse() {
+    public void is5gAvailable_noChannels_returnFalse() {
         mRepository.mIs5gBandSupported = true;
         // Reset m5gBand to trigger an update
-        mRepository.mBand5g.isUsableChannelsReady = false;
-        when(mWifiManager.getUsableChannels(WifiScanner.WIFI_BAND_5_GHZ_WITH_DFS, OP_MODE_SAP))
+        mRepository.mBand5g.isChannelsReady = false;
+        when(mWifiManager.getAllowedChannels(WifiScanner.WIFI_BAND_5_GHZ_WITH_DFS, OP_MODE_SAP))
                 .thenReturn(null);
 
         assertThat(mRepository.is5gAvailable()).isFalse();
@@ -585,7 +585,7 @@
     @UiThreadTest
     public void get5gAvailable_shouldNotReturnNull() {
         // Reset m5gBand to trigger an update
-        mRepository.mBand5g.isUsableChannelsReady = false;
+        mRepository.mBand5g.isChannelsReady = false;
 
         assertThat(mRepository.get5gAvailable()).isNotNull();
     }
@@ -606,20 +606,20 @@
     }
 
     @Test
-    public void is6gAvailable_hasUsableChannels_returnTrue() {
+    public void is6gAvailable_hasChannels_returnTrue() {
         mRepository.mIs6gBandSupported = true;
         // Reset m6gBand to trigger an update
-        mRepository.mBand6g.isUsableChannelsReady = false;
+        mRepository.mBand6g.isChannelsReady = false;
 
         assertThat(mRepository.is6gAvailable()).isTrue();
     }
 
     @Test
-    public void is6gAvailable_noUsableChannels_returnFalse() {
+    public void is6gAvailable_noChannels_returnFalse() {
         mRepository.mIs6gBandSupported = true;
         // Reset m6gBand to trigger an update
-        mRepository.mBand6g.isUsableChannelsReady = false;
-        when(mWifiManager.getUsableChannels(WifiScanner.WIFI_BAND_6_GHZ, OP_MODE_SAP))
+        mRepository.mBand6g.isChannelsReady = false;
+        when(mWifiManager.getAllowedChannels(WifiScanner.WIFI_BAND_6_GHZ, OP_MODE_SAP))
                 .thenReturn(null);
 
         assertThat(mRepository.is6gAvailable()).isFalse();
@@ -658,33 +658,33 @@
     }
 
     @Test
-    public void isChannelAvailable_throwIllegalArgumentException_hasUsableChannelsFalse() {
+    public void isChannelAvailable_throwIllegalArgumentException_hasChannelsFalse() {
         doThrow(IllegalArgumentException.class).when(mWifiManager)
-                .getUsableChannels(WifiScanner.WIFI_BAND_6_GHZ, OP_MODE_SAP);
+                .getAllowedChannels(WifiScanner.WIFI_BAND_6_GHZ, OP_MODE_SAP);
 
         mRepository.isChannelAvailable(mRepository.mBand6g);
 
-        assertThat(mRepository.mBand6g.hasUsableChannels).isFalse();
-        assertThat(mRepository.mBand6g.isUsableChannelsUnsupported).isTrue();
+        assertThat(mRepository.mBand6g.hasChannels).isFalse();
+        assertThat(mRepository.mBand6g.isChannelsUnsupported).isTrue();
     }
 
     @Test
-    public void isChannelAvailable_throwUnsupportedOperationException_hasUsableChannelsFalse() {
+    public void isChannelAvailable_throwUnsupportedOperationException_hasChannelsFalse() {
         doThrow(UnsupportedOperationException.class).when(mWifiManager)
-                .getUsableChannels(WifiScanner.WIFI_BAND_6_GHZ, OP_MODE_SAP);
+                .getAllowedChannels(WifiScanner.WIFI_BAND_6_GHZ, OP_MODE_SAP);
 
         mRepository.isChannelAvailable(mRepository.mBand6g);
 
-        assertThat(mRepository.mBand6g.hasUsableChannels).isFalse();
-        assertThat(mRepository.mBand6g.isUsableChannelsUnsupported).isTrue();
+        assertThat(mRepository.mBand6g.hasChannels).isFalse();
+        assertThat(mRepository.mBand6g.isChannelsUnsupported).isTrue();
     }
 
     @Test
-    public void isChannelAvailable_noExceptionAndHasUsableChannels_hasUsableChannelsTrue() {
+    public void isChannelAvailable_noExceptionAndHasChannels_hasChannelsTrue() {
         mRepository.isChannelAvailable(mRepository.mBand6g);
 
-        assertThat(mRepository.mBand6g.hasUsableChannels).isTrue();
-        assertThat(mRepository.mBand6g.isUsableChannelsUnsupported).isFalse();
+        assertThat(mRepository.mBand6g.hasChannels).isTrue();
+        assertThat(mRepository.mBand6g.isChannelsUnsupported).isFalse();
     }
 
     @Test
@@ -744,9 +744,9 @@
     }
 
     @Test
-    public void updateCapabilityChanged_band5gUsableChannelsUnsupported_update5gAvailable() {
+    public void updateCapabilityChanged_band5gChannelsUnsupported_update5gAvailable() {
         mRepository = spy(new WifiHotspotRepository(mContext, mWifiManager, mTetheringManager));
-        mRepository.mBand5g.isUsableChannelsUnsupported = true;
+        mRepository.mBand5g.isChannelsUnsupported = true;
 
         mRepository.updateCapabilityChanged();
 
@@ -755,9 +755,9 @@
     }
 
     @Test
-    public void updateCapabilityChanged_band6gUsableChannelsUnsupported_update5gAvailable() {
+    public void updateCapabilityChanged_band6gChannelsUnsupported_update5gAvailable() {
         mRepository = spy(new WifiHotspotRepository(mContext, mWifiManager, mTetheringManager));
-        mRepository.mBand6g.isUsableChannelsUnsupported = true;
+        mRepository.mBand6g.isChannelsUnsupported = true;
 
         mRepository.updateCapabilityChanged();
 
@@ -766,18 +766,18 @@
     }
 
     @Test
-    public void isAvailable_isUsableChannelsUnsupportedFalse_returnHasUsableChannels() {
-        mRepository.mBand6g.isUsableChannelsUnsupported = false;
-        mRepository.mBand6g.hasUsableChannels = false;
+    public void isAvailable_isChannelsUnsupportedFalse_returnHasChannels() {
+        mRepository.mBand6g.isChannelsUnsupported = false;
+        mRepository.mBand6g.hasChannels = false;
         mRepository.mBand6g.hasCapability = true;
 
         assertThat(mRepository.mBand6g.isAvailable()).isFalse();
     }
 
     @Test
-    public void isAvailable_isUsableChannelsUnsupportedTrue_returnHasCapability() {
-        mRepository.mBand6g.isUsableChannelsUnsupported = true;
-        mRepository.mBand6g.hasUsableChannels = false;
+    public void isAvailable_isChannelsUnsupportedTrue_returnHasCapability() {
+        mRepository.mBand6g.isChannelsUnsupported = true;
+        mRepository.mBand6g.hasChannels = false;
         mRepository.mBand6g.hasCapability = true;
 
         assertThat(mRepository.mBand6g.isAvailable()).isTrue();